嵌入式软plc编程系统的设计
吴玉香,郭建勋,周建香
华南理工大学自动化学院,广东广州54064
摘 要:完成一种在windows操作环境下采用vc++开发工具设计的嵌入式软plc编程系统。采用面向对象的设计思想,提出了描述软pj,c梯形图元件的数据结构,以及对梯形图元件集合存储和交互的方案。该系统针对vc++的documenf/view的结构,设计了软plc编程系统的软件结构,分为编辑、编译和仿真等功能模块,且结合相应的算法买现,并重点介绍了梯形图程序的编辑和编译扫描原理:为低成本高效率实现嵌入式软plc编程系统提出了新方案,也为软件开发人员提供一种软件设计的新思维。
关键词:软plc;梯形图;编辑;编译;仿真
中图分类号:tp 273 文献标识码:a
1引言
随着控制技术向网络化、智能化和开放式发展,传统plc逐渐暴露出许多不足,主要表现力技术封闭,造成了各生产厂商的plc产品互不兼容,且编程开发方法差别很大,技术专门性很强,用户必须经过长期培训才能掌握其中一种产品的开发方法,这些问题制约了传统plc的快速发展。随着计算机科学的发展和工业控制的iec61131国际标准的制定,出现了用软件方式实现传统plc控制功能的软plc技术。
软plc具有符合现代工业控制技术的优点,体系结构开放,支持多种硬件环境,解决了传统硬plc互不兼容的问题。软plc把控制运算的功能封装在软件中,具有传统plc的功能,可在计算机操作系统中实现程序的编辑、运算、编译、存储等功能,具有编程语言标准化、控制功能模块化、硬件配置灵活等特点windows环境下引入vc++开发工具,用vc++强大的软件功能,使人机交互界面更友好,由于vc++固有的面向对象机制,可方便地设计梯形图数据结构,并结合相应的算法,完成软plc编程系统设计。本文给出编辑、编译和仿真模块。
2嵌入式软plc系统的总体框架
嵌入式软plc主要由编程系统和运行系统组成。编程系统进行梯形图的编辑、指令的解析以及生成目标代码;运行系统执行目标代码,实现控制目的。
本文介绍的嵌入式软plc编程系统其总体架构,如图l所示。
嵌入式软plc编程系统的编程语言基于国际电工委员会发布的iec61131-3国际标准,是一个通用的开发环境,主要由编辑、编译、仿真和通信4大模块组成。其中,编辑模块提供用户程序开发环境;编译模块实现对用户程序的扫描和编译;仿真模块用以离线模拟、调试用户程序;通信模块负责把编译后的用户程序目标代码下载到运行系统。
3软plc编程系统的界面设计
iec61131-3国际标准定义了5种plc编程语言的规范:梯形图( ld)、顺序功能图(sfc)、功能模块( fbd)、结构化文本(st)和指令表(。由于梯形图简单、直观,所以本编程系统主要采用梯形图作为用户程序的开发语言。
本软件采用vc++开发工具,并基于多文档的documenu view结构设计,以支持梯形图和指令表对应的格式一。其界面由梯形图编辑区、指令表区和信息输出区三部分组成,如图2所示。
梯形图编辑区用于梯形图驻留和相关参数的设置;指令表区用于显示梯形图对应的逻辑指令;信息输出区显示梯形图可能的语法错误信息以及正确执行后的输出信息。
4梯形图数据结构设计
1)梯形图元件类的继承关系设计梯形图元件包括常开触点、常闭触点和输出线圈等简单元件和定时器、计数器、数据运算(包括加减运算、比较运算等)等复杂元件。由面向对象的继承特性,可以抽象出一个类作为梯形图元件的总体接口,再以这个类为基础,派生出具体的元件子类。梯形图元件的抽象类定义如下:
|