基于.NET的数据记录及报表触发控件(界面篇)

项目中报表功能的需求越来越多,急迫开发一款集成于SCADA的通用报表。

RA的FactoryTalk View SE 13版已经支持.NET控件,正好有机会来开发一款报表控件。

该控件不只可以用于SE,也可以用于WINCC。

概况

基本需求

自动储存数据,并将数据定时导出或者定时打印。

根据最基本的需求,要实现功能,需要有执行动作的功能,也需要有条件触发执行的触发器。

正在慢慢扩充功能,现在不止能储存数据并打印报表,还能实现语音输出和打开外部文件等功能。

软件界面

控件主体界面如下:

点击设置进入设置界面

规则

可以创建多个规则,每个规则执行特定的动作和条件。

动作和条件为多选,如果选择多个条件,当每个条件满足时,都会触发动作。如果选择多个动作,则触发时每个动作都会被执行。

启用规则需要勾选规则前面的复选框。

编辑变量

点击”编辑变量”按钮,打开”工程变量表”并进入编辑状态。

其中的交换名是在控件引用时的名称,标签名、描述和类型为扩展出来的属性,储存于数据库中。可以在报表时引用该数据表[dbChannelInfo]中的内容。

条件触发器

根据设定的条件来执行动作。

现在实现的触发器有:

标签变化

以标签的变化作为条件进行触发,若选择的标签按指定的规则发生变化,将会触发动作

Address参数

点击Address一栏右侧的,进入工程变量表,选择需要监视的变量,可以选择多个变量进行监视。

ChangeType参数

ChangeType是选择标签的变化方向,如UP为比上一次数据变大,Down为比上一次数据变小,Change为只要发生变化就进行触发。

时间间隔

以时间的间隔作为条件进行触发,定时触发动作,由于出于性能考虑,不能小于200ms。

每日定点

以每天定点时间作为条件进行触发,类似闹钟,需要设定每天触发的时间

Clock参数

点击Clock一栏右侧的,进入时间选择,选择需要触发的时间,每天可以选择多个时间点进行触发。

每月定点

以每月定点时间作为条件进行触发,可以设定每一个月的哪一天的几点进行触发。

Clock参数

Clock一栏如同每日定点。

MonthDay参数

MonthDay一栏可以选择每一个月的LastDay”最后一天”,Day1″第一天”,Day2″第二天”……

每周定点

以每周定点时间作为条件进行触发,可以设定每一个周的哪一天的几点进行触发。

Clock参数

Clock一栏如同每日定点。

WeekDay参数

WeekDay一栏可以选择Sunday”周日”,Mondy”周一”……

执行动作

选择执行什么样的动作

保存标签数据

存储标签数据到数据库中,需要在控件配置界面中将Is_Saver设置为ture

Adress参数

点击Adress一栏右侧的,进入工程变量表,勾选所储存的变量,可选多个变量,这样变量会储存在同一个表格内。

数据储存到数据库中,将会以规则名称自动创建数据表,数据表中包含数据存储日期,写入数据的电脑名称,以及所勾选的数据标签。

如下,以未命名1创建了一个数据表,注意该表为自动创建。

打印或导出报表

打印或导出Grid++Report报表。报表导出功能使用免费的锐浪报表Grid++Report,该功能需要简单的了解锐浪报表的使用。

ConnectionString参数

替换报表连接字符串,为空则不进行替换。有时候可能同一个报表模板将会用于多个最终报表文件的生成,而每个最终报表文件所对应的数据库连接字符串不一样,这样需要进行字符串的替换。

点击ConnectionString一栏右侧的,进入数据库字符串生成界面,此处可以列出电脑中支持的数据库连接驱动,如果没有也可以在ConnectionString右侧手动输入。

ExportType参数

选择报表打印或者保存文件类型。报表支持打印和保存两种方式,在此处可以选择保存的报表格式,支持.xls/.txt/.htm/.rtf/.pdf/.csv/.img格式文件保存。

如果选择打印,首先需要在控件配置界面中将Is_Printer设置为ture,其次要在系统中设置默认打印机为可打印的打印设备。

ReportFile参数

点击ReportFile一栏右侧的,选择.grf格式的报表模板文件。

ReportFolder参数

点击ReportFolder一栏右侧的,选择报表存储的目录。

ReportFolderFomat参数

此处选择储存目录的目录结构,以及文件名称的样式。如选择”年_月_日___小时”,则最终的储存样式为”D:/XXX/2023/10/31/12.csv”

后面的d1 d2为触发时间减1。如选择”年_月_日___小时d1″,则最终的储存样式为”D:/XXX/2023/10/31/11.csv”

根据报表要求按需选择。

ReportPara参数

锐浪报表支持报表参数的传递。此处可以修改报表文件内的参数,以链接到日期、数据值等。

点击ReportPara一栏右侧的,进入字符串属性关联界面。

如果选择的报表模板里有报表参数,则会在此处依次列出,根据实际需要进行数据关联。

关联日期可选以下内容:

关联变量值可选择变量的当前值:

关联固定文本值:

输入固定文本,以进行关联。

删除超期数据

删除超过一定时间的数据。为避免数据库内容过多

DataTable参数

输入需要删除那个表格的数据。

DateLong参数

超过多少时间的数据进行删除。

DateUnit参数

时间的单位

打开外部文件

打开第三方文件或者可执行程序

FileName参数

所要执行的文件路径。

语音输出

语音输出

SpeechText参数

所要语音输出的内容。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据