Twincat Stop功能块使用经验总结

控制全局变量:

//轴控制指令	
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功能块,使得轴停止运动。

参考文献:

倍福TwinCAT3伺服控制常用功能块的实现_twincat mc_moverelative_光怪陆离的节日的博客-CSDN博客文章浏览阅读5k次,点赞4次,收藏55次。2、伺服PTP功能块定义2.1定义轴变量_axis1:AXIS_REF;//轴变量2.2添加轴控制指令定义功能块变量:2.3添加全局变量定义控制的全局变量:定义输入的控制参数变量:定义存储反馈得轴状态变量2.4轴控功能块ST语言实现//*轴使能MC_POWER_0(Axis:= _axis1,Enable:= bi_Power, //TRUE使能,FALSE去使能Enable_Positive:= TRUE,Enable_Negative:= T_twincat mc_moverelativehttps://blog.csdn.net/weixin_41883890/article/details/125387003

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值