Twincat 伺服控制功能块使用经验总结

倍福TwinCAT3伺服控制常用功能块的实现可参考如下链接

倍福TwinCAT3伺服控制常用功能块的实现_黄昏和星空的博客-CSDN博客_倍福功能块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:= Thttps://blog.csdn.net/weixin_41883890/article/details/125387003TwinCAT3 系统功能块的使用(18分钟)

TwinCAT3 系统功能块的使用(18分钟)https://tr.beckhoff.com.cn/mod/hvp/view.php?id=1979

倍福运动控制库功能介绍

原文可参考:

倍福运动控制库功能介绍,百晓生知识处理引擎发布_python & TwinCAT的博客-CSDN博客原创文章,转载请注明出处,百晓生知识处理引擎整理【MC_Power激活轴的软件启用。可以为两个行驶方向或仅一个方向启用。在“状态”下,轴的输出操作准备就绪。01】【MC_Reset重置NC轴。在许多情况下,这也会导致连接的驱动设备复位。根据总线系统或驱动器类型,在某些情况下,可能需要对驱动器设备进行单独的复位。02】【MC_SetPosition将当前轴位置设置为可参数化的值。03】【在绝对模式下,实际位置设置为参数化绝对位置值。在相对模式下,实际位置由参数化位置值偏移。在这两种情况下,设置轴的设置https://blog.csdn.net/gkbxs/article/details/116741477

MC_Power  激活轴的软件启用。可以为两个行驶方向或仅一个方向启用。在“状态”下,轴的输出操作准备就绪。01】
MC_Reset  重置NC轴。在许多情况下,这也会导致连接的驱动设备复位。根据总线系统或驱动器类型,在某些情况下,可能需要对驱动器设备进行单独的复位。02】

——————————————————————

MC_MoveAbsolute

MC_MoveAbsolute 开始定位到绝对目标位置,并监视整个移动路径上的轴移动。一旦到达目标位置,“完成”输出即被设置。否则,输出“CommandAborted”,或者在出现错误的情况下,设置输出“error”。28】
【MC_MoveAbsolute 主要用于线性轴系统。对于模数轴,位置不是模数位置,而是连续绝对坐标系中的绝对位置。】
【如果在轴参数中显式激活此选项,则可以将运动命令应用于耦合的从属轴。运动命令(如MC_MoveAbsolute)会自动导致轴解耦,然后执行该命令。在这种情况下,唯一可用的缓冲模式是“中止”。】

——————————————————————————————————————

MC_MoveVelocity

指令名称:速度运行指令

功能:使轴以预设的速度运行

MC_MoveVelocity以指定的速度和方向开始连续运动。可以通过停止命令停止移动。32】
【一旦达到恒定速度,就会设置InVelocity输出。一旦达到恒定速度,块功能就完成了,并且不再对运动进行进一步的监控。如果在加速阶段中止命令,则输出“CommandAborted”,或者在发生错误时,设置输出“error”。】
【如果在轴参数中显式激活此选项,则可以将运动命令应用于耦合的从属轴。运动命令(如MC_MoveAbsolute)会自动导致轴解耦,然后执行该命令。在这种情况下,唯一可用的缓冲模式是“中止”。】
【MC_MoveContinuousAbsolute开始定位到绝对目标位置,并监视整个移动路径上的轴移动。在目标位置达到恒定的终点速度,并保持不变。一旦到达目标位置,“InEndVelocity”输出即被设置。否则,输出“CommandAborted”,或者在出现错误的情况下,设置输出“error”。一旦达到目标位置,功能块的功能终止,轴不再受监控。33】

MC_MoveAbsolute

S[MC_MoveAbsolute Position=133 Velocity=1000 Acceleration=500 \
Deceleration=600 Jerk=20000 Direction=2]

【MC_MoveVelocity以指定的速度和方向开始连续运动。可以通过停止命令停止移动。32】【一旦达到恒定速度,就会设置InVelocity输出。一旦达到恒定速度,块功能就完成了,并且不再对运动进行进一步的监控。如果在加速阶段中止命令,则输出“CommandAborted”,或者在发生错误时,设置输出“error”。】

MC_MoveVelocityhttps://www.ad.siemens.com.cn/productportal/prods/s7-1200_plc_easy_plus/10-technology/03-mc/06-instruction/08-mc_movevelocity.html

指令输入端:
Velocity:轴的速度。
Direction:方向数值

  • Direction = 0:旋转方向取决于参数“Velocity”值的符号
  • Direction = 1:正方向旋转,忽略参数“Velocity”值的符号
  • Direction = 2:负方向旋转,忽略参数“Velocity”值的符号

Current

  • Current = 0:轴按照参数“Velocity”和“Direction”值运行
  • Current = 1:轴忽略参数“Velocity”和“Direction”值,轴以当前速度运行。

④PositionControlled

  • PositionControlled= 0:非位置控制即运行在速度控制模式
  • PositionControlled= 1: 位置控制操作即运行在位置控制模式

『注意』 只要执行指令 MC_MoveVelocity 即应用该参数。之后,MC_Power 的设置再次适用。使用 PTO 轴时忽略该参数。

⑤InVelocity 

  • InVelocity= 0:输出未达到速度设定值
  • InVelocity= 1: 输出已达到速度设定值

『注意』可以设定“Velocity”数值为0.0,触发指令后轴会以组态的减速度停止运行。相当于MC_Halt指令。

倍福NC轴走速度模式

可参考以下文章链接:

倍福NC轴走速度模式_黄昏和星空的博客-CSDN博客轴一直在转动,切需要运动过程中改变速度,因此可以使用速度模式指令,本文介绍速度模式功能块 MC_MoveVelocity的使用。1.1.功能块介绍1.1.1.功能块介绍MC_MoveVelocity以指定的速度和方向开始连续移动。可以通过停止命令停止移动。一旦达到恒定速度,将设置反转输出。一旦达到恒定速度,闭塞功能即完成,不再对运动进行进一步监控。如果该命令在加速阶段中止,则该命令中止,或者在出现错误时,设置错误输出。注意:如果在轴参数中明确激活此选项,则行程命令可应用于耦合的从动轴。如果在轴https://blog.csdn.net/weixin_41883890/article/details/123176779MC_Direction

TYPE MC_Direction :
(
    MC_Undefined_Direction  := 0,
    MC_Positive_Direction   := 1,
    MC_Shortest_Way         := 2,
    MC_Negative_Direction   := 3
);
END_TYPE

 —————————————————

 问题:速度控制,速度模块不能为正,但方向怎么控制?

Velocity:为正值,即只能取绝对值?

即速度可正可反时,那么Direction=0,时取速度的符号,但此时Velocity只能为绝对值,即+

因此,怎么能体现出速度的正负变化?

——————————————————

  • Direction = 0:旋转方向取决于参数“Velocity”值的符号

MC_MoveVelocity:以设定速度移动轴  这个指令每次修改了就要停下来在启动这样给他一个上升沿从可以重新读取新的速度值。 

变换控制输入正负转向:

IF u>0 THEN
		str = MC_Positive_Direction;   
ELSE 
str = MC_Negative_Direction;	
END_IF

或者

IF u>0 THEN
	str := 1;   
ELSE 
	str := 3;	
END_IF
Direction:= str
move_v(
	Axis:= axis, 
	Execute:= v_do, 
	Velocity:= ABS(u), 
	Acceleration:= , 
	Deceleration:= , 
	Jerk:= , 
	Direction:= str, 
	BufferMode:= , 
	Options:= , 
	InVelocity=> , 
	Busy=> , 
	Active=> , 
	CommandAborted=> , 
	Error=> , 
	ErrorID=> );

Beckhoff Information System - EnglishComponents for Automation and Control: TwinCAT NT-Realtime-System, Bus terminal, Industrial PC, BECKHOFF-Lightbusicon-default.png?t=M666https://infosys.beckhoff.com/index_en.htm

  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值