Modbus Slave和Modbus Poll的使用说明

news2024/12/24 2:25:36

文章目录

    • 1 软件说明
    • 2 本例目标
    • 3 Modbus Poll配置步骤
    • 4 Modbus Slave配置步骤
    • 5 各种测试
      • 5.1 正常显示
      • 5.2 Slave Id不一致
      • 5.3 Quantity不够
      • 5.4 测试IP Address
    • 6 总结

1 软件说明

  1. Modbus Poll:是Witte Software公司开发的的Modbus主机仿真器,用于测试和调试Modbus从设备。软件支持ModbusRTU、ASCII、TCP/IP协议。支持多设备监控,可以同时监视多个从设备/数据域。
  2. Modbus Slave:Modbus从设备仿真器,主要用来模拟Modbus从站设备,接收主站的命令包,回送数据包。帮助Modbus通讯设备开发人员进行Modbus通讯协议的模拟和测试,用于模拟、测试、调试Modbus通讯设备。

2 本例目标

  1. 下文中整个测试例子的目标是:在本机电脑上,让slave Id为2,端口为502的Modbus Slave和Poll实现功能码为0x03的Modbus TCP/IP连接。此外,连接检测地址从3开始的100个寄存器。

3 Modbus Poll配置步骤

  1. 打开软件后的主界面如下图,红字No connection表示此时没有连接任何从设备。其中,Tx表示发送帧数,Err表示错误帧,ID表示从站的ID号,F表示功能码,SR表示轮询周期,右下角的[127.0.0.1]:502显示IP地址和端口号
    poll主界面

  2. 点击导航栏里Connection->connect可以设置连接的一些参数,本次例子为Modbus TCP/IP。所以Connection选择Modbus TCP/IP,端口与从站一致设为502。还可以下载Virtual Serial Port Driver Pro软件去模拟串口连接。
    在这里插入图片描述

  3. 设置成功后,点击OK按钮。但还需要进行Modbus TCP/IP连接协议配置。导航栏Setup->Read/Write Definition。根据目标要求,把Slave Id改为2,Function选择03,Address设3,Quantity数量设100。其余属性保持默认。配置好后点击按钮OK
    在这里插入图片描述

4 Modbus Slave配置步骤

  1. 打开软件后,主界面如下图。其中,ID即从站ID,F为功能码。红字No connection表示此时未与任何设备连接。右下角[Any IP Address]:502显示ip地址和端口。
    在这里插入图片描述

  2. 导航栏Connection->connect,Connection选择Modbus TCP/IP,端口设为502,其余保持默认。配置好,点击按钮ok。
    在这里插入图片描述

  3. 导航栏Setup->Slave Definition。Slave ID即从站地址配为2,Function选择0x03,Address保持默认0,Quantity改为103。因为poll里的address和quantity表示,从address开始读quantity个寄存器值。而slave表示从Address开始共有quantity个寄存器。那么只要slave里有poll要读的寄存器即可,所以slave可以多设寄存器数量但不是不能少配置。
    在这里插入图片描述

5 各种测试

5.1 正常显示

  1. 按照上述配置后,两个软件能够实现连接,下面是它们的主界面图:
    在这里插入图片描述
    图1. Modbus Poll

在这里插入图片描述

图2. Modbus Slave
  1. 查看二者之间的报文,都是导航栏Display->communication。如下图所示,Tx表示发送报文,即poll发出的;Rx为响应报文,即slave响应回来的。而Exit表示退出,弹窗关闭;Stop停止报文,显示框内停止报文记录;Clear清空,显示框清空;Log可以把报文保存在本机上,存为txt文件。
    在这里插入图片描述
  2. 因为0x03功能码是读寄存器,所以当slave寄存器里值变化时,poll读到的值也会变化。如下图所示。但是改slave寄存器1的数值时,poll没有变化。因为poll没有address为3之前的寄存器。
    在这里插入图片描述

5.2 Slave Id不一致

  1. 如果从站ID为2,但是poll没有改,无法成功连接,报Timeout Error
    在这里插入图片描述
  2. 打开poll日志发现只有发送报文,没有响应报文。因为Slave ID不一致,slave和poll没有成功连接。
    在这里插入图片描述

5.3 Quantity不够

  1. 把slave设置的quantity改为100,即address为0,quantity为100,共101个寄存器。但是不满足poll读的要求。poll界面显示如下,报Illegal Data Address非法数据地址。
    在这里插入图片描述
  2. 打开poll的日志,有发送报文和响应报文,但是响应报文为异常的。可以与正常时作比较。
    在这里插入图片描述

5.4 测试IP Address

  1. 准备两台不同的电脑,即主机,一台运行slave,一台运行poll,让二者连接成功。
  2. 步骤如下:
    • 在主机A上运行Modbus poll,点击Connection->Connection;跳出配置弹窗。在弹窗,选择modbus tcp/IP,填写主机B的IP地址,其它配置默认,点击“OK”。
    • 在主机B上运行modbus slave,操作同步骤上,同样选择modbus tcp/IP,先去掉“Any address”,ip根据实际从机设备的IP设置,再勾上“Any address”。点击OK。即可成功建立连接。
      在这里插入图片描述
图3. Modbus Poll的设置

6 总结

  1. 上述内容是常用的连接介绍,软件导航栏的其余选项可自行探索;
  2. poll和slave不一定要同时使用,这两个软件是进行模拟主从设备的。当有实际的主平台时,可以只有slave模拟从设备,从而检测主平台性能;当有实际从设备时,也可以只有poll模拟主平台。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/698818.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2022年影响因子新鲜出炉!(附↓)

【SciencePub学术】6月28日,科睿唯安发布2023年度《期刊引证报告》(Journal Citation Reports,简称 JCR)。 本年度《引证报告》对Web of Science核心合集收录的所有期刊赋予期刊影响因子,同时,为鼓励用户在比较期刊时…

续篇-docker篇: 优势与安装方式 及基础指令整合

目录 1. 前言简介: 1.1 docker的优势: 1.2 docker的简易理解 2. 指令安装 2.1 安装yum的插件 ps: 提示没权限加上sudo即可 root用户不用 2.2 设置yum仓库地址 ps: 设置多个镜像仓库, 不设置可能会下载变慢 ps: 如图所示 2.3 更新缓存 2.4 安装docker 2.5 查看do…

Spring Boot 中的事务超时时间

Spring Boot 中的事务超时时间 在 Spring Boot 中,事务管理是一个非常重要的话题。当我们在数据库中执行一些复杂的操作时,需要确保这些操作能够在一定的时间内完成,否则可能会导致数据一致性问题。为了解决这个问题,Spring Boot…

Linux--12--Kernel panic – not syncing: Attempted to kill init! Redhat6.2故障修复

1、Linux环境 Redhat6.2, Linux version 2.6.32-220.el6.i686 (mockbuildx86-003.build.bos.redhat.com) (gccversion 4,4.5 20110214 (Red Hat 4.4.5-6) (GCC) ) #1 SMP Wed Nov 9 08:02:18 EST 2011 2、故障现象 修改TCP相关文件,重启完Linux系统之…

ModaHub魔搭社区:Milvus的工作原理和为什么选择Milvus?

目录 为什么选择 Milvus? Milvus 的工作原理是什么? Milvus 由存储层和计算层组成,为了增强弹性和灵活性,Milvus 中的所有组件都是无状态的。系统由四个层级组成: Milvus 用于什么? 如今,已…

java学习记录之struts2struts标签上传国际化

Strtus2 OGNL表达式的结合 描述: struts2为OGNL表达式准备了两个对象 ActionContext: 作为ognl表达式的Context valueStack: 作为ognl表达式的Root 以上两个对象的创建 都是strutsPrepareAndExecuteFilter中准备好. Ognl和Struts使用上的结合: 表单提交,其中提交的键可以看作…

iview切换Select时选项丢失,重置Seletc时选项丢失

分析原因 在旧版本的iview中如果和filterable一起使用时,当值清空选项或者使用重置按钮清空时选项会丢失。 解决方式一 把去掉filterable 解决方式二 使用ref,调用clearSingleSelect()方法清空 ref"perfSelect" this.$refs.perfSelect.c…

Nginx上游节点健康检测

Nginx默认是没有支持上游节点健康检测的。 可以使用Tengine 文档 - The Tengine Web Server 或者自行下载nginx然后自己安装nginx_upstream_check_module 模块 在linux下载nginx wget http://nginx.org/download/nginx-1.25.1.tar.gz 下载插件 GitHub - yaoweibin/nginx_u…

【Java高级编程】Java8的新特性

Java8的新特性 1、Java8的新特性概述2、Lambda表达式2.1、Lambda表达式使用前后的对比2.2、Lambda表达式的基本语法2.3、如何使用:分为六种情况 3、函数式接口3.1、函数式接口的使用说明3.2、Java8中关于Lambda表达式提供的4个基本的函数式接口3.3、总结 4、方法引用…

开源建站博客社区系统大放送

前言 软件开发成本非常高昂,写demo易,做产品难,难就难在无数细节需要精雕细琢。 学习博客、论坛、内容管理系统这些典型的、通用型的系统,能极大提升你的软件架构和开发能力。本文筛选了目前主流的开源项目,帮助大家入…

动手学深度学习v2 p1引言 监督学习与无监督学习

1.引言 1.2. 机器学习中的关键组件 首先介绍一些核心组件。无论什么类型的机器学习问题,都会遇到这些组件: 可以用来学习的数据(data); 如何转换数据的模型(model); 一个目标函数…

linux--用户相关

目录 一.要在云服务器官网重置root密码成功后才能登录xshell(重装系统后登录也不例外) 二.添加普通用户: 三.查看root下有几个普通用户: 四.给用户设置密码: 五、用户登录​编辑 六、查看当前所在用户: 七、查看…

windows上phpstudy 在切换php7.0到7.2后项目404

项目从7.0切换到7.2.9一访问本地就报404,然后重启 重新配置nginx.conf也无效 然后取查看phpstudy 的 nginx/logs/error.log 发现一访问本地网站就报下面错 phpstudy报错 2023/06/28 11:36:28 [error] 14128#19616: *1 upstream prematurely closed connection whi…

Linux——扩容/根分区(LVM+非LVM)

摘要 本博文主要是对linux虚拟机进行磁盘得扩容操作。 在计算机中MBR(Master Boot Record)(主引导记录)和GPT(GUID Partition Table)(GUID意为全局唯一标识符)是在磁盘上存储分区信…

Redis跳跃表是如何添加元素的?

今天分享的这道题来自于蔚来的真实面试题。 Java 面试不可能不问 Redis,问到 Redis 不可能不问 Redis 的常用数据类型,问到 Redis 的常用数据类型,不可能不问跳跃表,当问到跳跃表经常会被问到跳跃表的查询和添加流程,…

conda虚拟环境中安装的cuda和服务器上安装的cuda的异同

服务器上已安装Nvidia提供的cuda,nvidia-smi时会出现已安装的CUDA版本。如下图所示,服务器上已安装好的cuda版本为10.1。 但是当我们在Anaconda虚拟环境下安装pytorch或者paddlepaddle等深度学习框架的GPU版本时,通常会选择较高版本的cuda&a…

python3开发-Word助手

目录 背景 思路 步骤 代码示例 总结 背景 在日常工作和学习中,我们经常需要处理Word文档,例如编辑、提取内容、生成报告等。而Python是一门功能强大的编程语言,它提供了丰富的库和工具,使得我们可以利用Python来处理Word文档…

chatgpt赋能python:Python运输打折问题解决方案

Python运输打折问题解决方案 作为一个有10年Python编程经验的工程师,我深知Python在物流行业中的广泛应用。而运输打折作为物流运营中的重要一环,一直是Python开发者面临的一个难题。本文将介绍一些 Python 应用程序,帮助你计算和优化你的运…

Flink DataStream之创建执行环境

新建project&#xff1a; pom文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://ma…

基于springboot实现的博客系统(免费)

1.1 项目概述 开发语言&#xff1a;Java8 数据库&#xff1a;MySQL5.7以上版本 前端技术&#xff1a;template模板引擎 后端技术&#xff1a;Springboot SpringMVC MyBaties shiro 数据库连接池&#xff1a;Druid 服务器&#xff1a;Tomcat 开发工具&#xff1a;idea…