Problem med Modbus + python
-
- Inlägg: 8044
- Blev medlem: 18 januari 2009, 00:48:24
- Ort: Alvesta, Småland
Problem med Modbus + python
Jag har denna mätaren:
https://www.aliexpress.com/item/SDM630- ... 98932.html
Och typ denna:
http://www.ebay.com/itm/USB-to-RS485-Co ... 1768790973
Avståndet från början var 100meter på EKKX kabel... Just nu kör jag 50cm med kabel.
Samma fenomen i båda då jag får konstiga timeouts. Ibland tappar jag kontakten i en halvtimme för att helt plötsligt fungera i en timme igen... Kan inte tyda på vad det är.
Sakerna körs på en raspbery och koden är denna:
http://pasted.co/4855fd2a
Jag har haft motstånd över slingan som det så bör utan förbättring också.
Frågan är då:
Är adaptern totalt skräp?
Är det koden i fråga som är kass?
Jag tror jag har en annan typ av adapter men måste hitta den och har tittat på annan kod.
Tips?
Har jag missat nåt så fråga så svarar jag.
https://www.aliexpress.com/item/SDM630- ... 98932.html
Och typ denna:
http://www.ebay.com/itm/USB-to-RS485-Co ... 1768790973
Avståndet från början var 100meter på EKKX kabel... Just nu kör jag 50cm med kabel.
Samma fenomen i båda då jag får konstiga timeouts. Ibland tappar jag kontakten i en halvtimme för att helt plötsligt fungera i en timme igen... Kan inte tyda på vad det är.
Sakerna körs på en raspbery och koden är denna:
http://pasted.co/4855fd2a
Jag har haft motstånd över slingan som det så bör utan förbättring också.
Frågan är då:
Är adaptern totalt skräp?
Är det koden i fråga som är kass?
Jag tror jag har en annan typ av adapter men måste hitta den och har tittat på annan kod.
Tips?
Har jag missat nåt så fråga så svarar jag.
Re: Problem med Modbus + python
Du får hänga på ett skop och se hur det ser ut, gissar att det är dålig implementation i både adaptern och elmätaren.
Får du några data överhuvudtaget.
En del tillverkare har tyvärr vänt på A- och B+, kan det vara något sådant.
Vilken hastighet och dataformat använder du?
Får du några data överhuvudtaget.
En del tillverkare har tyvärr vänt på A- och B+, kan det vara något sådant.
Vilken hastighet och dataformat använder du?
-
- Inlägg: 8044
- Blev medlem: 18 januari 2009, 00:48:24
- Ort: Alvesta, Småland
Re: Problem med Modbus + python
hastighet o.s.v står i kod-filen
:(method='rtu', port=SERIAL, stopbits=1, bytesize=8, timeout=5, baudrate=BAUD, parity='N')
Jag kan lätt få 300 svar på raken för att seda inte få svar på en timme:
Om de hade varit vänt på antar jag att jag inte får något svar alls Har förövrigt testat att vända bara för att.
Hade det varit lite "packetloss" där jag förlorat varannat eller så hade jag nog inte brytt mig men då det väl är nere så är det nere under längre tid.
Ska gräva fram den andre adaptenr imorgon. Får hoppas att det är en annan sort.
:(method='rtu', port=SERIAL, stopbits=1, bytesize=8, timeout=5, baudrate=BAUD, parity='N')
Jag kan lätt få 300 svar på raken för att seda inte få svar på en timme:
Om de hade varit vänt på antar jag att jag inte får något svar alls Har förövrigt testat att vända bara för att.
Hade det varit lite "packetloss" där jag förlorat varannat eller så hade jag nog inte brytt mig men då det väl är nere så är det nere under längre tid.
Ska gräva fram den andre adaptenr imorgon. Får hoppas att det är en annan sort.
Re: Problem med Modbus + python
MODBUS specar väl iofs 2 stoppbitar om man inte har paritet.
Men som sagt ett skop för att se hur det hela ser ut vore bra.
Modbus över RS485 "brukar bara fungera" typ.
Jag har i alla fall aldrig haft några problem, inte ens på flera hundra meter.
Vad säger statistiken, om du har någon sådan?
Men som sagt ett skop för att se hur det hela ser ut vore bra.
Modbus över RS485 "brukar bara fungera" typ.
Jag har i alla fall aldrig haft några problem, inte ens på flera hundra meter.
Vad säger statistiken, om du har någon sådan?
Re: Problem med Modbus + python
Jag har ett par liknande, tok-billiga USB-till-RS485 konvertrar och de lider av problemet att de tar en liten (för lång) stund på sig att switcha från Tx till Rx så ibland när slaven svarar har mastern ännu inte "släppt" bussen vilket såklart leder till problem.
Nu BORDE inte det vara nått problem med MODBUS eftersom linjen skall vara tyst en förhållandevis lång stund innan slaven kan/får svara (eftersom det är så den detekterar att meddelandet är slut) men som TomasL skriver så kan ju deras implementering vara utanför specifikationen. Eller så är konvertern extraodinärt sunkig.
Nu BORDE inte det vara nått problem med MODBUS eftersom linjen skall vara tyst en förhållandevis lång stund innan slaven kan/får svara (eftersom det är så den detekterar att meddelandet är slut) men som TomasL skriver så kan ju deras implementering vara utanför specifikationen. Eller så är konvertern extraodinärt sunkig.
- lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
Re: Problem med Modbus + python
Jag håller med Tomas, Modbus RTU över RS485 har jag aldrig haft problem med. Inte Modbus TCP heller fast där har jag mindre erfarenhet.
Har du möjligen ägnat dig åt kardinalfelet "idioter" gör? Att bara ansluta A och B men inte nollan.
Edit: Det verkar så, du skulle ha köpt den för SEK 20,29 så hade du fått en nolla på plinten.
Har du möjligen ägnat dig åt kardinalfelet "idioter" gör? Att bara ansluta A och B men inte nollan.
Edit: Det verkar så, du skulle ha köpt den för SEK 20,29 så hade du fått en nolla på plinten.
Re: Problem med Modbus + python
Nollan skall egentligen inte behövas, eftersom det är ett differentiellt protokoll, även om det inte är helt fel att ha med den.
De flesta enheter saknar den faktiskt.
De flesta enheter saknar den faktiskt.
-
- Inlägg: 8044
- Blev medlem: 18 januari 2009, 00:48:24
- Ort: Alvesta, Småland
Re: Problem med Modbus + python
Jag tror jag har hittat en gemensam nämnare... Jag har ju sett något som liknat att nåt förstör....
Mätaren sitter vid inkommande. Sedan har jag 3 centraler och minst 150 meter till mitt solsystem.
Invertern där har bara ett gäng servrar och tvn + switchar på last sidan
Slår jag över så den går i bypass och matar servrarna med el från nätet istället för batteribanken dör trafiken helt! (Ivf om man tittar över 50 transaktioner)
Går servrarna på batteri via invertern så får jag kanske 1 miss på 20 men nästa så funkar det typ alltid. (Har dock bara kollat/testat detta över 20 minuter nu)
Jag kör ju raspberryn i detta fallet via en paj som har en 5v adapter. Notera att jag innan körde den via en laptop och hade samma fel.
Jag ska dock testa att driva den på batteribank men jag vill minnas att det inte spelar roll utan störningarna måste komma andra vägen in.
* Antingen är det något på last sidan på invertern som stör. (Servrar eller annat) Dock kanske inte så troligt
* Invertern stör när den går i battery-läge. Då den är grid-tie....?
Oavsett är det nog mäta för att veta som gäller. Får hänga på skopet på det hela och kolla om man (Jag då dvs....) ser något.
Ska även testa imorgon att bryta invertern helt mot nätet och se om det gör nåt samt stänga av den.
Lillahuset: Det finns ingen "0a" uttag på mätaren vad jag kan se.
Mätaren sitter vid inkommande. Sedan har jag 3 centraler och minst 150 meter till mitt solsystem.
Invertern där har bara ett gäng servrar och tvn + switchar på last sidan
Slår jag över så den går i bypass och matar servrarna med el från nätet istället för batteribanken dör trafiken helt! (Ivf om man tittar över 50 transaktioner)
Går servrarna på batteri via invertern så får jag kanske 1 miss på 20 men nästa så funkar det typ alltid. (Har dock bara kollat/testat detta över 20 minuter nu)
Jag kör ju raspberryn i detta fallet via en paj som har en 5v adapter. Notera att jag innan körde den via en laptop och hade samma fel.
Jag ska dock testa att driva den på batteribank men jag vill minnas att det inte spelar roll utan störningarna måste komma andra vägen in.
* Antingen är det något på last sidan på invertern som stör. (Servrar eller annat) Dock kanske inte så troligt
* Invertern stör när den går i battery-läge. Då den är grid-tie....?
Oavsett är det nog mäta för att veta som gäller. Får hänga på skopet på det hela och kolla om man (Jag då dvs....) ser något.
Ska även testa imorgon att bryta invertern helt mot nätet och se om det gör nåt samt stänga av den.
Lillahuset: Det finns ingen "0a" uttag på mätaren vad jag kan se.
Re: Problem med Modbus + python
Du får mäta med två kanaler, och se hur det ser ut, inverterar du och adderar ena kanalen så ser du paketen.
-
- Inlägg: 8044
- Blev medlem: 18 januari 2009, 00:48:24
- Ort: Alvesta, Småland
- Jan Almqvist
- Inlägg: 1580
- Blev medlem: 1 oktober 2013, 20:48:26
- Ort: Orust
Re: Problem med Modbus + python
Jag har någon gång sett en riktigt "ful" RS-485 pryl som bara drev aktivt "åt ena hållet". Åt andra hållet förlitade den sej på att motstånd för bias och terminering skulle fixa korrekta nivåer.
- lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
Re: Problem med Modbus + python
RS485 ska köras ned nolla. Har man tur funkar det utan.
Modbus RTU har ganska srikta timingkrav om jag minns rätt. Eller om jag blandar ihop med Profibus.
Det finns mycket info här: http://modbus.org/tech.php
Modbus RTU har ganska srikta timingkrav om jag minns rätt. Eller om jag blandar ihop med Profibus.
Det finns mycket info här: http://modbus.org/tech.php
-
- Inlägg: 8044
- Blev medlem: 18 januari 2009, 00:48:24
- Ort: Alvesta, Småland
Re: Problem med Modbus + python
Provat terminering också men samma fenomen. Men som sagt mäta ska jag helt klart göra samt leta upp den andre adaptern vart den tog vägen.
Vet att jag köpte en dyr och en billig. Dock är båda adaptrar som andra har använt och det har "funkat" för
lillahuset: Om det nu ska köras med nolla vart hänger jag på det på mätaren? Alla de mätarna jag har kollat på saknar "nolla"
Vet att jag köpte en dyr och en billig. Dock är båda adaptrar som andra har använt och det har "funkat" för
lillahuset: Om det nu ska köras med nolla vart hänger jag på det på mätaren? Alla de mätarna jag har kollat på saknar "nolla"
- Jan Almqvist
- Inlägg: 1580
- Blev medlem: 1 oktober 2013, 20:48:26
- Ort: Orust
Re: Problem med Modbus + python
Jag tror att korrekt biasing (i princip) är viktigare än terminering, åtminstone vid så låg fart som 9600 baud.
Re: Problem med Modbus + python
Enligt RS485-standarden så finns inte den 3dje ledaren med. Standarden definierar enbart det differentiella paret.
Dock anger standarden spänningsnivåerna på det differentiella paret gentemot jord, dock säg ingenting om hur denna jord skall åstadkommas.
Så, RS485 fungerar i de flesta fallen helt utan referensledaren.
Dock anger standarden spänningsnivåerna på det differentiella paret gentemot jord, dock säg ingenting om hur denna jord skall åstadkommas.
Så, RS485 fungerar i de flesta fallen helt utan referensledaren.