1. 项目背景与核心需求
在工业自动化领域,码垛机作为物流仓储环节的关键设备,其定位精度和运行效率直接影响生产线节拍。三菱FX3U系列PLC凭借稳定的性能和丰富的功能模块,成为中小型码垛系统的首选控制器。本次测试的码垛位置计算FB(功能块)正是针对X轴伺服连续定位场景开发的专用算法模块。
传统码垛位置计算通常采用离散点定位方式,每个垛位需要单独计算并发送脉冲指令。而连续定位模式通过预先计算整条运动轨迹的参数,允许伺服系统在无需PLC干预的情况下完成多段连续运动。这种模式特别适合垛型规则、节拍要求高的生产线,理论上可减少30%以上的通信开销。
2. 功能块设计原理剖析
2.1 坐标系建模方法
该FB块采用相对坐标系与绝对坐标系双轨计算模型。基础坐标系以机械原点为基准,每个垛位位置通过以下参数定义:
- 基准偏移量(X0)
- 列间距(ΔX)
- 层高补偿(Hn)
- 奇偶层偏移(δ)
实际计算时,先根据当前垛型(如5×3×8)确定行列层数,再通过公式:
code复制X_abs = X0 + (n-1)*ΔX + (m%2)*δ
Z_abs = H0 + (k-1)*Hn
其中n为列序数,m为层序数,k为当前层数。这种建模方式既保证了计算精度,又便于调整垛型参数。
2.2 连续定位实现机制
与常规定位不同,连续定位需要预先规划好运动曲线。FB块内部实现了:
- S型加减速曲线生成
- 段间速度衔接处理
- 前瞻预计算功能
关键参数包括:
structured复制// 伺服参数结构体
TYPE ST_ServoParam :
dAccTime : REAL; // 加速时间(ms)
dDecTime : REAL; // 减速时间(ms)
nSmoothness : INT; // 平滑系数(1-10)
END_TYPE;
3. 实操测试全流程
3.1 硬件配置清单
| 设备类型 | 型号规格 | 关键参数 |
|---|---|---|
| PLC主机 | FX3U-48MT/ESS | 脉冲输出200kHz |
| 伺服驱动器 | MR-JE-20A | 22bit编码器 |
| 伺服电机 | HG-KN13J-S100 | 额定转速3000rpm |
| HMI人机界面 | GS2107-WTBD | 7寸触摸屏 |
3.2 FB块调用示例
structured复制// 功能块实例化
FB_MultiPosCalc( EN := TRUE,
iPatternNo := 1,
iCurrentCol := D100,
iCurrentLayer := D101,
diBasePos := D200,
diPitch := D201,
doTargetPos => D300 );
// 连续定位指令
PLSV K5000 D300 Y000;
3.3 参数调试要点
-
机械补偿校准:
- 使用激光测距仪测量实际位移
- 修正ΔX和Hn的机械误差
- 建议每5000次运行后复检
-
伺服响应优化:
- 位置环增益建议值:35-45
- 速度环积分时间:20-30ms
- 前馈补偿量设为85%
重要提示:调试时应先以30%速度试运行,确认轨迹无异常后再提升至额定速度
4. 典型问题排查指南
4.1 位置累积误差
现象:连续运行后垛位逐渐偏移
- 检查项:
- 编码器反馈线是否受干扰
- 机械传动部件背隙(标准应<0.1mm)
- PLC脉冲输出是否丢步
解决方案:
structured复制// 增加位置校验功能
IF ABS(D8340 - D300) > 10 THEN
RST M8340;
PLSV K0 D8340 Y000;
END_IF;
4.2 段间停顿明显
现象:连续运动时垛位间有短暂停顿
- 参数调整方向:
- 增大平滑系数(建议值5-7)
- 减小段间速度差(不超过额定速度20%)
- 启用伺服内置前瞻功能(参数PC05设为1)
5. 性能优化进阶技巧
5.1 动态参数补偿
针对不同层高的惯性变化,可采用变参数控制:
structured复制CASE iCurrentLayer OF
1 TO 3: dAccTime := 200.0;
4 TO 6: dAccTime := 250.0;
ELSE: dAccTime := 300.0;
END_CASE;
5.2 振动抑制方案
当运行速度超过2000mm/s时:
- 在电机法兰加装减震胶垫
- 调整伺服滤波器参数:
- 陷波频率设为机械共振频率的1.2倍
- 带宽控制在5-10Hz范围内
- 机械结构加强方案:
- 横梁直线度≤0.05mm/m
- 使用碳纤维材质加固臂架
经过实测,这套FB块在标准托盘(1200×1000mm)码垛场景下,单循环时间可从原来的4.2s缩短至3.5s,且定位精度稳定在±0.3mm以内。对于需要频繁更换垛型的产线,建议将不同垛型参数存储在D寄存器区块中,通过HMI界面一键切换,可进一步减少调试停机时间。