基于RTLinux的实时控制系统摘要:从技术背景、系统结构、硬件和软件设计等方面论述了基于RTLinux的闸门实时控制系统的组成、原理以及实现方法,并着重分析了软件实现的关键问题
关键词:RTLinux实时控制TCP/IPMYSQL数据库在水电站闸门控制系统中,设备地理位置分散、控制分散,基于常规继电器的控制系统不能满足电厂无人值班控制系统和全厂综合自动化的要求,必须将智能控制和工业网络相结合,实现实时控制的同时又能对设备进行智能管理和维护
目前比较常用的控制系统大多由PLC构成,成本较高,缺乏客户定制的灵活性
本文从系统功能实现和经济指标两个方面考虑,半基于RTLinux的控制平台、工业以太网和数据库技术引入闸门控制系统
1RTLlinux、工业以太网和数据库RTLinux是由新墨西大学的VictorYodaiken等人开发的,现在已有商业化的版本推出
在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的工作原