基于RTLinux的实时控制系统

时间:2020-10-12 20:07:34 理工毕业论文 我要投稿

基于RTLinux的实时控制系统

摘要:从技术背景、系统结构、硬件和软件设计等方面论述了基于RTLinux的闸门实时控制系统的组成、原理以及实现方法,并着重分析了软件实现的关键问题。

在水电站闸门控制系统中,设备地理位置分散、控制分散,基于常规继电器的控制系统不能满足电厂无人值班控制系统和全厂综合自动化的要求,必须将智能控制和工业网络相结合,实现实时控制的同时又能对设备进行智能管理和维护。目前比较常用的控制系统大多由PLC构成,成本较高,缺乏客户定制的灵活性。本文从系统功能实现和经济指标两个方面考虑,半基于RTLinux的控制平台、工业以太网和数据库技术引入闸门控制系统。

1 RTLlinux、工业以太网和数据库

RTLinux是由新墨西大学的Victor Yodaiken等人开发的,现在已有商业化的版本推出。在RTLinux面世之前,Linux在实时性方面作过一些尝试。在POSIX1.b中,规定了实时进程的一些标准,但由于Linux内核的不可抢先性,真正的实时进程无法在标准的Linux环境下实现。RTLinux采用简单而有效的方法解决了此问题而不用重写Linux内核代码。RTLinux实现了一个高效的可抢先的实时调度核心,全面接管中断,并把Linux作为此实时核心的一个优先级最低的进程运行。当有实时任务需要处理时,RTLinux运行实时任务;无实时任务时,RTLinux运行Linux的非实时进程。图1是RTLinux的结构图。

为保证实时进程与非实时Linux进程部顺序进行数据交换,RTLinux引入了RT-FIFO队列。RT-FIFO被Linux视为字符设备,最多可达150个,分别命名为/der/rtf0、/dev/rtf1……/dev/rtf63。最大的RT-FIFO数量在系统内核编译时设定。图2说明了RT-FIFO的工作原理。

RTLinux程序运行于两个空间:用户空间内核态。RTLinux提供了应用程序接口,借助这些API函数将实时处理部分编写成内核模块,并装载到RTLinux内核中,运行于RTLinux的内核态。非实时部分的应用程序则在Linux下的用户空间中执行,这样可以发挥Linux对网络和数据库的强大支持功能。

TCP/IP协议和以太网在Internet上的成功应用吸引着越来越多控制程师。尽管以太网的时间不确定性给以太网应用于工业控制现场的实时性带来了很多争论,但是实际应用中,经网络传输的数据绝大多数用于系统管理和维护等方面,用于实时控制的'数据传输很少,这也是基于管理集中、控制分散的系统设计策略考虑的。在较高的以太网传输速度下,现场智能处理单元的处理速度才是传输延迟的主要原因。本系统现场控制单元采用高速处理器,并采用RTLinux作为现场控制单元的控制平台,直接用以太网传输数据,系统的网络层次减少,信号的传输实时性也得到提高。

目前,有许多数据库开发商提供了Linux平台上的数据库软件,例如Oracle、Sybase、Informix和MYSQL等都推出了Linux版本。基于RTLinux的控制系统在实时控制领域有巨大的潜力。

2 系统组成

本系统分为现场和集中级。现场控制级由分散在现场的4个现场控制单元控制,分别完成闸门位置、油缸油压和油路状态等的采集,现场操作按钮的监视以及闸门提升和下降的控制等。集中级由集中监控站、维护站组成,分别执行监视、智能维护及诊断等功能。打印机用于数据的硬备份、报表的输出。系统结构如图3所示。

2.1 系统硬件构成

在工业控制系统中通常采用PLC作为现场的控制核心。PLC的不足一方面在于其较高的价格,另一方面在于其难以实现非顺序控制算法,以及缺乏对TCP/IP灵活的支持。本系统采用嵌入式PC作为控制单元的核心,开发人员可自行开发外围接口板,根据系统需要灵活组态,既经济又能使用高级语言开发控制程序。