GBZ19582.2-2004基于Modbus协议的工业自动化网络规范第2部分:Modbus协议在串行链路上的实现指南.pdf_第1页
GBZ19582.2-2004基于Modbus协议的工业自动化网络规范第2部分:Modbus协议在串行链路上的实现指南.pdf_第2页
GBZ19582.2-2004基于Modbus协议的工业自动化网络规范第2部分:Modbus协议在串行链路上的实现指南.pdf_第3页
GBZ19582.2-2004基于Modbus协议的工业自动化网络规范第2部分:Modbus协议在串行链路上的实现指南.pdf_第4页
GBZ19582.2-2004基于Modbus协议的工业自动化网络规范第2部分:Modbus协议在串行链路上的实现指南.pdf_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

I C S 2 5 . 0 4 0一一 N 10 . 中华人民共和国国家标准化指导性技术文件 G B / Z 1 9 5 8 2 . 2 -2 0 0 4 基于Mo d b u s 协议的工业自动化网络规范 第2 部分: Mo d b u s 协议在串行链路上的 实现指南 Mo d b u s i n d u s t r i a l a u t o ma t i o n n e t w o r k s p e c i f i c a t i o n - P a r t 2 : Mo d b u s p r o t o c o l i mp l e m e n t a t i o n g u i d e o v e r s e r i a l l i n k 2 0 0 4 - 0 9 - 2 1 发布2 0 0 5 - 0 3 - 0 1 实施 率 a M * 臀 霭 t 臀篷 臀 M 发 “ G B / Z 1 9 5 8 2 . 2 -2 0 0 4 前 称刁 本指导性技术文件包括两个通信规程中使用的 Mo d b u s 应用层协议和服务规范: 串行链路上的Mo d b u s Mo d b u s 串行链路基于 T I A / E I A标准 : 2 3 2 - F和 4 8 5 - A . 一 一T C P / I P上 的 Mo d b u s Mo d b u s T C P / I P基于 I E T F文件 : R F C 7 9 3 和 R F C 7 9 1 0 串行链路和 T C P / I P上的 Mo d b u s 是根据相应 I S O分层模型说明的两个通信规程。下图强调指出 了本指导性技术文件的主要部分。深色方框表示规范, 浅色方框表示已有的国际标准( T I A / E I A和 I E T F标准) 。 一Med6ws- TCPfi#IETF IkFC 793Mudbusl . j-r.SFWE1,4-2324 TWESA-4R6-AMeMe 基于 Mo d b u s 协议的工业 自动化网络规范分为三部分。 第 1 部分 : Mo d b u s 应用协议 第 2 部分 : Mo d b u s 协议在串行链路上的实现指南 一第3 部分: Mo d b u s 协议在T C P / I P上的实现指南 第 1 部分描述了 Mo d b u s 事务处理 ; 第 2 部分提供了一个有助于开发者实现串行链路上的 Mo d b u s 应用层的参考信息 ; 第 3 部分提供了一个有助于开发者实现 T C P / I P上的 Mo d b u s 应用层的参考信息。 本部分的附录 A、 附录 B是规范性附录; 附录 C 、 附录 D是资料性附录。 本部分 由中国机械工业联合会提出。 本部分 由全国工业过程测量和控制标准化技术委员会归 口。 本部分起草单位: 机械工业仪器仪表综合技术经济研究所、 北京交通大学现代通信研究所 、 上海 自 动化仪表股份有限公司、 施耐德电气( 中国) 投资有限公司、 冶金工业钢铁研究总院、 宝钢集团上海宝信 软件股份有限公司。 本部分主要起草人 : 欧阳劲松 、 孙听、 刘铁椎 、 冯晓升、 王勇、 张荣生、 丛力群 、 段永康。 标准分享网 w w w .b z f x w .c o m G B / Z 1 9 5 8 2 . 2 -2 0 0 4 基于Mo d b u s 协议的工业自动化网络规范 第2 部分: Mo d b u s 协议在串行链路上的 实现指南 范围 Mo d b u s 标准定义了O S I 模型第7 层上的应用层报文传输协议, 它在连接至不同类型总线或网络 的设备之间提供客户机 服务器通信。它还将串行链路上的协议标准化 , 以便在一个主站和一个或多个 从站之间交换 Mo d b u s 请求 。 本部分的目的是表述串行链路上的 M o d b u s 协议。使用对象为在他们的产品实现串行链路 Mo d b u s 协议的系统设计者。 本部分将促进使用 Mo d b u s 协议的设备之间的互操作性 。 本部分还是对 基于 Mo d b u s 协议的工业 自动化网络规范第 1 部分 : Mo d b u s 应用协议 标准 的 补充, 具体见图 t o 在第 9 章中, 定义了“ Mo d b u s 串行链路” 的不 同实现等级 。等级的规定是设备能够属于某个等级 而必须遵守的全部要求。 嚣 ModbusJgfMX- (OSl%7M) 本嚼 Mod bus 碑 (OS1112)o$ f 3 rc 图 1 基于 Mo d b u s 协议的工业自动化网络规范第 1 部分、 第 2 部分标准的关系 2 协议概述 本部分描述串行链路上的 Mo d b u s 协议。Mo d b u s 串行链路协议是一个主一从协议。该协议位于 O S I 模型的第 2 层 。 主一从类型的系统有一个向某个“ 子” 节点发出显式命令并处理响应的节点( 主站) 。从站在没有收 到主站的请求时并不主动地传输数据 , 也不与其他从站通信。 在物理层 , 串行链路上的 Mo d b u s 系统可以使用不同的物理接 口( R S 4 8 5 , R S 2 3 2 ) 。最常用的物理 接口是T I A / E I A - 4 8 5 ( R S 4 8 5 ) 两线制接口。作为附加选项, 该物理接口也可以使用R S 4 8 5四线制接 口。当只需要短距离的点到点通信时 , 也可以使用 T I A / E I A - 2 3 2 - E ( R S 2 3 2 ) 串行接 口作为 Mo d b u s 系 统的物理接 口( 见第 7 章) 。 图2给出了与7 层O S I 模型对应的Mo d b u s 串行通信栈的一般表示。 G B / Z 1 9 5 8 2 . 2 -2 0 0 4 层I S O/ OS I 7应用层M o d b u s 应用 协议一一一一一一一 一 下 刁 6裘示层坚I A A - A 1 - Fit田t r . ; w L I 1 5合 话 层;空玄 户机 旧 各器I ) 4传 珊 层至砚 3网 络层望I 2数据 铸 路Mod b us 甲行 链 路 协 议I 一一巨 Modbus-tM/AMEIA/TIA-485(*EIA/TIA-232) 图 2 Mo d b u s 协议和 I S O / O S I 模型 位于O S I 模型第7 层的Mo d b u s 应用层报文传输协议提供了总线或网络上连接的设备之间的客户 机 服务器通信。在 Mo d b u s 串行链路上, 主站提供客户机的功能 , 而从站作为服务器。 3 约定 在本部分中, 使用下列词语定义每个特定要求的重要程度 。 “ 必须,“ 要求的” 含有词语“ 必须” 的所有要求是强制的。词语“ 必须” 或形容词“ 要求的” 表示该项为执行的绝对要 求 。这些词语带有下划线 。 “ 应该” “ 建议的” 认为包含“ 应该” 或形容词“ 建议的” 的所有建议是期望的功能。应该使用这些建议作为选择不同的 实现功能选项时的指南 。在特定条件下 , 可以有合理的理由忽略这些项 目, 但是 , 应该理解其全部含义 , 并且在选择不同过程之前仔细考虑各种情况。这些词语带有下划线 。 “ 可以” “ 可选的” 词语“ 可以” 或形容词“ 可选的” 表示该项 目为真正意义上可选的。因为特定的市场需求或产品功能 增强 , 例如: 一个设计者可以选择包含该项 目, 另一个设计者可以选择忽略该项。 4 一致 性 如果某个实现不满足实现等级中的一个或多个必须的要求, 那么这个实现是不符合的。 如果某个实现满足实现等级中的所有必须的要求和所有应该的建议 , 那么称这个实现为“ 无条件符 合的” 。 如果某个实现满足实现等级中的所有必须的要求但不满足所有应该的建议 , 那么称这个实现为“ 有 条件符合的” 。 5 缩略语 本部分中使用下列特定词语、 符号和缩略语的定义。 2 W在“ 电气接 口” 一章中定义的两线制配置 , 或其中的一个 接 口。 4 W在“ 电气接口” 一章中定义的四线制配置 , 或其中的一个 接 口。 A U I附加单元接口。 标准分享网 w w w .b z f x w .c o m G B / Z 1 9 5 8 2 . 2 -2 0 0 4 公共端( C o m m o n ) E I A / T I A标准中的信号公共端。在两线制或四线制 R S 4 8 5 Mo d b u s 网络中, 信号和可选的电源的公共端。 D C E ( D a t a C o m mu n i c a t i o n E q u i p m e n t ) 一个实现了R S 2 3 2 数据电路终端设备的Mo d b u s 设备, 例如: 可编程序控制器适配器, 也称作数据通信设备。 设备( D e v i c e ) Mo d b u s 设备。 驱动器( D r i v e r )发生器, 或发送器 D T E ( D a t a T e r m i n a l E q u i p m e n t )一个实现了R S 2 3 2数据终端设备的Mo d b u s 设备。例 如: 可编程终端或P C . I T r U n t e r f a c e o n T r u n k )干线侧的 物理总线接口。 I D v ( I n t e r f a c e o n D e r i v a t i o n )设备侧的 物理总线接口。 L T ( L i n e T e r m i n a t io n )链路终端。 Mo d b u s 设备( MO D B U S D e v ic e )在串行链路上实现Mo d b u s 并遵循其技术规范的设备。 R S 2 3 2 E I A / T I A - 2 3 2 标准。 R S 4 8 5 E I A / T I A - 4 8 5 标准。 R S 4 8 5 - Mo d b u s实现了Mo d b u s 串行链路并遵循其技术规范的设备。 收发器( T r a n s c e i v e r )发送器和接收器( 或驱动器和接收器) 。 6 Mo d b u s 数据链路层 6 . 1 Mo d b u s 主 从协议原理 :M o d b u s 串行链路协议是一个主一从协议。在同一时间, 只能将一个主站连接到总线, 将一个或多 个从站( 最大数量为2 4 7 ) 连接到相同串行总线。Mo d b u s 通讯总是由主站发起。当从站没有收到来自 主站的请求时, 将不会发送数据。从站之间不能相互通信 。主站同时只能启动一个 Mo d b u s 事务处理 。 主站用两种模式向从站发出Mo d b u s 请求: 一一 单播模式( 见图 3 ) , 主站寻址单个从站。从站接收并 处理完请求之后 , 向主站返 回一个报文 ( 一个“ 应答” ) 。 在这种模式下 , 一个 Mo d b u s 事务处理包含 2 个报文 : 一个是主站的请求, 另一个是从站的应答。 每个从站必须有唯一的地址( 从 1 - 2 4 7 ) , 这样才能区别于其他站被独立地寻址。 广播模式( 见图 4 ) , 主站可以向所有 的从站发送请求。 对于主站广播的请求没有应答返回。广播请求必须是写命令 。所有设备必须接受写功能的广播。 地址 0 被保留用来识别广播通信 。 单播和广播模式的区别在一个多点的结构下( 如R S 4 8 5 ) 更加易于理解。 厂 叔 黔 从站从站从站 图 3 单播模式 G B / Z 1 9 5 8 2 . 2 - 2 0 0 4 f r 从站从站从站 图 4 广 播模式 6 . 2 Mo d b u s 寻址规则 见表 t o Mo d b u s 寻址空间由 2 5 6 个不同地址组成。 表 1 卜 一 09* t 一一 1-x247A m * A U 一一 248-255% m州 地址 0 为广播地址 。所有从站必须识别广播地址 。 Mo d b u s 主站没有特定地址, 只有从站有一个地址。在 Mo d b u s 串行总线上 , 这个地址必须是唯 一 的 。 6 . 3 Mo d b u s 帧描述 见 图 5和 图 6 . Mo d b u s 应用协议定义了一个与基础通信层无关的简单协议数据单元( P D U) 功 能 码 数 据 闷卜 Mod b us P DU 图 5 Mo d b u s 协议数据单元 特定总线或 网络上的 Mo d b u s 协议映射能够在协议数据单元 ( P D U) 上 引入一些 附加域。启动 Mo d b u s 事务处理的客户机构造 Mo d b u s P D U, 然后 , 添加附加域 , 以便构造适当的通信 P D U o 阅卜 Mo d b u s串行链路 P DU 叫卜 Mo d bu s PDU 图 6 串行链路上的 Mo d b u s 帧 在 Mo d b u s 串行链路上, 地址域只含有从站地址 。 如前面各节所述 , 有效的从站地址范围为十进制 0 - 2 4 7 。在 1 -2 4 7 范围中为每个从站指配单独 的地址。主站通过将从站地址放置在报文地址域中来寻址从站。当从站返回响应时 , 它将 自己的地址 放到响应地址域中, 以便使主站知道哪个从站正在响应。 功能码指示服务器要执行何种操作。功能码 的后面是含有请求和响应参数的数据域 。 差错检验域是根据报文 内容执行“ 冗余 校验” 计算 的结果。根据使用 的传输模式 ( R T U 或 标准分享网 w w w .b z f x w .c o m G B / Z 1 9 5 8 2 .2 -2 0 0 4 A S CU) , 使用两种计算方法。( 见 6 . 5 ) 6 . 4 主站 从站状态图 Mo d b u s 数据链路层由两个独立子层组成 : 主 从协议 ; 传输模式( R T U和A S C II 模式) 。 下列各节描述了与所使用传输模式无关的主站和从站状态图。 在第 7 章中使用两个状态图详细说明了 R T U和 A S C I I 传输模式。描述了一个帧的接收和发送。 状态图词法 : 使用 U ML标准符号法绘制状态图( 图 7 ) 。标记法要点如下 : 触发 保护条件 巨口一 一竺 一 注t1C S B 图 7 U ML标准表示 当处于“ 状态 A ” 的系统发生“ 触发” 事件时, 只有当“ 保护条件” 为真时 , 系统才会进人“ 状态 B “ 。然 后 , 执行一个“ 动作” 。 6 . 4 . 1 主站状态图 图 8 说明了主站的动作 : 书公一 图 8 主站状态图 上述状态图的一些解释为 : 状态“ 空闲” 无待决请求。这是电源加电后的初始状态。只有在“ 空 闲” 状态下才能发送请 求。发送一个请求之后 , 主站离开“ 空闲” 状态 , 并且不能同时发送第二个请求。 当向从站发送单播请求时, 主站将进人“ 等待应答” 状态 , 并且启动一个“ 响应超时” 。它防止主 站不确定地停 留在“ 等待应答” 状态下 。响应超时的时间与具体应用有关。 当收到一个应答时, 主站在处理数据之前检验应答。在某些情况下 , 检验的结果可能为错误, 例如 : 收到来 自非期望从站的应答或在接收到的帧中的错误。收到来 自非期望从站的应答时, 响应超时继续计时。如果在帧上检测到差错 , 可以进行重试。 如果没有接收到应答 , 响应超时 , 并产生一个错误。然后 , 主站进入“ 空闲” 状态 , 并发出一个重 试请求。重试的最大次数与主站设置有关 。 当在串行总线上发送广播请求时, 从站不返 回响应 。然而 , 主站需要考虑延迟 , 以便在发送新 的请求之前允许从站处理当前请求。这个延迟被称作“ 转换延迟” 。因此, 在返 回“ 空闲” 状态 G B / Z 1 9 5 8 2 . 2 -2 0 0 4 并且能够发送另一个请求之前 , 主站进人“ 等待转换延迟” 状态。 在单播模式下 , 必须设置足够长的响应超时 , 以便任何从站处理请求并返回响应; 在广播模式 下 , 必须有足够长的转换延迟 , 以便任何从站只处理请求并能够接收新请求。因此 , 转换延迟 应该比响应超时短。在9 6 0 0 b i t / s 速率时, 典型的响应超时值为从 1 秒到几秒, 而转换延迟 为从 1 0 0 ms -2 0 0 ms . 帧错误包括: 1 ) 每个字符的奇偶校验; 2 ) 整个帧的冗余校验。详细解释见6 . 6 . 状态图本身是非常简单的。它没有考虑对链路的访问、 报文帧及在传输错误之后 的重试等。有关 帧传输的细节见6 . 5 0 6 . 4 . 2 从站状态图 图 9 说明了从站的动作: 气沙 图 9 从站状态图 上述状态图的一些解释为 : 状态“ 空闲” 无待决请求。这是电源加电后的初始状态。 当收到一个请求时, 在处理请求中要求的动作之前, 从站校验报文包。可以出现不同错误: 请 求的格式错误 、 无效动作。当检测到错误时, 必须向主站发送应答 。 当完成请求的动作之后, 单播报文要求必须格式化应答并将其发送给主站 。 如果从站检测到接收帧中的错误 , 那么不向主站返回响应。 任何从站应该定义并管理 Mo d b u s 诊断计数器 , 以便提供诊断信息。通过使用 Mo d b u s 诊断 功能码可以得到这些计数值( 见附录A和附录D中Mo d b u s 应用协议规范) 。 6 . 4 . 3 主站 从站通信时序图 图1 0 表示了3 种典型的主站 从站通信的时序图。 6 . 5 两种串行传输模式 定义了两种串行传输模式: R T U模式和A S C 11 模式。 定义了链路上串行传送报文域的位内容。它确定了信息如何打包为报文域和如何解码 。 在Mo d b u s 串行链路上, 所有设备的传输模式( 及串行口参数) 必须相同。 尽管在某些特定应用中要求A S C I 模式, 但只有每个设备都有相同的模式才能进行Mo d b u s 设备 之间的互操作 : 所有设备必须实现 R T U模式 。A S C II传输模式是一个选项。 用户应该将设备设置成所期望的模式 : R T U或 A S C U 模式 。默认设置必须为 R T U模式 。 标准分享网 w w w .b z f x w .c o m G B / Z 1 9 5 8 2 . 2 -2 0 0 4 主站 书 I 1 1 仁 IyTTTl j jIf3 m -. 1 I 从站111 叫 6 i ? r F i、 户 ,八1 从站IV!1I! 叫 一 f 物理链路 11 广 一一 数 据 交 换 一 一a交 换 I 一I M 3Z 换 1十 图 1 0 主站 从站通信时序图 注 1 : 请求、 应答、 广播阶段的持续时间与通信特征( 帧长度和吞吐量) 有关。 注2 : 等待和处理阶段的持续时间与从站应用所需的请求处理时间有关。 6 . 5 . 1 R T U传输模式 当设备在Mo d b u s 串行链路上使用R T U ( 远程终端单元) 模式通信时, 报文中每个8 位字节含有两 个 4 位十六进制字符 。这种模式的主要优点是在相同的波特率下其较高的字符密度具有比 A S C II模 式更高的吞吐率。必须以连续的字符流传输每个报文。 R T U模式中每个字节( 1 1 位) 的格式为 : 编码系统:8 位二进制 报文中每个8 位字节含有两个4 位十六进制字符(( 0 - 9 , A -F ) 每个字节的位 :1 个起始位 8 个数据位 , 首先发送最低有效位 1 个奇偶校验位 1 个停止位 偶校验是要求的。也可以使用其他模式( 奇校验、 无校验) 。为了保证与其他产品的最大兼容性, 建 议还支持无校验模式 。默认校验模式必须是偶校验 。 注: 使用无校验时要求 2 个停止位。 如何串行地传送字符: 发送每个字符或字节的顺序是从左到右( 见图 1 1 ) : 最低有效位( L S B ) 最高有效位( MS B ) 一Fjw 7m 三一工一三二! *911 i Mo d b u s 报文 圈 贵 寸 TAMA 曰二CRC $15 3 3. 5 图 1 4 R T U报文帧 必须以连续的字符流发送整个报文帧。 如果两个字符之间的空闲间隔大于1 . 5 个字符时间, 那么认为报文帧不完整, 并且接收站应该丢弃 这个报文帧。 帧I 正常帧2 不正常 厂 一一一人一一、厂 一一 、 o , 1: 1 E l n1: 1 . , , 1: 1 .1:1 0 , , 1:1 1 1 一 甘I I一 书 司叫H 卜卜韦 砖 4卜 以 ,日 1 ,!刃一 X1 . 5 个字符1 5 个字符 图 1 5 Mo d b u s 帧内间隔 注: 实现了 R T U接收的驱动程序会隐含着对由t i . 5 和 t 3 . 5 定时器引起的大量中断的管理。在较高的通信波特率下, 这将导致 C P U负担加重。因此, 当波特率等于或低于 1 9 2 0 0 b i ts 时, 必须严格地遵守这两个定时; 波特率大 标准分享网 w w w .b z f x w .c o m G B / Z 1 9 5 8 2 . 2 -2 0 0 4 于 1 9 2 0 0 b i t / s 的情况下, 两个定时器应该使用固定值: 建议字符间超时时间( t i . 5 ) 为 7 5 0 f c s , 帧间的超时时间 ( t 3 . 5 ) 为 1 . 7 5 0 ms , 图1 6 描述了R T U传输模式的状态图。“ 主站” 和“ 从站” 均在相同的图中表示: 接收到字符 接收到字符, 。 宁时时向到了初始:。 图 1 6 R T U传输模式的状态图 上述状态图的一些解释 : 从“ 初始” 状态到“ 空闲” 状态转换需要 t 3 . 5 超时达限: 这保证帧间延迟 。 “ 空闲” 状态是没有发送和接收报文要处理 的正常状态。 在 R T U模式 中, 当至少 3 . 5个字符 的时间间隔之后没有传输激活时, 称通信链路为“ 空 闲” 状 态 。 当链路在空闲状态时 , 在链路上检测到的任何传输的字符被视为帧起始。链路进人“ 激活” 状 态。然后 , 当时间间隔 t 3 . 5 之后链路上还没有传输字符时, 视为帧结束 。 检测到帧结束之后, 执行C R C计算和校验。然后, 分析地址域来确定帧是否发往这个设备。 如果不是发往这个设备 , 那么丢弃这个帧。为了减少接收处理时间, 在接收到地址域而不需要 等到整个帧结束 , 就可以分析地址域 。这样 , C R C计算和校验只需要在帧寻址到该节点( 包括 广播帧) 时进行。 6 . 5 . 1 2 C R C校验 R T U模式包含一个差错校验域, 该域是基于循环冗余校验( C R C ) 方法对全部报文内容执行的。 C R C域校验整个报文的内容。无论单个字符报文使用何种奇偶校验 , 均应用这种 C R C校验。 C R C包含两个8 位字节组成的一个1 6 位值。 C R C域作为报文的最后域附加到报文上。当进行这种附加时, 首先附加域的低位字节 , 然后附加 域的高位字节。C R C高位字节是报文中发送的最后字节。 将C R C附加到报文上的发送设备计算C R C值。在接收报文过程中, 接收设备重新计算 C R C值, 并将计算值与 C R C域中接收到的实际 C R C值相比较。如果两个值不相等 , 则产生错误 。 通过对一个 1 6 位寄存器预装载全 1 来启动 C R C计算。然后 , 开始将后续报文 中的 8 位字节与当 前寄存器中的内容进行计算。只有每个字符中的 8 个数据位参与生成 C R C的计算 。起始位、 停止位和 校验位不参与C R C计算。 在生成 C R C过程中, 每个 8 位字符与寄存器 中的值异或。然后 , 向最低有效位( L S B ) 方向移动这 个结果, 而用零填充最高有效位 ( MS B ) 。提取并检查 L S B 。如果 L S B为 1 , 则寄存器 中的值与一个 固 定的预置值异或; 如果 L S B为 0 , 则不进行异或操作。 G B / Z 1 9 5 8 2 .2 -2 0 0 4 这个过程将重复直到执行完 8 次移位。完成最后一次( 第 8 次) 移位之后 , 下一个 8 位字节与寄存 器的当前值异或, 然后像上述描述的那样重复 8 次这个过程 。当已经计算所有报文中字节之后 , 寄存器 的最终值就是 C R C 当将C R C附加到报文上时, 首先附加低位字节, 然后附加高位字节。附录B中包含产生C R C的详 细实例。 6 . 5 . 2 A S C II 传输模式 当使用 A S C 1 1 ( 美 国信息交换标 准代码 ) 模式设 置设备在 Mo d b u s 串行链路上通信 时, 用两个 A S C II 字符发送报文中的一个 8 位字节。当通信链路或者设备不能满 足 R T U模式的定时管理要求 时, 使用该模式 。 注: 由于每个字节需要两个字符发送, 所以这种模式比R T U模式效率低。 实例: 将字节O x 5 B编码为两个字符: 0 x 3 5 和0 x 4 2 ( 用A S C II 表示的0 x 3 5 =“ 5 “ , 0 x 4 2 =“ B “ ) o A S C II 模式中每个字节( 1 0 位) 的格式为: 编码系统:十六进制 , A S C 1 1 字符 0 -9 , A - - - F 报文中每个 A S C 1 1 字符含有 1 个十六进制字符 每个字节的位:1 个起始位 7 个数据位, 首先发送最低有效位 1 个奇偶校验位 1 个停止位 偶校验是要求的。也可以使用其他模式( 奇校验、 无校验) 。为了保证与其他产品的最大兼容性 , 建 议还支持无校验模式。默认校验模式必须是偶校验 。 注: 使用无校验时要求 2 个停止位。 如何串行地传送字符: 发送每个字符或字节的顺序是从左到右( 见图1 7 ) : 最低有效位( L S B ) 最高有效位( MS B ) 一 匣 巨 工 三!一 *I HIM3 4 5 6 7 ? 1 一 图 1 7 A S C II模式中的位序列 通过配置, 设备可以接受奇校验、 偶校验或无校验。如果无校验, 那么传送一个附加的停止位来填 充字符帧( 见图 1 8 ) : 一匣 巨 一匝9E*11am I 1 2 I 3 ( 4 ( 5 1 6 I 7 I lhlfkl一 图 1 8 A S C皿 模式中的位序列( 无校验的特殊悄况) 帧校验域: 纵向冗余校验( L R C ) 6 . 5 . 2 . 1 Mo d b u s 报文 A S C五帧 传送设备将 Mo d b u s 报文放置在带有已知起始和结束点的帧中。这就允许接收新帧的设备在报文 的起始处开始接收, 并且知道报文传输何时结束。必须能够检测到不完整的报文, 并且必须作为结果设 置错误标志。 报文帧的地址域包含两个字符 。 标准分享网 w w w .b z f x w .c o m G B / Z 1 9 5 8 2 . 2 -2 0 0 4 在 A S C II 模式中, 用特定 的字符将报文划分为帧起始和帧结束。一个报文必须 以一个“ 冒号” ( : ) 字符( 十六进制 A S CII 3 A ) 起始 , 以“ 回车一换行” ( C R I_ F ) ( 十六进制 A S C II O D和 O A) 结束。 注: 可以通过特定的 Mo d b u s 应用命令改变 L F字符( 见 M o d b u s 应用协议规范) 。 对于所有的域来说, 允许传输的字符为十六进制0 - 9 , A - F ( A S CU编码) 。设备不断地监视总线 上的“ 冒号” 字符。当收到这个字符之后, 每个设备译码后续字符直到检测到帧结束为止。 报文中字符间的时间间隔可以达 i s 。如果出现更大的间隔, 则正在接收的设备认为出现错误。 图 1 9 表示了一个典型的报文帧。 一针 2Tff z i =tt士 IC mOY2x252t f* 寸一针2 CR, LF 图 1 9 A S C五 报文帧 注: 每个字符字节需要用两个字符编码。因此, 为了在 Mo d b u s 应用级上确保 A S Cn模式和 R T U模式兼容, A S C II 数据域( 2 x 2 5 2 ) 最大数据长度为 R T U数据域( 2 5 2 ) 的两倍。 因此 , Mo d b u s A S C II帧的最大长度为 5 1 3 个字符 。 在图2 0 ( 状态图) 中综述了A S C H 报文帧的要求。“ 主站” 和“ 从站” 均在相同的图中表示: 接收 “ :”字符 一少Ixjig “LF“ Yxir C u -rrC “LF“ f 106C “CR“ T-j Jf (LRC, aFIMAmtaf1E) a; V l Jai( 149.1 “CR“A it 图 2 0 A S C I传输模式的状态图 上述状态图的一些解释: “ 空闲” 状态是没有发送和接收报文要处理的正常状态。 每次接收到“ : ” 字符表示新报文的开始 。如果在一个报文的接收过程中收到这个字符 , 则当前 报文被认为不完整并被丢弃。然后, 分配一个新接收缓冲区。 检测到帧结束之后 , 执行 L R C计算和校验 。然后 , 分析地址域来确定帧是否发往这个设备。 如果不是发往这个设备 , 那么丢弃这个帧。为了减少接收处理时间, 在接收到地址域而不需要 等到整个帧结束, 就可以分析地址域。 6 . 5 . 2 . 2 L R C校验 在A S C I 模式中, 报文包含一个差错校验域, 该域是基于对全部报文内容执行的纵向冗余校验 ( L R C ) 计算结果, 不包括起始“ 冒号” 和结束 C R L F对 。无论单个字符报文使用何种奇偶校验, 均应用 GB / Z 1 9 5 8 2 . 2 -2 0 0 4 这种 L R C校验 。 L R C域是一个字节, 包含一个 8 位二进制值。发送设备计算 L R C值, 将 L R C值附加到报文中。 在接收报文过程中, 接收设备重新计算L R C值, 并将计算值与L R C域中接收到的实际值相比较。如果 两个值不相等 , 则产生错误。 对报文中的所有连续8 位字节相加, 忽略任何进位, 计算L R C , 然后求出其二进制补码。根据不包 括报文起始“ 冒号” 和报文结束 C R L F对的整个A S C II报文域内容进行L R C 。在A S C 1 1 模式中, L R C 的结果被编码为两个字节的A S C U, 并将其放置C R I . F 之前的A S C II 模式报文帧的结尾处。 附录B含有L R C生成的详细实例。 6 . 6 差错校验方法 标准Mo d b u s 串行链路的安全性是基于两种差错校验: 应该将奇偶校验( 偶或奇) 应用于每个字符。 必须将帧校验( L R C或 C R C ) 应用于整个报文 。 在发送的设备( 主站或从站) 中生成字符校验和帧校验, 并且在发送前将其附加于报文体。在接收 时, 设备( 主站或从站) 校验每个字符和整个报文。 用户配置主站为在放弃事务处理前等待一个预定的超时间隔( 响应超时) 。设置这个间隔有足够的 时间, 以便任何从站正常地响应( 单播请求) 。如果从站检测到事务处理错误, 则报文将不起作用。从站 将不会对主站响应 。因此 , 超时时间将达限, 并且允许主站的程序处理错误。对不存在的从站设备寻址 的报文也会产生超时错误。 6 . 6 . 1 奇偶检验 用户可以配置设备使用偶( 要求的) 或奇校验或无校验( 建议的) 。这将确定如何设置每个字符的奇 偶位 。 无论规定了偶校验还是奇校验, 都是计算每个字符数据部分中为1 的位的总数( A S C II 模式有7 个 数据位, R T U模式有 8 个数据位) 。然后, 将奇偶位设置为 0 或 1 , 以便产生为 1 的位的偶数或奇数 。 例如: R T U字符帧中包含的8 个数据位是: 1 1 0 0 0 1 0 1 这个帧中为1 的位的总数为4 。如果使用偶校验, 帧的奇偶位为。 , 使为1 的位的总数仍然为偶数 ( 4 ) ; 如果使用奇校验, 帧的奇偶位为1 , 使为1 的位的总数为奇数( 5 ) e 当发送报文时, 计算奇偶位, 并将其附加到每个字符帧。接收的设备计算为1 的位的数量, 并且如 果与设备配置不同, 则设置错误标记( 必须将 Mo d b u s 串行链路上的所有设备配置成使用相同的奇偶校 验方法) 。 奇偶校验只能检测到传输过程中一个字符帧中增加或丢失奇数个位的错误。例如: 如果使用奇校 验, 含有 3 个为 1 的位的字符帧中丢失了 2 个为 1 的位, 而结果仍然为奇数个为 1 的位。 如果没有规定奇偶校验 , 不会传送奇偶位 , 也不能进行奇偶校验 。 传送一个附加的位来填充字符帧。 6 . 6 . 2 帧检验 根据传输模式( R T U模式或 A S C I I 模式) 使用两种帧校验方法。 在R T U模式中, 报文包含一个基于循环冗余校验( C R C ) 方法的差错校验域。C R C域校验整 个报文的内容。无论单个字符报文使用何种奇偶校验, 均应用这种C R C校验。 在 A S C II 模式 中, 报文包含一个基于纵向冗余校验( L R C ) 方法的差错校验域 , 不包括起始“ 冒 号” 和结束 C R L F对。无论单个字符报文使用何种奇偶校验 , 均应用这种 L R C校验。 有关差错检验方法的详细内容见前面的章节。 标准分享网 w w w .b z f x w .c o m G B / Z 1 9 5 8 2 . 2 -2 0 0 4 7 物理层 7 . 1 引言 新的串行链路上的 Mo d b u s 解决方案应该按照附录 D中E I A / T I A - 4 8 5 标准 ( 也称 R S 4 8 5 标准) 实 现电气接口。该标准允许“ 两线配置” 的点对点和多点系统。此外, 一些设备可以实现“ 四线” R S 4 8 5 接 口。 设备还可以实现R S 2 3 2 接口。 在这种 Mo d b u s 系统中, 一个主站设备和一个或几个从站设备在一个无源串行链路上进行通信 。 在标准的 Mo d b u s 系统中, 在一条由 3 根导线组成的干线电缆上连接所有设备( 并行) 。其中两条 导线( “ 两线” 配置) 形成一对平衡双绞线 , 在这个双绞线上双向传送数据 , 典型的速率为 9 6 0 0 b i t / s a 每台设备可按如下方法连接( 见图2 1 ) ; 或是直接连接到干线电缆上, 形成菊花链 ; 或是经分支电缆连接到一个无源分支器 ; 或是经专用电缆连接到一个有源分支器 。 在设备上, 可以使用螺钉端子 R J 4 5 或 9 芯 D型连接器与电缆连接( 见 7 . 5 ) 0 7 . 2 数据信号传输速率 9 6 0 0 b i t / s 和1 9 . 2 k b i t / s 是要求的。1 9 . 2 k b i t / s 是要求的默认值。 可以有选择地实现其他波特率: 1 2 0 0 b it / s , 2 4 0 0 b i t / s , 4 8 0 0 b i t / s . . . 3 8 4 0 0 b i t / s , 5 6 k b i t / s , 1 1 5 k b i t / s . . “ . . 在发送的情况下 , 每种实现的波特率精度必须高于 1 %; 在接收的情况下, 必须允许 2 误差。 7 . 3 电气接口 7 . 3 . 1 多点串行总线结构 图2 1 表示了Mo d b u s 多点串行链路系统中串行总线的总体结构。 ; 主站: LT ITrIDv犷 甘 图 2 1 串行总线结构 Mo d b u s 多点串行链路系统是 由主电缆( 干线) 和一些可能的分支电缆组成。 在干线电缆的两端需要线路终端以使阻抗匹配( 详细情况分别见7 . 3 . 2 和7 . 3 . 3 ) 0 如图 2 1 所示 , 不同的实现可以在相同的 Mo d b u s 串行链路系统中运行: 将集成通信收发器的设备通过无源分支器和分支电缆连接到干线上( 例如: 从站 1 和主站) ; 将没有集成通信收发器的设备通过有源分支器和分支电缆连接到干线上( 有源分支器集成了 收发器)(例如: 从站2 ) ; 将设备以菊花链形式直接连接到干线电缆上( 例如: 从站n ) . G B / Z 1 9 5 8 2 . 2 -2 0 0 4 采用下列约定: 干线间的接 口称为 I T r ( 干线接 口) ; 设备和无源分支器间的接口称为I D v ( 分支接口) ; 设备和有源分支器间的接口称为A U I ( 附加单元接口) 。 注 1 : 在某些情况下, 可以直接将分支器连接到设备的 I D v 擂槽或 A U I 擂槽上, 而不使用分支电缆。 注 2 : 一个分支器可以有多个 I D v 插槽来连接多台设备。当它是无源分支器时, 称这个分支器为分配器。 注 3 : 当使用有源分支器时, 可以通过 A U I 或 I T r 接口提供分支器电源。 在下列章节中, 将介绍I T r 和I D v 接口( 详细情况分别见7 . 3 . 2 和7 . 3 . 3 ) , 7 . 3 . 2 2 线 Mo d b u s 定义 见图 2 2 和表 2 , 串行链路上的 Mo d b u s 解决方案应该依照附录 D中 E I A / T I A - 4 8 5 标准实现“ 2 线” 电气接 口。 在这个2 线总线上, 在任何时候只有一个驱动器有权发送信号。 实际上 , 第三条导线还必须将总线上所有设备相互连接: 公共端。 一笙矿一,: 一厅D R 5v - - LTFIAfhRL 图 2 2 通用的 2 线拓扑结构 表 2 *lME ITr T.D1DO一 飞川 注 1 : 对于线路终端( L T ) 、 上拉和下拉电阻, 见 7 . 4 . 注 2 : 在撰写与设备和分支器有关的文件( 用户指南, 连线指南, ) 时, 必须使用 D O , D l 和公共端的电路名称, 以 便易于互操作。 注 3 : 可以增加可选的电气接口, 例如: 电源:5 V - V 2 4 V d . c . 。 端口模式控制: P MC电路( T T L 兼容) 。当需要的时候, 可由这个外电路和 或其他方式( 例如: 设备上的开关) 来控 制端口模式。在第一种情况下, 尽管一个开路 P MC将要求 2 线 M o d b u s 模式, 但实现过程中, 在 P M C上的低电平将把 端 口 转换成 4 线 M o d b u s 模式或 R S 2 3 2 - M o d b u s 模式。 标准分享网 w w w .b z f x w .c o m G B / Z 1 9 5 8 2 .2 -2 0 0 4 7 . 3 . 3 可选的 4 线 Mo d b u s 定义 见图 2 3 和表 3 0 这种Mo d b u s 设备同样允许可选择实现2 对总线(( 4 线) 单向数据传输。从站只能接收主对总线 ( R X D I -R X D O ) 上的数据, 而主站只能接收从对总线( T X D l -T X D O ) 上的数据 。 实际上 , 公共端作为第 5 条导线必须把 4 线总线上的所有设备相互连接 。 像2 线Mo d b u s 那样, 在任何时刻只有一个驱动器有权力发送数据。 这种设备必须依照 E I A / T I A - 4 8 5在一对平衡线对上实现接收器, 并且依照附录D中E I A / T I A - 4 8 5 在另一对平衡线对上实现发送器。( 有时候这种解决方式被称为“ R S 4 2 2 “ , 这是错误的: R S 4 2 2 标 准不支持一个平衡线对上的多个驱动器。 ) 一谨 石 一飞 扮 5VD R LTTft 5V LT:; ; 丛蜘 ;, _ _ 丛iM n _ _ , 图2 3 通用的4 线拓扑结构 表 3 阵 仁 节一 注 1 : 对于线路终端( L T ) 、 上拉和下拉电阻, 见 7 . 4 , 注 2 : 只有在实现4 线 M o d b u s 选项时, 表 3 中( 1 ) 所示的那些电路才是要求的。 注 3 : 在撰写与设备和分支器有关的文件( 用户指南, 连线指南, ) 时, 必须使用这 5 种要求电路的名称, 以便易 于互操作。 注 4 : 可以增加可选的电气接口, 例如: 1 ) 电源:5V-2 4V d . c . 。 2 ) P MC电路:见 7 . 3 . 2 端口模式控制的注( 在 2 线 Mo d b u s 电路定义中) 。 GB / Z 1 9 5 8 2 . 2 -2 0 0 4 7 . 3 . 3 . 1 4 线接线系统中的要点 见表 4 0 在这种 4 线 Mo d b u s 中, 主站设备和从站设备均有与 5 种相同要求电路的 l D v 接口。 由于主站必

温馨提示

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

最新文档

评论

0/150

提交评论