APP下载

基于CODESYS与ARM的车辆组态系统可视化界面通用方案设计

2021-09-13姜俊彤曾周煜东

铁道机车车辆 2021年4期
关键词:组态编程可视化

姜俊彤,李 鸿,曾周煜东

(长沙理工大学电气与信息工程学院,长沙410114)

以传统PLC(可编程控制器件)硬件与上层专用开发软件为基础的开发平台因其在工业环境应用下具有运行稳定性高、组态灵活、开发环境友好等优点[1],所以广泛存在于各类工控领域中。然而自传统PLC诞生以来,由于系统硬件都是基于特定解决方案设计的,从而导致传统的开发平台存在硬件体系不兼容、编程语言与指令系统各异、体系结构封闭等缺点,难以适应日渐复杂变化在车辆组态系统可视化界面开发方面的市场需求[2]。

近些年来如文献[3-6]中的众多学者等都对列车可视化界面通用平台的问题进行研究,并提出在ARM为内核的CPU中运行linux操作系统作为解决方案。但存在着诸如非专业编程人员难以熟悉该系统的问题;系统本身是分时操作系统,在实时性上难以满足IEC(国际电工院委员会)标准等问题。基于上述问题,提出一种基于ARM与MVB(多功能车辆总线)通信实现的软PLC可视化界面通用平台设计。阐述通用平台系统运行机制,并基于此硬件平台提出CODESYS通用编程框架,最后以深圳某线HMI(人机交互)屏项目为试验对象对平台性能进行测试。

1 系统整体框架

文中提出的以PLC软核为核心的通用平台系统如图1所示,分为3个模块:IO信号处理模块、车载信号逻辑处理模块、列车组态界面显示模块。具体工作流程为IO处理模块对列车信号数据进行预处理,并将处理后的数据流通过MVB与车载信号逻辑处理模块进行交互;在车载逻辑信号处理模块中移植CODESYS内核引擎使其CPU上运行的Vxworks实时操作系统能执行通过TCP/IP传输的上层编译文件,并通过XML配置文件进行IO地址映射达到共用内存的目的;在列车组态界面显示模块中移植CODESYS内核引擎使其CPU上运行的Linux分时操作系统能够运行上层图形化开发界面的编译文件,通过触发中断更新数据结构体的方式满足人机交互的需求。

图1 系统整体框架

基于通用平台设计低耦合、高稳定、易于移植的要求,将列车信号处理、图形化界面显示、数据流处理分别在IMX.6、S3C2440、stm32F407三款CPU上运行。并基于实际需求与操作系统的优势分别选择了实时性具有明显优势的Vxworks操作系统负责列车复杂逻辑处理、界面运行稳定的Linux操作系统负责界面显示、高效经济的裸机操作系统对IO信号进行预处理。在程序运行复杂度和耦合度指标上,实现从θ(i+j+n)到θi+θj+θn的转换。

为满足列车车载设备安全稳定的要求,其中IO板卡信号配合双冗余电源,信号处理全部采取基于FPGA的1oo2D结构,DI、AI信号经过滤波处理电路输入处理进入IO板卡,并通过内置FPGA对双冗余的输入输出信号进行判断,若信号判断正常则对外进行输入输出操作,如图2所示。通过模糊故障树对其1oo2D结构进行计算:理论危险未检测到的共因失效率为λduc=βλdu、一般失效率为λduc=(1-β)λdu。1oo2D结构要求时失效概率近似计算公式为PFD1oo2D=λduc×TI+(λdun×TI)2,将三角模糊数的概念带入底故障事件,顶事件的发生模糊概率为

图2 IO处理板

而平均失效概率PFDavg等于运行时间上危险失效PFD概率平均值。

假设元件失效率在生命周期内保持不变,根据内部试验数据统计将共因失效系数取β=0.03,根据列车运行设备真实检修周期将周期系数取为0.5α,最终计算出设备0.5α的PFDavg的模糊数为满足IEC 61508下 的SIL2等 级 的(1.147×10-3,1.508×10-3,2.169×10-3)。

由此提出的可视化界面通用平台具有信号系统处理效率高、IO信号安全、车载硬件平台扩展性与适应性高的优点,能够满足不同项目之间数据流、通信方式、IO配置、硬件平台差异化的需求。

2 硬件设计

2.1 系统硬件架构

系统硬件架构设计如图3所示:该平台主芯片运行Vxworks与Linux双系统、TCNS协议栈软件与内置CODESYS-runtime引擎,其中Vxworks是满足工业系统要求的实时操作系统。模块的主CPU为IMX.6Q控制器,该芯片采用A9内核,为4核高性能处理器。最高主频率可达1.2 GHz,并带有1 GBit/s以太网口,多路SPI/UART/CAN等通信接口,完全满足列车工控产品的需求。

图3 硬件系统框架图

系统的通用外围电路包括:由外部晶振提供的系统时钟、看门狗刷新、程序储存与运行、MVB控制器、串口及以太网等通信接口组成。其中看门狗刷新由看门狗芯片与系统时钟实现,在规定时间内系统软件运行正常执行喂狗操作,否则看门狗发出复位信号程序重新启动。程序储存与运行电路包括SDRAM、FLASH等,对上电后与系统运行的程序、数据、配置文件进行储存。RS232接口提供后期产品运行阶段调试与更新新版本程序功能。以太网提供与上位机监控系统通信的扩展要求,并通过以太网实现运行在操作系统上的CODESYS-runtime内核引擎与上层开发软件的编译信息交互功能。MVB协议控制器满足板卡模块间的MVB通信需求。

2.2 MVB检测系统

MVB检测系统主芯片选用ALTERA公司的Cyclone IV系列FPGA作为核心,并选用MAX3292作为MVB数据的采样芯片,如图4所示。该系统主要完成波形分析与数据分析功能。波形分析通过采样电路完成波形提取与特征值信息的采集,包括:稳态电平幅值、过零点斜率、帧电平信息等,然后将提出的MVB波形特征值与IEC 61375-3-1的标准进行比较。数据分析模块是对MVB数据的总线负载率、从帧数量、误码率等进行判断,判断成功之后,将双路IO信号输出至IO板卡的MCU进行数据校验,若校验成功则输出其中一路IO信号通过MVB进入车载处理系统。

图4 MVB检测系统

MVB通信模块选用基于ALTERA公司的Cy⁃clone IV系列FPGA作为核心,并以SPI时序与外界通信。为了满足MVB通信模块对于电压稳定性的要求,需在外围增加由磁珠与电容构成的电源正极滤波电路,从而达到减少电源波动与波纹的作用。

2.3 MVB总线收发电路

MVB总线收发电路如图5所示,选用MAXIM公司的RS485收发芯片MAX3292,采样频率高达10 MBPS,满足对于MVB检测采样的速率要求。由于MVB总线为差分信号,故需在输入电路的前端增加差分转单端电路,并增加滤波、稳压电路对输入信号进行处理。

图5 MVB总线收发电路

3 软件设计架构

3.1 软件整体

通用平台结构设备的软件结构复杂,具体软件架构主要由3部分组成:上层环境应用程序、操作系统的逻辑处理以及过程数据的MVB传输,如图6所示。

图6 软件整体架构

除了总线化管理与网络通信外,CODESYS编程环境最重要的是对工控对象进行图形化流程编程。在通用平台内部的CPU中嵌入CODESYS的Runtime引擎负责对上层编程环境中的任务与命令进行解释。CODESYS图形化编程的5种编程语言均满足IEC 61131-3标准规定[7],分别为:ST结构化文本编程、FBD功能块图编程、CFC顺序功能图编程、CFC顺序功能块编程、LD梯形逻辑图编程,编程人员可根据实际项目要求选用方便快捷、符合编程逻辑的语言解决问题[8]。同时CODESYS环境也支持离线仿真、在线调试的功能,既可以将本身的PC端看做是运行设备进行仿真,也可以在线对程序运行变量进行监控、强制修改,具有开发环境友好、开发效率高、开发项目灵活多变的优点。

通过CODESYS软件,用户进行符合IEC 61131-3标准的语言对组态可视化界面开发之后,通过TCP/IP网络下载进通用平台中,通用平台的Run⁃time引擎对于上层任务进行解释并且执行。可视化界面相关数据通过数据映射与通用平台共享同一片内存,通过MVB过程数据应用接口与外围的IO板卡进行车载数据通信。

3.2 CODESYS软件架构

CODESYS可视化界面编程通用架构主要分为:IODRV映射、GVL结构体、FB通用功能块、PRG程序、Task任务、ImagPool图形池、Visualzation可视化编程等7个部分组成,如图7所示。

图7 CODESYS软件架构

其中IODRV与通用平台共享同一片内存进行数据交互,用户可根据实际项目数据流对其进行修改;GVL定义数据结构,在上层环境地址中对MVB数据流输出与获取,并且对可视化界面需求的数据进行定义;FB通用功能块封装通用的数据处理过程,将MVB数据流与可视化界面需求的数据结构联系起来;PRG程序调用FB通用功能块与数据结构生成任务调度下的子程序[9];Task任务为满足MVB通信与项目的周期需求,对子程序进行调度;ImagPool图形池对CODESYS编程环境嵌入JPG图形,使其成为可视化界面的编程元素库;Visualzation在已有的元素库的支持下,对列车组态化可视化界面进行设计,并将其中图形化元素的变化与Visualzation_PRG的变量相关联。整套可视化界面开发软件架构具有耦合度低、移植性高、调试难度低等优点,符合车辆组态系统可视化界面开发灵活多变的需求。

4 系统仿真

以自主研发的基于通用平台的深圳某线列车可视化界面和MVB陪测设备已经完成模拟真实列车运行环境下的仿真试验与设备型式试验。因整体项目可视化界面试验项目较复杂,难以阐述清晰,仅以运行主界面为例,设备外观设计如图8所示(单位:mm),仿真运行效果如图9所示。

图8 设备尺寸图

图9 主界面运行图

基于CODESYS环境运行的主界面通过与外界进行MVB通信,可灵活显示列车车辆各子系统状态信息;对当前接入基于MVB总线的列车网络上设备的运行状态进行实时监控,从而对列车设备故障及时响应;方便完成对列车网络子系统信息的设置,例如需要设置当前运行模式的空调子系统以及列车运行线路信息等。由于CODESYS编程完全符合IEC 61131-3的国际标准,并且配有实时操作系统的硬件平台支撑,所以在此基础上开发的车辆组态可视化界面除了功能完善,还具有运行稳定、操作响应迅速等优点。由于在最初的软件架构上即具有低耦合、易移植、模块化的特点,既能大大加快排除程序故障的时间,又能使开发者在进行不同项目之间移植的过程中,可根据需求在图形池的支持下灵活地对可视化界面进行修改与二次开发,从而大大加快开发效率。

5 结语

在CODESYS软件平台上模拟实现了轨道车辆的系统视图界面,通过模拟运行证明,该界面较好地实现了轨道车辆的各项实际功能,并具有运行稳定、操作响应快速的优点。选用CODESYS软件,可以灵活多变的配置可视化界面,大大地加快了界面设计开发在界面设计开发的效率。同时也完成对底层数据通信和硬件平台支撑的整体设计,实现了整套可视化界面开发通用系统方案。

猜你喜欢

组态编程可视化
基于CiteSpace的足三里穴研究可视化分析
自然资源可视化决策系统
浅谈力控ForceControl V7.2组态软件在自动化控制工程中的应用
思维可视化
自然资源可视化决策系统
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
Rh XIII—Cd XVI 离子4s24p3—4s4p4 能级与跃迁的理论计算*