OPC UA在城市轨道交通信号系统互联互通中的应用研究

2019-03-07 03:10陈海欢
铁路计算机应用 2019年2期
关键词:信号系统套件密钥

陈海欢

(西南交通大学 信息科学与技术学院,成都 611756)

互联互通是当前城市轨道交通的发展方向,对提高运输效率、改善乘车环境、缩短出行时间起着重要的作用。但因各信号厂家采用的信号系统总体架构、通信协议、接口标准存在一定差异,需要制定统一的标准和接口规范,以实现车辆及不同地域地面设备互通互换,进而实现列车跨线联通联运,达到网络化运营目的。OPC UA是OPC基金会为过程自动化及其它领域数据通信提供的新标准,旨在为企业制造模型创建统一对象和架构定义[1],在工业制造领域有着大量应用。现阶段,国内对信号系统互联互通研究与实施还处于起步阶段,对OPC UA在城轨信号系统互联互通中的应用研究极少,本文对其在城市轨道交通信号系统互联互通中的应用展开研究。

1 OPC UA简介

OPC(OLE for Process Control)通信标准的核心是互通性和标准化。基于微软的COM/DCOM技术,采用服务器/客户端模式,定义了一些用于数据访问、事件和报警处理、历史数据访问的接口[2],在控制级别很好地解决了硬件设备间互通性的问题。但随着互联网技术的快速发展,传统OPC技术不够灵活、平台局限性等问题逐步突显,OPC基金会提出了最新的数据通信统一方法——OPC统一架构(OPC UA,OPC Unified Architecture)。

OPC UA集成现有的OPC规范,包括OPC实时数据访问规范OPC DA、OPC报警事件访问规范OPC A&E、OPC历史数据访问规范OPC HAD、命令、复杂数据和对象类型等,采用统一的地址空间和服务模型,使得同一系统能被统一访问;通过经管理员开放的端口进行通信,提升传输性能;支持多种消息编码格式和多种传输协议[3],如TCP和HTTP协议;自纠正特性提高其可靠性,标准冗余模型也使得来自不同厂商的软件应用可以同时被采纳并彼此兼容;底层通信通过加密算法,保证消息完整性;跨平台技术使得数据能灵活交换。

2 城轨信号系统架构分析

典型的城市轨道交通信号系统由列车自动监控(ATS)、联锁、区域控制器(ZC)、车载列车自动防护/列车自动运行(ATP/ATO)以及数据通信系统(DCS,Data Communication System)等组成。ATS主要实现线路监督、列车调度、时刻表管理等监督管理功能;联锁负责线路设备(例如,信号机、区段、道岔、屏蔽门、防淹门、紧急停车按钮等)状态的采集及依据需要对轨旁设备进行控制;ZC主要完成列车的跟踪、移动授权计算等;车载ATP/ATO实现对列车的控制,防止列车超速、冒进、倒溜、未停准等非安全因素。它们之间通过DCS连接起来,实现相互之间的信息传递及控制。体系架构如图1所示[4],简化后得到如图2所示的系统框架。

图1 互联互通信号系统总体架构示意图

图2 互联互通信号系统简化架构示意图

车站ATS通过gateway实现与相关设备(如ZC、本地控制器(LC,Local Controller)、车载控制器(CC,Carborne Controller))之间的信息交互。

3 OPC UA实现

通过以上分析可知,gateway作为信息交互的主要设备,是实现城市轨道交通信号系统互联互通的关键。但因各家信号公司采取的通信协议存在一定的差异,因此,需将它们进行转换才能相互访问,gateway正好能解决这个问题。可行的解决方案是:建立满足OPC UA协议的UA Server,gateway通过TCP异步通信,作为server发送信息给UA Server,同时,外部厂商应是全满足OPC UA的客户端,通过访问UA Server即可实现信息互传。其架构如图3所示。

图3 采用OPC UA的信号系统架构示意图

3.1 消息类实体设计

ATS主要功能包括列车运行情况的集中监视、自动排列进路、自动列车运行调整、自动生成时刻表、自动记录列车运行轨迹、自动进行运行数据统计及报表生成、自动检测设备运行状态等,辅助调度人员对全线列车进行管理。

对于ATS子系统的监测内容,通过TCP方式传递给UA Server,此时,可将ATS子系统当作是server进行处理,而UA Server此时当作是client进行处理。ATS监控的内容主要包括有:联锁信息、信号机信息、区段信息、道岔信息、屏蔽门信息、站间闭塞信息、紧急停车按钮状态信息、命令信息等。对于消息传递实体,定义消息类CMessageEntity。

class CMessageEntity

{

Public CTrackState TrackState;//轨道占用

状态

Public CRouteState RouteState;//进路状态

Public CVehicleState VehicleState;//列车

运行状态

Public CSignalState SignalState; //信号机

状态

Public CTurnoutState TurnoutState; //道岔

状态

Public CPlatformDoorState PlatformDoor-

Sate;//屏蔽门状态

Public CTrainIdentificationNum Train-

Identi-ficationNum;//列车识别号

public CIsDeflected IsDeflected;//是否与实

际偏离

public CDegradationProcessing Degra

dation-Processing;//降级处理信息

public CToPassengerInfo ToPassenger-

Info;//给旅客提供的信息

}

其中,CTrackState、CRouteState、CVehicleState、CSignalState、CTurnoutState、CPlatformDoorState、CTrainIdentificationNum、CIsDeflected、CDegradationProcessing、CToPassen-gerInfo均为在外部定义的类,包含各自的信息,例如,ID、颜色、位置、状态等信息,CTrainIdentificationNum(列车识别号)中应包含列车服务号、列车目的地号、列车车体号等信息。

class CTrainIdentificationNum

{

public long serviceNum { get; set; }//列车服

务号

public long destinationNum { get; set; }//列

车目的地号

public long trainBodyNum { get; set; }//列

车车体号

}

消息传递到UA Server后,满足OPC UA的client可以对其进行访问。此时,UA Server作为满足OPC UA协议的服务器,而满足OPC UA的外部厂商作为客户端对其进行访问、接入控制和安全校验等操作。

3.2 测试仿真

基于.NET Framework 4.5.2,在VS 2015平台上,采用C#编程语言,对OPC UA客户端访问OPC UA服务器过程进行模拟测试研究。

OPC UA客户端与服务器之间的通信应满足较高的安全等级,以保证信息可靠传递,从而确保机车车辆能安全可靠运行。在实施过程中,需要添加证书,确保信息来自可靠服务器并且在网络传输过程中未被截取或偷听。

利用VS2015中X.509证书制作工具,在“VS2015开发人员命令提示”中输入“makecert -r -pe -n“CN=MyServer” -ss My -sky exchange”,制作一个“CN=MyServer”的服务器证书,利用IE证书导出工具,导出证书文件“certificate.cer”,并添加给客户端。采用socket实现客户端与服务器通信,利用SSL实现客户端对服务器单向认证,以字节流的方式实现信息交互。

客户端通过Client Hello消息将其支持的(SSL,Secure Sockets Layer,安全套接层)版本、加密算法、密钥交换算法、MAC算法等信息发送给SSL服务器;服务器后通过Server Hello消息通知客户端;同时,服务器将携带自己的公钥信息的数字证书通过Certificate消息发送给客户端;后发送Server Hello Done消息,通知客户端版本和加密套件协商结束,开始进行密钥交换;客户端验证证书合法后,利用证书中的公钥加密SSL客户端随机生成的premaster secret,通过Client Key Exchange消息发送给服务器;客户端再发送Change Cipher Spec消息,通知服务器后续报文将以协商好的密钥和加密套件进行加密;客户端计算已交互握手信息的Hash值,利用协商好的密钥和加密套件进行加密,通过Finished消息发送给服务器,服务器同样对交互的握手信息进行Hash值计算,并与客户端传过来的Hash值进行比较,若二者相同,则证明密钥和加密套件协商成功;同样,服务器发送Change Cipher Spec消息,通知客户端后续报文将采用协商好的密钥和加密套件进行加密;服务器再将交互的握手信息的Hash值,利用协商好的密钥和加密套件进行处理,并通过Finished消息传递给客户端,客户端将其与自身计算结果进行比较,若二者相同,则证明密钥和加密套件协商成功,双方能进行正常安全通信[5]。其消息传递过程如图4所示。

图4 只认证服务器的SSL握手过程

仿真表明,满足OPC UA的客户端和服务器能稳定连接并实现信息互传,服务器端仿真结果如图5所示。显示结果包含有SSlStream的批量加密算法、算法强度、身份验证代码(MAC)算法、密钥交换算法等信息。

图5 server端仿真结果

客户端能稳定连接服务器并接收从服务器传递来的消息,仿真结果如图6所示。

图6 客户端仿真结果

4 结束语

信息互传是实现城市轨道交通信号系统互联互通的基础,以保证在设备互换、跨线运行过程中,车辆能可靠运行。OPC UA在满足可靠通信和身份验证的前提下,将所需传递的信息以TCP方式在客户端和服务器之间进行交互,表现良好。本次仿真客户端和服务器均在Windows平台上进行部署,并且在之前的测试中,OPC UA在Linux和Windows通信中同样表现良好,证明了OPC UA在城市轨道交通信号系统互联互通中能有较好的应用。

猜你喜欢
信号系统套件密钥
幻中邂逅之金色密钥
幻中邂逅之金色密钥
轨道交通信号系统无线传输应用
密码系统中密钥的状态与保护*
基于场景的信号系统危害清单建立方法
LTE-M在地铁信号系统中的应用
基于三级等级保护的CBTC信号系统信息安全方案设计
TPM 2.0密钥迁移协议研究
美国火力控制器公司X01卡宾枪转换套件
大众推出途锐R-Line Plus豪华套件