监控组态软件实验指导书
的列宽进行设置,我们可以根据字段内容的多少设置合适的列宽以增加画面的美观程度。设置完成后的画面如图十八所示:
图十八 运行系统画面
5.2.2 创建日历控件
我们按照日期进行历史报警的查询,使用微软提供的通用控件
“Microsoft Date andTime Picker Control ”,此控件在安装VB 或者VC 或者Office2000 后会在通用控件中找到。
插入通过控件,如图十九所示:选择后画到画面上,双击控件,在“常规”选项卡中为控件命名为“ADate”,点击“确定”,保存画面。再次双击日历控件,选择“事件”选项卡,在“事件”选项卡中点击CloseUp 事件,弹出控件事件函数编辑窗口,在函数声明中为此函数命名:CloseUp1();在编辑窗口中编写脚本程序,如图二十所示:
在编写脚本程序之前在数据词典中定义字符串变量“选择日期”。编辑完成后点击“确认”,完成对日历控件的设置。
25
监控组态软件实验指导书
图十九 日历控件
图二十 控件事件函数
5.2.3 报警查询
制作一个日期报警查询按钮:按照选择的日期对所选日期的所有报警进行查询,程序如下。 string whe;
26
监控组态软件实验指导书
whe=\本站点\\选择日期+\KV.Where=whe; KV.FetchData(); KV.FetchEnd();
完成画面制作并保存后,切换到运行系统,显示如图十五所示的画面,通过画面切换按钮进行“报警查询”画面,如图二十一所示。
图二十一 历史报警查询
四、注意事项
1)报警数据库的属性,一定要将只读属性去掉。
2)报警配置中的数据库配置的报警格式设置时,各个字段的长度需要根据实际情况 进行设置。
3)报警配置中如果选择“分月保存报警数据表”,则数据库中的报警表会自动生成,如果不选择此项,则“Alarm”表需要手动建立。
4)KVADODBGrid 控件的详细使用方式请参考组态王手册或者帮助。 5)报警数据库可以选择SQLServer 或者其他关系数据库,其他数据库的ODBC 数据源的定义请参考相关文档。 五、实验报告
实验报告包括实验目的、实验内容、设计说明、实验体会等。
27
监控组态软件实验指导书
实验五 报表功能实现
一、实验目的
掌握报表作用,能够独立实现报表编制。 二、实验内容
常规需求:很多工业现场会用到报表功能,而日报是其中最基本的一种报表形式。
日报表一般为每天整点的数据,每一个变量有24个数据。 组态王中的实现方法:
利用组态王内置报表以及报表的函数来实现对日数据的查询生成日报表。
组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。
我们举一个例子来说明日报表的实现方法。在此例程中我们定义三个变量,分别为“原料油液位”、“催化剂液位”、“成品油液位”,运行系统运行后记录历史数据,查询日报表数据时自动从历史数据中查询整点数据生成报表,并可以保存、打印报表。下面就以此为例来演示完成这一要求的具体步骤。 三、实验步骤
1、定义设备
根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC” 。
2、定义变量
在组态王中定义三个变量:原料油液位(IO实数类型)、成品油液位(IO实数类型)、催化剂液位(IO实数类型)。
原料油液位变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
催化剂液位变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选
28
监控组态软件实验指导书
择“0”。
成品油液位变量:最小值0,最大值200,最小原始值0,最大原始值200,连接设备PLC,寄存器INCREA200,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
3、制作画面 3.1 创建报表
新建画面,画面名称“日报表”。在组态王工具箱按钮中,用鼠标左键单击“报表窗口”按钮,此时,鼠标箭头变为小“+”字形,在画面上需要加入报表的位置按下鼠标左键,并拖动,画出一个矩形,松开鼠标键,报表窗口创建成功,如图一所示。
图一 报表
用鼠标双击报表窗口的灰色部分(表格单元格区域外没有单元格的部分),弹出“报表设计”对话框,如图二所示。该对话框主要设置报表的名称、报表表格的行列数目以及选择套用表格的样式。我们设置报表名称为“Report0”,行数为27,列数为4。
图二 报表设计
29