QuoteYou have alreday a reason: error 4432, that is an instruction interpreter error.
It also should have a subcode( one from 1 to 40) that wil show other details on your error.
Alarm log from robot:
TASK#8
4432,INSTRUCTION INTERPRETER ERROR,,[36],,REMOTE(PLAY),TASK#8
CALCULATION_R1,31,0,START
,0,0,********
,0,0,********
,0,0,********
2024/03/14 17:28:50
Subcode 36 from code list:
"The reinterpretation of the instruction was ordered when executing the instruction."
I'm not sure if I understood it correctly. SET expression was executed without information about what it contains (all of used functionalities were not translated to basic functions (like MULL or ADD or SUB) in time of execution?)
QuoteYou have a loop with a local var LI003 initialized to 13, but in your express you put the result of your expression exactly in LI003.
How a FOR cycle does work for you? You are forcing a "blocked" value.
If I'm not wrong in every cycle of SYSTEM JOB LI003 starts with unknown value or 0. So I put in it 13 as start value in FOR expression. LI003 is used as position pointer in array of LD[LI003] it only informs where to put result from EXPRESS IG#(LI001) * 256 + IG#(LI002) - 16384