Overview of Structured Text Programming 
 
  Rockwell Automation Publication MOTION-RM002H-EN-P-February 2018  637 
The expression can be simple, such as an immediate value or another tag name, or 
the expression can be complex and include several operators and functions, or 
both. Refer to Expressions for more information. 
Tip:  I/O module data updates asynchronously to the execution of logic. If you reference an input multiple times in your logic, the input 
could change state between separate references. If you need the input to have the same state for each reference, buffer the input value 
and reference that buffer tag. For more information, see Logix 5000 Controllers Common Procedures, publication 1756-PM001. 
You can also use Input and Output program parameters which automatically buffer the data during logix execution. See Logix 5000 
Controllers Program Parameters Programming Manual, publication 1756-PM021. 
Specify a non-retentive assignment 
The non-retentive assignment is different from the regular assignment described 
above in that the tag in a non-retentive assignment is reset to zero each time the 
controller: 
•  Enters the Run mode 
•  Leaves the step of an SFC if you configure the SFC for Automatic reset. 
This applies only if you embed the assignment in the action of the step or 
use the action to call a structured text routine by using a JSR instruction. 
A non-retentive assignment has this syntax: 
tag [:=] expression ; 
where: 
Component  Description 
tag  Represents the tag that is getting the new value; the tag must be a BOOL, SINT, INT, 
DINT, STRING, or REAL. 
Tip: The STRING tag is applicable to CompactLogix 5380, CompactLogix 5480, 
ControlLogix 5580, Compact GuardLogix 5380, and GuardLogix 5580 controllers only. 
[:=]  Is the non-retentive assignment symbol. 
expression 
 
Represents the new value to assign to the tag. 
If tag is this data type  Use this type of expression 
BOOL  BOOL 
SINT  Numeric 
INT 
DINT 
REAL 
STRING   
(CompactLogix 5380, CompactLogix 
5480, ControlLogix 5580, Compact 
GuardLogix 5380, and GuardLogix 5580 
controllers only). 
String type, including string tag and string 
literal 
(CompactLogix 5380, CompactLogix 5480, 
ControlLogix 5580, Compact GuardLogix 
5380, and GuardLogix 5580 controllers 
only)   
;  ends the assignment