当前位置: 首页 > news >正文

电子凸轮 - 区间运动 Ver1.1.2(位置跟随,去程)探索

电子凸轮-区间运动Ver1.1.2(位置跟随,去程) 1.一个主轴编码器+一个从轴伺服 2.在200smart/CPU224XP中运行 3.维伦通触摸屏 4.pls指令编写 5.凸轮带加减速 6.该版本只有去程,每个动作周期跟随主轴同步运动一次,适合单方向的动作。

在自动化控制领域,电子凸轮技术有着广泛的应用,它能实现从轴与主轴的精确同步运动。今天咱们就来聊聊基于 200smart/CPU224XP 的电子凸轮 - 区间运动 Ver1.1.2 版本,这个版本专注于位置跟随的去程,非常适合单方向动作的场景。

硬件基础

这个系统主要由一个主轴编码器和一个从轴伺服构成。主轴编码器负责实时反馈主轴的位置信息,就像是整个系统的“眼睛”,能让我们时刻知晓主轴走到哪一步了。而从轴伺服则根据接收到的指令,精确控制自身的运动,以实现与主轴的同步。同时,维伦通触摸屏作为人机交互的窗口,方便我们对系统参数进行设置和监控。

软件核心 - PLS 指令编写

在 200smart/CPU224XP 中,我们使用 PLS 指令来实现电子凸轮的运动控制。PLS 指令即脉冲输出指令,它可以精准地控制脉冲的输出频率和数量,从而实现对从轴伺服电机的速度和位置控制。

下面简单看一段示例代码(这里以梯形图为例,实际应用中可根据具体情况调整):

NETWORK 1 // 初始化部分 LD SM0.1 MOVW 16#0000, SMB67 // 初始化控制字节,这里设置为默认值 MOVW 1000, SMW68 // 设置脉冲周期值,1000 表示一定的时间间隔(具体时间与系统时钟有关) MOVW 10000, SMW70 // 设置脉冲个数 ATCH INT_0, 19 // 关联中断程序 INT_0 到中断事件 19(脉冲输出完成中断) ENI // 全局开中断 PLS 0 // 启动 PLS 0 脉冲输出 NETWORK 2 // 主程序逻辑部分,这里简单示例根据主轴反馈调整从轴运动 LD I0.0 // 假设 I0.0 为主轴反馈信号 JMP NEXT_IF_NOT_READY // 根据主轴反馈值计算从轴位置调整量,这里只是示意,实际要复杂得多 MOVW AIW0, VW100 // 读取主轴编码器反馈值到 VW100 MUL VW100, 2, VW102 // 简单计算调整量,乘以 2 ADD VW102, SMW70, SMW70 // 更新脉冲个数 NEXT_IF_NOT_READY:

代码分析

  1. 初始化部分:当 PLC 首次扫描时(SM0.1 接通一个扫描周期),对脉冲输出的控制字节 SMB67 进行初始化设置,这里设置为默认值,后续可以根据需求灵活调整,比如设置脉冲输出模式等。SMW68 设置脉冲周期,这个值决定了脉冲输出的频率,数值越小频率越高。SMW70 设置总的脉冲个数,从轴伺服电机将根据这个脉冲个数来确定移动的距离。ATCH 指令将中断程序 INT0 关联到中断事件 19,当中断事件 19 发生,也就是脉冲输出完成时,会执行 INT0 中断程序,方便我们进行后续处理,比如检查运动是否到位等。最后 ENI 全局开中断,允许中断事件发生。PLS 0 指令启动编号为 0 的脉冲输出。
  2. 主程序逻辑部分:首先检查 I0.0 信号,假设它是主轴反馈信号,如果信号未就绪则跳转到NEXTIFNOT_READY。这里通过 MOVW 指令读取主轴编码器反馈值到 VW100,AIW0 是模拟量输入通道,实际应用中可能需要根据编码器连接情况调整。然后简单乘以 2 计算调整量,并更新到总的脉冲个数 SMW70 中,这样从轴就能根据主轴的反馈实时调整运动位置。

凸轮带加减速

在实际运动过程中,为了避免冲击和保证运动的平稳性,加减速控制必不可少。在这个电子凸轮系统里,我们通过调整脉冲输出的频率来实现加减速。

电子凸轮-区间运动Ver1.1.2(位置跟随,去程) 1.一个主轴编码器+一个从轴伺服 2.在200smart/CPU224XP中运行 3.维伦通触摸屏 4.pls指令编写 5.凸轮带加减速 6.该版本只有去程,每个动作周期跟随主轴同步运动一次,适合单方向的动作。

比如在启动阶段,逐渐增加脉冲周期(减小频率),实现缓慢加速;在接近目标位置时,逐渐减小脉冲周期(增大频率),实现缓慢减速。以下是一段简单实现加减速的代码片段:

NETWORK 3 // 加减速控制 LD SM0.5 // 秒脉冲 LDB>= SMB67, 16#D1 // 检查控制字节,确保在正确模式 LDB<> VB10, 2 // VB10 假设为加减速状态标志,2 表示匀速 JMP NEXT_IF_NOT_ACC_DEC // 加速阶段 LDBEQ VB10, 0 INCB VB10 MULW 10, VB10, VW200 ADDW VW200, 1000, SMW68 // 逐渐增加脉冲周期,实现加速 // 减速阶段 LDBEQ VB10, 1 DECB VB10 MULW 10, VB10, VW200 ADDW VW200, 1000, SMW68 // 逐渐减小脉冲周期,实现减速 NEXT_IF_NOT_ACC_DEC:

代码分析

这段代码利用秒脉冲 SM0.5 来定时检查加减速状态。首先检查控制字节 SMB67 是否处于正确模式,并且检查加减速状态标志 VB10 是否为非匀速状态。如果处于加速阶段(VB10 为 0),则增加 VB10 的值,并根据其值计算新的脉冲周期增加值,加到 SMW68 上,实现加速。如果处于减速阶段(VB10 为 1),则减小 VB10 的值,同样计算新的脉冲周期增加值加到 SMW68 上,实现减速。

版本特性 - 仅去程单方向动作

Ver1.1.2 版本目前只有去程,每个动作周期跟随主轴同步运动一次。这种设计适用于一些特定的单方向动作场景,比如单向的物料输送、单向的加工动作等。相比往返运动的复杂逻辑,这个版本专注于去程的精确控制,简化了代码逻辑和系统调试难度,能更高效地满足单方向动作的需求。

总的来说,电子凸轮 - 区间运动 Ver1.1.2 版本通过巧妙的硬件搭配和基于 PLS 指令的软件编程,实现了从轴与主轴的精确位置跟随,尤其是在单方向动作场景下展现出良好的适用性,为自动化控制提供了一种可靠的解决方案。希望以上分享能对大家理解和应用电子凸轮技术有所帮助。

http://www.jsqmd.com/news/453732/

相关文章:

  • springboot基于微信小程序的小动物救助领养小程序(源码+文档+调试+vue+前后端分离)
  • Leetcode 134 存在重复元素 II | 最长连续序列
  • 图片处理器2.0
  • 机考刷题之 6 LeetCode 169 多数元素
  • 【Day1】从零开始的ctf打卡(入门题..
  • 【2026大盘点】钻攻中心国产与国际品牌对决,浙江北一机电实力突围 - 品牌推荐大师
  • Unsloth 平台 Qwen3.5 模型使用攻略
  • Windows 实用小工具:PDF ↔ Word 一键互转,无需安装 Office,带实时进度条
  • RSA 真的能破吗?我找到了它的结构命门(但我不能说)
  • 【中间件设计 Kafka】Kafka如何保证消息顺序投递和顺序消费
  • C语言数据类型与常量变量
  • 计算机三级备考(六)——数据库及数据库对象
  • 明控创能MKC3568开发板研究手记——为无资料支持的板子适配Linux主线内核(Arm飞牛)
  • LobsterAI(有道龙虾)新版接入企业微信及QQ机器人
  • 计算机毕业设计源码:超市营收数据可视化分析平台全流程构建 Flask框架 可视化 超市 商品 数据分析 大数据 大模型 AI deepseek agent 模型训练 算法优化(建议收藏)✅
  • (103页PPT)IBMmairui集成供应链优化业务变革咨询方案建议书(附下载方式)
  • 熊猫AI助理,助力运维,智能护航
  • 从新手到高手:我用秦岳ai pod工具实现效率翻倍的真实经历
  • 英文版Linux系统的安装
  • 二.三C语言的组成【C语言的组成】
  • 超好玩的长沙歌舞酒吧
  • 在surface上做V1V2V3视觉皮层的拓扑映射并将surface转换成体素
  • 帛书《周易》“困”象不是《易经》“困”卦
  • MySQL 中存储引擎、数据字典、表空间、数据文件、日志的概念与作用
  • OpenClaw大龙虾:2026年最炸裂开源项目,普通打工人也能轻松玩转,效率翻倍!
  • 【架构】Server-Survival,扮演云架构师的塔防游戏,生存策略
  • 红日靶场1渗透
  • 2026年净化板厂家实力推荐榜:手工/机制/岩棉/玻镁岩棉净化板,精选优质品牌与技术创新深度解析 - 品牌企业推荐师(官方)
  • 关于验证码生成的接口实例
  • 国产烟尘测试仪知名企业盘点,4家优质厂家榜单,附评分推荐 - 品牌推荐大师1