news 2026/5/6 2:35:23

最近在调试XY平台时发现,200Smart的脉冲输出功能配合威纶通触摸屏能玩出挺多花样。这次咱们直接上硬货,聊聊怎么用PLS指令实现不带加减速的平面插补

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
最近在调试XY平台时发现,200Smart的脉冲输出功能配合威纶通触摸屏能玩出挺多花样。这次咱们直接上硬货,聊聊怎么用PLS指令实现不带加减速的平面插补

直线插补+圆弧插补 Ver1.1.2 1.200smart 2.威纶通 3.pls指令编写,平面XY轴插补。 4.不带加减速

先看硬件配置:200Smart的Q0.0和Q0.1分别接X/Y轴驱动器,威纶通MT8071IE做参数输入界面。关键点在于脉冲当量换算,假设丝杆导程5mm,驱动器细分设为800脉冲/转,那每个脉冲对应0.00625mm位移。

// 直线插补核心算法 MOVW VD100, VW200 // 目标X坐标 MOVW VD104, VW202 // 目标Y坐标 SUB VW200, VW0, VW204 // ΔX=目标X-当前X SUB VW202, VW2, VW206 // ΔY=目标Y-当前Y

这里取绝对值判断运动方向是必须的,不然反向运动时会出乱子。接着计算总步数:

// 取最大位移量作为总步数 CMP >= VD204, VD206 // 比较ΔX和ΔY MOVW VD204, VD208 // 总步数=较大值 JMP ELSE_PART MOVW VD206, VD208 ELSE_PART:

重点来了,用Bresenham算法分配脉冲:

FOR VW300, 1, VW208 // 循环总步数次数 LD SM0.0 MOVD VD210, VD214 // 误差累计 AENO // 保证指令连续执行 +D VD206, VD214 // 误差项+ΔY JMP NEXT_STEP CMP >= VD214, VD204 // 误差≥ΔX? MOVD VD214, VD210 // 更新误差 PLS 0, VD200 // 发X轴脉冲 PLS 1, VD202 // 发Y轴脉冲 NEXT_STEP:

圆弧插补稍微复杂点,需要处理象限判断。这里用逐点比较法实现:

// 圆弧偏差计算 MOVW VW400, VW410 // 当前X坐标 MOVW VW402, VW412 // 当前Y坐标 MUL VW410, VW410, VD414 // X² MUL VW412, VW412, VD416 // Y² +D VD414, VD416, VD418 // X²+Y² SUB VD418, VD408, VD420 // 当前点与理论圆偏差

当偏差值≥0时向圆外走,否则向圆内走。方向判断需要结合象限参数,这里用威纶通的多状态开关传递圆弧方向参数。

实际调试中发现几个坑:

  1. 脉冲输出必须用PTO0和PTO1独立通道
  2. 威纶通数值输入元件要做上下限保护
  3. 每次插补前必须清除脉冲完成标志
  4. 不带加减速时建议最高脉冲频率别超过20kHz

最后来个实用技巧:在威纶通上做个虚拟示波器,把实时坐标用趋势图显示,调试效率直接翻倍。虽然这种开环控制精度有限,但对于木工雕刻机这类设备完全够用了。下次有机会咱们再聊聊怎么加上S曲线加减速,那又是另一番天地了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 12:01:07

【Java毕设源码分享】基于springboot+java社区智慧医疗养老系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/5/4 23:04:07

python基于BS招投标管理系统 _10gv7_django Flask vue pycharm项目

目录已开发项目效果实现截图关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!已开发项目效果实现截图 同行可拿货,招校园代理 ,本人源头供货商 python基于BS招投标管理系统 _10gv7_…

作者头像 李华
网站建设 2026/5/3 1:03:12

GitHub 一周热门项目速览 | 2025年12月30日

开篇引言 本周 GitHub 趋势榜单呈现出明显的“AI 深度集成”与“终端工具革新”两大特征。随着大语言模型技术的日益成熟,开发者们的关注点正从基础模型转向更具实用价值的 agent 工具和自动化开发流程。从能够利用闲置设备组建 AI 集群的分布式框架,到深…

作者头像 李华
网站建设 2026/5/2 17:52:13

计算机毕业设计springboot二手车交易系统 基于SpringBoot的校园二手汽车交易平台 SpringBoot驱动的个人二手车直售服务系统

计算机毕业设计springboot二手车交易系统fvjx7636 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。在“碳达峰、碳中和”与循环经济的双重背景下,汽车更新周期缩短&am…

作者头像 李华
网站建设 2026/5/3 3:48:25

计算机毕业设计springboot汽车推荐系统设计与实现 基于 SpringBoot 的个性化汽车导购平台的设计与实现 融合协同过滤与内容推荐的 SpringBoot 智慧选车系统

计算机毕业设计springboot汽车推荐系统设计与实现7f7h74np (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。当“选车”从线下逛 4S 店变成线上刷手机,屏幕里成百上千的…

作者头像 李华
网站建设 2026/5/1 16:00:14

Java编程中override和overload的区别,一看就懂

在Java编程中,override和overload是两个极易混淆的核心概念。它们都涉及方法的“重”,但方向和规则截然不同。简单来说,重写是子类对父类方法的“覆盖革新”,而重载是类内同名方法的“功能扩展”。理解二者的区别,是写…

作者头像 李华