AKADEMIA GÓRNICZO- HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA Wydział Inżynierii Mechanicznej i Robotyki Katedra Automatyzacji Procesów Przedmiot: Przemysłowe Systemy Sterowania (PSS) Laboratorium 10: Programowanie paneli HMI interfejsy człowiek maszyna ciąg dalszy Kraków
Cel ćwiczeń laboratoryjnych 1. Zapoznanie się ze sposobem działania tagów HMI 2. Poznanie zaawansowanych sposobów realizacji wizualizacji 3. Realizacja detekcji zbocza 4. Poznanie struktury adresowania pamięci Po ukończeniu zajęć student powinien potrafić: 1. Samodzielnie skonfigurować histogram oraz pasek stanu 2. Potrafić zrealizować detekcję zbocza oraz utworzyć strukturę flip/flop 3. Zrealizować inkrementację/dekrementację rejestru z panelu HMI 4. Poprawnie zaadresować zmienne pamięci zarówno dyskretne, jak i liczbowe
Tagi HMI Podczas realizacji poprzedniego ćwiczenia widoczne było opóźnienie przy załączaniu wirtualnej diody. Wynika ono z faktu użycia tagów PLC dla panelu HMI. W celu zobrazowania takiej strategii programowania HMI, należy zdefiniować tag testplc (M10.0) w tagach PLC. Następnie dla panelu HMI należy użyć przycisku Button i pod akcją Press zastosować funkcję SetBit dla utworzonego tagu PLC. Rys. 1. Pole deklaracji tagów HMI W następnym kroku należy kliknąć w drzewie projektu pozycję HMI tags (Rys. 1). W otworzonym oknie pojawi się lista tagów HMI. Przy użyciu taga PLC na HMI zostaje utworzony tag HMI o takiej samej nazwie. Tag PLC oraz tag HMI są przepisywane po obydwóch stronach z czasem określonym w kolumnie Acquisition cycle (Rys. 2). Oznacza to, że jeżeli stan taga HMI zmieni się, to jego wartość zostanie przepisana do odpowiadającego mu taga PLC najpóźniej po domyślnie 1 sekundzie. Analogicznie następuje przepisanie w drugą stronę - z taga PLC do taga HMI. Najkrótszy czas przepisania tagu dla Paneli serii basic wnosi 100 ms. Ćwiczenie 1 Rys. 2. Tabela połączenia tagów PLC i HMI Zrealizuj zatrzask z poprzedniego ćwiczenia z czasem akwizycji 100 ms
Elementy wizualizacyjne Rys. 3. Deklaracja trendu i paska stanu Podstawowymi elementami do wizualizacji danych na panelu HMI, poza polami I/O Fileld, są Status Bar oraz Trend (Rys. 3). Reprezentują one pasek stanu oraz histogram. W przypadku elementu Status bar należy kliknąć PPM na elemencie i z menu kontekstowego wybrać Properties. W zakładce General obecne będą pola określające limity wyświetlana oraz pole Process tag (Rys. 4), w którym należy wpisać nazwę taga, którego wartość ma być wyświetlana. Rys. 4. Pole właściwości paska stanu Trend (Rys. 5) jest podstawowym elementem do wizualizacji przebiegów zmienności danego parametru w czasie. Po zadeklarowaniu trendu w dowolnym ekranie panelu HMI należy kliknąć PPM i Properties. W zakładce Trend obecna będzie tabela (Rys. 6), gdzie należy nacisnąć komórkę z napisem Add new, a następnie zadeklarować nazwę tagu w polu Source settings. Należy zwrócić uwagę, że nawet jeśli w tym miejscu zadeklaruje się Cyclic na 100 ms, to w dalszym ciągu należy ustawić taki sam czas akwizycji dla przepisania tagu w tagach HMI.
Rys. 5. Domyślny wygląd trendu W innych ustawieniach pola właściwości trendu (Rys. 7) możliwe jest między innymi usunięcie tabeli z wartościami trendu, usunięcie prawej osi wartości oraz, modyfikacja wyglądu całego pola. Ćwiczenie 2 Rys. 6. Deklaracja źródła danych dla trendu Zadeklaruj taga potencjometr, o typie INT oraz adresie IW64. W laboratorium jest to adres 0 kanału wejść analogowych, do którego podpięty jest fizyczny potencjometr. Wyświetl wartość z potencjometru (0-27648) na panelu HMI w formie paska stanu, jak i trendu. Trend powinien wyświetlać wartości z ostatnich 15 sekund.
Detekcja zbocza Rys. 7. Deklaracja sposobu odświeżania danych trendu W tym rozdziale omówiono sposób wykrywania zbocza narastającego i opadającego w sterownikach serii s7 firmy Siemens. Funkcje wykrywania zbocza mają za zadanie podanie sygnału 1 tylko na moment, w którym sygnał na wejściu sterownika zmienia swój stan z 0 na 1 dla zbocza narastającego i z 1 na 0 dla zbocza opadającego. W kolejnym cyklu sygnał powinien powrócić do wartości 0. Detekcję zbocza można utworzyć samodzielnie (Rys. 8). Detekcja wymaga zawsze użycia dodatkowego markera (tutaj M0.1). W zaprezentowanym przypadku bit właściwy (M0.0) zostanie załączony tylko na 1 cykl przy naciśnięciu I0.0. Natomiast M0.1 to marker pomocniczy, "pamiętający" stan wejścia z poprzedniego cyklu. Rys. 8. Natywna realizacja zbocza narastającego na I0.0 Niestety, każdorazowa realizacja detekcji zbocza w ten sposób będzie powodowała znaczne zmniejszenie czytelności diagramu. W tym celu stosuje się gotowe elementy (Rys. 9). Pozwalają one na realizację detekcji zbocza, są dużo bardziej czytelne, a marker pamiętający określony jest pod symbolem styku. Ich funkcjonalność jest tożsama z funkcjonalnością programu z (Rys. 8)
a) b) Rys. 9. Gotowe elementy do detekcji zbocza a) narastającego, b) opadającego Ćwiczenie 3 Zrealizuj program z (Rys. 10). Przetestuj jego działanie. Spróbuj wytłumaczyć powody jego nieprawidłowego działania. Program powinien po każdym naciśnięciu zielony przełączać stan wyjścia dioda. Wprowadź zbocze narastające do programu w celu otrzymania poprawnego działania. Rys. 10. Nieprawidłowy program do realizacji przełączania stanu dioda Adresowanie danych Różne obszary pamięci mają swoje unikalne adresy. Program użytkownika wykorzystuje te adresy w celu uzyskania dostępu do informacji przechowywanych w tych miejscach pamięci (Rys. 11). Adres bezwzględny składa się z: Identyfikatora obszaru pamięci (np.: I, Q, M).
Rozmiaru danych dostępowych ( B dla bajtów, W dla słów, D dla np. Liczb zmiennoprzecinkowych ). Adresu danych (np.: MW5). Aby uzyskać dostęp do pojedynczego bitu w obszarze pamięci należy podać oprócz adresu także numer bitu (np.: M5.1). Odwołania do obszaru wejść (I) oraz wyjść(q) realizują dostęp do obrazu procesu. W celu dostępu do fizycznego wejścia lub wyjścia do odwołania należy dodać :P (np.: I1.1:P). Tag określający wielkość słowa może być udostępniony przez bity z zakresu od 0 do 15, bajty z zakresu od 0 do 1, lub słowo 0. Tag określający wielkość bajtu może być udostępniony przez bity z zakresu od 0 do 7, lub bajt 0. Przedziały bitów, bajtów, oraz słów mogą być używane wszędzie tam, gdzie bity, bajty lub słowa są oczekiwanymi argumentami. Rys. 11. Przedziały danych Sterownik obsługuje wiele typów danych cechujących się rozmiarem oraz sposobem interpretacji. Każdy parametr instrukcji jest daną odpowiedniego typu, a niektóre parametry mogą przyjmować jeden z kilku typów danych. Uwaga Nie należy nadpisywać bitów w obrębie danego słowa, a minimalna odległość pomiędzy słowami typu W musi wynosić co najmniej dwa bajty (np po MW10 można użyć MW12), a dla zmiennej typu D - 4 bajty (np. po MD20 można użyć MD24). Ćwiczenie 4 Napisz program z (Rys. 12). Zadeaklaruj na panelu HMI przycisk monostabilny z adresem M10.0. Wytłumacz dlaczego po naciśnięciu tego przycisku w rejestrze MW10 znajduje się liczba 258, a nie 2.
Rys. 12. Nieprawidłowe przepisywanie wartości 2 do rejestru MW10 Podstawowe instrukcje Poza instrukcjami logicznymi, TIA Portal ma także inne instrukcje podstawowe oraz rozszerzone (Rys. 13). Instrukcje te zawsze zawierają dwa trywialne przyłącza: EN - wejście, które dla stanu wysokiego powoduje wykonanie instrukcji oraz ENO - wyjście informujące o wykonaniu instrukcji. W następnym ćwiczeniu będą wykorzystywane instrukcje MOVE oraz ADD. Instrukcja MOVE przepisuję liczbę lub zawartość rejestru wejściowego do rejestru wyjściowego. Instrukcja ADD dodaje składniki znajdujące się po lewej stronie instrukcji (w tym wartości rejestrów), a wynik zapisuje w rejestrze wyjściowym. Rys. 13. Toolbox z podstawowymi i rozszerzonymi instrukcjami
Ćwiczenie 5 Zrealizuj na panelu HMI układ z (Rys. 14). Zadeklaruj zmienną typu INT - liczba (MW20). Napisz program, który po każdorazowym naciśnięciu przycisku + inkrementuje zawartość liczba, a - dekrementuje. Korzystając z bloku Startup, spraw aby początkowa wartość w liczba wynosiła 50. Ćwiczenie 6 Rys. 14. Panel do zwiększania/zmniejszania wartości rejestru Dodaj dwa pola I/O Field w trybie Input do panelu HMI. Przekształć program tak, aby móc za ich pomocą wpływać na szybkość inkrementacji/dekrementacji. Wynik przedstaw na histogramie.