vTESTstudio - VT System CAPL Functions - VT7001(续1)
创始人
2024-05-26 12:12:19

vtsSetInterconnectionMode - 设置VT7001的电源输出模式

功能:设置电源模块VT7001的三个可能电源和两个电源输出的互连模式。

注意:此函数不能在任何CAPL处理程序例程或ECU节点中调用。它只能在测试模块的MainTest方法上下文中调用;使用在测量开始时的测试模块设置初始状态。

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

Mode:连接模式。

Value

Enum

Short Description

0

eVTSInterconnectionModeSupInt

内部电源供电 (mode supint)

1

eVTSInterconnectionModeSup1

电源Supply 1供电 (mode sup1)

2

eVTSInterconnectionModeSup2

电源Supply 2供电 (mode sup2)

3

eVTSInterconnectionModeSupIntSup1

OUT1和OUT2的两个独立电源:内部电源和电源1(mode supint_sup1)

4

eVTSInterconnectionModeSupIntSup2

OUT1和OUT2的两个独立电源:内部电源和电源2 (mode supint_sup2)

5

eVTSInterconnectionModeSup1SupInt

OUT1和OUT2的两个独立电源:电源1和内部电源 (mode sup1_supint)

6

eVTSInterconnectionModeSup1Sup2

OUT1和OUT2的两个独立电源: power supply 1 and power supply 2 (mode sup1_sup2)

7

eVTSInterconnectionModeSup2SupInt

OUT1和OUT2的两个独立电源: power supply 2 and internal power supply (mode sup2_supint)

8

eVTSInterconnectionModeSup2Sup1

OUT1和OUT2的两个独立电源: power supply 2 and power supply 1 (mode sup2_sup1)

9

eVTSInterconnectionModeSupSeries

电源1和电源2串联连接 (sup_series)

10

eVTSInterconnectionModeSupParallel

电源1和电源2并联 (sup_parallel)

返回值:

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

-1:调用错误

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

-3: 指定的模式无效

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

Demo演示

内部电源单元提供电力,并且ECU连接到OUT1(KL30)、OUT2(KL15)和GND1(KL31)。在本例中,内部电源单元的通道名为“IntSupply”,两个输出通道名为为“Clamp30”和“Clamp15”,VT7001模块名为“PowerSupply”。

InternalPowerSupply ()
{// 将模式设置为仅一个电源->内部电源vtsSetInterconnectionMode("VTS::PowerSupply", eVTSInterconnectionModeSupInt);// 设置电压 12.0 VvtsSetRefVoltageMode("VTS::IntSupply", 1);@sysvar::VTS::IntSupply::RefVoltage = 12.0;// 打开两个输出@sysvar::VTS::Clamp30::Active = eVTSOutputModeActive;@sysvar::VTS::Clamp15::Active = eVTSOutputModeActive;//通过卡箍15测量ECU消耗的电流//2秒后(结果写入写入窗口)TestWaitForTimeOut(2000);write("ECU is consuming %fmA.", @sysvar::VTS::Clamp30::AvgCurrent);
}

vtsSetMaxCurrentMode -设置控制电压输出的模式

功能:设置控制电压输出的模式,以控制电源的最大输出电流。

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

Mode:连接模式。

Value

Short Description

0

最大电流控制电压输出未激活

1

恒定值,由相应的输出系统变量确定

Factor:根据定义的(使用系统变量或波形)电源最大电流值确定控制电压的系数。

电源最大电流*因数=控制电压

测量开始时,该系数的默认值为1.0。如果在没有因子参数的情况下调用函数,则保留当前设置的因子。

返回值:

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

-1:调用错误

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

-3: 指定的模式无效

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

Demo演示

在以下示例中,最大电流模式在VT7001模块的电源通道ExtSupply上激活。最大电流输出设置为10A。最后激活VT7001的输出Clamp30。为了设置10A的最大电流,例如,必须向电源提供5.0 V的控制电压。因此,必须使用系数0.5。

SetMaxCurrentMode ()
{// 将模式设置为仅一个电源->外部电源1vtsSetInterconnectionMode("VTS::PowerSupply", 1);// 用定值模式激活最大电流模式// 系数为0.5vtsSetMaxCurrentMode("VTS::ExtSupply", 1, 0.5);// 将电源设置为最大10A@sysvar::VTS::ExtSupply::MaxCurrent = 10.0;// 打开开关输出@sysvar::VTS::Clamp30::Active = 1;
}

vtsSetMinCurrentMeasurementRange -设置VT7001模块自动测量范围转换时应使用的当前测量范围

功能:设置VT7001/VT2808模块自动测量范围转换应使用的当前测量范围。将不再使用低于范围参数中设置的范围的安培范围。这防止了在专用情况下的测量范围转换。即使未使用指定安培数的测量范围,这并不意味着无法进行测量。由于在这种情况下不使用最佳分流器,因此测量精度降低到手册给定值以下。使用的测量范围与最佳值的差异越大,精度越低。因此,应谨慎设置范围。

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

Range:确定自动测量范围转换可切换到的范围。

Value

Enum

Short Description

0

eVTSCurrentMeasurementRange100uA

将使用所有测量范围。

1

eVTSCurrentMeasurementRange1mA

最低使用范围:100µA…1mA

2

eVTSCurrentMeasurementRange10mA

最低使用范围:1mA…10mA

3

eVTSCurrentMeasurementRange100mA

最低使用范围:10mA…100mA

4

eVTSCurrentMeasurementRange1A

最低使用范围:100mA…1A

5

eVTSCurrentMeasurementRange10A

最低使用范围:1A…10A

6

eVTSCurrentMeasurementRange100A

最低使用范围:10A…100A

返回值:

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

-1:调用错误

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

-3: 指定的模式无效

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

Demo演示

本示例显示了在负载接通之前,如何锁定高达100mA的测量范围进行测量

PerformMeasurementAtActivation()
{//准备VT7001模块(固定电压的外部电源//连接到PS1连接器)vtsSetInterconnectionMode( "VTS::ECUSupplyModule", eVTSInterconnectionModeSup1);//配置输出以使用大于100mA的电流测量范围//并等待应用设置。预期电流低于1A//因此不应进行测量范围转换。vtsSetMinCurrentMeasurementRange( "VTS::ECUSupply", eVTSCurrentMeasurementRange1A);TestWaitForTimeOut(50);// 激活电源输出@sysvar::VTS::ECUSupply::Active = 1;// 可以在不改变测量范围的情况下测量激活
}

vtsSetRefVoltageMode -设置参考电压输出的模式

功能:设设置参考电压输出的模式,以控制电源的输出电压

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

Mode:

Value

Enum

Short Description

0

eVTSRefVoltageModeInactive

参考电压输出未激活

1

eVTSRefVoltageModeConstant

恒定值,由相应的输出系统变量确定

2

eVTSRefVoltageModeAnalogWaveForm

模拟波形;使用LoadWFVoltage加载,然后使用StartStimulation启动

返回值:

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

-1:调用错误

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

-3: 指定的模式无效

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

Demo演示

为了输出导致所需输出电压VOut的控制电压(V_Control),VT7001必须知道电源因数。

下面示例中,外部电源的因数为0.1,期望的输出电压V_Out为15V。

为了获得所需的输出电压(V_Out),VT7001自动计算并设置控制电压(V_Control)(1.5 V=15*0.1),从而产生15 V的输出电压。

SetRefVoltageMode ()
{// 将模式设置为仅一个电源->外部电源1vtsSetInterconnectionMode("VTS::PowerSupply", eVTSInterconnectionModeSup1);// 外部电源的因数0.1传输至VT7001vtsSetRefVoltageMode("VTS::ExtSupply", eVTSRefVoltageModeConstant, 0.1);//下面的线将输出电压设置为15V,//VControl(1.5 V)用给定的系数自动计算@sysvar::VTS::ExtSupply::RefVoltage = 15;// 打开输出开关@sysvar::VTS::Clamp30::Active = eVTSOutputModeActive;
}

vtsSerialSetOnErrorHandler -设置在发送或接收操作期间发生错误时发出通知的回调

功能:设置在发送或接收操作期间发生错误时发出通知的回调。

set回调必须具有以下签名:void<OnSerialError>(dword errorFlags)

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

onErrorCallback:CAPL回调函数名

返回值:

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

-1:非特定错误

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

-3: 传递的回调没有所需的签名。

Demo演示

为了输出导致所需输出电压VOut的控制电压(V_Control),VT7001必须知道电源因数。

下面示例中,外部电源的因数为0.1,期望的输出电压V_Out为15V。

为了获得所需的输出电压(V_Out),VT7001自动计算并设置控制电压(V_Control)(1.5 V=15*0.1),从而产生15 V的输出电压。

RS232Init_Example ()
{//声明RS232通信的变量char stringToSend[20] = "Hello World !"; // 字符串发送byte sendBuffer[20];                     // 用于保存发送数据的字节数组byte receiveBuffer[20];                  // 定义接收bufferint i;                                   // 字符长度//注册RS232回调函数vtsSerialSetOnErrorHandler("VTS::ECUPowerSupply", "OnRS232Error");vtsSerialSetOnReceiveHandler("VTS::ECUPowerSupply", "OnRS232Receive");vtsSerialSetOnSendHandler("VTS::ECUPowerSupply", "OnRS232Sent");//配置串行端口,即用于与外部通信//ECU电源至9600波特,8个数据位,1个停止位,无奇偶校验vtsSerialConfigure("VTS::ECUPowerSupply", eVTSBaudRate9600, eVTSDataBitsEight, eVTSStopBitsOne, eVTSParityNone);// 打开串行端口,即与外部ECU电源通信vtsSerialOpen("VTS::ECUPowerSupply");// 短暂等待以确保应用了设置并且端口已就绪TestWaitForTimeOut(10);// 关闭串口vtsSerialClose("VTS::ECUPowerSupply");
}

VT7001作为VT系统的电源板卡,几乎所有的VT 系统都要选择该板卡,其重要性不言而喻,因此介绍的相关函数均有极大可能在自动化开发中使用,大家可以提前做个了解,后面真正使用的时候可以作为参考。

相关内容

热门资讯

demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...