1、计算机联锁系统软件第六章 计算机联锁系统软件第一节 软件的功能与总体结构一、软件的功能一般来说,计算机联锁系统的软件应具有以下功能:1 人机界面信息处理功能( l ) 操作信息处理对正常的操作进行处理, 形成有效的操作命令, 并在屏幕上给出相应的表示,以便使值班员确认自己的操作: 对错误的操作进行处理, 并在屏幕上给出相应的提示,以便使值班员能够立即发现自己的错误操作, 及时采取措施纠正错误的操作。(2) 表示信息处理对现场信号设备的状态, 在屏幕上实时地给出显示, 使值班员能随时监督现场设备的运用情况。(3) 维护与管理信息处理对现场的信号设备的故障状态, 在屏幕上及时地给出特殊的显示, 以
2、便使维护人员迅速、 准确地查找故障; 自动记录并储存值班员办理作业的时间及被操作的按钮,完成与其他周边系统的联系。2进路控制功能(基本联锁控制)能够完成规定的联锁功能,主要包括:(1) 进路选出(建立);(2) 进路锁闭;(3) 信号开放;(4) 信号保持开放;(5) 进路解锁;(6) 进路正常解锁;(7) 进路非正常解锁;(8) 道岔单独操纵;(9) 进路引导总锁闭等。3执行控制功能(1) 输出控制:根据联锁软件生成的控制命令来驱动现场设备控制电43路。(2) 输入控制:采集现场设备的状态信息,为联锁运算提供数据。4. 自动检测与诊断功能主要是在执行联锁程序的过程中检测故障的外在现象, 检查
3、硬件资源的物理失效,软件的缺陷以及故障的位置。5其他功能(1)非进路调车控制功能:(2)平面调车溜放控制功能:(3)站内道口控制功能:(4)与调度集中系统联系功能;(5)与调度监督系统联系功能:(6)与其他系统,如站内调度、管理信息系统等的结合功能(7)监测联锁设备状态功能等。上列各项功能尽管存在着某些联系,但它们的目的性是不同的,而且在一个具体车站上也不需要联锁系统具备所有这些功能, 因此对于每项功能需由独立的软件甚至是由独立的计算机来实现。 在这些软件中, 人机界面信息处理软件、基本联锁软件、 执行控制软件、 自动检测与诊断软件, 是计算机联锁系统必须具备的。二、软件的总体结构计算机联锁系
4、统是以计算机为主要技术实现车站联锁控制的系统, 该系统应保证行车安全, 提高运输效率, 改善劳动条件, 并为管理、服务现代化创造条件;应能满足各种站场规模和运输作业的需要。 因此,系统软件的基本结构应设计成实时操作系统或实时调度程序支持下的多任务的实时系统。综合分析国内外研制的计算机联锁系统,其软件的基本结构可归结如下:1 按照系统层次结构分类按照软件的层次结构,可分为三个层次,即人机会话层、联锁运算层和执行层,其结构如图 4-1 所示。人机对话层完成人机界面信息处理; 联锁运算层完成联锁运算, 执行层完成控制命令的输出和表示信息的输入。2按照冗余结构划分按照冗余结构,可分为三取二系统的单软件
5、结构和双机热备制式的双版本软件结构。其中双版本软件结构,如图 42 所示。44人 机接口 模块 通 信模 块 信息 提示 模块调度 系统 按优先 级实 时调 度人机 对话 层联锁 运算 层基本 联锁 模块 自诊 断模 块 特殊 联锁 模块 与 其他系 统联 锁模 块现场设 备状 态输 入模块 现 场设 备控制 命令 输出 模块 执 行层现 场 设 备图 4-1 软件 的层 次结构实 时操作系统A 模块 B 模块分层比较模 块A 输入模块 输出模块 B 输入模块图 4-2 双版本软件结构3按照联锁数据的组织形式划分按照联锁数据的组织形式, 可分为小站规模的联锁图表式软件结构和中站以上规模的进路控
6、制式的软件结构。 其中进路控制式的软件结构 (即模块化结构)如图 4-3 所示。45在图 4-3 中,各个模块之间相对独立, 只有数据交换,没有程序上的联系,使得系统结构清晰,设计、编程均可实现标准化。调 度 系 统 按 优 先 级 实 时 调 度操 作 模 块 搜 索 模 块 联 锁 模 块 输 入 模 块 输 出 模 块 图 4-3 进 路 控 制 式 的 软 件 结 构第二节 联锁数据与数据结构联锁数据,是指在联锁计算机中,所有参与联锁运算的数据。在联锁数据中,有一些数据有可能由于硬件故障或受到干扰而发生错误时,其后果不仅能导致系统失败,而且会造成危险输出。例如,一个涉及行车安全的逻辑变
7、量的安全侧代码可能由于故障而畸变成危险侧代码,这是十分危险的。又如,一个地址码在传输过程中发生错误而未识别出来, 也将造成数据传输的去向混乱,其后果也是十分危险的。因此必须采取适当的数据编码和差错控制技术以提高系统的可靠性和安全性。关于编码和差错控制的一般原理, 在数字和通信的技术书籍中多有介绍,在这里将从安全的角度强调一些应注意的问题。另外,参与联锁的数据量是很大的, 它们在存储器中的组织方法称做数据结构。数据有静态数据(常量)和动态数据(变量)两类。相应地有静态数据结构和动态数据结构。 数据结构的形式不仅影响联锁程序的结构, 而且关系到数据结构自身的生成方式问题。 一种好的数据结构可用计算
8、机辅助设计方法生成,这样可以减少或避免编制数据结构时的人为错误。一、 联锁数据1数据的编码在计算机联锁系统所处理的大量数据中, 代表安全信息的二值逻辑变量占46有重要的地位。如果简单地用一个二值码元( bit )代表一个具体逻辑量,显然是不符合故障安全要求的。 因此,必须采取多个码元编码。 编码技术是冗余技术在信息领域里的具体应用。对于涉及安全的逻辑量,取一个字节( 1 Byte )的全 8 位编码作为一个逻辑量值,并取其中的相间码 10101010 和 01010101 作为有效值。因为 10101010和 01010101 间具有最大的码距,且具有更高的故障安全值。对于参与运算的一些非逻辑
9、变量(如一些标志) ,可以采用增加码位的方法来判别它是否因故障而出现错误, 还可以采用比较法或多数表决法来提高该类数据的安全性。在计算机系统中还有一些常量。 对于参与运算的一些常量的检测, 除了用比较法外更多的是用校验法, 即设计一种算法对数据进行整批的检测。 常量一般是存于 ROM中的,对于常量的检测也就是对 ROM的检测,检查方法很多, 在此不再多述。2数据的传输在多个计算机的安全系统中, 当计算机之间相距较远时, 一般采取串行数据传输方式。所传输的数据有逻辑量、 数字量和地址数据等。 为了克服数据在传输中出错,一般采取避错和容错相结合的技术。避错技术是采用可靠的器件,抗干扰的通道介质以及
10、严格的工艺措施等, 力求数据不发生错误。 采取容错技术就是传输理论中的差错控制技术。在编码理论中,常用到( n,k )分组码这一术语,其中 n 表示整个传输码的位数, k 表示信息位数,那么 n-k 就是冗余位数,一般称做监督位。 编码理论的重要内容之一是研究信息码元与监督码元的相关性,设计出合理的码字, 在满足规定的检错和纠错能力情况下, 使得编码和译码技术易于实现而且经济。 应该说,当前的传输编码理论比较成熟, 理论上讲,用增加通道的空间和时间的办法总是能用编码方法达到代码防护的预期水平。但从目前使用中的安全系统来看, 多采用标准的编码形式, 例如汉明码和 BCH码等,而不采用纠错能力很强
11、的特殊编码方式。在实时控制系统中,要求数据及时刷新,因此可利用周期循环传输的特点采取比较或表决方法提高数据的安全性, 这也就是说数据的接收端必须是安全系统。 如果在运算时间上允许的话,可对重要数据附上它的产生或传输的时间标志, 在使用它时检查它的时间标志是否过时,从而提高了系统的安全性。二、静态数据及其结构联锁程序需要哪些静态数据以及这些数据在存储器中的组织形式, 对于联47锁程序的结构有很大的影响, 在这里,以标准的、各条进路共享的联锁程序为背景,讨论静态数据及其结构形式。建立任何一条进路都必须指明该进路的特性和有关监控对象的特征及其数量等,这包括:(1) 进路性质,是列车进路还是调车进路:
12、(2) 进路方向,是接车方向还是发车方向:(3) 进路的范围,即进路的两端,如果是迂回进路,还应指明变更点(相当于变通按钮所对应的位置) :(4) 防护进路的信号机(信号机名称) :(5) 进路中的轨道电路区段(名称)及数量:(6) 进路中的道岔(名称)、所处的位置、数量:(7) 路所涉及的侵限绝缘轨道区段(名称)及检查条件;(8) 进路的接近区段(名称):(9) 进路的离去区段(名称):(10) 进路末端是否存在需要结合或照查的设施, 如闭塞设备、机务段联系、驼峰信号设备等。若将上列各项纳入一个数据表中就构成了一个进路表。 将一个车站的全部进路(包括迂回进路) 的进路表汇总在一起就构成了总进
13、路表 (它很像我们熟悉的进路联锁表)。总进路表存于 ROM中就是一个静态数据库。 当办理进路时,根据进路操作命令可从静态数据库中选出相应的进路表, 从而可找到所需的静态数据。三、动态数据及其结构参与进路控制的动态数据主要包括操作输入变量、 状态输入变量、 表示输出变量、控制输出变量以及联锁处理的中间变量等。1 操作输入变量操作输入变量是反映操作人员操作动作的开关量。在 RAM中需设一个操作变量表集中地存放操作变量。 每个操作变量在变量表中的逻辑地址应与它的输入通道的地址一一对应。 操作变量表根据系统的硬件体系结构, 可能存于人机会话计算机或存于联锁计算机中。在联锁系统中, 为了防止误动一个操作
14、而形成操作命令, 一般需由两次或两次以上的操作才能形成操作命令, 例如办理一条基本进路需按压进路始端和终端按钮。所以操作输入变量是形成操作命令的原始数据。 在 RAM中应开辟一48个区域集中地存放操作命令, 称这些操作命令的集合为操作命令表。 一条操作命令形成后,就可从操作变量表中删去相应的操作变量了。操作输入变量除了用以形成操作命令外,还作为表示信息的原始数据以及监测系统的记录内容。 为了记录,需将操作输入变量表的内容复制一份存于监测系统中,保存时间应不小于 8h。2状态输入变量状态输入变量是反映监控对象状态的变量,如轨道区段状态、道岔定位状态、道岔反位状态、信号状态、灯丝状态,以及与进路有
15、关的其他设备状态等。状态变量是参与联锁运算的安全数据, 每个变量最好经由两个通道输入, 形成两个变量分别存入两个相距较远的存储单元中, 其目的在于对两个变量进行直接地或间接地比较可以发现输入通道是否发生了故障。 如果发现了故障则给出故障信号,促成双机切换,提高了系统的可靠性。 如果不采取双通道输入方式,则需通过双机互检方法才有可能发现输入通道故障。状态变量应周期性地及时刷新, 以保证变量能确切反映监控对象的实际状态。刷新周期一般应不大于 250 ms。状态变量除了参与联锁运算外,还作为表示信息和监测系统的原始数据。状态变量在 RAM中有两种基本组织方式, 一种组织方式是将同类输入变量集中在一个
16、变量表中, 例如将全部轨道区段变量集中在轨道区段变量表中。 对于这种数据结构,只要给出变量表的首地址以及各个变量在表中的逻辑地址, 就能查到所需变量。 对应这种结构形式, 在站场形数据结构中, 应把状态变量的逻辑地址列入相应的轨道区段静态数据模块中。 这样一来,在建立进路时就可把进路中的所有状态变量的逻辑地址找出来, 并构成进路表, 从而为联锁程序提供了状态变量的地址。 由此,我们可以进一步加深对进路表的理解: 它不仅反映了进路的特征和哪些监控对象与进路有关, 而且指明了监控对象的状态变量的地址。状态变量的另一种组织方式是分散存储方式。 在存储器 RAM中为每一监控对象开辟一个存储区称做动态数
17、据模块,如图 4-4 (b)中虚线框所示,动态数据模块与静态数据模块一一对应。 凡是与监控对象相关的变量均设在该模块中,例如在轨道区段动态数据模块中包括状态变量、 进路锁闭变量、 进路解锁用的变量以及其他变量等。 在这种情况下, 将动态数据模块的首地址列入相应的静态数据模块中, 那么搜索出进路的静态数据模块后, 也就找到了各动态数据模块,从而也就找到了所需的状态变量。 在进路表中给出动态数据模块首址就可以了。3表示输出变量49表示输出变量是指向控制台、 表示盘或屏幕显示器提供的变量。 通过这些变量反映有关列车或车列运行情况、 操作人员的操作情况以及联锁设备工作状况。在计算机联锁系统中, 可提供
18、比电气集中更丰富的信息和表现形式 (例如光带、图形、音响和语音等)。这些信息需取自状态输入变量、 操作输入变量、中间变量以及控制命令输出变量等。 一般是将表示输出变量集中在一个存储区以便输出。4控制变量控制变量是指控制信号和道岔的变量。 对于任何一个控制对象都由两套程序产生双份控制变量, 只有双份变量一致时才可形成控制命令变量并经由安全输出通道输出。 控制变量可存放在动态数据模块中, 而控制命令存放在专辟的控制命令表中。控制命令的逻辑地址与输出通道一一对应。控制变量和控制命令都应周期性地刷新,以保证数据的实时性。5中间变量中间变量是指联锁程序执行过程中产生的一些变量。 这些变量有的存放在动态数
19、据模块中, 有的需另辟专区存放。 只有当对联锁程序的执行过程有较深入的理解后才能知道有哪些中间变量, 以及如何组织它们较为方便。 达里就不讨论了。第三节 联锁控制程序及其任务调度方式一、联锁控制程序的基本模块一个车站的规模大小和站场结构的简繁程度主要影响进路的数量, 而各条进路的控制过程则基本上是一样的。这种相同性是由安全作业的要求所决定,而不是人们主观臆造的。 因此,以进路控制过程作为设计联锁程序的依据是很自然的,这样可使它为各条进路所共用, 也就使联锁程序标准化, 为各个车站所通用了。在进路控制过程中, 有些过程必须有操作人员的参与, 例如办理进路、 取消进路、人工解锁等等。有些过程不需人
20、的参与,例如进路锁闭、信号开放、进路自动解锁等等。 另外,在进路控制过程中必须了解监控对象的状态, 必须向操作人员提供表示信息, 以及向道岔和信号机的控制电路提供驱动信息, 即控制命令。因此,联锁控制程序一般来说可分成下面六个模块:操作输入及操作命令形成模块;操作命令执行模块:50进路处理模块:状态输入模块:表示输出模块:控制命令输出模块。现在对这些模块的主要功能作些说明。1操作输入及操作命令形成模块操作输入是指把值班员操作按钮、 键盘、鼠标或光笔等形成的操作信息输入到计算机中并记录下来。 在联锁系统中, 为了防止由于误操作或误碰输入器件而形成有效的操作命令, 原则上需由两个或两个以上的操作信
21、息才能构成一个操作命令。当然,即使两个操作信息,仍不一定是正确的。因此,该模块的主要功能是记录操作信息, 分析操作信息是否能构成合法的操作命令。 不合法时则向操作人员提示。操作输入量是很大的, 形成的操作命令的种类也有十几种, 例如进路操作命令、进路取消命令等。 该模块一般由人机会话计算机完成。 人机会话计算机将形成的操作命令经由串行数据通道输送到联锁计算机中, 并储存在一个操作命令表中。2操作命令执行模块操作命令执行模块是根据操作命令执行相应功能的程序模块。 在该执行模块中包括许多子模块。 实际上,有多少种操作命令就有多少个子模块。 这里暂不分析每个子模块的具体功能, 但可以肯定, 每个子模
22、块执行时间很短, 而且勿需考虑它们的优先级别, 在执行顺序上不受限制。 那么在执行 “操作命令执行模块” 时,根据操作命令表的每一条现在的命令, 从操作命令执行模块中找出相应的子模块予以执行。 如果执行结果达到预期目的, 则从操作命令表中删去相应的操作命令。否则应给出表示信息,提醒值班员采取相应的措施。3进路处理模块进路处理模块是在执行了进路搜索子模块对所办进路已形成进路表之后,对进路进行处理的模块。 以后将进路处理划分成五个阶段, 并相应地将进路处理程序分成五个子模块。(1) 进路选排一致性检查及道岔控制命令形成子模块。该模块的基本功能是检查道岔位置是否符合进路要求,如果不符则形成相应的道岔
23、控制命令。(2) 进路锁闭模块。该模块的基本功能是检查进路的锁闭条件是否满足,若满足时给出进路锁闭变量及提示信息(如白光带等) 。(3) 信号开放子模块。 该模块的基本功能是检查进路信号开放条件是否51满足,若满足时形成防护该进路信号机的开放命令。( 4)信号保持子模块。在信号开放后,该模块不间断地检查信号开放条件,条件满足时使信号保持开放,否则使信号关闭。( 5)自动解锁子模块。该模块的基本功能是实现进路正常解锁和调车进路的中途返回解锁。4状态输入模块该模块是将道岔、信号和轨道电路等的状态信息输入到联锁计算机中。5表示信息输出模块该模块是将己形成的各种表示信息通过相应的接口,来驱动表示灯和使
24、CRT工作。6控制命令输出模块该模块是将已形成的道岔控制命令和信号控制命令通过相应的输出通道,来控制道岔控制电路和信号控制电路。二、任务调度方式在联锁计算机中,如何把各个程序模块管理起来而使其协调而有效地工作,是软件设计的一个重要内容。 对于程序模块的管理, 也称做程序模块的调度。一般来说,有两种基本的调度方式,即集中调度方式和分散调度方式。集中调度方式是在各个程序模块之外, 另设计一套实时调度程序, 由它统一调度各个任务的执行, 如图 4-7 所示。这种方式是由调度程序确定向哪个任务发送一组信息, 由这些信息激励任务开始工作。 任务执行结束时也向调度程序提供一组信息, 调度程序收到该组信息后
25、确定下一步调用哪个任务。 集中调度方式具有层次结构的特点, 调度程序处于上层, 各个任务处于下层。 各个任务仅与调度程序交换信息而任务之间不需相互联系,这为扩展任务提供了方便。集中调度方式可以根据各个任务的优先级别进行调度; 可以监督任务的执行情况。例如,某个任务由于某种原因超过了规定的执行时间, 则强制它停止执行而调用其他任务。 集中调度方式还能较方便地根据任务的需要确定下一步调用哪个任务, 而不局限于某种确定的顺序, 也就是说,对于任务的调度具有较 大 的灵活性。调 度 程 序模 块 1 模 块 2 模 块 j 模 块 n52图 4-7 程 序 模 块 的 集 中 调 度 方 式分散调度方
26、式是相对于集中调度方式而言的,即不设专门的调度程序而将调度的功能由各个任务分别承担。 一个任务执行结束时由任务自身确定下一步执行哪个任务。 根据任务之间联系的简繁程度, 有多种分散调度方式, 其中最简单的是顺序控制方式。 其中,任务的执行顺序是固定不变的。 这种方式结构简单,节省时间,但灵活性较差。对于计算机联锁系统来说,原则上述两种方式均可使用,或者混合使用。但是,采用集中调度方式使得程序的层次化和模块化结构比较清晰, 而且充分利用集中调度方式的优点, 例如对各模块进行监督等, 有利于提高系统的可靠性,所以采用集中调度方式要好一些。第四节 进路处理程序一、操作命令计算机联锁系统是一种有人参与
27、的系统。 由于操作人员难免有操作失误的可能,所以应尽可能通过检验或判断使错误操作不致形成操作命令。 因此对应于按钮的操作有一个按钮操作的分析程序。 它的任务就是对输入的按钮操作按照车站信号的要求进行分析, 符合要求的形成操作命令存于操作命令表中, 以便进一步处理。 不符合要求的给出 “操作错误” 的语音及文字提示, 提醒操作人员改正自己的错误操作。 根据联锁要求, 即便是合法的操作命令也必须在规定的条件满足之后才能执行。 当执行一条操作命令时, 如果它的执行条件没有满足,则也应向操作人员提供 “操作命令无效” 的信息,以便操作人员采取相应措施,例如取消该命令或进行其他操作等。下面介绍一些重要的
28、操作命令及其执行条件。1进路操作命令该命令的任务是选出一条具体的进路。 当采用站场形静态数据结构时, 该命令的任务是从站场形数据库中选出一组符合所选进路需要的数据, 形成一个53进路表,并将该表存于进路总表中。 因此,称进路操作命令的执行程序模块为“进路搜索模块”。2取消进路命令该命令的任务是取消已建立的进路。 在执行该命令时, 应首先检查是否已建立了需取消的进路。 如果事先根本没有建立这条进路, 则说明该取消进路命令是无效的。 当存在需要取消的进路时, 则必须检查: 接近区段无车或防护进路的信号机未曾开放以及进路在空闲状态(即列车或车列未驶入进路) 。当这些条件满足时, 才能取消进路,实际上
29、就是从进路总表中删除该进路表以及将有关进路锁闭的变量复原为解锁状态。3人工延时解锁命令该命令的任务是解除处于接近锁闭状态的进路。 在执行该命令时, 同样需要检查该命令是否有效。 如果有效,则检查接近区段有车、 信号关闭、 进路空闲。上述条件满足后再延时 3 min(对于接车进路和正线发车进路的人工解锁)或 30s(对于调车进路和其他列车进路人工解锁)才使进路解锁。4进路故障解锁当一条进路由于轨道电路故障而不能正常解锁时需办理进路故障解锁。首先检查该命令是否有效, 在有效时再检查解锁的条件。 解锁的条件是: 故障的轨道电路已经修复或故障区段没有修复, 而经过一段时间没有发现轨道电路再有变化,并检
30、查列车或车列己经通过了该进路的所有道岔区段。5区段故障解锁命令当开机或由于某种原因使轨道区段不能解锁时, 应分段地按故障解锁方式使其解锁。解锁条件是该区段未被进路征用(未排在某条进路中) ,而且在空闲状态。6重复开放信号命令当信号开放后由于轨道电路瞬间分路或其他原因而关闭时, 若开放信号的条件又满足了,则应在值班员的操作下信号才能重复开放。7非常关闭信号命令在计算机联锁系统中, 由于某种故障原因而不能以取消进路、 人工解锁等方式使信号机关闭时, 需通过一定的手段或措施再按压一个特设的非常关闭信号按钮,强制切断信号继电器电源,使信号关闭。8开放引导信号命令当进站信号机(或接车进路信号机)因故不能正常开放时,可开放引导信号。引导信号开放时一般无联锁保证, 引导信号的开放一般为非保留式。 当其开放后能保证对进路中的有关道岔施行锁闭时, 可采用开放保留方式, 并应能54随时将其关闭。9引导锁闭命令引导进路可按进路控制和单独操纵道岔方式建立。 若引导进路上的道岔状态信息正确,则应锁闭进路中的道岔和敌对进路。 否则应根据咽喉区道岔状态信息的反映情况,扩大锁闭道岔的范围,甚而实现全咽喉锁闭。10引导解锁命令引导锁闭在列车通过后,由引导解锁命令使其解锁。11道岔单独操纵命令:在道岔未受区段锁闭、进路锁闭和单独锁闭的条件下,可进行单独操纵。12道岔单独锁闭
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1