beckhoff控制器ST语言,Elmo电机上使能,DS402协议
FUNCTION_BLOCK FB_UserPower
VAR_INPUT
Enable :BOOL;
StatusWORD :UINT;
END_VAR
VAR_OUTPUT
ControlWORD :UINT;
Busy :BOOL;
Done :BOOL;
ErrCode :UINT;
END_VAR
VAR
iStep :INT;
ControlWORDTemp :UINT;
StatusWORDTemp :UINT;
fbRtrig:R_trig;
END_VAR
StatusWORDTemp:=StatusWORD;
fbRtrig(CLK:=Enable , Q=> );
CASE iStep OF
0:
ControlWORDTemp:=6;
IF fbRtrig.Q THEN
iStep:=iStep+1;
Busy:=1;
END_IF
1:
ControlWORDTemp:=7;
IF StatusWORDTemp=563 THEN
iStep:=iStep+1;
END_IF
2:
ControlWORDTemp:=15;
IF StatusWORDTemp=4663 THEN
Busy:=0;
Done:=1;
ControlWORDTemp:=31;
iStep:=iStep+1;
END_IF
500://reset
ControlWORDTemp:=134;
END_CASE
IF Enable=FALSE THEN
Busy:=0;
Done:=0;
ControlWORDTemp:=6;
iStep:=0;
END_IF
ControlWORD:=ControlWORDTemp;