PLC结构化文本编程系统的设计与实现.pdf
参考文献 [ 1 ] 卓娜, 李素华, 魏永捷, 等. 油田燃油注汽锅炉 自 动控制系统 的设计与实现 [ J ] . 制造业 自动化 , 2 0 0 9, 7 1 2 4 1 2 7 。 [ 2 ]P a r t s , M.E ff e c t o f s t e a m i n j e c t i o n i n t o two n e a r b y l a y e r s .J o u r n a l Of P e tr o l e u m S c i e n c e a n d En g i n e e r i n g. 2 0 0 3 1 1 7 1 2 4 . [ 3 ]刘继 和, 孙 素风. 注汽 锅 炉 [ M] . 北 京 石油 工 业 出版 社 , 2 0 0 71 1 3 1 2 2. [ 4]宋伯生. P L C编程理论 、 算法 与技 巧 [ M] . 北京 机械工业 出 版社 , 2 O O 6 3 1 1 - 3 2 5 . [ 5]杨公源. 可编程控制器 P L C 原理与应用 [ M] . 北京 电子 工 业 出版社 , 2 0 0 4 . [ 6]陈在平. 可编程控制器技术 P L C 系统设计 [ M] . 北京 电子 工业 出版社 , 2 0 0 7 . [ 7 ] 纪春萌. 模糊控制在燃煤注汽锅炉控制系统中的应用[ D ] . 大连 大连海事大学 , 2 0 0 8 . 作者简介 印涛 1 9 8 2 一 , 男 , 硕士研究生。 主要从事油田注汽锅炉自动 控制 系统 。 及其配套水处理 自动控 制系统的研究。 收稿 日期 2 0 0 9 - 8 1 0 d o i 1 0 . 3 9 6 9 / j . i s s n . 1 6 7 1 - 1 0 4 1 . 2 0 1 0 . 0 1 . 0 1 4 P L C结构化文本编程系统的设计与实现 韩美卿 , 郑明。 杨娟娟,熊伟 西安交通大学 电气工程学院。 西安 7 1 0 0 4 9 摘要 本文简述 了 P LC结构化文本 S T的基本概念 、 讲述其编程方法。 针对结构化文本 S T编程 系统 的设计要 求, 基于 I EC 6 1 1 3 13国 际标 准制定的编程规则 。 采用面 向对象的方法。 设计 出了一套完整实用的数 据结构 , 与此同时介绍结构化 文本在 基于 VC集成开发 坏境 下的 方案设计与实现过程。 关键词 P L C; 结构化文本 ; 编程 系统 中国分类号 T P 2 9 文献标识码 A De s i g n a n d i mp l e me n t a t i o n o f PLC ST p r o g r a mmi ng s y s t e m HA N Me i - q i n g 。 Z H E NG Mi n g , Y AN G J u a n - j u a n, Ⅺ oNG W e i S c h o o l o fE l e c t r i c a l E n g i n e e r i n g 。 xi ’ a l l J i a o t o n g U n i v e r s i t y , X i ’ a n 7 1 0 0 4 9。 C h i n a Astmc t Th e b a s i c c on ce p t i o n、 f u n c t i o n a n d pr o gr a mmi n g me t h o d o f s t r u c t u r e d t e x t S Twe r e s u mma r i z e d .A c c o r d i n g t o t h e r e q u i r e me n t o f t h e ST p r og r ammin g s y s t e m a n d t he I EC61 1 3 13 i n t e rna t i o n al s t a n d ar d。a s u it o f a pp r o pr i a t e d a t a s t r u c t u re wa s d es ign e d b a s e d o n o b j e c t o d e n t e d p r o g r a mmi n g .T h e d e s ig n s c h e me a n d t h e imp le me n t a t ion b as ed on VC i n t e gr a t ed d ev e lop men t en v i r o n me n t f o r S T p r o g r a m m i n g s y s t e m w a s a l s o in t r o d u c e d in t h is p a p e r . Ke y wo r ds PL C; ST; p r o gr ammi n g s y s t e m O引言 ’ 可编程控制器 P L C 在工业现场因其编程方便 , 抗干扰能 力强, 获得了广泛的应用。利用编程软件编写 P L C控制程序, 由P L C硬件执行相应操作来完成不同的控制要求, 是 目前 P L C控制场合的首要方式。因此 , P L C编程软件是可编程序控 制器系统的重要组成部分。 1 E C 6 1 1 3 1 3是 P L C编程语言的国际标准 , 它规定了 P L C 的五种编程语言 三种图形化语言 梯形图语言 L D 、 功能块 图语言 F B D 、 顺序功能图语言 S F C , 两种文本语言 指令表 语言 I L 和结构化文本语言 s T 。 结构化文本语言 S T . S t r u c t u r e d T e x t 与 B A S I C、 P A S C A L 或 c语言等高级语言相类似 , 具有很强的编程能力; 编程格式 自由、 程序紧凑具有很强的数据处理能力, 对熟悉计算机高级 语言开发的人员来说更方便理解和使用; 使用 s T语言可方便 地编写复杂控制程序; 可移植性好; 结构化文本语言由一系列具有逻辑结构的表达式语句构 2 6 EI C Vo 1 . 1 7 2 0 1 0 No. 1 成 , 表达式 由操作数和操作符组成 , 其基本的语句有赋值语句、 功能块调用语句、 I F结构语句、 C A S E结构语句、 F O R结构语 句、 WHI L E结构语句、 R E P E A T结构语句等。一个典型的减计 数器程序下所示 I F L D T HEN CV P V; E L S I F C D A N D C VP V m i n THEN CVCV 一1 END I F; Q C V 0 ; l S T编程系统的设计 1 . 1 S T编程 系统的组成 s T编程系统的主要功能 给用户提供一个友好的程序编 辑界面, 帮助用户简捷 、 快速地进行 s T程序编写; 对用户输入 的程序进行语法检查, 不规范编程或程序错误进行有效提示 和错误定位; 将语法检查正确的 s T程序按照 P L C的控制逻辑 转换成 C语言。整个 s T编程系统包括 3 个模块 编辑模块、 检 查模块和转换模块。 s T编辑模块是软件与 P L C编程人员交互的窗口。编辑模 块中可以双击指令树 和用户直接输入指令两种方式进行编 程。编辑模块除了具有普通记事本的基本编辑功能 撤消恢 复 、 剪切、 复制、 粘贴、 查找、 替换、 定位到、 全选等 外, 还能够 对不同类型的文本内容区分颜色高亮显示 , 并且支持全局变 量和局部变量的编辑。用户可以动态调整界面大小、 颜色和字 体属性等。 s T检查模块分为两个部分 实时检查和非实时检查。实 时检查即时提示和限制编程人员的不规范编程操作; 非实时 检查是用户在编程完毕整体编译时调用。典型的非实时检查 包括 I F结构检查、 F O R结构检查、 WH I L E结构检查以及功能 调用函数的检查, 并将详细的错误信息在输出窗 口显示, 并且 实现了错误位置的跟踪。 S T转换模块是将结构化文本程序转换为单片机 2 5 1 语言 文件, 使用 K e i l C 5 1编译器编译链接 C 5 1文件, 生成可执行文 件, 并通过串口下载到单片机来控制执行 ; 也可以将结构化文 本程序转换成 c语言文件, 通过 G C C编译器编译链接生成可 执行文件下载到 P L C硬件 来控制执行。 1 . 2系统框架 结构 根据 s T编程系统的特点 , 本文设 计 了如 下的 系统 框架结 构 , 如图 1 所示 。 欢迎光 临本刊 网站 h t t p / / w w w. e i c . c o m. c n 仪器仪表用户 图 1 S T编程 系统结构框图 其中, s T编辑模块、 检查模块和转换模块的功能在上一节 已做介绍。编译系统和连接系统负责将中间代码信息和 P L C 所需其他信息连接起来并经过译码形成最终可下载的目标文 件 ; 程序传送系统负责上下位机间的串口通信 , 包括目标程序 的上下载等。 1 . 3 系统的设计以及相关数据结构 基于 s T编辑模块的基本需求设计了如下的类层次结构 图 , 如图 2 所 示。 图 2结构化文本程序组织单元类的派生体系 图中的 C P E d i t U n i t 是所有编辑类 的基类 , C P P O U是程序 组织单元类的基类, 由此派生 出结构化文本的程序组织单元 类 C P S T P O U, 同时直接由 C P E d i t U n i t 类派生出结构化文本的 基本单元 命令行类 C P S T C m d L i n e 。一个结构化文本程序组织 单元类 C P S T P O U维护 了一 个结构 化文本命 令行 类 C P S T C m d L i n e的链表 。 结构化文本文本形式是结构化文本文档 中数据 的实体。 它是和磁盘文件交互时, 保存和加载用的数据; 是结构化文本 视图显示 的数据 ; 是结构化文本视 图更新时所对应的数据。 结构化文本程序的文本形式派生关系如图 3所示。 结构化文本 检查模 块 的设 计 检查 的 过程 实 际上是 对 程 序组织单元 P O U内的语句组的检查分析。分为词法分析与语 法分析。词法分析是整个检查模块的基础, 其任务是 从左至 右逐个字符地对用户程序的每一条语句行进行扫描 , 产生一 个个的单词符号, 把作为字符 串的用户程序转换成为单词符 号串的中问程序, 用于随后进行的语法分析。为了有效地实 现所要求的功能, 设计的词法分析程序需要完成几个任务 命 令行预处理, 识别 出每个单词, 确定单词的类型。语法分析的 任务是分析一个语句行 的结构是否符合语句的要求。此外 , 不同的结构都有其相应的关键字及结构标志, 在检查时都得 分析。语法分析的 目标就是分析语句或结构的完整性, 将分 析结构以指令树的形式记录并且记录错误信息。而对于每一 种结构, 其基本的检查思想是相通的, 但具体的检查步骤却有 所不 同。 结构化文本转换模块的设计 转换是将结构化文本 S T 语言程序转换成 C 5 1 或 C语言程序。s T语言程序转换成 C 5 1 欢迎订 阅 欢迎撰稿 欢 迎发布产品广告信息 口科研设计成果口 或 C程序 的主要代码 分为两类 与 s T程 序对 应 的 C 5 1或 C语 言程序主体, 转换过程所需的外界参数和设置 例如为相应的 C 5 1 单片机设置相关的参数 。转换代码的主体 已经实现了 语言下 赋值 语句、 功能调用语句 、 I F结构、 C A S E结构、 WHI L E循环、 F O R循环、 R E P E A T结构向对应 C 5 1程序的转 换。在用户的结构化文本程序向 C 5 1转换 的时候按照如图4 所示流程来进行 。 l c c 州 I COr y s t a l T e x t Bu f f e r 牟 CP T e x t Ed i t Bu ff e r 1 牟 C PST T e x t B u ff e r { 用户s T 程序 卫 过滤注释 输入输出和变蠡定 s T 程序转C 5 1 程序 Ⅱ一 . . .. . . ... . . £ j . . . . . . . . . 一 纛新组合C 5 1 指令 保存C 5 1 程序文件 图 3 结构 化文本 程序的 图 4 结构化 文本转化为 文本 形式派生关 系 C 5 1的流程 2系统的实现 结构化文本编程系统是一个完整 的 P L C编程系统 , 本文 是在 Wi n d o w s X P平台 V i s u a l C6 . 0集成环境进行开发 结构化文本编辑模块是一个独立 的模块, 编辑功能已经 完善 , 支持所有的基本编辑功能, 并且在代码中通过设置 _『撤 消和恢复双向链 表有效地实现 了编辑操作的撤消与恢复功 能。结构化文本的检查模块和转换模块均采用动态链接库实 现。使用动态链接库一方面可以节省系统资源开销 , 另一方面 体现了系统模块化思想, 减少模块间耦合, 便于管理。 编译连接系统和程序传送系统也采用动态链接库实现。 前者主要根据具体 P L C相关信息将中间代码翻译成与硬件相 应的目标代码 ; 后者使用 Wi n d o w s A P I 实现串口通信, 将 P L C 程序的目标代码 文件下载到 P L C中, 同时也可 以将程序从 P L C上传到上位 P C机 。 3结束语 本文依据 I E C 6 1 1 3 1 3国际标准规定 的 s T语言的特点和 相关需求, 设计了一套完整易用的数据结构, 成功实现了一个 界面友好、 功能齐全、 编程快捷、 使用方便且易于维护的结构化 文本编程系统。 目前该编程系统使用 良好 , 能够满足客 户需 求, 并且在 Wi n d o w s 2 0 0 0和 9 8系统下运行正常。口 参考交献 [ 1 ]侯俊杰. 深入浅 出 MF C . 第二 版 [ M] . 武 汉 华 中科 技大学 出 版社 , 2 0 0 2 . [ 2 ]B O O C H G. 面向对象分析与设计 [ M] . 冯博琴 , 冯 岚 , 薛涛 等 译. 第二版. 北京 机械工业出版社 , 2 0 0 3 . [ 3 ]中国 国家标 准化管理委 员会.G B / T 1 5 9 6 9 . 3 2 0 o 5可编 程 序控 制器 第 3部 分 编程 语 言 [ s ] . 北 京 中 国标 准 出 版 社 , 2 0 0 5 . [ 4]范次猛. 可编程控制器原理与应用 [ M] . 北 京 北京理工 大学 出版社 , 2 0 0 6 . [ 5 ]林小峰. 基于 I E C 6 1 1 3 1 - 3标准 的控制 系统及应用 [ M] . 北京 电子工业 出版社 , 2 0 0 7 . [ 6 ]冯博琴 , 冯岚等译. 面向对象分 析与设 计 [ M] . 北京 机械 工 业出版社 , 2 0 0 3 . 作者简介 韩美卿 1 9 8 4 . , 女 , 硕 士研究生 , 主要研 究方向 自动化软 件 开发 ; 郑 明 , 女 , 高级工程师 。 西安交通大 学电气 工程学 院教 师 。 主要研 究方 向 控 制理 论与控 制工程。 收稿 日期 2 0 0 9 - 0 7 - 2 6 E I C V0 1 . 1 7 2 01 0 No . 1 2 7