基于ActorFramework框架的数据采集与数据库Sqlite的交互
一) 基于ActorFramework框架的数据采集与数据库Sqlite的交互的示例
1.1)本文只记录需求的实现方法,不对OOD、AF框架和SQLITE做详细介绍。
1.2)开发环境
labview2017+SQLite Library v1.10.0.85 by drjdpowellSQLite Library v1.10.0.85 by drjdpowell
二)功能描述
2.1)间隔采集数据(例子用随机数代替)并显示数据波形;
2.2)采集的数据与报警值对比,超过设定的报警值时将数据和当前报警值记录到SQLITE数据库中;
2.3)报警界限值可设置;
三)实现过程
3.1)新建两Actor:UserInterface 和 Sqlite
3.2)SQL类数据
3.3)创建SQL方法
Connect 连接数据库;
Execute 执行数据库语句;
Close 关闭数据库;
InsertData 插入报警数据和报警设定值;
重写:Actor core 和 stop 方法;
Actor Core:启动后连接数据库以及创建Alarm表
重写stop方法:停止前断开数据库连接
3.4)创建UI数据
3.5)创建UI方法
update 采集数据(随机数替代)
limitsetting 设置报警值
limitcheck 对采集的数据分析判断,超过报警值将记录在数据库中,并对报警计数加1;
创建消息:
重写Actor Core方法:
用户界面
程序框图:数据采集(产生随机数)
update方法:产生随机数并显示在波形图,同时将数据传入limitcheck方法,对数据进行对比分析及SQL操作
报警值设置
退出:对两个Actor进行停止
四)launcher.vi:启动两Actor,并给定DB path;在UI->limitcheck.vi中需要对超限值写入数据库,因此将SQL_actor的消息队列作为data写入UI_actor.
五)效果图:
5.1)运行launcher.vi,启动程序打开UI
5.2)间隔产生随机数并显示,同时进行数据分析
5.3)对报警信息写入SQLITE数据库(发生21次报警)
Sqlite数据库Alarm表信息:
六)总结
以上是基于AF架构的两个Actor并发运行及交互的演示,程序只针对功能实现做演示,未考虑OOD和编程细节。
源码资源: https://download.csdn.net/download/leexueming_gdut/12374671