组态王日报表例程_第1页
组态王日报表例程_第2页
组态王日报表例程_第3页
组态王日报表例程_第4页
组态王日报表例程_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、组态王日报表例程组态王日报表的实现例程配置参考文档北京亚控科技发展有限公司技术部目录一、功能概述4一、功能概述4二、工程实例.4三、操作步骤:51、定义设备: 52、定义变量: 53. 制作画面:63.1)创建报表:63.2)创建日历控件:94. 进入运行系统: 1 5四、注意事项图表图一报表7图二报表设计8图三日报表9图四日历控件10图五控件事件函数13图六保存报表14图七打印报表15图八打印报表15图九运行系统16图十打印预览17一、功能概述常规需求:很多工业现场会用到报表功能, 而日报是其中最基本的一种报表形式。日报表一般为每天整点的数据,每一个变量 有24个数据。组态王中的实现方法:利

2、用组态王内置报表以及报表的函数来实现对日数据的查询生成日报表。组态王内置报表的操作类似 excel,操作简 单、方便,并且组态王提供了大量的报表函数来 实现各种复杂功能。二、工程实例我们举一个例子来说明日报表的实现方法。在此例程中我们定义五个变量,分别为“压力”“温度”、“密度”、“电流”、“电压”,运行系统运 行后记录历史数据,查询日报表数据时自动从历 史数据中查询整点数据生成报表,并可以保存、 打印报表。下面就以此为例来演示完成这一要求 的具体步骤。三、操作步骤:1、定义设备:根据工程中实际使用得设备进行定义,本例 程使用亚控的仿真PLC设备,使用“ PLC 亚控 仿真PLC 串口”驱动,

3、定义设备名称 为”PLC” 。2、定义变量:在组态王中定义三个变量:压力(10实数类型)、 温度(10实数类型)、密度(10实数类型)。压力 变量:最小值0,最大值100,最小原始值0,最大原始值100,连接 设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“ 0”。温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连 接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读, 采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“ 0”。密度变量:最小值0

4、,最大值1,最小原始值0,最大原始值100,连 接设备PLC ,寄存器INCREA100 ,数据类型short,读写属性为只读, 采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“ 0”。电流变量:最小值30,最大值50,最小原始值0,最大原始值100, 初始值为30,连接设备PLC,寄存器DECREA100,数据类型short, 读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”, 变化灵敏度选择“ 0”。电压变量:最小值180,最大值250,最小原始值0,最大原始值100, 初始值220,连接设备PLC,寄存器DECREA100,数据类型short, 读写

5、属性为只读,采集频率1000。记录和安全区选择“数据变化记录”, 变化灵敏度选择“ 0”。3. 制作画面:3.1)创建报表:新建画面,画面名称“日报表”。在组态王工具 箱按钮中,用鼠标左键单击“报表窗口”按钮, 此时,鼠标箭头变为小“ + ”字形,在画面上需要 加入报表的位置按下鼠标左键,并拖动,画出一 个矩形,松开鼠标键,报表窗口创建成功,如图 一所示。图一报表用鼠标双击报表窗口的灰色部分(表格单元格 区域外没有单元格的部分),弹出“报表设计”对 话框,如图二所示。该对话框主要设置报表的名 称、报表表格的行列数目以及选择套用表格的样 式。我们设置报表名称为“ Report。”,行数为27,

6、列数为6。图二报表设计我们根据需要对报表的格式进行设置,如报表 的表头,标题等。我们选中单元格 A1到F1,点 击右键弹出快捷菜单,选择“合并单元格”,单元 格合并后我们填写标题,如“监控系统日报表”, 点击右键在快捷菜单中选择“设置单元格格式”, 设置字体、对齐方式、边框等。我们按照此方法 设计日报表的格式,如图三所示:图二日报表3.2)创建日历控件:我们按照日期进行历史数据的查询生成日报 表,使用微软提供的通用控件“Microsoft Dateand Time Picker Control ”,此控件在安装 VB 或 者VC或者0ffice2000后会在通用控件中找到。插入通过控件,如图四

7、所示:选择后画到画面 上,双击控件,在“常规”选项卡中为控件命名 为“ ADate ”,点击“确定,保存画面。再次双 击日历控件,选择“事件”选项卡,点击在“事件”选项卡中点击CloseUp事件,弹出控件事件 函数编辑窗口,在函数声明中为此函数命名: CloseUp();在编辑窗口中编写脚本程序,在编写 脚本程序之前在数据词典中定义字符串变量“选 择日期”,如图五所示:蜡入控伴D rtINNT Sys t em32e c otii e 12. ocjjMicrcuoEt ADO Jati CoittrcL 6.0(OLEEB)Microsoft Agent Contrail 2. 0Micro

8、 suEt Anim&i.on Control 6. 0 (5P4)Micro so tt Animal ion 匚 ontrol, version 5. 0 tSF2)WicrQ soft BrCode Contr*?! 9.0Microsoft Chart Control, ysrsiQn 6 0 (OLEVB) fflicrflSQft Conim阳C?MroljQHicroEft Ccniffinn?4ti wie Control veygi&. 0 Ui匚re ft I1 ati. L C jL er on ;.匚 I JLiDS)酣ij 弓卫 Ft Ji:已.:羽出 ”.T MFi

9、.亡 厂G 门址 t olE. Q. 15 F4i - =-*=*-Hi匚rosftM1crosoftDirectkairnati w Co皿ttolH ire ctArLirialLi on P aihMK jMicrosoftMicroE-jftMicrosoift Mier&soEtDireclAiiiriati on Direc lAiiLi币ati o-n DireclArLimati in lirft clArtimati &nSequencerSprit eStruc tured Gra.phic5 Windowed CcuntrolMicroicft Plat Scrollb-

10、ar Control 6. 0 (5F4JMicroso-Et PlaxGrid Centarol. version 6 DMicro softform i2.0NlicrosoEtJcrit s2.0NlicrosciiftlormsE.0M i crSQf tForm s2.0MicrosoftPorim 2.0MieroseftPorra s2.0IlicEOEoftJorm 2.0Ml i crosoftTerm s2.0MicrdseiiftTerm s2.0Che ckBoxC&fliboBox Cwmndfutton.FrajiieIntakeLB elLi s tBonMiji

11、l tiP ageOptionBu+ton职消 I图四日历控件脚本程序如下:float Ayear;float Amo nth;float Aday;long x;long y;long Row;long StartTime;string temp;Ayear二ADate .Y ear;Amo nth二ADate.Mo nth;Aday=ADate.Day;temp二StrFro mlnt( Ayear, 10 );if(Amo nth10)temp二temp+-0+StrFroml nt( Amo nth, 10 );elsetemp=temp+-+StrFromI nt( Amon th,

12、 10 );if(Aday10)temp=temp+-0+StrFromI nt( Aday, 10 );elsetemp=temp+-+StrFromI nt( Aday, 10 );本站点 选择日期=temp;ReportSetCellString2(Report0, 4, 1,27, 6, ); /清空单元格ReportSetCellStri ng(Report0, 2, 2, temp);/ 填写日期StartTime=HTCo nvertTime(Ayear,Amo nth,Aday,0,0,0);3600,3600,ReportSetHistData(Report0,本站点 压力,

13、 StartTime,B4:B27);ReportSetHistData(Report0,本站点 温度, StartTime,C4:C27);ReportSetHistData(ReportO,本站点密度,StartTime,3600,D4:D27);ReportSetHistData(Report0,本站点电流,StartTime,3600,E4:E27);ReportSetHistData(Report0,本站点电压,StartTime,3600,F4:F27);x=0;while(x24)row=4+x;y=StartTime+x*3600;temp二StrFromTime( y, 2

14、);ReportSetCellStri ng(Report0, row, 1, temp);x=x+1;编辑完成后点击确认,完成对日历控件的 设置。下面我们对报表进行保存和打印。在画面上添加两个按钮,按钮文本分别为保 存”、“打印”。双击“保存”按钮,弹出“动画连 接”,点击“命令语言连接”的“弹起时”,编写 报表保存的脚本程序。报表保存的格式为“xls ”文件,如图六所示:脚本程序如下:stri ng file name;本站点选择日期+.xls;ReportSaveAs(ReportO,file name);双击“打印”按钮,弹出“动画连接”,点击“命 令语言连接”的“弹起时”,编写报表打

15、印的脚本 程序。如图七所示:脚本程序如下:ReportPrintSetup(Report0);控件事件函数fnlfx立件迥骗辑世屮理2S选鉤血丨字爭件: CloitUp 0 函數声明:float Ayear;float Amonth; float Aday;long x;long y;long Row;long StartTime,string tenp,Ayear-ADatYcar;AiDonth=ADate. Konth:Aday=ADate Day; teinp=StrFLroiDlnt ( Ayear 10 ); if (AmomMlO)CiiTTWi.-J- : + Kff -W I

16、-iTTT V-i +吏显】锁】称名名 面警龍 画抿关 旺.-旺3-全部团数帮助字符雷控件数学SQL.苴它TTidTi + Viifelse()*/十一二F1 n 1确LA|取俏图五控件事件函数图六保存报表图七打印报表完成按钮命令语言的编写后,保存画面。画面 如下图八所示:图八打印报表4.进入运行系统:画面开发完成后在工程浏览器的“系统设置” 中的“设置运行系统”中对“配置主画面”选项 卡进行主画面的配置,设置“日报表”画面为主 画面。配置完成后点击工程浏览器的“ View ”按 钮切换到运行系统。系统运行后会将主画面打开,点击日历控件, 选择我们要查询的日报表的日期,就可以查询出日报表的数据

17、,如图九所示:保存tT印2001-04-20 T4 |囚月?fln7_lI 20 2?330311 23456Tr0910111Z1314iP:1 ft1iT1 H时间丄 J1U123賓25213匸 JJU也 15276电流尅压0000002930*5010000哼天:2007-0-2002onno二030000g000005000006000007DQIJV080000090000100000n0000120000130000It000015000016000029. 0029. 000. 30H. 40219. 20IT0000TLOJ48.000. 7249.00昭氏3018DO004.

18、no22. 5n0. 053S. 80210.10ID000012.0044. SO0.4347.60240. 90poiJb00*=210000一220000-23DO00-日嶷选择图九运行系统点击“保存”按钮,可以将报表保存为 Xis格 式文件,文件名称为日期,如“ 2007-04-20.xls”, 文件的保存路径为工程所在的路径。点击“打印”按钮,可以对报表进行打印输出, 并且可以进行报表的打印预览,如图十所示:图十打印预览四、注意事项1. 在此例程中所用到的函数请参考相关函数使用 手册。2. 日历控件为微软提供,如果无法创建此控件可 以考虑安装office2000或者VB、VC软件。3

19、. 本演示工程只是简单的介绍日报表如何制作的 例程,更深一步的学习使用请参考组态王使用手 册、组态王帮助文档,或者参加组态王培训班。 如有问题请致电亚控公司技术部。数据词典中变量的类型数据词典中存放的是应用工程中定义的变量以及 系统变量。变量可以分为基本类型和特 殊类型两大类,基本类型的变量又分为内存变量 和I/O 变量两种。“I/O变量”指的是组态王与外部设备或其它应 用程序交换的变量。这种数据交换是双 向的、动态的,就是说在组态王系统运行过程中, 每当I/O变量的值改变时,该值就会自动 写入外部设备或远程应用程序;每当外部设备或 远程应用程序中的值改变时,组态王系统中 的变量值也会自动改变

20、。所以,那些从下位机采 集来的数据、发送给下位机的指令,比如反 应罐液位、电源开关等变量,都需要设置成“ I/O 变量”。那些不需要和外部设备或其它应 用程序交换,只在组态王内使用的变量,比如计算过程的中间变量,就可以设置成“内存变量”。基本类型的变量也可以按照数据类型分为离散型、实型、整型和字符串型。1、内存离散变量、I/O离散变量类似一般程序设计语言中的布尔(BOOL )变量, 只有0、1两种取值,用于表示一些开关量。2、内存实型变量、I/O实型变量类似一般程序设计语言中的浮点型变量,用于表 示浮点数据,取值范围10E-3810E+38,有效值7位。3、内存整数变量、I/O整数变量类似一般

21、程序设计语言中的有符号长整数型变 量,用于表示带符号的整型数据,取值范围 21474836482147483647。4、内存字符串型变量、I/O字符串型变量 类似一般程序设计语言中的字符串变量,可用于 记录一些有特定含义的字符串,如名称、第二讲建立一个新工程 -19 -北京亚控科技发展有限公司密码等,该类型变量可以进行比较运算和赋值运 特殊变量类型有报警窗口变量、历史趋势曲线变量、系统变量三种。对于我们将要建立的演示工程,需要从下位机采 集原料油罐的液位、原料油罐的压力、 催化剂液位和成品油液位,所以需要在数据库中 定义这四个变量。因为这些数据是通过驱动 程序采集来的,所以四个变量的类型都是I

22、/O实 型变量,变量定义方法如下:在工程浏览器树型目录中选择“数据词典”,在 右侧双击“新建”图标,弹出“变量属性”对话框,如图2-26所示:图 2-26在对话框中添加变量如下:变量名:原料油液位 变量类型:I/O实数变化灵敏度:0初始值:0最小值:0最大值:100最小原始值:0 最大原始值:100 转换方式:线性连接设备:PLC1寄存器:DECREA100 数据类型:SHORT采集频率:1000毫秒读写属性:只读设置完成后单击“确定”。用类似的方法建立另外三个变量:原料油罐压力、 催化剂液位和成品油液位。第二讲建立一个新工程 -20 -北京亚控科技发展有限公司此外由于演示工程的需要还须建立三个离散型内 存变量为:原料油出料阀、催化剂出料 阀、成品油出料阀。在该演示工程中使用的设备为上述建立的仿真PLC,仿真PLC提供四种类型的内部寄存器:INCREA、DECREA RADOM STATIC 寄 存器INCREA、DECREA RADOMSTATIC的编号从1-1000,变量的数据类型均为整型(即 SHOR)。递增寄存器INCREA100变化范围0100,表示 该寄存器的值周而复始的由0递加到100。递减寄存器DECREA100变化范围0100,表示 该寄存器的值周而复始的由100递减为0。随机寄存器RADOM10C变化范围0100,表示该寄存器的值在0到10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论