当前位置:首页 >> 信息与通信 >>

以PLC为通信主站的Modbus控制网络的设计与实现


工控技术

潘迪夫等 : 以 PL C 为通信主站的 Mo dbus 控制网络的设计与实现

以 PLC 为通信主站的 Modbus 控制网络的设计与实现
潘迪夫 , 习  可
( 中南大学 交通运输工程学院  湖南 长沙  410075) 摘  要 : 为实现以 PL C 为控制中心的架车式称重调簧系统 , 提出以 P LC 作为 M odbus 通 信主站 、配合多数 量 、多 种类的 通信从站的网络建立的方法 , 并采用 S7-200 P LC 、计算机和两 种智能传感器 , 构建一个以 P LC 为通信主站 的 M odbus 控制网 络 , 对主站 、从站的配置和程序设计进行了详细的说 明 。 实践结 果表明 , 此网 络系统 数据传 输可靠 准确 , 系统实 时性与 稳定 性均能满足机车称重调簧系统应用的要求 。 关键词 : M o dbus 协议 ; P LC ; 通 信主站 ; 控制网络 中图分类号 : T P368       文献标识码 : A      文章编号 : 1004 -373X( 2010) 05-142 -03

Design and Implementation of Modbus Control System Based on PLC as Master Station
PA N Difu , XI K e
( Scho ol o f Traffic &T ransportatio n Enginee ring , C entral South Unive rsity , C ha ng sha , 410075 , C hina)

Abstract : T o realize the P LC co ntrol sy stem of locomo tive bo dy te st - rig fo r weighting and spring adjusting , it puts forw ard the me thod of co nstruc ting co mmunicatio n , which is composed of P LC M odbus master statio n and multiple v ario us M odbus slave sta tions . A t the same time , w ith one S7 -200 P LC , one compute r a nd tw o kinds o f intelligent senso rs , it is built that a ty pical co ntro l system taking P LC as M o dbus master sta tion , and then illumina ted in detail the co nfigur ation and softw are design maste r statio n and slaver s . T he practice indica tes tha t the M odbus co mmunicatio n , w here P LC is used a s the maste r station , ca n tr ansmit data accurately and reliably , its real - time per for mance and stability reaches the requirement o f industrial automation . Keywords: M odbus pro tocol ; P LC ; ma ste r station ; co ntrol system

0  引  言 随着微电子及控制技术的不断发展 , P LC 功能不 断完善 , 已经逐渐成为一种智能型 、 综合型的控制器 , 以 PL C 为控制器构成的数据采集 和控制系统 , 广泛应用 到了工业自动化系统中 。 同时 , 由于 Modbus 协议具有 开放性好 、诊错能力强 、数据传输速率高 、成本低 、易实 现等优点 , 被越来越多的设备厂家的产品所支持 。 采用 这些 控制 设备 、传 感器 、智能 仪表 , 可快 速构 建 基于 Mo dbus 工业 控 制 网 络 系 统 , 成 本 低 、 性 能 高 、简 单 实用 。 文献[ 1] 介绍了一种采用工控机作为 M odbus 通信 主站 , P LC 作为通信从站的通讯网络的构建方法 , 并应 用到了实际的工业自动化系统中 , 效果良好 。 文献[ 2] 则采用 PL C 作为 Mo dbus 通信的主站来控制变频器从 站 , 同样充分利用了 P LC 控制的诸多优点 。 本文综合 两种方法 , 设计并实现了以 P LC 作为 M odbus 通信主 站、 计算机和多种传感器作为通讯从站的控制网络 。
收稿日期 : 2009-09 -21

1  系统构成 架车式称 重调簧 系统具 有机车 架车 、称重 、调 簧 三个主要功能 , 其中 , 前两项可由 P LC 控制中心独立完 成 , 在有计算机参与控制的情况下 , 可以实现调簧的功 能 。 鉴于 M odbus 的诸多优点 , 本系统采用基于 M odbus 的通 信网络 , 网络组 成硬件 主要包 括 : 1 台西门 子 S7 -200 PL C , 1 台计算机 , 4 台智能位移传感器 , 4 台智 能压力传感器 。 其中 , S7-200 P LC 作为 M odbus 通信 主站 , 主要完成数据提取 、 从站管理及控制输出等功能 ; 计算机作为通信从站 , 只有在需要时才接入网络 , 完成 对本网络的监控 、 维护及调整和设置参数的功能 ; 传感 器作为通信从站 , 完成对信息采集的 功能 。 网络采 用 RS 485 总线连接 , 所采用的传感器是智能数字式 传感 器 , 均支持 RS 485 总线协议 。 计算机通过扩展 RS 485 通讯卡连接到网络中 。 系统组成框图如图 1 所示 。 西门子 S7-200 P LC 作为 M odbus 通信主站[ 3] , 应 用了 M odbus 公开通信协议中串行通信部分 , 其 C UP 采用自由端口进行通讯 , 实现的是 RS 485 协议半双工 通信 。 S7-200 所支持的从站地址范围为 0 ~ 247 , 其中

142

《现代电子技术》2010 年第 5 期总第 316 期 0 为广播地址 。 本系统考虑的实际应用的要求 , 只采用 了 32 个从站地址进行设计 。

  电子技术应用

图 1  通讯网络的 硬件构成

由于从站的类型多样 , 为便于管理和编程 , 可以对 各个从站进行分类 。 本系统可以把从站分为三类 , 其分 类和地址编号如下 : 第一类 : 计算机通信从站 。 由于计算机从站需要与 主站进行数据交换 , 所以主站对其既有读取数据请求 , 也有发送数据请求 , 其地址号范围为 31 ~ 32 。 第二类 : 位移传感器从站 。 主站对其只有读取数据 请求 , 其地址号范围为 1 ~ 15 。 第三类 : 压力传感器从站 。 主站对其只有读取数据 请求 , 其地址号范围为 16 ~ 30 。 在应用 RS 485 网络时 , 考虑到本网络各站点之间 的距离不是很长 , 连接线在 100 m 以内 , 为提高系统的 抗干扰性 , 在网络的最后一台设备之后接入一个 1 k Ψ 的终端电阻[ 2] 。 2  S7-200 PLC 作为通信主站的配置和程序设计 S7-200 的编程软件 ST EP7-Mi cro / WIN , 带有西门 子开发的 M odbus RT U 主站/ 从站指令 , 能够非常方便 地实现 Mo dbus 通信主站的配置 。 该指令库主要有两 个功能块 : M odbus RT U 主站初始化功能块和读写功 能块 , 关于其具体参数设计可参考文献[ 3 , 4] 。 作为 M odbus 通 信主站 , S7-200 需要 完成对各个 从站 , 包括传感器 、 计算机 、 仪表的读写功能 。 由于从站 有多种类型 , 对不同的站地址的读写格式也不同 。 本文 按照从站的通信要求进行对其分类 , 并采用轮询各从站 的方法 : 即一次对一个地址启动一条读取或者写入命令 。 通信主站的程序设计内容包括 : ( 1)变量初始化以及自由通信端口的 M odbus 主 站初始化 。 这主要是对 M odbus RT U 主站初始化功能 块进行配置 。 ( 2)搜索并储存有效的从站地址 。 在不同的工况 下 , 从站的数量以及种类都有可能不同 , 为了保证系统 的扩展性和兼容性 , 通信之前必须对各个从站地址的有 效性进行检查 , 保存有效的从站地址号 。 ( 3)轮流对各从站发送读取/ 写入数据申请 。 其中关键的部分是检查各地址的有效性以及轮询 各从站地址 。 具体程序流程如图 2 所示 。

图 2  主站轮询从站的程序流程图

3  计算机作为 Modbus 从站的设置及编程 计算机作为 Mo dbus 从站 , 主要完成对各个传感器 以及 PL C 的设置 、监控和数据处理等功能 。 这要求 : 计 算机能随时作为从站接入 Mo dbus 系统进行通讯 ; 在计 算机进入通信网路以后 , 必须能与通信主站进行数据交 换 , 且能接收其他从站返回的数据 。 考虑到系统中主站的读取/ 写入数据申请命令和各 个从站的数据响应的长度 、内容以及时间间隔不同 , 计 算机从站对串口数据的操作不能单独采用中断方式或 者查询方式[ 5] : 如果只采用前者 , 则无法定义数据中断 的长度 ; 如果采用后者 , 则无法及时回复主站对本从站 的数据读取/写入命令 。 所以 , 本系统把两种方式相结 合起来 , 采用 先 中断 后 查询 的方 法 对串 口 数据 进 行 操作 。 S7 -200 Modbus 主站通信指令具有如下特点 : ( 1)可自由设置从站响应超时的时间阈值 ; ( 2)如果从站数据超时 , S7-200 将重新发送数据申 请 , 共尝试三次 。 根据 S7-200 这一特点 , 对串口数据可以进行如下 处理 : 当串口接收到数据而发生中断时 , 等待此帧数据 全部到达 , 等待时间的设置可以参照 P LC 主站的超时 阈值设置 。 一帧数据接收完之后 , 采用 CRC 校验来验 证数据的有效性 , 然后根据数据内容的特点 , 分析数据 来源和数据命令内容 , 并做出相应的数据处理 。 其软件 设计框图如图 3 所示 。 计算机从站采用 Visual Basic 语言编程 , 部分程序 及代码如下 。 串口初始化程序如下 :
M SComm1 . CommPo r t =P or tOfM o dbus M SComm1 . Setting s = ″ 19200 , e , 8 , 1″

143

工控技术

潘迪夫等 : 以 PL C 为通信主站的 Mo dbus 控制网络的设计与实现 能指针的同 时 , 还 需考虑以 下几个方 面 : 传 感器作 为 M odbus 从站 , 其功能码能否与 P LC 作主站的功能 码 兼容 ; 传感器是否兼容 RS 485 通信协议 。 选用的位移传感器和压力传感器的通信配置参数 如表 1 所示 。
表 1  传感器的参数配置 参数名称 波特率 校验位 数据位 停止位 参数值 19 200 b/ s 偶校验 8位 1位

M SCo mm1 . InputLe n =0 M SCo mm1 . RT hreshold =1 M SCo mm1 . InputM ode =comInputM o deBinary

串口数据处理程序如下 :
Priva te Declare Sub Sleep Lib ″ kernel32 ″( By V al dwM illiseconds A s Lo ng) ′ 为使用 Slee p 函数 , 需在程序中引入系统 A PI 函数 Priva te Sub M SCo mm1 O nCo mm( )  ′ 收到一个字节触发一次中断 Sleep T imeDelay   ′ 延时一段时 间 , 等待此帧数据读完 , 配合主站的超时时间 ReceiveData . Buffer = M SComm1 . Input   ′ 提取串口数据 Select ca se ReceiveD ata . Buffer( 0) ′ 通过判断从站地址 , 来判断主站的通信请求 Ca se 0 ′ 主站的广播数据 , 无从站响应数据 Call CheckCRC16( Receiv eData . Buffe r)   ′ CRC 校验 Ca se 1   ′ 对从站 1 的数据读取/ 写入数据请求 Call  CheckA nswer( ReceiveDa ta. Buffe)        ′ 检查从 站是 否有 回复 , 并 分离 主站 读取/ 写入 命令 和 传感器回应命令 Call  CheckCRC16( Receiv eData . Reque st) ′ 对 主站申请命令进行 CRC 校验 Call  CheckCRC16( Receiv eData . A nswer) ′ 对 从站响应命令进行 CRC 校验 Ca se 2 …… Ca se IDo fCo mputer   ′ PL C 对计算机的数据请求命令 Call CheckCRC16( Receiv eData . Buffe r)   ′ CRC 校验 If Receiv eData . Buffer ( 0 )= ReadSy m then Call SentData ( Read) ′ 判断为读取命令 , 回应 P LC 的请求 If ReceiveData . Buffer(0)= W riteSy m then Call SentData ( W rite) ′ 判断为写入命令 , 回应 P LC 的请求 …… End select End Sub

5  结  语 设计了以 PL C 为 Mo dbus 通信主站的控制系统 , 并在软硬件上实现了该系统 , 结果表明 : 采用 P LC 做通 信主站 , 通讯稳定可靠 ; 在从站数目有 9 个情况下 , 通讯 周期较短 , 完全能够满足控制系统采集数据的实时性要 求; 采用计算机作为通信从站 , 既能正常获取各智能传 感器的数据 , 又能和 PLC 进行数据交换 , 从而能实现监 控和维护控制系统的功能 ; 采用先扫描从站地址的有效 性 , 然后再轮询的方法能够使系统具有良好的扩展性能 。
参  考  文  献 [ 1] 车继勇 . M o dbus 通信协议 PL C 主站软件设计[ J] . 自动化技 术与应用 , 2008 , 27( 4): 24 -26 . [ 2] 王念春 . 基于 M o dbus 协议的 PC 与下位机 P LC 间的通信程 序[ J] . 自动化仪表 , 2001 , 22( 8): 44 -46 . [ 3] SIEM EN S . SIM A T IC S7-200 可 编 程 控 制 器 系 统 手 册 [ Z] . 2003 . [ 4] 龚仲华 . S7-200/ 300/ 400 PL C 应 用技术 [ M] . 北京: 人 民邮 电出版社 , 2007 . [ 5] 张新华 . 自动监测系统中的 PL C 控制[ J] . 机床与液 压 , 1999 ( 3): 48 -49 , 56 . [ 6] 雷汝海 , 王军 , 赵振明 . 基于 S7 -300 P LC 的制 动器闸瓦 间隙 监测装置的设计[ J] . 工矿自动化 , 2007( 4): 86 -88 . [ 7] 汪晓光 , 王艳丹 , 孙晓英 . 可 编程控 制器及 原理( 下册) [ M] . 北京 : 机械工业出版社 , 1995 . [ 8] 朱正礼 , 周以齐 . 基于 V C + +的 P LC 与上 位机的通讯[ J] . 电 气传动 , 2002( 2) : 10-14 . [ 9] 殷华文 . 可 编程序 控制 器及工 业控 制网 络[ M] . 西安 : 西安 地图出版社 , 2001 . [ 10] 许毅 , 熊文龙 , 雷静 . 基于 P C 与 S7-200 实 现自由通信 协议 的研究[ J] . 武汉理 工大学 学报 : 交通科 学与工 程版 , 2002 , 26( 4) : 513 -515 .

图 3  串口数据处理 程序流程图

4  传感器的选择及配置 传感器选型时 , 在考虑传感器的精度 、 线性度等性

作者简介  潘迪夫  男 , 1957 年出生 , 广东兴宁人 , 教授 。 研究方向为载运工具性能优化智能测控技术及应用 。 习  可  男 , 1983 年出生 , 湖南益阳人 , 硕士研究生 。 研究方向为智能测控系统的设计与优化 。

144


相关文章:
AB PLC与MODBUS网络的通信
MODBUS 仪表组成控制网络,实现设备的连网,就存在着互相通信协议转 换问题。 ...以PLC为通信主站的Modbu... 暂无评价 6页 ¥3.00 PLC与PLC通信篇(MODBUS...
赤城县代理发表职称论文发表-PLC数据采集MODBUSDTURS48...
以 PLC 为通信主站的 Modbus 控制网络的设计与实现 48……基于 CDMA 1X 网络的主通风机远程数据采集系统的设计 49……Modbus 协议在变频调速控制系统中的应用 3...
PLC的Modbus通信
(VB10=3 且 I0.3),主站首先向从站 发送控制...设计以 PLC 作为主站 MSP430 开 发板作为从站...库函数来 实现 PLC 与其他设备之间的 MODBUS 通信...
西门子PLC编程实例西门子S7-300 PLC与DCS控制系统的通信
PLC 与横河 CS3000 型 DCS 集散控制系统的之间 的通信,介绍如何实现 Modbus ...Modbus RTU 方式主站读取从站寄存器数据示例:从设备响应。 2.3 网络构成及硬件...
ab plc modbus通讯
NET-AIC)将 Logix5000 控制器连接 到 RS485 网络实现 Modbus 一主多从通信。...主站数据表字级别 的偏移量 指定从站地址 指定功能码 0-12 缺省为 12 0=不...
plc培训班-西门子S7200与变频器MODBUS通讯实例详解_图文
杭州端德教育 硬件工程师培训 plc 硬件设计培训/...ModBus 网络是一个工业通信系统,由带智能终端的可编...调用 MODBUS RTU 主站初始化和控制子程序 使用 SM0...
CP1 PLC的Modbus-RTU简易主站功能
CP1 PLC的Modbus-RTU简易主站功能_信息与通信_工程科技_专业资料。CP1经典资料 关于Modbus-RTU简易主站功能 培训部技能育成实验报告 CP1 PLC 的 Modbus-RTU 简易...
MODBUS简易主站功能CP1H
MODBUS简易主站功能CP1H_计算机硬件及网络_IT/计算机_专业资料。欧姆龙PLC,MODBUS简易...RTU 模式 当控制器设为在 Modbus 网络上以 RTU(远程终端单元)模式通信,在消...
西门子PLC modbus RTU-通讯案例
西门子PLC modbus RTU-通讯案例_信息与通信_工程科技...调用 Modbus RTU 主站初始化和控制子程序 使用 SM0...Timeout 超时: 主站等待从站响应的时间,以毫秒为...
S7-300 PLC与DCS控制系统的通信
实现西门子 S7-300 PLC 与 DCS 控制系统的通信 ?...网关 PM-160 在串口侧的协议类型为 Modbus 主站...设计中有两个网络使用了上海泗博自动化的 Modbus 转...
更多相关标签: