基于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

基于ActorFramework框架的数据采集与数据库Sqlite的交互

3.2)SQL类数据

基于ActorFramework框架的数据采集与数据库Sqlite的交互

3.3)创建SQL方法

基于ActorFramework框架的数据采集与数据库Sqlite的交互

Connect 连接数据库;

Execute 执行数据库语句;

Close 关闭数据库;

InsertData 插入报警数据和报警设定值;

重写:Actor core  和 stop 方法;

Actor Core:启动后连接数据库以及创建Alarm表

基于ActorFramework框架的数据采集与数据库Sqlite的交互

重写stop方法:停止前断开数据库连接

基于ActorFramework框架的数据采集与数据库Sqlite的交互

3.4)创建UI数据

基于ActorFramework框架的数据采集与数据库Sqlite的交互

3.5)创建UI方法

基于ActorFramework框架的数据采集与数据库Sqlite的交互

update 采集数据(随机数替代)

limitsetting  设置报警值

limitcheck  对采集的数据分析判断,超过报警值将记录在数据库中,并对报警计数加1;

创建消息:

基于ActorFramework框架的数据采集与数据库Sqlite的交互

重写Actor Core方法:

用户界面

基于ActorFramework框架的数据采集与数据库Sqlite的交互

程序框图:数据采集(产生随机数)

基于ActorFramework框架的数据采集与数据库Sqlite的交互

update方法:产生随机数并显示在波形图,同时将数据传入limitcheck方法,对数据进行对比分析及SQL操作

基于ActorFramework框架的数据采集与数据库Sqlite的交互

报警值设置

基于ActorFramework框架的数据采集与数据库Sqlite的交互

退出:对两个Actor进行停止

基于ActorFramework框架的数据采集与数据库Sqlite的交互

四)launcher.vi:启动两Actor,并给定DB path;在UI->limitcheck.vi中需要对超限值写入数据库,因此将SQL_actor的消息队列作为data写入UI_actor.

基于ActorFramework框架的数据采集与数据库Sqlite的交互

五)效果图

5.1)运行launcher.vi,启动程序打开UI

5.2)间隔产生随机数并显示,同时进行数据分析

5.3)对报警信息写入SQLITE数据库(发生21次报警)

基于ActorFramework框架的数据采集与数据库Sqlite的交互

Sqlite数据库Alarm表信息:

基于ActorFramework框架的数据采集与数据库Sqlite的交互

六)总结

以上是基于AF架构的两个Actor并发运行及交互的演示,程序只针对功能实现做演示,未考虑OOD和编程细节。

源码资源:  https://download.csdn.net/download/leexueming_gdut/12374671

基于ActorFramework框架的数据采集与数据库Sqlite的交互