工控技术分享平台
尊重原创 勿抄袭
勿私放其他平台
原创投稿
006
APROL 的数据可视化配电系统
黄子寒
前言
APROL 是运行在Linux(Opensuse)平台的系统, APROL 主要由开发系统、运行系统和操作系统联合构成的。开发系统负责控制系统的配置和控制等级,控制编写系统任务的分配(下载到控制器、下载操作员、运行系统),开发设计用户级程序把输入、按钮及其他控件组合完成数据输入和触发动作。运行系统是基于开发系统的数据,它是系统的“心脏”。在运行系统中配置了系统所要监视、收集、和分配的数据。
Python 在 Centos、 Debian、 Ubuntu 等,都已经自带了 Python2.x 的主程序,当然,Opensuse 系统也满足因此并不需要额外安装。
ECharts 是一个使用 JavaScript 实现的开源可视化库,涵盖各行业图表,满足各种需求。ECharts 遵循 Apache-2.0 开源协议,它 提供了常规的折线图、柱状图、散点图、饼图、K 线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。
本文设计是利用了APROL 中Chronolog 转存MySql 数据库的特性与Python 可以调用ECharts 的功能,结合制作了可视化数据分析。着重介绍了APROL 与PYTHON 功能结合制作了数据可视化界面,引入了APROL 的Chronolog 转存MySql 数据库技术,并详细介绍了Python 的Flask 技术规范及其开发方法。以及在APROL 画布中的使用功能。
一、Chronolog 转存MySQL 数据库
APROL 的系统数据都是存储到Chronolog 数据库中的不同clc 容器里。而用户自定义数据,则需要通过PDA 功能块记录存储到Chronolog 数据库中的pda.clc 容器里。
1.1 创建PDA
PDA 功能块可在用户库里创建并命名,如下图所示。每创建一个PDA 功能块,都会在Chronolog 数据库中的pda.clc 里对应的创建一张数据表,每一张数据表都有对应的id 号。如图1-1。
图 1-1 创建PDA 数据功能块
1.2 在CFC 中调用功能
PDA 功能块需要在CFC 中加以调用,然后根据需求设定相应的触发条件或者采样频率给trigger 输入,用于将触发时刻的所有输入管脚值记录进Chronolog 数据库中的pda.clc容器里面。如下图1-2。
图 1-2 调用Chronolog 功能块
1.3 数据转存
如果需要大量而快速的查询用户自定义数据时,通常需要将存储在Chronolog 数据库中pda.clc 里的用户自定义数据转存到MySql(MariaDB)数据库中。使用AotChrono2Mdb02功能块来转存功能块。RingBuffer 功能块来限制存储的大小。如下图1-3。
图1-3 数据转存
二、Flask 与ECharts
安装Flask 与Echarts。
2.1 安装Flask 模块
打开命令行输入pip install flask 。如下图2-1。
图2-1 安装Flask 模块
2.2 安装Echarts 模块
https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js
打开网址右击另存为echarts.min.js
三、示例
3.1 项目结构
Flask 非常灵活,它可以让有经验的开发人员按照他们自己喜欢来组织项目的目录结构。但是对于新手来说会感到困惑,下面提供一个项目结构,如图3-1。
图3-1 项目结构
3.2 HTML 模板
3.2 Mysql
3.3 Flask
3.4 预览
打开浏览器输入127.0.0.1:5000/E2,预览效果。
四、嵌入APROL 画面
4.1 TextView 的配置
使用画图里的TextView 控件嵌入,输入flask 的游标网址
4.2 下载预览效果
该画面自动更新无需手动刷新
五、Linux 开机自启服务
5.1 修改文件权限
5.2 增加启动脚本
END