ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:1.11MB ,
资源ID:22395001      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22395001.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(LabWindowsCVI入门之第三章计算机外设开发Word下载.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

LabWindowsCVI入门之第三章计算机外设开发Word下载.docx

1、(8) WriteLine 将缓冲区中指定的字节数写入文件中,同时换行。(9) DeleteFile 删除文件(10) RenameFile 重命名文件(11) CopyFile 复制文件下面给出了一个简单的新建test.txt文件,并且向文本文件中写入字符并读出来的例子。该函数运行之后,将在工程文件夹下新建一test.txt的文本文件,文件内容如图 31所示。程序运行结果如图 32所示。图31 文本文件内容32 程序运行结果与文件读写有关的函数可以在Formatting and I/O Library的中找到,与文件操作有关的函数可以在Utility Library的中找到,与文件夹有关的函

2、数可以在Utility Library的Directory Utilities中找到。另外,ANSI C中对文件的操作的函数如fopen、fread、fputs等函数在CVI中仍然可以使用。3.1.2网络通信:在CVI中调用TCP库在测控领域,随着网络计算、远程监控与远程诊断等在仪器仪表领域的应用与发展,网络通信已经成为仪器的基本功能。CVI也提供了Internet库、TCP库、DataSocket库以供用户使用。Internet库主要提供了FTP协议、Telnet协议以及POP3协议的客户端的函数支持。TCP库主要提供了基于TCP协议的网络数据收发函数。DataSocket库提供了比TCP更

3、加方便有效的NI推出的DataSocket的操作函数。在本小节的介绍之前,我们假设大家已经知道了TCP/IP协议、FTP协议、POP3协议、HTTP协议、Telnet协议以及他们之间的相互关系,知道了IP地址、子网掩码、DNS、网关是什么。若对以上问题有含糊之处,建议立即通过Google等手段理解这些概念。本节主要介绍TCP通信的相关内容。利用TCP函数库进行网络传输都要涉及服务器端和客户端。TCP服务器可以通过网络向用户应用程序发送数据和从客户应用程序接收数据。TCP客户可以向TCP服务应用程序发送连接请求,并从服务器接收数据和向服务器发送数据。服务器需要注册,注册以后等待客户向它发送连接请

4、求,而客户只能向已经存在的服务器发送连接请求。运行TCP服务器应用程序的计算机一般叫做主机。服务器端的传输控制函数如下:(1) RegisterTCPServer 注册TCP服务器(2) ServerTCPRead 从客户端读取数据(3) ServerTCPWrite 向客户端发送数据(4) UnregisterTCPServer 注销TCP服务器(5) DisconnectTCPClient 断开与客户端的连接要是程序成为TCP服务器,必须要运行RegisterTCPServer函数。客户端的传输控制函数如下:(1) ConnectToTCPServer 连接到TCP服务器(2) Clien

5、tTCPServer 从服务器读取数据(3) ClientTCPWrite 向服务器写数据(4) DisconnectFromTCPServer 断开与TCP服务器的连接另外CVI的TCP库还提供了TCP的回调函数,并提供了连接开始(TCO_CONNECT)、断开连接(TCP_DISCONNECT)以及数据有效(TCP_DATAREADY)3种消息。下面给出了一个简单的建立TCP服务器,并通过客户端连接TCP服务器的例子。在该示例程序中,TCP服务器运行后客户端向服务器发送“Hello,Im client.”的文本信息,服务器向客户端返回“OK”信息。TCP服务器代码如下:TCP客户端的代码如

6、下:TCP服务器与TCP客户端的程序分别保存在两个不同的工程中。运行时,先运行TCP服务器程序,再运行TCP客户端程序,运行效果如所示。图 33 TCP示例程序运行结果3.1.3 网络通信:在CVI中调用Internet库FTP是应用层的协议,它基于TCP协议,负责进行文件的传输。CVI通过封装隐藏了一些底层的FTP操作 ,提供了两个方便的FTP操作函数:(1) Inet 将本地的文件传输到指定的远程服务器主机上(2) Inet 将指定远程服务器上的文件传输到本机上。Telnet协议也是应用层的协议,同样基于TCP协议,是Internet远程登陆服务的标准协议和主要方式。CVI提供了对Teln

7、et操作的以下函数:(1) InetTelnetOpen 建立Telnet连接(2) InetTelnetRead 从Telnet服务器中读取数据(3) InetTelnetWrite 向Telnet服务器写数据(4) InetTelnetClose 关闭Telnet连接(5) InetTelnetReadUntil 从Telnet服务器中读取数据,直到遇到指定字符或达到指定字节数或者超时(6)InetTelnetRunScript 在Telnet服务器上执行指定的脚本POP3也是应用层的协议,基于TCP协议,规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件。POP3协议允许用户从服务

8、器上把邮件存储到本地主机(即自己的计算机)上,同时根据客户端的操作删除或保存在邮件服务器上的邮件。CVI提供了对POP3操作的以下函数:(1) InetPop3Open 连接POP3服务器(2) InetPop3Close 关闭与POP3服务器的连接(3) InetPop3GetNumMessages 获取POP3服务器上的消息数量(4) InetPop3GetMessageSize 获取POP3服务器上消息的大小(5) InetPop3GetMessageInfo 获取POP3服务器上邮件的具体信息(6) InetPop3DeleteMessage 删除POP3服务器上的消息(7) Inet

9、Pop3GetMessage 获取POP3电子邮件消息头与内容(8) InetPop3ParseMessageHeader 解析POP3邮件的消息头3.1.4 网络通信:在CVI中调用DataSocket库DataSocket技术是NI公司推出的面向测控领域的网络通信技术。DataSocket技术基于Microsoft的COM和ActiveX技术,对TCP/IP协议进行高度封装,面向测量和自动化应用,用于共享和发布实时数据DamSockd能有效地支持本地计算机上不同应用程序对特定数据的同时应用,以及网络和不同计算机的多个应用程序之间的数据交互,实现跨机器、跨语言、跨进程实时数据共享。在测试测量

10、过程中,用户只需要知道数据源和数据库及需要交换的数据就可以直接进行高层应用程序的开发,实现高速数据传输,而不必关心 底层的实现细节,从而简化通信程序的编写过程、提高编程效率。DataSocket包括DataSocket Server Manager(以下简称Manager),DataSocket Server和DataSocket API一部分。Manager是一个独立运行的程序,主要功能有:设置DataSocket Server连接的客户端程序的最大数目和创建数据项的最大数目:创建用户组和用户;设置用户创建和读写数据项的权限;限制身份不明的客户对服务器进行访问和攻击。例如,将Manager中

11、的Default Reader设置为everyhost,则网中的每台客户计算机都可以读取服务器上的数据。Manager对DataSocket Server 的配置必须在本地计算机上进行,而不能远程配置或通过运行程序来配置。DataSocket Server 是一个必须运行在服务器端的程序,负责监管Manager中所设定的具有各种权限的用户组和客户端程序之间的数据交换。DataSocket Server通过内部数据自描述格式对TCP/IP进行优化和管理,简化Internet通信方式,提供自由的数据传输,可以直接传送虚拟仪器程序所采集到的布尔型、数字型、字符串型、数组型和波形等常用类型的数据。它可

12、以和测控应用程序安装在同一台计算机上,也可以分装在不同的计算机上,以便用防火墙进行隔离来增加整个系统的安全性。DataSocket Server不会占用测控计算机CPU的工作时间,测控应用程序可以运行得更快。使用DataSocket技术进行通信时服务器和客户端得计算机上笔形都进行DataSocket Server。DataSocket API提供独立的接口,用于不同的语言平台内部多种数据类型的通读。在LabVIEW中,DataSocket API被制作成ActiveX控件和一系列功能VI(Virtual Instrument),用户可以方便地使用。一般由服务器进行数据采集,根据需要将测量地数据

13、写入DataSocket 数据公共区,然后客户端通过网络从数据公共区读取所需地测量数据。DataSocket 库函数介绍如下。(1) DS_Open创建 DataSocket 对象并连接到数据源(2) DS_DiscardObjHandle 释放 DataSocket 句柄和它占用的相关资源(3) DS_GetDataType 获取 DataSocket 对象的数据类型(4) DS_GetDataValue 获取 DataSocket 对象相关的数据值(5) DS_SetDataValue 设置 DataSocket 对象相关的数据值(6)DS_Update在写连接,把 DataSocket

14、对象的属性和数据写到 DataSocket 服务器;在读连接,从 DataSocket 服务器读取 DataSocket 对象的属性和数据(7) DS_SelectURL 允许终端用户选择连接的 DataSocket URL(8) DS_FreeMemory 释放 DataSocket 库函数占用的内存(9) DS_GetLibraryErrorString 返回描述库错误的字符串DataSocket是一个独立于平台的解决方案,限于篇幅,此处不再给出DataSocket的示例程序,感兴趣的同学可以通过CVI安装目录下的samples中datasocket相关部分自行学习。3.1.5在CVI中使

15、用音频动画在许多测控系统中,常常需要加入音频、图像、动画或具有互动功能的3D模型。在本节中,我们将会详细介绍如何向应用程序中添加这些控件。图像在程序中添加图像相对比较简单,CVI中直接提供了图像控件,通过控件的帮助文档很容易掌握在GUI中添加图像以及通过程序更改图像的方法。动画动画控件是由Picture Ring(图像列表)控件转化而来,在编辑界面添加PictureRing之后,通过菜单- Tree(*.fp),打开CVI安装目录下toolslibcustctrlanimate.fp文件,在CVI窗口的左下角即出现Animation Control的库。库中提供了如下四个函数:(1) Anim

16、ateCtrl_Create 直接创建动画控件(此函数会自动在编辑界面添加Picture Ring控件,但不会自动给Picture Ring添加图片)(2) AnimateCtrl_ConvertFromPictRing 将Picture Ring控件转换为动画控件(3) AnimateCtrl_SetAttribute 设置动画控件的属性(4) AnimateCtrl_GetAttribute 获取动画控件的属性另外在最新版的CVI中,Picture控件提供了gif的支持,用户可以直接添加gif动画。音频同样CVI也提供了对音频播放功能的支持。CVI只提供了对wav文件播放的支持,若需要支持

17、其他格式的文件需要调用其他的dll文件完成。函数为:sndPlaySound 播放指定文件路径的wav文件OpenGLCVI默认提供对OpenGL的支持,函数库文件为cviogl.fp,位于CVI安装目录的toolslibcustctrlcviogl.fp。该函数库文件包含了控件与作图两个子类的函数,可以完成创建、更新、删除OpenGL控件以及获取OpenGL控件属性等功能。尤其需要注意的是,我们不仅可以使用cviogl.fp中提供的函数,OpenGL中通用的glau.lib、glu32.lib、opengl32.lib库中的所有函数都可以使用。也就是说,OpenGL强大的功能也可以在CVI环

18、境下发挥的淋漓尽致。OpenGL本身就是一个功能强大的库,目前很多3D游戏都是基于OpenGL设计,此处篇幅所限不再展开,感兴趣的读者可以将以前写的OpenGL代码移植到CVI环境下。3.1.6在CVI中使用SQL ToolKitLabWindows/CVI SQLToolkit是一个用来访问数据库的软件工具包。工具包里包含了一个用来完成一般数据库任务的高级函数集。在其基础上,可实现定制任务等高级功能的开发。LabWindows/CVI SQL工具包提供若干ODBC数据库驱动器,工具包符合ODBC标准,因此对任何符合ODBC数据库驱动器均可使用。常见的Microsoft Office Acce

19、ss支持的.accdb、.mdb文件都可以通过ODBC数据库驱动器使用。SQL Toolkit并不随CVI的安装发行包一起安装,用户若想使用CVI开发数据库需要额外从NI的官方网站下载:利用CVI SQL Toolkit进行数据库操作通常由以下五步完成:连接数据库-激活SQL连接-处理SQL语句-断开SQL连接-断开数据库。图 35提供了使用SQL Toolkit实现数据库操作的流程图,一般对ODBC数据库进行操作都是根据图 35的说明依次调用内部的函数实现的。连接数据库CVI提供的连接数据库的函数只有一个:DBConnect。DBConnect的参数为ODBC连接字符串。ODBC连接字符串可

20、以在ODBC数据源管理器(在“开始菜单”-“程序”-“管理工具”-“数据源 (ODBC)”中打开)的系统DSN中添加。如图 34所示的第一个数据库的连接字符串应该为:DSN=CVI SQL Samples激活SQL连接CVI提供了两种激活SQL连接的方式:自动SQL和显式SQL。自动SQL对应图 35的DBBeginMap及下面的系列函数,只能构造简单的SELECT语句和CREATE TABLE语句。显式SQL对应图 35的DBActivateSQL及下方的系列函数,可以执行更复杂的SELECT语句以及其他语句。处理SQL语句使用SELECT语句必须将选择的字段绑定到程序中的变量上。接着用取值

21、函数获取所选记录。每次调用取值函数,工具包将列变量拷贝到在程序中绑定的变量。更新行或创建行时还可用绑定的变量,即更新行或创建行时将新值拷贝到绑定的变量并随后调用适当的函数,将程序中的数据添加到数据库对应的字段。CVI SQL Toolkit提供了DBMapColumnTo函数以及DBBindCol函数(如图 35),帮助用户绑定数据库的对应数据到变量中。断开SQL连接SQL操作后,应该断开SQL连接来释放系统资源。对于自动SQL连接,使用DBDeactivateMap函数,对于显式SQL连接,使用DBDeactivateSQL函数。断开数据库连接数据库操作结束后,应该断开数据库连接来释放系统资

22、源。CVI提供了DEDisconnect断开连接。具体的函数使用说明参见CVI安装目录中bincvisqlref.chm的帮助文件。34 ODBC数据源管理器35 CVI SQL Toolkit函数库使用流程图从上面的图 35可以看出,若不需要绑定变量,则可使用DBImmediateSQL执行一个SQL语句,更加方便快捷。下面的例子给出了从数据库的USERS表中查找用户ID为2的用户名与用户年龄的完整代码。USER表数据库参见图 36。其中ID为自动编号类型,UserName为文本类型,Age为数字类型。运行代码前,需要实现在数据源ODBC管理器中添加数据源名为“CVI SQL Samples

23、”的mdf文件。36 数据库USERS表3.1.7在CVI中使用剪贴板与动态数据交换(DDE)剪贴板(ClipBoard)与动态数据交换(DDE,Dynamic Data Exchange)都是用于用于应用程序交换数据共享信息的工具和途径,广泛应用于Windows操作系统中。CVI对于剪贴板提供了四个函数,分别提供了向剪贴板中写入文本、图像以及从剪贴板中读出文本、图像的功能。(1) ClipboardPutText 向剪贴板拷贝文本格式的数据(2) ClipboardPutBitmap 向剪贴板拷贝位图格式的数据(3) ClipboardGetText 从剪贴板中读取文本格式的数据(4) Cl

24、ipboardGetBitmap 从剪贴板中读取位图格式的数据使用DDE通讯需要两个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。客户机应用程序向当前所激活的服务器应用程序发送一条消息请求信息,服务器应用程序根据该信息作出应答,从而实现两个程序之间的数据交换。DDE最早是随着Windows3.1由微软公司提出的,虽然目前很多软件支持DDE,但是目前诸多公司已经停止了对DDE的支持。DDE通常用来在程序中实现导出数据保存为Excel或者Word中,但是CVI提供了效率更高更易用的ActiveX控件的功能,可以达到同样的目的。3.1.8在CVI中进行Act

25、iveX控件操作ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM),可被其他应用程序编程驱动,实现特殊的程序间调用功能。COM组件(ActiveX控件)可由不同语言的开发工具开发,VC、PowerBuilder等编程开发工具均可开发ActiveX控件。ActiveX在广义上是指微软公司的整个COM架构,但是现在通常用来称呼基于标准COM接口来实现对象连接与嵌入的ActiveX控件,常常用于在IE中增加丰富的扩展功能。而在本教程中,我们提到的ActiveX控件均指的广义上的ActiveX控件,即基于COM模型的开发组件。点击CV

26、I菜单Tools-Create ActiveXController,打开创建ActiveX Controller Wizard,点击Next即可发现有大量可供我们使用的ActiveX控件。通过添加适当的ActiveX控件,我们不仅可以从常用的Office软件中写入、读取数据,操作数据库,获取与Matlab的接口以使用Matlab进行数据处理,还可以利用AutoCAD、QQ、IE、PowerDesigner、SolidWorks等诸多领域主流的软件的组件进行相关程序的编写。限于篇幅,本节只以一个实例向大家介绍使用ActiveX控件开发应用程序的基本过程与方法。在这个实例中,我们将通过Micros

27、oft Excel 9.0 Object Lib这个ActiveX控件打开Excel文件并向其中写入099这100个数据并将Excel文件保存在指定位置。假设我们计算机上安装了Office2000。单击CVI菜单Tools-Create ActiveXController,点击下一步,在ActiveX Server选项中找到Microsoft Excel 9.0,点击下一步,选择函数库.fp文件保存的位置之后,CVI即在当前工程中添加了Microsoft Excel 9.0 Object Lib的相关库文件。若在计算机上安装的Office版本不是2000,那也没关系,从CVI安装目录中的“samplesactivexexcel”中找到excel2000.fp、excel2000.h、excel2000.obj和excel2000.sub文件,将此四个文件复制到工程目录下,将fp文件添加到当前工程中之后同样可以达到添加Micr

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1