软PLC逻辑控制元件图形化分析与实现.pdf
第 l O期 2 0 1 2年 1 0月 组 合 机 床 与 自 动 化 加 工 技 术 M o dul ar M a c hi n e To o l Au t o ma t i c M a n uf a c t ur i ng Te c h ni q ue NO . 1 0 oc t .20 1 2 文章编号 1 0 0 l 一 2 2 6 5 2 0 1 2 1 00 0 7 4 0 3 软 P L C逻辑控制元件图形化分析与实现 木 代征 宇, 杨观赐 , 李 少波 贵州 大 学 教 育部现代 制 造技 术重 点实验 室 , 贵 阳 5 5 0 0 0 3 摘要 基 于 大型 中央空调 实 际运行过 程 中存在 的 能耗 问题 , 将 软 P L C P r o g r a m m a b l e L o g i c C o n t r o l l e r , 可编程 逻 辑控制 器 应 用于大 型 中央空调 的节 能控 制 系统 中 , 针 对 不 同的 应 用 需求 对硬 件 模 块进 行 功 能开发 、 软件 管理 及升级 维 护 。基 于 Q t 平 台, 针 对该 系统 中的 图形 元件 的 创 建 以及 功能 实现 进行 研 究 , 介 绍 了图形元 件 类设 计 、 功 能 实现 以及 元件 间 的数 据 交 互。从 而 实现 系统 运行 的 高效 性 与稳 定性 。通 过 实例 应 用 , 系统稳 定可 靠 , 能够很好 的 实现各 功能模 块 功能 。 关 键词 图形元件 ; 梯 形 图; 软 P L C 中图分 类号 T P 3 1 9 文献 标识 码 A Ana l ys i s a nd I m p l e me nt Gr a p hi c al o f So f t PLC Lo g i c a l Con t r o l El e me nt s DAI Zh e n g y u,YANG Gu a n c i ,L I S h a o b o K e y L a b o r a t o r y o f Ad v a n c e d Ma n u f a c t u r i n g T e c h n o l o g y,Mi n i s t r y o f Ed u c a t i o n,Gu i z h o u Un i v e r s i t y, G u i y a n g 5 5 0 0 0 3 , C h i n a Ab s t r a c t Ba s e d o n t h e En e r g y pr o bl e ms o f l a r g e c e n t r a l a i r c o n d i t i o ni n g i n a c t u a l o pe r a t i o n,S o f t P LC i s us e d i n t h e s a v i n g e n e r g y c o nt r o l s y s t e m o f l a r g e c e n t r a l a i r c o n d i t i o ni ng t o c o n d u c t t h e f u n c t i on d e v e l o p me n t o f h a r d wa r e mo d u l e,s o f t wa r e ma n a g e me nt a nd u pg r a d e ma i n t e n a n c e i n d i f f e r e n t a p p l i c a t i on s .Th e ma i n r e s e a r c h i s a b o u t c r e a t i n g t h e Gr a p h i c S y mb o l a n d r e a l i z i n g i t s f u n c t i o n s b a s e d o n QT p l a t f o r m.T h e pa pe r i n t r od u c e s t h e c o mpo n e n t d e s i g n,f u n c t i on o f g r a p h i c s i mp l e me n t a t i o n a n d t h e d a t a i nt e r a c t i o n b e t we e n c o mpo n e nt s .So a s t o r e a l i z e t h e e ffi c i e n c y a n d s t a bi l i t y o f t h e s y s t e m o p e r a t i o n.Th r o u g h t h e a p p l i c a t i o n,t h e s y s t e m i s s t a b l e a n d r e l i a bl e,a n d i s b e t t e r t o r e a l i z e t h e mod u l e f u nc t i o n. Ke y wo r d sg r a p h i c e l e me n t s ;LD ;s o f t PLC 0 引 言 软 P L C的市 场需 求量 在不 断 的增 长 。典 型 的软 P L C应用产 品有 ① S O F T P L C公 司的 s o fi P L C 。s o ft P L C是基 于 P C的开放 式控 制 软 件 , 具 有 开 放 的控 制 平 台, 用户能够根据 自己的需求来选择硬件。②S I E M E N S公 司 的 S I MA T I C Wi n A e 。S I MA T I C Wi n A e是 基于 w i n d o w s平 台 的控 制 软 件 , 具 有 可 视 化 人 机 界 面, 它将控制、 数据处理 、 通信等技术集于一体 , 采用 了实 时操作 系统 作 为 Wi n d o w s N T的扩 展 , 具 有 “ 硬 实时 ” 的特 性 。③ C J I n t e r n a t i o n a l 公 司 的 I S a G R A F 。 I S a G R A F能够 在 多 种 操 作 系 统 下 运 行 , 具 有 良好 的 网络通讯 能力⋯ 。在 国内, 吕涌等开发 的面向 DC S 控制组态软件中包含一些软 P L C功能 , 它 只是 D C S 系统 的一 部分 , 不能 独 立运 行 。李 左章 等 对软 P L C技术进行 了大量 的研究 , 其开发 的数控 内嵌 式 P L C具有软 P L C的特点 , 但功能单一 , 不能作 为独立 系统运行 , 且 无联 网通讯 能力 。 基 于上 述 产 品 的特 点 以 及 不 足 , 本 文 主 要 研 究 基 于 Q t 平 台 的 中 央空 调 控 制 系统 中的 软 P L C控 制 软件的开发 , 其对于降低大型中央空调能耗 , 缓解我 国因不断增长的能源需求所带来的能源压力和环境 压力具 有重 要 的意义 。 1 图形元件 类需求分 析与实现策略 1 . 1 图形元 件类 需求 分析 采用梯形 图语 言设计 顺 序控 制逻 辑 , 具有 方便 直 观的优点 , 且梯形图程序由若干图形元件按逻辑规则 连接而成 , 编译顺序是从上到下, 从左到右 。将控制 收稿 日期 2 0 1 2 0 7~1 3 十基金项 目 贵阳市科技局科技计划项 目 筑 科合同[ 2 0 1 2 1 0 1 ] 2 7号 ; 教育部新世纪优秀人才支 持计划 N C E T 0 90 0 9 4 ; 国家科技支 撑计 划 2 0 1 2 B A F 1 2 B 1 4 作者简介 代征宇 1 9 8 6 一 。 女 , 吉林 四平人 , 贵州大学教育部现代 制造技术重点 实验 室硕士研究 生 , 主要研究 方 向为先进制造模 式与 制造 信息系统 , Em a i l a d a i z h e n g y u 1 6 3 . f 3o m。 2 0 1 2年 1 0月 代 征 宇 , 等 软 P L C逻 辑 控 制元件 图形化 分析 与 实现 7 5 系统的开关量逻辑与状态表示成梯形图, 有利于系统 维护 与快 速 故 障诊 断 。通 过对 梯 形 图及 其 设 计 规 则 的分 析 , 用梯形 图语 言 编制 程 序 的过 程实 质上 是 一 个用梯形 图图符 来表 示操 作 指令 、 用 图符 的串并 联 及 位置顺 序 来 表示 操 作 指 令 之 间逻 辑 关 系 的过 程 。 由 此 , 一个 梯形 图可 以看 作是 由梯形 图图 符和 连接 符 组 合而成 。为实现 软 P L C控 制软 件功 能 , 其 编辑 模 块 应包括指令的类设计与实现、 梯形图的生成、 显示和修 改功 能的实现 , 并 为用 户 提供 友好 的操作 界 面 和 良好 的编程环 境 , 提高 软 P L C编辑 模块 的可 靠性 和 可用 性 的功能。对于元件的操作, 应实现元件复制、 粘贴、 剪 切 、 添加 、 删除 、 元件属性 编辑 等操作 。 在软 P L C控 制 软 件 编 辑 模 块 中 , 元 件 类 必 须 符 合 以下要 求 1 为减少系统代码冗余 , 缩短运行时间 , 元件 代码必须要 高效、 合理、 精 简。操作 过程 中, 要实现 元件 的灵 活拖 放 , 并 保 证 系统稳 定 。 2 元件必须能够准确 、 完整、 快速地保存数据。 并且 在 系统运 行 时 , 及 时保 存并 更新 数 据 。 3 元件必须具备出错处理功能 , 并能够判别其 使用环境 , 当两个元件不能 同时使用时, 需要有相应 的提 示 。 1 . 2 图形 元件 实现 策 略 依据 L o g i x 5 5 5 0控制器指令集参考手册, 指令 主要 分为 8大 类 , 分 别 是 位 操 作 类 、 计 时 器/ 计 数 器 类 、 比较类、 计算类 、 传送与逻辑类 、 程序控制类 、 终 止循环类、 滤波类。文献[ 7 ] 中定义了一个 E C l a s s 建 模类 , 它指定属性和参数 以描述元件图形 、 图像化 的 数据。此方法可 以降低工 作量 , 减小 代码冗余 。但 是在具 体 实现 过程 中 , 各 个 元 件 的 图形 、 图像 化 参 数 存 在差 异 , 所要 呈现 的视 觉 效果 不 同 , 此 方 法 无 法 满 足系统对指令 图形多样化 的需求。文献 [ 8 ] 定义 了 D r a w O b j e c t 基 类来 描 述所 有 元 件 图 形 化 的 共 同属 性 和行 为 , 把 元件 的 图形 化 和 逻 辑 功 能封 装 在 一 起 , 简 化 了编程 过程 。在 本 系统构 架 中 , 定 义 C l o g i c E l e me n t 为元件 库模 型 的 基 类 , 它 是 从 梯 形 图编 程 系 统 所 支 持 的所有元件抽 象出来 的一个类 , 它定义 了其 他类 的共有 操作 接 口和 属 性 , 是 其他 图形 元 件 类 的 父类 。 模 块 中所 有 的元件 子 类 都依 据 继 承机 制 继 承 了基 类 的属性 , 并 根 据 自己支 持 的 图 形 元 件 有 选 择 地 重 载 基 类相 应 的操 作 , 以满 足 子 类 的需 求 。如 图 1 , 为 其逻辑功能模块类结构。 图形元件是实现对 象的模型 , 它不 仅是实 现对 象的图形表示 , 而且还要包括 与现实对象相关 的一 些 主要 属性 、 数 据 和行 为 。因此 , 必 须 将 图 形 元 件 智 能 化 ⋯。Q t 具 有很 好 的平 台移 植 性 , 采 用 面 向对 象 语言 , 易于扩展, 并且允 许组件编程 。另外 , 使用 Q t 编 写 的程序 在 嵌 入 式 系 统 上 运 行 时 间性 能 高 , 占用 图 1逻 辑 功 能 模 块 类 结 构 系 统资 源少 , 能 保 证 该 系 统 移植 到 嵌 入 式 系统 以后 的顺畅运行 。因此 , 本系统在 Q t 平台上进行开发 。 2 图形元件类设计与功能 实现 2 . 1图形 元件 类设 计 根据 L o g i x 5 5 5 0控制器 指令集参考手册 , 元件 基类 应定 义 元件 预 扫 描 函数 、 梯 级 输 入 函数 、 梯 级 输 出函数 、 元件逻辑功能 函数、 元件输 出函数等一些公 有 属性 的 函数 。 梯形 图元件 基类 的关 键代 码 如下 c l a s s CLo g i c El e me n t } v o i d S e t P r e S c a n ; / / 设 置预扫描状态 v o i d S e t R u n g l n p u t ; / / 设置梯级输入状态 B O O L G e t R u n g O u t p u t ; / / 获取梯级输 出结 果 v i r t u a l v o i d S e t D a t a I n p u t ; / / 设置元件 初始输人数据 v i r t u a l B O O L O u t p u t ; / / 元件逻辑实 现 B OOL Ch e e k Da t a E H0 r ; }; 2 . 2 图 形元 件功 能 实现 梯形 图是 由梯 级 和 图形 元 件 构 成 , 用 图 形 元 件 的串联或并联 以及 它们 的位置和顺序来表示实际元 件之间的逻辑关系 , 而元件之 间的逻辑 运算是通过 各个 元件 之 间 的 函数 进 行 关 联 。在 定 义 元 件 类 时 , 把元 件数 据定 义 为 私有 , 把 元 件 函数定 义 为 公 有 , 以 此方 式来 实现 元件 的功能 。如 图 2所 示 。 图 2元 件 间 的 逻 辑 运 算 方 式 以计时器计数器类 中 T O N指令为例, 1 对 象初 始化 C L o g i c E l e me n t my El e me n t n e w CL o g i c C o u n t e r T ON 2 数 据初 始化 m y E l e m e n t 一 S e t D a t a I n p u t m y D a t a , o u t p u t , p r e S c a n ; 其 中 m y D a t a为当前元 件 的数据 , o u t p u t 为 在梯形 7 6 组合机 床与 自动 化加 工技 术 第 1 O期 图运行 中的输 出值 , p r e S c a n为 当前元件 是否预扫描 。 3 程序执行 m y E l e me n t 一 O u t p u t ; 4 将数据返回到存储与交换数据中间件类 m y E l e m e n t 一 Mo d i f y D a t a I n s t a n c e ; 并非每个元件运 行后都修改数据 , 因此对未修 改数据的元件类此方法 内容为空。 5 在执行中元件类数据的修改 m y E l e m e n t 一U p d a t e D a t a V a 1 u e s I n s t a n c e ; 此方法可以将已经在存储与交换数据 中间件类 中更新 的数据传入元件类 中, 在执行过程中调用 , 如 图 3为元件 运算 流程 图。 图 3元 件 运 算 流 程 图 3图形元件功能测试 遵循 软件 测 试 原 则 , 采 用 黑 盒 测 试 方 法 。根 据 L o g i x 5 5 5 0控制器指令 集参考手册 中规 定的元件 功能来设计测试用例 , 对部 分图形元件功能进行测 试。其中, X I C指令检查数据位是否是置位状态 , 当 数据位置位时 , 则使能下一条指令并且梯级输 出条 件为真。C T U指令 为向上计 数指令 , 当指令被使能 时加计数使能位 . C U 是清零状态 , 则 C T U指令使 计 数 器 加 1 。R E S指 令 复 位 T I ME R、 C O U N T E R 和 C O N T R O L结 构。当 R E S指令被使能 时, 指令清零 T I ME R和 C O U N T E R型的累加值和控制状态位, 清零 C O N T R O L型 的位置值和控 制位 。如 图 4 , 其 中变量 2 、 4为元件数据初始值; 如图 5元件功能测试用例 , 其主 要测试 X I C、 C T U、 R E S指令的逻辑功能是否实现。 ■ 囊■{■出童■ 潍 鬻瓣 瓣 l ; 藏 骐 鞠 黼 辑 蕊 黪 瓣 一 d 眦 O t. 1t ∞ m 嚣 I l艄 e t-毒 喇 I噍 掰 { ● - H l 精 U 3 3 0 蠹 l t . 1 t l 峨 l “蕾 l 嘲I 住 图 4元件数据初始 值 当 X I C数 据位 为 1时 , 梯 级 输 出 为真 ; C T U指令 使能 , 累加值加 1 ; 当遍历到第二个梯级时 , 检测 c t u t e s t 的 D N位 , 其值为 1则使能 R E S指令, 并清零 c t u t e s t 的累加值 . A C C 。运行结果如图 6 。 1 I 。 墼 9 o l 1累 加 值 l 图 5元件功能测试用例 1 I 0 l l累 加 僵 0 l 1 l l 数据 位t Il t e 8 t D N l l结构 h L t 瞰卜 D 一 一 图 6元件功能测试用例运行结果 4 结束语 图形元 件 是 梯 形 图 的重 要 组 成 部 分 , 而 在 编 辑 图形元件时 , 实现 图形元件类的高效、 简洁 、 高可重 用性至关重要 。把各种元件定义为相应 的类 以后 , 在计算机屏幕上显示元件时 , 程序 生成一个该元件 类 的对象 , 并 且 这 个 对 象 的属 性 和 函 数 就 描 述 了相 应的元件 。程序就是通过判断或运算这些对象 的属 性来实现元 件 的各种 功能 的。实 现 了系统 的高效 性 , 减少系统代码冗余 , 大大提高的系统运行效率 。 [ 参 考文献] [ 1 ]赵强 , 张建瓴 , 可欣荣 , 等.软 P L C技术研 究现状 与发 展 趋势 [ J ] .科技信息 , 2 0 1 0 4 1 2 0 . [ 2 ]吕涌 , 皇 甫 正 贤.组件 化 结 构 的组 态 软 件 研究 与 开 发 [ J ] .工业控制计算机 , 2 0 0 0 , 1 3 5 1 41 7 . [ 3 ]李左 章 , 周云飞.一种基于 I P c 的 内嵌式 P L c 的实现方法 [ J ] .机 械与电子 , 2 0 0 0 5 3 6 . [ 4 ]毕辉 , 程 良鸿.关于软 P L C梯形 图向语句 表转换方 法 的 研究 [ J ] .微计算 机信息 , 2 0 0 7 2 5 6 36 5 . [ 5 ]谭锦洁 , 程 良鸿 .嵌入式 P L C中梯 形图到 A O V图的 映射 [ J ] .计算机测量与控制 , 2 0 0 4 , 1 2 1 O 9 9 3 9 9 5 . [ 6 ]谭锦洁 , 程 良鸿 .嵌 入式 P L C梯 形图 的一种数 据结构描 述方法 [ J ] .计算机工程 , 2 0 0 4 8 58 7 . [ 7 ]项浞武 , 章锐.可 视化集 成环 境在嵌 入式 系统 中的开 发 [ J ] .上海 电机学院学报 , 2 0 0 8 , 1 1 3 2 0 7 2 1 0 . [ 8 ]邓其 军 , 周洪 , 鲁觉 .面 向图形对象 的配电网单线 图绘制 与使 用[ J ] .电力 自动化设备 , 2 0 0 9 , 2 9 7 9 71 0 0 . [ 9 ]韩伟 , 宋 明伟 , 魏志强 , 等.基 于 Wi n d o w s的华 中世 纪星 数控系 统 P L C编 程 系 统 设 计 [ J ] .机 床 与 液 压 , 2 0 1 1 1 4 9 8 . [ 1 0 ]郭伟伟.V i s i o图形化 电力系统计 算软件 的研究 与开发 [ D] .郑州 郑州大学, 2 0 0 6 . 编辑赵蓉