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

下载本文档

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

文档简介

1 ISCS 与子接口协议与子接口协议 版本 版本 V 1 1 南京南瑞集团公司南京南瑞集团公司 修订记录修订记录 版本版本日期日期起草起草审阅审阅交叉审阅交叉审阅备注备注 V1 02010 07 27陆艮峰初稿 ISCS 与子系统接口协议 2 1通信接口通信接口 基于以太网的 MODBUS TCP IP 协议 ISCS 系统的 FEP 前端处理器 配置为主机 子系统的通讯设备配置为从 机 ISCS 系统每 500ms 向子系统 发送一次轮询报文 2MODBUS TCP IP 协议协议 2 12 1 协议协议概述概述 MODBUS TCP IP 协议在应用层采用 MODBUS 信息定义 在传输层和网络层采 用 TCP IP 用于以太网通讯 MODBUS TCP IP 协议和 OSI 各层之间的对应关系 由下图表示 图片来源于 图片来源于 MODBUS orgMODBUS org 参考 参考 OSIOSI 模型的应用层模型 模型的应用层模型 19 世纪 70 年代 MODBUS 协议初次发布 至今已经在工业自动化领域广泛应 用 MODBUS 协议获取简便 访问 且便于实现 MODBUS 协议本身没有变化 但对报文的发送方式和速率作了改变 以满足工业 应用的实时性需求 MODBUS TCP 由此产生 MODBUS TCP IP 就是简单地将 MDOBUS 帧嵌入到 TCP 帧中 TCP IP 的请求 应答机制能和 MODBUS 本身的主 从机制很好的配合工作 ISCS 与子系统接口协议 3 2 22 2 报文格式组成 标准报文格式组成 标准 MODBUSMODBUS TCP IPTCP IP 报文格式组成 报文格式组成 报头功能码数据 报头描述 报头描述 字段字段客户端客户端服务端服务端 事务标识由客户端初始化服务端从接收到的请求中拷贝 协议标识由客户端初始化服务端从接收到的请求中拷贝 长度由客户端初始化服务端初始化 应答 单元标识由客户端初始化服务端从接收到的请求中拷贝 事务标识事务标识 用于事务配对 MODBUS 服务端在应答时拷贝来自客户端请求的事务标识 请求和应答通过事务标识相对应 因此 在同一时间 TCP 连接的事务标识必 须是唯一的 有几种方式应用事务标识 比如简单计数 TCP 顺序号 每次请 求时加 1 协议标识协议标识 用于系统内的多元标识 MODBUS 协议用 0 标识 长度长度 长度字段以字节计数 包括单元标识和数据字段 单元标识单元标识 该字段用于系统内路由 其典型应用为请求和服务器应答报文返回值在该 字段值必须相同 在某些情况下 单元标识携带远程设备的 MODBUS 从机地址 但在 TCP IP 层 MODBUS 服务端用其 IP 地址寻址 因此 MODBUS 单元标识就没有实际意义 此时该字段值为 0 xFF 顺序号的应用顺序号的应用 对于每个信息 MODBUS MASTER ISCS FEP 会给 MODBUS SLAVE 子系统 初始化 制造顺序号 MODBUS SLAVE 子系统 的响应信息应使用从 MODBUS MASTER ISCS FEP 发 出的相同的顺序号 ISCS FEP 应确认从子系统收到的顺序号与之前发送给子系统的顺序号相同 ISCSISCS FEPFEP增加顺序号数值的原则 增加顺序号数值的原则 顺序号应用两个字节来储存 ISCS 与子系统接口协议 4 顺序号的范围应是 0 65535 或 0 x0000 to 0 xFFFF 顺序号的初始数值应是 0 对于每个发出的信息 包括用于正常轮询 故障轮询 重试信息或控制 ISCS FEP 应把顺序号数值增加 1 如果 ISCS FEP 发现子系统的响应信息的顺序号有错误 应不理会该信息 并宣布通讯状态欠佳 2 32 3 报文详述报文详述 本文中定义的寄存器地址将根据子系统供应商最终提供的IO点类表作相应 的修改 2 3 12 3 1 功能码功能码 0 x04 0 x04 读输入寄存器读输入寄存器 例如 ISCS 向子系统发送查询帧 获取子系统设备状态 Description 描述Size Byte 长度 字节 Definition 含义 Transaction Identifier 事务 标识 2 TCP SEQUENCE NUMBER TCP 顺序号 Protocol Identifier 协议标识 2 0 x0000 Modbus Tcp 为 0 Length 长度 20 x0006 Header 报头 Unit Identifier 单元标识 1 0 xFF Modbus Tcp 总为 0 xFF Function Code 功能码 10 x04 Starting Address 起始地址 20 x XXXX 根据实际情况定义 Modbus Data Modbus 数据 Number of Registers 寄存器数 量 2 N 最大为 125 个寄存器 子系统向 ISCS 返回响应 Description 描述Size Byte 长 度 字节 Definition 含义 Transaction Identifier 事务标识 2 TCP 顺序号 从客户端请求中拷贝 Protocol Identifier 协议标识 2 0 x0000 从客户端请求中拷贝 Header 报头 Length 长度 22 N 3 ISCS 与子系统接口协议 5 Unit Identifier 单元标识 10 xFF Function Code 功能码 10 x04 Byte Count 字节个数 1 2 N N 最大为 125 个寄存器 子系统发送到 ISCS 的数据如果超过 125 个寄存器 ISCS 可以轮询多次 Modbus Data Modbus 数据 Data as requested 请求的数据 2 N 0 xXX XX 根据实际点表定义 注 本表中 N X 出现的部分将根据实际点表定义 2 3 22 3 2 功能码功能码 0 x10 0 x10 预置多寄存器预置多寄存器 例如 ISCS 向子系统发送信息 Description 描述 Size Byte 长度 字节 Definition 含义 Transaction Identifier 事务标识 2 TCP SEQUENCE NUMBER TCP 顺序号 Protocol Identifier 协议标识 20 x0000 Length 长度 2 2 N 7 最大为 125 个寄存器 Header 报头 Unit Identifier 单元标识 10 xFF Function Code 功能码 10 x10 Write Starting Address 写起始地址 20 x XXXX 根据实际点表定义 NUMBER OF REGISTERS 寄存器个数 2 N 最大为 125 个寄存器 Byte Count 字节个数 1 2 N N 最大为 125 个寄存器 子系统发送到 ISCS 的数据如果超过 125 个寄存器 ISCS 可以轮询多次 Modbus Data Modbus 数据 Data 数据 2 N 0 xXX XX 根据实际点表定义 子系统向 ISCS 返回响应 Description 描述 Size Byte Definition 含义 Transaction Identifier 事务标识 2 TCP 顺序号 从客户端请求中拷贝 Header 报头 Protocol Identifier 协议标识 2 0 x0000 从客户端请求中拷贝 ISCS 与子系统接口协议 6 Length 长度 20 x0006 Unit Identifier 单元标识 1 0 xFF 从客户端请求中拷贝 Function Code 功能码 10 x10 Write Starting Address 写起始地址 20 x XXXX 和客户端请求地址一致 Modbus Data Modbus 数据 NUMBER OF REGISTERS 寄存器个数 2 N 和客户端请求寄存器数一致 注 本表中 N X 出现的部分将根据实际点表定义 2 3 32 3 3 异常处理异常处理 异常处理的目的是 当通讯故障时 向客户端提供与故障相关的信息 响应功能码 请求功能码 0 x80 错误功能码用于提示错误原因 目前使用的异常码是 01 02 03 和 04 异常码名称含义 01ILLEGAL FUNCTIAON 服务端不支持请求报文所要求的功能 原因可能是 此功能仅仅适用于新型设备 当前使用的设备不具备此功能 此功能码也表明 服务端 从站 处于故障状态 无法处理客户端请求 比如 服务端尚未被初始化 就被要求返回数据 02ILLEGAL ADDRESS 服务端不支持请求报文中数据地址 在某些特定条件下 数据个数和数据长上度有可能不对应 从而产生此错误 如果一个控制器总共有 100 个寄存器 客户端请求数据包中 如果寄存器的起 始地址是 96 数据长度为 4 这是允许的 但是 如果寄存器的起始地址是 96 数据长度是 5 异常发生 因为 96 5 101 已经超过了控制器最大 寄存器的数量 03ILLEGAL DATA VALUE 服务端发现 客户端发送的数据中 包含有无效数据 此异常表明 服务端接收到的数据包含错误 此异常并不一定意味着 服务端接收的数据包中的 某个数据越限 因为 Modbus 协议对特定寄存器的含义不作处理 04SLAVE DEVICE FAILURE 当服务端执行相应的功能时 发生了无法恢复的错误 ISCS 与子系统接口协议 7 2 3 42 3 4功能码功能码 0 x04 0 x04 读输入寄存器读输入寄存器 异常响应异常响应 例如 ISCS 向子系统发送查询帧 获取子系统设备状态 Description 描述Size Byte 长度 字节 Definition 含义 Transaction Identifier 事务 标识 2 TCP SEQUENCE NUMBER TCP 顺序号 Protocol Identifier 协议标识 2 0 x0000 Modbus Tcp 为 0 Length 长度 20 x0006 Header 报头 Unit Identifier 单元标识 1 0 xFF Modbus Tcp 总为 0 xFF Function Code 功能码 10 x04 Starting Address 起始地址 20 x XXXX 假设起始地址 寄存器数 量超出了服务端的最大地址 Modbus Data Modbus 数据 Number of Registers 寄存器数 量 2 N 最大为 125 个寄存器 子系统向 ISCS 返回异常响应 Description 描述Size Byte 长 度 字节 Definition 含义 Transaction Identifier 事务标识 2 TCP 顺序号 从客户端请求中拷贝 Protocol Identifier 协议标识 2 0 x0000 从客户端请求中拷贝 Length 长度 20 x03 Header 报头 Unit Identifier 单元标识 10 xFF Function Code 功能码 1 0 x84 响应功能码 Modbus Data Modbus 数据 Illegal Function Code 错误功能码 1 0 x02 非法地址 详见异常码表 注 本表中 N X 出现的部分将根据实际点表定义 2 3 52 3 5 功能码功能码 0 x10 0 x10 预置多寄存器预置多寄存器 异常响应异常响应 例如 ISCS 向子系统发送信息 ISCS 与子系统接口协议 8 Description 描述 Size Byte 长度 字节 Definition 含义 Transaction Identifier 事务标识 2 TCP SEQUENCE NUMBER TCP 顺序号 Protocol Identifier 协议标识 20 x0000 Length 长度 2 2 N 7 N 最大为 125 个寄存器 Header 报头 Unit Identifier 单元标识 10 xFF Function Code 功能码 10 x10 Write Starting Address 写起始地址 20 x XXXX 假设起始地址 寄存器数量 超出了服务端的最大地址 NUMBER OF REGISTERS 寄存器个数 2 N 最大为 125 个寄存器 Byte Count 字节个数 1 2 N N 最大为 125 个寄存器 Modbus Data Modbus 数据 Data 数据 2 N 0 xXX XX 根据实际点表定义 子系统向 ISCS 返回异常响应 Description 描述Size Byte 长 度 字节 Definition 含义 Transact

温馨提示

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

评论

0/150

提交评论