成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

  • 正文
  • 推薦器件
  • 相關推薦
申請入駐 產業(yè)圖譜

【EsDA 應用】Modbus RTU Master 轉 TCP Client

2023/08/09
2166
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

隨著物聯網技術蓬勃發(fā)展,Modbus設備數據采集上報需求日益增加,本文將具體介紹如何利用EsDA快速實現Modbus RTU Master數據轉TCP Client數據,縮短產品研發(fā)時間。

簡介

隨著時代的發(fā)展,數據上云等需求越來越普遍,不同協(xié)議之間的數據轉換,也成了用戶普遍的需求之一。本文將帶大家快速實現將EPC6450-AWI工控板的Modbus RTU數據,快速轉發(fā)成TCP客戶端數據,與服務器建立通信,工作框架如圖1。

圖1本文主要使用本公司的EPC6450-AWI型號工控板,外接使用Modbus RTU協(xié)議傳輸的溫濕度變送器,讀取相關溫濕度數據,并創(chuàng)建TCP客戶端,向PC機上的TCP服務器實時發(fā)送溫濕度數據,進行數據交互。

入門基礎

本章內容,主要使用modbus_master_in、modbus_parse_in、fscript、log、push、tcp_client節(jié)點。用戶在進行閱讀之前,需具備一定基礎的AWFlow Designer開發(fā)經驗。若剛開始接觸,可閱讀以下文章,進行基礎知識的學習。

    EsDA?MPC-ZC1?入門(一)——?軟件安裝EsDA?MPC-ZC1?入門(二)——?LED?控制EsDA?EPC6450-AWI?進階?(協(xié)議轉換)——Modbus?TCP?轉?TCP?Client

硬件前提

1. EPC6450-AWI型號工控板

圖2

2.?USB轉TTL類型串口設備

圖3

3.?溫濕度變送器(Modbus?RTU協(xié)議,RS485接口)

圖4

傳感器,內部使用了Modbus RTU協(xié)議,數據分別存儲在地址為0(溫度)和1(濕度)上。

4.?Type-C線、網線、杜邦線若干

圖5
??硬件連接圖

圖6

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

本章流圖解析

圖7

1. 本流圖節(jié)點列表

    modbus_master_in節(jié)點,該節(jié)點負責讀取從機的相關寄存器地址中的數據。modbus_parse_in節(jié)點,該節(jié)點負責解析modbus_master_in獲取的數據,將數據轉化成對應類型的數值數組。fscript1節(jié)點,該節(jié)點主要負責對modbus_parse_in節(jié)點所生成的數值數組進行提取,并格式化輸出對應的溫濕度數據。fscript2節(jié)點,該節(jié)點主要負責對tcp_client節(jié)點接收到的數據,進行讀取與解析,并傳送給下一個節(jié)點。log節(jié)點,該節(jié)點主要負責把接收到的fscript節(jié)點輸出的數據,顯示于串口與調試口。push節(jié)點,該節(jié)點主要負責將接收到的fscript節(jié)點輸出的數據,傳送至tcp_client節(jié)點。tcp_client節(jié)點,該節(jié)點主要負責將得到的push節(jié)點數據,轉發(fā)給PC上位機上的TCP服務器,并接收服務器下發(fā)的數據。

2. 數據流向

通過RS485接口與Modbus RTU協(xié)議讀取溫濕度變送器的數據,對該數據進行數值化生成對應的數值數組,對生成的數值數組進行提取,格式化輸出對應的溫濕度情況,通過建立TCP客戶端,發(fā)送至PC上位機上的TCP服務器窗口,服務器也向客戶端發(fā)送數據,雙方進行數據交互。

節(jié)點解析

1.?modbus_master_in節(jié)點

圖8

該節(jié)點關鍵參數一覽:主機參數配置,此處配置與配置串口參數同理,配置如下:

圖9

(可參照學習?EsDA?MPC-ZC1應用——串口服務器(一),?以及 EsDA?MPC-ZC1?應用——串口服務器(二))

讀取模式,該屬性將決定節(jié)點的觸發(fā)方式。分別有:(1)?循環(huán)讀取數據,該模式節(jié)點將以用戶設定的周期定時輸出數據,如周期內數據未被刷新,則在下一周期輸出;

(2)?根據輸入的信息讀取從機設備的數據,讀取成功則向下一節(jié)點輸出數據。可使用push節(jié)點向此節(jié)點輸入讀取所需要的參數信息,具體請查看輸入參數。此處我們選用periodic read data模式,即第?(1)?種。

從機ID,從機設備的ID號,數值為0-255。此處從機ID為1,具體用戶可根據實際情況修改。

輸出周期,數值為0-65535,?此處我們設置為1000。

寄存器地址,該值為讀取的起始寄存器地址,數值為0-65535,此處我們設置為0。

讀取數量,數值為0-1000,此處我們設置為2,即讀取兩個數據(分別為溫度和濕度)。

寄存器類型,讀取的寄存器類型。分別有:(1)?讀取線圈量,此類型的數據將輸出uint8_t指針類型的payload;(2)?讀取離散量,此類型的數據將輸出uint8_t指針類型的payload;(3)?讀取保持寄存器,此類型的數據將輸出uint16_t指針類型的payload;

(4)?讀取輸入寄存器,此類型的數據將輸出uint16_t指針類型的payload。此處我們設置為read holding resgisters,即第(3)種。

2.?modbus_parse_in節(jié)點

圖10

該節(jié)點關鍵參數一覽:

    數據轉換模式,?該模式有:(1)?單地址數據轉換,此模式只對某一地址的數據進行轉換,因此輸出payload是對應地址的單個數據值;?(2)?多地址數據轉換,此模式對指定地址及數量的數據進行同一的轉換,并將轉換后的值存入array對象;?(3)?全地址數據轉換,此模式對輸入的所有數據進行同一的轉換,并將轉換后的值存入array對象。注:數據地址及長度必須在modbus輸入節(jié)點的讀取范圍內,否則轉換將失敗。此處我們選擇multi-address address parse模式,即第(2)種。數據轉換起始地址,此處設置為0。轉換數量,此處設置為2。數據轉換類型,讀取的數據格式,對讀取的數據進行位整合,例: int32_t:?將數據地址開始的4byte整合成int32_t類型的值。此處我們選擇16bits-unsigned int類型。大小端選擇,此處選擇配置讀取的存儲大小端模式,此處我們設置為小端模式。

3. fscript1節(jié)點

該節(jié)點為腳本節(jié)點,具體腳本如下。

a = msg.payload
output.payload = "temp:" + array_get(a, 0)/10 + "C,   " + "humi:" +  array_get(a, 1)/10 + "RH"

此腳本主要實現將modbus_parse_in節(jié)點所生成的數值數組提取數值,并進行格式化處理,輸出對應的溫濕度數據。

4.?fscript2節(jié)點

該節(jié)點為腳本節(jié)點,具體腳本如下。

b = istream_read_string(msg.istream, 100, 1000)msg.payload = b

此腳本主要實現解析TCP客戶端接收到的數據,并將其發(fā)送給log節(jié)點。

5. push?節(jié)點

圖11

該節(jié)點用法較為簡單,直接填寫需要進行傳送的目標節(jié)點即可。

6.?tcp_client節(jié)點

圖12

該節(jié)點主要實現將push節(jié)點發(fā)送而來的數據,傳達給TCP服務器。

該節(jié)點關鍵參數一覽:

主機,此處我們設置為服務器的IP地址(192.168.137.136)。

端口,本地開放連接的端口號,取值為1024-60000,此處取值為7777。

重試時間間隔,此處我們設置為1000,單位為ms。

7.?log節(jié)點

圖13

該節(jié)點主要實現,將上一個節(jié)點傳輸而下的數據,打印至串口和調試窗口上,一個很好用的調試信息反饋節(jié)點。

流圖下載1.?點擊下拉框

圖14

2.?點擊配置按鈕

圖15

3.?配置IP地址與端口號

圖16

若用戶不知道流圖下載的端口號,可以在板子重啟時,調試串口種打印信息獲取,或者在shell命令窗口使用ipconfig命令獲取網口配置。

4.?先選擇配置,后點擊下載按鈕

圖17

圖18

5.?下載完成

圖19

效果驗證

1. TCP服務器的搭建

此處需要使用一款助手工具,而本章便用TCP&UDP測試工具進行效果展示。

圖20?創(chuàng)建服務器

圖21?配置服務器

圖22?啟動服務器

2. TCP服務器的接收與下發(fā)

圖23?服務器接收

圖24?服務器發(fā)送可見客戶端接收到的數據如下。

圖25?調試信息列表

圖26?調試信息詳情到此,本章結束,如果您對此有興趣,那就趕快行動起來吧!

推薦器件

更多器件
器件型號 數量 器件廠商 器件描述 數據手冊 ECAD模型 風險等級 參考價格 更多信息
TLE9271QXV33XUMA1 1 Infineon Technologies AG Interface Circuit, PQCC48, VQFN-48
暫無數據 查看
TJA1042T,118 1 NXP Semiconductors TJA1042 - High-speed CAN transceiver with Standby mode SOIC 8-Pin

ECAD模型

下載ECAD模型
$1.52 查看
KSZ9031RNXIC 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER

ECAD模型

下載ECAD模型
$8.98 查看
致遠電子

致遠電子

廣州致遠電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術認證企業(yè),廣州市高端工控測量儀器工程技術研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。

廣州致遠電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術認證企業(yè),廣州市高端工控測量儀器工程技術研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。收起

查看更多

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄
凤庆县| 山东省| 云南省| 西青区| 九江市| 台中县| 土默特左旗| 华容县| 韶山市| 枝江市| 布拖县| 溧水县| 罗平县| 云安县| 安溪县| 神池县| 奉新县| 南丰县| 林甸县| 十堰市| 尖扎县| 兴隆县| 始兴县| 泾川县| 库尔勒市| 宁河县| 通州市| 大厂| 巧家县| 临海市| 弋阳县| 舞钢市| 江门市| 贵溪市| 咸宁市| 涿州市| 含山县| 屏边| 宣恩县| 阆中市| 达拉特旗|