衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【EsDA 應用】Modbus RTU Master 轉 TCP Server

AGk5_ZLG_zhiyua ? 來源:未知 ? 2023-07-19 11:55 ? 次閱讀
隨著物聯網技術蓬勃發展,Modbus 設備數據采集上報需求日益增加,本文將具體介紹如何利用 EsDA 快速實現Modbus RTU Master數據轉TCP Server數據,縮短產品研發時間。

2bac1b6a-25e7-11ee-962d-dac502259ad0.jpg??簡介隨著時代的發展,數據上云等需求越來越普遍,不同協議之間的數據轉換,也成了用戶普遍的需求之一。本章將帶大家快速實現如何將EPC6450-AWI工控板的Modbus RTU數據,快速轉換成TCP服務器數據,傳送給TCP客戶端,工作框架如圖1.1。

2bbd0a60-25e7-11ee-962d-dac502259ad0.png

圖1 本文主要使用本公司EPC6450-AWI型號工控板,外接使用Modbus RTU協議傳輸的溫濕度變送器,讀取相關溫濕度數據,并創建TCP服務器,向PC機上的TCP客戶端實時發送溫濕度數據。 2bdede6a-25e7-11ee-962d-dac502259ad0.jpg入門基礎

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

  • EsDAMPC-ZC1入門(一)——軟件安裝

  • EsDAMPC-ZC1入門(二)——LED控制

  • EsDAEPC6450-AWI進階(協議轉換)——ModbusTCP轉TCPClient

2bdede6a-25e7-11ee-962d-dac502259ad0.jpg硬件前提1. EPC6450-AWI型號工控板

2c0712fe-25e7-11ee-962d-dac502259ad0.png

圖2

2.USB轉TTL類型串口設備

2c8f4c1e-25e7-11ee-962d-dac502259ad0.jpg

圖3

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

2f3d6338-25e7-11ee-962d-dac502259ad0.jpg

圖4傳感器,內部使用了Modbus RTU協議,數據分別存儲在地址為0(溫度)和1(濕度)上。4. Type-C線、網線、杜邦線若干

2f83ac58-25e7-11ee-962d-dac502259ad0.jpg

圖5

2bdede6a-25e7-11ee-962d-dac502259ad0.jpg硬件連接圖2fba6608-25e7-11ee-962d-dac502259ad0.jpg圖6將USB轉TLL接口與DUART接口相接(此處注意RXD接TXD,TXD接RXD),Type-C供電線與工控板Type-C接口相接,網口接eth0接口,溫濕度變送器上的A/B信號線分別與工控板上的RS485A/RS485B相連,+電源線接于5V,-地線接于GND。 2bdede6a-25e7-11ee-962d-dac502259ad0.jpg本章流圖解析30102a84-25e7-11ee-962d-dac502259ad0.png圖7

1. 本流圖節點列表

  • modbus_master_in節點,該節點負責讀取從機的相關寄存器地址中的數據。
  • modbus_parse_in節點,該節點負責解析modbus_master_in獲取的數據,將數據轉化成對應類型的數值數組。
  • fscript節點,該節點主要負責對modbus_parse_in節點所生成的數值數組進行提取,并格式化輸出對應的溫濕度數據。
  • log節點,該節點主要負責把接收到的fscript節點輸出的數據,顯示于串口與調試口。
  • push節點,該節點主要負責將接收到的fscript節點輸出的數據,傳送至tcp_server_ex節點。
  • tcp_server_ex節點,該節點主要負責將得到的push節點數據,轉發給PC上位機上的TCP客戶端。
2. 數據流向

通過RS485接口與Modbus RTU協議讀取溫濕度變送器的數據,對該數據進行數值化生成對應的數值數組,對生成的數值數組進行提取,格式化輸出對應的溫濕度情況,并將信息顯示在串口與調試窗口上,以及發送至PC上位機上的TCP客戶端窗口。

2bdede6a-25e7-11ee-962d-dac502259ad0.jpg節點解析1. modbus_master_in節點30564b18-25e7-11ee-962d-dac502259ad0.png圖8該節點關鍵參數一覽:
  • 主機參數配置,此處配置與配置串口參數同理,配置如下:

307d91b4-25e7-11ee-962d-dac502259ad0.png圖9

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

  • 讀取模式,該屬性將決定節點的觸發方式。分別有:(1)循環讀取數據,該模式節點將以用戶設定的周期定時輸出數據,如周期內數據未被刷新,則在下一周期輸出;(2)根據輸入的信息讀取從機設備的數據,讀取成功則向下一節點輸出數據。可使用push節點向此節點輸入讀取所需要的參數信息,具體請查看輸入參數。此處我們選用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節點315a3a4c-25e7-11ee-962d-dac502259ad0.png圖10

該節點關鍵參數一覽:

  • 數據轉換模式,該模式有:(1)單地址數據轉換,此模式只對某一地址的數據進行轉換,因此輸出payload是對應地址的單個數據值;(2)多地址數據轉換,此模式對指定地址及數量的數據進行同一的轉換,并將轉換后的值存入array對象;(3)全地址數據轉換,此模式對輸入的所有數據進行同一的轉換,并將轉換后的值存入array對象。

    注:數據地址及長度必須在modbus輸入節點的讀取范圍內,否則轉換將失敗。此處我們選擇multi-address address parse模式,即第(2)種。

  • 數據轉換起始地址,此處設置為0。

  • 轉換數量,此處設置為2。

  • 數據轉換類型,讀取的數據格式,對讀取的數據進行位整合,例: int32_t:將數據地址開始的4byte整合成int32_t類型的值。此處我們選擇16bits-unsigned int類型。

  • 大小端選擇,此處選擇配置讀取的存儲大小端模式,此處我們設置為小端模式。

3. fscript節點該節點為腳本節點,具體腳本如下。
a = msg.payload


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

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

4. push節點31a002c0-25e7-11ee-962d-dac502259ad0.png圖11

該節點用法較為簡單,直接選擇需要進行傳送的目標節點即可。

5.tcp_server_ex節點31c4ae0e-25e7-11ee-962d-dac502259ad0.png圖12該節點主要實現將push節點發送而來的數據,傳達給連接上來的TCP客戶端。

該節點關鍵參數一覽:

  • 端口,本地開放連接的端口號,取值為1024-60000,此處取值為5353。
  • 最大連接數,是指可支持的最大客戶端連接數量,此處我們設置為8。
  • 輸出模式,存在兩種輸出模式可以選擇,第一種為攜帶報文頭部的模式,第二種為不攜帶報文頭部的模式,此處我們設置為第二種模式payload。
  • 保活時間,取值范圍為0-100000,此處我們設置為120。
  • 空閑掉線時間,取值范圍為0-100000,此處我們設置為0。
6.log節點320c467e-25e7-11ee-962d-dac502259ad0.png圖13

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

2bdede6a-25e7-11ee-962d-dac502259ad0.jpg流圖下載1.點擊下拉框327c4ba4-25e7-11ee-962d-dac502259ad0.png圖142.點擊配置按鈕32ad38ea-25e7-11ee-962d-dac502259ad0.png圖153.配置ip地址與端口號32f1ce06-25e7-11ee-962d-dac502259ad0.png圖16

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

4.先選擇配置,后點擊下載按鈕33262a66-25e7-11ee-962d-dac502259ad0.png圖175.下載完成33553c52-25e7-11ee-962d-dac502259ad0.png圖186.完整調試窗口33f9c092-25e7-11ee-962d-dac502259ad0.png圖19 2bdede6a-25e7-11ee-962d-dac502259ad0.jpg效果驗證1.查看調試窗口信息344e89d8-25e7-11ee-962d-dac502259ad0.png圖20

點擊對應信息條目可以查看詳情。

3484d2ae-25e7-11ee-962d-dac502259ad0.png圖21

可見具體的溫濕度數據信息。

2.TCP客戶端此處需要使用一款助手工具,而本章便用SSCOM進行效果展示。34c2eb16-25e7-11ee-962d-dac502259ad0.png圖22

可見客戶端接收到的數據如下。

34e7f2d0-25e7-11ee-962d-dac502259ad0.png圖23

到此,本章結束,如果您對此有興趣,那就趕快行動起來吧!

2bdede6a-25e7-11ee-962d-dac502259ad0.jpg技術交流長按識別如下二維碼可加入“EsDA嵌入式系統設計自動化交流群”,與志同道合的朋友交流,并有專業技術人員為您答疑解惑,如有問題可以咨詢小致微信zlgmcu-888。3543b368-25e7-11ee-962d-dac502259ad0.png ?


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 致遠電子
    +關注

    關注

    13

    文章

    409

    瀏覽量

    31427

原文標題:【EsDA 應用】Modbus RTU Master 轉 TCP Server

文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    CC-Link IE FB Modbus TCP

    CC-Link IE FB協議 Modbus TCP
    的頭像 發表于 01-24 17:35 ?163次閱讀
    CC-Link IE FB<b class='flag-5'>轉</b> <b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>

    Modbus網關如何實現Modbus RTUModbus TCP協議的數據采集?

    著重要作用。 Modbus網關 作為數據通信的橋梁,能夠實現Modbus RTUModbus TCP協議之間的數據采集與轉換,進而為監控系
    的頭像 發表于 10-22 15:57 ?383次閱讀

    Modbus RTU協議與Modbus TCP/IP協議的區別

    Modbus RTUModbus TCP/IP的本質都是Modbus協議,都是通過Modbus
    的頭像 發表于 10-18 17:44 ?795次閱讀

    MODBUS TCP CANOpen

    產品概述 SG-TCP-COE-210 網關可以實現將 CANOpen 接口設備連接到 MODBUS TCP 網絡中。用戶不需要了解具體的 CANOpen 和 Modbus
    的頭像 發表于 09-24 13:59 ?335次閱讀
    <b class='flag-5'>MODBUS</b> <b class='flag-5'>TCP</b> <b class='flag-5'>轉</b> CANOpen

    Modbus RTUCC-link協議網關(Modbus RTUCC-link)

    特JM-CCLK-RTU應用于支持Modbus RTU接口的變頻器、儀表、上位機、馬保等等。在紡紗設備領域,Modbus RTU
    的頭像 發表于 09-10 10:28 ?716次閱讀
    <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b><b class='flag-5'>轉</b>CC-link協議網關(<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b><b class='flag-5'>轉</b>CC-link)

    Modbus RTUCC-Link協議網關(CC-LinkModbus RTU

    遠創智控YC-CCLK-RTU型網關實現了CC-Link從站和Modbus RTU主站(從站)。網關作為CC-Link從站接入到CC-Link網絡中,比如連接到三菱PLC。CCLK-RTU
    的頭像 發表于 09-07 14:59 ?514次閱讀
    <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b><b class='flag-5'>轉</b>CC-Link協議網關(CC-Link<b class='flag-5'>轉</b><b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>)

    EtherNet/IPModbus-RTU主站網關(EtherNet/IPModbus-RTU

    ,用戶的變頻器采用Modbus RTU通信,耐用通信EtherNet/IPModbus RTU網關作為兩者之間的橋梁,實現PLC對變頻器的
    的頭像 發表于 09-04 10:55 ?358次閱讀
    EtherNet/IP<b class='flag-5'>轉</b><b class='flag-5'>Modbus-RTU</b>主站網關(EtherNet/IP<b class='flag-5'>轉</b><b class='flag-5'>Modbus-RTU</b>)

    PLC協議、Modbus RTU TCP 、DL T645、IEC101-104、BACnet Modbus TCP RTU、OPC UA、MQTT、BACnet IP協議網關

    ,可同時采集不同協議,可定制二次開發,滿足不同場景個性化需求。 二、協議支持 下行采集協議:各種PLC協議、Modbus RTU MasterModbus
    的頭像 發表于 07-24 16:04 ?664次閱讀
    PLC協議、<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>  <b class='flag-5'>TCP</b> 、DL T645、IEC101-104、BACnet <b class='flag-5'>轉</b><b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> <b class='flag-5'>RTU</b>、OPC UA、MQTT、BACnet IP協議網關

    Modbus RTUModbus TCPMQTT網關實現Modbus設備與云平臺的無縫通信

    鋇錸ModbusMQTT網關,簡而言之,就是通過將Modbus協議(包括Modbus RTUModb
    的頭像 發表于 07-23 16:58 ?3237次閱讀
    <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>、<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b><b class='flag-5'>轉</b>MQTT網關實現<b class='flag-5'>Modbus</b>設備與云平臺的無縫通信

    PNRS485 Modbus RTU協議網關通訊優勢分析

    【ZP-WTU-PNMD02、ZP-WTU-PNMD04、ZP-WTU-PNMD10、ZP-WTU-PNMT01】系列ProfinetModbus TCP”或者“ProfinetR
    的頭像 發表于 06-17 08:46 ?1117次閱讀
    PN<b class='flag-5'>轉</b>RS485 <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>協議網關通訊優勢分析

    ProfiNetRS485/Modbus Rtu協議網關

    網關實現PNrs485、profinetRS485、Modbusprofinet、RS485PN、profinet
    的頭像 發表于 06-13 08:55 ?804次閱讀
    ProfiNet<b class='flag-5'>轉</b>RS485/<b class='flag-5'>Modbus</b> <b class='flag-5'>Rtu</b>協議網關

    Modbus TCPProfinet網關配置案例

    本案例采用Modbus TCPProfinet網關做為Modbus TCP通信協議設備與Profinet通信協議設備連接的橋梁。
    的頭像 發表于 05-27 11:55 ?661次閱讀
    <b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b><b class='flag-5'>轉</b>Profinet網關配置案例

    BL124采集Modbus RTUModbus TCP協議

    同樣支持Modbus RTUModbus TCPModbus網關為Modbus
    的頭像 發表于 04-29 16:28 ?493次閱讀
    BL124采集<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>和<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>協議

    CCLinkieModbus RTU在紡紗設備領域應用

    在紡紗設備領域,CCLinkieModbus RTU網關可以發揮重要作用。這種網關的主要功能是將CC-Link IE Field總線協議轉換為Modbus
    的頭像 發表于 03-22 10:50 ?401次閱讀
    CCLinkie<b class='flag-5'>轉</b><b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>在紡紗設備領域應用

    Ethernet/IPModbus TCP網關

    Ethernet/IPModbus TCP網關,YC-EIP-TCP工業級EtherNet/IP 網關,支持ModBus主從站,即插即用
    的頭像 發表于 02-27 17:50 ?533次閱讀
    Ethernet/IP<b class='flag-5'>轉</b><b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>網關
    博天堂百家乐官网的玩法技巧和规则 | 如何玩百家乐的玩法技巧和规则| 百家乐官网注册赠分| 成都南偏西24度风水| 郎溪县| 大发888娱乐城官方| 川宜百家乐分析软件| 太阳城百家乐官网注册平台| bet365网址器| 真人版百家乐试玩| 百家乐投注很不错| 扑克王百家乐官网的玩法技巧和规则 | 大发888游戏平台hanpa| 百家乐书籍| 百家乐官网博欲乐城| 百家乐官网单机游戏免费| 香港六合彩报码| 免费百家乐过滤工具| 真人百家乐策略| 澳门百家乐玩法| 可以玩百家乐的博彩公司| 皇城百家乐官网娱乐城| 易胜博百家乐官网娱乐城| 房产| 新大发888娱乐城| 大发888手机| 大发888真钱娱乐游戏博彩| 做生意摆放龙龟方向| 百家乐娱乐城公司| 凯旋门百家乐技巧| 24山向阴阳图| 临汾玩百家乐的人在那里找| 做生意带什么装饰招财| 牌九百家乐官网的玩法技巧和规则 | 黄金百家乐的玩法技巧和规则 | 凌龙棋牌官方下载| 皇冠现金网是真的吗| 大发888站群| 和田市| 江安县| 百家乐官网小77论坛|