西门子S7-200smart PLC二轴运动控制实例:高速脉冲控制步进电机/伺服电机,触摸屏M...

张开发
2026/4/15 9:32:21 15 分钟阅读

分享文章

西门子S7-200smart PLC二轴运动控制实例:高速脉冲控制步进电机/伺服电机,触摸屏M...
西门子S7-200smart PLC运动控制 二轴高速脉冲控制步进电机或者伺服电机触摸屏控制可以设置绝对位置触摸屏通讯实时显示当前位置 实例程序案例 触摸屏型号MT6070IH 刚接了个小项目客户要搞个二轴物料搬运平台。手头正好有台S7-200smart SR40和MT6070IH触摸屏这组合搞运动控制挺合适。直接上干货说说怎么用高速脉冲带伺服顺便把触摸屏交互做明白。先看PLC的硬件配置。SR40自带两个100kHz高速脉冲输出口刚好带两个伺服轴。记得在系统块里把Q0.0和Q0.1的输出类型改成PTO否则脉冲出不来。运动控制向导必须走一波生成轴控制子程序//轴参数初始化 AXIS0_CTRL( EN:True, MODE:1, //绝对定位模式 STOP:M0.2, //急停信号 DoneM0.3, //完成标志 ErrorVB100); //错误代码这里有个坑要注意伺服驱动器的电子齿轮比要和PLC侧的脉冲当量匹配。比如丝杆导程5mm电机转一圈需要10000脉冲那每个脉冲对应0.0005mm。把这些参数填到向导里后面编程直接按毫米操作。西门子S7-200smart PLC运动控制 二轴高速脉冲控制步进电机或者伺服电机触摸屏控制可以设置绝对位置触摸屏通讯实时显示当前位置 实例程序案例 触摸屏型号MT6070IH 触摸屏这边用EasyBuilder Pro开新工程。通讯参数设置最关键MT6070IH走的是RS485PLC的PORT0口接上波特率设成187.5k才跑得稳。地址映射这块触摸屏的数值输入框直接绑定VD200轴1目标位置和VD204轴2目标位置实时显示用VW210和VW214。移动控制的关键程序长这样//轴1绝对定位 AXIS0_GOTO( POSITION:VD200, //目标位置 SPEED:500, //脉冲频率 MODE:0, //绝对移动 START:M0.0, //启动信号 DoneM0.1, //完成信号 ErrorVB101);调试时发现个有意思的现象伺服偶尔会过冲。后来发现是加减速参数没设好。在运动向导里把S曲线加速度改成30%后运动平滑多了。顺手在触摸屏做了个加速度参数设置框绑定到VD208程序里改成MOVR VD208, AC0 /R 100.0, AC0 //将百分比转换为小数 MOVR AC0, SMB158 //写入加速度参数寄存器实时位置显示用了高速计数器。S7-200smart的HSC0和HSC3对应Q0.0和Q0.1的脉冲反馈。配置完记得在中断程序里更新V存储区//HSC0中断服务程序 MOVD HC0, VD210 //轴1当前位置 MOVD HC3, VD214 //轴2当前位置最后在触摸屏画了个简易示教界面加了三个功能键手动前进、示教点保存、一键回原点。调试时发现手动模式按下没反应查了半天原来是PLC里的手动程序没做互锁。加了个状态切换的互锁逻辑LD M10.0 //自动模式标志 AN M10.1 //手动模式标志 M10.2 //模式互锁标志现在设备跑得挺溜客户验收时非要测试连续运行8小时。结果中途出现过一次位置偏移查到最后是伺服电机刹车电阻发热导致。这事提醒我下次做长时间运行的设备得把刹车电阻外置或者改用机械抱闸。整个项目下来最大的收获是运动控制不仅要程序写对还得吃透硬件特性。特别是脉冲当量和机械结构的配合差之毫厘谬以千里。源码已经整理成库文件下次类似项目直接调用能省不少事。

更多文章