浮动源编程手册_Rev1.09发布版.doc_第1页
浮动源编程手册_Rev1.09发布版.doc_第2页
浮动源编程手册_Rev1.09发布版.doc_第3页
浮动源编程手册_Rev1.09发布版.doc_第4页
浮动源编程手册_Rev1.09发布版.doc_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浮动源编程手册Rev1.09目录目录21.AWG41.1.STSAWGCreateSineData()41.2.STSAWGCreateTriangleData()51.3.STSAWGCreateSquareData()61.4.STSAWGCreateRampData()81.5.STSEnableAWG ()91.6.STSEnableMeas ()91.7.StsAWGRun ()101.8.STSAWGRunTriggerStop()122.FOVI100162.1.FOVI()162.2.Set ()162.3.SetClamp ()182.4.MeasureVI ()192.5.GetMeasResult ()202.6.Pulse ()212.7.AwgLoader ()232.8.AwgSelect ()252.9.AwgRun ()262.10.AwgStop ()282.11.AwgClear ()292.12.SetMeasVTrig ()312.13.SetMeasITrig ()322.14.编程范例333.FPVI10393.1.FPVI10()393.2.Set ()393.3.SetClamp ()413.4.MeasureVI ()423.5.GetMeasResult ()433.6.Pulse ()443.7.AwgLoader ()453.8.AwgSelect ()473.9.AwgRun ()493.10.AwgStop ()503.11.AwgClear ()513.12.SetMeasVTrig ()533.13.SetMeasITrig ()553.14.编程范例564.HVI1K634.1.HVI1K()634.2.Set ()634.3.SetClamp ()644.4.MeasureVI ()654.5.GetMeasResult ()664.6.SetOutputMode ()674.7.SetRiseTime()674.8.编程范例681. AWG1.1. STSAWGCreateSineData()STSAWGCreateSineData(double *awgData,UINT dataNumber, double waveCycles, double Vpp, double DCOffset, double phase);ParametersawgDataDouble型指针,存储AWG波形数据的首地址。dataNumberAWG波形数据的长度。waveCycles正弦波的周期数。该参数默认为1。Vpp正弦波的峰峰值。该参数默认为0。该参数可正可负。下图为三个周期正弦波分别在Vpp为正值和负值时的波形图。二者相位相差180度。当Vpp为正值时,各参数关系及波形如下: 当Vpp为负值时,各参数关系及波形如下:DCOffset正弦波的直流偏置。该参数默认为0。Phase正弦波的相位。单位:度。该参数默认为0。Remarks建立一个正弦波数据组。设置该正弦波的数据长度、周期数、峰峰值、直流偏置以及相位等信息。Example设置一个正弦波数据组,首地址从0开始,数据长度为100,周期数为1,峰峰值为-5V,直流偏置为0,相位为180度。使用SoftView得到的波形请参考2.14或3.14的例1。double awg_pattern1000=0.0;STSAWGCreateSineData(&awg_pattern0,100,1,-5,0,180); 1.2. STSAWGCreateTriangleData()STSAWGCreateTriangleData(double *awgData, UINT dataNumber, double waveCycles, double Vpp, double DCOffset, double phase);ParametersawgDataDouble型指针,存储AWG波形数据的首地址。dataNumberAWG波形数据的长度。waveCycles三角波的周期数。该参数默认为1。Vpp三角波的峰峰值。该参数默认为0。该参数可正可负。下图为三个周期三角波分别在Vpp为正值和负值时的波形图。二者相位相差180度。当Vpp为正值时,各参数关系及波形如下: 当Vpp为负值时,各参数关系及波形如下:DCOffset三角波的直流偏置。该参数默认为0。Phase三角波的相位。单位:度。该参数默认为0。Remarks建立一个三角波数据组。设置该三角波的数据长度、周期数、峰峰值、直流偏置以及相位等信息。Example设置一个三角波数据组,首地址从0开始,数据长度为100,周期数为4,峰峰值为-5V,直流偏置为0,相位为0度。使用SoftView得到的波形请参考2.14或3.14的例1。double awg_pattern1000=0.0;STSAWGCreateTriangleData(&awg_pattern0,100,4,-5,0,0);1.3. STSAWGCreateSquareData()STSAWGCreateSquareData(double *awgData, UINT dataNumber, double waveCycles, double Vpp, double DCOffset, double dutyCycle);ParametersawgDataDouble型指针,存储AWG波形数据的首地址。dataNumberAWG波形数据的长度。waveCycles方波的周期数。该参数默认为1。Vpp方波的峰峰值。该参数默认为0。该参数可正可负。下图为三个周期方波分别在Vpp为正值和负值时的波形图。二者相位相差180度。当Vpp为正值时,各参数关系及波形如下: 当Vpp为负值时,各参数关系及波形如下:DCOffset方波的直流偏置。该参数默认为0。dutyCycle方波的占空比。单位:%。该参数默认为50。Remarks建立一个方波数据组。设置该方波的数据长度、周期数、峰峰值、直流偏置以及占空比等信息。Example设置一个方波数据组,首地址从0开始,数据长度为100,周期数为4,峰峰值为-5V,直流偏置为0,占空比为50。使用SoftView得到的波形请参考2.14或3.14的例1。double awg_pattern1000=0.0;STSAWGCreateSquareData(&awg_pattern0,100,4,-5,0,50);1.4. STSAWGCreateRampData()STSAWGCreateRampData(double *awgData, UINT dataNumber, double waveCycles, double startValue, double stopValue);ParametersawgDataDouble型指针,存储AWG波形数据的首地址。dataNumberAWG波形数据的长度。waveCycles斜波的周期数。该参数默认为1。startValue斜波的起始值。该参数默认为0。stopValue斜波的结束值。该参数默认为0。Remarks建立一个斜波数据组。设置该斜波的数据长度、周期数、起始值以及结束值等信息。下图表示了该函数各个参数的关系,该图startValue stopValue,因此为一个上升的斜波。Example设置一个斜波数据组,首地址从0开始,数据长度为100,周期数为1,起始值为1V,结束值为5V。使用SoftView得到的波形请参考2.14或3.14的例1。double awg_pattern1000=0.0;STSAWGCreateRampData(&awg_pattern0,100,1,1,5);1.5. STSEnableAWG ()STSEnableAWG (Floating VI1,Floating VI2,Floating VI3,);ParametersFloating VI1,Floating VI2,Floating VI3,填写需要使能的VI源名称,此处VI源只能填FPVI10、FOVI100对应源的名称。一共可以填32路源。Remarks使能同步AWG。Example定义四路FOVI100,一路FPVI10,如下: FOVI VCC(0);FOVI CTL(1);FOVI VOUT(2);FOVI ADJ(3);FPVI10 VIN_VOUT(0);例1:使能VCC的AWG 波形。STSEnableAWG(&VCC);1.6. STSEnableMeas ()STSEnableMeas (Floating VI1,Floating VI2,Floating VI3,);ParametersFloating VI1,Floating VI2,Floating VI3,填写需要同步测量的VI源名称,此处VI源只能填FPVI10、FOVI100、QVM对应源的名称。一共可以填32路源。Remarks使能同步测量。Example定义四路FOVI100,一路FPVI10,如下: FOVI VCC(0);FOVI CTL(1);FOVI VOUT(2);FOVI ADJ(3);FPVI10 VIN_VOUT(0);例1:使能VCC和VOUT同步测量STSEnableMeas(&VCC,&VOUT);例2:使能VCC和VIN_VOUT同步测量STSEnableMeas(&VCC,&VIN_VOUT);1.7. StsAWGRun ()StsAWGRun (delayTime);ParametersdelayTimeINT型变量,单位ms。范围:060000。设置延时时间。AWG输出delayTime之后,系统允许StsAWGRun之后的操作开始运行。delayTime不填的时候,delayTime默认为AWG扫描时间或同步测量时间,以二者较长时间为准,只有在AWG扫描和测量运行完毕之后,系统才允许StsAWGRun之后的操作开始运行。建议不填该参数!RemarksAWG同步启动。运行完这个函数之后,AWG扫描和测量才开始运行。通常需要配合STSEnableAWG 和STSEnableMeas一起使用。注意:StsAWGRun语句之后不需要设置延时,该语句的延时由系统内部设定,系统会根据AWG的持续时间和测量的持续时间来确定具体的延时。Examplefovi0建立一个AWG波形数据组,使能fovi0的AWG波形和同步测量。fovi1起始状态FV为0。int sam=2000;/AWG波形数据的长度double interval = 10; / AWG数据间隔时间,单位usdouble awg_pattern2000 = 0;/定义一个AWG波形数据组fovi1.Set(FV,0,FOVI_20V,FOVI_100MA,RELAY_ON);/fovi1设置FV为0STSAWGCreateRampData(&awg_pattern0,500,1,0,-8);STSAWGCreateRampData(&awg_pattern500,500,1,-8,0);STSAWGCreateRampData(&awg_pattern1000,500,1,0,9);STSAWGCreateRampData(&awg_pattern1500,500,1,9,0);fovi0.AwgLoader(p3,FV,FOVI_20V,FOVI_100MA,awg_pattern,sam);/将波形数组awg_pattern中的前2000个点导入,并命名此波形名称为p3。fovi0.Set(FV,0,FOVI_20V,FOVI_100MA,RELAY_ON);/设置Set语句的量程档位与所选择的AwgLoader中的量程档位一致fovi0.AwgSelect(p3,0,sam-1,0,interval); /设置AWG波形起始点为0,结束点为1999,停止点为0;AWG数据间隔时间为10us。fovi0.MeasureVI(sam,interval,MEAS_AWG); /设置fovi0为AWG测量模式,采样2000次,间隔10usSTSEnableAWG(&fovi0); / fovi0使能同步AWGSTSEnableMeas(&fovi0); / fovi0使能同步测量例1:同步启动fovi0的AWG波形,待fovi0的AWG波形完全启动之后,fovi1设置为FV为5V。StsAWGRun();/AWG同步启动,该语句的执行时间由AWG扫描时间或同步测量时间决定。fovi1.Set(FV,5,FOVI_20V,FOVI_100MA,RELAY_ON); /fovi1设置FV为5Vdelay_ms(1);执行上述程序,用示波器观察fovi0和fovi1的波形如下,其中绿色为fovi0的波形,黄色为fovi1的波形。例2:同步启动fovi0的AWG波形,待fovi0的AWG波形启动10ms之后,fovi1设置为FV为5V。StsAWGRun(10);/AWG同步启动,10ms之后同步执行该语句之后的命令fovi1.Set(FV,5,FOVI_20V,FOVI_100MA,RELAY_ON); /fovi1设置FV为5Vdelay_ms(1);执行上述程序,用示波器观察fovi0和fovi1的波形如下,其中绿色为fovi0的波形,黄色为fovi1的波形。1.8. STSAWGRunTriggerStop()STSAWGRunTriggerStop(FloatingVI *viTrigger, FloatingVI *stopVi1, FloatingVI *stopVi2 = NULL, , FloatingVI *stopVi16 = NULL);ParametersFloatingVI *viTrigger填写设置触发的VI源名称。该VI源与SetMeasVTrig或者SetMeasITrig对应的源一致。FloatingVI *stopVi1, FloatingVI *stopVi2, , FloatingVI *stopVi16填写触发生效后同时停止运行的VI源名称,最多可填写16个VI源。Remarks触发生效后,AWG波形停止运行。运行完这个函数之后,AWG扫描和测量才开始运行,对应的VI源触发后,与之同步的所有VI源停止运行。通常需要配合STSEnableAWG 和STSEnableMeas一起使用。注意:STSAWGRunTriggerStop语句之后不需要设置延时,该语句的延时由系统内部设定,系统会根据AWG的持续时间和测量的持续时间来确定具体的延时。Example例1:建立一个波形数据组,fovi0从0.35V上升0.45V,步距0.001V。测试fovi1端的电压小于2V时,fovi0跳变点的电压值。分别使用StsAWGRun函数和STSAWGRunTriggerStop函数进行测试,观察波形的区别。使用StsAWGRun函数的测试程序和SoftView波形如下:double Trig = 2; /触发电平值double Trig_Point4=0;double result4=0;int sam = 100; /AWG波形数据的长度int interval = 100; /AWG数据间隔时间,单位usdouble awg_pattern100=0.0;fovi1.Set(FI, 0, FOVI_10V, FOVI_1MA, RELAY_ON);/OUT Measuredelay_ms(1);STSAWGCreateRampData(&awg_pattern0,sam,1,0.35,0.45);/设置一个斜波数据组,首地址从0开始,数据长度为100,周期数为1,起始值为0.35V,结束值为0.45Vfovi0.AwgLoader(Vcspre_AWG,FV,FOVI_1V,FOVI_100MA,awg_pattern,sam);/将波形数组awg_pattern中的前100个点导入,并命名此波形名称为Vcspre_AWG。fovi0.Set(FV, 0.30, FOVI_1V, FOVI_100MA, RELAY_ON);/设置Set语句的量程档位与所选择的AwgLoader中的量程档位一致fovi0.AwgSelect(Vcspre_AWG, 0, sam-1, sam-1, interval); /设置AWG波形起始点为0,结束点为sam-1,停止点为sam-1;AWG数据间隔时间为100us。fovi1.SetMeasVTrig(Trig,TRIG_FALLING); /设置电压跳变点为2V,下降沿触发fovi0.MeasureVI(500,20,MEAS_AWG); /fovi0为AWG测量模式,采样500次,间隔20usfovi1.MeasureVI(500,20,MEAS_AWG);/fovi1为AWG测量模式,采样500次,间隔20usSTSEnableAWG(&fovi0); / fovi0使能同步AWGSTSEnableMeas(&fovi0, &fovi1); / fovi0和fovi1使能同步测量StsAWGRun();/AWG同步启动使用STSAWGRunTriggerStop函数的测试程序和SoftView波形如下:double Trig = 2; /触发电平值double Trig_Point4=0;double result4=0;int sam = 100; /AWG波形数据的长度int interval = 100; /AWG数据间隔时间,单位usdouble awg_pattern100=0.0;fovi1.Set(FI, 0, FOVI_10V, FOVI_1MA, RELAY_ON);/OUT Measuredelay_ms(1);STSAWGCreateRampData(&awg_pattern0,sam,1,0.35,0.45);/设置一个斜波数据组,首地址从0开始,数据长度为100,周期数为1,起始值为0.35V,结束值为0.45Vfovi0.AwgLoader(Vcspre_AWG,FV,FOVI_1V,FOVI_100MA,awg_pattern,sam);/将波形数组awg_pattern中的前100个点导入,并命名此波形名称为Vcspre_AWG。fovi0.Set(FV, 0.30, FOVI_1V, FOVI_100MA, RELAY_ON);/设置Set语句的量程档位与所选择的AwgLoader中的量程档位一致fovi0.AwgSelect(Vcspre_AWG, 0, sam-1, sam-1, interval); /设置AWG波形起始点为0,结束点为sam-1,停止点为sam-1;AWG数据间隔时间为100us。fovi1.SetMeasVTrig(Trig,TRIG_FALLING); /设置电压跳变点为2V,下降沿触发fovi0.MeasureVI(500,20,MEAS_AWG); /fovi0为AWG测量模式,采样500次,间隔20usfovi1.MeasureVI(500,20,MEAS_AWG);/fovi1为AWG测量模式,采样500次,间隔20usSTSEnableAWG(&fovi0); / fovi0使能同步AWGSTSEnableMeas(&fovi0, &fovi1); / fovi0和fovi1使能同步测量STSAWGRunTriggerStop(&fovi1, &fovi1, &fovi0);/触发生效后,fovi0和fovi1停止运行2. FOVI1002.1. FOVI()FOVI(BYTE byChannel)ParametersbychannelFOVI100逻辑通道号。范围0127。Remarks定义一路FOVI100通道,并指定使用的逻辑通道号。每块FOVI100有8个物理通道,分为CH03和CH47两组,每一个物理通道都可独立进行编程以及选择所绑定的工位。由于FOVI100每四个通道共用一个LOW端,为了确保测量精度,不建议将同一组内的四个物理通道绑到不同的工位上,比如将CH0和CH1绑到site1上,将CH2和CH3绑到site2上是不建议的。逻辑通道号用于软件编程,当系统软件对FOVI100模块完成工位绑定后,不同工位下的相同逻辑通道在软件管理下同步并行工作。Example例1:假设系统配置为4块FOVI100(32个物理通道),四工位并行工作,定义可使用的FOVI100。FOVI fovi0(0) ;/使用逻辑通道0FOVI fovi1(1) ;/使用逻辑通道1FOVI fovi2(2) ;/使用逻辑通道2FOVI fovi3(3) ;/使用逻辑通道3FOVI fovi4(4) ;/使用逻辑通道4FOVI fovi5(5) ;/使用逻辑通道5FOVI fovi6(6) ;/使用逻辑通道6FOVI fovi7(7) ;/使用逻辑通道7对应的工位绑定如下:STSSetModuleToSite(MD_FOVI, SITE_1, 0, 1, 2, 3, 4, 5, 6, 7);/绑定FOVI100的CH0CH7为SITE1STSSetModuleToSite(MD_FOVI, SITE_2, 8, 9, 10, 11, 12, 13, 14, 15); /绑定FOVI100的CH8CH15为SITE2STSSetModuleToSite(MD_FOVI, SITE_3, 16, 17, 18, 19, 20, 21, 22, 23);/绑定FOVI100的CH16CH23为SITE3STSSetModuleToSite(MD_FOVI, SITE_4, 24, 25, 26, 27, 28, 29, 30, 31);/绑定FOVI100的CH24CH31为SITE42.2. Set ()int Set(VIMode fvimode, double setValue, FOVI_VRNG vRng, FOVI_IRNG iRng, OUT_RELAY enableRelay, double risingTime)ParametersfvimodeFOVI100工作模式,有两种模式:FV:选择恒压模式FI:选择恒流模式setValueDouble型变量,设置恒压或者恒流值。选择恒压模式时,该参数为恒压值,单位为V。范围-40+40。选择恒流模式时,该参数为恒流值,单位为A。范围-11。vRngFOVI100电压量程。FOVI_50VFOVI_20VFOVI_10VFOVI_5VFOVI_2VFOVI_1ViRngFOVI100电流量程。FOVI_1AFOVI_100MAFOVI_10MAFOVI_1MAFOVI_100UA FOVI_10UAFOVI_1UAenableRelay设置输出继电器如何动作,分为四种情况:RELAY_ON打开输出继电器;RELAY_OFF关闭输出继电器;RELAY_HOLD输出继电器保持上一个状态;RELAY_SENSE_ON启动独立测量模式。只打开SENSE线输出继电器,关闭FORCE线输出继电器。此时FOVI100处于独立电压表模式。risingTimeDouble型变量,设置变化时间。单位为ms,分辨率为0.1ms。该参数不写,则默认为0.5ms;该参数设置小于0.5ms时,risingTime=0.2ms;该参数设置大于等于0.5ms,小于1ms时,risingTime=0.5ms;该参数设置大于等于1ms时,自动启动capload功能,risingTime为capload上升或下降的时间。使用capload功能可以得到更加平滑的上升沿和下降沿,并且上升或者下降时间可以根据需要来设定。Remarks设置FOVI100的状态,包括工作模式、恒压或恒流值、电压量程或电流量程、输出继电器状态及capload时间。Example例1:设置fovi0电压输出5V,risingTime不填则默认为0.5ms。fovi0 .Set(FV,5,FOVI_10V,FOVI_100MA,RELAY_ON);例2:设置fovi0电压输出5V,risingTime设置为3ms。fovi0 .Set(FV,0,FOVI_10V,FOVI_100MA,RELAY_ON);fovi0 .Set(FV,5,FOVI_10V,FOVI_100MA,RELAY_ON, 3);2.3. SetClamp ()int SetClamp(double percent_PFS, double percent_NFS)Parameterspercent_PFS输出正钳位值,此处指占正钳位满量程的百分比,单位%。范围:10102。percent_NFS输出负钳位值,此处指占负钳位满量程的百分比,单位%。范围:10102。Return Values调用成功返回0,出错返回-1。Remarks设置FOVI100的正负钳位值。注意:SetClamp函数与模式相关,切换FV、FI模式时会清除钳位设置,钳位值会自动还原成102%。未切换FV和FI状态时,钳位设置会保持不变。Example例1:设置fovi1为FI模式,FI值为0,钳位电压档位为10V档,其电压正钳位值为5V,负钳位值为-2V ;切换fovi1为FV模式,FV值为1V,钳位电流档位为100MA档,其电流正钳位值为80MA,负钳位值为-50MA。fovi1.Set(FI, 0, FOVI_10V, FOVI_10MA, RELAY_ON);fovi1.SetClamp (50, 20);/电压正钳位值为满量程档(FOVI_10V)的50%,负钳位值为满量程档的20%fovi1.Set(FV, 1, FOVI_10V, FOVI_100MA, RELAY_ON);/从FI模式切换到了FV模式,此时正负钳位值自动还原成102%fovi1.SetClamp (80, 50); /重新设置FV模式下,电流正钳位值为满量程档(FOVI_100MA)的80%,负钳位值为满量程档的50%例2:设置fovi1为FV模式,FV值为1V,电压档位为10V档,钳位电流档位为100MA档,其电流正钳位值为80MA,负钳位值为-50MA;设置fovi1为FV模式,FV值为35V,电压档位为50V档,钳位电流档位为100MA档。fovi1.Set(FV, 1, FOVI_10V, FOVI_100MA, RELAY_ON);fovi1.SetClamp (80, 50); /设置FV模式下,电流正钳位值为满量程档(FOVI_100MA)的80%,负钳位值为满量程档的50%fovi1.Set(FV, 35, FOVI_50V, FOVI_100MA, RELAY_ON);/此时没有切换FV模式,因此钳位设置保持不变,仍为fovi1.SetClamp (80, 50)。2.4. MeasureVI ()DWORD MeasureVI(UINT sampleTimes,UINT samplePeriod,FLOATMEASMODE measMode,UINT T1,UINT T2,UINT T3,UINT T4);ParametersSampleTimes设置AD采样次数。范围12048。samplePeriod 设置每次采样之间的时间间隔,单位us。最小采样间隔为10us,分辨率1us。范围:1030000。measMode测量模式选择,可设置为:MEAS_NORMAL:普通测量模式。调用函数后完成测量。MEAS_AWG:AWG测量模式。只做设置,运行AWG时启动。该参数可以不写,默认为MEAS_NORMAL模式T1、T2、T3、T4单位us。分辨率10us,范围:0 (T1+T2+T3+T4) 600000。AWG测量模式下,设置测量启动时刻。一次AWG中,可以启动四次测量。四个参数均可以不写,默认启动一次,启动时刻为0。对于这种测量模式,建议跟同步启动测量配合使用。注意:T1、T2、T3、T4为相对时间。即T2的启动时间为相对T1的启动时间,T3的启动时间为相对T2的启动时间,T4的启动时间为相对T3的启动时间。Remarks设置FOVI100的测量次数、测量间隔、测量模式以及AWG测量模式下的四次测量启动时刻。Example例1:设置fovi0为普通模式测量,采样20次,间隔10us。fovi0 .MeasureVI(20,10);2.5. GetMeasResult ()double GetMeasResult(UINT siteCount, MeasRet retType, int sampleNumber);ParametersSiteCountINT型变量,选择测量数据工位。0代表Site1,1代表Site2retType 选择测量读回的数据类型,可设置为MVRET:读回电压测量数据MIRET:读回电流测量数据sampleNumber选择返回数据模式,可设置为:AVERAGE_RESULT:数据平均值MAX_RESULT:数据最大值MIN_RESULT:数据最小值TRIG_RESULT:AWG同步测量时,跳变触发的位置。即MeasureVI中第几个采样点发生跳变。INT型变量:每一个采样数据。当此处为INT型变量为N时,返回的就是第N个点的测量值。该参数可以不写,默认为AVERAGE_RESULT。Remarks获取MeasureVI()函数的测量结果。如果选择MVRET测压模式,则测试结果为电压值,单位为V;如果选择MIRET测流模式,则测试结果为电流值,单位为A。注意:FOVI100每次测量时,电压和电流是同时测量的,用户只需要选择读回MVRET或者MIRET即可。Example例1:返回fovi0电流测量结果平均值。fovi0.MeasureVI(20, 10);/fovi0采样20次,间隔10usfor(i=0; iSITENUM; i+)adresulti=fovi0.GetMeasResult(i, MIRET); /sampleNumber处参数没有填写,系统默认AVERAGE_RESULT,此时返回电流平均值例2:返回fovi0电压测量结果第15个点的值。fovi0.MeasureVI(20, 10); /fovi0采样20次,间隔10usfor(i=0; iSITENUM; i+)adresulti=fovi0.GetMeasResult(i, MVRET, 15);/返回第15个点的电压值例3:AWG同步测量时,返回fovi0跳变触发的位置。fovi0.SetMeasVTrig(2,TRIG_FALLING);/设置fovi0电压跳变点为2V,下降沿触发fovi1.MeasureVI(50,20,MEAS_AWG);/fovi1为AWG测量模式,采样50次,间隔20usfovi0.MeasureVI(50,20,MEAS_AWG);/fovi0为AWG测量模式,采样50次,间隔20usSTSEnableAWG(&fovi1); /fovi1使能同步AWGSTSEnableMeas(&fovi1, &fovi0); /fovi1和fovi0使能同步测量StsAWGRun();/AWG同步启动for(i=0; iSITENUM; i+)Trig_Point0 =fovi0.GetMeasResult(0,MVRET,TRIG_RESULT);/ AWG同步测量时,获取fovi0跳变触发的位置2.6. Pulse ()int Pulse(double pulseValue, UINT pulseTime, int measStartTime, UINT sampleTimes, UINTsampleInterval);ParametersPulseValueDouble型变量,设置脉冲幅值。选择FV时,单位V。范围为-40+40;选择FI时,单位A。范围为-11。PulseTime Double型变量,设置脉冲时间。单位us。范围:30040000。可以不写,默认为300us。MeasStartTimeINT型变量,设置启动测量时间,单位us。范围:-6000060000。可以不写,默认为0。SampleTimesINT型变量,设置采样次数。范围12048。可以不写,默认为10。SampleIntervalINT型变量,设置采样间隔时间,单位us。最小采样间隔为10us,分辨率1us。可以不写,默认为30us。Remarks输出幅度、脉宽可调的电压或电流脉冲。注意:Pulse函数之前,需先调用Set函数来设置量程等信息。建议将Set语句的FV或者FI值设置为0。Pulse脉冲的终止值为0。Example例1:设置fovi0起始状态FV为0。设置fovi0输出1ms的8V脉冲;采样次数200次;采样间隔时间10us;脉冲生成前500us开始启动测量。fovi0 .Set(FV,0,FOVI_10V,FOVI_10mA,RELAY_ON);/先使用set函数将fovi0的状态设定为恒压、电压量程为10V档、电流档位为10mA,输出继电器状态位RELAY_ONfovi0 .Pulse (8,1000, -500, 200, 10);使用SoftView软件抓取的波形如下:2.7. AwgLoader ()int AwgLoader(char* awgName,VIMode fvimode,FOVI_VRNG vRng,FOVI_IRNG iRng,double *awgData, UINT awgSize);ParametersawgNameChar型变量,AWG波形名。命名不区分大小写。注意:同一个测试程序中不同AWG波形的命名必须不同,对于相同名称的AWG波形,只写入第一次调用AwgLoader函数中设置的波形。fvimodeFOVI100工作模式,有两种模式:FV:选择恒压模式FI:选择恒流模式vRngFOVI100电压量程。FOVI_50VFOVI_20VFOVI_10VFOVI_5VFOVI_2VFOVI_1ViRngFOVI100电流量程。FOVI_1AFOVI_100MAFOVI_10MAFOVI_1MAFOVI_100UA FOVI_10UAFOVI_1UAawgData Double型指针,存储AWG波形数据。awgSizeINT型变量,设置AWG波形数据的大小。该参数范围为12048。注意:如果该参数设置超出2048,则2048以后的数据不会写入RAM。Remarks导入AWG波形数据。设置导入的AWG波形的名称、导入数据的长度及档位信息。注意:1. 档位信息不涉及档位的切换,仅用于波形数据换算。2. 启动AwgLoader函数会把本次的AWG波形写入RAM中,因此执行该语句会占用测试时间。一次性写入2048个点的数组,执行AwgLoader函数需要12ms左右的时间,写入时间与写入点数成正比。相同名称的波形数据不会被重复导入,节省测试时间。3. 一个测试程序中,同一路FOVI100通道可以导入多个AWG波形,总长度不超过2048。Example例1:建立一个波形数据组,fovi0从16.5V上升到21.5V,步距0.1V。int sam = 50; /AWG波形数据的长度int interval = 200; /AWG数据间隔时间,单位usdouble awg_pattern100=0.0;STSAWGCreateRampData(&awg_pattern0,sam,1,16.5,21.5);/设置一个斜波数据组,首地址从0开始,数据长度为50,周期数为1,起始值为16.5V,结束值为21.5Vfovi0.AwgLoader(Vst ,FV,FOVI_50V,FOVI_100MA,awg_pattern,sam);/将波形数组awg_pattern中的前50个点导入,并命名此波形名称为Vst。例2:建立一个波形数据组,fovi0输出频率为100HZ、幅值为2V、直流偏置为10V的正弦波。int sam = 1000; /AWG波形数据的长度int interval = 10; /AWG数据间隔时间,单位usdouble awg_pattern2000=0.0;STSAWGCreateSineData(&awg_pattern0,sam,1,4,10,0); /设置一个周期为100HZ的正弦波数据组,首地址从0开始,数据长度为1000,周期数为1,峰峰值为4V,直流偏置为10V,相位为0度fovi0.AwgLoader(SINE,FV,FOVI_10V,FOVI_1MA,awg_pattern, sam);/将波形数组awg_pattern中的前1000个点导入,并命名此波形名称为SINE。2.8. AwgSelect ()int AwgSelect(char*awgName, UINTstartAddr, UINTstopAddr, UINTloopBackAddr, UINTawgInterval);ParametersawgNameChar型变量,AWG波形名称。应与之前通过AwgLoader函数导入的AWG波形名称保持一致。startAddr INT型变量,设置AWG波形起始点。数据范围0sam-1。其中sam为AWG波形的点数。stopAddr INT型变量,设置AWG波形结束点。数据范围0sam-1。其中sam为AWG波形的点数。loopBackAddr INT型变量,设置AWG波形回转点,即AWG执行结束后停止的位置。数据范围0sam-1。其中sam为AWG波形的点数。awgIntervalINT型变量,设置AWG数据间隔时间,单位us。分辨率为1us。数据范围为1060000。Remarks选择将要运行的AWG波形,同时设置该AWG波形的起始点、结束点、回转点以及AWG启动间隔时间。注意:1. 同一个测试程序中每一路FOVI100通道可以导入多个AWG波形,每个AWG波形有自己的独立名称,通过AwgSelect函数来选择将要运行的AWG波形。2. AwgSelect之前需要设置Set语句,该Set语句的量程档位必须与所选择的AwgLoader中的量程档位一致。3. AwgSelect函数需配合AWG同步启动函数使用。执行AwgSelect并没有AWG输出,只有运行同步启动函数StsAWGRun才会有AWG波形输出。Example例1:建立两个波形数据组,分别为AWG_Vst和AWG_Vuvlo。AWG_Vst:fovi0从16.5V上升到21.5V;AWG波形数据的长度为sam1=1000,设置AWG波形起始点为0,结束点为sam1-1,停止点回到0;AWG数据间隔时间为20us。AWG_Vuvlo:fovi0从16.5V下降到10.5V;AWG波形数据的长度为sam2=1000,设置AWG波形起始点为0,结束点为sam2-1,停止点回到0;AWG数据间隔时间为20us。注意:sam1+sam2应小于等于2048。分别选择将要运行的两个AWG波形。int interval = 20; /AWG数据间隔时间,单位usint sam1 = 1000; /AWG_Vst波形数据的长度int sam2 = 1000; /AWG_Vuvlo波形数据的长度double awg_pattern14000=0.0;/定义AWG_Vst的波形

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论