杰控组态手册26.数据库报表
[IT计算机]JControl使用手册
![[IT计算机]JControl使用手册](https://img.taocdn.com/s3/m/ba6da9c685254b35eefdc8d376eeaeaad1f3162a.png)
计算机机房监控JC ontr ol(捷控)组态软件简明使用手册一、系统简介 (6).1系统概述: (6)2 适用范围 (8)3主要功能 (8)4系统特点 (11)二、使用说明 (12)第一章系统的运行环境 (12)第二章安装监控软件: (14)第一节、监控系统的安装 (14)第二节、数据库的安装 (16)第三章启动与退出 (18)第四章编辑模式 (21)4.1 标题栏 (22)4.2 菜单栏 (22)4.2.1 文件菜单 (23)4.2.2 编辑菜单 (23)4.2.3 文档菜单 (24)4.2.4 显示菜单 (24)4.2.5工具菜单 (25)4.2.6 辅助工具菜单 (38)4.2.7 帮助菜单 (39)4.3 工具栏 (39)4.4 状态栏 (39)4.5 树形导航区 (40)4.6 工作区 (40)第五章运行模式 (41)5.1文件 (41)5.2 维护 (42)5.2.1 显示电话拨号消息 (42)5.2.2 系统配臵 (42)5.2.3 电话报警配臵 (42)5.2.4 用户管理 (45)5.2.5 调试 (46)5.3工具 (47)5.3.1 历史事件查看 (48)5.3.2 曲线查看 (49)5.3.3 远程连接信息 (51)5.4帮助 (52)第六章系统功能与操作 (52)6.1 空调系统 (53)6.1.1空调查看 (53)6.1.2空调报警 (54)6.1.3空调设臵 (54)6.2 U PS不间断电源 (55)6.2.1 UPS查看 (56)6.2.2 UPS控制 (58)6.3 配电监控 (58)6.3.1 开关状态监视 (58)6.3.2 配电参数监测 (59)6.4 漏水监测 (60)6.4.1 定位漏水监测 (60)6.4.2 区域漏水监测 (61)6.5 消防监控 (62)6.6 视频监控 (63)6.6.1 视频画面描述 (63)6.6.2 视频画面的操作 (67)6.6.3 视频的远程监控 (67)6.6.4 球机操作 (70)6.6.5 历史视频远程回放 (71)6.7 门禁系统 (72)6.7.1 如何查看门禁卡的编号 (72)6.7.2 如何配臵门禁 (72)第七章远程配臵 (76)7.1 远程监控系统安装 (76)7.2 W EB站设臵 (78)7.3 注意事项 (80)第八章工程手册 (82)8.1 配臵信息 (82)8.2 报警系统 (82)8.2.1 报警状态说明 (82)8.2.2 电话报警 (84)8.2.3 短信报警 (86)8.3 操作事件的设臵及查询 (86)8.4 工程实例 (88)8.4.1 所需设备 (88)8.4.2 接线方式 (88)8.4.3 监控界面的生成 (91)第九章常见问题解决(维护手册): (103)1)监控系统的画面显示的设备参数和实际不符103 2)漏水报警如何处理: (104)3)设备通讯故障的处理 (104)4)温湿度通电后液晶屏没显示 (104)5)查看历史事件或曲线出现找不到数据库 105 6)卡不能开门 (105)7) 系统需要那些端口 (106)8)系统不能看到实时数据 (106)9)收不到报警电话 (107)10)收不到报警短信 (107)11)如何修改报警电话的语音 (108)12)如何设臵远程查看历史曲线 (109)13)如何导出报警信息 (110)附录快捷键一、系统简介.1系统概述:随着计算机的发展和普及,计算机系统数量与日俱增,其配套的环境设备也日益增多,计算机房已成为各大单位的重要组成部分。
杰控组态手册25.数据库操作

25.数据库操作序号 内容 页码25.1 数据查询 25-0125.2 曲线查询 25-0425.3 表格显示 25-0525.4 字段列表 25-0725.5 删除数据表内容 25-0825.6 数据库脚本编程 25-0925.7 存储过程脚本编程 25-1025.8 数据库记录平均统计 25-1025.9 把数据库记录导出到Excel中 25-1125.10 使用ADO访问数据库 25-1325.1数据查询提供了通过表格查看数据库内容的方法,用“数据查询”组件实现:增加一个组件对象,在设置对话框中添入数据库的有关信息,如下图所示:执行<ODBC数据源>按钮,通过出现的对话框来选择数据源(如FameView Userdata Source):执行<记录表>按钮,出现下面的对话框,其中列出数据源中所有数据表,从中选择要查询的记录集(如demo):此组件主要根据时间字段进行查询,执行<时间字段>按钮,出现下面的对话框,其中列出记录集中所有的字段,从中选择要使用的时间字段(如F3):如果希望把查询的结果进行打印或浏览,要先根据数据库利用Crystal水晶星建立报表格式,然后执行<报表格式>按钮,选择报表格式文件(*.rpt);用鼠标双击字段列表,会出现选择字段对话框,从中选择需要查询后显示的字段,此时不需要再选择时间字段;能自动的识别字段的类型,但要正确设定字段内容的字符长度;1个数据表中的字段数量要小于100;在查询显示表中,可能不希望直接显示字段的名称,请修改字段描述即可;用“Del”键可以从列表删除选错的字段;画面运行后,执行按钮查询,界面如下:如果不希望执行组件按钮来查询数据,而希望通过其他事件来执行,按照下列步骤来实现:(1)给按钮组件命名:选中组件,点击右键,弹出菜单,选择执行“对象属性”中的“脚本名称”,给对象命名,例如BTNOBJ;(2)隐藏按钮组件:选中组件,点击右键,弹出菜单,选择执行“隐藏对象”,使组件在运行画面显示时不可见:(3)编写脚本,然后被其他事件触发,例如在图标按钮中选择脚本执行,脚本内容如下:UserDbSQLObj.ShowWindow "BTNOBJ"25.2 曲线查询组态系统提供了通过曲线查看数据库内容的方法,用“曲线查询”组件实现:假设要查询的数据表的内容为;F1(罐号)F2(液位) F3(时间)1 10 2006-5-5 1:00:002 10 2006-5-5 1:00:001 100 2006-5-5 2:00:002 200 2006-5-5 2:00:001 110 2006-5-5 3:00:002 220 2006-5-5 3:00:00… … …增加一个组件对象,在设置对话框中添入数据库的有关信息,如下图所示:通过<数据源>按钮弹出对话框,选择ODBC数据源,如fameView userdata Source;通过<记录表>按钮弹出对话框,选择要查询的数据表,如demo;通过<时间字段>按钮弹出对话框,选择进行查询所依据的时间字段,如f3;通过<查询字段>按钮弹出对话框,选择进行分组查询所依据的字段;在<查询对象>中输入分组的方式,例如f1=1表示1#罐, f1=2表示2#罐;通过<曲线字段>按钮弹出对话框,选择并加入到曲线字段表中;画面运行后,执行按钮查询,界面如下:如果不希望执行组件按钮来查询数据,而希望通过其他事件来执行,按照下列步骤来实现:(1)给按钮组件命名:选中组件,点击右键,弹出菜单,选择执行“对象属性”中的“脚本名称”,给对象命名,例如BTNOBJ;(2)隐藏按钮组件:选中组件,点击右键,弹出菜单,选择执行“隐藏对象”,使组件在运行画面显示时不可见:(3)编写脚本,然后被其他事件触发,例如在图标按钮中选择脚本执行,脚本内容如下:SQLCurveObj.ShowWindow "BTNOBJ"25.3 表格显示组态系统提供了在线显示数据库内容的方法,通过“表格显示”组件实现:此组件可以在画面上以列表的方式直接显示某个数据库的内容,还可以与变量相关联;组态对话框如下:为组件命名,否则不能进行脚本操作,如“DBLIST”;执行<数据源>按钮,通过出现的对话框来选择数据库对应的数据源;执行<数据表>按钮,选择要显示的数据表,数据表中的字段数量要小于100:如果希望在列表中只显示数据表中的某部分数据,请<过滤条件>处填写缺省SQL语句,如F1>100;否则显示数据库中的所有记录;用鼠标双击字段列表,会出现选择字段对话框,从中选择需要查询后显示的字段,能自动的识别字段的类型,但要正确设定字段内容的字符长度;在查询显示表中,可能不希望直接显示字段的名称,请修改字段描述即可;用“Del”键可以从列表删除选错的字段;还提供了3组变量:增加变量、读取变量、修改变量;使系统变量(AI/AO/AR/DI/DO/DR/VA/VD /VT)与数据库之间建立联系;画面运行后,数据库列表界面如下:允许编写脚本操作数据库:要把增加变量组追加至数据库,请使用如下脚本:UserDbListObj.AddNewFromVarValue "DBLIST"要从数据库中读取第10个记录至读取变量组,请使用如下脚本:UserDbListObj.SetVarValueFromField "DBLIST",10要通过修改变量组修改数据库中的第10个记录,请使用如下脚本:UserDbListObj.EditFromVarValue "DBLIST",1025.4字段列表组态系统提供了在线选择数据库中某字段内容的方法,通过“字段列表”组件实现:此组件有以下功能:以选择框的方式供用户进行数据选择;选择框内容可以数据库中的某个字段的内容也可以显示手动输入的文本内容;选择的内容能够与变量关联;组态对话框如下:缺省列表,允许在其中手动输入多行文本(用回车换行),作为缺省的列表内容;关联数据库,设定数据源、数据表、使用字段、过滤条件,能够在画面运行时,把数据库某表中的某字段的部分记录显示添入到选择框中;过滤条件的格式为SQL查询语句,例如f3>1000;对应变量,在画面运行后,当使用选择框选择数据时,能够把所选择的内容对应到变量中:(1)索引变量可以是AO/AR/VA变量,对应的是选择框中当前文本的索引号,以0为基数;(2)数值变量可以是AO/AR/VA变量,对应的是把选择框中当前文本转换为浮点数后的数值;(3)文本变量可以是VT变量, 对应的是选择框中的当前文本;字段列表运行时的界面如下:允许用脚本更新选择框中的内容:更新数据选择框的内容DataboxObj.Update ObjName,OdbcName,TableName,FieldName,FieldType,Filter例:DataboxObj.Update "AAA","myODBC","myTable","myField",3,"f1>1000"得到当前数据选择框的文本内容n=DataboxObj.GetCurText(ObjName)例:n=DataboxObj.GetCurText("AAA")25.5 删除数据库内容某个数据库中存储了大量的数据,经过一段时间后,想把某个时间之前的数据删除;本节以例子的方式说明如何通过组态系统删除数据库中的某些数据;假设现有数据库,其ODBC数据源的名称为db1,其中有一个数据表名为T1,其中有一个日期时间字段为F4,根据F4来删除数据;增加2个文本变量(VT):VT1、VT2;在画面中各增加一个日期拾取器和时间拾取器,分别把内容保存在VT1和VT2中;再在画面中增加一个按钮,当执行按钮时,执行脚本来删除选择时间以前的数据;画面的界面如下:如果数据库的类型为Access,则脚本内容如下:'打开DB1,允许通过SQL访问SQLObj.OpenSQLConnect "DB1","",""'得到删除日期、时间s1=RunSys.GetVTtext("VT1",-1)s2=RunSys.GetVTtext("VT2",-1)'组成格式文本"Delete * From T1 Where F1<= #2002-1-1 0:0:0# "s="Delete * From T1 Where F4<= #" : s=s+s1 : s=s+" " : s=s+s2 : s=s+"#"'执行SQL语句,删除数据SQLObj.SQLExecute s'关闭DB1SQLObj.CloseSQLConnect如果数据库的类型为SQL Server,则脚本内容如下:'打开DB1,允许通过SQL访问SQLObj.OpenSQLConnect "DB1","",""'得到删除日期、时间s1=RunSys.GetVTtext("VT1",-1)s2=RunSys.GetVTtext("VT2",-1)'组成格式文本"Delete * From T1 Where F1<= ‘2002-1-1 0:0:0# ’s="Delete * From T1 Where F4<= ‘" : s=s+s1 : s=s+" " : s=s+s2 : s=s+"’"'执行SQL语句,删除数据SQLObj.SQLExecute sSQLObj.CloseSQLConnect往记录集中加入记录;UserDB.OpenConnect "My Database","",""UserDB.OpenRecordset "t1",2,2,2UserDB.AddNewUserDB.SetFieldValue "f1",7, "AAA"UserDB.SetFieldValue "f2",1,1000UserDB.UpdateUserDB.CloseRecordsetUserDB.CloseConnect得到数据库中字段的值;UserDB.OpenConnect "My Database","",""UserDB.OpenRecordset "t1",2,2,2UserDB.MoveFirstUserDB.Move(10)Value=UserDB.GetFieldValue "f2",1,1000UserDB.CloseRecordsetUserDB.CloseConnect执行SQL语句:SQLObj.OpenSQLConnect "TestDB","",""SQLObj.SQLExecute "DELETE FROM demo"SQLObj.CloseSQLConnect数据查询UserDB.OpenConnect "FameView UserData Source","",""UserDB.SetFilter "f1>=1000"UserDB.OpenRecordset "demo",2,2,2If UserDB.IsEmpty()=0 ThenretValue=UserDB.GetFieldValue("f2",4)End IfUserDB.CloseRecordsetUserDB.CloseConnect通过脚本编程可以执行数据库服务器端的存储过程;假设存储过程内容如下:CREATE PROCEDURE [test](@f1 [real], @f2 [real], @f3 [datetime], @f4 [real] output) AS INSERT INTO [UserDatabase].[dbo].[demo] ( [f1],[f2],[f3])VALUES ( @f1,@f2,@f3)if @@error=0set @f4=12.11elseset @f4=0.12GO过程调用如下:n=StoredProc.OpenConnect("FameView UserData Source","","")If n=1 ThenStoredProc.SetCommandText "test"StoredProc.SetInputParamCount 3StoredProc.SetInputParam 1,"f1",4,1.23StoredProc.SetInputParam 2,"f2",4,2.34StoredProc.SetInputParam 3,"f3",7,"2005-12-11 05:00:00"StoredProc.SetOutputParamCount 1StoredProc.SetOutputParam 1,"f4",4StoredProc.Executem=StoredProc.GetOutputValue(1)RunSys.SetVarValue VA,"%VA1",-1,mStoredProc.CloseConnectEnd If25.8 数据库记录平均统计把某个表中某天的数据求平均,存入另一个表中假设t1和t2有相同的结构,分别有3个字段:字段名称 类型F1 RealF2 RealF3 Datetime针对t1中近30天的数据,把每天的数据求平均,存入t2中,并删除t1中的数据;在SQL Server中编写存储过程test如下:CREATE PROCEDURE [test]asDeclare @n intDeclare @ct datetimeset @n=-30while @n<0beginset @ct=DATEADD(DAY,@n, GETDATE())INSERT INTO t1SELECT AVG(f1) AS f11, AVG(f2) AS F12, @ct AS F13FROM demoWHERE (YEAR(f3) = YEAR(@ct) AND (Month(f3) = MONTH(@ct) AND (Day(f3) = DAY(@ct)set @n=@n+1enddelete from demoGO在组态软件中调用过程的脚本如下:n=StoredProc.OpenConnect("FameView UserData Source","","")If n=1 ThenStoredProc.SetCommandText "test"StoredProc.ExecuteStoredProc.CloseConnectEnd If25.9 把数据库数据导出到Excel中'允许输入查询的年/月MyYear = InputBox("请输入查询年份","")MyMonth = InputBox("请输入查询月份","")MyDay = 1'检查时间是否合法If IsDate(MyMonth & "/" & MyDay & "/" & MyYear) = True ThenNOW_DATE = MyYear + "年" + MyMonth + "月"'得到开始时间StartTime = MyMonth & "/" & MyDay & "/" & MyYear & " 00:00:00"'得到结束时间If MyMonth < 12 ThenMyMonth = MyMonth + 1EndTime = MyMonth & "/" & MyDay & "/" & MyYear & " 00:00:00"ElseMyYear = MyYear + 1MyMonth = 1EndTime = MyMonth & "/" & MyDay & "/" & MyYear & " 00:00:00"End If'打开数据库及数据表demo,dt为时间字段UserDB.OpenConnect "FameView UserData Source","",""UserDB.SetFilter "dt>='"+StartTime+"' And dt<'"+EndTime+"'"UserDB.OpenRecordset "demo",2,2,2 '打开记录集;'检查查询内容是否为空If UserDB.IsEmpty()=0 Then'打开Excel文件Set ExcelObj = CreateObject("Excel.Application")ExcelObj.Visible = TrueExcelFile = "C:\组态系统\ExcelFile\test.xls"Intyexcel.Workbooks.Open ExcelFileExcelObj.Sheets("Sheet1").SelectExcelObj.Worksheets(1).SelectExcelObj.Cells(1,3) = NOW_DATE'导出记录到Excel中row=2While UserDB.IsEOF()=0ExcelObj.Cells(row,1).Value=UserDB.GetFieldValue("dt",8)ExcelObj.Cells(row,2).Value=UserDB.GetFieldValue("f1",4)ExcelObj.Cells(row,3).Value=UserDB.GetFieldValue("f2",4)row=row+1UserDB.MoveNextWendExcelObj.ActiveWorkbook.SaveAs "C:\组态系统\ExcelFile\"&NOW_DATE&".xls" ExcelObj.QuitSet ExcelObj=NothingEnd If'关闭数据库UserDB.CloseRecordsetUserDB.CloseConnectEnd If25.10 使用ADO访问数据库'与数据库(tempdb)建立连接Set conn = CreateObject("ADODB.Connection")strConn="Driver={SQL Server};Server=(local);Database=tempdb;Uid=sa;Pwd=;" conn.Open strConn'打开记录集(t1)Set rs= CreateObject("ADODB.Recordset")strSQL="SELECT * FROM t1"rs.Open strSQL,conn,2,2'添加记录rs.AddNewrs("f1")="222"rs("f2")=222rs.Update'得到记录f1=rs("f1")f2=rs("f2")'关闭连接与记录集rs.Closeconn.CloseSet rs=NothingSet conn=Nothing。
杰控第26章数据库报表

26.数据库报表26.数据库报表26.1水晶报表选择数据库连接或批量数据库连接:执行<制作报表格式>:执行<新建>按钮,选择Crystal(水晶星)报表格式:执行Cancel,直接取消;执行菜单File->New:执行<Standard>按钮:执行<SQL/ODBC>按钮,选择ODBC数据源:执行<Ok>按钮,继续选择报表使用的数据表或视图:执行<Add>按钮,再执行<Done>按钮:执行<Next>按钮,选择参与报表字段:执行<Preview Report>按钮,完成报表初始化参数设置;执行<Design>选项,继续设计基本报表格式:[1].设计模式,即使报表内容有多条记录,也只设计一行;[2].报表格式内容,通过对象表示,通过修改对象属性改变报表格式;[3].改变字体,选中某对象,点击右键,执行弹出菜单<Change Font>;[4].改变标题及文本内容,选中某标题对象,点击右键,执行从弹出菜单<Edit Text Field>;[5].记录序号,执行菜单<Insert->Special Field->Record Number Field>命令;[6].画表格线,执行菜单<Insert->Line>;[7].添加图片,执行菜单<Insert->Picture>;[8].添加字段,执行菜单<Insert->Database Field>;[9].刷新数据库结构, 执行菜单<database->Verify Database>;报表建立后,数据表结构发生变化,需通知报表格式;[A].多选字段,执行菜单<Edit->Select Fields>,再选择字段并编辑;[B].刷新报表内容,执行菜单<Report->Refresh Report Data>;制作报表时,数据表记录内容发生变化,为浏览正常需通知报表格式;基本报表格式设计完成:。
掌握组态软件的数据管理与报表生成

掌握组态软件的数据管理与报表生成在现代工业自动化领域中,组态软件被广泛应用于监控和控制系统的设计和运行。
作为一种重要的工具,组态软件不仅可以对设备进行配置和参数设置,还能实时监测和管理设备的数据,并生成相应的报表。
本文将重点讨论如何掌握组态软件的数据管理与报表生成。
一、数据管理数据管理是组态软件的核心功能之一,通过正确的数据管理,可以实现对设备和生产过程的有效监控和控制。
1. 数据采集与处理组态软件能够与各类传感器和设备进行数据接口,实时采集设备的数据。
首先,我们需要了解设备所支持的数据采集方式,包括模拟量采集、数字量采集和通信接口采集等。
然后,将采集的原始数据进行处理,比如滤波、放大、标定等,以获取准确可靠的数据。
2. 数据存储与管理组态软件通常提供数据存储和管理的功能,包括数据存储的位置和格式选择,数据存储周期的设置,数据的备份和恢复等。
我们需要根据实际需求选择合适的数据存储方式,比如本地数据库存储或云端存储,以及合适的数据格式,比如文本、Excel、数据库等。
3. 数据分析与处理数据分析是提取数据中有用信息的过程,为后续的报表生成和决策提供支持。
组态软件通常提供各种数据分析工具和算法,比如统计分析、趋势分析、故障诊断等。
我们需要掌握这些工具和算法的使用方法,以便准确、有效地分析和处理数据。
二、报表生成报表生成是组态软件的重要功能之一,通过报表,可以将数据可视化、形成图表和图像等形式的结果,为决策和监控提供依据。
1. 报表格式设计在生成报表之前,我们需要对报表的格式进行设计,包括报表的布局、表头、表格、图表等元素的设计。
我们应根据实际需求和用户要求,灵活设置报表的格式,以便直观、清晰地展示数据。
2. 报表内容填充生成报表时,我们需要将之前采集和处理的数据填充到相应的报表中。
在填充报表内容时,要确保数据的准确性和完整性,并根据需要进行格式化处理,比如添加单位、计算统计指标等。
3. 报表导出与共享生成的报表通常可以导出为不同格式的文件,比如PDF、Excel、图片等。
组态王中的数据报表制作与保存

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

杰控组态指导手册前提:计算机已安装杰控组态软件(下面按FameView7.6为例)一、新建工程计算机安装好杰控软件后,桌面上会出现如图杰控快捷方式,双击打开软件出现下图窗口:点击窗口左上角如图按钮出现下图输入项目名称等信息,点击“确定”,新建项目成功。
二、画面组态在如图左侧树结构菜单栏选中“显示画面”,右侧出现“画面管理”,“显示属性”,“画面制作”双击“画面制作”即可进入画面编辑环境在弹出窗口中填写新建第一张画面的基本信息举例:画面名称“PIC1”画面尺寸“600*400”点击确认,进入画面菜单和工具说明请参考附件“08.画面制作”右键画面,选择画面属性,可对画面基本信息进行修改下面即可在画面根据提供的PID图进行所需流程图组态。
三、变量组态返回主界面,选择“设备通讯”,双击右侧“安装驱动”根据具体工程要求选择正确的驱动品牌和通讯方式,点击安装双击“启动驱动”,给需要启动的驱动打勾双击“设备数据表”,根据编程师提供的变量地址表预估和合理分配所需变量类型和数目。
返回主界面,选择“运行数据库”,根据要求在右侧不同的变量类型中建立变量以DI为例,双击“DI-开关只读变量”点击“新建”填写变量详细信息即可四、动画组态双击点开属性窗口这边根据你需要做动画连接,比如可见性选择条件a=b,连接变量,写下常数等于1(也就是在1的状态下可见),详情请参考附件“08.画面制作”五、报警组态,在建点的时候有需要报警的在报警一栏打上勾在扩展应用里选择变量报警,进行归档一个个添加归档进去,完成之后回到画面窗口,新建一个报警画面,拖动报警控件在组件箱变量报表,详情请参考附件“10.变量报警”六、趋势曲线,在组件箱,曲线显示里,实时曲线,拖动到曲线画面中,出现下面对话框点击实时曲线定义,把模拟量变量添加进去,详情请参考附件“11.历史数据”七、报表1.新建变量2.存档变量3.企业管理器——(Local)——数据库——新建数据库(宣化数据库名字是UserDateBase)——表——新建表4.实时报表——定义实时报表数据(有多少模拟量就定义多少数值)5.编辑报表格式6.新建报表,启动报表设计器7.下一步直接点DONE8.选择新建报表(直接点白的创建)9.从“Choose an Expert”中选择<Standard>标准报表格式;10.出现下面对话框,选择数据库来源:11.必须选择“SQL/ODBC”数据源,即执行<SQL/ODBC>按钮,出现对话框:12.选择USER Date Source13.执行<OK>按钮,出现下面对话框来选择数据表:14.选择你所建的表名,添加ADD15.添加完之后关闭,直接下一步,将表里的字段添加(ADD)到Report Filds,下一步,点击Preview Report,进入报表编辑模式(Design)设计报表格式,点击(Preview)预览样式16.设计好后保存,在默认路径下,改下文件名,后缀名(rpt)17.确定后,在编辑报表格式里可以看到该报表18.数据库——编辑数据库连接19.新建20.保存时间,触发周期改一下(根据要求),选择数据表(自己新建的表)21.选择字段名称(每个字段都要添加)22.应用数据连接,回到主画画(你可以把子画面往下拖),选择报表打印按钮,23.选择报表打印按钮后在画面上拖动出现下面画面,对象名称改一下格式文件选择你设计的报表选择时间字段,出现下面对话框,选择Fame View User Date Sourse,选择你所建的表里日期字段新建好之后,回到主画面,即页眉,右击选择画面脚本编辑,选择报表按钮,双击Show Window选择你刚刚选择报表按钮时起的对象名称,保存选择在组建箱里选择画面编程,动态菜单,选择一个动态菜单,下面可以选择一个空的添加,右边写上相应的描述,任务选择处理脚本选择报表按钮,SHOW Window双击,选择对象名称,保存报表详情请参考附件“12.实时报表”。
力控组态报表

一、数据表的阐述数据表是工业生产中不可缺少的统计工具,它能将生产过程中的各类信息如:生产数据、统计数据一直关的表格形式进行反映,为生产管理人员提供有效的分析工具。
一般的组态软件中提供了历史报表和万能报表。
实用历史报表可根据生产数据形成典型的班报、日报、月报、季报、年报。
万能表提供类似EXCEL的电子表格动能,可以形成更为复杂的报表系统。
二、历史报表历史报表是一个或多个变量在过去一段时间间隔内按照一定的抽样频率获取的历史数据的列表。
属性包括数据源的指定、变量的指定、历史数据的开始时间、数据采样间隔及采样时刻的数据类型(瞬时值、平均值、最大最小值)、数据显示的颜色、背景色、位置、宽度、高度等。
历史报表可打印输出,可以用脚本程序控制历史报表对象的起始时刻及自动打印时机,还可以前后翻页查看任意时间段的历史报表。
1、历史报表及其要组态的关键参数(1)创建历史报表在工具箱中选择历史报表按钮,在窗口中点击并拖拽到合适大小后释放鼠标。
会出现一个报表。
这是想处理普通图形一样来改变历史报表的属性。
选中历史报表对象,单击鼠标右键,弹出右键菜单:选择“对象属性”弹出对话框就可以进行修改了。
(2)组态参数组态参数有“一般”和“变量”两页内容组成。
“一般”页要组态的关键参数包括:1)、起始时间。
这个单选按钮有两个选项。
一个是指起始时间。
选择此项表示。
报表将获取从指定时间开始的一段历史数据。
另一个起始时刻决定于打印时间。
选择此项表示,报表将获取从报表打印时间开始向前追溯的一段历史数据。
2)、报表起始时间。
当在单选按钮“起始时间”选择了“指定起始时刻”选项时,该项变为有效,否则为禁止状态。
此项用于指定报表从什么时间开始将获取一段历史数据。
具体需要制定从前几天的第几点钟和第几分钟。
3)、字体。
此项规定为报表字体。
4)、颜色。
“标题背景”、“工位号/标题”、“序号”、“PV”和“时间”这5项分别用来指定历史报表的标题颜色、位号名称/标题文字显示的颜色、位号的显示颜色、过程值(PV)的显示颜色和PV值采样时间的显示颜色。
组态软件操作指南与数据库连接

第八章与数据库连接本章容创建数据源及数据库创建表格模板创建记录体对数据库的操作数据集函数在关系库中的应用概述本章我们将讲解如何将阀门的状态变化记录到数据库中并进行查询。
数据库我们选择Access数据库,记录的容包括:日期、时间、阀门描述、阀门状态四个字段。
我们利用KingSCADA的SQL访问功能来实现。
KingSCADA SQL访问功能实现KingSCADA和其他外部数据库之间的数据传输。
提供2种访问方式:一种是记录体的方式,即变量和数据库表中的字段建立绑定关系;一种是数据集方式。
记录体方式就是通过记录体配置项,实现把数据库里面的字段和KingSCADA的变量建立绑定关系。
绑定后,可以通过SQL插入或更新函数将绑定变量插入或更新到数据库的对应字段中;也可以通过SQL 查询函数将数据库中对应字段数据查询并保存到绑定变量中,实现KingSCADA和关系数据库的数据交互。
记录体方式只能在KingSCADA服务器端应用。
数据集方式就是通过KingSCADA提供的一系列数据集函数,执行标准SQL语句,实现KingSCADA 与关系数据库之间的增、查、删、改等所有数据交互功能,尤其可以通过数据集函数,实现从数据库查询出符合SQL语句的数据集合,并在报表、曲线中进行批量数据展示。
数据集方式支持在KingSCADA服务器端、C/S客户端、WEB上使用。
在这里建议采用数据集方式,更加方便、灵活。
下面具体介绍2种方式的具体使用第一节记录体方式在关系数据库中的应用(仅参考)一、创建数据源及数据库以KingSCADA带的DEMO工程中的mine.mdb数据库为例,首先将mine.mdb文件从DEMO工程中拷贝到我们新建的这个培训工程中。
然后,用Windows控制面板中自带的ODBC Data Sources (32bit)管理工具新建一个Microsoft Access Driver(*.mdb)驱动的数据源,名为:mine,然后配置该数据源,指向刚才拷贝过来的Access数据库(即mydb.mdb),如图8-1所示:图8-1ODBC数据源的建立二、创建表及记录体创建表用ACCESS打开mine.mdb数据库,在库中新建表“KingTable”,在表中建立三个字段日期时间、液位、温度,如图8-2所示:图8-2在mine数据库中创建表日期时间字段为日期时间类型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
26.数据库报表序号 描述 页码26.1 功能描述 26-0126.2 目标数据库 26-0126.3 启动报表设计器 26-0126.4 新建报表格式 26-0226.5 编辑报表格式 26-0426.6 保存报表格式 26-0726.7 组态报表打印按钮 26-0826.8 脚本控制报表打印按钮 26-1026.9 执行报表打印 26-1126.1功能描述通过数据库连接把实时数据经前期处理后,有效的存储到自定义数据库中;用户可以通过系统绑定开发的水晶星(Crystal)报表格式及控件,提供了完善的报表输出功能;水晶星(Crystal)报表的功能非常强大,基于数据库能制作出各种工业报表,本章也很难详细的描述其功能,只能以例子的方式讲述如何实现简单数据报表,起到抛砖引玉的作用;复杂的报表设计可与杰控公司的技术支持联系;26.2目标数据库本例使用的数据库内容如下表:数据库类型:Microsoft Access数据源名称:FameView UserData Source数据表名称:T1字段名称:产量1 产量2 存储时间字段类型:数字[单精度] 数字[单精度] 日期/时间26.3启动报表设计器选择<数据库连接>功能,执行<数据库报表格式文件>任务,来启动或管理报表文件;如下图:26.4新建报表格式报表设计器启动后,出现注册窗口,执行取消按钮,即执行<Cancel>;然后执行<File->New>菜单,出现下面的对话框:选择<Standard>标准报表,出现下面的对话框,选择数据库的来源:必须选择ODBC数据源,即执行<SQL/ODBC>按钮,出现下面对话框:选择数据源,如FameView UserData Source,然后执行<OK>按钮,出现下面对话框选择数据表:从SQL Table列表中选择数据表,如T1,然后执行<Add>按钮和<Done>按钮,然后出现下面的界面:执行“Next>>”按钮,出现下面的界面,选择报表中要使用的字段:从Database Fields列表中选择报表中要使用的字段,并通过<Add>按钮加入到<Report Fields>列表中,或通过<All>按钮加入所有字段;如下图所示:此时便可以用<Preview Report>按钮浏览并结束新建报表的制作,报表浏览把数据表中的全部内容给显示出来,如下图:26.5编辑报表格式此时的报表格式还很简单,需要加以编辑:点击<Design>进入设计模式,此时只显示一行数据,如果报表内容有10000行,也只用设计一行;报表格式中的每部分内容,通过某个对象来体现,通过修改对象的属性来改变报表格式;改变字体:选中某个对象,点击右键,从弹出菜单中选择<Change Font>修改字体;改变标题文本内容:选中某个标题对象,点击右键,从弹出菜单中选择<Edit Text Field>,可以修改文本的内容;给记录加上序号:执行菜单<Insert->Special Field->Record Number Field>命令,允许为记录行添加序号;加入公式字段:如果希望在报表中体现<产量1+产量2>的数值,但数据库中又不存在,您可以选用公式字段,执行菜单<Insert->Formula Field>命令,出现下面对话框:输入中间字段的名称,如“产量12”,执行<OK>按钮,出现下面对话框:在<Formula text>中输入计算脚本内容后,先用<Check>按钮检查脚本是否正确,再用<Accept>按钮把中间字段放入适当的位置;添加表格线:执行菜单<Insert->Line>命令可以为表格添加表格线;增加累加值:如果希望把产量1的所有查询数值进行累加,请选中产量1字段,点击右键,从出现的菜单中选择并执行<Insert Grand Total>命令,出现下面对话框,选择要计算的类型,如累加值、平均值、最大值、最小值..等:增加图片:为了给报表增添效果,通过下面方法为报表增加图片,执行菜单<Insert->Picture>命令,从弹出的对话框中选择需要的图片;增加新字段:在新建报表格式后,有时希望再往报表中添加新的数据库字段,执行菜单<Insert->Database Field>命令,从弹出的字段列表对话框中选择需要增添的字段;刷新数据库:在报表建立后,数据库的结构进行了修改,例如添加了新的字段,要想在报表中体现新的字段,执行菜单<database->Verify Database>命令;刷新报表内容:在制作报表时,数据库的记录内容发生变化,要想在浏览报表时进行刷新,执行菜单<Report->Refresh Report Data>命令;报表排序:如果报表记录希望根据某个字段进行排序,执行菜单<Report->Sort Report>命令,从弹出的字段列表选择字段进行排序;隐藏报表内容:整个报表由Title、Page Header、Details、Grand Total、Page Footer几部分组成,如果希望隐藏某部分内容,只需用鼠标右键点击某部分的前部的灰色部位,从弹出的菜单中,执行菜单命令<Hide Section>即可,如果想还原,再执行一次;设置时间格式:有时日期/时间字段内只显示日期,而不显示时间,请按以下步骤操作:执行菜单<File->Report Options>任务,出现下面的菜单,确信不要选中“ Convert Date-Time to Date”;设置浏览页的格式:为了在系统运行过程中,浏览报表时,浏览页的尺寸与窗口的尺寸匹配,请执行菜单<File->Report Options>任务,出现下面的菜单,选中“ Fit Page”;经编辑后报表的预览结果如下:26.6保存报表格式把编辑好的报表格式,建议存储到系统目录下的ReportFile目录下,例如:d:\组态系统\ReportFile\test.rpt在保存报表格式前,请打开菜单File,确信没有选择“Save Data with Report”,否则在打印/浏览报表时,报表的内容不会更新;26.7组态报表打印按钮打开画面制作程序,建立新画面,从组件箱中选择“报表打印”组件,如下图:组件的属性对话框如下:设置标题:通过<按钮标题>为按钮组件定义按钮显示文本;选择文件:执行<格式文件>按钮,弹出对话框,从中选择制作好的报表文件,如: Test.rpt提供班报表、日报表、周报表、月报表、季度报表、年度报表、自由报表、选择报表等8种类型; 如果选择了班报表,则可以从数据库中查询出某天的某个时间段内的数据进行报表输出,在表格中填写班次名称,并定义每班的时间范围(即开始时间-结束时间),每天最多可以分为24个班;一般情况下,开始时间均早于结束时间;但如果第1班的开始时间晚于结束时间,则默认为此班是从前一天的某时间到今天的某时间,例如:从今天的20:00至明天的6:00为一班,则开始时间为20:00,结束时间为6:00;另外,如果最后一班的结束时间早于开始时间,则默认为此班是从今天的某时间到明天的某时间;班报表的选择对话框界面如下:如果选择了日报表,从数据库中查询某一天的数据进行报表输出,日报表的选择对话框界面如下:如果选择了周报表,从数据库中查询某一周的数据进行报表输出,周报表的选择对话框界面如下:如果选择了月报表,从数据库中查询某一月的数据进行报表输出,月报表的选择对话框界面如下:如果选择了季度报表,则可以从数据库中查询出某一季度的数据进行报表输出,季度报表的选择对话框界面如下:如果选择了年度报表,则可以从数据库中查询出某一年内的数据进行报表输出,年度报表的选择对话框界面如下:如果选择了自由报表,则可以从数据库中查询出任意某一段时间内的数据进行报表输出,自由报表的选择对话框界面如下:如果选择了选择报表,则可以随意选择班报表、日报表、周报表、月报表、季度报表、年度报表、自由报表7种报表格式中的一种,进行报表输出,选择报表对话框界面如下:选择时间字段:一个数据库中必须存在一个日期/时间字段,否则报表控件不能正常工作;如果报表数据库类型为Microsoft Access,则此字段的类型为“日期/时间”;如果报表数据库类型为 SQL Server,则此字段的类型为“datetime”;为避免错误,通过<时间查询字段>按钮,弹出的数据源、数据表、字段表对话框,来选择时间字段;选择报表数据库的类型:为了保障报表的正确查询,必须正确选择报表数据库的类型,Microsoft Access或SQL Server,否则报表将不工作;预设查询条件:在报表浏览/打印时,如果只输出满足某些条件的内容,则可以通过设置查询条件来实现;查询条件可以在浏览/打印时设定,也可以在组态时预设好,在浏览/打印时再进行选择;允许最多预设100个查询条件;用鼠标双击查询表格中的某一行,出现下面的界面,在其中按照SQL语言格式输入查询语句:如果在报表数据库中使用确省了字段:DefaultText、DefaultValue,则在预设查询条件中不用输入字段名, DefaultText为文本字段,DefaultValue为数值字段;例如要想查询DefaultText等于“AAA”的记录,则只用输入“%AAA”即可;例如要想查询DefaultValue等于1000的记录,则只用输入“@=1000”即可;1幅画面中只能有1个报表打印按钮;26.8 脚本控制报表打印按钮可能不希望通过执行此按钮,而希望通过编写脚本来控制执行报表打印,按照下列步骤来实现: 为组态好的报表打印按钮控件命名:选中报表打印按钮控件,点击右键,弹出菜单,选择执行“对象属性->脚本名称”,弹出对话框给对象命名,例如“PRNBTN”;隐藏报表打印按钮:选中报表打印按钮控件,点击右键,弹出菜单,选择执行“对象属性->隐藏”,弹出对话框使组件在运行画面显示时不可见:数据库应用 26.数据库报表 .26-11. 35号画面脚本实现了报表打印按钮的控制:可以改变报表格式文件中的Formula 字段: UserReport.SetFormulaValue "AAAA","AA",11,900如果只是简单的显示报表打印按钮所提供的报表界面,编写的脚本如下: ReportBtnObj.ShowWindow “PRNBTN”如果想把报表打印按钮作为中间控件,利用它实现各种报表,例如要打印日报表,编写的脚本如下:ReportBtnObj .ActiveReport "PRNBTN","test.rpt",1,0,1,"存储时间"26.9执行报表打印以日报表来说明执行过程:在画面中执行报表打印任务后,首先出现下面的对话框:选择日期:通过日期选择器来选择要进行报表输出的日期,缺省为当前日期;过滤条件:希望以一定的条件输出报表,请选择“ 过滤条件”,弹出对话框,在其中输入或选择预设的过滤条件;浏览输出:选择<浏览>并执行<确定>按钮后,会出现下面的窗口,在内显示报表内容:打印输出:如果选择< 打印>并执行<确定>按钮后,会在打印机上直接输出报表内容;。