核心内容摘要
一键部署Lychee Rerank实现智能内容推荐
MoveRelative相对运动指令-电子凸轮
西门子200smart
威纶通触摸屏
pls指令编写带加减速梯形加减速。
可正向运动和反向运动。
带减速停止。
暂不支持超驰功能。
最近在车间折腾电子凸轮控制用西门子200smart PLC和威纶通触摸屏搭了个相对运动系统。
核心需求就一条让电机按梯形加减速正反转还能优雅刹车。
别看需求简单实际写程序时加减速曲线和方向切换的坑是真不少今天直接上干货。
硬件配置速览PLC西门子200smart ST40脉冲输出必须用Q
0或Q
1触摸屏威纶通MT8071iP和PLC用PPI协议通讯驱动器随便找个支持脉冲方向的伺服/步进接线重点Q
0发脉冲Q
1控制方向高电平正转低电平反转。
PLC程序核心逻辑
初始化脉冲输出先怼一段初始化代码放在主程序的第一个网络LD SM
1 MOVB 16#8D, SMB67 // 启用PTO时基微秒多段模式 MOVW 500, SMW168 // 初始周期500μs对应2kHz MOVD 1000, SMD172 // 目标脉冲数随便设个值后面HMI改代码吐槽SMB67这个寄存器是个“百宝箱”16#8D的意思是把PTO配置成多段变速模式同时允许运行时修改参数。
加减速曲线分段梯形加减速需要拆成三段加速、匀速、减速。
用PLSR指令虽然方便但没法自定义曲线所以直接操作PTO表// 加速段500μs→200μs分50步 MOVW 50, LW0 // 加速段步数 FOR VW10, 1, LW0 MOVW 500 - (6 * VW
, PTO表[VW10] // 周期每次减6μs NEXT // 匀速段200μs持续 MOVW 200, PTO表[51] // 减速段200μs→500μs分50步 FOR VW20, 1, 50 MOVW 200 (6 * VW
, PTO表[51 VW20] NEXT暴力解释加速时周期越来越小频率越来越高减速反过来。
实际项目里记得算时间别让加速度超了电机极限。
方向控制与启动正反转切换其实就是改个方向信号但要注意脉冲发完再切方向LD 启动按钮 O 方向切换标志 AN 脉冲发送中 Q
1 // 方向控制坑点预警方向信号必须在脉冲开始前至少2μs稳定否则驱动器可能抽风。
威纶通触摸屏操作威纶通上拖几个关键控件数值输入绑定VD100目标脉冲数按钮正转置位M
0反转复位M
0急停触发M
1减速停止信号减速停的实现逻辑LD M
1 // 急停按下 PLS 10, 1 // 触发减速中断跳转到减速段调试翻车实录问题1电机走到一半抽搐原因PTO表没算准加速段步数超过实际脉冲数。
MoveRelative相对运动指令-电子凸轮
西门子200smart
威纶通触摸屏
pls指令编写带加减速梯形加减速。
可正向运动和反向运动。
带减速停止。
暂不支持超驰功能。
解决加个判断脉冲数小于加速减速总步数时自动缩短匀速段。
问题2反向运动偶尔丢步原因方向信号切换太慢被脉冲边沿干扰。
解决在方向信号后加个5ms延时简单粗暴但有效。
注意事项血泪
总结超驰功能别硬上当前架构不支持运行时改目标位置强行改会丢步。
减速时间别太抠减速段至少留50ms否则停车抖成筛子。
触摸屏参数保护脉冲数别让现场人员随便输负数直接死机。
搞工控的都知道代码越简单越好能用梯形图就别玩SCL。
这套方案虽然有点“土法炼钢”但胜在稳定毕竟车间设备经不起折腾。
最后说一句脉冲发完记得监控SM
6