BARAN PLC110[M02]-MS4, HMI, OPC i SCADA, czyli ile herbaty rumiankowej potrzebuje człowiek. Część 1

Dzień dobry, drodzy czytelnicy tego artykułu. Piszę to w formacie przeglądu

Małe ostrzeżenieChcę ostrzec, że jeśli od razu zrozumieliście, o co chodzi z tytułu, radzę pierwszą pozycję (właściwie, jądro PLC) wymienić na cokolwiek z wyższej półki cenowej.
Żadna oszczędność finansowa nie jest warta takiej ilości nerwów, subiektywnie.

Dla tych, którzy nie boją się nieco siwych włosów i amplitudy nerwowego tiknięcia, później szczegółowo opiszę, jak tworzyłem to technologiczne cudo. W tym artykule jednak krótka analiza projektu z pewną dozą krytycyzmu.

Narodziny. Postawienie zadania

Właściwie, pracuję w biurze projektowym i testujemy sprzęt automatyzacji do integracji w naszych zakładach pod klucz. Niedawno na magazyn dotarł sprzęt OVEN i postanowiono z niego zbudować stanowisko testowe:

  • PLC110[M02]-MS4 (środowisko MasterSCADA 4D)
  • Panel operatorski SP307
  • Moduł uniwersalny do wprowadzania sygnałów analogowych MW110-224.2A
  • Moduł wprowadzania sygnałów z czujników tensometrycznych MW110-4TD
  • Moduł pomiarowy MW110-220.3M

Struktura systemu została wybrana z podziałem sieci według przeznaczenia:

  1. Modbus RTU na bazie RS-485 — komunikacja PLC z podrzędnymi urządzeniami (moduły, falowniki, inteligentne czujniki, panel HMI SP307), PLC-mistrz sieci.
  2. Modbus TCP na bazie Ethernet — komunikacja między różnymi PLC oraz z serwerem OPC
  3. PC-serwer Serwery OPC i systemy SCADA są jednocześnie bramą między dwiema różnymi sieciami (korporacyjna LAN przedsiębiorstwa i sieć controllera Modbus TCP (dwa adaptery sieciowe z routowaniem danych standardowymi środkami Windows)
  4. Korporacyjny LAN ma dostęp do internetu przez serwer proxy

Struktura systemu w ogólnym zarysie przedstawiona jest na poniższym obrazie:

BARAN PLC110[M02]-MS4, HMI, OPC i SCADA, czyli ile herbaty rumiankowej potrzebuje człowiek. Część 1

Zaprojektowana funkcjonalność

  • Zbieranie i przekazywanie danych z PLC do serwera OPC
  • Lokalne zarządzanie i monitorowanie za pomocą panelu HMI
  • Zarządzanie i monitorowanie z SCADA poprzez serwer OPC
  • Zarządzanie z dowolnego PC w sieci LAN przedsiębiorstwa i przez internet za pomocą klienta SCADA
  • Podłączenie mobilnych monitorów OPC przez LAN i internet
  • Oczywiście archiwizacja i generowanie raportów

Chyba niczego nie pominęliśmy. Ogólny opis systemu jest, a teraz właściwie przechodząc do tematu (sposoby rozwiązania będę opisywać w artykułach dotyczących realizacji każdego węzła):

Napotkane trudności

1. Dokumentacja do PLC

Beta-testy zadeklarowanego PLC opartego na jądrze MasterSCADA 4D zostały ogłoszone przez producenta w 2012 roku. Mimo tak imponującego okresu istnienia koncepcji, wszystko, co ma deweloper w 2019 roku, to podręcznik programowania o długości 28(!?) stron, na których przydatnych informacji jest prawie tyle co nic, a zrzuty ekranu w podręczniku pochodzą z MasterSCADA 3D, co jest dość zabawne biorąc pod uwagę, że interfejs się zmienił.

Wątek na forum z 20 tematami jest także aktywnie wspierany przez trzech zwolenników i menedżera sprzedaży.

2. Architektura modułów PLC

To osobny temat do omówienia. Krótko: PLC komunikuje się z modułami jako urządzeniami Modbus RTU slave, które wcześniej należy skonfigurować za pomocą narzędzia, podłączając każdy osobno do komputera przez konwerter RS-485.

Oczywiście tacy mądrzy panowie potrafią to zrobić bez konwertera przez PLC, łącząc moduły w sieci szeregowo i zapisując odpowiednie rejestry, ale takie umiejętności przychodzą z doświadczeniem i ogromną ilością bólu.

Dla dewelopera, który pierwszy raz widzi taką architekturę, zupełnie nie jest przyjazna dla użytkownika.
Również wszystkie moduły analogowe mają tendencję do awarii z nieznanych powodów, zabierając ze sobą całą sieć RS-485 w Terra Incognita, ale o tym także chcę opowiedzieć osobno, to cała epopeja, oczywiście. Problemy, jak można się domyślić, mają już 10 lat, a producent żartuje. „Trzeba przyznać, nie udały nam się szablony”, jednak to jedyny interfejs komunikacji z modułami, a ludzie, całkiem poważnie, od dawna zapisują swoje realizacje Modbus RTU.

Tymczasem rumiankowa herbata się kończyła… Słońce zachodziło za horyzont

3. IDE MasterSCADA

Nie będziemy mówić o narzędziach graficznych, nie testowałem ich zbyt intensywnie, ale od razu powiem, że mi się nie podobały.

Mówimy o realizacji wymiany danych i językach standardu IEC:

Fizyczne wejścia i wyjścia kontrolera nie są zmiennymi globalnymi i nie można się do nich odwołać z dowolnej części programu, używając aliasu, np. „DI1”. Do każdego programu należy je przeciągnąć ręcznie, tam formuje się zmienna lokalna, która dziedziczy lub przekazuje wartość. Tzn. sama istota PLC, w moim przewidywaniu, została nieco utracona: urządzenie powinno upraszczać programowanie logiki pracy kanałów fizycznych do poziomu „Jeśli zadziałał wejście DI1 — Włączamy wyjście DO1”, a wygląda to tak «Wejście DI1 — Zmienna LI1 — Zmienna LO1 - Wyjście DO1», a także z powodu braku wiedzy o tej zasadzie w IDE można natknąć się na doskonałe ostrzeżenie „Nie można skonwertować Boolean-Boolean” (prawdopodobnie to jeden z nich jest wskaźnikiem, ale wyobrażam to sobie w wersji twórców, tak harmonijnie).

Biblioteki języków ST, FBD, SFC są dość obszerne i oferują wiele możliwości łatwego programowania, jednak te komponenty nie są funkcjami, lecz klasami, w których są zaszyte metody, a na większości z nich brakuje dokumentacji z opisem funkcji i typów danych. Moja upartość zaprowadziła mnie do bibliotek jądra CodeSys, stąd te wszystkie funkcje zostały wzięte, a ich dokumentacja pomogła.

4. Wymiana z panelem SP307

Dość interesujące wydarzenie dla tych, którzy nie mają co zrobić przez kilka dni.

Standardowe testowanie GUI (HMI lub SCADA) to dla mnie wykonanie 6 prób:

  1. Odczyt sygnału dyskretnego
  2. Zapis sygnału dyskretnego
  3. Odczyt wartości całkowitej
  4. Zapis wartości całkowitej
  5. Odczyt wartości rzeczywistej
  6. Zapis wartości rzeczywistej

Odpowiednio, rysuję na ekranie 6 komponentów-prymitywów i każdy z nich kolejno sprawdzam
Wymiana jest dokładnie taka sama jak z modułami, ale z osobnego portu PLC RS-232/485, i, jak się wydaje, bardziej stabilna. Ponieważ HMI jest niewolnikiem, to pisałem do niego w przypadku zmiany, a odczytywałem pollingiem co 500 ms, aby nie przeoczyć działań operatora.

Pierwsze 4 punkty zostały wykonane doskonale, ale 5 i 6 sprawiły problemy.

Wysyłamy dane typu Single Float, na ekranie je wyświetlamy i widzimy, że dane są inne, chociaż wszystkie ustawienia wyjścia (Float, wymiar 1 rejestr i inne) są skonfigurowane prawidłowo. Będzie nieprawdą powiedzieć, że w dokumentacji nie opisano tego przypadku, jednak spróbuj znaleźć, w której i gdzie, to jest strona zabawna.

Po histerycznym przebadaniu wszystkich ustawień dotyczących samych danych i ich wysyłki, piszemy do wsparcia technicznego, odpowiedź zajmuje średnio 5-6 dni kalendarzowych, działamy zgodnie z standardowym skryptem wsparcia technicznego: „Sprawdź, czy zasilanie jest włączone — sprawdź wersję oprogramowania — prosimy o czekanie jeszcze tydzień — Zajmujemy się tym sami”.

Swoją drogą, udało się to rozwiązać poprzez zaznaczenie jednego zaznaczenia w całkowicie nieadekwatnym miejscu z całkowicie nieadekwatnym podpisem.

W funkcjonalności ekranu nie przewidziano wprowadzenia sygnału analogowego formatu „Suwak”, można wpisać tylko w polu tekstowym cyframi. To po prostu wspaniałe, albo korzystamy z przycisków „±” i skryptu samodzielnie, albo wprowadzamy cyfrę z klawiatury, a o delikatnym sterowaniu jakimś napędem zapominamy.

Nie będę zbytnio przeciążać artykułu, dlatego opiszę problemy z górnym poziomem w części 2.

Podsumowując, chcę zaznaczyć, że miałem wystarczającą swobodę i dużo czasu na rozwiązanie tych problemów, które na pierwszy rzut oka mogą wydawać się błahe, ale powodują wiele bólu u poszkodowanego. W warunkach ograniczonego czasu stawianie czoła takim problemom jest krytyczne.

P.S.: Wszystkie tezy przedstawione tutaj są subiektywne i są jedynie próbą ostrzeżenia nieprzygotowanych, a nie dyskryminowania producentów, proszę patrzeć na ten artykuł właśnie z tej perspektywy.

Druga część już tutaj: klikamy

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster