网站制作客户寻找,网站布局怎么做,大连网站制作代理价格,软件商店安装下载2023文章来源#xff1a;铁路计算机应用,2023,32(10):36-41.
作者#xff1a;许婧#xff0c;杨硕#xff0c;季志均
摘要#xff1a;随着目标控制器#xff08;OC#xff0c;Object Controller#xff09;系统在轨道交通领域的推广应用#xff0c;其硬件投入较高、研发…
文章来源铁路计算机应用,2023,32(10):36-41.
作者许婧杨硕季志均
摘要随着目标控制器OCObject Controller系统在轨道交通领域的推广应用其硬件投入较高、研发周期较长、环境搭建较为复杂的问题逐渐显现。文章根据OC系统的架构和特点基于模块化设计研究开发了OC数字孪生系统利用SkyEye进行OC数字孪生系统的开发构建对OC系统进行软硬件功能仿真实现对OC系统的虚拟化。OC数字孪生系统已在上海地铁3号及4号线改造工程中上线试运行运行效果良好可有效缓解开发调试工作和测试工作形成的资源冲突问题节省硬件资源和时间成本。
关键词数字孪生目标控制器嵌入式系统模块化设计SkyEye
DOI10.3969/j.issn.1005-8451.2023.10.08 目标控制器OCObject Controller系统可取代传统计算机联锁系统中的继电电路和监测电路实现对转辙机、信号机、电码化设备等轨旁设备的驱动和采集[1]。OC系统目前被集成于第二代智能安全型全电子计算机联锁系统[2]、列车自主运行系统[3]、列控联锁一体化系统[4-5]中具有广阔的应用前景。
由于OC系统是在定制的母板上运行嵌入式软件研发成本高、定制周期长若其存在硬件设计问题需要耗费较长时间进行修正。此外OC系统具备分布式系统和二乘二取二系统的特点配置灵活多变负载种类繁多为验证多种应用场景需要搭建复杂的实验环境、投入大量的硬件资源OC系统的研发和测试团队受限于硬件资源和实验室空间能搭建的真实环境数量较少开发调试工作和测试工作易形成资源冲突导致项目进度滞后。
数字孪生技术是指通过数据的交互融合设计虚拟模型并建立虚拟系统与真实系统的映射关系进而“镜像”实体的技术[6-7]。数字孪生技术最早被应用于飞机的故障预测[8]目前已广泛应用于卫星[9]、电力[10]、智慧城市[11]等多个领域。
针对OC系统面临的问题本文研究和设计一种OC数字孪生系统通过分析虚拟实体的运行状态预测真实OC设备的运行结果及时修正研发方向从而降低研发成本、提升研发效率。 01.OC系统组成
OC系统的主要功能是根据联锁控制系统主控计算机MCCMaster Control Computer的驱动命令控制室外的信号设备并将室外设备的状态返回给MCC。OC系统采用模块化设计理念每种控制模块完成一个独立的功能。其系统组成如图1所示。 ▲图1 OC系统组成 OC系统采用二乘二取二架构。二取二是指每个控制模块内部采用双通道架构每个通道各有1个运算单元独立得出2个运算结果结果一样则输出不一样则不输出。控制模块中的某些关键电路采用双通道差异化设计能够有效减少共因失效产生的几率。二乘二取二是指系统中相同的2个控制模块互为冗余、相互独立即使出现了交叉故障只要互为冗余的2个控制模块不同时失效系统仍能保持正常功能。 1.1 安全通信模块
用于执行OC系统与MCC间的通信通过L1安全红网和L2安全蓝网接收来自MCC的命令根据铁路信号安全协议-IRSSP-IRailway Signal Safety Protocol-I和FSFB/2Fail Safe Field Bus second generation协议控制GUEST模块并且将OC系统的状态上传给MCC。同时安全通信模块参与维护系统通信通过L3维护网送出OC系统的维护和诊断信息支持简单网络管理协议SNMPSimple Network Management Protocol、简单文件传输协议TFTPTrivial File Transfer Protocol、用户数据协议UDPUser Datagram Protocol、简单网络时间协议SNTPSimple Network Time Protocol协议。互为冗余的安全通信模块A和B之间通过L7内网相连。 1.2 GUEST模块
GUEST模块是OC系统中负责控制各种信号设备的板卡如状态采集板卡、道岔驱动板卡、信号机驱动板卡等根据驱动命令控制室外的信号设备并采集室外设备的状态。OC系统内2个相同种类的GUEST模块可互为冗余例如GUEST模块 Ai 与GUEST模块 Bi 两两配对使用并通过L4电缆连接到轨道电路、转辙机、信号机、安全继电器、电码化设备、零散设备等室外设备。GUEST模块结构如图2所示。 ▲图2 GUEST模块结构示意 各类GUEST模块的结构基本相同主要由以下2部分组成。
1母板。其上集成了特定的硬件组件例如采集电路、驱动电路、隔离电路、熔丝电路及与这些部件接口的部分现场可编程门阵列FPGAField Programmable Gate Array
2安全控制单元VCUVital Control Unit扣板。基于二取二架构的模块其上集成了CPU_A、CPU_B、Flash存储器和随机存取存储器RAMRandom Access Memory。 1.3 背板
用于实现OC系统内部的连接和通信提供电源接口、地址信息接口、配置数据接口、连接安全通信模块和各GUEST模块的控制器局域网CANController Area Network总线接口等。 1.4 CAN总线
每个GUEST模块具有2个独立的CAN通信接口可以通过背板连接在2个独立冗余的CAN总线上。正常工作时安全通信模块通过2个CAN总线CAN_A、CAN_B与GUEST模块通信。 02.OC数字孪生系统设计
2.1 系统架构
OC数字孪生系统架构包括分析与统计层、测试层、系统环境层、硬件仿真层等4层。各层相互独立、充分耦合通过接口进行交互实现物理隔离、逻辑相通便于功能扩展和系统集成根据不同使用场景的需求实现多种运行模式。其系统架构如图3所示。 ▲图3 OC数字孪生系统架构示意 1硬件仿真层可实现对OC数字孪生系统运行环境的快速构建和部署根据应用场景的需要组成多配置项、多机测试环境。可在通用计算机中虚拟运行多片CPU及芯片外设将要测试的嵌入式软件的二进制代码装载到不同的虚拟安全通信模块和虚拟GUEST模块中。
2系统环境层是整个OC数字孪生系统的核心层可实现对真实OC系统各应用场景的全系统虚拟。系统环境层在OC数字孪生系统运行时动态加载CPU模拟器、外设芯片构成虚拟实例从而完成整个OC数字孪生系统的运行包括运行操作系统和应用软件。虚拟实例可通过接口管理与其他相关测试系统进行互联构成闭环运行环境。在系统环境层中可根据场景需求完成执行环境和通信协议的配置。
3测试层对测试用例进行管理根据测试需要完成故障注入并将需要运行的测试指令传输到系统环境层。
4在测试执行后系统环境层将测试执行期间收集到的测试数据发送到分析统计层在分析与统计层对故障相关数据进行故障原因分析和记录最终由分析统计层输出测试结果。 2.2 关键模块的虚拟化
OC系统中的安全通信模块和GUEST模块均以VCU为核心处理单元扩展不同外围功能电路。根据真实OC系统中的安全通信模块和GUEST模块的结构特点可在OC数字孪生系统的系统环境层中搭建相应的虚拟模块。 2.2.1安全通信模块虚拟化
安全通信模块主要实现的功能如下。
1提供3个对外网口实现OC系统对外的网络通信提供1个对内网口实现与另一个安全通信模块间的内部网络通信
2对于二取二架构中的每个通道安全通信模块的二进制代码和电子戳存储在虚拟VCU的Flash中安全通信模块通过2个串行外设接口SPISerial Peripheral Interface通道读取相关配置数据并将数据存储在其他虚拟的Flash外设之中
3通过2条虚拟的CAN总线与系统内的GUEST模块交互数据。 在OC数字孪生系统中虚拟的VCU是双通道架构每个通道以1个虚拟的MCF54418 CPU为核心处理器双通道之间通过模拟的内部串口实现高频二取二交互通信。 2.2.2 GUEST模块虚拟化
GUEST模块的虚拟化架构与安全通信模块类似但真实OC系统的GUEST模块中有众多继电器、自检电路、ADC数字采样和FPGA等硬件组件。系统环境层根据每类GUEST模块的构造进行硬件功能的FPGA仿真通过虚拟的通用输入/输出GPIOGeneral Purpose Input/Output和FPGA接口与VCU模块进行交互从而实现模块自检、驱动命令的执行与反馈、开关量的采集和模拟量的采集等功能为OC数字孪生系统提供必要的自检和运行条件。
硬件仿真层根据应用场景搭建外围设备模块对OC系统中GUEST模块的负载进行模拟为OC数字孪生系统提供开关量、模拟量数据。 03.基于SkyEye的开发实例
SkyEye是基于可视化建模的硬件行为级仿真平台支持用户通过拖拽的方式对硬件进行行为级别的仿真和建模。基于SkyEye搭建的嵌入式系统虚拟化运行环境研发人员可不受物理硬件限制随时访问目标系统快速搭建虚拟硬件模型[12]。本文在Windows操作系统下进行基于SkyEye平台的OC数字孪生系统的开发完成对真实OC系统的虚拟化。 3.1 系统开发框架
OC数字孪生系统的开发框架如图4所示由OC数字孪生系统构建、OC数字孪生运行环境和OC数字孪生配置管理工具构成。 ▲图4 OC数字孪生系统开发框架示意 3.1.1 系统构建
本文通过设计通用模块和提供可配置的各类硬件外设接口灵活构建OC数字孪生系统。构建思路如下
1将通用API接口封装成核心动态库支持其他模块的接口调用
2采用模块化的设计思想系统的处理器、内存总线、外围设备等均被设计为独立的模块
3通过硬件配置脚本灵活搭建目标系统根据硬件配置生成不同GUEST模块的面板显示并根据程序运行情况点亮面板灯
4实现二进制文件解析和加载功能。 3.1.2 运行环境
在真实OC系统中最多包含2个安全通信模块和28个GUEST模块。与之对应的在OC数字孪生系统中最多虚拟30个VCU模块同时运行的状态每个VCU包含2个CPU并对OC系统的内部通信进行虚拟还原真实系统的运行情况。为实现60个CPU的同时运行本文设计了多VCU目标机集成方案启动4个SkyEye进程再通过时间同步工具进行统一的时钟推进确保OC数字孪生系统的协同运行。
通过SkyEye集成MCF54418 CPU及芯片外设仿真、时间同步工具和二进制动态编译等组件提供统一的OC数字孪生系统的部署验证。应用程序可直接在OC数字孪生系统中运行在与真实OC系统的硬件输入条件相同、运行时间相同时能得到与真实运行结果相同的输出。运行环境中的时间同步工具是OC数字孪生系统按时序运行的基础主要有2个功能
1实现单VCU模块内CPU_A和CPU_B的同步
2实现模块之间的同步。 3.1.3 配置管理工具
配置管理工具基于运行环境提供系统配置管理功能包括虚拟硬件的设备管理、OC节点管理、节点间网络通信状态管理、日志管理、软件配置文件的加载、系统运行时间与数据同步的设置等。 3.2 VCU建模示例
通过SkyEye对VCU进行建模虚拟VCU内部设计和多VCU间的通信如图5所示。VCU_0模块描述VCU内部对双通道的规划以core、ram、spi、uart、flash、net、gpio、can外设为基础搭建系统。VCU_1描述多个VCU之间通过can_linker的方式进行通信的机制。 ▲图5 SkyEye环境下的VCU建模示意 04.试运行情况
本文设计的OC数字孪生系统是真实OC系统设备的数字映射已于2023年2月在上海地铁3号及4号线改造工程中上线试运行。研发人员使用OC数字孪生系统在真实OC硬件未制造时提前验证OC系统的硬件设计、软件功能和系统性能在发现设计缺陷后及时优化减少了产品研发的迭代次数将研发时间从半年缩短至2个月左右节约了研发成本。在排查OC系统的故障时售后人员利用OC数字孪生系统还原了现场的复杂场景快速复现了现场问题及时定位了故障原因减少了售后工作的人力消耗。 05.结束语
本文基于OC系统架构设计了OC数字孪生系统介绍了关键模块的虚拟化方式并基于SkyEye进行开发。该系统已在上海地铁3号及4号线改造工程中上线试运行运行效果良好可有效缓解开发调试工作和测试工作形成的资源冲突缩短研发周期同时降低OC系统的维护成本具有推广价值。 参考文献
[1]郭 阳. 全电子执行模块在信号计算机联锁工程设计中的应用[J]. 铁道标准设计,2010(4):116-118.
[2]陈 亮. 全电子计算机联锁的发展与规模化应用[J]. 科技视界,2020(15):9-11.
[3]欧阳玲萍,熊坤鹏,朱程辉,等. 城市轨道交通TACS系统测试探讨[J]. 电子技术与软件工程,2023(3):143-147.
[4]贾春肖,张宏韬,齐志华. 我国铁路列控联锁系统发展趋势研究[J]. 中国铁路,2020(2):1-5.
[5]梁志国,卢佩玲,付 伟. 铁路列控联锁一体化系统研究[J]. 铁道通信信号,2019,55(S1):98-102.
[6]陶 飞,刘蔚然,刘检华,等. 数字孪生及其应用探索[J]. 计算机集成制造系统,2018,24(1):1-18.
[7]Boschert S, Rosen R. Digital twin—the simulation aspect[M]//Hehenberger P, Bradley D. Mechatronic Futures. Cham: Springer, 2016: 59-74.
[8]Grieves M, Vickers J. Digital Twin: Mitigating Unpredictable, Undesirable Emergent Behavior in Complex Systems[M]//Kahlen F J, Flumerfelt S, Alves A. Transdisciplinary Perspectives on Complex Systems. Cham: Springer, 2017: 85-113.
[9]刘蔚然,陶 飞,程江峰,等. 数字孪生卫星:概念、关键技术及应用[J]. 计算机集成制造系统,2020,26(3):565-588.
[10]刘亚东,陈 思,丛子涵,等. 电力装备行业数字孪生关键技术与应用展望[J]. 高电压技术,2021,47(5):1539-1554.
[11]王成山,董 博,于 浩,等. 智慧城市综合能源系统数字孪生技术及应用[J]. 中国电机工程学报,2021,41(5):1597-1608.
[12]杨兴伟. 基于SkyEye的SMDK2410硬件仿真平台设计[J]. 可编程控制器与工厂自动化,2009(10):87-90,105.