当前位置:文档之家› Modbus_TCP工业以太网的现状与发展

Modbus_TCP工业以太网的现状与发展

用面向连接的 ;)E ! 主要原因是通过将它封装
到 一 个 连 接 中 来 保 持 对 单 独 的 ’事 务 (的 控 制 !这 种 连 接 能 被 辨 识 # 监控 # 取消而不需要客户和服务器部分的特别动作 "
,/+/, 数据译码和寄存器 8"9$%& 使用 ’$@PJ649@?4( 表示地址及数据项 " 这种存 储
!"
其 结 构 为 % 初 始 化 状 态 机 并 将 其 状 态 置 为 , 空 闲 *& 使 用 CH,K
41/ 检测域 $./0 - 50 和以太网的链路层是用校验准确的数据包
传送来保证的 $
!67 例外码
如果发生问题 # 将由从机返回一组例外码 $ 所有例外通过给 请求的函数码加 89:8 来发送信号 # 即将最高位置 $ $ 例外响应 包 括 不 合 法 的 函 数 #不 合 法 的 数 据 地 址 #不 合 法 的 数 据 值 #不 合 法 的 响 应 长 度 #确 认 #从 机 设 备 忙 #无 用 的 确 认 #存 储 奇 偶 错 #网 关路径难以获得 # 网关目标设备不能响应 $
8"9$%& ;)E : 3E 是 将 8"9$%& 帧 简 单 地 嵌 入 到 ;)E 帧
中 ! 它已成为真正的事实标准 " 许多供应商和产品已执行这个标 准 " 这个规范主要阐述 8"9$%& 消息如何通过因特网上广泛可 用的 ;)E 协议进行详细译码 " 其 目 的 是 让 把 8"9$%& : ;)E 作 为工业自动化领域的互操作标准的开发者使用这个规范 "
!
"#$%&’ 协议历史 8"9$%& 协议 .H12 年由施耐德制定 ! 是应用于电子控制器
8"9$%& : ;)E 处 理 两 种 情 况 " 连 接 在 协 议 层 很 容 易 辨 识 !
并且一个单一的连接可携带多个独立的事务 " 此外 !;)E 允许相 当大数量的并发连接 ! 所以在大多数情况下 ! 开发人员选择是根 据需要重新连接 ! 还是重新选择长期存在的连接 "
上 的 一 种 通 用 语 言 !实 现 控 制 器 相 互 之 间 #控 制 器 经 由 网 络 %例 如 以 太 网 & 和 其 它 设 备 之 间 的 通 信 ! 支 持 传 统 的 IDJK-K : LKK :
L2M 设备和最新发展出来的以太网设备 " 该协议定义了一 个 控
制器能识别的消息结构 ! 描述了控制器如何请求访问其它设备 ! 如何回应来自其它设备的请求 ! 以及怎样侦测错误并记录 " 它是 一种应用层报文传输协议 ! 与底层的物理接口及电气规范无关 ! 这是其目前生命力仍很强的原因 " 它可用于总线或网络的互连 ! 为客户机 : 服务器方式 ! 易用廉价 "
! 客户端和服务器端的实现 76$ 客户端的实现 ’()*+, - ./0 规 范 的 设 计 使 得 客 户 机 的 实 现 尽 可 能 简 单 $ 基 本 的 事 务 处 理 过 程 如 下 % 用 ;(<<=;>?@ 建 立 对 目 标 设 备 ./0 A"! 端 口 的 连 接 & 准 备 ’()*+, 报 文 # 提 交 包 括 3 个 字 节 的 ’()*+, - ./0 前 缀 在 内 的 报 文 # 并 使 用 ,=<)?B 发 送 & 在 同 一 个 连 接 等 待 应 答 # 也 可 以 使 用 定 时 的 方 法 并 使 用 ,=C=;>?B # 这 样 可 以较快地查 错 & 用 D=;E?B 读 响 应 的 前 3 个 字 节 & 然 后 用 D=;E?B 读 完所有应答报文 & 当没有通讯任务时 # 关闭 ./0 连接 # 以使 服 务
生 错 误 # 关 闭 连 接 并 将 状 态 机 状 态 置 为 , 空 闲 *# 如 果 报 文 头 正 确 # 读完所有报文 # 如果请求报文完整收到 # 将状态机置为 , 等待 应答 *# 如果 ,=C=;>?B 返回的信息为连接不再使用 # 关闭连接并将 状态机状态置为 , 空闲 *& 如果状态为 , 等待应答 *# 检查客户端的 信息 - 服务是否存在 # 如果存在 # 增大应答分组 # 使用 ,=<)?B 返回 正常应答报文或例外应答 # 将状态机从 , 空闲 * 设置到 , 新请求 *$ 在每个周期中通过将 ,=C=;>?B 调用连接成单个调用是可能的 # 而 且并不影响应用的功能结构 $
-%’./01. TF567 ? $7@6F 76W@6] "F 96W6A"X@4P =@&5"7V "F 8"9$%&^ 5=6 X?X67 6_X"%49& 8"9$%& : ;)E &X6R@F@R?5@"4 R"‘X76=64&@W6Z AV ?49 9@&R%&&6& 5=6 A?56&5 96W6A"X‘645 "F @49%&57@?A <5=67465 56R=4"A"PV/>@4?AAV 5=6 @49%&57V ?XXA@R?5@"4 &"A%5@"4 "F 8"9Z $%& : ;)E <5=67465 @& X%5 F"7]?79/ 2345#/$’$‘"9$%& : ;)E &X6R@F@R?5@"4 !@49%&57@?A 65=67465^&%‘‘?7V
!"
8"9$%& : ;)E 工业以太网的现状与发展
!"#$%& ’ ()* 工业以太网的现状与发展
邓欣茹 + 丁建兴 , 杨 翼邢建春 .
./ 解放军理工大学工程兵工程学院国防工程自动化研究所 !,.0001" ,/北京海军工程设计研究局 !.00010" -/ 兰州军区空军航空中心修理厂 !1.002, "
,/+/+ 面向连接特性 8"9$%& 中 ! 设计工作一般采用面向连接的方法 ! 即 连 网 时
要经过 ’ 建立连接 # 通信和释放连接 ( 三个步骤 " 在简单的变量中 可 以 通 过 唯 一 的 ’ 注 册 ( 令 牌 获 得 ) 在 8"9$%& 变 量 中 可 以 通 过 明确的 ’ 编程路径 ( 性能获得 ! 这种性能主张双方按照协议通信 ! 直到连接终止 "
8"9$%& 的数据模型基于一系列表 ! 这一系列 表 具 有 区 别
的特征 " 主要的四个表是 $
输入开关量 输出开关量 输入寄存器 输出寄存器 单个位 ! 由 3 : \ 系统提供 ! 只读 单个位 ! 通过应用程序可变 ! 读写
+N 位量 ! 由 3 : \ 系统提供 ! 只读 +N 位量 ! 通过应用程序可变 ! 读写
或传送二进制数据的格式中最高位字节 % 比特 & 在最前面 "
+HHN 年 施 耐 德 公 司 推 出 了 基 于 ;)E : 3E 的 8"9$%& 协 议 !
成本低廉 ! 适用于各种应用的解决方案 ! 已成为自动化设备最广 泛支持的协议 " KOOK 年 M 月又发表了 8"9B%& : G)E 规范 ! 将其 提 交 国 际 因 特 网 工 程 特 别 工 作 组 %34567465 <4P@4667@4P ;?&Q >"7R6 !3<;>&! 希望这个规范能成为工业以太网协议 %349%&57@?A 34567465 E7"5"R"A& 标准 " KOOL 年 + 月 ! 法国召开的 S)NM) 工作 组会议建议对包括其在内的六个新的实时以太网协议提案将以
器的资源处于空闲状态可以被其它设备使用 $ 在客户端使连接 打开的最大间隔是 F 秒 $ 如果使用定时的方法等待应答 # 从一侧关闭连接 # 打开一个 新的连接并重新提交请求报文 $ 该技术允许客户机重新定时 # 这 一点优于默认的由 ./0 提供的方式 $ 同时它也考虑了备用的方 法 # 例如提交请求到备用的 50 地址 # 使用完全独立的通信网络 # 用来防止因网络下部结构而造成连接失败 $
$ 可在任何地方任何时间进行网页服务 # 使用普通的浏览器和 电脑就可以 &% 整个全透明 && 成本降低 # 是给用户最好的回报 +
这也是它获得广泛应用的原因 + 对于已经存在的现场总线设备# 我们可以通过使用专用
’()*+, - ./0 网关将 其 连 入 工 业 以 太 网 # 实 现 透 明 传 输 和 高 速 通信 # 控制网络结构如图 F 所示 +
7G! 服务器端的实现
服务器端可以设计成单线程或多线程 $
7G!GF 多线程服务器
多线程服务器的处理过程如下 % 使 用 CH,>=<?B 监 听 ./0 A"! 端 口 的 连 接 请 求 & 如 果 收 到 连 接请求 # 用 I;;=J>?B 接收并产生一个新的线程处理连接 & 在新线 程 中 # 用 D=;E?3B 建 立 一 个 接 收 3 个 字 节 ’()*+, - ./0 报 头 的 请求 # 等待直到请求成功或关闭连接 $ 分析报头 # 如果看上去已经破坏 ’ 如协议字段非零或报文长 度不到 !A3 (# 从一侧关闭连接 $ 该应答说明 ./0 译码不正确 $ 用 D=;E?B 接 收 剩 下 的 报 文 # 此 时 报 文 长 度 已 知 & 特 别 注 意 # 带有报文长度限制的 D=;E?B 可以承受客户用 ) 管 道 技 术 * 持 续 发 送的通信请求 & 在当前请求具有完整服务时 # 任何管道技术的通 信请求会留在服务器端或客户端的 ./0 缓冲区中 + 处理 ’()K
相关主题