1、功能簡介
SocketOPCService是OPC DA的Socket通訊服務程式,它差別于KepOPC将OPC标簽資訊讀寫到關系資料庫的功能。利用Socket方式讀取OPC實時資料是目前跨平台實時資料交換的一種常用手段,它要求資料采集和傳輸的實時性及完整性,并能夠解決作業系統、防火牆、DCOM給OPC使用者帶來的困擾。目前,幾乎所有作業系統及開發環境均支援Socket通訊,SocketOPCService程式正是基于這種需求開發,提供OPCDA實時采集和SocketServer轉發的功能,将使用者需要讀取的标簽資訊通過TCP協定傳輸到用戶端,友善使用者對實時資料的擷取和加工利用。
2、技術特性
(1)采用python開發環境(32位),支援Windows ALL作業系統的OPC DA Server的資料讀取,如(Kepserver、Matrikon、GE IGS、亞控、力控等);
(2)提供Socket Server(TCP)伺服器功能,支援不同平台的Socket Client的連接配接和通訊互動;
(3)多線程機制,支援多socket用戶端同時通訊互動,時效性高。
3、功能及使用介紹
圖1 SocketOPCService運作界面
SocketOPCService運作在使用者需要采集的OPC DA Server的機器上(scada),運作界面顯示已連接配接socket用戶端的IP、連接配接号、指令字元串、程序占用記憶體數、用戶端登出資訊等。config.txt檔案為其配置檔案,主要配置Socket Server的IP位址和端口号,配置完成後儲存啟動SocketOPCService.exe程式開始監聽用戶端的連接配接和請求。
圖2 Socket用戶端運作界面
Socket用戶端可以自行開發,測試工具如圖2所示,所有消息均采用字元串格式接收和發送,打開TCP用戶端連接配接後,變可通過指令行與 Socket Server通訊,使用者可任意發送一包資料,測試連接配接狀态,如圖3所示,用戶端發送‘000’字元串到server,server傳回自己具備的功能和指令行格式。
圖3 Socket通訊測試
目前,SocketOPCService提供的功能主要有如下四個:OPC連接配接測試、擷取OPC Server名稱、擷取OPC Server所有标簽名稱、讀取指定标簽的值資訊。
功能 | 指令行格式(注意有間隔符) | 示例 |
擷取OPC Server名稱 | opc list servers | opc list servers |
與指定的OPC Server連接配接測試 | opc connect xxx | opc connect Matrikon.OPC.Simulation.1 |
擷取指定OPC Server的全部标簽名 | opc list xxx tags | opc list Matrikon.OPC.Simulation.1 tags |
擷取傳遞标簽名的值及相關資訊 | opc read xxx tag1,tag2,... | opc read Matrikon.OPC.Simulation.1 .DLJK_DL150,.DLJK_DL151 |
注:指令行字元串每個單詞需要空格符隔開,一次讀多個标簽值時,需要用','隔開每個标簽名,一次讀取标簽總數不限。讀取指令發送成功後,SocketServer将會持續不斷地往請求資料的用戶端發送實時資訊,每次發送以回車換行符‘\r\n’結束。如果需要server停止讀取和發送,請關閉用戶端連接配接。其他指令行功能為應答方式,用戶端一問,伺服器一答。
圖4 opc list servers指令測試
圖5 opc list xxx tags指令測試
圖6 opc read xxx tag1,tag2,...指令測試
SocketOPCService傳回的消息體格式為字元串,使用者可以根據自己的需要截取每包資料裡有用的資訊提供前端頁面的實時展示,利用這種方式使用者能夠擷取到更加實時的自動化點的值,提高報警和展示的時效性,根據系統特點使用者也可選擇KepOPC中間件實作資料交換,但KepOPC在資料存儲和管理方面更有優勢,SocketOPCService在資料實時性上更勝一籌。
4、試用及下載下傳
https://pan.baidu.com/s/1ht2CWxJ341bgF1DmZl7AYA