Instruction and Application Considerations

When replacing a
ControlLogix
5560 or
ControlLogix
5700 controller with a
ControlLogix
5580 controller or replacing a
CompactLogix
5370 controller with a
CompactLogix
5380 controller, there are some changes in the programming languages that may affect your applications. These changes do not affect all programming languages or applications.
The following is a summary of the changes:
  • Math related instructions
    • Truncation changes in TRUNC instructions
    • Improved overall accuracy for ACOS, ASIN, ATAN, COS, LN, LOG, SIN, SQRT, TAN, EXPT
    • SQRT adjustment
    • Relaxed verification rules for AND, NOT, OR, and XOR support for REAL
    • Floating point literals for MAG, MAJ, MAM, MAPC, and MEQ
    • Changed implementation for MOD function and EXPT instruction
    • DIV instruction produces NAN value
  • Structural changes to execution
    • Max number of inputs or outputs for JSR, RET, SBR
    • JSR nesting level limit
    • Max number InOut parameters for Add-On Instructions
    • Add-On Instruction nesting limit
    • JMP instruction requires a corresponding LBL to exist
    • LINT data type in User-Defined Structures
    • MCR instruction must be last instruction in rung
  • Instruction error and faulting changes
    • Subscript expressions are treated separately from instructions
    • TRUNC operator and Math Status Flags
    • Math Status Flags are valid only in one rung
    • Improved accuracy of AVE and STD instructions
    • BTD, FAL, FSC, and CMP instructions no longer generate math status
    • Math Status Flags no longer in structured text
    • Minor fault on overflow
    • Manually set math overflow using OTE or OTL instruction
    • More complete math status flags for TO_BCD instruction
    • Add-On Instructions do not propagate math status flags
    • Subroutines do not affect math status flags
    • ADD and SUB instructions with integer operands can affect the Carry flag
    • NAN value stored as an integer
    • All compares with NAN will be false except for NE
  • Operands changes
    • Writing infinity to an integer is the MAX signed value that is allowed
  • Copy/File Instructions
    • COP and CPS into structures
    • JSR and RET parameters passing into structures
    • JSR passing Atomic data type into an Array or structure
    • AVE, BSL, BSR, DDT, FBC, FFL, FFU, LFL, LFU, SQL, SRT, STD are now limited to member array boundaries
  • Download Workflow Change
    • Using the
      Build
      button on the standard toolbar or downloading a project creates binary files compiled from user subroutines and caches them in the project .ACD file, which can save time when doing subsequent downloads.
    • Only changed source code is recompiled on a download.
Refer to the
Replacement Guidelines:
Logix 5000
Controllers Reference Manual,
publication
1756-RM100
,
for detailed considerations and explanations of the changes that you may have to make to your project.
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.