Problem med Modbus + python

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
danielr112
Inlägg: 8044
Blev medlem: 18 januari 2009, 00:48:24
Ort: Alvesta, Småland

Problem med Modbus + python

Inlägg av danielr112 »

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.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45175
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Problem med Modbus + python

Inlägg av TomasL »

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?
danielr112
Inlägg: 8044
Blev medlem: 18 januari 2009, 00:48:24
Ort: Alvesta, Småland

Re: Problem med Modbus + python

Inlägg av danielr112 »

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:
Bild


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.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45175
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Problem med Modbus + python

Inlägg av TomasL »

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?
H.O
Inlägg: 5684
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Problem med Modbus + python

Inlägg av H.O »

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.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Problem med Modbus + python

Inlägg av lillahuset »

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.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45175
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Problem med Modbus + python

Inlägg av TomasL »

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.
danielr112
Inlägg: 8044
Blev medlem: 18 januari 2009, 00:48:24
Ort: Alvesta, Småland

Re: Problem med Modbus + python

Inlägg av danielr112 »

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.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45175
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Problem med Modbus + python

Inlägg av TomasL »

Du får mäta med två kanaler, och se hur det ser ut, inverterar du och adderar ena kanalen så ser du paketen.
danielr112
Inlägg: 8044
Blev medlem: 18 januari 2009, 00:48:24
Ort: Alvesta, Småland

Re: Problem med Modbus + python

Inlägg av danielr112 »

Tomas tack det ska jag göra. Morgondagens pyssel.
Användarvisningsbild
Jan Almqvist
Inlägg: 1580
Blev medlem: 1 oktober 2013, 20:48:26
Ort: Orust

Re: Problem med Modbus + python

Inlägg av Jan Almqvist »

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.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Problem med Modbus + python

Inlägg av lillahuset »

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
danielr112
Inlägg: 8044
Blev medlem: 18 januari 2009, 00:48:24
Ort: Alvesta, Småland

Re: Problem med Modbus + python

Inlägg av danielr112 »

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"
Användarvisningsbild
Jan Almqvist
Inlägg: 1580
Blev medlem: 1 oktober 2013, 20:48:26
Ort: Orust

Re: Problem med Modbus + python

Inlägg av Jan Almqvist »

Jag tror att korrekt biasing (i princip) är viktigare än terminering, åtminstone vid så låg fart som 9600 baud.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45175
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Problem med Modbus + python

Inlägg av TomasL »

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.
Skriv svar