当前位置:文档之家› 标准modbus协议文本

标准modbus协议文本

ISCS与子接口协议版本:V 1.1

南京南瑞集团公司

1通信接口

基于以太网的MODBUS TCP/IP协议

ISCS系统的FEP(前端处理器)配置为主机,子系统的通讯设备配置为从机。ISCS系统每500ms向子系统发送一次轮询报文。

2MODBUS TCP/IP 协议

2.1 协议概述

MODBUS TCP/IP协议在应用层采用MODBUS信息定义,在传输层和网络层采用TCP/IP,用于以太网通讯。MODBUS TCP/IP协议和OSI各层之间的对应关系由下图表示:

(图片来源于:参考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向子系统发送查询帧,获取子系统设备状态:

子系统向ISCS返回响应

注:本表中N、X出现的部分将根据实际点表定义。

2.3.2 功能码0x10(预置多寄存器)

例如:ISCS向子系统发送信息:

子系统向ISCS返回响应:

注:本表中N、X出现的部分将根据实际点表定义。

2.3.3异常处理

异常处理的目的是:当通讯故障时,向客户端提供与故障相关的信息。➢响应功能码=请求功能码+ 0x80;

➢错误功能码用于提示错误原因。

目前使用的异常码是:01,02,03和04。

2.3.4功能码0x04(读输入寄存器)异常响应

例如:ISCS向子系统发送查询帧,获取子系统设备状态:

子系统向ISCS返回异常响应

注:本表中N、X出现的部分将根据实际点表定义。

2.3.5 功能码0x10(预置多寄存器) 异常响应

例如:ISCS向子系统发送信息:

子系统向ISCS返回异常响应

注:本表中N、X出现的部分将根据实际点表定义。

相关主题