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 系統等。