1 W dokumencie mFAQ.10.1.WinCC V7 Alarmowanie z PLC S7
Transkrypt
1 W dokumencie mFAQ.10.1.WinCC V7 Alarmowanie z PLC S7
s FAQ: 00000064/PL WinCC Professional – Alarmowanie programowe z PLC S7-1500 Data: 02/06/2014 W dokumencie mFAQ.10.1.WinCC V7 Alarmowanie z PLC S7 została przedstawiona m.in. konfiguracja alarmów systemowych generowanych po stronie sterownika a nie wizualizacji, czyli tzw. alarmy telegramowe. W klasycznych sterownikach (S7-300/400 lub ET200) znajdziemy wiele funkcji, które pozwolą nam wykonać taką funkcjonalność. Wybierać możemy pomiędzy funkcjami (np. Alarm_S/SQ, Alarm_D/DQ, Alarm_8, etc.) generującymi komunikaty z potwierdzeniem lub bez potwierdzenia, zawierające zmienne powiązane lub, posiadające odpowiednią ilość sygnałów wejściowych, itd. Podobna funkcjonalność dostępna jest dla nowej rodziny sterowników S7-1500. Konfiguracja wykonywana jest w tym przypadku z narzędzia inżynierskiego Step 7 Professional V12 lub wyższej. Sprawa jest tutaj znacznie uproszczona, gdyż mamy do dyspozycji tylko jedną uniwersalną funkcję (Program_alarm), która we współpracy z oprogramowaniem deweloperskim pozwoli nam stworzyć w swobodny sposób system alarmowania chronologicznego. Podstawowym pytaniem, które nasuwa się przed rozpoczęciem wdrażania takiej konfiguracji jest: po co robić to w taki sposób skoro można skonfigurować w bardzo łatwy sposób alarmy od strony systemu wizualizacji WinCC Professional lub panelu operatorskiego? Po co obciążać program sterownika, zastanawiać się nad parametryzacją funkcji i zajmować pamięć urządzenia wywoływaniem wielokrotnie funkcji alarmującej? Otóż pomijając powyższe niedogodności (które w przypadku sterowników S7-1500 nie są już praktycznie istotne – ze względu na prostotę konfiguracji, szybkość pracy PLC oraz rozmiar pamięci każdej z jednostek) znajdziemy w rozwiązaniu alarmowania programowego szereg zalet, które z pewnością okażą się bardziej istotne. Poniżej kilka z nich: Odciążenie łącza komunikacyjnego – w przypadku standardowej konfiguracji komunikatów w module alarmowania WinCC - system cyklicznie (standardowo z cyklem 1s) sprawdza status zmiennych odpowiedzialnych za generowanie alarmów, czyli ramka komunikacyjna raz na sekundę wymieniana jest ze sterownikiem. W przypadku dużej ilości alarmów komunikacja z PLC może zostać spowolniona. Przy wykorzystaniu funkcji alarmującej w PLC – telegram z komunikatem alarmu zostaje wysłany do WinCC tylko w przypadku wystąpienia alarmu – nie występuje cykliczne sprawdzanie statusu zmiennych alarmowych w systemie SCADA. Bardzo precyzyjny stempel czasowy komunikatu (stąd nazwa „alarm chronologiczne”) – jak wspomniano powyżej cykl skanowania zmiennych wywołujących komunikaty alarmowe w WinCC wynosi 1 sekundę. Cykl ten można co prawda zmienić na niższy (do 250ms) edytując rejestry systemu Windows ale zabieg ten nie jest zalecany. W przypadku wykorzystania funkcji systemowych w sterowniku, każdy z alarmów otrzymuje znacznik czasowy z dokładnością zgodną z cyklem pracy programu w sterowniku, czyli do setnej części sekundy. Dokładność taka w wielu przypadkach jest nie jedynie zaletą, ale również wymogiem. Oszczędność zmiennych wymienianych z PLC – zmienne odpowiedzialne za generowanie komunikatów alarmowych deklarowane są jedynie w sterowniku, co pozwala zaoszczędzić ilość zmiennych licencjonowanych w WinCC. Bufor komunikatów w sterowniku – wszelkie komunikaty alarmowe zapisywane są w wewnętrznym buforze sterownika PLC, co daje możliwość utrzymania ciągłości www.siemens.pl/simatic Doradztwo techniczne: [email protected] 1 s FAQ: 00000064/PL WinCC Professional – Alarmowanie programowe z PLC S7-1500 Data: 02/06/2014 archiwum alarmów. W przypadku odłączenia lub awarii komputera wizualizacyjnego alarmy, których przyczyna pojawiła się oraz zniknęła podczas trwania przerwy w komunikacji PLC z komputerem zostaną przepisane z bufora sterownika automatycznie po przywróceniu komunikacji. Centralna konfiguracja – alarmy konfigurowane są jednokrotnie tylko w sterowniku, a wysyłane mogą być do wielu urządzeń HMI (panele operatorskie, stacje wizualizacyjne, systemy SCADA). Konfiguracja systemu alarmów dla całego systemu odbywa się więc tylko jednokrotnie. Potwierdzanie globalne – komunikat potwierdzony w urządzeniu HMI może zostać potwierdzony w sterowniku, co wygeneruje automatyczne potwierdzenie na pozostałych urządzeniach HMI. Konfiguracja Informacje na temat konfiguracji funkcji systemowej przewidzianej do definicji komunikatów chronologicznych można odszukać w plikach pomocy pod hasłem „Program_Alarm: Generate program alarm with associated values”. Kilka ciekawych informacji (związanych również z migracją alarmów tego typu z wersji klasycznej) znajdziemy również w poniższej lokalizacji sieciowej: http://support.automation.siemens.com/WW/view/en/69817564 Poniżej w kilku krokach przedstawimy jak wykonać podstawową konfigurację komunikatu alarmowego generowanego w sterowniku serii S7-1500 (do WinCC Professional) przy pomocy funkcji systemowej Program_Alarm. 1. Pierwszym krokiem jest utworzenie bloku funkcyjnego FB w sterowniku, gdyż funkcja Program_Alarm może być wywołana tylko i wyłącznie wewnątrz właśnie takiego elementu. Dla przykładu nazwijmy sobie ten blok „ALARMY”. www.siemens.pl/simatic Doradztwo techniczne: [email protected] 2 s FAQ: 00000064/PL WinCC Professional – Alarmowanie programowe z PLC S7-1500 Data: 02/06/2014 2. Wewnątrz utworzonego bloku funkcyjnego należy teraz wywołać funkcję alarmującą Program_Alarm znajdującą się w grupie Extended Instructions -> Alarmming zgodnie z poniższym zrzutem ekranu. Ponadto, jako interfejs bloku funkcyjnego definiujemy sygnały wejściowe: Trigger – wyzwalacz alarmu podpięty do sygnały SIG; zmienna binarna, która wywoła komunikat przy zmianie wartości 0 -> 1 (zbocze narastające), AV_1, AV_2 – zmienne powiązane (maks. 10); parametry procesowe, których wartości zostaną odczytane w momencie wystąpienia komunikatu alarmowego; będą one mogły zostać umieszczone w tekście naszego komunikatu alarmowego; w przykładzie parametry te zdefiniowane zostały jako zmienne typu Real. Oraz wyjściowe (opcjonalnie) sygnały statusowe: Error – informacja binarna o błędzie (1 = błąd), Status – kod błędu, jeśli takowy wystąpi (szczegółowy opis kodów błędów znajduje się w plikach pomocy środowiska TIA Portal). Funkcja Program_Alarm posiada jeszcze jeden parametr, a mianowice TIMESTAMP czyli stempel czasowy. Możemy tutaj podać dowolną wartość, która zostanie dopisana do alarmu jako data/czas jego wystąpienia lub pozostawić ten parametr pusty – wtedy system przypisze aktualny stempel czasowy z chwili zmiany sygnału SIG (0 -> 1). Znacznik czasowy zostanie wysłany w formie telegramu razem z pozostałymi informacjami komunikatu alarmowego. www.siemens.pl/simatic Doradztwo techniczne: [email protected] 3 s FAQ: 00000064/PL WinCC Professional – Alarmowanie programowe z PLC S7-1500 Data: 02/06/2014 3. Kolejny krok konfiguracyjny to wywołanie naszego bloku funkcyjnego w programie serownika (np. w bloku OB1) oraz podpięcie odpowiednich sygnałów. W naszym przykładzie wyzwalaczem komunikatu będzie zmienna Tag_1 o adresie M0.0, natomiast wartości zmiennych powiązanych statycznie przyjmą wartości wpisane ręcznie. Mogą one oczywiście pochodzić ze zmiennych procesowych. Na wyjście funkcji zostały również przypięte sygnały informujące o błędzie oraz jego kodzie (Tag_2, Tag_3). 4. Po wywołaniu bloku funkcyjnego w programie oraz automatycznej generacji instancyjnego bloku danych możemy przejść do konfiguracji tekstu komunikatu. W tym celu przechodzimy w zakładkę PLC alarms znajdującą się w drzewie projektu naszego sterownika. www.siemens.pl/simatic Doradztwo techniczne: [email protected] 4 s FAQ: 00000064/PL WinCC Professional – Alarmowanie programowe z PLC S7-1500 Data: 02/06/2014 Konfigurator zawiera już instancję alarmu, która została wygenerowane przez nasz blok funkcyjny. W polu Alarm text pozostaje więc wprowadzić treść komunikatu alarmowego. W naszym przykładzie jest to: Alarm 1, wartość zmiennej powiązanej 1: @1%3.2f@, wartość zmiennej powiązanej 2: @1%3.2f@ Poza opisem tekstowym, który przypisany został do komunikatu – w jego treści można zawrzeć również wartości zmiennych powiązanych z alarmem, mających znaczenie dla operatora. Zmienna powiązana przypisana jest do funkcji jak parametr AV_1 oraz AV_2 (punkt 2). Aby dowiązać wartość tej zmiennej do komunikatu – w tekście wiadomości musimy wprowadzić odpowiednią formułę. Wartości powiązane wprowadzamy rozpoczynając oraz kończąc znakiem @ zgodnie z poniższym wzorem: @[Pwn][Typ]%width[.precision]Format@ Gdzie: Symbol @ Pwn Typ %width .precision Format @ Typ "b" lub "B" "y" lub "Y" "c" lub "C" "w" lub "W" "i" lub "I" "x" lub "X" "d" lub "D" "r" lub "R" Znaczenie Początek deklaracji Numer zmiennej powiązanej procesowej (opcjonalnie) Typ zmiennej procesowe (opcjonalnie) Szerokość pola w HMI zarezerwowana na zmienną Dokładność zmiennoprzecinkowa (opcja dla formatu "f") Format wyświetlania zmiennej procesowej Koniec deklaracji Znaczenie BOOL BYTE CHARACTER WORD INTEGER DWORD DINT REAL Format "d" "u" "X" "f" "b" "s" Wartości Domyślnie 1-6 Patrz poniżej 1 I Patrz poniżej Wyświetlanie Dziesiętne ze znakiem Dziesiętne bez znaku Szesnastkowe Zmiennoprzecinkowe ze znakiem Binarne String Zgodnie z powyższymi informacjami zmienne powiązane zostały dołączone do naszego komunikatu alarmowego. Należy pamiętać, aby typ danych zadeklarowany w znaczniku zmiennej powiązanej był zgodny z typem danych wskazanym w parametrze funkcji Program_Alarm – w naszym przypadku f dla wartości zmiennoprzecinkowej. www.siemens.pl/simatic Doradztwo techniczne: [email protected] 5 s FAQ: 00000064/PL WinCC Professional – Alarmowanie programowe z PLC S7-1500 Data: 02/06/2014 5. Po kompilacji projektu sterownika oraz wizualizacji w zakładce HMI alarms (projekt WinCC) wśród systemowych komunikatów alarmowych sterownika powinien znaleźć się nasz wzór alarmu zgodnie z poniższym zrzutem ekranu: 6. Aby dostosować format wyświetlania czasu w celu zwiększenia dokładności z rzędu sekund na milisekundy przechodzimy jeszcze w zakładkę projektu wizualizacji HMI alarms -> Alarm text blocks -> System blocks. W polu Format bloku Time ustawiamy interesujący nas format stempla czasowego . 7. Krokiem finalnym konfiguracji jest umieszczenie na ekranie procesowym urządzenia HMI kontrolki alarmów. Nie wymaga ona żadnej dodatkowej konfiguracji poza interesującymi nas blokami informacyjnymi. Tekst komunikatu wysłanego z PLC zostanie umieszczony w bloku domyślnym Alarm text. W momencie zmiany wartości bitu wyzwalającego (w naszym przykładzie M0.0) z 0 na wartość 1 powinniśmy zaobserwować w kontrolce następujący efekt w formie komunikatu alarmowego: Przykład przygotowany został w oparciu i TIA Portal V12 SP1 UPD2. www.siemens.pl/simatic Doradztwo techniczne: [email protected] 6