I see a different behavior between plc and terminal:
command "#9j/" gives a fatal following error when run from the plc (even if given repeatedly or with time delays) and works without problem when given from the terminal.
My axis is a rotary motor with hall and encoder feedback, I have a secondary encoder (linear feedback). Both encoders and motor/hall are connected to a GeoMacro drive controller via Macro from a GeoBrickLV.
Vertical application.
This problem happens during initialization:
At start-up, position and velocity feedback are from primary encoder. First do "$" with hall sensor, turn off brake, then "hm" to primary encoder index. Run axis into limit and reverse out of limit.
Next apply brake, disable and change position feedback to linear encoder: Ixx03, Ixx08, Ixx23 and Ixx25 to the proper values. Velocity feedback remains from rotary encoder.
Then enable again: this is what works when done through terminal and always gives a fatal position error when done in the plc, even waiting 5 sec does not help.
After it faults in the plc, I can enable from the terminal without a problem. Open loop runs fine with both feedback options, same current amount needed to lift.
It seems that the error is caused by the fact that the feedback channel is changed. Is there any command I can give to prevent this error from occurring?