modbus地址对应表
modbus地址对应表
modbus地址对应表Modbus是一种串行通信协议,由Modicon公司(现在的施耐德电气Schneider Electric)于1979年发布,用于可编程逻辑控制器(Programmable logic controllers,PLCs)。
Modbus事实上已经成为工业领域通信协议的业界标准,并且现在是工业电子设备之间常用的连接方式。
在工业应用场景中使用Modbus的主要原因是:考虑到Modbus本就为了工业应用而开发,公开发布,并且无版权要求,易于部署和维护,未对供应商修改移动本地比特或字节施加限制。
Modbus支持多个设备连接到同一网络上进行通信,例如,一个能测量温度和湿度并将结果传送给计算机的装置。
在数据采集与监视控制(Supervisory control and data acquisition, SCADA)系统中,Modbus常用于连接监控计算机与远程终端设备(Remote terminal unit,RTU)。
许多数据类型是根据梯形逻辑及其驱动继电器在工业上的使用而得名的:单比特物理输出称为线圈,单比特物理输入称为离散输入或触点。
自2004年4月施耐德电气将权利转让给Modbus组织以来,该组织一直管理着Modbus协议的开发和更新。
Modbus组织是一个倡导持续使用该技术的协会,其由兼容Modbus设备的用户和供应商组成。
Modbus协议目前存在多个用于串行端口、以太网和其他支持互联网协议套件的网络版本。
Modbus协议有许多变体:Modbus RTU —这用于串行通信,并采用数据的紧凑二进制表示进行协议通信。
RTU格式使用带有循环冗余校验的校验和的命令/数据作为错误校验机制,以确保数据的可靠性。
Modbus RTU是Modbus 最常见的实现方式。
Modbus RTU消息必须连续传输,不能有字符间的延迟。
Modbus消息由空闲(静默)时段构成(分隔)。
Modbus ASCII —用于串行通信,并利用ASCII字符进行协议通信。
modbus地址对应plc - 位
40070.10
V2138.1
2#手动停止
M8.4
40070.11
V2138.2
3#手动停止
M8.5
40070.12
V2138.3
4#手动停止
M8.6
40070.13
V2138.4
5#手动停止
M8.7
40070.14
V2138.5
水池选择(0为1号水池)
M20.3
40070.15
V2138.6
40001.09
V2000.0
1#远程自动允许
M14.3
40001.10
V2000.1
2#远程自动允许
M14.4
40001.11
V2000.2
3#远程自动允许
M14.5
40001.12
V2000.3
4#远程自动允许
M14.6
40001.13
V2000.4
5#远程自动允许
M14.7
40001.06
V2001.5
M2.1
40002.02
V2003.1
2#故障指示
M2.2
40002.03
V2003.2
3#故障指示
M2.3
40002.04
V2003.3
4#故障指示
M2.4
40002.05
V2003.4
5#故障指示
M15.0
40002.09
V2002.0
1#过载指示
M10.6
40002.10
V2002.1
2#过载指示
Modbus地址
Plc地址
备注
Plc内部寄存器
40001.01
MODBUS常用功能码及对应地址
MODBUS常用功能码备查
表1 ModBus功能码
功能码名
称作用
01 读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF)
02 读取输入状态取得一组开关输入的当前状态(ON/OFF)
03 读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值
04 读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值
05 强置单线圈强置一个逻辑线圈的通断状态
06 预置单寄存器把具体二进值装入一个保持寄存器
15 强置多线圈强置一串连续逻辑线圈的通断
16 预置多寄存器把具体的二进制值装入一串连续的保持寄存器
表2 ModBus功能码与数据类型对应表
代码功能数据类
型
对应地址
01 读位
0000X
02 读位
1000X
03 读整型、字符型、状态字、浮点型4000X
04 读整型、状态字、浮点
型3000X
05 写位
0000X
06 写整型、字符型、状态字、浮点型4000X
15 写位
0000X
16 写整型、字符型、状态字、浮点型4000X
(学习的目的是增长知识,提高能力,相信一分耕耘一分收获,努力就一定可以获得应有的回报)。
modbus协议对应地址
CPU 上的通信口(Port0)支持 Modbus RTU 从站通信协议S7-200 CPU上的通信口Port0可以支持Modbus RTU协议,成为Modbus RTU从站。
此功能是通过S7-200的自由口通信模式实现,因此可以通过无线数据电台等慢速通信设备传输。
如果想在S7-200 CPU之间、或者其他支持Modbus RTU的设备使用Modbus RTU 协议通信,需要由有S7-200 CPU做Modbus主站。
S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。
详情请参考《S7-200系统手册》之相关章节。
要实现Modbus RTU通信,需要STEP 7-Micro/WIN32 V3.2以上版本的编程软件,而且须安装STEP 7-Micro/WIN32 V3.2 Instruction Library(指令库)。
Modbus RTU功能是通过指令库中预先编好的程序功能块实现的。
Modbus RTU从站指令库只支持CPU上的通信0口(Port0)。
参考:Modbus RTU 主站指令库基本步骤:1.检查Micro/WIN的软件版本,应当是STEP 7-Micro/WIN V3.2以上版本。
2.检查Micro/WIN的指令树中是否存在Modbus RTU从站指令库(图1),库中应当包括MBUS_INIT和MBUS_SLA VE两个子程序。
如果没有,须安装Micro/WIN32 V3.2的Instruction Library(指令库)软件包;图1. 指令树中的库指令3.编程时使用SM0.1调用子程序MBUS_INIT进行初始化,使用SM0.0调用MBUS_SLA VE,并指定相应参数。
关于参数的详细说明,可在子程序的局部变量表中找到;图2. 调用Modbus RTU通信指令库图中参数意义如下:a.模式选择:启动/停止Modbus,1=启动;0=停止b.从站地址:Modbus从站地址,取值1~247c.波特率:可选1200,2400,4800,9600,19200,38400,57600,115200d.奇偶校验:0=无校验;1=奇校验;2=偶校验e.延时:附加字符间延时,缺省值为0f.最大I/Q位:参与通信的最大I/O点数,S7-200的I/O映像区为128/128,缺省值为128g.最大AI字数:参与通信的最大AI通道数,可为16或32h.最大保持寄存器区:参与通信的V存储区字(VW)i.保持寄存器区起始地址:以&VBx指定(间接寻址方式)j.初始化完成标志:成功初始化后置1k.初始化错误代码l.Modbus执行:通信中时置1,无Modbus 通信活动时为0。
33_Modbus地址其实指的是各类寄存器的设备编号
●00001 ~ 09999 :离散量输出继电器编号●10001 ~ 19999 :离散量输入继电器编号●30001 ~ 39999 :模拟量输入寄存器编号●40001 ~ 49999 :保持型输出寄存器编号二、3区是读模拟量输入寄存器,4区是用于写数据到输出寄存器。
通讯帧里的设备地址=(4位十进制设备编号-1)转换成16进制如用功能码02读取1区中编号为10012的输入继电器的状态,通讯帧里的设备地址就要转换成:0012-1=(0011)十进制=(000B)十六进制MODBUS协议整理——功能码简述1.MODBUS功能码简述下表列出MODBUS支持的部分功能代码:以十进制表示。
表1.1 MODBUS部分功能码1.1功能码说明功能码可以分为位操作和字操作两类。
位操作的最小单位为BIT,字操作的最小单位为两个字节。
【位操作指令】读线圈状态01H,读(离散)输入状态02H,写单个线圈06H和写多个线圈0FH。
【字操作指令】读保持寄存器03H,写单个寄存器06H,写多个保持寄存器10H。
1.2寄存器地址分配表1.2 MODBUS寄存器地址分配1.3寄存器种类说明表1.3 MODBUS寄存器种类说明1.4 PLC地址和协议地址区别PLC地址可以理解为协议地址的变种,在触摸屏和PLC编程中应用较为广泛。
1.4.1 寄存器PLC地址寄存器PLC地址指存放于控制器中的地址,这些控制器可以是PLC,也可以使触摸屏,或是文本显示器。
PLC地址一般采用10进制描述,共有5位,其中第一位代码寄存器类型。
第一位数字和寄存器类型的对应关系如表1所示。
PLC地址例如40001、30002等。
1.4.2 寄存器协议地址寄存器协议地址指指通信时使用的寄存器地址,例如PLC地址40001对应寻址地址0x0000,40002对应寻址地址0x0001,寄存器寻址地址一般使用16进制描述。
再如,PLC寄存器地址40003对应协议地址0002,PLC寄存器地址30003对应协议地址0002,虽然两个PLC寄存器寄存器通信时使用相同的地址,但是需要使用不同的命令访问,所以访问时不存在冲突。
modbus地址对应表
Modbus协议定义的寄存器地址是5位十进制地址,即:
线圈(DO)地址:00000~09999
触点(DI)地址:10000~19999
输入寄存器(AI)地址:30000~39999
输出寄存器(AO)地址:40000~49999
由于上述各类地址是唯一对应的,因此有些资料就以其第一个数字区分各类地址,即:0x代表线圈(DO)类地址,1x代表触点(DI)类地址、3x代表输入寄存器(AI)类地址、4x代表输出寄存器(AO)类地址。
在实际编程中,由于前缀的区分作用,所以只需说明后4位数,而且需转换为4位十六进制地址。
Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。
Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。
Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。
Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。
Modbus比其他通信协议使用的更广泛的主要原因有:
对供应商来说,修改移动本地的比特或字节没有很多限制
Modbus允许多个(大约240个) 设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。
在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和远程终端控制系统(RTU)。
modbus协议对应地址
CPU上的通信口(Porto )支持Modbus RTU从站通信协议S7-200 CPU上的通信口PortO可以支持Modbus RTI协议,成为Modbus RTL从站。
此功能是通过S7-200的自由口通信模式实现,因此可以通过无线数据电台等慢速通信设备传输。
如果想在S7-200 CPU之间、或者其他支持Modbus RTU的设备使用Modbus RTU 协议通信,需要由有S7-200 CPU做Modbus主站。
S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。
详情请参考《S7-200系统手册》之相关章节。
要实现ModbusRTl通信,需要STEP7-Micro/WIN32 V3.2以上版本的编程软件,而且须安装STEP7-Micro/WIN32 V3.2 Instruction Library (指令库)。
Modbus RTU功能是通过指令库中预先编好的程序功能块实现的。
Modbus RTU从站指令库只支持CPU上的通信0 口(Port0)。
参考:Modbus RTU主站指令库基本步骤:1. 检查Micro/WIN 的软件版本,应当是STEP 7-Micro/WIN V3.2 以上版本。
2. 检查Micro/WIN的指令树中是否存在Modbus RTU从站指令库(图1),库中应当包括MBUS_INIT 和MBUS_SLAVE两个子程序。
如果没有,须安装Micro/WIN32 V3.2 的Instruction Library (指令库)软件包;图 1. 指令树中的库指令3. 编程时使用SM0.1 调用子程序MBUS_INIT 进行初始化,使用SM0.0 调用MBUS_SLAVE ,并指定相应参数。
关于参数的详细说明,可在子程序的局部变量表中找到;图中参数意义如下:a. 模式选择:启动/停止Modbus, 1=启动;0=停止b. 从站地址:Modbus从站地址,取值1~247c. 波特率:可选1200,2400,4800,9600, 19200,38400, 57600,115200d. 奇偶校验:0=无校验;仁奇校验;2=偶校验e. 延时:附加字符间延时,缺省值为0f. 最大I/Q位:参与通信的最大I/O点数,S7-200的I/O映像区为128/128,缺省值为128g. 最大AI字数:参与通信的最大AI通道数,可为16或32h. 最大保持寄存器区:参与通信的V存储区字(VW)i. 保持寄存器区起始地址:以&VBx指定(间接寻址方式)j. 初始化完成标志:成功初始化后置1k. 初始化错误代码l. Modbus执行:通信中时置1,无Modbus通信活动时为0。
modbus地址对应表
D元件支持Modbus之03、06、16功能码。
松下
X元件支持Modbus之02功能码;
Y元件支持Modbus之01、05、15功能码;
DT元件支持Modbus之03、06、16功能码。
台达
X元件支持Modbus之02功能码;
Y元ห้องสมุดไป่ตู้支持Modbus之01、05、15功能码;
自2004年4月施耐德电气将权利转让给Modbus组织以来,该组织一直管理着Modbus协议的开发和更新。[1] Modbus组织是一个倡导持续使用该技术的协会,其由兼容Modbus设备的用户和供应商组成。
D元件支持Modbus之03、06、16功能码。
Modbus是一种串行通信协议,由Modicon公司(现在的施耐德电气Schneider Electric)于1979年发布,用于可编程逻辑控制器(Programmable logic controllers,PLCs)。Modbus事实上已经成为工业领域通信协议的业界标准,并且现在是工业电子设备之间常用的连接方式。 在工业应用场景中使用Modbus的主要原因是:
考虑到Modbus本就为了工业应用而开发,
公开发布,并且无版权要求,
易于部署和维护,
未对供应商修改移动本地比特或字节施加限制。
Modbus支持多个设备连接到同一网络上进行通信,例如,一个能测量温度和湿度并将结果传送给计算机的装置。在数据采集与监视控制(Supervisory control and data acquisition, SCADA)系统中,Modbus常用于连接监控计算机与远程终端设备(Remote terminal unit,RTU)。许多数据类型是根据梯形逻辑及其驱动继电器在工业上的使用而得名的:单比特物理输出称为线圈,单比特物理输入称为离散输入或触点。
modbus地址对应表
Modbus通讯协议:Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。
Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。
简介:Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。
Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。
Modbus比其他通信协议使用的更广泛的主要原因有:公开发表并且无版权要求易于部署和维护对供应商来说,修改移动本地的比特或字节没有很多限制Modbus允许多个(大约240个) 设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。
在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和远程终端控制系统(RTU)。
协议版本:Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。
大多数Modbus设备通信通过串口EIA-485物理层进行。
对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。
Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。
这两个变种都使用串行通信(serial communication)方式。
RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。
被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。
对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/TCP 变种,这种方式不需要校验和计算。
modbus地址对应表
CPU 百度上的通信口(Port0)支持Modbus RTU 从站通信协议S7-200 CPU上的通信口Port0可以支持Modbus RTU协议,成为Modbus RTU从站。
此功能是通过S7-200的自由口通信模式实现,因此可以通过无线数据电台等慢速通信设备传输。
如果想在S7-200 CPU之间、或者其他支持Modbus RTU的设备使用Modbus RTU协议通信,需要由有S7-200 CPU做Modbus 主站。
S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。
详情请参考《S7-200系统手册》之相关章节。
要实现Modbus RTU通信,需要STEP 7-Micro/WIN32 V3.2以上版本的编程软件,而且须安装STEP 7-Micro/WIN32 V3.2 Instruction Library(指令库)。
Modbus RTU功能是通过指令库中预先编好的程序功能块实现的。
Modbus RTU从站指令库只支持CPU上的通信0口(Port0)。
参考:Modbus RTU 文库主站指令库基本步骤:1. 检查Micro/WIN的软件版本,应当是STEP 7-Micro/WIN V3.2以上版本。
2. 检查Micro/WIN的指令树中是否存在Modbus RTU从站指令库(图1),库中应当包括MBUS_INIT和MBUS_SLAVE两个子程序。
如果没有,须安装Micro/WIN32 V3.2的Instruction Library(指令库)软件包;3. 编程时使用SM0.1调用子程序MBUS_INIT进行初始化,使用SM0.0调用MBUS_SLAVE,并指定相应参数。
关于参数的详细说明,可在子程序的局部变量表中找到;图中参数意义如下:a. 模式选择:启动/停止Modbus,1=启动;0=停止b. 从站地址:Modbus从站地址,取值1~247c. 波特率:可选1200,2400,4800,9600,19200,38400,57600,115200d. 奇偶校验:0=无校验;1=奇校验;2=偶校验e. 延时:附加字符间延时,缺省值为0f. 最大I/Q位:参与通信的最大I/O点数,S7-200的I/O映像区为128/128,缺省值为128g. 最大AI字数:参与通信的最大AI通道数,可为16或32 h. 最大保持寄存器区:参与通信的V存储区字(VW)i. 保持寄存器区起始地址:以&VBx指定(间接寻址方式)j. 初始化完成标志:成功初始化后置1 k. 初始化错误代码l. Modbus执行:通信中时置1,无Modbus 通信活动时为0。
modbus协议对应地址(精品)
modbus协议对应地址CPU 上的通信口(Port0)支持Modbus RTU 从站通信协议S7-200 CPU上的通信口Port0可以支持Modbus RTU协议,成为Modbus RTU从站。
此功能是通过S7-200的自由口通信模式实现,因此可以通过无线数据电台等慢速通信设备传输。
如果想在S7-200 CPU之间、或者其他支持Modbus RTU的设备使用Modbus RTU协议通信,需要由有S7-200 CPU做Modbus主站。
S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。
详情请参考《S7-200系统手册》之相关章节。
要实现Modbus RTU通信,需要STEP7-Micro/WIN32 V3.2以上版本的编程软件,而且须安装STEP 7-Micro/WIN32 V3.2 Instruction Library(指令库)。
Modb us RTU功能是通过指令库中预先编好的程序功能块实现的。
Modbus RTU从站指令库只支持CPU上的通信0口(Port0)。
参考:Modbus RTU 主站指令库基本步骤:1.检查Micro/WIN的软件版本,应当是STEP 7-Micro/WINV3.2以上版本。
2.检查Micro/WIN的指令树中是否存在Modbus RTU从站指令库(图1),库中应当包括MBUS_INIT和MBUS_SLAVE两个子程序。
如果没有,须安装Micro/WIN32 V3.2的Instruction Library(指令库)软件包;图1. 指令树中的库指令3.编程时使用SM0.1调用子程序MBUS_INIT进行初始化,使用SM0.0调用MBUS_SLAVE,并指定相应参数。
关于参数的详细说明,可在子程序的局部变量表中找到;图2.调用Modbus RTU通信指令库图中参数意义如下:a.模式选择:启动/停止Modbus,1=启动;0=停止b.从站地址:Modbus从站地址,取值1~247c.波特率:可选1200,2400,4800,9600,19200,38400,57600,115200d.奇偶校验:0=无校验;1=奇校验;2=偶校验e.延时:附加字符间延时,缺省值为0f.最大I/Q位:参与通信的最大I/O点数,S7-200的I/O映像区为128/128,缺省值为128g.最大AI字数:参与通信的最大AI通道数,可为16或32h.最大保持寄存器区:参与通信的V存储区字(VW)i.保持寄存器区起始地址:以&VBx指定(间接寻址方式)j.初始化完成标志:成功初始化后置1k.初始化错误代码l.Modbus执行:通信中时置1,无Modbus 通信活动时为 0。
MODBUS地址类型与功能码对应关系大全
如:0X0001=LB0 0X0002=LB1
3X,4X的 1~9999 —— LW0~9998
如:3X0001=LW0 3X0002=LW1
3X,4X的 10000~65535 —— RW0~55535
如:3X/4X 10000=RW0
3X/4X 65535=RW55535
1X
只读
02
输出位寄存器
Input bit (read only)
3X
只读
04
输入寄存器(字)
Input Register (read only)
3X-BIT
只读
04
3X的位地址
4X
读/写
03/16
输出寄存器(字)
Output Register
4X-BIT
读/写
03/16
4X的位地址
5X
读/写
03
数据寄存器(字),与4X相比:同一个字互换高低字节
MODBUS地址类型与功能码对应关系
当触摸屏作为一个MODBUS SERVER主站时,是要对所连接的MODBUS RTU从站进行读写控制。
WEINVIEW的触摸屏支持01—05和16号功能码。每个设备地址类型所使用的功能码如下:
地址类型
读/写
功能码
备注
0X
读/写
01/05
输入位寄存器
Output bit
4x double word swap
6X
读/写
03/06
数据寄存器(字),与4X相比Fra bibliotek每次读写单个字
4x single word write
对MODBUS RTU设备进行读写,触摸屏上的元件中使用什么样的地址类型,取决于RTU设备所支持的功能码、目标对象是位地址还是字地址控制、以及是否要进行写入;
modbus地址对应表
三菱FX3G-40MR/ES-A、西门子S7-200 CPU226 AC/DC/RLY、欧姆龙CP1H-X40DR-A、松下AFPX-C40R、台达DVP-12SA2、信捷XC5-48、永宏FBs-40MC、产电XBC-DR40S、汇川H2u-2416MT-XP、英威腾IVC2H-1616MAT6、基恩士KV-N40AR、施耐德电气TM218LDAE40DRPHN、海为H40S2R系列、维控LX3V1212MT系列、和利时LE5109、台安AP-340BR-A、罗克韦尔1766-L32BWA、合信CTH200系列CPU H226L、富士SPE NW0P40R-31、步科K508-40AR三菱X元件支持Modbus之02功能码;Y元件支持Modbus之01、05、15功能码;D元件支持Modbus之03、06、16功能码。
西门子I元件支持Modbus之02功能码;Q元件支持Modbus之01、05、15功能码;V元件支持Modbus之03、06、16功能码。
欧姆龙CIO0元件支持Modbus之02功能码;CIO100元件支持Modbus之01、05、15功能码;D元件支持Modbus之03、06、16功能码。
松下X元件支持Modbus之02功能码;Y元件支持Modbus之01、05、15功能码;DT元件支持Modbus之03、06、16功能码。
台达X元件支持Modbus之02功能码;Y元件支持Modbus之01、05、15功能码;D元件支持Modbus之03、06、16功能码。
信捷X元件支持Modbus之02功能码;Y元件支持Modbus之01、05、15功能码;D元件支持Modbus之03、06、16功能码。
永宏X元件支持Modbus之02功能码;Y元件支持Modbus之01、05、15功能码;D元件支持Modbus之03、06、16功能码。
产电P0元件支持Modbus之02功能码;P40元件支持Modbus之01、05、15功能码;D元件支持Modbus之03、06、16功能码。
带MODBUS功能的RTU寄存器地址列表
带MODBUS功能的RTU寄存器地址列表由于带MODBUS功能的RTU在市面上能够生产和提供实际应用的厂家还非常少,为便于广大用户方便使用带MODBUS功能的RTU,使用户能够对RTU 有个深刻的了解,同时也为了方便各用户查询管理和维护,现特列出寄存器地址列表如下:一、RTU功能码:二、RTU的寄存器地址(才茂CM550-52G):MODBUS开关输入说明:开关输入对应MODBUS“读输入离散量”功能码为“02”。
偏置1到8(寄存器地址10进制10001到10008)对应RTU开关输入通道IO1到IO8。
查询数字输入IO 所有通道(即8 个通道)采集值,命令为:01 02 00 00 00 08 XX XXRTU的IO接口:MODBUS 读保存寄存器(读保存寄存器的实例是计数器,而PWM,数字输出格式一样只是地址和相应的寄存器数目不一样PWM对应首地址的16进行表示是0x002F,1路PWM 2个寄存器 0x002F 代表的是PWM的周期0x0030 代表的是PWM的占空比(值不能大于10进制数100)数字输出对应的首地址16进行表示0x0037,1路数字输出对应2个寄存器 0x0037 代表的是数字输出的高电平低电平方波1- 高电平2- 低电平 3- 方波 0x0038 代表的是数字输出的方波周期(若不是方波则是00 00)计数器对应MODBUS“读保持寄存器”功能码为“03”。
偏置1到6(寄存器地址10进制40001到40025)对应RTU模拟输入通道I03到I08。
查询计数器IO 所有通道(即6通道)采集值,命令为:01 03 00 00 00 18 XX XX 命令解析如下:执行正确返回数据:01 04 18 XX XX XX XX XX XX XX XX。
XX XX执行错误返回格式: 01 03+80 XX XX XX:。
MODBUS常用功能码及对应地址
表1ModBus功能码
功能码名称作用
01读取线圈状态取得一组逻辑线圈的当前状态ON/OFF
02读取输入状态取得一组开关输入的当前状态ON/OFF
03读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值04读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值05强置单线圈强置一个逻辑线圈的通断状态
06预置单寄存器把具体二进值装入一个保持寄存器
15强置多线圈强置一串连续逻辑线圈的通断
16预置多寄存器把具体的二进制值装入一串连续的保持寄存器
表2ModBus功能码与数据类型对应表
代码功能数据类型对应地址
01读位0000X
02读位1000X
03读整型、字符型、状态字、浮点型4000X
04读整型、状态字、浮点型3000X
05写位0000X
06写整型、字符型、状态字、浮点型4000X
15写位0000X
16写整型、字符型、状态字、浮点型4000X。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
modbus地址对应表
曾经做过单片机和以下20种PLC的Modbus RTU串口通信,现将这20种PLC输入、输出和寄存器元件与Modbus编号地址对应表分享出来。
三菱FX3G-40MR/ES-A、西门子S7-200 CPU226 AC/DC/RLY、欧姆龙CP1H-X40DR-A、松下AFPX-C40R、台达DVP-12SA2、信捷XC5-48、永宏FBs-40MC、产电XBC-DR40S、汇川H2u-2416MT-XP、英威腾IVC2H-1616MAT6、基恩士KV-N40AR、施耐德电气TM218LDAE40DRPHN、海为H40S2R系列、维控LX3V1212MT系列、和利时LE5109、台安AP-340BR-A、罗克韦尔1766-L32BWA、合信CTH200系列CPU H226L、富士SPE NW0P40R-31、步科K508-40AR。
,
三菱
X元件支持Modbus之02功能码;
Y元件支持Modbus之01、05、15功能码;
D元件支持Modbus之03、06、16功能码。
西门子
I元件支持Modbus之02功能码;
Q元件支持Modbus之01、05、15功能码;
V元件支持Modbus之03、06、16功能码。
欧姆龙
CIO0元件支持Modbus之02功能码;
CIO100元件支持Modbus之01、05、15功能码;D元件支持Modbus之03、06、16功能码。
松下
X元件支持Modbus之02功能码;
Y元件支持Modbus之01、05、15功能码;
DT元件支持Modbus之03、06、16功能码。
台达
X元件支持Modbus之02功能码;
Y元件支持Modbus之01、05、15功能码;
D元件支持Modbus之03、06、16功能码。
信捷
X元件支持Modbus之02功能码;
Y元件支持Modbus之01、05、15功能码;D元件支持Modbus之03、06、16功能码。
永宏
X元件支持Modbus之02功能码;
Y元件支持Modbus之01、05、15功能码;D元件支持Modbus之03、06、16功能码。
产电
P0元件支持Modbus之02功能码;
P40元件支持Modbus之01、05、15功能码;D元件支持Modbus之03、06、16功能码。