0% found this document useful (0 votes)
193 views82 pages

1756-pm006 - En-P - Sequential Function Charts

Uploaded by

jediael.pj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
193 views82 pages

1756-pm006 - En-P - Sequential Function Charts

Uploaded by

jediael.pj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 82

Logix 5000 Controllers

Sequential Function Charts


1756 ControlLogix, 1756 GuardLogix, 1769 CompactLogix,
1769 Compact GuardLogix, 1789 SoftLogix, 5069
CompactLogix, 5069 Compact GuardLogix, Studio 5000
Logix Emulate

Programming Manual Original Instructions


Logix 5000 Controllers Sequential Function Charts

Important User Information


Read this document and the documents listed in the additional resources section about installation, configuration, and
operation of this equipment before you install, configure, operate, or maintain this product. Users are required to familiarize
themselves with installation and wiring instructions in addition to requirements of all applicable codes, laws, and standards.
Activities including installation, adjustments, putting into service, use, assembly, disassembly, and maintenance are required to
be carried out by suitably trained personnel in accordance with applicable code of practice.
If this equipment is used in a manner not specified by the manufacturer, the protection provided by the equipment may be
impaired.
In no event will Rockwell Automation, Inc. be responsible or liable for indirect or consequential damages resulting from the use
or application of this equipment.
The examples and diagrams in this manual are included solely for illustrative purposes. Because of the many variables and
requirements associated with any particular installation, Rockwell Automation, Inc. cannot assume responsibility or liability for
actual use based on the examples and diagrams.
No patent liability is assumed by Rockwell Automation, Inc. with respect to use of information, circuits, equipment, or software
described in this manual.
Reproduction of the contents of this manual, in whole or in part, without written permission of Rockwell Automation, Inc., is
prohibited.
Throughout this manual, when necessary, we use notes to make you aware of safety considerations.
WARNING: Identifies information about practices or circumstances that can cause an explosion in a hazardous environment, which may lead to
personal injury or death, property damage, or economic loss.

ATTENTION: Identifies information about practices or circumstances that can lead to personal injury or death, property damage, or economic loss.
Attentions help you identify a hazard, avoid a hazard, and recognize the consequence.

IMPORTANT Identifies information that is critical for successful application and understanding of the product.

Labels may also be on or inside the equipment to provide specific precautions.


SHOCK HAZARD: Labels may be on or inside the equipment, for example, a drive or motor, to alert people that dangerous voltage may be present.

BURN HAZARD: Labels may be on or inside the equipment, for example, a drive or motor, to alert people that surfaces may reach dangerous
temperatures.

ARC FLASH HAZARD: Labels may be on or inside the equipment, for example, a motor control center, to alert people to potential Arc Flash. Arc Flash
will cause severe injury or death. Wear proper Personal Protective Equipment (PPE). Follow ALL Regulatory requirements for safe work practices and
for Personal Protective Equipment (PPE).

2 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Summary of changes
This manual includes new and updated information. Use these reference
tables to locate changed information.
Grammatical and editorial style changes are not included in this summary.

Global changes
This table identifies changes that apply to all information about a subject in
the manual and the reason for the change. For example, the addition of new
supported hardware, a software design change, or additional reference
material would result in changes to all of the topics that deal with that subject.
Change Topic
Updated Legal notices. Legal notices on page 10

Updated branding. Throughout

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 3


Table of Contents

Summary of changes Studio 5000 environment .......................................................................... 9


Preface Additional resources ................................................................................... 9
Legal notices ...............................................................................................10

Chapter 1
Design a sequential Introduction ............................................................................................... 13
function chart What is a sequential function chart? ........................................................ 14
Define the tasks.......................................................................................... 16
Choose how to execute the SFC ................................................................. 17
Define the steps of the process .................................................................. 17
Step guidelines ..................................................................................... 18
SFC_STEP structure............................................................................. 19
Organize the steps ...................................................................................... 21
Sequence ...............................................................................................23
Selection branch ...................................................................................23
Simultaneous branch .......................................................................... 24
Wire to a previous step ....................................................................... 24
Add actions for each step .......................................................................... 25
How do you want to use the action? .................................................. 25
Use a non-Boolean action ................................................................... 25
Use a Boolean action ........................................................................... 26
SFC_ACTION structure ...................................................................... 27
Describe each action in pseudocode ........................................................ 27
Choose a qualifier for an action ............................................................... 28
Define the transition conditions .............................................................. 29
Transition tag ...................................................................................... 30
How do you want to program the transition? ................................... 30
Use a BOOL expression........................................................................ 31
Call a subroutine in a transition ......................................................... 31
Transition after a specified time ............................................................... 31
Turn off a device at the end of a step ........................................................ 34
Choose a last scan option .................................................................... 34
Use the Don’t Scan option ...................................................................36
Use the programmatic reset option ....................................................36
Use the automatic reset option .......................................................... 38
Keep something on from step-to-step ......................................................39
How do you want to control the device? ............................................ 40
Use a simultaneous branch ................................................................ 40
Store and reset an action ..................................................................... 41
Use one large step ............................................................................... 42
End the SFC ................................................................................................ 43

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 5


Table of Contents

Use a stop element ............................................................................... 43


Restart (reset) the SFC .........................................................................44
SFC_STOP structure ............................................................................45
Nest an SFC .................................................................................................45
Pass parameters ...................................................................................47
Configure when to return to the OS/JSR ..................................................47
Pause or reset an SFC .................................................................................47
Execution diagrams .................................................................................. 48

Chapter 2
Program a sequential Introduction ............................................................................................... 53
function chart Add and manually connect elements .................................................. 53
Add and automatically connect elements ..........................................54
Drag elements ......................................................................................54
Create a simultaneous branch ...................................................................54
Start a simultaneous branch ...............................................................54
End a simultaneous branch ................................................................. 55
Create a selection branch........................................................................... 55
Start a selection branch ....................................................................... 55
End a selection branch.........................................................................56
Set the priorities of a selection branch ..................................................... 57
Connect a wire to the step ........................................................................ 58
Hide a wire ................................................................................................. 58
Configure a step .........................................................................................59
Assign the preset time for a step .........................................................59
Configure alarms for a step .................................................................59
Use an expression to calculate a time .................................................59
Program a transition ................................................................................. 60
Enter a BOOL expression ................................................................... 60
Call a subroutine when programming a transition........................... 61
Add an action .............................................................................................. 61
Configure an action ................................................................................... 61
Change the qualifier of an action....................................................... 62
Calculate a preset time at runtime .................................................... 62
Mark an action as a BOOLean action .................................................63
Program an action ......................................................................................63
Enter structured text ...........................................................................63
Call a subroutine in an action .............................................................63
Assign the execution order of actions...................................................... 64
Document an SFC...................................................................................... 64
Language switching .............................................................................65
Add structured text comments ...........................................................65

6 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Table of Contents

Add a tag description .......................................................................... 66


Add a text box ...................................................................................... 66
Show or hide text boxes or tag descriptions ......................................67
Hide an individual tag description .....................................................67
Configure the execution of the SFC ..........................................................67
Verify the routine ...................................................................................... 68
Edit an SFC online ..................................................................................... 69
Maintain active SFC step .................................................................... 69

Chapter 3
Force steps Introduction ............................................................................................... 71
Precautions ................................................................................................. 71
Enable forces............................................................................................... 71
Disable or remove a force ......................................................................... 72
Check force status ..................................................................................... 72
Force LED ............................................................................................. 73
GSV instruction .................................................................................... 73
Step through a transition or a force of a path ..........................................74
When to use an SFC force ..........................................................................74
Force a transition .................................................................................74
Force a simultaneous path...................................................................76
Add an SFC force ........................................................................................76
Remove or disable forces ........................................................................... 77
Disable all SFC forces ........................................................................... 77
Remove all SFC forces .......................................................................... 77
Index

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 7


Preface
This manual shows how to design and program Sequential Function Charts
(SFCs) for Logix 5000 controllers to execute. This manual is one of a set of
related manuals that show common procedures for programming and
operating Logix 5000 controllers.
For a complete list of common procedures manuals, refer to the Logix 5000
Controllers Common Procedures Programming Manual, publication 1756-
PM001.
The term Logix 5000 controller refers to any controller based on the Logix
5000 operating system.

Studio 5000 environment The Studio 5000 Automation Engineering & Design Environment® combines
engineering and design elements into a common environment. The first
element is the Studio 5000 Logix Designer® application. The Logix Designer
application is the rebranding of RSLogix 5000® software and will continue to
be the product to program Logix 5000™ controllers for discrete, process,
batch, motion, safety, and drive-based solutions.

The Studio 5000® environment is the foundation for the future of


Rockwell Automation® engineering design tools and capabilities. The Studio
5000 environment is the one place for design engineers to develop all
elements of their control system.

Additional resources These documents contain additional information concerning related


Rockwell Automation products.
Resource Description
Logix 5000 Controllers Program Parameters Describes how to use program parameters when
Programming Manual, publication 1756-PM021 programming Logix 5000 controllers.
Logix 5000 Controllers General Instructions Describes the available instructions for a Logix 5000
Reference Manual, publication 1756-RM003 controller.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 9


Preface
Resource Description
Logix 5000 Controllers Process and Drives Describes how to program a Logix 5000 controller
Instructions Reference Manual, publication 1756- for process or drives applications.
RM006
Logix 5000 Controllers Motion Instruction Set Describes how to program a Logix 5000 controller
Reference Manual, publication MOTION-RM002 for motion applications.

Product Certifications Provides declarations of conformity, certificates,


website, http://ab.rockwellautomation.com and other certification details.

You can view or download publications


at http://www.rockwellautomation.com/literature. To order paper copies of
technical documentation, contact your local Rockwell Automation distributor
or sales representative.

Legal notices Rockwell Automation publishes legal notices, such as privacy policies, license
agreements, trademark disclosures, and other terms and conditions on
the Legal Notices page of the Rockwell Automation website.

End User License Agreement (EULA)


You can view the Rockwell Automation End User License Agreement (EULA)
by opening the license.rtf file located in your product's install folder on your
hard drive.
The default location of this file is:
C:\Program Files (x86)\Common Files\Rockwell\license.rtf.

Open Source Software Licenses


The software included in this product contains copyrighted software that is
licensed under one or more open source licenses.
You can view a full list of all open source software used in this product and
their corresponding licenses by opening the oss_license.txt file located your
product's OPENSOURCE folder on your hard drive. This file is divided into
these sections:
• Components
Includes the name of the open source component, its version number,
and the type of license.
• Copyright Text
Includes the name of the open source component, its version number,
and the copyright declaration.

10 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Preface
• Licenses
Includes the name of the license, the list of open source components
citing the license, and the terms of the license.
The default location of this file is:
C:\Program Files (x86)\Common Files\Rockwell\Help\<product
name>\Release Notes\OPENSOURCE\oss_licenses.txt.
You may obtain Corresponding Source code for open source packages
included in this product from their respective project web site(s).
Alternatively, you may obtain complete Corresponding Source code by
contacting Rockwell Automation via the Contact form on the Rockwell
Automation website: http://www.rockwellautomation.com/global/about-
us/contact/contact.page. Please include "Open Source" as part of the request
text.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 11


Chapter 1

Design a sequential function chart

Introduction A sequential function chart (SFC) is similar to a flowchart of your process. It


defines the steps or states through which your system progresses. It helps you
do the following:
• Organize the functional specification for your system.
• Program and control your system as a series of steps and transitions.
By using an SFC to specify your process, you gain these advantages.
• Since an SFC is a graphical representation of your process, it is easier
to organize and read than a textual version.
• Add notes that clarify steps or capture important information for
use later on.
• Print the SFC to share the information with other individuals.
• Since Logix 5000 controllers support SFCs, you do not have to enter
the specification a second time. You are programming your system as
you specify it.
By using an SFC to program your process, you gain these advantages.
• Graphical division of processes into its major logic pieces (steps)
• Faster repeated execution of individual pieces of your logic
• Simpler screen display
• Reduced time to design and debug your program
• Faster and easier troubleshooting
• Direct access to the point in the logic where a machine faulted
• Easy updates and enhancements

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 13


Chapter 1 Design a sequential function chart

What is a sequential A sequential function chart (SFC) is similar to a flowchart. It uses steps and
transitions to perform specific operations or actions. This example shows the
function chart? elements of an SFC. The SFC continues on the following page.

A step represents a major function of your process. It contains the actions that occur at a
particular time, phase, or station.
An action is one of the functions that a step performs.
A transition is the TRUE or FALSE condition that tells the SFC when to go to the next step.
A qualifier determines when an action starts and stops.
A simultaneous branch executes more than 1 step at the same time.
JSR instruction calls a subroutine.

14 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 15


Chapter 1 Design a sequential function chart
A selection branch chooses between different execution paths.

A text box lets you add descriptive text or notes to your SFC.
A wire connects one element to another element anywhere on the chart. This wire takes you to the
conveyor step on the first part of this SFC (previous figure).
A stop lets you stop and wait for a command to restart.

Follow these steps to design a sequential function chart.


1. Define the tasks on page 16
2. Choose how to execute the SFC on page 17
3. Define the steps of the process on page 17
4. Organize the steps on page 21
5. Add actions for each step on page 24
6. Describe each action in pseudocode on page 27
7. Choose a qualifier for an action on page 28
8. Define the transition conditions on page 29
9. Transition after a specified time on page 31
10. Turn off a device at the end of a step on page 34
11. Keep something on from step-to-step on page 39
12. End the SFC on page 43
13. Nest an SFC on page 45
14. Configure when to return to the OS/JSR on page 47
15. Pause or reset an SFC on page 47
16. Execution diagrams on page 48
Define the tasks The first step in the development of an SFC is to separate the configuration
and regulation of devices from the commands to those devices. Logix 5000
controllers let you divide your project into one continuous task and multiple
periodic tasks and event tasks.
1. Organize your project.
These functions Go into this type of task

• Configure and regulate devices Periodic task


• Command a device to a specific state SFC in the continuous task
• Sequence the execution of your process

2. For those functions that go in a periodic task, group the functions


according to similar update rates. Create a periodic task for each
update rate.
For example, 2-state devices may require faster updates than PID
loops. Use separate periodic tasks for each.
In this example, a project uses two periodic tasks to regulate motors,
valves, and temperature loops. An SFC controls the process.

16 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart

Example
Define the Tasks:

This task (periodic) uses Function Block diagrams to turn on or off


motors and open or close valves. The SFC in MainTask commands
the state for each device. The Function Block diagrams set and
maintain that state.
This task (periodic) uses Function Block diagrams to configure and
regulate temperature loops. The SFC in MainTask commands the
temperatures. The Function Block diagrams set and maintain
those temperatures.
This task (continuous) executes the sequential function chart
(SFC). The SFC commands the specific state or temperature for
each device or temperature loop.

Choose how to To execute an SFC, either configure it as the main routine for a program or
call it as a subroutine.
execute the SFC
If Then

• The SFC is the only routine in the program Configure the SFC as the main routine for the
• The SFC calls all the other routines of the program program.
• The program requires other routines to execute 1. Configure another routine as the main routine for
independent of the SFC the program.
• The SFC uses Boolean actions 2. Use the main routine to call the SFC as a
subroutine.

If the SFC uses Boolean actions, then other logic must run independent of the
SFC and monitor status bits of the SFC.

Define the steps A step represents a major function of your process. It contains the actions
that occur at a particular time, phase, or station.
of the process

A transition ends a step. The transition defines the physical conditions that
must occur or change in order to go to the next step.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 17


Chapter 1 Design a sequential function chart

Step guidelines Follow these guidelines.


• Start with large steps and refine the steps in several passes.

• When you first open an SFC routine, it contains an initial step and
transition. Use this step to initialize your process.

The controller executes the initial step in these situations.


• After a project download when the controller goes into Run mode.
• When the controller transitions to Run mode and on power-up (if
the SFC is configured for that).
• When the routine containing the chart is modified online and a
reset is required, and the controller transitions to or from Test
mode.
• To identify a step, look for a physical change in your system, such as
new part that is in position, a temperature that is reached, a preset
time that is reached, or a recipe selection that occurs. The step is the
actions that take place before that change.
• Stop refining the steps when they are in meaningful increments. This
is an example.
This organization of steps Is

produce_solution Probably too large


set_mode, close_outlet, set_temperature, open_inlet_a, Probably too small
close_inlet_a, set_timer, reset_temperature, open_outlet,
reset_mode
preset_tank, add_ingredient_a, cook, drain Probably about right

18 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart

SFC_STEP structure Each step uses a tag to provide information about the step. Access this
information with either the Step Properties dialog box or the Monitor Tags
tab of the Tags window.
If you want to Then select or set this Data type Details
member
Determine how long a step has been T DINT When a step becomes active, the Timer (T) value resets and then starts to
active (milliseconds) count up in milliseconds. The Timer continues to count up until the step goes
inactive, regardless of the Preset (PRE) value.
Set a flag when the step has been PRE DINT Enter the time in the Preset (PRE) member. When the Timer (T) reaches the
active for a specific length of time Preset value, the Done (DN) bit turns on and stays on until the step becomes
(milliseconds) active again.
As an option, select Use Expression and click Define to enter a numeric
expression that calculates the time at runtime.
DN BOOL When the Timer (T) reaches the Preset (PRE) value, the Done (DN) bit turns on
and stays on until the step becomes active again.
Set a flag if a step did not execute long LimitLow DINT Enter the time in the Limit Low (LimitLow) member (milliseconds).
enough • If the step goes inactive before the Timer (T) reaches the LimitLow value,
the AlarmLow bit turns on.
• The AlarmLow bit stays on until you reset it.
• To use this alarm function, turn on (select) the Alarm Enable (AlarmEn) bit.
As an option, enter a numeric expression that calculates the time at runtime.

AlarmEn BOOL To use the alarm bits, turn on (select) the Alarm Enable (AlarmEn) bit.

AlarmLow BOOL If the step goes inactive before the Timer (T) reaches the Limit Low value, the
AlarmLow bit turns on. The bit stays on until you reset it.
To use this alarm function, turn on (select) the Alarm Enable (AlarmEn) bit.

Set a flag if a step is executing too LimitHigh DINT Enter the time in the Limit High member (milliseconds).
long • If the Timer (T) reaches the LimitHigh value, the AlarmHigh bit turns on.
• The AlarmHigh bit stays on until you reset it.
• To use this alarm function, turn on (select) the Alarm Enable (AlarmEn) bit.
As an option, enter a numeric expression that calculates the time at runtime.

AlarmEn BOOL To use the alarm bits, turn on (select) the Alarm Enable (AlarmEn) bit.

AlarmHigh BOOL If the Timer (T) reaches the Limit High value, the AlarmHigh bit turns on. The
bit stays on until you reset it.
To use this alarm function, turn on (select) the Alarm Enable (AlarmEn) bit.

Do something while the step is active X BOOL The X bit is on the entire time the step is active (executing).
(including first and last scan) Typically, we recommend that you use an action with a N Non-Stored qualifier
to accomplish this.

Do something one time when the step FS1 BOOL The FS bit is on during the first scan of the step.
becomes active Typically, we recommend that you use an action with a P1 Pulse (Rising
Edge) qualifier to accomplish this.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 19


Chapter 1 Design a sequential function chart
If you want to Then select or set this Data type Details
member
Do something while the step is SA BOOL The SA bit is on when the step is active except during the first and last scan of
active, except on the first and last the step.
scan
Do something one time on the last LS1 BOOL The LS bit is on during the last scan of the step.
scan of the step Use this bit only if on the Controller Properties dialog box, SFC Execution
tab, you set the Last Scan of Active Step to Don’t Scan or Programmatic
reset.
Typically, we recommend that you use an action with a P0 Pulse (Falling
Edge) qualifier to accomplish this.
Determine the target of an SFC Reset Reset BOOL An SFC Reset (SFR) instruction resets the SFC to a step or stop that the
(SFR) instruction instruction specifies.
The Reset bit indicates the step or stop where the SFC goes to begin executing
again.
Once the SFC executes, the Reset bit clears.
Determine the maximum time that a TMax DINT Use this for diagnostic purposes. The controller clears this value only when
step has been active during any of its you set the Restart Position to Restart at initial step and the controller
executions changes modes or experiences a power cycle.
Determine if the Timer (T) value rolls OV BOOL Use this for diagnostic purposes.
over to a negative value
Determine how many times a step has Count DINT This is not a count of scans of the step.
become active • The count increments each time the step becomes active.
• It increments again only after the step goes inactive and then active again.
• The count resets only if you configure the SFC to restart at the initial step.
With that configuration, it resets when the controller changes from program
mode to run mode.

Use one tag for the various status bits Status DINT For this member Use this bit
of this step
Reset 22
AlarmHigh 23
AlarmLow 24
AlarmEn 25
OV 26
DN 27
LS 28
SA 29
FS 30
X 31
1. The FS and LS bits are only active during a step’s execution. Once a step finishes executing the code within its actions, the FS
or the LS or both bits are reset. If you reference either of these bits in code outside of the SFC routine in a different part of the
project, the bits are always cleared (0).

20 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart
This diagram shows the relationship of the X, FS, SA, and LS bits.

Organize the steps Once you define the steps of your process, organize them into sequences,
simultaneous branches, selection branches, or loops.
To Use this structure With these considerations

Execute 1 or more steps in sequence Sequence on page 22 The SFC checks the transition at the end of the step.
• One executes repeatedly • If TRUE the SFC goes to the next step.
• Then the next executes repeatedly • If FALSE, the SFC repeats the step.

• Choose between alternative steps or groups of Selection Branch on page 23 • It is OK for a path to have no steps and only a
steps depending on logic conditions transition. This lets the SFC skip the selection branch.
• Execute a step or steps or skip the step or steps • By default, the SFC checks from left to right the
depending on logic conditions transitions that start each path. It takes the first TRUE
path.
• If no transitions are TRUE, the SFC repeats the
previous step.
• The Logix Designer application lets you change the
order in which the SFC checks the transitions.

Execute 2 or more steps at the same time. All paths Simultaneous Branch on page 23 • A single transition ends the branch.
must finish before continuing the SFC • The SFC checks the ending transition after the last
step in each path has executed at least once. If the
transition is FALSE, the SFC repeats the previous step.

Loop back to a previous step Wire to a previous step on page 24 • Connect the wire to the step or simultaneous branch
to which you want to go.
• Do not wire into, out of, or between a simultaneous
branch.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 21


Chapter 1 Design a sequential function chart
Here are some examples of SFC structures for different situations.
Example situation Example solution

Station 45 and 46 of an assembly line work on parts simultaneously. When Simultaneous Branch
both stations are done, the parts move down 1 station.

Depending on the build code, a station either drills or polishes. Selection Branch

To simplify my programming, I want to separate communications and block Simultaneous Branch


transfers from other control logic. All occur at the same time.

In a heat treating area, the temperature ramps up at a specific rate, maintains Sequence
that temperature for a specific duration, and then cools at a specific rate.

At station 12, the machine drills, taps, and bolts a part. The steps occur one Sequence
after the other.

Step 12 inspects a process for the correct mix of chemicals. Wire


• If OK, then continue with the remaining steps.
• If not OK, go to the top of the SFC and purge the system.

22 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart

Sequence A sequence is a group of steps that execute one after the other.

Selection branch A selection branch represents a choice between one path (step or group of
steps) or another path (an OR structure).
• Only one path executes.
• By default the SFC checks the transitions from left to right.
• The SFC takes the first TRUE path.
• The Logix Designer application lets you change the order in which
the SFC checks the transitions (see Chapter 2, Program a Sequential
Function Chart).

See also
Program a Sequential Function Chart on page 53

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 23


Chapter 1 Design a sequential function chart

Simultaneous branch A simultaneous branch represents paths (steps or group of steps) that occur at
the same time (an AND structure).
• All paths execute.
• All paths must finish before continuing with the SFC.
• The SFC checks the transition after the last step of each path has
executed at least once.

Wire to a previous step You can also connect a step to a previous point in your SFC.
• Loop back and repeat steps
• Return to the beginning of the SFC and start over

24 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart

Add actions for each step Use actions to divide a step into the different functions that the step
performs, such as commanding a motor, setting the state of a valve, or
placing a group of devices in a specific mode.

How do you want to There are two types of actions.

use the action? If you want to Then

• Execute structured text directly in the SFC Use a non-Boolean action


• Call a subroutine
• Use the automatic reset option to reset data upon leaving a step
• Only set a bit and program other logic to monitor the bit to Use a Boolean action
determine when to execute.

See also
Use a non-Boolean action on page 25
Use a Boolean action on page 26

Use a non-Boolean action A non-Boolean action contains the logic for the action. It uses structured text
to execute assignments and instructions or call a subroutine.
With non-Boolean actions, you also have the option to postscan (automatically
reset) the assignments and instructions before leaving a step.
• During postscan the controller executes the assignments and
instructions as if all conditions are FALSE.
• The controller postscans both embedded structured text and any
subroutine that the action calls.
To automatically reset assignments and instructions, see Turn off a device at the
end of a step.
To program a non-Boolean action, you have these options.
If you want to Then

• Execute your logic without additional routines Embed structured text.


• Use structured text assignments, constructs, and
instructions

When the S_Complete_the_Batch step is active, the S_Open_Outlet action executes. The action sets the
Outlet.ProgCommand tag equal to 1, which opens the outlet valve.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 25


Chapter 1 Design a sequential function chart
If you want to Then

• Re-use logic in multiple steps Call a subroutine.


• Use another language to program the action, such
as ladder logic
• Nest an SFC

When the S_Complete_the_Batch step is active, the S_Open_Outlet action executes. The action calls the
Open_Outlet routine.

Open_Outlet Routine

When the Open_Outlet routine executes, the OTE instruction sets the Outlet.ProgCommand tag equal to 1,
which opens the outlet valve.

You cannot reuse a non-Boolean action within the same SFC except to reset a
stored action. Only one instance of a specific non-Boolean action is permitted
per SFC.

See also
Turn off a device at the end of a step on page 34

Use a Boolean action A Boolean action contains no logic for the action. It simply sets a bit in its tag
(SFC_ACTION structure). To do the action, other logic must monitor the bit
and execute when the bit is on.
With Boolean actions, you have to manually reset the assignments and
instructions that are associated with the action. Since there is no link between
the action and the logic that performs the action, the automatic reset option
does not affect Boolean actions.

Example

When the S_Complete_the_Batch step is active, the S_Open_Outlet action executes. When the action is active, its Q bit turns on.

A ladder Logic routine monitors the Q bit (S_Open_Outlet.Q ). When the Q bit is on, the JSR instruction executes and opens the outlet valve.

You can reuse a Boolean action multiple times within the same SFC.

26 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart

SFC_ACTION structure Each action (non-Boolean and Boolean) uses a tag to provide information
about the action. Access this information via either the Action Properties
dialog box or the Monitor Tags tab of the Tags window.
If you want to Then select or set this Data type Details
member
Determine when the action is active Q BOOL The status of the Q bit depends on whether the action is a Boolean action or
non-Boolean action.
If the action is Then the Q bit is
Boolean On (1) the entire time the action is active,
including the last scan of the action
Non-Boolean On (1) while the action is active but
Off (0) at the last scan of the action

To use a bit to determine when an action is active, use the Q bit.


A BOOL The A bit is on the entire time the action is active.
Determine how long an action has T DINT When an action becomes active, the Timer (T) value resets and then starts to
been active (milliseconds) count up in milliseconds. The timer continues to count up until the action goes
inactive, regardless of the Preset (PRE) value.

Use one of these time-based PRE DINT Enter the time limit or delay in the Preset (PRE) member. The action starts or
qualifiers: L, SL, D, DS, SD stops when the Timer (T) reaches the Preset value.
As an option, enter a numeric expression that calculates the time at runtime.

Determine how many times an action Count DINT This is not a count of scans of the action.
has become active • The count increments each time the action becomes active.
• It increments again only after the action goes inactive and then active
again.
• The count resets only if you configure the SFC to restart at the initial step.
With that configuration, it resets when the controller changes from program
mode to run mode.
Use one tag for the various status bits Status DINT For this member Use this bit
of this action
Q 30
A 31

Describe each action To organize the logic for an action, first you describe the action in
pseudocode.
in pseudocode
• Use a series of short statements that describe what should happen.
• Use terms or symbols, such as: if, then, otherwise, until, and, or, =, >, <.
• Sequence the statements in the order that they should execute.
• If necessary, name the conditions to check first (the "when to act" first)
and then the action to take second (the "what to do" second).
Enter the pseudocode into the body of the action.
• Refine the pseudocode so it executes as structured text.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 27


Chapter 1 Design a sequential function chart
• Use the pseudocode to design your logic and leave the pseudocode as
comments. Since all structured text comments download to the
controller, your pseudocode is always available as documentation for
the action.
To convert the pseudocode to structured text comments, add these comment
symbols.
For a comment Use one of these formats

On a single line //comment


That spans more than one line (*start of comment . . . end of
comment*)

/*start of comment . . . end of


comment*/

Choose a qualifier Each action (non-Boolean and Boolean) uses a qualifier to determine when it
starts and stops.
for an action
The default qualifier is N Non-Stored. The action starts when the step is
activated and stops when the step is deactivated.
To change when an action starts or stops, assign a different qualifier.
If you want the action to And Then assign this Which means
qualifier
Start when the step is activated Stop when the step is deactivated N Non-Stored
Execute only once P1 Pulse (Rising
Edge)
Stop before the step is deactivated or when the step is L Time Limited
deactivated
Stay active until a Reset action turns off this action S Stored
Stay active until a Reset action turns off this action SL Stored and Time
Or a specific time expires, even if the step is deactivated Limited

Start a specific time after the step is activated Stop when the step is deactivated D Time Delayed
and the step is still active
Stay active until a Reset action turns off this action DS Delayed and
Stored
Start a specific time after the step is activated, Stay active until a Reset action turns off this action SD Stored and Time
even if the step is deactivated before this time Delayed
Execute once when the step is activated Execute once when the step is deactivated P Pulse
Start when the step is deactivated Execute only once P0 Pulse (Falling
Edge)

28 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart
If you want the action to And Then assign this Which means
qualifier
Turn off (reset) a stored action ----------------------------------------------------> R Reset
• S Stored
• SL Stored and Time Limited
• DS Delayed and Stored
• SD Stored and Time Delayed

Define the The transition is the physical conditions that must occur or change in order to
go to the next step.
transition conditions

Transitions occur in these structures.


For this structure Make sure that

Sequence A transition is between each step.

Selection branch Transitions are inside the horizontal lines.

Simultaneous branch Transitions are outside the horizontal lines.

Example

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 29


Chapter 1 Design a sequential function chart
You want to complete these steps.
1. Turn on 2 compressors. When a compressor is on, the Device1State bit is on.
2. When both compressors are on, go to the next step.

Example

You want to complete these steps.


1. Package the product. When the product is in the package, the package_done bit turns on.
2. Pack the product either 8 per carton or 16 per carton.

Transition tag Each transition uses a BOOL tag to represent the TRUE or FALSE state of the
transition.
If the transition is The value is And

True 1 The SFC goes to the next step.

False 0 The SFC continues to execute the current step.

How do you want to To program the transition, you have the following options.

program the transition? If you want to Then

Enter the conditions as an expression in structured Use a BOOL expression


text.
Enter the conditions as instructions in another Call a subroutine
routine.
Use the same logic for multiple transitions.

See also
Use a BOOL expression on page 31
Call a subroutine on page 63

30 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart

Use a BOOL expression The simplest way to program the transition is to enter the conditions as a
BOOL expression in structured text. A BOOL expression uses BOOL tags,
relational operators, and logical operators to compare values or check if
conditions are TRUE or FALSE. For example, tag1>65.

Call a subroutine To use a subroutine to control a transition, include an End Of Transition


(EOT) instruction in the subroutine. The EOT instruction returns the state of
in a transition the conditions to the transition, as shown below.

- or -

Call a subroutine.

Check for the required conditions. When those conditions are TRUE, turn on a BOOL tag.
Use an EOT instruction to set the state of the transition equal to the value of the BOOL tag. When
the BOOL tag is on (TRUE), the transition is TRUE.

Transition after Each step of the SFC includes a millisecond timer that runs whenever the step
is active. Use the timer to for these situations.
a specified time
• Signal when the step has run for the required time and the SFC should
go to the next step.
• Signal when the step has run too long and the SFC should go to an
error step.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 31


Chapter 1 Design a sequential function chart
The following shows the action of a timer and associated bits of a step.

Description

Step becomes active.


X bit turns on.
Timer (T) begins to increment.

Timer reaches the Preset (PRE) value of the step.


DN bit turns on.
Timer continues to increment.
Step becomes inactive.
X bit turns off.
Timer retains its value.
DN remains on.

Step becomes active.


X bit turns on.
Timer clears and then begins to increment.
DN bit turns off.

The following shows the action of the low and high alarms for a step.

32 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart
Description

AlarmEn is on. To use the low and high alarms turn this bit on. Turn the bit on via the properties
dialog box or the tag for the step.
Step becomes active.
X bit turns on.
Timer (T) begins to increment.

Step becomes inactive.


X bit turns off.
Timer retains its value.
Since Timer is less than LimitLow, AlarmLow bit turns on.
Step becomes active.
X bit turns on.
Timer clears and then begins to increment.
AlarmLow stays on. (You have to manually turn it off.)
Timer reaches the LimitHigh value of the step.
AlarmHigh bit turns on.
Timer continues to increment.
Step becomes inactive.
X bit turns off.
Timer retains its value.
AlarmHigh stays on. (You have to manually turn it off.)

Example
Here is an example of the use of the Preset time of a step. The functional specification has these
requirements.
1. Cook the ingredients in the tank for 20 seconds.
2. Empty the tank.

Example
Here is an example of the use of the high alarm of a step. The functional specification has these
requirements.
1. Home 8 devices.
2. If all 8 devices are not home within 20 seconds, then shutdown the system.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 33


Chapter 1 Design a sequential function chart

Turn off a device When the SFC leaves a step, you have several options on how to turn off
devices that the step turned on.
at the end of a step Programmatic reset Automatic reset

Use logic to clear data


Let the controller automatically clear data

Each option requires you to make these decisions.


• Choose a last scan option.
• Based on the last scan option, develop your logic so that the last scan
returns data to the correct values.
Choose a last scan option On the last scan of each step, you have these options. The option that you
choose applies to all the steps in all the SFCs in this controller.
If you want to And on the last scan of a step Then see

Control which data to clear Execute only P and P0 actions and use them to clear Use the don't scan option
the required data.
Execute all actions and use either of these options to Use the programmatic reset option
clear the required data.
• Status bits of the step or action to condition logic
• P and P0 actions

Let the controller clear data ---------------------------------------------> Use the automatic reset option

34 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart

The following table compares the different options for handling the last scan
of a step.
Characteristic During the last scan of a step, this option does
Don’t scan Programmatic reset Automatic reset

Execution actions Only P and P0 actions execute. They All actions execute according to their • P and P0 actions execute according to
execute according to their logic. logic. their logic.
• All other actions execute in Postscan
mode.
• On the next scan of the routine, the P
and P0 actions execute in Postscan
mode.
Retention of data values All data keeps its current values. All data keeps its current values. • Data reverts to its values for postscan.
• Tags to the left of [:=] assignments
clear to zero.

Method for clearing data Use P and P0 actions. Use either of these. Use either of these.
• Status bits of the step or action to • [:=] assignment (non-retentive
condition logic assignment)
• P and P0 actions • Instructions that clear their data
during postscan

Reset of a nested SFC A nested SFCs remains at its current A nested SFCs remains at its current For the Restart Position property, if you
step. step. choose the Restart at initial step
option, then these occur.
• A nested SFC resets to its initial step
• The X bit of a stop element in a nested
SFC clears to zero

See also
Use the don’t scan option on page 36
Use the programmatic reset option on page 36

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 35


Chapter 1 Design a sequential function chart
Use the automatic reset option on page 38

Use the Don’t Scan option The default option for handling the last scan of a step is Don’t scan. With this
option, all data keeps its current values when the SFC leaves a step. This
requires you to use additional assignments or instructions to clear any data
that you want to turn off at the end of a step.
Follow these steps to turn off a device at the end of a step.
1. Make sure that the Last Scan of Active Steps property is set to
the Don’t scan option (default).
2. Use a P0 Pulse (Falling Edge) action to clear the required data. Make
sure that the P0 action or actions are last in the order of actions for the
step.
During the last scan of the step, the Don’t scan option executes only P and P0
actions. The assignments and instructions of the actions execute according to
their logic conditions.
• The controller does not execute a postscan of assignments or
instructions.
• When the SFC leaves the step, all data keeps its current values.
This example uses an action to turn on a conveyor at the start of a step. A
different action turns off the conveyor at the end of the step.

This action turns on the conveyor. When conveyor_state turns on, the conveyor turns on.

Before the SFC leaves the step, the P0 action turns off the conveyor. On the last scan of the step,
conveyor_state turns off. This turns off the conveyor.

Use the programmatic An optional method to programmatically turn off (clear) devices at the end of
a step is to execute all actions on the last scan of the step. This lets you execute
reset option your normal logic as well as turn off (clear) devices at the end of a step.
1. In the Last Scan of Active Steps property, select the Programmatic
reset option.
2. Clear the required data using any of these methods.
• To your normal logic, add logic that clears the required data. Use the
LS bit of the step or the Q bit of the action to condition the
execution of the logic.
• Use a P0 Pulse (Falling Edge) action to clear the required data. Make
sure that the P0 action or actions are last in the order of actions for
the step.

36 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart
During the last scan of the step, the Programmatic reset option executes all
assignments and instructions according to logic conditions.
• The controller does not postscan the assignments or instructions.
• When the SFC leaves the step, all data keeps its current value.
This example uses a single action to turn on and off a conveyor and the LS Bit.
The LS bit of the step conditions the execution of the logic. See SFC STEP
Structure.

Example

When the step is not on its last scan (conveyor_fwd.LS = 0), this statement turns on conveyor_state.
When conveyor_state turns on, the conveyor turns on.
On the last scan of the step (conveyor_fwd.LS =1), this statement turns off conveyor_state. When
conveyor_state turns off, the conveyor turns off.

For an action that uses one of the stored qualifiers, use the Q bit of the action
to condition your logic.

Example

When the action is not on its last scan (conveyor_start.Q =1), this statement turns on
conveyor_state. When conveyor_state turns on, the conveyor turns on.
On the last scan of the action (conveyor_start.Q =0), this statement turns off conveyor_state. When
conveyor_state turns off, the conveyor turns off.

You can also use a P0 Pulse (Falling Edge) action to clear data. This example
uses an action to turn on a conveyor at the start of a step. A different action
turns off the conveyor at the end of the step.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 37


Chapter 1 Design a sequential function chart

Example

This action turns on the conveyor. When conveyor_state turns on, the conveyor turns on.

Before the SFC leaves the step, the P0 action turns off the conveyor. On the last scan of the step,
conveyor_state turns off. This turns off the conveyor.

See also
SFC_STEP structure on page 19

Use the automatic Automatic reset provides a system-defined cleanup of actions (known as
postscan) when they are shut down when any of the following occur.
reset option
• transition out of the associated step
• reset of a stored action
• reset of an SFC routine
Postscan is similar to prescan in that most instructions are executed as if they
are FALSE. Some instructions have specific postscan behavior.
• In RLL, OTE instructions are turned off and non-retentive timers are
reset.
• In structured text, the destination of a non-retentive assignment "[:=]"
is cleared.
• A JSR instruction invokes its subroutine but parameters are not passed
and the logic in the subroutine is executed in postscan mode.
• An Add-On Instruction executes its logic routine in postscan mode and
then executes its postscan logic in normal mode (if a postscan routine
is configured).
• Any nested SFC (SFC that an action calls as a subroutine) is reset.
IMPORTANT The postscan of an action actually occurs when the action goes from active to
inactive. Depending on the qualifier of the action, the postscan could occur
before or after the last scan of the step.

As a general rule, the postscan executes instructions as if all conditions are


FALSE. For example, the Output Energize (OTE) instruction clears its data
during postscan.
Follow these steps to automatically turn off (clear) devices at the end of a step.
1. In the Last Scan of Active Steps property, select the Automatic reset
option.
2. To turn off a device at the end of the step, control the state of the
device with an assignment or instruction.

38 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart
• [:=] assignment (non-retentive assignment)
• Output Energize (OTE) instruction in a subroutine
Some instructions do not follow the general rule during postscan. For a
description of how a specific instruction executes during postscan, see these
publications.
• Logix 5000 Controllers General Instructions Reference Manual,
publication 1756-RM003
• Advanced Process Control and Drives and Phase Sequence Instruction
Reference Manual, publication 1756-RM006
• Logix 5000 Motion Controllers Instructions Reference Manual, MOTION-
RM002
Here is an example that uses a non-retentive assignment to control a
conveyor. It turns on a conveyor at the start of a step and automatically turns
off the conveyor when the step is done.

Example
Automatically Clear Data

• This action turns on the conveyor. When conveyor_state turns on, the conveyor turns on.
• When the SFC leaves the step, conveyor_state turns off. This turns off the conveyor.

See also
Logix 5000 Controllers General Instructions Reference Manual,
publication 1756-RM003
Advanced Process Control and Drives and Phase and Sequence
Instruction Reference Manual, publication 1756-RM006
Logix 5000 Motion Controllers Instructions Reference Manual,
publication MOTION-RM002

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 39


Chapter 1 Design a sequential function chart

Keep something on from To provide bumpless control of a device during more than one time or phase
(step), do one of the following options.
step-to-step
How do you want to control
the device?
Option Example
Use a simultaneous branch on page 40
Make a separate step that controls the device.

Store and reset an action on page 41


Note the step that turns on the device and the step that turns off the device.
Later, define a Stored and Reset Action pair to control the device.

Use one large step on page 42


Use one large step that contains all the actions that occur while the device is on.

Use a simultaneous branch A simple way to control a device or devices during one or more steps is to
create a separate step for the devices. Then use a simultaneous branch to
execute the step during the rest of the process.

40 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart

Example
A paint operation completes these actions.
1. Transfers the product into the paint shop.
2. Paints the product using 3 separate paint guns.
3. Cleans the guns.
4. Transfers the product to the paint ovens.

During the entire process, the system must control the shop fans.

Store and reset an action Typically, an action turns off (stops executing) when the SFC goes to the next
step. To keep a device on from step to step without a bump, store the action
that controls the device.

To store and reset an action


1. In the step that turns on the device, assign a stored qualifier to the
action that controls the device.
2. In the step that turns off the device, use a Reset action.
The following figure shows the use of a stored action.
Store the action name that
Step that starts you want to execute for more
the action than one step

• (more steps)
Reset the same action name
Step that stops as the stored action
the action

When the SFC leaves the step that stores the action, the Logix Designer
application continues to show the stored action as active. By default, a green
border displays around the action. This lets you know that the SFC is
executing the logic of that action.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 41


Chapter 1 Design a sequential function chart
To use a stored action, follow these guidelines.
• The Reset action only turns off the stored action. It does not
automatically turn off the devices of the action. To turn off the device,
follow the Reset action with another action that turns off the device. Or
use the Automatic reset option described in Use the automatic reset
option.
• Before the SFC reaches a stop element, reset any stored actions that
you do not want to execute at the stop. An active stored action remains
active even if the SFC reaches a stop.
• Use caution when you jump in between a step that stores an action and
a step that resets the action. Once you reset an action, it only starts
when you execute the step that stores the action.
In this example, step_1 – step_4 require a fan to be on. At the end of
step_4, the fan is reset (turned off). When the SFC jumps back to
step_3, the fan remains off.

To turn the fan back on, the SFC has to jump back to step_1.

See also
Use the automatic reset option on page 38

Use one large step If you use one large step for multiple functions, then use additional logic to
sequence the functions. One option is to nest an SFC within the large step.
In this example, a step turns on a fan and then calls another SFC. The nested
SFC sequences the remaining functions of the step. The fan stays on
throughout the steps of the nested SFC.

Example

42 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart
Use a Large Step

This action turns on a fan.


• fan.ProgProgReq lets the SFC command the state of the fan.
• fan.ProgCommand turns on the fan.

This action calls another SFC. The SFC


sequences the remaining functions of
the step.

End the SFC Once an SFC completes its last step, it does not automatically restart at the
first step. You must tell the SFC what to do when it finishes the last step.
To Do this

Automatically loop back to an earlier Wire the last transition to the top of the step to which you want to
step go.
Stop and wait for a command to restart Use a stop element.

See also
Use a stop element on page 43

Use a stop element The stop element lets you stop the execution of an entire SFC or of a path of a
simultaneous branch and wait to restart.

When an SFC reaches a stop element, the following actions occur.


• The X bit of the stop element turns on. This signals that the SFC is at
the stop element.
• Stored actions remain active.
• Execution stops for part or all of the SFC.
If the stop element is at the end of a Then

• Sequence The entire SFC stops


• Selection branch

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 43


Chapter 1 Design a sequential function chart
If the stop element is at the end of a Then

• Path within a simultaneous branch Only that path stops while the rest of the SFC
continues to execute.

Example

Use a stop element on page 43

When the SFC reaches last_step and process_done is TRUE, the


execution of the SFC stops.

Restart (reset) the SFC Once at the stop element, you have several options to restart the SFC.

If the SFC is And the Last Scan of the Active Steps Then
option is
Nested (i.e., another SFC calls this SFC • Automatic reset At the end of the step that calls the nested SFC, the nested SFC automatically
as a subroutine) resets.
• The nested SFC resets to the initial step.
• The X bit of the stop element in the nested SFC clears to zero.

• Programmatic reset 1. Use an SFC Reset (SFR) instruction to restart the SFC at the required step.
• Don’t scan 2. Use logic to clear the X bit of the stop element.

Not nested (i.e., no SFC calls this SFC -------------------------------> 1. Use an SFC Reset (SFR) instruction to restart the SFC at the required step.
as a subroutine) 2. Use logic to clear the X bit of the stop element.

Example
This example shows the use of the SFC Reset (SFR) instruction to restart the
SFC and clear the X bit of the stop element (see Restart (reset) the SFC).

44 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart
If SFC_a_stop.X = on (SFC_a is at the stop) and SFC_a_reset = on (time to reset the SFC) then for one scan (ons[ 0 ] = on):

Reset SFC_a to SFC_a_Step_1


SFC_a_stop.X = 0

See also
Restart (reset) the SFC on page 44

SFC_STOP structure Each stop uses a tag to provide information about the stop element.

If you want to Then check or set this Data type Details


member
Determine when the SFC is at the stop X BOOL • When the SFC reaches the stop, the X bit turns on.
• The X bit clears if you configure the SFCs to restart at the initial step and
the controller changes from program to run mode.
• In a nested SFC, the X bit also clears if you configure the SFCs for automatic
reset and the SFC leaves the step that calls the nested SFC.

Determine the target of an SFC Reset Reset BOOL An SFC Reset (SFR) instruction resets the SFC to a step or stop that the
(SFR) instruction instruction specifies.
• The Reset bit indicates to which step or stop the SFC will go to begin
executing again.
• Once the SFC executes, the Reset bit clears.

Determine how many times a stop has Count DINT This is not a count of scans of the stop.
become active • The count increments each time the stop becomes active.
• It increments again only after the stop goes inactive and then active again.
• The count resets only if you configure the SFC to restart at the initial step.
With that configuration, it resets when the controller changes from program
mode to run mode.

Use one tag for the various status bits Status DINT For this member Use this bit
of this stop
Reset 22
X 31

Nest an SFC One method for organizing your project is to create one SFC that provides a
high-level view of your process. Each step of that SFC calls another SFC that
performs the detailed procedures of the step (nested SFC).

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 45


Chapter 1 Design a sequential function chart
This figure shows one way to nest an SFC. In this method, the last scan option
of the SFC is configured for either Programmatic reset or Don’t Scan. If you
configure the SFC for Automatic reset, then step 1 in is unnecessary.

Reset the nested SFC.


• The SFR instruction restarts SFC_b at SFC_b_Step_1. Each time SFC_a leaves this step and then
returns, you have to reset SFC_b.
• The action also clears the X bit of the stop element.
Call SFC_b.
Stop SFC_b. This sets the X bit of the stop element.
Use the X bit of the stop element to signal that SFC_b is done and it is time to go to the next step.

46 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart

Pass parameters To pass parameters to or from an SFC, place a Subroutine/Return element in


the SFC.

Configure when to By default, an SFC executes a step or group of simultaneous steps and then
returns to the operating system (OS) or the calling routine (JSR).
return to the OS/JSR

You have the option of letting the SFC execute until it reaches a false
transition. If several transitions are TRUE at the same time, this option
reduces the time to get to the correct step.
Select the Execute until FALSE transition option only when either of these are
true:
• You do not have to update JSR parameters before each step.
Parameters update only when the SFC returns to the JSR.
• A FALSE transition occurs within the watchdog timer for the task. If
the time that it takes to return to a JSR and complete the rest of the
task is greater than the watchdog timer, a major fault occurs.
Pause or reset an SFC Two optional instructions are available that give you further control over the
execution of your SFC.
If you want to Then use this instruction

Pause an SFC Pause SFC (SFP)


Reset an SFC to a specific step or stop Reset SFC (SFR)

Both instructions are available in the ladder logic and structured text
programming languages.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 47


Chapter 1 Design a sequential function chart

Execution diagrams The following diagrams show the execution of an SFC with different
organizations of steps or different selections of execution options.
• Execution of a sequence
• Execution of a simultaneous branch
• Execution of a selection branch
• When parameters enter and exit an SFC
• Options for execution control
The following diagram shows the execution of a sequence.
This… …executes like this

The following diagram shows the execution of a simultaneous branch.


This… …executes like this

48 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart

The following diagram shows the execution of a selection branch.


This… …executes like this

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 49


Chapter 1 Design a sequential function chart

The following diagram shows when parameters enter and exit an SFC

The following diagram shows options for execution control.


This SFC…

50 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 1 Design a sequential function chart

…executes like this


Execute current active steps only Execute until FALSE transition

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 51


Chapter 2

Program a sequential function chart

Introduction To add SFC elements, use the SFC toolbar.

Add and manually Use these steps to add and manually connect element.
connect elements
To add and manually connect elements
1. On the SFC toolbar, click the button for the item that you want to add.
2. Drag the element to the required location on the SFC.

3. To wire (connect) two elements together, click a pin on one of the


elements and then click the pin on the other element . A green
dot shows a valid connection point.
IMPORTANT Use caution when copying and pasting components between different
versions of the Logix Designer application. The application only supports
pasting to the same version or newer. Pasting to a prior version of the
application is not supported. When pasting to a prior version, the paste action
may succeed but the results may not be as intended.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 53


Chapter 2 Program a sequential function chart

Add and automatically 1. Click the element to which you want to connect a new element.
2. With the element still selected, click the toolbar button for the next
connect elements element.
Drag elements From the SFC toolbar, drag the button for the required element to the correct
connection point on the SFC. A green dot shows a valid connection point.

Create a simultaneous Use the instructions in this section to create a simultaneous branch.

branch
Follow these instructions to start a simultaneous branch.
Start a simultaneous
1. On the SFC toolbar, click the button. Drag the new branch to the
branch correct location.
2. To add a path to the branch, click the first step of the path that is to the
left of where you want to add the new path. Click .

54 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 2 Program a sequential function chart
3. To wire the simultaneous branch to the preceding transition, click the
bottom pin of the transition and then click the horizontal line of
the branch . A green dot shows a valid connection point.
End a simultaneous branch 1. Select the last step of each path in the branch. To select the steps, do
either of these actions.
• Drag the pointer around the steps that you want to select.
• Click the first step. Hold down Shift while clicking the rest of the
steps that you want to select.

2. On the SFC toolbar, click .


3. Add the transition that follows the simultaneous branch.

4. To wire the simultaneous branch to the transition, click the top pin of
the transition and then click the horizontal line of the branch .
A green dot shows a valid connection point.
Create a selection branch Follow the instructions in this section to create a selection branch.

Start a selection branch 1. On the SFC toolbar, click the button. Then drag the new
branch to the correct location.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 55


Chapter 2 Program a sequential function chart
2. To add a path to the branch, click the first transition of the path that is
to the left of where you want to add the new path. Click .

3. To wire the selection branch to the preceding step, click the bottom pin
of the step and then click the horizontal line of the branch . A
green dot shows a valid connection point.
End a selection branch 1. Select the last transition of each path in the branch. To select the
transitions, do either of these actions.
• Drag the pointer around the transitions that you want to select.
• Click the first transition. Hold down Shift while clicking the rest of
the transitions that you want to select.

2. On the SFC toolbar, click .


3. Add the step that follows the selection branch.

4. To wire the selection branch to the step:


1. Click the top pin of the step .
2. Click the horizontal line of the branch .
A green dot shows a valid connection point.

56 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 2 Program a sequential function chart

Set the priorities of a By default, the SFC checks the transitions that start a selection branch from
left to right. If you want to check a different transition first, assign a priority
selection branch to each path of the selection branch. For example, it is a good practice to
check for error conditions first. Then check for normal conditions.
1. Right-click the horizontal line that starts the branch and then click Set
Sequence Priorities.
2. Clear the Use default priorities check box and select a transition.

Use the Move buttons to raise or lower the priority of the transition.
3. When all the transitions have the correct priority, click OK.
When you clear the Use default priorities check box, numbers show the
priority of each transition.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 57


Chapter 2 Program a sequential function chart

Connect a wire to the step You may have to reposition a wire after you connect it to a step. This example
shows how to go to Step_001 from Tran_003.

Click the lower pin of the transition that signals the jump.
Then click the top pin of the step to which you want to go. A green dot shows a valid connection
point.
To make the jump easier to read, drag its horizontal bar above the step to which the jump goes. You
may also have to reposition some of the SFC elements.

Hide a wire If a wire gets in the way of other parts of your SFC, hide the wire to make the
SFC easier to read. To hide a wire, right-click the wire and select Hide Wire.

58 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 2 Program a sequential function chart
To see the SFC element to which the wire goes, click the grid location on the
wire.

Location to which the wire goes

Configure a step Follow the instructions in this section to configure a step.

Assign the preset Use these steps to assign the present time for a step.

time for a step


To assign the present time for a step
1. Click the button of the step.

2. In the Step Properties dialog box, on the General tab, in the Preset
box, enter the time for the step, in milliseconds.
3. Click OK.
When the step is active for the preset time (Timer = Preset), the DN bit of the
step turns on.
To calculate the preset time for a step at runtime, see Use an expression to
calculate a time.

See also
Use an expression to calculate a time on page 59

Configure alarms for a step Follow these steps to turn on an alarm if a step executes too long or not long
enough.
1. Click the button of the step.
2. In the Step Properties dialog box, on the General tab, select the Alarm
Enable check box.

3. Enter the time for the high alarm (Limit High) and low alarm (Limit
Low), in milliseconds.
4. Click OK.
Use an expression to To calculate a time based on tags in your project, enter the time as a numeric
calculate a time expression. You can use an expression to calculate these values.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 59


Chapter 2 Program a sequential function chart
• Preset
• LimitHigh
• LimitLow
Follow these steps to enter a time as an expression.
1. Click the button of the step.
2. In the Step Properties dialog box, on the General tab, select the Use
Expression check box.

3. Click Define and enter an expression.

Browse for a tag


Choose a function
Choose an operator
Create a tag

4. Enter a numeric expression that defines the time. Use the buttons on
the right side of the dialog box to help you complete the expression.
5. Click OK.
6. To close the Step Properties dialog box, click OK.
Program a transition The simplest way to program the transition is to enter the conditions as a
BOOL expression in structured text.
Enter a BOOL expression

To enter a BOOL expression


1. Double-click the text area of the transition.

2. Type the BOOL expression that determines when the transition is


TRUE or FALSE.
3. To close the text entry window, press Ctrl+Enter.

60 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 2 Program a sequential function chart
This example shows three transitions that use a BOOL expression (see Enter a
BOOL expression).

Example

Tag name of the transition.

BOOL expression that controls when the transition is TRUE or FALSE

See also
Enter a BOOL expression on page 60

Call a subroutine when 1. In the SFC, right-click the transition and then click Set JSR.
2. In the Routine box, select the routine to call.
programming a transition

3. Click OK.

Add an action To add an action to a step, right-click the step in which the action executes
and then click Add Action.

Configure an action Follow the instructions in this section to configure an action.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 61


Chapter 2 Program a sequential function chart

Change the qualifier A qualifier determines when an action starts and stops. The default qualifier
is N Non-Stored. The action starts when the step is activated and stops when
of an action the step is deactivated.
1. Click the button in the action.
2. In the Action Properties dialog box, on the General tab, select the
qualifier for the action.

If you chose a timed qualifier, type the time limit or delay for the
action, in milliseconds. These are the timed qualifiers.
• L Time Limited
• SL Stored and Time Limited
• D Time Delayed
• DS Delayed and Stored
• SD Stored and Time Delayed
3. Click OK.
Calculate a preset To calculate a preset value based on tags in your project, enter the value as a
time at runtime numeric expression.
1. Click the button of the action.
2. Check the Use Expression check box.

3. Click Define and enter an expression.

Browse for a tag


Choose a function
Choose an operator
Create a tag

4. Enter a numeric expression that defines the preset time. Use the
buttons on the right side of the dialog box to help you complete the
expression.
5. Click OK.

62 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 2 Program a sequential function chart
6. To close the Action Properties dialog box, click OK.
Mark an action as a Use a Boolean action to only set a bit when the action executes.
BOOLean action 1. Click the button in the action.
2. In the Action Properties dialog box, select the Boolean check box.

3. Click OK.
Program an action You can use structured text or a subroutine to program an action.

Enter structured text The easiest way to program an action is to write the logic as structured text
within the body of the action. When the action turns on, the controller
executes the structured text.
1. Double-click the text area of the action.

2. Type the required structured text.


3. To close the text entry window, press Ctrl+Enter.

Call a subroutine Use a Jump to Subroutine (JSR) instruction to execute a subroutine when the
in an action action is active.
1. In the SFC, right-click the action and then click Set JSR.
2. In the Routine box, select the routine to call.

3. To pass a parameter to the routine, click an empty Input Parameters


box. Click the down arrow and then click the tag that contains the
parameter.
4. To receive a parameter from the routine, click an empty Return
Parameters box. Click the down arrow and then click the tag in which
to store the parameter from the routine.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 63


Chapter 2 Program a sequential function chart
5. Click OK.

Assign the execution Actions execute in the order in which they appear.
order of actions

When Step_003 is active, its actions execute in this order.


1. Action_000
2. Action_001
3. Action_002
To change the order in which an action executes, drag the action to the correct
location in the sequence. A green bar shows a valid placement location. The
following shows dragging Action_002 from after Action_001 to before
Action_001.

Document an SFC You can document these SFC components.

To document this And you want to Do this

General information about the SFC -----------------------------------------> Add a text box on page 66
Step -----------------------------------------> Add a text box on page 66
-or-
Add a tag description on page 66

Transition • Download the documentation to the controller Add structured text comments on page 65
• Have the option of showing or hiding the Add a text box on page 66
documentation -or-
• Position the documentation anywhere in the SFC Add a tag description on page 66
Action Download the documentation to the controller Add structured text comments on page 65
Stop -----------------------------------------> Add a text box on page 66

64 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 2 Program a sequential function chart
To document this And you want to Do this

Other element (such as a selection branch) -----------------------------------------> -or-


Add a tag description on page 66

Language switching With version 17 and later of the application, you have the option to display
project documentation, such as tag descriptions and rung comments for any
supported localized language. You can store project documentation for
multiple languages in a single project file rather than in language-specific
project files. You define all the localized languages that the project supports
and set the current, default, and optional custom localized language. The
default language is used if the current language's content is blank for a
particular component of the project. However, you can use a custom language
to tailor documentation to a specific type of project file user. Enter the
localized descriptions in your project, either when programming in that
language or by using the import/export utility to translate the documentation
off-line and then import it back into the project. Once you enable language
switching, you can dynamically switch between languages as you use the
software.
Project documentation that supports multiple translations includes these
variables:
• Component descriptions in tags, routines, programs, Equipment
Phases, Equipment Sequences, user-defined data types, and Add-On
Instructions
• Engineering units and state identifiers added to tags, user-defined
data types, or Add-On Instructions
• Trends
• Controllers
• Alarm Messages (in configuration of ALARM_ANALOG and
ALARM_DIGITAL tags)
• Tasks
• Property descriptions for module in the Controller Organizer
• Rung comments, SFC text boxes, and FBD text boxes
For more information on enabling a project to support multiple translations
of project documentation, see the online help.

Add structured Comments embedded in the structured text section of an action are
downloaded into controller memory and are available for upload.
text comments
1. Double-click the text area of the action.

2. Type the comments.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 65


Chapter 2 Program a sequential function chart
To add a comment Use one of these formats

On a single line //comment


At the end of a line of structured text (*comment*)
/*comment*/

Within a line of structured text (*comment*)


/*comment*/

That spans more than one line (*start of comment . . . end of comment*)
/*start of comment . . . end of comment*/

3. To close the text entry window, press Ctrl+Enter.


Add a tag description 1. Click the button of the element.
2. In the element Properties dialog box, click the Tag tab and type the
description for the element.

3. Click OK.
4. Drag the description box to the correct location on the SFC.
Add a text box A text box lets you add notes that clarify the function of an SFC element (step,
transition, or stop. Text boxes are only stored in the offline, ACD project file.
Text boxes are not downloaded into controller memory.
Or you can use a text box to capture information that you can use later on.

1. Click the Text Box icon .


A text box appears.

2. Drag the text box to a location near the element to which it applies.
3. Double-click the text box and type the note. Then press Ctrl+Enter.
4. As you move the element on the SFC, what do you want the text box to
do?
If you the text box to Then

Stay in the same spot Stop. You are done.

Move with the element to which it applies Go to step 5.

66 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 2 Program a sequential function chart
5. Click the pin symbol in the text box and then click the SFC element to
which you want to attach the text box. A green dot shows a valid
connection point.

Show or hide text boxes You have the option of showing or hiding both text boxes and tag
or tag descriptions descriptions. If you select to show descriptions, the SFC window only shows
the descriptions for steps, transitions, and stops (not actions).
1. From the Tools menu, select Options.
2. Under SFC Editor, select the Display category.

3. Select the check boxes for the features you want to appear on SFC
windows.
Hide an individual Follow these steps to hide the description of a specific element while showing
tag description other descriptions.
1. Click the button of the element whose description you want to
hide.
2. Select the Never display description in routine check box.

3. Click OK.
Configure the execution The SFC Execution tab of the controller properties lets you configure these
of the SFC decisions.
• What to do when a transition is TRUE.
• Where to start after a transition to the Run mode or recovery from a
power loss.
• What to do on the last scan of a step.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 67


Chapter 2 Program a sequential function chart
1. On the Online toolbar, click the controller properties button.

2. Select the SFC Execution tab.


3. Choose one of the following.
• Whether or not to return to the OS/JSR if a transition is TRUE
(Execution Control).
• Where to restart the SFC (Restart Position).
The restart position applies when the controller loses power or
leaves the Run or Remote Run mode.
If you want to restart at the Select

Last step that was running Restart at most recently executed step
Initial step Restart at initial step

The restart position does not apply for major faults. After you clear a
major fault, the SFC always restarts at the initial step.
• What to do on the last scan of a step (Last Scan of Active Steps).
4. Click OK.
Verify the routine As you program your routine, periodically verify your work.

To verify the routine


1. In the main toolbar of the application window, click .
2. Follow these steps if any errors are listed in the Output window.
a. To go to the first error or warning, press F4.
b. Correct the error according to the description in the in
the Output window on the Search Results tab.

c. Repeat step 1.
3. To close the Results window, press Alt+1.
To check your SFC, you can use either of these options.
• Force transitions
• Step through the SFC
See the chapter on Force steps.

68 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 2 Program a sequential function chart

See also
Force steps on page 71

Edit an SFC online Firmware revision 13 added support for editing SFCs online. When you
transition the controller to test or un-test edits, the controller resets the SFC
and starts execution at the initial step. Keep these guidelines in mind if you
edit an SFC online.
• Time when you test or un-test edits to coincide with the SFC execution
of the initial step.
• Place structured text logic in subroutines to minimize the impact of
online edits.
• Use an SFR instruction to programmatically shift SFC execution to the
correct step.
Maintain active SFC step As of firmware revision 18, the following online edits to an SFC no longer
reset the SFC to the initial step.
• Modify structured text in actions and transitions
• Physically move steps, actions, and transitions on SFC sheets without
changing the wiring
• Add, delete, or modify text and description boxes
• Modify indicator tags
• Add, delete or modify an SBR/RET
• Add, delete or modify any step or action expression

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 69


Chapter 3

Force steps

Introduction Use a force to override data that your logic either uses or produces.
• Test and debug your logic.
• Temporarily keep your process functioning when an input device has
failed.
Use forces only as a temporary measure. They are not intended to be a
permanent part of your application.

Precautions Make sure you understand the following before using forces.

ATTENTION: Forcing can cause unexpected machine motion that could injure personnel.
Before you use a force, determine how the force will affect your machine or process and keep
personnel away from the machine area.
• Enabling SFC forces causes your machine or process to go to a different state or phase.
• Removing forces may still leave forces in the enabled state.
• If forces are enabled and you install a force, the new force immediately takes effect.

Enable forces For a force to take effect, you enable forces. You can only enable and disable
forces at the controller level.

To enable forces
• You can enable I/O forces and SFC forces separately or at the same
time.
• You cannot enable or disable forces for a specific module, tag
collection, or tag element.
IMPORTANT If you download a project that has forces enabled, the programming software
prompts you to enable or disable forces after the download completes.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 71


Chapter 3 Force steps
When forces are in effect (enabled), a and TRUE or FALSE appears next to
the forced element.

Disable or remove a force To stop the effect of a force and let your project execute as programmed,
disable or remove the force.
• You can disable or remove I/O and SFC forces at the same time or
separately.
• Removing a force on an alias tag also removes the force on the
base tag.
ATTENTION: Changes to forces can cause unexpected machine motion that could
injure personnel. Before you disable or remove forces, determine how the change will
affect your machine or process and keep personnel away from the machine area.

Check force status Before you use a force, determine the status of forces for the controller.
To determine the status of Use any of the following

I/O forces • Online toolbar


• FORCE LED
• GSV instruction

SFC forces Online Toolbar

The Online toolbar shows the status of forces. It shows the status of I/O forces
and SFC forces separately.

Forces tab status Means

Enabled • If the project contains any forces of this type, they are overriding your
logic.
• If you add a force of this type, the new force immediately takes effect

72 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 3 Force steps
Forces tab status Means

Disabled Forces of this type are inactive. If the project contains any forces of this
type, they are not overriding your logic.
Installed At least one force of this type exists in the project.
None Installed No forces of this type exist in the project.

Force LED If your controller has a FORCE LED, use the LED to determine the status of
any I/O forces.
IMPORTANT The FORCE LED shows only the status of I/O forces. It does not show the status of SFC
forces.

If the FORCE LED is: Then:

Off • No tags contain force values.


• I/O forces are inactive (disabled).
Flashing • At least one tag contains a force value.
• I/O forces are inactive (disabled).
Solid • I/O forces are active (enabled).
• Force values may or may not exist.

GSV instruction This example shows how to use a GSV instruction to get the status of forces.
IMPORTANT The ForceStatus attribute shows only the status of I/O forces. It does not show the
status of SFC forces.

where:
Force_Status is a DINT tag.
To determine if Examine this bit For this value

forces are installed 0 1


no forces are installed 0 0
forces are enabled 1 1
forces are disabled 1 0

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 73


Chapter 3 Force steps

Step through a transition To override a false transition one time and go from an active step to the next
step, use the Step Through option.
or a force of a path
• You do not have to add, enable, disable, or remove forces.
• The next time the SFC reaches the transition, it executes according to
the conditions of the transition.
This option also lets you override one time the false force of a simultaneous
path. When you step through the force, the SFC executes the steps of the path.
Follow these steps to step through the transition of an active step or a force of
a simultaneous path.
1. Open the SFC routine.
2. Right-click the transition or the path that is forced and then click Step
Through.
When to use an SFC force To override the logic of an SFC, you have these options.
If you want to Then

Override the conditions of a transition each time the Force a transition.


SFC reaches the transition
Prevent the execution of one or more paths of a Force a simultaneous path.
simultaneous branch

Force a transition To override the conditions of a transition through repeated executions of an


SFC, force the transition. The force remains until you remove it or disable
forces.
If you want to Then

Prevent the SFC from going to the next step Force the transition FALSE.
Cause the SFC go to the next step regardless of transition conditions Force the transition FALSE.

If you force a transition within a simultaneous branch to be FALSE, the SFC


stays in the simultaneous branch as long as the force is active (installed and
enabled).
• To leave a simultaneous branch, the last step of each path must execute
at least one time and the transition below the branch must be TRUE.
• Forcing a transition FALSE prevents the SFC from reaching the last
step of a path.
• When you remove or disable the force, the SFC can execute the rest of
the steps in the path.

74 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 3 Force steps

For example, to exit this branch, the


SFC must be able to complete these
actions.
• Execute Step_011 at least once
• Get past Tran_011 and execute
Step_012 at least once
• Determine that Tran_012 is TRUE

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 75


Chapter 3 Force steps

Force a simultaneous path To prevent the execution of a path of a simultaneous branch, force the path
FALSE. When the SFC reaches the branch, it executes only the un-forced
paths.
This path executes. This path does not
execute.

If you force a path of a simultaneous branch to be FALSE, the SFC stays in the
simultaneous branch as long as the force is active (installed and enabled).
• To leave a simultaneous branch, the last step of each path must execute
at least one time and the transition below the branch must be TRUE.
• Forcing a path FALSE prevents the SFC from entering a path and
executing its steps.
• When you remove or disable the force, the SFC can execute the steps in
the path.
Add an SFC force To override the logic of an SFC, use an SFC force.
ATTENTION: Forcing can cause unexpected machine motion that could injure personnel.
Before you use a force, determine how the force will affect your machine or process and keep
personnel away from the machine area.
• Enabling SFC forces causes your machine or process to go to a different state or phase.
• If forces are enabled and you install a force, the new force immediately takes effect.

76 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Chapter 3 Force steps

To add an SFC force


1. What is the state of the SFC Forces indicator?

If Then

Off No SFC forces currently exist.


Flashing No SFC forces are active. But at least one force already exists in your project. When
you enable SFC forces, all existing SFC forces will also take effect.

Solid SFC forces are enabled (active). When you install (add) a force, it immediately takes
effect.

2. Open the SFC routine.


3. Right-click the transition or start of a simultaneous path that you want
to force, and then click either Force TRUE (only for a transition)
or Force FALSE.
4. Are SFC forces enabled (See step 1)?
If Then

No From the Logic menu, choose SFC Forcing > Enable All SFC Forces. Then choose Yes
to confirm.
Yes Stop.

Remove or disable forces Make sure you understand the following before using forces.
ATTENTION: Changes to forces can cause unexpected machine motion that could
injure personnel. Before you disable or remove forces, determine how the change will affect
your machine or process and keep personnel away from the machine area.

Disable all SFC forces From the Logic menu, click SFC Forcing and then click
Disable All SFC Forces. Then click Yes to confirm.

Remove all SFC forces From the Logic menu, click SFC Forcing and then click
Remove All SFC Forces. Then click Yes to confirm.

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 77


Index
don't scan
sequential function chart 36

Index E
enable
force 71
EOT instruction 63
A expression
action 63 BOOL expression 31, 60
assign qualifier 62 numeric expression 59, 62
boolean 26
call a subroutine 63
F
choose between boolean and non- force
boolean 25 disable 72
data type 27 enable 71
non-boolean 25 LED 72
program 25 monitor 72
reset 41 remove 72
store 41 function block diagram
use expression 62
force a value 71
use of boolean action 26
use of structured text 63 J
alarm
sequential function chart 31, 59 jump
automatic reset sequential function chart 24
sequential function chart 38
L
B ladder logic
BOOL expression force a value 71
sequential function chart 31, 60 override a value 71
boolean action 26, 63 last scan
program 26 sequential function chart 34
branch LED
sequential function chart 21 force 72

C M
call a subroutine 31, 61, 63 mark as boolean 63
configure monitor
alarm 59 forces 72
step 59
N
D numeric expression 59, 62
disable
force 72
P
documentation periodic task
show or hide in sequential function chart application for 16
67 postscan

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 79


Index
sequential function chart 34 text box 66
program wire 24
action 25 SFC_ACTION structure 27
boolean action 26 SFC_STEP structure 19
programmatic reset option 36 SFC_STOP structure 45
SFR instruction 44, 45
Q simultaneous branch 24
status
qualifier
force 72
assign 62
step
R alarm 31
assign preset time 59
remove configure 59
force 72 configure alarm 59
reset data type 19
action 41 organize in sequential function chart
SFC 44 21
reset an SFC 45 selection branch 23
restart sequence 23
simultaneous branch 24
sequential function chart 44
timer 31
routine
stop
as transition 63
data type 45
nest within sequential function chart
sequential function chart 43
45
verify 68 store
action 41
S structure
SFC_ACTION 27
selection branch
SFC_STEP 19
overview 23 SFC_STOP 45
sequential function chart structured text
action 25, 41, 63 comments 65
automatic reset option 38 force a value 71
boolean action 26 in action 63
call a subroutine 63
subroutine
define tasks 16
call a subroutine 31, 61, 63
don't scan option 36
force element 71 T
last scan 34
nest 45 task
numeric expression 59, 62 define 16
organize steps 21 text box
programmatic reset option 36 sequential function chart 66
reset 34, 44, 45 show or hide in sequential function chart
restart 44 67
selection branch 23 transition
sequence 23 BOOL expression 31
show or hide documentation 67 call a subroutine 31, 61
simultaneous branch 24 choose program method 30
step 21, 59 EOT instruction 63
stop 43

80 Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Index
use of a subroutine 63

V
verify
routine 68

W
wire
sequential function chart 24

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020 81


Rockwell Automation support
Use these resources to access support information.
Technical Support Center Find help with how-to videos, FAQs, chat, user forums, and product notification rok.auto/support
updates.
Knowledgebase Access Knowledgebase articles. rok.auto/knowledgebase
Local Technical Support Phone Numbers Locate the telephone number for your country. rok.auto/phonesupport

Literature Library Find installation instructions, manuals, brochures, and technical data publications. rok.auto/literature
Product Compatibility and Download Center Get help determining how products interact, check features and capabilities, and rok.auto/pcdc
(PCDC) find associated firmware.

Documentation feedback
Your comments help us serve your documentation needs better. If you have any suggestions on how to improve our content, complete the form
at rok.auto/docfeedback.

Waste Electrical and Electronic Equipment (WEEE)


At the end of life, this equipment should be collected separately from any unsorted municipal waste.

Rockwell Automation maintains current product environmental information on its website at rok.auto/pec.

Allen-Bradley, expanding human possibility, Logix, Rockwell Automation, and Rockwell Software are trademarks of Rockwell Automation, Inc.

EtherNet/IP is a trademark of ODVA, Inc.

Trademarks not belonging to Rockwell Automation are property of their respective companies.

Rockwell Otomayson Ticaret A.Ş. Kar Plaza İş Merkezi E Blok Kat:6 34752, İçerenkÖy, İstanbul, Tel: +90 (216) 5698400 EEE YÖnetmeliğine Uygundur

Rockwell Automation Publication 1756-PM006J-EN-P - September 2020


Supersedes Publication 1756-PM006I-EN-P - February 2018 Copyright © 2020 Rockwell Automation Technologies, Inc. All Rights Reserved. Printed in the U.S.A.

You might also like