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次测量为一组,组内计算均值和极差,再与控制限比较。控制限不是量具给的,而是由历史数据或工艺要求预先设定。
三、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地址和站名规划。
五、协议选型与集成位置判断
把上述协议放在同一张集成图上,选型逻辑就清楚了。如果只是单工位手工测量、数据进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。
配置要点如下:
- 在PLC工程中导入网关的GSDML文件,设备名称设为“meas_gateway_01”,IP地址192.168.0.50。
- 组态输入槽:第1个字为测量值(单位0.001mm,即读数25000表示25.000mm),第2个字为状态字(bit0=数据有效,bit1=超差,bit2=量具就绪)。
- 设置RT循环周期为4ms,看门狗时间12ms。
- PLC程序中用MOVE指令把输入字传送到DB块,再除以1000得到mm值。
- HMI上绑定DB块中的测量值和状态位,超差时变色报警。
调试时先看状态字bit0是否周期性翻转,确认数据在刷新;再用标准量块测25.000mm,检查PLC读数是否为25000。若数值固定不变,检查网关是否处于“请求模式”而量具未响应;若数值跳变,检查Digimatic线缆屏蔽和时钟频率设置。
七、数据格式对照与常见故障定位
| 协议 | 数据形态 | 触发方式 | 典型集成位置 | 常见故障 |
|---|---|---|---|---|
| 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解决“传得稳、控得住”。集成时先明确数据最终要驱动什么动作,再倒推选择协议和网关,比先选设备再想办法接要可靠得多。