Fixed __SET_EXTERNAL_FB declaration in accessor.h, invoked when accessing EXTERNAL_BLOCK.VARIABLE. Macro was invoking __SET_VAR with wrong parameter count. Fixed corresponding code generator for ST. Seems similar codegen for IL is also broken, but fix would affect other (unknown) behviours -> didn't touch it.
FUNCTION WEIGH : WORD (* BCD encoded *)
VAR_INPUT (* "EN" input is used to indicate "scale ready" *)
weigh_command : BOOL;
gross_weight : WORD ; (* BCD encoded *)
tare_weight : INT ;
END_VAR
(* Function Body *)
IF weigh_command THEN
WEIGH := INT_TO_BCD (BCD_TO_INT(gross_weight) - tare_weight);
END_IF ;
END_FUNCTION (* Implicit "ENO" *)