Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Modbus RS485 - podstawowe zagadnienia/pytania

szfka 05 Apr 2019 11:37 2505 6
  • #1
    szfka
    Level 7  
    Witam,
    temat jest bardzo ogólny i też nie wiem czy powinno to się znaleźć w tym dziale. Sprawa wygląda następująco - nie jestem jakimś specem w tej materii, ale wypadało by się czegoś nauczyć na ten temat. Poniżej załączyłem ogólny zbiór wiedzy (z forum i innych źródeł), który chciałbym zweryfikować (ze względu na często różne opinie/doświadczenia). Dodatkowo mam kilka pytań:

    1. Stosowany kabel - skrętka ekranowana, 8 parowa - rozumiem, że ciągnięcie odgałęzienia od głównej linii przy wykorzystaniu jednego przewodu, ale różnych par jest normalnie stosowaną praktyką. Ponowne podłączenie do magistrali głównej jest wykonywane w puszce - łączy się odpowiednie pary i tyle. Ekrany tych przewodów łączy się ze sobą (skręcam ekrany/wyprowadzenia 3 przewodów w jednym miejscu). I teraz w celu połączenia tych linii A i B stosuję złączki - czy jest tu jakiś polecany/odradzany typ? Wezmę sobie szybkozłączki wago i mogę zapomnieć czy coś bardziej pewnego by się przydało?

    2. Skrętka ftp typu https://sklep.avt.pl/przewod-komputerowy-skretka-ftp-4x2-0-5-cca-z-ekranem.html jest wystarczająca czy też może być zbyt nieodpowiednia dla sieci 300m+?

    3. Podłączanie masy. Część urządzeń w magistrali ma wyprowadzenie masy, a część nie. W takiej sytuacji, jeśli dobrze rozumiem ekran podłączany jest tylko z jednej strony (do sterownika). Co jeśli mam więcej urządzeń w takiej konfiguracji i część z nich jest oddalona od głównego sterownika i posiada zasilanie z innej szafy?

    4. Komunikacja. Jeśli urządzenia działają, a po podłączeniu do magistrali modbus wariują - nie można się z nimi połączyć, tracą połączenie na kilka sekund, blokują się w taki sposób, że konieczne jest reset zasilaniem to:
    - software - oprogramowanie jest błędne zrobione - wydaje mi się, że jest to dosyć naciągane. Z pewnością może mieć to wpływ na działanie, ale nie aż taki.
    - kabel - źle poprowadzony kabel. Mam tu namyśli jakieś zagięcia przewodu czy też utrata połączenia poprzez zastosowanie elementów słabych jakościowo/nieprzystosowanych.
    - ekran - złe połączenie.
    - zakłócenia - przewody znajdują się od falowników/silników w odległości mniejszej niż 1m lub przewodów zasilających 230v w odległości mniejszej niż 30 cm. W takiej sytuacji należy zmienić położenie takiego przewodu czy też można zmienić kabel na bardziej odporny na zakłócenia. Czy umieszczenie przewodu komunikacyjnego prostopadle do zasilającego coś zmieni?

    *****Lista*****
    1. Jest to komunikacja różnicowa (A i B)
    a. Każde połączenie A musi być połączone z innymi połączeniami A na urządzeniach.
    b. Każde połączenie B musi być połączone z innymi połączeniami B na urządzeniach.
    c. Odbywa się to w sposób szeregowy – od głównego sterownika do kolejnych urządzeń.
    d. Błędne połączenie A do B lub B do A powoduje błędne działanie linii, a w gorszym przypadku zatrzymanie działania całej magistrali. Nie powoduje to jednak uszkodzenia urządzeń, a jedynie błędne działanie.

    2. Magistrala powinna być zaterminowana, co jest zrozumiałe jako wprowadzenie rezystora 120 Om (lub innego, dostosowanego do magistrali) pomiędzy linię A i B na początku, i końcu.
    a. Do 50m można pominąć rezystory.

    3. Długość całej magistrali nie powinna przekraczać 1200m.
    a. Główna część nie powinna przekraczać 700m.
    b. Odnogi od głównej magistrali powinny być jak najkrótsze (max 1m).
    c. Maksymalna liczba urządzeń w magistrali wynosi – 32 (zależy od obciążalności).

    4. W celu przedłużenia lub zwiększenia liczby urządzeń na magistrali należy zastosować repeater.
    a. Regenerują i wzmacniają sygnał.
    b. Dzielą magistralę na segmenty, więc konieczne jest dodanie terminatorów na końcach linii (chyba, że repeater ma już zamontowany).
    c. Liczba zastosowanych repeaterów na linii jest ograniczona, gdyż z każdym kolejnym zastosowanym wzrasta opóźnienie w komunikacji.

    5. Stosowany kabel to ekranowana skrętka.
    a. Ekran może folią lub plecionką.
    b. Powinien być podłączony tylko z jednej strony.

    6. W przypadku problemów w komunikacji, można spolaryzować magistralę poprzez zastosowanie rezystorów 150-680 Om poprzez podpięcie linii A i B pod +5V i 0V.
  • Helpful post
    #2
    chudybyk
    Level 31  
    Twoje pytania bardziej dotyczą standardu RS-485 niż MODBUS-a, co nie zawsze oznacza to samo.
    szfka wrote:
    1. Stosowany kabel - skrętka ekranowana, 8 parowa - rozumiem, że ciągnięcie odgałęzienia od głównej linii przy wykorzystaniu jednego przewodu, ale różnych par jest normalnie stosowaną praktyką. Ponowne podłączenie do magistrali głównej jest wykonywane w puszce - łączy się odpowiednie pary i tyle. Ekrany tych przewodów łączy się ze sobą (skręcam ekrany/wyprowadzenia 3 przewodów w jednym miejscu). I teraz w celu połączenia tych linii A i B stosuję złączki - czy jest tu jakiś polecany/odradzany typ? Wezmę sobie szybkozłączki wago i mogę zapomnieć czy coś bardziej pewnego by się przydało?
    1. Skrętka - owszem, niekoniecznie 8 parowa, w zasadzie powinna wystarczyć pojedyncza. Zwyczaje instalatorskie są różne, zasada budowy RS-485 wymaga by linia była magistralą o określonych parametrach. Ekran powinien być połączony, jeśli istnieje - zwykle z jednej strony. Złączki - nie mam zdania.
    Quote:
    2. Skrętka ftp typu https://sklep.avt.pl/przewod-komputerowy-skretka-ftp-4x2-0-5-cca-z-ekranem.html jest wystarczająca czy też może być zbyt nieodpowiednia dla sieci 300m+?
    Skrętka komputerowa (cat5+) powinna wystarczyć w niemal każdym zastosowaniu RS-485.
    Quote:
    3. Podłączanie masy. Część urządzeń w magistrali ma wyprowadzenie masy, a część nie. W takiej sytuacji, jeśli dobrze rozumiem ekran podłączany jest tylko z jednej strony (do sterownika). Co jeśli mam więcej urządzeń w takiej konfiguracji i część z nich jest oddalona od głównego sterownika i posiada zasilanie z innej szafy?
    RS-485 jest magistrala różnicową, ale poziomy sygnału nie powinny przekraczać zakresu masa-zasilanie tranceivera. Zwykle dobrze jest poprowadzić osobną linię dla masy, by wyrównać potencjały. Jeśli przesyłamy również tym samym kablem zasilanie, to warto przeliczyć ewentualne spadki napięcia na przewodzie masy, żeby transmisji nie rwało.
    Quote:
    4. Komunikacja. Jeśli urządzenia działają, a po podłączeniu do magistrali modbus wariują - nie można się z nimi połączyć, tracą połączenie na kilka sekund, blokują się w taki sposób, że konieczne jest reset zasilaniem to:
    - software - oprogramowanie jest błędne zrobione - wydaje mi się, że jest to dosyć naciągane. Z pewnością może mieć to wpływ na działanie, ale nie aż taki.
    - kabel - źle poprowadzony kabel. Mam tu namyśli jakieś zagięcia przewodu czy też utrata połączenia poprzez zastosowanie elementów słabych jakościowo/nieprzystosowanych.
    - ekran - złe połączenie.
    - zakłócenia - przewody znajdują się od falowników/silników w odległości mniejszej niż 1m lub przewodów zasilających 230v w odległości mniejszej niż 30 cm. W takiej sytuacji należy zmienić położenie takiego przewodu czy też można zmienić kabel na bardziej odporny na zakłócenia. Czy umieszczenie przewodu komunikacyjnego prostopadle do zasilającego coś zmieni?
    W zasadzie masz rację. Na końcu podejrzewałbym software. Zacząć należy zawsze od pomiarów magistrali.
    Quote:
    c. Odbywa się to w sposób szeregowy – od głównego sterownika do kolejnych urządzeń.
    Nie. Transmisja jest szeregowa, czyli bit po bicie i bajt po bajcie. Niekoniecznie musi być jeden konkretny master.
    Quote:
    5. Stosowany kabel to ekranowana skrętka.
    Nie. Ekran to środek do eliminacji zakłóceń w bardzo zakłóconych środowiskach. Zwykle nie jest wymagany.
    Quote:
    6. W przypadku problemów w komunikacji, można spolaryzować magistralę poprzez zastosowanie rezystorów 150-680 Om poprzez podpięcie linii A i B pod +5V i 0V.
    Zwykle spotykam się z rezystorami polaryzującymi rzędu 3k..4.7k
  • #3
    romulus73
    Level 27  
    Bywa, że skrętka nie bardzo nadaje się do RS485 odpowiedni kabelek musi mieć odpowiednią pojemność, być cynowany z oplotem miedzianym, a pytasz o magistralę separowaną i czy nie. Dlaczego przypisałeś RS485 do modbus a nie BACnet?
    Ja od dawna używam tylko kabelka BC 500
  • #4
    szfka
    Level 7  
    Modbus, bo w sumie to jedyna sieć z którą się spotkałem na obiektach i "walczyłem"(oprócz lonworks). Magistrala bez separacji.

    Quote:
    Zwykle dobrze jest poprowadzić osobną linię dla masy, by wyrównać potencjały.

    Jeśli dobrze rozumiem, to chodzi tu o poprowadzenie przewodu łączącego złącza GND na linii - i ten przewód jest wykorzystywany tylko do tego zadania.
    Quote:
    Ekran powinien być połączony, jeśli istnieje - zwykle z jednej strony.

    Te inne podłączenie występuje w jakich sytuacjach? Zasilanie z innych rozdzielni?

    1. Podłączenie kolejnych urządzeń do sieci powoduje resetowanie głównego sterownika (mastera), a z czasem dziwne zachowanie innych urządzeń (nie można włączyć, resetowanie ustawień, przerwanie komunikacji). W takiej sytuacji głównym winowajcą jest źle połączona masa/kabel (przy założeniu, że urządzenia mają swoje zasilanie)?

    2. Jeszcze pytanie dla pewności odnośnie takiej sytuacji : jest jakiś sterownik zamontowany w puszce i z tyłu ma wyprowadzenia do zasilania 230V oraz do komunikacji - A, B. Jak łączymy komunikację, to izolacji powinno się zdjąć jak najmniej (maks 3 cm gdzieś wyczytałem) bez zbytniego prostowania tej skrętki. W przeciwnym wypadku będzie zbierało zakłócenia.
  • #5
    chudybyk
    Level 31  
    szfka wrote:

    Quote:
    Zwykle dobrze jest poprowadzić osobną linię dla masy, by wyrównać potencjały.

    Jeśli dobrze rozumiem, to chodzi tu o poprowadzenie przewodu łączącego złącza GND na linii - i ten przewód jest wykorzystywany tylko do tego zadania.

    Tak. Sygnały A i B są różnicowe, powinny mieć terminację i warto je spolaryzować, a mimo to, bywa, że masy są na tyle "rozjechane", że są problemy z transmisją. Połączenie mas wyrównuje potencjały. Warto jednak sprawdzić, czy tym przewodem masy nie popłyną znaczne prądy wyrównawcze - wtedy lepiej zainwestować w optoizolację interfejsu.
    Quote:

    Quote:
    Ekran powinien być połączony, jeśli istnieje - zwykle z jednej strony.

    Te inne podłączenie występuje w jakich sytuacjach? Zasilanie z innych rozdzielni?
    Na przykład, gdy kabel poprowadzimy dalej, albo gdy z jakiegoś powodu połączymy masę z ekranem.
    Quote:

    1. Podłączenie kolejnych urządzeń do sieci powoduje resetowanie głównego sterownika (mastera), a z czasem dziwne zachowanie innych urządzeń (nie można włączyć, resetowanie ustawień, przerwanie komunikacji). W takiej sytuacji głównym winowajcą jest źle połączona masa/kabel (przy założeniu, że urządzenia mają swoje zasilanie)?
    Sugerowałbym pomiary. Najlepiej oscyloskopem.
    Quote:

    2. Jeszcze pytanie dla pewności odnośnie takiej sytuacji : jest jakiś sterownik zamontowany w puszce i z tyłu ma wyprowadzenia do zasilania 230V oraz do komunikacji - A, B. Jak łączymy komunikację, to izolacji powinno się zdjąć jak najmniej (maks 3 cm gdzieś wyczytałem) bez zbytniego prostowania tej skrętki. W przeciwnym wypadku będzie zbierało zakłócenia.

    Bez przesady. Takie zasady stosuje się do skrętki komputerowej kat. 5e lub wyżej. Chyba, że Twój Modbus chodzi na prędkościach rzędu setek Mbps. ;-)
    Nie sądzę, żeby rozplatanie skrętki nawet na 20 cm miało duży wpływ na zakłócenia.
  • #6
    szfka
    Level 7  
    OK. To teraz pytanie do tego:
    chudybyk wrote:
    Połączenie mas wyrównuje potencjały. Warto jednak sprawdzić, czy tym przewodem masy nie popłyną znaczne prądy wyrównawcze - wtedy lepiej zainwestować w optoizolację interfejsu.

    I tutaj link z przykładowym elementem (do alegro ZABEZPIECZENIE PRZECIWPRZEPIĘCIOWE DO RS-485 ABCV). https://bit.ly/2Ur8O7g
    Jeśli dobrze rozumiem, to mamy kilka opcji. Dwie z nich to:
    1. Ekran łączymy z jednej strony i wyrównujemy potencjał GND. Ma to wadę, że samo wyrównanie może spowodować uszkodzenia elementów systemu.
    2. Ekran łączymy z jednej strony i stosujemy optoizolację.
    I tu mam pytanie. Przy użyciu tego elementu wyżej podanego, podłączam przewody magistrali A do A, B do B i ekran do GND czy prowadzę osobny przewód dla samej masy tak jak w przypadku 1 (na początku i końcu magistrali podłączenie tego elementu)? W takim przypadku mam zabezpieczony przynajmniej sterownik. W przypadku, gdy chcę odseparować każdy element od magistrali, to stosuję separatory. Podłączenie ich jest następujące - urządzenie -> separator -> magistrala. I teraz mam pewność, że wszystko działa - elementy są zabezpieczone i nie powinno być problemów z komunikacją? Inna sytuacja - wiem, że to urządzenie jest powodem błędów komunikacji - z powodu jego zasilania, bliskości przewodów zasilających, falowników czy silników. Czy jeśli odseparuje tylko to urządzenie od magistrali, to mogę powiedzieć, że pozbyłem się źródła problemów?
  • #7
    chudybyk
    Level 31  
    Ten układ zabezpieczenia do RS485 z Allegro nie zapewnia separacji galwanicznej, a tylko zabezpiecza przez przepięciami, czyli to pewnie obwód z warystorami i/lub transilami. Urządzenie pożyteczne, jeśli linia jest narażona na przepięcia i wyładowania (od pioruna, elektrostatyczne itp.). Zakładam jednak, że tego typu zagrożenia nie są dla Ciebie problemem, bo inaczej zakłócenie transmisji zmuszałoby do wymiany spalonego elementu.

    Z opisu wynika, że masz problemy z transmisją, w szczególności pewne elementy magistrali powodują problemy w jej działaniu.
    Zanim zaczniesz kombinować z łączeniem mas i ekranów zrób choćby najprostsze pomiary. Oscyloskop byłby przydatny, ale nawet pomiar multimetrem może pomóc. Zmierzyłbym napięcie pomiędzy masą magistrali a masą podejrzanego modułu przy podłączonej magistrali. Prąd w przewodzie masy pomiędzy podejrzanym modułem a magistralą, napięcie pomiędzy PE a masą modułu. Wszystkie pomiary na zakresach DC i AC.

    Sprawdź zasilanie modułów - w szczególności czy zasilacz wymaga podłączenia PE i poprawność tego połączenia. Być może sam moduł też ma możliwość podłączenia PE. Paradoksalnie problemy mogą powodować właśnie połączenia PE, poprzez które może zamykać się pętla masy (np. przez kondensatory odsprzęgające PE w zasilaczu) - przy zasilaniu z oddalonych rozdzielni potencjał PE może być nierówny i połączenie mas zrobi więcej szkody niż pożytku. Ostatecznie podejrzane moduły można odseparować stosując separator magistrali RS-485 (Google znalazł całkiem sporo).

    Warto również odpiąć wszystkie urządzenia i zmierzyć oporność samej pętli magistrali oraz osobno linii do masy i/lub ekranu. Może jest gdzieś słaby kontakt lub przywarcie?

    Skrętka bez ekranu jest całkiem odporna na zakłócenia, ale jeśli już ekran jest, to należy go podłączyć. Na przykład do PE albo jakiegoś punktu masy. Magistrala nie powinna być układana w jednym korytku z kablami przemysłowymi.

    Podsumowując: spróbuj sprawdzić poziomy napięć magistrali przy modułach, zasilanie modułów, stan samej magistrali, potem szukaj zakłóceń z zewnątrz. Dodawanie separatorów "na czuja" to mnożenie problemów zamiast ich eliminowanie.