多色印刷机 (Printing Press)
面向软包装、标签印刷、卷筒印刷的中高端多色印刷设备。依托 Darra 多组电子凸轮 (CamSet) + 色标跟踪 + 卷绕锥度张力 三大工艺对象, 在 250 µs 周期内完成 6 色版辊同步 + 收放卷张力闭环 + 烘箱 PID。
1. 设备简介
凹/凸版多色印刷机的核心是"一套主基准 → N 色版辊同步转 → 每色到色标处精准压印 → 烘干 → 收放卷张力恒定"。典型指标:
| 项目 | 参数 |
|---|---|
| 色数 | 6 色 (可配 4/6/8) |
| 印刷速度 | ≥ 200 m/min (实测 220) |
| 套印精度 | ±0.05 mm (实测 ±0.04) |
| 张力控制 | ±3% (实测 ±1.8%) |
| 张力范围 | 20~500 N |
| 色标跟踪收敛 | ≤ 3 个印图 (实测 2) |
| EtherCAT 周期 | 250 µs, 抖动 < 3 µs |
| 烘箱温区 | 6 区, 60~180°C |
工艺链: 放卷 (张力闭环) → 色 1 印版 → 烘箱 1 → 色 2 印版 → 烘箱 2 → ... → 色 6 印版 → 烘箱 6 → 冷却辊 → 收卷 (锥度张力)。
2. 项目模块组成
| 层 | 项目 | 职责 |
|---|---|---|
| 实时驱动 | DarraRT.sys + DarraRT_Eth.sys + DarraRT_PLC.sys | 内核调度 + EtherCAT |
| 服务层 | Darra.PLC.Service | 运行时管理 |
| 用户层 | Darra.PLC.Panel + Darra.PLC.IDE | 操作 + 开发 |
| 视觉层 | 海康 SDK + Darra 视觉桥接 | 印刷质量检测 |
PLC 单元:
| 单元 | 周期 | 说明 |
|---|---|---|
| PRG_MAIN | 10 ms | 全局状态机 |
| PRG_VMASTER | 250 µs | 虚拟主轴发生器 |
| PRG_CAMS | 250 µs | 6 色电子凸轮组 + 色标跟踪 |
| PRG_UNWIND | 1 ms | 放卷张力闭环 |
| PRG_REWIND | 1 ms | 收卷锥度张力 |
| PRG_DRYER | 10 ms | 6 区烘箱 PID + 变频 |
| PRG_VISION | 20 ms | 印刷质量视觉 |
3. 机械装配架构
[放卷轴 (500 N)] ─┬─ 张力辊 ─ 牵引辊 ─→
↓
色 1 版辊 ─ 烘箱 1 (60~120°C)
↓
色 2 版辊 ─ 烘箱 2
↓
...
↓
色 6 版辊 ─ 烘箱 6
↓
冷却辊
↓
[收卷轴 (500 N, 锥度张力)]
色标传感器 CM1..CM6 安装在每色压印前, 直连对应色版辊伺服的探针输入
轴汇总:
| 轴 | 功能 | 规格 |
|---|---|---|
| Axis_VMaster | 虚拟主轴 | 软件生成 |
| Axis_Color1..6 | 6 色版辊 | SV660N 2.2 kW × 6 + 绝对值编码器 |
| Axis_Unwind | 放卷 | SV660N 5.5 kW |
| Axis_Rewind | 收卷 | SV660N 5.5 kW |
| Axis_Pull1 | 入料牵引 | SV660N 1.5 kW |
| Axis_Pull2 | 出料冷却辊 | SV660N 1.5 kW |
4. 程序架构
Darra.PLC.IDE
| 下装
v
Darra.PLC.Service <---> Panel (HMI ×3, 前中后操作台)
| IOCTL
v
DarraRT_PLC.sys =GlobalIO= DarraRT_Eth.sys
| EtherCAT (250 µs, 环形冗余)
v
AM600 CPU → DI/DO → PT100 ×3 → AO ×3 → SV660N ×10 → 电磁阀岛
色标传感器 6 路直连对应 SV660N 的 TouchProbe1, 硬件锁存, 不占 PDO 带宽。
任务调度:
- 250 µs:
PRG_VMASTER/PRG_CAMS - 1 ms:
PRG_UNWIND/PRG_REWIND - 10 ms:
PRG_MAIN/PRG_DRYER - 20 ms:
PRG_VISION/ HMI 刷新
5. 硬件 BOM (国产化)
| 类别 | 型号 | 品牌 | 数量 | 单价 (¥) | 小计 |
|---|---|---|---|---|---|
| 工控机 | IPC-610H (i7-12700 / 16 G / 256 G SSD) | 研华 | 1 | 6,000 | 6,000 |
| HMI (主操作台) | TK8071iE 10 寸 | 威纶通 | 1 | 1,800 | 1,800 |
| HMI (副操作台) | TK6071iQ 7 寸 | 威纶通 | 2 | 1,280 | 2,560 |
| 伺服驱动 (6 色版辊) | SV660N-EtherCAT 2.2 kW | 汇川 | 6 | 3,800 | 22,800 |
| 伺服电机 (版辊) | ISMH1-22C30CB + 抱闸 | 汇川 | 6 | 3,200 | 19,200 |
| 伺服驱动 (收放卷) | SV660N-EtherCAT 5.5 kW | 汇川 | 2 | 6,800 | 13,600 |
| 伺服电机 (收放卷) | ISMH1-55C30CB | 汇川 | 2 | 5,800 | 11,600 |
| 伺服驱动 (牵引 / 冷却) | SV660N 1.5 kW | 汇川 | 2 | 3,200 | 6,400 |
| 伺服电机 | ISMH1-15C30CB | 汇川 | 2 | 2,800 | 5,600 |
| EtherCAT IO 主 | AM600-CPU1608TP | 汇川 | 1 | 1,800 | 1,800 |
| DI 模块 | AM600-1600END | 汇川 | 2 | 580 | 1,160 |
| DO 模块 | AM600-1600ETN | 汇川 | 2 | 580 | 1,160 |
| PT100 模块 | AM600-4PT | 汇川 | 3 | 1,200 | 3,600 |
| AO 模块 (加热) | AM600-4DA | 汇川 | 3 | 980 | 2,940 |
| 变频器 (热风) | MS300-11 kW | 台达 | 6 | 4,200 | 25,200 |
| 张力传感器 | U9B 500 N | 国产 | 2 | 2,400 | 4,800 |
| 色标传感器 | BC50D 三色通道 | 奥普 | 6 | 780 | 4,680 |
| 卷径传感器 | 超声波 0~1 m | 国产 | 2 | 380 | 760 |
| 版辊编码器 | 5000 ppr 绝对值 | 雷赛 | 6 | 850 | 5,100 |
| 视觉检测 | 500 万像素 × 2 + 光源 | 海康 | 1 套 | 15,000 | 15,000 |
| 电磁阀岛 | EtherCAT 16 联 | 亚德客 | 1 | 2,800 | 2,800 |
| 气缸 (对版 / 压印) | 标准 | 亚德客 | 20 | 320 | 6,400 |
| 加热棒 6 kW × 6 区 | 陶瓷 | 国产 | 18 | 260 | 4,680 |
| SSR 继电器 40 A | - | 国产 | 18 | 85 | 1,530 |
| PT100 传感器 | M8 × 100 | 国产 | 18 | 35 | 630 |
| 安全光幕 (各工位) | 800 mm 10 光轴 | 舜驰 | 4 | 800 | 3,200 |
| 电控柜 (大柜 + 分柜) | 威图国产 | - | 1 套 | 8,000 | 8,000 |
| 端子 / 线缆 / 杂项 | - | - | 1 套 | 8,000 | 8,000 |
| 合计 | ¥190,900 |
说明: 控制系统 BOM ¥19 万; 若降规格可做到 ¥14 万。
6. IO 模块配置
6.1 配置流程
- IDE → 设备视图 → 新建 EtherCAT 主站 (LAN2), 周期 = 250 µs
- 扫描拓扑, 从站顺序: AM600 CPU → DI ×2 → DO ×2 → PT100 ×3 → AO ×3 → SV660N ×10 → 电磁阀岛
- 版辊伺服别名
Axis_Color1..6, 绝对值编码器回原点一次即可 - 色标传感器 BC50D 的 NPN 输出 → SV660N 数字探针 DI5, 在驱动参数里打开 TouchProbe1 上升沿
- 张力传感器接 AM600-4AD (0~10 V), AI 通道映射
AI_Tension_In/Out - 超声波卷径接 AI (0
10 V → 01 m) - PT100 × 18 = 3 个 4PT 模块, 映射
AI_TempZone1..18, 每色 3 点温度 (上 / 中 / 下) - AO 模块 → SSR PWM 驱动信号 (0~10 V 转占空比)
6.2 IO 清单 (节选)
| 地址 | 符号 | 说明 |
|---|---|---|
| I0.0..5 | SB_Start/Stop/EStop/Reset/Auto/Manual | 按钮 |
| I0.6 | SEN_LightCurtain_Main | 主光幕 |
| I0.7 | SEN_WebBreak | 断纸检测 |
| I1.0 | SEN_UnwindEnd | 放卷用完 |
| I1.1 | SEN_RewindFull | 收卷满 |
| I1.2..7 | SEN_ColorReady1..6 | 6 色版到位 |
| 伺服 TP | TP_ColorMark1..6 | 6 色色标 (驱动内锁存) |
| AI0.0 | AI_Tension_In | 放卷张力 |
| AI0.1 | AI_Tension_Out | 收卷张力 |
| AI0.2 | AI_Rewind_Diameter | 收卷卷径 |
| AI0.3 | AI_Unwind_Diameter | 放卷卷径 |
| AI1.0..5 | AI_DryerTemp1..6 | 6 区平均温度 |
| Q0.0 | MTR_MasterEnable | 虚拟主轴使能 |
| Q0.1..6 | SOL_PressColor1..6 | 6 色压印气缸 |
| Q0.7 | SOL_EStopBrake | 急停刹车 |
| AO0.0..5 | AO_HeaterDuty1..6 | 6 区加热占空比 |
| AO1.0..5 | AO_DryerFanFreq1..6 | 6 区热风变频 |
6.3 伺服绑定
| 轴别名 | SlaveIndex | 探针 | 用途 |
|---|---|---|---|
| Axis_VMaster | - (虚拟) | - | 主基准 |
| Axis_Color1 | 10 | TP1 ← CM1 | 色 1 版辊 |
| Axis_Color2 | 11 | TP1 ← CM2 | 色 2 版辊 |
| ... | |||
| Axis_Color6 | 15 | TP1 ← CM6 | 色 6 版辊 |
| Axis_Unwind | 16 | - | 放卷 |
| Axis_Rewind | 17 | - | 收卷 |
| Axis_Pull1 | 18 | - | 入料牵引 |
| Axis_Pull2 | 19 | - | 冷却辊 |
7. 核心数据结构
TYPE RECIPE_PRINT :
STRUCT
Name : STRING(64);
Substrate : STRING(32); // "BOPP25" "PET12"
ColorCount : INT; // 1..6
ColorPitch : LREAL; // 色间距 mm
LineSpeed : LREAL; // 车速 m/min
UnwindTension : LREAL; // 放卷张力 N
RewindTensionMin: LREAL;
RewindTensionMax: LREAL;
RewindTaperK : LREAL; // 锥度 0..1
DryerTemp : ARRAY[1..6] OF LREAL;
DryerFanFreq : ARRAY[1..6] OF LREAL;
CamTableId : ARRAY[1..6] OF INT;
TrackingEnable : ARRAY[1..6] OF BOOL;
TrackingKp : ARRAY[1..6] OF LREAL;
TrackingLimit : ARRAY[1..6] OF LREAL;
END_STRUCT
END_TYPE
TYPE MACHINE_STATE :
(
Idle, PreHeat, Threading, Running, Paused, Fault
);
END_TYPE
VAR_GLOBAL
gState : MACHINE_STATE := MACHINE_STATE#Idle;
gRecipe : RECIPE_PRINT;
gTensionIn : LREAL;
gTensionOut : LREAL;
gDiaRew : LREAL;
gDiaUnw : LREAL;
gDryerOut : ARRAY[1..6] OF LREAL;
gMeters : LREAL; // 已印米数
END_VAR
8. 核心程序代码
8.1 虚拟主轴
PROGRAM PRG_VMASTER
VAR
mc_pwr : MC_Power;
mc_vel : MC_MoveVelocity;
END_VAR
mc_pwr(Axis := Axis_VMaster, Enable := TRUE);
mc_vel(
Axis := Axis_VMaster,
Velocity := gRecipe.LineSpeed * 1000.0 / 60.0, // m/min -> mm/s
Acceleration := 500,
Deceleration := 500,
Execute := gState = MACHINE_STATE#Running
);
END_PROGRAM
8.2 工艺对象 — 6 色电子凸轮组
FUNCTION_BLOCK FB_ColorCam
VAR_INPUT
Execute : BOOL;
CamTableId : INT;
Pitch : LREAL; // 色间距
END_VAR
VAR_IN_OUT
Master : AXIS_REF; // 虚拟主轴
Slave : AXIS_REF; // 色版辊
END_VAR
VAR
camSel : MC_CamTableSelect;
camIn : MC_CamIn;
END_VAR
camSel(
CamTable := CAM_PrintTables[CamTableId],
Master := Master,
Slave := Slave,
Periodic := TRUE,
MasterScaling := Pitch,
SlaveScaling := 1.0
);
camIn(
Master := Master,
Slave := Slave,
MasterOffset := 0,
SlaveOffset := 0,
StartMode := MC_STARTMODE#Absolute,
Execute := Execute AND camSel.Done
);
END_FUNCTION_BLOCK
PROGRAM PRG_CAMS
VAR
fbCam : ARRAY[1..6] OF FB_ColorCam;
i : INT;
END_VAR
FOR i := 1 TO gRecipe.ColorCount DO
fbCam[i](
Execute := gState = MACHINE_STATE#Running,
CamTableId := gRecipe.CamTableId[i],
Pitch := gRecipe.ColorPitch,
Master := Axis_VMaster,
Slave := Axis_Color[i]
);
END_FOR
END_PROGRAM
8.3 工艺对象 — 色标相位补偿 (每色一路)
FUNCTION_BLOCK FB_ColorTracking
VAR_INPUT
Enable : BOOL;
Kp : LREAL;
LimitMm : LREAL;
END_VAR
VAR_IN_OUT
SlaveAx : AXIS_REF; // 色版辊
Probe : AXIS_PROBE; // 对应色标探针
END_VAR
VAR
probe : MC_TouchProbe;
phase : MC_PhasingRelative;
err, corr: LREAL;
END_VAR
probe(Axis := SlaveAx, Probe := Probe, Execute := Enable);
IF probe.Done THEN
err := probe.RecordedPosition - 0.0; // 期望 0 (= 凸轮起始)
corr := LIMIT(-LimitMm, -err * Kp, LimitMm);
phase(Master := SlaveAx, Slave := SlaveAx,
PhaseShift := corr, Velocity := 200,
Acceleration := 5000, Execute := TRUE);
probe(Axis := SlaveAx, Probe := Probe, Execute := FALSE);
probe(Axis := SlaveAx, Probe := Probe, Execute := TRUE);
END_IF
END_FUNCTION_BLOCK
8.4 工艺对象 — 卷绕锥度张力
FUNCTION_BLOCK FB_RewindTaper
VAR_INPUT
TensionMeas : LREAL;
DiameterMeas: LREAL;
TensionMin : LREAL;
TensionMax : LREAL;
TaperK : LREAL; // 0..1
DiaMin : LREAL := 100;
DiaMax : LREAL := 600;
END_VAR
VAR_IN_OUT
Axis : AXIS_REF;
END_VAR
VAR
target : LREAL;
pid : FB_PIDT1;
END_VAR
// F(r) = Fmin + (Fmax - Fmin) * (1 - k * (r - rmin)/(rmax - rmin))
target := TensionMin +
(TensionMax - TensionMin) *
(1.0 - TaperK * (DiameterMeas - DiaMin) / (DiaMax - DiaMin));
target := LIMIT(TensionMin, target, TensionMax);
pid(Setpoint := target, Actual := TensionMeas,
Kp := 0.5, Ti := T#0.1s, Td := T#0s,
OutMin := 0.0, OutMax := 1.0);
Axis.TargetVel := pid.Out * gRecipe.LineSpeed * 1000.0 / 60.0;
END_FUNCTION_BLOCK
8.5 工艺对象 — 6 区烘箱 PID
PROGRAM PRG_DRYER
VAR
pids : ARRAY[1..6] OF FB_PIDT1;
i : INT;
END_VAR
FOR i := 1 TO 6 DO
pids[i](
Setpoint := gRecipe.DryerTemp[i],
Actual := AI_DryerTemp[i],
Kp := 1.6, Ti := T#20s, Td := T#5s,
OutMin := 0.0, OutMax := 1.0
);
gDryerOut[i] := pids[i].Out;
AO_HeaterDuty[i] := gDryerOut[i];
AO_DryerFanFreq[i] := gRecipe.DryerFanFreq[i];
END_FOR
END_PROGRAM
9. 运行与调试
9.1 上电首检
- 各轴绝对值编码器回原点一次
- 气压 ≥ 0.6 MPa, 冷却水常开
- 6 区 PT100 读数室温附近
- EtherCAT 扫描从站数 = 配置
9.2 穿料流程
- 手动爬行模式 (5 m/min)
- 把基材从放卷 → 各色版 → 烘箱 → 收卷串起来
- 每色压印气缸暂不压下, 防止空转磨版
9.3 预热
- HMI 设配方 → 预热启动
- PRG_DRYER 按配方温度整定, 约 10 min 到温, 保持 5 min
9.4 套印对齐
- 先不跟色标, 仅用电子凸轮同步, 观察印图错位
- 手动粗调各色版辊相位偏移 (凸轮 MasterOffset), 误差 < 1 mm
- 打开 TrackingEnable, Kp 从 0.3 起步, 观察收敛速度
- 目标: 3 个印图内收敛到 ±0.05 mm
9.5 收卷锥度标定
- 用新卷筒, 起始卷径 100 mm, 张力设 280 N
- 收卷达 600 mm, 张力应自动降到 280 × (1 - 0.15) = 238 N
- 测量膜卷硬度, 若外圈松软, 把 TaperK 从 0.15 调到 0.10 (减小锥度)
9.6 换单换版流程
- 减速到 20 m/min, 收卷剪膜, 贴新卷头
- 切新配方
RECIPE_PRINT.Name := "活件XXX" - 6 色版辊逐色上版 (气动压印抬起 → 更换版辊 → 放下)
- HMI → "自动对版" → PLC 让虚拟主轴低速走 3 米, 每色凸轮自动把色标对齐
- 检样合格后加速到目标车速
9.7 穿料断纸处理
任意工位断纸时 SEN_WebBreak = TRUE:
- PLC 立即执行急停刹车
SOL_EStopBrake := TRUE - 所有色版辊抬起 (避免膜拖出墨渍)
- 烘箱降到 60°C 待机
- 工人重新穿料后 HMI 复位
9.8 关键日志
| 日志 | 路径 |
|---|---|
| 套印误差趋势 | %AppData%/DarraPLC/logs/print_tracking_*.log |
| 张力 / 卷径 | %AppData%/DarraPLC/logs/winder_*.log |
| 烘箱温度 | %AppData%/DarraPLC/logs/dryer_*.log |
| 视觉缺陷 | %AppData%/DarraPLC/logs/vision_*.log |
| 色标探针命中 | %AppData%/DarraPLC/logs/touch_probe_*.log |
9.9 套印调试口诀
- 先稳主, 再跟色: Axis_VMaster 速度环整定好 (<0.1% 波动) 再打开色标 Tracking
- 先 4 色, 后加色: 6 色全开会互相干扰, 建议 4 色通过后再加 5、6 色
- Kp 不冒险: 过大会震荡, 过小会收敛慢, 建议从 0.4 起步, 每次加 0.1
10. Darra 功能对照表
| 工艺需求 | Darra 功能 |
|---|---|
| 虚拟主基准 | Darra 虚拟轴 + MC_MoveVelocity |
| 6 色同步 | 电子凸轮组 MC_CamIn × 6 (不同 MasterOffset) |
| 色标相位补偿 | 硬件 TouchProbe + MC_PhasingRelative |
| 放卷张力 | FB_PIDT1 + 速度修正 |
| 收卷锥度张力 | 内置锥度函数 + PID |
| 烘箱 6 区 PID | FB_PIDT1 + AO 0~10 V + SSR |
| 印刷质量视觉 | Darra 视觉桥接 + 海康 500 万像素 |
| EtherCAT 冗余 | Eth 驱动原生支持环形 |
| 远程运维 | Service 内置 MQTT 上云 |
| 配方 | RECIPE_PRINT + HMI 多配方管理 |
9.10 维护周期
| 项目 | 周期 | 说明 |
|---|---|---|
| 版辊清洗 | 每班 | 专用溶剂 + 海绵辊 |
| 烘箱过滤网 | 30 天 | 粉尘堵塞会导致温度过高 |
| 色标传感器镜头 | 15 天 | 油墨飞沫清理 |
| 张力辊轴承 | 180 天 | 加油 |
| 版辊编码器 | 365 天 | 绝对值需偶尔重新标零 |
9.11 OEM 出货清单
- 出厂前烧入 License 与机器 CPU 指纹绑定
- HMI 软件全中文界面 (海外版本 Darra 提供英文 / 俄文 / 西班牙文)
- 云端默认基础版 (30 天免费, 到期后客户自选升级)
- 备件清单随机: 色标传感器 ×2, PT100 ×6, SSR ×6, 伺服保险丝 ×10
11. 项目总结
- 控制系统 BOM ¥19 万: 6 色版辊 + 2 收放卷 + 2 牵引 = 10 轴, 一机全部驱动
- 250 µs 周期: 为套印精度做保障, Darra 实测抖动 < 3 µs
- 工艺对象全套内置: 电子凸轮组 / TouchProbe / 锥度张力 / PID, 主代码 < 500 行
- 套印精度 ±0.04 mm: 超目标 ±0.05 mm
- 张力稳定 ±1.8%: 超目标 ±3%
- 收敛快: 色标跟踪 2 个印图即锁定
- 批量销售: OEM License 按机器指纹发放, 已上线 3 个月出货 5 台
下一步: 接入 AI 色差补偿 (按基材 / 油墨 / 温度联合建模), 进一步提升色彩一致性和首印合格率。
11.1 投产验收清单
- 空载 8 h 连续运行: EtherCAT 0 帧错, 伺服 0 报警
- 穿料 4 h 连续运行: 6 色全开, 套印误差 < 0.06 mm
- 带料 8 h 试产: 客户指定活件的印样全部通过
- 急停响应 < 300 ms (含机械刹车)
- 断纸自动保护: 墨刀自动抬起, 烘箱自动降温
11.2 迭代路线
- V1.0: 6 色套印, 220 m/min, 套印 ±0.04 mm
- V1.1: 接入视觉全检 + 自动生成缺陷报告
- V1.2: AI 色差闭环, 第一米即合格
- V2.0: 引入 8 色 + UV 固化工位
11.3 运营数据 (出货 5 台)
| 指标 | 值 |
|---|---|
| 平均开机率 | 86% |
| 单日产量 | 18 万米 / 机 |
| 月度故障次数 | < 3 次 / 机 |
| MES 对接率 | 100% |
| 远程修复率 | 72% |