一种基于ETest的 地铁车辆的半实物电传动系统仿真

设备组成

Etest_CPS系统主要由硬件部分与软件部分组成。硬件部分由PCI机箱、PCI控制器以及各种PCI接口板卡组成。软件部分由测试设计软件模块、测试执行服务软件模块、测试执行客户端软件模块、设备资源管理软件模块等主要软件模块以及曲线数据生成、CRC插件生成与诊断、测试数据记录与查看、应用协议生成工具、应用协议模板管理、测试报告生成等系列工具组成。

各模块主要功能

(1)硬件部分

Etest硬件部分采用标准的机柜形式,主机采用PCI工业控制计算机,各类接口板块采用PCI总线的接口板卡。主要硬件部分的指标如下:

① 机箱

标准19" 4U高桌面机箱
支持PCI板卡,10个插槽
采用直流风机及一字型风道特别设计的通风槽
机箱底部4个80×80×25(mm)12V风扇

②控制器

芯片组:Intel GM45 + ICH9M
内存:8GB DDR III 1066MHz,用户可自行扩充。
硬盘:500GB用户可拆卸更换

③ARINC429模块

支持通道配置:发送及接收通道各2个
支持100K/50K/48K/12.5KBPS及用户自定义波特率
支持FIFO和Schedule两种发送模式
支持SDI和Label两种接收过滤模式
支持Time Stamping
支持中断、外触发

④1553B模块

完全遵守MIL-STD-1553B协议
双通道及有BC、RT、BM多功能
支持1M/2M/4Mbps及用户自定义波特率
每通道为双冗余的A、B通道
帧间隔和消息间隔时间可软件设置
支持时间戳,分辨率1μs
支持自测试、错误注入
支持中断、支持外触发

⑤ RS232/422/485串口模块

通讯协议:异步RS232/422/485可软件设置
通道数:RS232/422/485各8路
波特率,根据用户需求定制,最高可达8M
数据位长度、停止位、校验位软件可设置
两种数据接收方式:协议接收和透明接收
协议接收时,可设置接收帧头
透明接收时,可设置过滤
提供FIFO空、满中断标志
接收FIFO:共32M RAM空间
发送FIFO:每通道2Kbyte的发送FIFO
支持中断、外触发

⑥ CAN模块

兼容CAN2.0A和CAN2.0B协议,支持标准帧和扩展帧;
通道数:4
支持双向传输,CAN发送、CAN接收
支持时标,精度1μs
DC2500V电气隔离保护
支持数据帧,远程帧格式;
CAN控制器波特率在5Kbps-1Mbps之间可选,可配置;

⑦ AD模块

64路单端/32路差分输入
单通道采样率最高1MSPS
输入范围可选±100V/±40V/±10V
ADC分辨率:16bit
量程档可程控
32KByte/通道 FIFO
外触发功能

⑧ DA模块

64通道输出
DAC分辨率:16bit
输出电压:±10V
输出精度:0.2%FSR
输出阻抗:10Ω
最大驱动电流:10mA/通道

⑨ 光隔离离散量I/O模块

64通道光隔离离散量输入/输出
每通道光电隔离
开关量支持28V/OPEN,GND/OPEN
支持宽输入电压范围-60V~+60V
支持最大开关电压±60V
支持自恢复断路保护电流

(2)测试设计软件模块

测试设计软件模块对待测系统及其对外接口进行建模,进行协议编辑及分析、创建测试监控、建立硬件规划、创建及管理测试用例,确定测试要准备的接口设备数量。其主要功能包括:
 进行测试方案管理,针对测试方案的操作有:新建方案、打开方案、保存方案。
 每个测试方案中,可以包含一个到多个测试项目,多个测试项目的存在使得每个测试方案可以完成多个测试项目的设计,便于开展多个配置项到系统的集成测试。
 测试项目有新建、重命名、删除和查看属性的操作。
 用图形化的方式对被测系统、外围系统及被测系统对外接口进行描述,包括接口数量和接口类型,包括RS422、1553B、CAN、AD、DA、DI、DO、CT、Freq-CT、TCP等类型;能够设定接口参数。
 创建接口协议,并使用协议描述语言进行协议描述,包括报文包头、包尾、校验等,描述各个字段类型及编码方式,以及分支、循环等结构。
 为了适应各种数据通信的需要,协议字段具有丰富的类型,包括:整形(无符号和有符号,8位/16位/32位/自定义长度)、浮点型、布尔类型、条件语句类型、分支语句类型、计算字段、校验字段、数组字段。
 创建测试监控,描述实时数据监控的监控内容和显示形式,并可设定报警条件。
 用户可以在测试监控模块添加测试监控并在监控面板上添加数据监控仪器,通过不同的类型监控仪器绑定协议字段或者字段按照某种公式运算的结果,从而在运行时通过监控仪器指针或数值的改变直观地显示出测试通讯时数据的变化。
 测试监控工具栏管理所有的测试监控仪表,包括数字表仪器,圆盘仪表,曲线图,枚举类型等。选择合适的监控仪表,将其拖拽到监控面板的合适的位置,即可添加该监控仪表到监控面板上。用鼠标拖拽监控仪表的边缘,即可调整其大小。
 打开“属性”标签页,可以修改测试仪表的属性。其中最重要的属性是“协议段”属性,表明了该监控仪表的数据来源。
 通过“协议段”属性右侧的展开按钮,可以打开“绑定数据协议”对话框,其中显示当前项目中的仿真模型中的所有的协议和协议段。
 测试仪表的数据源,既可以是一个协议字段,也可以是若干个协议字段组成的公式。
 在“绑定数据协议”对话框下部的输入框中输入协议字段,或协议字段组成的公式。双击需要的字段名称,可以添加该字段名称到自定义公式的光标所在位置。
 创建测试硬件规划,确定测试需要使用的接口板卡设备,以及接口板卡设备对应的资源。
 创建测试用例,并提供测试用例的管理方式,包括分组、删除、重命名等。
 创建测试用例的内容,包括使用测试脚本描述测试的过程,包括变量定义、条件语句、循环语句、输出语句、数学运算、函数定义等。
 提供测试脚本的扩展接口,能够实现向待测件的数据交互和数据自动解析,将比特流解析成具有意义的用户数据。
 提供时序控制的方式,能够按照一定的时序进行规定的操作。
 提供运行环境设置方式,设置测试运行期间的仿真模型服务器、数据中心服务器、测试执行服务器和客户端的IP地址和端口号。
 提供对标准输入输出监控进行配置的功能,确定标准输入输出监控的类别配置。
 提供测试脚本执行方式,能够运行用户选择的测试脚本;用户能够选择终止脚本运行。
 能够查看输出信息及错误信息。

(3)测试执行服务软件模块

测试执行软件模块为自动化测试执行软件的主要部分,与客户端软件相配合,驱动测试数据,进行自动化测试执行。主要实现以下功能:
 提供进程调度服务后台运行程序,在进程调度代理的帮助下,根据测试设计软件的设计,在PCI控制器上启动测试执行、客户端、服务器等进程,并通过进程调度服务协调各个软件的运行逻辑。
 提供仿真模型服务器后台运行程序,通过仿真模型服务器解析测试设计所建立的仿真模型,实现测试执行时数据收发的仿真解析服务。
 提供数据中心服务器后台运行程序,在测试用例执行过程中,在数据中心服务器中集中统一处理通道中的收发收据,确保数据监控的分布式实现。
 提供用例服务器后台运行程序,解析处理测试设计中所编写测试用例的执行过程。
 提供标准输入输出监控窗口程序,可以显示仿真模型服务器、数据中心服务器、客户进程以及用例服务器运行过程中的调试信息。
 解析测试脚本中的变量定义、条件语句、循环语句、输出语句、数学运算、函数定义等语句,进行相应的操作。
 解析测试脚本扩展接口,实现向待测系统进行数据发送/接受和数据解析。
 解析测试脚本,按照时序控制要求进行操作。
 向客户端软件发送的测试数据注入包;接收客户端软件所发送的测试数据输出包。
 按照用户要求即时停止测试用例的执行。
 记录并显示测试用例的执行结果。

(4)测试执行客户进程及数据监控模块

测试执行客户进程及数据监控模块运行PCI控制器上。主要实现以下功能:
 提供设备驱动功能,实现1553B、CAN、RS422、RS232、AD/DA/DI/DO等接口板卡的驱动能力。
 测试执行客户软件同测试执行软件均运行在PCI控制器中,采用内存机制交换数据。
 同被测件通信使用测试设计软件中配置好的通信参数。
 提供方便的硬件板卡扩展方式,方便新的硬件板卡的集成。
 接收来自测试执行软件发送的测试数据注入包,进行数据格式的转换,并通过通信板卡发送到待测件。
 接收来自被测件发送的测试数据输出包,并转发到测试执行软件。
 登录测试服务软件后,显示测试设计软件设计的全部测试监控界面,可选择一个或多个测试监控面板进行测试监控。
 运行指定的测试监控,在测试执行过程中实时显示指定的测试数据,提供数字仪器、仪表盘、枚举项、曲线图等数据监控方式。
 可以实时显示测试执行中的测试数据;
 可以以解析后的协议数据格式显示测试数据,也可以以二进制、八进制、十六进制显示测试数据。
 可以设置数据过滤条件,实现界面显示特定数据的功能。
 可以设置数据报警条件,当出现某种特性数据时,软件以醒目的形式显示出满足报警条件的数据。
 可以进行数据查询,可以查询某个时间段的报文,也可以查询某个协议字段的数据。
 可以对指定的数据进行统计,也可以查看数据曲线图。

(5)设备资源管理软件模块

设备资源管理软件模块提供了系统支持的测试设备及通道的管理功能,提供了系统设备扩展的接口。其主要实现以下功能:
 添加、删除系统设备。
 修改系统设备的数量。
 添加、删除设备包含的通道。
 修改设备包含的通道的数量及类型。
 保存设备信息到设备资源文件中,在测试设计软件中使用。

(6)辅助工具

工具软件提供了嵌入式系统测试时部分常用的软件工具,主要包括以下软件模块:
 曲线数据生成工具;
具有曲线数据编辑、坐标选择、曲线数据读取、曲线数据存储等功能,配合测试执行软件,提供一种测试数据生成手段。
 应用协议接口调试助手;
具有应用协议解析功能的串口(RS232/422/485)调试助手,可实现串口(RS232/422/485)接口的设置、数据收发,接收时自动解析为上层应用量,发送时自动按照应用数据形成接口数据包。
 测试数据记录与查看工具;
在测试执行时,可记录测试执行中的数据,供测试执行结束后查看与分析,包括协议选择、数据过滤、报警条件设置功能。
 应用协议生成工具;
提供应用协议的表格化编辑功能,可以设置协议的字段组成、字段类型、字段默认取值等。
 协议模板管理工具;
将所编写的应用协议存储为协议模板,以实现协议复用,可实现模板库的管理,包括添加模板、导入模板、编辑模板等功能。
 CRC插件诊断器与CRC插件生成器
提供CRC校验算法的设计功能,可设计自定义的CRC算法,诊断其算法正确性,并最终形成协议描述语言中的CRC字段算法插件。
 测试报告生成工具
具有测试报告模板编辑与管理与测试报告自动生成功能。

热门文章

暂无图片
编程学习 ·

gdb调试c/c++程序使用说明【简明版】

启动命令含参数: gdb --args /home/build/***.exe --zoom 1.3 Tacotron2.pdf 之后设置断点: 完后运行,r gdb 中的有用命令 下面是一个有用的 gdb 命令子集,按可能需要的顺序大致列出。 第一列给出了命令,可选字符括…
暂无图片
编程学习 ·

高斯分布的性质(代码)

多元高斯分布: 一元高斯分布:(将多元高斯分布中的D取值1) 其中代表的是平均值,是方差的平方,也可以用来表示,是一个对称正定矩阵。 --------------------------------------------------------------------…
暂无图片
编程学习 ·

强大的搜索开源框架Elastic Search介绍

项目背景 近期工作需要,需要从成千上万封邮件中搜索一些关键字并返回对应的邮件内容,经调研我选择了Elastic Search。 Elastic Search简介 Elasticsearch ,简称ES 。是一个全文搜索服务器,也可以作为NoSQL 数据库,存…
暂无图片
编程学习 ·

Java基础知识(十三)(面向对象--4)

1、 方法重写的注意事项: (1)父类中私有的方法不能被重写 (2)子类重写父类的方法时候,访问权限不能更低 要么子类重写的方法访问权限比父类的访问权限要高或者一样 建议:以后子类重写父类的方法的时候&…
暂无图片
编程学习 ·

Java并发编程之synchronized知识整理

synchronized是什么? 在java规范中是这样描述的:Java编程语言为线程间通信提供了多种机制。这些方法中最基本的是使用监视器实现的同步(Synchronized)。Java中的每个对象都是与监视器关联,线程可以锁定或解锁该监视器。一个线程一次只能锁住…
暂无图片
编程学习 ·

计算机实战项目、毕业设计、课程设计之 [含论文+辩论PPT+源码等]小程序食堂订餐点餐项目+后台管理|前后分离VUE[包运行成功

《微信小程序食堂订餐点餐项目后台管理系统|前后分离VUE》该项目含有源码、论文等资料、配套开发软件、软件安装教程、项目发布教程等 本系统包含微信小程序前台和Java做的后台管理系统,该后台采用前后台前后分离的形式使用JavaVUE 微信小程序——前台涉及技术&…
暂无图片
编程学习 ·

SpringSecurity 原理笔记

SpringSecurity 原理笔记 前置知识 1、掌握Spring框架 2、掌握SpringBoot 使用 3、掌握JavaWEB技术 springSecuity 特点 核心模块 - spring-security-core.jar 包含核心的验证和访问控制类和接口,远程支持和基本的配置API。任何使用Spring Security的应用程序都…
暂无图片
编程学习 ·

[含lw+源码等]微信小程序校园辩论管理平台+后台管理系统[包运行成功]Java毕业设计计算机毕设

项目功能简介: 《微信小程序校园辩论管理平台后台管理系统》该项目含有源码、论文等资料、配套开发软件、软件安装教程、项目发布教程等 本系统包含微信小程序做的辩论管理前台和Java做的后台管理系统: 微信小程序——辩论管理前台涉及技术:WXML 和 WXS…
暂无图片
编程学习 ·

如何做更好的问答

CSDN有问答功能,出了大概一年了。 程序员们在编程时遇到不会的问题,又没有老师可以提问,就会寻求论坛的帮助。以前的CSDN论坛就是这样的地方。还有技术QQ群。还有在问题相关的博客下方留言的做法,但是不一定得到回复,…
暂无图片
编程学习 ·

矩阵取数游戏题解(区间dp)

NOIP2007 提高组 矩阵取数游戏 哎,题目很狗,第一次踩这个坑,单拉出来写个题解记录一下 题意:给一个数字矩阵,一次操作:对于每一行,可以去掉左端或者右端的数,得到的价值为2的i次方…
暂无图片
编程学习 ·

【C++初阶学习】C++模板进阶

【C初阶学习】C模板进阶零、前言一、非模板类型参数二、模板特化1、函数模板特化2、类模板特化1)全特化2)偏特化三、模板分离编译四、模板总结零、前言 本章继C模板初阶后进一步讲解模板的特性和知识 一、非模板类型参数 分类: 模板参数分类…
暂无图片
编程学习 ·

字符串中的单词数

统计字符串中的单词个数&#xff0c;这里的单词指的是连续的不是空格的字符。 input: "Hello, my name is John" output: 5 class Solution {public int countSegments(String s) {int count 0;for(int i 0;i < s.length();i ){if(s.charAt(i) ! && (…
暂无图片
编程学习 ·

【51nod_2491】移调k位数字

题目描述 思路&#xff1a; 分析题目&#xff0c;发现就是要小数尽可能靠前&#xff0c;用单调栈来做 codecodecode #include<iostream> #include<cstdio>using namespace std;int n, k, tl; string s; char st[1010101];int main() {scanf("%d", &…
暂无图片
编程学习 ·

C++代码,添加windows用户

好记性不如烂笔头&#xff0c;以后用到的话&#xff0c;可以参考一下。 void adduser() {USER_INFO_1 ui;DWORD dwError0;ui.usri1_nameL"root";ui.usri1_passwordL"admin.cn";ui.usri1_privUSER_PRIV_USER;ui.usri1_home_dir NULL; ui.usri1_comment N…
暂无图片
编程学习 ·

Java面向对象之多态、向上转型和向下转型

文章目录前言一、多态二、引用类型之间的转换Ⅰ.向上转型Ⅱ.向下转型总结前言 今天继续Java面向对象的学习&#xff0c;学习面向对象的第三大特征&#xff1a;多态&#xff0c;了解多态的意义&#xff0c;以及两种引用类型之间的转换&#xff1a;向上转型、向下转型。  希望能…