Zdalne programowanie sterowników Beckhoff z użyciem chmury.
Firma Beckhoff konsekwentnie wprowadza rozwiązania Przemysłu 4.0 do portfolio. Jednym z tych rozwiązań jest wykorzystanie szyfrowanego protokołu TwinCAT ADS do zdalnego programowania sterowników PLC.
Zdalne programowanie sterowników Beckhoff z użyciem chmury
Podtytuł: Firma Beckhoff konsekwentnie wprowadza rozwiązania Przemysłu 4.0 do swojego portfolio. Jednym z tych rozwiązań jest wykorzystanie szyfrowanego protokołu TwinCAT ADS do zdalnego programowania sterowników PLC.
Przez chmurę do celu
Każdy sterownik Beckhoff jest domyślnie gotowy do obsługi zdalnych połączeń i nie wymaga do tego celu żadnych dodatkowych urządzeń ani usług. Funkcjonalność ta jest wbudowana w podstawowe środowisko programistyczne TwinCAT 3 XAE i jest dostępna na wszystkich sterownikach PLC oraz komputerach przemysłowych Beckhoff z oprogramowaniem TwinCAT 3. Co więcej, całkowita konfiguracja zajmuje zaledwie parę minut. Wszystko to dzięki zastosowaniu mechanizmu ADS-over-MQTT. Zanim jednak opiszemy w jaki sposób można zestawić takie połączenie zastanówmy się jak działa protokół MQTT i na czym polega sekret jego popularności.
Protokół MQTT to względnie prosty i niewymagający protokół komunikacyjny. Podstawą jego działania jest komunikacja urządzeń końcowych poprzez brokera, czyli pośrednika. Słowo broker jest tutaj kluczowe, ponieważ w odróżnienia od serwera broker nie przetwarza otrzymanych wiadomości, a jedynie przekazuje je dalej. Dzięki brokerowi poszczególne urządzenia nie muszą znać adresów sieciowych pozostałych urządzeń, z którymi wymieniają dane, a jedynie adres samego brokera. Raz skonfigurowane urządzenie może więc połączyć się z brokerem ponownie z dowolnego innego adresu sieciowego. Jest to szczególnie ważna właściwość dla urządzeń mobilnych, w tym smartfonów, których adresy przydzielane są dynamicznie.
Komunikacja urządzeń z brokerem oparta jest o ideę publikacji i subskrypcji (ang. Publish/Subscribe, często oznaczane skrótem Pub/Sub). Każde urządzenie podłączone do brokera może opublikować wiadomość o dowolnej treści na dowolny temat. Takie urządzenia nazwiemy Publisherami. Następnie wszystkie urządzenia, które subskrybują dany temat otrzymają tę wiadomość. Te urządzenia, można nazwać Subskrybentami. Z punktu widzenia publishera wysłana zostaje tylko jedna wiadomość do brokera, następnie broker rozsyła tę samą wiadomość, do każdego subskrybenta jednocześnie. Żaden publisher nie musi więc wiedzieć nic o urządzeniach odbierających daną wiadomość w danym momencie. Jednocześnie żaden z subskrybentów nie musi wiedzieć nic na temat źródła przychodzącej wiadomości. Wiążący natomiast jest temat danej wiadomości.
Broker MQTT może dodatkowo zawierać konfigurację użytkowników i haseł dostępu. W ten sposób można precyzyjnie określić, które urządzenie ma prawo do publikowania w danym temacie oraz które urządzenia mogą dany temat subskrybować. Konfiguracja ta pozwala uniknąć zamieszania w tematach oraz pozwala wydzielić tematy komunikacyjne dostępne dla danych urządzeń na wyłączność oraz umożliwia komunikację jednostronną.
Aby zabezpieczyć się przed nieplanowanym dostępem osób trzecich można wykorzystać szyfrowanie komunikacji z wykorzystaniem protokołu TLS (Transport Layer Security). W ten sposób możemy zagwarantować, że nasze dane nie zostaną odczytane przez żadne inne urządzenie. Dostępne są tutaj metody szyfrowania poprzez hasło za pośrednictwem TLS-PreSharedKey (TSL-PSK) oraz poprzez certyfikaty autentyczności TLS-CertificateAuthority (TLS-CA).
Czym jest ADS-over-MQTT?
ADS jest darmowym, autorskim protokołem firmy Beckhoff i każde urządzenie sterujące Beckhoff natywnie go obsługuje. Jest on wykorzystywany do konfiguracji, programowania oraz komunikacji wewnętrznej komputerów przemysłowych i sterowników PLC. Protokół ten jest niezależny od warstwy transportowej, dlatego można z powodzeniem przekazywać komendy ADS za pośrednictwem innych protokołów, takich jak TCP/IP, EtherCAT, MQTT oraz wiele innych. Szczególnie interesująca okazuje się możliwość wykorzystania w ten sposób protokołu MQTT, co nosi nazwę ADS-over-MQTT.
Wykorzystując odpowiednią konfigurację brokera MQTT możemy przesyłać komendy ADS poprzez Internet, co pozwala na zdalne programowanie oraz konfigurowanie sterowników PLC. Ten model komunikacji jest wewnętrznie wspierany przez środowisko programistyczne TwinCAT 3 XAE, dzięki czemu ilość danych konfiguracyjnych została ograniczona do minimum. Z punktu widzenia komputera programisty, tak samo jak z punku widzenia sterownika, konieczne jest jedynie wskazanie adresu sieciowego brokera MQTT. Konfiguracja brokera polega natomiast na określeniu które z urządzeń mogą się ze sobą komunikować.
Aby otrzymać pełną instrukcję, w której krok po kroku opisane są wszystkie czynności niezbędne do zdalnego programowania sterowników Beckhoff skontaktuj się ze wsparciem technicznym dostępnym pod adresem support@beckhoff.pl.
autor: Przemysław Grudziński, Specjalista ds. Technicznych w Beckhoff Automation Polska