Windows操作环境下采用VC++开发工具设计的嵌入式软PLC编程系统.docVIP

Windows操作环境下采用VC++开发工具设计的嵌入式软PLC编程系统.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows操作环境下采用VC开发工具设计的嵌入式软PLC编程系统

Windows操作环境下采用VC++开发工具设计的嵌入式软PLC编程系统 2012年1月30日 嵌入式软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)梯形图元件类的继承关系设计梯形图元件包括常开触点、常闭触点和输出线圈等简单元件和定时器、计数器、数据运算(包括加减运算、比较运算等)等复杂元件。由面向对象的继承特性,可以抽象出一个类作为梯形图元件的总体接口,再以这个类为基础,派生出具体的元件子类。梯形图元件的抽象类定义如下: ?? ??? 由此抽象类派生出简单元件类和复杂元件类,并扩充相应的属性和方法操作;再由这两个类派生出具体元件类,如常开触点或定时器等。各元件类型的继承树示意圈,如图3所示。 ? 2)梯形图容器的数据结构设计整个存储梯形图的容器选择用双向链表结构表示。其原因基于以下两点: ??? ①对梯形图的添加、修改、删除等操作,能够方便地运用链表的存储结构完成。 ②梯形图的编辑过程是动态的,梯形图的行数、列数和元件类型都是未知的,。这种动态存储过程,用链表结构比其他的数据结构表达得更为清楚、有效。 ??? 存储梯形图的双向链表在文档类中定义为:CObList m_ LADList,存储秭形图的容器。由此,添加梯形图元件,实质就是在内存中建立相应的对象,并调用链表的AddHead或AddTail函数加入该对象的指针;而删除梯形图元件,实质就是调用链表的RemoteHead或RemoveTail函数移除链表

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档