<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 電子開發 >> plc工業軟件使用 >> 正文

      干貨 | Modscan32  Modsim32 Modbus協議調試分享_modbus調試

      作者:佚名    文章來源:網絡整理    點擊數:    更新時間:2024/8/29

      Modbus協議采用主從式通信,日常使用較多的是Modbus RTU和Modbus TCP/IP兩種。

      比較常用的Modbus通信調試軟件有ModScan32和ModSim32。

      ModScan32主要用來模擬主設備,它可以發送指令到從設備(使用Modbus協議的智能儀表等設備終端),從機響應之后,就可以在界面上返回相應寄存器的數據。

      ModSim32用來模擬從設備,它可以模擬采用Modbus協議的智能終端。

      在和組態軟件交互的過程中,咱們的板子或者軟件一般作為從設備,為了了解Modbus協議的具體交互過程,我們今天來使用ModScan32軟件和串口助手來調試一下Modbus協議。

      實現目標

      • 熟悉ModScan32軟件的使用

      • 串口助手模擬從設備與ModScan32軟件進行數據交互

      素材獲取

      本文相關軟件及Modbus協議手冊的獲取方式在微信交流群內發布。

      測試前提

      創建一對虛擬串口供調試使用。

       
      我們這里選擇COM4和COM5,使用這一對虛擬串口可以實現,COM4發送的數據可以轉發至COM5中,反過來,COM5發送的數據可以轉發到COM4中,通過這兩個COM口可以實現數據的交互。

      ModScan32軟件使用教程

      ModScan32是一個運行在Windows下,作為在RTU或者ASCII傳輸模式下的Modbus協議主設備的應用程序。

      把一個或多個Modbus從站設備通過串口,調制解調器或者網絡連接到電腦上,就可以使用ModScan 讀取和修改數據點。

      打開軟件

      雙擊ModScan32.exe打開軟件。

      軟件界面介紹

       
      窗口右上角有兩個計數:

      Number of Polls: 表示ModScan32軟件發送的數據包個數;

      Valid Slave Responses: 表示從設備返回的應答個數。

      如果這兩個計數都在增加,表明數據通訊正常。

      連接串口

      首先要對安裝Modbus設備的串口通信參數進行配置,連接參數,串口選擇串口通信的串口,這里選擇上面一對虛擬串口中的COM4。

       

      點擊協議選擇按鈕,在彈出對話框中設置Modbus傳輸模式,我們選擇RTU進行測試。

      通信參數設置

      通信參數包括:起始地址(Address)、Device Id、寄存器長度(Length)及讀取的功能代碼。
       

      其中MODBUS Point Type(Modbus數據模型)包括以下四種:

       

      • 01:COIL STATUS:讀寫開關量類型(DO),位操作,可用于設定端口輸出狀態,或者讀取該位的輸出狀態,常用于電磁閥輸出、MOSFET輸出、LED顯示等;
      • 02:INPUT STATUS:讀開關量類型(DI),位操作,通過外部設定改變輸入狀態,可讀但是不可寫,常用于撥碼開關、接近開關等;
      • 03:HOLDING REGISTER:保持寄存器,讀寫WORD類型,字操作,輸出參數或者保持參數,控制器運行時被設定的某些參數,可讀可寫,常用于模擬量輸出設定值、PID運行參數、變量閥輸出大小、傳感器報警上下限等;
      • 04:INPUT REGISTER:輸入寄存器,讀WORD類型,字操作,輸入參數,控制器運行時從外部設備獲得的參數,可讀但是不可寫,常用于模擬量輸入。

      根據硬件說明書選擇具體的Modbus數據模型。

      連接

      點擊菜單“連接設置”中的“連接”,彈出的界面中配置好通訊參數之后,點擊“確定”,建立連接。

       

      使用串口助手調試

      查詢

      主機ModScan32軟件發送讀從機線圈寄存器當前狀態的指令,從機(串口助手模擬從機)收到的數據為:01 01 00 00 00 64 3D E1

      此數據包為讀取線圈寄存器的指令,具體含義為:

      從機地址 0x01
      功能碼 0x01
      尋址地址 0x0000
      寄存器數量 0x0064
      CRC校驗碼 0x3DE1

       

      應答

      正常主機發送一個數據包,我們要在一定時間內,發送一個固定格式的數據包作為應答,否則會提示超時“MODBUS Message TIME-OUT”或者接收的應答格式不正確“Received Invalid Response to MODBUS Query”或者提示校驗錯誤“Checksum Error in Response Message”等提示。

       

      正確的應答包如下:

      01 01 0D 08 00 00 00 00 00 00 00 00 00 00 00 00 AD E5

      從機地址 0x01
      功能碼 0x01
      返回字節數 0x0D
      數據1 0x08
      數據2 0x00
      CRC校驗碼 0xADE5

      返回字節數N=讀取寄存器數量/8,如果余數不為0,則N=N+1。

      此實例中讀取寄存器的數量為0x64,即100,100/8=12余4,所以N=12+1,即0x0D 。

      返回數據的每一位對應線圈狀態,1-ON,0-OFF。

      每一字節的數據的最低位代表最低地址的線圈狀態,如果不夠8位,字節高位填充為0。

       

      主機ModScan32軟件收到應答之后,寄存器地址0x0004位置的值被修改為0x01,并且Valid Slave Responses計數+1。

       

      將數據的第一個字節0x08用二進制表示為0b0000 1000,正好第四位為1,跟我們應答返回的內容一致。

      同理,如果從機返回數據包:01 01 0D FF 00 00 00 00 00 00 00 00 00 00 00 00 E6 53 ,代表寄存器00001~00008的線圈狀態都為ON:

       

      主機設置線圈通斷狀態

      請求

       

      修改地址0001的值為0x01的串口數據為:01 05 00 00 FF 00 8C 3A

       

      MODBUS部分功能碼

      功能碼 含義 寄存器地址 位操作/字操作 操作數量
      01 讀線圈狀態 00001-09999 位操作 單個或多個
      02 讀離散輸入狀態 10001-19999 位操作 單個或多個
      03 讀保持寄存器 40001-49999 字操作 單個或多個
      04 讀輸入寄存器 30001-39999 字操作 單個或多個
      05 寫單個線圈 00001-09999 位操作 單個
      06 寫單個保持寄存器 40001-49999 字操作 單個
      15 寫多個線圈 00001-09999 位操作 多個
      16 寫多個保持寄存器 40001-49999 字操作 多個

      功能碼可以分為位操作和字操作兩類。位操作的最小單位為bit,字操作的最小單位為WORD(兩個字節)。

      由上表可知,主機修改某個寄存器的值的功能碼為:0x05,即寫單個線圈,寫單個線圈的數據包的結構為:

      從機地址 0x01
      功能碼 0x05
      輸出地址 0x0000
      輸出值 0xFF00
      CRC校驗碼 0x8C3A

      注意:設置某個線圈值為ON的話,該值為0xFF00,設置線圈值為OFF的話,該值為0x0000。

      應答

      響應跟請求是一樣的數據包:01 05 00 00 FF 00 8C 3A

      從機地址 0x01
      功能碼 0x05
      輸出地址 0x0000
      輸出值 0xFF00
      CRC校驗碼 0x8C3A

      總結

      其實直接使用ModSim32軟件作為從機,ModScan32軟件作為主機,二者進行數據通訊,這樣調試起來最便利了。

      不過我們做這個演示的目的是了解ModScan32軟件的工作過程,如果使用ModSim32軟件,看不明白工作過程。

      使用串口助手的話,對于整個工作的過程比較清晰,也方便我們下一步自己編寫Modbus從機軟件。

      歡迎關注

      小伙伴們可關注微信公眾號:電子開發網 ,與更多同道中人一起成長。

      聲明:此軟件僅供學習使用,請支持正版。
      Tags:Modscan32,Modsim32,Modbus  
      責任編輯:admin
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      最新推薦
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 国产精品 综合 第五页| 色婷婷六月亚洲综合香蕉| 婷婷综合久久中文字幕蜜桃三| 亚洲欧美日韩综合久久久| 色综合久久88色综合天天 | 国产精品综合色区在线观看| 激情婷婷成人亚洲综合| 亚洲欧洲自拍拍偷综合| 国产亚洲精品精品国产亚洲综合| 色综合AV综合无码综合网站| 国产性天天综合网| 亚洲综合色7777情网站777| 中文字幕国产综合| 狠狠综合久久综合中文88| 亚洲精品国产综合久久久久紧| 亚洲色偷偷综合亚洲AVYP| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 久久综合视频网站| 伊人久久婷婷五月综合97色| 亚洲AV综合色区无码另类小说| 女人和拘做受全程看视频日本综合a一区二区视频 | 亚洲VA综合VA国产产VA中| 天天干天天色综合网| 一日本道伊人久久综合影| 色综合天天综合给合国产| 亚洲国产精品成人综合色在线婷婷| 亚洲综合日韩久久成人AV| 久久久久久久综合日本| 精品国产综合区久久久久久| 亚洲国产aⅴ综合网| 在线亚洲97se亚洲综合在线| 亚洲综合无码精品一区二区三区| 久久―日本道色综合久久| 久久综合综合久久97色| 亚洲综合精品一二三区在线 | 六月丁香激情综合成人| 伊人久久大香线蕉综合爱婷婷| 久久综合久久久久| 亚洲精品国产第一综合99久久 | 国产色综合久久无码有码| 亚洲国产综合精品中文第一区|