手轮跟随后台程序突然罢工?伺服电机原地抽搐?今天咱们就手把手盘一套200Smart PLC直连手轮的硬核解决方案,全程无尿点的实战经验直接甩脸上

📅 发布时间:2026/7/7 4:55:48 👁️ 浏览次数:
手轮跟随后台程序突然罢工?伺服电机原地抽搐?今天咱们就手把手盘一套200Smart PLC直连手轮的硬核解决方案,全程无尿点的实战经验直接甩脸上
电子手轮Ver1.1位置跟随X轴或Y轴 1.200smart、威纶通触摸屏 2.手轮或编码器PLC伺服驱动器 3.手轮接入PLC伺服接Q0.0或Q0.1手轮转动伺服电机准确跟随。 4.采用PLS指令编写 5.不带加减速 6.可选择X轴或Y轴跟随手轮。先看硬件配置清单200Smart SR30输入点管够威纶通MT8071iP触摸屏台达ASD-A2伺服驱动器手轮这里我拆了个旧机床的HEIDENHAIN编码器重点来了——手轮信号处理。手轮的A/B相信号直接怼到PLC的I0.0和I0.1注意这两个点必须用200Smart自带的200kHz高速计数器。咱们直接上硬核代码// 高速计数器初始化 HSC_INIT( HSC : 1, // 用HSC1通道 MODE : 9, // A/B相4倍频模式 CV : VB100, // 当前值存VB100开始的4字节 PV : 16#FFFFFFFF, // 不用预设值 CONTROL: 16#C0 // 启动计数外部复位 );这波操作实测能抗住手轮疯狂旋转时的信号抖动。注意CV地址要4字节对齐不然后面计算位移量会出幺蛾子。轴切换逻辑是项目的灵魂所在触摸屏上的X/Y轴选择按钮背后其实是这样的骚操作// 轴选择程序段 LD M0.0 // 触摸屏X轴选择信号 MOVD VD100, VD200 // 当前手轮值转存X轴缓存 LPS // 分支开始 A SM0.0 MOVD 0, VD100 // 清空公共区手轮值 LPP LD M0.1 // Y轴选择信号同理 ...这个双缓存结构实测能避免轴切换时的脉冲残留问题。注意VD地址分配要避开系统占用的区域建议用V区500之后的地址。核心控制部分必须祭出200Smart的看家指令——PLS。直接看脉冲输出代码// PLS指令配置 MOVB 16#85, SMB67 // 允许PTO操作微秒单位 MOVW 500, SMW168 // 脉冲频率初始值会动态修改 MOVD VD200, SMD172 // 动态脉冲数来自手轮值 PLS 0 // 触发Q0.0输出重点说下SMD172这个寄存器它实时读取手轮计数值的差量。当手轮旋转时HSC计数值变化量会被换算成脉冲数直接喂给伺服驱动器。现场调试发现个坑爹问题伺服偶尔会多走几个脉冲。最后发现是PLS指令执行周期的问题解决方法是在每个扫描周期强制复位脉冲量// 每个扫描周期执行 SUB_D VD204, VD200, VD204 // 计算本周期增量 MOVD VD204, SMD172 // 动态更新脉冲数 MOVD VD200, VD204 // 更新基准值这套差值算法实测能把跟随误差控制在±3个脉冲内对付普通定位需求绰绰有余。电子手轮Ver1.1位置跟随X轴或Y轴 1.200smart、威纶通触摸屏 2.手轮或编码器PLC伺服驱动器 3.手轮接入PLC伺服接Q0.0或Q0.1手轮转动伺服电机准确跟随。 4.采用PLS指令编写 5.不带加减速 6.可选择X轴或Y轴跟随手轮。触摸屏配置有个隐藏技巧在数值输入元件里绑定VD200地址时记得勾选32位无符号数选项。威纶通的这个坑我踩过——默认的16位设置会导致数值溢出手轮转快点就数据错乱。最后说个血泪教训伺服驱动器的电子齿轮比一定要和PLS的脉冲当量匹配。建议先用这个公式验算伺服电机每转脉冲数机械导程mm/定位精度mm*电子齿轮比实测当机械导程5mm要求0.001mm精度时电子齿轮比设成500:1效果最佳。这个参数不匹配的话手轮转起来会有明显的滞后感。