Sieci szeregowe – przeżytek czy zdrowy rozsądek?

21.06.2022 How to / Serwery portów szeregowych
Sieci szeregowe – przeżytek czy zdrowy rozsądek?
Wizerunek autora
Jarosław Molenda
Producent: Advantech
  • Zakłady przemysłowe

Sieci szeregowe mimo upływu czasu mają ciągle swoich zwolenników. Są w nich duże braki w bezpieczeństwie ale też mają swoje zalety, o których warto wiedzieć. W pojęciu ogólnym mamy dwa typy komunikacji: synchroniczna i asynchroniczna. W pierwszym przypadku wymagany jest sygnał zegarowy, który będzie synchronizował czas pomiędzy nadawcą a odbiorcą. Natomiast przy pojęciu komunikacji asynchronicznej taki sygnał czasowy nie jest wymagany a użytkownik może wysyłać dane w dowolnym momencie. Komunikacja szeregowa oparta jest właśnie na takiej strukturze asynchronicznej, w której nadawca musi poinformować odbiorcę o rozpoczęciu i zakończeniu nadawania. Odpowiedzialne są za to w dedykowanej w ramce bity startu i stopu. Dane na linii wysyłane są w postaci napięciowej, w której binarne „0” odpowiada za stan niski a binarne „1” za stan wysoki napięcia.

Format danych może być różny i jest on finalnie definiowany przez użytkownika. Wcześniej wspomniany już bit startu ma zawsze wartość 1 bita. Bit stopu jest już konfigurowalny i może mieć kolejno 1, 1.5 lub 2 bity. Z kolei parzystość wykorzystywana jest do sprawdzania błędów i może posiadać 1 bit (Even, Odd, Space, Mark) lub 0 (None).

Ramka w komunikacji szeregowej

Przykładowe ramki mogą mieć poniższą postać:

(N, 8, 1 = 10 bit)

Parity = None

Start bit + Data + Stop bit

(Odd, 8, 1 = 11 bit)

Parity = Even lub Odd

Start bit + Data + Parity + Stop bit

Po ustaleniu formatu danych musimy ustalić jeszcze prędkość transmisji danych, czyli ilość danych wysyłanych na sekundę. Najbardziej typową prędkością jest 9600bps. Przeliczając to na czas wyjdzie, że jeden bit będzie wysyłany w czasie 0,104 ms. Prędkość transmisji można ustawiać w zakresie 50 – 921600bps.

Interfejs RS-232

Najbardziej znanym typem sieci szeregowej jest RS-232 z transmisją Full Duplex, czyli z jednoczesnym nadawaniem i odbieraniem danych. Informacje w takiej sieci mogą być przesyłane tylko na dystansie do 15 metrów a na linii może być podłączone tylko jedno urządzenie. Jest to typowa transmisja od punktu do punktu. Jeżeli łączymy komputer do komputera to używamy tutaj konfiguracji „null modem”, czyli zamieniamy linie Rx z Tx. W przypadku połączenia komputera z urządzeniem końcowym stosujemy połączenie styków na wprost.

Diagram sieci RS-232

Napięcie występujące na linii RS-232 definiuje wartość przesyłanego sygnału. W przedziale od -3 od -25V mieści się sygnał wysoki a w przedziale od 3 do 25V niski.

Opis napięć na linii RS-232

Komunikacja w RS-232 najczęściej odbywa się na trzech liniach Tx, Rx i GND. Może być też rozbudowana o dodatkowe linie kontroli przepływu RTS/CTS lub DTR/DSR. Linie te umożliwiają synchronizację transmisji tak, by dane były wysyłane wtedy, gdy urządzenie po drugiej stronie jest gotowe do ich odbioru. W przypadku softwarowej kontroli wykorzystywane są dwa znaki ASCII XOFF(13 HEX) i XON(11 HEX) przesyłane na liniach Tx i Rx. Odbiornik danych sygnalizuje za pomocą znaku XON gotowość przyjęcia dalszych znaków natomiast pojawienie się znaku XOFF wstrzymuje transmisją danych. 

Interfejs RS-485

W przypadku magistrali RS-485 transmisja odbywa się na dwóch liniach DATA+ i DATA- oraz GND na dystansie do 1200 metrów, przy prędkości do 10Mbps. Dużą zaletą tego standardu jest prostota implementacji, bo wymagany jest dowolny 2-3 żyłowy przewód. Ze względu na ilość przewodów komunikacja odbywa się jednocześnie tylko w jedną stronę czyli typu „half duplex”. W takiej konfiguracji wysyłany jest pakiet informacji a później następuje nasłuchiwanie na odpowiedź. Istnieją też rzadziej stosowane warianty z 4 żyłami z transmisją „full duplex”.

Diagram linii RS-485

Napięcie na liniach RS-485 mieści się w zakresie od -7 do 12V. W przypadku napięcia powyżej 200mV mamy stan logiczny wysoki „1” a poniżej -200mV stan logiczny niski „0”.

Opis napięć na linii RS-485

W standardzie RS-485 sygnały podpinane są równolegle do magistrali, na której można podłączyć do 32 urządzeń jednocześnie. W przypadku zastosowania dodatkowych repeaterów możliwe jest zwiększanie zarówno dystansu transmisji jak i ilość urządzeń.

W poniższym przykładzie przez konwerter RS-232 na RS-485 podłączono równolegle do 31 modułów ADAM-4000 na magistrali RS-485 na dystansie 1200 metrów.

Przykładowa topologii RS-485

Bardzo dużą zaletą sieci RS-485 jest możliwość pracy równoległej wielu urządzeń w jednej sieci. Ich liczba uzależniona jest od stosowanych protokołów komunikacyjnych. Jednym z najlepiej znanych jest Modbus/RTU, który jest powszechnie wykorzystywany do komunikacji pomiędzy sterownikami a urządzeniami pomiarowymi czy wykonawczymi. Opracowany pierwotnie przez firmę Modicon stał się standardem przyjętym przez większość znanych producentów sterowników przemysłowych i sprzętu pomiarowego. Należy do rodziny protokołów typu master-slave, w których tylko jedno urządzenie (jednostka nadrzędna – master) może inicjować transakcje, a pozostałe (jednostki podrzędne - slave) odpowiadają jedynie na zdalne zapytania mastera. Transakcja składa się z polecenia (query) wysyłanego z jednostki master do slave oraz odpowiedzi przesyłanej zwrotnie, zawierającej odpowiedź w postaci danych lub potwierdzenie realizacji polecenia. Wyjątkiem są pakiety rozgłoszeniowe typu broadcast przeznaczone dla wszystkich jednostek podrzędnych w sieci, na które jednostki slave nie przesyłają żadnej odpowiedzi. Przesyłane w obydwie strony wiadomości zorganizowane są w postaci ramek o ściśle określonych polach. Master odpytuje odpowiednio zaadresowany Slave przez nadany ID i określony rejestr z danymi. Wartości w rejestrze mogą być zarówno odczytywane jak i nadpisywane, także protokół może służyć do kontroli pomiarów jak i wysterowania procesów. Częstotliwość pomiarów nie jest tutaj duża i wynosi do 100Hz. Jedynym zabezpieczeniem w transmisji jest liczona suma kontrolna, która musi być identyczna w wysyłanej jak i odbieranej przez Mastrea ramce.

By poprawić jakość sygnału w rozległych sieciach RS-485 zalecane jest stosowanie rezystorów terminujących na początku i końcu linii. Bez rezystorów na magistrali pojawiają się odbicia, które wprowadzają szumy i zmniejszają czytelność sygnału. Zastosowanie rezystora wygładza sygnał ale też zmniejsza napięcie, także nie należy zbytnio przesadzać z rezystancją (typowo 120 omów).

Rezystory terminujące na linii RS-485

Sygnał przed i po redukcji szumów

Podłączenia portów RS-232, RS-422, RS-485

Powyżej pokazano sposób podłączenia linii szeregowych RS. Warto wspomnieć jeszcze o standardzie RS-422, który wykorzystuje 4 linie kablowe na dystansie do 1200 metrów. W odróżnieniu do standardu RS-485 zapewnia komunikację „full duplex”, czyli jednoczesne nadawanie i odbieranie komunikatów.

 Interfejs  RS-232  RS-422  RS-485
 Typ podłączenia  Jeden do jednego  Różnicowy  Różnicowy
 Topologia  Punkt - punkt   1 do wielu  1 do wielu
 Licza nadawców  1  1  32
 Liczba odbiorców  1  32  32
 Stan wysoki "1"  od -5 V do -15 V  różnica A-B < -0,2 V  A-B > 200mV
 Stan niski "0"  od 5 V do 15 V  różnica A-B > +0,2 V  B-A > 200mV
 Czułość  +/- 3 V  +/- 0.2 V  +/- 0.2 V
 Zasięg  15 m  1200 m  1200 m
 Maksymalna prędkość  921,6 kbps  921,6 kbps  921,6 kbps
 Tryb transmisji  Full-Duplex  Full-Duplex  Half-Duplex

Tabela porównawcza standardów szeregowych

Nowe technologie

Mimo upływu lat magistrala szeregowa ma ciągle swoich zwolenników, szczególnie w rozwiązaniach przemysłowych. Niemniej rozwiązania te są coraz rzadziej stosowane, bo wypierają je szybsze i lepiej zabezpieczone sieci Ethernet. Ale co w przypadku, gdy dysponujemy czujnikami bądź modułami ze standardem RS i nie mamy takiej sieci? W takiej sytuacji najprościej zastosować serwer portów szeregowych, który przenosi sieć RS przez Ethetnet w sposób przezroczysty. Dzięki takim technologiom możemy swobodnie łączyć starsze rozwiązania z nowszymi sieciami Ethernet czy WiFi.

Nasze serwery portów szeregowych umożliwiają pracę w trybach TCP/UDP Client/Server, Peer-to-Peer oraz Virtual Com. Wybierając opcję Server użytkownik jest w stanie stworzyć połączenie z portem szeregowym bez instalacji dodatkowych sterowników. Wystarczy znać adres IP i numer portu TCP, którym przesyłane będą dane. Inną opcją jest komunikacja Peer-to-Peer, czyli bezpośrednie połączenie między dwoma urządzeniami przy wykorzystaniu sieci Ethernet. W trybie Client kontakt inicjowany jest ze strony portu szeregowego, który łączy się z określonym hostem TCP. Ostatnim sposobem pracy jest Virtual COM, czyli opcja tworzenia wirtualnych portów szeregowych. Jej wybór uruchamia odpowiedni sterownik, który sam tworzy dodatkowe porty COM widoczne w systemie operacyjnym Windows.  Konfiguracja i mapowanie odbywa się z wykorzystaniem łatwego w obsłudze oprogramowania dołączonego do urządzenia lub przez przeglądarkę.

Diagram konfiguracji Client Mode

Diagram konfiguracji Server Mode

Skontaktuj się ze specjalistą Elmark

Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!