本设计采用NI PCI-6221数据采集卡,运用虚拟仪器及其相关技术于多通道数据采集系统的设计。该系统具有数据同时采集、采集数据实时显示、存储与管理、报警记录等功能,最后使用Web技术实现了采集数据的远程访问。
2019-12-21 19:34:04 3.89MB LabVIEW 数据采集
1
程序中使用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的前面板也不会有很大的簇控件了。有空
2019-12-21 18:50:25 1.07MB LabVIEW 多通道 数据采集
1
proteus仿真adc0808多通道数据采集,8051时钟为6MHz,利用8051中断,巡回检测4个通道,按键改变显示通道。是学习8051中断编程,ADC0808与MCU接口的好例子。
2019-12-21 18:49:01 74KB proteus adco808 多通道
1
一套大程序,很完整,可运行。由于本程序使用的是MySQL数据库,因此需要计算机上安装有MySQL。如果没有,可以尝试Access数据库。
2019-12-21 18:48:14 3.89MB labview
1
1. 本程序只在Windows XP 平台上经过完整测试,因此只能保证该程序在WinXP系统下正确运行。 2. 由于本程序使用的是MySQL数据库,因此需要计算机上安装有MySQL。如果没有,可以尝试Access数据库。 3. 将本程序下载到本地计算机后,需要建立ODBC连接。建立方法如下:进入开始菜单->控制面板->管理工具->数据源(ODBC),建立一个新的系统DSN:选择“Add-->MySQL ODBC 3.51 Driver”,数据源名称为“daq_test”,然后自己根据实际情况配置,点击OK完成设置。 4. 启动系统.vi,输入用户名:admin,密码:answer 登录系统。进入系统后可以更改密码或管理用户等等。 数据采集板卡为NI-6221,信号调理模块为SCC-RTD01。 数据采集后以单位时间间隔存入数据库 预设采样率为1000S/s,每通道采样数为1000,采样率=每通道采样数,连续采样 本设计为3通道数据采集,具有调节采样参数的功能,采集数据的实时显示和历史数据的查询。
2019-12-21 18:44:19 3.08MB LabVIEW 数据采集
1
多通道数据采集在水声中是一个比较关键的实验,很多时候不仅需要单通道,而且更需要多通道数据采集,比如水声定位等
2019-12-21 18:43:04 1.07MB 多通道数据采集
1