控制全局变量:
//轴控制指令
bi_Power: BOOL; //使能
bi_Reset: BOOL; //复位
bi_Stop: BOOL; //停止
bi_JogForward: BOOL; //正向点动
bi_JogBackwards: BOOL; //反向点动
bi_MoveAdditive: BOOL; //增量位置运动
bi_MoveRelative: BOOL; //相对位置运动
bi_MoveAbsolute: BOOL; //绝对位置运动
bi_MoveVelocity: BOOL; //速度方式运动
bi_SetOverride: BOOL; //轴速度缩放启用
bi_SetPosition: BOOL; //增量式伺服,设置当前位置值
bi_AxisRead: BOOL; //读取轴的状态
输入的控制参数变量:
//轴运动参数设置
di_Stop_Deceleration: LREAL:=4000; //停止速度(MC_Stop)
轴控功能块ST语言编程
stop(
Axis:= axis,
Execute:=bi_Stop ,
Deceleration:= di_Stop_Deceleration,
Jerk:= ,
Options:= ,
Done=> ,
Busy=> ,
Active=> ,
CommandAborted=> ,
Error=> ,
ErrorID=> );
stop1 : MC_Stop;
stop_do : BOOL;
stop1(
Axis:=axis1 ,
Execute:=stop_do ,
Deceleration:= ,
Jerk:= ,
Options:= ,
Done=> ,
Busy=> ,
Active=> ,
CommandAborted=> ,
Error=> ,
ErrorID=> );
布尔型的数据只有两个值——0和1。0对应的逻辑表达式的结果为False,也就是错误;1对应的逻辑表达式的结果为True,也就是正确。
a := a+1;
// pwm
IF a<=1 THEN
pwm :=1;
ELSE
pwm :=0;
END_IF
IF a>2 THEN
a :=0;
END_IF
伺服电机速度控制下,若速度超过某个阈值,那么就会触发Stop功能块,使得轴停止运动。
参考文献: