Tworzenie programów PLC dla sterowania sekwencyjnego i współbieżnego
4. Jądro algorytmu SFC
4.3. Programowe powiązanie bloku wyboru trybów pracy z jądrem algorytmu SFC
Należy zaznaczyć, że konstrukcja jądra algorytmu SFC z rysunku 58 jest typowym rozwojem prostym algorytmu, który może być zrealizowany dla dowolnej liczby kroków, przewidzianych dla kontrolowanego procesu przemysłowego. Liczba wierszy w blokach działania może być różna w zależności od potrzeb sterowania odpowiednią liczbą urządzeń wykonawczych. To dotyczy również wszelkiego rodzaju rozgałęzień algorytmu SFC jak również dla sterowania współbieżnego, o którym niniejsza publikacja również traktuje. Jednak bez dodatkowych działań na jakimkolwiek rodzaju rozwoju algorytmu SFC nie będzie on jeszcze rozbudowanym sterowaniem sekwencyjnym w rozumieniu niniejszej publikacji. Istotnym „brakującym” elementem jest niepowiązanie jądra algorytmu SFC z rysunku 58 z blokiem wyboru trybów pracy, a konkretnie z dwoma (na razie) jego sygnałami, które generowane są jako efekt dokonanego przez operatora wyboru, tj. sygnału M_ON-SFC: M2.3 oraz M_OFF-SFC: M2.4 (patrz: Tabela 4). Rysunek 60 ilustruje postać algorytmu z rysunku 58, ale uzupełnioną symbolicznie o te dwa sygnały sterujące, które muszą być odpowiednio wprowadzone do programu PLC. Zaznaczmy jako obowiązkowe, że rozważamy cały czas konstrukcję algorytmu SFC w programie PLC (nie zaś „piszemy” program metodą SFC np. w środowisku ISAGraph), zatem w „formalnym” grafie algorytmu SFC zgodnie z normą EN 61131-3 sygnałów tych (i innych występujących w programie PLC) nie zobaczymy.
Rysunek 60: Algorytmu SFC z sygnałami z bloku wyboru trybów pracy
Analizując zmodyfikowany algorytm SFC z rysunku 60 uważny Czytelnik na pewno zauważy, że oprócz wprowadzenia do tego algorytmu dwóch sygnałów, tj. M2.3 i M2.4, które mają za zadanie odpowiednio uruchomić lub zatrzymać jądro algorytmu SFC, pojawiło się również nieznaczne uproszczenie struktury algorytmu, wynikające z wykorzystania innych identyfikatorów rozkazów w pozostawionych blokach działania. Zamiast identyfikatorów o oznaczeniu S i R zastosowano identyfikator o oznaczeniu N. Przypomnijmy, że różnica jest taka, iż identyfikatory S i R odpowiednio zapisują lub zerują działanie w pamięci programu PLC w danym kroku, w którym wystąpią, zaś identyfikator N powoduje, że działanie określone tymże identyfikatorem wystąpi tylko wtedy, gdy zaistnieje dany krok. Zachowując zatem działania w blokach działania w odniesieniu do algorytmu SFC z rysunku 58 nowy algorytm także steruje załączeniem dwóch urządzeń wykonawczych UWY_1 i UWY_2 w Kroku nr 0, wyłącza sterowanie jednym urządzeniem wykonawczym UWY_1 w Kroku nr 1 pozostawiając sterowanie tylko UWY_2 i na koniec wyłącza wreszcie to sterowanie urządzeniem wykonawczym UWY_2 w Kroku nr 2. Zatem dla zewnętrznego użytkownika działania obu tych algorytmów SFC są identyczne.
Wprowadzenie dwóch sygnałów pochodzących z bloku wyboru trybów pracy, tj. M2.3 lub M2.4 przypomnijmy, że ma za zadanie oddziaływać na wszystkie kroki algorytmu w przewidziany blokiem wyboru trybów pracy sposób, czyli Marker M_ON-PLC powinien zezwalać na pracę jądra algorytmu SFC, zaś Marker M_OFF-PLC powinien blokować realizację jądra algorytmu SFC. Dodatkowo ten ostatni powinien „przyczynić” się do powstania znacznika Kroku nr 0 zamiast znacznika specjalnego SM0.1, który został użyty tylko dla przykładu. Zmodyfikowany program dla algorytmu z rysunku 60 ilustruje rysunek 61.
Rysunek 61: Sieci programowe w metodzie LAD dla realizacji algorytmu SFC z rysunku 60
Analizując program PLC dla algorytmu SFC z rysunku 60 zauważamy, że w sieci programowej Network 1 do wywołania Kroku nr 0 zamiast znacznika specjalnego SM0.1 (który jak już wyjaśniono „pojawia” się i „znika”) wystąpił Marker M_OFF-PLC (patrz rysunek 49). W kolejnych krokach algorytmu znacznik ten użyty został również zgodnie z przeznaczeniem, czyli do zatrzymania w razie potrzeby jądra algorytmu SFC. Zauważamy również, że w każdej sieci programowej programu z rysunku 61, dotyczącej powstania danego kroku (oprócz Kroku nr 0) umieszczono warunek to umożliwiający a pochodzący od Markera M_ON-PLC. I wreszcie zauważamy, że dla kasowania znaczników danych kroków przez ich następniki przewidziano oddzielne sieci.