nmodbus协议类.docx
- 文档编号:1483247
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:7
- 大小:17.65KB
nmodbus协议类.docx
《nmodbus协议类.docx》由会员分享,可在线阅读,更多相关《nmodbus协议类.docx(7页珍藏版)》请在冰豆网上搜索。
nmodbus协议类
竭诚为您提供优质文档/双击可除
nmodbus协议类
篇一:
modbus协议的特点
modbus总线广泛应用于仪器仪表、智能高低压电器、变送器、可编程控制器、人机界面、变频器、现场智能设备等诸多领域。
modbus与其他的现场总线和工业网络相比有以下几个显著特点:
1)标准、开放:
用户可以免费放心的使用modbus协议,不用缴纳许可费用,不会涉及侵犯知识产权。
目前支持modbus的厂一家超过400家,支持modbus的产品超过600种。
在中国,modbus已经成为国家标准gb/t19582-20xx。
据不完全统计:
截止到20xx年,modbus的节点安装数量已经超过了1000万个。
2)应用广泛:
凡modbus协议设备具有Rs232/485接口的都可以使用本产品实现与现场总线pRoFibus的互连。
如:
具有modbus协议接口的变频器、智能高低压电器、电机启动保护装置、电量测量装置、智能现场测量设备、各种变送器及仪表等。
3)modbus可以支持较多类型的电气接口:
modbus总线协议采用主站查询从站的方式,物理接口可以是Rs232、Rs485、Rs422、Rj45,还可以在各种介质上传送,如双绞线、光纤、无线射频等。
4)modbus的帧格式较为简单、紧凑,格式规范,易于传输,通俗易懂。
用户使用容易,厂商开发简单。
用户不必了解pRoFibus和modbus技术细节,只需参考说明手册及提供的应用实例,按要求完成配置,不需要复杂的编程,即可在短时间内实现设备间的连接通信。
5)透明通信:
用户可以依照pRoFibus通信数据区和modbus通信数据区的映射关系,实现pRoFibus到modbus之间的数据透明通信。
篇二:
modbus协议整理
【modbus协议整理——汇总】
1.modbus功能码简述
下表列出modbus支持的部分功能代码:
以十进制表示。
表1.1modbus部分功能码
1.1功能码说明
功能码可以分为位操作和字操作两类。
位操作的最小单位为bit,字操作的最小单位为两个字节。
【位操作指令】读线圈状态01h,读(离散)输入状态02h,写单个线圈06h和写多个线圈0Fh。
【字操作指令】读保持寄存器03h,写单个寄存器06h,写多个保持寄存器10h。
1.2寄存器地址分配
表1.2modbus寄存器地址分配
1.3寄存器种类说明
表1.3modbus寄存器种类说明
1.4plc地址和协议地址区别
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协议和点表
本通讯协议描述了公司gzdw直流屏监控系统在modbusRtu通讯模式下的信息传输,输入输出命令格式和数据地址的定义,以方便第三方使用和开发,保证信息和数据在上位监控计算机和公司直流屏系统之间有效的传输。
1.物理接口:
1.1串行通讯口采用Rs485方式。
1.2信息传输方式采用半双工异步方式,起始位1位,数据位8位,无校验,停止位1位。
1.3数据传输速率为9600bps(默认),存在选项.
1.4在现场总线设备中,gzdw直流屏通讯口作从站.
2.本通讯转换器支持的modbusRtu通讯帧结构解释:
符合标准modbusRtu通讯协议格式
每个modbus通讯帧由以下几个部分组成:
1)地址域
2)功能域
3)数据域
4)校验域
数据发送顺序:
2.1地址域
modbusRtu从站地址域为一个字节,公司直流屏系统地址固定为0x03,其响应网络数据帧中地址域数据与自身地址相等的数据信息命令。
2.2功能码域
2.3数据域
modbusRtu通讯协议数据域长度不定,视具体情况而定.数据域中数据采用高字节在前,低字节在后的传输顺序,例如:
一个16位寄存器包含数据为0x12bc,该寄存器数据发送顺序为:
高位字节:
0x12
低位字节:
0xbc
2.4校验域
公司直流系统modbusRtu通讯协议采用16位cRc校验,传输时低字节在前,高字节在后
2.5功能域中01命令示例:
01功能码可由上位机发送请求本通讯转换器中的一个或多个线圈(实际输出)状态,返回实际输出点接通/断开状态。
具体实例:
1>查询
查询信息规定了要读的起始线圈和线圈量,线圈的起始地址为零,1-16个线圈的寻址地址分为0-15。
例:
请求从机设备17读20-56线圈。
slaveaddress11
Function01
startingaddresshi00
startingaddresslo
13
no.ofpointshi00
no.ofRointslo25
errorcheck(lRcorcRc)----
2>响应
响应信息中的各线圈的状态与数据区的每一位的值相对应,1=on;0=oFF。
第一个数据字节的lsb为查询中的寻址地址,其他的线圈按顺序在该字节中由低位向高位排列,直至8个为止,下一个字节也是从低位向高位排例。
若返回的线圈数不是8的倍数,则在最后的数据字节中的剩余位至字节的最高位全部填零,字节数区说明全部数据的字节数
slaveaddress11
Function01
bytecount05
data(coils27-20)cd
data(coils35-28)6b
data(coils43-36)b2
data(coils51-44)0e
data(coils56-52)1b
errorcheck(lRcorcRc)-----
注释:
线圈27-20的状态用cdh表示,二进制值为11001101,该字节的mcb为线圈27,lsb为
20。
线圈从左(27)向右(20)状态分别为on-on-oFF-oFF-on-on-oFF-on,因此第一个字节中的线圈从左到右应是27-20。
下一个字节的线圈应为35至28。
位数据串行转输从低位到高位,即20.27,28.35。
最后一个数据字节中,56-52线圈的状态为1bh(或二进制00011011),线圈56是左数第4位,线圈52是该字节的最低位,所线圈56至52的状态分别为on-on-oFF-on-on注意3个剩余位(至最高位的数)全部填0。
2.6功能域中02命令示例
02功能码可由上位机发送请求本通讯转换器中的一个或多个接点(实际输入)状态,返回实际输入点接通/断开状态。
具体实例
1>查询
查询信息规定了要读的输入起始地址,以及输入信号的数量。
输入起始地址为0,1-16个输入口的地址分别为0-15。
例:
请求读从机设备17的10197-10218的输入位状态。
slaveaddress11
Function02
startingaddresshi00
startingaddressloc4
no.ofpointshi00
no.ofRointslo16
errorcheck(lRcorcRc)----
2>响应
响应信息中的各输入口的状态,分别对应于数据区中的每一位值,1=on;0=oFF,第一个数据字节的lsb为查询中的寻址地址,其他输入口按顺序在该字节中由低位向高位排列,直至8个位为止。
下一个字节中的8个输入位也是从低位到高位排列。
若返回的输入位数不是8的倍数,则在最后的数据字节中的剩余位直至字节的最高位全部填零。
字节的最高位,字节数区。
说明了全部数据的字节数。
slaveaddress11
Function02
bytecount03
data(inputs10204-10197)ac
data(inputs10212-10205)db
data(inputs10218-10213)35
errorcheck(lRcorcRc)----
注释:
输入位10204-10197的状态用35h(或二进制00110101)表示。
输入位10218为左数第3位,10213输入位为lsb,输入位10218-10213的状态分别为on-on-oFF-on-oFF-on,注意最位还有2个剩余位需填零。
2.7功能域中03命令示例:
03功能码可由上位机发送请求本通讯转换器中的有效寄存器,数据发送顺序示例:
具体实例
1>查询
查询信息规定了要读的寄存器起始地址及寄存器的数量,寄存器寻址起始地址为0000,寄存器1-16所对应的地址分别为0-15
例:
请求读从机设备17的108,109,110三个地址的变量值。
slaveaddress11
Function03
startingaddresshi00
startingaddresslo6b
no.ofpointshi00
no.ofRointslo03
errorcheck(lRcorcRc)----
2>响应
响应信息中的寄存器数据为二进制数据,每个寄存器分别对应2个字节,第一个字节为高位值数据,第二个字节为低位数据。
例按查询要求返回响应。
slaveaddress11
Function03
bytecount06
datahi(Register40108)02
datalo(Register40108)2b
datahi(Register40109)00
datalo(Register40109)00
datahi(Register40110)00
datalo(Register40110)64
errorcheck(lRcorcRc)-----
注释:
寄存器40108的数据用022bh2个字节(或用十进制555)表示,寄存器40109-40110中的数据为0000和0064h,(十进制时为0和100)
2.7功能域中04命令示例:
04功能码可由上位机发送请求本通讯转换器中的有效模拟量值,数据发送顺序示例:
具体实例
1>查询
查询信息规定了要读的模拟量起始地址及模拟量的数量,模拟量寻址起始地址为0000,模拟量1-16所对应的地址分别为0-15
例:
请求读从机设备17的108,109,110三个地址的模拟量值。
slaveaddress11
Function04
startingaddresshi00
startingaddresslo6b
no.ofpointshi00
no.ofRointslo03
errorcheck(lRcorcRc)----
2>响应
响应信息中的模拟量数据为二进制数据,每个模拟量分别对应2个字节,第一个字节为高
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- nmodbus 协议