Products: ACR9600, ACR9630, ACR9640
Several users have observed that while the IEC PLC was running, any command motion on the axes would result in approximately double the speed and distance commanded. This was occurring regardless of whether the motion was commanded using PLC Function Blocks, Acrobasic commands or using ACR-View tools like the Jog pendant. Halting the PLC programs would eliminate the "double move". In each case the problem was caused by improper use of direct variables.
In the ACR user guide, flags and parameters are marked as R (read only) and R/W (Read/Write). The controller and the PLC compiler do not actually restrict the user from writing to read-only variables. When designating a PLC direct variable as PW, the PLC will write a value to the variable every PLC scan. This can lead to undesired behavior when the controller is also trying to update the value internally.
An example of this problem is declaring position parameters are PW.
EPLDPOSITIONZ : DINT at %PW38176;(*reported EPL positon of Z axis*)
ENCODERy : DINT at %PW6160;(*ENCODER VALUE FOR Y AXIS*)
ACTUALX : DINT at %PW12290;(*Actual position of X axis in counts*)
Position parameters (such as actual position, encoder parameters and EPLD position) should NEVER be declared as PW (read/write).