基于RTLinux的闸门实时控制系统

上传人:cn****1 文档编号:489329776 上传时间:2023-10-06 格式:DOCX 页数:12 大小:128.89KB
返回 下载 相关 举报
基于RTLinux的闸门实时控制系统_第1页
第1页 / 共12页
基于RTLinux的闸门实时控制系统_第2页
第2页 / 共12页
基于RTLinux的闸门实时控制系统_第3页
第3页 / 共12页
基于RTLinux的闸门实时控制系统_第4页
第4页 / 共12页
基于RTLinux的闸门实时控制系统_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《基于RTLinux的闸门实时控制系统》由会员分享,可在线阅读,更多相关《基于RTLinux的闸门实时控制系统(12页珍藏版)》请在金锄头文库上搜索。

1、基于RTLinnux的实时时控制系统摘要:从技术背背景、系统结结构、硬件和和软件设计等等方面论述了了基于RTLLinux的的闸门实时控控制系统的组组成、原理以以及实现方法法,并着重分分析了软件实实现的关键问问题。 关键词词:RTLiinux 实实时控制 TTCP/IPP MYSQQL数据库在水电站闸门控控制系统中,设设备地理位置置分散、控制制分散,基于于常规继电器器的控制系统统不能满足电电厂无人值班班控制系统和和全厂综合自自动化的要求求,必须将智智能控制和工工业网络相结结合,实现实实时控制的同同时又能对设设备进行智能能管理和维护护。目前比较较常用的控制制系统大多由由PLC构成成,成本较高高,缺

2、乏客户户定制的灵活活性。本文从从系统功能实实现和经济指指标两个方面面考虑,半基基于RTLiinux的控控制平台、工工业以太网和和数据库技术术引入闸门控控制系统。1 RTLliinux、工工业以太网和和数据库RTLinuxx是由新墨西西大学的Viictor Yodaiiken等人人开发的,现现在已有商业业化的版本推推出。在RTTLinuxx面世之前,LLinux在在实时性方面面作过一些尝尝试。在POOSIX1.b中,规定定了实时进程程的一些标准准,但由于LLinux内内核的不可抢抢先性,真正正的实时进程程无法在标准准的Linuux环境下实实现。RTLLinux采采用简单而有有效的方法解解决了此问

3、题题而不用重写写Linuxx内核代码。RRTLinuux实现了一一个高效的可可抢先的实时时调度核心,全全面接管中断断,并把Liinux作为为此实时核心心的一个优先先级最低的进进程运行。当当有实时任务务需要处理时时,RTLiinux运行行实时任务;无实时任务务时,RTLLinux运运行Linuux的非实时时进程。图11是RTLiinux的结结构图。为保证实时进程程与非实时LLinux进进程部顺序进进行数据交换换,RTLiinux引入入了RT-FFIFO队列列。RT-FFIFO被LLinux视视为字符设备备,最多可达达150个,分分别命名为/der/rrtf0、/dev/rrtf1/dev/rtf

4、633。最大的RRT-FIFFO数量在系系统内核编译译时设定。图图2说明了RRT-FIFFO的工作原原理。RTLinuxx程序运行于于两个空间:用户空间内内核态。RTTLinuxx提供了应用用程序接口,借借助这些APPI函数将实实时处理部分分编写成内核核模块,并装装载到RTLLinux内内核中,运行行于RTLiinux的内内核态。非实实时部分的应应用程序则在在Linuxx下的用户空空间中执行,这这样可以发挥挥Linuxx对网络和数数据库的强大大支持功能。TCP/IP协协议和以太网网在Inteernet上上的成功应用用吸引着越来来越多控制程程师。尽管以以太网的时间间不确定性给给以太网应用用于工业

5、控制制现场的实时时性带来了很很多争论,但但是实际应用用中,经网络络传输的数据据绝大多数用用于系统管理理和维护等方方面,用于实实时控制的数数据传输很少少,这也是基基于管理集中中、控制分散散的系统设计计策略考虑的的。在较高的的以太网传输输速度下,现现场智能处理理单元的处理理速度才是传传输延迟的主主要原因。本本系统现场控控制单元采用用高速处理器器,并采用RRTLinuux作为现场场控制单元的的控制平台,直直接用以太网网传输数据,系系统的网络层层次减少,信信号的传输实实时性也得到到提高。目前,有许多数数据库开发商商提供了Liinux平台台上的数据库库软件,例如如Oraclle、Sybbase、IInf

6、ormmix和MYYSQL等都都推出了Liinux版本本。基于RTTLinuxx的控制系统统在实时控制制领域有巨大大的潜力。2 系统组成本系统分为现场场和集中级。现现场控制级由由分散在现场场的4个现场场控制单元控控制,分别完完成闸门位置置、油缸油压压和油路状态态等的采集,现现场操作按钮钮的监视以及及闸门提升和和下降的控制制等。集中级级由集中监控控站、维护站站组成,分别别执行监视、智智能维护及诊诊断等功能。打打印机用于数数据的硬备份份、报表的输输出。系统结结构如图3所所示。2.1 系统硬硬件构成在工业控制系统统中通常采用用PLC作为为现场的控制制核心。PLLC的不足一一方面在于其其较高的价格格,

7、另一方面面在于其难以以实现非顺序序控制算法,以以及缺乏对TTCP/IPP灵活的支持持。本系统采采用嵌入式PPC作为控制制单元的核心心,开发人员员可自行开发发外围接口板板,根据系统统需要灵活组组态,既经济济又能使用高高级语言开发发控制程序。现场控制闸门的的LCU采用用相同的硬件件配置。CPPU板采用研研华公司的PPCM-58864,CPPU的Inttel公司的的Pentiium MMMX 1666MHz,内内存为64MMB,以太网网接口为100MHz的RRTL-81139A。CCPU板通过过PC1044总线与采样样模块和输出出模块相连。此此外该板上配配有显示、键键盘和鼠标等等标准接口,便便于在线

8、修改改和检查程序序。硬盘选用用容量为4.3GB的笔笔记本硬盘。16通道的A/D采样模块PCM-3718H完成模拟量的采集,分辨率为12位;16通道的数字I/O模块PCM-3730用于开关量的采集、控制闸门的启动和停止。为便于现场巡检,LCU配有显示中文信息的LCD模块MGLS-240128,内置T6963C控制器。系统采用了16端口的HUB。为保证集中站可可靠地工作,集集中监控站、集集中维护站采采用工业PCC,配有Inntel公司司的P处理器器,256MMB内存和440GB的大大硬盘,TCCP/IP通通信由3COOM公司的110/1000MbpsPPCI网卡33C905CC来完成。2.2 系统

9、软软件构成系统的软件也分分为两部分。集集中监控站采采用Winddows20000操作系系统,并安装装有MYSQQL-3.223.49 for WWindowws服务器软软件和监控软软件;维护也也采用Winndows22000操作作系统。此外外装有MYSSQL的客户户端软件包和和维护及诊断断软件。监控控软件和维护护及诊断软件件均用Vissual CC+开发。LCU的软件包包括实时Liinux操作作系统、数据据库客户端软软件和控制程程序。在LCCU中,操作作系统Reddhat6.2经升级和和安装RTLLinux后后被改造成实实时Linuux。升级后后的核为Liinux-22.2.188,RTLii

10、nux的版版本号为RTTLinuxx2.2 ffor Liinux-22.2.188。数据库的的客户端程序序包为MYSSQL-3.23.499RPM。控控制程序包括括实时控制程程序和非实时时程序两部分分。3 系统设计的的关键问题现场单元中与实实现控制部分分和非实时控控制部分程序序相对应的文文件为gattectl_modulle.c和ggatecttl_appp.c。二者者由gcc编编译后生成目目标文件gaatectll_moduule.o和和gatecctl_appp.o。前前者为内核模模块,嵌入到到RTLinnux核中,用用于实时采集集和实时控制制输出,运行行于内核态。后后者为Linnux应

11、用环环境,运行于于用户空间,完完成数据的预预处理、访问问数据库和人人机接口等工工作。3.1 内核模模块内核模块程序按按多线程模式式编写,RTTLinuxx提供了与多多线程编程相相应的APII函数。RTLinuxx2.2内核核中,完成实实时任务的模模块主要包括括以下两个功功能函数:Int iniit_moddule();Void clleanupp_moduule()。前者在模块第一一次装入核中中时被调用,完完成实时任务务的参数(优优先级别、中中断周期等)的的设置,进行行任务的启动动和终止等操操作。后者在在模块卸载时时被调用,一一般在调试或或系统退出时时使用。模块块中可启动多多个任务,本本系统在

12、实时时部分只设计计一个实时任任务即Tassk1。 启动实实时任务前必必须进行初始始化。iniit_moddule()中的初始化化工作包括以以下三部分:为保证内核态态的实时进程程与用户空间间的非实时进进程间交换信信息。须创建建3个RTLL-FIFOO,具体为:rtf1用用于实时进程程与非实时进进程间的数据据交换,数据据包括采集到到的模拟量和和数字量;rrtf3用于于非实时进程程向实时进程程传递控制命命令字,以启启动和终止实实时任务;rrtf2用于于保存经tttf3传递的的实时任务的的控制命令字字。创建工作作由RTLiinux提供供的API函函数rtf_creatte(n,bbuf)来完完成。创建

13、实时任务务Task11对应的线程程,并设定其其调度优先级级,由APII函数pthhread_creatte来完成。当非实时进程程通过rtff3进行控制制命令传递时时,实时进程程应及时响应应。因此必须须在实时程序序中建立跟踪踪rtf3变变化的子程序序,调用rttf_creeate_hhandleer(3,&data_handller)来完完成此功能。内核态的主体程程序有两种实实现方式:中中断处理和周周期实时线程程方式。本系系统采用周期期性实时线,即即周期性地执执行数据采集集、输出控制制结果以及与与处于用户空空间中的非实实时进程交换换数据。具体体过程见图44。在编写实时程序序时,应特别别注意的是:

14、实时任务运运行在内核水水平,是为了了提供对计算算机硬件的直直接访问能力力,为避免不不确定的延迟迟,RTLiinux给代代码和数据分分配固定的内内存空间。实实时任务不能能使用Linnux的系统统调用及Liinux中的的程序与数据据结构,否则则难以保证数数据的一致性性。此外应控控制实时程序序的执行时间间,编写程序序时应注意包包含与APII函数对应的的头文件。内核程序中与RRT-FIFFO相关的函函数有:rtf_creeate():创建RTT-FIFOO。rtf_gett():从RRT-FIFFO读数据。rtf_putt():向RRT-FIFFO写数据。rtf_creeate_hhandleer()

15、:建建立响应RTT-FIFOO变化的子程程序。内核程序中与实实时任务线程程相关的函数数有:pthreadd_creaate():创建实时任任务对应的线线程。pthreadd_waitt_np():将当前线线程挂起,直直至下一个周周期线程。pthreadd_makeeperioodic_nnp():设设置线程的属属性并启动线线程。pthreadd_susppend_nnp():将将本线程无限限期挂起,即即终止任务。在调试阶段,需需要将有buug的模块卸卸载。该项工工作由cleeanup_modulle()来完完成。在卸载载模块时将rrtf1、rrf2和rttf3撤销,并并撤销实时任任务Taskk

16、1。3.2 应用程程序Linux下应应用程序gaatect11_app工工作流程见图图4,其程序序用Linuux下的C语语言开发。集集中监控站和和维护站的程程序在Winndows下下用Visuual C+开发。其其中有几点要要说明:RT-FIFFO被Linnux视为字字符设备,因因此可以通过过调用opeen(/ddev/rttf1,OO_RDONNLY)来获获得rtf11的指针,rrtf2的rrtf3类似似。获得指针针后通过reead和wrrite函数数实现对RTT_FIFOO的读写操作作。程序中调用sselectt函数检查RRT_FIFFO是否忙,以以避免读RTT_FIFOO时出现阻塞塞现象。LCD显示模模块MGLSS-2401128内置智智能控制器,只只需将待显示示的数据送

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 市场营销

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号