乐于分享
好东西不私藏

【教程】多通道模拟信号采集软件设计源码解读

【教程】多通道模拟信号采集软件设计源码解读

一、软件五大功能界面
【01】软件共5个界面,可同时运行,可实现多屏显示,并能自适应屏幕调整界面
【02】主界面是负责采集量化,数据存储,数据转发,等功能
【03】数据管理界面可快速浏览采集数据,无需查找和载入操作,方便管理与对比
【04】动态界面,目前是触发数据截屏快照和日志记录
【05】频谱分析与脑机接口界面,都是频谱类的模块
【06】打开界面:打开采集设备界面,每一种采集设备有一个单独是界面
【07】辅助界面:拟合工具界面、数据自动换算界面、数据导出界面等
【08】实现该软件是由以下文件进行支持建立
【09】开发环境:Labview    运行环境:WIN7/WIN10,win11(部分)
【10】兼容设备:串口类采集、声卡、DLL、以太网
【11】兼容通道:目前测试最大1000通道,理论无上限
【12】兼容速率:10sps ~ 5Msps  单次数据包响应速率5ms
【13】显示限制:更新0.3秒次,显示最大量通道数目x数据量<500万
【14】文件存储:单个转换后数据:浮点数8字节存储,如4通道10万数据量=8x4x10万=3.05MB
二、根目录源文件
【文件夹类】01软件基础配置文件夹_config02用户采集数据文件夹_userdata02用户导出报告与模板文件夹_report03_软件功能定制函数_extendvi03_软件功能子函数_subvi04_参考底层子函数_fun_ch34105_用户截图文件夹_screenshot【工程文件类】01_软件图标文件_logo.ico01工程全局变量_Global_sub.vi01工程文件_ADCHLtool.lvproj01软件采集菜单栏_WaveMenu.rtm01软件采集数据管理界面_lv_Waredata.vi01软件采集主界面_lv_Waveform.vi01软件操作事件记录与处理界面_lv_Eventbox.vi01软件动态采集界面_lv_DynamicBox.vi01软件频谱分析界面_lv_valuebox.vi【底层驱动文件(部分)】02_采集底层_lv_fun_UART_Lvi【界面子功能】02_采集底层第二版本_lv_fun_UART_LHE7909.vi02_导出采集数据报告_lv_WaveReport.vi02_导出动态采集报告_lv_DynamicReport.vi03_脑机接口频谱仿真_EEG_FFT_v1完整版本.vi03_脑机接口频谱分析功能_EEG_FFT.vi05_工程配置文件_ADCHLtool.aliases05_工程配置文件_ADCHLtool.lvps05_频谱分析菜单文件_FFTMenu.rtm05_软件信息_aboutme.vi05_软件验证_Hellopage.vi05_数据管理菜单栏_TreeMenu.rtm【调试辅助文件类】06_采集底层参考ADS1115设备_lv_fun_ch341.vi06_采集底层参考_lv_fun_UART.vi06_采集底层参考音频采集_lv_fun_Audio.vi06_仿真软件动态采集界面_lv_DynamicData.vi06_仿真软件频谱分析界面_lv_FFTanalyse.vi06_频谱分析架构_lv_valuebox_FFT_Time.vi该源码仅做代码注释_注意不能运行.txt
三、功能分支源文件
【用户数据文件夹】动态采集数据文件夹_Dynamic采集原始数据第1个分段存储文件_260417015831_0000.hexdata采集原始数据第2个分段存储文件_260417015831_0001.hexdata采集原始数据第N个分段存储文件_260417015831_0002.hexdata用户采集试验核心事件加密二进制文件_UserTask.hevent用户明文操作日志_UserADC.log【导出报告文件夹】标准模板 - 副本.doc动态模板 - 副本.doc【配置文件与子函数】00_加密权限文件License_250505145900.lic01_底层硬件配置参数明文文件DevSet.ini01_动态软件设置文件加密Dynamic.HexSet01_系统配置二进制文件SystemConfig.hexset01_用户配置二进制文件UserConfig.hexset02_换算公式配置二进制文件valuefx02_自由串口分析设置二进制文件FreeNC1.NcSet03_报告配置文件_RepostSet.ini03_软件用户配置明文文件AppSet.ini01_滤波器核心处理函数库01_选择驱动网络采集函数_SelectD...01_选择驱动音频采集函数_SelectD...02_TCP服务器数据接收解析函数_ESP_B2...02_主程序等待弹窗_Waitpage04_音频采集底层函数aboutme.vi        AdminLicense.vi     Check_ADDID.viCRC16.vi校验      CS1237_valueConv.vi  Event_Get_WaveData.viFileSizeToStr.vi    Filter.vi         License_Check.vi    MenuArr ysSet.vioutput_csv.vi       output_excel.vipabe_CSV            Panele_SensorCheck.vi【打开设备窗口(部分)】SelectDev_ch341.viSelectDev_LHE7909.viSelectDev_TCP.viSelectDev_UART.vi【转换和输出类】Str_TFArray.vi      U8x2To1 6_M.vi        U8x3To12_4_M.viU24ToI24_vi         Untitled3.viUser_Log_Write.vi   User_ReportOutput.vi  UserCollector.viUxBitxCH.vi         UxStrxASC II.vi       UxStrxFre e.viUxx.vi              Value_lxb.vi          value_ok_fx【波形图量化显示类】WareAdd_Zip.vi      WareAxis_Xauto.vi    WareCursor.viWareCur sor_FFT.vi  WareFind_MaxMin.vi   WaveDrawBox.viWaveDra wGetPos.vi  WaveNow_Str.vi       WaveView_Set.vi
四、全局变量总结:
【动态触发软件界面变量 Dynamic VI Fun Global输入队列Dynamic_queue:负责输入采集数据输出事件G_Dynamic_event:负责通知事件机制【Main VI Fun GlobalADC_queue     APPSTOP    ADCRUNbufdatabox_path_nowuser ADCcontrol event【FFT_Power Spectrum】【Event VI Fun GlobalDataEventApp  G_Event_arrayPath_Mark EventName   EventVariant【主函数】ADC_queue,用于底层反馈数据通道user ADCcontrol event,用于控制底层自动化操作APPSTOP,多进程程序退出同步机制bufdatabox_path_now,当前的采集文件夹,用于保护采集文件,防止误操作UserADC_log_text,全局操作日志,不同VI均可记录log【FFT傅里叶频谱分析函数】FFT_InData:傅里叶频谱分析的输入数据FFT_Power Spectrum:频谱分析的输出结果Dynamic动态采集分析函数】G_Dynamic_event,用于全局控制普通事件Dynamic_queue,重要数据入口【Event事件函数】DataEventApp,用于全局通知事件操作G_Event_array,当前采集全局事件列表
五、总结:
【01】软件经过多次版本迭代和修正文件,目前源文件工程50MB左右
【02】编译完成后的可执行文件20MB左右,注意需要安装labview引擎(300MB)
【03】编译完成后的可执行文件并不能立刻运行,需要包含配置文件夹/报告文件夹/数据文件夹后方可运行,如需特殊驱动也需要包含
【04】请参考该源码解读进行二次开发与编辑,注意实际源码为英文;
【05】如需源码和完整教程知识库资料,请后台留言;
【05】软件源码版权归大雨小水的电子店所有;
【06】浏览高清图片需要使用手机微信客户端打开本文;