ARIES PLC110[M02]-MS4, HMI, OPC i SCADA, czyli ile herbaty rumiankowej potrzebuje dana osoba. Część 1

Dzień dobry, drodzy czytelnicy tego artykułu. Piszę to w formie recenzji.

Małe ostrzeżenieOstrzegam, że jeśli od razu zrozumiałeś, o czym mowa w tytule, radzę zmienić punkt pierwszy (a właściwie rdzeń PLC) na cokolwiek z kategorii cenowej o jeden stopień wyżej.
Żadna ilość zaoszczędzonych pieniędzy nie jest warta tyle nerwów, subiektywnie.

Dla tych, którzy nie boją się odrobiny siwych włosów i amplitudy tiku nerwowego, szczegółowo opiszę później, jak powstał ten cud technologiczny. W artykule przedstawiono krótką analizę projektu z pewną dozą krytyki.

Pochodzenie. Sformułowanie problemu

Właściwie pracuję w biurze projektowym i testujemy sprzęt automatyki pod kątem integracji z naszymi fabrykami „pod klucz”. Niedawno na magazyn przyjechał sprzęt OWEN i zdecydowano się z niego złożyć stanowisko probiercze:

  • PLC110[M02]-MS4 (środowisko wykonawcze MasterSCADA 4D)
  • Panel operatorski SP307
  • Uniwersalny moduł wejścia sygnału analogowego МВ110-224.2А
  • Moduł wejściowy sygnału tensometru MV110-4TD
  • Elektryczny moduł pomiarowy MV110-220.3M

Struktura systemu wybrano przy zróżnicowaniu sieci ze względu na cel:

  1. Modbus RTU oparty na RS-485 - komunikacja pomiędzy sterownikiem PLC a urządzeniami typu slave (moduły, przetwornice częstotliwości, inteligentne czujniki, panel HMI SP307), master sieci PLC.
  2. Modbus TCP oparty na Ethernecie - Komunikacja różnych sterowników PLC między sobą oraz z serwerem OPC
  3. Serwer PC systemu OPC i SCADA jest jednocześnie bramą pomiędzy dwiema różnymi sieciami (korporacyjną siecią LAN przedsiębiorstwa i siecią sterowników Modbus TCP (dwie karty sieciowe z routingiem danych przy użyciu standardowych narzędzi Windows)
  4. Korporacyjna sieć LAN ma dostęp do Internetu za pośrednictwem serwera proxy

Ogólną strukturę systemu pokazano na poniższym obrazku:

ARIES PLC110[M02]-MS4, HMI, OPC i SCADA, czyli ile herbaty rumiankowej potrzebuje dana osoba. Część 1

Wbudowana funkcjonalność

  • Gromadzenie i przekierowywanie danych ze sterownika PLC do serwera OPC
  • Lokalne sterowanie i monitorowanie poprzez panel HMI
  • Sterowanie i monitorowanie z SCADA poprzez serwer OPC
  • Sterowanie z dowolnego komputera PC w korporacyjnej sieci LAN oraz przez Internet za pomocą klienta SCADA
  • Podłączenie mobilnych monitorów OPC poprzez sieć LAN i Internet
  • Oczywiście archiwizacja i generowanie raportów

Wygląda na to, że nic nie zostało pominięte. Jest ogólny opis systemu, a teraz właściwie na temat (metody eliminacji będę opisywał w artykułach z realizacją każdego węzła):

Napotkane trudności

1. Dokumentacja sterownika PLC

Beta testy deklarowanego sterownika PLC na rdzeniu MasterSCADA 4D zostały wskazane przez producenta w 2012 roku. Pomimo tak imponującej żywotności koncepcji, wszystko, co deweloper ma do dyspozycji w 2019 roku, to licząca 28 (!?) stron instrukcja programowania, na której znajduje się niewiele przydatnych informacji, a zrzuty ekranu w instrukcji pochodzą z MasterSCADA 3D, co jest dość zabawne, biorąc pod uwagę, że interfejs się zmienił.

Wątek na forum składający się z 20 tematów jest również aktywnie wspierany przez trzech zwolenników i menedżera sprzedaży.

2. Architektura modułów PLC

To osobny temat do dyskusji. W skrócie: sterownik PLC komunikuje się z modułami jako urządzeniami podrzędnymi Modbus RTU, które muszą najpierw zostać oddzielnie skonfigurowane przez narzędzie, podłączając je do komputera PC za pomocą konwertera RS-485.

Inteligentni oczywiście wiedzą jak to zrobić bez konwertera przez PLC, sekwencyjnie podłączając moduły do ​​sieci i zapisując potrzebne rejestry, ale to wiąże się z doświadczeniem i ogromnym bólem.

Dla programisty, który pierwszy raz spotyka się z taką architekturą, nie jest ona wcale przyjazna dla użytkownika.
Poza tym wszystkie moduły analogowe lubią zawodzić z niewiadomych przyczyn, zabierając ze sobą całą sieć RS-485 w Terra Incognita, ale o tym też chcę porozmawiać osobno, oczywiście cała epopeja. Problem, swoją drogą, ma 10 lat, producent się z niego śmieje „Musimy przyznać, że szablony nie sprawdziły się u nas”jest to jednak jedyny interfejs do komunikacji z modułami, a ludzie całkiem serio już od dawna piszą swoje implementacje Modbus RTU.

Tymczasem skończyła się herbata rumiankowa... Słońce zachodziło

3. IDE MasterSCADA

O narzędziach graficznych nie będziemy rozmawiać, nie testowałem ich szczegółowo, ale od razu powiem, że nie przypadły mi do gustu.

Mówimy o implementacji wymiany danych i języków standardowych IEC:

Fizyczne wejścia i wyjścia sterownika nie są zmiennymi globalnymi i nie można uzyskać do nich dostępu z żadnej części programu poprzez wpisanie aliasu, na przykład „DI1”. Należy to przeciągnąć do każdego programu za pomocą uchwytów, tam tworzona jest zmienna lokalna, która dziedziczy lub przekazuje wartość. Te. sama istota PLC, moim zdaniem, jest trochę zagubiona: urządzenie powinno upraszczać programowanie logiki działania kanałów fizycznych do poziomu „Jeśli wejście DI1 zostanie pobudzone, włącz wyjście DO1”i wygląda to tak „Wejście DI1 – Zmienna LI1 – Zmienna LO1 – Wyjście DO1”, również z powodu nieznajomości tej zasady IDE można złapać zachwycające ostrzeżenie „Konwersja Boolean-Boolean jest niemożliwa” (najprawdopodobniej jeden z nich jest wskaźnikiem, ale wyobrażam sobie, że w redaktorach twórców jest to bardziej harmonijne) .

Biblioteki języków ST, FBD, SFC są dość obszerne i istnieje wybór ze względu na łatwość programowania, jednak te komponenty nie są funkcjami, ale klasami, w których osadzone są metody, a po drugie, większość nie ma pomocy w opisie funkcjonalność i typy danych. Wytrwałość zaprowadziła mnie do bibliotek jądra CodeSys, skąd zostały wzięte wszystkie te funkcje, ich pomoc pomogła.

4. Zamień na panel SP307

Całkiem ciekawe wydarzenie dla tych, którzy nie mają gdzie spędzić kilku dni.

Standardowe testowanie GUI (HMI lub SCADA) polega na wykonaniu 6 testów:

  1. Odczyt sygnału dyskretnego
  2. Rejestracja sygnału dyskretnego
  3. Odczyt wartości całkowitej
  4. Zapisywanie wartości całkowitej
  5. Odczytywanie prawdziwej wartości
  6. Pisanie prawdziwej wartości

W związku z tym rysuję na ekranie 6 prymitywnych komponentów i sprawdzam każdy z nich w kolejności
Wymiana przebiega zupełnie tak samo jak przy modułach, tyle że z osobnego portu PLC RS-232/485 i wydaje się stabilniejsza. Ponieważ jest to slave HMI to napisałem do niego po zmianie i odczytałem w czasie odpytywania 500ms, aby nie przeoczyć działań operatora.

Pierwsze 4 punkty zostały ukończone perfekcyjnie, natomiast punkty 5 i 6 sprawiły problemy.

Wysyłamy dane typu Single Float, wyświetlamy je na ekranie i widzimy, że dane nie są takie same, chociaż wszystkie ustawienia wyjścia (Float, rejestr wymiaru 1 itp.) są prawidłowe. Kłamstwem byłoby stwierdzenie, że precedens nie jest opisany w dokumentacji, jednak spróbuj dowiedzieć się, który i gdzie, z zewnątrz jest to zabawne.

Po histerycznym przeszukaniu wszystkich ustawień dotyczących samych danych i ich wysyłania, Piszemy do pomocy technicznej, odpowiedź wynosi średnio 5-6 dni kalendarzowych, pracujemy według standardowego skryptu pomocy technicznej „Sprawdź, czy zasilanie jest włączone - sprawdź wersję oprogramowania - poczekaj jeszcze tydzień - sami to rozwiążemy ”.

Nawiasem mówiąc, zdecydowano o zainstalowaniu jednego kleszcza w absolutnie nieodpowiednim miejscu z absolutnie nieodpowiednim podpisem.

Funkcjonalność na ekranie Wejście sygnału analogowego w formacie „Slider” nie jest uwzględnione, można wprowadzić w polu tekstowym wyłącznie przy użyciu cyfr. To jest po prostu niesamowite, albo sami piszemy przyciski „±” i skrypt, albo wpisujemy cyfrę z klawiatury i zapominamy o miękkim sterowaniu jakimś napędem.

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

Zreasumowanie, Chcę zauważyć, że miałem wystarczającą swobodę i dużo czasu, aby rozwiązać te problemy, które na pierwszy rzut oka wydają się śmieszne, ale powodują wiele bólu dla ofiary. W warunkach ograniczonego czasu niezwykle istotne jest stawienie czoła takim problemom.

PS: Wszystkie prezentowane tutaj tezy są subiektywne i stanowią jedynie próbę ostrzeżenia nieprzygotowanych i niedyskryminowania producentów, proszę o potraktowanie tego artykułu z tego punktu widzenia.

Druga część już jest: Kliknij

Źródło: www.habr.com

Dodaj komentarz