日韩欧美视频第二区,秋霞成人午夜鲁丝一区二区三区,美女日批视频在线观看,av在线不卡免费

電子開發網

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

Modbus測試工具與控件介紹

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2023/3/30
1、簡介

網站地址:http://www.modbustools.com/

該網站提供了幾個軟件工具,可以運行于windows2000/XP/Vista/7環境下,用來測試和仿真Modebus設備。

Modbus通訊 

  • ModbusPoll :Modbus主機仿真器,用于測試和調試Modbus從設備。該軟件支持ModbusRTU、ASCII、TCP/IP。

  • ModbusSlave: Modbus從設備仿真器,可以仿真32個從設備/地址域。每個接口都提供了對EXCEL報表的OLE自動化支持。

  • WSMBT :Modbus主設備的.NET控件,支持C#,VB,managedC++語言,支持Modbus TCP/IP。

  • WSMBS:Modbus從設備的.NET控件,支持C#,VB,managedC++語言,支持ModbusRTU/ASCII。

  • MBAXP:一個易用的ActiveX控件,支持Excel,VisualBasic,Visual C++,Delphi等。支持Modbus RTU/ASCII和Modbus TCP/IP

2、功能

Modbus Poll是一個主機仿真器,用來幫助開發人員測試Modbus從設備,或者其它MOdbus協議的測試和仿真。它支持多文檔接口,即,可以同時監視多個從設備/數據域。每個窗口簡單地設定從設備ID,功能,地址,大小和輪詢間隔。你可以從任意一個窗口讀寫寄存器和線圈。如果你想改變一個單獨的寄存器,簡單地雙擊這個值即可。或者你可以改變多個寄存器/線圈值。提供數據的多種格式方式,比如浮點、雙精度、長整型(可以字節序列交換)。

狀態條顯示錯誤信息。

如果你是一個從設備開發者,你可以通過"testcenter" 菜單,組織并發送你自己的測試字符串,并以16進制形式檢查從設備返回的結果。

為VB,EXCEL等提供了OLE自動化接口。可以用OLE接口解析和顯示Modbus數據,然后送達你指定的設備,即,在EXCEL中編輯數據,然后發送到你的從設備!示例參看安裝后的Excelexample.xls。

支持下列協議:

  • Modbus RTU
  • Modbus ASCII
  • Modbus TCP/IP
  • Modbus RTU Over TCP/IP
  • Modbus ASCII OverTCP/IP
  • Modbus UDP/IP
  • Modbus RTU Over UDP/IP
  • Modbus ASCII OverUDP/IP

MODBUSPOLL功能:

  • OLE自動化可以簡單地與Visual Basic接口,使用起來類似于ActiveX控件。參見VBExample.vbp
  • 讀/寫多達125個寄存器
  • 讀/寫多達2000個輸入/線圈
  • TestCenter菜單 (組織你自己的測試字串)
  • 打印和打印預覽
  • 監視串行數據流量serial datatraffic
  • Datalogging to a text file
  • Data logging direct to Excel
  • 上下文敏感的HLP文件
  • 10 Displayformats such as float, double etc.
  • Adjustable Address Base (0 or1).
  • 字體和顏色選項
  • 廣播功能(從設備ID=0)
  • Easy control of RS-485 converters with RTStoggle.

支持MODBUS功能:

  • 01: Read coil status 讀線圈狀態
  • 02: Read input status 讀輸入狀態
  • 03: Read holdingregister讀保持寄存器
  • 04: Read input registers 讀輸入寄存器
  • 05: Force single coil 強制單線圈
  • 06: Preset single register預置單寄存器
  • 15: Force multiple coils 強制多線圈
  • 16: Preset multiple registers預置多寄存器
  • 17: Report slave ID 報告從設備ID
  • 22: Mask write register 屏蔽寫寄存器
  • 23: Read/Write registers 讀/寫寄存器
3、兩臺微機之間串口測試

測試環境:XP32系統,一臺機器運行Poll,一臺運行Slave,中間用串口線連接。線序:2-3,3-2,5-5。

操作:

  • 兩邊分別用F3設定連接參數:串口,串口1,9600band,8數據位,Even校驗,1停止位,RTU模式,其它缺省。
  • 主機端未正確連接,會給出提示
  • 通訊開始,主機端顯示:TX=35,Err=0,ID=1,F=03,SR=1000ms。意思是,發送35次命令,錯誤次數,從機ID,功能號,輪詢間隔。
  • 如果通訊出錯,會在窗口第二行顯示錯誤信息
  • 使用Display菜單的"Communication Traffic"命令,可以顯示出當前發送命令和接受的數據。
  • 主機改變通訊功能,快捷鍵F8,令功能為4,讀輸入寄存器,然后在從機的10個寄存器上點擊鼠標,輸入每個寄存器的新值,則,在主機上會讀取到這個新的寄存器值。
4、微機與AVR單片機之間串口測試:讀輸入寄存器

測試環境:微機運行Poll,AVR MEGA88運行移植后的代碼,串口連線同上。

AVR代碼:串口用9600bps,even校驗,1停止位,RTU模式,SlaveID=1,其它未改變。

Poll設置:

  • F3呼出連接對話框,設定9600bps同單片機波特率。
  • F8呼出讀寫對話框,設定SlaveID=1;功能=4,地址=999,數量=4,掃描頻率=1000ms,其它未變。
  • 界面顯示出AVR寄存器內容,通訊無錯誤提示。
  • 換用9600/11400/19200/38400/115200bps波特率,通訊正常。因為Poll沒有57600/230400等設置,這些波特率未測。AVR在該時鐘下最高可達230400bps,無差錯。

數據分析:

TX: 01 04 03 E7 00 04 41 BA 01-從設備地址,04-功能號,0x03E7=999,0x0004-讀出寄存器個數,CRC校驗

RX: 01 04 06 00 00 00 00 00 00 60 93 01-從設備地址,04-功能號,06-返回字節數,CRC校驗

出現的問題:

  • 用不同AVR數據測試時,發現AVR代碼有下列問題:設置的地址要比實際demo.c中設定的地址少一個。比如,demo.c中起始地址1000,但測試時Poll只能設定999,否則測試出錯。
  • 該問題的根源在mbfuncinput.c中,解析出變量地址usRegAddress之后有個++動作,人為將其增加1。其它函數如mbfuncholding.c也是如此。
  • 參看Modbus協議的定義:從零開始尋址寄存器,比如尋址輸入寄存器1-16,則輸入為0-15。真是奇怪啊!
  • 自此可以看出,DEMO.C中定義的輸入寄存器起始地址最小為1,此時才能滿足Master要求的輸入寄存器=0。

協議里規定,如果通訊出錯,則返回數據格式為:

01 84 xx CRC2字節

這里xx表示錯誤碼:xx=01 02 03 04,其中02-無效的數據地址

Modbus Poll 4.3.4 破解版下載地址

點擊下載   https://pan.baidu.com/s/1C2RXZ9oTcRIJ_RJu9qo66A?pwd=dzkf 

提取碼:dzkf

Tags:modbus,通訊,測試  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
最新推薦
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
主站蜘蛛池模板: 青岛市| 阿拉善右旗| 隆昌县| 朝阳县| 大理市| 武邑县| 乡城县| 兴宁市| 盘山县| 营山县| 弋阳县| 博野县| 宜州市| 嵊州市| 甘肃省| 襄城县| 新疆| 卢氏县| 眉山市| 沙湾县| 滦南县| 青州市| 东阿县| 武冈市| 铜川市| 毕节市| 千阳县| 仁怀市| 宁南县| 旬邑县| 利川市| 南乐县| 延吉市| 东海县| 和平区| 大足县| 嘉善县| 清镇市| 山阴县| 古田县| 湾仔区|