您好,欢迎访问三七文档
2010-01-2416:02第三章计算机联锁系统的软件结构和其他计算机系统一样,计算机联锁系统必须依靠软件,才能实现它的全部功能。计算机联锁系统的软件也分为系统软件和应用软件。系统软件包括:标准程序库、语言处理程序、操作系统、服务行程序、数据库管理系统、网络软件等。系统软件主要用来管理整个计算机系统,监视服务,使系统资源得到合理调度,确保高效运行。应用软件是根据任务需要所编制的各种程序。系统软件的基本结构应设计成实时操作系统或者实时调度程序支持下的多任务实时系统。在计算机联锁系统中,每一个计算机都有相对独立的软件。为使微机之间能协调工作,还必须有类似操作系统的调度软件。这些软件应当是可靠的、高标准的和易于扩展的。第一节计算机联锁系统软件的功能与总体结构一、计算机联锁系统软件的功能计算机联锁系统的功能包括人机界面信息处理功能、联锁控制功能、执行控制功能、自动检测与诊断功能以及其他一些功能。(一)人机界面信息处理功能人机界面信息的处理又包括了操作信息处理、表示信息处理以及维护与管理信息处理。操作信息处理是对正常的操作进行处理,形成有效的操作命令,并在屏幕上给出相应的表示,以便使值班人员确认自己的操作;对错误的操作也要进行处理,并在屏幕上给出相应的提示,以便值班人员能够立即发现自己的错误操作,及时的采取相应的措施来纠正错误的操作。表示信息处理是对现场的信号设备的状态,在屏幕上实时地给出显示,使值班人员随时监督现场设备的运行情况。维护与管理信息处理是对现场的信号设备的故障状态,在屏幕上及时地给出特殊的显示出来,以便使维护人员迅速、准确地查找故障;自动记录并储存值班人员办理作业的时间以及被操作的按钮;完成与其他周边系统的联系。(二)联锁控制功能联锁控制功能指基本的联锁功能,即进路控制功能,主要包括:建立进路、进路的锁闭、信号开放、信号保持开放、进路解锁、进路正常解锁、进路的非正常解锁、道岔单独操纵和进路引导总锁闭等。(三)执行控制功能输出控制:根据联锁软件生成的控制命令来驱动现场设备的控制电路。输入控制:采集现场设备的状态信息,为联锁运算提供数据。(四)自动检测与诊断主要是在执行联锁程序的过程中检测故障的外在现象,检查硬件资源的物理失效,软件的缺陷以及故障的位置。(五)其他功能包括非进路调车控制功能、平面调车溜放控制功能、站内道口控制功能、与调度集中系统联系功能、与调度监督系统联系功能、与其他系统(如站内调度、管理信息系统等)的结合功能、监测联锁设备状态功能等。这些功能尽管存在某些联系,但它们的目的不同,而且在一个具体的车站上也不需要联锁系统具备所有的这些功能,因此对于每项功能需由独立的软件甚至是由独立的计算机来实现。在这些软件中,人机界面信息处理软件、基本联锁软件、执行控制软件、自动检测与诊断软件,是计算机联锁系统必须具备的[4]。二、本软件具有的功能(一)密码保护功能为确保合法用户的权益,本软件启用了密码保护功能。用户进入程序后,首先显示的是登陆界面,如图3.1所示,图3.1登录界面在此登陆界面上,无法进行站场的有关操作。用户需单击菜单栏中“菜单”项,选择“登陆”选项,则可看到弹出的用户登陆对话框,输入用户名及其密码,经系统验证为合法用户,方可进入操作界面。如图3.2所示。目前,软件默认的合法用户有两个,为NewType——20044818,XRX——20044829。图3.2操作界面(二)选路功能软件参照6502电气集中控制台,采用双按钮进路式选路方法。即选路时依次单击屏幕上始终端信号机后,只选出两个信号机之间一条最近的,或对其他进路作业影响最小的进路,也就是基本进路。对于这条进路,点亮绿色光带,表示该进路已经选出并进行了锁闭,但并未有车占用。办理列车进路如图3.3所示,办理调车进路如图3.4所示。如果有车占用,则点亮红色光带。图3.3办理列车进路进路选出后,除要在进路上点亮光带外,对应信号机的显示也要进行相应改变。根据本咽喉的需要,总计有以下这些显示:列车进站信号机:平时红色正线接车单黄侧线接车双黄引导接车红白列车出站信号机:平时红色列车信号开放绿色调车信号开放白色图3.4办理调车进路调车信号机:平时蓝色调车信号开放白色调车信号机:平时蓝色调车信号开放白色由于本软件并无引导接车功能,所以红白色信号是处于不使用状态的。计算机联锁软件要实现选路功能,有两种方法可供选择,即节点法和联锁表法。本咽喉共有5条股道,软件结合咽喉股道数较少的实际,选用联锁表法编写选路模块源代码。选路时,首先将点击信号机的信息,记入相应的信号机变量中,用不同的数值区分始终端。得到始终端数值后,软件便以此为依据,遍历整个联锁表,查找满足此始、终端条件的进路,由于在联锁表中,每个始终端组合条件仅有最多一条基本进路对应,所以只能选出两个信号机之间一条最近的,或对其他进路作业影响最小的进路,不必担心产生多选的错误情况。若在联锁表中查找到所选进路,则开始进行:区段是否空闲、敌对信号是否开放、道岔位置是否正确这三项联锁条件的判断工作,当各项联锁条件均告满足,即宣告选路成功,对应道岔转向正确位置,并实行进路锁闭;信号机亮对应颜色灯光,同时,信号机所对应变量的数值发生改变,用于在内存数据中标识该信号已开放;所选出的进路亮绿色光带,并将该进路所包含的轨道区段全部进行锁闭。(三)取消进路功能在进路非自动解锁的各种方法中,取消进路是其中比较常见的一种方法。它要求进路处于空闲状态,以及进路的接近区段内也确实无车时才可使用。因此,取消进路功能常用于在进路建立后,欲进行变更的情况。使用本软件所提供的取消进路功能,有两条途径:其一,单击菜单栏中“信号机操纵”项,选取对应信号机名,在弹出项中单击“取消进路”;其二,在站场图中的对应信号机处单击右键,在弹出快捷菜单中单击“取消进路”。单击“取消进路”项之后,系统即根据所选取的信号机,以及目前已经建立的进路,判断要取消的是哪一条进路,找到这条进路后,即检查是否满足取消进路的条件,若满足,则关闭对应信号机的开放信号,解锁相应的道岔和轨道区段,并消去进路的绿色光带。另外,对于本咽喉的双动道岔,可能同时有两条进路正在使用,因此要满足所有使用该道岔的进路都不存在的条件,该道岔方可解锁。(四)人工解锁功能人工解锁也是进路非自动解锁的一种方法。当列车或调车车列驶入接近区段时,如欲关闭信号机解锁进路,就不能用取消进路的解锁方法,而必须办理人工解锁。与取消进路略有不同,它要求进路处于空闲状态,以及进路的接近区段内有车占用。对于不同的进路,人工解锁有不同的延时,接车进路和正线发车进路要延时3分,站线发车进路和调车进路要延时30秒。为测试方便,本咽喉人工解锁延时一概设置为30秒。同取消进路类似,使用本软件所提供的人工解锁功能,也有两条途径:其一,单击菜单栏中“信号机操纵”项,选取对应信号机名,在弹出项中单击“人工解锁”;其二,在站场图中的对应信号机处单击右键,在弹出的快捷菜单中单击“人工解锁”。单击“人工解锁”项之后,除具体判断条件不同之外,对各项条件的判断方式,都与取消进路时类同。此外,由于人工解锁需要延时,因而,软件为每一信号机设置了一个计时器,一切有关判断条件的程序列都放在函数OnTimer()内,以待计时结束后执行。人工解锁功能的实现如图3.5所示图3.5人工解锁功能(五)道岔操纵功能本软件所提供的道岔操纵功能,包括单个道岔定位,单个道岔反位,单个道岔锁闭,单个道岔解锁,以及全咽喉的道岔总定位,道岔总反位。要进行道岔单独操纵,可在对应的道岔上单击右键,在弹出的快捷菜单上单击所需项;或单击菜单栏中“道岔操纵”项,选取对应道岔名,在弹出项中单击所需项即可。要进行道岔总定,总反位操纵,只需单击屏幕上的总定,总反位按钮。一切道岔的定反位情况,都在站场图上直接体现出来。同时,于屏幕的左上角设置了道岔表示灯,以帮助使用者更好地了解道岔当前的状况。其中,上排用以表示道岔的定反位情况,其颜色和含义分别为:绿色——定位,黄色——反位,红色——故障。下排用以表示道岔的锁闭情况,全部采用红色,平时为红色灭灯,表示未锁闭;锁闭时,转为红色亮灯。道岔操纵功能如图3.6所示。图3.6道岔操纵功能(六)名称的显示—隐藏功能由于站场图上存在有大量的各种名称,长时间使用可能会导致用户的不适,因此,需要适时地让这些名称隐藏起来,且并不影响正常的操作,这就要用到站场中名称的显示—隐藏功能。这项功能所涉及到的,包括信号机名、道岔名、轨道区段名三个部分。这三个部分可以互不影响地任意进行显示和隐藏。具体操作在菜单栏中的“显示”项,单击这一项,可以看到这三个部分的名称,名称前有勾的为当前显示的部分,单击对应选项可进行操作。软件默认的是显示所有名称。隐藏后的界面如图3.7所示。图3.7名称隐藏后的界面三、本软件所用到的函数及其功能1、OnDraw(CDC*pDC)OnDraw()函数是VC++中最基本的函数之一,用于实现程序执行时最初的图形绘制。在这个软件里,它被用来会制作登陆界面,程序列中没有任何有关条件或判断的语句,只是使用一些基本的绘图语句,用最简方式完成。2、OnXin(),OnDao(),OnGu()这是三个自定义的函数,用于实现名称的显示—隐藏功能。三者使用ifelse结构,依次用于判断信号机名、道岔名、股道名的显示—隐藏条件,并把结果赋给相应标识显示—隐藏条件的变量。3、OnUpdateXin(CCmdUI*pCmdUI)OnUpdateDao(CCmdUI*pCmdUI)OnUpdateGu(CCmdUI*pCmdUI)这三个函数,是用来辅助上边三个函数的,功能是适时地在信号机名显示、道岔名显示、股道名显示这三项前添加或去除标记。4、OnArrive()这也是一个自定义的函数,用于实现密码保护功能。其具体作用是,在用户单击登陆项时,使登陆对话框弹出,在登陆完毕后,使用户进入到操作界面中。5、OnOK()函数OnOK(),用于实现密码保护功能,是登陆对话框的相关函数。“OK”意味着函数会在用户按下登陆对话框的“确定”按钮后执行。两个合法的用户名及其密码,已经以二维数组的的形式存储了起来,程序以此为ifelse的条件,与输入的用户名及密码进行比对,正确则登陆成功,错误或为空则给出警告,使用MessageBox()语句给予不同的回复。6、OnContextMenu(CWnd*pWnd,CPointpoint)函数OnContextMenu()是VC++自带的一个函数,用于鼠标右键单击弹出快捷菜单,本程序中所有与右键快捷菜单相关语句,都在此函数下。程序使用了诸多if语句,每个快捷菜单对应一个,将鼠标右键单击区域作为if语句的条件,据此判断应摊出哪个快捷菜单,或是不弹出任何菜单。所有快捷菜单均单独制作,用不同的ID号加以区分。7、Re()自定义的函数Re(),在登陆成功后立即执行,它的作用是初始化站场上所有变量。因此,该函数中只包含赋值语句。8、OnLButtonDown(UINTnFlags,CPointpoint)函数OnLButtonDown()是VC++自带的一个函数,用于实现鼠标响应功能中的左键单击响应。在本程序中,道岔的总定,总反位按钮功能和选路功能,都与该函数有关。函数本身与站场图的外观表现不直接相干,它仅根据鼠标的单击情况,通过if语句判断允许条件,然后改变相应的变量值,其中包括道岔结构体中的direction变量,和信号机结构体中的press变量。9、Select()自定义的选路用函数Select(),从函数OnLButtonDown()中获取鼠标左键单击信号机的信息,将其作为选路时的初始判断条件,即判断用户希望选出的是哪一条进路,然后再判断各项联锁条件。选路完成后,在函数Select()中对表示进路有无选出的变量,以及各设备的结构体变量进行重新赋值。10、On(信号机名称)Cancel()这一系列自定义的函数,用于按下各信号机取消进路按钮后的响应。改变相应信信号机的变量值。11、Cancel()自定义的函数Cancel(),是专为取消进路功能所设置的。它使用若
本文标题:计算机联锁(下)
链接地址:https://www.777doc.com/doc-6916989 .html