在工业自动化领域,PLC(可编程逻辑控制器)与伺服系统的组合应用已经成为精密运动控制的标配方案。这次要分享的是基于欧姆龙CP1H系列PLC实现的双轴伺服控制系统,主要应用于自动化产线上的物料定位与搬运场景。
CP1H作为欧姆龙的中端PLC产品,内置了4路高速脉冲输出(100kHz),特别适合需要低成本、高可靠性运动控制的场合。项目中需要同时控制两个伺服电机:X轴负责水平移动(行程800mm),Y轴负责垂直升降(行程300mm),要求重复定位精度达到±0.05mm。
关键挑战:如何在单台PLC上实现双轴的同步控制,同时确保脉冲信号不丢失、不干扰,这对PLC的脉冲输出稳定性和程序架构设计提出了较高要求。
CP1H的脉冲输出采用差分信号(CW+/CW-,CCW+/CCW-)方式,与伺服驱动器的连接需特别注意:
plaintext复制PLC端子 伺服驱动器端子
100.00 → CN1-44(X轴PULS+)
100.01 → CN1-45(X轴PULS-)
100.02 → CN1-46(X轴SIGN+)
100.03 → CN1-47(X轴SIGN-)
100.04 → CN1-44(Y轴PULS+)
100.05 → CN1-45(Y轴PULS-)
100.06 → CN1-46(Y轴SIGN+)
100.07 → CN1-47(Y轴SIGN-)
接地要点:屏蔽层在PLC侧单点接地,伺服驱动器侧的0V端子(CN1-3)需与PLC的COM端(0V)短接,避免地环路干扰。
plaintext复制Pn000=0002(控制模式:位置控制)
Pn200=0001(脉冲输入方式:差分信号)
Pn202=10000(电子齿轮分子)
Pn203=1(电子齿轮分母)
Pn522=3000(位置环增益)
Pn523=100(速度环增益)
电子齿轮比计算示例:
X轴采用5mm导程的滚珠丝杠,要求1脉冲=0.001mm移动量:
code复制电机每转脉冲数 = 编码器分辨率 × 4 = 17bit × 4 = 131072
电子齿轮比 = (5mm/转) / (0.001mm/脉冲) / 131072 ≈ 38.147
取整设置 Pn202=38147,Pn203=1000
在CX-Programmer中配置:
structured-text复制// 脉冲输出0(X轴)
PULS(886)指令:
#0010(独立模式)
#0000(CW方向)
目标频率:50000(Hz)
加减速时间:200(ms)
// 脉冲输出1(Y轴)
PLS2(887)指令:
#0011(连续模式)
#0001(CCW方向)
初始频率:1000(Hz)
最大频率:30000(Hz)
加减速斜率:500(Hz/ms)
CP1H支持循环任务+中断任务架构,建议按功能划分:
structured-text复制// 主循环任务(任务号0)
|-- 系统初始化
|-- 手动操作处理
|-- 自动流程调度
|-- 报警监控
// 中断任务1(定时中断10ms)
|-- 脉冲输出状态监测
|-- 当前位置计算
|-- 软限位判断
// 中断任务2(高速计数器中断)
|-- 原点回归处理
|-- 硬限位急停
原点回归逻辑:
structured-text复制LD SM0.1 // 首次扫描
MOV #0000 D100 // 清除X轴原点标志
MOV #0000 D101 // 清除Y轴原点标志
// X轴原点回归
LD X0.00 // 原点传感器
PLS(886) #0010, #0000, K50000, K200
CNT C0, K1000 // 减速距离脉冲计数
直线插补移动:
通过计算两轴脉冲当量比实现:
structured-text复制// 计算X/Y轴脉冲数比例
FLOAT D200 // X轴目标位置(mm)
FLOAT D202 // Y轴目标位置(mm)
DIV D200 D202 D204 // 比例系数
// 脉冲输出同步控制
TIM T0, K10 // 插补周期
PLS(886) #0010, #0000, D210, K200 // X轴
PLS(887) #0011, #0001, D212, K200 // Y轴
| 现象 | 可能原因 | 排查步骤 |
|---|---|---|
| 电机抖动不转 | 1. 相位接线错误 2. 增益参数过小 |
1. 检查U/V/W相序 2. 逐步提高Pn522值 |
| 定位超差 | 1. 电子齿轮比错误 2. 机械背隙过大 |
1. 复核Pn202/Pn203 2. 检查联轴器紧固 |
| 脉冲丢失 | 1. 线缆干扰 2. 电源电压不足 |
1. 改用双绞屏蔽线 2. 测量24V实际输出 |
使用示波器捕捉脉冲信号时发现:
根据负载变化自动调节:
structured-text复制// 根据当前位置调整增益
LD X0.05 // 进入高精度区标志
MOV K3500 D500 // 提高X轴Pn522
MOV K120 D501 // 提高Y轴Pn523
利用CP1H的DM区保持功能:
structured-text复制// 上电读取保存值
MOV D100 D200 // X轴位置
MOV D101 D201 // Y轴位置
// 运行中定时保存
TIM T1, K60000 // 每60秒
MOV D200 D100
MOV D201 D101