??簡介IIoT(Industrial Internet of Things)是工業物聯網的簡稱,它將具有感知、監控能力的各類采集、控制傳感器或控制器,以及移動通信、智能分析等技術不斷融入到工業生產過程各個環節,從而大幅提高制造效率,改善產品質量,降低產品成本和資源消耗,最終實現將傳統工業提升到智能化的新階段。工業物聯網感知層的數據來源非常多樣,通常來自各種多源異構設備和系統,因此如何從這些設備和系統中獲取數據,是工業物聯網面臨的第一道門檻。然而,實際在工業現場,由于某些特定需求或者歷史原因,會采用不同廠商生產的設備,而這些設備也可能采用不同的工業協議。有些設備已經使用了若干年,出于系統穩定性和集成時間的考慮,更換設備并非上策,但使用不同協議設備通常無法直接互聯,在上述情景下,協議轉換必不可少。
如何解決協議轉換中的"痛點"
工業現場協議各種各樣,傳統網關未必能做到同時支持多種所需協議,即便找到合適的設備硬件成本也相當高昂。但使用EsDA家族中的AWFlow Designer(嵌入式應用開發利器 —【EsDA】AWFlow)與配套硬件可輕松解決該"痛點"。對比傳統網關方案其主要有以下優點:
- 靈活性高支持二次開發,傳統網關一般功能比較單一或難以實現復雜邏輯,使用EsDA方案,可以使用AWFlow Designer對硬件進行可視化配置,且可根據實際需求自由更改應用邏輯(且大多數情況無需重新編譯和燒寫固件),可同時做多種協議的轉換器,甚至可以做協議轉換之外的業務;
- 二次開發簡單,使用AWFlow Designer簡單"拖拽、連線"即可完成二次開發;
- 可復用性強、模塊化程度高,AWFlow將常用模塊封裝為"節點",高度模塊化,并支持自定義節點;
- 硬件成本比傳統方案低。
零基礎EsDA入門
若是剛開始接觸 EsDA ,可先閱讀EsDA MPC-ZC1系列文章,從零開始搭建環境和掌握基本開發流程,已有基礎的可以跳過:-
EsDAMPC-ZC1入門(一)——軟件安裝
-
EsDAMPC-ZC1入門(二)——LED控制
-
EsDAMPC-ZC1應用——串口服務器(一)
-
EsDAMPC-ZC1應用——串口服務器(二)
??使用EsDA完成Modbus轉TCP協議實驗
在實際項目中,有時會遇到需要讀取Modbus從設備的數據到并發送到TCP服務器的情況,本文以實現Modbus轉TCP協議轉換器為目標,展開講解,介紹如何通過EsDA家族中的AWFlow Designer和EPC6450-AWI開發板套件,進行圖形化低代碼應用開發,快速完成一個協議轉換器。
1. 本次實驗主要步驟
- 準備一塊EPC6450-AWI開發板并接線;
- 在PC機上配置Modbus模擬從設備;
- 在PC機上打開sscom創建TCP服務器,準備讀取來自協議轉換器的數據;
- 業務開發,使用EsDA家族中的AWFlow Designer,進行圖形化開發完成轉換器業務。
1.1.1 下載并安裝ModbusSlave(Modbus從機模擬工具)
附:https://www.modbustools.com/modbus_slave.html(軟件可以免費試用30天)
1.1.2 下載SSCOM調試軟件(可用于模擬TCP服務器),并安裝
附:http://www.sscom.vip
準備一塊EPC6450-AWI開發板,并按照下圖所示連接好硬件(電源與網口接到PC機上,Debug調試口可不接)
1.3 配置PC機
注意:需要將PC機與開發板設置為同一網段(例如本實驗選用EPC6450-AWI開發板的ip為169.254.240.77故需要將PC機的ip改為169.254.240.xx),否則實驗可能會失敗,本文的PC機ip更改為169.254.240.136 。1.3.1 配置模擬Modbus從設備
1.3.1.1 打開剛才安裝的ModbusSlave軟件
1.3.1.2依次點擊Connection–>Connection Setup,并根據圖5配置從設備參數,并點擊OK保存設置。
1.3.1.3按F8彈出Slave Definition界面,并如圖6所示進行配置,點擊OK保存。
1.3.1.4配置Modbus從設備對應寄存器的值如下圖。
1.3.2 配置TCP服務器1.3.2.1 打開SSCOM調試軟件,并如下圖配置TCP服務器。
2. EsDA業務開發
本次實驗選用的開發板為EPC6450-AWI,其作為一個協議轉換器,其業務主要分為兩大部分:
- 從PC機模擬的Modbus設備讀取數據;
- 將讀取到的數據通過TCP客戶端發送。
2.1 應用流圖繪制
2.1.1 依次將畫布拖出modbus_master_in(Modbus主設備讀取從設備數據節點)、modbus_parse_in(用于解析來自modbus_master_in節點的數據)、tojson(將數據轉換為json字符串節點)、tcp_client_out(TCP客戶端節點)節點,并依次連線。
2.1.2雙擊modbus_master_in節點,對應之前在PC機上Modbus Slave模擬軟件的參數,進行配置。
2.1.3配置modbus_master_in節點連接參數與數據讀取方式,并點擊完成。
2.1.4 配置modbus_parse_in節點,配置Modbus數據解析方式(配置為僅解析地址03的數據),并點擊完成。
2.1.5配置tcp_client_out節點。
至此,"轉換器"業務流圖已經開發完成。
2.1.6將開發板與AWFlow Designer建立連接并將應用流圖下載到開發板。
3. 實驗現象
成功下載流圖后,可以看到SSCOM調試軟件中的TCP服務器會接收到來自開發板的數據(Modbus數據),其中payload為有效數據,數值為3,和先前在Modbus Slave(Modbus從機模擬工具)的數據是一致的,實驗成功!技術交流群長按識別如下二維碼可加入“EsDA嵌入式系統設計自動化交流群”,與志同道合的朋友交流,并有專業技術人員為您答疑解惑,如有問題可以咨詢小致微信:zlgmcu-888。
-
致遠電子
+關注
關注
13文章
405瀏覽量
31275
原文標題:【EsDA協議轉換】Modbus TCP Master轉TCP Client
文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論