图1:齿轮同步应用场景
西门子PLC模块 S7-200 SMART V2.7固件的CPU支持2D/3D直线插补运动,该插补运动为基于单轴发送PTO(脉冲串输出)的开环运动控制。
插补运动可实现按照定义好的路径运动,也可以使用指令GRP0_2D/3D_MOVELINEAR实现空间中点到点的直线运动。
本应用案例将讲解如何基于直线插补运动指令GRP0_2D_MOVELINEAR实现2轴同起同停的齿轮同步功能。如果想实现3轴同步功能,可参考本文思路,通过3轴插补指令GRP0_3D_MOVELINEAR实现。
小贴士
硬件及软件需求
1. 硬件要求
西门子PLC模块 S7-200 SMART CPU控制器
SIMATIC S7-200 SMART V2.7产品家族
2. 软件要求
STEP 7-Micro/WIN SMART V2.7
西门子PLC模块 S7-200 SMART CPU编程
1. 运动控制向导
要使用直线插补运动指令GRP0_2D_MOVELINEAR来实现2轴同步功能。
在“运动控制向导”中需要组态“轴0”和“轴1”,并在“轴组设置”中使能“2D直线插补”,如图2所示。
运动控制向导配置完成后,会自动生成GRP0_2D_MOVELINEAR等指令。
图2:运动控制向导
2. 控制程序
本例程主要使用子例程指令AXISx_CTRL和GRP0_2D/3D_MOVELINEAR完成,例程仅作简单功能讲解,不能直接用于实际项目。
AXISx_CTRL
西门子PLC模块 S7-200 SMART没有提供轴组的初始化指令,因此用户在调用直线运动指令之前,需要依次将对应的单轴进行初始化操作。
单轴执行环境初始化调用的指令为AXISx_CTRL。轴组中的每个单轴,都需要调用AXISx_CTRL。
GRP0_2D/3D_MOVELINEAR
GRP0_2D/3D_MOVELINEAR子例程命令将组态为直线插补的轴组从TCP(工具零点)的当前位置运动到目标绝 对位置或相对位置。
当运动控制向导中启用的是2D直线插补,则子例程为GPR0_2D_MOVELINEAR;若运动控制向导中启用的是3D直线插补,则子例程为GPR0_3D_MOVELINEAR。
本例程使用GPR0_2D_MOVELINEAR子例程指令的“相对位置”模式,来满足2轴同步的应用需求。
下面简单介绍一下图3所示GPR0_2D_MOVELINEAR指令:
程序块
图3:GPR0_2D_MOVELINEAR指令
程序块引脚
示例程序
初始化轴X
初始化轴Y
停止信号为OFF时系统准备好运行。
停止信号为ON时准备好信号被复位。
Mode模式设置为“1”(相对运动),Start信号上升沿触发直线插补运动指令,则轴0和轴1将会在当前位置的基础上,同步移动设定好的距离。
例如Pos_X和Pos_Y都设为1000.0mm,则轴0和轴1将会按照相同的速度运行1000.0mm,实现2轴同步功能。
注意事项
在上一小节中介绍的是通过GPR0_2D_MOVELINEAR实现两轴同步,若想实现3轴同步,则要使用GPR0_3D_MOVELINEAR。使用3轴同步时,需要注意数字量输出点Q0.3的分配问题。如果轴1的“相”(Phase)组态为“两相(2个输出)”(Two-phase(2 output))或“AB正交相(2个输出)”(AB quadrature phase(2 output)),则P1组态为Q0.3。如果Q0.3被轴1使用,则轴2将无法使用Q0.3这个点,无法使用3轴同步功能。
因为本应用的轴都是进行的开环运动控制,所以实际应用中,建议有相应的反馈机制来保护设备。例如,通过扭矩传感器,位置传感器等监视两个轴之间的扭矩或者位置偏差。
本案例测试验证基于两轴的电子齿轮比为1:1,两轴的同步性能良好,不存在同步误差。其他电子齿轮比,未进行系统性测试,为避免在工程应用中出现问题,需自行测试。
本文摘自:网络