这套欧姆龙PLC与步科触摸屏的集成控制系统,是我在去年为一家包装机械制造商开发的典型工业自动化解决方案。系统以CP1H系列PLC为核心控制器,配合步科HMI实现人机交互,通过脉冲信号精确控制三台步科伺服电机完成物料输送定位。整个项目从电气图纸设计到最终调试历时两个月,期间积累了不少值得分享的实战经验。
这种控制系统在包装、装配、CNC等需要精确定位的设备中非常常见。相比传统的继电器控制,PLC+伺服的系统具有响应快、精度高(可达±0.1mm)、参数可调等优势。特别是CP1H内置的4轴脉冲输出功能,使其在小规模运动控制场合性价比尤为突出。
选择CP1H-X40DT-D这款PLC主要基于三点考虑:首先,其内置的4路100kHz脉冲输出(Y0-Y3)正好满足3轴控制需求且留有余量;其次,晶体管输出型可直接驱动伺服驱动器的PUL/SIGN接口;最后,CP1H的扩展能力支持未来增加I/O模块。实际使用中,其运动控制指令如PLS2(可变占空比脉冲)和SPED(速度控制)的响应速度完全达到设计要求。
步科伺服电机选用了STF系列400W机型,配套驱动器设置为位置控制模式。这里有个细节:伺服驱动器的电子齿轮比设置必须与机械传动比匹配。例如当丝杠导程为10mm,编码器分辨率为10000脉冲/转时,若希望1脉冲对应0.01mm移动量,则电子齿轮比应设为:
code复制(电机转1圈的脉冲数) / (机械移动量) = 10000 / (10/0.01) = 10
主电路采用三相380V供电,经断路器、接触器后接入伺服驱动器。控制电路方面特别注意:
重要提示:伺服驱动器的使能信号(SRV-ON)建议通过中间继电器控制,避免PLC输出点直接带载。曾遇到过因触点粘连导致电机意外启动的情况。
整个程序采用欧姆龙CX-Programmer开发,按功能划分为:
code复制|--MAIN(主循环)
| |--AXIS_CTRL(轴控制子程序)
| |--IO_MONITOR(输入输出监控)
| |--ALARM_HANDLE(报警处理)
|--SBR_自动模式(自动流程)
|--SBR_手动模式(JOG/点动控制)
|--SBR_参数设置(速度/加速度等)
在变量命名上采用匈牙利命名法,如"bAutoMode"表示布尔型自动模式标志,"nAxis1Speed"表示轴1速度值。所有关键变量都添加了中文注释,例如:
st复制// 轴1当前位置(单位:0.01mm)
D100 := 当前值寄存器
三轴联动采用相对定位指令DRVI实现。以下是一个典型的移动控制程序段:
st复制// 轴1正向移动100mm
MOV(100000, D200) // 目标位置(100mm×100脉冲/mm)
MOV(500, D201) // 速度500Hz
MOV(100, D202) // 加减速时间100ms
DRVI D200, D201, D202, 0 // 执行相对定位
多轴同步通过任务并行处理实现。例如在包装机的送膜环节,需要轴1(送膜)和轴2(切刀)协同:
st复制// 送膜与切刀联动
PLS2(轴1) // 启动送膜
TIM 100 // 延时100ms
PLS2(轴2) // 启动切刀
经验之谈:CP1H的脉冲输出在高速时(>50kHz)建议采用独立脉冲口,避免多个轴共用同一通道导致频率受限。曾因同时启动两轴导致脉冲丢失,后改为分时启动解决。
使用步科Kinco HMIware软件开发的界面包含:
特别在手动页面为每个轴添加了"点动+倍率"功能,通过PLC程序实现:
st复制// 轴1点动正转
LD M0 (正转按钮)
AND T0 (10ms时钟)
PLS M1 (脉冲信号)
MOV K500 D10 (基础速度)
MUL D10 D11 (倍率值) -> D12 (实际速度)
HMI与PLC的通信采用Modbus RTU协议,关键数据地址映射:
code复制HMI元件 PLC地址 功能
速度设定 D100-D102 三轴目标速度
当前位置 D200-D202 实时位置反馈
报警代码 D500 错误状态字
在画面切换时,通过PLC的"画面编号寄存器"实现上下文关联。例如当报警触发时,自动跳转到报警画面并显示对应解决方案。
基本参数设置:
试运行:
刚性调节:
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 电机不转 | 使能信号未接通 | 检查SRV-ON回路 |
| 位置偏差大 | 电子齿轮比错误 | 重新计算设置 |
| 高速时丢步 | 脉冲频率超限 | 降低速度或换用更高速PLC |
| 原点复归不准 | 近点信号抖动 | 调整ORG感应器位置或加硬件滤波 |
曾遇到一个棘手案例:设备运行一段时间后Z轴突然下坠。最终发现是制动电阻功率不足导致母线电压升高触发了驱动器保护。更换大功率电阻并在程序中添加了垂直轴保持扭矩指令后解决。
在基础功能稳定后,我们进一步实现了:
st复制// 轴1正限位检查
LD D200 (当前位置)
>= D301 (正限位)
OUT M10 (报警触发)
这套系统目前已在客户现场连续运行超过2000小时,定位精度保持在±0.05mm以内。对于想入门运动控制的朋友,建议先从单轴控制开始,逐步增加功能复杂度。CP1H的脉冲控制虽然简单,但配合合理的程序设计,完全可以满足大多数中小型设备的运动控制需求。