(****功能块实例化、变量定义*****)

SdoRead4_Belt1:ETC_CO_SdoRead4;

SdoData_Belt1:ARRAY[1..4] OF BYTE;


AlarmIdBelt1 AT %MW101:INT;

(****读取伺服故障代码,R0.99的CANopen地址16#3063*****)

SdoRead4_Belt1(xExecute:=BeltServo1..bError , uiDevice:=1003 , wIndex:=16#3063 , bySubindex:=16#00 , udiTimeOut:=500 , xDone=> ,  abyData=>SdoData_Belt1 ,);


(****从SDO数据获取伺服故障码*****)

IF BeltServo1..bError THEN

AlarmIdBelt1:=BYTE_TO_INT(SdoData_Belt1[1])+BYTE_TO_INT(SdoData_Belt1[2])*256;

ELSE

AlarmIdBelt1:=0;

END_IF