欢迎来到天天文库
浏览记录
ID:34038275
大小:338.41 KB
页数:5页
时间:2019-03-03
《基于uc_os-ⅱ的编译型plc运行系统设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据第23卷第1期2010年2月山东科学SHANDONGSCIENCEV01.23No.1Feb.2010文章编号:1002-4026(2010)01-0067-04基于uC/OS—II的编译型PLC运行系统设计伊晓峰1’2,程广河1,郝凤奇1,李慧强1’2(1.山东省计算中心,山东济南250014;2.山东轻工业学院,山东济南250353)摘要:提出了一种基于uC_,/OS.II的编译型PLC运行系统的设计方法,并对运行系统中任务间调度、内存分配和任务间的通信原理进行了分析讨论。关键词:软PLC;
2、任务调度器;内存分配;消息邮箱中图分类号:TF332.3文献标识码:ADesignofanuC/OS-HBasedCompiledSoftPLCSystemYIXiao.fen91,2,CHENGGuang.hel,HAOFeng—qil,LIHui.qian91(1.ShandongComputerScienceCenter,J/nan250014,China;2.Shandong胁疵蚍ofLightIndustry,Jinan250353,China)Abstract:Thispaperintrod
3、ucedtheprincipleofcompiledandinterpretedPLCandproposedadesignapproachforanuC/OS—IIbasedcompiledPLCsystem.Thispaperfurtherdiscusseditstaskscheduling,memorydistributionandtaskcommunications.ResultsshowthatitisabetterapproachforaPLCwhichhascomplicatedcontro
4、lfunctionalityanddataprocessingprogram.Keywords:softPLC;taskscheduler;memoryallocation;messagemailbox编译型PLC是一种软PLC,软PLC技术是目前国际工业自动化领域逐渐兴起的一项基于PLC的新型控制技术o?。与传统硬PLC相比,软PLC具有更强的数据处理能力和强大的网络通讯能力,并具有开放的体系结构。随着近几年计算机技术、通讯和网络技术、微处理器技术、人机界面技术等的迅速发展,工业自动化领域对开放式控制
5、器和开放式控制系统的需求更加迫切,硬件和软件体系结构封闭的传统硬PLC遇到了严峻的挑战。由于软PLC【21技术能够较好地满足和适应现代工业自动化技术的要求以及用户对开放式控制系统的需求,目前美国、德国等一些西方发达国家都非常重视软PLC技术的研究与应用,并开始有成熟的产品出现。l编译型PLC方案选择及其组成根据运行平台的不同,软PLC有3种不同的控制方案:(1)基于IPC/PC控制方案;(2)基于嵌入式处理器方案;(3)基于传统PLC硬件的控制方案。本文所研究的软PLC用于嵌入式数控系统中,所以采用第2
6、种方案。在本编译型PLC中包括开发系统和运行系统,开发系统运行在WindowsXP的PC平台上,运行系统收稿日期:2009-09-20作者简介:伊晓蜂(1983一),男,硕士,主要研究领域为嵌入式系统。万方数据山东科学2010正运行在内嵌入uC/OS-II的ARM7开发板上面,通过运行开发系统的应用程序来实现对现场I/0模块的控制。本文将对编译型PLC的运行系统原理及运行系统中的关键问题进行讨论研究。2编译型PLC运行系统的工作原理运行系统是软PLC的核心,常规的PLC大多依赖于单任务的时钟扫描或监控程
7、序,来处理程序本身的逻辑运算指令以及外部的I/O通道的状态采集与刷新,整个应用程序采用一个循环扫描周期,一个循环扫描周期一般分为三个阶段:(1)输入采样阶段:在输入采样阶段,PLC以扫描方式依次地读入所有输入状态和数据,并将它们存人I/O映象区中的相应单元内;(2)用户程序执行阶段:在此阶段,PLC总是按由上而下的顺序依次地扫描用户程序(梯形图);(3)输出刷新阶段:当扫描用户程序结束后,PLC就进入输出刷新阶段。在此期间,CPU按照I/0映象区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动
8、相应的外设。解释型PLC【41运行系统中,每一条用户指令,在下位机的运行软件中都对应着一个相应的函数,指令通过散转程序来跳转到其对应的函数上。散转程序是利用跳转表来实现程序间接跳转的过程,其关键就是要建立一个散转表。图l是解释型PLC运行系统执行过程,图中的R1指向散转地址表相应地址。从图1中可以看出,每执行一条指令就要跳转到散转表,查找相应的子程序,然后再调转到相应的子程序,子程序执行完毕后,再调回主程序,接着执行下一条指令,如此循环,直
此文档下载收益归作者所有