发布于 2008-02-02 12:47:47
0楼
做一个间接调用的指针程序,调用条件成立,UC FC[ Point] 即可。
FUNCTION_BLOCK "FB_步选择"
TITLE =
VERSION : 0.1
VAR_INPUT
Step_FC_Begin_Index : INT ; //起始工步(FC )索引指针
Jump_Step_Index : INT ; //参考工步(FC )索引指针
END_VAR
VAR
CurruntStepIndex : INT ; //当前工步( FC )索引指针
END_VAR
VAR_TEMP
CurruntExecuteStepIndex : INT ; //工步(FC)索引指针
ACU : INT ; //加法器
NeedExecuteStepIndex : INT ; //待执行(FC)索引指针
END_VAR
BEGIN
NETWORK
TITLE =
L #Step_FC_Begin_Index;
T #ACU;
L #Jump_Step_Index;
L #ACU;
+I ;
T #NeedExecuteStepIndex;
T #CurruntStepIndex;
L #NeedExecuteStepIndex;
T #CurruntExecuteStepIndex;
TAK ;
L #CurruntStepIndex;
UC FC [#CurruntExecuteStepIndex];
END_FUNCTION_BLOCK
FUNCTION_BLOCK "FB_步转换"
TITLE =
VERSION : 0.1
VAR_INPUT
MaxStepNo : INT ;
CurStepNo : INT ;
END_VAR
VAR_IN_OUT
JumpStepNo : INT ;
RefStepNo : INT ;
JumpPulse : BOOL ;
END_VAR
BEGIN
NETWORK
TITLE =
L #CurStepNo;
L #JumpStepNo;
<>I ;
JC M001;
L #JumpStepNo;
L 1;
+I ;
T #JumpStepNo;
S #JumpPulse;
L #JumpStepNo;
L #MaxStepNo;
<=I ;
JC M002;
L 0;
T #JumpStepNo;
JC M002;
M001: L #CurStepNo;
T #JumpStepNo;
T #RefStepNo;
S #JumpPulse;
M002: NOP 0;
END_FUNCTION_BLOCK
苦命郎 入错行 活到老 学到老