新型网络计算机联锁仿真系统研究与设计

2013-06-07 05:57郑云水
铁道标准设计 2013年3期
关键词:信号机站场道岔

冯 涛,郑云水

(兰州交通大学自动化与电气工程学院,兰州 730070)

新型网络计算机联锁仿真系统研究与设计

冯 涛,郑云水

(兰州交通大学自动化与电气工程学院,兰州 730070)

以实现多个站场计算机联锁仿真功能为目的,同时加入设备三维仿真模型,解决了传统计算机联锁仿真系统只能模拟计算机联锁操作,对现场设备仿真能力不足的问题。系统采用ASP.NET Web开发技术,使用C#编程语言完成系统功能模块设计,同时运用Web 3D技术加入设备三维仿真模型。可实现多个站场计算机联锁仿真系统人机交互界面的Web访问及三维仿真模型在线浏览功能。新型网络计算机联锁仿真系统可缓解计算机联锁人员培训压力,提高学员故障处理能力,带来全新用户体验,值得推广和使用。

网络;计算机联锁;ASP.NET;Web 3D;数据库

1 概述

计算机联锁系统是铁路重要的行车安全控制系统,近年来计算机联锁系统在国内得到广泛应用。随着新技术新方法的引入,计算机联锁培训的压力逐渐增大,对于各种新技术方法的及时了解和掌握成了现场培训需要迫切解决的问题。然而传统单机版计算机联锁仿真系统只能模拟单个站场且站场改建后无法对仿真系统及时修改,影响培训效果。沙盘仿真系统虽然能够比较真实的反映现场设备状况,但由于造价昂贵,受经济条件限制,并没有得到大面积推广。于是,对于计算机联锁仿真培训,需要一种可多人参与培训,又能对多个站场进行仿真,同时还能反映现场设备状态,随着站场改建的同时可做出相应修改,部署和实施成本较低的仿真系统。

2 系统介绍

网络计算机联锁仿真系统,不同于传统单机版和C/S模式或沙盘模拟的计算机联锁仿真模式,其运用新型的Web开发技术,建立一种网站模式的仿真系统,可在用户浏览器端生成计算机联锁人机交互界面,模拟车站控制台操作,完成联锁控制功能,满足多人在线培训要求,同时纳入Web 3D技术,加入计算机联锁设备及现场信号设备三维仿真场景,模拟计算机联锁系统对现场设备状态的采集和驱动。

新型网络计算机联锁仿真系统设计要达到以下功能:

(1)能够仿真某电务段管辖范围内多个车站的人机交互界面,能够对操作信息进行处理,形成有效的操作命令,同时对错误的操作命令给予提示;

(2)具备基本的进路控制功能,能够完成进路选出、进路锁闭、信号开放、进路正常解锁、非正常解锁、道岔单独操作、进路引导总锁闭等功能;

(3)能够对站内各类计算机联锁系统常见故障及处理过程进行仿真,加入实景图片及仿真动画场景,提高直观性和可交互性。

3 相关技术选择

网络计算机联锁仿真系统,可建设独立的培训网站,也可在铁路局内部网站中建设此培训专栏,突破人员和地域的限制,方便维护和管理。

ASP.NET是微软.NET框架下推出的功能强大的服务器应用程序开发技术,其运用软件开发的思想进行Web应用程序开发,够够适应和解决复杂的互联网需求。

C#是微软主推的编程语言,它简化了C++的诸多复杂性,同时具备更强大的功能。

尽管它不是一种无限制语言,不能开发硬件驱动程序,但在需要时仍可使用某些声明为非安全的类或类的方法,如此可使用指针,静态数组等,同时当调用这些非安全代码时不会产生其他任何问题[3],因此用C#编写的计算机联锁仿真软件可实现Web访问功能。

其次,还包括Web 3D技术、数据库技术及ADO. NET数据库访问技术等。Web 3D技术是在网络上实现具有动态效果并可实时交互的三维模型在线浏览技术,采用基于几何模型的三维建模技术,打破传统计算机联锁培训只能模拟控制台显示,无法模拟现场实际设备的难题。数据库技术是网络计算机联锁仿真系统不可或缺的一部分。ADO.NET数据库访问技术运用了.NET Framework中的一些列类库,封装了大量数据操作代码,使得在应用程序中使用和操作数据更加方便。

4 系统设计

网络计算机联锁仿真系统,为实现多个站场仿真功能,需要绘制各个站场界面,同时还要进行联锁控制程序设计,对各个站场均能进行计算机联锁操作,完成基本联锁控制功能,同时要建立联锁仿真数据库,添加联锁程序所需的各种数据以及三维仿真场景和动画等。

系统为逻辑上的三层体系结构,分别为:用户界面层、联锁逻辑层、数据访问层,其结构示意如图1所示。

图1 系统体系结构

网络计算机联锁仿真系统,为实现多个站场仿真功能,需要绘制各个站场界面,同时还要进行联锁控制程序设计,对各个站场均能进行计算机联锁操作,完成基本联锁控制功能,同时要建立联锁仿真数据库,添加联锁程序所需的各种数据以及三维仿真场景和动画等。

4.1 用户界面设计

本系统使用ASP.NET GDI+中的Graphics类进行计算机联锁用户界面绘制[3]。

首先,要进行站场数据设置,包括车站名、道岔、信号机名称,编号,坐标及类型、方向等,轨道区段名称、长度等设置相应变量。其次,绘制信号设备及站场线路,主要是道岔、轨道区段、信号机、按钮及绝缘节的绘制。

(1)道岔、轨道区段绘制及绝缘节绘制:使用Graphics类中的DrawLine方法绘制轨道区段,如绘制起点坐标为(775,1 650),终点坐标为(1 550,1 650)的一段轨道区段,使用语句gr.DrawLine(pen,775, 1 650,1 550,1 650)即可绘制,同时还可定义轨道区段的线条的宽度,使用Pen pen=new Pen(Color.Green, 20)即定义画笔的线条宽度为20,显示颜色为绿色。道岔和绝缘节的绘制方法与轨道区段相同。

(2)信号机绘制:使用Graphics类中的DrawLine方法绘制信号机机柱,即一条竖线,使用Graphics类中的DrawEllipse来绘制信号机,如需在坐标(2 325, 1 600)处绘制一架灯位直径为120的信号机,可使用语句gr.DrawEllipse(pen,2 325,1 600,120,120)。使用FillEllipse方法可填充信号机灯光颜色,如红灯显示的填充方法为:SolidBrush brush2=new SolidBrush (Color.Red);gr.FillEllipse(brush2,new Rectangle (2 325,1 600,120,120))。

(3)按钮绘制:计算机联锁人机界面按钮一般设在信号机旁,多为填充颜色的矩形,绘制方法与信号机类似,用gr.DrawRectangle(pen,200,200,50,50)即可绘制一个起始坐标为(200,200),长度和宽度均为50的按钮,对其填充颜色可使用语句SolidBrush brush3=new SolidBrush(Color.YellowGreen);gr. FillRectangle(brush3,new Rectangle(200,200,50, 50)。

此外,用户界面上还有一些文字信息及特殊符号,如用greenPen.EndCap=LineCap.ArrowAnchor可定义线尾箭头,而使用文字处理语句:Font font=new Font (“楷体”,80);Brush brush5=new SolidBrush(Color. Red);gr.DrawString(“X1JG”,font,brush5,350, 1680)即可在(350,1680)处绘制"X1JG"轨道区段名称。

4.2 联锁控制程序模块设计

本仿真系统中的联锁控制程序主要包含操作输入及操作命令形成模块、操作命令执行模块、进路处理模块及采集驱动模块、常见故障处理模块[4,5]。

操作输入及操作命令形成模块主要将用户的鼠标及键盘操作信息记录下来,判断操作的合法性,若不合法则给出提示信息。如进路操作命令、进路取消命令等,需将这些操作命令存入操作日志。针对每一鼠标操作或键盘操作,在其相应的鼠标点击事件里添加记录代码及合法性检查代码。

操作命令执行模块完成操作命令的执行过程,主要有进路操作命令、进路取消命令、人工延时解锁命令、进路故障解锁命令、区段故障解锁命令、重复开放信号命令、非常关闭信号命令、开放引导信号命令、引导锁闭命令、引导解锁命令、道岔单独操作命令、道岔单独锁闭命令、道岔单独解锁命令[3]。进路操作命令是在已建立的站场型数据库中选出一组符合需要的数据,形成一条进路表,并将其存于总进路表中,即完成进路搜索功能[4]。使用深度优先搜索算法,利用C#的堆栈操作完成进路搜索。进路选出后,利用画笔函数,在相应轨道区段绘制白光带。这些操作命令均涉及到C#鼠标事件处理函数,C#中的Control类提供了多种鼠标事件,如按下始端按钮和终端按钮,需触发Click事件。MouseEnter和MouseLeave表示鼠标进入和离开对象的边界区域时触发事件,当需在信号机或道岔处查看实物场景图片时,可使用此事件。MouseDown和MouseUp是鼠标按下和松开事件,它们构成了Click事件,但有时需单独使用,如道岔单独操作命令执行时,需将道岔转换函数捆绑到MouseUp事件,在道岔处松开鼠标,即可完成道岔转换的显示。MouseWheel鼠标滚轮事件,当需要将显示出的设备实景图片放大或缩小时,可设置MouseWheel事件。改变信号机灯光显示时可使用DoubleClick事件。另外,由于网页中的站场界面存在众多自定义按钮,为得到更好的用户体验,使用ASP.NET AJAX可实现页面的无刷新操作。

进路处理模块主要对操作命令执行模块中搜索出来的进路进行处理,主要包括选排一致性检查及道岔控制模块、进路锁闭模块、信号开放模块、信号保持开放模块、进路自动解锁模块[6]。在服务器端使用C#编写应用程序,以选排一致性检查及道岔控制命令执行模块为例,其流程如图2所示,当进路搜索程序搜索出进路之后,需将此进程标志设置成选排标志,当程序开始执行选排模块时,首先将道岔所处状态与进路表道岔状态相比较,检查选排一致性,若选排一致则直接执行道岔锁闭模块,若选排不一致则继续检查进路表进路。在进路范围内先检查道岔区段是否空闲,若空闲,则需检查道岔是否单锁。在道岔未单锁情况下,开始执行道岔转向定位或反位的命令,否则将直接转出。在程序编写过程中,需使用到C#中的垃圾回收机制,它不像C++的析构函数那样显式的释放资源,而能够监视对象的生存周期,当对象没有被应用程序使用时就会自动释放对象的内存及资源,因此使用更加方便。

图2 选排一致性检查及道岔控制命令执行流程

采集驱动模块采集现场设备状态,同时驱动设备动作,可通过已建立的信号设备三维仿真模型的动作及联锁机模型采集驱动板指示灯的状态来形象地模拟对现场设备的驱动和采集。转辙机三维仿真模型如图3所示。

图3 转辙机三维仿真模型

故障处理模块针对某些常见故障现象如道岔挤岔或四开、信号机灯丝断丝等情况能在用户界面给出表示,同时给出现场设备、计算机联锁机柜、信号机械室继电器组合的故障场景,使培训人员熟悉常见故障情况,了解故障处理流程。

4.3 联锁仿真数据库设计

网络计算机联锁仿真系统针对当前计算机联锁培训只针对个别车站,对学员指导性差的缺点,提出了多站场模拟仿真培训模式,使学员能够熟悉各自工作车站内的各种特殊操作,以应对突发状况,出现故障时能够及时处理。

要实现多站场模拟,可通过GDI+方式绘制站场界面,而联锁功能的实现需建立专门的数据库存放和调用静态及动态数据。当办理进路时,调用可供各个站场使用的进路搜索程序生成一个与进路操作命令相符的进路表,供联锁程序使用。参与联锁运算的静态数据采用站场型数据结构,主要包括信号机、道岔、轨道区段等元素的名称、性质等信息。动态数据主要包括操作输入变量、状态输入变量和中间变量等。操作输入变量用于形成操作命令,主要是按钮操作变量等。状态输入变量对应信号状态、轨道区段状态、道岔状态建立信号控制表、道岔控制表和区段状态表,信号控制表又包括信号状态、锁闭标志、灯丝状态、曾开放信息等变量;道岔控制表包括道岔状态、锁闭变量、征用标志等变量;区段状态表包含区段状态、锁闭变量、曾占用变量、征用标志等变量[7,8]。中间变量是指程序执行过程中产生的变量,可存放在动态数据表中。

基于E-R模型的数据库设计方法是目前广泛采用的一种行之有效的一种数据库概念模型设计方法[9],它能够明确反映现实世界实体之间的相互关系,通过确定实体类型,实体之间的联系,实体及联系的属性,可以画出E-R图,进而设计出符合规范的数据库。网络计算机联锁仿真系统数据库实体类型及属性如下。

(1)车站:包括车站名,车站编号。

(2)进路:包括进路的性质、方向、进路的范围(始终端以及变更点)。

(3)信号机:信号机的性质、名称、编号、信号状态、锁闭标志、信号控制、灯丝状态、允许灯丝状态、曾开放信息、实物场景图片及三维仿真场景。

(4)道岔:道岔名称、编号、方向、性质、所属区段号、道岔状态、锁闭变量、控制进路号、征用标志、延时参数、实物场景图片实物场景图片及三维仿真场景。

(5)轨道区段:区段名称、编号、性质、类型、状态、锁闭变量、保护区段号、曾占用信息、控制进路号、征用标志等。

(6)按钮:按钮名称,编号。

其主体E-R图如图4所示。

4.4 数据访问机制

要在Web中仿真多个站场计算机联锁基本操作功能,同时显示现场设备仿真场景,必须要进行数据库数据的使用、查询、更改、删除等操作。如当按下始端按钮和终端按钮办理进路时,必须查询数据库,得到信号机、道岔及轨道区段的状态信息,如果信号开放,道岔位置正确,轨道区段未征用,则可办理进路,即在执行操作命令和联锁程序时需要调用和查询数据库信息。而在故障处理模块中,必须将故障信息存放在数据库中,当进行故障查找时,与数据库信息比对,使用故障数据即产生故障信息,同时还需在数据库中添加三维仿真场景。

图4 联锁仿真数据库主体E-R图

本系统采用SQL数据库,使用ADO.NET实现SQL数据库的各种操作。使用ADO.NET操作数据库,首先需要创建连接,然后执行并显示命令对象,最后关闭连接。ADO.NET提供了数据源绑定控件,也可编程实现对数据源的访问。在应用程序开发中,使用ADO.NET中的一些常用对象能够方便对数据库的操作,例如使用Connection对象中的System.Data. SqlClient.SqlConnection对象就可以连接SQL数据库,而当插入或删除数据时,就需要使用Command对象。DataSet数据集对象是ADO.NET的核心,它包括DataSet基本对象、DataTable数据表对象、DataRow数据行对象和DataView数据视图对象,当向道岔数据集“dc”中添加多个表时,可使用DataSet中的Add方法,将DataTable表填充到“dc”中,其句法为:DataSet dc= new DataSet();dc.Tables.Add(Table),其次还包括DataRader数据访问对象。

三维模型在数据库中存储主要包含三方面数据,即几何实体、平面简略图及实体信息(文件格式,源文件名等)[10]。在数据库中不仅存放三维模型的文件信息,还要记录源文件的路径,通过此路径即可在服务器上查找到源文件,从而实现三维模型的浏览。

5 系统显示

新型网络计算机联锁仿真系统在浏览器端显示站场界面,完成各种进路操作,同时可查看各种设备状态,建立直观映像。用户登陆后,主页显示各个站场名,点击某个站场名即进入该站计算机联锁人机交互界面,可进行各种进路操作。在站场关键设备处设置设备场景按钮,点击按钮即可显示设备图片或三维仿真场景,同时每个站场还设有一个计算机联锁设备按钮和一个信号机械室设备按钮,可查看联锁机柜及机械室继电器组合架等设备的仿真场景。在故障处理中,如设置某转辙机故障则需查看站场界面显示、机械室继电器、联锁机及室外转辙机等设备的仿真场景。其故障显示界面见图5。

图5 系统故障处理显示

6 推广应用前景

新型网络计算机联锁仿真系统以《铁路信号设备三维仿真培训系统》为背景,在丰富三维仿真模型的基础上产生。其不仅可以仿真多个站场计算机联锁人机交互界面,而且能够联系现场设备,模拟计算机联锁各种常见故障。带来全新的用户体验,有着广泛的推广应用前景。

[1] 李一龙.计算机联锁技术培训模式的研究[J].中国铁路,2008 (5):53-56.

[2] 吕永红,刘红艳.计算机联锁模拟培训系统[J].铁道通信信号, 2007,43(12):21-22.

[3] 郭清,等.ASP.NET开发技术大全[M].北京:清华大学出版社, 2009:22-25.

[4] 王斌晓黄彦全.基于C/S模式的计算机联锁教学系统软件设计[J].铁道通信信号,2009,45(12):17-19.

[5] 赵志熙,等.计算机联锁系统技术[M].北京:中国铁道出版社, 2008:138-144.

[6] 秦武.铁路信号计算机联锁仿真系统的设计与实现[D].南京:南开大学,2010:23-26.

[7] 徐洪泽,岳强,等.车站信号计算机联锁控制系统原理及应用[M].北京:中国铁道出版社,2009:34-43.

[8] 黄宇.基于CTC的联锁仿真系统设计与实现[D].北京:北京交通大学,2011:7-9.

[9] 瞿有甜.数据库技术与应用[M].杭州:浙江大学出版社,2010: 131-135.

[10]陈增祥.基于SQL Server数据库的三维模型存取研究与实现[J].电脑编程技巧与维护,2012(4):24-25.

Research and Design on New Network Computer Interlocking Simulation System

FENG Tao,ZHENG Yun-shui
(School of Automation and Electrical Engineering,Lanzhou Jiaotong University,Lanzhou 730070,China)

Thenewnetworkcomputerinterlockingsimulationsystemtakesaimatachieving computer-based interlocking simulation function among multiple stations and yards.At the same time,it adopts 3D simulation models,successfully solves the problem that traditional interlocking simulation system could only simulate the interlocking operation but cannot fully simulate the real equipment in stations and yards.The new system uses ASP.NET Web development technology,utilizes C# programming language to design the system function models,and also adopts 3D simulation models with Web 3D technology.The new network computer interlocking simulation system can realize Web access ofhuman-computer interaction interface and can realize online browsing of 3D simulation models among multiple stations and yards.The new network computer interlocking simulation system,which makes it more easier for the training of operation staff,thus improves the trainee's ability to solve common faults, and also brings new experience for users,should be widely used.

network;computer interlocking;ASP.NET;Web 3D;database

U284

A

1004-2954(2013)03-0133-05

2012-07-13

冯 涛(1987—),男,硕士研究生,E-mail:ft10512@126.com。

猜你喜欢
信号机站场道岔
输气站场危险性分析
驼峰信号机与驼峰辅助信号机显示不一致问题分析
中低速磁浮道岔与轮轨道岔的差异
四显示自动闭塞通过信号机在TDCS/CTC采集电路中存在的问题及改进
场间衔接道岔的应用探讨
既有线站改插铺临时道岔电路修改
半自动闭塞总出发信号机非正常关闭解决方案
铁路站场EBS工程量分解
KJH101-127型气动司控道岔的改造
特殊站场引导信号电路设计