标准modbus协议文本样本.doc_第1页
标准modbus协议文本样本.doc_第2页
标准modbus协议文本样本.doc_第3页
标准modbus协议文本样本.doc_第4页
标准modbus协议文本样本.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

标准modbus协议文本样本 标准s modbus协议文本本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 ISCS与与子接口协议版本:V南京南瑞集团公司修订记录版本日期起草审阅交叉审阅备注V1.0-07-27陆艮峰初稿本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 1通信接口基于以太网的P MODBUS TCP/IP协议S ISCS系统的P FEP(前端处理器)配置为主机,子系统的通讯设备配置为从机。 S ISCS系统每s500ms向子系统发送一次轮询报文。 2MODBUS TCP/IP协议协议概述P MODBUSTCP/IP协议在应用层采用S MODBUS信息定义,在传输层和网络层采用用TCP/IP,用于以太网通讯。 P MODBUSTCP/IP协议和I OSI各层之间的对应关系由下图表示:(:参考OSI模型的应用层模型)1199世纪070年代S MODBUS协议初次发布,至今已经在工业自动化领域广泛应用。 S MODBUS协议获取简便(),且便于实现。 S MODBUS协议本身没有变化,但对报文的发送方式和速率作了改变,以满足工业应用的实时性需求。 P MODBUS/TCP由此产生。 MODBUS TCPP/IP就是简单地将S MDOBUS帧嵌入到P TCP帧中。 P TCP/IP的请求/应答机制能和S MODBUS本身的主/从机制很好的配合工作。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 报文格式组成(标准MODBUSTCP/IP)报文格式组成:报头功能码数据报头描述:字段客户端服务端事务标识由客户端初始化服务端从接收到的请求中拷贝协议标识由客户端初始化服务端从接收到的请求中拷贝长度由客户端初始化服务端初始化(应答)单元标识由客户端初始化服务端从接收到的请求中拷贝事务标识:用于事务配对。 S MODBUS服务端在应答时拷贝客户端请求的事务标识。 请求和应答通过事务标识相对应。 因此,在同一时间,P TCP连接的事务标识必须是唯一的。 有几种方式应用事务标识。 比如简单计数P“TCP顺序号”,每次请求时加11。 协议标识:用于系统内的多元标识。 S MODBUS协议用0标识。 长度:长度字段以字节计数,包括单元标识和数据字段。 单元标识:该字段用于系统内路由。 其典型应用为请求和服务器应答报文返回值在该字段值必须相同。 在某些情况下,单元标识携带远程设备的S MODBUS从机地址。 但在P TCP/IP层,S MODBUS服务端用其P IP地址寻址,因此S MODBUS单元标识就没有实际意义。 此时该字段值为0xFF。 顺序号的应用:本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 ?对于每个信息,MODBUS MASTER(ISCS FEP)会给MODBUS SLAVE(子系统)初始化/制造顺序号;?MODBUS SLAVE(子系统)的响应信息应使用从MODBUS MASTER(ISCS FEP)发出的相同的顺序号;?P ISCS FEP应确认从子系统收到的顺序号与之前发送给子系统;的顺序号相同;ISCSFEP增加顺序号数值的原则:?顺序号应用两个字节来储存;?顺序号的范围应是(0-65535)或(0x0000to0xFFFF);?顺序号的初始数值应是00;?对于每个发出的信息,包括用于正常轮询、故障轮询、重试信息或控制,ISCS PFEP应把顺序号数值增加11;?如果P ISCSFEP发现子系统的响应信息的顺序号有错误,应不理会该信息,并宣布通讯状态欠佳。 2.3报文详述本文中定义的寄存器地址将根据子系统供应商最终提供的IO点类表作相应的修改。 功能码0x04(读输入寄存器)例如:S ISCS向子系统发送查询帧,获取子系统设备状态:Description描述Size(Byte))长度(字节)n Definition含义r Header报头Transaction Identifier事务标识22TCP SEQUENCENUMBER TCP顺序号r Protocol Identifier协议标识220x0000(p ModbusTcp为为00)h Length长度220x0006r Unit Identifier单元标识110xFF(p ModbusTcp总为0xFF)Modbus Data s Modbus数据e Function Code功能码110x04s Starting Address起始地址220x XXXX(根据实际情况定义)s Numberof Registers寄存器数量22N N(最大为5125个寄存器)本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 子系统向向S ISCS返回响应n Description描述Size(Byte)长度(字节)n Definition含义Header报头Transaction Identifier事务标识22TCP顺序号(从客户端请求中拷贝)r Protocol Identifier协议标识220x0000(从客户端请求中拷贝)h Length长度222*N+33Unit Identifier单元标识110xFF Modbus Data s Modbus数据Function Code功能码110x04Byte Count字节个数112*N(N N最大为5125个寄存器)子系统发送到S ISCS的数据如果超过125个寄存器,S ISCS能够轮询多次。 Data(as requested)请求的数据22*N0xXX?XX(根据实际点表定义)注:中本表中N N、X X出现的部分将根据实际点表定义。 功能码0x10(预置多寄存器)例如:S ISCS向子系统发送信息:Description描述Size(Byte)长度(字节)n Definition含义r Header报头Transaction Identifier事务标识22TCP SEQUENCENUMBER TCP顺序号Protocol Identifier协议标识220x0000Length长度222*N+7(最大为5125个寄存器)Unit Identifier单元标识110xFF Modbus Data s Modbus数据Function Code功能码110x10Write StartingAddress写起始地址220x XXXX(根据实际点表定义)NUMBER OFREGISTERS寄存器个数22N N(最大为5125个寄存器)本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 Byte Count字节个数112*N(N N最大为5125个寄存器)子系统到发送到S ISCS的数据如果超过5125个寄存器,S ISCS能够轮询多次。 Data数据2*N N0xXX?XX(根据实际点表定义)子系统向向S ISCS返回响应:Description描述Size(Byte)Definition含义Header r报头Transaction Identifier事务标识22TCP顺序号(从客户端请求中拷贝)ProtocolIdentifier协议标识220x0000(从客户端请求中拷贝)Length长度220x0006Unit Identifier单元标识110xFF(从客户端请求中拷贝)Modbus Data s Modbus数据Function Code功能码110x10Write StartingAddress写起始地址220x XXXX(和客户端请求地址一致)NUMBER OFREGISTERS寄存器个数22N N(和客户端请求寄存器数一致)注:中本表中N N、X X出现的部分将根据实际点表定义。 异常处理的目的是:当通讯故障时,向客户端提供与故障相关的信息。 ?响应功能码请求功能码+0x80;?错误功能码用于提示错误原因。 当前使用的异常码是:01,02,303和和04。 异常码名称含义01ILLEGAL FUNCTIAON服务端不支持请求报文所要求的功能。 原因可能是:此功能仅仅适用于新型设备,当前使用的设备不具备此功能。 此功能码也表明:服务端(从站)处于故障状态,无法处理客户端请求。 比如,服务端尚未被初始化,就被要求返回数据。 02ILLEGAL ADDRESS服务端不支持请求报文中数据地址。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 在某些特定条件下,数据个数和数据长上度有可能不对应,从而产生此错误。 如果一个控制器总共有0100个寄存器。 客户端请求数据包中,如果寄存器的起始地址是96,数据长度为44,这是允许的。 但是,如果寄存器的起始地址是96,是数据长度是55,异常发生。 因为,965101,已经超过了控制器最大寄存器的数量。 03ILLEGAL DATAVALUE服务端发现:客户端发送的数据中,包含有无效数据。 此异常表明:服务端接收到的数据包含错误。 此异常并不一定意味着:,服务端接收的数据包中的,某个数据越限。 因为,Modbus协议对特定寄存器的含义不作处理。 04SLAVE DEVICEFAILURE当服务端执行相应的功能时:发生了无法恢复的错误。 (读输入寄存器)异常响应例如:S ISCS向子系统发送查询帧,获取子系统设备状态:Description描述Size(Byte))长度(字节)n Definition含义r Header报头Transaction Identifier事务标识22TCP SEQUENCENUMBER TCP顺序号r ProtocolIdentifier协议标识220x0000(p ModbusTcp为为00)h Length长度220x0006r Unit Identifier单元标识110xFF(p ModbusTcp总为0xFF)ModbusDatasModbus数据e Function Code功能码110x04s StartingAddress起始地址220x XXXX(假设起始地址+寄存器数量超出了服务端的最大地址)s Numberof Registers寄存器数量22N N(最大为5125个寄存器)子系统向向S ISCS返回异常响应n Description描述Size(Byte)长度(字节)n Definition含义本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 Header报头Transaction Identifier事务标识22TCP顺序号(从客户端请求中拷贝)r ProtocolIdentifier协议标识220x0000(从客户端请求中拷贝)h Length长度220x03Unit Identifier单元标识110xFF ModbusDatasModbus数据Function Code功能码110x8844(响应功能码)Illegal FunctionCode错误功能码110x02(非法地址,详见异常码表)注:中本表中N N、X X出现的部分将根据实际点表定义。 功能码0x10(预置多寄存器)异常响应例如:S ISCS向子系统发送信息:Description描述Size(Byte)长度(字节)n Definition含义r Header报头Transaction Identifier事务标识22TCP SEQUENCENUMBER TCP顺序号ProtocolIdentifier协议标识220x0000Length长度222*N+7(N N最大为5125个寄存器)UnitIdentifier单元标识110xFF ModbusDatasModbus数据FunctionCode功能码110x10Write StartingAddress写起始地址220x XXXX(假设起始地址+寄存器数量超出了服务端的最大地址)NUMBER OFREGISTERS寄存器个数22N N(最大为5125个寄存器)Byte Count字节个数112*N(N N最大为5125个寄存器)Data数据2*N N0xXX?XX(根据实际点表定义)子系统向向S ISCS返回异常响应本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 n Description描述Size(Byte)长度(字节)n Definition含义He

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论