Modbus (RS485) spänningsfråga

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
primerone
Inlägg: 154
Blev medlem: 8 juli 2014, 18:56:29
Ort: Växjö

Modbus (RS485) spänningsfråga

Inlägg av primerone »

Jag läser av ett gäng flödesgivare med en PLC (Siemens ET200) via Modbus (RS485, stjärn nät).
Detta har nu slutat fungera efter ett längre strömavbrott och jag lyckas inte hitta felet.

All utrustning är omstartad och flödesgivarna visar värden i de lokala displayerna men inget kommer in i PLCn. Jag har även bytt PLCns Modbus enhet utan resultat.

När jag mäter på RS485 trådarna med oscilloskåp så ligger båda på 0 Vdc i viloläge. Det är här mitt problem ligger. En av trådarna borde väl ligg på 5 Vdc?
Om jag kopplar in en laptop via en USB-RS485 konverterare, så hoppar en tråd upp till 5 Vdc direkt. Om jag sänder en förfrågan från datorn kan jag kan se meddelandet på oscillokåpet (men jag får inget svar). Min tolkning av det är att RS485 trådarna är inte kortslutna, vare sig till jord eller varandra. Datorn orkar ju driva trådarna högt och lågt. Men när datorn är bortkopplad verkar det som ingen driver RS485 linan.

Så min fråga till er som kan sånt här är, vem är det som driver kommunikationslinan? Eller rättare sagt, vad är det jag inte fattar?
Användarvisningsbild
Jan Almqvist
Inlägg: 1581
Blev medlem: 1 oktober 2013, 20:48:26
Ort: Orust

Re: Modbus (RS485) spänningsfråga

Inlägg av Jan Almqvist »

I vila ska både A och B flyta och spänningen hamnar ungefär enligt figuren längst ned på denna sida:

https://en.wikipedia.org/wiki/RS-485

Om båda ligger på 0V kan jag tänka mej att bias saknas, avsaknad av bias kan leda till konstiga fenomen.

Edit: Om en av trådarna hoppar upp till 5V direkt när du ansluter USB-RS485 konverterare så betyder det att den är felkonfigurerad, drivkretsarna får bara vara enablade när du sänder. I annat fall får du en kollision och då kan ju inte dina flödesgivare sända sina svar.
Användarvisningsbild
Icecap
Inlägg: 26147
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Modbus (RS485) spänningsfråga

Inlägg av Icecap »

Jag hade i sin tid en del problem med just helt flytande trådar. Det blev en massa RX-Error men efter att ha läst på en aning insåg jag att jag behövde en förspänning till när ingen driver bussen.

Jag gjorde det med 3 st 10k motstånd:
10k mellan VDD & A.
10k mellan A & B.
10k mellan B & GND.

Fungerade perfekt efter det.
Och med den förspänning kan ett oscilloskop (det är inget gungade skåp) vara av stor hjälp, kommer det ingen frågor från mastern kommer det ingen svar heller.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45291
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Modbus (RS485) spänningsfråga

Inlägg av TomasL »

(RS485, stjärn nät)
Ett grovt fel.
RS485 får aldrig vara stjärn-nät, det skall alltid kopplas punkt till punkt, kortare anslutnings-stubbar kan accepteras.
Du skall terminera i var ända, sedan får du inte ha för många enheter på samma buss, med många enheter behöver du en förstärkare.

Börja med att se till att allt är rätt kopplat, därefter kan man börja felsöka.
Börja med en enhet, längst bort, och koppla på enhet efter enhet.
davidi
Inlägg: 577
Blev medlem: 13 oktober 2011, 16:45:38
Ort: Ekerö

Re: Modbus (RS485) spänningsfråga

Inlägg av davidi »

Finns det några riktlinjer för hur många enheter man kan ha på samma buss?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45291
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Modbus (RS485) spänningsfråga

Inlägg av TomasL »

Beror på hur kraftiga drivstegen är 8-16 enheter eller så.
Jag har kört upp till 13 enheter på samma buss, men där går väl gränserna gissar jag.
Beror ju också på hur lång kabeln är och typ av kabel, samt vilken hastighet man kör.
Användarvisningsbild
Jan Almqvist
Inlägg: 1581
Blev medlem: 1 oktober 2013, 20:48:26
Ort: Orust

Re: Modbus (RS485) spänningsfråga

Inlägg av Jan Almqvist »

davidi skrev: 1 januari 2021, 13:37:27 Finns det några riktlinjer för hur många enheter man kan ha på samma buss?
Standarden för RS-485 anger 32 st.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45291
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Modbus (RS485) spänningsfråga

Inlägg av TomasL »

Förvisso, men det beror väldigt mycket på hur tranceivrarna är konstruerade, hastighet och kablage
Användarvisningsbild
Jan Almqvist
Inlägg: 1581
Blev medlem: 1 oktober 2013, 20:48:26
Ort: Orust

Re: Modbus (RS485) spänningsfråga

Inlägg av Jan Almqvist »

Jag antar att TS använder tranceivers som uppfyller standarden.

https://www.maximintegrated.com/en/desi ... 7/736.html
primerone
Inlägg: 154
Blev medlem: 8 juli 2014, 18:56:29
Ort: Växjö

Re: Modbus (RS485) spänningsfråga

Inlägg av primerone »

Tack för alla tips och förslag. Jag tänkte det kunde vara på sin plats med några förtydliganden och svar på de funderingar som uppstått.

Det är inte jag som konstruerat systemet, jag har fått ansvaret på min lott. Det installerades 2016 och har fungerar klanderfritt ända fram till ett par dagar före jul. Därmed inte sagt att det bara för att det fungerat i 4 år är korrekt konstruerat.

Min tidigare beskrivning att det är ett stjärn nät är felaktig. Efter att ha läst beskrivningen på Wikipedia, som det länkades till, ser jag att det elektriskt sett är en buss (med ganska långa anslutnings-stubbar). En inte helt ideal kabeldragning i mitt tycke.

Nätet består av en PLC och 6 stycken flödesmätare. Knutpunkten är ett terminalblock på DIN skena där alla A resp. B linor kopplas ihop. Från knutpunkten till PLCn är det ca 1.5m kabel (partvistad, skärmad) och till flödesmätaren längst bort ca 25m (partvistad, skärmad).
Det finns inga externa (synliga) termineringsmotstånd, vare sig i flödesmätarna eller PLCn. Om de är inbyggda in elektroniken vet jag inte för tillfället. Dokumentationen jag hittat är knapphändig på den punkten. PLCns Modbus enhet är en Siemens 6ER7137-6AA00-0BA0 och flödermätarnas transmittrar är Emerson Micro Motion 1700.

Jag har fått en del ideer som jag ska gräva vidare i. Just nu lutar jag åt att det är PLCn som är boven i dramat. Den verkar inte ens försöka fråga efter något frän flödesmätarna.
Till att börja med ska jag dock försöka få tag i en USB - RS485 konverterare som flyter när den inte sänder, eftersom min verkar driva trådarna hela tiden.
Användarvisningsbild
Icecap
Inlägg: 26147
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Modbus (RS485) spänningsfråga

Inlägg av Icecap »

Med de relativt korta stubbar (jo, det är stubbar/stjärnnät) och bristen på terminering är hastigheten avgörande. Om systemhastigheten är t.ex. 9600 baud är det ganska okänsligt för de problem som kan uppstå - men likaväl kan en DC-bias vara bra.

Jag har löst det som beskrivit tidigare men har man inte 5V kan man ju bara justa värdet på motståndet mellan den V+ man har och A.

En del bra drivkretsar till RS485 har en DC-offset på ingångarna så att ett flytande nät inte ger RX-fel - men better safe than sorry typ.

Och jag kan vara överens om att om inte PLC'n frågor lär det knappast vara svar heller så börja där. Det kan ju vara en bränd drivkrets - men även en inställning som gör det.
Senast redigerad av Icecap 2 januari 2021, 13:02:49, redigerad totalt 1 gång.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45291
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Modbus (RS485) spänningsfråga

Inlägg av TomasL »

Det är uppenbarligen kopplat som ett stjärnnät, vilket är fel.
Börja med att koppla saker och ting rätt.
Användarvisningsbild
Jan Almqvist
Inlägg: 1581
Blev medlem: 1 oktober 2013, 20:48:26
Ort: Orust

Re: Modbus (RS485) spänningsfråga

Inlägg av Jan Almqvist »

Jag tror fortfarande att avsaknad av korrekt bias kan vara problemet. Om både A och B ligger på 0V är bussens tillstånd odefinierat och detta skulle kunna leda till att PLC:n inte till sända eftersom bussen inte är i vila.

Vissa enklare RS-485 omvandlare använder en väldigt ful lösning som bygger på pull-up på A och pull down på B i kombination med att drivkrets bara aktiveras när man sänder logisk nolla. Den kan vara så att din konverterare är av denna enklare modell och då ser det inte ut som om bussen går i vila trots att den gör det men du borde i så fall ha sett ett svar.

Bättre RS-485 omvandlare använder andra tekniker men rent generellt kan RS-485 vara lite knepigt att få till på en PC.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45291
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Modbus (RS485) spänningsfråga

Inlägg av TomasL »

Nja, En modbus-master skiter fullständigt i bussens läge, den sänder när den behöver.
Eftersom Mastern alltid vet när den skall få ett svar och hur långt svaret är.
Eftersom inga slavar sänder, utan att blivit ombedda, så är bussen i princip alltid ledig.
Användarvisningsbild
Jan Almqvist
Inlägg: 1581
Blev medlem: 1 oktober 2013, 20:48:26
Ort: Orust

Re: Modbus (RS485) spänningsfråga

Inlägg av Jan Almqvist »

@ThomasL: Du kan ju inte gärna veta hur Siemens implementarat Modbus, kanske har de en kontroll att bussen ska vara ledig innan sändning görs?

Jag har träffat på portservrar med RS-485 som vägrar att sända vid för "klen" bias. Olika modeller från samma tillverkare gav olika resultat.
Skriv svar