Przykładowe zastosowanie komputerów kompaktowych w przemyśle

| Prezentacje firmowe Artykuły

Komputery przemysłowe różnią się od zwykłych pecetów wytrzymałością na trudne warunki środowiskowe, mocami obliczeniowymi, posiadaniem dodatkowych interfejsów przemysłowych i często mniejszym zużyciem energii. Najczęściej są one chłodzone pasywnie, a brak wentylatorów wpływa korzystnie na ich niezawodność. Wraz z tym, jak ich zastosowania są bardzo różnorodne, występuje wiele kategorii tych urządzeń - od 3,5-calowych typu embedded o architeakturze ARM, do dużych jednostek x86 montowanych w szafach 19". Tym, co je łączy, jest duża elastyczność aplikacyjna oraz wysoka niezawodność.

Przykładowe zastosowanie komputerów kompaktowych w przemyśle

GDZIE STOSOWANE SĄ KOMPUTERY PRZEMYSŁOWE?

Rys. 1. Schemat połączeń aplikacji IA3341

Urządzenia te są obecne w przemyśle od dawna, jednak ich rola zmienia się w obliczu miniaturyzacji oraz coraz bardziej postępującej idei Internetu Rzeczy (IoT, Internet of Things). Kiedyś były to najczęściej komputery główne sterujące, z oprogramowaniem SCADA i do wizualizacji sterowania procesem. Można też było spotkać komputery na wyposażeniu dużych lub/i złożonych maszyn do wizualizacji i sterowania.

W większości przypadków komputery klasy PC są jednak stosowane w biurach lub serwerowniach i najczęściej znajdują się w klimatyzowanych pomieszczeniach, pracując w warunkach "domowych", a więc niewymagających zwiększonej odporności na warunki fizyczne. Z kolei sterowniki PLC najczęściej pełnią funkcje komunikacyjne i sterowania na niższych poziomach automatyki przemysłowej, ponieważ są odporne na nieprzyjazne warunki fizyczne oraz stosunkowo łatwo je zaprogramować. Dzięki wspomnianej miniaturyzacji komputery przemysłowe, które zaprojektowane są specjalnie do pracy w trudnych warunkach, można coraz częściej na poziomie szczeblu polowym (fieldbus) oraz urządzeń wykonawczych (device level).

KORZYŚCI ZE STOSOWANIA KOMPUTERÓW W PRZEMYŚLE

Rys. 2. Interfejs webowy strony

Dlaczego warto stosować komputery na poziomie polowym? Są one elastycznym elementem systemów automatyki, a wielu aplikacji po prostu nie da się bez nich zrealizować. Najczęściej wyposażone są one w kilka interfejsów szeregowych RS-232/422/485, Ethernet 10/100 Mbps, CAN, Profibus, wejścia/wyjścia cyfrowe, USB oraz sloty na karty SD.

Wykorzystują one takie systemy operacyjne jak: różne dystrybucje Linuksa, Windows CE, Windows Embedded, QNX, BSD i inne. Połączenie wielu interfejsów, mocy obliczeniowej większej niż w przypadku większości sterowników PLC oraz platformy programistycznej z dostarczonymi kodami źródłowymi i bibliotekami daje możliwość realizowania bardzo różnorodnych projektów - od sterownia maszynami CNC, przez zbieranie danych z liczników energii elektrycznej, odczytywanie czujników analogowych lub cyfrowych, komunikację z innymi urządzeniami polowymi, przedstawianie danych w postaci graficznej przez przeglądarkę internetową i wiele innych.

Jak widać, IPC potrafią często znacznie więcej, niż standardowe urządzenia sterujące na obiektach, a możliwa liczba ich zastosowań jest ograniczona pomysłowością projektanta.

PRZYKŁADOWA APLIKACJA Z UŻYCIEM KOMPUTERA IA3341 FIRMY MOXA

Rys. 3. Kamerę Vport 36 można skonfigurować, aby cyklicznie robiła zdjęcia i wysyłała jest na określony serwer FTP - dzięki tej funkcji na stronie webowej jest zawsze aktualny obraz IA3341

Firma Moxa ma w swojej ofercie szereg komputerów o różnych możliwościach, które przeznaczone są do różnych gałęzi przemysłu, transportu kolejowego, energetyki (w tym odnawialnej), przemysłu wydobywczego czy okrętowego. Na potrzeby zaprezentowania ich możliwości został wykonany projekt demo z użyciem komputera IA3341-LX. Ideą przyświecającą mu było pokazanie, jak można wykorzystać interfejsy komputera w najczęstszych jego aplikacjach.

Na komputerze IA3341 został zainstalowany webserwer z obsługą języka PHP, a na nim zbudowana została strona internetowa, na której można sprawdzić historię pomiarów temperatury z wykorzystaniem podłączonej termopary, podejrzeć historię stanu wejść/wyjść, zmienić stan wyjść, wysłać dane na port szeregowy oraz zobaczyć, czy są one wysyłane na drugim interfejsie szeregowym.

Na stronie głównej znajduje się też ramka ze zdjęciem, które jest klatką uaktualnianą przez kamerę VPort 36-1MP protokołem FTP. Kamera przesyła aktualny obraz komputera, co pozwala np. na sprawdzenie, czy załączenie wyjść powoduje zaświecenie się diod LED.

Ze sprzętem komunikuje się pięć programów napisanych w C, a dane ze stronami PHP są wymieniane poprzez pliki tekstowe znajdujące się na dysku Flash. Programy te korzystają z bibliotek Moxa, dzięki czemu w stosunkowo prosty sposób można skomunikować się z częścią sprzętową. Są one uruchamiane przez skrypt "uruchom.sh", który dodany jest do automatycznego uruchamiania w trakcie startu systemu. Dzięki temu wystarczy włączyć komputer, aby wszystkie zaimplementowane funkcjonalności zaczęły działać.

MODUŁY APLIKACJI

Rys. 4. IA3341 dzięki małym wymiarom (116×35×146 mm) nie zajmuje dużo miejsca na szynie DIN

Poniżej opis każdego modułu aplikacji:

  • "Log temperatury" - do komputera podłączona jest termopara, która obsługiwana jest dosyć nietypowo, gdyż dane o mierzonej temperaturze przesyłane są za pomocą protokołu Modbus TCP. Dane te są przechowywane w rejestrach i można je poznać odpytując urządzenie protokołem Modus TCP na porcie 502 o adresie lokalnym zdefiniowanym przez producenta. Program odpytujący ten rejestr zapisuje wynik do pliku .txt, tworząc log danych, do którego dostęp ma skrypt wyświetlający dane w przeglądarce. Ciekawą opcją jest to, że można dodatkowo odczytywać temperaturę zdalnie za pomocą innego urządzenia master dzięki protokołowi Modbus TCP. Gdy plik logu osiągnie rozmiar 7 MB, jest on przenoszony do katalogu "old" oraz kompresowany do formatu tar.gz. W tej formie można go pobrać, klikając link "Stare pliki logu" oraz wybierając odpowiedni. Nowy plik logu jest tworzony w katalogu nadrzędnym folderu "old".
  • "Log wejść/wyjść cyfrowych" - na tej stronie zobaczyć można logi stanów wejść i wyjść cyfrowych. Zasada działania jest tu również taka sama: program napisany w języku C odczytuje za pomocą funkcji Moxy stany wejść/wyjść, po czym, jeśli zmieniły się one od ostatniej iteracji, to zapisuje je do pliku txt. Następnie skrypt PHP odczytuje go i wyświetla w oknie przeglądarki. Mechanizm sprawdzający zmiany stanu wejść nie zwiększa niepotrzebnie wielkości logu danych - nowa linia ze stanem wejść dopisywana jest tylko w przypadku, gdy zmienił się stan któregokolwiek kanału.
  • "Ustaw wyjścia" - w tym przypadku sytuacja jest trochę inna. W pamięci IA3341 istnieje plik tekstowy, w którym zapisane są 4 cyfry odpowiedzialne za stan wyjść cyfrowych. Skrypt PHP odczytuje aktualne wartości z tego pliku i wyświetla je na stronie. Na tej ostatniej możliwa jest też zmiana stanu wyjść, co odbywa się poprzez zapisanie czterech jedynek do pliku txt. Jednocześnie w tle cyklicznie pracuje program, który uaktualnia stan wyjść cyfrowych właśnie poprzez odczyt pliku txt.
  • "Log z portów szeregowych" - na tej stronie można zobaczyć historię przesłanych danych na port szeregowy nr 1 oraz wysłać ciąg znaków, klikając w odpowiedni przycisk. Port szeregowy pierwszy i drugi są ze sobą spięte razem, dzięki czemu to, co zostanie wysłane na 2, przychodzi na pierwszy. Tutaj również plik txt pełni funkcje bufora danych pomiędzy PHP a programem w języku C. Jeżeli więc kliknięty zostanie odpowiedni przycisk, to odpowiadający mu napis zostanie zapisany do txt, następnie program na komputerze odczytuje go i wysyła na port szeregowy dwa i jednocześnie wymazuje. Jeśli na port szeregowy nr 1 przychodzi inny ciąg znaków niż w ostatniej linii logu, to jest on dopisywany do logu.

Komputer IA3341 z aplikacją demonstracyjną jest dostępny publicznie pod adresem: http://212.180.168.156, dzięki czemu można zobaczyć na własne oczy, jak działają opisywane wyżej mechanizmy. Na stronie głównej można też znaleźć wszystkie kody źródłowe wykorzystane w tej aplikacji.

KOMPAKTOWE KOMPUTERY PRZEMYSŁOWE FIRMY MOXA

Rys. 5. Konfiguracja komputera odbywa się za pomocą szyfrowanego połączenia SSH; system operacyjny to dystrybucja oparta na Arch Linux

IA3341 nie jest oczywiście jedynym kompaktowym komputerem firmy Moxa przeznaczonym do pracy w trudnych warunkach. Do tej samej grupy zalicza się kilka innych modeli, pomiędzy którymi można przenosić programy niemal bezboleśnie: IA240, IA260, IA261, UC-8410 i inne.

Warto też wspomnieć o serii UC-8100, są to 4 komputery oparte na procesorach ARMv7 Cortex - A8 300/600/1000 MHz. Ich moc obliczeniowa pozwala na swobodną pracę preinstalowanego systemu Linux Debian ARM 7, co jest niewątpliwie dużą zaletą ze względu na wygodę użytkowania i duże wsparcie tej dystrybucji Linuksa. Ponadto czynnikiem wyróżniającym omawiane komputery są: dobry stosunek cena/jakość, a także slot miniPCI Express umożliwiający podłączenie niemal dowolnej karty komunikacyjnej do komputera.

W ofercie firmy Moxa można znaleźć więcej komputerów przeznaczonych do różnych aplikacji m.in. w transporcie kolejowym, energetyce i przemyśle wydobywczym. Zachęcamy do zapoznania się z nimi na stronie www.elmark.com.pl.

DLACZEGO MOXA?

Firma Moxa od lat produkuje rozwiązania komunikacyjne dla przemysłu, często oparte na komputerach wbudowane. Doświadczenie zdobyte w ten sposób wpływa znacząco na jakość ich produktów. Wszystkie produkty przechodzą testy odporności na warunki fizyczne, dlatego użytkownik zawsze może mieć pewność, że urządzenie będzie pracować niezawodnie przez wiele lat w zadeklarowanych warunkach środowiska.

Sprawdź mnie!

212.180.168.156 to publiczny adres IP komputera IA3341 z uruchomioną aplikacją demonstracyjną

Piotr Gocłowski
Elmark Automatyka Sp. z o.o.

www.elmark.com.pl