当前位置: 首页 > news >正文

vTESTstudio - VT System CAPL Functions - VT2004(续2)

不要沮丧,不必惊慌,做努力爬的蜗牛或坚持飞的笨鸟,我们试着长大,一路跌跌撞撞,哪怕遍体鳞伤。

vtsSetPWMVoltageLow - 设置PWM输出上的低电压

功能:指定数字输出信号(尤其是PWM信号)输出的低电平

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

Voltage:低电平电压设置值,单位伏特;范围:0V--27 V(VT2004);0V -- 25V(VT2516)。

返回值:

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

-1:调用错误

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

-3:指定的电压无效

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

Demo演示

参考vtsSetPWMVoltageLow示例

vtsSetPWMVoltageLow - 设置PWM输出上的高电压

功能:指定数字输出信号(尤其是PWM信号)输出的高电平

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

Voltage:低电平电压设置值,单位伏特;范围:0V--27 V(VT2004);0V -- 25V(VT2516)。

返回值:

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将频率增加1HzTestWaitForTimeOut(100);currentFrequency += 1;@sysvar::VTS::RPM_Sensor::PWMFreq = currentFrequency;}//停止仿真vtsStopStimulation("VTS::RPM_Sensor");
}
//同功能不同实现方法
sysvar::VTS::RPM_Sensor.SetPWMVoltageLow(0.0);
sysvar::VTS::RPM_Sensor.SetPWMVoltageHigh(5.0);

vtsSetPWMRepeats - 设置激励开始后的激励PWM周期数

功能:函数功能为设置激励开始后的激励PWM周期数。如果想要一直输出PWM波型的激励,将参数numOfRepeats设置为0就可以了

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

numOfRepeats:要使用PWM激励的周期数。有效值范围为:0 -- 65535。

返回值:

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

-1:调用错误

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

-3:指定的重复次数无效。

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将频率增加1HzTestWaitForTimeOut(100);currentFrequency += 1;@sysvar::VTS::RPM_Sensor::PWMFreq = currentFrequency;}//停止仿真vtsStopStimulation("VTS::RPM_Sensor");
}
//同功能不同实现方法
sysvar::VTS::RPM_Sensor.SetPWMRepeats(0);

vtsSetWFParams - 配置电压或电阻曲线输出的参数

功能:该函数功能为电压或电阻曲线或位流的输出配置参数

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

timeIncrement:指定在转换到下一个插值点之前,指定插值点的值将被激发多长时间。

根据模块和波形,时间增量的不同范围有效值范围:

VT7001模块上的电压曲线:时间增量:0.000001s(1µs)-- 0.065s(65 ms),传输至VT系统的分辨率为微秒级。

VT2816或VT2004模块上的电压曲线:时间增量:-0.065s(-65 ms)-- 0.065s(65 ms)。如果该值为负值,则波形向后输出,传输至VT系统的分辨率为纳秒级。

电阻曲线:R>模式下为0.0005(500µs)-- 0.065(65 ms),R<模式下为0.001(1 ms)-- 0.06 5(65毫秒),传输至VT系统的分辨率为纳秒。

VT2516模块上的BitStreams:时间增量可以是0.000002(2µs)-- 0.065(65 ms),传输至VT系统的分辨率为微秒。

VT2848模块上的BitStreams:timeIncrement可以是-0.065(-65毫秒)-- 0.065(65毫秒)。如果该值为负,则向后输出比特流,传输至VT系统的分辨率为纳秒。

注意:10微秒以内的值主要依赖环境条件,并不一定都能够达到。

pause:指定波形两次重复之间的激励的中断时间,有效值范围:0.0s -- 4294s,传输至VT系统的分辨率为纳秒。

numOfRepeats:要使用PWM激励的周期数。有效值范围为:0 -- 65535。

startDelay:指定刺激开始的延迟时间(秒),通过这样们就可以顺序启动多条激励曲线,支持该函数的模块:VT2004、VT2816、VT2848模块;有效值范围:0s - 4s

传输至VT系统的分辨率为纳秒。

startPoint:指定激励应开始的曲线的点,通过这里我们可以在一条曲线的不同未知开始多个激励,支持该函数的模块:VT2004、VT2816、VT2848模块;有效值:0 -- 4096

返回值:

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

-1:错误

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

-3: 指定的参数中存在至少一条是无效值。

Demo演示

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

SimulateSensorResistanceWF ()
{//选择电阻刺激和波形曲线类型vtsSetStimulationMode("VTS::Temp_Sensor", 3);vtsSetCurveType("VTS::Temp_Sensor", 2);// 负载波形(WaveForm形.TXT的内容)vtsLoadWFResistance("VTS::Temp_Sensor", "C:\\WaveForm.TXT");//配置波形、参数://TimeIncrement(保存每个样本的时间)=65ms//暂停(两次波形重复之间暂停)=2s//重复次数(重复次数)=3vtsSetWFParams("VTS::Temp_Sensor", 0.065, 2.0, 3);// 使用配置好的波形启动激励vtsStartStimulation("VTS::Temp_Sensor");
}
//同功能不同实现方法
sysvar::VTS::Temp_Sensor.SetWFParams(0.065, 2.0, 3);

相关文章:

vTESTstudio - VT System CAPL Functions - VT2004(续2)

不要沮丧&#xff0c;不必惊慌&#xff0c;做努力爬的蜗牛或坚持飞的笨鸟&#xff0c;我们试着长大&#xff0c;一路跌跌撞撞&#xff0c;哪怕遍体鳞伤。vtsSetPWMVoltageLow - 设置PWM输出上的低电压功能&#xff1a;指定数字输出信号&#xff08;尤其是PWM信号&#xff09;输…...

每天一个linux命令---awk

awk命令 1. 简介 awk是一种处理文本文件的语言&#xff0c;是一个强大的文本分析工具&#xff0c;grep、sed、awk并称为shell中文本处理的三剑客。 AWK 是一种处理文本文件的语言&#xff0c;是一个强大的文本分析工具。 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho&am…...

Open3D 点云旋转之轴角式(Python版本)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 三维空间中表示旋转的方法有很多种,轴角式是其中非常经典的一种表示方式。虽然欧拉角表示旋转的方法很是常用,但欧拉角存在着万向锁这个问题,因此轴角式旋转在旋转使用中更为合适。其原理也很是明了,如下所述:…...

Error: Timeout trying to fetch resolutions from npm

文章目录问题描述【最终解决】我搜索到的解决方案npmjs 该依赖各版本列表及对应的被下载次数github issue 说降级到0.0.3就可以正常运行了SOF 也说降级别到0.0.3问题描述 在项目里用到了 "preinstall": "npx npm-force-resolutions"配置&#xff0c;在一台…...

Python基础3

目录 1. 函数多返回值 2. 函数多种传参方式 3. 匿名函数 3.1 函数作为参数传递 3.2 lambda匿名函数 4. 文件的读取操作 4.1 open&#xff08;&#xff09;打开函数 4.2 读操作方法 4.3 文件的写入 4.4 文件的追加 5. 异常的捕获方法 5.1 捕获常规异常 5.2 捕获指定…...

高可用集群(HAC)

1、高可用集群keepalive说明 高可用定义&#xff1a; 目的&#xff1a;尽可能的提高服务的可用性 99%、99.9%、99.99%、99.999% 实现原理&#xff1a;心跳检测服务&#xff1a; 有状态&#xff1a; MySQL 无状态&#xff1a; apacheLVS Keepalive原理 案例环境专为 LVS和…...

python基于django微信小程序的适老化老人健康预警小程序

随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代, 适老化老人健康预警微信小程序就是信息时代变革中的产物之一。 任何系统都要遵…...

基于微信小程序图书馆管理系统

开发工具&#xff1a;IDEA、微信小程序服务器&#xff1a;Tomcat9.0&#xff0c; jdk1.8项目构建&#xff1a;maven数据库&#xff1a;mysql5.7前端技术&#xff1a;vue、uniapp服务端技术&#xff1a;springbootmybatis-plus本系统分微信小程序和管理后台两部分&#xff0c;项…...

将镭神C32激光雷达的PointXYZ数据转化为PointXYZIR格式 - 附代码

之前遇到过“镭神32线激光雷达ROS下运行fromRosMsg()报错 Failed to find match for field “intensity“ 问题”&#xff0c; 当时确定了是镭神C32雷达缺少相应字段&#xff0c;并记录博客【学习记录】镭神32线激光雷达ROS下运行fromRosMsg()报错 Failed to find match for fi…...

高级前端一面面试题集锦

详细说明 Event loop 众所周知 JS 是门非阻塞单线程语言&#xff0c;因为在最初 JS 就是为了和浏览器交互而诞生的。如果 JS 是门多线程的语言话&#xff0c;我们在多个线程中处理 DOM 就可能会发生问题&#xff08;一个线程中新加节点&#xff0c;另一个线程中删除节点&#…...

Java基础 -- List集合

Java基础 -- List集合1. Introduction1.1 好处1.2 常用泛型2. 交集&#xff0c;差集等2.1 自身的方法2.2 1.8jdk stream 新特性2.3 Apache的CollectionUtils工具类&#xff08;推荐&#xff09;3. 限定泛型范围4. Awakening1. Introduction 1.1 好处 代码复用&#xff0c;多种…...

【Linux】网络编程 - Socket套接字/基于UDP的网络通信

目录 一.套接字 1.什么是套接字/Socket套接字 2.套接字的分类 3.Socket套接字的常见API 二.网络字节序 1.什么是网络字节序 2.网络字节序和主机字节序的转换接口 三.IP地址形式上的转换 四.客户端的套接字不由程序员bind 1.为什么客户端套接字不能由程序员bind 2.OS…...

流程引擎之Camunda简介

背景Camunda 是支持 BPMN&#xff08;工作流和流程自动化&#xff09;、CMMN&#xff08;案例管理&#xff09; 和 DMN&#xff08;业务决策管理&#xff09; java 框架。Camunda 基于Activiti5 保留了 PVM&#xff0c;其开发团队也是从 activiti 中分裂出来的。Camunda 来自拉…...

Mybatis笔记整理

1. 相关文档地址 中文文档 https://mybatis.org/mybatis-3/zh/index.htmlMybatis可以配置成适应多种环境&#xff0c;不过每个SqlSessionFactory实例只能选择一种环境。Mybatis默认事务管理器是JDBC&#xff0c;连接池&#xff1a;POOLEDMaven仓库:下载地址<dependency>…...

【react全家桶】面向组件编程

文章目录02 【面向组件编程】1.组件的使用1.1 函数式组件1.2 类式组件1.3 组合组件1.4 提取组件组件实例的三大属性 state props refs2.state2.1 基本使用2.2 setState()2.3 简化版本2.4 State 的更新可能是异步的2.5 异步更新解决方案2.6 数据是向下流动的3.props3.1 基本使用…...

Django框架之模型视图-使用 PostMan 对请求进行测试

使用 PostMan 对请求进行测试 PostMan 是一款功能强大的网页调试与发送网页 HTTP 请求的 Chrome 插件&#xff0c;可以直接去对我们写出来的路由和视图函数进行调试&#xff0c;作为后端程序员是必须要知道的一个工具。 安装方式1&#xff1a;去 Chrome 商店直接搜索 PostMan…...

(考研湖科大教书匠计算机网络)第五章传输层-第四节:TCP流量控制

获取pdf&#xff1a;密码7281专栏目录首页&#xff1a;【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一&#xff1a;流量控制概述二&#xff1a;流量控制举例三&#xff1a;拓展阅读&#xff08;可不看&#xff09;&#xff08;1&#xff09;TCP流量控制完整例子&a…...

使用Docker-Compose搭建Redis集群

1. 集群配置3主3从由于仅用于测试&#xff0c;故我这里只用1台服务器进行模拟redis列表2.编写redis.conf在server上创建一个目录用于存放redis集群部署文件。这里我放的路径为/root/redis-cluster 在/opt/docker/redis-cluster目录下创建redis-1,redis-2,redis-3,redis-4,redis…...

华为OD机试 -计算网络信号(Js)

计算网络信号 题目 网络信号经过传递会逐层衰减,且遇到阻隔物无法直接穿透,在此情况下需要计算某个位置的网络信号值。 注意:网络信号可以绕过阻隔物 array[m][n] 的二维数组代表网格地图,array[i][j] = 0代表 i 行 j 列是空旷位置;array[i][j] = x(x 为正整数)代表 i 行 …...

【数据结构】————栈

文章目录前言栈是什么&#xff0c;栈的特点实现栈的基本操作栈的相关操作声明1.创建栈2.对栈进行初始化3.销毁栈4.判断栈是否为空5.压栈操作6.删除栈顶元素7.取出栈顶元素8.计算栈内存放多少个数据总结前言 本文主要讲述特殊的线性表——栈&#xff1a; 栈是什么&#xff0c;栈…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中&#xff0c;网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时&#xff0c;开发者迫切需要一套高效、可靠且跨平台的调试方案。过去&#xff0c;我们或多或少使用过 Chrome DevTools、Remote Debug…...

【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL

ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...

rknn toolkit2搭建和推理

安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 &#xff0c;不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源&#xff08;最常用&#xff09; conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...

恶补电源:1.电桥

一、元器件的选择 搜索并选择电桥&#xff0c;再multisim中选择FWB&#xff0c;就有各种型号的电桥: 电桥是用来干嘛的呢&#xff1f; 它是一个由四个二极管搭成的“桥梁”形状的电路&#xff0c;用来把交流电&#xff08;AC&#xff09;变成直流电&#xff08;DC&#xff09;。…...

在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7

在 Go 项目中降级 go-ansible 从 v2.2.0 到 v1.1.7 具体步骤&#xff1a; 第一步&#xff1a; 修改 go.mod 文件 // 原 v2 版本声明 require github.com/apenella/go-ansible/v2 v2.2.0 替换为&#xff1a; // 改为 v…...