电子开发 | 基础入门 | 电路原理图 | 濠电姵顔栭崰鏍偑閹绢喖鍨傚ù鐓庣摠閸ゅ霉閸忓吋缍戦柣鎰躬閺岀喖顢涢崱妤佸櫤婵犮垺鐗楃换娑㈠箻鐎电ǹ鏆¢梺鐟板殩閹凤拷 | PLC闂傚倷鑳剁涵鍫曞疾閻愭祴鏋嶉柨婵嗩槶閳ь兛绶氶弫鎾绘晸閿燂拷   闂傚倷绶氬ḿ褍螞濡ゅ懏鏅濋柕鍫濐槶閳ь剙鎳撻ˇ鍦偓娈垮枤鏋顏冨嵆瀹曟﹢鍩¢崘褏閽靛┑鐘垫暩閸嬫稑螞鎼淬劌鍨傞柛婵嗗閼板潡鏌熷▓鍨灓闁告纰嶇换娑㈠幢濡吋鍣紓浣插亾濠㈣埖鍔栭崑锝夋煕閵夘喖澧柡渚€浜堕幃妤冨枈婢跺顏� Ctrl+D 闂傚倷绀佺紞濠傖缚瑜旈、鏍川椤旇棄寮块梺鍐叉惈閹冲海绱掗埡鍛厵妞ゆ牗绮岄。鍏笺亜閵夛箑鐏撮柡灞诲妼閳藉螖閸愩劌顬夐梻浣告啞閺屻劑骞婇幇鏉跨妞ゆ劧绠戦~鍛存煃閵夈儱甯犻柟鏌ョ畺濮婂搫效閸パ冾瀳闁诲孩鍑归崣鍐嚕椤愶富鏁嬮柍褜鍓熼悰顕€骞囬鐔奉€撶紒鍓у閿氬ù婊堢畺閺屻劑鎮ら崒娑橆伓婵犵數鍋為崹鍫曞箰閹绢喖纾婚柟鍓х帛閸嬶絿鎲稿澶婂簥闁哄被鍎洪弫鍡涙煟閺傛寧鎲搁柍缁樻礋閺岋絽螣婢剁ǹ鎯堝銈呯箻娴滃爼骞冪涵鍜佹Ь闂佸搫鑻ˇ閬嶅箲閵忕姈鐔哥瑹椤栨稒銆冮梻渚€娼чˇ浠嬪垂瀹曞洨鐭嗗鑸靛姈閻撶喖鏌曡箛瀣偓鏍р槈瑜旈弻锝夊焺閸愵亝鍣у銈嗘穿缂嶄線宕洪埀顒併亜閹烘垵顏╅柣顓燁殜閺岀喓鈧數枪瀛濈紓浣规⒒閸嬫挾鎹㈠☉銏犲耿闁归偊鍓涙导鍥╃磽娴g瓔鍤欐い鎴濐樀閻涱噣宕橀鍏夊亾閿曞倸绠抽柡鍐ㄥ亰缁憋拷.

电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册

闂佸疇妫勯幊鎰板极閸濄儲宕夋い鏍ㄨ壘瑜板棛鈧鍠栫换鎴炴櫠濠婂牆绀冪€光偓鐎n剛顦梺鍝勭墐閸嬫捇鏌¢崒娑橆棆濠⒀勵殜婵″瓨绻濋崟顒佹瘎闁诲孩绋掗崝妤呭极閸濄儲宕夋い鏍ㄨ壘瑜板棛鈧鍠栫换妤咁敇閸濄儳涓嶆俊銈傚亾婵炲懏甯℃俊瀵糕偓锝呭缁€澶愭煟椤厾绁烽柣顓㈢畺瀹曟顢楅埀顒傛閿熺姴钃熼柕澶樼厛閸ゅ嫰鏌熼棃娑卞剰闁哥儑鎷� 闂佹椿婢€缁插鎯屾ィ鍐ㄧ妞ゆ巻鍋撶紒鎲嬬磿閹峰鏁嶉崟顓熸瘓闂侀潻绲婚崝濠囧焵椤掍礁濮夐柡浣告憸閳ь剚绋掗崝鎺斿垝閻樺磭鈻旀慨姗嗗亝閻粙鏌涘☉娅亞鎹㈤埀顒€顭跨捄鐑樺濠⒀勭矒瀹曟ḿ浠﹂悜鈺佷壕闁跨噦鎷�
闂佸疇妫勫Λ妤€鐣烽崟顒€绶為柍杞扮贰閸斿懎霉閸忚壈澹樼€规洜鍠栭幃褔宕堕妸锔剧毣闁诲骸婀遍崑妯兼閿燂拷100 c闁荤姴娴傞崣鈧柍浼欐嫹 chm闂佸搫绉堕崢褏妲愰敓鐘参ラ柛灞剧箘閵堫偊鏌¢崒娑氭噧闁哥偛顕埀顒€婀遍、濠囶敋濞戞氨纾奸柛鈽嗗幘缁€澶愭偡閺囩偞顥犳繛鎻掞攻缁楃喓鈧綆浜為幗宥咁熆閼哥數鍟茬紒杈ㄧ箞瀹曟﹢宕ㄩ褍鏅eΔ鐘靛仩閿熴儵鍩€椤掍礁濮夐柡浣告憸閳ь剚绋掗崝鎺斿垝閻樺磭鈻旀慨姗嗗亝閻粙鏌涘☉娅亞鎹㈤埀顒€顭跨捄鐑樺濠⒀勭矒瀹曟ḿ浠﹂悜鈺佷壕闁跨噦鎷�
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> plc工业软件使用 >> 正文

干货 | Modscan32  Modsim32 Modbus协议调试分享_modbus调试

作者:佚名    文章来源:网络整理    点击数:1724    更新时间: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 个字
[ 查看全部 ] 网友评论
    没有任何评论
闂佹眹鍨藉ḿ褔鎮哄▎蹇e殨闁逞屽墴瀹曪綁骞嬮悩鐢敌ч梺鎸庣⊕绾板秹鎯囪ぐ鎺撯挅闁糕剝鐟﹂崑鍛存煕濮橆剛澧曢柟顔兼川閻氶箖鎳¢妶鍡樻瘎闁诲孩绋掗崝鏇㈠春濡や焦濯存繝濞惧亾缂佹鐭傞幃鑺ユ媴閸愵亞鍞撮梺鎼炲劚婢ц棄鈻撻幋鐘电>闁瑰濮疯ぐ鏌ユ煥濞戞﹩鍞筶c閻庤鎮堕崕鑼暜閸洖绠柍褜鍓熷鐢告晸閿燂拷,濠碘槅鍨界槐鏇㈠极閹间礁鏋侀柟娈垮枟閺嗏晠鏌i婊冨姤闁伙讣鎷�,闂佸憡顨嗗ú婊勬櫠閺嶎厼瀚夌紒鈥宠唺A缂備焦绋戦ˇ閬嶆偤閹达附鏅ù锝堟閻ゎ噣鏌﹂埀顒勫礃椤忓懏姣勯柣鐘辫閸ㄦ澘霉濡偐纾鹃柟瀵稿Х瑜拌尙绱掗钘夊姢鐎规洘娲熼弫宥囦沪閼规壆顦伴悗瑙勬偠閸庢娊鍩㈤懖鈺傛殰闁割偅绻傞悘锟犳⒑椤愩倕小闁绘粠鍨跺畷鎰箔鐞涒€充壕闁稿本渚楅崑銊╁级閳轰線顎楅柛娅诲啠鏋栭柕濞垮劙缁ㄥ啿菐閸ワ絺鍋撻崘鎻掔稻婵炴潙鍚嬮〃鍛般亹閸ф鏅慨妯块哺閺嗏晠鎮楀☉娆忓缂佽鲸鍨垮畷锝夊箣閻樼數效闂佹寧鍐婚幏锟�
最新推荐
闁荤姍鍐仾闁哄绻濆畷鐘诲川椤掑倻鎲柡澶屽剳閹凤拷
 [闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬螖閿曚焦纭堕柕鍫亰閺岋繝宕掗敂钘夘伓]闂備礁鎲¢妵鐐电矆娓氣偓婵″灚寰勭仦绋夸壕婵炴垵纾槐鎵磼閸欐ê宓嗙€规洩绻濆鎾偐瀹割喗姣堥梻浣告惈閻楀棝骞栭锔藉仾闁告洦鍓涢悷褰掓煥閻曞倹瀚�100 c闂佽崵濮村ù鍕箯閿燂拷
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]濠电偞鍨堕幐鎼佀囩€圭姰浜圭紒鈧悜鐫犻梺璇插閸愯崵绱撳鍗炲К闁告洦鍓涢々鐑芥偣閹帒濡介柛鈺佸€垮鍫曟倻閸℃浠у┑鐐叉-閺侇煝-TR
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]LM324闂佸搫顦弲婊堝礉閺嶎厼妫橀柨鐕傛嫹4~20mA闂佸搫顦遍崕鎴﹀箯閿燂拷1~5V闂備焦鐪归崹褰掓倶濮樿京鐭堥柨鐕傛嫹
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]LM386濠碉紕鍋涘﹢杈╁垝椤栫偞鍊垫い鎺嶇劍婵挳鏌熼幑鎰靛殭妞ゆ柨锕弻娑滅疀閹垮啫鍓跺銈冨劜閹瑰洤顕i妸鈺佺畾鐟滃绂嶉敐澶嬬厱闁挎繂鍟俊濂告偨椤栥倖瀚�
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]936闂備胶绮敮鎺楁晝閵堝牄浜归柟缁㈠枟閸嬨劌霉閿濆懎鏆熼柣鏂挎嚇閺屾稑螣閻撳孩鐏侀梺璇″枛閿曨亜鐣烽崼鏇熸櫢闁跨噦鎷�
 [闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬螖閿曚焦纭堕柕鍫亰閺岋繝宕掗敂钘夘伓]闂佺儵鍓濈敮鎺楀箠鎼淬劍鏅柟閭﹀厴閺嬫牠鏌曡箛銉х?闁靛牊鎸抽幃褰掓偖鐎涙ê顏�+婵犵數鍋為幐鎾疾濞戞埃鍋撻惂鍛婂+闂備胶顢婄紙浼村磿閹绢噮鏁嗛柣鏂垮悑閸庡秹鏌涢弴銊ヤ簻缂佲偓閿燂拷
 [闂傚倷绶¢崑鍛潩閵娾晛鏋侀柕鍫濐槹閸嬨劑姊婚崼鐔恒€掗柟钘夌Ч閹鎷呴悷鎵槰濡炪倖鎸搁幉鈥翅缚椤忓牜鏁嶆繛鍡樺姦閸嬶拷]S7-200PLC闂備焦鐪归崝宀€鈧凹浜為幐鎺楀閵堝棗鍓抽梺缁樻⒐濡叉帡骞忛鈷氬綊鎮崨顔碱伓 S7_2
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]S7-200闂佸湱鍘ч悺銊╁箰婵犳艾鍑犻柛鎰ㄦ櫇椤╃兘鎮规担鍛婅础缂佲偓閸曨垱鐓曢煫鍥风悼閸樻粎绱掗幉瀣,STEP7
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]ModbusPoll闂備礁鎲$划宀勵敆閻栧獛busSalve闂備胶枪妤犲繘骞忛敓锟�
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]STEP7婵犵妲呴崹顏堝礈濠靛牃鍋撳顓犳噰闁哄苯鐭佺粻娑㈠棘鐠恒劍鈻屽┑鐐差嚟婵即宕愰弴鐘哄С闁跨噦鎷� Smart_
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]Modbus闂佽崵濮撮鍛村疮閹惰姤鍎婃い鏍ㄧ矊閸ㄦ繈鏌涢幘妤€鍊荤憴锟� v1.024 缂傚倸鍊风欢銈夊箯閿燂拷
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]Modscan32闂備礁鎲$划宀勵敆閻栧獛sim32,modb
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]89c51闂備胶枪缁绘劙藝闁秵鍋熸繛鎴欏灩濡﹢姊洪锝囶灱闂傚棗缍婇弻锝夘敂閸℃鐝㈢紓浣介哺閻涱槝otues
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]濠电偞鍨堕幐绋棵洪妶澶婄濡わ絽鍟崒銊╂煕閻愭潙袨otues濠电偛顕慨鎯р枖閺囩儑鑰块柨娑樺閻瑩鎮楅敐搴濈敖缁炬澘绉电换婵婎槼闁告梹顨婇幃銉╂晸閿燂拷
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]51闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬鏌涘┑鍡楊仼闁秆冿功缁辨帞鈧綀鍩栫€氾拷 protues濠电偛顕慨鎯р枖閺囩儑鑰块柨鐕傛嫹
闂佸搫鐗冮崑鎾绘煛閸屾粌顣奸柡瀣暟缁晠鏁撻敓锟�
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询