欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    [精选]第6章Advanced子模板及LabVIEW与C语言的接口方法.pptx

    • 资源ID:87849659       资源大小:539.13KB        全文页数:99页
    • 资源格式: PPTX        下载积分:25金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要25金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [精选]第6章Advanced子模板及LabVIEW与C语言的接口方法.pptx

    第第6章章 Advanced子模板及子模板及LabVIEW与与C语语言的接口方法言的接口方法 6.1 概述概述 6.2 Advanced子模板子模板 6.3 CIN代码接口节点图标及其与代码接口节点图标及其与C语言接口技术语言接口技术 6.4 CIN图标的调用及参数设置图标的调用及参数设置 6.5 CIN设计步骤设计步骤 6.6 应用举例应用举例:用用CIN图标实现对图标实现对HY-1232数据采集卡的驱动数据采集卡的驱动 6.7 端口操作图标端口操作图标In Port.vi、Out Port.vi及其应用及其应用 本章小结本章小结6.1 概概 述述 用前面介绍的知识完全可以完成一个完整的虚拟仪器测试系统的基本编程,但是LabVIEW并不是万能的,它所提供的图标功能是有限的,实际系统中仍然有某些功能是LabVIEW无法或难以实现的。针对这个问题,LabVIEW在Advanced子模板上提供了和C语言的接口,还提供了调用Windows动态链接库DLL函数以及实现多线程编程等高级功能。6.2Advanced子模板1.调用路径FunctionsAdvancedAdvanced子模板如图61所示。图61Advanced子模板6.3CIN代码接口节点图标及其与C语言接口技术CIN是CodeInterfaceNode的简称。Advanced子模板上提供了CIN图标,可以实现在LabVIEW中引入C语言源代码,因此它是LabVIEW图形化编程语言环境与C语言的接口。C语言是功能非常强大的文本式编程语言,当遇到某些LabVIEW图标难以实现的功能时,就可以通过CIN图标在LabVIEW中引入C语言源代码来实现,从而大大提高了LabVIEW数据处理的整体功能。作为LabVIEW与C编程语言的接口图标,CIN是通过输入、输出端口实现两种语言之间的数据传递的。输入、输出端口的个数可由设计者根据实际需要确定。当LabVIEW的程序运行到CIN节点时,数据由CIN的输入端口传递给C源代码图标,程序转去执行C源代码,代码执行完后,得到的数据结果由CIN的输出端口返回给LabVIEW。CIN的设计方法大致包括以下几个步骤:1确定CIN图标的输入、输出参数个数和数据类型。2生成C源代码编辑格式文件。3在编辑格式文件中的规定位置/*EnterYourCodeHere*/填写实现某种测量功能的C源代码,生成最终的C源代码文件。4在LabVIEW指定的环境下编译步骤3中生成的C源代码文件,并生成可执行文件。5调用CIN的功能菜单将生成的可执行文件载入CIN图标。这样就基本形成了一个具备某种功能的CIN图标。本章以实现c=a+b为例,介绍CIN图标的使用方法,同时着重介绍它在驱动数据采集卡方面的应用。LabVIEW支持的数据采集卡当然NI公司生产的数据采集卡在其中之列,是Measurement&Automation软件检验时可识别的,从而是可以进行参数设置的数采卡。这种数采卡可以调用第4章介绍的DataAcquisition子模板上的数据采集图标进行各种方式的数据采集。LabVIEW不支持的数据采集卡,Measurement&Automation软件检验时是不可识别的,当然非NI公司生产的数据采集卡通常都属此列,则一般需要设计者自己开发驱动程序。通常驱动程序是采用C语言编写的,用CIN接口图标驱动数据采集卡的实质与关键步骤是,将C语言编写的驱动程序添入规定的位置/*EnterYourCodeHere*/。6.4CIN图标的调用及参数设置6.4.1 CIN图标的调用路径图标的调用路径FunctionsAdvancedCodeInterfaceNodeCodeInterfaceNode子模板如图62所示。图62CodeInterfaceNode子模板 6.4.2 CIN 图标及其端口参数设置图标及其端口参数设置初始化时的CIN图标如图63所示。CIN图标中表格状图案的每一行代表一个参数,左侧为参数的输入值,右侧为CIN运行后该参数的返回值。参数1输入口参数1返回值的输出口图63初始时的CIN图标 6.4.2.1 设置设置CIN图标的输入、输出参数个数图标的输入、输出参数个数这里以实现ca+b运算为例来说明CIN图标参数的添加方法。初始时,CIN只有一个参数的输入、输出口。欲增添新的参数输入、输出口,可以利用工具模板上的选择工具拖放CIN图标来实现,也可以从CIN图标的快捷菜单中选择AddParameter选项来添加。有些情况下,有的参数只能作为输出值,而没有对应的输入。当欲实现ca+b运算时,则c参数只能是输出值,它是CIN的运行结果,没有对应的输入值,这时应当将其对应的输入口置为无效。方法是,把鼠标放在相应的输入口,用鼠标右击CIN图标,弹出快捷菜单,从中选择OnlyOutput项,则该输入口变暗,说明其无效。图64为本例的CIN图标输入、输出口的设置情况。无效a返回值b返回值CIN输出b输入值a输入值图64添加参数后的CIN图标 6.4.2.2 设置参数的数据类型设置参数的数据类型CIN输入输出口参数的数据类型由连接在该输入输出口上的控件的数据类型决定。例如,如果某参数的输入输出端口连接在一个数据类型为int32的数字控件上,则该参数的数据类型为int32型。有些时候,设计者并不希望将CIN的运行结果显示到面板上,而只是作为整个程序的一个中间运行结果传递下去。这时可以在流程图上,用鼠标右击该控件对应的终端,从弹出的快捷菜单中选择HideControl项将该控件从前面板上隐藏掉。6.5CIN设计步骤 6.5.1 生成生成C源代码编辑格式文件源代码编辑格式文件*.C文件代码框架文件代码框架从CIN图标的快捷菜单中选择Create.CFile项,会弹出一个文件存储对话框,键入文件名本例中文件名设为add.c,则生成LabVIEW的C语言代码框架;然后用任意一种文本编辑器将它翻开。该C文件的代码框架为/*CINsourcefile*/注释#includeextcode.hCINMgErrCINRunfloat64*a,float64*b,float64*c;函数声明CINMgErrCINRunfloat64*a,float64*b,float64*c函数体/*ENTERYOURCODEHERE*/填入C语言源代码returnnoErr;6.5.2 添加添加C源代码源代码在/*ENTERYOURCODEHERE*/处填入设计者所编写的C源代码。对于本例,填写后的C源代码文件为/*CINsourcefile*/#includeextcode.hCINMgErrCINRunfloat64*a,float64*b,float64*c;CINMgErrCINRunfloat64*a,float64*b,float64*c*c=*a+*b;/*添加的代码*/returnnoErr;注:在C源代码的编写过程中,除可直接调用C语言的基本库函数外,LabVIEW提供有专门支持CIN设计的库函数,如存储空间Memory的动态分配后面的采样举例中会用到、文件的操作等,供设计者使用,详细内容可查看LabVIEW的在线帮助OnlineHelp。6.5.3 *.C文件源代码的编译文件源代码的编译*.C文件源代码的编译主要是在以C语言为主的开发系统中进行。编译完毕形成一个可以和CIN图标进行动态连接的工程文件*.lsb。下面介绍在VC+集成环境下编译*.C源代码的具体步骤。1新建一个DLL工程文件,命名为Add。翻开VC+开发平台,执行FileNew操作。进行选项:win32DynamicLinkLibrary。添加工程文件名:Add。location:填写工程文件的存放路径。也可以采用其默认路径D:MicrosoftVisualStudioMyProjects。最后形成工程文件add.cpp。2向工程文件中添加cin.obj、labview.lib、lvsb.lib、lvsbmain.def四个文件。执行ProjectAddtoProjectFiles操作,向工程文件添加上述四个文件。这四个文件在LabVIEW安装路径下的cintools文件夹下的win32子文件夹中。3向工程文件中添加上面的*.C源代码文件add.c。添加方法同2。4*.C源代码文件编译前的设置。由菜单项ProjectSetting翻开设置对话框,逐项设置。Settingfor选项设置。AllConfiguration。C/C+标签页设置。用鼠标左击C/C+标签页按钮,逐项设置。lCategory:由下拉菜单项选择择为Preprocessor。Additionalincludedirectories:添加LabVIEW的cintools文件夹的路径。假设LabVIEW安装路径为d:LabVIEW,则在Additionalincludedirectories处添加路径d:LabVIEWcintools。lCategory:由下拉菜单另选为CodeGeneration。Strictmemberalignment:设置为1Byte。Userun-timelibrary:设置为MultithreadedDLL。CustomBuild标签页设置。用鼠标左击CustomBuild标签页,逐项设置。lmands:输入命令行如下:d:labviewcintoolswin32lvsbutil$TargetNamed“$WkspDir$OurDir假设LabVIEW的安装路径为:d:labview。lOutputs:输入命令行如下:$OutDir$TargetName.lsb5添加C源代码程序。可在Workspacewizard窗口中双击add.c,翻开源文件添加C源代码。如果已经添加过,则继续下一步。6编译*.C源代码文件。在主菜单Build下选择pileadd.c选项,则进行add.c程序的编译,如有语法等错误,则给出错误提示,按提示修改程序,重新编译。重复这一过程,直至没有错误。7生成可执行文件。在主菜单Build下选择BuildAdd.dll选项,即生成可执行文件Add.lsb,同时生成如Add.dll等所需的全部文件。图65CIN图标主菜单1.装载可执行文件到CIN图标回到LabVIEW流程图窗口,窗口中CIN图标的快捷菜单如图65所示。从中选择LoadCodeResource项,即弹出一个Chooseacoderesourcefile对话框,如图66所示。按照Add.工程文件存入的路径寻找Debug目录下的Add.lsb文件,然后点击“翻开按钮,于是Add.lsb文件就装入CIN图标中。图66Chooseacoderesourcefile对话框2.可执行文件的重新装载及错误文件的去除如果在装载完可执行文件后,你对源代码又进行了修改,则必须重新编译,重新装载。在重新装载的时候,CIN图标在再次装载时,它的快捷菜单发生了相应的改变,如图67所示。利用其中的Reload Code Resource 对同一可执行文件或ReloadCodeResourceFrom如果是其它可执行文件选项,可实现可执行文件的重新装载。图67ReloadCodeResource菜单 6.5.5 运行程序运行程序至此,就完成了CIN的全部设计过程,可运行该程序,改变a、b的值,观察c的输出显示。关于数据采集卡的驱动程序,LabVIEW提供的开发方式有两个:利用端口操作图标InPort.vi和OutPort.vi开发数据采集卡驱动程序。这种方法实现起来比较简单,适于采集精度要求不高的情况,但对于精度要求高且较复杂的采集系统,如包含对物理内存大量操作的情况,这种方法是远远不能满足设计需要的。采用LabVIEW提供的CINCodeInterfaceNode图标开发数据采集卡驱动程序。这种方法适用于精度要求高且功能复杂的采集系统的设计,是一种理想的设计方法。本章我们以非NI公司生产的HY1232型数据采集卡的驱动为例,重点介绍利用CIN代码接口子模板驱动数据采集卡的方法。最后简单介绍利用InPort.vi和OutPort.vi两个端口的操作图标实现数据采集卡驱动的方法。CIN子模板是LabVIEW与C语言之间的一种接口图标。设计者可以将那些在LabVIEW下难以实现和无法实现的功能,利用C语言来完成,然后再将结果通过CIN传递回LabVIEW。在实际设计应用中,经常会遇到某些想实现的功能,利用LabVIEW中现成的图标无法实现,而利用其它编程语言则很容易实现的情况,这时就需要利用LabVIEW中的接口图标以实现LabVIEW和其它编程语言之间的连接。CIN图标就是其中的一种。6.6应用举例:用CIN图标实现对HY1232数据采集卡的驱动 6.6.1 HY1232数据采集卡简介数据采集卡简介HY1232是一种IBMPCXT/AT总线兼容的数据采集卡,其主要性能指标如下:32路单端模拟输入通道;A/D分辨率为12bit;1路模拟输出通道;D/A分辨率为12bit;D/A输出上电清零;模拟输入电压范围:5V;模拟输出电压范围:5V或0+5V;软件触发方式;数据传输方式采用软件查询方式和中断方式。6.6.1.1 HY1232数据采集卡工作原理数据采集卡工作原理将HY1232数据采集卡插入PC机的PCI插槽中,待采集的多路模拟信号通过一个40芯的输入输出插座分别接到采集卡内部的32选1的模拟输入多路开关上。通过软件设置,选通某模拟输入通道。对于HY1232数据采集卡,在选通某模拟信号输入通道的同时即启动了该路的A/D转换。当A/D转换完成时,采集卡上的转换完成位存放器的最高位D7被置为“1。用软件查询方式查询该存放器的D7位,当查询到该位为“1时,即说明采样已结束,可将12bit的数据读入计算机内存中。如果采用中断方式,则在A/D转换完成后,采集卡会自动向计算机发出中断请求信号。在中断效劳程序内,将12bit数据读入计算机内存。HY1232数据采集卡中采用的是12位A/D转换器,转换完毕的12位二进制数中的低八位AD7、AD6AD1、AD0存放在低八位缓冲存放器中,其高四位AD11、AD10、AD9、AD8存放在高四位缓冲存放器中。HY1232数据采集卡有32路单端模拟输入通道,由八位输入通道选择存放器低六位C4、C3、C2、C1、C0的二进制状态字选择被测信号的输入通道。例如,选择第4通道输入信号的二进制状态字为00100。表61列入了各存放器的读/写操作功能与占用地址。表61 HY1232数据采集卡板基地址分配与存放器读/写操作功能 6.6.1.2 对采集卡进行参数设置对采集卡进行参数设置1确定采集卡的板基地址。板基地址是CPU分配给采集卡内存空间的首地址。首地址后面的内存空间供采集卡内部存放器分配使用。HY1232数据采集卡板基地址的可选范围为:200H3FFH5121023。通常选0 x280,即280H640。2确定信号的输入方式。选择设置信号是单端输入还是双端输入,单极性信号还是双极性信号。HY1232数据采集卡只有32路单端输入一种方式,故不需要用户来设置。3设置信号的输入范围。根据输入信号幅值范围和分辨率的要求进行选择。HY1232数据采集卡信号输入范围不可选,只能为5V+5V,且内部的放大器增益固定为1。4确定采样触发方式。一般分外触发、定时触发、软件触发等几种方式。但对于HY1232采集卡,只有软件触发一种方式,即在往输入通道存放器写入所选通道号的同时即触发了A/D转换。5A/D转换结束的判断。对于HY1232采集卡分查询方式和中断方式两种。6采样速率的设置。对于有些数据采集卡如LabPC1200卡,用户可在其最大采样速率范围内进行选择设置,以满足实际的需要。但HY1232数据采集卡的采样速率是固定的,用户不可选。7设置信号输入通道。在031可选范围内选择。8设置一次采集点数。6.6.1.3 采集程序流程图与编程要点采集程序流程图与编程要点1流程图HY1232数采卡单点数据采集程序流程图如图68所示。图68HY1232数采卡单点数据采集程序流程图2.数据采集程序HY1232数据采集卡采集一个点的C源程序如下:#include#include#includevoidmainvoidintbasea,channel;floatvalue,lo,hi;basea=0 x280;/*板基地址设为640*/printf“Inputchannelnumber:;/*设置采集通道号*/scanf“%d,&channel;outpbase,channel;/*往输入通道存放器写入所选通道号,并触发A/D转换*/do/*查询A/D转换完成存放器的最高位,假设为1,则说明A/D;换结束,否则继续查询*/while!inpbasea+5&0 x80;lo=inpbase+1;/*读入A/D结果的低八位*/hi=inpbase+2;/*读入A/D结果的高四位*/value=lo+hi&0 xf*256-2047*10.0/4096;/*合并后,再将A/D转换的二进制结果转换成对应的模拟量值*/getch;3.编程要点说明1outpx,y和inpx函数C语言接口函数outpx,y函数的功能是把函数y送入端口地址为x的存放器中。outpbase,channel是把通道号channel程序中是由前面板控件设置送入地址为base的输入通道选择存放器,并启动该通道的A/D转换。inpx函数的功能是从端口地址为x的存放器中读取二进制数据。inpbase+1从地址为base1的低八位存放器读取A/D转换结果。inpbase+2从地址为base+2的高四位存放器读取A/D转换结果二进制数的高四位,并去除A/D完成位存放器和中断请求信号。inpbase+5从地址为base+5的完成位存放器读取完成标志位I/O显示值,当IO=0时,表示A/D转换未完成;当IO=1时,表示A/D转换完毕。2A/D转换完成的判别采用Dowhile循环语句如下:Dowhile!inpbasea+5&0 x80;句中0 x80的十进制数为128,相应二进制数为,故inpbase+5&0 x80屏蔽了低七位,保存了第八位结果IO,则:IO=0A/D转换未完毕时,条件!inpbasea+6&0 x80为真,Dowhile循环继续;IO=1A/D转换完毕时,条件!inpbasea+6&0 x80为假,Dowhile循环停止。3A/D转换结果的合并及工程运算hi&oxf是将A/D结果高四位二进制数转化为十六进制数,hi&oxf*256则将十六进制数转化为十进制数,lo+hi&0 xf*256将数据合并为一个十进制数。这里,被测信号的输入范围设置为5V5V,HY1232卡 的 分 辨 率 为 12位,则 量 化 值 Q为10.0/4096V,而十进制数也需减去满量程的一半: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,则采集卡的模拟输入电压为value=3027-2047*10.0/4096=2.3926V 6.6.2 具体设计方法具体设计方法1.模拟信号采集系统功能描述使用CIN实现非LabVIEW支持的HY1232数据采集卡的驱动。要求在LabVIEW下利用HY1232采集卡实现一个模拟信号200Hz的正弦波的采集和波形显示。要求采样点数、板基地址和通道号可设。2.设计提示1前面板设计放置三个输入控制型数字控件和一个图形控件。数字控件1:用来设置HY1232数据采集卡的板基地址。基地址basea的数据类型选为U16因为HY1232的基地址最大为3FFH,默认值设为640即0 x280。数字控件2:用来设置信号的输入通道。通道号channel的数据类型选为U8因为HY1232的模拟输入通道为031,默认值为0,数据范围为031。数字控件3:用来设置采样点数。总采样点数samples的数据类型为32,默认值设为100。图形控件:用来显示采集的波形。设计好的前面板如图69所示。图69模拟信号采集程序前面板2流程图设计1放置CIN图标,并设置图标的输入、输出参数个数及数据类型。调用路径。由FunctionsAdvancedCodeInterfaceNode路径调入CodeInterfaceNode。参数设置。本例中,CIN图标有三个输入参数basea、channel、samples和一个输出参数Waveform。Waveform是一个double型数组,用于存放采集结果。参数数据类型的选择与前面板一致。2C源代码文件的生成。选择如图610所示的CIN图标快捷菜单项选择项中的Create.cFile选项,生成C源代码格式文件*.C文件。图610CIN图标属性对话框本例生成的格式文件内容如下:/*CINsourcefile*/#includeextcode.h/*typedefs*/typedefstructint32dimSize;float64arg11;TD1;typedefTD1*TD1Hdl;CIN MgErr CINRunuInt16*basea,uInt8*channel,int32*samples,TD1HdlWaveform;CIN MgErr CINRunuInt16*basea,uInt8*channel,int32*samples,TD1HdlWaveform/*ENTERYOURCODEHERE*/returnnoErr;从上面生成的代码可以看到,因为定义的CIN图标输出参数是数组型的,而LabVIEW向CIN传递数组类数据时,用的是句柄handle。传递数组的句柄结构是这样定义的:typedefstructint32dimSize;/*数组尺寸*/float64arg11;/*数组首地址指针*/TD1;typedefTD1*TD1Hdl;对于一个有n个元素的一维数组,用dimsize函数表示为dimsizen。对于一个mn的二维数组amn,用dimSize函数表示为dimSize0=m,dimSize1=n。3填写C源代码。将6.6.1.3节中的HY1232的C语言采集程序填入到上面的C源代码框架中。最终完成的C源代码文件sampdata.c文件如下:注:设计者自行添加的语句为黑斜体,其余为自动生成的语句/*CINsourcefile*/#includeextcode.h/*自动生成*/#include hosttype.h/*调用了系统及功能函数,因此添加此头文件*/#include dos.h/*调用了C语言中的inp 、outp 函数,因此添加此头文件*/*typedefs*/typedefstructint32dimSize;/*数组尺寸*/float64arg11;/*数组首地址指针*/TD1;typedefTD1*TD1Hdl;CINMgErrCINRunuInt16*basea,uInt8*channel,int32samples,TD1HdlWaveform;/*函数声明*/CINMgErrCINRunuInt16*basea,uInt8*channel,int32*samples,TD1HdlWaveform/*函数体*/*ENTERYOURCODEHERE*/int16 dbyte;/*定义16位字A/D转换结果*/float64 value;/*定义变量,存放单点的A/D转换结果对应的模拟量*/float64 array;/*定义数组,存放所有点的A/D转换结果对应的模拟量*/int32 i;/*定义变量,存放循环采样次数*/MgErr err=noErr;/*动态设定数组Waveform的大小*/if err=SetCINArraySizeUHandleWaveform,3,*samplesgoto out;*WaveformdimSize=*samples;/*取数组组Waveform的参数:dimSize,将其置为samples*/array=*Waveformarg1;/*取数组Waveform的参数:arg1e,置给array*/*软件查询式采集程序*/fori=0;i*samples;i+/*重复采样,采样点数由samples确定*/outp*basea,channel;/*向板基地址写入所选模拟信号通道号并启动A/D转换*/dbyte=0;do/*以查询方式循环采样。采样结果送入dbyte12位*/;while!inp*basea+6&0 x80;dbyte=inp*basea+1|inp*basea+2&0 xfAdvancedMemoryInPort.viFunctionsAdvancedMemoryOutPort.vi图612Memory子模板6.7.2 In Port.vi、Out Port.vi图标端口参数设置图标端口参数设置1.InPort.vi图标及其端口参数设置InPort.vi图标及其端口参数设置如图613所示。图613InPort.vi图标及其输入、输出参数设置该函数完成从指定地址读取一个字节或一个字的操作,其输入、输出口参数及其含义为:输入端口:registeraddress:U32型。数据读入端口的物理地址。readabyteoraword:Boolean型。当该值为True时,读取一个字;当该值为False时,读取一个字节。默认值为False。输出端口:value:U16型。该值是从指定端口读取的字或字节。2OutPort.vi图标及其端口参数设置OutPort.vi图标及其端口参数设置如图614所示。该函数完成向指定地址写入一个字或字节的操作。其输入端口参数及其含义为:图614OutPort.vi图标及其端口参数设置输入端口:registeraddress:U32型。该值为待写入存放器的物理地址。writeabyteoraword:Boolean型。当该值为True时,向待写入存放器写一个字;当该值为False时,向待写入存放器写一个字节。默认值为Flase。value:U16型。向待写入存放器写入的字或字节。6.7.3 应用举例:用应用举例:用In Port.vi和和Out Port.vi图标驱动数图标驱动数据采集卡据采集卡1数据采集系统功能描述利用InPort.vi和OutPort.vi图标实现HY-1232数据采集卡的驱动。采集卡的工作方式为:软件启动、查询方式读取采样结果,采样结果存放在一个一维数组中。要求在LabVIEW下利用HY1232采集卡实现一个模拟信号200Hz的正弦波的采集和波形显示。并且采样点数、板基地址和通道号可设。2前面板设计放置三个输入控制型数字控件和一个图形控件。数字控件1:用来设置HY1232数据采集卡的板基地址。基地址basea的数据类型选为U16因为HY1232的基地址最大为3FFH,默认值设为640即0 x280。数字控件2:用来设置信号的输入通道。通道号channel的数据类型选为U8因为HY1232的模拟输入通道为031,默认值为0,数据范围为031。数字控件3:用来设置采样点数。总采样点数samples的数据类型为I32,默认值设为100。图形控件:用来显示采集的波形。设计好的前面板如图615所示。图615数据采集系统前面板3流程图的设计 执行FunctionsAdvancedMemoryIn Port操作,调入InPort.vi图标。执行FunctionsStructureSequence操作,调入Sequence图标。执行FunctionsStructureWhile操作,调入While图标。流程图中用顺序控制结构Sequence来控制读写端口的前后次序,用While循环结构的转移存放器ShiftRegister来记录每一次的采样值,在循环终了,以一维数组的形式输出,波形显示在Graph控件上。设计好的流程图如图616所示。图616数据采集系统流程图本本 章章 小小 结结本章主要介绍了如下内容:Advanced子模板。用CIN.vi图标驱动非NI卡的方法。用InPort.vi和OutPort.vi图标驱动非NI卡的方法。

    注意事项

    本文([精选]第6章Advanced子模板及LabVIEW与C语言的接口方法.pptx)为本站会员(茅****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开