版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 工业控制中嵌入式系统软件的设计作 者 姓 名 田振超 专 业 自动化 指导教师姓名 王斌鹏 专业技术职务 讲师 目 录摘 要 1第一章 绪论31.1嵌入式系统概述31.2课题简介及研究意义51.3嵌入式控制系统研究与国内外现状61.4本文的主要工作和创新7第二章 嵌入式控制系统软件平台的设计292.1292.235摘 要随着计算机和微电子技术的飞速发展,嵌入式系统作为计算机应用的一个重要领域,已深入到社会的方方面面。近年来,嵌入式系统在工业控制领域的应用也越来越广泛。本文讨论了工业控制中嵌入式系统软件的设计与实现,旨在创建一个完整的嵌入式控制系统软件平台。该平台将嵌入式实时操作系统、嵌入式组
2、态软件、软PLC等有机地结合起来,为嵌入式控制系统提供一个完整的运行环境。本文首先介绍了嵌入式系统的概念、发展和软硬件组成,并对嵌入式控制系统及其相关软件如嵌入式实时操作系统、软PLC系统、嵌入式组态软件等进行了详细的分析,同时阐述了嵌入式控制系统软件平台课题及研究意义。其次根据作者在嵌入式控制系统方面的研究,提出了嵌入式控制系统软件平台的总体框架,并对关键软件的设计做了非常详细的分析。基于分析的结果,本文详细讨论了嵌入式控制系统软件平台中嵌入式实时操作系统、实时数据库管理与通信、人机界面软件等主要模块的实现。在此基础上,本文通过一个实例对平台进行了详细的测试,该测试实例基于PC104标准嵌入
3、式板和嵌入式RTAI实时操作系统。测试表明,该平台具有实时性强、易于裁剪、组态灵活等特点。最后,本文对嵌入式控制系统软件平台需要进一步完善和发展的相关功能模块进行了详细的分析,并展望了嵌入式系统在工业控制中的应用前景及发展方向。本文详细叙述了工业控制中嵌入式系统软件的设计与实现,特别是基于Linux的嵌入式系统,对于在工业控制中应用的嵌入式系统的研究和构造有一定的指导作用。关键词:嵌入式系统 实时操作系统 工业控制 RTAI MiniGUIABSTRACTWith the rapid development of computer and micro-electronics technolog
4、y, 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 embedde
6、d 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 sof
7、tware based on the authors 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 and e
8、tc. Then the thesis provided a demo to test the performance of the platform. The test is based on the PC104embedded 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 relate
9、d models which needed to be improved and developed in the platform. Then, the future application of embedded system in industry control was prospected.This thesis provided us with a full description on the design and implementation of the embedded system software in industrial control,especially on
10、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嵌入式系统概述1.1.1嵌入式系统概念与发展随着计算机和微电子技术的飞速发展,嵌入式系统(Embedded System)作为计算机应用的一个重要领域,已深入到社会的方方面面,不仅广泛渗透到社会、经济、军事、交通、通信等相关行业,而且深入到家电、娱乐、艺术、社
11、会文化等各个领域,掀起了一场数字化技术革命。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。它主要由嵌入式微处理器、相关支撑硬件、嵌入式操作系统以及应用软件系统等部分组成,集软硬件于一体,用于实现对其他设备的控制、监视和管理等功能。从20世纪七十年代单片机的出现到各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了近30年的发展历史。综观嵌入式技术的发展,大致经历了以下四个阶段:第一阶段是嵌入式系统的早期阶段,是以功能简单的专用计算机或单片机为核心的可编程控制器形式存在,具有监
12、测、伺服、指示设备等功能。这种系统大部分应用于各类工业控制和飞机、导弹等武器装备中,早期嵌入式系统一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。这一阶段系统的主要特点是:系统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口,比较适合于各类专用领域。由于这种嵌入式系统使用简便、价格很低,以前在国内工业领域应用较为普遍,但是已经远远不能适应高效的、需要大容量存储介质的现代化工业控制和新兴的信息家电等领域的需求。第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。这一阶段系统的主要特点是:CPU种类繁多,通用性比较差;系统开销小,效率
13、高;一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制负载以及监控应用程序运行。第三阶段是通用的嵌入式实时操作系统阶段,是以嵌入式操作系统为核心的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(API,Application Interface),开发应用程序简单;嵌入式应用软件丰富。第四阶段是以芯片技术和基于 Internet 为标志的嵌
14、入式系统,这是一个正在迅速发展的阶段。微电子技术发展迅速,SOC(System On Chip,片上系统)使嵌入式系统越来越小、功能却越来越强。目前大多数嵌入式系统还孤立于 Internet 之外,但随着Internet的发展以及 Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与 Internet的结合将代表着嵌入式技术的真正未来,并推动嵌入式技术的快速发展。从嵌入式系统的发展我们可以看出,嵌入式系统最早用于工业控制系统,但随着发展,其应用领域已经不断扩大,目前嵌入式系统已经被广泛应用到家用市场、工业市场、商业市场、通讯市场和国防市场,应用嵌入式操作系统的产品形态丰富多
15、样,如掌上 PDA、机顶盒、数字电视、数字音像设备、手机、可视电话、车载智能设备、微波炉、数控机床、商业终端、教育终端、智能控制设备等等。1.1.2嵌入式系统的特点嵌入式计算机系统同通用型计算机系统相比具有以下特点:(1)嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。(2)嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的
16、产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。(3)嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。(4)嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。(5)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。(6)嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套
17、开发工具和环境才能进行开发。1.1.3工业控制系统与嵌入式系统嵌入式系统最早就用于工业控制系统,但由于工业控制系统的封闭性和厂家垄断性问题,一些嵌入式系统的最新研究成果,尤其是建立在嵌入式实时操作系统基础上的嵌入式系统并没有在工业控制领域得到非常广泛的应用,许多嵌入式的控制系统基本上还是沿袭嵌入式系统发展的早期成果。在过去的10年间,工业PC及其相关的数据采集、监控系统硬件的销售额一直保持高速增长。但是,基于PC的控制系统也常有一个问题:运行标准操作系统、使用现成软件的“控制”PC机不够稳定,同时实时性不强,因此不能完全靠它完成工业控制。在许多工业实际应用环境下,工业PC总是和一些专用的控制系
18、统如智能化仪表、单片机控制器、PLC等等配合使用,从而形成复杂的控制系统。这样做增加了系统的成本,而且控制系统厂商的封闭性常常使得工程师需要集成不同公司的产品,这为系统的维护、升级都带来了许多困难。针对这种情况,控制系统开发工程师迫切需要一种集控制功能(如PLC功能)和PC功能于一身的产品,这种产品具备PC的特点:强大的处理器,丰富的软件,优秀的人机界面和足够的存储空间,同时也具有良好的实时性、可靠性和稳定性。基于嵌入式实时操作系统的嵌入式系统在控制领域中大有用武之地。例如我们可以将目前工业控制系统中常用的PC104主板与相应的数字模拟量接口板、通信接口板等相结合,形成嵌入式的硬件系统,然后在
19、其基础上建立以嵌入式实时操作系统为核心的嵌入式控制软件,这样形成的完整系统完全可以满足上述功能要求。可以想象,随着嵌入式控制系统的发展,嵌入式控制系统将在一定程度上取代现有的工业 PC 控制系统,在微型TDCS(集散控制系统)、现场总线系统、PLC控制系统、智能化仪表等领域得到广泛的应用。其相对于大型的TDCS系统来说具有较强的成本优势和灵活性,其应用领域将会进一步扩大。工作控制对嵌入式系统提出了更高的要求 (1)工业控制一般需要嵌入式操作系统是实时的,即嵌入式操作系统所有任务要在规定的时间内完成,例如现场的数据采集、电力监控、航天器的飞行控制等等。(2)组态软件不同于PC机上的组态软件,嵌入
20、式组态运行于实时嵌入式操作系统,运行稳定,抗干扰能力强,软件体积小、速度快、成本低,具有强大的通讯功能,且用户开发方便,使用操作简单。1.2课题简介及研究意义要求建立一套完整的嵌入式控制系统软件平台,该平台建构于嵌入式硬件系统之上,包括嵌入式实时操作系统、软 PLC 系统、嵌入式组态软件等。平台包括运行环境和开发环境两部分。使用开发环境,用户可以方便组态和二次开发,而将开发重点集中到具体的控制系统应用上,而诸如系统的软件架构设计、实时性保证、通用的控制系统软件如网络通信、控制算法等复杂而繁琐的软件工作,则交由平台完成。实时操作系统的实现,以及嵌入式控制系统整体方案的提出和实现,这些都是嵌入式系
21、统应用于工业控制领域中较前沿的课题,因为它们涉及到许多方面的知识,如微处理器、操作系统、网络通讯、工业控制领域的专业知识等。深入研究这些课题并且加以实现,将有助于提高我们知识的广度和深度。同时对于开发其它类似的工业控制产品具有一定的指导意义。1.3嵌入式控制系统研究与国内外现状综上所述,可以认为,基于嵌入式实时操作系统的新型嵌入式控制系统必将在未来的工业控制产品中占有举足轻重的作用。然而,基于嵌入式操作系统的开发远非目前常用的工业控制组态软件开发可比,其对开发人员的要求甚高·。一个优秀的开发人员需要了解嵌入式硬件、实时操作系统、编译系统、网络通信等等多方面的知识,这往往使得许多仅熟悉
22、单片机或FLC的初学者因此望而却步。事实上,与通用计算机的开发人员主要是计算机科学或工程方面的专业人士不同,嵌入式系统的开发人员往往是各个应用领域的专家,显然这些开发者对其应用领域是非常熟悉的,但对嵌入式开发方向却没有许多经验。在中国,单片机应用和嵌入式系统开发己经走过了十几年的历程,有超过10万名从事单片机开发应用的工程师,但95%以上是3-5人的小组以孤军奋战的封闭方式开发几乎不可重用的软件。显然,这些开发基本上都局限在最早期的嵌入式开发阶段,与目前先进的嵌入式系统相距甚远。随着嵌入式系统的逐渐普及,有大量的单片机开发上程师己经转向或准备转向采用嵌入式操作系统开发控制系统软件,但现实的情况
23、是,用户要求越来越高,而嵌入式控制设备也变得越来越复杂,如一个典型的控制仪表,除完成基本功能外,还可能需要增加以太网通信或USB通信接口;一个典型的现场总线仪表,除基本的测量功能外,还必须增加现场总线接口及其通信软件,甚至包括特定的控制功能块(如PID等)。面对这样的控制系统开发,仅仅熟悉嵌入式操作系统是远远不够的,其还需要开发者完成许多与控制系统相关的软件开发工作。在工业控制领域,除嵌入式系统的开发人员外,还有大最的工:程技术人员,他们对工业控制的集散系统、PLC系统非常熟悉,并采用工业PC优秀的组态开发环境以及PLC等设备厂家提供的梯形图等直观的开发工具进行工业控制的组态工作。显然,使用这
24、些软件给工程技术人员带来了很大的方便,但遗憾的是,这些软件大多数都不是为嵌入式控制系统所设计的。采用这些软件开发出来的控制系统往往非常复杂,系统造价也极其昂贵,对许多控制系统应用来说其实并不实用。总之,上述问题的产生,除嵌入式实时操作系统自身一可能存在的问题外,缺乏易学、易用、可靠、高效的控制系统软件平台及相关开发工具也是一个非常重要的原因。如果提供一套完整的软件平台,由平台完成那些复杂的但具有通用性的核心软件,这样控制设备的开发人员就可以仅仅关注应用系统本身,而不必在嵌入式操作系统和控制软件核心力一面花费更多的精力,从而为其最终实现完整的控制系统设备提供了非常方便而快捷的开发手段,提高了工作
25、效率,并缩短了产品上市时间1.4本文的主要工作和创新 根据对目前控制系统软件及相关资料的分析,作者认为,本课题所提出的嵌入式控制系统软件平台是一个全新的概念,它与现有的控制软件存在很大差别,现有开发的一些控制系统软件如软PLC系统、嵌入式组态软件等,其往往局限于某一方面的应用,而且软件的通用性和开放性也存在很大问题。而嵌入式控制系统软件平台则是一个完全集成化的软件系统,该软件系统究竟应该如何进行设计和开发是一个全新的课题。 因此,本文对该软件平台的特性、架构以及技术难点等问题进行了详细的分析和研究,并给出了许多有价值的成果。第二章 嵌入式控制系统软件平台的设计2.1平台设计需求分析及设计目标本
26、课题的主要目标是建立一套完整的嵌入式控制系统软件平台,该平台建构于嵌入式硬件平台之上,包括嵌入式实时操作系统、软PLC系统、嵌入式组态软件等等,希望将这些软件有机的结合起来,并通过开放的软件接口最终形成一套完整的应用系统软件平台。除了运行环境外,我们还将建立适用于该平台的软件开发环境,以方便用户实现对该平台的组态应用以及二次开发。在该平台的支持下,用户可以将开发重点集中到具体的控制系统应用上,而诸如系统的软件架构设计、实时性保证、通用的控制系统软件如网络通信、控制算法等复杂而繁琐的软件工作则交由平台完成。本文重点介绍系统的运行环境。2.2平台的设计思想 整个嵌入式控制系统软件平台将是一个非常复
27、杂的综合系统平台,因此一个好的设计思想对于软件的最终实现将显得至关重要。论文一方面考虑了该平台的实现功能和关键特性,另一方面也综合了常见的软件设计思想和技术。感觉应该从下面几个方面把握整个软件的设计:(1)采用通用的嵌入式实时操作系统通用的操作系统功能车富,成熟性和可靠性也更高,并有完善的开发工具支持,其开放性和灵活性也是不言而喻的,采用通用操作系统更具优势,这也大大降低了我们系统实现的难度。不过采用通用操作系统也存在一些问题,如其所消耗的系统资源较大,对硬件平台的要求较高,某些功能可能对控制系统软件实用价值并不大等等,因此对于嵌入式实时操作系统的选择是非常重要的。(2)区分实时与非实时任务在
28、控制系统的应用中,并非所有的任务都是实时的,有许多任务如人机界面等并不要求具有较强的实时性。因此,在整个系统中合理地区分实时与非实时软件是非常重要的。需要注意的是,实时软件与非实时软件之间也存在通信问题和数据同步等问题,因此在实现双方可靠通信的同时,又要确保实时软件的实时性,这对于总体设计来说将十分重要,难度也很大。(3)以数据为核心控制系统的一个重要特点主要是大量数据的采集和处理,而且典型的控制应用过程一般都是周期性的,在周期开始时,采集数据,然后进行运算和处理,最后根据处理的结果更新数据,如PLC的工作原理。因此控制系统软件的设计必须考虑以数据为核心,完成数据的获取、更新、配置、通信等功能
29、。同时,我们认为,为保证整个系统性能的高效,必须要有统一的数据管理平台,我们称之为实时数据库管理平台,所有的应用组件都工作在该平台基础上,通过该平台与底层I/O数据进行交互。统一的实时数据库管理平台增强了系统的可扩展性和灵活性,同时也减少了系统数据相互复制之间的开销。 (4)扫描与同步集散控制系统和PLC系统一个很重要的工作就是,对模拟量和开关量等I/O数据量进行循环扫描。随着I/O量的不断增大,扫描时间也越来越长,从而使得实时性难以保障。但现实的情况是,在整个控制系统中,不同的控制模块其实时性要求并非完全相同,如果采用统一扫描的方式,那些实时性要求低的I/O量扫描影响了对实时性要求高的扫描,
30、从而导致整个系统的性能下降。因此,平台采用并行化扫描的方式,即允许多任务同时对I/O量进行扫描,分别进行处理,从而提高系统效率。但并行化扫描时也同时涉及到多任务的同步问题,对于同步问题的分析也是我们设计平台时要重点考虑的。2.3平台的总体框架嵌入式控制系统平台是以嵌入式实时操作系统为核心,包括硬件平台、硬件驱动、图形库运行环境、实时数据库管理与通信、人机界面、软PLC、网络通信、用户应用程序等。嵌入式控制系统平台总体框架如图2-1所示。用户应用程序图形库与运行环境人机界面组态实时数据库管理与通信软PLC网络通信嵌入式实时操作系统硬件驱动程序嵌入式硬件平台控制算法图2-1嵌入式控制系统软件平台总
31、体框架由图 2-1 可知,嵌入式控制系统软件平台主要包括以下部分(1)嵌入式硬件平台嵌入式硬件平台包括嵌入式 CPU、存储器,以及用于数据采集的硬件I/O板卡,用于通信的网络适配器等。(2)嵌入式实时操作系统嵌入式实时操作系统是嵌入式控制系统软件平台的核心部分,提供任务管理(多任务和基于优先级的任务调度)、任务间同步和通信(信号量和邮箱等)、存储器优化管理(含ROM的管理)、实时时钟服务、中断管理服务等功能。(3)硬件驱动程序我们这里谈的硬件驱动程序与嵌入式实时操作系统的设备驱动程序有所不同,设备驱动程序主要为应用程序与硬件设备通信之间的数据交换(如读、写)提供服务。而这里的硬件驱动程序主要用
32、来采集硬件数据,并为系统的实时数据管理平台服务,保证来自硬件的I/O数据值与系统实时数据库之间的同步。另外,硬件驱动程序还包括对设备的初始化,寄存器的读写等操作,这些与标准操作系统设备驱动是相同的。(4)图形库与运行环境图形库与运行环境是人机界面的基础。图形库是为人机界面提供大量图形元素,除包括基本图形如矩形、圆等,还包括组合图元如油罐、阀门等。运行库环境一般指标准语言如C语言的运行库,其中包括基本的运行库函数以及针对操作系统的系统调用函数。(5)实时数据库管理与通信实时数据库管理与通信是平台中很重要的模块,管理着全局I/O数据,上层控制系统软件如人机界面软PLC、控制算法等,将从该模块中获取
33、实时数据,并通过该模块更新实时数据。同时,该模块还负责与操作系统以及硬件驱动程序的通信,将上层控制软件的请求最终发送到实际的硬件驱动程序。(6)人机界面一个优秀的系统平台应该要提供强大的人机界面环境,人机界面类似于标准组态软件的运行环境,用户将组态好的程序编译后即可在该环境下运行。与标准组态软件不同的是,该组态环境运行在目标机下,内含对用户组态的解析和执行功能,并与实时数据管理程序进行通信以获取硬件数据。(7)软PLC类似于标准PLC的功能,支持对I/O数据的循环扫描和用户程序控制,同时提供类似标准PLC的可编程方式。在上述设计中,软PLC部分主要是提供一个用户PLC程序运行的环境,其包括I/
34、O数据的扫描、用户程序的解析与执行等等。一般来说,该应用是实时的控制系统应用。(8)网络通信主要负责获取从网络上传来的实时数据,并更新实时数据库,同时也负责将本地的实时数据传送到网络上去。因此,网络通信模块主要功能是,一方面与实时数据管理模块进行通信,另一方面通过网络硬件驱动程序与网络适配器进行通信。任何一个实时数据库有可能是本地的,也可能是远程的,根据需要可以自行确定。(9)用户应用程序用户可以调用平台提供的编程接口,包括实时操作系统以及控制软件等提供的接口,编写人机界面应用程序、PLC 应用程序等,完成某个特定的控制任务。2.4开发环境软件开发环境软件工作在宿主机上为用户形成最终系统提供完
35、善的开发手段。完整的开发环境包括如下软件:(1)平台定制软件该软件用于配置嵌入式实时操作系统以及控制系统软件平台组件,用户可以根据实际的需求选择必要的软件进行组合。平台将根据用户的选择进行编译从而形成最终的系统。(2)人机界面组态软件该软件用以形成目标机的人机界面,由于口标机上带有人机界面组态的执行环境,因此由该组态软件生成的组态程序将通过编译后最终在目标机下运行。2.5平台的关键软件分析从前面的软件架构可以看出,整个软件平台是非常庞大的,而且每个组成部分其内部结构和实现也非常复杂。在这一节里将就整个平台中的一些关键性的软件进行分析,并给出相应的设计方案和软件架构。另外,在整个系统中,由于嵌入
36、式实时操作系统、现场总线及实时以太网等软件结构复杂,实现难度较高,而且其牵涉的问题也很多,因此将在后续的章节中加以详细分析,这里就不再赘述了。2.5.1硬件驱动程序分析前面提到,平台中的硬件驱动程序主要是实现实时数据库与硬件实际I/O量的同步,可以说硬件驱动程序是实时数据管理平台与真实硬件设备之间的桥梁。硬件驱动程序主要包括基本的I/O通信模块驱动程序,其支持标准的模拟和数字量采集;网络通信模块驱动程序,支持从网络上采集数据:特定硬件的数据采集程序,如基于计算机并口或串口的数据采集等等。典型的驱动程序设计主要包括如下部分:(1)初始化:在初始化程序中,驱动程序将完成查找硬件、初始化硬件等功能,
37、并向系统注册相应的接口。实时数据管理平台将通过这些接口实现对驱动程序的管理以及与驱动程序之间的通信。(2)配置接口:驭动程序参数可以由用户进行配置,因此驱动程序必须提供通用的配置接口。典型的配置接口包括变量名、变量描述、变量类型以及相应的变量值。(3)通信接口:根据控制系统的通信要求,驱动程序可以有如下通信方式: 1)直接读取数据实时数据管理平台直接向驱动程序发送请求以获取实时数据。 2)中断通知读取数据驱动程序当数据发生变化时主动向实时数据管理平台提交变化的数据。 3)定时读取数据对于某些随时发生变化的数据,典型的如模拟量数据,驱动程序应能定时进行采集,并主动提交数据。 4)同步/异步更新数
38、据实时数据管理平台向驱动程序提交需要修改的数据,驱动程序更新数据后向实时数据管理平台提交新变化的数据。这可以采用同步提交或异步提交的方式。驱动程序可以根据实际的硬件特点选用不同的通信方式,并将此方式通知给实时数据管理平台。由于通信方式的不同,驱动程序可以分为主动和被动两种通信模式,在主动模式下驱动程序自行获取数据并更新数据,然后通知实时数据库管理程序。而在被动模式下,驱动程序不主动采集数据,其所有数据存取操作是由实时数据库管理程序进行驱动的。因此,对于不支持主动模式的驱动程序来说,上层应用采集数据时实时数据管理程序应通知驱动程序提供最新数据,2.5.2嵌入式实时操作系统实时操作系统(RTOS)
39、是具有实时特性,能管理控制实时系统有效工作的操作系统。“实时”在这里不仅是指系统能及时响应外部“事件”的请求,而且对系统中各种有很强定时限制的任务活动要给予足够的支持和保证。实时操作系统具有正确性、实时性、高度可靠性、适应性、安全性特点。实时性一般是指:(1)系统要以足够快的速度响应外部事件的请求。(2)实时系统中的许多任务都有显式定时限制,要求在规定的时刻或一定的时间范围内完成其处理,系统的正确性不仅依赖于任务的逻辑结果,而且依赖于该逻辑结果所产生的时间。(3)系统中一些数据的产生及保存也有很强的时间性,有一定的时效期,过时就变得没有意义。实时操作系统是一段嵌入在目标代码中的程序,系统复位后
40、首先执行,相当于用户的主程序。用户的其他应用程序都建立在实时操作系统之上。不仅如此,实时操作系统还是一个标准的内核,将CPU时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的API接口,并根据各个任务的优先级,合理地在不同任务之间分配CPU时间。在实时操作系统基础上,可以编写出各种硬件驱动程序、库函数,与通用性的应用程序一起作为产品销售,从这个意义上说,实时操作系统又是一个软件开发平台。实时操作系统的结构如图2-2所示。其中实时操作系统核心是位于硬件抽象层和系统 API、网络模块、图形驱动程序函数之间,占有非常重要的位置。嵌入式操作系统并不一定是实时的,如WindowsCE,现在比
41、较流行的嵌入式Linux的大多数版本也都不是实时的,因为它们最初都是按分时系统设计的,即使作为嵌入式的应用也无法实现真正的实时性。大多数的嵌入式Linux操作系统都是从标准Linux裁剪或修补而来,标准 Linux操作系统并非为实时系统而设计,因此一般的嵌入式 Linux 操作系统也不是实时操作系统,这主要体现在以下几个方面:(1)Linux 的内核不可抢先:实时内核有两种:不可抢占内核与可抢占内核。Linux下分用户态和核心态两种模式,当进程运行在用户态时,可被优先级更高的进程抢占。但当它进入核心态时(比如通过系统调用),则其它用户态进程优先级再高(包括实时进程)也不能抢占它。由于Linux
42、 操作系统在内核级是不可抢占的,对于非实时系统可以带来更多方便,但对于实时系统则造成任务切换延迟的不确定性。硬件平台硬件抽象层实时操作系统核心I/O管理,文件系统,驱动程序驱动程序编程接口内存管理模块系统API网络模块图形驱动函数库图2-2实时操作系统体系结构(2)优先级反转问题Linux系统不提供优先级继承等策略,因此优先级反转的现象将使高优先级的实时进程可被低优先级的进程阻塞,从而造成其执行时间的不确定。(3)进程同步与互斥问题Linux采用了信号量的方法来保证进程的互斥与同步,由于频繁的信号加锁及解锁操作会影响系统的整体性能,因此Linux采用了粗粒度的策略,信号的加锁及解锁会有较长间隔
43、。因此系统的最坏情况下的性能较差,往往无法满足许多硬实时应用的要求。(4)时间精度及定时器问题Linux系统缺少细粒度和多模式的定时器,Linux一般提供周期为100Hz的定时中断,因此其时间精度最高即为10ms,这无法满足对时间精度要求苛刻的实时应用。(5)关中断问题在系统调用中,为了保护临界区资源,Linux 会长时间关掉中断,这样会加大中断延迟时间,阻塞高优先级的中断立即被处理。在实时应用中,这是一个十分严重的问题。近些年来,人们对Linux内核的实时改造提出了一些解决方案和设想。纵观这些方案,总的说来,可以分类两类:一类是直接在 Linux 内核上进行改造,以提高其实时性,我们称之为单
44、内核的解决方案;另一类是建立一个实时内核与 Linux 内核并存,我们称之为双内核方案。下面介绍目前一些基于Linux的实时操作系统的实现。(6)RT-LinuxRT-Linux 是在Linux基础上改写的具有硬实时处理能力的实时操作系统。该系统主要是由美国新墨西哥州的矿业技术学院于 1996 年研究开发出来的。在RT-Linux中,实时任务的运行和中断的处理都与原 Linux 并存于同一台计算机上,它们可以在任何需要的时候获得处理机,而不必理会当时 Linux 正在做什么。它所建立的是一个直接面对处理器的小内核,此内核独立于原 Linux 的标准内核,并且拥有自己的调度程序。原 Linux
45、内核在这个小内核的基础上以最低的优先权与其它实时任务的运行和中断的处理都与原 Linux 并存于同一台计算机上,它们可以在任何需要的时候获得 CPU,而不必理会当时 Linux 正在做什么。RT-Linux 把 Linux 的系统内核当作在一个小的实时系统上运行的一个任务来对待。事实上,Linux 被当作实时系统的空闲任务,也就是说,只有当系统中没有任何实时任务需要运行的时候,才来运行它。Linux 的任务再也不能够通过封锁中断来避免被抢占。实现这一目的的技术关键在于对中断控制硬件的软件仿真。当 Linux 通知特定硬件机构禁止中断的时候,实时内核将截获这一请求,将其记录然后返回给Linux。
46、Linux 等于被“欺骗”,这样 Linux 就不能真正地禁止硬件中断。所以不管当前Linux 处于什么状态,它都不能延长实时系统的中断响应时间。(7)RTAIRTAI 的方法与 RT-Linux 类似,明显的不同之处在于它定义了一组RTHAI (real-time hardware abstraction layer,实时硬件抽象层)。RTHAI 将RTAI需要在 Linux中修改的部分定义成一组程序界面,RTAI 只使用这组界面和Linux沟通。这样可以把对内核源码的改动降低到可以控制的程度,其优点是可以避免 RT-Linux 对内核源码改动过大的问题,减少移植新版 Linux 的工作量。
47、与RT-Linux相比,RTAI的源码是完全开放的,RT-Linux尽管也有开放源码的版本,但其发展已基本停滞了。RTAI由于其对Linux内核代码修改较小,因此可以非常方便的移植到新版本的核心,同时又由于其采用模块方式扩展实时特性,因此一些新的特性可以非常方便的加入其中,这也使得RTAI得到了不断的发展。除了Linux外,还有许多其他嵌入式实时操作系统,例如 Integrated System 公司的pSOS、Intel 公司的iRMX386、Ready System 公司(后与Microtec Research 合并)的VRTX32、WindRiver System 公司的VxWorks、
48、Accelerated Technology Inc 的 NucleusPLUS 等。它们一般都提供了实时性较好的内核、多种任务通信机制、基于 TCP/IP 的网络组件、文件管理及I/O服务,提供了集编辑、编译、调试、仿真为一体的集成开发环境,支持用户使用 C、C+等编程语言进行应用程序的开发。目前,商业的实时操作系统已经在许多嵌入式领域得到了广泛的应用,如 VxWorks, QNX、pSOS、Nucleus 等。但这些商用系统一般价格昂贵且互不兼容。而且,它们通常严守技术秘密,这无疑同时也限制了其发展。因此,在嵌入式实时操作系统领域,以开放源码为代表的Linux操作系统逐渐引起了人们的广泛关
49、注,越来越多的系统采用嵌入式Linux操作系统,本系统也采用嵌入式Linux 实时操作系统(RTAI)。2.5.3实时数据通信与管理平台实时数据通信和管理平台负责对实时数据的管理以及与驱动程序和上层控制应用之间的通信,整个平台的软件架构如图2-3所示:控制系统应用程序(软PLC,控制算法,人机界面)同步管理实时数据管理配置管理驱动程序接口操作系统接口硬件驱动程序硬件驱动程序嵌入式实时操作系统图2-3实时数据通信与管理平台软件架构2.5.4软PLC软PLC(SoftPLC)是一种基于工业控制计算机或嵌入式计算机的软逻辑控制软件,与传统PLC一样,主要用于工业控制领域的开关逻辑控制、顺序控制、定时
50、控制、计数控制、模拟量控制、闭环过程控制等。软PLC由开发环境和运行环境组成。软PLC开发环境就是带有调试和编译功能的 PLC 编程器,要求编程语言标准化,具有丰富的控制模块,支持多种 PID 算法(如常规PID控制算法、自适应 PID 控制算法、模糊 PID 控制算法、智能 PID控制算法等),还允许用户自行嵌入控制算法,具有仿真环境等等。软 PLC 的运行环境是软PLC的核心,完成输入处理、程序执行、输出处理等工作,通常由 I/O 接口、通信接口、系统管理器、错误管理器、调试内核和编译器组成。目前国际上比较流行的软PLC产品有KW-software 公司的MULTIPROG wt32、CJ
51、 International 公司的ISaGRAF、Wonderware公司的InControl 7.0等。(1)KW-software 公司的 MULTIPROG wt32KW-software 公司的 MULTIPROG wt32 完全符合 IEC1131-3 国际标准,开发环境集成化,类似VC+6.0 的开发界面,支持五种编程语言(包括两种文本语言ST、IL和三种图形语言LD、FBD、SFC),其中 LD、FBD、SFC 三种图形编程非常方便直观,仿真程序比较完善,但不支持五种编程语言之间的相互转换。(2)CJ International 公司的ISaGRAFCJ Internation
52、al 公司的 ISaGRAF 通过变量交叉表可查询变量的使用情况,可以方便加入用任何标准 PLC 语言编写的功能块,也可嵌入用 C 语言编写的功能块,可以编译生成适用于不同 CPU 的代码,仿真程序比较完善,源程序在仿真运行时可以进行监控,可以运行在任何一种工业计算机、微处理器、或配有 I/O 模块的 PLC 中,但不完全符合 IEC1131-3 国际标准,开发环境为非集成化的多窗口界面。(3)Wonderware 公司的 InControl 7.0Wonderware 公司的 InControl 7.0 支持 LD、SFC、ST 三种编程语言,开发环境集成化,编程简单,每个程序以文件形式进行
53、管理。在本系统中,我们也要创建一个软PLC系统的运行环境,充分借鉴世界上已经出现的软 PLC 系统的优点,并结合本平台,搭建一个基于 Linux 环境下的软PLC环境。借鉴传统PLC的结构,整个嵌入式软PLC系统的体系结构也分为开发系统和运行系统两部分,它们是相互独立而又密不可分的两个应用程序,可以分别单独运行。(1)软PLC开发系统:实际上就是一个PLC编程器,提供用户一个可以利用标准PLC编程语言(比如梯形图)编写控制应用程序的环境。(2)软PLC运行系统:这一部分是软PLC的核心,完成输入处理、程序执行、输出处理等工作。运行系统的作用是执行开发环境编译后产生的目标代码,实现控制功能。开发
54、系统位于PC机上,开发后生成目标应用文件。运行系统位于嵌入式系统上,从开发系统中下载目标应用文件,根据该文件信息组织运行系统内的模块进行运行。这样的结构,在开发系统下可充分利用PC机丰富的资源,有效提高开发效率。而对于运行系统,考虑到系统的实时性、可移植性等要求,直接将其运行在嵌入式系统之上。软PLC系统的软件体系结构见图2-4,整个系统由开发系统和运,行系统组成。开发系统运行系统IEC611313编程语言PLC目标代码软PLC运行虚拟机I/O接口外部设备标准OPC接口人机界面图2-4 软PLC系统的软件体系结构当前PLC在国际市场上已成为广受欢迎的工业控制产品,用PLC设计自动控制系统已成为世界潮流。嵌入式软PLC是嵌入式系统和软PLC在工业控制中介和发展的必然产物。嵌入式软PLC是当前开放式控制系统的发展趋势,克服了硬PLC的诸多缺点,凭借其执行速度快、可跨平台运行等优点必将在工业控制中得到广泛的应用。随着嵌入式软PLC技术的进一步完善,它在工业控制的各个领域将具有更加广阔的发展前景,并且产生良好的社会和经济效益。嵌入式软PLC的设计总体框图硬件平台实时操作系统硬件驱动程序I/O端子人机界面软PLC运行程序实时数据库内核I/O驱动模块数据库系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第二章 脊柱疾病的分类与检查法课件
- 第二章 动物的运动和行为-复习课件
- 浙教版2021-2022学年度七年级数学上册模拟测试卷 (827)【含简略答案】
- Mesotrione-Standard-生命科学试剂-MCE
- 工程质量管理责任追究制度
- 财务半年的工作总结三篇-半年工作总结
- 教师节音乐课程设计
- 公司员工生日惊喜策划方案
- 教师培训国画课程设计
- 教师专业发展课程设计
- 中国糖尿病患者的白内障围手术期防治策略专家共识(2020年)
- 特种设备风险分级管控清单(示例)
- 新型基础设施建设
- 【教学设计】同底数幂的乘法3
- 中石油(北京)(附答案)在线考试主观题《组织行为学》在线考试(主观题)
- 马达加斯加地质矿产概况
- 酒店流水单模板-住宿酒店流水单模板
- 2023年关于农村劳动力转移发展现状及对策的调研报告
- 成都市区大学周边区域商业现状调查案例
- h填土路基试验段施工方案全套资料
- DB3311T 232─2022地理标志产品 龙泉灵芝孢子粉
评论
0/150
提交评论