Komunikacja z obrabiarką CNC przez port RS232 – blaski i cienie?

Komunikacja z obrabiarką CNC przez port RS232 – blaski i cienie?
Przestarzały interfejs?
Połączenia zgodne z RS-232 mają już niemal 60 lat i pomimo wielu wad oraz ograniczeń nadal jest bardzo popularny w automatyce przemysłowej. Za pośrednictwem “RS-a” komunikują się m.in. liczniki energii, aparatura kontrolno-pomiarowa, wagi, czytniki kodów kreskowych, itp. W zasadzie można przyjąć, iż pomimo tego, że jest to jeden ze starszych przyłączy nadal króluje on w przemyśle. Niestety. I na szczęście. W ostatnich latach rozwój technologii w elektronice użytkowej wyparł w zasadzie port RS-232 (oraz jego nowsze wersje, np. RS-485) na rzecz połączeń sieciowych typu Ethernet czy WiFi oraz bardzo popularnego w urządzeniach peryferyjnych USB. W zastosowaniach przemysłowych stary, dobry port szeregowy nadal jednak wygrywa z powodu łatwości implementacji, niezawodności działania i bardzo niskiego kosztu produkcji. Równocześnie niemal wszyscy pracujący z tym standardem zgadzają się, niemal jednogłośnie, że jest on przestarzały, niewydajny i problematyczny na dłuższą metę. Jednak jest też trudny do zastąpienia. Zatem co robić?
Większość firm, które specjalizują się w komponentach do komunikacji przemysłowej oferuje tzw. bramki umożliwiające komunikację z portami RS-232/422/485 poprzez sieć Ethernet lub WiFi, specjalizowane połączenia ZigBee, translację portu na USB czy Bluetooth a także inne, mniej lub bardziej wyspecjalizowane interfejsy i protokoły.
Skupmy się jednak na takich, które w przypadku naszego produktu sprawdzają się najlepiej. Mówiąc inaczej – które rozwiązania w przypadku monitoringu maszyn przemysłowych mają sens zarówno od strony kosztów i trudności wdrożenia, a także kosztów utrzymania i wydajności pracy.
Odpowiedź? Ethernet!
Najpopularniejszym rozwiązaniem są serwery portów szeregowych tłumaczących komunikację do sieci Ethernet (także światłowodowej). Dzieje się tak ponieważ przejście na Ethernet daje najlepszy stosunek jakości oraz prędkości połączenia do ceny oraz zapewnia najłatwiejszą – a przy tym najtańszą – implementację. Przy niewielkich nakładach pracy większość współczesnych routerów czy bardziej zaawansowane urządzenia sieciowe umożliwiają relatywnie łatwe zabezpieczenie urządzeń oraz ich publikację w adresacji publicznej. Dla nas najważniejsze są jednak niewielkie opóźnienia wprowadzane przez zastosowanie serwera portów RS opartego o sieć Ethernet, ich duża przepustowość oraz dowolne kształtowanie infrastruktury. Można ująć to w ten sposób, iż dokładnie te zalety są przeciwieństwem wad samego portu RS!
Speed, this is what I need…
W zakresie prędkości działania samodzielny port szeregowy (RS-232) może działać z prędkością 9600bps. Oznacza to, że w ciągu sekundy możemy za jego pomocą przesłać 9600 bitów w ciągu sekundy. W zasadzie, w praktyce, nieco mniej. Zatem jeden bit to ok. 1 ms. Ale to tylko teoria, bowiem wszystkie komponenty urządzeń będą dokładać swoje opóźnienia. W przypadku portu szeregowego na płycie głównej komputera czas potrzebny na wysłanie i odebranie jednego znaku to już około 5 ms. Serwer szeregowy, jako że jest to de facto komputer z translacją na interfejs sieciowy, dokłada do tego kilka dodatkowych milisekund, ok. 10 – 12 ms. Jednak w naszych testach, w porównaniu z Zigbee, czy Bluetooth, to wynik nadal rewelacyjny, bo te interfejsy potrzebowały pomiędzy 100-150 ms. To, w połączeniu z ogromną przepustowością w porównaniu z “gołym” portem (1Gbps jest w tej chwili już w zasadzie standardem) oraz niewielkie opóźnienia pozwalają na obsługę dziesiątek, setek wręcz urządzeń w ramach jednej sieci bez utraty parametrów. W końcu urządzeń pracujących z prędkością 9600bps można zmieścić naprawdę sporo w sieci 1000000000bps… Pozwala nam to na obsługę w zasadzie dowolnej ilości serwerów portów poprzez jedno łącze główne. Co więcej, korzystamy także z bardziej zaawansowanych rozwiązań.
Konfiguracja i działanie
Serwery portów szeregowych mają dwa główne tryby działania – wirtualny port COM oraz tryb klient/serwer. My korzystamy jeszcze z trzeciego, czyli programowalnego portu szeregowego.

Ratujmy stare oprogramowanie
Ten pierwszy ma aktualnie znikome zastosowanie, ponieważ polega on na stworzeniu wirtualnego portu COM na lokalnym komputerze użytkownika (systemy Windows oraz Linux) i używać go w oprogramowaniu jak portu lokalnego, a całą pracę zestawienia połączeń, tunelowania i tłumaczenia protokołów zajmuje się sterownik instalowany wraz z oprogramowaniem. Jest to zatem tryb pracy całkowicie przezroczysty dla użytkownika oraz oprogramowania, a służy głównie do podtrzymywania przy życiu starszego typu oprogramowania, które nie potrafi przejść na komunikację przez sieć Ethernet – w tym wypadku oprogramowanie będzie używać wirtualnego portu COM tak, jakby był on portem fizycznym.
Serwer i klient
O wiele efektywniejszym, bardziej wszechstronnym i po stokroć bardziej uniwersalnym jest tryb serwera. W tym przypadku urządzenie utrzymuje wbudowany serwer oczekujący na przychodzące połączenia sieciowe. Będąc zawsze dostępnym, zawsze aktywnie odpowiadając na zapytania od wielu urządzeń zapewniają nieprzerwany dostęp do danych. Udostępniając dedykowany port na dedykowanym adresie IP tylko konfiguracja topologii sieciowej ogranicza możliwości dostępu z całego spektrum urządzeń i rodzaje zastosowań.
Tryb kliencki działa odwrotnie do pasywnego trybu serwera. W przypadku wystąpienia zdarzenia na porcie RS urządzenie połączy się ze skonfigurowanym serwerem, na konkretnym porcie i adresie, wysyłając dane bezpośrednio do dostępnego tam oprogramowania.
Jest to najprostszy i jeden z wydajniejszych trybów działania. Nasze oprogramowanie może odpytać dziesiątki, setki a nawet tysiące urządzeń sieciowych w interwałach 5-10 sekund każdy, zbierając i przetwarzając odpowiedzi w trybie rzeczywistym.
Zaawansowane serwery logiczne
Jeśli serwer portów szeregowych zawiera w sobie serwer odpowiadający na zapytania sieciowe lub aktywnie wysyłający zapytania do innych urządzeń, to znaczy, że ma w sobie procesor i potrafi logicznie obsługiwać zadania. Część producentów oferuje zatem programowalne serwery portów, które pozwalają na zainstalowanie i uruchomienie małych programów logicznych wykonujących konkretne zadania w określony, programowalny sposób. Postanowiliśmy z tego skorzystać i do wielu urządzeń stworzyliśmy własną implementację serwera bramki logicznej z tłumaczeniem czy mapowaniem struktur danych. Zatem zamiast odpytywać urządzenia co 5 sekund przez sieć robimy to jak najbliżej urządzenia, czyli na samym serwerze portów. Czemu? Po co wysyłać niezmienione dane albo zaśmiecać sieć zapytaniami, które zwrócą na koniec, po odrzuceniu zbytecznych informacji, te same dane? Taka implementacja potrafi jeszcze w większym zakresie zoptymalizować wykorzystanie sieci.
Dostępność urządzeń na rynku
Aktualnie w zasadzie każdy producent rozwiązań przemysłowych oferuje serwery portów szeregowych w mnogości konfiguracji. Stosując zasadę doboru sprzętu pod rozwiązanie konkretnego problemu w ofercie można znaleźć serwery obsługujące jeden czy dwa porty aż po urządzenia szesnasto- czy nawet trzydziestodwu-portowe. Zasada, jaką należy się kierować jest prosta – jedna maszyna, jedno urządzenie. Jeśli mamy do podłączenia jeden port, najlepiej zastosować serwer jednoportowy. Jeśli mamy zamiar podłączyć do siebie urządzenie złożone z wielu kontrolerów i sterowników, w zależności od możliwości poprowadzenia okablowania, możemy zastosować rozwiązania wieliportowe. Pamiętać jednak zawsze należy, że okablowanie do portu RS nie jest łatwe w prowadzeniu, nie jest zwykle ekranowane oraz ma ograniczenie długości/zasięgu bez dodatkowych wzmacniaczy. Zatem, jak to zwykle bywa, coś za coś… ale dlaczego niektórzy ciągle trzzymają się archaicznych portów o małej wydajności przesyłu…. Natomiast więcej informacji o monitoringu maszyn poprzez sieć teleinformatyczną można znaleźć na naszej stronie.

Read More

Komunikacja z obrabiarką CNC przez port RS232 – blaski i cienie?

Przestarzały interfejs?

Połączenia zgodne z RS-232 mają już niemal 60 lat i pomimo wielu wad oraz ograniczeń nadal jest bardzo popularny w automatyce przemysłowej. Za pośrednictwem “RS-a” komunikują się m.in. liczniki energii, aparatura kontrolno-pomiarowa, wagi, czytniki kodów kreskowych, itp. W zasadzie można przyjąć, iż pomimo tego, że jest to jeden ze starszych przyłączy nadal króluje on w przemyśle. Niestety. I na szczęście. W ostatnich latach rozwój technologii w elektronice użytkowej wyparł w zasadzie port RS-232 (oraz jego nowsze wersje, np. RS-485) na rzecz połączeń sieciowych typu Ethernet czy WiFi oraz bardzo popularnego w urządzeniach peryferyjnych USB. W zastosowaniach przemysłowych stary, dobry port szeregowy nadal jednak wygrywa z powodu łatwości implementacji, niezawodności działania i bardzo niskiego kosztu produkcji. Równocześnie niemal wszyscy pracujący z tym standardem zgadzają się, niemal jednogłośnie, że jest on przestarzały, niewydajny i problematyczny na dłuższą metę. Jednak jest też trudny do zastąpienia. Zatem co robić?

Większość firm, które specjalizują się w komponentach do komunikacji przemysłowej oferuje tzw. bramki umożliwiające komunikację z portami RS-232/422/485 poprzez sieć Ethernet lub WiFi, specjalizowane połączenia ZigBee, translację portu na USB czy Bluetooth a także inne, mniej lub bardziej wyspecjalizowane interfejsy i protokoły.

Skupmy się jednak na takich, które w przypadku naszego produktu sprawdzają się najlepiej. Mówiąc inaczej – które rozwiązania w przypadku monitoringu maszyn przemysłowych mają sens zarówno od strony kosztów i trudności wdrożenia, a także kosztów utrzymania i wydajności pracy.

Odpowiedź? Ethernet!

Najpopularniejszym rozwiązaniem są serwery portów szeregowych tłumaczących komunikację do sieci Ethernet (także  światłowodowej). Dzieje się tak ponieważ przejście na Ethernet daje najlepszy stosunek jakości oraz prędkości połączenia do ceny oraz zapewnia najłatwiejszą – a przy tym najtańszą – implementację. Przy niewielkich nakładach pracy większość współczesnych routerów czy bardziej zaawansowane urządzenia sieciowe umożliwiają relatywnie łatwe zabezpieczenie urządzeń oraz ich publikację w adresacji publicznej. Dla nas najważniejsze są jednak niewielkie opóźnienia wprowadzane przez zastosowanie serwera portów RS opartego o sieć Ethernet, ich duża przepustowość oraz dowolne kształtowanie infrastruktury. Można ująć to w ten sposób, iż dokładnie te zalety są przeciwieństwem wad samego portu RS!

Speed, this is what I need…

W zakresie prędkości działania samodzielny port szeregowy (RS-232) może działać z prędkością 9600bps. Oznacza to, że w ciągu sekundy możemy za jego pomocą przesłać 9600 bitów w ciągu sekundy. W zasadzie, w praktyce, nieco mniej. Zatem jeden bit to ok. 1 ms. Ale to tylko teoria, bowiem wszystkie komponenty urządzeń będą dokładać swoje opóźnienia. W przypadku portu szeregowego na płycie głównej komputera czas potrzebny na wysłanie i odebranie jednego znaku to już około 5 ms.  Serwer szeregowy, jako że jest to de facto komputer z translacją na interfejs sieciowy, dokłada do tego kilka dodatkowych milisekund, ok. 10 – 12 ms. Jednak w naszych testach, w porównaniu z Zigbee, czy Bluetooth, to wynik nadal rewelacyjny, bo te interfejsy potrzebowały pomiędzy 100-150 ms. To, w połączeniu z ogromną przepustowością w porównaniu z “gołym” portem (1Gbps jest w tej chwili już w zasadzie standardem) oraz niewielkie opóźnienia pozwalają na obsługę dziesiątek, setek wręcz urządzeń w ramach jednej sieci bez utraty parametrów. W końcu urządzeń pracujących z prędkością 9600bps można zmieścić naprawdę sporo w sieci 1000000000bps… Pozwala nam to na obsługę w zasadzie dowolnej ilości serwerów portów poprzez jedno łącze główne. Co więcej, korzystamy także z bardziej zaawansowanych rozwiązań.

Konfiguracja i działanie

Serwery portów szeregowych mają dwa główne tryby działania – wirtualny port COM oraz tryb klient/serwer. My korzystamy jeszcze z trzeciego, czyli programowalnego portu szeregowego.

Read More