当前位置: 首页 > 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;栈…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...

Python 高效图像帧提取与视频编码:实战指南

Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...

WEB3全栈开发——面试专业技能点P7前端与链上集成

一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染&#xff08;SSR&#xff09;与静态网站生成&#xff08;SSG&#xff09; 框架&#xff0c;由 Vercel 开发。它简化了构建生产级 React 应用的过程&#xff0c;并内置了很多特性&#xff1a; ✅ 文件系…...