Closed ZLLentz closed 1 year ago
Some further thinking: the path to this bad state must begin when a move is requested, since at startup none of the execute booleans are TRUE.
Update: this is caused by the following sequence:
And then the states function block becomes permanently stuck
The solution should involve one or more of:
Current Behavior
TMO's AL1K4 and LI1K4 ended up in a bad state deadlock where they could not move.
There are two function blocks I'd like to point out here.
First: https://github.com/pcdshub/lcls-twincat-motion/blob/master/lcls-twincat-motion/Library/POUs/Motion/States/FB_StatesInputHandler.TcPOU Where:
Second: https://github.com/pcdshub/lcls-twincat-motion/blob/master/lcls-twincat-motion/Library/POUs/Motion/FB_MotionRequest.TcPOU Where:
The problems are:
This is recoverable with an online write to bExecMove := FALSE
Expected Behavior
States should always move when asked, if possible and safe.
Context / environment
lcls-twincat-motion 4.0.1 lcls-twincat-common-components 3.0.1
Steps to Reproduce (for bugs)
Unknown
Suggested Solution