dSPACE AutomationDesk 使用简介(实现原理、界面及控制栏介绍、访问平台模型变量)

一、介绍

AutomationDesk是一种用于创建和管理任何类型自动化任务的软件工具。在dSPACE工具链中,它主要用于dSPACE硬件上的自动化测试。

二、应用领域

在这里插入图片描述

与ECU开发过程并行的还有ECU测试过程。测试开发、测试执行和结果分析、报告生成需要创建大量数据。使用AutomationDesk可以管理测试所需的所有数据

用户可以创建和指定控制流和测试参数,执行测试并记录结果。所有执行结果都存储在内部。它们可以作为XML数据导出,并动态存储在HTML或PDF文件中。搜索特定的信息,可以很容易找到。因为整个项目的视图结构化,保证能够识别和重现相关测试现象。

三、实现原理

在这里插入图片描述

以ControlDesk为例,可以通过COM API访问ControlDesk的相关控件或变量等。

COM(Component Object Model)组件对象模型是基于Windows平台的一套组件对象接口标准。

COM提供跟编程语言无关的方法实现一个对象。无论在AutomationDesk、python文件、或者用C、C#等其他语言写的脚本、跑在内部或者外部解释器上,都是通过COM应用程序编程接口访问操作相关软件的控件或变量。

四、界面及控制栏介绍

在这里插入图片描述
如上图,是打开AutomationDesk其中一个ControlDeskAccessExample例程的界面。

例程位置一般在C:\Users\UserName\Documents\dSPACE\ AutomationDesk\Demos路径。不确定的话可以右击AutomationDesk软件,点击属性,查看起始位置找到相关路径。

1、Project Manager & Library Browser

在这里插入图片描述
Project Manager: 工程管理窗口提供了工程元素的层次结构。如上图能看到一些变量测试序列、以及执行测试序列后生成的报告

Library Browser: 库浏览器为自动化任务提供了广泛的元素。有用于创建基本元素的控制流的自动化块,也有用于定义项目特定参数和变量的数据对象。包括几个标准库,用于访问平台、访问串行接口或使用诊断工具,还可以创建自己的自定义库来集成用户定义的库元素。

其中较常用的为控制流以及相关平台接口,如ControlDesk Access、ModelDesk Access。控制流能帮助实现自动化测试逻辑,访问平台接口能够将平时操作各软件的动作进行自动化

2、controldeskaccesslib

在这里插入图片描述
在这里插入图片描述
如上图点开controldeskaccesslib文件,可以看到ControlDesk Access用python是如何实现的,以StartControlDesk为例,可以看到用GetApplicationObject()访问ControlDesk应用并返回一个COM对象通过操作这个COM对象的属性Visible为True,达到打开ControlDesk的目的。

3、Sequence Hierarchy

在这里插入图片描述
Sequence Hierarchy:序列层次结构浏览窗口,和右边工作区的测试序列的元素一一对应,如上图,在窗口对Repeat自动化块进行缩放,右边也会相应的进行缩放。

4、Data Object Editor

在这里插入图片描述
Data Object Editor:数据对象编辑器,可以查看和编辑选定图元的数据对象。如上图点中OpenProjectAndExperiment序列,包含两个数据对象,可以在Editor窗口看到。在Reference name一栏可以看到,ProjectFileFullPath数据对象关联了ControlDeskProjectPath数据对象。ControlDeskProjectPath存储的便是要打开的文件路径。

在这里插入图片描述
数据对象下方的箭头表示这个数据对象是输入(箭头向右)还是输出(箭头向左)数据,上方箭头是表示关联了相关的数据对象。

5、Control Flows

在这里插入图片描述点击if控制流,可以看到Conditon的 Data Objects,点击Value栏里的三个小点,可以看到if的判断条件是如何表示的。

在这里插入图片描述
如图,这里是用的是python的表达式,其中要用python获取AutomationDesk数据对象的值,需要加前缀_AD_。其余有判断条件的控制流也是类似的判断形式。

五、访问平台模型变量

1、MAPort & MAPortConfiguration

在这里插入图片描述
知道如何使用控制流、数据对象、如何操控软件的API之外,做自动化常用的还要访问模型里的变量。如上图,sdf文件是模型变量的数据文件,分配运行在SCALEXIO实时机平台上。要在AutomationDesk访问具体变量,那便要配置平台,指定具体的sdf文件。

在这里插入图片描述
这需要用到XIL API Convenience或者XIL API库里的模型访问端口(Model Access Port)或者MAPort文件夹,它提供了方便的自动化块,用于访问平台进行读、写、捕获和模拟

在这里插入图片描述
在访问平台之前,先添加Mapping、MAPort、MAPortConfiguration三个变量。
在这里插入图片描述
新建一个序列,将刚新建的对象拉动,分别映射到对应的自动化块里的对象。要访问平台首先需要用InitMAPort初始化一个MAPort对象,通过访问操作MAPort对象就达到操作平台一样的效果。MAPortConfiguration是配置具体平台和具体变量文件的数据对象,双击点开MAPortConfiguration。
在这里插入图片描述
将Platform name和Variable file,对应上ControlDesk里的平台和文件。

2、Vendor

在这里插入图片描述
InitMAPort自动化块里Vendor则是用于选择XIL API的版本以及实现XIL API的供应商,双击Vendeor可以看到,默认填dSPACE。填好MAPortConfiguration以及Vendor,则InitMAPort自动化块便会将初始化好的MAPort data object对象放在MAPort里

3、Read

在这里插入图片描述
那如何进行读取,用Read自动化块作为例子,指定要读取的变量路径是输入一个字符,输出要读取的变量值是一个变量类型,所以在序列创建对应的两个变量分别关联读取和输出两个值。

在这里插入图片描述
在这里插入图片描述
如图,字符里输入平台模型变量里的路径。

在这里插入图片描述
更改DET对应的关/开变量值,Read自动化块读取的值也跟着0/1变化,正确读取。
在这里插入图片描述

4、ReadValues

若要批量读取,则可使用ReadValues自动化块,其中VariablePool需要关联Mapping数据对象,Mapping里可以批量填写映射变量路径(Identifier)和变量的别名(Alias),在读取时在Values字典型数据对象中,字符使用别名即可。将模型变量写入值与读取值同理操作。
在这里插入图片描述
另外需要注意,一个MAPort数据对象对应一个平台,如若不再使用记得释放MAPort对象,方便其余平台映射使用。

六、总结

了解AutomationDesk的操作原理,界面以及控制栏工具的使用,如何去访问读写具体的模型变量这三点,大部分dSPACE相关的自动化测试执行任务均可通过编程逻辑在AutomationDesk里实现。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云溪溪儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值