Modbus超时时间设置

2023-05-16

很多同学在做Modbus通讯时,需要连续读取多个现场设备的数据,虽然也编写了Modbus轮询的程序,但是有时还是无法正常通讯。有时虽然能够保证通讯,但是所有现场设备的轮询周期很长。本文将从MBUS_CTRL的超时时间参数设置来说明超时时间设置的重要性。

Modbus通讯协议是单主多从的通讯协议,如果需要读取多个现场Modbus从站设备的数据时,很多PLC不支持对Modbus通讯功能块的自动排序,需要自己编写Modbus轮询程序来实现,轮询时每次只能激活一个Modbus的读写功能块。
以常见的主站读取从站的寄存器为例,主站发出请求需要8个字节,从站返回响应为5 2*n个字节。其中n为寄存器个数。
如果通讯速率为9600时,按照常规的Modbus RTU,8个数据位、1个停止位、偶校验方式,每传输1个字节数据需要的时间为:
(8 1 1)/9600=1.04ms/Byte
因此,主站发出响应到从站返回数据的时间周期为:
(8 5 2*n)*1.04 T1 T2,其中n为寄存器个数,T1为从站的响应时间(如果是PLC,则为PLC的扫描时间),T2为通讯余量,一般为20~50ms。
如果读取10个字的数据,从站响应时间为50ms,则整个周期为:
(8 5 2*10)*1.04 50 50=134.32ms。
因此,超时时间必须大于134.32ms,可以设置为150ms以上。

 

如果超时时间太短,响应不能完全返回,通讯会报错。
如果超时时间设置太长,按照上述例子,一共10个从站,每个从站读取10个字的数据,超时时间设置为1s。如果有1个从站出现故障,则整个轮询周期为:1000 9*134.32=2208.88 ms。
同理,如果超时时间设为150ms,则整个轮询周期为:150 9*134.32=1358.88 ms。
因此,可以看出正确的超时时间设置可缩短整个轮询周期,不正确的设置,将导致通讯出错或整个通讯周期过长。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Modbus超时时间设置 的相关文章

  • Modbus测试工具ModbusPoll与Modbus Slave使用方法

    一 介绍 Modbus Poll xff1a Modbus主机仿真器 xff0c 用于测试和调试Modbus从设备 该软件支持ModbusRTU ASCII TCP IP 用来帮助开发人员测试Modbus从设备 xff0c 或者其它Modb
  • Modbus TCP Server端(附超全注释)

    实验项目名称 Modbus TCP实验 一 实验目的二 实验内容三 实验环境四 设计方案五 实验结果及分析 xff08 或设计总结 xff09 六 完整代码6 1 server c6 2 respond c6 3 respond h 开发语
  • 串口Modbus从设备模拟器-DevSimulate

    1 项目场景 xff1a 例如 xff1a 项目场景 xff1a 兹有西门子PLC控制器一台 xff0c 需要控制四方变频器VFD xff0c 来带动三相交流电机作加速 xff08 频率递增 xff09 xff0c 保持 xff08 频率保
  • Modbus RS485 设备的串口调试

    Modbus RS485 设备的串口调试 准备Modbus功能码二 使用步骤1 接线2 串口调试 温湿度的计算 准备 硬件设备 xff1a 电脑 RS485 温湿度传感器 RS485 土壤温湿度传感器 RS485 继电器控制模块 TTL转R
  • MODBUS MASTER RTU在STM32上的实现

    MODBUS MASTER RTU在STM32上的实现 1 概述 最近需要将几个信号采集模块通过总线串联起来 xff0c 这样便于系统模块化 故将目光关注到了工业上经常使用的modbus协议 modbus协议是一种一主多从的拓扑结构 xff
  • Modbus资料收集

    Modbus资料收集 文章目录 Modbus资料收集开源Modbus协议栈1 FreeModbus2 uc Modbus 开源Modbus协议栈 1 FreeModbus 网站 xff1a https www embedded expert
  • CRC-16 / MODBUS 校验计算方法

    CRC 16 MODBUS xff1a 1 xff09 CRC寄存器初始值为 FFFF xff1b 即16个字节全为1 xff1b 2 xff09 CRC 16 MODBUS的多项式A001H 1010 0000 0000 0001B H
  • C# Modbus CRC校验

    Modbus CRC校验 直接输入byte 输出bool public static bool CRC Check byte byteData bool Flag false byte CRC new byte 2 UInt16 wCrc
  • libmodbus官方手册中文翻译

    最近做libmodbus相关内容 因为中文没有libmodbus各个函数的详细解释 所以在此把要用的libmodbus的官方手册包括所有的函数都翻译整理一下 给自己和大家们学习 欢迎大家交流指正 手册原文http libmodbus org
  • MODBUS协议中的CRC校验

    一 RTU 檢查碼 CRC 計算器 第一种 RTU 檢查碼 CRC 計算器 大小端转换后 CRC检查码为 AB 89 说明 这个计算器还是可以用的 第二种 On line CRC calculation and free library 二
  • FreeModbus 移植笔记- 1-认识FreeModbus

    FreeModbus 移植笔记 目录 1 FreeMODBUS介绍 2 FreeMODBUS官网及源码下载地址 3 移植之前的准备 3 1 FreeModbus V1 6 3 2 Modbus 3 3 Modbus Registers 3
  • STM32读取RS485传感器数据,但接收到的数据开头总是多一个字节或少一个一字节,有人能告诉我哪里出问题了吗

    STM32读取RS485传感器数据 但接收到的数据开头总是多一个字节或少一个一字节 有人能告诉我哪里出问题了吗
  • 值得收藏 Modbus RTU 协议详解

    值得收藏 Modbus RTU 协议详解 目录 值得收藏 Modbus RTU 协议详解 Modbus是什么 Modbus分类 Modbus通讯过程 Modbus RTU协议数据帧结构 功能码01 读线圈状态 功能码02 读离散量输入 功能
  • QtModbus Serial 简单示例

    来自QQ群 Linux 技术分享 311078264 打开链接加入QQ群 https jq qq com wv 1027 k 5Gr3bAx 此文档由elikang整理 为了文章简单直接 许多细节未能在文章中体现 如有疑问请进群讨论 Qt
  • STM32-modbus rtu 之主机程序

    一 STM32串口的发送与接收 考虑到modbus的使用场合大多为半双工而非全双工 所以 串口接收采用DMA 空闲中断 发送则直接发送 include serial h include string h serialbuf st seria
  • STM32菜鸟成长记录——移植FreeModbusRTU

    本文章用于记录学习RS485及配置Modbus协议 参考博文 FreeModbus移植文章1 FreeModbus移植文章2
  • MFC 中的 libmodbus

    我正在尝试将 libmodbus 提供的 modbus 库集成到 Visual Studio 2010 中的自定义 MFC 项目中 到目前为止我所遵循的步骤如下 1 我在 Visual Studio 2010 中创建了项目 如下面的快照所示
  • Modbus TCP Android 应用程序

    我正在开发 Android 应用程序来在 tcp ip modbus 的帮助下控制 PLC 有人对此有很好的教程吗 Modbus协议转义线程 Android Jamod https stackoverflow com questions 1
  • 需要 modbus Java 库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要带有源代码的简单 modbus Java 库 我在谷歌上找到了 但有 jar 文件 并且没有强大的
  • 计算 modbus RTU 3.5 字符时间

    我是 Modbus 新手 正在使用 Modbus RTU 开发应用程序 我想知道如何找出RTU消息帧分离时间 在Modbus RTU规范中 它提到了3 5个字符时间 但是没有更多关于如何决定这个间隔的数据 计算分离时间的步骤是什么 看看第1

随机推荐

  • C语言printf输出百分号

    在C语言中 xff0c 如何输出百分号呢 xff1f 很简单 xff0c 只要在格式控制符里输入2个 就可以了 xff0c 例如 xff1a include lt stdio h gt int main int a 61 90 printf
  • 跟我一起学【MySql】之——MySql关键字

    下面列出MySQL所有关键字 xff0c 希望给使用MySQL的朋友提供一些参考帮助 ADDALLALTERANALYZEANDASASCASENSITIVEBEFOREBETWEENBIGINTBINARYBLOBBOTHBYCALLCA
  • 跟我一起学【数据仓库】之——需要避免的维度建模错误

    1 在事实表中放入文本属性 2 限制使用冗长的描述符以节省空间 3 将层次 xff08 级联的多对一关系序列 xff09 划分为多个维度 4 忽略跟踪维度的变化 合理运用缓慢变化维度的类型 xff0c 或者微型维度 5 使用更多的硬件解决遇
  • 跟我一起学【Powerdesigner】之——导入EXCEL生成逻辑模型

    表结构如图 xff1a 中文表名 英文表名 字段编码 字段名称 字段注释 字段类型 是否主键 是否可空 主键是否自增 user1 用户信息表1 id id id int 10 Y Y Y user1 用户信息表1 name 用户名 用户名
  • SELECT语句中的for update的用法(锁的运用)

    回复1 xff1a 一般FOR UPDATE用在PL SQL的游标里 xff0c 它的作用就是一个行级锁 xff08 对游标里所有的记录 xff09 xff0c 如果其他进程要更新这个游标行级锁里的记录 xff0c 就必须等待当前进程的CO
  • IIC读取:SDA_in SDA_out寄存器设置

    IIC读取语句里的语句 xff1a uchar DAC5571 check void uchar slaveack SDA in SCL H I2C delay slaveack 61 SDA read SCL L I2C delay SD
  • 如何快速的看懂别人的代码

    最近由于公司的一位前辈 xff0c 由于家中之事欲走 xff0c 所以接手了一个公司长期再做的项目 xff0c 自己也略有了解 xff0c 知道这个项目先后经过3人之手的煅炼 xff0c 现在这个交接棒传到了我的手中 xff0c 初见代码
  • 正则表达式匹配URL或者网址

    正则表达 一 正则表达式 xff1a http ftp https w 43 w 43 43 w 64 61 amp amp 43 w 64 61 amp amp 43 匹配 xff1a http regxlib com Default a
  • Python3 logging详解

    Python3中logging详解 官方文档中 xff0c logging的5个层级 xff1a 实例代码 xff1a def logs time prov type log name 61 prov 43 39 39 43 time fi
  • python3爬虫 链接+表格+图片 思路

    左侧部门列表每点击一次都有一个新的js网页出现 xff0c Request URL可以明确看出网址 xff0c 且每个网址都有其规律 xff1a 点击了三个部门 xff0c 返回的网址如下 xff0c 可以看出是有规律的 xff0c 此处d
  • 跟我一起学MongoDB之——可视化工具Compass的简单使用

    首先官方为大家介绍了一下MongoDB Compass的主要功能 xff1a 1 对数据的可视化 2 插入 修改 删除 3 调试 优化 进入Compass首先出现连接界面如下 xff08 此处我使用的是我操作时候的界面状态 xff09 直接
  • sqluldr2 报错ora-24345: A Truncation or null fetch error occurred

    source etc profile source root bash profile unset NLS LANG sqluldr2 user 61 sjgj sjgj 64 10 254 4 196 1521 client query
  • 车牌号校验正则表达式

    一 车牌号校验规则 1 常规车牌号 xff1a 仅允许以汉字开头 xff0c 后面可录入六个字符 xff0c 由大写英文字母和阿拉伯数字组成 如 xff1a 粤B12345 2 武警车牌 xff1a 允许前两位为大写英文字母 xff0c 后
  • 日语学习资料汇总(可下载)

    直播课程推荐 xff1a 妞妞 大家的日语 侧重考级 天易外语 旧版 标准日本语 娜娜 日语讲堂 津波老师 新版标准日本语 爱知 实用日语口语 在直播课程有预告http www fairage com total jsp type 61 1
  • 成熟男人与24岁女孩精彩对白(转)

    烛光晚餐 桌两边 xff0c 坐了男人和女人 我喜欢你 女人一边摆弄着手里的酒杯 xff0c 一边淡淡的说着 我有老婆 男人摸着自己的手上的戒指 我不在乎 xff0c 我只想知道 xff0c 你的感觉 你 xff0c 喜欢我嘛 xff1f
  • jsessionid的困扰

    问题 xff1a 向某银行发送支付请求时 xff0c 如果客户端cookie开启 xff0c 第一次请求时 xff0c 请求地址会自动增加一jsessionid 第二次没有问题 如果客户端cookie关闭 xff0c 无论如何请求地址会自动
  • 2级基本编程问题(—)(C++)

    问题 xff08 1 xff09 时间转换 问题描述 xff1a 给定一个从0秒开始计时的秒数 xff0c 请将其转换为X X X的格式 输入 xff1a 输入一个秒数n xff0c 且这个秒数0 n 86400 输出 xff1a 输出这个
  • 报错<BEA-101017> error:java.net.SocketException解决

    最近项目登录不了 xff0c 报错为 xff1a lt BEA 101017 gt error java net SocketException Connection reset by peer socket write error 最后问
  • 专业IT管理人才必备十大能力

    IT168 技术文章 作为IT技术人员 xff0c 相信没有一个人愿意永远在底层编写程序或做简单的系统维护 经过一段时间的技术和经验的积累 xff0c 很多人都向往更高层的职位 xff0c 但如何能成为一个专业的IT管理人才 xff0c 并
  • Modbus超时时间设置

    很多同学在做Modbus通讯时 xff0c 需要连续读取多个现场设备的数据 xff0c 虽然也编写了Modbus轮询的程序 xff0c 但是有时还是无法正常通讯 有时虽然能够保证通讯 xff0c 但是所有现场设备的轮询周期很长 本文将从MB