LKJ监控软件工作原理.docx
《LKJ监控软件工作原理.docx》由会员分享,可在线阅读,更多相关《LKJ监控软件工作原理.docx(18页珍藏版)》请在冰点文库上搜索。
![LKJ监控软件工作原理.docx](https://file1.bingdoc.com/fileroot1/2023-5/7/50eb815f-7e19-40d4-955b-8e9b4f8df30f/50eb815f-7e19-40d4-955b-8e9b4f8df30f1.gif)
LKJ监控软件工作原理
第二节监控软件
一、概述
监控软件位于监控主机插件的U3、U4芯片中,由微控制器MC68332执行,实现各种监控功能和记录功能。
LKJ2000型监控软件的控制原理与LKJ-93型基本上一样,都是基于车载线路数据的一种实时控制模式;功能也相似,都包含了防冒、防超和防溜等基本功能。
尽管如此,LKJ2000型和LKJ-93型软件仍有一些差别:
1.LKJ2000型监控软件集监控、记录于一身,使两者的结合更紧密,而LKJ-93型则是由两个软件分别完成。
2.LKJ2000型的控制模式曲线是根据2000年颁布的新《牵规》计算的,而LKJ-93型是依据1982年颁布的旧《牵规》。
3.LKJ2000型监控软件的容量最大可达1024KB,是LKJ-93型(不到32KB)的数十倍,因而具有更大的可扩充性。
4.LKJ2000型监控软件使用C++语言编制,更可靠、更易于维护,而LKJ-93使用汇编语言编制,维护困难。
5.LKJ2000硬件具有双套,因而软件上较多地考虑了双机冗余措施,理论上可靠性更高。
二、双机热备
LKJ2000型的一个重要特点是双套冗余,也就是说,有两套完全一样的设备同时在工作,一套为主,一套为辅,当为主的一套发生故障而不能正常工作时,装置会自动地切换到另一套继续工作,控制模式不会中断。
1.双机概念
了解软件的双机热备方案,需要说明几个重要的概念,参见图5-2-1。
(1)A机与B机
监控主机箱中分左右两套插件,两套插件完全一样,分别由8块插件组成,由内向外依次为监控记录插件、地面信息处理插件、通信插件、模拟信号处理插件、备用插件、数字量输入插件、数字量输入输出插件和电源插件。
其中,左边的一套插件共用同一电源插件,定名为A机或子系统A,右边的一套插件共用另一电源插件,定名为B机或子系统B。
A机和B机相互独立,电源隔离。
图5-2-1LKJ2000型各插件之间通信联络
主机箱中带CPU的插件有监控记录插件、地面信息处理插件、通信插件和备用插件,它们都挂在双CAN总线(CAN-A和CAN-B)上,除A、B机的监控记录插件之间有第三条同步串行通信线路外,这些插件之间只能通过CAN-A和CAN-B两路异步串行通信线路交换信息。
由于软件中作了特殊考虑,主机箱中任一带CPU的插件相对本子系统或另一子系统中其它带CPU的插件在独立性方面是完全等同的,因此它们属模块级冗余。
举例说明,假设A机的地面信息处理插件出现了故障,A机的其它插件和B机的地面信息处理插件仍可组成一个完好的系统。
主机箱中不带CPU的插件有模拟量输入输出插件、数字量输入输出插件和数字量输入插件,这些插件本身没有CAN通信,只能由本子系统的监控记录插件通过VME并行总线进行访问,只有当本子系统的监控记录插件正常工作时才能实现冗余,因此这些插件属系统级冗余。
当然,如果把这些插件看作是监控记录插件的扩展的话,也可以说是模块级冗余。
插件上的软件可通过检测本插件中由母板送来的M/S信号确定本插件是属于A机还是B机,M/S为低电平者属于A机或子系统A,M/S为高电平者属于B机或子系统B。
(2)单机与双机
在同一主机箱中,同类模块都有两块,一块属于A机一块属于B机。
双机是指两块同类插件同时处于正常工作状态,相互之间能正常通信,知道对方的存在。
当两块插件中只有一块在工作时,称为单机。
因此单机和双机只针对某种插件小范围内而言。
(3)主机(工作机)与备机(热备机)
两套系统中所有带CPU的插件都向双CAN总线发送自己的信息,同类插件都有两块,向CAN总线发送的信息种类也是一样的,但具体数值却不一定相同,这样,这两块插件信息的重要程度就应该有主次之分。
比如A机和B机监控记录插件,它们都对本子系统的速度信号进行采样,A机采得的速度和B机采得的速度不可能完全一样,即使相差0.1km/h通过四舍五入可能就变成相差1km/h,如果没有主次之分将不知以哪个速度进行控制。
另外,两块监控记录插件工作时都会产生各自的控制命令,两者也不一定完全一致,也应该有主次之分,否则,可能产生不希望的动作。
为了保证系统中同类数据的唯一合法性,规定同类插件中只以其中一块插件的数据作为这类插件的合法代表,或者说作为控制和记录的依据,这块插件就被称为主机或工作机,而另一块插件就被称为备机或热备机。
因此主机和备机都是针对某种插件而言的。
由于监控记录插件在监控装置中核心地位,我们通常所说的主机、备机、单机、双机均只针对该插件而言。
正常情况下,同类插件中有且只有一块为主机,另一块为备机。
多主或无主状态均应视为不正常状态或过渡状态,只允许短时间内或瞬间存在。
2.双机热备设计
(1)双机热备软件设计的原则
A.考虑到单机系统的可能性,同时也为了减轻用户软件管理的工作量,监控软件应能同时适应于单机系统和双机系统,两者的软件应无任何区别。
B.为了保证记录数据的合法性,双机系统中A机和B机的记录数据应保持一致。
可任从A机或B机转录数据且结果相同。
C.为了保证运行数据的合法性,双机系统中网上流通的数据只能有一套子系统的被认可。
D.为了避免双机控制冲突,同一输出设备在某一时刻只能由A机或B机中的一个进行控制。
E.为了充分发挥硬件的功能,实现更高的可靠性,应尽可能做到各模块优势互补、取长补短。
直接对CAN总线通信的各插件,实现同功能板级冗余。
(2)单机的确认方法
当系统中某一监控记录插件与另一监控记录插件较长时间无法通信时,此插件便工作在单机状态。
为了能在主机突然故障时原备机能迅速转为主机接管控制权,这个“较长时间”不能设得太大,目前设为0.8s。
但是,在监控软件复位期间,由于自检时间较长,双机进入正常状态的时间差别较大,为了避免因此造成自检较快的一方提前转为单机,在复位时这个时间又不能设得太小,目前定为5s。
(3)主备的确认方法
A.上电或复位时,软件首先检测本机是A机还是B机,并工作在主备不定的状态,等待与对方通信确认。
发送本机的主备状态、A/B机标志、本机最近一次处于主机状态的时间等信息,通知对方。
双方收到对方此信息后,均与本机的相应信息进行比较。
先前作为主机时间较新者自动转为主机,较旧者自动转为备机,也就是说,上次谁是主机,本次仍以主机身份运行。
当通过时间无法决定主备机时,以A机优先的原则决定A机为主机,B机为备机。
B.主机在运行过程中,随时刷新自己处于主机状态的最新时间。
便于下次比较。
(4)主备机的切换原则和方法
在主备机均能正常工作的情况下,原则上不进行主备机的切换。
只有在下述情况之一发生时才进行切换。
A.主机的地面数据校验失败而备机校验正常时;
B.主机的记录区有故障时而备机记录区正常时。
当然,因一方通信故障或主机复位导致的主备切换例外,这种情况不是软件有意识地进行切换。
在大多数硬件故障的情况下,主备机并不进行切换。
如果主机某个部位发生故障而备机相应正常时,则只进行相应通道的切换。
因为备机不管有无故障,仍不断地向主机发送自身的状态和采集到的各种信息,比如速度、压力、时间等等,同时将与这些信息相关的硬件故障状态发给主机,主机根据双方信号的可靠程度决定某个信息以谁为准。
(5)两套系统中相同模块出现故障
当两子系统中相同模块相同通道出现故障时,应视故障部位实施降级控制或作系统故障处理。
当某块监控记录插件出现对CAN-A和CAN-B通信同时故障时,该插件单独按系统故障处理。
当A、B机紧急制动输出电路同时故障时两块监控记录插件均作系统故障处理。
按系统故障处理的监控插件,停止发送故障电路驱动脉冲,产生系统故障输出。
只有两套系统同时产生系统故障输出时,才会驱动系统故障电路,要求在3分钟内人工关闭主机电源否则产生紧急制动。
(6)数据记录的原则
A.A机和B机的记录数据应完全保持一致。
备机数据应是主机数据的完全映象。
这样做可避免某一子系统出现永久性故障其中记录数据无法转录时,出现数据丢失的现象。
B.转录数据应是唯一的,只要工作正常,可以任从A机或B机转录口进行转录。
三、监控记录软件主程序流程
监控记录软件按功能为9个模块:
主控制模块、系统检测模块、信号采集模块、通讯处理模块、监控管理模块、制动计算模块、记录转储模块、双机处理模块和控制条件模块。
主控制模块流程框图见图5-2-2。
图5-2-2监控记录软件主控制模块流程图
四、监控软件主要程序模块
(一)、模拟信号处理模块
这里所指的模拟信号是指幅值连续变化的,并以幅值的大小作为度量的信号。
在LKJ2000监控装置中,共有8路模拟信号,分别是列车管压力、闸缸压力、均衡风缸Ⅰ压力、均衡风缸Ⅱ压力、自检电压、原边电压、原边电流和加速度计。
这些信号共用同一A/D转换器,由软件通过多路开关切换在任一时刻只选择其中的一路信号进行采样。
该模块的主要功能是将这些信号转化为微控制器能够识别、存储并可重复使用的数字量,即电压数值。
软件流程见图5-2-3。
1.“模拟信号采样”子程序
这个子程序就是对8路信号通道轮流进行采样,将输入信号转化为与幅值成正比的、计算机能够处理的数字信号。
本程序并不关心通道信号的具体含义,只是将信号进行A/D转换,读出转换值并作简单的滤波处理然后存储。
当对某个通道的A/D转换超时时,程序设置相应的通道故障标志,以表示该通道的信号不可信。
2.“列车管压力处理”子程序
该子程序主要完成3个功能:
1)负责将列车管压力通道的信号转换值根据压力信号的特点作进一步的的滤波处理,然后通过比例运算转化为真正的列车管压力值,单位为kPa。
2)对列车管压力进行双机冗余处理。
3)根据管压力的变化决定对管压力是否记录。
3.“制动缸压力处理”子程序
该子程序主要完成3个功能:
5-2-3模拟信号处理模块流程图
1)将制动缸压力通道的信号转换值根据压力信号的特点作进一步的的滤波处理,然后通过比例运算转化为真正的制动缸压力值,单位为kPa。
2)对制动缸压力进行双机冗余处理,处理方法统一见“模拟信号的”一节。
3)根据制动缸压力的变化决定对制动缸压力是否记录。
4.“均衡风缸Ⅱ压力处理”子程序
该子程序主要完成3个功能:
1)将均衡风缸压力通道的信号转换值根据压力信号的特点作进一步的的滤波处理,然后通过比例运算计算出真正的均衡风缸压力值,单位为kPa。
2)对均衡风缸压力进行双机冗余处理,处理方法统一见“模拟信号的”一节。
3)根据均衡风缸压力的变化决定对均衡风缸压力是否记录。
5.“原边电流处理”子程序
该子程序主要完成3个功能:
1)将原边电流通道的信号转换值作进一步的的滤波处理,然后通过比例运算计算出真正的原边电流值,单位为A。
2)对原边电流进行双机冗余处理,处理方法统一见“模拟信号的”一节。
3)根据原边电流的变化决定是否记录原边电流。
6.“原边电压处理”子程序
该子程序主要完成3个功能:
1)将原边电压通道的信号转换值作进一步的的滤波处理,然后通过比例运算计算出真正的原边电压值,单位为V。
2)对原边电压进行双机冗余处理,处理方法统一见“模拟信号的”一节。
3)根据原边电压的变化决定是否记录原边电压。
7.“加速度计处理”子程序
该子程序主要完成3个功能:
1)将加速度传感器通道的信号转换值作进一步的的滤波处理,然后通过比例运算计算出真正的加速度值,单位为V。
2)对加速度进行双机冗余处理,处理方法统一见“模拟信号的”一节。
3)根据加速度的变化决定是否记录加速度。
8.“双针表驱动”子程序
该子程序主要完成2个功能:
1)根据通道的状态判断是否进行驱动输出。
由于监控装置可能工作在双机状态,而双针表只有一块,A、B机均可驱动,为了避免同时驱动造成显示误差,当双机同时工作时,只能有一套系统进行驱动。
判断依据为:
a)若为单机,强制允许输出;
b)若为主机,根据本机“允许输出标志”决定是否允许输出;
c)若为备机,根据对方(主机)的“允许输出标志”决定本机是否允许输出。
若对方允许输出则本机不允许,否则本机允许。
2)根据速度和限速的值进行平滑处理,转化为对应的D/A变换器的输入值,并启动D/A转换。
平滑处理的目的是限制双针表指针的移动速度,避免损坏表针。
(二)、开关信号处理模块
开关信号是指以高低电平作为度量的信号。
高低电平的概念是以某个电压值(阈值)为界将信号幅值划分为两档,超过阈值时统一认为是高电平,低于阈值时便认为是低电平。
实际上信号的幅值也不是连续的,阈值的选取一般是正常高电平的电压值和正常低电平的电压值的平均值。
程序流程见图5-2-4。
1.“动态自检处理”子程序
主要是对数字量输入插件、数字量输出插件的各个输入通道进行自检,自检过程每10s进行一次。
若发现某通道自检故障则置相应的通道故障标志,以表明该通道信号不可信。
2.“数字量输入”子程序
完成对数字量输入插件的机车信号(色灯信号、速度等级、UM71制式、绝缘节)等信号及数字量输入输出插件的机车工况等信号的采样。
3.“平调信号处理”子程序
该子程序有4个功能:
5-2-4开关信号处理模块流程图
1)根据平面凋车信号的特点,通过分析从机车信号通道输入的开关信号自动识别这些信号是平面调车信号还是机车信号。
2)若为平面调车信号,进行延时处理,以消除传输线路上的瞬间干扰或继电器触点抖动所造成的影响。
3)平调信号的双机冗余处理。
4)记录平调信号的变化。
4.“机车信号绝缘节处理”子程序
机车信号绝缘节是由通用式机车信号设备送出的一个开关信号,当该信号发生变化(从高电平到低电平或从低电平到高电平)时,表明机车正越过地面轨道绝缘节的位置。
根据这个信号进行的距离校正我们称之为“电平校正”。
该子程序的功能为:
1)绝缘节信号的确认,方法是进行延时处理,以消除传输线路上的瞬间干扰或继电器触点抖动所造成的影响。
2)绝缘节信号的双机冗余处理。
3)记录绝缘节信号的变化。
5.“UM71信号制式处理”子程序
“UM71信号制式”是由通用式机车信号设备送出的一个开关信号,表明通用式机车信号设备识别出的地面轨道信号为UM71。
该子程序的功能为:
1)“UM71信号制式”信号的确认,方法是进行延时处理,以消除传输线路上的瞬间干扰或继电器触点抖动所造成的影响。
2)制式信号的双机冗余处理。
3)记录制式信号的变化。
6.“机车信号处理”子程序
机车信号是指“色灯信号”和“速度等级信号”的组合。
该子程序的功能为:
1)机车信号的确认,方法是进行延时处理,以消除传输线路上的瞬间干扰或继电器触点抖动所造成的影响,当色灯信号出现“多灯”或“灭灯”时,延时时间作特殊处理。
2)机车信号的双机冗余处理。
3)记录机车信号的变化。
7.“零位工况处理”子程序
该子程序的功能为:
1)零位工况的确认,方法是进行延时处理,以消除传输线路上的瞬间干扰或继电器触点抖动所造成的影响。
2)零位工况的双机冗余处理。
3)记录零位工况的变化。
8.“牵制工况处理”子程序
该子程序的功能为:
1)牵引、制动工况的确认,方法是进行延时处理,以消除传输线路上的瞬间干扰或继电器触点抖动所造成的影响。
2)牵引、制动工况的双机冗余处理。
3)记录牵引、制动工况的变化。
9.“前后工况处理”子程序
该子程序的功能为:
1)前进、后退工况的确认,方法是进行延时处理,以消除传输线路上的瞬间干扰或继电器触点抖动所造成的影响。
2)前进、后退工况的双机冗余处理。
3)记录前进、后退工况的变化。
10.“数字量输出”子程序
该子程序的功能为:
1)对监控处理模块确认的卸载动作、常用制动和紧急制动等条件进行双机冗余处理。
2)将这些条件转化成数字量输出命令,通过数字量输入输出插件控制“卸载”等继电器的动作。
11.“码形绝缘节信号处理”子程序
码形过节信号是指通过LKJ2000型监控装置自身的“地面信息处理”插件通过分析轨道信号波形(包括信号的载频、幅值、包络等)的变化,并根据监控装置自身的要求判断出来的过绝缘节信号。
地面信息处理软件判断出有过绝缘节信号时,向监控主机插件发出一个脉宽约30ms的中断信号。
监控软件收到后立即进行距离校正处理。
该子程序的功能是将中断信号转化为产生距离校正处理的指令。
12.面板LED处理
驱动监控主机面板发光二极管,以显示软件的运行情况和硬件的故障状态。
(三)、频率信号处理模块
频率信号指信号波形为方波并以方波频率的大小作为度量的信号,LKJ2000型监控装置中有5路频率信号:
3路速度信号、1路柴油机转速信号和1路原边功率信号。
软件流程见图5-2-5。
1.“频率信号采样”子程序
5-2-5频率信号处理模块流程图
频率信号的采集分两部分,一部分由中断服务例程完成,主要是测量频率信号相邻两个脉冲之间的时间间隔,即信号周期。
因为时间间隔关系到速度和距离的计算,要求测量值必须十分精确。
另一部分由非中断服务例程完成,主要任务是根据测量得到的信号周期,计算出相应的信号频率,并对信号作简单的滤波。
对于速度信号,还应进行空转和轮滑的判断,运行速度、列车位移的计算等等。
由于这部分程序涉及大量的浮点运算,运行时间较长,因此将其从中断服务例程中剥离出来。
2.“速度信号处理”子程序
该了程序有3个功能:
1)确认速度计算的通道。
因为速度信号有三路,只能选择其中一路作为速度与位移计算的基础。
2)完成运行速度、列车位移的双机冗余处理。
根据故障倒向安全的原则,当A、B机两路速度不一致时,取两路信号中的较大值作为确认的速度,距离也按此速度进行计算。
3)速度变化的记录。
3.“柴油机转速处理”子程序
该子程序有4个功能:
1)根据通道信号的频率,计算出对应的柴油机转速。
2)对转速作进一步的滤波处理,以削弱信号中强干扰和信号不规则所造成的影响。
3)柴油机转速的双机冗余处理。
4)柴油机转速变化的记录。
4.“原边功率处理”子程序
原边功率的测量是由硬件电路完成原边电流与原边电压的乘法运算,再将乘积转化为成比例的频率信号,送到监控主机板。
监控软件只要测出信号的频率便可推算出当时的功率。
该子程序有4个功能:
1)根据通道信号的频率,计算出对应的原边功率。
2)对原边功率作进一步的滤波处理,以削弱信号中强干扰的影响。
3)原边功率的双机冗余处理。
4)原边功率变化的记录。
(四)、日历时钟处理模块
日历时钟是指日期和时间,即年月日时分秒。
LKJ2000的日历时钟最小计时单位为0.01秒,即10ms。
当装置关机时,该时钟信号仍在工作。
软件流程见图5-2-6。
1.“读日历时钟”子程序
该子程序有2个功能:
1)读取本机时钟芯片中的日期和时间。
2)判断日期和时间的合法性,若出现非法时钟时,置相应的故障标志,并进行恢复处理。
2.“时钟切换处理”子程序
该子程序的功能主要是实现日历时钟的双机冗余,保证在主备机中只要有一个日历时钟正常时,系统的日历时钟仍然正常。
方法是:
5-2-6日历时钟处理模块流程图
当本机为主机时,如果本机时钟有故障,而对方时钟正常,则以对方时钟为准,否则以本机时钟为准。
当本机为备机时,如果本机时钟与主机时钟误差超过0.5秒时,按主机时钟重新设置本机时钟。
(五)、语音处理模块
LKJ2000监控装置的语音数据及控制电路都在显示器中,每条语音都分配了一个代码,当监控软件要求显示器发出某条语音时,只要将对应的代码、重复的次数通知显示器即可。
监控装置中实际上有两类语音,一类是监控软件控制的语音,比如“出口限速50km/h”等,绝大多数语音属于这一类;另一类就是显示器自身要求发出的语音,比如整点报时的“咚”声,这类语音发出与否与监控软件无关。
监控软件的语音处理模块流程见图5-2-7。
监控装置中有时会有多条语音同时请求发送。
比如列车运行至预告信号机分区入口处时,刚好色灯发生变化,这时就会有“车机联控”和色灯语音同时请求发送。
出现这种情况时,监控软件首先对所有请求发送的语音进行优先级排序,级别高的语音先发送,级别低的语音后发送。
详细请参阅附录的语音定义一节。
5-2-7语音处理模块流程图
(六)、系统保护处理模块
系统保护主要进行一些系统级的处理,并为系统提供一些必要的公共程序,供其它模块调用,比如三备份量的检测,WatchDog电路驱动程序,另外还为系统提供一个统一的定时时钟,用于高精度定时。
定时时钟是由机器内部产生的,因此当装置掉电时,这个时钟将停止运行。
软件流程图见图5-2-8。
1.“A、B机检测”子程序
该子程序的功能是通过检测接插件上引脚的信号,判断该插件是插在监控装置的A机一侧还是B机一侧。
2.“系统故障检测”子程序
该子程序的主要功能:
1)检测A、B机监控软件的版本号、地面数据的版本号是否一致;
2)收集各个插件的故障情况并进行统一的记录。
5-2-8系统保护处理模块流程图
3)双紧急制动等系统故障的判断及其处理。
当发生系统故障时,软件停发故障继电器触发信号,迫使硬件电路发出报警,提醒乘务员关机,否则装置将在3分钟后实施紧急制动。
3.“三备份量处理”子程序
这是一个公共子程序,供其它模块调用。
LKJ2000型监控装置软件将一些关键的数据都进行了备份,包括原始数据,共有3份,分别存放在内存的不同地方。
软件在使用这些数据之前,首先以三取二的方式将三份数据统一。
这样,如果由于干扰导致某一份数据损坏,仍不至影响系统工作。