emt-systems szkolenia sterownik plc

Razem z naszymi trenerami – najlepszymi ekspertami z poszczególnych dziedzin, automatykami, projektantami i wdrożeniowcami, przygotowaliśmy dla Was serię tutoriali z zakresu automatyki i systemów sterowania.

W pierwszej części tutorialu trener EMT-Sytems Patryk Grelewicz omówił konfigurację i uruchomienie serwera OPC UA w środowisku TIA Portal.

W tej części poruszone zostaną zagadnienia związane z konfiguracją klienta OPC UA, a także wykorzystaniem odpowiednich bloków programowych do jego obsługi po stronie programu sterownik a PLC. Poznają Państwo takie instrukcje, jak OPC_UA_ReadList_C oraz OPC_UA_WriteList_C. dzięki którym zrealizowana zostanie komunikacja klient-serwer pomiędzy dwoma sterownikami Siemens SIMATIC S7-1500.

Zapraszamy do zapoznania się z treścią tutorialu!

Witam Państwa bardzo serdecznie. Nazywam się Patryk Grelewicz, jestem trenerem w firmie EMT-Systems.

Podczas pierwszej prezentacji uruchomiliśmy wspólnie serwer OPC UA na sterowniku S7- 1500. Natomiast podczas tej prezentacji chciałbym skupić się na obsłudze funkcjonalności klienta standardu OPC UA, wykorzystując również sterowniki S7-1500.

Serwer, który wspólnie uruchomiliśmy podczas pierwszej prezentacji cały czas działa. Mamy podgląd zmiennych za pomocą oprogramowania UaExpert. Zmienne są odświeżane, co sugeruje, że serwer OPC UA działa poprawnie.

Konfiguracje klienta rozpoczynamy od wprowadzenia zmian w konfiguracji sprzętowej, czyli wybieramy Device Configuration z drzewa projektu i klikamy dwa razy na sterownik PLC.

Szukamy ponownie opcji OPC UA, natomiast, w tym momencie skupiamy się na opcję Client. Musimy aktywować funkcjonalność klienta na tym konkretnym sterowniku, wybierając opcję Activate OPC UA cilient.

Oczywiście wymagane jest ponownie podpięcie odpowiedniej licencji dla odpowiedniego sterownika, z którego korzystamy i tak gotową konfigurację wgrywamy do sterownika PLC.

Następnie konfigurowanie interfejsu klienta kontynuujemy z poziomu drzewa projektu, z poziomu zakładki OPC UA comunication. Rozwijamy opcję Client interfaces i dodajemy nowy interfejs klienta klikając dwa razy na opcję Add new client interface. Nazwę tego interfejsu możemy oczywiście zmienić – Rename – i wpisujemy Client PLC_1.

W obrębie takiego interfejsu klienta możemy stworzyć listę zmiennych do odczytu, czyli Read list, czyli listę zmiennych, których wartości chcemy pobrać z uruchomionego serwera OPC UA.

Write list, czyli listę zmiennych, których wartości chcemy zmodyfikować po stronie serwera OPC UA i Method list, czyli listę metod, czyli tak naprawdę funkcji, które chcemy wywołać na serwerze OPC UA.

Dodamy nową listę zmiennych do odczytu, na początku. Dodała się nowa lista Read list_1. Oczywiście możemy zmienić jej nazwę, np. na Mixer Read List.

W tym miejscu będziemy umieszczać zmienne, których wartości będziemy chcieli pobrać z serwera OPC UA.

Po prawej stronie mamy możliwość zaimportowania interfejsu serwera w postaci pliku xml lub taki interfejs możemy pobrać automatycznie z poziomu funkcji online, wybierając opcję Online i wybieramy opcję Online a następnie Online access. W tym momencie TIA łączy się z serwerem OPC UA pobierając jego interfejs.

Oczywiście podajemy odpowiedni adres serwera i klikamy na opcję Find selected server.

Ponownie wyświetlił się skonfigurowany, uruchomiony przez nas serwer OPC UA na innym sterowniku S7-1500 i lista jego punktów dostępu – No security oraz punkt dostępu zabezpieczony oraz zaszyfrowany.

Ponownie skupimy się na opcji No security. Niewymagana jest wówczas konfiguracja żadnego certyfikatu klienta. Niewymagana jest konfiguracja dodatkowej autoryzacji klienta, więc w zasadzie wybieramy opcję No security i wybieramy opcję Connect.

Ponownie dostajemy monit o tym, iż otrzymaliśmy certyfikat serwera, który nie jest certyfikatem przez nas zaufanym. Możemy takie połączenie oczywiście zerwać lub kontynuować. W razie czego mamy też możliwość podglądu certyfikatu klikając tutaj na tę opcję Certificate detalis.

Jak Państwo mogli zauważyć cały interfejs serwera został z niego pobrany i wyświetlony w bardzo podobnej formie w jakiej oglądaliśmy go za pomocą oprogramowania UaExpert. Ponownie mamy zakładkę PLC_1 i na przykład możemy dostać się do globalnych bloków danych, do bloku DataDB, do struktury Mixer i przeciągamy na przykład zmienną, która symuluje nam pomiar temperatury do listy zmiennych do odczytu, po lewej stronie, i tak samo symulowany pomiar poziomu.

Będą to dwie zmienne, których wartości będziemy chcieli odczytać z serwera OPC UA.

Następnie kontynuujemy konfigurację klienta. W zakładce Properties podajemy adres serwera OPC UA. Mamy skonfigurowany port. Pozostałe ustawienia dotyczące zabezpieczeń są dostępne tutaj z poziomu zakładki Security

Taki interfejs – bardzo ważna rzecz – musimy skompilować, gdyż generuje on dwa bloki danych Client PLC_1_Data i tutaj w folderze System blocks wybieramy Program resources, potem Client PLC_1_Configuration. W bloku danych Configuration przechowywana jest oczywiście pełna konfiguracja interfejsu klienta, czyli to co w zasadzie wprowadzaliśmy z poziomu interfejsu graficznego jest przechowywane w bloku danych, natomiast Client PLC_1_Data będzie zawierał zmienne do odczytu.

I widzimy ten blok danych składa się ze struktury odpowiadającej naszej, stworzonej przez nas liście zmiennych do odczytu, która zawiera zmienne, które zdefiniowaliśmy jako zmienne do odczytu.

Całość możemy podegrać do sterownika PLC.

Możemy potem uruchomić funkcje monitorujące na tym bloku danych. I oczywiście wartości tych zmiennych nie są odświeżane, gdyż do obsługi odczytu zmiennych lub modyfikacji zmiennych z poziomu klienta wymagane jest wykorzystanie dodatkowych instrukcji.

Więc zrywamy połączenie ze sterownikiem, przechodzimy do bloku OB1 i w bibliotece instrukcji, skupiamy się na zakładce Communication – OPC UA – OPC UA Client.

Mamy tutaj wszystkie instrukcje, które pozwalają nam obsłużyć odczyt zmiennych z serwera OPC UA, modyfikację zmiennych lub wywołanie metod.

Zwróćcie Państwo uwagę, iż mamy nowe instrukcje od TIA V17 – OPC_UA_ReadList_C, z dopiskiem C, czyli Compact, OPC_UA_WriteList_C i OPC_UA_MethodCall_C, czyli jeżeli są to funkcje kompaktowe to realizują one wiele zadań jednocześnie – zestawiają połączenia, pobierają interfejs zmiennych, odczytują je i ewentualnie zamykają połączenia.

Wcześniej musieliśmy korzystać ze wszystkich instrukcji, które są poniżej po kolei, natomiast teraz zostało to bardzo ułatwione po wprowadzeniu tak naprawdę tych funkcji kompaktowych.

Wywołujemy funkcję OPC_UA_ReadList_C , oczywiście akceptujemy monit o stworzeniu dla niego odpowiedniego bloku danych i całość konfigurujemy  przy pomocy interfejsu graficznego, klikając na symbol skrzynki z narzędziami.

Wybieramy odpowiedni interfejs klienta – Client PLC_1, w Data access wybieramy odpowiednią, stworzoną przez nas listę do odczytu – Mixer Read List i w Block Parameters ewentualnie dodajemy dodatkowe zmienne. Dla nas interesującą zmienną jest zmienna Request, która to zmienna powoduje odczyt zmiennych z serwera OPC UA.

Mam przygotowaną zmienną StartRequest i tak przygotowany blok możemy wgrać do pamięci sterownika.

Możemy uruchomić podgląd. Możemy dodatkowo wyświetlić blok Client PLC_1 Data, który zawiera strukturę związaną z listą zmiennych do odczytu, uruchomić również funkcje monitorujące i po wygenerowaniu zbocza narastającego na wejściu StartRequest wartości zmiennych są automatycznie odświeżane.

Oczywiście możemy tutaj wstawić jakiś generator. Stworzyłem generator, który generuje, tak naprawdę, zbocze narastające co jedną sekundę i zautomatyzować taki odczyt wartości zmiennych z poziomu serwera OPC UA.

Następnie w ramach tego samego interfejsu możemy również stworzyć listę zmiennych do modyfikacji, czyli przechodzimy do Client PLC_1 ponownie, zrywamy wcześniej połączenie ze sterownikiem.

Wracamy do interfejsu Client PLC_1 i tworzymy nową listę zmiennych do modyfikacji. Ponownie zmienimy jej nazwę – Mixer Write List – i tym razem przeciągniemy dwie pozostałe zmienne z naszej struktury, czyli sterowanie pompą na wlocie i sterowanie zaworem na wylocie z takiego symulowanego mixera.

Oczywiście żadnych dodatkowych opcji w interfejsie nie musimy zmieniać, gdyż cały czas obracamy się wokół już skonfigurowanego interfejsu klienta OPC UA. Jedynie o czym musimy pamiętać to kompilacja, gdyż powoduje to zmiany struktury bloku danych Client PLC_1 Data, gdyż pojawiła się tutaj lista zmiennych tym razem do modyfikacji.

Ponownie przechodzimy do bloku OB1 i tym razem modyfikacja zmiennych jest realizowana za pomocą funkcji OPC_UA_WriteList_C w wersji kompaktowej i konfiguracja ponownie jest dosyć prosta. Z poziomu interfejsu graficznego podpinamy interfejs klienta, podpinamy listę zmiennych do modyfikacji i podpinamy Request, czyli żądanie wysłania tych wartości zmiennych do serwera OPC UA.

Całość podgrywamy do sterownika PLC. I tym razem z poziomu UaExperta możemy zauważyć, że np. sterowanie pompą jest na 40 procent, stopień otwarcia zaworu na wyjściu jest na 30 procent i te wartości zmiennych możemy zmodyfikować z poziomu Client PLC_1 Data, np. na wartość 50 i 30, i wygenerować żądanie modyfikacji tych zmiennych po stronie serwera OPC UA za pomocą wejścia Request.

Wygenerowanie zbocza narastającego spowodowało wywołanie tej instrukcji co, przy odrobinie szczęścia, powinno spowodować modyfikację wartości po stronie serwera OPC UA.

Ponownie możemy zmodyfikować wartość np. na 65, wygenerować zbocze narastające i z poziomu UaExperta powinna być ta zmodyfikowana wartość widoczna.

Szanowni Państwo, z mojej strony to już wszystko na dzisiaj. Bardzo dziękuję i widzimy się na szkoleniach w firmie EMT-Systems. Bardzo dziękuję za uwagę!

Zainteresowanych tematyką szkoleń zapraszamy do zapoznania się z pełną listą kursów.

Chcesz podzielić się wiedzą? Udostępnij tutorial: