隨著物聯(lián)網(wǎng)技術(shù)蓬勃發(fā)展,Modbus設(shè)備數(shù)據(jù)采集上報需求日益增加,本文將具體介紹如何利用EsDA快速實現(xiàn)Modbus RTU Master數(shù)據(jù)轉(zhuǎn)TCP Client數(shù)據(jù),縮短產(chǎn)品研發(fā)時間。
?簡介隨著時代的發(fā)展,數(shù)據(jù)上云等需求越來越普遍,不同協(xié)議之間的數(shù)據(jù)轉(zhuǎn)換,也成了用戶普遍的需求之一。本文將帶大家快速實現(xiàn)將EPC6450-AWI工控板的Modbus RTU數(shù)據(jù),快速轉(zhuǎn)發(fā)成TCP客戶端數(shù)據(jù),與服務(wù)器建立通信,工作框架如圖1。

圖1本文主要使用本公司的EPC6450-AWI型號工控板,外接使用Modbus RTU協(xié)議傳輸?shù)臏貪穸?a href="http://m.sdkjxy.cn/tags/變送器/" target="_blank">變送器,讀取相關(guān)溫濕度數(shù)據(jù),并創(chuàng)建TCP客戶端,向PC機上的TCP服務(wù)器實時發(fā)送溫濕度數(shù)據(jù),進行數(shù)據(jù)交互。
?入門基礎(chǔ)
本章內(nèi)容,主要使用modbus_master_in、modbus_parse_in、fscript、log、push、tcp_client節(jié)點。用戶在進行閱讀之前,需具備一定基礎(chǔ)的AWFlow Designer開發(fā)經(jīng)驗。若剛開始接觸,可閱讀以下文章,進行基礎(chǔ)知識的學習。
- EsDAMPC-ZC1入門(一)——軟件安裝
- EsDAMPC-ZC1入門(二)——LED控制
- EsDAEPC6450-AWI進階(協(xié)議轉(zhuǎn)換)——ModbusTCP轉(zhuǎn)TCPClient
硬件前提
1. EPC6450-AWI型號工控板

圖2
2.USB轉(zhuǎn)TTL類型串口設(shè)備

圖3
3.溫濕度變送器(ModbusRTU協(xié)議,RS485接口)

圖4
此傳感器,內(nèi)部使用了Modbus RTU協(xié)議,數(shù)據(jù)分別存儲在地址為0(溫度)和1(濕度)上。
4.Type-C線、網(wǎng)線、杜邦線若干

圖5
?硬件連接圖

圖6
將USB轉(zhuǎn)TLL接口與DUART接口相接(此處注意RXD接TXD,TXD接RXD),Type-C供電線與工控板Type-C接口相接,網(wǎng)口接NET0接口,溫濕度變送器上的A/B信號線分別于工控板上的RS485A/RS485B相連,+電源線接于5V,-地線接于GND。
?本章流圖解析

圖7
1. 本流圖節(jié)點列表
- modbus_master_in節(jié)點,該節(jié)點負責讀取從機的相關(guān)寄存器地址中的數(shù)據(jù)。
- modbus_parse_in節(jié)點,該節(jié)點負責解析modbus_master_in獲取的數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)化成對應(yīng)類型的數(shù)值數(shù)組。
- fscript1節(jié)點,該節(jié)點主要負責對modbus_parse_in節(jié)點所生成的數(shù)值數(shù)組進行提取,并格式化輸出對應(yīng)的溫濕度數(shù)據(jù)。
- fscript2節(jié)點,該節(jié)點主要負責對tcp_client節(jié)點接收到的數(shù)據(jù),進行讀取與解析,并傳送給下一個節(jié)點。
- log節(jié)點,該節(jié)點主要負責把接收到的fscript節(jié)點輸出的數(shù)據(jù),顯示于串口與調(diào)試口。
- push節(jié)點,該節(jié)點主要負責將接收到的fscript節(jié)點輸出的數(shù)據(jù),傳送至tcp_client節(jié)點。
- tcp_client節(jié)點,該節(jié)點主要負責將得到的push節(jié)點數(shù)據(jù),轉(zhuǎn)發(fā)給PC上位機上的TCP服務(wù)器,并接收服務(wù)器下發(fā)的數(shù)據(jù)。
2. 數(shù)據(jù)流向通過RS485接口與Modbus RTU協(xié)議讀取溫濕度變送器的數(shù)據(jù),對該數(shù)據(jù)進行數(shù)值化生成對應(yīng)的數(shù)值數(shù)組,對生成的數(shù)值數(shù)組進行提取,格式化輸出對應(yīng)的溫濕度情況,通過建立TCP客戶端,發(fā)送至PC上位機上的TCP服務(wù)器窗口,服務(wù)器也向客戶端發(fā)送數(shù)據(jù),雙方進行數(shù)據(jù)交互。
?節(jié)點解析
1.modbus_master_in節(jié)點

圖8
該節(jié)點關(guān)鍵參數(shù)一覽:
- 主機參數(shù)配置,此處配置與配置串口參數(shù)同理,配置如下:

- 圖9
(可參照學習EsDAMPC-ZC1應(yīng)用——串口服務(wù)器(一),以及 EsDAMPC-ZC1應(yīng)用——串口服務(wù)器(二))
- 讀取模式,該屬性將決定節(jié)點的觸發(fā)方式。分別有:(1)循環(huán)讀取數(shù)據(jù),該模式節(jié)點將以用戶設(shè)定的周期定時輸出數(shù)據(jù),如周期內(nèi)數(shù)據(jù)未被刷新,則在下一周期輸出;
(2)根據(jù)輸入的信息讀取從機設(shè)備的數(shù)據(jù),讀取成功則向下一節(jié)點輸出數(shù)據(jù)??墒褂胮ush節(jié)點向此節(jié)點輸入讀取所需要的參數(shù)信息,具體請查看輸入?yún)?shù)。此處我們選用periodic read data模式,即第(1)種。
從機ID,從機設(shè)備的ID號,數(shù)值為0-255。此處從機ID為1,具體用戶可根據(jù)實際情況修改。
輸出周期,數(shù)值為0-65535,此處我們設(shè)置為1000。
寄存器地址,該值為讀取的起始寄存器地址,數(shù)值為0-65535,此處我們設(shè)置為0。
讀取數(shù)量,數(shù)值為0-1000,此處我們設(shè)置為2,即讀取兩個數(shù)據(jù)(分別為溫度和濕度)。
- 寄存器類型,讀取的寄存器類型。分別有:(1)讀取線圈量,此類型的數(shù)據(jù)將輸出uint8_t指針類型的payload;(2)讀取離散量,此類型的數(shù)據(jù)將輸出uint8_t指針類型的payload;(3)讀取保持寄存器,此類型的數(shù)據(jù)將輸出uint16_t指針類型的payload;
(4)讀取輸入寄存器,此類型的數(shù)據(jù)將輸出uint16_t指針類型的payload。此處我們設(shè)置為read holding resgisters,即第(3)種。
2.modbus_parse_in節(jié)點

圖10
該節(jié)點關(guān)鍵參數(shù)一覽:
- 數(shù)據(jù)轉(zhuǎn)換模式,該模式有:(1)單地址數(shù)據(jù)轉(zhuǎn)換,此模式只對某一地址的數(shù)據(jù)進行轉(zhuǎn)換,因此輸出payload是對應(yīng)地址的單個數(shù)據(jù)值; (2)多地址數(shù)據(jù)轉(zhuǎn)換,此模式對指定地址及數(shù)量的數(shù)據(jù)進行同一的轉(zhuǎn)換,并將轉(zhuǎn)換后的值存入array對象; (3)全地址數(shù)據(jù)轉(zhuǎn)換,此模式對輸入的所有數(shù)據(jù)進行同一的轉(zhuǎn)換,并將轉(zhuǎn)換后的值存入array對象。注:數(shù)據(jù)地址及長度必須在modbus輸入節(jié)點的讀取范圍內(nèi),否則轉(zhuǎn)換將失敗。此處我們選擇multi-address address parse模式,即第(2)種。
- 數(shù)據(jù)轉(zhuǎn)換起始地址,此處設(shè)置為0。
- 轉(zhuǎn)換數(shù)量,此處設(shè)置為2。
- 數(shù)據(jù)轉(zhuǎn)換類型,讀取的數(shù)據(jù)格式,對讀取的數(shù)據(jù)進行位整合,例: int32_t:將數(shù)據(jù)地址開始的4byte整合成int32_t類型的值。此處我們選擇16bits-unsigned int類型。
- 大小端選擇,此處選擇配置讀取的存儲大小端模式,此處我們設(shè)置為小端模式。
3. fscript1節(jié)點
該節(jié)點為腳本節(jié)點,具體腳本如下。
a = msg.payload
output.payload = "temp:" + array_get(a, 0)/10 + "C, " + "humi:" + array_get(a, 1)/10 + "RH"
此腳本主要實現(xiàn)將modbus_parse_in節(jié)點所生成的數(shù)值數(shù)組提取數(shù)值,并進行格式化處理,輸出對應(yīng)的溫濕度數(shù)據(jù)。
4.fscript2節(jié)點
該節(jié)點為腳本節(jié)點,具體腳本如下。
b = istream_read_string(msg.istream, 100, 1000)msg.payload = b
此腳本主要實現(xiàn)解析TCP客戶端接收到的數(shù)據(jù),并將其發(fā)送給log節(jié)點。
5. push節(jié)點
圖11
該節(jié)點用法較為簡單,直接填寫需要進行傳送的目標節(jié)點即可。6.tcp_client節(jié)點
圖12
該節(jié)點主要實現(xiàn)將push節(jié)點發(fā)送而來的數(shù)據(jù),傳達給TCP服務(wù)器。
該節(jié)點關(guān)鍵參數(shù)一覽:
主機,此處我們設(shè)置為服務(wù)器的IP地址(192.168.137.136)。
端口,本地開放連接的端口號,取值為1024-60000,此處取值為7777。
重試時間間隔,此處我們設(shè)置為1000,單位為ms。
7.log節(jié)點
圖13
該節(jié)點主要實現(xiàn),將上一個節(jié)點傳輸而下的數(shù)據(jù),打印至串口和調(diào)試窗口上,一個很好用的調(diào)試信息反饋節(jié)點。
?流圖下載1.點擊下拉框
圖142.點擊配置按鈕
圖153.配置IP地址與端口號
圖16
若用戶不知道流圖下載的端口號,可以在板子重啟時,調(diào)試串口種打印信息獲取,或者在shell命令窗口使用ipconfig命令獲取網(wǎng)口配置。4.先選擇配置,后點擊下載按鈕
圖17
圖185.下載完成
圖19
?效果驗證
1. TCP服務(wù)器的搭建
此處需要使用一款助手工具,而本章便用TCP&UDP測試工具進行效果展示。
圖20創(chuàng)建服務(wù)器

圖21配置服務(wù)器
圖22啟動服務(wù)器2. TCP服務(wù)器的接收與下發(fā)
圖23服務(wù)器接收
圖24服務(wù)器發(fā)送可見客戶端接收到的數(shù)據(jù)如下。
圖25調(diào)試信息列表
圖26調(diào)試信息詳情到此,本章結(jié)束,如果您對此有興趣,那就趕快行動起來吧!
-
MODBUS
+關(guān)注
關(guān)注
28文章
2532瀏覽量
83860 -
TCP
+關(guān)注
關(guān)注
8文章
1434瀏覽量
83786 -
RTU
+關(guān)注
關(guān)注
0文章
453瀏覽量
30697
發(fā)布評論請先 登錄
Modbus RTU 轉(zhuǎn) Modbus TCP 智能網(wǎng)關(guān) 保障發(fā)那科 31i-B 與貝加萊 X20 數(shù)據(jù)同步
西門子200 SMART與臺達DVP PLC通訊:工業(yè)自動化Modbus RTU 轉(zhuǎn)Modbus TCP 方案
生物疫苗生產(chǎn)精度保障依托總線協(xié)議的Modbus TCP 轉(zhuǎn) RTU案例
智能物流立體倉庫通訊困境:基于協(xié)議轉(zhuǎn)換的Modbus TCP 轉(zhuǎn) Modbus RTU解決方案
光伏逆變器上料-測試協(xié)同依托數(shù)據(jù)采集的Modbus TCP 轉(zhuǎn) Modbus RTU協(xié)議應(yīng)用案例
用Profinet轉(zhuǎn)Modbus RTU協(xié)議網(wǎng)關(guān)有什么好處
DLT698轉(zhuǎn)Modbus RTU-TCP網(wǎng)關(guān)
Profinet從轉(zhuǎn)Modbus(TCP)主總線協(xié)議轉(zhuǎn)換網(wǎng)關(guān)
Modbus RTU轉(zhuǎn)Profinet總線協(xié)議網(wǎng)關(guān)
工業(yè)場景下塔訊 Modbus RTU 轉(zhuǎn) Modbus TCP 網(wǎng)關(guān)實現(xiàn)橫河流量計與 WinCC 數(shù)據(jù)交互案例
塔訊 Modbus RTU 轉(zhuǎn) Modbus TCP 在污水處理廠 PLC 數(shù)據(jù)采集中的配置案例
通用串口轉(zhuǎn)Modbus TCP 網(wǎng)關(guān)
Modbus TCP 轉(zhuǎn) Modbus RTU電腦端 TCP 與西門子 V20 變頻器的通信案例
艾默生流量計與Profibus DP主站轉(zhuǎn)Modbus RTU/TCP網(wǎng)關(guān)通訊案例
E+H流量計與Profibus DP主站轉(zhuǎn)Modbus RTU/TCP網(wǎng)關(guān)通訊
Modbus RTU Master 轉(zhuǎn) TCP Client
評論