Contents
Strategic Partner Links
Sepasoft - MES Modules
Cirrus Link - MQTT Modules
Resources
Knowledge Base Articles
Inductive University
Forum
IA Support
SDK Documentation
SDK Examples
SFCs are built in the Designer, and executed on the Gateway, so they run independently of any Clients. They make use of both Python and Ignition's Expression language, so any number of tasks are possible from a single chart. A single SFC in Ignition can be called multiple times. Parameters can also be passed into a chart as it starts, so multiple instances can work on separate tasks individually.
Charts elements are drag-and-drop, and work similarly to the components you are used to using in the rest of Ignition.
Charts are comprised of elements, and these element perform the work in a SFC. Each element does something different, but they generally serve to either control the flow of the chart, or execute one or more Python scripts.
Charts always flow in the same way. They start at their begin step, and the logic of the chart typically flows from the top to the bottom, however charts are able to loop back to previous steps. Doing so allows for looping logic to be built directly into the chart. Flow of the chart can be halted by a Transition element. The state of the Transition can update in realtime, so a chart can pause until a user approves the chart to move on.
Simple HMI interfaces can be developed to manage the SFC. An SFC can be started with a simple button or it can be managed with the SFC Monitor component.
Sequential Function Charts now support redundant Gateway clusters and will persist over gateway failovers using the Redundancy Sync property. A Backup Gateway will now pick up where the Master left off, or the chart can be canceled, restarted, or even set to run at a different step.
Performing multiple actions with a single call is easy to do with SFCs. Let us assume several motors all need to start from a single call. The work-flow would look like the following:
In many cases, a chart will need to wait for some other system to finish with a task before moving on. This is similar to receiving a handshake from the PLC before moving on. Charts can freely read and interact with the rest of Ignition, so a step in a chart can read a tag, run a query, make a web services call, read a local file, or do anything that is possible from a Python script. A chart could wait for a specific value on a tag, and then proceed after the value has met some set-point.
SFCs work great when multiple processes must run simultaneously. Transitioning from one step to another only occurs when the active step finish executing. This means multiple steps can execute in parallel, and later steps will not begin until all of the currently active steps have finished. This type of control is normally very difficult to accomplish with just Timer or Tag Change scripts because each script needs to be able to notify the other script once complete. SFCs allow the chart to monitor each step, and determine when it is time to move forward.
Charts can also make use of local parameters. After reading values from outside the chart, these values can be stored in a parameter on the chart. The value of these parameters can then be referenced by other elements, and the chart can decide where the flow should move towards.