版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第6 6章章AdvancedAdvanced子模板及子模板及LabVIEWLabVIEW与与C C语言语言的接口方法的接口方法6.1 概概 述述 用前面介绍的知识完全可以完成一个完整的虚拟仪器测试系统的根本编程,但是LabVIEW并不是万能的,它所提供的图标功能是有限的,实际系统中仍然有某些功能是LabVIEW无法或难以实现的。针对这个问题,LabVIEW在Advanced子模板上提供了和C语言的接口,还提供了调用Windows动态链接库DLL函数以及实现多线程编程等高级功能。 6.2 Advanced子模板1. 调用路径FunctionsAdvancedAdvanced子模板如图61所示。
2、图61 Advanced子模板Advanced 子模板上提供了五类图标,其简述如下。 2Advanced 子模板简介 Call Library Function 图标。用来调用动态链接库函数。 Code Interface Node 图标。用来调用源代码程序。 Data Manipulation 图标。用于实现对两个数据进行合并,或把一个数进行分离等任务。 Synchronization 图标。用于多线程的开发。 Memory 图标。用于直接访问硬件地址。 本章主要介绍 CIN (Code Interface Node) 的使用方法。 6.3 CIN(代码接口节点)图标及其与C语言接口技术 C
3、IN是Code Interface Node的简称。Advanced子模板上提供了CIN图标,可以实现在LabVIEW中引入C语言源代码,因此它是LabVIEW图形化编程语言环境与C语言的接口。C语言是功能非常强大的文本式编程语言,当遇到某些LabVIEW图标难以实现的功能时,就可以通过CIN图标在LabVIEW中引入C语言源代码来实现,从而大大提高了LabVIEW数据处理的整体功能。 作为LabVIEW与C编程语言的接口图标,CIN是通过输入、输出端口实现两种语言之间的数据传递的。输入、输出端口的个数可由设计者根据实际需要确定。当LabVIEW的程序运行到CIN节点时,数据由CIN的输入端口
4、传递给C源代码图标,程序转去执行C源代码,代码执行完后,得到的数据结果由CIN的输出端口返回给LabVIEW。 CIN的设计方法大致包括以下几个步骤: (1) 确定CIN图标的输入、输出参数个数和数据类型。 (2) 生成C源代码编辑格式文件。 (3) 在编辑格式文件中的规定位置(/*Enter Your Code Here*/)填写实现某种测量功能的C源代码,生成最终的C源代码文件。 (4) 在LabVIEW指定的环境下编译步骤(3)中生成的C源代码文件,并生成可执行文件。 (5) 调用CIN的功能菜单将生成的可执行文件载入CIN图标。这样就根本形成了一个具备某种功能的CIN图标。 本章以实现
5、c=a+b为例,介绍CIN图标的使用方法,同时着重介绍它在驱动数据采集卡方面的应用。 LabVIEW支持的数据采集卡(当然NI公司生产的数据采集卡在其中之列),是Measurement & Automation软件检验时可识别的,从而是可以进行参数设置的数采卡。这种数采卡可以调用第4章介绍的Data Acquisition子模板上的数据采集图标进行各种方式的数据采集。 LabVIEW不支持的数据采集卡,Measurement & Automation软件检验时是不可识别的,当然非NI公司生产的数据采集卡通常都属此列,那么一般需要设计者自己开发驱动程序。通常驱动程序是采用C语言编
6、写的,用CIN接口图标驱动数据采集卡的实质与关键步骤是,将C语言编写的驱动程序添入规定的位置/*Enter Your Code Here*/。6.4 CIN图标的调用及参数设置6.4.1 CIN图标的调用路径图标的调用路径FunctionsAdvancedCode Interface NodeCode Interface Node子模板如图62所示。图62 Code Interface Node子模板 6.4.2 CIN 图标及其端口参数设置图标及其端口参数设置 初始化时的CIN图标如图63所示。CIN图标中表格状图案的每一行代表一个参数,左侧为参数的输入值,右侧为CIN运行后该参数的返回值。
7、参数1输入口参数1返回值的输出口图63 初始时的CIN图标 6.4.2.1 设置设置CIN图标的输入、输出参数个数图标的输入、输出参数个数 这里以实现ca+b运算为例来说明CIN图标参数的添加方法。 初始时,CIN只有一个参数的输入、输出口。欲增添新的参数输入、输出口,可以利用工具模板上的选择工具拖放CIN图标来实现,也可以从CIN图标的快捷菜单中选择Add Parameter选项来添加。 有些情况下,有的参数只能作为输出值,而没有对应的输入。当欲实现ca+b运算时,那么c参数只能是输出值,它是CIN的运行结果,没有对应的输入值,这时应当将其对应的输入口置为无效。方法是,把鼠标放在相应的输入口
8、,用鼠标右击CIN图标,弹出快捷菜单,从中选择Only Output项,那么该输入口变暗,说明其无效。图64为本例的CIN图标输入、输出口的设置情况。无效a返回值b返回值CIN输出b输入值a输入值图64 添加参数后的CIN图标 6.4.2.2 设置参数的数据类型设置参数的数据类型 CIN输入输入 (输出输出) 口参数的数据类型由连接在该输入口参数的数据类型由连接在该输入 (输出输出) 口上的控件的数据类型决定。例如,如果某参口上的控件的数据类型决定。例如,如果某参数的输入数的输入 (输出输出) 端口连接在一个数据类型为端口连接在一个数据类型为int32的数的数字控件上,那么该参数的数据类型为字
9、控件上,那么该参数的数据类型为int32型。型。 有些时候,设计者并不希望将有些时候,设计者并不希望将CIN的运行结果显示到的运行结果显示到面板上,而只是作为整个程序的一个中间运行结果传面板上,而只是作为整个程序的一个中间运行结果传递下去。这时可以在流程图上,用鼠标右击该控件对递下去。这时可以在流程图上,用鼠标右击该控件对应的终端,从弹出的快捷菜单中选择应的终端,从弹出的快捷菜单中选择Hide Control项将项将该控件从前面板上隐藏掉。该控件从前面板上隐藏掉。6.5 CIN设计步骤 6.5.1 生成生成C源代码编辑格式文件源代码编辑格式文件(*.C文件文件)代码框架代码框架 从从CIN图标
10、的快捷菜单中选择图标的快捷菜单中选择Create.C File项,会项,会弹出一个文件存储对话框,键入文件名弹出一个文件存储对话框,键入文件名 (本例中文件名本例中文件名设为设为add.c),那么生成,那么生成LabVIEW的的C语言代码框架;语言代码框架;然后用任意一种文本编辑器将它翻开。该然后用任意一种文本编辑器将它翻开。该C文件的代文件的代码框架为码框架为/* CIN source file */ 注释#include extcode.hCIN MgErr CINRun(float64 *a, float64 *b, float64 *c); 函数声明CIN MgErr CINRun(f
11、loat64 *a, float64 *b, float64 *c) 函数体 /* ENTER YOUR CODE HERE */ 填入C语言源代码 return noErr; 6.5.2 添加添加C源代码源代码 在/*ENTER YOUR CODE HERE*/处填入设计者所编写的C源代码。对于本例,填写后的C源代码文件为/* * CIN source file */#include extcode.hCIN MgErr CINRun(float64 *a, float64 *b, float64 *c);CIN MgErr CINRun(float64 *a, float64 *b, fl
12、oat64 *c)*c=*a+*b;/*添加的代码*/return noErr; 注:在C源代码的编写过程中,除可直接调用C语言的根本库函数外,LabVIEW提供有专门支持CIN设计的库函数,如存储空间(Memory)的动态分配(后面的采样举例中会用到)、文件的操作等,供设计者使用,详细内容可查看LabVIEW的在线帮助(Online Help)。 6.5.3 *.C文件源代码的编译文件源代码的编译 *.C文件源代码的编译主要是在以C语言为主的开发系统中进行。编译完毕形成一个可以和CIN图标进行动态连接的工程文件*.lsb。下面介绍在VC+集成环境下编译*.C源代码的具体步骤。 (1) 新建一
13、个DLL工程文件,命名为Add。翻开VC+开发平台,执行FileNew 操作。 进行选项:win32 Dynamic Link Library。 添加工程文件名:Add。 location:填写工程文件的存放路径。也可以采用其默认路径D:Microsoft Visual StudioMyProjects。最后形成工程文件add.cpp。 (2) 向工程文件中添加cin.obj、labview.lib、lvsb.lib、lvsbmain.def四个文件。执行ProjectAdd to ProjectFiles操作,向工程文件添加上述四个文件。这四个文件在LabVIEW安装路径下的cintools
14、文件夹下的win32子文件夹中。 (3) 向工程文件中添加上面的*.C源代码文件add.c。添加方法同(2)。 (4) *.C源代码文件编译前的设置。 由菜单项ProjectSetting翻开设置对话框,逐项设置。 Setting for选项设置。All Configuration。 C/C+标签页设置。用鼠标左击C/C+标签页按钮,逐项设置。l Category:由下拉菜单项选择择为Preprocessor。Additional include directories:添加LabVIEW的cintools文件夹的路径。 假设LabVIEW安装路径为d:LabVIEW,那么在Additiona
15、l include directories处添加路径d:LabVIEWcintools。l Category:由下拉菜单另选为Code Generation。Strict member alignment:设置为1 Byte。Use run-time library:设置为Multithreaded DLL。 Custom Build标签页设置。用鼠标左击Custom Build标签页,逐项设置。l Commands:输入命令行如下:d:labviewcintoolswin32lvsbutil $(TargetName) d “$(WkspDir)$(OurDir) (假设LabVIEW的安装
16、路径为:d:labview。)l Outputs:输入命令行如下:$(OutDir)$(TargetName).lsb (5) 添加C源代码程序。 可在Workspace wizard窗口中双击add.c,翻开源文件添加C源代码。如果已经添加过,那么继续下一步。 (6) 编译*.C源代码文件。 在主菜单Build下选择Compile add.c选项,那么进行add.c程序的编译,如有语法等错误, 那么给出错误提示,按提示修改程序,重新编译。重复这一过程,直至没有错误。 (7) 生成可执行文件。 在主菜单Build下选择Build Add.dll选项,即生成可执行文件Add.lsb,同时生成如A
17、dd.dll等所需的全部文件。 图65 CIN图标主菜单 1. 装载可执行文件到CIN图标 回到LabVIEW流程图窗口,窗口中CIN图标的快捷菜单如图65所示。从中选择Load Code Resource项,即弹出一个Choose a code resource file对话框,如图66所示。按照Add.工程文件存入的路径寻找Debug目录下的Add.lsb文件,然后点击“翻开按钮,于是Add.lsb文件就装入CIN图标中。图66 Choose a code resource file对话框 2. 可执行文件的重新装载及错误文件的去除 如果在装载完可执行文件后,你对源代码又进行了修改,那么必
18、须重新编译,重新装载。 在重新装载的时候,CIN图标在再次装载时,它的快捷菜单发生了相应的改变,如图67所示。利用其中的Reload Code Resource (对同一可执行文件)或Reload Code Resource From (如果是其它可执行文件) 选项,可实现可执行文件的重新装载。图67 Reload Code Resource菜单 6.5.5 运行程序运行程序 至此,就完成了至此,就完成了CIN的全部设计过程,可运行该程的全部设计过程,可运行该程序序, 改变改变a、b的值,观察的值,观察c的输出显示。的输出显示。 关于数据采集卡的驱动程序,关于数据采集卡的驱动程序,LabVIE
19、W提供的开发提供的开发方式有两个:方式有两个: 利用端口操作图标利用端口操作图标In Port.vi和和Out Port.vi 开发数开发数据采集卡驱动程序。这种方法实现起来比较简单,适据采集卡驱动程序。这种方法实现起来比较简单,适于采集精度要求不高的情况于采集精度要求不高的情况, 但对于精度要求高且较复但对于精度要求高且较复杂的采集系统杂的采集系统, 如包含对物理内存大量操作的情况,这如包含对物理内存大量操作的情况,这种方法是远远不能满足设计需要的。种方法是远远不能满足设计需要的。 采用LabVIEW提供的CIN (Code Interface Node)图标开发数据采集卡驱动程序。这种方法
20、适用于精度要求高且功能复杂的采集系统的设计,是一种理想的设计方法。 本章我们以非NI公司生产的HY1232型数据采集卡的驱动为例,重点介绍利用CIN (代码接口)子模板驱动数据采集卡的方法。最后简单介绍利用In Port.vi和Out Port.vi两个端口的操作图标实现数据采集卡驱动的方法。 CIN子模板是LabVIEW与C语言之间的一种接口图标。设计者可以将那些在LabVIEW下难以实现和无法实现的功能,利用C语言来完成,然后再将结果通过CIN传递回LabVIEW。 在实际设计应用中,经常会遇到某些想实现的功能,利用LabVIEW中现成的图标无法实现,而利用其它编程语言那么很容易实现的情况
21、,这时就需要利用LabVIEW中的接口图标以实现LabVIEW和其它编程语言之间的连接。CIN图标就是其中的一种。6.6 应用举例:用CIN图标实现对HY1232数据采集卡的驱动 6.6.1 HY1232数据采集卡简介数据采集卡简介 HY1232是一种IBMPC XT/AT总线兼容的数据采集卡,其主要性能指标如下: 32路单端模拟输入通道; A/D分辨率为12 bit; 1路模拟输出通道; D/A分辨率为12 bit;D/A输出上电清零;模拟输入电压范围:5 V;模拟输出电压范围:5 V或0+5 V;软件触发方式;数据传输方式采用软件查询方式和中断方式。 6.6.1.1 HY1232数据采集卡
22、工作原理数据采集卡工作原理 将将HY1232数据采集卡插入数据采集卡插入PC机的机的PCI插槽中,插槽中,待采集的多路模拟信号通过一个待采集的多路模拟信号通过一个40芯的输入输出插座芯的输入输出插座分别接到采集卡内部的分别接到采集卡内部的32选选1的模拟输入多路开关上。的模拟输入多路开关上。通过软件设置,选通某模拟输入通道。对于通过软件设置,选通某模拟输入通道。对于HY1232数据采集卡,在选通某模拟信号输入通道的同时即启数据采集卡,在选通某模拟信号输入通道的同时即启动了该路的动了该路的A/D转换。当转换。当A/D转换完成时,采集卡上的转换完成时,采集卡上的转换完成位存放器的最高位转换完成位存
23、放器的最高位(D7)被置为被置为“ “1。用软件查。用软件查询方式查询该存放器的询方式查询该存放器的D7位,当查询到该位为位,当查询到该位为“ “1时,时,即说明采样已结束,可将即说明采样已结束,可将12 bit的数据读入计算机内存的数据读入计算机内存中。如果采用中断方式,那么在中。如果采用中断方式,那么在A/D转换完成后,采集转换完成后,采集卡会自动向计算机发出中断请求信号。在中断效劳程卡会自动向计算机发出中断请求信号。在中断效劳程序内,将序内,将12 bit数据读入计算机内存。数据读入计算机内存。 HY1232数据采集卡中采用的是12位A/D转换器,转换完毕的12位二进制数中的低八位AD7
24、、AD6AD1、AD0存放在低八位缓冲存放器中,其高四位AD11、AD10、AD9、AD8存放在高四位缓冲存放器中。 HY1232数据采集卡有32路单端模拟输入通道,由八位输入通道选择存放器低六位(C4、C3、C2、C1、C0)的二进制状态字选择被测信号的输入通道。例如,选择第4通道输入信号的二进制状态字为00100。表61列入了各存放器的读/写操作功能与占用地址。表61 HY1232数据采集卡板基地址分配与存放器读/写操作功能 6.6.1.2 对采集卡进行参数设置对采集卡进行参数设置 (1) 确定采集卡的板基地址。板基地址是确定采集卡的板基地址。板基地址是CPU分配给分配给采集卡内存空间的首
25、地址。首地址后面的内存空间供采集卡内存空间的首地址。首地址后面的内存空间供采集卡内部存放器分配使用。采集卡内部存放器分配使用。 HY1232数据采集卡板基地址的可选范围为:数据采集卡板基地址的可选范围为:200H3FFH (5121023)。通常选。通常选0 x280,即,即280H (640)。 (2) 确定信号的输入方式。选择设置信号是单端输入确定信号的输入方式。选择设置信号是单端输入还是双端输入,单极性信号还是双极性信号。还是双端输入,单极性信号还是双极性信号。HY1232数据采集卡只有数据采集卡只有32路单端输入一种方式,故路单端输入一种方式,故不需要用户来设置。不需要用户来设置。 (
26、3) 设置信号的输入范围。根据输入信号幅值范围和分辨率的要求进行选择。HY1232数据采集卡信号输入范围不可选,只能为5 V+5 V,且内部的放大器增益固定为1。 (4) 确定采样触发方式。一般分外触发、定时触发、软件触发等几种方式。但对于HY1232采集卡,只有软件触发一种方式,即在往输入通道存放器写入所选通道号的同时即触发了A/D转换。 (5) A/D转换结束的判断。对于HY1232采集卡分查询方式和中断方式两种。 (6) 采样速率的设置。对于有些数据采集卡(如LabPC1200卡),用户可在其最大采样速率范围内进行选择设置,以满足实际的需要。但HY1232数据采集卡的采样速率是固定的,用
27、户不可选。 (7) 设置信号输入通道。在031可选范围内选择。 (8) 设置一次采集点数。6.6.1.3 采集程序流程图与编程要点采集程序流程图与编程要点1流程图HY1232数采卡单点数据采集程序流程图如图68所示。图68 HY1232数采卡单点数据采集程序流程图开始定义全局变量定义局部变量设置A / D通道号,采样并启动A / D转换A / D转换结束否?读A / D结果低八位和高四位合并A / D结果,并将A / D结果存于数据组中结束NY2. 数据采集程序 HY1232数据采集卡采集一个点的C源程序如下:#include #include #include void main(void)
28、 int basea, channel; float value,lo,hi; basea=0 x280; /*板基地址设为640*/ printf(“Input channel number:); /*设置采集通道号*/ scanf(“%d,&channel); outp(base, channel); /*往输入通道存放器写入所选通道号,并触发A/D转换*/ do /*查询A/D转换完成存放器的最高位,假设为1,那么说明A/D;换结束,否那么继续查询*/ while(! (inp(basea+5) & 0 x80); lo=inp(base+1); /*读入A/D结果的低八
29、位*/hi=inp(base+2); /*读入A/D结果的高四位*/value=(lo+hi&0 xf)*256)-2047)*10.0/4096; /*合并后,再将A/D转换的二进制结果转换 成对应的模拟量值*/ getch( ); 3. 编程要点说明 1) outp(x,y)和inp(x)函数 C语言接口函数 outp(x,y)函数的功能是把函数y送入端口地址为x的存放器中。outp(base,channel) 是把通道号channel (程序中是由前面板控件设置)送入地址为base的输入通道选择存放器,并启动该通道的A/D转换。 inp(x)函数的功能是从端口地址为x的存放器中读
30、取二进制数据。inp(base+1) 从地址为base1的低八位存放器读取A/D转换结果。inp(base+2)从地址为base+2的高四位存放器读取A/D转换结果二进制数的高四位,并去除A/D完成位存放器和中断请求信号。inp(base+5)从地址为base+5的完成位存放器读取完成标志位I/O显示值,当IO=0时,表示A/D转换未完成;当IO=1时,表示A/D转换完毕。 2) A/D转换完成的判别采用Do while循环语句如下:Do while(! (inp(basea+5) & 0 x80); 句中0 x80的十进制数为128,相应二进制数为10000000,故inp(base
31、+5)&0 x80屏蔽了低七位,保存了第八位结果IO,那么:IO=0 (A/D转换未完毕) 时,条件! (inp(basea+6) & 0 x80)为真,Dowhile循环继续;IO=1 (A/D转换完毕) 时,条件! (inp(basea+6) & 0 x80)为假,Dowhile循环停止。 3) A/D转换结果的合并及工程运算 hi&oxf是将A/D结果高四位 (二进制数) 转化为十六进制数, (hi&oxf) *256那么将十六进制数转化为十进制数,lo+ (hi&0 xf) *256将数据合并为一个十进制数。这里,被测信号的输入范围设置为
32、5 V5 V,HY1232卡的分辨率为12位,那么量化值Q为10.0/4096 (V) ,而十进制数也需减去满量程的一半:4096/22048,由于十进制数从0开始,故满量程的一半是2047。因此,用value=(lo+hi&oxf)*256)-2047)*10.0/4096就可以将A/D输出的二进制数转换为与模拟输入电压相对应的电压值。 例如,假设hi=1011、lo=11010011,那么hi&oxf=0 xb, (hi&oxf) *256=11*266,lo+(hi&oxf)*256=(27+26+24+21+20+11*256=3027,那么采集卡的模拟
33、输入电压为 value=(3027-2047)*10.0/4096=2.3926V 6.6.2 具体设计方法具体设计方法 1. 模拟信号采集系统功能描述 使用CIN实现非LabVIEW支持的HY1232数据采集卡的驱动。要求在LabVIEW下利用HY1232采集卡实现一个模拟信号(200 Hz的正弦波)的采集和波形显示。要求采样点数、板基地址和通道号可设。 2. 设计提示 1) 前面板设计 放置三个输入控制型数字控件和一个图形控件。 数字控件1:用来设置HY1232数据采集卡的板基地址。 基地址basea的数据类型选为U16 (因为HY1232的基地址最大为3FFH),默认值设为640 (即0
34、 x280)。 数字控件2:用来设置信号的输入通道。 通道号channel的数据类型选为U8 (因为HY1232的模拟输入通道为031),默认值为0,数据范围为031。数字控件3:用来设置采样点数。总采样点数samples的数据类型为32,默认值设为100。图形控件:用来显示采集的波形。设计好的前面板如图69所示。图69 模拟信号采集程序前面板 2) 流程图设计 (1) 放置CIN图标,并设置图标的输入、输出参数个数及数据类型。 调用路径。 由FunctionsAdvancedCode Interface Node路径调入Code Interface Node。 参数设置。 本例中,CIN图标
35、有三个输入参数basea、channel、samples和一个输出参数Waveform。Waveform是一个double型数组,用于存放采集结果。参数数据类型的选择与前面板一致。 (2) C源代码文件的生成。选择如图610所示的CIN图标快捷菜单项选择项中的Create.c File选项,生成C源代码格式文件(*.C文件)。图610 CIN图标属性对话框本例生成的格式文件内容如下:/* CIN source file */#include extcode.h /* * typedefs */typedef struct int32 dimSize;float64 arg11; TD1;typ
36、edef TD1 *TD1Hdl; CIN MgErr CINRun(uInt16 *basea, uInt8 *channel, int32 *samples, TD1Hdl Waveform); CIN MgErr CINRun(uInt16 *basea, uInt8 *channel, int32 *samples, TD1Hdl Waveform) /* ENTER YOUR CODE HERE */ return noErr;从上面生成的代码可以看到,因为定义的CIN图标输出参数是数组型的,而LabVIEW向CIN传递数组类数据时,用的是句柄handle。传递数组的句柄结构是这样定
37、义的:typedef struct int32 dimSize; /*数组尺寸*/ float64 arg11; /*数组首地址指针*/ TD1;typedef TD1 *TD1Hdl;对于一个有n个元素的一维数组,用dimsize函数表示为dimsizen。对于一个mn的二维数组amn, 用dimSize函数表示为dimSize0=m,dimSize1=n。 (3) 填写C源代码。将节中的HY1232的C语言采集程序填入到上面的C源代码框架中。最终完成的C源代码文件(sampdata.c文件)如下: (注:设计者自行添加的语句为黑斜体,其余为自动生成的语句) /* * CIN source
38、file */#include extcode.h /*自动生成*/#include hosttype.h/*调用了系统及功能函数,因此添加此头文件*/#include dos.h /*调用了C语言中的inp ( )、outp ( )函数,因此添加此头文件*/* typedefs */typedef struct int32 dimSize; /*数组尺寸*/ float64 arg11; /*数组首地址指针*/ TD1;typedef TD1 *TD1Hdl;CIN MgErr CINRun(uInt16 *basea, uInt8 *channel, int32 samples, TD1H
39、dl Waveform); /*函数声明*/CIN MgErr CINRun(uInt16 *basea, uInt8 *channel, int32 *samples, TD1Hdl Waveform) /*函数体*/* ENTER YOUR CODE HERE */ int16 dbyte;/*定义16位字(A/D转换结果)*/ float64 value; /*定义变量,存放单点的A/D转换结果对应的模拟量*/ float64 array;/*定义数组,存放所有点的A/D转换结果对应的模拟量*/ int32 i;/*定义变量,存放循环采样次数*/ MgErr err=noErr; /*动
40、态设定数组Waveform的大小*/ if (err = SetCINArraySize(UHandle)Waveform, 3, *samples)goto out;(*Waveform)dimSize=*samples;/*取数组组Waveform的参数:dimSize,将其置为samples */array=(*Waveform)arg1;/*取数组Waveform的参数:arg1e,置给array */*软件查询式采集程序*/for(i=0;i*samples;i+)/*重复采样,采样点数由samples确定*/ outp(*basea, channel);/*向板基地址写入所选模拟信
41、号通道号并启动A/D转换*/dbyte=0;do /*以查询方式循环采样。采样结果送入dbyte(12位)*/ ; while(! (inp(*basea+6) & 0 x80); dbyte=inp(*basea+1) | (inp(*basea+2) & 0 xf)AdvancedMemoryIn Port.viFunctionsAdvancedMemoryOut Port.vi图612 Memory子模板6.7.2 In Port.vi、Out Port.vi图标端口参数设置图标端口参数设置1. In Port.vi图标及其端口参数设置In Port.vi图标及其端口参数设置如图613所示。图613 In Port.vi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工方案反交底会(3篇)
- 暑期阅读策划活动方案(3篇)
- 桥梁整体吊装施工方案(3篇)
- 泵站电气仪表施工方案(3篇)
- 渗透地坪专业施工方案(3篇)
- 特产营销方案模板范文(3篇)
- 画室活动策划方案大全(3篇)
- 箱涵施工方案论证(3篇)
- 茶园种植活动方案策划(3篇)
- 装修盖楼活动策划方案(3篇)
- 2025年内蒙古自治区民政厅下属事业单位考试真题
- 2025年长沙农商银行招聘备考题库(30人)附答案详解(模拟题)
- 流动人口管理服务
- DL-T+1127-2023+等离子体点火系统设计与运行导则
- 2025重庆水务集团股份有限公司校园招聘16人笔试历年参考题库附带答案详解
- 万达装修施工方案设计
- 电网侧独立储能电站项目经济效益和社会效益分析报告
- 2025上半年软考系统架构设计师考试真题考及答案
- 江苏省水利工程单元工程施工质量验收常用标准(2025.6.20)
- 水闸工程安全运行监督检查规范化指导手册(2022年版)
- T-ZZB 2666-2022 射频识别应答器天线
评论
0/150
提交评论