Solutions

  • Attempting to write a Loop or Alarm containing a word address that is within five locations of the maximum configured value of the address type no longer results in an error.
  • The PRINT statement will no longer prevent users from enabling their Special Function Programs and Subroutines.
  • Analog Alarms now write the correct number of bits to the V-flag address when the location is discrete.
  • MATH expressions no longer set an error when an address is assigned at its maximum bounds.
  • The PACKRS instruction now correctly allows constants for Loop Number, Number of Steps, and Starting Step parameters.
  • Instructions that require preset values to be set are now correctly set on a transition to Run Mode.
  • The Find Opcode function now properly finds instruction numbers greater than 255.
  • The IMC instruction now indexes its pointer value correctly during execution.
  • Implied addresses are now located correctly during a Find Parameter operation.
  • The DCMP, DSET, MDRUMD, MDRUMW, MWFT, MWTT, and SHRB instructions are now checked correctly for syntax errors.
  • 32-bit integers are now processed correctly in Special Function instructions.
  • Parameterized Bit memory may now be used as the register address in MWIR and MIRW instructions.
  • The LEAD/LAG instruction now produces the correct output.
  • RLL instructions with parameterized bit and word address maximum boundaries of 20 are now able to use the maximum value within their programs.
  • The total number of Loops, Alarms, and Special Function Programs and Subroutines is now determined at startup based on the PLC model and is used correctly to perform syntax checks.
  • DCAT, MCAT, Bit of Word Coil, Set Coil, and Reset Coil instructions now properly disable or clear their outputs when the MCR or JMP flags are turned off or on.
  • The Special Function Modulo operator now reports the correct result when using real numbers where the denominator is less than 1.
  • Timer-based instructions will now work properly when used in RLL subroutines.
  • Analog Alarms and PID Loops are now properly clearing their low and low-low alarm flags when the process variable jumps immediately from the low end to the high or high-high alarm range.
  • The integer format may now be used when using constants within conditional breakpoints.
  • The SFSUB instruction now correctly ceases execution when a parameter sets the SFEC variables and the Continue on Error flag is set to No.
  • The setpoint for Loops and Alarms is now being clamped properly when the remote setpoint is not in use.
  • The deadband for Loops and Alarms now functions correctly when the process variable becomes negative.
  • SCALE statements now properly round integer results.
  • MOVE Word operations now correctly copy the last word of a parameterized word memory address (PSWA).
  • PID Loops now correctly prioritize to execute in the right order.
  • All Special Function programs and subroutines will now queue to execute if they have power flow enabled for at least one scan.
  • Searching for inline Special Function Subroutines while online now works properly.
  • The IMATH statement now produces the correct result when calculating a shift left or shift right operation into a long integer.
  • The PACK TO statement now accepts a constant value as the Data Start Address.
  • Entering an Alarm V-flag above Y9=8182 no longer results in an error.