含有全部工程文件,使用C++Builder6.0完成开发,可重新编译运行。
创作权归曹润泽所有,使用者不可用于商业目的,否者后果自负。
本软件功能:上层的应用软件的模块主要有:初始化模块、用户设置模块、COM串行通信数据采集模块、数据矫正模块、数据绘图模块、数据存储模块、网络传输模块、功能整合模块等。
其中网络传输模块又可以根据工作模式分为服务端网络传输模块和客户端网络传输模块。
用户设置模块:主要是通过用户设置设置窗口中的信息来完成软件的设置,这些可以设置的变量都非常重要,包括基本设置:采样频率设置、COM端口选择、警告限设置(是否使用警戒限、高警戒限的大小、低警戒限的大小)、矫正表设置(是否使用矫正表、选择矫正表);
绘图设置:显示点数设置、曲线宽度设置、曲线颜色设置(高警戒曲线的颜色、正常时曲线颜色、低警戒曲线的颜色设置);
网络设置:是否使用网络传输、网络基本设置(服务端选择、客户端选择、端口号设置、服务端IP设置)。
COM串行通信数据采集模块:用于从串行口中读取数据。
本系统使用专门用于RS-232串行通信通信控制的控件TComm控件来完成COM通信。
数据矫正模块,顾名思义,是用于对数据进行矫正的。
若需要矫正数据,必须使用矫正表,矫正表实际上只是个用户可自定义的文本文件,但在编写矫正表文件时必须按照一定规则进行编写。
数据绘图模块:对于采集数据的实时绘图是通过BorlandC++Builder6.0自带的功能强大的TChart控件来实现。
数据存储模块:该模块除了使用了编译器所提供的几个基本数据类型之外,基本上是使用纯C++编写(不使用编译器的控件)。
数据存储并未使用数据库存储,而是使用文本文件的方式对所有采集到的时间进行存储,存储时要先把采样信息写入到数据文件的头部,包括创建时间、采样起始时间、采样持续时间、采样结束时间、采样频率、采样数等等信息,之后就是所采集的数据,采样数据包括数值和采集的该点所对应的时间,以及该点是否被警告(过低用!Low表示、正常用-表示、过高用!High表示)。
网络传输模块:网络传输模块是本数据采集系统比较新颖的模块,可以使用互联网进行速率较低的数据传输,考虑到网络传输的延迟,故设计时设置的采样速率比较低。
网络传输模块实际上是使用Socket编程实现的,在BorlandC++Builder中有封装好的用于网络通信的控件:TServerSocket和TClientSocket。
2023/6/10 21:49:40 2.62MB 数据采集 串行通信 C++ Builder
1
本包含三个文件,分别介绍了单片机实现的头部采样数据采集系统、基于C8051F020单片机的步进电机驱动器、基于C8051F020单片机数据采集与串口通信的分析,学习C8051F020的朋友可以参考。
2023/6/8 22:03:45 655KB C51F 020
1
基于Arduino与LabVIEW的数据采集系统.vi
2023/6/5 7:44:49 41KB Arduino
1
LabVIEW是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
LabVIEW是一个面向最终用户的工具。
它可以增强的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。
使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
基于LABVIEW的流水灯设计,可以实现三灯,单灯,全灯等功能,能够有效的进行数据的反映。
2023/6/3 11:05:09 15KB labview 跑马灯 流水灯
1
制作一个数据采集系统,实现读取单个PLC中DB中的某个字,并以十进制的方式存入excel表格中。
应用:采集设备运行中某一个关键参数的值,通过对参数的分析,实现对设备运行状态的分析。
1->表格的创建以及插入的内容以及的sheet表名,目前还不能做到灵活多变。
只能写死在代码中。
后期可根据需要深入研究。
2->对于每个插入的值的含义以及插入时间,参考条目1,需要自己修改代码。
2023/5/17 12:01:12 546KB 西门子 数据采集 Excel Sharp7
1
程序中使用ACCESS数据库来保存数据,使用LabSQL工具包来连接数据库,打开之前请确认安装了这个工具包。
程序一运行时会先弹出密码登录系统,用户名和密码都为“vihome”。
这个程序实现的功能或者说使用到的知识点还是比较多的,主要有以下几种:1,简单的密码登录。
之前已经上传过一个密码登录的程序了,这里只是很简单的一个登录判断,有些会员不了解怎么样从密码程序到主程序的转换,这里是直接调用,如果在密码登录时选择取消,则通过输出错误的方法使主程序不执行而直接退出。
2,简单的错误处理。
会对错误进行提示,发生错误时用户可以选择继续或停止,如果在调试时记录一些经常发生的错误并添加到错误处理程序中,就可以有针对性地进行提示,并对应提出解决方法,这样程序就健壮一些。
3,生产-消费者结构数据采集和保存之间使用生产-消费者结构,二个循环之间通过队列来传递数据,这里还是比较简单的了,只是设置每十个数据作为一组进行保存,实际上使用中有些是需要根据时间来保存的,这些需要自己编程处理一下。
4,通过局部变量或通知来停止并行的循环由于要响应用户菜单操作或其它操作,使用并行循环的结构,这样二者之间需要同步停止,程序里面是使用通知来同步循环的停止的。
5,可以从数据采集卡中采集数据,也可以由软件模拟产生。
考虑到好多会员朋友并没有数据采集卡,程序里面可以设置采集的数据由软件模拟产生,在参数设置的系统参数设置里面,将“实际采集?”选择为“模拟采集”即可,软件一样可以正常运行,数据一样会保存,如果有数据采集卡的,也一样可以从数据采集卡中采集数据。
由于程序不太好,所以采样率和通道号都被固定了,免得出错。
程序中使用到了DAQmx8.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的前面板也不会有很大的簇控件了。
有空
2023/3/4 0:54:48 1.07MB LabVIEW 多通道 数据采集
1
基于无线传输技术的多路温度数据采集系统设计,有需求请自取!
2023/2/20 9:52:28 151KB 温度采集
1
1)可实现1路ADC采样,电压采样范围(0-3.3V,或0-5V),采样时钟自定义;
2)LCD动态显示ADC采样到的电压值;
3)通过串口将采集到的电压值发送到上位机显示(串口调试助手)。
4)自主选择,能否基于UCOS操作系统实现;
2023/2/7 18:18:56 3.98MB RS232
1
1pC电荷注入(在整个信号范围内)2.7V至5.5V双电源2.7V至5.5V单电源汽车温度范围:-40°C至+125°C100pA最大@25?C漏电流85欧姆Typ抵抗轨到轨运转快速切换时间典型功耗(<0.1?W)TTL/CMOS兼容输入14引脚TSSOP封装应用自动测试设备数据采集系统电池供电仪器通信系统采样和保持系统远程供电设备音频和视频信号路由继电器更换航空电子
2022/11/14 1:15:09 183KB 单刀双掷 开关芯片
1
本文引见了一种基于LabVlEW软件平台的多路数据采集系统。
基于LabVIEW的上位机监控方案,详细引见了LabVIEW串口通信程序以及数据处理、图形界面等的的设计方法,并给出了相应的监控界面和串口通信程序。
2018/3/16 16:49:37 1.42MB LabVIEW 传感器
1
共 58 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡