一种多协议工业数据采集器的设计与实现
扫描二维码
随时随地手机看文章
0 引 言
工业数据采集是智能制造和工业物联网的基础,发展工业数据采集是推动工业物联网全面深度应用的起点,也是制造业转型升级的必要条件。目前在工业数据采集领域,各自动化厂家存在多种工业通讯协议标准,各自动化设备生产商使用自己开发的私有工业协议,同时为了保证自动化设备和系统的安全,数据开放性不足,缺乏数据开放接口及文档说明,无法满足生产过程全流程的数据采集、流动及智能化生产需求。工业数据采集器实现了对生产现场各种工业数据的实时采集和整理分发,满足了工业物联网与信息系统对各类工业设备或智能产品的基础数据的需求。数据采集器的核心为协议转换,即运用对工业通讯协议的解析与转换实现数据格式的转换和统一。
1 数据采集结构
数据采集基于连接与数据点的分层配置方式,其中连接包含了不同自动化厂家的连接方式与物理端口连接所需的基本信息等,数据点配置包含各采集点的控制器内存地址、数据类型(包括数据在控制器内的指向信息)等。根据配置采集后的数据形成统一的数据格式与接口方式,使不同的自动化设备数据按照统一的方式和接口流出,实现格式的转换和统一,便于数据进一步处理。
2 协议的处理方式
由于各自动化厂家的通讯协议和物理端口等通信方式存在区别,因此需针对各协议使用不同的配置信息,其中西门子 ISO over TCP 协议配置使用西门子控制器 IP 地址、槽号、机架号,根据配置信息与控制器建立 ISO TCP 连接,数据点配置包括点的存储区域、内存地址、偏移地址、数据类型等,根据连接信息建立连接后,周期性从控制器中数据点的配置读取数据,该方式针对西门子常用的 S7 系列控制器,典型的西门子数据采集段代码如下 :
OPC FOUNDATION 通用 OPC 协议 [1],使用 OPC 服务器名称、服务器地址与 OPC 服务器建立连接,使用变量名称与服务器建立异步回调机制,当数据变化时服务器返回化后的数据点当前值或者周期性从服务器中读取数据,该方式针对大多数 DCS 或 PLC 提供的 OPC 接口方式,典型的OPC 数据采集段代码如下 :
施耐德提供的 Modbus TCP 与 Modbus RTU 协议 [2] 由于物理层的区别,配置方式略有不同,Modbus TCP 使用 TCP连接方式,连接配置包含控制器 IP 地址、端口号(默认为502)、Unit ID 等,Modbus RTU 使用串口连接方式,连接配置包含串口号、速率、数据位、停止位、校验位、校验方式等,数据点的配置遵循 Modbus 内存地址(输出、输入、输入寄存器、保持寄存器)定义方式,数据点的配置包含内存区域、地址、偏移地址、数据类型等,适用于遵循 Modbus TCP 或Modbus RTU 的所有控制器,典型的 Modbus TCP 数据采集段代码如下 :
AB 提供了 DF1 与 Ethernet IP 连接,DF1 方式为串口通讯方式,Ethernet IP 为基于 TCP 的通讯方式,根据控制器的不同分为基于地址和变量名两种采集方式,以变量名的Ethernet IP方式为例,连接配置包含控制器IP地址、端口号(默认为 44818)、CPU 所在槽号等,数据点配置信息包含变量名、地址、数据类型等,典型的 AB 控制器数据采集段代码如下 :
TMEIC 东芝三菱提供 UDP 连接方式,连接配置包含控制器 IP 地址、端口号等,数据点配置信息包含内存区域、地址、数据类型等,数据内容为 ASCII 方式,当连接建立后,读取的数据配置按照协议打包并向控制器发送 DR 命令,控制器将根据命令返回读取的当前值。典型的 TMEIC 控制器数据采集段代码如下 :
欧姆龙将 FINS 通信协议用于工业自动化控制网络的指令响应系统,根据物理层的不同分为串行方式、TCP 方式、UDP 方式,根据数据内容分为 ASCII 方式和二进制方式,以FINS 的 UDP 方式为例,连接配置包含控制器 IP 地址、端口号、目标和源网络地址、目标和源节点地址、目标和源单元地址等,数据点包含数据类型、内存区域、地址等,典型的欧姆龙控制器数据采集段代码如下 :
3 数据的缓存隔离与传输
数据订阅和推送服务器 [3] 可以实现数据的高速缓存、处理和安全隔离,由服务器推送数据,客户端订阅指定的数据后即可接收服务器推送的数据,轻量级消息订阅发布方式可以保证数据的高速传输,当某客户端使用监控实时数据的功能时,可以直接向服务器订阅实时数据,避免走数据库影响实时性,减小服务器的压力。当需要复杂数据的订阅推送时,可以选择 JSON 或者 XML 方式,客户端订阅后只要按照约定的格式解析即可。每一个采集端都可以为一个发布客户端,典型的客户端发布与订阅数据的代码如下 :
4 结 语
随着工业物联网的发展,工业数据采集器兼容更多协议的需求也会越来越强烈,将工业生产现场的设备进行互联,方便数据在底层自由传输,基于工业现场的一手数据搭建具有实时监视功能的软件、生产报表及自动化排产软件、工艺参数历史追踪软件、基于数据经验的机器学习软件,以及全功能 MES 系统等。