当前位置:
文档之家› ModBus协议在工业控制系统中的应用
ModBus协议在工业控制系统中的应用
ModBus 协 议 包 括 ASCII, RTU, PLUS, TCP 等 , 并 没有规定物理层。此协议定义了控制器能够认识和使
用的消息结构 , 而不管它们是经过何种 网络进行通 信 的。标准的 ModBus 是使用 RS- 232C 兼容串行接口 , 接线、 信号电平、 波特 RS- 232C 规 定 了 连 接 器 针 脚 、 率、 奇偶校验等信息 , ModBus 的 ASCII, RTU 协议则在 此基础上规定了消息、 数据的结构、 命令和应答的方 式。ModBus 控制器的数据通信采用 Master/Slave 方式 ( 主 / 从 ) , 即 Master 端发出数据请求消息 , Slave 端接收 到 正 确 消 息 后 就 可 以 发 送 数 据 到 Master 端 以 响 应 请 求 ;Master 端 也 可 以 直 接 发 消 息 修 改 Slave 端 的 数 据 , 实现双向读写。
3.1 系统的硬件设计
系统主要由通讯电路( 输入) 、 数据采集、 输出控 制、 通信及电源模块等组成。如图 1 所示 , LCD 显示、 系统具有对外界温度信号进行采集的能力 , 采集的模 拟信号经 A/D 模块转换为相应的数字量 , 送入微处理 器进行处理。采集到的每一路温度都要与系统此路的
《 P LC 技术应用 200 例》
ModBus 可 以 应 用 在 支 持 ModBus 协 议 的 PLC 和 计算机和计算机之 PLC 之间、 PLC 和个人计算机之间、
朱懿 : 硕士研究生
-
如表 1 所示 , 使用 ASCII 模式 , 消息以冒号(: )字符
《现场总线技术应用 200 例》
118 - 360 元 / 年 邮局订阅号 : 82-946
485 插卡或者 RS- 232/ RS- 485 转换模块 , 实现多点通 信 , 这里选用的是 RS- 232/RS- 485 转换模块。通信电 路原理图 (略可向作者索取 ): SM5964 的 串 行 发 送 端 口 TXD 和 接 收 端 口 RXD 经 MAX232 芯片进行电平转换后 , 分别与 PC 机的数 据 接 收 端 口 RXD 和 数 据 发 送 端 口 TXD 相 连 接 。 SM5964 串行通信的发送端 TXD 连接到的 11 引脚 , 发 出的数据信号经过 MAX232 芯片转换后 , 由 0~ 5V 的 TTL 电平变为 - 12~ +12V 的 RS232 电平 , 从 14 引 脚输 出到 PC 机串行口的第二引脚。按 RS232 通信协议规 定 , PC 机串行口的第二引脚为数据输入端 , 这样 , 发出 的数据就可被 PC 机接收到。 由 PC 机串行口的发送端 TXD( PC 机 串 行 口 的 第 三 引 脚 ) 传 输 来 的 数 据 , 作 为 RS232 电 平 的 信 号 输 入 到 MAX232 芯 片 的 第 13 引 脚 , 经 过 MAX232 芯 片 进 行 电 平 转 换 后 变 为 TTL 电 平 , 再由 MAX232 的 12 引脚输出到 SM5964 串行口的 接收端口 RXD。从而完成数据的双向传输。 在设计中 , 使用了两个发光二极管 D7 和 D8 监视
1 ModBus 协 议 简 介
当今世界, 工业控制已从单机控制走向集中监 控、 集散控制。在进入网络时代的今天 , 工业控制器连 网也为网络管理提供了方便。 ModBus 协议就是工业控 制器的网络协议中的一种。 ModBus 协议是 Modicon 公 司于 1978 年发明的一种用于电 子控制器进 行控制和 通讯的通讯协议。通过此协议 , 控制器相互之间、 控制 器经由网络( 例如以太网) 和其它设备之间可以进行 通信。它的开放性、 可扩充性和标准化 使它成为一 个 通用工业标准。有了它 , 不同厂商生产 的控制设备 可 以简单可靠地连成工业网络 , 进行系统的集中 监控 , 从而使它成为最流行的协议之一。
2.2 RTU 模式
当控制器设为 RTU 模式时 , 消息帧中的每个 8Bit 字节包含两个 4Bit 的十六进制字符。
表 2 RTU 模式的消息帧
! "
该模式下消息发送至少要以 3.5 个字符时间的停 顿间隔开始。传输过程中 , 网络设备不断侦 测网络总 线 , 包 括 停 顿 间 隔 时 间 内 。 当 第 一 个 域 (地 址 域 )接 收 到 , 相应的设备就对接下来的传输字符进 行解码 , 一 旦 有 至 少 3. 5 个 字 符 时 间 的 停 顿 就 表 示 该 消 息 的 结 束。 在 RTU 模式中整个 消息 帧 必 须 作 为 一 连 续 的 流 转输 , 如果在帧完成之前有超过 1.5 个字符时间的停 顿时间 , 接收设备将刷新不完整的消息并假定 下一字 节是一个新消息的地址域。同样地 , 如果一 个新消息 在小于 3. 5 个字符时间内接着前个消息开始 , 接收的 设备将认为它是前一消息的延续。如果在传输过程中 有以上两种情况发生的话 , 必然会导致 CRC 校验产生 一个错误消息 , 反馈给发送方设备。 当 控 制 器 设 为 RTU(远 程 终 端 单 元 )模 式 通 信 时 , 消息中的 每个 8Bit 字 节 包 含 两 个 4Bit 的 十 六 进 制 字 符。 这种模式与 ASCII 模式相比在同样的波特率下 , 可 比 ASCII 模式传送更多的数据。
(ASCII 码 3AH) 作 为 起 始 位 , 以 回 车 换 行 符 (ASCII 码 0DH, 0AH)作为结束符。传输过程中 , 网络上的设备不
断侦测“ 字符 , 当有一个冒号接收到时 , 每 个设备就 :” 解码下个位的地址域 , 来判断是否发给自己的。与地 址域一致的设备继续接受其它域 , 直至 接受到回车 换 行符。除起始位和结束符外 , 其他域可以使用的 传输 字符是十六进制的 0 … 9 , A… F, 当然也要用 ASCII 码 表示字符。当选用 ASCII 模式时 , 消息帧使用 LRC( 纵 向冗长检测 ) 进行错误检测。
2 ModBus 协 议 的 通 讯 格 式
ModBus 可分为两种传输模式 : ASCII 模式和 RTU 模式。使用何种模式由用户自行选 择 , 包括串口 通信
参 数 (波 特 率 、 校 验 方 式 等 )。 在 配 置 每 个 控 制 器 的 时 候 , 同一个 ModBus 网络上的所有设备都必须选择相 同的传输模式和串口参数。
2.1 ASCII 模式
当控制器设为在 ModBus 网络上以 ASCII 模式通 信 , 在消息中的每个 8Bit 字节都作为两个 ASCII 字符 发送。这种方式的主要优点是字符发送的时间间隔可 达到 1 秒而不产生错误。
表 1 ASCII 模式的消息帧
间、 远 程 PLC 和 计 算 机 之 间 以 及 远 程 计 算 机 之 间 ( 通 过 Modem 连接 ) , 可见 ModBus 的应 用是相当广 泛的。 由于 ModBus 是一个事实上的工业标准 , 许多厂家的 组 态 软 件 都 支 持 ModBus, 而 且 ModBus 是 PLC, HMI 、 一个开放标准, 其协议内容可以免费获得, 一些小型 厂商甚至个 人都可根据协 议标准开发 出支持 ModBus 的产品或软件 , 从而使其产品联入到 ModBus 的数据 网络中。 因此 , ModBus 有着广泛的应用基础。 在实际应 用中 , 可以使用 RS232, RS 485 /422 , Modem 加电话 线、 甚至 TCP/IP 来联网。所以 , ModBus 的传输介质种 类较多 , 可以根据传输距离来选择。
( 上海理工大学 ) 朱
懿 蒋念平
Zhu , Yi Jiang,Nianping
摘要 : 随 着 计 算 机 网 络 、 通讯、 控制等技术的发展, 信息交换沟通的领域正在迅速覆盖从工厂的现场设备层到控制、 管理的 各 个 层 次 。 基 于 现 场 总 线 的 智 能 仪 表 对 现 场 总 线 技 术 在 我 国 的 推 广 应 用 具 有 非 常 重 要 的 意 义 。 本 文 在 Modbus 现 场 总 线 协 议的基础上设计了一个工业温度控制系统。 关键词 : 现场总线 ; ModBus 协议 ; 单片机控制 文献标识码 : A 中图分类号 : TP393
控制系统
文章编号 :1008- 0570(2006)04- 1- 0118- 03
中文核心期刊 《 微计算机信息》 ( 测 控 自 动 化 )2006 年 第 22 卷 第 4-1 期
Mo d Bu s 协议在工业控制系统中的应用
Th e Ap p lica tio n o f Mo d Bu s Pro to co l In In d u s try Co n tro l S ys te m
技 术 创 新
Abstr act: With the development of internet, communication and control techniques, the domain of information communication and ex- change has been covering from the layer of equipment to the layers of control and management. It is of great importance for the pop- ularization and application of Fieldbus in our country to develop the digital meter based on Fieldbus.In the article,I firstly introduce the ModBus,then I design a temperature- control system. Key wor ds:FieldBus;ModBus Pr otocol;MCU Contr ol
您的论文得到两院院士关注
控制系统
温度设定值进行比较 , 然后根据结果调 用合适的控 制 算法 , 并通过控制相应的继电器的 占空比实现 对温度 的调节。 考虑到系统实际应用 , 在硬件设计方面 , 微控制器 选 用 了 台 湾 Syncmos 公 司 生 产 的 8 位 微 控 制 器 SM5964, 它是 80C52 微控制器 家族的派生 产品 , 其强 大的片内资源 , 只需添加少量的外围器件 即可实现系 统的要求。温度测量利用 Pt ( 100Ω ) 热敏电阻 , 测量的 模拟信号经 A/D 模块转换后送入微处理进行处理。模 数 转 换 器 选 用 凌 特 公 司 (Linear Technology) 推 出 的 20 位无延迟模数转换器 LTC2430 , Leabharlann Baidu模块可直接对测量 的毫伏级信号进行处理 , 并能够满足精 度要求。其它 也选用了与通信和输出控制相关的器件。
图 1 系统结构框图
技 术 创 新
由于篇幅关系 , 只介绍本系 统通信部分 的电路原 理。 由于标准的 ModBus 物理层采用了 RS- 232 串行通 信标准 , 在 PC 机上 模拟 MODBUS 通信通 过使用 RS-
3 系统设计
本文所设计的 系统是一个 基于 modbus 的工业 控 制网络, 它主要由实现现场控制功能的智能控制仪 表、 实现对智能控制仪表在线配置与监控功能 的主机 两部分组成。作为从机的现场智能控制仪表主要任务 有: 实现现场温度采集、 输出控制、 显示、 系统配置以 及响应主机激励 ; 主机的主要任务是在线配置从机 、 监控从机从而得到相应从机的状态、 历 史温度数据 分 析 ; 两者之间的通讯是基于现场总线技术的。