emt-systems szkolenia chmielewski

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.

Tym razem trener EMT-Sytems Jakub Chmielewski prezentuje sposoby użycia nowego języka programowania PLC CEM.

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

Dzień dobry, nazywam się Jakub Chmielewski i jestem jednym z trenerów w firmie EMT-Systems.

Dzisiaj zaprezentuję użycie nowego języka CEM, który pojawił się od TIA V17 i jest dostępny zarówno dla sterowników S7-1200, jak i S7-1500.

Przechodząc do naszego oprogramowania TIA Portal dodaję nowy Function Block, czyli FB. Tworzę funkcję w języku CEM, jest to oczywiście język dostępny tylko tak, jak Graph dla FB’ków ze względu na to, że potrzebuje obszar danych statyków (Static) – ze względu na funkcje, które wykorzystuje wewnątrz.

Co dalej?

Mając taki bloczek tworzę dla niego jakieś wejścia. Wejście 1, stwórzmy sobie na początku 3 wejścia oraz 3 wyjścia.

Taki bloczek należy wywołać w OB1, aby stworzyła się do niego instancja i dla ułatwienia prezentacji stworzę Watch Table, do której dodam moje wejścia i będę mógł je załączać, wyłączać skrótem klawiszowym CTRL+F2, CTRL+F3, aby było nam przyjemniej to przetestować.

Język Cause Effect Matrix jest to język przyczynowo-skutkowy. Tworzymy nasze przyczyny zadziałania, czyli przykładowo: Wejście 1 przyrównujemy, że musi być równe 1, wtedy nasze Wyjście 1 ma się załączyć.

Operatory są dosyć podobne do operatorów z języka Graph: jest to N, S oraz R. Set, Reset, N, tak długo jak warunek jest spełniony, tak jest to nasze skrzyżowanie spełnione i wyjście jest załączone. Mogę oczywiście wpisać to skrótowo za pomocą skrótów klawiatury, czyli w zasadzie litery N, S oraz R.

Coś takiego możemy podegrać do sterownika.  Po podegraniu będziemy mogli przejść w online za pomocą okularek, oczywiście pamiętając o tym, że TIA wymaga podania na nowo ścieżki podglądu. Albo zamykamy okno albo na nowo go oglądamy. Będziemy w tej chwili załączać Wejście 1 i widzimy, że Wyjście 1 jest załączone, ponieważ ten warunek jest spełniony. Wyłączam Wejście 1 i warunek jest nie spełniony, więc Wyjście 1 jest wyłączone.

Teraz możemy sobie zanegować naszą wartość Effectu 1, czyli tak naprawdę troszkę z języka FBD, takie małe kółeczko się tutaj pojawiło. Dodatkowo jednocześnie dodam kolejne Wejście 2, również operator przypisania i dodam osobno kolejną wartość porównania, czyli N – będzie to oczywiście wymagało re-inicjalizacji bloku. Czyli wszystkie zmiany w naszej macierzy wymagają podegrania na nowo instancji, re-inicjalizacji tej instancji.

Teraz podając na nowo ścieżkę, załączając okularki widzimy, że żadne z tych warunków nie są spełnione. Nasze wyjście z Effectu 1 jest zanegowane, czyli jest 1. Jeżeli teraz załączę, to mam moje wyjście. Effect 1 jest spełniony, Wyjście 1 jest wyłączone.

Jeżeli załączę obydwa sygnały to zobaczymy, że niezależnie, który sygnał jest załączony, to Wyjście Effect 1 jest spełnione. To jest tak naprawdę funkcja OR.

Gdybyśmy chcieli teraz stworzyć dla Wyjścia 2 funkcję AND, jak to należy zrobić? Robimy to poprzez operator zgrupowania 2N.

Operator zgrupowania powoduje, że teraz nasze Wyjście, nasz Effect 2 zostanie załączony dopiero w momencie, kiedy obydwa warunki będą spełnione.

Po podegraniu do sterownika podajemy na nowo ścieżkę podglądu i teraz załączając Wejście 1 widzimy, że jest połowa tego warunku spełniona, załączając Wejście 2 mamy pełny warunek spełniony: Wyjście 2 jest załączone.

Ostatnią rzecz, którą chciałbym Wam pokazać jest to załączenie Set, Reset oraz N na trzech warunkach, czyli Wejście 3 – operator przypisany ponownie i zróbmy R, S, N i operatorem przypisania przypisujemy to na Wyjście.

Podgrywając ponownie, reinicjalizując instancję przeanalizujmy obecną sytuację. Nasze Wyjście 3 zostaje załączone w momencie podania sygnału Warunku 2, czyli Wejście 2, jak załączam.

Wyłączam Wejście 2, zobaczmy: cały czas jest zasetowany punkt w naszej macierzy i jeśli chce go wyłączyć to naciskam i załączam Wejście 1, żeby nam się to wyłączyło i wtedy Wyjście 3 zostało wyłączone. Jeżeli jest operator N to tak długo, jak jest załączony, to tak długo jest Wyjście 3 jest załączone.

Uwaga! Najważniejsza rzecz, jaki jest priorytet tych operacji?

Priorytet Resetu jest najniższy w tym przypadku, czyli jeżeli ja załączę wszystkie 3 sygnały to nasze wyjście jest załączone. Wyłączę Set, N podtrzymuje. Wyłączę N, Reset dopiero go skasuje. Załączę Set, Set od razu załącza wyjście. Wyłączę Reset, wyłączę Set, załączę Reset – wyjście dopiero się skasuje.

Ostatnia sytuacja: załączę N, N jest załączone, wyłączam N – wyłącza Wyjście 3.

To tyle, jeśli chodzi o sam początek języka CEM i zapraszam na kolejną część naszego szkolenia, na którym będzie troszkę więcej smaczków podanych.

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

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