HOME

TheInfoList



OR:

Sequential function chart (SFC) is a
visual programming language In computing, a visual programming language (visual programming system, VPL, or, VPS) is any programming language that lets users create programs by manipulating program elements ''graphically'' rather than by specifying them ''textually''. A VP ...
used for
programmable logic controller A programmable logic controller (PLC) or programmable controller is an industrial computer that has been ruggedized and adapted for the control of manufacturing processes, such as assembly lines, machines, robotic devices, or any activity tha ...
s (PLCs). It is one of the five languages defined by
IEC 61131-3 IEC 61131-3 is the third part (of 10) of the open international standard IEC 61131 for programmable logic controllers. It was first published in December 1993 by the IEC; the current (third) edition was published in February 2013. Part 3 of ''IE ...
standard. The SFC standard is defined as ''Preparation of function charts for control systems'', and was based on (itself based on binary
Petri net A Petri net, also known as a place/transition (PT) net, is one of several mathematical modeling languages for the description of distributed systems. It is a class of discrete event dynamic system. A Petri net is a directed bipartite graph that ...
s). It can be used to program processes that can be split into steps. Main components of SFC are: * Steps with associated actions; * Transitions with associated logic conditions; * Directed links between steps and transitions. Steps in an SFC diagram can be active or inactive. Actions are only executed for active steps. A step can be active for one of two motives: * It is an initial step as specified by the programmer. * It was activated during a scan cycle and not deactivated since. Steps are activated when all steps above it are active and the connecting transition is superable (i.e. its associated condition is true). When a transition is passed, all steps above are deactivated at once and after all steps below are activated at once. Actions associated with steps can be of several types, the most relevant ones being Continuous (N), Set (S), and Reset (R). Apart from the obvious meaning of Set and Reset, an N action ensures that its target variable is set to 1 as long as the step is active. An SFC rule states that if two steps have an N action on the same target, the variable must never be reset to 0. It is also possible to insert LD ( Ladder Diagram) actions inside an SFC program (and this is the standard way, for instance, to work on integer variables). SFC is an inherently
parallel programming language Parallel computing is a type of computation in which many calculations or processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. There are several different fo ...
in that multiple control flows — Program Organization Units (POUs) in the standard's parlance — can be active at once. Non-standard extensions to the language include macroactions: i.e. actions inside a program unit that influence the state of another program unit. The most relevant such macroaction is "forcing", in which a POU can decide the active steps of another POU.Tom Meadowcroft, 2018


See also

* DRAKON-chart * UML
activity diagram Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams are intended to model both computational and o ...
*
Continuous Function Chart A Continuous Function Chart (CFC) is a graphic editor that can be used in conjunction with the STEP 7 software package or with other tools, such as CODESYS. It is used to create the entire software structure of the CPU from ready-made blocks. When ...


References


External links

{{Commons category, Sequential function charts
SFC/GRAFCET free stencils for Microsoft Visio

Rockwell Automation, Allen-Bradley. Sequential Function Charts


Programmable logic controllers Visual programming languages