4. Mitutoyo测量设备通信协议解析

在把Mitutoyo量具接入产线在线测量系统时,最先遇到的并不是“怎么读一个数”,而是“这条数据到底以什么形式、沿什么通道、按什么节拍到达上位机”。同一把数显千分尺,可能通过Digimatic线缆接到采集盒,也可能经OPTO-USB直连工控机,还可能挂在Ethernet/IP或PROFINET网络上由PLC统一调度。协议不同,数据格式、触发方式、时序约束和集成位置都不同。本节按“物理层—帧结构—触发机制—集成位置”四个维度,把常用协议逐一拆开。

一、Digimatic:最基础的串行测量数据输出

Digimatic是Mitutoyo量具最经典的输出方式,常见于数显卡尺、千分尺、指示表。它并不是标准RS-232,而是一套自定义的同步串行接口:数据线DATA、时钟线CLK,部分接口还有REQ请求线。量具在按下DATA键或收到外部请求后,把测量值以BCD码逐位移出,通常为52位或13个半字节(nibble)的帧结构。

一个典型的Digimatic帧包含:起始位、符号位、6位BCD测量数据(含小数点位置)、单位位(mm/inch)、以及若干状态位。数据是低位先出还是高位先出、时钟极性如何,取决于具体接口型号。采集端必须在CLK的每个有效边沿采样DATA,整帧结束后再解析。若时钟频率过高或线缆过长,会出现位丢失,表现为数值跳变或固定偏大。

Digimatic的优点是简单、成本低、量具自带接口;缺点是点对点、距离短、无地址概念,一台采集器通常只能接一把或少数几把量具。它适合工位级手工测量数据的自动记录,不适合大规模网络化集成。

二、SPC输出:面向统计过程控制的批量数据格式

SPC输出常被误解为一种独立协议,实际上它更多是“数据用途”层面的概念。Mitutoyo部分量具和采集盒支持SPC输出模式,把测量值按固定格式连续或触发输出,供SPC软件做Xbar-R图、CPK计算。其电气层可能仍是Digimatic或RS-232,但数据组织方式更偏向“一批测量值+组号+时间戳”。

在集成时,关键要区分两件事:一是量具端输出的是单次测量值还是分组数据;二是上位机是否需要自己完成分组和统计。若采集盒只做透明传输,分组逻辑必须由SPC软件或PLC程序实现。常见做法是:每把量具对应一个“特性”,每N次测量为一组,组内计算均值和极差,再与控制限比较。控制限不是量具给的,而是由历史数据或工艺要求预先设定。

SPC集成中最容易出错的是“测量值单位”和“分组边界”。同一组数据里混入inch和mm,或把换刀后的第一次测量并入上一组,都会让控制图失真。

三、OPTO-USB与USB直连:把量具变成HID设备

OPTO-USB是Mitutoyo的USB直连方案,通常由USB线缆内置转换电路,把Digimatic信号转成USB HID键盘或虚拟串口。对操作系统而言,它可能表现为“键盘输入设备”:每次测量后自动“敲”出一串数字,光标所在位置即接收数据。这种方式不需要安装驱动,接入简单,适合单机SPC或Excel记录。

但用于在线测量系统时,HID模式有天然缺陷:数据没有设备地址,多把量具同时输出会互相干扰;没有握手,上位机无法确认数据属于哪次测量;键盘焦点一旦丢失,数据就写到别处。因此工程上更推荐虚拟串口(VCP)模式,用COM端口按帧读取,并在应用层加设备编号和校验。

四、Ethernet/IP与PROFINET:面向PLC和产线网络的集成

当测量工位需要与PLC、机器人、MES联动时,Ethernet/IP和PROFINET成为主流选择。两者都是工业以太网协议,但数据组织方式不同。

Ethernet/IP基于CIP,采用生产者/消费者模型。测量数据通常映射为输入汇编对象(Input Assembly),PLC通过隐式报文周期读取。例如,一个采集模块可能把4把量具的测量值、状态字、超差标志打包成16字节输入数据,PLC在每个扫描周期刷新。配置时需要确定RPI(请求数据包间隔),典型值为10ms或20ms。RPI越小,实时性越好,但网络负载越高。

PROFINET则通过GSDML文件描述设备,PLC在组态时分配输入/输出槽位。测量值一般放在输入槽,状态和控制字放在输出槽。PROFINET支持RT和IRT,对于在线测量,RT(实时)通常已足够,循环周期可设1ms~10ms。若测量触发需要与运动轴严格同步,才考虑IRT。

两者的共同点是:数据不再是“一串字符”,而是“带地址和状态的周期性过程数据”。上位机或PLC不需要解析BCD帧,而是直接读取结构化变量。代价是必须做设备组态、GSDML/EDS文件导入、IP地址和站名规划。

Mitutoyo测量设备通信协议分层与集成位置 数显量具 卡尺 / 千分尺 / 指示表 Digimatic DATA / CLK / REQ 52位BCD串行帧 SPC输出 分组测量值 + 组号 Xbar-R / CPK OPTO-USB HID键盘 / 虚拟串口 单机直连 采集盒 / 转换器 Digimatic→RS-232/USB SPC软件 / 工控机 分组、统计、判定 USB主机 HID / VCP驱动 PLC / 网关 Ethernet/IP / PROFINET 工业以太网:Ethernet/IP 与 PROFINET Ethernet/IP:CIP对象 / Input Assembly / RPI 10~20ms PROFINET:GSDML组态 / 输入输出槽 / RT循环 1~10ms MES / SPC服务器 / 在线测量系统 数据归档、趋势分析、超差报警、追溯 点对点 短距离 无地址 批量数据 统计导向 即插即用 单机为主 网络化 PLC集成

五、协议选型与集成位置判断

把上述协议放在同一张集成图上,选型逻辑就清楚了。如果只是单工位手工测量、数据进Excel或单机SPC,Digimatic加采集盒或OPTO-USB虚拟串口最经济。如果要做产线级SPC,需要把多把量具的数据汇总到一台工控机,RS-232/485多路采集盒加SPC软件更合适。如果测量结果要参与PLC逻辑控制——比如超差即停线、合格才放行——则必须走Ethernet/IP或PROFINET,把测量值变成PLC的过程数据。

实际项目中常见混合架构:关键尺寸用量具+Digimatic采集盒进SPC服务器做趋势监控;同时把超差信号通过网关映射到PROFINET,供PLC做互锁。这时要注意两个通道的数据一致性:SPC侧记录的是原始测量值,PLC侧收到的是经过阈值判断后的状态位,两者的判定基准必须来自同一套控制限。

六、配置示例:把一把Digimatic千分尺接入PROFINET

假设现场有一把Mitutoyo数显千分尺,量程0~25mm,分辨率0.001mm,需要把测量值送入西门子S7-1200 PLC,并在HMI上显示。可选路径是:千分尺→Digimatic线缆→Mitutoyo采集模块(如DMX系列或第三方网关)→PROFINET→PLC。

配置要点如下:

  1. 在PLC工程中导入网关的GSDML文件,设备名称设为“meas_gateway_01”,IP地址192.168.0.50。
  2. 组态输入槽:第1个字为测量值(单位0.001mm,即读数25000表示25.000mm),第2个字为状态字(bit0=数据有效,bit1=超差,bit2=量具就绪)。
  3. 设置RT循环周期为4ms,看门狗时间12ms。
  4. PLC程序中用MOVE指令把输入字传送到DB块,再除以1000得到mm值。
  5. HMI上绑定DB块中的测量值和状态位,超差时变色报警。

调试时先看状态字bit0是否周期性翻转,确认数据在刷新;再用标准量块测25.000mm,检查PLC读数是否为25000。若数值固定不变,检查网关是否处于“请求模式”而量具未响应;若数值跳变,检查Digimatic线缆屏蔽和时钟频率设置。

Digimatic帧中的符号位和单位位必须正确解析。若把inch数据当mm处理,25.4mm会变成1.000,PLC侧的超差判断将完全失效。集成前务必确认量具当前单位设置,并在网关或PLC侧做单位归一化。

七、数据格式对照与常见故障定位

协议 数据形态 触发方式 典型集成位置 常见故障
Digimatic 52位BCD串行帧 按键或REQ请求 采集盒/工位 位丢失、单位错误
SPC输出 分组测量值+组号 按组触发 SPC服务器 分组边界错、控制限混用
OPTO-USB HID键盘串或VCP帧 测量完成自动输出 单机/工控机 焦点丢失、多设备冲突
Ethernet/IP Input Assembly字节 RPI周期刷新 PLC/网关 RPI不匹配、EDS未导入
PROFINET 输入槽过程数据 RT循环刷新 PLC/网关 站名冲突、GSDML版本错

最后强调一点:协议解析不是目的,让测量数据在正确的时间、以正确的单位、到达正确的位置才是。Digimatic解决“取得到”,SPC解决“看得懂”,OPTO-USB解决“接得快”,Ethernet/IP和PROFINET解决“传得稳、控得住”。集成时先明确数据最终要驱动什么动作,再倒推选择协议和网关,比先选设备再想办法接要可靠得多。