文档库 最新最全的文档下载
当前位置:文档库 › 组态王报表功能实现方法

组态王报表功能实现方法

组态王报表功能实现方法
组态王报表功能实现方法

一种简单的组态王报表功能实现方法

2010年04月24日星期六 15:18

前段时间用组态王6.53做了一个小的画面组态,其中用到了KVADODBGrid控件来做报表,现总结如下。

一、准备工作

第一步:在组态王工程管理器中新建一个项目,项目路径为D:\实验项目。

第二步:新建一个ACCESS数据库

1、在“D:\实验项目”路径下新建一个 Microsoft Office Access 应用程序并命名为mydatabase.mdb;

2、打开“控制面板\管理工具\ODBC数据源管理器”选择“系统DS N”选项;

3、点击“添加”按钮创建新数据源,选择“Microsoft Access Driver(*.mdb)”;

4、在数据源名处填下“mydata”,并选择数据库路径为“D:\实验项目\mydatabase.mdb”。

第三步:创建表格模板

点击工程浏览器左侧的“SQL访问管理器”下的“表格模板”,新建一个表格并命名为Table。在Table中添加所需记录的变量及

日期参数,其中“日期”为定长字符串型,字符长度为10;其它诸如年、月、日、时、分则为浮点型,字符长度为1。

第四步:创建记录体

点击工程浏览器左侧的“SQL访问管理器”下的“记录体”,新建一个表格并命名为Record,在Record中添加所需记录的变量及日期参数。记录体用来定义Access数据表格字段与组态王变量之间的对应关系。

二、连接数据库

第一步:在工程浏览器左侧的“数据库”下的“数据字典”中定义一个内存整型变量,并命名为ConnectID。

第二步:创立组态王与mydata数据源的连接,并以“表格模板”Table的格式在数据库中建立名为“TheDate”的表格,命令如下:SQLConnect( ConnectID, "dsn=mydata;uid=;pwd=");

SQLCreateTable(ConnectID, "TheDate", "Table" );

将上面两条命令填入“工程浏览器\命令语言\应用程序命令语言”下的“启动时”选项中。

第三步:在工程浏览器左侧的“命令语言\事件命令语言”下新建一事件命令,在“事由描述”项内填下“\\本站点\$分==01”(每小时事件发生一次即分变量每次为一,计算了60分钟),在“发生时”框内填写

SQLInsert(connectionid, "TheDate", "Record");//每小时向数据库保存一条记录。

三:建立报表查询画面

新建一个画面,并在画面上添加一个日期控件作日期查询用;添加一个KVADODBGrid控件作报表显示用;添加三个按钮分别作查询、打印、退出用。

第一步:添加KVADODBGrid控制

1.菜单栏\编辑\插入通用控件\KVADODBGrid Class,双击添加的控件,并命名“控件名”为dayreport

2.在控件属性里的“数据源”选择前面定义的mydata、“表名称”选择TheDate,此时下面的“有郊字段”将出现你在记录体里面加入的数据,根据需要添加到右侧,并编辑好“标题”、“格式”等内容

3.根据需要可修改控件属性里面的“字体”、“打印设置”等

第二步:添加时间控件

1.菜单栏\编辑\插入通用控件\Microsoft Date and Time Picker Control 6.0(SP4)

2.双击添加的控件,并命名“控件名”为DayreportSelect

3.根据需要可修改控件属性

第三步:添加查询按钮

1.定义按钮的“命令语言连接”“按下时”为:

dayreport.RemoveAllData();

(RemoveAll RemoveAll 方法描述RemoveAll 方法从 Dictionary 对象中删除所有关键字和条目对。语法

object.RemoveAllobject始终是一个 Dictionary 对象的名字。说明下面的代码举例说明了 RemoveAll 方法的用法:Dim a, d, i '创建一些变量Set d = CreateObject("Scripting.Dictionary")d.Add "a", "Athens" '添加一些关键字和条目d.Add "b", "Belgrade"d.Add "c", "Cairo"...a = d.RemoveAll '清除字典VC: CARRAY类下的操作函数,功能:删除该数组中的所有指针。从该数组中删除所有指针,但并不真正的删除CObject对象。RemoveAll 函数将释放所有用于指针存储所占用的内存。)2.定义按钮的“命令语言连接”“弹起时”为:(下列语言中“条件句”为内存字符串格式,在“数据词典”里面定义) long a;

long b;

string str1;

string str2;

a=DayreportSelect.Month;(指针命令,控件DayrepotSelect中的Month变量)

b=DayreportSelect.Day;

if (a<10)

str1="-0"+StrFromInt( DayreportSelect.Month, 10 );

else

str1="-"+StrFromInt( DayreportSelect.Month, 10 );

if (b<10)

str2="-0"+StrFromInt( DayreportSelect.Day, 10 );

else

str2="-"+StrFromInt( DayreportSelect.Day, 10 );

\\本站点\条件句=StrFromInt( DayreportSelect.Year, 10 )+str1+str2;

dayreport.Where="日期='"+\\本站点\条件句+"' order by 时";

dayreport.FetchData();

dayreport.FetchEnd();

注意:在控制面板\区域和语言\自定义下,需定义短日期格式为“yyyy-MM-dd”样式,若不同,则上面命令代码的判断段需作相应修改。

第四步:添加打印按钮

定义按钮的“命令语言连接”“弹起时”为:dayreport.Print();

第五步:添加退出按钮

总体效果图如下图所示:

组态王报表功能实现方法

一种简单的组态王报表功能实现方法 2010年04月24日星期六 15:18 前段时间用组态王6.53做了一个小的画面组态,其中用到了KVADODBGrid控件来做报表,现总结如下。 一、准备工作 第一步:在组态王工程管理器中新建一个项目,项目路径为D:\实验项目。 第二步:新建一个ACCESS数据库 1、在“D:\实验项目”路径下新建一个 Microsoft Office Access 应用程序并命名为mydatabase.mdb; 2、打开“控制面板\管理工具\ODBC数据源管理器”选择“系统DS N”选项; 3、点击“添加”按钮创建新数据源,选择“Microsoft Access Driver(*.mdb)”; 4、在数据源名处填下“mydata”,并选择数据库路径为“D:\实验项目\mydatabase.mdb”。 第三步:创建表格模板 点击工程浏览器左侧的“SQL访问管理器”下的“表格模板”,新建一个表格并命名为Table。在Table中添加所需记录的变量及

日期参数,其中“日期”为定长字符串型,字符长度为10;其它诸如年、月、日、时、分则为浮点型,字符长度为1。 第四步:创建记录体 点击工程浏览器左侧的“SQL访问管理器”下的“记录体”,新建一个表格并命名为Record,在Record中添加所需记录的变量及日期参数。记录体用来定义Access数据表格字段与组态王变量之间的对应关系。 二、连接数据库 第一步:在工程浏览器左侧的“数据库”下的“数据字典”中定义一个内存整型变量,并命名为ConnectID。 第二步:创立组态王与mydata数据源的连接,并以“表格模板”Table的格式在数据库中建立名为“TheDate”的表格,命令如下:SQLConnect( ConnectID, "dsn=mydata;uid=;pwd="); SQLCreateTable(ConnectID, "TheDate", "Table" ); 将上面两条命令填入“工程浏览器\命令语言\应用程序命令语言”下的“启动时”选项中。 第三步:在工程浏览器左侧的“命令语言\事件命令语言”下新建一事件命令,在“事由描述”项内填下“\\本站点\$分==01”(每小时事件发生一次即分变量每次为一,计算了60分钟),在“发生时”框内填写

组态王历史报表、

创建历史数据报表 历史数据报表创建过程如下: 1、新建一価面,名押为:历史数据报表iffli面. 2、选择工具箱中的工1工具,在颅而上输入文字:历史数据报表。 3、选择工具箱中的悟1工具,在岡面上绘制一历史数据报表窗口,控件名称为:Reports, 并设计表格,如图8?17所 _______________________________________________ A i「 1 肋史 2 09 瑕料输覆桂 3 4 5 6 图8-17 历史数据报表查询 利用组态王提供的ReportSetHistData?的数町从组态王记录的历史库中按折定的赴始时间和时间间隔査询指定变虽的数据,设置过程如下: 1、在価面中添加一按饥,按伍文本为:历史数据报表査询. 2、在按粗的弹起爭件中输入如下命令ifi言.如图8JS所示:

3.设置完毕后单击“文件"菜单中的“全部存”命令.保存您所作的设置。 4、单击“文件”菜单中的“切换到XTEW”命令,运厅此紳面?笊击“历史数据报表査询”按钮.弹出报表历史査询对话框.如图&19所示, 报表历史査询对话框分二个履性页:报表属性页、时何属性页.变虽属性页. 报表属性页:在报表属性页中您可以设置报表査询的显示恪式,此属性页设置如图8- 19 所示。 时间属性页:在时间屈性页中您町以设置査询的起止时间以及査询的时间间隔.如图 所示: 图8? 19 图8-20

变量属性页:在变虽叫性页中您可以选择欲査询历史数据的变忙.如图8?21所示: 5. 设置完毕后单击?确定”按钮.原料油液位变虽的历史数据即可显示在历史数摇报 表控件中.从而达到了历史数据吉询的目的.如图8-22所示: 图 8-22 历史数据报表的其它应用 一、1分钟数据报表演示 利用报表窗口丁具结合组态王提供的命令语育可实现一个1分钟的数据报表?设置过程 如下: 0* 06/11/12 06/11/12 06/11/12 06/1142 06/1212 06/11/12 柿 16:24:44 15:25:44 15:26:44 15:27:44 15:28:44 15:29:44 历史效抿报表 用 S-21

组态王日报表例程

组态王日报表的实现例程 配置参考文档 北京亚控科技发展有限公司 技术部

目录 一、功能概述 (3) 一、功能概述 (3) 二、工程实例 (3) 三、操作步骤: (3) 1、定义设备: (3) 2、定义变量: (3) 3.制作画面: (4) 3.1) 创建报表: (4) 3.2) 创建日历控件: (6) 4.进入运行系统: (12) 四、注意事项 (13) 图表 图一报表 (5) 图二报表设计 (5) 图三日报表 (6) 图四日历控件 (7) 图五控件事件函数 (10) 图六保存报表 (10) 图七打印报表 (11) 图八打印报表 (11) 图九运行系统 (12) 图十打印预览 (13)

一、功能概述 常规需求:很多工业现场会用到报表功能,而日报是其中最基本的一种报表形式。 日报表一般为每天整点的数据,每一个变量有24个数据。 组态王中的实现方法: 利用组态王内置报表以及报表的函数来实现对日数据的查询生成日报表。 组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。 二、工程实例 我们举一个例子来说明日报表的实现方法。在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,查询日报表数据时自动从历史数据中查询整点数据生成报表,并可以保存、打印报表。下面就以此为例来演示完成这一要求的具体步骤。 三、操作步骤: 1、定义设备: 根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为”PLC”。 2、定义变量: 在组态王中定义三个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO实数类型)。压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择

组态王使用说明

皖西学院 监控组态软件实验指导书 机械与电子工程学院 电气工程教研室 2013.3

实验一监控组态工程建立与工艺流程图绘制 一、实验目的 熟练掌握工控组态软件的绘图工具 二、实验内容 熟悉工控组态软件的绘图工具,完成反应工段工艺流程绘制以及外部设备和变量的定义。 三、实验步骤 1.1创建工程 在工程管理器中选择菜单“文件/新建工程”,或者点击工具栏的“新建”按钮,根据“新建工程向导”对话框完成工程创建,如图一所示 图一工程管理器 1.2 组态画面 双击工程管理器中的工程,打开工程浏览器,在工程浏览器中左侧的“工程目录显示区”中选择“画面”,在右侧视图中双击“新建”,弹出新建画面对话框如图一所示。

图二画面属性设置 点击图二确定按钮后,在工具箱和图库中选中相应图素进行监控画面组态,绘制工艺流程图如图三所示。 图三反应车间监控画面 1.3定义设备 根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。

1.4定义变量 在组态王中定义三个变量:原料油液位(IO实数类型)、成品油液位(IO实数类型)、催化剂液位(IO实数类型)。 原料油液位变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 催化剂液位变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 成品油液位变量:最小值0,最大值200,最小原始值0,最大原始值200,连接设备PLC,寄存器INCREA200,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 四、实验报告 实验报告包括实验目的、实验内容、设计说明、实验体会等。

组态王中的数据报表制作与保存.doc

组态王中的数据报表制作与保存 摘要:本文主要介绍如果使用组态王来构建数据报表,并以EXCEL的格式在指定的文件路径保存。 关键字:组态王历史库数据报表制作保存 一、引言 数据报表是反应生产过程中的数据、状态等,并对数据进行记录的一种重要形式。它既能反映系统实时的生产情况,也能对长期的生产过程进行统计、分析,使管理人员能够实时掌握和分析生产情况。 组态王提供内嵌式报表系统,工程人员可以任意设置报表格式,对报表进行组态。组态王为工程人员提供了丰富的报表函数,实现各种运算、数据转换、统计分析、报表打印等。既可以制作实时报表,也可以制作历史报表。组态王还支持运行状态下单元格的输入操作,在运行状态下通过鼠标拖动改变行高、列宽。另外,工程人员还可以制作各种报表模板,实现多次使用,以免重复工作。 二、数据报表的制作 数据报表分为实时数据报表和历史数据报表2类。报表的构建方法如下: 在画面内,使用工具箱中的报表窗口按钮创建一个报表窗口,如图1所示。 图1 创建后的报表窗口 用鼠标双击报表窗口的灰色部分,弹出“报表设计”对话框,该对话框主要设置报表的名称、报表表格的行列数目以及选择套用表格的样式。 1、制作实时数据报表 实时数据报表是实时显示相关变量的数据值,在报表窗口的单元格中直接引用变量来实现。在报表的单元格中直接输入“=变量名”,既可在运行时在该单元格中显示该变量的数值,当变量的数据发生变化时,单元格中显示的数值也会被实时刷新。 2、制作历史数据报表 历史数据报表是从组态王的历史库中查询相关变量的历史数据,并在历史数据报表内显示,因此对历史数据报表要查询的数据必须设置历史记录属性。 在组态王中,离散型、整型和实型变量支持历史记录,字符串型变量不支持历史记录。组态王的历史记录形式可以分为数据变化记录、定时记录(最小单位为1分钟)和备份记录。记录形式的定义通过变量属性对话框中提供的选项完成。如图2所示。

组态王报表保存成excel

组态王报表保存成excel文件格式改变解决方案 组态王内嵌的表格可以做成各种很精美的格式,也可以保存成.xls格式和.csv格式,但是原来的格式会荡然无存,很不方便。 下图是组态王报表格式(组态王6.52): 下面是保存成excel之后的格式:

下图是应用次解决方案后的最终效果图: 下面我们来说明次方案的步骤: 1.“打开文件”按钮命令语言:StartApp("F:\aa.xls"); 2.“文件另存为”按钮命令语言: ActivateApp("Excel.exe"); ActivateApp("Excel.exe"); SendKeys("%(f)abb.xls%(s)%(f)x"); 3.“文件转移”按钮命令语言:

string filename; filename="F:\report\"+StrFromReal( \\本站点\$时, 0, "f" )+StrFromReal( \\本站点\$分, 0, "f" )+StrFromReal( \\本站点\$秒, 0, "f" )+".xls"; ReportSaveAs("Report0",fileName); FileDelete( filename ); FileMove( "F:\bb.xls", filename , DoneTag ); 说明: 1.这部分是整个解决方案的核心。利用的是组态王的报表可以保存成以时间为文件名的xls文件,同时FileMove这个函数在文件转移的时候的名字也是可以改变的。 2.“文件另存为”按钮和“文件转移”按钮里的命令语言不要写在一起,否则命令语言不执行,要让这个程序自动执行,可以做定时器实现。 4.组态王报表数据传递到excel 组态王中建立excel 的dde连接,报表中所有数据均要建立dde变量,应用程序命令语言中通过赋值语言进行实时刷新。 新保存指定文件名的excel解决方案: 1.建一个excel模板ee.xls(必要时隐藏最上一行) 2.复制模板到aa文件夹下ee.xls 3.导出excel到aa下的ee.xls 4.移动ee.xls到指定的文件夹下,可以用此移动命令改为想要的名字,如bb.xls 5.完成。命令按钮如下 \\本站点\app_inf=InfoAppDir(); String adde; String adda; String addc; String addb; adda=\\本站点\app_inf+"\aa.xls"; addc=\\本站点\app_inf+"\report"; addb=\\本站点\app_inf+"\report\aa.xls"; adde=\\本站点\导出+\\本站点\报告编号.Comment+".xls"; 6.ReportSaveAs("曲线",adda); 导出excel到aa下的ee.xls FileCopy(adda, addc, \\本站点\文件转移标志); FileMove( addb,adde, \\本站点\文件转移标志); filename=filename+\\本站点\$日期+StrFromint(\\本站点\$时,10)+"时"+StrFromint(\\本站点 \$分,10)+"分"+StrFromint(\\本站点\$秒,10)+"秒.xls";//建立一时间为文件名的EXECL文件 夹

报表系统-组态王报表系统

第八讲报表系 统 在本课程您将: ì掌握实时报表的创建过程 ì掌握历史报表的创建、查询过程 第一节概述 数据报表的用途 数据报表是反应生产过程中的过程数据、运行状态等,并对数据进行记录、统计的一种重要工具,是生产过程必不可少的一个重要环节。它既能反应系统实时的生产情况又能对长期的生产过程数据进行统计、分析,使管理人员能够掌握和分析生产过程情况。 组态王提供内嵌式报表系统,工程人员可以任意设置报表格式,对报表进行组态。组态王为工程人员提供了丰富的报表函数,实现各种运算、数据转换、统计分析、报表打印等。既可以制作实时报表又可以制作历史报表。另外,工程人员还可以制作各种报表模板,实现多次使用,以免重复工作。 第二节实时数据报表 创建实时数据报表 实时数据报表创建过程如下: 6、新建一画面,名称为:实时数据报表画面。 7、选择工具箱中的工具,在画面上输入文字:实时数据报表。 3、选择工具箱中的工具,在画面上绘制一实时数据报表窗口,如图8-1 所示:

图8-1 “报表工具箱”会自动显示出来,双击窗口的灰色部分,弹出“报表设计”对话框,如图8-2 所示: 图8-2 对话框设置如下:报 表控件名:Report1 行数:6 列数:10 4、输入静态文字:选中A1 到J1 的单元格区域,执行“报表工具箱”中的“合并单元格”命令并在合并完成的单元格中输入:实时数据报表演示。 利用同样方法输入其它静态文字,如图8-3 所示: 图8-3

5、插入动态变量:合并B2 和C2 单元格,并在合并完成的单元格中输入:=\\本站点\$ 日期。(变量的输入可以利用“报表工具箱”中的“插入变量”按钮实现)利用同样方法输入其它动态变量,如图8-4 所示: 图8-4 注:如果变量名前没有添加“=”符号的话此变量被当作静态文字来处理。 6、单击“文件”菜单中的“全部存”命令,保存您所作的设置。 7、单击“文件”菜单中的“切换到VIEW”命令,进入运行系统。系统默认运行的画面可能不是您刚刚编辑完成的“实时数据报表画面”,您可以通过运行界面中“画面”菜单中的“打开”命令将其打开后方可运行,如图8-5 所示: 图8-5 实时数据报表打印 一、实时数据报表自动打印设置过程如下: 1、在“实时数据报表画面”中添加一按钮,按钮文本为:实时数据报表自动打印。

组态王使用常见问题

组态王使用常见问题 1、变量设定中最大(小)值及最大(小)原始值的意义? [最大(小)值是变量在现实中表达的工程值(如:温度、压力等)的大小,而最大(小)原始值是采集设备中[寄存器]数字量的最大(小)值(如板卡中的819-4095等)。一般对于板卡设备此值为物理量经AD转换之后的值,如12BitAD 此值范围0~4096、16BitAD为0~65535,对于PLC、智能仪表、变频器,其本身已将物理值转换为工程值所以此时最大(小)值与最大(小)原始值在设置时是一致的. 2、为什么变量无法删除,如何删除变量? [在组态王中,只有未使用的变量才能被删除,因此在删除变量之前,必须去掉在画面或命令语言、控件引用处,等处与之有关的连接,如果还是无法删除,在工程浏览器中执行工具-更新变量计数命令,重新统计变量,在变量使用报告中可以查询变量是否还在某些地方使用,将其连接断开后,利用工具-删除未用变量将变量删除。 3、工程运行时,显示通讯协议组件失败? [设备驱动安装错误:1、安装新的驱动2、在开发状态下从新连接设备,如果还是有错误,请联系驱动部索要新的驱动程序] 4、光盘上的典型案例无法打开? [将工程拷贝到硬盘上将属性改为存档即可 5、如何在打开机器时自动进入组态王? [将touchview快捷方式拷贝到系统开始\程序\启动中 6、怎样把工程文件变小?

[可以删除*.AL2(报警信息文件),*.REC(历史记录文件),*.111文件(*.pic 文件的备份文件)的文件。 7、如何在线增删用户及用户密码和权限? [使用editusers()函数(用户权限需大于900)] 8、在定义变量的基本属性时状态栏中的保存数值、保存参数是什么意思? [保存参数:在系统运行时,修改变量的域的值(可读可写型),系统自动保存这些参数值,系统退出后,其参数值不会发生变化。当系统再启动时,变量的域的参数值为上次系统运行时最后一次的设置值。无需用户再去重新定义。 保存数值:系统运行时,当变量的值发生变化后,系统自动保存该值。当系统退出后再次运行时,变量的初始值为上次系统运行过程中变量值最后一次变化的值。 9、开发狗与运行狗的区别? [开发狗是用于工程开发使用的,为了方便调试支持6小时的连续运行,运行狗是用于工程实际运行,不能进行开发. 21:如何不进入系统桌面环境而直接运行组态王工程如何实现(Win2000系统)? 运行RegEdit文件:找到我的\HKEY_Local_MACHINE\software\Microsoft\Windows NT\currentVersion\winlogon 将Userinit=c:\winnt\system32\userinit.exe改为:Userinit= c:\program files\kingview\touchvew.exe

报表系统-组态王报表系统

第八讲 报表系 统 掌握历史报表的创建、查询过程 第一节 概述 数据报表的用途 数据报表是反应生产过程中的过程数据、运行状态等,并对数据进行记录、统计的一种 重要工具,是生产过程必不可少的一个重要环节。它既能反应系统实时的生产情况又能对长 期的生产过程数据进行统计、分析,使管理人员能够掌握和分析生产过程情况。 组态王提供嵌式报表系统,工程人员可以任意设置报表格式,对报表进行组态。组态 王为工程人员提供了丰富的报表函数,实现各种运算、数据转换、统计分析、报表打印等。 既可以制作实时报表又可以制作历史报表。另外,工程人员还可以制作各种报表模板,实现 多次使用,以免重复工作。 第二节 实时数据报表 创建实时数据报表 实时数据报表创建过程如下: 6、 新建一画面,名称为:实时数据报表画面。 7、 选择工具箱中的 工具,在画面上输入文字:实时数据报表。

3、选择工具箱中的工具,在画面上绘制一实时数据报表窗口,如图8-1 所示:

图 8-1 “报表工具箱”会自动显示出来,双击窗口的灰色部分,弹出“报表设计”对话框,如图8-2 所示: 图 8-2 对话框设置如下:报 表控件名:Report1 行数:6 列数:10 4、输入静态文字:选中A1 到J1 的单元格区域,执行“报表工具箱”中的“合并单元格”命令并在合并完成的单元格中输入:实时数据报表演示。 利用同样方法输入其它静态文字,如图8-3 所示: 图 8-3

5、插入动态变量:合并B2 和C2 单元格,并在合并完成的单元格中输入:=\\本站点 \$ 日期。(变量的输入可以利用“报表工具箱”中的“插入变量”按钮实现)利用同样方法输入其它动态变量,如图8-4 所示: 图 8-4 注:如果变量名前没有添加“=”符号的话此变量被当作静态文字来处理。 6、单击“文件”菜单中的“全部存”命令,保存您所作的设置。 7、单击“文件”菜单中的“切换到VIEW”命令,进入运行系统。系统默认运行的画面可能不是您刚刚编辑完成的“实时数据报表画面”,您可以通过运行界面中“画面”菜单中的“打开”命令将其打开后方可运行,如图8-5 所示: 图 8-5 实时数据报表打印 一、实时数据报表自动打印设置过程如下:

组态王中的数据报表制作与保存.docx

组态王中的数据报表制作与保存 组态王中的数据报表制作与保存 摘要 : 本文主要介绍如果使用组态王来构建数据报表,并以EXCEL的格式在指 定的文件路径保存。 关键字 : 组态王历史库数据报表制作保存 一、引言 数据报表是反应生产过程中的数据、状态等,并对数据进行记录的一种重要形 式。它既能反映系统实时的生产情况,也能对长期的生产过程进行统计、分析,使 管理人员能够实时掌握和分析生产情况。 组态王提供内嵌式报表系统,工程人员可以任意设置报表格式,对报表进行组 态。组态王为工程人员提供了丰富的报表函数,实现各种运算、数据转换、统计分析、报表打印等。既可以制作实时报表,也可以制作历史报表。组态王还支持运行 状态下单元格的输入操作,在运行状态下通过鼠标拖动改变行高、列宽。另外,工 程人员还可以制作各种报表模板,实现多次使用,以免重复工作。二、数据报表的制作 数据报表分为实时数据报表和历史数据报表 2 类。报表的构建方法如下:在画面内,使用工具箱中的报表窗口按钮创建一个报表窗口,如图 1 所示。 图 1 创建后的报表窗口

用鼠标双击报表窗口的灰色部分,弹出“报表设计”对话框,该对话框主要设 置报表的名称、报表表格的行列数目以及选择套用表格的样式。 1 、制作实时数据报表 实时数据报表是实时显示相关变量的数据值,在报表窗口的单元格中直接引用 变量来实现。在报表的单元格中直接输入“=变量名”,既可在运行时在该单元格 中显示该变量的数值,当变量的数据发生变化时,单元格中显示的数值也会被实时 刷新。 2、制作历史数据报表 历史数据报表是从组态王的历史库中查询相关变量的历史数据,并在历史数据 报表内显示,因此对历史数据报表要查询的数据必须设置历史记录属性。 在组态王中,离散型、整型和实型变量支持历史记录,字符串型变量不支持历 史记录。组态王的历史记录形式可以分为数据变化记录、定时记录( 最小单位为 1分钟 ) 和备份记录。记录形式的定义通过变量属性对话框中提供的选项完成。如图2所示。 图 2记录属性设置

用组态王报表

用组态王报表实现显示设备启动、停止时间和运行时长的方法 在对设备的状态进行监控中,往往要取得一些参数来记录和分析设备的运行状况。这其中就包括设备的启动时间、停止时间和运行的时长。当然,组态软件不会有这样的功能,让我们轻易实现。不过,通过组态软件的报表功能,再通过二次开发,写一些脚本语言。实现起来倒也不难。以下,以组态王为例,是对操作过程的描述,希望能够对需要的人有一些帮助。 总体思路:以一个项目为例。在这个工程中,有21台设备的运行状态需要记录,他们的运行状态依次记录在报表中。报表中的每一行都表示,此设备的一个运行周期。由于设备状态在报表中依次排列,因此需要相应的变量来保存该设备状态所在的行数。这样,当停止该设备时,才能将“停止时间”和“运行时长”填充到正确的位置。这样,就需要建立21个内存整形变量。由于报表中的记录依次排列,因此还需要一个变量来保存报表中最后一条记录的行数,这样才能顺序填充记录。 1、新建报表,并命名为“报表1”。

2、创建内存整形变量。21个内存变量分别保存21个设备状态所在的行数。1个内存变量保存报表中最后一条记录的行数。

3、编写自定义函数,好处是减少代码量,修改方便。 脚本内容具体如下 //"var"是变量的名称,"name"是要显示在报表中的字符串,"varRow"是保存记录的行数//用年月日,时分秒,系统变量来组合形成日期。 //不用日期变量,因为其格式长度不确定,在后来的分解中会很麻烦。 string strY=StrFromInt(\本站点$年, 10 ); string strM=StrFromInt(\本站点$月, 10 );

组态王7.5SP1版本第7章报表系统

第八讲报表系统 第一节概述 数据报表的用途 数据报表是反应生产过程中的过程数据、运行状态等,并对数据进行记录、统计的一种重要工具,是生产过程必不可少的一个重要环节。它既能反应系统实时的生产情况又能对长期的生产过程数据进行统计、分析,使管理人员能够掌握和分析生产过程情况。 组态王提供内嵌式报表系统,工程人员可以任意设置报表格式,对报表进行组态。组态王为工程人员提供了丰富的报表函数,实现各种运算、数据转换、统计分析、报表打印等。既可以制作实时报表又可以制作历史报表。另外,工程人员还可以制作各种报表模板,实现多次使用,以免重复工作。 组态王7.5 SP1的报表向导工具可以以组态王的历史库或KingHistorian为数据源,快速建立所需的班报表、日报表、周报表、月报表、季报表和年报表。此外,还可以实现值的行列统计功能。大大减少了工程人员制作报表时的命令语言的编写。 第二节实时数据报表 创建实时数据报表 实时数据报表创建过程如下: 1、新建一画面,名称为:实时数据报表画面。 2、选择工具箱中的工具,在画面上输入文字:实时数据报表。 3、选择工具箱中的工具,在画面上绘制一实时数据报表窗口,如图8-1所示。

图8-1 单击报表窗口,“报表工具箱”会自动显示出来。 双击窗口的灰色部分,弹出“报表设计”对话框,如图8-2所示。 图8-2 对话框设置如下: 报表控件名:Report1 行数:6 列数:10 4、输入静态文字:选中A1到J1的单元格区域,执行“报表工具箱”中的“合并单元格”命令并在合并完成的单元格中输入:实时报表演示。 利用同样方法输入其它静态文字,如图8-3所示。 图8-3

组态王报表演示说明

报表演示说明 1、本演示分为日报、月报、年报 2、日报的生成: 对于日报可以每小时输入一个数据,然后进行统计后每天生成一个报表 日报生成的命令语言见事件命令语言的条件为:$分==0 && $秒==0,消失时注意: a、报表函数命令执行时报表控件所在的画面必须打开,因此对于画面不多的情况下可以在工程运行时将后台处理画面打开并隐含起来,同时所有其它的画面属性都应为覆盖式。如果画面较多无法全部将画面属性设为覆盖式则可以在报表命令语言执行前执行打开画面的命令 b、在新的一天开始时需要使用新的报表文件,因此需要在调用前需要判断当天的报表文件是否已经创建,如果没有创建则需要进行创建 c、对于日报的统计主要针对每天持续运行的情况,对于不能保证持续运行的现场可以参照月报的统计方式 b、报表的查询在日报查询页,可以对报表文件进行读取、删除等操作{string FileName1=InfoAppDir()+"日报\"+ StrFromReal( \\本站点\$年, 0, "f" )+"y"+StrFromReal(\\本站点\$月, 0, "f" )+"m"+StrFromReal(\\本站点\$日, 0, "f" )+".rtl"; //自定义变量 long return01=InfoFile( Filename1, 1, \\本站点\$分 ); //判断日报目录下是否已经有当天的报表文件了 if (return01==0) { string FileName=InfoAppDir()+"报表\日报.rtl"; ReportLoad("Report5",FileName); FileName=InfoAppDir()+"日报\"+StrFromReal( \\本站点\$年, 0, "f" )+"y"+StrFromReal( $月, 0, "f" )+"m"+StrFromReal( $日, 0, "f" )+".rtl"; ReportSaveAs("Report5",FileName); } //如果没有报表文件则从报表目录下调取模板创建报表文件 ReportLoad("Report5",FileName1); ReportSetCellString("report5", 3,10, \\本站点\$日期); long hang=\\本站点\$时+6; string timestr=time(\\本站点\$时,0,0); ReportSetCellString("report5", hang,1, timestr); ReportSetCellValue("report5", hang,2,\\本站点\颗粒物); ReportSetCellValue("report5", hang,3,\\本站点\颗粒物折算); ReportSetCellValue("report5", hang,4, \\本站点\SO2); ReportSetCellValue("report5", hang,5, \\本站点\SO2折算);

组态王中的数据报表制作与保存教学提纲

组态王中的数据报表制作与保存

组态王中的数据报表制作与保存 摘要:本文主要介绍如果使用组态王来构建数据报表,并以EXCEL的格式在指定的文件路径保存。 关键字:组态王历史库数据报表制作保存 一、引言 数据报表是反应生产过程中的数据、状态等,并对数据进行记录的一种重要形式。它既能反映系统实时的生产情况,也能对长期的生产过程进行统计、分析,使管理人员能够实时掌握和分析生产情况。 组态王提供内嵌式报表系统,工程人员可以任意设置报表格式,对报表进行组态。组态王为工程人员提供了丰富的报表函数,实现各种运算、数据转换、统计分析、报表打印等。既可以制作实时报表,也可以制作历史报表。组态王还支持运行状态下单元格的输入操作,在运行状态下通过鼠标拖动改变行高、列宽。另外,工程人员还可以制作各种报表模板,实现多次使用,以免重复工作。 二、数据报表的制作 数据报表分为实时数据报表和历史数据报表2类。报表的构建方法如下: 在画面内,使用工具箱中的报表窗口按钮创建一个报表窗口,如图1所示。 图1 创建后的报表窗口

用鼠标双击报表窗口的灰色部分,弹出“报表设计”对话框,该对话框主要设置报表的名称、报表表格的行列数目以及选择套用表格的样式。 1、制作实时数据报表 实时数据报表是实时显示相关变量的数据值,在报表窗口的单元格中直接引用变量来实现。在报表的单元格中直接输入“=变量名”,既可在运行时在该单元格中显示该变量的数值,当变量的数据发生变化时,单元格中显示的数值也会被实时刷新。 2、制作历史数据报表 历史数据报表是从组态王的历史库中查询相关变量的历史数据,并在历史数据报表内显示,因此对历史数据报表要查询的数据必须设置历史记录属性。 在组态王中,离散型、整型和实型变量支持历史记录,字符串型变量不支持历史记录。组态王的历史记录形式可以分为数据变化记录、定时记录(最小单位为1分钟)和备份记录。记录形式的定义通过变量属性对话框中提供的选项完成。 如图2所示。 图 2 记录属性设置

组态王使用说明

组态王使用说明-CAL-FENGHAI.-(YICAI)-Company One1

皖西学院 监控组态软件实验指导书 机械与电子工程学院 电气工程教研室

实验一监控组态工程建立与工艺流程图绘制 一、实验目的 熟练掌握工控组态软件的绘图工具 二、实验内容 熟悉工控组态软件的绘图工具,完成反应工段工艺流程绘制以及外部设备和变量的定义。 三、实验步骤 创建工程 在工程管理器中选择菜单“文件/新建工程”,或者点击工具栏的“新建”按钮,根据“新建工程向导”对话框完成工程创建,如图一所示 图一工程管理器 组态画面 双击工程管理器中的工程,打开工程浏览器,在工程浏览器中左侧的“工程目录显示区”中选择“画面”,在右侧视图中双击“新建”,弹出新建画面对话框如图一所示。 1

图二画面属性设置 点击图二确定按钮后,在工具箱和图库中选中相应图素进行监控画面组态,绘制工艺流程图如图三所示。 图三反应车间监控画面 定义设备 2

根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC 设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。 定义变量 在组态王中定义三个变量:原料油液位(IO实数类型)、成品油液位(IO实数类型)、催化剂液位(IO实数类型)。 原料油液位变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 催化剂液位变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 成品油液位变量:最小值0,最大值200,最小原始值0,最大原始值200,连接设备PLC,寄存器INCREA200,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 四、实验报告 实验报告包括实验目的、实验内容、设计说明、实验体会等。 3

组态王日报表例程说明文档

日报表 例程说明文档 北京亚控科技发展有限公司 2009年6月

目录 1. 功能概述 (1) 2. 工程实例 (1) 3. 操作步骤 (1) 3.1 定义设备 (1) 3.2 定义变量 (1) 3.3 制作画面 (2) 3.4 进入运行系统 (10) 4. 注意事项 (12)

1. 功能概述 常规需求:很多工业现场会用到报表功能,而日报是其中最基本的一种报表形式。 日报表一般为每天整点的数据,每一个变量有24个数据。 组态王中的实现方法: 利用组态王内置报表以及报表的函数来实现对日数据的查询生成日报表。 组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。 2. 工程实例 我们举一个例子来说明日报表的实现方法。在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,查询日报表数据时自动从历史数据中查询整点数据生成报表,并可以保存、打印报表。下面就以此为例来演示完成这一要求的具体步骤。 3. 操作步骤 3.1定义设备 根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC -亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。 3.2定义变量 在组态王中定义五个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO 实数类型)、电压(IO实数类型)、电流(IO实数类型)。 压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。

报表系统-组态王报表系统

第八讲报表系统 在本课程您将: ì掌握实时报表的创建过程 ì掌握历史报表的创建、查询过程 第一节概述 数据报表的用途 数据报表是反应生产过程中的过程数据、运行状态等,并对数据进行记录、统计的一种重要工具,是生产过程必不可少的一个重要环节。它既能反应系统实时的生产情况又能对长期的生产过程数据进行统计、分析,使管理人员能够掌握和分析生产过程情况。 组态王提供内嵌式报表系统,工程人员可以任意设置报表格式,对报表进行组态。组态王为工程人员提供了丰富的报表函数,实现各种运算、数据转换、统计分析、报表打印等。既可以制作实时报表又可以制作历史报表。另外,工程人员还可以制作各种报表模板,实现多次使用,以免重复工作。 第二节实时数据报表 创建实时数据报表 实时数据报表创建过程如下: 6、新建一画面,名称为:实时数据报表画面。 7、选择工具箱中的工具,在画面上输入文字:实时数据报表。 3、选择工具箱中的工具,在画面上绘制一实时数据报表窗口,如图8-1 所示:

图8-1 “报表工具箱”会自动显示出来,双击窗口的灰色部分,弹出“报表设计”对话框,如图8-2所示: 图8-2 对话框设置如下:报 表控件名:Report1 行数:6 列数:10 4、输入静态文字:选中A1到J1的单元格区域,执行“报表工具箱”中的“合并单元格”命令并在合并完成的单元格中输入:实时数据报表演示。 利用同样方法输入其它静态文字,如图8-3所示: 图8-3

5、插入动态变量:合并B2和C2单元格,并在合并完成的单元格中输入:=\\本站点\$ 日期。(变量的输入可以利用“报表工具箱”中的“插入变量”按钮实现)利用同样方法输入其它动态变量,如图8-4所示: 图8-4 注:如果变量名前没有添加“=”符号的话此变量被当作静态文字来处理。 6、单击“文件”菜单中的“全部存”命令,保存您所作的设置。 7、单击“文件”菜单中的“切换到VIEW”命令,进入运行系统。系统默认运行的画面可能不是您刚刚编辑完成的“实时数据报表画面”,您可以通过运行界面中“画面”菜单中的“打开”命令将其打开后方可运行,如图8-5所示: 图8-5 实时数据报表打印 一、实时数据报表自动打印设置过程如下: 1、在“实时数据报表画面”中添加一按钮,按钮文本为:实时数据报表自动打印。

组态王日报表制作

组态王日报表制作步骤一、定义设备 二、定义变量

三、制作画面 3.1添加画面 3.2添加文本与报表 3.3添加日历控件并在事件中编辑closeup 插入通过控件,如图所示:选择后画到画面上,双击控件,在“常规”选项卡中为控件命名为“ADate”,点击“确定”,保存画面。再次双击日历控件,选择“事件”选项卡,点击在“事件”选项卡中点击CloseUp事件,弹出控件事件函数编辑窗口,在函数声明中为此函数命名:CloseUp() 在编辑窗口中编写脚本程序,在编写脚本程序之前在数据词典中定义字符串变量“选择日期”

双击日历控件设置属性如下图

程序如下: float Ayear; float Amonth; float Aday; long x; long y; long Row; long StartTime; string temp; Ayear=ADate.Year; Amonth=ADate.Month; Aday=ADate.Day; temp=StrFromInt( Ayear, 10 ); if(Amonth<10) temp=temp+"-0"+StrFromInt(Amonth,10); else temp=temp+"-"+StrFromInt(Amonth,10); if(Aday<10) temp=temp+"-0"+StrFromInt(Aday,10); else temp=temp+"-"+StrFromInt(Aday,10); \\本站点\选择日期=temp; ReportSetCellString2("Report1",4,1,27,6,"");//清空单元格 ReportSetCellString("Report1",2,2,temp);//填写日期 StartTime=HTConvertTime(Ayear,Amonth,Aday,0,0,0); ReportSetHistData("Report1","\\本站点\IO实数1",StartTime,3600,"B4:B27");

报表系统-组态王报表系统

第八讲报表系 统 第一节概述 数据报表的用途 数据报表是反应生产过程中的过程数据、运行状态等,并对数据进行记录、统计的一种重要工具,是生产过程必不可少的一个重要环节。它既能反应系统实时的生产情况又能对长期的生产过程数据进行统计、分析,使管理人员能够掌握和分析生产过程情况。 组态王提供内嵌式报表系统,工程人员可以任意设置报表格式,对报表进行组态。组态王为工程人员提供了丰富的报表函数,实现各种运算、数据转换、统计分析、报表打印等。既可以制作实时报表又可以制作历史报表。另外,工程人员还可以制作各种报表模板,实现多次使用,以免重复工作。 第二节实时数据报表 创建实时数据报表 实时数据报表创建过程如下: 6、新建一画面,名称为:实时数据报表画面。 7、选择工具箱中的工具,在画面上输入文字:实时数据报表。 3、选择工具箱中的工具,在画面上绘制一实时数据报表窗口,如图8-1 所示:

图 8-1 “报表工具箱”会自动显示出来,双击窗口的灰色部分,弹出“报表设计”对话框,如 图 8-2 所示: 图 8-2 对话框设置如下: 报表控件名:Report1 行数:6 列数:10 4、输入静态文字:选中 A1 到 J1 的单元格区域,执行“报表工具箱”中的“合并单元 格”命令并在合并完成的单元格中输入:实时数据报表演示。 利用同样方法输入其它静态文字,如图 8-3 所示: 图 8-3

5、插入动态变量:合并B2 和C2 单元格,并在合并完成的单元格中输入:=\\本站点\$ 日期。(变量的输入可以利用“报表工具箱”中的“插入变量”按钮实现)利用同样方法输入其它动态变量,如图8-4 所示: 图8-4 注:如果变量名前没有添加“=”符号的话此变量被当作静态文字来处理。 6、单击“文件”菜单中的“全部存”命令,保存您所作的设置。 7、单击“文件”菜单中的“切换到VIEW”命令,进入运行系统。系统默认运行的画面可能不是您刚刚编辑完成的“实时数据报表画面”,您可以通过运行界面中“画面”菜单中的“打开”命令将其打开后方可运行,如图8-5 所示: 图8-5 实时数据报表打印 一、实时数据报表自动打印设置过程如下: 1、在“实时数据报表画面”中添加一按钮,按钮文本为:实时数据报表自动打印。

相关文档