对于Minitab这样的统计分析工具,通常是将数据整理好,再导入软件分析。
但对于实时SPC系统,数据采集是非常重要的一环。
很多用户首先想到的就是Excel。把检测数据整理成Excel文件,再由SPC系统自动读取,确实简单实用。
但大家往往忽略了另一种可能更简单的在线数据采集方式:通过Modbus协议,直接采集PLC设备中的数据。
包括生产设备的运行参数,以及带有PLC的在线检测设备中的测量数据。
PLC(可编程逻辑控制器)是工业自动化领域最常见的控制设备之一,通常安装在设备内部的电气控制柜中,普通操作人员未必见过。
采用PLC控制的设备,操作人员通过设备面板发出指令,由PLC控制设备运行。面板上显示的很多实时数据,也来自PLC。
比如生产设备,一台自动加工设备控制电机运行、调节温度、检测压力等,都可能通过PLC来完成。
除了生产设备,还有很多在线检测设备也是采用PLC控制的,比如自动尺寸检测设备、气密性检测设备等。
这些设备的测量结果可能已经保存在PLC中,只是通过设备屏幕显示给用户。
既然数据已经在PLC里面了,为什么还要人工抄写,或者导出整理成Excel,再导入SPC呢?
这是我们重点介绍的方式。
Modbus是一种历史非常悠久的工业通信协议,Modbus TCP通过以太网进行通信。
很多PLC设备都支持Modbus协议,有些需要经过配置才能使用。需要注意,支持Modbus RTU不代表一定支持Modbus TCP。
这个协议有两个明显优势:
对于已经开放Modbus TCP接口的PLC,SPC系统只需要知道设备的IP地址、寄存器地址及数据格式,就可以尝试读取其中的数据。
OPC UA也是工业自动化领域常见的通信协议,但并不是所有PLC都支持,特别是一些旧型号设备。
相比Modbus,OPC UA更加现代,能够提供更丰富的数据结构、变量名称和安全机制,也更符合现代软件开发的习惯。
但部分厂商的PLC会限制OPC UA的并发连接数量,或者需要额外授权。
部分PLC还支持厂商自己的通信协议,例如西门子、三菱等品牌都有相应的通信方案。
通过对应的驱动程序或通信接口,也能读取PLC内部的数据。
此外,有些设备还可以通过网关,将数据转换为MQTT、HTTP等方式提供给SPC系统。
需要注意的是,并不是所有PLC都原生支持Modbus TCP,有些需要启用相应服务,有些则需要增加通信模块或协议转换网关。
但对于已经开放Modbus TCP接口的设备来说,这通常是一种值得优先考虑的数据采集方式。
包括生产设备的运行参数,以及带有PLC的在线检测设备中的测量数据。
这是最重要的问题。
这是最适合采集的,比如:
这些数据可以直接用于SPC控制图和过程能力分析。
PLC中还有大量的生产过程数据,如温度、压力、流量、速度等。
这些数据不是产品最终的质量特性,但可能直接影响产品质量。
例如注塑机的模具温度、保压压力等,我们可以采集这些数据,通过控制图监控它们的变化情况。
可以看看这个实际案例:
注塑机温度200度和300度,如何采集如何分析【珠海精模真实案例】
另外,实际采集时还需要考虑一个问题:什么时候采集?
例如在线检测设备中的测量值可能一直保留着,如果SPC系统每隔5秒读取一次,就可能把同一个结果重复记录多次。
因此,有时还需要结合PLC中的检测完成信号、产品编号或者其他变量,判断什么时候才应该记录数据。
实际配置并不复杂。
下面这张图,完整展示了新增一个 Modbus 采集点时需要配置的信息,包括 PLC 的地址、端口、从站号、寄存器地址、数据类型、字节序、采样间隔等。
这些信息通常可以由设备厂家或电气工程师提供。

配置完成后,还需要指定:采集到的数据,最终要写入 SPC 系统中的哪个检测项目。
这样,PLC中的数据就可以自动进入对应的SPC检测项目,不需要人工抄写,也不需要再导出Excel导入。
另外,实际应用中更重要的一点是:并不是读到数据就立即采集。
很多时候,还需要增加条件来决定是否真正写入SPC。
例如下面这张图所示,可以为当前采集点增加关联条件,同时检测其他采集点的数据,比如加工数量、机器状态等。

只有当这些条件满足时,系统才会采集当前数据。
比如:
这样做的好处很明显:
第一,避免重复采集。
有些PLC中的数据会一直保持不变,如果系统按固定时间不断读取,就可能把同一个结果重复写入SPC。
第二,保证采集时机正确。
不是任何时刻的设备数据都有意义,只有在加工完成、检测完成或者状态正确时采集,数据才真正有效。
第三,让采集更贴近现场逻辑。
很多工厂真正需要的,并不是“能读到PLC数据”,而是“在正确的时候,把正确的数据,自动写入正确的SPC项目”。
这也是实时SPC系统和普通数据读取工具的一个重要区别。
本页面文章与公众号同步。
微信扫码关注