vTESTstudio - VT System CAPL Functions - VT2004

news2024/12/23 14:05:17

纵使生活有白般不顺,我们依然要千般喜乐,万般热爱,只因那些我们喜爱和爱我们的人儿。

vtsLoadWFResistance - 从指定文件加载通道的电阻曲线

功能:此函数从指定文件加载VT2004通道的电阻曲线

注意:该函数不能在任何CAPL处理程序例程或ECU节点中调用。它只能在测试模块的MainTest方法上下文中调用;

Target:目标通道变量空间名称,例如:VTS::Temp_Sensor

filepth:包含电阻曲线的文件路径,可以是绝对路径地址也可以是相对路径地址。

返回值:

0:成功重置目标通道最大和最小值

-1:未知错误

-2:调用命令的命名空间不存在、不是有效的VT系统命名空间或不支持此命令。

-3:访问文件时出错。例如,这可能意味着找不到文件或文件格式与预期不同。

-4:传输错误–波形无法正确传输。

Demo演示

以下示例演示了如何使用VT2004通道的波形电阻输出来模拟传感器。在本例中,名为waveform.TXT的波形加载并在Temp_Sensor通道上回放

SimulateSensorResistanceWF ()
{
   // 选择电阻刺激和波形曲线类型
   vtsSetStimulationMode("VTS::Temp_Sensor", 3);
   vtsSetCurveType("VTS::Temp_Sensor", 2);

   // 负载波形(波形.TXT的内容如下所示)
   vtsLoadWFResistance("VTS::Temp_Sensor", "C:\\WaveForm.TXT");
   //同功能用法
   //sysvar::VTS::Temp_Sensor.LoadWFResistance("C:\\WaveForm.TXT");
   //配置波形、参数:
   //TimeIncrement(保存每个样本的时间)=65ms
   //暂停(两次波形重复之间暂停)=2s
   //重复次数(重复次数)=3
   vtsSetWFParams("VTS::Temp_Sensor", 0.065, 2.0, 3);

   // 使用先前配置的波形开始触发
   vtsStartStimulation("VTS::Temp_Sensor");
}

vtsLoadWFVoltage - 从指定文件加载通道的电压曲线

功能:该函数从指定文件加载通道的电压曲线。

注意:该函数不能在任何CAPL处理程序例程或ECU节点中调用。它只能在测试模块的MainTest方法上下文中调用;

Target:目标通道变量空间名称,例如:VTS::Temp_Sensor

filepth:包含电压曲线的文件路径,可以是绝对路径地址也可以是相对路径地址。

返回值:

0:成功重置目标通道最大和最小值

-1:未知错误

-2:调用命令的命名空间不存在、不是有效的VT系统命名空间或不支持此命令。

-3:访问文件时出错。例如,这可能意味着找不到文件或文件格式与预期不同。

-4:传输错误–波形无法正确传输。

Demo演示

以下示例演示如何使用VT2004通道的波形电压输出来模拟传感器。示例中添加名为waveform.TXT的波形加载并在Temp_Sensor通道上回放。

SimulateSensorVoltageWF ()
{
   // 选择电压仿真和波形曲线类型
   vtsSetStimulationMode("VTS::Temp_Sensor", 1);
   vtsSetCurveType("VTS::Temp_Sensor", 2);

   // 负载波形(waveform.TXT的内容如下所示)
   vtsLoadWFVoltage("VTS::Temp_Sensor", "C:\\WaveForm.TXT");

    //配置波形、参数:
    //TimeIncrement(保存每个样本的时间)=65ms
    //暂停(两次波形重复之间暂停)=2s
    //NumberOfRepeats(重复次数)=0(无限制)
   vtsSetWFParams("VTS::Temp_Sensor", 0.065, 2.0, 0);

   // 输出配置波形10秒
   vtsStartStimulation("VTS::Temp_Sensor");
   TestWaitForTimeout(10000);
   vtsStopStimulation("VTS::Temp_Sensor");
}
//同功能不同实现方法
sysvar::VTS::Temp_Sensor.LoadWFVoltage("C:\\WaveForm.TXT");

以下示例展示了如何在VT7001电源信道上输出波形。在此示例中使用了外部电源单元(名称空间ExtSupply)。ECU连接到OUT1(名称空间ECUpower)和GND1;VT7001模块被命名为电源模块。输出电压由预定义曲线(powercycle.TXT)确定。曲线内插点的时间增量为65ms;曲线持续10秒。

ExternalSupplyWithCurve ()
{
   // 将模式设置为仅一个电源->外部电源1
   vtsSetInterconnectionMode("VTS::PowerSupply", 1);
   //从文件加载波形
   //因数设置为0.2:1 V控制电压->电源输出5 V
   vtsSetRefVoltageMode("VTS::ExtSupply", 2, 0.2);
   vtsLoadWFVoltage("VTS::ExtSupply", "powercycle.TXT");
   vtsSetWFParams("VTS::ExtSupply", 0.00005, 0.2, 0);

   // 打开输出开关并启动输出曲线
   @sysvar::VTS::Clamp30::Active = 1;
   vtsStartStimulation("VTS::ExtSupply");

   //等待5秒,停止回放
   TestWaitForTimeOut(5000);
   vtsStopStimulation("VTS::ExtSupply");
}

//同功能不同实现方法
sysvar::VTS::ExtSupply.LoadWFVoltage("powercycle.TXT");

vtsSetCurveType - 设置曲线的模式

功能:指定刺激信号的形式(动态)。

Namespace:目标通道变量空间名称,例如:VTS::RPM_Sensor

Type:类型值,可参考下表。

Value

Enum

Short Description

0

eVTSCurveTypeConstant

常量值,由相应的输出系统变量确定。然而,也可以通过更改中变量的值来动态使用该值。

1

eVTSCurveTypePWM

PWM

2

eVTSCurveTypeAnalogWaveform

模拟波形;使用LoadWFVoltage(仅适用于VT2004和VT2816)或LoadWFResistance(仅适用于VT2004)加载,然后使用StartStimulation启动。

3

eVTSCurveTypeBitStream

Bit stream(=数字波形);使用LoadWFBitStream加载,然后使用StartStimulation启动(仅适用于VT2516和VT2848)。

4

eVTSCurveTypeUserFPGA

用户FPGA。如果模块的输出应由用户可编程FPGA控制,则必须设置该类型。只有当模块包含用户可编程FPGA时,才能使用此类型

返回值:

0:成功重置目标通道最大和最小值

-1:调用错误

-2: 调用命令的命名空间不存在、不是有效的VT系统命名空间或不支持此命令。

-3: 指定的类型无效

-4: 未在测试模块的主方法上下文中调用该函数。因此,不可能等到从VT系统接管设置。否则,回调成功,但不确定回调返回时是否已接管设置。

vtsSetStimulationMode - 设置激励模式

功能:设置内部电压或电阻刺激的模式。。

Target:目标通道变量空间名称,例如:VTS::RPM_Sensor

Mode:类型值,可参考下表。

Value

Enum

Short Description

0

eVTSStimulationModeNone

内部激励未激活

1

eVTSStimulationModeVoltage

电压激励

2

eVTSStimulationModePotentiometer

电位计激励(仅VT2004)

3

eVTSStimulationModeResistanceGreater

电阻激励R>(在电阻值之间切换时,仅出现电阻值高于输出或目标电阻的中间状态 (VT2004)

4

eVTSStimulationModeResistanceLower

电阻激励R<(在电阻值之间切换时,仅出现电阻值较低的中间状态)(VT2004)

返回值:

0:成功重置目标通道最大和最小值

-1:调用错误

-2: 调用命令的命名空间不存在、不是有效的VT系统命名空间或不支持此命令。

-3: 指定的类型无效

-4: 未在测试模块的主方法上下文中调用该函数。因此,不可能等到从VT系统接管设置。否则,回调成功,但不确定回调返回时是否已接管设置。

Demo演示

以下示例演示了如何使用VT2004通道的PWM输出来模拟基于PWM的传感器(例如RPM传感器)。本例中使用的通道称为RPM_Sensor。

SimulateSensorPWM ()
{
   // 频率设置 (100Hz)
   float currentFrequency = 100.0;
   // 选择电压刺激和PWM曲线类型
   vtsSetStimulationMode("VTS::RPM_Sensor", eVTSStimulationModeVoltage);
   vtsSetCurveType("VTS::RPM_Sensor", eVTSCurveTypePWM);
   // PWM信号将在0V和5V之间切换
   vtsSetPWMVoltageLow("VTS::RPM_Sensor", 0.0);
   vtsSetPWMVoltageHigh("VTS::RPM_Sensor", 5.0);
   // 将重复次数设置为无限
   vtsSetPWMRepeats("VTS::RPM_Sensor", 0);
   // 设置初始频率(100Hz)和占空比(50%)值
   @sysvar::VTS::RPM_Sensor::PWMFreq = currentFrequency;
   @sysvar::VTS::RPM_Sensor::PWMDC = 50.0;
   // 开始仿真
   vtsStartStimulation("VTS::RPM_Sensor");
   // To stimulate different sensor readings increase
   // frequency of the PWM signal over time
   //使用不同的激励传感器
   //PWM信号随时间的频率
   while(currentFrequency < 200)
   {
      // 每100ms将频率增加1Hz
      TestWaitForTimeOut(100);
      currentFrequency += 1;
      @sysvar::VTS::RPM_Sensor::PWMFreq = currentFrequency;
   }
   //停止仿真
   vtsStopStimulation("VTS::RPM_Sensor");
}
//同功能不同实现方法
sysvar::VTS::RPM_Sensor.SetCurveType(eVTSCurveTypePWM);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/350891.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电子技术——分立CS和CE放大器的低频响应

电子技术——分立CS和CE放大器的低频响应 我们之前在学习放大器中从来没有关系过信号频率对放大器的影响&#xff0c;也就是说我们默认放大器具有无限的带宽&#xff0c;这当然不符合现实逻辑。为了说明这一点&#xff0c;我们使用下图&#xff1a; 上图描述了MOS或BJT分立电路…

电脑录屏是哪个快捷键?3个录屏快捷键,教你快速录屏

在每天的办公、学习、生活中&#xff0c;很多小伙伴经常需要使用电脑录屏功能。想要快速进行电脑录屏&#xff0c;那么就需要使用电脑录屏的快捷键进行协助。电脑录屏是哪个快捷键&#xff1f;今天&#xff0c;小编就分享3个录屏快捷键&#xff0c;教你如何快速录屏。 一、电脑…

C语言格式化输入和输出; Format格式化

Format格式化 %1s或者%2s,%3s:取字符串的前1,2或者3位。%*c:屏蔽一个字符。%[A-Z]:取一个A到Z的值。 %[^a-z]:不取a到z的值。 %[^\n]&#xff1a;取非换行之前的值。printf("%5d", a):左边补 格式化&#xff1a;有正则在其中。 int main() {printf("%5d\n&quo…

二叉树讲解

对于二叉树&#xff0c;是真正的很难&#xff01;很难&#xff0c;不是一般的难度&#xff01;&#xff01;笔者学习完二叉树&#xff0c;笔记记录了得有三十多页&#xff0c;但是&#xff0c;还是很不理解&#xff08;做题不怎么会&#xff09;下面进入二叉树的基础部分&#…

无法决定博客主题的人必看!如何选择类型和推荐的 5 种选择

是否有人不能迈出第一步&#xff0c;因为博客的类型还没有决定&#xff1f;有些人在出发时应该行动&#xff0c;而不是思考&#xff0c;但让我们冷静下来&#xff0c;仔细想想。博客的难度因流派而异&#xff0c;这在很大程度上决定了随后的发展。因此&#xff0c;在选择博客流…

关于IDM下载器,提示:一个假冒的序列号被用来注册……idea项目文件路径报红

关于IDM下载器&#xff0c;提示&#xff1a;一个假冒的序列号被用来注册……到C:\Windows\System32\drivers\etc 修改目录下面的hosts文件&#xff08;如果没有修改的权限就右键属性hosts文件修改user的权限为完全控制&#xff09;&#xff0c;在hosts里面增加以下内容&#xf…

RadGraph: Extracting Clinical Entities and Relations from Radiology Reports代码

文章来源&#xff1a;NeurIPS 文章类别&#xff1a;IE(Information Extraction) RadGraph主要基于dygie&#xff0c;主要文件为inference.py。 inference.py&#xff1a; 1、get_file_list(data_path) def get_file_list(path):file_list [item for item in glob.glob(f&q…

遮挡贴图(Occlusion Map)和微表面贴图(Microsurface Map)

遮挡贴图&#xff08;Occlusion Map&#xff09; 在3D图形学中&#xff0c;遮挡&#xff08;Occlusion&#xff09;是指光被物体挡住。即便是在PBR中&#xff0c;环境光在某些应该被遮挡的地方&#xff0c;也会以古怪的方式被反射。遮挡贴图&#xff08;Occlusion Map&#xff…

ffmpeg h264文件转mp4

h264文件不能直接在网页上播放&#xff0c;比如在浏览器上输入http://10.0.0.2/2022-01-08T22-32-58.h264&#xff0c;变成了下载。 若在浏览器上输入http://10.0.0.2/2022-01-08T22-32-58.mp4&#xff0c;则可以播放。 本文讲解用ffmpeg将h264文件转换成mp4。 首先&#xf…

视频融合 flv流格式对接(上)

FLV 是FLASH VIDEO的简称&#xff0c;FLV流媒体格式是随着Flash MX的推出发展而来的视频格式。由于它形成的文件极小、加载速度极快&#xff0c;使得网络观看视频文件成为可能&#xff0c;它的出现有效地解决了视频文件导入Flash后&#xff0c;使导出的SWF文件体积庞大&#xf…

R-Drop: Regularized Dropout for Neural Networks 论文笔记(介绍,模型结构介绍、代码、拓展KL散度等知识)

目录前言一、摘要二、R-Drop介绍三、R-Drop公式详解四、R-Drop计算流程附录0&#xff1a;代码附录一&#xff1a;熵以及信息熵附录二&#xff1a;KL散度&#xff08;相对熵&#xff09;附录三&#xff1a;JS散度附录四&#xff1a;互信息总结前言 R-Drop——神经网络的正则化Dr…

必看!Salesforce管理员职场如何快速晋升?

2023年的开局略显艰难&#xff0c;在当前的经济环境下&#xff0c;许多行业仍面临挑战。虽然交易周期可能会变得更长&#xff0c;但对新的Salesforce实施仍有巨大需求&#xff0c;现有客户仍然需要经验丰富的专业人员来优化和维护他们的Salesforce组织。 在过去的三年中&#x…

大规模即时云渲染技术,追求体验与成本的最佳均衡

现实世界映射其中&#xff0c;传统文化沉浸其境&#xff0c;旧时记忆交互其间。 仲升&#xff5c;技术作者 IMMENSE&#xff5c;内容编辑 在刚刚过温的春节&#xff0c;云之上&#xff0c;带来了一场「数字文化」新体验。 游花车、舞狮子、踩高跷、放烟花、写福字……还记得儿…

2023最强软件测试面试题,精选100 道,内附答案版,冲刺金3银4

精挑细选&#xff0c;整理了100道软件测试面试题&#xff0c;都是非常常见的面试题&#xff0c;篇幅较长&#xff0c;所以只放出了题目&#xff0c;答案在评论区&#xff01; 测试技术面试题 1、什么是兼容性测试&#xff1f;兼容性测试侧重哪些方面&#xff1f; 2、我现在有…

css复习3

精灵图的使用 为了有效地减少服务器接收和发送请求的次数&#xff0c;提高页面的加载速度&#xff0c;出现了 CSS 精灵技术&#xff08;也称 CSS Sprites、CSS 雪碧&#xff09;。 核心原理&#xff1a;将网页中的一些小背景图像整合到一张大图中 &#xff0c;这样服务器只需要…

新S/MIME标准将于今年九月生效

1月份&#xff0c;行业领导者通过了新的 S/MIME基线要求&#xff0c;旨在规范全球范围内公开信任电子邮件签名证书的颁发和管理。以下是关于此次更新的重点……根据abnormal security发布的报告称&#xff0c;近92%的受访者表示&#xff0c;他们在过去一年中至少经历过一次或多…

全网最全的Ansible中常用模块讲解

目录 前言 一、ansible实现管理的方式 二、Ad-Hoc执行方式中如何获得帮助 三、ansible命令运行方式及常用参数 四、ansible的基本颜色代表信 五、ansible中的常用模块 1、command 2、shell 3、script 4、copy 5、fetch 6、file 7、 unarchive 8、archive 9、h…

Python基础1

1. 注释 单行注释&#xff1a;以#开头。一般建议注释和内容用空格隔开。 多行注释&#xff1a;以一对三个双引号括起来的内容是注释。“““示例注释”””。 2. 数据类型 验证数据类型的方法&#xff1a;type&#xff08;被查看类型的数据&#xff09;。 注意&#xff1a;…

< 每日小技巧:N个很棒的 Vue 开发技巧, 持续记录ing >

每日小技巧&#xff1a;6 个很棒的 Vue 开发技巧&#x1f449; ① Watch 妙用> watch的高级使用> 一个监听器触发多个方法> watch 监听多个变量&#x1f449; ② 自定义事件 $emit() 和 事件参数 $event&#x1f449; ③ 监听组件生命周期常规写法hook写法&#x1f44…

扫码过磅+车牌识别,内蒙古蒙维过磅实现信息化管理

扫码过磅、车牌识别、对接SAP ERP系统设计思路&#xff1a; 无人值守系统升级改造包括车牌自动识别系统、信息化&#xff08;扫码等方式&#xff09;管理系统、智能自动控制系统等实现信息无纸化传递。远程监管地点设于公司东磅房&#xff0c;可以实现远程监测监控画面、称重过…