Tworzenie programów PLC dla sterowania sekwencyjnego i współbieżnego
4. Jądro algorytmu SFC
Jak już zostało wspomniane w definicji jądro algorytmu SFC to część centralna algorytmu, która odpowiedzialna jest za wykonywanie operacji (etapów, kroków) procesu przemysłowego w określonej kolejności, czyli sekwencji. Autor niniejszego opracowania już wyjaśniał Czytelnikowi pojęcie sieci Petriego i ich znaczenie dla rozwoju grafów algorytmów. Struktury te nie zrobiły niczego innego, jak tylko sformalizowały w „ładny” sposób opis działania procesów (czytaj: procesów przemysłowych). To, że od tamtego momentu „coś”, co się przyczynia do zmiany poprzedniego etapu procesu na kolejny nazywamy tranzycją lub warunkami przejścia jest tylko nazewnictwem, które jednemu się podoba a innemu nie. Gdyby nazwa była inna tego „coś”, to i tak jego znaczenie nie zmieniłoby się. W dalszym ciągu, aby pojawił się określony skutek, to najpierw musi pojawić się przyczyna. Jak to nazwiemy, to „na papierze” nie będzie miało znaczenia, ale znaczenie będzie miało to, jak to „rozegra” maszyna cyfrowa typu sterownik PLC.
Autor już wspomniał, że rozwój oprogramowania w dziedzinie tworzenia programów sterujących dla sterowników PLC doprowadził do tego, że obecnie obok opracowanych wcześniej edytorów programu typu STL czy LAD zaczął funkcjonować edytor grafu SFC. Przykładem może być oprogramowanie ISAGraph dla sterowników PLC firmy PEP Modular Computers. W edytorze tego środowiska można tworzyć graf SFC „słuchając” podpowiedzi programu i gotowe. Niektórzy zaczęli nazywać to już programowaniem sterownika, zaś tym, że jest to raczej rysowanie niż programowanie nie zaprzątają sobie głowy. Bezsporną cechą dodatnią tych środowisk jest jednak to, że producent takiego oprogramowania wbudował w taki edytor SFC mechanizmy, które zapewniają „przełożenie” narysowanych linii, bloczków, itp. na gotowy kod programu PLC dla sterownika. Jednak cechą ujemną tych środowisk jest niestety to, że nie występują w danym oprogramowaniu narzędziowym jako standard, tylko jako opcja, za którą producent karze sobie słono płacić. Zatem pozostaje programiście tworzenie programu PLC dla realizacji algorytmu SFC tradycyjną metodą, czyli poprzez użycie znanych i lubianych edytorów programu typu LAD czy FBD. W niniejszej publikacji autor się tym właśnie zajął.
Autor podkreśli, że w poprzednim punkcie zilustrował powstanie kilkunastu sygnałów, które muszą pojawić się, abyśmy mogli mówić o rozbudowanym sterowaniu sekwencyjnym. Tak naprawdę, to większość z nich musiała pojawić się tylko po to, aby w konsekwencji, jak się niedługo okaże wygenerować dwa najważniejsze sygnały dla jądra algorytmu SFC: Marker M_ON-SFC i Marker OFF-SFC. Pierwszy z nich zezwala a drugi nie pozwala na rozwój algorytmu SFC. Oczywiście, jak Czytelnik się uważnie przyjrzy wszystkiemu, co przyczyniło się to powstania tych dwóch markerów to sam dojdzie do te samego wniosku.
Ponieważ, co już powiedziano, zajmujemy się tworzeniem programu PLC dla algorytmu SFC, to sami musimy zadbać o taką realizację programu PLC, aby spełniał on zasady nałożone na działanie algorytmu SFC. Dwie najważniejsze z nich to: po pierwsze każdy algorytm SFC musi mieć tylko jeden krok zerowy, oraz po drugie wywołanie kroku następnego musi spowodować „unieszkodliwienie” kroku poprzedniego (ale niekoniecznie unieszkodliwienie działań rozpoczętych w tym kroku). Czyli to, co na grafie SFC wygląda jako prostokąt (lub kwadrat) i linia łącząca z warunkiem przejścia, musi mieć odzwierciedlenie w postaci użycia instrukcji programu