随着铁路运输速度的加快,实现铁路电力调度的集中监控和指挥变得越来越关键。模拟板可以直接反映出各项设备和供电线路的运行状态,在电力调度作业中扮演了不可或缺的角色。然而,目前许多模拟板系统的设计仍旧采用了过程式编程语言,这导致了模型缺乏统一性,结果便是一旦需求展开或部分修改,就不可避免地进行大面积的重构和编程修改,从而增加了成本。
为了克服模拟板系统设计中的这些缺点,本研究探索了采用面向对象的统一建模语言(UML)来进行设计的原理、流程和方法,并将其与实际工程项目结合,进行了具体的开发和实践应用。
1、UML设计原理
如今,许多尖端的应用系统开发团队在分析、设计、编程和测试的各个阶段都已全面采纳了面向对象的开发方法,这一做法已经成为软件应用开发领域的主导技术。统一建模语言(UML)仅是一套建模工具,且其设计思想与具体的编程语言无关。基于这一特性,就像可以将UML模型转换为源代码一样,源代码也可以被还原为UML模型,这个过程通常被称为“逆向工程”。
1.1 UML语言介绍
在1997年,统一建模语言(UML)被提交给了对象管理组(OMG),并被接受作为面向对象分析和设计的标准建模语言。UML自那时起不断地在进化和改进中,OMG发布的较新版是UML 2.0。在美国和西欧等地区,大批软件开发机构已经开始采用UML进行系统建模,而在国内,也有越来越多的开发组织在探索和采纳这种做法。
UML是一种专为软件密集型系统的可视化、规范化、建构和文档化而设计的建模语言,它主要被应用于系统的分析和设计阶段。UML的能力在于它能够以前所未有的方式表达系统模型,它提供了一种比以往任何面向对象的分析和设计方法都更为强大的系统表达能力。
UML特别适合于面向对象的分析和设计阶段的系统建模,能够深刻地描述和表达系统的结构与行为。UML的描述可以分为三个主要的视图领域:结构视图、行为视图和模型管理视图。其中,结构视图包含了用例图、类图、对象图、构件图和部署图;行为视图涵盖了顺序图、协作图、状态图和活动图;而模型管理视图则包括了模型、包和子系统等方面的描述。通过这些视图和图表,UML提供了一套全面的工具集,以支持复杂系统的分析和设计。
1.2 模型与设计
(1)增量迭代开发模式
在面向对象的方法论中,基本的理念是以天然的分区对问题域进行划分,构建符合人类认知习惯的问题领域模型,以实现对实体的结构和行为进行仿真。这样的方法意在让设计工作更加贴合现实世界的情况,进而打造出模块化、可复用且易于维护的系统架构。
利用UML建模工具的面向对象系统,可以应用一种递增式的迭代开发模型,其工作流程分为以下几个阶段:1)需求收集,包含系统的基本功能要求及对计算机系统的具体需求;2)需求分析,任务是识别并描述系统的全部需求,以用例图的形式体现系统的外部功能需求;3)系统设计,此阶段的目标是拓展和精细化分析阶段的模型,设计过程可以从序列图入手,利用序列图展现用例的行为序列,其中每个消息都对应类的操作或状态的转化;4)系统实现,即编码阶段,将设计转化为程序代码;5)系统测试,编码完成后对系统进行测试,以验证其功能的正确性。
(2)功能用例
模拟板系统的核心功能包括处理批量遥信、单个遥信的正常变位与事故变位、模拟板的复位、遥信全合闸亮屏、遥信全分闸暗屏、遥信灯闪光、亮盘运行、暗盘运行、停止闪光、调光操作、时间显示、事故停表、安全生产日数的显示、预告与事故声音警报、单个遥信的闪光控制等。以下是该系统的功能用例图的描述。
(3)交互设计
采用JAVA分布式技术,将模拟板的实体设计为一个分布式对象,命名为MMPApp,并将其绑定至模拟板控制机的端口上进行发布和访问接口提供,以便与调度员工作站的远程动作系统进行交互。此外,该对象也能够实现与实时数据库间的信息交互。
模拟板组件主要通过远程调用与远动调度实时数据库组件和调度人机接口组件进行交互。实时数据库组件用于提供常规遥信、遥测、事故触发、GPS校时、记录安全生产天数等信息。而调度人机接口组件则提供多级调光、事故清闪、报警复位、全屏操作等信息的功能。
2主要程序流程与技巧
2.1 基本遥信数据显示过程的优化描述
利用线程池技术,当线程激活时,流程首先在模拟板地址数据库中定位显示地址。随后,该流程将从远程实时数据库中检索要显示的数据,并组织这些数据成为报文来驱动对应的信号灯。
在模拟板通信程序启动期间,批量报文会被构建并发送以初始化显示。系统稳定运行后,对于收到的单个遥信,会根据其状态是正常还是事故,分别发送相应的单个遥信正常或事故变位报文。安全天数和GPS时间同步报文也采取类似的发送机制。
2.2 供电网络拓扑状态指示流程的简化描述
传统的远动系统着重于四遥(遥测、遥信、遥控、遥调)功能,并通过RTU直接传输现场信息以反映设备状态。随着调度自动化系统的演进以及用户需求的增长,调度模拟板系统需要显示供电网络的拓扑状态,这为调度员提供了很大的便利以确认哪些线路是通电或断电状态。
由于线路状态不是通过传感器采集而是通过计算得出的,这些数据称为拓扑量。在实时数据库的拓扑量计算模块中完成所有线路状态的计算后,结果被存储在内存中的实时数据库。模拟板系统随后组织这些计算结果成报文,发送至模拟板进行解析和显示。实时数据的转发、计算和协作过程如图4所示。
模拟板系统提供了八级调光功能,从一级(较暗)到八级(较亮)。默认情况下,系统在三级亮度下启动。白天通常使用三级亮度,但在夜间,由于三级亮度可能过于刺眼,调度员通常会将屏幕调至暗盘模式以降低亮度。
2.3 事故变位闪烁和清除闪烁过程的概述
一旦发生事故,实时数据库会自动向MNPApp对象发送影响的屏号和站号信息。收到这些数据后,MNPApp对象会立刻暂停相应屏幕的遥信线程,并以优先级顺序发送事故报文、事故停止报文,并激活事故闪光和声音报警。如果屏幕处于暗盘模式,它会立即被点亮至默认的三级亮度。事故处理完毕后,遥信线程会自动恢复,等待调度员进行后续的事故处理。
当调度员发出事故恢复指令时,MNPApp对象同样会暂停相应屏幕的遥信线程,并以优先级顺序发送事故恢复报文、时间同步报文以及用于清除事故状态指示的报文。这些处理完成后,遥信线程会自动恢复。
3工程开发与应用
3.1 工程背景改写
西安铁路局电力调度中心的陇海线历来依赖日本日立公司提供的远动监控系统进行运行管理。但由于铁路运输业务的快速发展,以及对速度提升和运输能力扩增的需求,原系统的一些部件日益难以更换和维护。为了适应这些新的要求,西安铁路局决定采用新一代电气化铁道远动自动化系统,并对既有的电力调度模拟板系统进行彻底的升级改造。本项目就是在现有远动实时数据库系统的基础上,研发了一套先进的模拟板系统。
3.2 系统功能改写
新系统包括一个在模拟板控制机上运行的通讯程序,它负责实时数据库与配备NSMJ型智能接口盒的模拟板之间的串行通信。系统不仅能实时更新遥信和遥测数据,并在模拟板上直观地展示牵引供电系统的接线图以及线路的电流状态,还能进行事故报警和信号闪烁指示。此外,操作人员可以通过调度主机对模拟板执行屏幕控制,包括全屏点亮或熄灭、事故闪烁和清除闪烁、屏幕亮度的多级调节,以及在远动系统发生事故时自动激活全屏点亮等多个功能。
3.3 投入运营改写
在实际的运行环境中,模拟板系统采用了多屏幕的分布式布局和安装策略。各模拟板通过智能接口盒利用RS232接口与通信终端服务器相连,该服务器负责将串行通信数据转换为网络通信数据,如图6所示。三个操作台分别控制1#屏、2#屏和3#屏。通过配置有多串口功能的DeviceMaster终端服务器,模拟板控制机能够同时与三个模拟板进行通信,实现数据的实时显示和控制操作。
UML是制定系统架构图的标准化语言。它使得构建复杂系统的视觉模型成为可能,不仅支持功能用例的建模,还可以用于精细化的业务流程建模。利用UML进行反向工程有助于确保模型与代码保持同步。UML设计的核心技术在于使用基于用例驱动的UML增量迭代模型方法进行设计。本研究所设计的模拟板系统,改善了在复杂系统中存在的用例数量庞大、用例间交互复杂和工作量大等问题,减少了用例生成的重复性。实现的关键流程包括基本遥信数据显示、供电网络拓扑的光带展示、模拟板亮度调节控制、以及事故指示闪烁和清除等流程。
采用UML迭代模型进行改进的铁路电力调度模拟板系统已投入使用很过两年。在这段时间内,虢镇牵引变电所的馈出线路进行了改造。由于系统采用了UML设计,即使在进行物理改造时,模拟板系统的软件也无需进行任何调整,这证明了UML设计方法的统一性和可持续性,且实际应用效果证明其优势显著。