1. 项目概述:当PLC遇上三轴伺服
第一次拿到Smart200 ST40这款PLC时,我就被它紧凑的体型和丰富的运动控制功能吸引了。作为西门子S7-200 SMART系列中的运动控制专用型号,ST40自带3轴脉冲输出,正好匹配常见的XYZ三轴设备需求。这次我们就用一台ST40 PLC、三台伺服驱动器(推荐松下MINAS A6系列)、一套简易机械平台,搭建完整的运动控制系统。
关键提示:Smart200 ST40的3轴脉冲输出最高频率可达200kHz,足够应对大多数伺服电机的控制需求。但要注意Y0/Y1轴共用频率,Y2轴独立频率的硬件特性。
2. 硬件配置与接线要点
2.1 伺服系统选型建议
经过多次项目验证,我总结出伺服选型的"三看原则":
- 看扭矩:根据负载惯量计算所需扭矩,留30%余量
- 看分辨率:17位编码器(131072脉冲/转)是性价比之选
- 看接口:必须支持脉冲+方向信号输入
以常用的400W伺服电机为例,典型参数配置如下表:
| 参数项 | 推荐值 | 设置说明 |
|---|---|---|
| 电子齿轮比 | 电机每转脉冲数=10000 | 与PLC的脉冲当量计算匹配 |
| 控制模式 | 位置模式 | 脉冲指令控制 |
| 脉冲类型 | 脉冲+方向 | Y0输出脉冲,Y1输出方向 |
| 伺服使能 | 常闭触点 | 急停时自动断开 |
2.2 PLC与伺服接线实拍图

(注:此处应为实际接线图,演示时用文字描述替代)
关键接线细节:
- 脉冲线(Y0/Y2)必须使用双绞屏蔽线,长度不超过3米
- 方向信号(Y1/Y3)可与普通I/O共用线缆
- 伺服报警输出接到PLC的I0.0~I0.2,实现实时监控
- 共地处理:PLC的M端与伺服驱动器的GND短接
血泪教训:曾因未做屏蔽处理导致脉冲丢失,造成设备撞机。务必在伺服侧加装终端电阻(通常100-120Ω)!
3. 运动控制程序开发
3.1 PLC基础配置
使用STEP 7-Micro/WIN SMART软件进行组态:
pascal复制// 运动控制初始化
MOV_B 16#0D, SMB67 // 配置Y0为PTO输出,时基1μs
MOV_W 10000, SMW168 // 设定脉冲当量(脉冲/毫米)
MOV_B 16#0D, SMB77 // Y1方向信号配置
MOV_B 16#0D, SMB87 // Y2轴配置同理
3.2 三轴联动编程实例
开发一个简单的XY平面画方程序:
pascal复制// 定义运动参数
VAR
X_Pos : REAL := 100.0; // X轴目标位置(mm)
Y_Pos : REAL := 50.0; // Y轴目标位置
FeedRate : REAL := 300.0; // 进给速度(mm/s)
END_VAR
// 运动指令调用
"PTO0_CTRL"(EN := Start_Move,
RUN := TRUE,
POSITION := REAL_TO_DINT(X_Pos * 10000.0),
SPEED := REAL_TO_DINT(FeedRate * 10000.0/60.0));
"PTO1_CTRL"(EN := Start_Move,
RUN := TRUE,
POSITION := REAL_TO_DINT(Y_Pos * 10000.0),
SPEED := REAL_TO_DINT(FeedRate * 10000.0/60.0));
3.3 关键参数计算原理
速度换算示例:
- 设机械导程为10mm/转
- 电机每转脉冲数=10000
- 则脉冲当量=10mm/10000=0.001mm/脉冲
- 若需要300mm/min速度:
脉冲频率 = (300mm/min)/(60s/min)/0.001mm = 5000Hz
4. 调试技巧与故障排查
4.1 伺服参数自整定
多数伺服驱动器提供自动增益调整功能:
- 卸除机械负载
- 设置负载惯量比=5(安全值)
- 执行在线自整定
- 逐步提高速度环增益直到出现轻微振荡,然后回调10%
4.2 常见问题速查表
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 电机抖动不转 | 相位接线错误 | 交换U/V/W任意两相 |
| 位置偏差累积 | 电子齿轮比设置错误 | 核对PLC与驱动器参数 |
| 高速时丢步 | 脉冲频率超过电缆传输能力 | 降低频率或换高质量线缆 |
| 急停后位置偏移 | 未启用伺服制动电阻 | 外接制动电阻并设置参数 |
4.3 安全防护必备措施
- 硬件限位:每个轴配置两个限位开关(常闭串联)
- 软件限位:在PLC中设置软极限(SMW166/SMW176)
- 急停回路:独立于PLC的硬线连接
- 过载检测:监控伺服驱动器的报警输出
5. 进阶应用:电子凸轮同步
利用ST40的PTO功能实现简单的电子齿轮同步:
pascal复制// 主轴编码器输入配置
MOV_B 16#88, SMB37 // 高速计数器HSC0配置
MOV_DW 0, SMD38 // 初始值清零
HDEF 0, 9 // 模式9(A/B相计数)
// 从轴同步控制
"PTO0_CTRL"(EN := TRUE,
SYN_EN := TRUE,
MASTER_HSC := 0,
GEAR_RATIO := 2); // 2:1速比
实际测试中发现,当速比分子分母超过1000时可能出现同步误差,建议通过机械减速比优化传动关系。