| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> modscan32为主设备 -> 正文阅读 |
|
[网络协议]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背景描述 2、modcan做modbus设备主站 3、valid slave responses:0 ?也就是没有收到数据 ?4、modbus message time out 解决方案 ?三、报文解析浅色部分即为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。
|
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/27 13:32:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |