提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:黄竹雯|2018-11-21 13:29:19.000|阅读 393 次
概述:为Modbus寻址如何工作提供一个解释,以便更容易理解如何使用TOP Server访问Modbus设备中的数据。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
从1979年开始,Modbus已经作为一种“开放式”协议使用,多年来各行各业对Modbus有许多不同的解释。对于那些不同的Modbus解释,有很多关于访问数据的不同术语的困惑。在这篇文章中,我将逐步介绍Modbus寻址的基础知识,包括偏移如何发挥作用,以及它们如何影响在TOP Server for Wonderware应用程序中使用的地址。
由于在世界各地几乎有同样多的不同设备制造商在同时实现Modbus协议,因此设备文档有时不清楚该为特定数据请求什么数字地址。所以,本文的目的是为Modbus寻址如何工作提供一个解释,以便更容易理解如何使用TOP Server访问Modbus设备中的数据。
当我们讨论Modbus协议以及如何处理特定的数据位置时,通常有四种不同类型的Modbus地址:
1.保持寄存器 - 具有读/写访问权限的16位地址(4xxxxx)
2.内部寄存器 - 具有只读访问权限的16位地址(3xxxxx)
3.输入线圈 - 具有只读访问权限的1位(布尔)地址(1xxxxx)
4.输出线圈 - 具有读/写访问权限的1位(布尔)地址(0xxxxx)
由于某些设备文档没有提供对地址类型(如4xxxxx或保持寄存器)引用的Modbus地址的详细列表,因此考虑根据特定地址包含的数据类型以及是否可以读取和写入或者仅能读取来读取Modbus地址是有意义的。
由于它们所代表的数据类型,您还可能会看到离散或数字地址的模拟或线圈寄存器。
正如我之前提到的,Modbus协议已经存在了几十年,可以说是世界上最广泛使用的设备通信协议。话虽如此,随着Modbus协议的诞生,当内存大小不做出改变时,与目前可用的大量内存相比,70年代后期设备上的内存总量很小。
在考虑TOP Server Modbus Suite是否与设备兼容时,最常见的问题之一是TOP Server是否支持特定的地址范围。TOP Server支持的列出的地址范围如下:
对于许多设备,支持的地址范围远小于此。例如,通过保持寄存器,在这样的设备中,4001的地址作为起始地址无法接近400001。那么,鉴于这些数据,TOP Server如何声称对Modbus设备有如此广泛的支持?
事实上,TOP Server Modbus Suite支持4001,40001甚至400001。TOP Server支持所有Modbus地址,因为Modbus使用一种称为偏移寻址的寻址。为了说明偏移地址的工作原理,请注意一下在上图中,我们是怎么将起始编号与地址的其余部分分开的。
图中的地址“4001”,有两条我们感兴趣的信息:
1.起始编号“4”表示应该从设备请求什么类型的地址。(保持寄存器 = 4)
2.数字“001”表示应该从设备请求哪个地址偏移。(偏移 = 1)
根据这些知识,我们将相同的原理应用于TOP Server支持的起始保持寄存器地址“400001”。
1.我们的起始编号是“4”,这意味着我们要有保持寄存器。
2.移除“4”后的剩余数字是“00001”,其在数值上与“001”相同,并且表示相同的偏移量“1”。
请一定注意,许多Modbus设备可能不支持TOP Server支持的所有数据偏移。为了避免在输入此类设备的地址时出现错误,TOP Server Modbus驱动程序会根据在地址字段中输入的内容“填充”地址(添加一个或多个数字)。 因此,TOP Server会自动在中间考虑“额外”的零,并根据需要填充地址。
对于所有不同的Modbus地址类型(内部寄存器 = 3,输入线圈 = 1,输出线圈 = 0),同样的原则也适用。原因是Modbus在发出请求后发送到Modbus设备时不包含“400001”或“4001”。而只有地址偏移量作为命令的一部分和指定读取或写入操作的代码以及Modbus地址类型(保持寄存器等)一起发送。
确定在TOP Server中使用哪个地址的最简单方法是确定您在设备中访问的是哪种地址:
1.您的文档指定特定的数据片段是模拟的(非布尔/二进制/离散 - 例如2,500或2.5689或58,535等),您具有对此数据的读写权限:
2.您的文档指定一段数据是模拟的,您只能读取此数据:
3.您的文档指定了布尔/二进制/离散值(如 开/关,真/假或0/1),您只具有对此地址的只读访问权限:
4.您的文档指定了布尔/二进制/离散值,您具有对此地址的读写权限:
准备开始从您自己的Modbus设备访问数据了吗?
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
工业4.0工业控制软件Software Toolbox's OPC和原生HMI设备的连接软件,采用业界领先的Kepware技术。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢