首页 PLC寄存器地址与Modbus地址对应的问题(2)

PLC寄存器地址与Modbus地址对应的问题(2)

举报
开通vip

PLC寄存器地址与Modbus地址对应的问题(2)Modbus地址通常Modbus地址由5位数字组成,包括起始的数据类型代号,以及后面的偏移地址。ModbusMaster协议库把标准的Modbus地址映射为所谓Modbus功能号,读写从站的数据。ModbusMaster协议库支持如下地址:∙00001-09999:数字量输出(线圈)∙10001-19999:数字量输入(触点)∙30001-39999:输入数据寄存器(通常为模拟量输入)∙40001-49999:数据保持寄存器ModbusMaster协议库支持的功能为了支持上述Modbus地址的读写,ModbusMa...

PLC寄存器地址与Modbus地址对应的问题(2)
Modbus地址通常Modbus地址由5位数字组成,包括起始的数据类型代号,以及后面的偏移地址。ModbusMaster 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 库把 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的Modbus地址映射为所谓Modbus功能号,读写从站的数据。ModbusMaster协议库支持如下地址:∙00001-09999:数字量输出(线圈)∙10001-19999:数字量输入(触点)∙30001-39999:输入数据寄存器(通常为模拟量输入)∙40001-49999:数据保持寄存器ModbusMaster协议库支持的功能为了支持上述Modbus地址的读写,ModbusMaster协议库需要从站支持下列功能: 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 1.需要从站支持的功能Modbus地址读/写Modbus从站须支持的功能00001-09999数字量输出读功能1写功能5:写单输出点功能15:写多输出点10001-19999数字量输入读功能2写-30001-39999输入寄存器读功能4写-40001-49999保持寄存器读功能3写功能6:写单寄存器单元功能16:写多寄存器单元如何理解Modbus地址与功能码的区别?Modbus地址与Modbus的功能码是两个层次的概念。根据Modbus通信协议,Modbus数据的地址使用0xxxx、1xxxx、3xxxx和4xxxx的形式,分别表示数字量输出、数字量输入、模拟量输入等数据地址。在使用S7-200的指令库时,Modbus数据地址与S7-200的I/O和数据存储区地址间有特定的对应关系。有些设备表明它支持ModbusRTU通信协议,但也详细提供了读写数据的详细通信帧格式,其中包括如何指定Modbus站的地址,需要读写数据类型、长度等等。数据帧有特定字节指出此指令读写的数据类型和地址,此字节的数据内容即所谓“功能码”,如功能1指定读取单个/多个数字量输出点的值。支持Modbus协议的设备或软件,使用时用户直接设置或看到的应当是Modbus数据地址。Modbus地址所访问的数据,是通过各种“功能”读写而来。功能码是Modbus地址的底层。如果Modbus通信的一方提供的所谓Modbus协议只有功能码,则需要注意了解此功能号与Modbus地址间的对应关系。使用modbus地址时应注意下述问题:1)40001~4xxxx是美国modicon公司和ge公司plc使用的modbus地址,它是基于1的地址,即同类元件的首地址为1。西门子plc的modbus地址是基于0的地址。2)美国的modbus地址左起第2位用来表示元件的类型,例如i0.0的modbus地址为010001。因为数据类型已经包含在功能码中了,西门子的i0.0的modbus地址实际上为000000,i2.0的modbus地址为000016(或十六进制数16#0010),而不是010017。其他问题:1、modbus的保持和输入寄存器是以word(16bit)为单位的。(Dataispackedastwobytesperregister.)比如4****(保持寄存器/输出寄存器)和3****(输入寄存器)是以字为单位的。所以,如果读40001寄存器开始的一个16位的无符号数,那么返回2个Byte,并可以从40002开始读下一个16位的无符号数。但是,如果读40001寄存器开始的一个32位浮点数,那么,返回4个Byte,而且,下一个32位浮点数必须从40003开始。客户问题:1)、将40001定义为一个Byte的数据;2)、将40001定义为32位浮点数,40002为下一个32位浮点数。我们可以参考一下国标GBT_19582-12008(基于Modubs协议的工业自动化网络 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 )的功能码表:2、寄存器最小地址为1,而报文起始地址为0。(Register1isaddressedas0)在数据报文中,所有的modbus地址都是从0开始的。也就是首次出现的数据项在报文中的地址为0。比如:(AlldataaddressesinModbusmessagesarereferencedtozero.Thefirstoccurrenceofadataitemisaddressedasitemnumberzero.Forexample:)1.在控制器中,“线圈1”在Modbus报文的地址域中的地址为0000。(Thecoilknownas‘coil1’inaprogrammablecontrollerisaddressedascoil0000inthedataaddressfieldofaModbusmessage.)2.线圈127的十六进制报文地址为007Ehex(十进制的126)Coil127decimalisaddressedascoil007Ehex(126decimal).3.保持寄存器40001的报文地址为0000。因为报文功能码明确要操作“保持寄存器”,所以,协议就以“4XXXX”代表这个寄存器。Holdingregister40001isaddressedasregister0000inthedataaddressfieldofthemessage.Thefunctioncodefieldalreadyspecifiesa‘holdingregister’operation.Thereforethe‘4XXXX’referenceisimplicit.4.保持寄存器40108的报文地址为006Bhex(十进制107)Holdingregister40108isaddressedasregister006Bhex(107decimal).上面摘自Modicon_Modbus协议.pdf Page27总之,Modbus地址一般指4****(保持寄存器/输出寄存器)和3****(输入寄存器),这时应用层面的:比如设备说明书可以简要说明设备支持ModbusRTU标准协议,并详细描述其地址对应关系为:40001 —— 模拟量采集通道1,16位有符号数,.....。比如组态软件的地址设置,一般为输出寄存器,从地址1开始,连续多少个。或者指明400001:16位有符号数。但是,在数据报文层面,寄存器起始地址从0开始。数据报文包括:设备地址功能码起始地址寄存器个数校验位。其中,起始地址是从0开始的。举例说明:从设备11读40001开始的2个寄存器数据的报文设备地址 功能码起始地址 寄存器个数校验11       03     0000    0002       --
本文档为【PLC寄存器地址与Modbus地址对应的问题(2)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_686908
暂无简介~
格式:doc
大小:26KB
软件:Word
页数:7
分类:
上传时间:2022-07-26
浏览量:24