När vi bygger en kommunikationsslinga är det viktigt att göra rätt för att undvika de problem som annars kan uppkomma. Tomas Rosén på Produal har skrivit en mycket bra artikel om detta. Länk till hela artikeln finns här. Jag har gjort en förkortad variant i här men jag rekommenderar verkligen att ni läser hela Tomas artikel.
Det är nämligen en del saker som kan gå fel under installationen av produkter i ett RS-485 nätverk. Men om man håller sig till de begränsningar som finns så undviker man kommunikationsproblem. Fokus nedan ligger på Modbus RTU protokollet och dess kablage men gäller även för BACnet MSTP.
Modbus är ett master-slavprotokoll
Modbus RTU över RS-485 är ett master-slavprotokoll. Slavenheterna kan inte inleda kommunikation utan kan bara svara på masterenhetens begäranden. Därför måste alla slavenheter vara anslutna till masterenheten under installationen. Det finns alltid bara en masterenhet i ett RS-485-nätverk, men det kan finnas upp till 247 slavenheter, beroende av hur mycket varje enhet belastar nätverkssegmentet.
Belastningen begränsar det totala antalet enheter på ett nätverkssegment
Alla Modbus-slavenheter utgör en belastning för segmentet och belastningen påverkar antalet enheter du på ett säkert sätt kan ansluta till segmentet. Belastningen kallas för enhetsbelastning (unit load eller UL). Om ett nätverk är överbelastat får sändaren problem med att skicka de nödvändiga spänningsnivåerna och kan till och med gå sönder. Ett segment kan hantera upp till 32 UL. Äldre slavenheter belastade slingan med 1 UL per enhet, men moderna slavtransceivrar har låg belastning ned till 1/4 eller 1/10 UL. Teoretiskt sett kan därför ett RS-485-nätverk byggas upp till ett fullständigt segment med 247 enheter. På grund av kabeln som används, dess längd och den allmänna kvaliteten på installationsarbetet är detta ändå inte så lätt att uppnå. Med bra installationspraxis och lämplig kabel går det i alla händelser att uppnå segment med 60–90 enheter på ett säkert sätt, om varje enhet drar max 1/10 UL.
Välj lämpliga kablar och kontrollera anslutningarna
RS-485-nätverket kallas ofta för ett 2-trådssystem. Enligt Modbusstandarden bör man ändå installera en jordkabel mellan alla enheterna i ett segment. Därför rekommenderas det att du alltid använder minst tre trådar för dataöverföring (på 2 x 2 partvinnad kabel). Använd A+ och B- på ena paret och G0 på en av trådarna i det andra paret. En G0 inkoppling stabiliserar jordpotentialen och undviker risken för eventuella problem med jorden. En stor felkälla är också att av misstag växla A+ och B- i slingan. Se till att A+ och B- kopplas till rätt port på varje slavenhet. När du väljer kabel ska du komma ihåg att maxlängden för kabeln i ett segment är 1 200 m mellan 9 600 baud och 38 400 baud.
Försök på alla sätt undvika stubbar
För att undvika kommunikationsproblem i RS-485-nätverken är det även viktigt att slingan seriekopplas. Avstickarefrån nätverkets huvudkabel s.k. ”Stubbar” är inte tillåtet. ”Stubbar” kan störa kommunikationen och master- och slavenheterna kan då få problem med att detektera signalnivåerna.
Se till att termineringen är balanserad i båda ändorna
En korrekt terminering spelar en väsentlig roll i att säkerställa att signalen är tydlig. Du terminerar ett RS-485-segment med två 120-ohms motstånd som ansluts till första och sista enheten i segmentet.
Installera skärmad kabel korrekt
Skärmad kabel är inte alltid nödvändigt men rekommenderas om det finns elektriskt störande och högfrekventa enheter i närheten, till exempel frekvensomvandlare. När du använder skärm ska du vara noggrann med att ansluta den ordentligt. Skärmen får aldrig kopplas direkt till alla enheternas G0. I stället ska skärmen enbart kopplas till ena änden, helst där slingan börjar vid en Modbus-gateway.
Koppla rätt med Modbus och BACnet
Undvik problem i RS-485 nätverk
När vi bygger en kommunikationsslinga är det viktigt att göra rätt för att undvika de problem som annars kan uppkomma. Tomas Rosén på Produal har skrivit en mycket bra artikel om detta. Länk till hela artikeln finns här.
Jag har gjort en förkortad variant i här men jag rekommenderar verkligen att ni läser hela Tomas artikel.
Det är nämligen en del saker som kan gå fel under installationen av produkter i ett RS-485 nätverk. Men om man håller sig till de begränsningar som finns så undviker man kommunikationsproblem.
Fokus nedan ligger på Modbus RTU protokollet och dess kablage men gäller även för BACnet MSTP.
Modbus är ett master-slavprotokoll
Modbus RTU över RS-485 är ett master-slavprotokoll. Slavenheterna kan inte inleda kommunikation utan kan bara svara på masterenhetens begäranden. Därför måste alla slavenheter vara anslutna till masterenheten under installationen.
Det finns alltid bara en masterenhet i ett RS-485-nätverk, men det kan finnas upp till 247 slavenheter, beroende av hur mycket varje enhet belastar nätverkssegmentet.
Belastningen begränsar det totala antalet enheter på ett nätverkssegment
Alla Modbus-slavenheter utgör en belastning för segmentet och belastningen påverkar antalet enheter du på ett säkert sätt kan ansluta till segmentet.
Belastningen kallas för enhetsbelastning (unit load eller UL). Om ett nätverk är överbelastat får sändaren problem med att skicka de nödvändiga spänningsnivåerna och kan till och med gå sönder.
Ett segment kan hantera upp till 32 UL. Äldre slavenheter belastade slingan med 1 UL per enhet, men moderna slavtransceivrar har låg belastning ned till 1/4 eller 1/10 UL.
Teoretiskt sett kan därför ett RS-485-nätverk byggas upp till ett fullständigt segment med 247 enheter.
På grund av kabeln som används, dess längd och den allmänna kvaliteten på installationsarbetet är detta ändå inte så lätt att uppnå.
Med bra installationspraxis och lämplig kabel går det i alla händelser att uppnå segment med 60–90 enheter på ett säkert sätt, om varje enhet drar max 1/10 UL.
Välj lämpliga kablar och kontrollera anslutningarna
RS-485-nätverket kallas ofta för ett 2-trådssystem. Enligt Modbusstandarden bör man ändå installera en jordkabel mellan alla enheterna i ett segment. Därför rekommenderas det att du alltid använder minst tre trådar för dataöverföring (på 2 x 2 partvinnad kabel).
Använd A+ och B- på ena paret och G0 på en av trådarna i det andra paret. En G0 inkoppling stabiliserar jordpotentialen och undviker risken för eventuella problem med jorden.
En stor felkälla är också att av misstag växla A+ och B- i slingan. Se till att A+ och B- kopplas till rätt port på varje slavenhet.
När du väljer kabel ska du komma ihåg att maxlängden för kabeln i ett segment är 1 200 m mellan 9 600 baud och 38 400 baud.
Försök på alla sätt undvika stubbar
För att undvika kommunikationsproblem i RS-485-nätverken är det även viktigt att slingan seriekopplas. Avstickarefrån nätverkets huvudkabel s.k. ”Stubbar” är inte tillåtet. ”Stubbar” kan störa kommunikationen och master- och slavenheterna kan då få problem med att detektera signalnivåerna.
Se till att termineringen är balanserad i båda ändorna
En korrekt terminering spelar en väsentlig roll i att säkerställa att signalen är tydlig. Du terminerar ett RS-485-segment med två 120-ohms motstånd som ansluts till första och sista enheten i segmentet.
Installera skärmad kabel korrekt
Skärmad kabel är inte alltid nödvändigt men rekommenderas om det finns elektriskt störande och högfrekventa enheter i närheten, till exempel frekvensomvandlare. När du använder skärm ska du vara noggrann med att ansluta den ordentligt. Skärmen får aldrig kopplas direkt till alla enheternas G0. I stället ska skärmen enbart kopplas till ena änden, helst där slingan börjar vid en Modbus-gateway.
Nu kan ni allt 🙂 Lycka till!!