• 休闲生活
  • 教育教学
  • 经济贸易
  • 政法军事
  • 人文社科
  • 农林牧渔
  • 信息科技
  • 建筑房产
  • 环境安全
  • 当前位置: 达达文档网 > 达达文库 > 经济贸易 > 正文

    “数字化国标”控制网络技术规范介绍(上)

    时间:2020-09-15 07:51:07 来源:达达文档网 本文已影响 达达文档网手机站

    《建筑及居住区数字化技术应用》中的《控制网络通讯协议应用要求》部分引用了目前已成为我国国家标准(含国家标准化指导性技术文件)的三种控制网络技术规范:GB/Z 20177-2006《控制网络LONWORKS技术规范》、GB/Z 19760 《控制与通信总线CC-Link规范》与GB/Z 19582《基于Modbus协议的工业自动化网络规范》。这里对

    三种控制网络技术规范作一个简要的介绍。

    Modbus协议概述

    1979年Modicon公司(现Schneider的一部分)提出了Modbus协议的工业自动化网络规范。Modbus协议最初作为工业串行链路的事实标准,1997年Schneider电气在TCP/IP上实现Modbus协议。2004年Modbus被中国国家标准化管理委员会批准为我国国家标准化指导性技术文件,编号为GB/Z 19582-2004。

    GB/Z 19582-2004“基于Modbus协议的工业自动化网络规范”由三部分组成,第1部分是Modbus应用协议规范,第2部分是Modbus协议在串行链路上的实现指南,第3部分是Modbus协议在TCP/IP上的实现指南。第1部分描述了Modbus事务处理;第2部分提供了一个有助于开发者实现串行链路上的Modbus应用层的参考信息;第3部分提供了一个有助于开发者实现TCP/IP上的Modbus应用层的参考信息。

    串行链路和TCP/IP上的Modbus协议通信规程是基于相应的ISO分层模型的。串行链路上的Modbus协议是基于TIA/EIA标准232和485-A,TCP/IP上的Modbus协议是基于IETF标准RFC793和RFC791。

    Modbus应用协议规范

    Modbus应用协议是OSI模型第7层上的应用层报文传输协议,用于在通过不同类型的总线或网络连接设备之间的客户机/服务器通信。Modbus应用协议是一种简单客户机/服务器应用协议,客户机能够向服务器发送请求,服务器分析请求,处理请求,向客户机发送应答。

    Modbus应用协议定义了一个基于应用数据单元(ADU)的通用Modbus帧结构,如图1所示,应用数据单元(ADU)是由协议数据单元(PDU)上加入一些附加域构成。

    Modbus应用数据单元是由启动Modbus应用协议事务处理的客户机创建的,即Modbus应用协议建立了客户机启动的请求格式,其中功能码字段向服务器指示执行哪种操作,通过向一些功能码加入子功能码能够定义多项操作。Modbus应用协议使用功能码列表读或写数据,或者在远程服务器上进行远程读/写寄存器列表、读/写比特列表、诊断以及标识等处理。

    当服务器对客户机响应时,它使用功能码域来指示正常(无差错)响应或者出现某种差错(称为异常响应)。对于一个正常响应来说,服务器仅复制原始功能码;对于一个异常响应来说,服务器将原始功能码的最高有效位设置逻辑1后返回,异常码还应指示差错类型。

    对于RS232/RS485串行链路通信来说,Modbus ADU的最大长度 = 253字节+服务器地址(1字节) + CRC (2字节) = 256字节;对于TCP/IP通信来说,Modbus ADU的最大长度 = 253字节+ MBAP (7字节) = 260字节。

    Modbus应用协议定义了三种PDU结构:

    (1)Modbus请求PDU,mb_req_pdu = { function_code, request_data}, 其中function_code为1字节的Modbus功能码,request_data为与功能码有关的n字节字段;

    (2)Modbus响应PDU,mb_rsp_pdu = { function_code, response_ data }, 其中function_code为1字节的Modbus功能码,response_data - [n字节] 为与功能码有关的n字节字段;

    (3)Modbus异常响应PDU,mb_excep_rsp_pdu = { function_code, exception_code }, 其中function_code为1字节的Modbus功能码 + 0x80,exception_code为1字节的异常码。

    Modbus的数据模型是以一组具有不同特征的表为基础建立的,由离散量输入、线圈、输入寄存器、保持寄存器四个基本表构成。对于每个基本表,Modbus应用协议允许单个地选择65536个数据项,而且可将其读写操作设计成可以越过多个连续数据项直到数据大小规格限制,其数据大小规格限制与事务处理功能码有关。

    Modbus功能码可分为公共功能码、用户定义的功能码以及保留功能码3类,公共功能码的定义见表1。

    Modbus协议在串行

    链路上的实现

    Modbus协议在串行链路上的实现描述了在RS-485和RS-232等物理接口上实现Modbus串行链路协议。在物理层的Modbus串行链路上,可以使用不同的物理接口(RS485、RS232)。最常用的物理接口是TIA/EIA-485(RS485)两线制接口,该物理接口也可以使用RS485四线制接口。当只需要近距离的点对点通信时,也可以使用TIA/EIA-232-E (RS232)串行接口作为Modbus串行链路的物理接口。

    Modbus串行链路协议是一个主—从协议,该协议位于OSI模型的第2层。网络上的每个从站必须有唯一的地址(从1到247),从站地址用于寻址从站设备,由主站发起从站地址,地址0用于广播模式,不需要响应。主站用两种模式向从站发出Modbus请求: 单播模式和广播模式。在单播模式中,主站寻址单个从站,从站接收并处理完请求之后,向主站返回一个报文(一个“应答”)。在广播模式中,主站可以向所有的从站发送请求。

    在Modbus串行链路协议中,定义了两种串行传输模式:RTU模式和ASCII模式。只有每个设备都有相同的模式才能进行Modbus设备之间的互操作。在相同的波特率下,RTU模式比ASCII模式有更高的数据吞吐量。

    当设备在Modbus串行链路上使用RTU(远程终端单元)模式通信时,报文中每个8位字节含有两个4位十六进制字符。时长至少为3.5个字符时间的空闲间隔将报文帧区分开。必须以连续的字符流发送整个报文帧。如果两个字符之间的空闲间隔大于1.5个字符时间,那么认为报文帧不完整,并且接收站应该丢弃这个报文帧。

    当设备在Modbus串行链路上使用ASCII(美国信息交换标准代码)模式通信时,用两个ASCII字符发送报文中的一个8位字节。报文必须以“:”开始,以“LF-CR”结束,数据用十六进制ASCII码值表示,使用LRC进行差错校验。

    Modbus协议在TCP/IP上的实现

    Modbus协议在TCP/IP上的实现描述了TCP/IP上的Modbus报文传输服务的实现。Modbus报文传输服务提供连接至一

    个Ethernet(以太网)TCP/IP网络上的设备之间的客户机/服务器通信。Modbus协议在TCP/IP上的实现主要由三部分组成:

    (1)在TCP/IP上的Modbus协议概述;

    (2)Modbus客户机、服务器以及网关实现的功能描述;

    相关热词搜索: 国标 数字化 技术规范 控制 介绍

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网