- 博客(0)
- 资源 (7)
- 收藏
- 关注
免费虚拟键盘(Free Virtual keyboard)
类似自带的虚拟键盘,不过感觉界面更好一点,最主要是窗口大小可以调节,这样在触摸屏上可以调大一点,方便触摸输入,免得自己再写一个。转自国外。
2012-07-25
LabVIEW多通道数据采集系统源程序
程序中使用ACCESS数据库来保存数据,使用LabSQL工具包来连接数据库,打开之前请确认安装了这个工具包。
程序一运行时会先弹出密码登录系统,用户名和密码都为“vihome”。
这个程序实现的功能或者说使用到的知识点还是比较多的,主要有以下几种:
1,简单的密码登录。
之前已经上传过一个密码登录的程序了,这里只是很简单的一个登录判断,有些会员不了解怎么样从密码程序到主程序的转换,这里是直接调用,如果在密码登录时选择取消,则通过输出错误的方法使主程序不执行而直接退出。
2,简单的错误处理。
会对错误进行提示,发生错误时用户可以选择继续或停止,如果在调试时记录一些经常发生的错误并添加到错误处理程序中,就可以有针对性地进行提示,并对应提出解决方法,这样程序就健壮一些。
3,生产-消费者结构
数据采集和保存之间使用生产-消费者结构,二个循环之间通过队列来传递数据,这里还是比较简单的了,只是设置每十个数据作为一组进行保存,实际上使用中有些是需要根据时间来保存的,这些需要自己编程处理一下。
4,通过局部变量或通知来停止并行的循环
由于要响应用户菜单操作或其它操作,使用并行循环的结构,这样二者之间需要同步停止,程序里面是使用通知来同步循环的停止的。
5,可以从数据采集卡中采集数据,也可以由软件模拟产生。
考虑到好多会员朋友并没有数据采集卡,程序里面可以设置采集的数据由软件模拟产生,在参数设置的系统参数设置里面,将“实际采集?”选择为“模拟采集”即可,软件一样可以正常运行,数据一样会保存,如果有数据采集卡的,也一样可以从数据采集卡中采集数据。由于程序不太好,所以采样率和通道号都被固定了,免得出错。
程序中使用到了DAQmx 8.5驱动程序,里面也有一些相关的DAQ的VI,如果你没安装DAQmx的话就有一些DAQ 的VI找不到,导致程序没有办法运行,可以手动将这些找不到的VI删除掉或者使用禁用结构禁止掉,而在在程序中“参数设置”界面上的“系统参数”那里设置“模拟采集”即可,这样会在软件中模拟采集的数据,其它程序都可以正常运行。
如果装了DAQmx但没有数据采集卡,也要设置成模拟采集,这样程序才能正常运行,否则会出现找不到数据采集卡的报错。
6,波形图表双坐标显示
从下图中可以看出四个通道的波形图显件都有二个Y轴,而且这二个Y轴随时都是同步的,这个是通过属性节点来实现的,将第一条Y轴的值写到第二条Y轴上来实现。
7,数据保存到数据库。
之前在常用VI资源区上传过数据写入到数据库的例子,这里的稍微有点不同,将四个通道的数据组成一个字符串(以空格间隔开)后一起写入到一个文本字段下,因为ACCESS的文本字段最长只能有255个字符,所以程序中以十个采样点保存一次,采样率也设置为10。不知道OLE对象可不可以存储长字符串,如果是在MySQL中是可以保存为BLOB字段的,关于这些可以查找一下对应的资料,这里只是作个演示。
8,控件随窗格缩放
程序中的“专利信息.vi”中有这个功能,但这个功能是要在某一个(只有一个)控件占界面绝大部分时才比较好用,然后设置这个控件随窗格缩放,其它控件不需要缩放,这时效果就比较好一点。如果界面上有二个以上的表格,这个方法就不行了。
9,其它一些功能,比如菜单的禁用/启用、快捷键的实现(通过菜单)、在子程序中修改主界面上的控件值(通过“值”属性节点)等。
程序中的缺点:
A,不管是模拟测试还是实际用数据采集卡设置,保存到数据库中时间信息都是不太准了,都是在写入数据库时才读取系统的时间作为数据采集的时间,如果要数据与时间严格保持一致,程序中也使用了发送采集时间的队列,可以从这个队列中读取采集的时间。
B,采集程序中将时间和数据分开二个队列来进行发送,可能不是很好,但也不知道有没有其它更好的方法了,原来也试过将四个通道的波形数据(带时间信息)通过一个队列发送的,但后面接收那里就比较麻烦,最终还是选择现在这样。
C,模拟采集时,如果采集一段时间后停止,不退出程序再次开始采集时,模拟采集的数据就会不准确,因为模拟采集时模拟波形的时间是以当前系统时间加上“首次调用?”来实现的,如果第二次运行时,首次调用输出F,则还是使用第一次运行时停止的时间,这个时间是不准的,解决办法是将“首次调用?”放到采集循环外面来判断是否需要重新对时,而不是放在采集程序里面。
D,好多VI中的说明信息都不够,没来得及写,看以后有没有空补上吧。
E,后来想到用“写一次读多次”的方法,即通过移位寄存器,或者叫功能VI来代替这个簇在各个VI之间传递的话,整个程序的后面板看起来应该会好很多,各个子VI的前面板也不会有很大的簇控件了。有空试一下。
2012-06-18
LabVIEW简单报表工具包
一 功能
可以实现对已经做好的Excel或Word报表进行读取,可以打开WORD、EXCEL文档,实现简单的打开、读、写、保存、另存为、退出的功能。附带有详细的例子,使用时请注意文件的路径是否正确。
二 使用说明
这些VI是用7.0正版写的,这样能照顾到大部分版本,在XP SP2系统,和Office 2003配套使用时没有出现太大的问题,没有在其他环境下进行测试。
先下载最下面的“Report V2.0.rar”到计算机中,然后解压到LabVIEW安装目录下的User.lib中,重启LabVIEW后就可以在函数模板中的用户库里面出现。
二个报表函数组中左上角的VI是例子,具体使用方法可以查看简单的帮助,快捷键CTRL+H,在出来的提示窗口中选择“详细帮助信息”或手工打开Report目录下的“报表程序帮助.chm”。 EXCEL的例子说明如下:
本例将打开一个指定目录下指定名称的表格,在指定的单元格写入一个字符串,从指定的单元格读取一个字符串;在指定的多个单元格写入一个一维字符串数组;在指定的多个单元格写入一个二维字符串数组并读这个二维字符串数组;最后在当前目录下另存为“Example”名称的表格,并退出Excel应用程序。如果需要多次写入只需要多次运行“E Write.vi”即可。
Word Example --在当前目录下打开一个名称为“新建 Microsoft Word 文档”的Word文档,在第二个表格的第二列第二行开始写入一维数组;读出第一个表格的第一行第一列的内容;读出第3个字符开始到第6个字符的内容;在第8个字符之前插入“1234”四个字符。最后将文档以“Example”为名另存在当前vi目录下,并退出Word应用程序。可以根据自己的实际应用修改这个例子就可以很方便地成为自己的程序了。
三 常见问题
Q:运行程序中的例子时出错了?
A:大多数情况下是路径出问题了,工具包是要解压出来以后使用的,因为要打包后方便上传,而例子中的路径在打包后就会改变,所以运行出错是首先要考虑是不是没有解压出来。
如果解压出来以后还是会出现问题,可以使用探针、单步执行的方法看一下到底是哪里出错了,再根据出错信息查找错误。在对里面的例子进行改动时,通常情况下都是表格的路径出问题的,如果使用的是相对路径或“当前VI路径”这个常量的话,打包以后“当前VI路径”会发生改变而导致路径出错,这点要特别注意。
Q:第二次运行例子时会弹出对话框“同名文件已经存在,是否覆盖?”?能不能不让它弹出这个对话框?
A:因为例子第一次运行时是将改动打开的表格另存为“EXAMPLE”这个名称的,当第二次运行时如果仍然保存为这个名称的话就会弹出来,因为文件夹中已经有一个同名的EXCEL文件了。要想不弹出这个对话框,可以在每次运行时都将另存为的文件名设置为不一样的名称,这样就不会弹出来了。跟手工操作另存为一样,如果有同名的就会询问是否覆盖,只要换个名称保存就不会同现这种情况了。
Q:怎么样将浮点数数组转换为字符串数组?
A:看下图,LabVIEW中好多节点都是支持数组的,包括字符串和数值的相互转换节点、比较节点(>、<、=等)、数值计算(+、-等)节点等等。
Q:开发环境下运行是正常的,但生成EXE后就一直出错,是什么原因?
A:如果是打开指定目录下的文件时,又使用了“当前路径.vi”,就很可能是路径的问题。
假设当前main.vi的路径是在c:\myprogram\main.vi
开发环境下“当前路径”是输出正常的路径的,
即仍然输出是c:\myprogram\main.vi。
但在生成EXE后,“当前路径”这个节点的输出多
出了一层“\main.exe”,即变成
c:\myprogram\main.vi\main.exe
所以要想得到正确的路径,在生成EXE时要拆分后面多余的路径
VI在这个贴子里面下载:http://www.vihome.com.cn/bbs/viewthread.php?tid=3767&highlight;=·
2012-06-18
LabVIEW串口通信详解
1,串口扩展的问题
2,串口功能的确认
3,串口线的检查
4,串口参数设置
5,在LabVIEW中使用串口
5.1 仪器控制类型
5.2被动接收类型
6,串口数据类型的转换
2012-03-04
从仪器控制开始学习LabVIEW
1 背景
2 硬件准备工作
2.1 仪器准备
2.2 程控线缆的准备
3 软件准备工作
4 仪器设置
4.1 程控方式选择
4.2 通信参数设置
4.3 检查仪器连接
4.3.1 使用USB总线与仪器连接时
4.3.2 使用USB总线与仪器连接时
4.3.3 使用GPIB总线与仪器连接时
4.3.4 使用RS232总线与仪器连接时
4.2.5 在MAX中发送指令给仪器
5 编程
5.1 使用SCPI指令控制仪器
5.2 使用仪器驱动程序控制仪器
6 LabVIEW后续学习
2012-02-27
LabVIEW写的画板程序
用LabVIEW写的WINDOWS 画板(Paint.exe),8.2以上版本的LabVIEW可以打开,转自www.vihome.com.cn(测试测量世界)。
2008-11-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人