Do Projektu iAutomatyka dołączyli:

https://iautomatyka.pl/wp-content/uploads/2018/05/kurs-programowania-plc-WAGO-pfc200-w-ecocpit-cz3.jpg

Kurs programowania sterowników PLC na przykładzie pompowni w e!COCKPIT – cz. 3/5


Artykuł z serii: Kurs programowania PLC na sterowniku WAGO PFC


W poprzednim odcinku zdefiniowaliśmy strukturę opisującą pompę oraz blok funkcyjny kontroli pompy, a także zadeklarowaliśmy je w programie i przetestowaliśmy. W tym odcinku zajmiemy się podstawami wizualizacji, tworząc wirtualny pulpit sterowniczy.

W tym artykule:

  • Omówimy idee wirtualnego pulpitu sterowniczego.
  • Utworzymy wizualizację wirtualnego pulpitu sterowniczego.
  • Omówimy elementy dodane do wizualizacji.
  • Przeprowadzimy jeszcze raz testy bloku kontroli pompy.

Wirtualny pulpit sterowniczy

Uruchamiając symulację z poprzedniego odcinka oraz sprawdzając działanie bloku kontroli pompy pewnie też zauważyliście jedno – testowanie jest zajęciem żmudnym. Zgodnie ze sztuką programista sterowników PLC powinien zasymulować i sprawdzić reakcję programu na każdy możliwy scenariusz, który może się wydarzyć, tj. każdą możliwą kombinację sygnałów wejściowych. Z jednej strony trzeba tu zachować zdrowy rozsądek, z drugiej trzeba przewidzieć nieprzewidziane, czyli:

  • awarię,
  • błąd operatora,
  • błędne podłączenie sygnałów.

Nie jest możliwe zabezpieczyć się przed wszystkim programowo, ale należy do tego dążyć. Problem w tym, że używając podglądu w trybie online i klikając co chwilę w kolumnę „Prepared value”, a następnie w „Write values” ewentualnie wykorzystując [Ctrl + F7] można się co najwyżej zirytować, a nie przeprowadzić rzetelne testy. Ale można to w e!Cockpit zrobić inaczej.

Utworzymy w wizualizacji wirtualny pulpit sterowniczy. Jego jedynym zadaniem będzie symulacja wejść i wyjść fizycznych za pomocą przycisków, lampek i innych elementów wizualizacji, a także innych zmiennych, które na potrzeby debuggowania programu czy jego poszczególnych części będzie wygodnie wyciągnąć na wierzch. W ten sposób w wygodny i szybki sposób przetestujemy nasz program. Będzie to istotne zwłaszcza w kontekście kolejnego odcinka, w którym napiszemy algorytm sterowania – testując w klasyczny sposób byśmy się albo zgubili, albo po prostu dali spokój w połowie.

Po tym krótkim nakreśleniu tematu przejdźmy do dzieła.

Ekran wirtualnego pulpitu operatora

Zacznijmy od utworzenia ekranu wizualizacji.

Rys.1. Edytor wizualizacji.

Na powyższym ekranie dodałem z przybornika (pole nr 1) elementy odpowiadające wszystkim fizycznym sygnałom wyjściowym i wejściowym. Omówimy je sobie szczegółowo w następnych punktach, ale najpierw zwróćmy uwagę na kompozycję ekranu.

Jest to ekran służący tylko i wyłączeni do celów symulacji, którego Wasz wirtualny klient nigdy nie zobaczy, jednak warto zadbać o estetykę i ergonomię tego ekranu – tym bardziej, że w e!Cockpit jest to kwestia kilku kliknięć. Po wejściu w zakładkę „VISUALISATION” (pole nr 2) na górze pod wstążką znajduje się przybornik „Function overview” (pole nr 3). Umieszczone są w nim funkcje służące komponowania ekranu, takie jak:

  • Wyrównaj do górnej/dolnej/lewej/prawej krawędzi skrajnego elementu.
  • Wyrównaj do osi pionowej/poziomej.
  • Zrównaj szerokość/wysokość.
  • Grupuj.
  • Etc.

Dzięki temu uzyskałem efekt spójnej kompozycji, a nie elementów znajdujących się w losowych miejscach ekranu czy też niedosuniętych perfekcyjnie co do piksela.

W pierwszych dwóch kolumnach umieściłem sygnały powiązane z poszczególnymi pompami (pole nr 4), w następnej kolumnie umieściłem pomiar poziomu lustra ścieków oraz związane z nim nastawy wyłączenia i załączenia pomp(pole nr 5). Na samym dole umieściłem sygnały z czujników pływakowych oraz ze stopu bezpieczeństwa(pole nr 6). Przyjrzyjmy się im po kolei.

Synoptyka zmiennych dwustanowych

Sygnały dwustanowe, zwane też cyfrowymi lub boolowskimi, to inaczej sygnały, które mogą przyjąć dwa stany „0”/”1″ czy też prawda/fałsz.

Na ekranie wirtualnego pulpitu sygnały cyfrowe symuluję za pomocą dwóch elementów wybranych z przybornika – przełącznika „Dip switch” oraz pola tekstowego „Text field”. Pierwszy służy do sterowania wartością sygnału, drugi do wizualizacji jego stanu.

Rys. 2. Przełącznik „Dip switch”.

Przełącznik typu „Dip switch” (pole nr 1) jest podstawowym elementem służącym do zmiany wartości zmiennej typu BOOL. Wchodząc do okna właściwości możemy edytować m. in. jego:

  • Położenie (pole nr 2).
  • Wymiary (pole nr 3).
  • Przypisaną zmienną, którą będzie manipulował oraz od której będzie zmieniał stan (pole nr 4).
  • Zachowanie (pole nr 5).
  • Ukrywanie elementu (pole nr 6).
  • Deaktywacja elementu (pole nr 7).

Są to właściwości, które są wspólne dla większości elementów wizualizacji.

Rys. 3. Pole tekstowe „Text field”.

Drugim elementem jest pole tekstowe „Text field” (pole nr 1). Typowym zastosowaniem pola tekstowego jest wyświetlanie tekstu, ale jego możliwości są znacznie szersze. Wybrane pola z jego właściwości to:

  • Kolory w stanie normalnym i alarmowym, tj. kiedy zmienna „Colorvariable” będzie miała stan wysoki (pole nr 2).
  • Zmienna odpowiadająca za kolor pola (pole nr 3).
  • Właściwości tekstu – kolor, czcionka, format itp. (pole nr 4)

My wykorzystamy pole tekstowe po pierwsze do oznaczenia, jaki sygnał będziemy symulować, a po drugie do wizualizowania aktualnej wartości zmiennej. Ten drugi cel będzie wprawdzie realizowany również przez przełącznik, który zmienia swoją grafikę w zależności od stanu zmiennej, ale wykorzystując pole tekstowe będzie to lepiej widoczne.

Wizualizacja poziomu oraz nastaw

Drugim zbiorem elementów na ekranie są te związane  z poziomem w studni.

Rys. 4. Prostokąt „Rectangle”.

Pierwszy z nich to element typu prostokąt „Rectangle” (pole nr 1). Ponownie mamy do czynienia z całym zbiorem różnych właściwości. Nas w tym przypadku będą interesować:

  • Tekst wpisany w element, który będzie widoczny na wizualizacji (pole nr 2).
  • Konfiguracja wejścia (pole nr 3), czyli reakcja na zdarzenia takie jak kliknięcie myszką.

Od razu rzuca się w oczy zastanawiający zapis tekstu wpisanego w element %.2f[%%]. Jest to składnia dość podobna do tej znanej niektórym czytelników z języka C służąca do formatowania tekstu. Jej kolejne elementy oznaczają:

  • „%” – wyświetlanie zmiennej „Text variable” zgodnie z formatem określonym po znaku procenta.
  • „.2” – wyświetlanie wartości do dwóch miejsc po przecinku.
  • „f” – zmienna typu zmiennoprzecinkowego, czyli popularny float. Wspomniana już norma IEC-61131  typ zmiennoprzecinkowy nakazuje nazywać „REAL” i z taką nazwą spotkacie się programując większość sterowników PLC, w tym oparte na Codesys, jednak niektóre i w niektórych miejscach nie zachowują tej konwencji.
  • „%%” – podwójny znak procenta oznacza, że chcemy wyświetlić znak procenta zamiast wyświetlania wartości jakiejś zmiennej.

W zakładce „Inputconfiguration” możemy skonfigurować reakcję na zdarzenia typu naciśnięcie na element, puszczenie klawisza myszy itd. Ja skonfigurowałem w tym miejscu wpisywanie wartości do nastawy. W tym miejscu możemy zobaczyć, do jakiej zmiennej będziemy pisać, jakie wprowadziliśmy ograniczenia wartości itd. Polecam zajrzeć i zobaczyć, co jeszcze możemy skonfigurować, ponieważ e!Cockpit daje nam w tym miejscu duże pole do popisu, a biorąc pod uwagę to, że możemy np. wykonać napisany przez nas skrypt w ST, to wręcz nieograniczone.

Rys. 5. Suwak „Slider”.

Drugim elementem jest suwak „Slider” (pole nr 1). W nim najciekawszą z zakładek są właściwości skali suwaka (pole nr 2), gdzie określamy minimum, maksimum, podziałkę itp. Na potrzebę testów nie ma to absolutnie żadnego większego znaczenia, więc przyjąłem, że poziom będziemy mierzyć od 0 do 100%. Poniżej znajduje się zakładka, w której określamy typ suwaka, orientację oraz kierunek przesuwania suwaka (pole nr 3).

Symulacja i testowanie

Tradycyjnie sprawdźmy działanie naszego programu rozbudowanego o kolejne elementy w trybie symulacji.

Rys. 6. Symulacja wirtualnego pulpitu sterowniczego.

Aby zaprezentować działanie pulpitu symulacyjnego, na wierzch wyciągnąłem jego ekran, ekran bloku kontroli pompy P1 oraz struktury pompy P1 w globalnej liście zmiennych „gSt1”.

Manipulując kontrolkami będzie widzieć, jak się zmieniają flagi struktury pompy P1. Ten sam  efekt uzyskaliśmy w poprzednim odcinku, ustawiając „Prepared values”, a następnie je zapisując. Klikając możemy to robić wszystko dużo szybciej, a także analiza wyniku działania danego bloku czy algorytmu jest łatwiejsza dzięki przystępnej wizualizacji stanu zmiennych. Utworzenie takiego ekranu przy odrobinie wprawy w obsłudze e!Cockpit zajmuje kilkanaście minut, a oszczędza mnóstwo czasu i nerwów podczas debuggowania programu – o uchronieniu przed błędami wykrytymi dopiero na obiekcie nie wspominając.

Zmiana poziomu ścieków akurat na nic nie wpłynie, jednak umieściłem zmieniający ją suwak ze względu na następny odcinek.

Uruchomcie symulację sami, wykonajcie testy podobnie jak w poprzednim odcinku, sprawdźcie działanie każdego elementu.

DO POBRANIA

Program e!COCKPIT można pobrać ze strony producenta >> TUTAJ. <<

Projekt programu z tej części kursu: Program PLC do e!COCKPIT

Podsumowanie

W tym odcinku opanowaliśmy podstawy tworzenia wizualizacji, tworząc wirtualny pulpit sterowniczy służący do symulacji i testowania programu, który będzie nieocenionym ułatwieniem w trakcie testowania algorytmu sterowania, który napiszemy w następnym odcinku kursu.


Więcej z serii: Kurs programowania PLC na sterowniku WAGO PFC


Utworzono: / Kategoria: ,
  • Autor: Łukasz Kurzawa
  • Jestem absolwentem studiów inżynierskich Automatyki i Robotyki na Wydziale Elektroniki Politechniki Wrocławskiej. Moje zainteresowania zawodowe koncentrują się wokół automatyzacji procesów ciągłych (przemysł chemiczny, gospodarka wodno-ściekowa, HVACR, energetyka). Zapraszam do czytania moich publikacji oraz do kontaktu.
  • Profil Autora

Reklama

Newsletter

Zapisz się i jako pierwszy otrzymuj nowości!



PRZECZYTAJ RÓWNIEŻ



NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

Reklama



POLECANE FIRMY I PRODUKTY