TCP ASCII通信支持的指令及返回的状态码

使用TCP ASCII通信时,外部设备应使用以下几类指令触发Mech-MSR工程运行和获取相应结果。

  • trigger指令:用于触发工程运行。

  • return指令:用于获取指定工程的判定结果和测量结果。

  • judge指令:用于获取指定工程的整体质量判定结果或单个测量项的质量判定结果。

  • value指令:主要用于获取指定工程的测量值。

  • 发送trigger指令成功触发工程运行后,才可发送return/judge/value指令。

  • 在Mech-MSR的输出管理窗口作出更改后,需重新发送trigger指令触发工程运行,再发送其他指令获取相关结果。如果未再次触发工程运行,获取的结果不会按改动更新。

trigger指令

trigger指令用于触发Mech-MSR工程运行,支持同时触发多个工程。

第一步:确定工程编号

在Mech-MSR主界面的工程列表区,查看待触发工程的编号。

project number
  • 若工程前无编号,请选中工程所在方案,然后从右键菜单中勾选自动加载当前方案以自动加载方案下的所有工程。勾选此选项后,才可使用外部设备触发工程运行。

  • 上下拖拽工程以调整工程顺序,然后从右键菜单选择重置工程编号即可更新工程编号。

第二步:发送指令

发送的trigger指令由trigger工程编号字符串分隔符三部分组成。

  • trigger:准确指令名称,不可更改大小写。

  • 工程编号:需触发的工程在Mech-MSR方案中的编号。

  • 字符串分隔符:即分隔trigger和工程编号的符号,默认为英文逗号(,)。可在Mech-MSR的通信配置窗口其他数据格式参数下更改字符串分隔符。

trigger指令的发送格式及示例描述如下表所示。

指令格式 描述 示例

trigger, 工程编号

触发一个工程运行。

触发编号为1的工程运行:

trigger, 1

trigger, 工程编号1, 工程编号2, 工程编号3

触发多个工程运行。

触发编号分别为1、2、3的工程运行:

trigger, 1, 2, 3

对于方案下新建的工程,需要先关闭并重新打开方案,才能通过该指令触发运行。

第三步:查看返回结果

发送trigger指令后,如果接收到的状态码为0,则表示指令执行成功。

指令执行失败时,会返回错误状态码-1-4。查看错误状态码说明了解可能原因和解决方案。

return指令

发送trigger指令触发工程运行后,使用return指令获取该工程的运行结果。return指令每次只能获取一个Mech-MSR工程的结果。

第一步:确定返回结果格式

在Mech-MSR的通信配置窗口,根据实际需求设置Return指令数据格式

默认格式为%judge,%value[%id],%judge[%id]

return command format

第二步:发送指令

发送的return指令由return工程编号字符串分隔符三部分组成。

  • return:准确指令名称,不可更改大小写。

  • 工程编号:使用trigger指令触发过的工程在Mech-MSR方案中的编号。

  • 字符串分隔符:即分隔return和工程编号的符号,默认为英文逗号(,)。

return指令的发送格式及示例描述如下表所示。

指令格式 描述 示例

return, 工程编号

获取工程运行结果。

获取编号为1的工程的运行结果:

return, 1

确保指定的工程需已通过trigger指令触发运行,否则发送return指令后无法正常获取结果。

第三步:查看返回结果

以工程编号1为例,外部设备发送return, 1指令后,Mech-MSR将根据通信配置窗口中设置的Return指令数据格式返回结果。

指令执行失败时,会返回错误状态码-1-2-3-4。查看错误状态码说明了解可能原因和解决方案。

Return指令数据格式 返回结果(示例) 说明

%judge

0

表示工程1的总体质量判定结果为OK。

%judge

1

表示工程1的总体质量判定结果为NG。

%judge,%value[%id],%judge[%id]

0,0.0224,0,54.0000,1

表示工程1的总体质量判定结果为OK,且该工程仅指定输出两个测量项,按顺序第一个测量项的值为0.0224,判定为OK,第二个测量项的值为54.0000,判定为NG。

1,invalid,1

表示工程1的总体质量判定结果为NG,且该工程仅指定输出一个测量项,测量项无测量结果,返回为invalid(无效值),测量项被判定为NG。

%judge,%value[2],%judge[2]

0,invalid,invalid

表示工程1的总体质量判定结果为OK,测量项2的值和判定结果均无效。

可能原因:

  • 在Mech-MSR的输出管理窗口通信输出选项卡下,并没有添加ID值为2的测量项。

解决方案:

  • 确保在Mech-MSR的输出管理窗口通信输出选项卡下,存在ID值为2的测量项。

  • 更改Return指令数据格式,确保软件能正常返回有效结果。

查看测量值和判定结果了解Mech-MSR返回结果到外部设备的基本条件。

judge指令

发送trigger指令触发工程运行后,judge指令用于获取指定Mech-MSR工程的整体或单个测量项的判定结果。

第一步:发送指令

发送的judge指令由judge工程编号字符串分隔符三部分组成。

  • judge:准确指令名称,不可更改大小写。

  • 工程编号:使用trigger指令触发过的工程在Mech-MSR方案中的编号。

  • 字符串分隔符:即分隔judge和工程编号的符号,默认为英文逗号(,)。

judge指令的发送格式及示例描述如下表所示。

指令格式 描述 示例

judge, 工程编号

用于获取指定工程的整体质量判定结果和单个测量项的判定结果。

获取编号为1的工程的整体判定结果和单个测量项的判定结果:

judge, 1

第二步:查看返回结果

以工程编号1为例,外部设备发送judge, 1指令后,Mech-MSR将根据输出管理窗口设置的质量判定规则通信输出内容返回工程的整体质量判定结果和单个测量项的质量判定结果。

指令执行失败时,会返回错误状态码-1-2-3-4。查看错误状态码说明了解可能原因和解决方案。

返回结果 说明

0,0,0

(示例)

第一个0表示工程1的整体判定结果为OK,后面两个0表示该工程设置了要输出2个测量项,且两个结果均合格(OK)。

1,1,1

(示例)

第一个1表示工程1的整体判定结果为NG,后面两个1表示该工程设置了要输出2个测量项,且两个结果均不合格(NG)。

查看判定结果了解Mech-MSR返回结果到外部设备的基本条件。

value指令

发送trigger指令触发工程运行后,value指令用于获取指定工程的测量值。

第一步:发送指令

发送的value指令由value工程编号字符串分隔符三部分组成。

  • value:准确指令名称,不可更改大小写。

  • 工程编号:使用trigger指令触发过的工程在Mech-MSR方案中的编号。

  • 字符串分隔符:即分隔value和工程编号的符号,默认为英文逗号(,)。

value指令的发送格式及示例描述如下表所示。

指令格式 描述 示例

value, 工程编号

用于获取指定工程的测量值。

获取编号为1的工程的测量值:

value, 1

第二步:查看返回结果

以工程编号1为例,外部设备发送value, 1指令后,Mech-MSR将根据输出管理窗口设置的质量判定规则通信输出内容返回工程的整体质量判定结果和各测量项的值。

指令执行失败时,会返回错误状态码-1-2-3-4。查看错误状态码说明了解可能原因和解决方案。

返回结果 说明

0,54.0000

(示例)

0表示工程1的整体判定结果为OK,且测量项1的值为54.000,该工程仅指定输出一个测量项。

1,54.0000

(示例)

1表示工程1的整体判定结果为NG,且测量项1的值为54.0000,该工程仅指定输出一个测量项。

1,invalid

(示例)

1表示工程1的整体判定结果为NG。该工程仅指定输出一个测量项,但测量项无对应测量结果,返回为invalid(无效值)

可能原因:

  • 该测量项无测量结果。

解决方案:

  • 请检查该测量项,确保工程运行后能输出该测量项的有效结果。

查看测量值和判定结果了解Mech-MSR返回结果到外部设备的基本条件。

错误状态码

返回错误状态码的可能原因和解决方案如下表所示。

错误状态码 描述 可能原因 解决方案

-1

表示工程编号不存在。

  • 指定的工程编号在Mech-MSR工程列表中不存在。

  • 工程所在的方案未自动加载。

  • 指定的工程为新建工程,尚未关闭并重新打开工程所在的方案。

  • 确保指定的工程编号在Mech-MSR的工程列表中已存在。

  • 在Mech-MSR中选中工程所在方案,右键查看并确认自动加载当前方案选项已勾选。

  • 尝试在Mech-MSR中关闭并重新打开工程所在方案。

-2

表示无结果。

  • 未触发运行指定工程。

  • Mech-MSR软件运行异常。

  • 确保已通过trigger指令触发工程运行。

  • 确保Mech-MSR软件运行正常,运行工程可以正常输出结果。

-3

发送指令后,10秒内工程运行未结束,返回此状态码。

工程运行时间过长,超过指令的超时时间(10秒)。

检查工程运行时间是否超过10秒,并确认工程运行运行时间过长是否异常。如果异常,请定位工程运行时间过长的原因并解决;如果正常,可采取如下方式解决该报错:

  • 客户端在调用该指令之前,插入适当的延时。

  • 调大软件中msr_dispatcher.py程序的超时时间(self.vision_timeout)。默认超时时间为10秒。修改后请保存并重启软件。

-4

表示发送了非法指令。

  • trigger/return/judge/value拼写错误或大小写不一致。

  • trigger/return/judge/value和工程编号间的分隔符与Mech-MSR的通信配置窗口中设置的字符串分隔符不一致。

  • 检查trigger/return/judge/value的拼写和大小写,确保无误。

  • 确保trigger/return/judge/value和工程编号间的分隔符与Mech-MSR的通信配置窗口中设置的字符串分隔符一致。

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。