一种集成组态的软 PLC控制系统的研究.pdf
2 0 1 4年第 3期 工业仪表与自动化装置 l l 7 一 种集成组态的软 P L C控制 系统 的研 究 马远佳 广东石油化工学院 计算机与电子信息学院 , 广东 茂名 5 2 5 0 0 0 摘要 针对 目前软 P L C存在 的不足 , 论述 了一种软 P L C与组 态软件相 结合 的体 系结构 , 基 于 I E C 6 1 1 3 1 . 3标准, 在 L i n u x平台上设计 了一种集成组态的软 P L C控制 系统。阐述 了系统的总体结 构以及实现思路 , 重点介绍开发 系统的程序转换算法和运行 系统与组 态软件的数据 交换方法。 关键词 软 P L C; 组态; 编译 系统 ; 运行 系统 中图分类号 T H 3 2 2; T P 6 9 文献标志码 A 文章编号 1 0 0 0 0 6 8 2 2 0 1 4 0 3 0 1 1 70 4 A r e s e a r c h o f c o nfig u r a t i o n i n t e g r a t e d c o nt r o l s y s t e m o f s o f t - PLC MA Yu i a C o m p u t e r&E l e c t r o n ic I n f o r m a t i o n I n s t i t u t e ,G u a n g d o n g U n i v e i ty o fP e t r o c h e mic a l T e c h n o l o g y, G u a n g d o n g Ma o m i n g 5 2 5 0 0 0 ,C h i n a Ab s t r a c t T h o u g h a n a l y z e s t h e d e fi c i e n c y o f t h e s o f t P L C, t h e s t r u c t u r e w h i c h s o ftP L C c o n n e c t - e d w i t h c o n fi g u r a t i o n s o f t w r e i s p r o p o s e d i n t h i s p a p e r ,a n d a c o n fi g u r a t i o n i n t e g r a t e d c o n t r o l s y s t e m o f s o ft PL C wa s d e s i g n e d o n L i n u x p l a t f o r m b a s e d o n I EC61 1 3 1. 3 s t a n d a r d.Fi r s t i n t r o d u c e d t h e s t r u c t u r e o f t he s y s t e m a n d i mp l e me n t a t i o n a pp r o a c h,i n pa r t i c u l a r ,i s t o i nt r o du c e t h e p r o g r a m t r a n s f o r ma t i o n a l g o r i t hms o f t h e d e v e l o p me n t s y s t e m ,a n d t he me t h o d s o f e x c h a n g e d a t a wi t h c o n fig u r a t i o n s o f t wa r e a n d run n i ng s y s t e m. Ke y wo r ds s o f tP LC;c o n fig u r a t i o n;c o mp i l e d s y s t e m ;runn i n g s y s t e m 0 引言 近几十年来 , 软 P L C系统得到快速 的发展 。市 场上出现 了一些遵循 I E C 6 1 1 3 1 3标准编程环境的 软 P L C, 但这些系统 只提供 了对控制程序 的编程以 及对 I / O口的逻辑控制 , 没有提供完善的实时监控 、 数据趋势 、 生成报表和报警等解决方案。该文介绍 了一种集成组态的软 P L C控制系统的设计方法, 充 分利用组态软件已有 的监控和管理 的强大功能 , 实 现软 P L C与组态软件的数据交互 , 进而实现软 P L C 与组态软件功能集成。 1 系统 的总体设计 1 . 1 软 P L C 系统体 系结构 该文讨论 的软 P L C是 指基 于 P c机 , 建立 在 L i n u x 操作系统平台之上, 通过软件方法实现传统 收稿 日期 2 0 1 30 8 2 6 基金 项 目 广 东 石 油 化 工 学 院 青 年 创 新 人 才 培 育 项 目 5 1 1 0 0 8 ; 茂名市科技计划项 目 2 0 1 2 B 0 1 0 5 2 ; 广东省石化装备故 障诊断重点实验室开放基金 5 1 2 0 0 6 作者简介 马远住 I 9 8 4 , 男 , 湖南湘潭人 , 硕 士研究 生 , 主要从 事检测技术与自动化装置、 故障诊断等技术的研究。 P L C的计算 、 控制、 存储 以及编程等功能 , 同时通过 I / O驱动模块以及现场总线等物理设 备完成现场数 据的采集 以及信号 的输 出, 其与组态软件接 口的模 型如 图 1 所示 , 它主要 由开发系统 、 运行 系统和组态 软件三大基 本模块组成 。开发 系统 负责程序 的编 辑 , 主要有语句表和梯形图等编写方式 , 软件将编译 好的 目标代码转化为 X ML文件格式 , 下载到运行 系 统中通过软 P L C运行虚拟机执行⋯ , 通过 I / 0设备 驱动实现外部 I / 0接 口的控制 , 执行结果反馈 到组 态软件的实时数据库 中进行组态 , 同时组态软件也 能将用户的控制信息反映到运行系统中来。 1 . 2 系统软硬件平台 软 P L C系统具有 良好 的开放性 , 其硬件平台可 以有多种选择 , 既可 以是传统 的 P L C硬件 , 也有 当 前较流行的嵌入式 芯片, 而 网络环境下 的 P C或者 D C S 系统更是软 P L C系统的优良硬件平台。在这 种控制方案中, 系统的软件平台可以采用 L in u x 等 实时操作系统作支撑 。基于 P c平台开放 、 经济、 数 据处理能力强 的特点 , 该文采用基 于 P C平台 的软 P L C系统, 同时也只有在 P c平台上才能充分发挥 软 P L C高级管理和监控 的功能 , 才能将组态软件 的 优越性充分发挥 出来 。 1 1 8 工业仪表与自动化装置 2 0 1 4年第 3期 r\外 芨 系 琥 运 行 系 统 r\ l 梯 形图l l 软P L C 运行 虚拟机l j 人 机界 丽 } t 羹 卤 J、 I区域变量 DBl 叫 『-iI T 』 目 标代码J L 墼 一 j I 实 时数 据库l 图 1 集成组态软件的软 P L C系统体系结构 1 . 3 软 P L C与组态软件接口功能分析 软 P L C通过通信程序从现场设备获得实时数 据 , 由运行系统对数据进行必要的处理后 , 一方面将 数据上传到组态软件实 时数据库中 , 以图形的方 式 直观地显示在计算机屏幕上 , 另一方面按照组态要 求和操作人员指令将控制数据送给 I / O设备 , 对其 实施控制或调整控制参数。该文设计 的这种组态软 件与软 P L C的接 口方案 , 主要实现以下功能 J 1 实时数据库从软 P L C运行虚拟机中读取设 备的运行状态信息 , 如 I / 0点的个数 、 类型、 名称、 变 量值等内容, 并存入实时数据库中供上层监控和管 理模块调用。 2 运行虚拟机从实 时数据 库 中接收来 自监 控 层的控制信息 , 在虚拟机中计算 出结果等待输 出。 3 运行虚拟机通过 I / O驱动接 口读取设备的参数 值, 包括 I / O点的个数、 类型、 名称、 变量值等内容。 4 运行虚拟机通过 I / 0驱 动接 口向相应 的外 部设备输出控制命令、 状态值等信息。 2 开发系统的设计 软 P L C开发系统的编辑 器 由梯形图编辑界 面 和语法检查模块组成, 而梯形图转指令表模块和指 令表编译模块完成程序编译器的相关功能 - 4 ] , 它 们完成传统硬件 P L C的上位机 的编程 和调试功能。 开发控制应用程序 , 首先要在编辑器 中完成梯形 图 等应用控制程序的编辑 , 然后通过编译器完成程序 的连接和编译 , 并对其 中的语法 、 语义错误进行分析 和处理, 然后将源文件编译成为 目标代码, 通过软 P L C运行系统读取控制程序 , 执行控制过程 。其 中 仿真模块则为用户提供了在没有相关硬件的情况下 检查控制应用程序的运行结果与预期 的是否相吻合 的调试环境 。 2 . 1 梯形图解释算法 梯形图使用正 向深度优先扫描算法 , 以梯形图 母线作为梯形图网络的逻辑区分, 从上到下, 从左到 右依次扫描梯形图中的每一个元素。梯形 图遍历扫 描过程如图 2所示 首先从左上 的母线开始从左 到 右读取 Q O . o节点与 1 0 . 1 节点作为串联块 。继续往 右扫描读取到交界处 A点 , 然后作为并联块 的连接 点去到下一行从左到右扫描。读取节点 1 0 . 3, 扫描 到交界点 B处 , 同样作为并联块 的连接 , 往下读 取 I O . 5与之并联, 然后往右扫描, 读取 1 0 . 4与之串联, 最后扫描 的结果 回到 A点 和上面 的 串联块 并联 。 若扫描到交界点则从下一行开始读取 , 读取 的结果 作为并联块与交界点之前的电路并联。若没有则将 扫描到的元素与之 串联 , 最后搜索完毕, 完成级联 , 继续从左往右读取 串联节点 I O . 2和 Q O . o完成第一 个网络的遍历。最后以同样 的方式完成其他 网络 的 遍 历 。 1 0 . 2 Q o . o / 一 图 2梯形 图遍历扫 描步骤 2 . 2 梯形图到 X ML中间件的转换 由梯形图的原理可知 , 节点的连接关系分 为 3 类 并联 、 串联和功能块。通常可用二叉树来描述节 点关系。但是对于一些特殊的功能块, 例如有 3个 以上输入的功能块 , 相对于串联和并联 , 用二叉树实 现会 比较难以处理 。由于 X ML的 自描述性 , 用户可 以很方便地定义 自己的标签来解释梯形图指令 , 因 此可以非常好地弥补二叉树的不足 。在梯形图编辑 器中 , 梯形图元素都是有一定的位置坐标 的, 它用来 表示各个元素之 间的位置和逻辑关 系。同时 , 每个 梯形图元素都有元件名称和元件标号 , 功能块还有 2 0 1 4年第 3期 工业仪表与自动化装置 1 l 9 自己的参数 。因此 , 可 以把元件名称或功能块 的名 称作为 X ML元素名 , 把元件的坐标、 标号和参数作 为元素的属性 , 这样 X ML文件就可 以将梯形图文件 完全地描述出来了。 根据 以上分析 , 可以根据 X ML的语法规则得到 此梯形图的 X ML文件表示方法如下 3 运行系统的设计 软 P L C运行虚拟机系统仿照了硬 P L C循环扫 描 的工作原理 , 在 系统初 始化之后 , 加载软 P L C开 发系统编译生成的程序文件 目标代码 , 然后读取 I / / 0设备 的状态值存放在变量 中, 完成输入采样 阶段。 之后根据变量值的状态和 目标代码执行程序 , 将输 出变量的值更新 , 完成程序执行 阶段 的工作。最后 通过 I / 0设备驱动将输 出变量 的值发送 到 I / 0设 备 , 完成一个周期 的输 出刷新 , 然后不 断循环 , 直至 程序停止。系统初始化之后 , 软 P L C运行虚拟机在 后台通过实时数据库接口 模块实时地与组态软件进 行数据交互, 以保证组态软件画面与数据的实时l生。 负责工业控制现场数据采集 的 l f O模块采集上 来的输入信号被软 P L C运行系统处理之后, 软 P L C 开发系统编写 的控制应用程序也被软 P L C运行 系 统解释执行 , 最后将处理后的信号输 出到本地或远 程的控制现场, 从而完成相应的控制功能。软 P L C 的运行 系统 针对 不 同 的硬件 平 台开发 出 的基 于 I E C 6 1 1 3 1 3标准 的虚拟机 , 完成对 目标代码 的解 释和执行 。这一部分是软 P L C的核心 , 完成输入处 理 、 程序执行 、 输出处理等工作。对于不同的硬件平 台, 运行系统还必须支持与开发 系统的通信 和相应 的 I / 0模块 的通信。软 P L C运行 系统通 常 由 I / 0 接口、 通信接口、 系统管理器、 错误管理器、 调试内核 和编译器组成 。 软 P L C运行系统、 开发系统和 L / O设备的数据 映射关系如 图 3所示。在软 P L C的运行系统 中开 辟一组数字和模拟量 的输入输出空间, 以数组 的形 式存在于 内存 中, I / 0设备 的输入输出 口通过数据 连接组态 接 口与运 行系统 中的输入输 出数组相关 联 , 不同的设备所对应的输入输 出数组元 素的个数 以及位置都不尽相同。而软 P L C开发系统中梯形 图所描述 的各个输入触点和输出线圈则与输入输出 数组存在一一对应 的映射关系。这样 , 通过软 P L C 运行系统 的输入输 出数组 , 就将外部 I / 0设备 的输 入输 出口与软 P L C运行 系统 内部 的数据联系起来 , 从而可以通过软 P L C与实 时数据库的通信接 口将 外部数据反应到组态软件 画面 中。而软 P L C梯形 图的编程人员不需要了解输入触点和输出线圈与内 存 I / O点的对应关 系, 而 由软 P L C的编译系统根据 开发时所针对 的硬件 , 通过 I / O设备驱动 自动分配 这种映射关系。 图 3 软 P L C内存映射关系 采用 V C 开发软 P L C运行系统与组态软件 1 2 0 工业仪表与 自动化装置 2 0 1 4年第 3期 实时数据库接 口程序的基本步骤如下 在整个控制 系统运行后 , 组态软件实时数据库作为 O P C服务器 在后台运行 , 软 P L C运行虚拟机作为客户端与服务 器连接 , 采用组态 软件 提供 的 D b C o mm控件 , 通 过 消息循环检测 I / O设备的实时运行状况 , 若有事先 设置好 的点参数数据发生变化 , 则通 过事件主动地 向实时数据库发送消息, 动态地更新数据库的点参 数值 , 同时不断监测来 自上层监控人 机界面发来 的 控制命令的改变 , 从实时数据库 中取出数据参与虚 拟机 的运行。 4 结论 该文提出一 种软 P L C实现监控层 和管理层功 能的方法 , 其思想是基 于 P C机强大 的数据处理 能 力和友好的人机界面 HM I , 研究软 P L C与组态软 件问的接 口, 利用现有组态软件强大 的人机界面模 块和大量的图形实例 , 通过监控组态软件完善的解 决方案 , 使控制现场的实时数据通过软 P L C与上层 组态软件交互 , 实现对 软 P L C的功能扩展 , 最终 形 成具有监控层和管理层功能的完整的软 P L C系统。 参考文献 [ 1 ] 宋志峰, 梅顺齐. 软 P L C虚拟设备在 I P C控制系统中 的应用[ J ] . 现代制造工程 , 2 0 0 6 3 4 0 4 28 4 . [ 2 ] 王新华. 软 P L C运行系统的硬件结构设计与实现[ J ] . 北京工业大学学报, 2 0 0 6 8 7 4 5 7 4 9 . [ 3 ] J a n T h i e me , H a n sM i c h a e l Ha n i s c h .Mo d e lb a s e d g e ne r a t i o n o f mo d ul a r PLC c o de u s i n g I EC61 1 31 f u nc t i o n b l o c k s 『 J ] . I n d u s t r i a l E l e c t r o n i c s . P r o c e e d i n g s o f t h e 2 0 0 2 I E E E I n t e r n a t i o n a l S y m p o s i u m o n ,2 0 0 2 , 1 8 1 1 1 9 92 0 4 . [ 4 ] 林小峰. 一种基于工业 P C的软 P L C控制系统[ J ] . 微 计算机信息, 2 0 0 5 , 2 1 1 1 2 22 4 . [ 5 ] 欧阳三泰. 基于组态软件的 P L C P C监控系统[ J ] . 上 海 电器技术 , 2 0 0 7, 3 2 2 5 0 5 2 . 中仪协压力仪表专业委 员会会 员大会 召开 中国仪器仪表行业协会自动化分会压力仪表专业 委员会 以下简称压力专委会 2 0 1 4年会员大会于 201 4 年4月 8日至4月 1 0日在杭州富阳召开。本次会议的 主题是“ 关注压力仪表零部件产品质量, 提升行业整体 制造水平” 。来自国内压力仪表生产企业、 零部件配套 企业总计 5 6家单位 8 7位代表参加了 a -G y . 。 中国仪器仪表行业协会李孟凯副秘 书长 、 陕西 鼓风机 集 团 有限公司能源动力与 自动化工程研 究院高向斌副主任出席了本次会议 。 压力专委会 副理事长单位 北京布莱迪工程技 术有限公司总经理俞磊 、 上海减压器厂有限公 司副 总经理、 秦川机床集 团宝鸡仪表有限公 司总经理吴 征团、 红旗仪表有限公司总经理周春龙 、 无锡市特种 压力表有限公司董事长俞纪度参加了本次会议。 会议由压力专委会理事长刘耀武主持。陕西鼓 风机 集团 有 限公司工研院高 向斌 副主任代表秘 书处挂靠单位致欢迎辞。 中国仪器仪表行业协会李孟凯副秘书长做了重 要讲话。李孟凯副秘书长介绍了我国仪器仪表行业 2 0 1 3 年经济运行的整体情况及产业分析, 国家在项 目审批、 出口税收方面的政策 , 仪器仪表行业两化融 合工作的进行情况及仪器仪表行业协会 2 0 1 3年工 作情况 。他肯定 了压力专 委会所做 的工作 , 并鼓励 协会企业进行高端产品的研 发, 全面提 升我 国压力 仪表行业的发展水平 。 压力专委会会罗娟秘书长做了工作总结 。第六 届压力专委会五年来在配合 中仪协会员登记发证 、 网站建设、 开展企业综合指标及产品情况统计、 企业 调研、 走访及为会员单位提供服务等方 面做 了大量 的工作 , 特别是在提高配套企业的产品质量方面下 了许多功夫 , 也取得 了一些成绩 。明年的工作将会 继续围绕中仪协的部署进行, 并在提升行业整体质 量水平和完善组织建设方面加大工作力度。 会议进行 了技术交流 。1 1位企 业代表就 国内 外压力仪表现状及发展趋势 , 新技术 、 新材料 、 新工 艺在压力仪表制造业 中的应用 , 压力仪 表及零部件 新产品介绍 , 企业管理 中的创新经验等内容进行 了 交流发言 。 会议进行了产品展示。 会议组织全体代表参观 了富阳丰源铜业有限公 司, 代表们对红冲工艺生产仪表接头颇感兴趣。 中国仪器仪表行业协会 自动化分会压力仪表专委会秘书处供稿