收藏 分销(赏)

标准modbus协议文本.doc

上传人:可**** 文档编号:3545503 上传时间:2024-07-09 格式:DOC 页数:9 大小:926KB 下载积分:10 金币
下载 相关 举报
标准modbus协议文本.doc_第1页
第1页 / 共9页
标准modbus协议文本.doc_第2页
第2页 / 共9页


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

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 合同范本

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服