杰控组态报表教学提纲
杰控组态手册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.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执行报表打印以日报表来说明执行过程:在画面中执行报表打印任务后,首先出现下面的对话框:选择日期:通过日期选择器来选择要进行报表输出的日期,缺省为当前日期;过滤条件:希望以一定的条件输出报表,请选择“ 过滤条件”,弹出对话框,在其中输入或选择预设的过滤条件;浏览输出:选择<浏览>并执行<确定>按钮后,会出现下面的窗口,在内显示报表内容:打印输出:如果选择< 打印>并执行<确定>按钮后,会在打印机上直接输出报表内容;。
杰控组态手册23.实时数据连接

23.实时数据连接序号 内容 页码23.1 功能描述 23-123.2 建立实时数据连接文件 23-123.3 进行实时数据连接 23-423.4 启动实时数据连接 23-423.1功能描述实时数据连接功能用来把运行数据库中的实时变量与某个固定数据表进行连接;固定数据表是指记录数量和顺序固定的数据表;能够通过时间或事件触发连接;连接方式包括读数据表和写数据表;23.2建立实时数据连接文件通过建立实时数据连接文件,能使系统运行数据库的变量与自定义的固定数据表建立联系,可以定义多个数据库连接文件,从而与多个数据库建立连接;最多可以定义32个数据库连接文件,即可以与32个不同的数据表建立连接;通过组态管理器中的“我的系统->设置”功能,执行<1.定制系统>,选择“ 实时数据连接”,否则组态管理器中不能支持实时数据连接功能;选择<实时数据连接>功能,执行<1.制作实时数据连接文件>任务:启动<1.制作数据库连接文件>任务后,新建一个连接文件如testdb1,如下图所示:新的数据库连接文件内容如下图:选择数据源,为避免错误,必须通过<数据源>按钮,来选择要使用的ODBC数据源,会出现下面的对话框界面,所建立的数据源会出现在列表中,从中选择即可;建议使用系统缺省提供的数据源FameView UserData Source,可简化项目的备份与安装;选择数据表,从数据源中选择要连接的数据表,为避免错误,必须通过<数据表>按钮选择,数据库中所包含的数据表都会出现在列表中,如下图所示:定义数据表的结构,即固定数据表包含的字段和记录数量,字段的最大数量为100个,记录最大数量为1024个:执行<表结构:>按钮,连接表的样式设置为与固定数据表一致;双击表格中的字段名称所在行,可选择数据表中的字段;双击变量组[001]-[1024]所在行可选择运行数据库的变量与某记录中的某字段对应,如下图:双击表格中变量组[001]-[1024],会出现下面界面,组态连接方式:23.3进行实时数据连接您所建立的实时数据连接文件,此时还不能被系统所认可;必须选择<实时数据连接>功能,执行<2.进行实时数据连接>任务,出现下面对话框:通过“<<添加”按钮选择实时数据连接文件,添入文件列表中,最多可以选择32个连接文件:23.4启动实时数据连接任务选择“我的系统->设置”功能,执行<2.启动任务>,出现下面对话框:从“系统任务”列表中选中“ 实时数据连接”,系统启动时,能够自动启动实时数据连接功能;。
杰控组态手册18.双机冗余

18.双机冗余序号 内容 页码18.1 功能描述 18-118.2 定制双机冗余功能 18-118.3 设置双机冗余参数 18-218.4 启动双机冗余功能 18-218.5 双机冗余工作模式 18-318.6 双机冗余工作过程 18-318.7 冗余工作状态变量 18-418.8 查看冗余工作状态 18-418.1功能描述在某些工艺条件下,需要2台计算机互为冗余热备,一台工作,另一台热备,并保障系统数据的完整;18.2定制双机冗余功能启动项目管理器,选择“我的系统->设置”功能;执行<1.定制系统>任务,出现下面窗口:从窗口中选择“ 双机冗余”,然后<确定>;此时系统便可支持双机冗余;18.3设置双机冗余参数系统只需非常简单的参数设置,便可实现双机冗余:启动项目管理器,选择<双机冗余>功能,如下图:执行<1.设置双机冗余>任务,出现下面的双机冗余设置对话框:2台冗余计算机要通过以太局域网来连接,必须支持TCP/IP协议;只需输入2台冗余计算机的IP地址即可;假如两台IP地址为192.168.1.101和192.168.1.102;并且保障互相ping通;不分主从,哪台计算机先启动,哪台为主;选择冗余需要同步的内容,包括:1) 设备数据表;2) 历史数据;3) 报警;4) 系统信息;5) 内部变量;18.4启动双机冗余功能启动项目管理器,选择“我的系统->设置”功能;执行<2.启动任务>,出现下面对话框:从中选择“ 双机冗余”,此时系统启动时,会支持双机冗余功能;18.5双机冗余工作模式把双机冗余方式下工作的系统分为以下几种模式:模式 描述 程序主程序通讯存档 报警 信息A 系统正在以主方式运行B 系统以热备方式等待运行 °°°°C 系统以独立方式运行 °M Windows未启动或网络没有连通 °°°°°°N Windows已经启动,系统未运行 °°°°°18.6双机冗余工作过程计算机未进入Windows状态,即M模式;Windows启动后,此时处于N模式;N模式下,先检查对方的计算机是否处于A模式;如果对方计算机已工作在A 模式下,则本机开始按热备方式启动,并进入B模式,等待并接收对方计算机发送来的数据和信息;如果对方计算机未工作在A 模式下(可能是M、N、C),则本机开始以主工作方式启动,进入A模式; A模式下:如果检查对方计算机处在B模式或N模式,则把本地产生的历史数据、报警信息、系统信息存入对方计算机中;如果检查对方计算机处在B模式,则会定期的更新对方计算机中的设备数据表、VA和VD变量;如果检查对方计算机处在N模式,则会启动对方计算机并进入B模式;B模式下:定期的检查对方计算机的工作模式是否为A;如果发现对方计算机不再工作于A模式(可能是M、N、C),则会在3-5秒钟内切换到A模式;18.7冗余工作状态变量系统提供了内部模拟变量VA.%冗余状态,来反映和改变冗余工作模式,如下图:此变量有3种状态:0=C、1=A、2=B;根据数值可以得知当前的工作模式;如果当前工作模式为B,即数值=2,则可以修改数值=0,进入工作模式C;但不能修改数值=1,而进入A模式;如果当前工作模式为C,即数值=0,则可以修改数值=2,进入工作模式B;但不能修改数值=1,而进入A模式;如果当前工作模式为A,即数值=1,则不可以做任何修改;总之,只能是B、C之间切换;18.8查看冗余工作状态启动项目管理器,选择<双机冗余>功能;执行<2.监视双机冗余状态>,出现下面的监视界面:通过<网络IP地址>得知本地/远程的网络IP地址;<冗余状态>反映本地和对方的工作状态,还可改变本地的工作状态,但只能是B、C模式之间切换;。
杰控12章实时报表

12.实时报表 12.实时报表
序号 内容 页码
12.1 启动实时报表任务 12-2
12.2 实时报表数据 12-2
12.3 实时报表格式 12-3
12.4 实时报表自动打印任务 12-7
12.5 画面脚本输出实时报表 12-7
执行<系统设置->启动任务>,选择" 实时报表":
12.2 定义实时报表数据
实时报表最多支持100个数值变量和10个文本变量;
组态管理器中,选择<实时报表>功能,执行<1.定义实时报表数据>任务:
选择" 数值001", <对应变量>按钮被激活,执行<对应变量>按钮,使"数值001=AI.AI1"; 同样使"数值002=AI.AI2"、"数值003=AI.AI3"、"数值004=AI.AI4"、"数值005=AI.AI5":
定义实时报表数据后,须建立水晶星(Crystal)报表格式进行输出;
选择<实时报表>功能,启动<编辑报表格式>任务:
新建Crystal报表,启动报表设计器,出现注册窗口,直接执行取消按钮<Cancel>;
执行<File->New>菜单:。
杰控组态手册12.实时报表

12.实时报表序号 内容 页码12.1 示例描述 12-112.2 定制实时报表功能 12-112.3 启动实时报表任务 12-212.4 定义实时报表数据 12-212.5 制作实时报表格式 12-312.6 定义自动实时报表打印任务 12-612.7 通过系统功能(FB)执行实时报表 12-712.8 通过画面脚本执行实时报表 12-712.1例子描述有5个模拟输入变量(AI):AI1、AI2、AI3、AI4、AI5,把它们显示在实时报表格式中;每隔30分钟打印1次实时报表;通过画面中的按钮随时打印实时报表;12.2定制实时报表功能如果系统没有支持实时报表功能,需要执行“我的系统->设置->定制系统”任务,出现下面的对话框:选中“ 实时报表”功能;12.3启动实时报表任务为使系统支持实时报表,需启动实时报表任务;需启动“系统设置->启动任务”,出现下面对话框:从中选择“ 实时报表”;12.4 定义实时报表数据实时报表最多支持100个数值变量和10个文本变量;需要从运行数据库中选择要参与实时报表的变量;在组态管理器中,选择“实时报表”功能;执行“1.定义实时报表数据”任务,出现下面对话框:选择“ 数值001”, <对应变量>按钮被激活;执行<对应变量>按钮,从中选择“VA.%VA1”变量;再执行<设定>按钮,使<数值001>=VA.VA1;使用同样的方法使<数值002>=VA.%VA2、<数值003=VA.%VA3>、<数值004=VA.%VA4>;此时的对话框界面为:12.5制作实时报表格式定义了实时报表数据,需要建立报表格式进行输出;用水晶星(Crystal)报表通过以下步骤建立实时报表格式;选择“实时报表”功能,启动“制作实时报表格式(Crystal)”任务:报表设计器启动后,首先出现注册窗口,直接执行取消按钮<Cancel>; 然后执行<File->New>菜单,出现下面的对话框:从“Choose an Expert”中选择<Standard>标准报表格式;出现下面的对话框,选择数据库的来源:必须选择“SQL/ODBC”数据源,即执行<SQL/ODBC>按钮,出现下面对话框:必须从<Server Type>列表中选择数据源“FameView ReportData Source”,(此数据源为系统所提供,在系统首次安装时建立的,对应的Access文件名称为ReportData.mdb, 对应的SQL Server文件名称为ReportData.mdf,所以必须保障此数据源的存在和完整性);执行<OK>按钮,出现下面对话框来选择数据表:FameView ReportData Source数据源中存在有数据表“PrnData”,其为实时报表数据的格式; 必须从SQL Table中选择数据表“PrnData”,如果为SQL Server数据库,数据表为“ReportData.dbo.PrnData”;执行<Add>按钮和<Done>按钮,出现下面的界面:执行“Next>>”按钮,出现下面的界面,选择报表中要使用的字段:其中“nData_1、nData_2、nData_3……nData_100”分别对应100个实时报表的数值数据,即“数值001-数值100”,可以对应AI/AO/AR/DI/DO/DR/VA/VD的变量值;其中“sData_1、sData_2、sData_3……sData_10”分别对应10个实时报表的文本数据,即“文本001-文本010”,可以对应VT变量的内容;另外记录集中还有一些附加的字段:序号 字段名称 描述1 sWeek 数据被采集存储的星期;2 sDate 数据被采集存储的日期3 sTime 数据被采集存储的时间4 nYear 数据被采集存储的年份;5 nMonth 数据被采集存储的月份;6 nDay 数据被采集存储的天;7 nHour 数据被采集存储的小时;8 nMinute 数据被采集存储的分钟;9 nSecond 数据被采集存储的秒;此时便可以用<Preview Report>按钮浏览并完成报表的制作;进行简单的编辑之后,最终的报表格式如下:把编辑好的报表格式,建议存储到组态系统目录下的ReportFile目录下,例如:d:\ 组态系统\ReportFile\test.rpt在保存报表格式前,请打开菜单File,确信没有选择“Save Data with Report”,否则在打印/浏览报表时,报表的内容不会更新;12.6定义自动实时报表打印任务实时报表通常需要自动的打印输出,通过以下步骤定义自动实时报表打印任务:选择“实时报表”功能,执行“实时报表自动打印任务”功能,出现下面对话框:系统最多允许定义7个自动打印任务,即“ 自动打印任务1-- 自动打印任务7”,如果要定义第1个打印任务,请选择“ 自动打印任务1”;通过<报表格式文件>按钮弹出的文件选择对话框,选择一个实时报表格式,例如:d:\ 组态系统\ReportFile\test.rpt假设要在每天的8点钟打印报表,则需要做以下选择:通过“<<设定”按钮,使定义有效,即“ 自动打印任务1”;执行“确定”按钮,完成定义;12.7通过系统功能(FB)执行实时报表系统还提供了28、29号系统功能来分别实现浏览、打印实时报表,如下图所示:12.8通过画面脚本执行实时报表例如要浏览实时报表,脚本编写如下:RunSys.PreviewDataReport"test.rpt",0。
杰控组态指导手册

杰控组态指导手册前提:计算机已安装杰控组态软件(下面按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.实时报表”。
杰控第1章系统功能介绍

设备号数 并发驱动 并发线程 批量数据 驱动种类
主流设备
开放协议 非标驱动 设备仿真
1-2000 1-16 1-256 1-1024 字节 串口、以太网、串口转以太网、总线、GPRS、OPC 西门子、ABB、GE、AB、MODBUS、欧姆龙、三菱、施耐德、台 达、研华、MOXA、LG、穆勒、爱默生、松下、倍福、MBUS、 BACNet、基恩士、OPC、电力仪表等 OPENCOM、OPENTCP、OPENUDP、OPENGPRS 单独开发 可以
实时报表 用户管理 全局脚 报警频率 报警存储 报警打印 短信报警 条件报警 声音报警 循环声音 提示对话框 存档数量 存档方式 最大尺寸 存储频率 自动优化 配方数量 配方变量 数值变量 文本变量 报表格式 级别数量 用户数量 脚本类型 脚本数量 运行策略 脚本文件 首次运行 定时运行 变量触发 手动执行 并发运行 连接方式 数据库类型 连接技术 连接数量 连接变量 计算公式 触发方式 执行速度
AI
500000
DI
500000
AO
30000
DO
30000
AR
300000
DR
300000
VA
150000
DOC
300000
VD
150000
CA
10000
VT
30000
CMP
10000
FB
10000
TM
3000
FG
3000
FX
10000
1-3000 个,最大写时间 1 秒
10-1000 毫秒
30\64\128\256\512\1K\4K\64K\100K\150K\300K\500K
1-2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
杰控组态指导手册
前提:计算机已安装杰控组态软件(下面按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.下一步直接点DONE
8.选择新建报表(直接点白的创建)
9.从“Choose an Expert”中选择<Standard>标准报表格式;
10.出现下面对话框,选择数据库来源:
11.必须选择“SQL/ODBC”数据源,即执行<SQL/ODBC>按钮,出现对话框:
12.选择USER Date Source
13.执行<OK>按钮,出现下面对话框来选择数据表:
14.选择你所建的表名,添加ADD
15.添加完之后关闭,直接下一步,将表里的字段添加(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.实时报表”。