推荐文档列表

基于RTLinux的实时控制系统

时间:2021-10-01 08:13:44 电子通信论文 我要投稿

基于RTLinux的实时控制系统

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

    关键词:RTLinux 实时控制 TCP/IP MYSQL数据库

在水电站闸门控制系统中,设备地理位置分散、控制分散,基于常规继电器的控制系统不能满足电厂无人值班控制系统和全厂综合自动化的要求,必须将智能控制和工业网络相结合,实现实时控制的同时又能对设备进行智能管理和维护。目前比较常用的控制系统大多由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作为现场控制单元的控制平台,直接用以太网传输数

[1] [2] [3] [4] [5]