跳到主要内容

Atlas Copco Open Protocol (拧紧)

Open Protocol 是瑞典 Atlas Copco 于 1990 年代后期公开的拧紧 (tightening) 控制器标准协议。汽车 / 航空 / 白色家电装配线上的扭矩扳手 / 拧紧枪 / 电动工具几乎都采用该协议。

代表性控制器:Power Focus 4000 / 6000 / 8 / Tools Net / FlexController

本网关的 OP 驱动重点在于 拧紧结果 (last result) 采集 + Pset 切换


注册表单输入项

输入栏填写内容示例
IP 地址控制器 IP192.168.0.100
端口Open Protocol 端口4545 (标准)
单元 ID (cell-id)多单元环境下的单元编号1 (单单元时填 0 或留空)
通道 ID (channel-id)控制器内的通道 / 主轴1
无用户名 / 密码

Open Protocol 没有认证流程。只要 IP 可达且控制器接受 “MID 0001 application start”,通信即开始。


标签的 PLC 地址表示法

Open Protocol 的数据以 MID (Message ID) 为单位传入。网关将最常用 MID 的字段解析后按如下方式暴露。

表示法含义
MID:0061:torque最后一次拧紧结果 — 扭矩 (实数)
MID:0061:angle最后一次拧紧结果 — 角度
MID:0061:status结果状态 (1 = OK, 0 = NOK)
MID:0061:psetId所使用的 Pset 编号
MID:0061:vinVIN / Identifier (字符串)
MID:0061:resultData完整 raw payload (字符串)
MID:0071:alarm报警发生 (字符串)
MID:0035:psetId当前选中的 Pset (Read)

写入 (Pset 切换)

表示法含义
MID:0018:psetId写入 Pset 编号以强制选择 (仅 Write)

可写表示法需在网关的 [标签注册] → 写权限 ON 中进行设置。


数据格式匹配

MID 字段数据格式格式辅助
扭矩 / 角度等测量值FloatREAL
状态 / Pset 编号Integer(留空)
VIN / 报警消息StringSTR[N]
OK / NOKBoolean(留空)

常见问题与解决方法

现象 / 消息可能原因解决方法
只连接上但收不到值MID 0060 / 0061 subscribe 失败确认控制器固件是否支持 “Result data subscription”
已有新的拧紧但值不变控制器处于 unsubscribe 状态重启网关 → 自动重新订阅 MID 0001 + 0060
“MID not supported”固件 / 型号间的 MID 差异查阅 Atlas Copco Open Protocol Specification PDF 的兼容表
扭矩值相差 100 倍 / 1000 倍单位 (Nm vs cNm) 不一致通过应用计算公式进行单位换算

常用示例

拧紧线单个通道的标准注册组合。

标签名称地址数据格式格式辅助
最后扭矩MID:0061:torqueFloatREAL
最后角度MID:0061:angleFloatREAL
OK/NOKMID:0061:statusBoolean(留空)
Pset 编号MID:0061:psetIdInteger(留空)
VINMID:0061:vinStringSTR[25]
与 MES 对接时

拧紧结果通常需要后处理 / 入库。配合查看采集历史高级 — REST API使用,可轻松向 MES 侧 push 数据。


MID 0061 (Last Tightening Result) 的丰富结果数据字段

Atlas Copco 控制器在 MID 0061 响应中包含如下丰富字段。网关会预先解析常用字段并暴露,但也可以通过 resultData 获取 raw payload 自行解析。

字段含义数据格式
cellId单元编号Integer
channelId通道 / 主轴编号Integer
torqueControllerName控制器名称String
vinVIN / Identifier (通常为车身号)String
psetId所使用的 Pset 编号Integer
psetNamePset 名称 (可读)String
batchSize单批次大小 (例如 4 颗螺栓)Integer
batchCount当前批次计数 (n/batchSize)Integer
batchStatus批次 OK / NOK / 进行中Integer (0/1/2)
torque实测扭矩 (Nm)Float
torqueStatus扭矩 OK / Low / HighInteger
angle实测角度 (度)Float
angleStatus角度 OK / Low / HighInteger
prevailingTorque摩擦扭矩 (可选)Float
currentMonitoring电流监控结果Float
selfTapTorque自攻扭矩Float
tighteningId拧紧唯一 IDLong
timestamp拧紧时刻 (ISO-8601)String
toolSerial工具序列号String
operatorName操作员 ID (若有)String
resultData包含以上所有字段的 raw 文本String

在网关的 [标签注册] 中,按 MID:0061:torqueMID:0061:angleMID:0061:status 这样选择并注册即可。


常用运维模式

模式 1. 产线单通道的标准注册组合 (汽车产线)

标签名称地址格式备注
最后扭矩MID:0061:torqueFloat默认单位 Nm
最后角度MID:0061:angleFloat
OK/NOKMID:0061:statusBooleanOK=true
Pset 编号MID:0061:psetIdInteger
VINMID:0061:vinString车身号
作业时刻MID:0061:timestampStringISO-8601
工具序列号MID:0061:toolSerialString用于工具追溯

模式 2. 以批次 (一台车身 = 6 颗螺栓) 为单位的 OK/NOK

标签名称地址格式
批次计数MID:0061:batchCountInteger
批次状态MID:0061:batchStatusInteger

batchStatus 变为 1 (OK) 的时刻即为一台车身完成的时间点。可用作 MES / 后工序的 trigger。

模式 3. 强制切换 Pset (write)

MID:0018:psetId = 12

在换线 / 车型切换时由 host 强制指定 Pset 编号。通常由 PLC / MES 处理,但也可通过 PlantPulse 的 [标签写权限] 实现。

模式 4. 报警监控

标签名称地址格式
报警文本MID:0071:alarmString

报警发生时由控制器 push。可用于 PlantPulse 的通知 / 后处理。


更详细的示例 / 自动化注册

请参考高级 — REST API 中的 Open Protocol 示例。