




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Windows操作环境下采用VC+开发工具设计的嵌入式软PLC编程系统2012年1月30日嵌入式软PLC编程系统的设计吴玉香,郭建勋,周建香华南理工大学自动化学院,广东广州54064摘 要:完成一种在Windows操作环境下采用VC+开发工具设计的嵌入式软PLC编程系统。采用面向对象的设计思想,提出了描述软PJ,C梯形图元件的数据结构,以及对梯形图元件集合存储和交互的方案。该系统针对vc+的Documenf/View的结构,设计了软PLC编程系统的软件结构,分为编辑、编译和仿真等功能模块,且结合相应的算法买现,并重点介绍了梯形图程序的编辑和编译扫描原理:为低成本高效率实现嵌入式软PLC编程系统提出了新方案,也为软件开发人员提供一种软件设计的新思维。关键词:软PLC;梯形图;编辑;编译;仿真中图分类号:TP 273 文献标识码:A1引言 随着控制技术向网络化、智能化和开放式发展,传统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)梯形图元件类的继承关系设计梯形图元件包括常开触点、常闭触点和输出线圈等简单元件和定时器、计数器、数据运算(包括加减运算、比较运算等)等复杂元件。由面向对象的继承特性,可以抽象出一个类作为梯形图元件的总体接口,再以这个类为基础,派生出具体的元件子类。梯形图元件的抽象类定义如下: 由此抽象类派生出简单元件类和复杂元件类,并扩充相应的属性和方法操作;再由这两个类派生出具体元件类,如常开触点或定时器等。各元件类型的继承树示意圈,如图3所示。 2)梯形图容器的数据结构设计整个存储梯形图的容器选择用双向链表结构表示。其原因基于以下两点: 对梯形图的添加、修改、删除等操作,能够方便地运用链表的存储结构完成。梯形图的编辑过程是动态的,梯形图的行数、列数和元件类型都是未知的,。这种动态存储过程,用链表结构比其他的数据结构表达得更为清楚、有效。 存储梯形图的双向链表在文档类中定义为:CObList m_ LADList,存储秭形图的容器。由此,添加梯形图元件,实质就是在内存中建立相应的对象,并调用链表的AddHead或AddTail函数加入该对象的指针;而删除梯形图元件,实质就是调用链表的RemoteHead或RemoveTail函数移除链表中对应对象的指针。下列代码表示生成一个常开元件对象,并把该对象的指针加入到链表中: 3)用户对梯形图元件的控制用户通过与编程界面的交互,达到对梯形图元件的控制。为了缩小显示、控制和梯形图元件三者间的耦合性,可引入MVC( Model-View-Control)模式解决。其中,vc+中的CVieW类充当显示部分,并设计CPLCEleCon-troller类用以控制梯形图元件。CPLCEleController类依赖于工厂类CPLCEleFactory类,通过简单工厂模式以创建梯形图元件实体,并且针对编辑、编译和仿真的操作封装了相应方法。其定义如下:5梯形图的编辑 梯形图的编辑部分封装于视图类,能实现存储与显示分离,以有效降低代码的耦合性。 梯形图的编辑大体可分为以下步骤: Step1选择所要加载的梯形图元件类型。 Step 2用户在编辑区单击鼠标,扫描程序获取单击点对应位置的笛卡儿坐标值。 Step 3添加该梯形图元件到存储链表中。 Step 4在窗口中显示该梯形图。 Scep 5设置梯形图元件的其他参数。 1)梯形图的绘制 矢量图是计算机通过数学表达式解析的图形,具有内存消耗小,操作灵活的特点。因此,本软件按矢量绘制梯形图。在vc+申,MFC类库中的CDC类封装了矢量图的相关操作,由此,对梯形图的绘制可以通过遍历链表,并调用CDC类对象指针的函数来完成。并基于面向对象的多态性调用各元件实际的绘制操作: 梯形图被绘制后,其类型、行号、列号信息均被确定。而其他的参数,如元件编号、定时器的时基,由用户输入确定,具体可以通过添加消息映射函数,扫描鼠标操作实现。当用户双击某梯形图元件时,弹出参数设置对话框,输人数据后,相关的参数就被绑定在该元件对象中。 2)梯形图的序列化要实现梯形图的多次编辑,就要对梯形图实现序列化,将其保存为文仲;而当再次调用时,需要把程序加载到内存。 对于Document/View结构,数据都存放于CDocu-ment类里,将其中的变量写入文件,即实现了梯形图的序列化;打开文件时,通过动态创建机制,把其中变量导人内存,即实现了梯形图的反序列化。6梯形图的编译 梯形图的编译是编程系统的关键部分,因为编译的实质是把用户编辑的梯形图程序,经过语法分析和逻辑分析,循环扫描,最终生成运行系统可识别的目标程序。 按照梯形图编程语言规范,编译程序扫描梯形图,经过语法分析和逻辑分析后,若发现梯形图有错误,便生成相应的错误提示信息,并复制到用户界面。 1)梯形图的扫描梯形图扫描和编译以梯级为单位,且梯级是由相互影响的行组成的最小单元,梯形图扫描,如图4所示。 对梯形图的扫描采用深度扫描算法,即以竖线元素作为逻辑区分,对梯形图网络自左向右,从上至下,逐个元素进行。 以图4力例,一个梯形图梯级的深度扫描过程如下: Step l首先读取串联关系的元件Xl和X2。 Step 2遇到并联结点A,从而转至下一行扫描,读取元件X4。 实践证明,该扫描算法容易实现,能深入解析梯形图逻辑关系,占用存储空间较少,扫描效率较高。 2)梯形图数据信息的记录为了提高移植性,降低运行系统程序与vc+程序的耦合度,本软件引入了生成相应的配置文件技术,以记录梯形图的数据信息,供仿真模块或运行系统读取。 梯形图被扫描过程,程序自动生成梯形图相关的逻辑关系数据对应的配置文件,用4组数字分别代表梯形图的类型、连接关系,包括复杂元件中定时器的时基等数据信息,以备在运行系统加载。其梯形图数据信息存储结构示例,如图5所示。图5存储了一个梯形图的梯级信息,一个梯形图元件对应表中的一格,表中“x-x-x-x”的格式为简单元件信息,分别表示“元件类型一连接关系一存储类型一对应存储类型数组的偏移量”。如表中第1行第1列的“1-0-0-25”数据,代表梯级中位于第1行第1列,无并联关系的常开触点,它在简单元件类型输入数组中的存储偏移量为25。7梯形图的仿真 为了判定被编译程序执行的正确性,本编程系统设计了仿真模块,以模拟现场梯图程序运行。仿真需要将梯形图程序转化为c程序,以实现逻辑控制。 仿真模块主要分为逻辑运算模块、算术运算模块和梯形图更新显示模块。其中,逻辑运算模块是仿真模块的核心,负责对梯形图数据信息的识别,以及逻辑状态的转移。 仿真程序通过读取存储梯形图逻辑信息的配置文件,并还原对应每个梯形图元件及相应的逻辑关系。以下的代码片段通过运行是类型识别,反映了当前读取的元件是常开常
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版生物降解材料生产合作协议范本
- 2025年度海绵城市土石方工程承包施工及雨水收集合同
- 2025版清单检查项在旅游业中的服务质量监管合同
- 2025年消防电梯采购及消防系统安装合同
- 2025版酒店大堂装修合同范本
- 2025年度物品租赁合同严格禁止转让授权
- 2025年度高端技术人才聘用合同范本
- 贵州省兴仁县2025年上半年公开招聘村务工作者试题含答案分析
- 2025版电子商务平台产品售后服务协议
- 2025年度房地产项目土建施工合同范本
- 儿科护理不良事件警示案例
- 2025届吉林市高三第三次模拟考试生物试卷(原卷版+解析版)
- DBJ-T13-483-2025 预拌流态固化土技术标准
- 支持青少年身心健康的家庭指南 资讯、建议和资源 -促进中小学学生(K-12)家庭的心理健康意识和身心健康
- 加气站气瓶充装质量保证体系手册2024版
- 2025至2031年中国卧式振动电机行业投资前景及策略咨询研究报告
- 消防工程深化设计管理体系及保障措施方案
- 中国卫星网络集团有限公司介绍
- 手术室常用药品管理
- 福建省南平市(2024年-2025年小学六年级语文)部编版期末考试(下学期)试卷及答案
- 沈阳理工大学《物理化学Z》2022-2023学年第一学期期末试卷
评论
0/150
提交评论