国产午夜伦鲁鲁-国产午夜片无码区在线观看爱情网-国产成 人 综合 亚洲专区-日本最新高清一区二区三-视频分类 国内精品

工業(yè)協(xié)議網(wǎng)關(guān)協(xié)議轉(zhuǎn)化開發(fā)案例,工業(yè)網(wǎng)關(guān)細(xì)節(jié)全公布

2024-08-12 14:49:08 admin 49



某化工廠需要通過SG500網(wǎng)關(guān)采集各種設(shè)備的能耗數(shù)據(jù),主要包括:


1. 10臺電磁流量計,用于測量各生產(chǎn)環(huán)節(jié)的水流量,型號為LDCK-25,支持Modbus RTU協(xié)議,RS485接口,波特率9600bps,數(shù)據(jù)位8位,無校驗位,停止位1位。Modbus寄存器信息如下:

   流量計地址 寄存器地址 數(shù)據(jù)類型 讀寫屬性 備注

   1 0x0000 float 只讀 瞬時流量

   1 0x0002 float 只讀 正累積流量

   1 0x0004 float 只讀 負(fù)累積流量

   ...

   10 0x0000 float 只讀 瞬時流量

   10 0x0002 float 只讀 正累積流量

   10 0x0004 float 只讀 負(fù)累積流量

5g/4g工業(yè)路由網(wǎng)關(guān)

2. 5臺電能質(zhì)量儀表,用于測量各車間的電能質(zhì)量數(shù)據(jù),型號為CSPEM-96,支持Modbus RTU協(xié)議,RS485接口,波特率19200bps,數(shù)據(jù)位8位,偶校驗,停止位1位。Modbus寄存器信息如下:

   儀表地址 寄存器地址 數(shù)據(jù)類型 讀寫屬性 備注  

   1 0x0000 float 只讀 A相電壓

   1 0x0002 float 只讀 B相電壓

   1 0x0004 float 只讀 C相電壓

   1 0x0006 float 只讀 A相電流

   ...

   5 0x0000 float 只讀 A相電壓

   5 0x0002 float 只讀 B相電壓

   5 0x0004 float 只讀 C相電壓

   5 0x0006 float 只讀 A相電流


3. 1臺天然氣流量計,用于測量總進(jìn)氣量,型號為FLOWSIC600-XT,支持Modbus TCP協(xié)議,以太網(wǎng)接口,Modbus TCP端口502。Modbus寄存器信息如下:

   寄存器地址 數(shù)據(jù)類型 讀寫屬性 備注

   0x0000 float 只讀 瞬時流量

   0x0002 float 只讀 累積流量

   0x0004 int 只讀 工作狀態(tài)字


數(shù)據(jù)中心使用的是MQTT協(xié)議,接入OneNET平臺。要求每5分鐘上傳一次數(shù)據(jù)。


基于以上需求,使用SG500網(wǎng)關(guān)的開發(fā)步驟如下:

Industrial IoT Gateway(SG500)

1. 將10臺LDCK-25電磁流量計和5臺CSPEM-96電能質(zhì)量儀表的RS485接口,通過RS485總線全部連接到SG500的RS485接口。注意要接120歐姆終端電阻。將FLOWSIC600-XT天然氣流量計的以太網(wǎng)口接到SG500的LAN口。


2. 在SG500上安裝Modbus RTU主站程序mbrtu,用于輪詢流量計和電表的數(shù)據(jù)。配置輪詢周期為5分鐘,從站等待響應(yīng)超時時間1秒,重發(fā)3次。配置Modbus TCP主站程序mbtcp,用于輪詢天然氣流量計數(shù)據(jù)。


3. 編寫數(shù)據(jù)解析程序parse_data,對輪詢回來的Modbus數(shù)據(jù)進(jìn)行解析,提取出各個測點(diǎn)的實際數(shù)值和單位。比如流量計的數(shù)據(jù)解析如下:

   def parse_flow_data(data):

       flow = struct.unpack('>f', data[0:4])[0]

       pos_total = struct.unpack('>f', data[4:8])[0]  

       neg_total = struct.unpack('>f', data[8:12])[0]

       return {

           'flow': round(flow, 2), 

           'flow_unit': 'm3/h',

           'pos_total': round(pos_total, 2),

           'neg_total': round(neg_total, 2),

           'total_unit': 'm3'

       }

5g/4g工業(yè)路由網(wǎng)關(guān)

4. 編寫數(shù)據(jù)封裝程序pack_data,將解析后的數(shù)據(jù)封裝成統(tǒng)一的JSON格式。設(shè)備編號、時間戳、測點(diǎn)等信息都要包含在內(nèi)。例如:

   {

       'gateway_id': 'SG500_1',

       'timestamp': 1634227200,

       'devices': [

           {

               'device_id': 'LDCK-25-1',

               'data': [

                   {'flow': 23.61, 'flow_unit': 'm3/h'},

                   {'pos_total': 1638.22, 'total_unit': 'm3'},

                   {'neg_total': 0.11, 'total_unit': 'm3'}

               ]

           },

           {

               'device_id': 'CSPEM-96-1',

               'data': [

                   {'ua': 380.5, 'ua_unit': 'V'},

                   {'ub': 378.1, 'ub_unit': 'V'},

                   {'uc': 379.6, 'uc_unit': 'V'},

                   {'ia': 62.5, 'ia_unit': 'A'}

               ]  

           },

           {

               'device_id': 'FLOWSIC600',

               'data': [

                   {'flow': 899.32, 'flow_unit': 'm3/h'},

                   {'total': 123838.63, 'total_unit': 'm3'},

                   {'status': 1}

               ]

           }

       ]

   }


5. 在SG500上安裝MQTT客戶端程序mosquitto,使用4G網(wǎng)絡(luò)連接到OneNET的MQTT服務(wù)器。按照OneNET的設(shè)備接入要求,配置MQTT參數(shù):

   - 服務(wù)器地址: iot-mqtts.heclouds.com

   - 端口: 8883

   - 證書文件: iot-mqtts-certificate.pem

   - 用戶名: 設(shè)備ID

   - 密碼: 鑒權(quán)信息


6. 編寫MQTT發(fā)布程序pub_data,將封裝好的JSON數(shù)據(jù),以5分鐘為周期,通過MQTT發(fā)布到OneNET平臺的設(shè)備數(shù)據(jù)流主題。


7. 使用SG500的RS485 DTU功能,將Modbus RTU數(shù)據(jù)透明傳輸?shù)綌?shù)據(jù)中心,作為數(shù)據(jù)校驗。配置RS485的TCP服務(wù)器模式,本地端口號為502。這樣數(shù)據(jù)中心也可以直接通過Modbus TCP讀取設(shè)備的原始數(shù)據(jù)。


8. 考慮到工業(yè)環(huán)境的復(fù)雜性,在SG500本地使用SQLite數(shù)據(jù)庫,對采集到的數(shù)據(jù)進(jìn)行本地存儲,并記錄上傳狀態(tài)。每次存儲數(shù)據(jù)前,先檢查磁盤使用率,超過90%時,刪除最早的數(shù)據(jù)。MQTT發(fā)布失敗時,存儲發(fā)布失敗的數(shù)據(jù),等待網(wǎng)絡(luò)恢復(fù)后補(bǔ)發(fā)。


9. 配置SG500的看門狗功能,監(jiān)控Modbus采集程序mbrtu、mbtcp和MQTT發(fā)布程序pub_data。如果進(jìn)程異常退出,看門狗會自動重啟進(jìn)程。同時通過MQTT發(fā)布一條異常告警信息到數(shù)據(jù)中心。


10. 對SG500的系統(tǒng)日志進(jìn)行配置,將系統(tǒng)日志發(fā)送到數(shù)據(jù)中心的日志服務(wù)器。日志等級為INFO,采用rsyslog格式,通過TCP協(xié)議發(fā)送。

Industrial IoT Gateway(SG500)

11. 使用SG500提供的"星云"網(wǎng)管平臺,對網(wǎng)關(guān)進(jìn)行批量配置、升級、監(jiān)控。比如修改輪詢周期、更新Modbus寄存器地址等參數(shù),都可以通過網(wǎng)管平臺遠(yuǎn)程操作。


12. 將以上開發(fā)的程序打包成SG500的固件,通過網(wǎng)管平臺進(jìn)行批量升級。升級時先將新固件上傳到SG500的TF卡中,再通過網(wǎng)管平臺下發(fā)升級指令,SG500本地完成固件更新和程序替換,實現(xiàn)零宕機(jī)升級。


以上就是一個比較完整的工業(yè)網(wǎng)關(guān)協(xié)議轉(zhuǎn)換項目的開發(fā)流程。涉及了多種工業(yè)協(xié)議解析、數(shù)據(jù)庫存儲、邊緣計算、網(wǎng)絡(luò)傳輸、網(wǎng)管平臺等方面的內(nèi)容。充分利用了SG500網(wǎng)關(guān)提供的軟硬件資源,可以高效地實現(xiàn)工業(yè)設(shè)備數(shù)據(jù)采集和上云。


本案例重點(diǎn)展示了SG500在工業(yè)協(xié)議轉(zhuǎn)換和邊緣計算方面的應(yīng)用。通過二次開發(fā),可以將SG500打造成一個功能強(qiáng)大的工業(yè)物聯(lián)網(wǎng)關(guān),適用于各種工業(yè)場景。


當(dāng)然,實際項目中還需要考慮更多的細(xì)節(jié),如數(shù)據(jù)安全、設(shè)備冗余、應(yīng)用集成等。這需要根據(jù)具體需求進(jìn)行定制化開發(fā)。SG500提供了完善的二次開發(fā)環(huán)境和技術(shù)支持,用戶可以基于此進(jìn)行深度定制,開發(fā)出滿足自己需求的應(yīng)用。


希望通過本案例,讓您對SG500能耗網(wǎng)關(guān)有一個更加直觀和深入的了解。如果您有任何問題或需求,歡迎隨時聯(lián)系我們,我們將竭誠為您服務(wù)!


相關(guān)文章推薦:
網(wǎng)站首頁
解決方案
產(chǎn)品中心
在線咨詢