It's quite hard to figure out what you're trying to do. But I cant find any assignment to the case, for instance point[3] I usually write sequences in ST like this CASE Point[3] OF
1:
MoveLinearAbsolute[3](ExecuteCmd:= TRUE, ...);
IF MoveLinearAbsolute[3].Done THEN
MoveLinearAbsolute[3](ExecuteCmd:= FALSE, ...);
// Move to the next state
Point[3]:= 2;
END_IF;
END_CASE But a tip is to use named enumerations for the case, makes it much easer to debug: https://alltwincat.com/2021/11/16/local-enumerations/
... View more