产品系列
电力电气模拟板
发光带模拟板
灯光显示模拟板
落地式模拟板
普通模拟板
铝板反光标牌
联系方式
电话:13708949166
传真:0533 - 4168808
邮箱:13708949166@163.com
新闻动态

分布式多线程模拟板控制服务器的交互控制设计和运行研究

出自:www.zbmonitu.com 发布时间:2013年5月21日 点击量:2440

1 分布式模拟板控制系统的工程接口

1.1 工程应用背景

西安铁路局电力调度中心对其所管辖的陇海线远动调度自动化系统进行设备改造升级和更换,全 面引进新的 HY 型电气化铁道远动调度自动化系统,取代原日本日立公司的成套监控设备。同时由于 原有模拟板模块的更换和维护困难,故在 HY 实时数据库系统平台基础上一起进行全部更新。其中设 置了 3 个调度室,布设 3 个调度工作台,分别与模拟板控制系统对应,形成三屏并行工作的分布式运行 模式:调度 1 台管辖潼关至窑村区段(具体包括华山、华县、新丰镇、潼关、罗敷、渭南和窑村等站所);调 度 2 台管辖咸阳西至纺织城区段(范围包括纺织城、西安东、咸阳西、西安、三桥等站所);调度 3 台管辖 宝鸡东至兴平区段(具体包括锣鼓村、常兴、虢镇、兴平、杨陵、菜家坡、宝鸡东等站所)。同时,布设 1# 模拟板、2#模拟板和 3#模拟板,同时接入相应的调度室中,实施并行运行,共同完成监视和控制任务。

1.2 分布式模拟板及通信控制系统的接入

模拟板控制系统主要实现对相应信号的上屏显示监视、报警提示和对大屏幕的操作控制功能。因此,一方面需要与屏后智能接口盒和远动实时数据服务器通信;另一方面必须与调度员工作站进行通 信,因而不但要完成遥信、遥测及线路带电状态等的实时上屏显示,而且对突发事件的报警处理和信号 闪光等也需要进行实现。

同时,为了实现对分布式模拟板的屏幕控制,需要将分布式模拟板控制系统的接口分发到各个调度 员工作站上,调度主机将屏幕控制报文转发到模拟板通信服务器中,然后由该通信服务器和接口转换设 备具体实施屏幕对钟、亮灯和灭灯、闪光和清闪、亮度调节等。 考虑到分布式模拟板控制系统在监视、报警和屏幕控制等方面的需求 ,以及分室安装、分屏控制 等特点,按照图 1 所示的接入方案,将分布式模拟板控制系统与 HY 远动调度自动化系统进行全面的功 能集成,系统接入的方案如图 1 所示。
 
分布式模拟板控制系统图示

模拟板通信服务器将实时数据服务器中的实时数据通过远程方法调用接口发送到终端服务器的网 口端,终端服务器是一个串行口/网口转换的通信接口设备,可将网口数据直接转成串口数据,经 RS- 232 接口传输到模拟板后,由模拟板屏柜后面安装的智能接口盒模块接收,并将 RS-232 接口输出电平 转换成屏幕内部网络电平送至网络总线,最后通过各智能驱动盒安装单元模块,从网络总线上读取与本 地址驱动盒相关的遥信信息,完成对信号灯或光带等元件的灯光显示和控制,因此,分布式模拟板控制 系统接入的关键在于通信报文和接口的实现。

2 模拟板控制系统的通信

2.1 通信规约

模拟板通信采用 RS-232 接口、波特率为 1 200,帧报文的格式如表 1 所示。

对帧报文的定义如下:
(1)f 2H:为每一帧报文的同步字。
(2)功能码:报文的功能码见表 2。
(3)报文长度 n:从下一字节开始到校验字节前一个字节的字节个数。
(4)校验码:校验码为 1 个字节,f 2H 与 00H 异或取反后结果再与下一字节异或取反,结果再与下 一字节异或取反,……,结果再与最后一个信息字节异或取反后,结果为校验码,即从起始码开始,至校 验字节前,逐一字节的异或取反。

以功能码中的 01H,即成组遥信为例进行报文组帧。遥信数据表示方法是一个遥信灯占用 2 位,01 显示红色灯(合),10 显示绿色灯(分),11 显示黄色灯(检修),00 代表灭灯,则 1 个字节的遥信信息就2.2 远程方法调用接口

通信服务器按三屏设计 3 个线程的方式同时运行,将 3 个线程封装成 1 个进程进行统一管理,应用 RMI 远程方法调用技术设计成一个分布式对象 MNPApp 模拟板组件,绑定到模拟板控制系统通信服务 器的 1099 端口上发布。

为了方便各个调度员工作站进行远程方法的调用,以实现对相应屏幕的控制,专门提供了 DiaoduInterface 远程接口,该接口封装了“writeAllLight ( int screenNo) 全屏亮”,“writeAllDark ( int screenNo) 全 屏 暗”,“accidentRecoverMessage ( int screenNo) 事 故 恢 复”,“writeAllClearFlash ( int screenNo)闪光复归(全屏清闪)”,“writeOneLight(int screenNo)一级调光”,“writeTwoLight(int screenNo) 二级调光”,“writeThreeLight(int screenNo)三级调光”等方法。同时,提供了 RTDBInterface 远程接口,封 装了“writeDateTime()对时钟”,“writeData1()第一屏实时信号刷新”,“writeData2()第二屏实时信号刷 新”,“writeData3()第三屏实时信号刷新”,“accidentMessage(int rtuaddr)事故报警”等方法,用于与调度 自动化的实时数据服务器进行分布式交互。另外还提供了 6 个内部线程控制接口方法,用于实现 3 个 线程与主线程之间的协调调度和程序的流程控制。

通过远程方法调用接口,模拟板控制系统的通信服务器可方便实现与远动调度实时数据服务器和 调度员工作站人机接口进行远程调用交互,实时数据服务器提供正常遥信、遥测、事故触发、GPS 对时、 安全生产天数等监视类信息,调度主机接口提供调光、清闪、复归和屏幕操作等控制类信息。

3 多线程程序实现流程

3.1 信号灯及光带显示设计与实现

随着远程调度系统智能化程度的提高,为方便调度员查看哪条线路处于供电/停电检修状态,工程 现场提出了在模拟板上用发光光带显示电力线路运行状态的需求,但由于电气化铁路中线路一般不设 置变送器采集供电/停电的状态,而只采集开关量信号,故需通过拓扑算法来计算,从而得出线路状态, 将计算值存入实时数据服务器中,称其为拓扑关系量(拓扑逻辑算法及相应的软件实现详见文献[2]), 因此开关量信号灯及线路发光光带都可以用 0 和 1 来对其所处的两种状态进行描述,故其显示设计和 处理过程是类似的,如图 2 所示为用发光光带显示供电线路状态的流程。

通过在定时器中设定定时间隔,利用多线程技术,在主进程中创建新的线程,当线程定时启动或被 触发启动时,在模拟板地址数据库中找到拓扑计算信号量的上屏地址,根据地址转向实时数据服务器取 上屏值,并将数据报文组帧,传送,进而驱动发光光带,用 Java 实现一帧光带的代码如下:
public byte[]editMessage3(int zC,int bC,int qD,int yG,int kZC,int jM,int screenNo) { tbArray. toByteArray(2,screenNo);byteArray = tbArray. getByteStatus();
byte[]cmdFrame = new byte[zC];
cmdFrame[0]= (byte) 0xf2;/ /同步字
cmdFrame[1]= 0x01;/ /成组遥信的功能码
cmdFrame[2]= (byte) bC;/ /报文长度
int high = 0xff00 & qD;
cmdFrame[3]= (byte) (high > > 8);/ /启始序号(高位)
cmdFrame[4]= (byte) (temp & qD);/ /启始序号(低位)
cmdFrame[5]= (byte) yG;/ /信息个数
System. arraycopy(byteArray,0,cmdFrame,6,kZC);
cmdFrame[jM]= CRCCheck(cmdFrame,jM); }
报文发送前需要进行校验,校验码代码为:
public byte CRCCheck(byte[]dataStreamByte,int length) { int middle =0;byte result =0;
middle =(temp&(~(temp&dataStreamByte[0])))^(temp & (~(temp & dataStreamByte[1])));
for (int i = 2;i < length;i + + ) {
middle = (temp & middle)^(temp & (
~(temp & dataStreamByte[i])));
}
middle = temp & middle;result = (byte) middle;
}

3.2 亮度调节控制

模拟板共设置了一至八级调光功能,其中一级为暗屏,三级为默认级,八级最亮,一般白天在三级运 行,晚上调至暗屏运行,暗屏运行不会影响正常遥信和事故闪光报警,只是不显示出来,状态仍然保存, 实时通信仍在后台进行,若屏内对应开关状态变位,但未出现故障,则仍保持暗屏运行,只是模拟板控制 系统所接收的新状态在后台进行了更新,没有立即显示,若需要显示新状态,随时可通过调度工作站中 的远程控制接口唤醒并点亮全屏显示。

暗屏运行点亮的条件主要有两个:一是发生事故时由控制系统自动点亮,此时由实时数据服务器通 过远程接口唤醒;二是调度员进行手动亮度调节,由调度员工作站的远程接口唤醒模拟板控制系统工 作,其中,对线程的控制和具体点亮流程如图 3 所示。

3.3 事故闪烁与清闪控制

当电力供电设备或线路出现故障时,例如发生了短路故障,则相应的继电保护装置信号动作,然后 跳开对应的断路器,这些信号都将被实时数据服务器接收到,实时数据服务器将通过远程方法调用的方 式,对模拟板控制系统的事故接口方法进行触发,向 MNPApp 组件发送事故发生的屏号、站号等信息, 并立即停止该屏号的遥信处理线程,并预设定事故报文的优先级别高于遥信报文,按报文的级别进行线 程的控制,首先发送事故停钟报文,然后将跳闸断路器设备的地址组织事故和闪光报文成帧发送,并报 警提示调度员,待全部事故报文的信息传送完毕则立即销毁事故处理线程,恢复原遥信线程,等待电力 部门对故障进行处理。

当短路故障被排除,故障处理完成后,再由调度员工作站对模拟板控制系统进行事故恢复和清闪控 制,如按线程优先级别发送光字牌的清闪报文,遥信闪光灯的清闪报文,光带的清闪报文等。

4 运行试验

为对分布式模拟板控制服务 器接入调度系统的方案进行功能 验证,测试结果如表 4 所示。 在试验 1 和试验 2 中,利用 调度工作站 1 上的模拟板操作菜 单,对 1# 模拟板进行了信号灯与 全屏光带的点亮控制和暗屏运行 控制,结果正确。在试验 3 中,对 2# 屏中对应于西安东变电所的 1001 隔离开关进行了由分变合的在线 设值操作,操作后观察到 2#屏对应 1001 信号灯颜色由绿变红,表明相应的接口和处理流程是正确的。 试验 4 通过手动置位操作模拟华县变电所 2 路馈线停电,相对应的 3#屏中光带的颜色由红变暗,表示 模拟停电成功。试验 5 通过实时数据库服务器发出一个 3#屏事故模拟信号,经模拟板控制服务器接收 处理后,出现了事故停钟和事故闪光的预期效果。

以上试验表明:本文设计的通信接口和处理流程是正确的,将其用在工程实践中解决了实时数据服 务器与分布式模拟板控制系统之间一对多通信的问题。

5 结束语

所设计的模拟板通信服务器以 Java 多线程和 RMI 远程方法调用作为技术手段,通过与远动实时数 据服务器通信完成接口信息的转换和屏后智能接口盒的信息传送,并利用调度员工作站的模拟板控制 接口,实现了对多个模拟板的实时监控和分布式处理,解决了实时数据服务器与分布式模拟板之间一对 多的不匹配通信问题。利用该模拟板通信服务器实现的分布式模拟板控制系统运行稳定,可灵活的进 行线程控制,可靠性高,该系统已经成功运行于铁路电力调度中心的工程现场,效果良好。