Razem z naszymi trenerami EMT-Systems – 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 zajmiemy się konfiguracją pierwszego projektu w najnowszej platformie wizualizacji WinCC Unified dla panelu WinCC Unified Comfort.
Zaprasza trener EMT-Systems Marcin Podsiadły.
Witam Państwa serdecznie w kolejnej części naszych poradników.
W dzisiejszym odcinku zajmiemy się pierwszym projektem panelu operatorskiego WinCC Unified Comfort.
Chciałbym, żeby to nagranie pozwalało pokazać Państwu, w jaki sposób taki panel dodamy do projektu, czym być może różni się sama konfiguracja od dotychczasowych rozwiązań, czyli paneli z serii Comfort.
Być może zrobimy sobie jakąś prostą wizualizację i omówimy kilka takich podstawowych funkcjonalności, które nową platformę wizualizacji wyróżniają.
A zatem w pierwszej kolejności zaczniemy od dodania nowego urządzenia do projektu, więc przenosimy się od razu do środowiska TIA Portal.
W drzewku po lewej stronie dodaję nowe urządzenia za pomocą Add New Device, wybieram HMI, Simatic Unified Comfort Panel.
W tym miejscu pragnę zwrócić uwagę na jedną rzecz. Z tego tytułu, że platforma WinCC Unified jest platformą nowoczesną i bardzo prężnie rozwijaną, z wersji na wersję środowiska TIA Portal pojawia się coraz więcej funkcjonalności.
Aktualnie pracuję w wersji 19 środowiska TIA Portal i tutaj dla samej platformy WinCC Unified także pojawiło się jeszcze kilka nowych funkcjonalności.
Osobiście w mojej ocenie bardzo istotną kwestią jest to, że od wersji 19 mamy jeden instalator równocześnie dla platformy WinCC Professional, czyli wewnętrznej Baby SCADA, nazwijmy to, oraz WinCC Unified. To też tak, można myślę, że warto napomknąć.
Drodzy Państwo, dodaję do projektu panel Simatic Unified Comfort. Ja posiadam przy sobie 15-calowy panel w wersji standardowej, jeden numer katalogowy i teraz tak.
Na etapie dodania panelu do projektu dobrze byłoby określić wersję obrazu, która się w nim znajduje.
Oczywiście mógłbym pracować na najnowszej wersji 19, wówczas musiałbym oczywiście w fizycznym panelu taką wersję wgrać.
Pozwolę sobie pokazać, w jaki sposób taką wersję sprawdzamy. W głównym Control Panelu mamy pierwszą zakładkę, która nazywa się System Properties.
W zakładce System Properties pierwsza zakładka to Panel Information. I w Panel Information widnieje informacja, mamy ją dosłownie w środku ekranu, Runtime Version.
Ja tutaj mam obraz w wersji 18, update 3. I ta informacja jest dla mnie przydatna, żeby po prostu nie błądzić.
A zatem świadomie wybieram wersję 18 z updatem 3. Dodaję sobie taki panel do projektu.
Proszę zobaczyć, w lewym dolnym rogu być może część z Państwa kojarzy była możliwość w poprzedniej generacji urządzeń, czyli mówię o panelach Comfort, aby skorzystać z takiego gotowego wizarda, konfiguratora, okienek, być może tam informacja alarmowych, przycisków, tutaj takiej możliwości już nie posiadamy.
Większość z nas i tak z tego nie za bardzo korzystała, tak śmiem przypuszczać.
Dodaję sobie taki panel do projektu, on się pojawił tu w widoku sieci. I pierwsze co robię, to ustawiam adres IP mojego panelu, w projekcie oczywiście.
Ja za pomocą narzędzia Accessible Devices sprawdzę, jaki adres IP znajduje się w urządzeniu.
Widzę, że jest to końcówka 3.199 i takową ustawiam na karcie pierwszej. Czyli tutaj mamy 3.199 maska podsieci, taka jak całej reszty, czyli tutaj mamy tak przyjęty standard, że w trzecim oktecie mamy wartość 224.
Świetnie. I drodzy Państwo, jeżeli chodzi o rozpoczęcie prac z panelem Unified Comfort i sterownikiem PLC, to sama idea wymiany danych odbywa się pomiędzy sterownikiem a panelem w sposób jednakowy, czyli potrzebowałbym stworzyć sieć Profinetową, tak aby urządzenia wiedziały o swojej obecności, a także połączenie Connections.
Część z nas być może jeszcze wykonuje takie połączenia w sposób ręczny, bo nic nie stoi na przeszkodzie, aby sobie port do portu połączyć, przełączyć na połączenie, ale jeżeli stawiamy na rozwiązania wygodne, no to chcielibyśmy po prostu, żeby się to stworzyło w miarę możliwości samo.
W związku z tym ja w projekcie sterownika PLC przygotuję sobie jakieś dwa parametry w bloku danych, zrobię sobie blok danych pod tytułem dbHMI, dodam sobie przycisk Start, no i np. jakiś tam Status, tak, jakieś dwa parametry binarne.
Tutaj warto zwrócić uwagę, że w kolumnie Accessible from wiem, że te parametry będą dostępne dla systemu wizualizacji, czasami szukamy minutami, no godzinami, to w tych przykrych scenariuszach szukamy, dlaczego jednego parametru nie potrafię wyciągnąć, bo akurat taka opcja jest odznaczona.
Pozwolę sobie podzielić ekran na pół, a w moim panelu operatorskim dodam nowy ekran.
Coś takiego. I proszę zobaczyć, zaznaczam sobie te dwie zmienne z bloku DB, to są oczywiście zmienne typu Bool i przeciągam je na edytor, w takim minimalnym zakresie. No i tu mamy te dwie wartości.
Pozwolę sobie od razu temat delikatnie rozszerzyć, ponieważ sama platforma WinCC Unified, oprócz tego, że są to urządzenia szybsze, wydajniejsze, zmienia się system operacyjny, już nie pracujemy z Windowsem tylko z dystrybucją linuxową. Nie mamy dostępu też do fizycznego systemu operacyjnego, czyli nie można sobie tam w cudzysłowie „do Windowsa wyjść”.
Szeroko stosowane grafiki wektorowe pozwalają na tworzenie wizualizacji skalowalnych, czyli prezentujących się prawidłowo zarówno na telefonach komórkowych, jak i na wielkich telewizorach, powiedzmy w sali konferencyjnej.
A zatem, posiadam takie dwa parametry. Tu proszę państwa, taka ciekawostka. Chciałbym wrzucić tutaj przycisk, podpisze go sobie jako Start, a jako status chciałbym, żeby na przykład pewna grafika wektorowa, jakiejś pompy, silnika, wylosujemy sobie coś użytecznego, po prostu się animowała, zrobimy tak proste czynności.
Jedną z kluczowych różnic, no jest ich oczywiście cała lista, jest edytor właściwości dla tego oprogramowania WinCC.
Co to znaczy? To znaczy, że jesteśmy przyzwyczajeni ze środowiska dla paneli Comfort i poprzednich rozwiązań, że mieliśmy tutaj w dolnej części ekranu różne zakładki, czyli osobno były parametry, była sekcja Layout dla wymiarów, osobno Appearance do kolorów. Tu mamy wszystko w jednym, że tak powiem, worku. Korzyścią z tego płynącą jest to, że dynamizacji, czyli ustawieniu dowolnej zależności (dla) dowolnej właściwości, możemy dokonać już tutaj.
Nie ma sekcji Animations, Visibility, nie jesteśmy ograniczeni z konkretną liczbą funkcjonalności systemowych.
Dowolną właściwość dowolnego obiektu możemy dynamizować. Otwiera to ogromny potencjał, to jest oczywiście wierzchołek, czubek góry lodowej, więc pozwolę sobie w tym momencie przerwać.
Drodzy Państwo, więc teraz w tym przypadku, jeżeli chodzi o sam przycisk, jego reakcja, no to dalej odbywa się w sekcji Events i tutaj posiadam zdarzenie Press, no i chciałbym wykonać czynność, że jeżeli ja wcisnę przycisk, to za pomocą funkcji SetBitInTag, tu już nie ma podziału na SetBit i SetBitInTag, wybieram zmienną, do której chciałbym się dostać. No i tutaj mam zmienną dbHMI_Start.
Być może pamiętają Państwo taką funkcję systemową SetBitWhileKeyPressed, to była taka bardzo przyjemna nazwa, która oddawała funkcjonalność przycisku monostabilnego, czyli tak długo jak trzymałem przycisk wciśnięty, tak długo był stan wysoki.
Tutaj niestety już takiej funkcji nie mamy, no w takim razie trzeba sobie jakoś poradzić, w związku z tym, gdy ja trzymam przycisk wciśnięty, to ustawiamy bit, a w momencie zwolnienia przycisku, niektórzy nam robili tak komercyjnie i też to oczywiście działało, używamy funkcji ResetBitInTag.
Ja muszę taką funkcję od razu sobie tutaj muszę tą zmienną podpiąć natychmiast.
W takim razie przycisk mamy ustawiony.
Pole tekstowe proszę zobaczyć, żeby pozwoliłem sobie przesunąć te dwa parametry binarne, tylko i wyłącznie po to, żeby mieć już na panelu stworzone w tagach. No właśnie, zobaczmy co mamy w widoku sieci.
W widoku sieci połączenie Profinetowe jest. Połączenie Connection jest, czyli nie musimy tego robić ręcznie, tak jak zresztą informowałem o tym na początku.
Dobrze, drodzy Państwo. Następnie chciałbym pokazać, że jak wcisnę przycisk start, to chciałbym animować pewną, powiedzmy, jakiś element, tak, wizualizacji.
Tutaj już jakiś silnik, pompa to są zawsze takie widowiskowe kontrolki, więc szukamy. Mamy sekcję Dynamic widgets, czyli grafiki wektorowe z możliwością animacji wybranych właściwości. Powiedzmy, że wejdę tutaj sobie w sekcję na przykład Motors, znajdę jakiś silnik, który w danym momencie mnie satysfakcjonuje i w tym elemencie chciałbym animować jego właściwość.
Jak to działa? Jeżeli jest to grafika wektorowa, to tutaj szukam sekcji, która nazywa się Interface.
W mojej ocenie kluczowym, w zapoznaniu się z platformą WinCC Unified jest rozpoznanie tych wszystkich możliwości.
W przypadku podstawowych kontrolek jak przycisk czy pole numeryczne, jest tego stosunkowo niewiele, ale w przypadku trace’ów czy kontrolek do obsługi alarmów jest tych właściwości naprawdę, naprawdę mnóstwo.
Z pomocą tutaj przychodzą oczywiście filtry, ulubione zakładki i są narzędzia, którymi możemy usprawniać naszą pracę.
Dobrze. Ja, drodzy Państwo, będę chciał animować w funkcji mojego parametru statusowego. Będę chciał animować, no i właśnie, co będę chciał.
Tutaj w przypadku tego konkretnego silnika dostarczanego przez producenta mam dwa parametry w sekcji Interface.
Mam parametr Basic Color, powiedzmy, dla próby przestawię go na inny. Widzimy, to jest to kolor pierwszy. Oraz mam parametry Contrast Color, przestawię go na inny kolor, to jest ten element. Czyli te dwa elementy mogę sobie dynamizować wedle własnych potrzeb.
No, czy można więcej? Jeżeli będziemy tworzyć docelowo własne grafiki wektorowe, a producent informuje, że takie narzędzia będą, no to myślę, że tutaj otwiera się bardzo ciekawa furtka.
Dobrze. Ja wybiera sobie tutaj Basic Color i drodzy Państwo, proszę zobaczyć, Dynamization.
Czyli ja w tym momencie podejmuję decyzję, że względem jakiejś zmiennej, jakiejś właściwości będę chciał zarządzać tą konkretną właściwością tego obiektu. To jest moja decyzja i mam tutaj tych właściwości mnóstwo.
Do wyboru mam: bezpośrednio zmienną, mogę napisać skrypt, językiem skryptowym w platformie WinCC Unified jest JavaScript.
Mogę od razu po prostu wybrać, że to będzie taki migający charakter, czyli naturalnie będą dwa kolory, będą się zmieniać bez żadnej dodatkowej logiki oraz całkowita nowość, chociaż pojawiająca się w starszych platformach WinCC, na przykład w wersji V6.0 czy V7.5, coś takiego, co nazywamy Expression, czyli za pomocą kilku zmiennych mogę budować wyrażenia logiczne wewnątrz WinCC.
Czyli jeżeli na przykład jest tryb automatyczny i mam pozwolenie, to na przykład będzie kolor taki. Ale gdyby nie było safety, to kolor czerwony, czyli kilka zmiennych logicznych, które determinują tę samą właściwość.
Takie czynności do tej pory robiło się albo skryptami, gdzieś właśnie dookoła albo pisało się taką logikę w sterowniku PLC.
Dobrze, my tutaj wybieramy najprostszą z możliwych, czyli sekcją Tag. Wskazuje moją zmienną docelową, czyli przygotowuję sobie tutaj to jest moja zmienna Status.
I tu w zależności od stanu pojedynczego bitu, jeżeli zmienna będzie w stanie wysokim, chciałbym, żeby ten silnik był na przykład w kolorze zielonym, bo tak chciałem zrobić. Dobrze, przygotowane mamy wszystko, rozciągam sobie taki silnik.
Proszę zobaczyć, że te grafiki wektorowe wykonują swoją pracę. Sam przycisk może delikatnie większy, bo dlaczego nie?
Jestem gotowy. Wgrywam do sterownika projekt. Oczywiście muszę tutaj przygotować szybko kawałek kodu, czyli przypisać ten mój styk z przycisku Start na cewkę z parametru Status.
Podgrywam sterownik PLC, to jest CPU 1511TF widoczne po Państwa lewej stronie. Sterownik oczywiście musi się zatrzymać, ponieważ pojawiło się nowe urządzenie w sieci w jego projekcie, więc jest to czynność naturalna.
Sterownik uruchomiony i teraz biorę, przekompiluję projekt panelu operatorskiego, być może są jakieś opcje sprzętowe, których zostały aktywnie włączone, a nie zdezaktywowałem ich.
O właśnie, proszę zobaczyć, Runtime settings wprowadzone hasła. Od TIA V17 kojarzymy takie podejście, jak Safety by default, czyli domyśnie, wszystkie te zabezpieczenia są aktywne, środowisko zachęca nas, nie chcę mówić wymusza, ale zachęca, abyśmy korzystali z zabezpieczeń.
Nie zajmujemy się tym tematem w tym momencie, więc pozwolę sobie to zabezpieczenie tutaj deaktywować, jeżeli chodzi o szyfrowany transfer projektu.
Ładuję projekt do urządzenia.
Tutaj trwa wyszukiwanie takiego urządzenia.
Tu pozwolę sobie jedną informację podkreślić, ponieważ ustawiłem na pierwszej karcie Profinetowej adres IP z końcówką 3.199, ale tam jest bardzo duża maska podsieci, wartością 224 w trzecim oktecie, więc znając rozpiętość tej maski, a to jest tam około kilku tysięcy urządzeń, obawiam się, że ta pula, ta podsieć będzie częścią tej drugiej podsieci, będzie konflikt, będą się ze sobą te pule adresowe nakładać.
Wrócę do konfiguracji sprzętowej i przestawię sobie ten adres, wyrzucę go ewidentnie, żeby się nic ze sobą nie nakładało.
Można się było spotkać z takimi sytuacjami w sterownikach S7-1500, gdzie ustawiając nieprawidłowo, bo jest to po prostu błąd, pulę adresową pierwszej karty, była zbyt duża i druga wpadała, to nawet mieliśmy możliwość wgrania projektu do sterownika, ale nie dało się już do takiego sterownika dostać, czyli ja nie mogłem pobrać softu, nie mogłem wgrać zmienionych, ponieważ wewnątrz urządzenia był konflikt.
W panelach Comfort także zdarzało mi się takie sytuacje widzieć, więc przestrzegam, tu także byłem blisko popełnienia błędu.
Wgrywam projekt do panelu i teraz kilka opcji konfiguracyjnych. Oczywiście, czy chce wrzucić cały projekt, w panelu być może coś jest, być może nie, nie ma to w tym momencie znaczenia – czy po uruchomieniu chciałbym uruchomić Runtime, no byłoby bardzo miło.
I tu uwaga, zakładka, która jest bardzo istotna, jeżeli testują Państwo panele operatorskie na swoich, na symulatorach, czyli w przeglądarce, bo w przeglądarce się symuluje panel WinCC Unified, jeżeli próbowaliby państwo użyć klienta webowego, albo testować to w przeglądarce, będzie konieczne stworzenie użytkownika.
Użytkownika tworzymy sobie w odpowiednim miejscu. I jeżeli wgrywamy projekt albo budujemy ten Runtime, proszę zobaczyć, tutaj widnieje informacja, czy pozostawić bieżące wartości w Runtime. No to skoro ja nie miałem użytkownika, a potrzebuję go mieć, to nie chcę zostawiać bieżących, no bo przecież w bieżących nie ma żadnego, więc tutaj wtedy świadomie musimy ten checkbox odznaczyć.
W tym momencie nie jest to istotne, ale przestrzegam, bo można po prostu długo tego szukać.
Czy wyczyścić logi? Możemy, nie wiem co w tym urządzeniu jest, połączenie, informacja o Runtime, że te obrazy się zgadzają, bo sprawdzaliśmy to zresztą, i informacja o szyfrowanym połączeniu.
Ładuję do projektu, ładuję projekt do panelu.
Informacja powinna na panelu już się wyświetlić, co mam nadzieję, że Państwo widzą.
Ok, po dłuższej chwili udało się uruchomić, sprawdzamy funkcjonalność, po wciśnięciu przycisku Start, tak długo jak będę go trzymał, nasza animacja się pojawia.
No, jest to, myślę, że śmiało możemy nazwać to pierwszymi krokami w platformie WinCC Unified.
W kolejnych częściach powiemy sobie o możliwościach zdalnego dostępu, o bardziej rozbudowanych funkcjonalnościach. I oczywiście zapraszamy do śledzenia naszych nowości, naszych szkoleń, także z zakresu WinCC Unified dwie pozycje, już takie Państwo u nas znajdą.
Pięknie dziękuję i do usłyszenia w kolejnych częściach.
Zainteresowanych tematyką szkoleń zapraszamy do zapoznania się z pełną listą kursów.