|
1.变量定义
VAR
Axis: ARRAY[0..5] OF POINTER TO AXIS_REF_SM3;//轴为指针
i: INT;
j: INT;
iAxisCommErr: ARRAY[0..5] OF INT;//轴通讯错误标记
MC_Power: ARRAY[0..5] OF MC_Power;
END_VAR
2.程序实现
//关联轴和指针
Axis[0] := ADR(A);
Axis[1] := ADR(B);
Axis[2] := ADR(X);
Axis[3] := ADR(Y);
Axis[4] := ADR(Z1);
Axis[5] := ADR(Z2);
//使用轴指针
//以判断轴通讯是否正常为例
FOR i:=0 TO 5 BY 1 DO
IF 100<Axis^.wCommunicationState THEN
iAxisCommErr:=i;
END_IF
END_FOR
//以下以使能为例
FOR j:=0 TO 5 BY 1 DO
MC_Power[j](
Axis:= Axis[j]^,
Enable:= 1,
bRegulatorOn:= 1,
bDriveStart:= 1,
Status=> ,
bRegulatorRealState=> ,
bDriveStartRealState=> ,
Busy=> ,
Error=> ,
ErrorID=> );
END_FOR
3.运行结果
|
|