modscan32为主设备

一、modscan32为主设备,界面介绍

首先,最重要的一步:

打开modscan,不要连可执行文件都找不到哦,ModScan32.exe

打开后,是如下界面,标注本人添加

 

 

 

 本次讲解,主要为模拟主站,接收从站的数据(遥信、遥测),并且给从站下令(遥控、遥调)

Connetion→connect,后如图

类型:直接默认Remote modbus TCP Server,IP Address:从站IP地址,端口:默认502

PS:本地测试网段要跟从站一个网段,并在一个内网里,或者你测试也可直接在从站机器上测发数据的IP地址,设好后,回到一开始的界面,

主要调整的几个位置:①Device Id,从站和主站约定好的设备地址,按照实际情况填写,如果填错,会出现连不上的情况;

②Address,接收数据的起始地址,最小为1,不可为0,modbus tcp规约中,点表都是从0开始的,但测试时是从1开始的,例:遥信实际为0→99,测试时1→100,遥测实际为0、2、4、6、8...100,测试时1、3、5、7、9...101

③Length,长度,modscan工具最长可接100,也就是图中设的100,

modscan使用时有个需注意的问题:如果实际从站只发出10个遥测,那长度设置太长 ,超过24,一般会造成工具中数据不刷新或者直接溢出,无法查看的情况,所以根据实际情况进行长度设置。

100长度,可接100个遥信,50个遥测(单精度浮点占两个寄存器位置)

④图中的01、02、03、04就是四个功能码,一般01为遥信和遥控、02一般不用、03为遥测和遥调、04为统计量上送,你要看哪个数据就选哪个类型

⑤数据类型选择区:最常用的就是3:2标志的Floating Pt.,如果测出的数据乱码,可以点旁边的Swapped FP,转换报文的高低字节,我们看到的数据都是解析后的,实际真正传输的是报文,其之后的6:4是双精度浮点,之前的几个是整型、小数之类的

最后,介绍下遥控,遥调,找到测试出对应的点,双击后,如图所示

在Value中输入你要下的令,然后点击Update即可,模拟有风险,下令需谨慎

注意:数据溢出如果无法连接,那么需要先断开连接再尝试连接,将长度改小些,经常使用才会熟能生巧

正常测出数据截图:

 二、一直显示MODBUS MESSAGE TIME-OUT

背景描述
1、modsim做modbus设备从站

2、modcan做modbus设备主站

3、valid slave responses:0  也就是没有收到数据

 4、modbus message time out

解决方案
建议用modbus poll与modbus slave两个软件来做主从站测试,modscan不适合做这个,存在缺陷;

 三、报文解析

浅色部分即为Modscan发送的报文:

01 03 00 00 00 0A C5 CD 其中,

01 从站地址

03 Modbus功能码

00 00 为所要读取的Modbus从站的起始地址

00 0A 为所要读取的寄存器长度,即所要读取的为10个字。40001——40010

C5 CD为指令的CRC校验

深色部分即为Modscan接收的报文:

01 03 14 00 0A 00 02 00 03 00 04 00 05 00 06 00 07 00 08 00 09 00 0A 29 33

01 从站地址

03 Modbus功能码

14指令中所包含的数据数量,即14H(十进制即20)个字

00 0A 40001地址寄存器的值(16进制)

00 02 40002地址寄存器的值(16进制)

00 03 40003地址寄存器的值(16进制)

00 04 40004地址寄存器的值(16进制)

00 05 40005地址寄存器的值(16进制)

00 06 40006地址寄存器的值(16进制)

00 07 40007地址寄存器的值(16进制)

00 08 40008地址寄存器的值(16进制)

00 09 40009地址寄存器的值(16进制)

00 0A 40010地址寄存器的值(16进制)

29 33为指令的CRC校验

Modsim:显示 --> 十六进制(此时数据均显示为16进制,同理二进制、浮点数等也一样)。然后,显示 --> 显示数据流,在此可以看到Modbus发送与接收的报文信息。其与Modscan类似,不再冗述。
 

四、ModSim32和ModScan32区别

ModSim32-ModScan32Modbus调试工具使用及配置说明

ModSim32下边选择Remote TCP/IP Server连接方式,IP Address处填写本机IP地址,Service处为默认的502即可,点击OK。

按照Modbus协议的要求去读相应功能代码(0、1、3、4)的地址即可,注意选择相同的Device Id、功能代码、起始地址(Address)和长度(Length),否则会提示

,这是ModSim32和ModScan32种的地址不一样所致。

另外,还需要注意的是,ModSim32可以对所有功能代码的地址进行写操作,而ModScan32只能对0和4功能代码的地址进行写操作,不能对1和3功能代码的地址进行写操作。对于ModScan32而言,1和3功能代码的地址是只读的,而0和4功能代码的地址是可读写的。 在ModSim32中分别对地址30001、30002、30003写入99、123、2217,则在图6的ModScan32中可以看到30001、30002、30003三个地址显示的值也为99、123、2217。
 


 

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值