Hop til indhold
  • 0

Riot RS485 RTU til Ethernet gateway


Kandersen
 Share

Spørgsmål

Er ved at ændre min NIlan opsætning fra at bruge Seriel RTU/RS485 til Ethernet/RS485, (altså via LAN istedet for seriel/USB). 
Til det formål har jeg købt en Riot USR-TCP232-410S som "oversætter" LAN til RS485, som Nilan anlægget kan "snakke" med. 

Jeg ved @EjvindHald har det kørende, fordi han anbefalede mig denne løsning.
I store træk går det også ret godt forståelse af opsætningen på denne gateway. Jeg har sat statisk IP på gatewayen. Men jeg er i tvivl om, hvad man skal opsætte under menuen RS485 på gatewayén. 
Jeg har IKKE forsøgt at koble ledningerne på endnu, da jeg ville sikre mig at gatewayén var sat korrekt op først. Så derfor kommer her et screenshot af gatewayén RS485 menu, som den ser ud lige nu. Er det helt tosset?:
1641729041_USRriotgateway.png.552126de0d3f0d99642d0596460f2ca2.png

Gatewayén er sat op til statisk IP på 10.4.28.149. Her er min Bridge opsætning i openhab. 
 

Bridge modbus:serial:myNilan [ host="10.4.28.149", port=502, id=3, connectMaxTries=3] {

Der hvor mine tvivl kommer ind, det er i forbindelse med id nummeret. Hvor sættes det i gatewayén, eller er det ligegyldigt? Nilan anlægget er sat op til default ID 30. Skal openhab så også sættes op til Id=30 i Bridge opsætningen?


 

Link til kommentar
Del på andre sites

Recommended Posts

  • 0

Konfigurationen er OK, hvis din device - Nilan - er slave og benytter 115200, 8 bit, ingen paritet og 1 stopbit.

Men din bridge definition skal ikke længere bruge ordet serial. Her er min definition:

Bridge modbus:tcp:slave01 "Modbus bridge 1 sal værelse øst" [host="192.168.1.12",port=502,id=1]  {

Id skal være den fysiske id som er sat i din device - dvs. Nilan. Det er helt identisk med, hvis du har benyttet en serial usb device til modbus.

Husk evt. slutmodstand på 120 Ohm i kredsen. Nogle device har en sådan indbygget, som kan aktiveres via dip switch.

Husk også at forbinde +/- korrekt på modbus - ellers virker det ikke.

Link til kommentar
Del på andre sites

  • 0

Var måske lige en anelse for hurtig.. 
Altså det virker fint, men ca hver 3-5 minut får jeg en timeout fejl:
 

2020-06-21 15:28:31.951 [ERROR] [wimpi.modbus.io.ModbusTCPTransaction] - execute try 1/1 error: I/O exception: SocketTimeoutException Read timed out. Request: net.wimpi.modbus.msg.ReadMultipleRegistersRequest@16086e8 (unit id 30 & transaction 36742). Address: /10.4.28.149:502
2020-06-21 15:28:31.954 [ERROR] [wimpi.modbus.io.ModbusTCPTransaction] - execute reached max tries 1, throwing last error: I/O exception: SocketTimeoutException Read timed out. Request: net.wimpi.modbus.msg.ReadMultipleRegistersRequest@16086e8 (unit id 30 & transaction 36742). Address: /10.4.28.149:502
2020-06-21 15:28:31.957 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Try 1 out of 3 failed when executing request (ModbusPollerThingHandlerImpl.ModbusPollerReadRequest@194ed15[slaveId=30,functionCode=READ_MULTIPLE_REGISTERS,start=200,length=3,maxTries=3]). Will try again soon. Error was I/O error, so reseting the connection. Error details: net.wimpi.modbus.ModbusIOException I/O exception: SocketTimeoutException Read timed out [operation ID fdad8058-ac7a-4765-b30a-ad5eda4697c6]

Kan det skyldes manglende terminering? (slut modstand). Det ligner mere, at det er på ethernet siden fordi 10.4.28.149 er gatewayén.

Link til kommentar
Del på andre sites

  • 0
44 minutter siden, EjvindHald skrev:

Prøv at holde forbindelsen åben konstant. Se dette eksempel fra mit setup, hvor der er tilføjet reconnectAfterMillis option. Se mere i openhab dokumentation.


Bridge modbus:tcp:slave03 "Modbus bridge elmåler" [host="192.168.1.241",port=502,id=1,reconnectAfterMillis=2147483647]  {

 

Takker, giver det et forsøg.

Nope, ændrede ikke noget.. hmm!

Link til kommentar
Del på andre sites

  • 0
15 timer siden, Jakob Hauerslev skrev:

Fik du det til at virke uden fejl?

Overvejer samme setup som alternativ til den mekaniske brugervalg-løsning.

YEp jeg køre pt med en Riot RS485<>ethernet interface. Fungere fint. MEN!
Det er ikke lykkedes mig at aktivere Nilans brugervalg-funktionen via modbus. Af een eller anden årsag så virker registeret ikke som det burde, eller så forstår jeg ikke meningen med det. Jeg kan fint få status om den, men som sagt ikke aktivere den. Så det er et Nilan modbus problem. 

Link til kommentar
Del på andre sites

  • 0
55 minutter siden, Kandersen skrev:

YEp jeg køre pt med en Riot RS485<>ethernet interface. Fungere fint. MEN!
Det er ikke lykkedes mig at aktivere Nilans brugervalg-funktionen via modbus. Af een eller anden årsag så virker registeret ikke som det burde, eller så forstår jeg ikke meningen med det. Jeg kan fint få status om den, men som sagt ikke aktivere den. Så det er et Nilan modbus problem. 

Så det altså kun er brugervalg du ikke kan få aktiveret ?

Kan du skifte og sætte nogle af de andre parametre og setpunkter som temperatur og hastighed ?

Og hvis det er så kan man jo bare lave workaround i den styrende software der så fremkalder midlertidige “scenarier” i en periode. Det vil i praksis jo være det samme som aktivering af brugervalg.

Link til kommentar
Del på andre sites

  • 0
4 minutter siden, Lars Jacobsen skrev:

Så det altså kun er brugervalg du ikke kan få aktiveret ?

Korrekt. Den er i modbus listen, men jeg kan ikke få det til at virke, når jeg fx sender en ON. Der sker der nada. 

 

4 minutter siden, Lars Jacobsen skrev:

Kan du skifte og sætte nogle af de andre parametre og setpunkter som temperatur og hastighed ?

Yep, intet problem. Hastigheder kan jeg skifte i de 4 (5 med standby) muligheder. Setpunkter osv intet problem. 
Jeg kan også ændre indstillingerne for brugervalg. Bare ikke aktivere den via modbus.. Det er vildt underligt, og jeg tror det er en fejl i NIlans software. 

 

5 minutter siden, Lars Jacobsen skrev:

Og hvis det er så kan man jo bare lave workaround i den styrende software der så fremkalder midlertidige “scenarier” i en periode. Det vil i praksis jo være det samme som aktivering af brugervalg.

Korrekt, det er en måde at gøre det på. Så skal man bare lave lidt logikstyring i openHAB. 
Men problemet har ikke været stort nok til, at jeg har gidet gøre det. Det har mest af alt bare været en irritation over, at en så simpel funktion ikke kunne lade sig gøre :D

Pt styre jeg Nilan anlægget automatisk ved at skrue op/ned for ventilationen, alt efter hvor fugtige badeværelserne er, via IHC temp/fugt sensore. Det er efter min mening den bedste måde at gøre det på.
På et tidspunkt ville jeg også have lavet det som en brugervalg2 funktion, hvor Nilan anlægget skruer op for indblæsning, når fx emhætten startes. Emhætten er ikke "smart", så jeg ville sætte en strømmåler på. Denne strømmåler viste sig så ikke helt velegnet pga Schuko stik i Fuga stik (jord). Og der strandede det projekt lige pt. Det tager nok max ½ time at ændre udtaget til Schuko. Men dovenskaben kom over mig :ph34r:

Link til kommentar
Del på andre sites

  • 0
2 timer siden, Kandersen skrev:

YEp jeg køre pt med en Riot RS485<>ethernet interface. Fungere fint. MEN!
Det er ikke lykkedes mig at aktivere Nilans brugervalg-funktionen via modbus. Af een eller anden årsag så virker registeret ikke som det burde, eller så forstår jeg ikke meningen med det. Jeg kan fint få status om den, men som sagt ikke aktivere den. Så det er et Nilan modbus problem. 

Fedt, så vil jeg have bestilt sådan en - med den fine guide med register osv du har lavet, så er det jo ligetil - og så må jeg styre "brugervalg" med rules (vil have den til at gå ned på niveau 1 når alarmen er tilkoblet). :)

Link til kommentar
Del på andre sites

  • 0

Ideen er sådan set god ud fra et driftøkonomisk synspunkt, men faktisk ikke OK ihht. Bygningsreglementet der foreskriver konstant luftskifte 24/7. Det har du sikket også med niveau 1 men det er ikke sikkert volumen er stor nok. 
Personligt vil jeg dog nok også acceptere det, så det var bare til orientering.

Link til kommentar
Del på andre sites

  • 0
2 timer siden, Lars Jacobsen skrev:

Ideen er sådan set god ud fra et driftøkonomisk synspunkt, men faktisk ikke OK ihht. Bygningsreglementet der foreskriver konstant luftskifte 24/7. Det har du sikket også med niveau 1 men det er ikke sikkert volumen er stor nok. 
Personligt vil jeg dog nok også acceptere det, så det var bare til orientering.

Jeg havde ikke tænkt mig at slukke for ventilationen, (den kører altid min. på trin 1). Men derimod skrue op for indblæsning, når emhætten køre. 

Link til kommentar
Del på andre sites

  • 0
6 timer siden, Kandersen skrev:

Jeg havde ikke tænkt mig at slukke for ventilationen, (den kører altid min. på trin 1). Men derimod skrue op for indblæsning, når emhætten køre. 

Nemlig, eller når centralstøvsugeren eller pejs benyttes. Alle kræver nemlig erstatningsluft. 
Det med at slukke eller køre ned på min. var også bare til orientering. Mange er nemlig ikke klar over det eller de små detaljer i mange af de andre mærkelige regler/love/bekendtgørelser der findes.

Link til kommentar
Del på andre sites

  • 0
12 timer siden, Lars Jacobsen skrev:

Ideen er sådan set god ud fra et driftøkonomisk synspunkt, men faktisk ikke OK ihht. Bygningsreglementet der foreskriver konstant luftskifte 24/7. Det har du sikket også med niveau 1 men det er ikke sikkert volumen er stor nok. 
Personligt vil jeg dog nok også acceptere det, så det var bare til orientering.

Den er jeg helt med på, vores anlæg er reguleret ind på niveau 1, men bare den holder et lille undertryk mens jeg er ude, så er jeg glad. 

Hvad angår det med emhætten, så har jeg haft samme tanke, men ventilationsmanden rystede på hovedet da jeg nævnte det - mit anlæg flytter max 400m3 luft i timen, mens min emhætte flytter 925 m3 på den samme time. 

Så min Velux åbner på klem, når der er gang i emhætten - efter hans vejledning :-)

Kandersen - hvorfor skiftede du egentlig fra usb til lan med modbus? Det er lige gået op for mig at jeg er ret så presset med ethernetporte, så hvis usb virker ligeså fint, så er det den vej jeg går :)

Link til kommentar
Del på andre sites

  • 0
9 timer siden, Jakob Hauerslev skrev:

Det er lige gået op for mig at jeg er ret så presset med ethernetporte, så hvis usb virker ligeså fint, så er det den vej jeg går

usb virker ikke ligeså fint. Jeg har brugt mange forgæves timer på usb, som ikke er stabil. lan med modbus er langt bedre.

Link til kommentar
Del på andre sites

  • 0
12 timer siden, Jakob Hauerslev skrev:

Kandersen - hvorfor skiftede du egentlig fra usb til lan med modbus? Det er lige gået op for mig at jeg er ret så presset med ethernetporte, så hvis usb virker ligeså fint, så er det den vej jeg går :)

USB<>RS485 virker helt fint. Men USB og Linux er ganske enkelt to ting der spiller lige så godt sammen som kat og hund. Linux kan ikke "huske" hvor USB enheder sidder. Dvs hvergang jeg har haft genstartet min Linux (Rpi eller Odroid), så kunne jeg været ret sikker på, at der var problemer med USB enheder. Til sidst gad jeg ikke rode med det mere, og købte derfor RS485<>Ethernet til Nilan anlægget. 
Så mangler jeg bare at løse Z-wave og Zigbee USB :angry:

Link til kommentar
Del på andre sites

  • 0
26 minutter siden, Kandersen skrev:

USB<>RS485 virker helt fint. Men USB og Linux er ganske enkelt to ting der spiller lige så godt sammen som kat og hund. Linux kan ikke "huske" hvor USB enheder sidder. Dvs hvergang jeg har haft genstartet min Linux (Rpi eller Odroid), så kunne jeg været ret sikker på, at der var problemer med USB enheder. Til sidst gad jeg ikke rode med det mere, og købte derfor RS485<>Ethernet til Nilan anlægget. 
Så mangler jeg bare at løse Z-wave og Zigbee USB :angry:

Du kan jo lave statisk mapping på linux med lidt magi:

https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name

Link til kommentar
Del på andre sites

  • 0
2 minutter siden, Mikkel Skovgaard skrev:

Jatak. Det har jeg sådan set gjort en milliard gange. Og hvergang viser det sig, at det ikke virker alligevel ;)

Link til kommentar
Del på andre sites

  • 0

Jeg har brugt symlinks med usb på Linux med openHAB uden problemer. Med de korrekte ident informationer virker de korrekt hver gang i mit setup, som også Mikkel skriver.

Derimod har jeg i relation til openHAB oplevet problemer med, at status på brug af usb porten kommer ud af sync mellem Linux OS, Java og openHAB engine. Dette har været core reason på mine problemer med usb modbus.

Link til kommentar
Del på andre sites

  • 0
28 minutter siden, EjvindHald skrev:

Jeg har brugt symlinks med usb på Linux med openHAB uden problemer. Med de korrekte ident informationer virker de korrekt hver gang i mit setup, som også Mikkel skriver.

Synes jeg har prøvet hvad som helst. Nogle gange virker det, andre gange så er der ballade når man har genstartet systemet.

 

29 minutter siden, EjvindHald skrev:

Derimod har jeg i relation til openHAB oplevet problemer med, at status på brug af usb porten kommer ud af sync mellem Linux OS, Java og openHAB engine. Dette har været core reason på mine problemer med usb modbus.

Den erfaring har jeg så til gengæld ikke. Det kørte klippe stabilt med min USB<>RS485, når altså ikke USB porten/Linux gav problemer

Link til kommentar
Del på andre sites

  • 0

EDIT - rodede med nogle indstillinger, den stod ikke til modbus på selve interfacet.

Det virker, og sikke et forarbejde du har gjort - mange tak for hjælpen til jer begge :-)

--------------------------------

Så har jeg en lille modbus -> ethernet interface kørende, den kommer online, men med følgende fejl (som jeg kan se at du også har døjet med...

På 6.12.2020 at 12:13 , Kandersen skrev:

YEp jeg køre pt med en Riot RS485<>ethernet interface. Fungere fint. MEN!
Det er ikke lykkedes mig at aktivere Nilans brugervalg-funktionen via modbus. Af een eller anden årsag så virker registeret ikke som det burde, eller så forstår jeg ikke meningen med det. Jeg kan fint få status om den, men som sagt ikke aktivere den. Så det er et Nilan modbus problem. 

2021-01-23 22:13:13.147 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Try 1 out of 3 failed when executing request (ModbusReadRequestBlueprint@1413ec5[slaveId=30,functionCode=READ_INPUT_REGISTERS,start=200,length=23,maxTries=3]). Will try again soon. Error was I/O error, so reseting the connection. Error details: net.wimpi.modbus.ModbusIOException I/O exception: SocketTimeoutException Read timed out [operation ID f0c8033e-5b30-4322-bb14-49dc0d0003d5]

Hvad gjorde du for at løse det - det kan jeg ikke helt læse mig frem til?

 

Det er kun modbus tcp der er online, alle de andre things fra din fil er offline i Paper UI...

Redigeret af Jakob Hauerslev
løste problemet
Link til kommentar
Del på andre sites

  • 0
På 23.1.2021 at 22:17 , Jakob Hauerslev skrev:

Hvad gjorde du for at løse det - det kan jeg ikke helt læse mig frem til?

Jeg har ikke gjort så meget ved det. Ovenstående fejl er åbenbart meget typisk med RTU forbindelse via sådan et ethernet interface. Og da det kun sket engang imellem og 1 ud af 3, så har jeg valgt at leve med det. Rent praktisk virker alt dog som det skal. Det kunne også ske med min USB<>RS485, men ikke nær så ofte. Så er det nok noget timing der ikke er helt optimalt. 

Link til kommentar
Del på andre sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gæst
Svar på dette spørgsmål

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loader...
 Share

×
×
  • Tilføj...

Important Information

Privatlivspolitik og We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

1200x630bb.png

ok