Współbieżne sterowanie procesami przemysłowymi
3. Rodzaje błędów spotykanych w algorytmach sterowania SFC
3.2. Błędy algorytmu SFC tzw. niebezpieczne dla jego rozwoju
Podkreślmy, że tzw. błędy niebezpieczne dla rozwoju algorytmu SFC powstają wtedy, gdy projektant takiego algorytmu zachowa właściwe zasady zależności kroków od tranzycji przy tworzeniu struktury algorytmu, zaś uczyni to tak, że rozwój algorytmu w określonym kierunku wykluczy dokończenie rozpoczętej wcześniej procedury, wykluczy definitywnie (tzn. procedura ta nigdy nie zostanie już ukończona) lub wykluczy niebezpiecznie ze względu na pracę procesu przemysłowego. Użyte słowo „procedura” poprawnie kieruje Czytelnika na fakt, iż błędy niebezpieczne występują zazwyczaj w częściach współbieżnych algorytmów sterowania SFC. Wyjaśnijmy to przykładzie zmodyfikowanego w działaniu procesu przemysłowego z rysunku 18, który posłużył nam do wyjaśnienia współbieżności oraz interesującego nas fragmentu algorytmu SFC, który zilustrowano na rysunku 28.
Rysunek 27 ilustruje lekko zmodyfikowany proces przemysłowy, a w zasadzie należałoby powiedzieć, że ilustruje zmodyfikowany układ sterowania tym procesem uzupełniony do dodatkową pulsującą sygnalizację optyczną Ż3, którą umieszczono na pulpicie sterującym. W zamiarze projektanta (skąd inąd słusznym) sygnalizacja ta powinna pokazywać awarię w działaniu siłownika Z3 na skutek obniżenia wartości ciśnienia sprężonego powietrza. Awaria ta powinna zaistnieć wtedy, gdy praca tłoczyska tego siłownika będzie spowolniona, co ma się uwidocznić poprzez opóźnienie w załączeniu czujnika bezkontaktowego CZ3. Wykryte opóźnienie większe lub równe 6 sekund (tak przyjęto w sterowaniu tym procesem) powinno wywołać awarię w postaci załączenia sygnalizacji pulsowania sygnalizacji optycznej Ż3. Ponieważ opóźnienie w działaniu tłoczyska siłownika Z3 pojawiło się na skutek obniżenia wartości ciśnienia medium roboczego, to projektant założył (chyba zasadnie), że gdy to ciśnienie będzie prawidłowe, to układ wróci do normalnej pracy tak, jak to było przed awarią. Takie założenie potwierdza użycie czujnika ciśnienia medium roboczego CZCIŚ, który zamontowano w przewodzie zasilającym w to medium siłownik Z3 oraz obwarowano działaniem w algorytmie SFC z rysunku 28.
Rysunek 27: Proces przemysłowy z rysunku 18 uzupełniony o sygnalizację awarii Ż3 i czujnik CZCIŚ
Rysunek 28: Fragment algorytmu SFC dla procesu z rysunku 27 zawierający tzw. błąd niebezpieczny
Analizując dokładnie algorytm SFC z rysunku 28 można stwierdzić, że przy zachowaniu normalnych warunków pracy procesu przemysłowego, czyli zachowaniu zawsze odpowiedniej wartości ciśnienia medium roboczego, którym jest zazwyczaj sprężone powietrze wspomniana wcześniej awaria nie ma prawa się wydarzyć. Uruchomione jednocześnie siłowniki Z1 do Z3 poprzez swoje tłoczyska wykonają zawsze swoją założoną pracę, co wtedy zostanie potwierdzone poprzez prawidłowe zakończenie procedury współbieżnej (niższa linia przerywana) i dalszy przebieg procesu przemysłowego. Przy wystąpieniu zaś awarii sytuacja się diametralnie zmieni i jak widać z rysunku 28 algorytm SFC „sam się” nie naprawi. (Na rysunku 28 zaznaczono to w kolorze czerwonym). Opóźniony ruch tłoczyska siłownika Z3 (na skutek mniejszej wartości ciśnienia medium) spowoduje przejście do kroku numer 11 (zapalona tranzycja od TIMERA T6 po czasie 6 sekund), uniemożliwiając wyłączenie tego zaworu i wrzeciona W3 w kroku nr 8 i w efekcie niemożliwość zakończenia procedury współbieżnej. (Jak pamiętamy zakończenie procedury współbieżnej następuje m.in. wtedy, gdy ostatnie kroki we wszystkich ciągach zaistnieją). Mało tego, wiertło tego wrzeciona W3 będzie dalej zanurzone w materiale i się będzie obracało. Sygnalizacja PULSE Ż3 zadziała, ale to będzie tylko informacja dla operatora i „nic więcej” dla układu sterowania PLC tym procesem przemysłowym. Owszem, wzrost wartości ciśnienia medium roboczego zostanie zauważone poprzez czujnik CZCIŚ, ale to tylko doprowadzi do dalszego rozwoju algorytmu (linia pomarańczowa), jednak nie uzdrowi „sytuacji”. Próba odbioru obrabianego przedmiotu z linii transportowej może być niemożliwa lub „gwarantować” złamanie wiertła we wrzecionie W3 (ponieważ jest ono dalej zanurzone) lub nawet wywołać skrzywienie tłoczyska siłownika Z3, ponieważ jest ono znacznej długości. Wydaje się zatem, że jedyną możliwością naprawy tej sytuacji jest zupełne wyłączenie układu sterowania PLC, ręczne sprowadzenie tłoczyska Z3 do pozycji górnej, usunięcie (już) obrobionego materiału z linii produkcyjnej i ponowne uruchomienie układu sterowania. To wszystko może wywołać znaczny przestój w realizacji procesu przemysłowego. Zatem czy o to tak naprawdę projektantowi algorytmu SFC chodziło projektując sygnalizację awarii w taki sposób? Dylemat ten do samodzielnego rozstrzygnięcia autor pozostawi Czytelnikowi, jednak bezspornym jest, że twórca tego algorytmu zrobił tzw. błąd niebezpieczny, który nie powinien był się wydarzyć.
Należy zaznaczyć, że dopuszczone normą EN 61131-3 rozwoje algorytmów SFC dopuszczają różne modyfikacje tych algorytmów przy zachowaniu właściwych zasad. Zatem nawet gdy przewidujemy konieczność włączenia elementów diagnostyki procesów przemysłowych realizowanych współbieżnie, albo może bardziej poprawnie, tam, gdzie część tych procesów realizowana jest współbieżnie, możemy to zrobić ale tak, aby obowiązkowo nie popełniać błędów niebezpiecznych jak ten z rysunku 28.
Odnosząc się do powyższego rysunek 29 ilustruje poprawnie wkomponowaną w algorytm SFC diagnostykę pracy siłownika Z3 według zasady, którą chciał osiągnąć twórca algorytmu dla procesu z rysunku 27. Przypomnijmy, chodziło o diagnostykę wewnątrz procedury uruchomionej współbieżnie. W prawidłowo zrealizowanym algorytmie na rysunku 29 „wyciągnięto” tę diagnostykę poza procedurę współbieżną, zaś wewnątrz tej procedury pozostawiono jednoczesne uruchomienie TIMERA T6 razem z trzema siłownikami Z1 do Z3. To spowodowało, że T6 o nastawie 6 sekund monitoruje pracę siłownika Z3 według zasad wcześniej omówionych.