BeckHoff--MES数据交互 MQ TRANCE API (MQ 追溯 API - 系统概述和命令参考)
一、 GET SNC API
1、GET SNC

2、中文翻译
5.6.14 序列号检查(GET SNC)
使用此命令可检查当前产线的指定序列号。如果序列号有效,则会在肯定响应中返回序列号信息。如果要检查多面板的序列号,请提供面板数据矩阵码(PDMC)或提供序列号模式为 1。对于代表单个部件的序列号,仅提供序列号本身或提供序列号和序列号模式为 0。
您可以提供大于 0 的 “最大循环次数” 值,以确保不超过最大测试限制。默认情况下,会检查序列号是否允许在当前产线的当前工单中使用。通过为可选的 “检查模式” 提供 1,您可以选择忽略工单检查。请注意,使用无工单检查时不允许合并!此外,无法从当前工单确定层信息。请使用可选的 “层” 参数为无工单检查指定层。默认检查将忽略该层参数。
请求:
GET SNC 序列号或PDMC [可选,默认=0] 序列号模式 [可选,默认=无限制] 最大循环次数 [可选,默认=0] 检查模式 [可选,默认=2] 层
响应:
ACK SNC 物料编号(11位) 工单编号(8位)
BEG SNC 序列号 序列号位置 循环计数器( bookings次数) 状态
END SNC …
如果指定的序列号代表单个部件,则只会返回一行扩展输出参数。如果序列号代表多面板,则会为每个关联的序列号返回一行。
如果检查的单个部件在当前产线没有先前的 bookings 记录,则唯一可能的状态值为 1 = 正常。对于没有先前 bookings 记录的多面板,可能的状态值为 - 1 = 报废和 1 = 正常。仅当重新测试部件时,才可能出现 0 = 不正常的状态值。
示例 1: 检查代表单个部件的序列号。
GET SNC 1234567890123002
ACK SNC 12345678901;12345678
BEG SNC
1234567890123002;1;1;1
END SNC
示例 2: 检查代表多面板的序列号。
GET SNC 1234567890123001;1 或 GET SNC PDMC
ACK SNC 12345678901;12345678
BEG SNC
1234567890123001;1;1;1
1234567890123002;2;1;1
1234567890123003;3;1;-1
1234567890123004;4;1;1
END SNC
3、SEND参数描述
1、参数列表及说明
-
序列号或 PDMC(必填)
- 参数格式:字符串(序列号为 12/14/16 位,PDMC 为面板数据矩阵码)。
- 描述:待检查的单个序列号或多面板的 PDMC(Panel Data Matrix Code)。
- 文档引用:、
-
序列号模式(可选,默认 = 0)
- 参数格式:整数(0 或 1)。
- 描述:
0
:检查单部件序列号(默认)。1
:检查多面板序列号(需配合 PDMC 使用)。
- 文档引用:、
-
最大循环次数(可选,默认 = 无限制)
- 参数格式:整数(>0)。
- 描述:限制序列号的最大测试次数,避免超限。
-
检查模式(可选,默认 = 0)
- 参数格式:整数(0 或 1)。
- 描述:
0
:默认模式(检查序列号与当前工单的关联性)。1
:无工单检查(忽略工单关联,需手动指定层)。
- 限制:检查模式为 1 时,不允许执行序列号合并操作。
-
层(可选,默认 = 2)
- 参数格式:整数(0、1、2)。
- 描述:
0
:顶层(Top)。1
:底层(Bottom)。2
:独立层(Independent,默认)
2、参数组合示例
示例 1:检查单部件序列号(默认参数)
GET SNC 1234567890123002
- 仅需提供序列号,其他参数使用默认值。
示例 2:检查多面板序列号(指定模式)
GET SNC PDMC_VALUE;1
PDMC_VALUE
为面板数据矩阵码,1
表示多面板模式。
示例 3:无工单检查(指定层)
GET SNC 1234567890123001;0;0;1;1
- 参数依次为:序列号、模式(0,单部件)、最大循环次数(0,无限制)、检查模式(1,无工单)、层(1,底层)。
3、参数注意事项
- 必填参数优先级:序列号或 PDMC 为必须提供的参数,其他参数缺失时使用默认值。
- 无工单检查限制:当检查模式为 1 时,层参数为建议提供项,否则可能无法正确判断序列号状态。
- 多面板模式关联:若使用序列号模式 1,建议配合 PDMC 参数以确保多面板检查的准确性。
- 循环次数控制:最大循环次数需设置为正整数,否则可能被系统忽略。
4、GET ReSponse参数描述
主响应参数(第一行)
参数名称 | 格式 | 描述 |
---|---|---|
ACK SNC | 固定前缀 | 表示响应类型为成功(ACK),命令名为SNC 。 |
物料编号 | 11 位数字 | 与序列号关联的物料编号(如12345678901 )。 |
订单编号 | 8 位数字 | 与序列号关联的工单编号(如12345678 )。 |
扩展响应参数(BEG SNC 至 END SNC 之间)
扩展参数以行为单位,每行对应一个序列号的检查结果,参数间无分隔符,按顺序解析:
参数顺序 | 参数名称 | 格式 | 描述 |
---|---|---|---|
1 | 序列号 | 字符串 | 待检查的序列号(如1234567890123002 )。 |
2 | 序列号位置 | 整数 | 多面板中序列号的位置(单部件为1 )。 |
3 | 循环计数器 | 整数 | 该序列号的测试次数(如1 表示首次测试)。 |
4 | 状态值 | 整数 | 序列号状态:1 = 正常,-1 = 报废,0 = 不正常(仅重新测试时出现)。 |
响应示例解析
示例 1:单部件序列号响应
ACK SNC 12345678901;12345678
BEG SNC
1234567890123002;1;1;1 // 序列号;位置;循环次数;状态
END SNC
- 主响应:物料编号
12345678901
,订单编号12345678
。 - 扩展参数:序列号
1234567890123002
,位置1
,循环次数1
,状态1
(正常)。
示例 2:多面板序列号响应
ACK SNC 12345678901;12345678
BEG SNC
1234567890123001;1;1;1 // 子序列号1:正常
1234567890123003;3;1;-1 // 子序列号3:报废
END SNC
- 多面板包含多个子序列号,每行扩展参数对应一个子序列号的状态。
参数注意事项
- 多面板响应结构:若检查多面板(如 PDMC),扩展参数包含所有关联子序列号的信息,行数等于子序列号数量。
- 状态值与序列号类型:
- 单部件首次检查仅返回状态
1
; - 多面板可能包含状态
1
(正常)或-1
(报废)。
- 单部件首次检查仅返回状态
- 循环计数器作用:用于记录测试次数,超过最大循环次数时可能触发状态
0
或-1
。 - 未登记序列号处理:若序列号未登记,系统可能返回错误响应(NAK),而非正常参数。
二、 SET SNR API
1、SET SNR( Set Serial Number Result )
2、中文翻译
5.6.15 设置序列号结果(SET SNR)
使用此命令可上传与序列号相关的测量结果。除非指定其他工位,否则数据将上传到当前产线的第一个工位,但指定的工位必须是当前产线的一部分。如果未定义下限或上限,请为其指定空字符串。除了上传测量结果外,此方法还可以选择上传序列号状态。
请求:
SET SNR 序列号或PDMC [可选,默认=0] 序列号模式 状态 [可选,默认=无状态上传] 层 [可选,默认=2] 工位 [可选,默认=当前产线的第一个工位编号]
BEG SNR 测量名称 测量值 单位 测量结果 -1…已取消 0…结果不正常 1…结果正常 下限 [可选,默认=无限制] 上限 [可选,默认=无限制] 标称值 [可选,默认=未定义]
END SNR
响应:
ACK SNR 序列号或PDMC 序列号模式 [可选] 状态 [可选] 层 [可选] 工位 [可选]
BEG SNR
END SNR
三、GET NSN API
1、GET NSN
2、中文翻译
5.6.3 获取下一个序列号(GET NSN)
使用此命令获取新序列号,并可选择将其分配给当前工单。
请求:
GET NSN [可选,默认=0] 分配序列号到工单标志
0…不分配 1…分配
响应:
ACK NSN 序列号
BEG NSN
END NSN
请注意,尚未登记的序列号将无法通过任何序列号检查。
四、SET ASN API
1、SET ASN
2、中文翻译
5.6.1 分配序列号(SET ASN)
使用此命令可将指定序列号分配给指定工单,并可选择以正面结果(良品)登记该序列号。
请求:
SET ASN 序列号 层 [可选,默认=2] 0…顶层 工单(8位)[可选,默认=当前工单] 登记标志 [可选,默认=1] 0…不登记
响应:
ACK ASN 序列号 层 [可选] 工单 [可选] 登记标志 [可选]
BEG ASN
END ASN
五、 SET SNB API
1、SET SNB
2、中文翻译
5.6.13 序列号登记(SET SNB)
使用此命令可在当前产线为提供的序列号上传状态。指定的序列号可代表单个部件或多面板。
请求:
SET SNB 序列号或 PDMC 状态
-1…部件为报废
0…结果不正常
1…结果正常 层 [可选,默认=2]
0…顶层
1…底层
2…独立层 序列号模式 [可选,默认=0]
0…自动检测
1…强制多面板
响应:
ACK SNB 序列号或 PDMC 状态 [可选] 层 序列号模式 [可选]
BEG SNB
END SNB
如需为面板上传多个带独立状态的序列号,请使用 SET SMB。
示例 1: 上传单个部件的测量结果。
SET SNB SerialNumber;Status
示例 2: 为包含多个序列号的面板上传单个测量结果。
SET SNB SerialNumber;Status;Layer;1
或 SET SNB PDMC;Status;Layer
请注意,此状态与 iTAC 序列号状态相反!