电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> plc工业软件使用 >> 正文

ModScan32使用基础

作者:佚名    文章来源:本站原创    点击数:    更新时间:2023/9/21

Modbus采用主从式通信,日常使用较多的是Modbus RTU和Modbus TCP/IP两种协议。常用调试软件为第三方工具ModScan32,比较简单易懂的一款软件,下面介绍一下其使用方法。

ModScan32用来模拟主设备。它可以发送指令到从机设备(使用Modbus协议的智能仪表终端设备)中,从机响应之后,就可以在界面上返回相应寄存器的数据。

一、首先要保证外部的连接线正确连接好,确认数据线连接正常。

下面打开软件界面,如下图:

Modscan32使用说明:

首先,要保证外部连线正确连接,确认数据连接正常,进入软件界面进行操作。

打开后,是如下界面:

 

 

 

 

 

 

第一步,点击菜单栏的Connection→“connection”出现:

 

第二步:点击“rotecol Selection”进入如下界面,根据下图所示进行设置:

 

第三步:通讯参数设定,进行下面操作,点击后出现的界面填写如图所示的数据:

 

Modbus的类型选择:在Modbus Point Type就是要读取的寄存器区

“01:COIL STATUS”指1#命令DO寄存器

“02:INPUT STATUS”指2#命令DI寄存器

“03:HOLDING REGISERT”指3#命令保存寄存器

“04:INPUT REGISTER”指4#命令输入寄存器

想读哪个寄存器,就选那个就行

 

对应Modbus地址分别为:

 

 

 

备注:采用Modbus485信号接入要求如下:

1、Server通讯的参数为:9600/8/1/无校验(可调整,但需要和企业通讯卡的设置参数一致)

2、Server的485站地址为:1

3、采集点对应Modbus RTU地址为40001开始,数据类型为RINT,线性量程为:0-65535

4、提供的Modbus RTU Server必须是国际标准版协议,使用Modscan测试软件能够测试通过。

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

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。

Tags:Modscan32,modbus,通讯测试,使用  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
最新推荐
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询