1. 电子凸轮控制方案概述
在工业自动化领域,电子凸轮技术已经逐步取代传统的机械凸轮,成为实现精确运动控制的主流方案。这套基于西门子200smart PLC的电子凸轮系统,通过软件编程实现了主轴(Y轴)与从轴(X轴)之间的精确位置跟随,完美解决了机械凸轮存在的磨损、调整困难等问题。
核心控制逻辑是:Y轴作为主轴进行10000个脉冲的相对运动,X轴作为从轴同步跟随运动11000个脉冲,两者保持1.1:1的严格比例关系。这种控制方式在包装机械、印刷设备等需要精确同步的场合尤为常见。
2. 硬件配置与选型要点
2.1 PLC选型与脉冲输出配置
选择西门子S7-200smart CPU224XP作为控制器,主要基于以下考虑:
- 内置两路独立的高速脉冲输出(Q0.0和Q0.1),正好满足主从轴控制需求
- 支持PTO(脉冲串输出)和PWM(脉宽调制)两种模式
- 最大脉冲频率可达100kHz,满足大多数伺服驱动器的要求
特别注意:200smart系列最多支持三路脉冲同时输出,但不同输出点对应的指令类型有差异。Q0.0和Q0.1支持PTO/PWM,而Q0.3仅支持PWM模式。
2.2 伺服系统配置
系统采用两套伺服驱动系统:
- 主轴(Y轴):额定转速3000rpm,编码器分辨率17位(131072PPR)
- 从轴(X轴):与主轴同型号,确保动态响应特性一致
- 两者均工作在位置模式,接收PLC发出的脉冲+方向信号
伺服参数设置要点:
- 电子齿轮比设置为1:1,避免在驱动器侧引入额外的比例关系
- 位置环增益和速度环增益需调整到相近值
- 启用伺服驱动器的指令滤波功能,平滑PLC发出的脉冲信号
2.3 HMI人机界面
选用维纶通MT6103IP触摸屏,主要功能包括:
- 启动/停止控制
- 运动参数设置(脉冲数、速度等)
- 实时位置监控
- 报警显示与历史记录
3. 软件设计与实现细节
3.1 脉冲输出初始化
PLC上电初始化阶段需要配置关键参数:
stl复制// 主程序初始化
LD SM0.1 // 首次扫描标志
MOVB 16#8D, SMB67 // Q0.0配置:PTO模式、时基μs、启用加减速
MOVB 16#8D, SMB77 // Q0.1相同配置
MOVD +10000, SMD72 // Y轴目标脉冲数
MOVD +11000, SMD82 // X轴目标脉冲数
MOVR 500.0, SMB131 // Y轴加减速时间(ms)
MOVR 500.0, SMB132 // X轴加减速时间(ms)
这段代码有几个关键点:
- SMB67/SMB77的16#8D配置值分解:
- 最高位1:启用PTO
- 次高位0:时基选择微秒
- 低6位8D:启用加减速、更新脉冲数等
- 加减速时间必须设置为相同值(500ms),否则会导致主从轴不同步
- 脉冲数采用DINT(双整数)格式存储,避免运算溢出
3.2 运动控制逻辑实现
运动触发采用双PLS指令同步执行:
stl复制// 触摸屏启动按钮处理
LD M0.0 // 启动按钮状态
EU // 上升沿检测
PLS 0 // 启动Y轴运动
PLS 1 // 启动X轴运动
这里的关键技术点:
- 必须使用上升沿(EU)触发,避免重复执行
- 两个PLS指令必须在同一个扫描周期内执行
- PLC的循环扫描机制保证了指令的同步性(误差<1ms)
3.3 方向控制与位置计算
方向控制逻辑需要考虑主从轴的联动关系:
stl复制// 方向控制逻辑
LD Q0.2 // Y轴方向信号(0=正向,1=反向)
MOVD VD100, VD200 // 读取Y轴当前位置
AENO // 确保上条指令执行完成
*R VD200, 1.1 // 计算X轴理论位置(1.1倍)
TRUNC VD200, VD200 // 浮点转整数
MOVD VD200, VD202 // 设置X轴目标位置
位置计算中的注意事项:
- 必须使用浮点运算保持精度(*R指令)
- 最终需要转换为整数(TRUNC指令)
- 位置数据需使用双字(DWORD)存储,避免溢出
- 实际应用中建议增加软件限位保护
4. 运动曲线优化技术
4.1 S曲线加减速实现
相比传统的梯形加减速,S曲线具有更平滑的加速度变化:
stl复制// S曲线参数设置
MOVR 0.5, SMB135 // 加速段占比50%
MOVR 0.5, SMB136 // 减速段占比50%
MOVR 100.0, SMB137 // 最大加速度(Hz/ms)
S曲线的优势:
- 减小机械冲击
- 降低振动和噪音
- 提高定位精度
- 延长设备使用寿命
4.2 动态参数调整
通过HMI可以实时修改运动参数:
stl复制// 参数更新处理
LD SM0.0 // 始终执行
MOVR VD300, SMD72 // 更新Y轴目标脉冲
MOVR VD304, SMD82 // 更新X轴目标脉冲
MOVR VD308, SMB131 // 更新加减速时间
参数调整时的注意事项:
- 必须在运动停止状态下修改
- 修改后需要重新初始化PLS指令
- 建议增加参数合法性检查
5. 常见问题与解决方案
5.1 主从轴不同步问题
现象:运动过程中主从轴位置偏差逐渐增大
可能原因:
- 加减速时间设置不一致
- 脉冲当量计算错误
- 伺服响应速度差异
解决方案:
- 检查SMB131-SMB132的值是否相同
- 验证脉冲当量计算公式
- 调整伺服驱动器的增益参数
5.2 方向切换异常
现象:方向改变时从轴响应延迟
解决方案:
stl复制// 方向切换处理
LD M1.0 // 方向改变标志
PLS 0 // 停止Y轴
PLS 1 // 停止X轴
MOVD -SMD72, SMD72 // 取反脉冲数
MOVD -SMD82, SMD82 // 取反脉冲数
5.3 脉冲丢失问题
现象:实际位置与理论位置存在固定偏差
排查步骤:
- 检查接线是否可靠(推荐使用双绞屏蔽线)
- 降低脉冲频率测试
- 检查PLC和伺服的地线连接
- 增加脉冲监控功能
6. 系统调试与优化
6.1 调试步骤
- 先单独调试各轴,验证基本功能
- 测试主轴的定位精度和重复性
- 测试从轴的跟随性能
- 联调主从轴,观察同步误差
- 优化运动曲线参数
6.2 性能指标
经实际测试,系统达到以下指标:
- 同步误差:±3个脉冲以内
- 最大运动速度:50kHz脉冲频率
- 重复定位精度:±1个脉冲
- 方向切换响应时间:<10ms
6.3 扩展功能
在基础功能上可进一步扩展:
- 增加多段位置预设功能
- 实现电子齿轮功能(动态改变速比)
- 添加外部编码器反馈补偿
- 开发故障自诊断功能
这套电子凸轮控制系统虽然只使用了两个轴,但涵盖了运动控制的诸多核心技术要点。通过合理的参数配置和精细的调试,完全可以满足大多数工业场景的精确同步需求。在实际应用中,建议根据具体负载特性进一步优化运动参数,以达到最佳控制效果。