1756 pm009 - en P - FBD
1756 pm009 - en P - FBD
1756 pm009 - en P - FBD
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.
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).
Rockwell Automation recognizes that some of the terms that are currently used in our industry and in this publication are not in
alignment with the movement toward inclusive language in technology. We are proactively collaborating with industry peers to
find alternatives to such terms and making changes to our products and content. Please excuse the use of such terms in our
content while we implement these changes.
Global changes
None in this release.
Chapter 1
Program a Function Block Introduction ................................................................................................ 11
Diagram Choose the function block elements ........................................................ 12
Choose a tag name for an element ........................................................... 12
Define the order of execution .................................................................... 13
Data latching ........................................................................................ 13
Order of execution ............................................................................... 15
Resolve a loop ....................................................................................... 16
Resolve data flow between two blocks ................................................ 17
Create a one scan delay ........................................................................ 17
Summary............................................................................................... 18
Identify any connectors ............................................................................. 18
Define program/operator control ............................................................. 18
Add a sheet .................................................................................................. 21
Add a function block element .................................................................... 21
Use functions ....................................................................................... 22
Create a text box .........................................................................................23
Language switching ............................................................................ 24
Connect elements ...................................................................................... 25
Show or hide a pin ............................................................................... 25
Wire elements together ...................................................................... 25
Mark a wire with the Assume Data Available indicator ................... 25
Assign a tag ................................................................................................ 26
Create and assign a new tag ............................................................... 26
Assign an existing tag ......................................................................... 27
Assign an immediate value (constant)..................................................... 28
Use an IREF ......................................................................................... 28
Enter a value in the tag of a block ...................................................... 28
Connect blocks with an OCON and ICON .............................................. 28
Add an OCON ...................................................................................... 29
Add an ICON ....................................................................................... 29
Rename a wire connector ................................................................... 29
Rename a connector group ................................................................ 29
Verify the routine ...................................................................................... 30
Index
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.
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.
Introduction To make it easier to navigate through a function block routine, divide the
routine into a series of sheets.
• Sheets help organize function blocks and make them easier to locate.
They do not affect the order in which the function blocks execute.
• When the routine executes, all the sheets execute.
• In general, use one sheet for each device, such as a motor or valve.
Example
Function block routine divided into sheets:
elements
Disperse data to several points in the routine Single output wire connector (OCON) and multiple input wire connectors (ICON)
Choose a tag name for an Each function block uses a tag to store configuration and status information
about the instruction.
element
• The Logix Designer application automatically creates a tag for each
new function block instruction. Use this tag, rename the tag, or assign
a different tag.
• For IREFs and OREFs, create a tag or assign an existing tag.
For a: Specify:
Tag tag_name
Bit number of a larger data type tag_name.bit_number
Member of a structure tag_name.member_name
Element of a one dimension array tag_name[x]
Element of a two dimension array tag_name[x,y]
Element of a three dimension array tag_name[x,y,z]
Element of an array within a structure tag_name.member_name[x]
Member of an element of an array tag_name[x,y,z].member_name
where:
Define the order of Define execution order (flow of data) by wiring elements together and
indicating any input (feedback) wires, if necessary. The location of a block
execution does not affect the order in which the blocks execute.
Data latching When an IREF specifies input data for a function block instruction, the data
in that IREF is latched for the scan of the function block routine. The IREF
latches data from program-scoped and controller-scoped tags. The controller
updates all IREF data at the beginning of each scan as shown in this diagram.
In this example, the value of tagA is stored at the beginning of the execution
of the routine. The stored value is used when Block_01 executes. The same
stored value is also used when Block_02 executes. If the value of tagA changes
This example is the same as the previous example. The value of tagA is stored
only once at the beginning of the execution of the routine. The routine uses
this stored value throughout the routine.
With version 11 and later of the application, use the same tag in multiple
IREFs and an OREF in the same routine. Because the values of tags in IREFs
are latched every scan through the routine, all IREFs use the same value, even
if an OREF obtains a different tag value during execution of the routine. In
this example, if tagA has a value of 25.4 when the routine starts executing this
scan, and Block_01 changes the value of tagA to 50.9, the second IREF wired
into Block_02 still uses a value of 25.4 when Block_02 executes this scan.
Order of execution The Logix Designer application automatically determines the order of
execution for the function blocks in a routine when:
• Verifying a function block routine.
• Verifying a project that contains a function block routine.
• Downloading a project that contains a function block routine.
Define the order of execution by wiring function blocks together and
indicating the data flow of any feedback wires, if necessary.
If function blocks are not wired together, it does not matter which block
executes first. There is no data flow between the blocks.
If the blocks are wired sequentially, the order of execution moves from input
to output. The inputs of a block require data to be available before the
controller can execute that block. In this example, block 2 has to execute
before block 3 because the outputs of block 2 feed the inputs of block 3.
Resolve a loop To create a feedback loop around a block, wire an output pin of the block to an
input pin of the same block. In this example, the loop contains only a single
block, so execution order does not matter.
If a group of blocks are in a loop, the controller cannot determine which block
to execute first, and it cannot resolve the loop, as illustrated in this example.
To identify which block to execute first, mark the input wire that creates the
loop (the feedback wire) with the Assume Data Available indicator. In this
example, block 1 uses the output from block 3 that was produced in the
previous execution of the routine.
The Assume Data Available indicator defines the data flow within the loop.
The arrow indicates that the data serves as input to the first block in the loop.
Do not mark all the wires of a loop with the Assume Data Available indicator.
The Assume Data Available indicator defines the data flow within the loop. The controller cannot resolve the loop because all the wires use the Assume Data
Available indicator.
Resolve data flow between When using two or more wires to connect two blocks, use the same data flow
indicators for all of the wires between the two blocks.
two blocks
This is OK This is NOT OK
In this example, neither wire uses the Assume Data Available indicator. In this example, only one wire uses the Assume Data Available indicator.
In this example, both wires use the Assume Data Available indicator.
Create a one scan delay Use the Assume Data Available indicator to produce a one scan delay between
blocks. In this example, block 1 executes first. It uses the output from block 2
that was produced in the previous scan of the routine.
Example
When the TIC101AutoReq button is pressed, one-shot latch ProgAutoReq for
the PIDE instruction TIC101.
TIC101 is configured with the ProgValueReset input set, so when the PIDE
instruction executes, it automatically clears ProgAutoReq.
Tip: Alternatively, drag the button for the element directly to the desired location.
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 version. 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.
Use functions Use Function Block functions to carry out mathematical, comparison, and
logical operations. Functions in the Function Block Diagram Editor are
similar to instructions, but do not require backing tags, require less memory
than instructions, sometimes execute more quickly, and use less space in a
function block diagram.
Tip: Function Block functions are available only on CompactLogix 5380,
CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and
GuardLogix 5580 controllers.
This table lists the functions that are available in the categories on the FBD
Element toolbar:
Toolbar category Function Symbol
Advanced Math LN (Natural Log)
LOG (Log Base 10)
XPY (X to the power of Y)
Compute / Math ADD
SUB
MUL
DIV
Create a text box Create a text box to add notes that clarify the function of an FBD element,
such as blocks, references, and connectors. Text boxes are only stored in the
offline, ACD project file. Text boxes are not downloaded into controller
memory.
Language switching Versions 17 and later of the Logix Designer application can display project
documentation, such as tag descriptions and rung comments, for any
supported localized language. Store project documentation for multiple
languages in a single project file rather than in language-specific project files.
Define all the localized languages that the project will support and set the
current, default, and optional custom localized language. The default
language is used if the current content of the language is blank for a particular
component of the project. Use a custom language to tailor documentation to a
specific type of project file user.
Enter the localized descriptions in a project by programming in that language,
or by using the import/export utility to translate the documentation offline
and import it back into the project. When language switching is enabled,
users can dynamically switch between languages.
Project documentation that supports multiple translations within a project
includes:
• Component descriptions in tags, routines, programs, user-defined
data types, and Add-On Instructions.
• Equipment phases.
• Trends.
• Controllers.
• Alarm Messages (in ALARM_ANALOG and ALARM_DIGITAL
configuration).
• Tasks.
• Property descriptions for modules 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.
Connect elements Function Block instructions provide a set of pins for the default parameters.
The rest of the pins are hidden. Show or hide a pin on the Parameters tab in
Show or hide a pin the Properties dialog box.
2. In the Properties dialog box, on the Parameters tab, clear the Vis
check box to hide the pin. Select the Vis check box to show the pin.
3. Click OK.
Wire elements together Wire (connect) two elements together by clicking the output pin of the first
element and clicking the input pin of the other element. A green dot shows a
valid connection point.
Item Description
Mark a wire with the When there are a group of blocks in a loop, identify which block executes first.
The Assume Data Available indicator marks the input wire that creates the
Assume Data Available loop (the feedback wire). It defines the data flow within the loop.
indicator
• To define a wire as an input wire, right-click the wire and click Assume
Data Available.
The arrow indicates that the data serves as input to the first block in the loop.
Assign a tag Create and assign a new tag to the connector or assign an existing tag to the
connectors.
Create and assign a new 1. Double-click the operand area to enter a name.
tag
2. In the box, type a name for the tag and press Enter.
3. Right-click the tag name, and click New <tag name>.
4. On the New Parameter or Tag dialog box, in the Usage list, click a
usage value for the tag. The default is a local tag.
7. On the Select Data Type dialog box, click the data type for the tag.
8. If the tag is an array, in the Dim 0 box, type or select the number of
elements in each dimension.
9. Click OK.
10. On the New Parameter or Tag dialog box, in the Scope list, click the
scope for the tag.
Assign an immediate value You can assign a constant value instead of a tag value to an input parameter.
(constant) If you want to: Then:
Make the value visible on the diagram and in reports Use an IREF on page 28
Change the value online without editing the routine Enter a Value in the Tag of a Block on page
28
Enter a value in the tag of a Complete these steps to assign a value to a parameter when no wire
block connects to its pin.
2. On the Parameters tab, in the Value box of the desired parameter, type
the value.
3. Click OK.
Connect blocks with an Use an output wire connector (OCON) or input wire connector (ICON) to
OCON and ICON transfer data between sheets or in complex wiring situations.
Add an OCON 1. Add an OCON and place it near the output pin that supplies the value.
2. Wire the OCON to the output pin.
Add an ICON 1. Add an ICON and place it near the input pin that gets the value from
the corresponding OCON.
2. Wire the ICON to the input pin.
Rename a wire connector Edit the name of an input wire connector or an output wire connector in a
routine.
1. Right-click the operand area of the desired ICON or OCON, and click
Rename Element.
2. In the box, type or select a new name and press Enter.
Rename a connector group Wire connectors that share the same connector name can be changed in a
routine.
Tip: If there are wire connectors with the new name, the renamed wire connectors merge with the existing
connectors.
Verify the routine As you program your routine, periodically verify your work.
Index OCON
add 28
rename a connector group 29
rename a wire connector 29
order of execution
function block diagram 13
A
assume data available 16, 17, 25
P
program/operator control
C overview 18
create
tag
R
function block diagram 26 rename a connector group 29
rename a wire connector 29
E routine
enter verify 29
ICON 28 S
OCON 28
execution order scan delay
function block diagram 13 function block diagram 17
F T
feedback loop tag
function block diagram 16 assign
function block diagram function block diagram 26
connect elements 25
create a scan delay 17 U
hide a pin 24
latching data 13 unresolved loop
order of execution 13 function block diagram 16
rename a connector group 29
rename a wire connector 29 V
resolve a loop 16 verify
resolve data flow between blocks 17
routine 29
resolve loop 25
show a pin 24 W
functions 11
wire
I function block diagram 13, 16
ICON
add 28
rename a connector group 29
rename a wire connector 29
IREF
latching data 13
to assign immediate value 28
L
latching data
function block diagram 13
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 find rok.auto/pcdc
(PCDC) 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.
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.
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