phone icon search icon
secondary menu iconsecondary menu icon

MENU

secondary menu icon secondary menu icon

SFC (Sequential Function Chart) – co to?

SFC (Sequential Function Chart) to graficzny język programowania sterowników PLC służący do opisu procesów sekwencyjnych – takich, które przebiegają krok po kroku. Zamiast opisywać logikę jako zbiór równoległych warunków, SFC pokazuje program jako ciąg kroków i przejść między nimi. Jest jednym z pięciu oficjalnych języków PLC zdefiniowanych w normie IEC 61131-3 i najlepszym wyborem wszędzie tam, gdzie maszyna działa w wyraźnych fazach.

Jak działa SFC?

Program SFC składa się z dwóch podstawowych elementów: kroków i przejść. Krok reprezentuje stan, w którym maszyna wykonuje określone działanie – np. “siłownik wysuwa się” lub “pompa pracuje”. Przejście to warunek, który musi być spełniony, żeby przejść do następnego kroku – np. “czujnik końcowy aktywny” lub “timer odmierzył 5 sekund”.

Sterownik PLC zawsze znajduje się w konkretnym kroku sekwencji. Realizuje akcje przypisane do tego kroku i jednocześnie sprawdza warunek przejścia. Gdy warunek zostanie spełniony, sterownik przechodzi do następnego kroku i tak dalej, aż do końca sekwencji – lub do powrotu na początek w przypadku cyklu powtarzającego się.

SFC porządkuje automatykę, która działa w fazach – widać dokładnie, na jakim etapie znajduje się proces, bez konieczności analizowania całej logiki programu naraz.

Kiedy używać SFC?

SFC idealnie nadaje się do sterowania maszynami cyklicznymi, liniami montażowymi i procesami technologicznymi z wyraźną kolejnością działań. Typowe zastosowania to cykle robocze maszyn (pobranie detalu, obróbka, kontrola, odłożenie), procedury uruchomienia i zatrzymania agregatów, sterowanie procesami batch w produkcji chemicznej i spożywczej, automatyczne sekwencje płukania i mycia instalacji, oraz procedury bezpieczeństwa, które muszą przebiegać w ściśle określonej kolejności.

Jeśli możesz opisać działanie maszyny zdaniami “najpierw… potem… następnie… na końcu…”, to SFC jest właściwym językiem dla tego programu.

SFC a inne języki PLC

Ważna zasada: SFC sam z siebie nie zastępuje całej logiki sterowania. Opisuje sekwencję kroków, ale wewnątrz każdego kroku nadal potrzebna jest logika wykonawcza. Dlatego w praktyce SFC jest “szkieletem” projektu, a w poszczególnych krokach używa się LAD, FBD lub ST do realizacji konkretnych działań.

Przykład: krok “frezowanie” w SFC uruchamia program LAD sterujący silnikiem wrzeciona, program FBD regulujący prędkość posuwu oraz program ST obliczający czas obróbki na podstawie parametrów detalu. SFC wie tylko, że krok trwa, dopóki nie zostanie spełniony warunek przejścia – co dokładnie dzieje się wewnątrz kroku, definiują inne języki.

Taki podział ról sprawia, że duże projekty automatyki są znacznie łatwiejsze do zrozumienia, testowania i modyfikowania. Każda zmiana w sekwencji procesu odbywa się w SFC, każda zmiana w sposobie realizacji kroku – w odpowiednim miejscu programu LAD, FBD lub ST.

Który język PLC wybrać?

Nie ma jednej odpowiedzi – wybór zależy od charakteru zadania i doświadczenia zespołu. Najprościej ujmując: LAD pokazuje logikę przekaźnikową, FBD pokazuje jak sygnały przepływają przez bloki funkcji, ST opisuje logikę w formie kodu algorytmicznego, a SFC pokazuje proces jako kolejne etapy.

W jednym projekcie PLC często używa się kilku języków naraz, każdego tam, gdzie sprawdza się najlepiej. To nie są konkurencyjne światy, tylko różne narzędzia do różnych zadań. Elektrycy i automatycy z doświadczeniem w schematach częściej sięgają po formy graficzne (LAD, FBD, SFC), osoby z backgroundem programistycznym szybciej czują się w ST.

Jak nauczyć się programowania w SFC?

Akademia dla Przemysłu prowadzi kursy programowania sterowników Siemens SIMATIC S7-1200 w środowisku TIA Portal. Program kursu obejmuje wszystkie języki IEC 61131-3, w tym SFC (w TIA Portal realizowany jako GRAPH), na rzeczywistych sterownikach w pracowni automatyki.

Kurs PLC poziom 1 – Siemens S7-1200 w TIA Portal

Kurs PLC poziom 2 – zaawansowane programowanie