LabVIEW与USB通信

LabVIEW与USB通信
LabVIEW与USB通信

LabVIEW与USB的直接数据通信

摘要:引言LabVIEW是一种基于图形程序的虚拟仪器编程语言,在测试与测量、数据采集、仪器控制、数字信号分析、工厂自动化等领域获得了广泛的应用。LabVIEW程序采用方框图编程,具有友好的人机界面,在前面板中有用于模拟真实仪器面板的控件可供调用,可用于设置输入数值、观察输出值以及实现图表、文本等显示。实现LabVIEW对数据的采集和处理,传统的是采用数据采集卡,但是这些数据采集设备存在安装不便、价格昂贵、受计算机插槽数量、

目录

引言

LabVIEW是一种基于图形程序的虚拟仪器编程语言,在测试与测量、数据采集、仪器控制、数字信号分析、工厂自动化等领域获得了广泛的应用。LabVIEW程序采用方框图编程,具有友好的人机界面,在前面板中有用于模拟真实仪器面板的控件可供调用,可用于设置输入数值、观察输出值以及实现图表、文本等显示。实现LabVIEW对数据的采集和处理,传统的是采用数据采集卡,但是这些数据采集设备存在安装不便、价格昂贵、受计算机插槽数量、地址、中断资源的限制,可扩展性差,同时在一些电磁干扰性强的测试现场,可能无法专门对其做电磁屏蔽,从而导致采集的数据失真。在LabVIEW下使用USB总线,可以同样实现数据采集,并且弥补了采集卡的不足。

传统的用LabVIEW读写USB设备的方法是:先用VC++或Delphi编写动态链接库DLL文件,在DLL中通过调用WIN API函数读写USB设备的数据,并存在缓冲区中,在LabVIEW 中通过对DLL文件的调用提取缓冲区中的数据。介绍了在LabVIEW下,通过调用NI-VISA 子程序控件,实现与USB设备的直接通信,避免了二次编程的麻烦和数据的中转。

2 USB底层驱动程序设计

USB底层驱动开发工具有Windows DDK和第三方开发工具,如Driver studio和 Win driver 等,但是使用这些工具开发驱动难度大、效率底。在这里,介绍如何借用LabVIEW的NI-VISA 子程序控件作为USB的底层驱动。

VISA(Virtual Instrument Software Architecture,ni.corn/visa)是一个用来与各种仪器总线进行通讯的高级应用编程接口(API)。他不受平台、总线和环境的限制。通用串行总线(USB)是一个基于信息的通讯总线。这表示PC机与USB设备通过发送指令和数据进行通讯,而这些指令和数据是通过总线以文本或二进制数据的形式发送的。每个USB设备都有各自的指令集。可以使用NI-VISA的读写功能向仪器发送这些指令,并读取仪器的反馈。

NI-VISA从3.0版开始支持USB通讯,他有2种VISA类函数(Resource Class),可以控制2类USB设备:USB INSTR设备与USB RAW设备。符合USB测试和测量类(USBTMC)协议的USB设备可以通过使用USB INSTR类函数控制,他们使用488.2标准通讯。对于这些设备,只需以与GPIB仪器通讯同样的方式,使用"VISA Open","VISA Close","VISA Read"和"VISAWrite"功能。USBTMC设备符合VISA USB INSTR类函数能够理解的协议。USBTMC 设备相对来说控制较为复杂,因为每个设备可以使用各自的通信协议,而这些通信协议一般都是由设备的生产厂家自定的。

为了使用NI-VISA,必须先让Windows将NI-VI-SA作为设备的缺省驱动程序使用。在Windows环境中,可以通过INF文档做到这一点。INF文件是系统硬件设备配置文件,USB 驱动程序通过INF文件中的PID(产品识别号)和VID(厂商识别号)识别USB设备。NI-VISA 3.0中包含的VISA Driver Development Wizard(DDW)可以为USB设备创建一个INF文档。下面简单介绍创建INF文档的过程:

(1)在安装了NI-VISA后,启动VISA Driver Devel-opment Wizard程序,出现了为PXI/PCI 或USB设备创建一个INF文档的向导,选择USB设备,点NEXT,出现VI-SA DDW基本设备信息窗口。

(2)进行这一步时,需要清楚USB的PID和VID。这些数字可以在安装USB设备的时候对其进行确认,并在想要与设备通讯的时候,寻找他的地址。依据USB的规格,两个数字都是16位16进制数字,并应该由设备制造商提供。例如在后面介绍基于USB的虚拟示波器用到USB接口芯片PDIUSBD12的PID和VID分别是0x0471和0x0666;这一步设置完成后,点击NEXT,进行最后一步的设置。

(3)USB Instrument Prefix(USB仪器前缀)只是一个描述符,可以用他来识别本设备所用的相关文档。在USB Instrument Prefix中输入相应信息,并在"output file directory"中选择存放这些文档的目录,然后点击Finish。INF文档就被建好并保存至指定的位置。

这时候,只要复制生成的INF文件夹到系统盘Win-dows文件夹下INF文件夹,点击右键,安装即可。这时,插上USB设备,Windows系统就能探测到,并根据INF硬件配置文件选择NI-VISA作为底层驱动程序。在Lab-VIEW中,只需调用NI-VISA的相关控件,即可实现对USB设备的读写操作。

3 LabVIEW驱动程序编写

强大、灵活的仪器控制功能是LabVIEW区别于其他编程语言的主要特点。LabVIEW不仅提供数百种不同接口测试仪器的驱动程序,而且还支持VISA,SCPI和IVI等最新的程控软件标准,为用户设计开发先进的测试系统提供了软件支持。VISA是用于仪器编程的标准I/O 函数库及相关规范的总称,一般称之为VISA库。VISA库驻留于计算机系统中,是计算机与仪器之间的软件层连接,用以实现对仪器的程控。对软件开发者来说,他是一个可调用的操作函数集,他本身不提供仪器编程能力,只是一个高层API(应用程序接口),通过调用底层的驱动程序来控制仪器设备。

NI-VISA支持3种类型的USB管道:控制、批量和中断。NI-VISA探测到USB仪器时,他会对仪器进行自动扫描,寻找各种类型的最低可用端点。如使用NI-VI-SA中的VISA USB Control In和VISA USB Control Out来通过控制型管道传输数据,使用VISA Read和VISAWrite来通过批量型管道传输数据。

作为仪器I/O函数库,VISA编程与传统的I/O软件编程基本相同,主要通过设备I/O 端口的读写操作和属性控制,实现与仪器的命令与数据交换。LabVIEW中所有的VISA节点均在Function模板→All Functions子模板→Instrument I/O子模板→VISA子模板中。在这里,只用到了VISA Open,VISA Close,VISA Write和VISARead四个节点即可实现和USB 设备的双向通信。当完成对USB设备的INF硬件配置后,就可以用VISA Open节点打开该

资源,建立计算机与这些VISA资源的通信管道;与VISA Open节点相反,VISA Close节点用于将打开的VISA资源关闭;VISA Write节点的功能是将writebuffer端口输入字符串数据发送到仪器中;VISA Read节点的功能是从仪器中读出数据;

介绍完上面的4个节点,就可以用上面4个节点实现LabVIEW对USB批量数据收发,如图1所示。当然,这需要前述INF文件的支持和与USB接口的单片机程序的支持,在图1中VISA resource name端口用于指定需要打开的VISA资源的名称,实际上就是前面生成INF 配置文件中的VISA资源仪器描述符。这里,向USB发送字符串“connect test”,连接测试,单片机通过USB接口芯片将发送过去的数据回传给LabVIEW。在前面板的read buffer显示框中能显示出“connect test”字符串。

LabVIEW与单片机通讯

LabVIEW单片机通讯 1.串口扩展的问题: 先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。转接线和扩展卡一般是要装驱动的。 2.串口功能的确认: 在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。电脑上的串口软件一般是用串口调试助手,很出名的,也好用。如下图所示:图1 串口调试助手 打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。 3.串口线的检查: 检查好串口后,一般也要注意一下使用的串口线,标准的串口线是9根线都是用上的,但有一些是只使用了三根线的:2、3、5。第3个脚管是发送,第2个管脚接收,另一个5是地线,这里叫它简化的串口线,简化的串口线能用上的地方,标准的串口线也肯定能用上,因为标准线的9根线已经包括了简化串口线中的3根线,但标准串口线能用上的地方,简化串口线就不一定能用上,所以在使用串口线之间一定要确定好串口线的类型,一般买的串口线都是标准线,但自制的串口线因为应用场合不同就要先确定一下。 G串口线还有一个地方需要注意一下的,就是2、3脚的接法,标准接法中是2、3脚交叉的,即这边的2接另一边的3,这边的3接另一边的2,扭了一下,所以叫交叉线,因为正常使用时,这边第二脚是发送数据,另一边第三脚是接收数据,所以要将这二个管脚连接起来,这样才能正常使用。但是有些情况下,2、3是直连的,即这边的第2脚连接另一边的第2脚,第3脚连接第3脚,这种叫直连线,这种线一般是用于延长串口的,比如需要将工控机的串口接头引到机柜表面上时,就使用这种线,这样机柜表面的串口线的定义还是跟电脑接出来的一样,外面的那一根串口线再使用交叉线。从电脑主板上将串口引到主机后面板上的线就是这样的直连线。购买串口线的时候一般也会问你买直连的还是交叉的,要区别对待。 串口线还有一个要稍微注意一下的就是DB头,因为电脑上接出来的一般是公头(针),要跟电脑接的话要母头(孔),一般仪器的串口也是公头,所以二边都是母头的串口线比较常见。串口的接头一般是DB9的,也有DB25的,但比较少用,有些比较BT的仪器厂家居然用RJ11(水晶头那种)作为串口头,让人不爽! 总之,使用串口前一定要先确定好硬件没问题,不然很浪费时间的。 4.串口参数设置: 在LabVIEW中使用串口时,有几个参数比较重要,需要先说明一下的。一个是串口初始化这个节点的“终止符”和“禁用终止符?”这二个输入端,这二个输入端是相互作用的,“终止符”默认值为10,它的十六进制是“0x0A”,这是一个ASCII码,是一个换行符,可以从LabVIEW中的字符串的不同显示形式看出来,如下图:

LabVIEW与数据库的链接

第 17章 LabVIEW与数据库的链接 17.1 Database Connectivity 工具包介绍 NI为LabVIEW用户提供了一个专门和数据库链接的工具 包:Database Connectivity。安装好工具包后,Database Connectivity工具包的VI将会在函数选板的附加工具包列中出 现。Database子选板如图17-1所示。 DB Tools Open Connection:打开数据库连接,如图17-2(a) 所示。 DB Tools Close Connection:关闭数据库连接,如图17-2(b) 所示。 图17-2(a) DB Tools Open Connection 图17-2(b) DB Tools Close Connection DB Tools Insert Data:根据数据库连接插入一列新的数据,如图17-3(a)所示。 DB Tools Select Data:根据数据库连接从数据库中提取一列数据,如图17-3(b)所示。 图17-3(a) DB Tools Insert Data 图17-3(b) DB Tools Select Data 图17-1 Database子选板

DB Tools Create Table:根据数据库连接创建一个新的表格。输入参数表格和行信息分别表示表格的名称和表格中每行的属性,如图17-4(a)所示。 DB Tools Drop Table:根据数据库连接删除一个由输入参数表格指定名称的表格,如图17-4(b)所示。 图17-4(a) DB Tools Create Table 图17-4(b) DB Tools Drop Table Database Variant To Data:将数据库变量转换为由输入参数类型指定的LabVIEW数据类型,如图17-5所示。 Utility子选板比较常用的函数有DB Tools List Tables.vi与DB Tools List Columns.vi。在这里只介绍这两个VI,其他的VI查看该工具包的帮助文件,很容易就可以理解函数的用法,如图17-6所示。 图17-5 Database Variant To Data 图17-6 Utility子选板 DB Tools List Tables:根据数据连接返回数据库中的所有表格,如图17-7(a)所示。 DB Tools List Columns:根据数据库连接返回输入参数表格的所有列,如图17-7(b)所示。 图17-7(a) DB Tools List Tables 图17-7(b) DB Tools List Columns 对Advanced子选板也只介绍比较常用的VI,其他的VI在应用中不会经常涉及到,这里不再赘述,如图17-8所示。

Labview串口通信开发实例(值得拥有)

串口通信的基本概念 串口通信的基本概念 1,什么是串口? 2,什么是RS-232? 3,什么是RS-422? 4,什么是RS-485? 5,什么是握手? 1,什么是串口? 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米; 而对于串口而言,长度可达1200米。

典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参 数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB 设备的通信。 b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信 的情况。

在LABVIEW中实现对数据库表格的操作

在LABVIEW中实现对数据库表格的操作 摘要: 利用LabVIEW 数据库工具包只能操作而不能创建数据库,所以必须借助第三方数据库管理系统,比如Access,来创建数据库。本文试图通过LABVIEW对数据库进行操作,在LABVIEW 中建立学生成绩查询系统。 关键词: 引言: 现今,数据库技术已经发展的比较成熟了,著名的数据库管理系统有SQL Server、Oracle、 DB2、Sybase ASE、Visual ForPro、Microsoft Access等。Microsoft Access是在 Windows 环 境下非常流行的桌面型数据库管理系统,它作为 Microsoft office组件之一,安装和使用都非常方便,并且支持 SQL 语言,所以本文将基于 Access 来介绍LABVIEW在数据库中的的操作。 在利用NI公司的附加工具包中的数据库接口工具包LabVIEW SQL Toolkit进行数据库访问。该工具包集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能。它的优点是易于理解,操作简单,用户可以不学习SQL语法。 LabVIEW SQL Toolkit(又被称作为LabVIEW Database Connectivity Toolset)是用于数据库访问的附加工具包,它集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能[10]。其主要的功能如下: (1)支持ADO所支持的所有的数据库引擎; (2)支持所有与ODBC或OLE DB兼容的数据库驱动程序; (3)具有高度的可移植性,在任何情况下,用户通过改变DB Tools Open Connection VI的输入参数Connection String就可以更换数据库; (4)可以将数据库中Column Values的数据类型转换为标准LabVIEW Database Connectivity Toolset的数据类型,这进一步增强了它的可移植性; (5)与SQL兼容; (6)不使用SQL语句就可以实现数据库记录的查询、添加、修改以及删除等操作; (7)用户可以完全不需要学习SQL语法。 下面具体介绍如何在LABVIEW中利用LabVIEW Database Connectivity Toolset对数据库进行操作。 正文: 1.1建立数据源 实现数据库功能的第一步便是建立数据源,下面将详述整个过程。 1.1.1在ACCESS中建立一个数据库

基于labview的TCP网络通讯实现

基于labview的TCP网络通讯实现 (唐山首信自动化信息技术有限公司京唐运行事业部,唐山063000) 摘要:TCP/IP协议是Internet最基本的协议,它由低层的IP协议和TCP协议组成。通过TCP/IP可实 现单个网络内部或互相连通的网络间的通信。各个网络在地理距离上可以相距遥远。TCP/IP将数据在网 络间或因特网上的计算机间传递。多数计算机普遍具有TCP/IP,因而信息能在各种系统上传输。LabVIEW 中,可以采用TCP/IP节点来实现局域网通讯。本文利用NI LabView平台上结合TCP/IP协议进行数据 传输的工作方法,并给出对数据传送与监控的仿真实例。 关键词:labview;tcp;虚拟仪器; TCP network communication based network communication labview (Jingtang Maintenance Department, Tangshan ShouGang Automation & Information Technology Co.,Ltd.,Tangshan 063000) Abstract: TCP / IP protocol is the most basic Internet protocols, which consists flow-level IP protocol and the TCP protocol components.Via TCP / IP to communicate with each other a single internal network or network communication between the. Each network in the geographical distance can be far apart. TCP / IP data transfer over the network or between the Internet between computers. Most computers have a common TCP / IP, so that information can be transmitted in a variety of systems. In LabVIEW, you can use TCP / IP node LAN communications.In this paper,the NI LabView platform combines TCP / IP protocol for data transmission methods of work, and gives the data transmission and monitoring of simulation examples. Key words: labview;tcp;Virtual Instrument 0 前言 在现代仪器系统中,计算机已经与仪器结合得非常紧密,已成为整个系统的核心,许多传统仪器正在逐渐被计算机部分、甚至全部取代。粗略地说这种结合有两种方式:一种是将计算机装入仪器;另一种方式是将仪器装入计算机,即以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式,其实质就是一个按照仪器需求组织的数据采集系统。美国NI公司的LabVIEW就是目前在这一领域内使用较为广泛的计算机语言。 随着计算机网络的发展,虚拟仪器与Internet技术的结合为虚拟仪器网络化、工业现场远程测控提供了更好的实现平台[。本文介绍在LabView开发平台上结合TCP/IP技术实现远程数据传输。 1 labview 1.1 简介 LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺

labview与大数据库

17.2 Database Connectivity应用典型实例 17.2.1 在Access中建立一个数据库 使用NI所提供的数据库工具包Database Connectivity只能操作数据库,但是无法创建数据库,因此需要借助第三方数据库管理系统,如Access等来创建数据库。首先我们建立一个Data.mdb的数据库文件。 打开Microsoft Access软件,单击文件>>新建…,选择空数据库,保存到文件夹下。创建方法如图17-11所示。 图17-11 在Access中创建数据库表格 在利用Database Connectivity工具包操作数据库之前,需要先连接数据库,连接数据库的方法有以下两种。 1.利用DSN连接数据库

LabVIEW数据库工具包基于ODBC(Open Database Connectivity)技术,在使用ODBC API函数之前,需要提供数据源名DSN(Data Source Names)才能连接到实际数据库,所以需要首先创建DSN。Database Connectivity工具包与ODBC的关系如图17-12所示。 打开Windows控制面板>>管理工具,选择数据源,进入“ODBC数据源管理器”对话框,如图17-13所示。 图17-12 DB Tools与ODBC的关系图17-13 “ODBC数据源管理器”对话框 在“用户DSN”页面下创建的数据源只有本用户才能访问,在“系统DSN”页面下创建的数据源,该系统下的所有用户都可以访问。在此选择“用户DSN”,单击

“添加”按钮,在弹出的“创建新数据源”对话框中选择 “Driver do Microsoft Access(*mdb)”,然后单击“完成”按钮,如图17-14所示。 随后弹出“ODBC Microsoft Access安装”对话框,输入“数据源名”,如“LSData”,然后单击“选择”按钮,选择建立好的Data.mdb数据库文件,单击“确定”按钮,如图17-15所示。 图17-14 “创建新数据源”对话框 图17-15 “ODBC Microsoft Access安装”对话框 完成以上配置后,就可以在“用户DSN”页面下看到新创建的名为LSData的DSN了。单击“确定”按钮可完成DSN的建立。

Labview串口

先是英文资料,后面有详细的中文资料。 https://www.360docs.net/doc/af1860903.html,/devzone/cda/tut/p/id/2897 Serial Instrument Control Tutorial 目录 1.Overview of Serial Bus 2.Connecting and Setting up a Serial Instrument Control System 3.How to Create a VISA Resource for the Instrument in MAX 4.Instrument Control Software Articles and Related Links Overview of Serial Bus Serial is a common device communication protocol for instrument control because most computers and many remote instruments include at least one serial port. Single applications can be used across a variety of instruments with few modifications, reducing programming and test time. For more information on the serial protocol, including information on transfer speeds and important parameters, please refer to Serial Communication Overview. Connecting and Setting up a Serial Instrument Control System

基于LabVIEW的Socket程序设计

目录 0. 前言 (1) 1. 总体方案设计 (1) 2. LabVIEW下的程序设计 (2) 2.1 软件层次设计 (5) 2.2 程序框图的设计 (6) 3. 调试及结果分析 (7) 3.1运行检验 (7) 3.2调试分析 (8) 4. 结论及进一步设想 (9) 参考文献 (9) 课设体会 (10) 附录基于LabVIEW的Socket程序设计框图 (11)

基于LabVIEW的Socket程序设计 王琳沈阳航空航天大学自动化学院 摘要:本次课程设计主要是以LabVIEW为平台,用datasocket做服务器,设计两个客户端,以正弦波为信号载体,将正弦信号数据发送到指定服务器地址中,再从指定服务器地址中读取数据并显示出来,以此来实现数据传输。 关键字:DataSocket;数据传输 0. 前言 虚拟仪器技术是基于计算机的仪器与测量技术。而DataSocket技术是一种面向测控领域的通过网络实时进行数据交换的编程技术,它包括了DS Server Manager、DS Server和DS函数库等工具,以及数据传输协议DSTP、URL和文件格式等技术规范,可大大简化网络中计算机之间数据交换的编程工作。 DS Server Manager是一个独立运行的程序,它的主要功能是设置DS Server 可连接的客户程序的数目和可创建的数据项的数目,设置用户和用户组,以及设置用户访问和管理数据项的权限。没有权限的用户不能在DS Server上创建或读写数据项,这样可以提高网络通信的安全性。 DS Server也是一个独立运行的程序,它能为用户解决大部分网络通信方面的问题,负责和用户程序之间的数据交换,不需要用户编写有关网络通信的底层程序。DS Server可以和测控应用程序安装在同一台计算机上,也可以分别安装在不同的计算机上。后一种方法可以增加整个系统的安全性,因为两台计算机之间可用防火墙加以隔离,而且DS Server程序不会占用测控应用程序所在的计算机CPU的时间,从而使测控应用程序可以运行的更快。 1. 总体方案设计 设计两个客户端,客户端1和客户端2,以正弦波为信号载体,客户端1将正弦信号数据发送给DS Server,客户机2从DS Server读取数据显示并保存,另设一个VI读取保存的历史数据。 整体框图如图1所示:

深入浅出LabVIEW数据库应用

目录 第1章引言—献给想用数据库而不懂数据库的工程师 (1) 第2章边干边学数据库基础 (2) 2.1 数据库简史 (2) 2.2 建立数据源 (2) 2.2.1 在Access中建立一个数据库 (2) 2.2.2 建立与数据库的连接 (3) 2.2.3 数据库连接的可移植性问题(高级话题) (7) 2.3 数据库基本操作 (8) 2.3.1 创建一个表格 (8) 2.3.2 删除一个表格 (10) 2.3.3 添加一条记录 (10) 2.3.4 查询一条记录 (11) 2.4 数据库高级操作 (12) 2.4.1 在LabVIEW中执行SQL语言案例研究 (12) 2.4.2 用SQL实现数据查询操作 (13) 2.4.3 用SQL实现删除一条记录 (13) 2.4.4 压缩数据库,释放多余空间 (14) 2.4.5 用SQL实现修改数据操作 (15) 2.5 本章总结 (16) 第3章一个完整的数据库工程范例 (17) 3.1 工程项目要求 (17) 3.2 生成可执行文件(*.exe) (18) 3.3 生成安装文件(Installer) (19) 第4章后记 (22)

第1章引言—献给想用数据库而不懂数据库的工程师 曾经在一个产品检测项目中,客户要求:当产品检测不合格时,记下该产品对应的序列号,测试时间和各项测试指标,并能对这些数据进行管理和查询。由于自己没有系统的学习过数据库,所以第一时间想到的解决方案是用文件的方式(也只能把数据存成文件了)。在使用文件进行数据储存与管理时,遇到了一个巨大的问题:如何查询数据?基本的文件IO函数中,并没有提供现成的查询函数,所以必须自己编程实现。实现的过程是先将数据读入内存,然后再根据关键字进行线性查找,线性查找的时间复杂度为O(N),所以当数据量逐渐增大时,这将是一个非常可怕的过程。这个不可逾越的障碍迫使我不得不再次考虑使用数据库。 想到这儿,我立即到天河书城买了两本网上评价为数据库经典的书《数据库系统概念》和《轻松掌握SQL》,回到办公室后立即开始学习起来。陌生的术语,难懂的理论;看了后一章便忘了前一章——非常痛苦但还是硬着头皮坚持到了下班。 这种痛苦再加上越来越近的项目交付日期,使我非常焦躁,心里终于有个声音爆发了出来“我不就是想要实现数据的保存,修改,删除和查询吗?我需要把那众多的数据库类型、复杂的关系模型、抽象的关系代数…都搞懂吗???”实践后的答案是,不需要,一点都不需要。 我放弃了刚买的新书,打开了LabVIEW 数据库工具包的用户手册和范例程序,寻找着我期望的数据保存,修改,删除和查询功能。到下班的时候,Everything goes well,基本掌握了用LabVIEW 数据库工具包进行数据保存,修改,删除和查询的方法。 回想起这段历程,突然有种想与大家一起分享的冲动——不懂数据库的工程师也可以玩转数据库,因为从应用的角度来看,我们的实际需求仅仅是数据的保存、修改、删除和查询,根本不需要去研究复杂的关系模型、抽象的关系代数、艰深的数据库设计…那基本与我们的初始目标南辕北辙。借助LabVIEW 数据库链接工具包(Database Connectivity toolkit)可以站在应用的层次,很方便的操作数据库,实现数据的保存、修改、删除和查询等功能。 “学以致用,边学边用,急用先学,立竿见影”,在后续的章节中,我们先概览一下必需的与数据库相关的基本概念,然后在LabVIEW平台上一边学习,一边实践如何储存、管理和查询数据。

非常好--LabVIEW串口通信详解

LabVIEW串口通信详解 串口可以说是我们最容易见到,也最容易接触到的一种总线,台式机上一般都有二个,而现在很多下位机、仪器等很多都还是使用串口通信的。论坛上很多朋友都经常会使用到串口,并遇到一些问题,这里有必要做一个详细的说明,以方便广大会员朋友,文章请勿转载到其它地方,谢谢。 论坛上早先发布过一个贴子,叫《串口WORD资料》,里面有一些中英文的串口的资料,这个文章是对那个资料的补充,如果是初接触串口的朋友建议先看一下上一个贴子先。上一个贴子中提到过的内容这里不再进行补充。 首先补充一个比较重要的问题,就是在LabVIEW中使用串口的话一定要先安装VISA这个驱动,然后生成的EXE运行时也需要在目标机上安装VISA Runtime Engine,可以在打包时一起打包。 VISA的驱动可以在NI网站上下载到:https://www.360docs.net/doc/af1860903.html,/nidu/cds/view/p/id/1605/lang/zhs 1.串口扩展的问题: 先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。转接线和扩展卡一般是要装驱动的。 2.串口功能的确认: 在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。电脑上的串口软件一般是用串口调试助手,很出名的,也好用。如下图所示:图1 串口调试助手 打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。 3.串口线的检查: 检查好串口后,一般也要注意一下使用的串口线,标准的串口线是9根线都是用上的,但有一些是只使用了三根线的:2、3、5。第3个脚管是发送,第2个管脚接收,另一个5是地线,这里叫它简化的串口线,简化的串口线能用上的地方,标准的串口线也肯定能用上,因为标准线的9根线已经包括了简化串口线中的3根线,但标准串口线能用上的地方,简化串口线就不一定能用上,所以在使用串口线之间一定要确定好串口线的类型,一般买的串口线都是标准线,但自制的串口线因为应用场合不同就要先确定一下。 G串口线还有一个地方需要注意一下的,就是2、3脚的接法,标准接法中是2、3脚交叉的,即这边的2接另一边的3,这边的3接另一边的2,扭了一下,所以叫交叉线,因为正常使用时,这边第二脚是发送数据,另一边第三脚是接收数据,所以要将这二个管脚连接起来,这样才能正常使用。但是有些情况下,2、3是直连的,即这边的第2脚连接另一边的第2脚,第3脚连接第3脚,这种叫直连线,这种线一般是用于延长串口的,比如需要将工控机的串口接头引到机柜表面上时,就使用这种线,这样机柜表面的串口线的定义还是跟电脑接出来的一样,外面的那一根串口线再使用交叉线。从电脑主板上将串口引到主机后面板上的线就是这样的直连线。购买串口线的时候一般也会问你买直连的还是交叉的,要区别对待。 串口线还有一个要稍微注意一下的就是DB头,因为电脑上接出来的一般是公头(针),要跟电脑接的话要母头(孔),一般仪器的串口也是公头,所以二边都是母头的串口线比较常见。串口的接头一般是DB9的,也有DB25的,但比较少用,有些比较BT的仪器厂家居然用RJ11(水晶头那种)作为串口头,让人不爽! 总之,使用串口前一定要先确定好硬件没问题,不然很浪费时间的。 4.串口参数设置: 在LabVIEW中使用串口时,有几个参数比较重要,需要先说明一下的。一个是串口初始化这个节点的“终

基于tcp的LABVIEW课程设计报告书

虚拟仪器开发与实践 课程设计 题目名称:基于LABVIEW 的TCP/IP通讯设计 学生专业:测控技术与仪器 学生:贾科琼

目录 1 设计背景 0 2 虚拟仪器概述 0 2.1虚拟仪器概念 0 2.2虚拟仪器的优势 (1) 2.3虚拟仪器的构成 (1) 2.4虚拟仪器开发软件 (2) 3 LabVIEW软件的概述 (3) 3.1 LabVIEW编辑界面 (3) 3.2 LabVIEW的特点 (4) 3.3 LabVIEW的应用领域 (5) 4 LABVIEW的TCP/IPD 通讯设计 (5) 4.1 TCP/IP概述 (5) 4.2 LabVIEW中的TCP通讯总流程图 (6) 4.3 LabVIEW中的TCP功能函数 (7) 4.4 LabVIEW中的TCP通讯程序图 (12) 5 软件调试 (14) 设计心得 (18) 参考文献 (20)

1 设计背景 随着电子技术,计算机技术和数字信号处理技术的飞速发展,以及这些技术在测量领域中的广泛应用,仪器技术领域发生了巨大的变化。从最初的模拟仪器到现在的数字化仪器,嵌入式仪器以及智能仪器,新的测试理论,测试方法不断的应用于实践,仪器技术领域的各种创新积累使现代测量仪器的性能发生了质的飞跃,从而使仪器的概念和形式发生了巨大的变化。 测量仪器发展至今,大体经历了四代历程,即模拟仪器、分立元件式仪器、数字化仪器和智能仪器。由于微电子技术、计算机技术、通信技术、网络技术的高度发展及其在电子测量技术与仪器上的应用,新的测试理论、新的测试方法、新的测试领域以及新的仪器结构不断出现,在许多方面已经突破了传统仪器的概念,电子测量仪器的功能和作用已经发生了质的变化,其中计算机处于核心地位,计算机软件技术和测试系统更紧密地结合成一个有机整体,导致仪器的结构、概念和设计观点等也发生了突破性的变化。在这种背景下,美国国家仪器公司在20世纪80年代最早提出虚拟仪的概念,同时推出了用于虚拟仪器开发的工程软件包LabVIEW。NI 公司宣称“The Software is the Instrument”,即“软件就是仪器”。 在这里,计算机是虚拟仪器的核心设备,该仪器的功能是通过软件仿真实现的。它将传统仪器由硬件电路实现的数据分析处理与显示功能,改由功能强大的计算机来执行,所以计算机是其核心;当计算机与适当的I/O接口设备配置完毕,虚拟仪器的硬件平台就被确定,此后软件就成为仪器的关键部分,这也是“软件就是仪器”之说的来由。这意味着只要按照测量原理,采用适当的信号分析技术与处理技术,编制某种测量功能的软件就可构成该种功能的测量仪器。 2.虚拟仪器概述 2.1虚拟仪器概念 虚拟仪器技就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。自1986年问世以来,世界各国的工程师和科学家们都已将NI LabVIEW图形化开发工具用于产品设计周期的各个环节,从而改善了产品质量、

使用LabVIEW函数实现SQL-Server操作(汇编)

使用LabVIEW函数实现SQL Server操作 函数位置:互联接口-->databse 函数一览: 主要介绍上面一行 1. DB Tool Open Connection.vi 简介:使用连接信息打开一个数据库连接,然后返回一个连接引用。若连接成功则错误簇里面的Status 会返回为False,若连接失败则Status返回为True。 connectioninformation格式:

Driver=SQLServer;Server=.; Database=UserInfo;Uid=sa; Pwd=Aa123789 1)Driver为连接的数据库类型(如:SQL Server、Access) 2)Database为所需要连接的数据库 3)Uid为数据库登录账户,本案例使用的是sa账户 4)Pwd为sa账户对应的密码 示例: 扩展:利用错误簇展示数据库连接状态 简介:连接失败则“数据库连接状态”里面的文本显示为红色,并提示连接失败2. DBTool Close Connection.vi 通过销毁关联的连接引用来关闭一个数据库连接 3.Database Variant To Data.vi

将数据库输出的变体转解析成所需数据,。其中,Type(簇常量)和data(簇里面的控件为输出控件)数据类型和格式需相同。 4. DBTools List Columns.vi 列出数据库表中所包含的列(输出为数组类型)和相关列信息(簇数组)。其中,列信息里面的簇包含列名、数据类型和被定义的大小。 5. DBTool Insert Data.vi 简介:添加一个新的行到之前连接的数据库的表内。其中data为变体数据类型,变体内存放的是簇,簇内可以存放多种数据类型。 示例:向AlarmData里面添加时间和错误代码

LabVIEW通过TCP与西门子PLC通信

LabVIEW通过TCP与西门子PLC通信 一、概述 西门子PLC是目前测控领域使用比较广泛的PLC,要使用LabVIEW通过TCP 与西门子PLC通信,必须对PLC进行相应的编程,建立TCP通信接口才能实现。本文介绍了一种完全不需要对PLC进行编程的方法,完全通过LabVIEW编写,包含Siemens_S7_createConn、Siemens_S7_Readbyte[]、Siemens_S7_Writebyte[]3个子VI。子VI由电子发烧友论坛SevenLi8408提供,经过作者二次验证S7-200、S7-200Smart、S7-300、S7-1200、S7-1500均可通信成功。子VI可到电子发烧友论坛输入“破解西门子协议,实现PLC无编程即可直接访问。完全替代落伍的OPC”搜索,找到后自行下载。 二、Siemens_S7_createCon 该子VI用于与西门子PLC建立连接,如图1所示。 1 Siemens_S7_createCon子VI 三、Siemens_S7_Readbyte[] 该子VI可用于读取西门子PLC的数字量输入输出点、M存储区、数据块等,,如图2所示。西门子PLC的输入点8个为一组,count表示有几组。Readdata是一个数组,Readdata[0]表示I0.0-I0.7。 图2 Siemens_S7_Readbyte[]

四、Siemens_S7_Writebyte[] 该子VI可用于写西门子PLC的数字量输入输出点、M存储区、数据块等,如图3所示。写布尔量也是8个一组,所以要写Q0.0-Q0.7和Q1.0-Q1.7时需要使用两个写子VI。 图3 Siemens_S7_Writebyte[] 五、读布尔量 六、写布尔量

LabVIEW串口通信入门教程

串口可以说是我们最容易见到,也最容易接触到的一种总线,台式机上一般都有二个,而现在很多下位机、仪器等很多都还是使用串口通信的。论坛上很多朋友都经常会使用到串口,并遇到一些问题,这里有必要做一个详细的说明,以方便广大会员朋友方便使用。 首先补充一个比较重要的问题,就是在LabVIEW中使用串口的话一定要先安装VISA这个驱动,然后生成的EXE运行时也需要在目标机上安装VISA Runtime Engine,可以在打包时一起打包。 1.串口扩展的问题: 先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。转接线和扩展卡一般是要装驱动的。 2.串口功能的确认: 在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。电脑上的串口软件一般是用串口调试助手,很出名的,也好用。如下图所示:

图1串口调试助手 打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。 3.串口线的检查: 检查好串口后,一般也要注意一下使用的串口线,标准的串口线是9根线都是用上的,但有一些是只使用了三根线的:2、3、5。第3个脚管是发送,第2个管脚接收,另一个5是地线,这里叫它简化的串口线,简化的串口线能用上的地方,标准的串口线也肯定能用上,因为标准线的9根线已经包括了简化串口线中的3根线,但标准串口线能用上的地方,简化串口线就不一定能用上,所以在使用串口线之间一定要确定好串口线的类型,一般买的串口线都是标准线,但自制的串口线因为应用场合不同就要先确定一下。 G串口线还有一个地方需要注意一下的,就是2、3脚的接法,标准接法中是2、3脚交叉的,即这边的2接另一边的3,这边的3接另一边的2,扭了一下,所以叫交叉线,因为正常使用时,这边第二脚是发送数据,另一边第三脚是接收数据,所以要将这二个管脚连接起来,这样才能正常使用。但是有些情况下,2、3是直连的,即这边的第2脚连接另一边的第2脚,第3脚连接第3脚,这种叫直连线,这种线一般是用于延长串口的,比如需要将工控机的串口接头引到机柜表

基于Modbus TCP的LabVIEW与施耐德TWIDO PLC通信教程

基于Modbus TCP的LabVIEW与施耐德TwidoPLC 通信教程

目录 第一章项目所需硬件条件...................................................... - 1 - 第二章项目所需软件条件...................................................... - 2 - 第三章 PLC的编程与程序下载................................................. - 3 - 1 打开 Twido Soft V3.5 .................................................. - 3 - 2 新建PLC项目程序...................................................... - 3 - 3 程序下载到PLC......................................................... - 7 - 第四章 OPC中变量的建立..................................................... - 9 - 1 添加通道.............................................................. - 9 - 2 添加设备............................................................. - 11 - 3 PLC添加寄存器........................................................ - 13 - 第五章 LabVIEW的画面组态................................................. - 15 - 1 创建LabVIEW项目..................................................... - 15 - 2 创建I/O Server....................................................... - 15 - 3 创建约束变量......................................................... - 17 - 4 创建VI............................................................... - 19 - 5 运行VI............................................................... - 22 - 第六章总结与说明........................................................... - 24 - 1 关于Twido PLC寄存器地址............................................. - 24 - 2 关于共享变量去掉【使用缓冲】......................................... - 24 -

相关文档
最新文档