工业控制中嵌入式系统软件的设计--田振超_第1页
工业控制中嵌入式系统软件的设计--田振超_第2页
工业控制中嵌入式系统软件的设计--田振超_第3页
工业控制中嵌入式系统软件的设计--田振超_第4页
工业控制中嵌入式系统软件的设计--田振超_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、工业控制中嵌入式系统软件的设计作者姓名 专业指导教师姓名 专业技术职务田振超自动化王斌鹏讲师目 录摘要 1第一章绪论31.1嵌入式系统概述31.2课题简介及研究意义51.3嵌入式控制系统研究与国内外现状61.4本文的主要工作和创新7第二章嵌入式控制系统软件平台的设计292 1 292. ?35随着计算机和微电子技术的飞速发展,嵌入式系统作为计算机应用的一个重 要领域,已深入到社会的方方面面。近年来,嵌入式系统在工业控制领域的应用 也越来越广泛。本文讨论了工业控制中嵌入式系统软件的设计与实现,旨在创建 一个完整的嵌入式控制系统软件平台。该平台将嵌入式实时操作系统、嵌入式组 态软件、软plc等有机

2、地结合起来,为嵌入式控制系统提供一个完整的运行环 境。本文首先介绍了嵌入式系统的概念、发展和软硬件组成,并对嵌入式控制系 统及其相关软件如嵌入式实时操作系统、软plc系统、嵌入式组态软件等进行 了详细的分析,同时阐述了嵌入式控制系统软件平台课题及研究意义。其次根据 作者在嵌入式控制系统方面的研究,提出了嵌入式控制系统软件平台的总体框 架,并对关键软件的设计做了非常详细的分析。基于分析的结果,本文详细讨论 了嵌入式控制系统软件平台中嵌入式实时操作系统、实时数据库管理与通信、人 机界面软件等主要模块的实现。在此基础上,本文通过一个实例对平台进行了详 细的测试,该测试实例基于pc104标准嵌入式板和

3、嵌入式rtai实时操作系统。测试表明,该平台具有实时性强、易于裁剪、组态灵活等特点。最后,本文对嵌 入式控制系统软件平台需要进一步完善和发展的相关功能模块进行了详细的分 析,并展望了嵌入式系统在工业控制中的应用前景及发展方向。本文详细叙述了 工业控制中嵌入式系统软件的设计与实现,特别是基于linux的嵌入式系统,对 于在工业控制中应用的嵌入式系统的研究和构造有一定的指导作用。关键词:嵌入式系统实时操作系统工业控制rtai miniguiabstractwith the rapid development of computer and micro-electronics technology,

4、 embeddedsystem which is one of important applications, has been applied in many fields. in recent years, the practice of embedded system in the industrial control becomes more and more extensive. this thesis discussed the design and implementation of embedded system software in industrial control,

5、aim at establishing uniform software platform of an entire embedded control system, which consists of embedded real-time os, embedded configuration software, softplc and etc.the thesis began with an overview of the concept, development, hardware and software of embedded system. it analyzed embedded

6、control system and related software, including embedded real-time os, softplc and embedded scada. then it briefly introduced the embedded control system software platform and its prospect future after that, the thesis proposes software framework of the platform and analyzed the key part of the softw

7、are based on the author's research in embedded control system. according to the result of analysis, the thesis discussed the implementation of the main models of the platform in detail, including embedded real-time os, real-time data base management and communication, human interface software an

8、d etc. then the thesis provided a demo to test the performance of the platform. the test is based on the pc 104embedded main board and embedded rtai real-time os. the test results manifest the platform has hard real-time capabilities, easy configuration and etc.in the end, the thesis analyzed the re

9、lated models which needed to be improved and developed in the platform. then, the future application of embedded system in industry control was prospectedthis thesis provided us with a full description on the design and implementation of the embedded system software in industrial control, especially

10、 on linux. it will be the guidance for research and development in embedded control system.key words: embedded system; real-time os; industrial control; rtai; minigui第一章绪论1.1嵌入式系统概述111嵌入式系统概念与发展随着计算机和微电子技术的飞速发展,嵌入式系统(embedded system)作 为计算机应用的一个重要领域,已深入到社会的方方而而,不仅广泛渗透到社会、 经济、军事、交通、通信等相关行业,而且深入到家电、娱乐、

11、艺术、社会文化 等各个领域,掀起了一场数字化技术革命。国内普遍认同的嵌入式系统定义为:以应用为屮心,以计算机技术为基础, 软硕件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的 专用计算机系统。它主要由嵌入式微处理器、相关支撑硬件、嵌入式操作系统以 及应用软件系统等部分组成,集软硬件丁一体,用于实现对其他设备的控制、监 视和管理等功能。从20世纪七十年代单片机的出现到各式各样的嵌入式微处理器,微控制器 的大规模应用,嵌入式系统已经有了近30年的发展历史。综观嵌入式技术的发 展,大致经丿力了以下四个阶段:第一阶段是嵌入式系统的早期阶段,是以功能简单的专用计算机或单片机 为核心的可

12、编程控制器形式存在,具冇监测、伺服、指示设备等功能。这种系统 大部分应用于各类工业控制和飞机、导弹等武器装备屮,早期嵌入式系统一般没 冇操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内 存。这一阶段系统的主要特点是:系统结构和功能都相对单一,处理效率较低, 存储容量较小,几乎没有用户接口,比较适合于各类专用领域。由于这种嵌入式 系统使用简便、价格很低,以前在国内工业领域应用较为普遍,但是已经远远不 能适应高效的、需要大容量存储介质的现代化工业控制和新兴的信息家电等领域 的需求。第二阶段是以嵌入式cpu为基础、以简单操作系统为核心的恢入式系统。 这一阶段系统的主要特点是:cp

13、u种类繁多,通用性比较差;系统开销小,效率 高;一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应用软件较专 业,用户界面不够友好;系统主要用來控制负载以及监控应用程序运行。第三阶段是通用的恢入式实时操作系统阶段,是以嵌入式操作系统为核心 的欧入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同 类型的微处理器上,兼容性好;操作系统内核精小、效率高,并且具有高度的模 块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口 以及用户界而等功能;具有大量的应用程序接口 (api, application interface), 开发应用程序简单;欧入式应用软件丰

14、富。第四阶段是以芯片技术和基于internet为标志的恢入式系统,这是个 止在迅速发展的阶段。微电了技术发展迅速,soc (system on chip,片上系统) 使嵌入式系统越来越小、功能却越来越强。口前大多数恢入式系统述孤立于 internet z外,但随着internet的发展以及internet技术与信息家电、丄业 控制技术等结合fi益密切,恢入式设备与internet的结合将代表着恢入式技术 的真止未來,并推动欧入式技术的快速发展。从嵌入式系统的发展我们可以看出,嵌入式系统最早用于工业控制系统, 但随着发展,其应用领域已经不断扩大,目前嵌入式系统已经被广泛应用到家用 市场、工业市场

15、、商业市场、通讯市场和国防市场,应用嵌入式操作系统的产品 形态丰富多样,如掌上pda、机顶盒、数字电视、数字咅像设备、手机、可视电 话、车载智能设备、微波炉、数控机床、商业终端、教育终端、智能控制设备等 等。1. 1.2嵌入式系统的特点嵌入式计算机系统同通用型计算机系统和比具有以下特点:(1) 嵌入式系统通常是面向特定应用的嵌入式cpu与通用型的最大不同就是嵌入式cpu大多工作在为特定用户群 设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用 cpu中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于 小型化,移动能力大大增强,跟网络的耦合也越来越紧密。(2)

16、嵌入式系统是将先进的计算机技术、半导体技术和电了技术与各个行 业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密 集、高度分散、不断创新的知识集成系统。(3) 嵌入式系统的硕件和软件都必须高效率地设计,量体裁衣、去除冗余, 力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选 择更具有竞争力。(4) 嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体 产品同步进行,因此欧入式系统产品一旦进入市场,具有较长的生命周期。(5) 为了提高执行速度和系统可靠性,恢入式系统屮的软件一般都固化在 存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。(6) 嵌

17、入式系统本身不具备自举开发能力,即使设计完成以后用户通常也 是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开 发。1. 1.3t业控制系统与嵌入式系统嵌入式系统最早就用于工业控制系统,但由于工业控制系统的封闭性和厂家 垄断性问题,一些嵌入式系统的最新研究成果,尤其是建立在嵌入式实时操作系 统基础上的嵌入式系统并没有在工业控制领域得到非常广泛的应用,许多嵌入式 的控制系统基木上还是沿袭嵌入式系统发展的早期成果。在过去的10年间,工业pc及其相关的数据采集、监控系统硕件的销售额一 直保持高速增长。但是,基于pc的控制系统也常有一个问题:运行标准操作系 统、使用现成软件的“控制”

18、 pc机不够稳定,同时实时性不强,因此不能完全 靠它完成工业控制。在许多工业实际应用环境下,工业pc总是和一些专用的控 制系统如智能化仪表、单片机控制器、plc等等配合使用,从而形成复杂的控制 系统。这样做增加了系统的成木,而且控制系统厂商的封闭性常常使得工程师需 要集成不同公司的产品,这为系统的维护、升级都带来了许多困难。针对这种情 况,控制系统开发工程师迫切需要一种集控制功能(如plc功能)和pc功能于 一身的产品,这种产品具备pc的特点:强大的处理器,丰富的软件,优秀的人 机界面和足够的存储空间,同时也具有良好的实时性、可靠性和稳定性。基于嵌 入式实时操作系统的嵌入式系统在控制领域中大有

19、用武之地。例如我们可以将目 前工业控制系统中常用的pc104主板与和应的数字模拟量接口板、通信接口板等 相结合,形成嵌入式的硕件系统,然后在其基础上建立以嵌入式实时操作系统为 核心的嵌入式控制软件,这样形成的完整系统完全可以满足上述功能要求。可以想彖,随着嵌入式控制系统的发展,嵌入式控制系统将在一定程度上取 代现有的工业pc控制系统,在微型tdcs (集散控制系统)、现场总线系统、plc 控制系统、智能化仪表等领域得到广泛的应用。其相对于大型的tdcs系统来说 具有较强的成木优势和灵活性,其应用领域将会进一步扩大。工作控制对嵌入式 系统提出了更高的要求(1) 工业控制一般需要嵌入式操作系统是实

20、时的,即嵌入式操作系统所有任 务要在规定的时间内完成,例如现场的数据采集、电力监控、航天器的飞行控制 等等。(2) 组态软件不同于pc机上的组态软件,嵌入式组态运行于实时嵌入式操 作系统,运行稳定,抗干扰能力强,软件体积小、速度快、成本低,具有强大的 通讯功能,且用户开发方便,使用操作简单。12课题简介及研究意义要求建立一套完整的嵌入式控制系统软件平台,该平台建构于嵌入式硬件系 统之上,包括嵌入式实时操作系统、软plc系统、嵌入式组态软件等。平台包 括运行环境和开发环境两部分。使用开发环境,用户可以方便组态和二次开发, 而将开发重点集中到具体的控制系统应用上,而诸如系统的软件架构设计、实时 性

21、保证、通用的控制系统软件如网络通信、控制算法等复杂而繁琐的软件工作, 则交由平台完成。实时操作系统的实现,以及嵌入式控制系统整体方案的提出和实现,这些都 是嵌入式系统应用于工业控制领域中较前沿的课题,因为它们涉及到许多方面的 知识,如微处理器、操作系统、网络通讯、工业控制领域的专业知识等。深入研 究这些课题并且加以实现,将有助于提高我们知识的广度和深度。同时对于开发 其它类似的工业控制产品具有一定的指导意义。1.3嵌入式控制系统研究与国内外现状综上所述,可以认为,基于嵌入式实时操作系统的新型嵌入式控制系统必将 在未來的工业控制产品中占有举足轻重的作用。然而,基于嵌入式操作系统的开 发远非目前常

22、用的工业控制组态软件开发可比,其对开发人员的要求甚高。一 个优秀的开发人员需要了解嵌入式皱件、实时操作系统、编译系统、网络通信等 等多方面的知识,这往往使得许多仅熟悉单片机或flc的初学者因此累而却步。 事实上,与通用计算机的开发人员主要是计算机科学或工程方面的专业人士不 同,嵌入式系统的开发人员往往是各个应用领域的专家,显然这些开发者对其应 用领域是非常熟悉的,但对嵌入式开发方向却没有许多经验。在中国,单片机应用和嵌入式系统开发己经走过了十几年的历程,有超过 10力名从事单片机开发应用的工程师,但95%以上是3-5人的小组以孤军奋战 的封闭方式开发几乎不可重用的软件。显然,这些开发基本上都局

23、限在最早期的 嵌入式开发阶段,与目前先进的嵌入式系统相距甚远。随着嵌入式系统的逐渐普及,冇大量的单片机开发上程师己经转向或准备转 向采用嵌入式操作系统开发控制系统软件,但现实的情况是,用户要求越来越高, 而嵌入式控制设备也变得越來越复杂,如一个典型的控制仪表,除完成基本功能 外,还可能需要增加以太网通信或usb通信接口;一个典型的现场总线仪表,除 基本的测量功能外,还必须增加现场总线接口及其通信软件,甚至包括特定的控 制功能块(如pid等)。面对这样的控制系统开发,仅仅熟悉嵌入式操作系统是远 远不够的,其还需要开发者完成许多与控制系统相关的软件开发工作。在工业控制领域,除嵌入式系统的开发人员外

24、,述有大最的工:程技术人员, 他们对工业控制的集散系统、plc系统非常熟悉,并采用工业pc优秀的组态开 发环境以及plc等设备厂家提供的梯形图等直观的开发工具进行工业控制的组 态工作。显然,使用这些软件给工程技术人员带來了很大的方便,但遗憾的是, 这些软件大多数都不是为嵌入式控制系统所设计的。采用这些软件开发出来的控 制系统往往非常复杂,系统造价也极其昂贵,对许多控制系统应用来说其实并不 实用。总z,上述问题的产生,除欧入式实时操作系统口身一可能存在的问题外, 缺乏易学、易用、可靠、高效的控制系统软件平台及相关开发工具也是一个非常 重要的原因。如果提供一套完整的软件平台,由平台完成那些复杂的但

25、具有通用 性的核心软件,这样控制设备的开发人员就可以仅仅关注应用系统本身,而不必 在欧入式操作系统和控制软件核心力一面花费更多的精力,从而为其最终实现完 整的控制系统设备提供了非常方便而快捷的开发手段,提高了工作效率,并缩短 了产品上市时间1.4本文的主要工作和创新根据对目前控制系统软件及和关资料的分析,作者认为,木课题所提出的嵌 入式控制系统软件平台是一个全新的概念,它与现有的控制软件存在很大差别, 现有开发的一些控制系统软件如软plc系统、嵌入式组态软件等,其往往局限 于某一方面的应用,而且软件的通用性和开放性也存在很大问题。而嵌入式控制 系统软件平台则是一个完全集成化的软件系统,该软件系

26、统究竞应该如何进行设 计和开发是一个全新的课题。因此,木文对该软件平台的特性、架构以及技术难点等问题进行了详细的分 析和研究,并给出了许多有价值的成果。第二章嵌入式控制系统软件平台的设计2.1平台设计需求分析及设计目标本课题的主要目标是建立一套完整的嵌入式控制系统软件平台,该平台建构 于嵌入式硬件平台之上,包括嵌入式实时操作系统、软plc系统、嵌入式组态 软件等等,希望将这些软件冇机的结合起来,并通过开放的软件接口最终形成一 套完整的应用系统软件平台。除了运行环境外,我们述将建立适用于该平台的软件开发环境,以方便用户 实现对该平台的组态应用以及二次开发。在该平台的支持下,用户可以将开发重 点集

27、屮到具体的控制系统应用上,而诸如系统的软件架构设计、实时性保证、通 用的控制系统软件如网络通信、控制算法等复杂而繁琐的软件工作则交由平台完成。本文重点介绍系统的运行环境。2. 2平台的设计思想整个嵌入式控制系统软件平台将是一个非常复杂的综合系统平台,因此一个 好的设计思想对于软件的最终实现将显得至关重要。论文一方面考虑了该平台的 实现功能和关键特性,另一方面也综合了常见的软件设计思想和技术。感觉应该 从下面儿个方面把握整个软件的设计:(1) 采用通用的嵌入式实时操作系统通用的操作系统功能车富,成熟性和可靠性也更高,并有完善的开发工具支 持,其开放性和灵活性也是不言而喻的,采用通用操作系统更具优

28、势,这也大大 降低了我们系统实现的难度。不过采用通用操作系统也存在一些问题,如其所消 耗的系统资源较大,对硕件平台的要求较高,某些功能可能对控制系统软件实用 价值并不大等等,因此对于嵌入式实时操作系统的选择是非常重要的。(2) 区分实时与非实时任务在控制系统的应用中,并非所有的任务都是实时的,有许多任务如人机界面 等并不要求具有较强的实时性。因此,在整个系统中合理地区分实时与非实时软 件是非常重要的。需要注意的是,实时软件与非实时软件z间也存在通信问题和 数据同步等问题,因此在实现双方可靠通信的同时,乂要确保实时软件的实时性, 这对于总体设计來说将十分重要,难度也很大。(3) 以数据为核心控制

29、系统的一个重要特点主要是大量数据的采集和处理,而且典型的控制应 用过程一般都是周期性的,在周期开始时,采集数据,然后进行运算和处理,最 后根据处理的结果更新数据,如plc的工作原理。因此控制系统软件的设计必 须考虑以数据为核心,完成数据的获取、更新、配置、通信等功能。同时,我们 认为,为保证整个系统性能的高效,必须要有统一的数据管理平台,我们称z为 实时数据库管理平台,所有的应用组件都工作在该平台基础上,通过该平台与底 层"0数据进行交互。统一的实时数据库管理平台增强了系统的可扩展性和灵活 性,同时也减少了系统数据相互复制之间的开销。(4) 扫描与同步集散控制系统和plc系统一个很重

30、要的工作就是,对模拟量和开关量等i/o 数据量进行循环扫描。随着i/o量的不断增大,扫描时间也越來越长,从而使得 实时性难以保障。但现实的情况是,在整个控制系统中,不同的控制模块其实时 性要求并非完全和同,如果采用统一扫描的方式,那些实时性要求低的i/o量扫 描影响了对实时性要求高的扫描,从而导致整个系统的性能下降。因此,平台采 用并行化扫描的方式,即允许多任务同时对i/o量进行扫描,分別进行处理,从 而提高系统效率。但并行化扫描时也同时涉及到多任务的同步问题,对于同步问 题的分析也是我们设计平台时要重点考虑的。2. 3平台的总体框架嵌入式控制系统平台是以嵌入式实时操作系统为核心,包括硕件平台

31、、硕件 驱动、图形库运行环境、实时数据库管理与通信、人机界面、软plc、网络通信、 用户应用程序等。嵌入式控制系统平台总体框架如图2-1所示。图2-1嵌入式控制系统软件平台总体框架由图21可知,陨入式控制系统软件平台主要包括以卜部分(1)嵌入式硬件平台欧入式硬件平台包括欧入式cpu、存储器,以及用于数据采集的硬件i/o 板卡,用于通信的网络适配器等。(2)故入式实时操作系统嵌入式实时操作系统是恢入式控制系统软件平台的核心部分,提供任务管理 (多任务和基于优先级的任务调度)、任务间同步和通信(信号量和邮箱等)、存储 器优化管理(含rom的管理)、实时时钟服务、小断管理服务等功能。(3)硬件驱动程

32、序我们这里谈的硬件驱动程序与嵌入式实时操作系统的设备驱动程序有所不 同,设备驱动程序主要为应用程序与硬件设备通信z间的数据交换(如读、写)提 供服务。而这里的硬件驱动程序主要用来采集硬件数据,并为系统的实时数据管 理平台服务,保证來口硬件的i/o数据值与系统实时数据库z间的同步。另外, 硬件驱动程序述包括对设备的初始化,寄存器的读写等操作,这些与标准操作系 统设备驱动是相同的。(4) 图形库与运行环境图形库与运行环境是人机界面的基础。图形库是为 人机界而提供大量图形元素,除包括基本图形如矩形、圆等,述包括组合图兀如 油罐、阀门等。运行库环境一般指标准语言如c语言的运行库,其中包括基本 的运行库

33、函数以及针对操作系统的系统调用函数。(5) 实时数据库管理与通信实时数据库管理与通信是平台屮很重要的模块,管理着全局i/o数据,上层 控制系统软件如人机界面软plc、控制算法等,将从该模块中获取实时数据,并 通过该模块更新实时数据。同时,该模块还负责与操作系统以及硬件驱动程序的 通信,将上层控制软件的请求最终发送到实际的硬件驱动程序。(6) 人机界面一个优秀的系统平台应该要提供强大的人机界面环境,人机界面类似于标准 组态软件的运行环境,用户将组态好的程序编译后即可在该环境下运行。与标准 组态软件不同的是,该组态环境运行在目标机卜,内含对用户组态的解析和执行 功能,并与实时数据管理程序进行通信以

34、获取硬件数据。(7) 软 plc类似于标准plc的功能,支持对i/o数据的循环扫描和用户程序控制,同 时提供类似标准plc的可编程方式。在上述设计中,软plc部分主要是提供一 个用户plc程序运行的环境,其包括i/o数据的扫描、用户程序的解析与执行 等等。一般來说,该应用是实时的控制系统应用。(8) 网络通信主要负责获取从网络上传來的实时数据,并更新实时数据库,同时也负责将 本地的实时数据传送到网络上去。因此,网络通信模块主耍功能是,一方而与实 时数据管理模块进行通信,另一方面通过网络硬件驱动程序与网络适配器进行通 信。任何一个实时数据库有可能是本地的,也可能是远程的,根据需要可以自行 确定。

35、(9) 用户应用程序用户可以调用平台提供的编程接i,包括实时操作系统以及控制软件等提供 的接口,编写人机界而应用程序、plc应用程序等,完成某个特定的控制任务。 2.4开发环境软件开发环境软件工作在宿主机上为用户形成最终系统提供完善的开发手段。完 整的开发环境包扌舌如下软件:(1) 平台定制软件该软件用于配置嵌入式实时操作系统以及控制系统软件平台组件,用户可以 根据实际的需求选择必要的软件进行组合。平台将根据用户的选择进行编译从而 形成最终的系统。(2)人机界面组态软件该软件用以形成口标机的人机界而,由于口标机上带有人机界而组态的执行 环境,因此由该组态软件生成的组态程序将通过编译后最终在冃标

36、机卜运行。2. 5平台的关键软件分析从前面的软件架构可以看出,整个软件平台是非常庞大的,而且每个组成部 分其内部结构和实现也非常复杂。在这一节里将就整个平台中的一些关键性的软 件进行分析,并给出和应的设计方案和软件架构。另外,在整个系统中,由于嵌 入式实时操作系统、现场总线及实时以太网等软件结构复杂,实现难度较高,而 且其牵涉的问题也很多,因此将在后续的章节中加以详细分析,这里就不再赘述 to2. 5. 1硬件驱动程序分析前面提到,平台中的硕件驱动程序主要是实现实时数据库与硕件实际i/o量 的同步,口j以说硬件驱动程序是实时数据管理平台与真实硬件设备之间的桥梁。 侦件驱动程序主要包括基本的i/

37、o通信模块驱动程序,其支持标准的模拟和数字 量采集;网络通信模块驱动程序,支持从网络上采集数据:特定硬件的数据采集 程序,如基于计算机并口或串口的数据采集等等。典型的驱动程序设计主要包括如下部分:(1)初始化:在初始化程序中,驱动程序将完成查找硬件、初始化硬件等功能,并向系统 注册相应的接口。实时数据管理平台将通过这些接口实现对驱动程序的管理以及 与驱动程序之间的通信。(2)配置接口:驭动程序参数口j以由用户进行配置,因此驱动程序必须提供通用的配置接 口。典型的配置接口包括变量名、变量描述、变量类型以及相应的变量值。(3)通信接口:根据控制系统的通信要求,驱动程序可以有如下通信方式:1)直接读

38、取数据实时数据管理平台直接向驱动程序发送请求以获取实时数据。2)中断通知读取数据驱动程序当数据发生变化时主动向实时数据管理平台提交变化的数据。3)定时读取数据对于某些随时发生变化的数据,典型的如模拟量数据,驱动程序应能定时进 行采集,并主动提交数据。4) 同步/异步更新数据实时数据管理平台向驱动程序提交需要修改的数据,驱动程序更新数据后向 实时数据管理平台提交新变化的数据。这可以采用同步提交或异步提交的方式。驱动程序可以根据实际的硬件特点选用不同的通信方式,并将此方式通知给 实时数据管理平台。由于通信方式的不同,驱动程序可以分为主动和被动两种通 信模式,在主动模式下驱动程序口行获取数据并更新数

39、据,然后通知实时数据库 管理程序。而在被动模式下,驱动程序不主动采集数据,其所有数据存取操作是 由实时数据库管理程序进行驱动的。因此,对于不支持主动模式的驱动程序來说, 上层应用采集数据时实时数据管理程序应通知驱动程序提供最新数据,2. 5. 2嵌入式实时操作系统实时操作系统(rtos)是具有实时特性,能管理控制实时系统有效工作的操 作系统。“实时”在这里不仅是指系统能及时响应外部“事件”的请求,而且对 系统中各种有很强定时限制的任务活动要给予足够的支持和保证。实时操作系统具有止确性、实时性、高度可靠性、适应性、安全性特点。实 时性一般是指:(1) 系统要以足够快的速度响应外部事件的请求。(2

40、) 实时系统中的许多任务都有显式定时限制,要求在规定的时刻或一定 的时间范围内完成其处理,系统的止确性不仅依赖于任务的逻辑结果,而且依赖 于该逻辑结果所产生的时间。(3) 系统中一些数据的产生及保存也有很强的时间性,有一定的时效期, 过时就变得没有意义。实时操作系统是一段嵌入在目标代码中的程序,系统复位后首先执行,和当 于用户的主程序。用户的其他应用程序都建立在实时操作系统之上。不仅如此, 实时操作系统还是一个标准的内核,将cpu时间、中断、i/o、定时器等资源都 包装起来,留给用户一个标准的api接口,并根据各个任务的优先级,合理地 在不同任务z间分配cpu时间。在实时操作系统基础上,可以编

41、写出各种硬件 骡动程序、库函数,与通用性的应用程序一起作为产品销售,从这个意义上说, 实时操作系统乂是一个软件开发平台。实时操作系统的结构如图22所示。其中实时操作系统核心是位于硕件抽彖 层和系统api、网络模块、图形驱动程序函数z间,占有非常重要的位置。嵌入式操作系统并不一定是实时的,如windowsce,现在比较流行的嵌入 式linux的大多数版木也都不是实时的,因为它们最初都是按分时系统设计的, 即使作为嵌入式的应用也无法实现真正的实时性。大多数的嵌入式linux操作系统都是从标准linux裁剪或修补而來,标准 linux操作系统并非为实时系统而设计,因此一般的嵌入式linux操作系统也

42、不是实时操作系统,这主要体现在以下几个方而:(1) linux的内核不可抢先:实时内核有两种:不可抢占内核与可抢占内核。linux b'分用户态和核心态 两种模式,当进程运行在用户态时,可被优先级更高的进程抢占。但当它进入核 心态时(比如通过系统调用),则其它用户态进程优先级再高(包括实时进程)也不 能抢占它。由于linux操作系统在内核级是不可抢占的,对于非实时系统可以 带来更多方便,但对于实时系统则造成任务切换延迟的不确定性。i/o管理,文件系统,驱动程序驱动 程序 编程 接口内存 管理 模块系统api网络模块图形驱动函数库实时操作系统核心硬件抽象层硬件平台图2-2实时操作系统体系

43、结构(2)优先级反转问题linux系统不捉供优先级继承等策略,因此优先级反转的现彖将使高优先级 的实时进程可被低优先级的进程阻塞,从而造成其执行时间的不确定。(3)进程同步与互斥问题linux采用了信号量的方法来保证进程的互斥与同步,由于频繁的信号加锁 及解锁操作会影响系统的整体性能,因此linux采用了粗粒度的策略,信号的加 锁及解锁会有较长间隔。因此系统的最坏情况下的性能较差,往往无法满足许多 硬实时应用的要求。(4)时间精度及定时器问题linux系统缺少细粒度和多模式的定时器,linux -般捉供周期为100hz的 定时屮断,因此其时间精度最高即为10ms,这无法满足对时间精度要求苛刻的

44、实 时应用。(5)关中断问题在系统调用中,为了保护临界区资源,linux会长时间关掉屮断,这样会加 大屮断延迟时间,阻塞高优先级的中断立即被处理。在实时应用中,这是一个十 分严重的问题。近些年來,人们对linux内核的实时改造提出了一些解决方案和设想。纵观 这些方案,总的说来,可以分类两类:一类是直接在linux内核上进行改造, 以提高其实时性,我们称z为单内核的解决方案;另一类是建立一个实时内核与 linux内核并存,我们称z为双内核方案。卜面介绍口前一些基于linux的实时 操作系统的实现。(6) rt-linuxrt-linux是在linux基础上改写的貝有硬实时处理能力的实时操作系统。

45、 该系统主要是由美国新墨西哥州的矿业技术学院于1996年研究开发岀来的。在 rt-linux中,实时任务的运行和中断的处理都与原linux并存于同一台计算机 上,它们可以在任何需要的时候获得处理机,而不必理会当时linux正在做什 么。它所建立的是一个直接面对处理器的小内核,此内核独立于原linux的标 准内核,并且拥有自己的调度程序。原linux内核在这个小内核的基础上以最 低的优先权与其它实时任务的运行和中断的处理都与原linux并存于同一台计 算机上,它们可以在任何需要的时候获得cpu,而不必理会当时linux正在做 什么。rt-linux把linux的系统内核当作在一个小的实时系统上运

46、彳亍的一个任 务來对待。事实上,linux被当作实时系统的空闲任务,也就是说,只有当系统 小没有任何实时任务需要运行的时候,才来运行它。linux的任务再也不能够通 过封锁中断來避免被抢占。实现这一冃的的技术关键在于对中断控制硬件的软件 仿真。当linux通知特定硬件机构禁止小断的时候,实时内核将截获这一请求, 将其记录然后返回给linuxo linux等于被“欺嵋”,这样linux就不能真正地 禁止硬件中断。所以不管当前linux处于什么状态,它都不能延长实时系统的 中断响应时间。(7) rtairta1的方法与rt-linux类似,明显的不同z处在于它定义了一组rthai (real-ti

47、me hardware abstraction layer,实时硬件抽象层)。rthai 将 rtai 需耍在 linux中修改的部分定义成一组程序界面,rtai只使用这组界面和linux沟通。 这样可以把对内核源码的改动降低到可以控制的程度,其优点是可以避免 rt-linux对内核源码改动过大的问题,减少移植新版linux的工作量。与rt-linux相比,rtai的源码是完全开放的,rt-linux尽管也有开放源码 的版本,但其发展已基木停滞了。rta1 *于其对linux内核代码修改较小,因 此可以非常方便的移植到新版本的核心,同时又由于其采用模块方式扩展实时特 性,因此一些新的特性可以非

48、常方便的加入其中,这也使得rtai得到了不断的 发展。除了 linux夕卜,述有许多其他嵌入式实时操作系统,例如integrated system 公司的 psos>intel 公司的 irmx386ready system 公司(后与 microtec research 合并)的 vrtx32、windrivei* system 公司的 vxworks、accelerated technology inc 的nucleusplus等。它们一般都提供了实时性较好的内核、多种任务通信机制、 基于tcp/ip的网络组件、文件管理及i/o服务,提供了集编辑、编译、调试、 仿真为一体的集成开发环

49、境,支持用户使用c、c+等编程语言进行应用程序的 开发。口前,商业的实时操作系统已经在许多嵌入式领域得到了广泛的应用,如 vxworks, qnx、psos、nucleus等。但这些商用系统一般价格昂贵且互不兼 容。而且,它们通常严守技术秘密,这无疑同时也限制了其发展。因此,在嵌入 式实时操作系统领域,以开放源码为代表的linux操作系统逐渐引起了人们的广 泛关注,越来越多的系统采用恢入式linux操作系统,本系统也采用嵌入式linux 实时操作系统(rtai)o2.5.3实时数据通信与管理平台实时数据通信和管理平台负责对实时数据的管理以及与驱动程序和上层控 制应用之间的通信,整个平台的软件架

50、构如图2-3所示:图2-3实吋数据通信与管理平台软件架构2.5.4 软 plc软plc(softplc)是一种基于工业控制计算机或嵌入式计算机的软逻辑控制 软件,与传统plc 样,主要用于工业控制领域的开关逻辑控制、顺序控制、 定时控制、计数控制、模拟量控制、闭环过程控制等。软plc由开发环境和运行环境组成。软plc开发环境就是带有调试和编译 功能的plc编程器,要求编程语言标准化,具有丰富的控制模块,支持多种pid 算法(如常规pid控制算法、口适应pid控制算法、模糊pid控制算法、智能 pid控制算法等),述允许用户自行嵌入控制算法,具有仿真环境等等。软plc的 运行环境是软plc的核心

51、,完成输入处理、程序执行、输出处理等工作,通常 由i/o接口、通信接口、系统管理器、错谋管理器、调试内核和编译器组成。目前国际上比较流行的软plc产品有kw-software公司的mult1prog wt32> cj international 公司的 isagraf、wonderware 公司的 incontrol 7.0 等。(1) kw-software 公司的 muetiprog wt32kw-software 公司的 muetiprog wt32 完全符合 iec1131-3 国际标准, 开发环境集成化,类似vc+6.0的开发界面,支持五种编程语言(包括两种文本 语言st、il

52、和三种图形语言ld、fbd、sfc),其屮ld、fbd、sfc三种图 形编程非常方便直观,仿真程序比较完善,但不支持五种编程语言z间的相互转 换。(2) cj international 公司的 isagrafcj international公司的isagraf通过变量交叉表可查询变量的使用情况, 可以方便加入用任何标准plc语言编写的功能块,也可恢入用c语言编写的 功能块,可以编译生成适用于不同cpu的代码,仿真程序比较完善,源程序在 仿真运行时可以进行监控,可以运行在任何一种工业计算机、微处理器、或配有 i/o模块的plc中,但不完全符合iec1131-3国际标准,开发环境为非集成化 的多

53、窗口界面。(3) wonderware 公司的 incontrol 7.0wonderware公司的incontrol 7.0支持ld、sfc、st三种编程语言,开 发环境集成化,编程简单,每个程序以文件形式进行管理。在本系统中,我们也 要创建一个软plc系统的运行环境,充分借鉴世界上已经出现的软plc系统 的优点,并结合本平台,搭建一个基于linux环境下的软plc环境。借鉴传统plc的结构,整个嵌入式软plc系统的体系结构也分为开发系统和 运行系统两部分,它们是相互独立而又密不可分的两个应用程序,可以分别单独 运行。软plc开发系统:实际上就是一个plc编程器,提供用户一个可以利用标 准p

54、lc编程语言(比如梯形图)编写控制应用程序的环境。(2)软plc运行系统:这-部分是软plc的核心,完成输入处理、程序执行、 输出处理等工作。运行系统的作用是执行开发环境编译后产生的目标代码,实现 控制功能。开发系统位于pc机上,开发后生成口标应用文件。运行系统位于嵌 入式系统上,从开发系统中下载目标应用文件,根据该文件信息组织运行系统内 的模块进行运行。这样的结构,在开发系统下可充分利用pc机丰富的资源,有 效提高开发效率。而对于运行系统,考虑到系统的实时性、可移植性等要求,直 接将其运行在欧入式系统z上。软plc系统的软件体系结构见图24,整个系统 由开发系统和运,行系统组成。图2-4 软plc系统的软件体系结构当前plc在国际市场上已成为广受欢迎的工业控制产品,用plc设计口动控 制系统已成为世界潮流。嵌入式软plc是嵌入式系统和软plc在工业控制屮介和 发展的必然产物。嵌入式软plc是当前开放式控制系统的发展趋势,克服了硬 plc的诸多缺点,凭借其执行速度快、可跨平台运行等优点必将在工业控制屮得 到广泛的应用。随

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论