组态王历史趋势控件使用详解

组态王历史趋势控件使用详解
组态王历史趋势控件使用详解

KVHTrend控件使用方法

KVHTrend曲线控件是组态王以Active X控件形式提供的绘制历史曲线和ODBC数据库曲线的功能性工具。通过该控件,不但可以实现历史曲线的绘制,还可以实现ODBC数据库中数据记录的曲线绘制,而且在运行状态下,可以实现在线动态增加/删除曲线、曲线图表的无级缩放、曲线的动态比较、.曲线的打印等。该曲线控件最多可以绘制16条曲线。

1、创建历史曲线控件:

在组态王开发系统中新建画面,在工具箱中单击“插入通用控件”或选择菜单“编辑”

下的“插入通用控件”命令,弹出“插入控件”对话框,在列表中选择“历史趋势曲线”,单击“确定”按钮,对话框自动消失,鼠标箭头变为小“十”字型,在画面上选择控件的左上角,按下鼠标左键并拖动,画面上显示出一个虚线的矩形框,该矩形框为创建后的曲线的外框。当达到所需大小时,松开鼠标左键,则历史曲线控件创建成功,画面上显示出该曲线,如图1所示。

图1 历史曲线控件

2、设置控件固有属性:

控件创建完成后,在控件上单击右键,在弹出的快捷菜单中选择“控件属性”命令,弹出历史曲线控件的固有属性对话框,如图2所示。

北京亚控科技发展有限公司

北京亚控科技发展有限公司

控件固有属性含有两个属性页:曲线、坐标系。下面详细介绍每个属性页中的含义。

2、1 曲线属性页

如图2所示,曲线属性页中下半部分为定义在绘制曲线时,历史数据的来源,可以选择组态王的历史数据库或其它数据库为数据源。

曲线属性页中上半部分“曲线”是定义曲线图表初始状态的曲线变量、绘制曲线的方式、是否进行曲线比较等:

? 列表框:显示已经添加的变量的名称及绘制方式定义等。

? “增加”按钮:增加变量到曲线图表,并定义曲线绘制方式。

单击该按钮,弹出如图3所示的对话框。

图2 历史曲线控件固有属性

图3 增加曲线

l变量名称:在“变量名称”文本框中输入要添加的变量的名称,或在左侧的列表框中选择,该列表框中列出了本工程中所有定义了历史记录属性的变量,单击鼠标选择,则选中的变量名称自动添加到“变量名称”文本框中。

l曲线定义:

线类型:单击“线类型”后的下拉列表框,选择当前选择的变量绘制曲线时的线的类型。

线颜色:单击“线颜色”后的按钮,在弹出的调色板中选择绘制的曲线的颜色。

绘制方式:曲线的绘制方式有四种:模拟、阶梯、逻辑、棒图,可以任选一种。

隐藏曲线:是否在绘制曲线时初始设置隐藏当前绘制的曲线。

l曲线比较:通过设置曲线比较时间差,使曲线绘制位置有一个时间轴上的平移,这样通过关联的变量名相同,但一个是显示与时间轴相同的时间的数据,另一个作比较的曲线显示与时间轴的时间差为某个值的数据(如一天前),从而达到用两条曲线来实现了曲线比较的目的。l数据来源:选择曲线使用的数据来源,可同时支持组态王历史库和ODBC数据源。若选择ODBC数据源,必须先配置数据源.具体配置方法如下:

1、启动控制面板中的数据源ODBC。单击“系统DSN”项。单击“增

加”,弹出“创建新数据源”对话框。

2、选择所需数据源的驱动如“Microsoft Accress Driver(*.mdb)”,单

击“完成”按钮。弹出“ODBC Microsoft Accress安装”对话框。

3、在“数据源名”中定义一个数据源名称,数据库“选择”中选择

曲线数据所在的数据库,此数据库的表至少有三个字段:时间字

段、数据字段、毫秒字段。单击“确定”,新创建的数据源就添

加到“系统DSN”列表中。

数据源:选择曲线使用的数据库,在弹出的“Select Data Source”中选择上面定义的数据源。

表名称:选择曲线使用的数据来自所选数据库的某一个表

时间字段:选择曲线数据对应的时间记录,日期/时间类型

数据字段:选择曲线对应的数据值,长整型或浮点型

毫秒字段:选择曲线数据对应的毫秒记录,数字类型

无效值:每一条曲线都和表中一个表示其值的字段关联,这个字段的值在某一时点可能是无效的,但表的结构决定了这个字段在一条记录中的值不能为空白,所以就有了无效值的定义。

比如:1)当表中数值字段的值为NULL时表示该点数据无效,那么配置无效值时就可以空。

2)当表中数值字段的值为0时表示该点数据无效,那么配置无

效值时就可以写0。

3)当表中数值字段的值为“abcd”时表示该点数据无效,那么北京亚控科技发展有限公司

配置无效值时就可以写“abcd”。

选择完变量并配置完成后,单击“确定”,则曲线名称添加到“曲线列表”中。如图4所示:

图4 增加变量到曲线列表

如上所述,可以增加多个变量到曲线列表中。

?“删除”按钮:删除当前列表框中选中的曲线定义。

?“修改”:修改当前列表框中选中的曲线定义。

?“显示列表”选项:是否显示如图1中的曲线变量列表。

?数据源:显示曲线使用数据源的信息。

2.2 坐标系属性页

如图2,单击“坐标系”标签,进入坐标系属性设置页,如图5所示。

北京亚控科技发展有限公司

北京亚控科技发展有限公司

图5 坐标系属性页

? 边框颜色和背景颜色:设置曲线图表的边框颜色和图表背景颜色。单击相

应按钮,弹出浮动调色板,选择所需颜色。

? 绘制坐标轴选项:是否在图表上绘制坐标轴。单击“轴线类型”列表框选

择坐标轴线的线型;单击“轴线颜色”按钮,选择坐标轴线的颜色。绘制出的坐标轴为带箭头的表示X 、Y 方向的直线。

? “分割线”定义:定义时间轴、数值轴主次分割线的数目、线的类型、线

的颜色等。如果选择了分割线“为短线”,则定义的主分割线变为坐标轴上的短线,曲线图表不再是被分割线分割的网壮结构,如图6所示。此时,次分割线不再起作用,其选项也变为灰色无效。

图6 分割线与分割线为短线

? 标记数值(Y )轴:“标记数目”编辑框中定义数值轴上的标记的个数,“最

小值”、“最大值”编辑框定义初始显示的值的百分比范围(0~100%)。单击“字体”按钮,弹出字体、字型、字号选择对话框,选择数值轴标记的字体及颜色等。

?标记时间(X)轴:“标记数目”编辑框中定义时间轴上的标记的个数。

通过选择“格式”或的选项,选择时间轴显示的时间的格式及内容。“时

间长度”编辑框定义初始显示时图表所显示的时间段的长度。单击“字体”

按钮,弹出字体、字型、字号选择对话框,选择数值轴标记的字体及颜色

等。

所有项定义完成后,单击“确定”返回。

3、设置控件的动画连接属性

以上所述为设置控件的固有属性,要在组态王中使用该控件,还需设置控件的动画连接属性。

用鼠标选中并双击该控件,弹出“动画连接属性”设置对话框,如图7所示。

图7 设置控件动画连接属性

动画连接属性共有3个属性页,下面一一介绍:

“常规”属性页:如图7所示。

?控件名:定义该控件在组态王中的标识名,如“历史曲线”,该标识名在组态王当前工程中应该唯一。

?优先级、安全区:定义控件的安全性,单击“安全区选择”按钮选择所需安全区。

“属性”属性页:如图8所示。

北京亚控科技发展有限公司

图8 “属性”属性页

定义控件的属性与组态王的变量的关联。

“事件”属性页:如图9所示。

图9 事件属性页

定义控件的事件函数。

以上控件的各个动画连接属性的定义请参见《组态王6.0使用手册》第十五章“控件”。这里不在详细描述。

4、控件属性、方法列表

4.1 控件属性列表

序号名称数据类型含义

1 CurveUseKVHistData Long 使用组态王历史数据

2 CruveDSN Long 使用数据源名称

3 CurveTable Long 数据库的表名

4 CurveDateTimeField Long 数据库的时间字段名

北京亚控科技发展有限公司

5 CurveInvalidColor Long 数据库的无效值

6 CurveVarName Long 连接变量名

7 CurveColor Long 曲线颜色

8 CurveLineType Long 曲线线形

9 CurveTimeDelay Long 曲线比较

10 CurveDrawType Long 曲线绘制方式

11 CurveAlmColor Long 报警显示颜色

12 CurveHideCurve Long 是否隐藏曲线

13 CurveMilliSecondField Long 毫秒字段

14 CurveDataField Long 数据字段

15 CuryeInvalidValue Long 无效值字段

16 CurveUser Long 用户名

17 CurvePwd Long 密码

18 CurveSavePwd Long 确认密码

19 CurveList Bool 是否显示曲线列表

20 CtrlBtn Bool 是否显示控制按钮

21 BorderColor OLE_COLOR 边界颜色

22 BakColor OLE_COLOR 背景颜色

23 DrawXYAxis Bool 是否绘制坐标轴

24 AxisLineType Long 坐标轴线型

25 AxisColor OLE_COLOR 坐标轴颜色

26 ShortDivLine Bool 分割线是否为短线

27 MajXDivNum Long X轴主分割线数

28 MinXDivNum Long X轴副分割线数

29 MajYDivNum Long Y轴主分割线数

30 MinYDivNum Long Y轴副分割线数

31 MajXDivLineType Long X轴主分割线线型

32 MinXDivLineType Long X轴副分割线线型

33 MajYDivLineType Long Y轴主分割线线型

34 MinYDivLineType Long Y轴副分割线线型

35 MajXDivColor OLE_COLOR X轴主分割线颜色

36 MinXDivColor OLE_COLOR X轴副分割线颜色

37 MajXDivColor OLE_COLOR Y轴主分割线颜色

38 MinYDivColor OLE_COLOR Y轴副分割线颜色

39 YLabelNum Long Y轴标记数

40 YMinVal Float Y轴标记最小值

41 YMaxVaL Float Y轴标记最大值

42 YLableFont IFontDisp Y轴标记字体

43 XLabelNum Long X轴标记数

44 XWidth Long X轴宽度

45 XLableFont IFontDisp X轴标记字体

46 XLabelFmtYear Bool X轴标记格式—是否显示年

47 XlabelFmtMonth Bool X轴标记格式—是否显示月

北京亚控科技发展有限公司

48 XlabelFmtDay Bool X轴标记格式—是否显示日

49 XlabelFmtHour Bool X轴标记格式—是否显示时

50 XlabelFmtMinute Bool X轴标记格式—是否显示分

51 XlabelFmtSecond Bool X轴标记格式—是否显示秒

52 XlabelFmtMilliSecond Bool X轴标记格式—是否显示毫秒

53 XWidthUnit Long X轴宽度单位:秒、分、时、日

54 XLableColor OLE_COLOR X轴标记颜色

55 YLableColor OLE_COLOR Y轴标记颜色

56 CurveNum Long 返回当前曲线图表中的曲线数目

57 AdjustWidth Long 时间轴调整宽度

58 AdjustWidthUnit Long 时间轴调整宽度单位:秒、分、

时、日、毫秒

注:以上属性中除CurveNum为只读型外,其它属性均为可读写类型。

4.2 控件方法列表

1、Void CurveVarName(long 1Index,BSTR 1pszNewValue);

?功能:改变历史曲线所连接的变量

?参数:1Index:曲线索引号

1pszNewValue:变量名

?举例:定义变量V1,m为历史曲线控件名称,定义按钮弹起时

m.ChangeCurveVarName(1, "\\本站点\v1");

把第一条曲线连接的变量改成V1。

2、Void ChangeCurveVarNameForODBC(LONG lIndex,STRING szNewName,STRING

szDSN,STRING szUser,STRING szPwd,STRING szTable,STRING

szDateTimeField,STRING szMilliSecondField,STRING szDataField,STRING szInvalidValue);

?功能:改变历史曲线所连接的变量

?参数:lIndex:曲线索引号

szNewName:所连接变量

szDSN:使用的数据源名

szUser:用户名

szPwd:密码

szTable:数据库的表名

szDateTimeField:表中对应的时间字段

szMilliSecondField:表中对应的毫秒字段

szDataField:表中对应的数据字段

szInvalidValue:表中对应的无效值

?举例:定义变量V2,m为历史曲线控件名称,定义按钮弹起时

m.ChangeCurveVarNameForODBC(2, "\\本站点\v2","ocx","市场" ,"abcd" ,

"milli", "date","ms","data", );

把第二条曲线连接的变量改成V2。

3、String HTGetTimeStringAtScooter(short nScootNum,String szFormat);

北京亚控科技发展有限公司

?功能:取得指定指示器处字符串格式的时间

?参数:nScootNum:指示器索引,1—左、2—右

szFormat:指定所需要的时间字符串格式,可为下列之一:

“Date”:以Windows控制面板相同格式显示日期

“Time”:以Windows控制面板相同格式显示时间

“DateTime”:以Windows控制面板相同格式显示日期时间?返回值:字符串型日期时间值

?举例:定义DatTim为字符串型变量,取得当前左指示器的日期时间字符串DatTim=HTGetTimeStringAtScooter(1,”DateTime”);

2、Float HTGetPenRealValue(short nPenNum,String szContent);

?功能:取得指定曲线Y轴(数值轴)起点或终点的实际值

?参数:nPenNum:曲线索引,1~16

szContent:指定所需要类型,可为下列之一:

“Start”:将下限值的工程白分比转换为实际值

“End”:将上限值的工程白分比转换为实际值

“Valid”:判断取得的值是否有效,0—无效,1—有效?返回值:工程百分比对应的实际值

?举例:定义PenVal实数型变量,取得第一条曲线当前下限值的实际值PenVal= HTGetPenRealValue (1,”Start”);

3、Float HTGetValue(short nPenNum,String szValType);

?功能:取得指定曲线整个图表上(当前可见部分)的最大/最小/平均值

?参数:nPenNum:曲线索引,1~16

szValType:指定所需要类型,可为下列之一:

“AverageValue”:整个趋势的平均值

“MaxValue”:整个趋势的最大值

“MinValue”:整个趋势的最小值

“Valid”:判断取得的值是否有效,0—无效,1—有效?返回值:曲线整个图表上(当前可见部分)的最大/最小/平均值

?举例:定义PenVal实数型变量,取得第一条曲线在整个图表上的最大值PenVal= HTGetValue (1,”MaxValue”);

4、Float HTGetValueAtScooter(short nPenNum,short nScootNum,String szValType);

?功能:取得指定曲线在指示器位置处所要求的值

?参数:nPenNum:曲线索引,1~16

nScootNum:指示器索引,1—左、2—右

szValType:指定所需要类型,可为下列之一:

“Value”:取得指示器处的值

“Valid”:判断取得的值是否有效,0—无效,1—有效?返回值:指定曲线在指定指示器处的值

?举例:定义PenVal实数型变量,取得第一条曲线在右指示器处的值PenVal= HTGetValueAtScooter (1,,2,”Value”);

5、Float HTGetValueAtZone(short nPenNum,String szValType);

?功能:取得指定曲线在左右指示器之间的的最大/最小/平均值

?参数:nPenNum:曲线索引,1~16

szValType:指定所需要类型,可为下列之一:

北京亚控科技发展有限公司

“AverageValue”:平均值

“MaxValue”:最大值

“MinValue”:最小值

“Valid”:判断取得的值是否有效,0—无效,1—有效?返回值:指定曲线在左右指示器之间的的最大/最小/平均值

?举例:定义PenVal实数型变量,取得第一条曲线的最大值

PenVal= HTGetValueAtZone (1,”MaxValue”);

6、Void HTScrollLeft();

?功能:将曲线的起始时间左移一个调整跨度

?参数:无

?返回值:无

7、Void HTScrollRight();

?功能:将曲线的起始时间右移一个调整跨度

?参数:无

?返回值:无

8、Void HTUpdateToCurrentTime();

?功能:将曲线的终止时间设为当前时间

?参数:无

?返回值:无

9、Void HTSetLeftScooterTime(Long lTime,short sMilliSecond);

?功能:设置曲线时间坐标起点

?参数:lTime:时间的年月日时分秒部分,将该时间用HTConvretTime()函数转换为自1970年1月1日0时到指定时间的秒数

sMilliSecond:时间的毫秒部分

?返回值:无

?举例:定义ST为起始时间,设置该曲线的起始时间为2001年12月1日0时0分0秒,毫秒部分为0

ST=HTConvretTime(2001,12,1,0,0,0);

HTSetLeftScooterTime(ST,0);

10、Void HTZoomIn(string szLookString);

?功能:通过增大时间轴和数值轴长度,是曲线图表缩小

?参数:szLookString:缩放类型

“StartTime”:保持起始时间与缩放前相等

“EndTime”:保持终止时间与缩放前相等

“Center”:保持中心时间与缩放前相等

?返回值:无

?举例:缩小图表,使中心时间保持不变

HTZoomIn(“Center”);

11、Void HTZoomOut(string szLookString);

?功能:通过缩短时间轴和数值轴长度,是曲线图表放大

?参数:szLookString:缩放类型

“StartTime”:保持起始时间与缩放前相等

“EndTime”:保持终止时间与缩放前相等

“Center”:保持中心时间与缩放前相等

北京亚控科技发展有限公司

北京亚控科技发展有限公司

? 返回值:无

? 举例:放大图表,使起始时间保持不变

HTZoomIn(“StartTime ”);

12、Void SetTimeParam(long lStartTime, short sStartms, long lXWidth, short sXWidthUnit) 

? 功能:设置历史曲线时间坐标起点、时间轴长度 ? 参数:long lStartTime 时间年月日时分秒部分

short sMilliSecond 时间的毫秒部分

long lXWidth 时间轴长度

short sXWithUnit 时间轴长度单位:0-秒 1-分 2-时 3-日 4-毫秒

5、运行时修改控件属性

控件属性定义完成后,启动组态王运行系统,运行系统的控件如图10所示。

图10 运行时的控件

5.1 数值轴指示器的使用:

拖动数值轴(Y 轴)指示器,可以放大或缩小曲线在Y 轴方向的长度,一般情况下,该指示器标记为当前图表中变量量程的百分比。另外,用户可以修改该标记值为当前曲线列表中某一条曲线的量程数值。修改方法为:用鼠标单击图表下方工具条中的“百分比”按钮右侧的箭头按钮,弹出如图11所示的曲线颜色列表框。该列表框中显示的为每条曲线所对应的颜色,(曲线颜色对应的变量可以从图表的列表中看到),选择完曲线后,弹出如图12所示的对话框,该对话框为设置修改当前标记后数值轴显示数据的小数位数。选择完成后,

指示器

工具条

变量列表

数值轴标记显示的数据变为当前选定的变量的量程范围,标记字体颜色也相应变为当前选定的曲线的颜色,如图13所示。

图11 选择数值轴显示数据的变量

图12 设置数值轴标记的小数位

图13 修改数值轴标记为变量实际量程

5.2 时间轴指示器的使用:

时间轴指示器所获得的时间字符串显示在曲线图表的顶部两侧,如图13所示。时间轴指示器可以配合函数等获得曲线某个时间点上的数据。

5.3 工具条的使用:

曲线图表的工具条是用来操作曲线图表查看变量曲线的。工具条的具体作用可以通过将鼠标放到按钮上时弹出的提示文本看到。下面详细介绍每个按钮的作用。

北京亚控科技发展有限公司

图14 图表工具条

1、调整跨度设置按钮:

图15 调整跨度设置

?单击按钮弹出如图16所示的对话框,修改当前跨度时间设定值。

图16 修改调整跨度

在“单位”列表框中选择跨度的时间单位,有:日、时、分、秒、毫秒。在跨度编辑框中输入时间跨度的数值。

?支持毫秒级数据的显示:

A.由于组态王历史库还不支持毫秒数据,因此真正支持到毫秒级目前还限于ODBC数据库,等高速历史库完成后,组态王历史库才真正支持到毫秒级。

B.时间轴最短宽度为10ms。

C.放缩、移动都支持到毫秒。

在设置参数对话框中(运行时点击设置参数按扭弹出)中不能设置到毫秒

级,要设置到毫秒级要使用命令语言。

?单击按钮使曲线图表向左移动一段指定的时间段。

?单击按钮使曲线图表向右移动一段指定的时间段。

2、设置Y轴标记的曲线:

请参见5.2节时间轴指示器的使用。

3、曲线图表无级缩放:

?

放大按钮:在曲线图表中选择一个曲线区域,单击该按钮,或直接单击

该按钮,可以放大当前的曲线图表:

A、当在曲线区域选取了矩形区域时,时间轴最左/右端调整为矩形左/右边界所在的时间,数值轴标记最上/下端调整为矩形上/下边界所在数值,从而使曲线局部放大,左/右指示器位置分别置时间轴最左/右端。

B、当未选定矩形区域时,如左/右指示器不在时间轴最左/右端,时间轴最左/右端调整为左/右指示器所在的时间,数值轴不变,从而使曲线局部放大,

北京亚控科技发展有限公司

左/右指示器位置分别置时间轴最左/右端。

C、当未选定矩形区域,左/右指示器在时间轴最左/右端时,时间轴宽度调整为原来的一半,保持中心位置不变,数值轴不变,从而使曲线局部放大,左/右指示器位置分别置时间轴最左/右端。

?

缩小按钮:在曲线图表中选择一个曲线区域,单击该按钮,或直接单击

该按钮,可以缩小当前的曲线图表:

A、当在曲线区域选取了矩形区域时,矩形左/右边界所在的时间调整为时间轴最左/右端所在的时间,矩形上/下边界所在数值调整为数值轴最上/下端所在数值,从而使曲线局部缩小,左/右指示器位置分别置时间轴最左/右端。

B、当未选定矩形区域时,如左/右指示器不在时间轴最左/右端,左/右指示器所在的时间调整为时间轴最左/右端所在的时间,数值轴不变,从而使曲线局部缩小,左/右指示器位置分别置时间轴最左/右端。

C、当未选定矩形区域,左/右指示器在时间轴最左/右端时,时间轴宽度调整为原来的二倍,保持中心位置不变,数值轴不变,从而使曲线局部缩小,左/右指示器位置分别置时间轴最左/右端。

4、打印曲线:单击按钮弹出“打印属性”对话框,如图17所示。选择打印机,

单击“属性”按钮,设置打印属性:纸张大小,打印方向等。可以将当前图表中显示的曲线及坐标系打印出来。

图17 打印属性对话框

5、定义新曲线:单击按钮弹出“增加曲线”对话框,如图3所示。选择需要增加曲线的变量名称,定义其绘制属性,单击“确定”在曲线图表中增加一条曲线。

6

、更新曲线图表终止时间为当前时间:单击按钮将曲线图表的终止时间更新为

当前时间。

7

、设置图表数值轴和时间轴参数:单击按钮弹出“输入新参数”对话框,如图18

所示。修改时间轴的起止时间范围和数值轴百分比的范围。

北京亚控科技发展有限公司

图18 输入新参数

8、隐藏/显示变量列表:单击按钮或

可以隐藏/显示

曲线变量列表。

5.4 曲线变量列表

曲线变量列表主要显示当前曲线图表中所显示的曲线所对应的变量名称,左右指示器的时间,指示器对应的曲线上的点的数据值,在当前图表范围中曲线变量的最大值、最小值和平均值,动态选择是否隐藏某条曲线。

在变量列表上单击右键或选中某条列表项,单击右键,弹出如图19所示的快捷菜单。

图19 快捷菜单

?增加曲线:增加一条曲线到当前曲线图表。

?删除曲线:删除当前列表中选中的曲线。

?修改曲线属性:修改当前选中的曲线的绘制属性。

北京亚控科技发展有限公司

组态王报表功能实现方法

一种简单的组态王报表功能实现方法 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分钟),在“发生时”框内填写

组态王软件详细教程 第九讲 数据库

第九讲组态王与Access数据库连接 组态王SQL访问功能实现组态王和其他外部数据库(支持ODBC访问接口)之间的数据传输。它包括组态王的SQL访问管理器和SQL函数。 以Ms Access数据库为例,下面说明组态王与其相连的例子。 SQL访问管理器 SQL访问管理器用来建立数据库列和组态王变量之间的联系。包括表格模板和记录体两部分功能。通过表格模板在数据库表中建立表格;通过记录体建立数据库表格列和组态王之间的联系,允许组态王通过记录体直接操作数据库中的数据。表格模板和记录体都是在工程浏览器中建立的。 创建表格模板 在工程浏览器中左侧工程目录显示区中选择“SQL访问管理器”下的“表格模板”项,在右侧目录内容显示区中双击“新建”,弹出“创建表格模板对话框”,如下图。

在表格模板中建立五个记录,字段名称,变量类型,变量长度,索引类型分别如上图所示。 建立表格模板的目的在于定义一种格式,在后面用到是SQLCreatTable()以次格式在Access数据库中建立表格。 创建记录体 在工程浏览器左侧的工程目录显示区中选择SQL访问管理器下的记录体,在右侧的目录内容显示区中双击“新建”,弹出“创建表格模板对话框”,如下图。

记录体定义了组态王变量$日期、$时间、原料油液位、催化剂液位、成品油液位和Access 数据库表格中相应字段日期、时间、原料油液位值、催化剂液位值、成品油液位值之间的对应连接关系。(注意:记录体中的 字段名称和顺序必须与表格模板中的字段名称和顺序必须保持一致,记录体中的字段对应的变量的数据类型必须和表格模板中相同字段对应的数据类型相同。) 建立Ms Access数据库 1.建立一空Access文件,定名为mydb.mdb. 2.定义数据源 双击控制面板下的“ODBC数据源(32位)”选项,弹出“ODBC数据源管理器”对话框, 选择“用户DSN”属性页,并单击添加”按钮。 在弹出的“创建新数据源”对话框中,选择“Mirosoft Access Driver” 单击“完成”按钮。 弹出“ODBC Microsoft Access安装”对话框:

组态王历史趋势控件使用详解

KVHTrend控件使用方法 KVHTrend曲线控件是组态王以Active X控件形式提供的绘制历史曲线和ODBC数据库曲线的功能性工具。通过该控件,不但可以实现历史曲线的绘制,还可以实现ODBC数据库中数据记录的曲线绘制,而且在运行状态下,可以实现在线动态增加/删除曲线、曲线图表的无级缩放、曲线的动态比较、.曲线的打印等。该曲线控件最多可以绘制16条曲线。 1、创建历史曲线控件: 在组态王开发系统中新建画面,在工具箱中单击“插入通用控件”或选择菜单“编辑” 下的“插入通用控件”命令,弹出“插入控件”对话框,在列表中选择“历史趋势曲线”,单击“确定”按钮,对话框自动消失,鼠标箭头变为小“十”字型,在画面上选择控件的左上角,按下鼠标左键并拖动,画面上显示出一个虚线的矩形框,该矩形框为创建后的曲线的外框。当达到所需大小时,松开鼠标左键,则历史曲线控件创建成功,画面上显示出该曲线,如图1所示。 图1 历史曲线控件 2、设置控件固有属性: 控件创建完成后,在控件上单击右键,在弹出的快捷菜单中选择“控件属性”命令,弹出历史曲线控件的固有属性对话框,如图2所示。 北京亚控科技发展有限公司

北京亚控科技发展有限公司 控件固有属性含有两个属性页:曲线、坐标系。下面详细介绍每个属性页中的含义。 2、1 曲线属性页 如图2所示,曲线属性页中下半部分为定义在绘制曲线时,历史数据的来源,可以选择组态王的历史数据库或其它数据库为数据源。 曲线属性页中上半部分“曲线”是定义曲线图表初始状态的曲线变量、绘制曲线的方式、是否进行曲线比较等: ? 列表框:显示已经添加的变量的名称及绘制方式定义等。 ? “增加”按钮:增加变量到曲线图表,并定义曲线绘制方式。 单击该按钮,弹出如图3所示的对话框。 图2 历史曲线控件固有属性

组态王与数据库连接

首先,安装SQL server,和组态王。 1.将采集到的数据需要存入数据库的先编辑到记录体。 a.记录体名可以按照存储变量来设定,与存入数据库表格名称可以不一样(建议设置 一样)。 b.字段名称不需要和变量名称一致,设置简单明了的标示名称即可,但是必须要和存 入数据库表格名称一致。 c.记录体变量顺序必须和存入数据库表格顺序一致,否则数据不能插入表格。 d.时间:建议可新建一个内存字符串,并在命令语言内如图定义。 2.新建数据库以及数据库表格。 新建数据库:名称可随意设置(如:ceshi) 新建数据库表格: 列名:必须和记录体内字段名称一致(在报表调用时名称可以修改)。 数据类型:和存入的数据类型要一致,时间varchar模拟量float 开关量bit

长度:根据数据类型自动设置。 保存表格时输入表格名称即可。(名称尽量和记录体一致,操作起来方便一些)

3.创建数据源(ODBC) 依次打开控制面板→管理工具→数据源(ODBC) →系统DSN 步骤(只是需要修改的,其他都默认): a.添加→选择新数据源SQL sever(下拉最后一个)→完成 b.名称可随意设置,(建议和数据库名称一样,如:ceshi),描述可以省略,服务器: (local) c.使用用户输入登录ID和密码的SQLserver 验证。登录ID:sa,密码:安装数据库时 设置的密码(如,admin)。 d.更改默认的数据库,选择刚刚新建的数据库(如ceshi),创建完成。 4.连接组态和数据库插入数据 a.在组态王数据词典中新建内存整形变量DeviceID b.应用程序命令语言启动时: SQLConnect( DeviceID, "dsn=数据源名称;uid=sa(登录ID);pwd=admin(密码)"); 该命令语言是组态王连接上数据。 c.SQLInsert( DeviceID, "记录体名称", "数据库表格名称" ); 该命令语言是将记录体数据插入数据库表格内,可根据不同需求设定不同是采集频率。(如图,为一分钟采集一次;) 注:如果采集时间为十分钟可以建内存实数,让新建变量等于10分钟,并在命令语言中实现。 报表功能下期再见。

组态王7.5SP1版本第6章控件介绍

第七讲 控 件 第一节 控件的作用 控件可以作为一个相对独立的程序单位被其他应用程序重复调用。控件的接口是标准的,凡是满足这些接口条件的控件,包括第三方软件供应商开发的控件,都可以被组态王直接调用。组态王中提供的控件在外观上类似于组合图素,工程人员只需把它放在画面上,然后配置控件的属性进行相应的函数连接,控件就能完成其复杂的功能。 组态王除了支持本身提供的各种控件外,还支持Windows 标准的Active X 控件,包括Microsoft 提供的标准Active X 控件和用户自制的Active X 控件。Active X 控件的引入在很大程度上方便了用户,用户可以灵活地编制一个符合自身需要的控件或调用一个已有的标准控件来完成一项复杂的任务,而无须在组态王中做大量的复杂的工作。一般的Active X 控件都具有属性、方法、事件,用户通过设置控件的这些属性、事件、方法来完成工作。 第二节 超级XY 控件 下面利用XY 控件显示原料油液位与原料油罐压力之间的关系曲线,操作过程如下: 1、新建一画面,名称为:XY 控件画面。 2、选择工具箱中的工具,在画面上输入文字:XY 控件。 3、单击工具箱中的插入通用控件 工具,在弹出的插入控件窗口中双击“KvChatXY ActiveX Control ”,在画面上绘制XY 曲线窗口,如图7-1所示:

图7-1 XY曲线控件窗口 4、并双击此控件,弹出动画属性设置对话框,如图7-2所示。 图7-2 XY控件属性设置对话框 在此窗口中您可对控件的名称(名称设置为:XY)进行设置。设置完名称,确定,保存画面。然后选择控件,点击右键,弹出控件属性对话框,您可以对控件的相关属性进行设置。 普通选项卡:设置曲线对应的前景背景颜色,设置字体,标题,图例,边框,如图7-3。

组态王日报表例程

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

目录 一、功能概述 (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。记录和安全区选择“数据变化记录”,变化灵敏度选择

组态王与ACCESS数据库的数据交换的例子

组态王与ACCESS数据库的数据交换 ——以中山创污水处理为例 一、创建表格模板和记录体。 在组态王工程浏览器中的SQL访问管理器点击表格模板。在右侧目录内容中双击“新建”创建一个名称为“1”且字段为“工号”“日期”“时间”“酸”“碱”“混凝剂”“还原剂”“氯化钙”“PAM正”“PAM负”的表格。注意:当编辑字段名称时,应与新建组态王变量一样(最好不要用字符),不含非法字符,如:“+”“-”“=”“#”等。此表格格式决定了ACCESS数据库的表格格式。 同样在SQL管理器中点击记录体,在右侧目录内容中双击“新建”,创建一个名称为“1”的记录体。其字段名称与表格模板中的字段相对应。组态王变量是连接的组态王内部变量。编辑字段名称的规则与编辑表格模板一样。 二、建立MS ACCESS数据库。 1.建一个空的ACCESS数据库,定名为20,保存在D:\29所污水处理工程。 2.定义数据源 双击控制面板下的“ODBC数据源(32位)”选项,弹出“ODBC数据源管理器” 对话框。 选择“用户DSN”属性页,并单击“添加”按钮。 在弹出的“创建新数据源”对话框中,选择“Mirosoft Access Driver”单击“完成”按钮。 弹出“ODBC Microsoft Access安装”对话框,定义数据源名为“20” 单击“选择”按钮,从中选择路径D:\29所污水处理工程\20.MDB 单击“确定”按钮,完成对数据源的配置。

三、组态王开发界面的组态 在组态王开发系统中创建如下画面: 其中表格为KV ADODBGrid CLASS控件。 四、对数据库的操作。 点保存弹出对话框。在“确定”按钮的动画连接向导的“弹起时”输入命令语言 SQLConnect( \\本站点\ID, "dsn=20;DATABASE=20;uid=;pwd="); //连接名称为“20”,数据源名称为“20”的数据库。 SQLCreateTable( \\本站点\ID, "10", "1" ); //在数据库“20”内创建名称为“10”的表格,表格模板名称为“1”表格模板在组态王中已编辑。 SQLInsert( \\本站点\ID, "10", "1" ); //在名称为“10”的表格内插入名称为“1”的记录体。记录体在组态王中已编辑。 ClosePicture("手动确定"); //关闭“手动确定”画面。 数据库中的被记录变量必须要先被当前组态画面显示后才能在数据库中记录下来。(本工程中要记录的变量已经在KV ADODBGrid CLASS控件上方显示过了,即褐色的部分,显示后再点击“保存”按钮,进入保存对话框,点击“确定”按钮,数据才能进入数据库。 五:进入组态王运行状态,点击保存弹出对话框,点击“确定”按钮;将会自动在Microsoft Access 中生成名字为“10”的数据库表格;

组态王使用说明

皖西学院 监控组态软件实验指导书 机械与电子工程学院 电气工程教研室 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”。 四、实验报告 实验报告包括实验目的、实验内容、设计说明、实验体会等。

组态王与SQL SERVER 2000交互教程

目录 1.SQL SERVER2000的准备工作 (2) 1.1安装SQL S ERVER2000数据库(安装方法略),新建数据库K ING V IEW (2) 1.2在K ING V IEW数据库中新建数据表R EAL D ATA、H ISTORY D ATA,用于存放组态王中的实时和 历史数据 (2) 2.组态王的准备工作 (4) 2.1在组态王建立两个内存实数变量,作为H ISTORY D ATA和R EAL D ATA的数据源,提供数据 变化至SQL S ERVER2000的数据库K ING V IEW (4) 2.2新建组态王画面T EST F OR SQLS ERVER2000,设置标签监控内存实数变量K ING1和K ING25 2.3建立一个内存字符串变量,时刻记录组态王的日期加时间,写入历史数据表作为时 间变量6 3.数据库与组态王数据交互 (6) 3.1建立组态王与数据库表之间的连接 (7) 3.2建立ODBC数据源,建立组态王与数据库之间的数据通道 (7) 3.3组态王打开数据库连接 (10) 3.4利用组态王脚本语言实现捕捉字段变化进而触发数据库操作 (13) 3.5组态王显示SQL S ERVER中历史数据表内容 (14) 3.6实际测试 (17)

1.SQL Server2000的准备工作 1.1安装SQL Server2000数据库(安装方法略),新建数据库 KingView 新建kingView数据库 1.2在KingView数据库中新建数据表RealData、HistoryData, 用于存放组态王中的实时和历史数据 定义历史数据表字段,注意需要把ID设置成自增1,才可以保证你数据表中记录不断的增加

组态王中的数据报表制作与保存.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文件 夹

031第八讲_组态王与数据库连接

第八讲 组态王与数据库连接 第一节 SQL 访问管理器 概述 组态王SQL 访问功能实现组态王和其他外部数据库(通过ODBC 访问接口)之间的数据传输。它包括组态王的SQL 访问管理器和相关的SQL 函数。 SQL 访问管理器用来建立数据库字段和组态王变量之间的联系,包括“表格模板”和“记录体”两部分。通过表格模板在数据库表中建立相应的表格;通过记录体建立数据库字段和组态王之间的联系。同时允许组态王通过记录体直接操作数据库中的数据。 创建数据源及数据库 首先外建一个数据库,这里我们选用Access 数据库(路径:d:\peixun ,数据库名为:mydb.mdb )。 然后,用Windows 控制面板中自带的ODBC Data Sources (32bit)管理工具新建一个Microsoft Access Driver(*.mdb)驱动的数据源,名为:mine ,然后配置该数据源,指向刚才建立的Access 数据库(即mydb .mdb ),如图8-1所示: 图8-1ODBC 数据源的建立

创建表格模板 1、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL访问管理器”中的“表格模板”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建表格模板对话框,在对话框中建立三个字段,如图8-2所示: 图8-2创建表格模板对话框 2、单击“确认”按钮完成表格模板的创建。 建立表格模板的目的是定义数据库格式,在后面用到SQLCreatTable()函数时以此格式在Access数据库中自动建立表格。 创建记录体 1、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL访问管理器”中的“记录体”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建记录体对话框,对话框设置如图8-3所示: 图8-3创建记录体对话框 记录体中定义了Access数据库表格字段与组态王变量之间的对应关系,对应关系如下所示:

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

第八讲报表系 统 在本课程您将: ì掌握实时报表的创建过程 ì掌握历史报表的创建、查询过程 第一节概述 数据报表的用途 数据报表是反应生产过程中的过程数据、运行状态等,并对数据进行记录、统计的一种重要工具,是生产过程必不可少的一个重要环节。它既能反应系统实时的生产情况又能对长期的生产过程数据进行统计、分析,使管理人员能够掌握和分析生产过程情况。 组态王提供内嵌式报表系统,工程人员可以任意设置报表格式,对报表进行组态。组态王为工程人员提供了丰富的报表函数,实现各种运算、数据转换、统计分析、报表打印等。既可以制作实时报表又可以制作历史报表。另外,工程人员还可以制作各种报表模板,实现多次使用,以免重复工作。 第二节实时数据报表 创建实时数据报表 实时数据报表创建过程如下: 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准备工作 1.1创建数据源及数据库 1.右键新建一个Access数据库(D:\example,数据库名:ku.mdb)。 2.依次点击屏幕左下角“开始\控制面板\管理工具”,双击“数据源 (ODBC)”打开ODBC数据源管理器如错误!未找到引用源。: 图 1 3.点击“添加”新建一个数据源,驱动程序选择“Microsoft Access Driver(*.mdb)”点击“完成”,如错误!未找到引用源。:

图 2 4.配置该数据源,数据源名:yuan。指向新建的Access 数据库 (ku.mdb)步骤如错误!未找到引用源。所示: 图 3

1.2创建表格模板 打开工程“yangli”在工程浏览器窗口左侧找到“系统\SQL访问管理器\表格模板”选项如图 4,在右侧双击“新建”打开如图 5“创建表格模板”对话框。 图 4 模板名称:muban1,,依次输入字段名称:ziduan1、字段长度:9,选择变量类型为:定长字符串型,点击增加字段。用同样方法增加字段ziduan2、ziduan3。 图 5 1.3创建记录体 注意:记录体中的字段名称必须与表格模板中的字段名称保持一致,记录体中字段对应的变量数据类型必须和表格模板中相同字段对应的数据类型相同。 1.在工程浏览器窗口“数据库\数据词典”中新增三个内存字符串型变量 (ziduan1、 ziduan2、ziduan3)。

2.找到工程浏览器窗口左侧“SQL 访问管理器\记录体”选项,双击右侧 “新建”图标建立名为“jiluti1”的记录体,对话框设置如图 6所 示: 图 6 依次增加ziduan1、ziduan2、ziduan3三个字段点击“确认”。 2连接并插入记录 2.1连接数据库并创建数据库表格 1.在工程浏览器窗口“数据库\数据词典”中定义一个内存整型变量: 变量名:DeviceID 变量类型:内存整型 2.在工程浏览器窗口的“命令语言\应用程序命令语言\启动时”窗口输入 命令: SQLConnect( DeviceID, "dsn=yuan;uid=;pwd="); SQLCreateTable( DeviceID, "biaoge1", "muban1" ); 命令语言中的“yuan”为前面配置的数据源的名称。 3.在工程浏览器窗口的“命令语言\应用程序命令语言\停止时”窗口输入 命令: SQLDisconnect( DeviceID);

组态王软件详细教程 第十讲 控件

第十讲控件 控件的作用 控件可以作为一个相对独立的程序单位被其他应用程序重复调用。控件的接口是标准的,凡是满足这些接口条件的控件,包括其他软件供应商开发的控件,都可以被组态王支持。组态王中提供的控件在外观上类似于组合图素,工程人员只需把它放在画面上,然后配置控件的属性,进行相应的函数连接,控件就能完成复杂的功能。 使用xy控件 本节将建立一个画面,利用组态王提供的x-y控件显示成品油液位和成品罐压力之间的关系曲线。 在工程浏览器左侧选中“画面”,在右侧双击“新建”画面,建立名称为“控件”的画面。 在画面中选择菜单“编辑\插入控件”,如下图所示: 在对话框右侧单击“x-y轴曲线”,然后单击“创建”按钮;

在画面上绘制x-y曲线。然后在画面上双击该曲线控件,弹出设置对话框,设置属性如下: 为使x-y曲线控件实时反应变量值,需要为该控件添加命令语言。在画面空白处点击鼠标右 键,在快捷菜单中选择“画面属性”,弹出“画面属性”对话框。单击其中的“命令语言”按钮。 画面语言包括“显示时”、“存在时”、“隐含时”三种。 →在画面“存在时”命令语言中,输入命令语言如下图所示: 定义完毕后,点击“确认”按钮,然后保存作的设置。 注意两个变量都是可以变化的。

切换画面到运行系统,打开相应画面,控件运行情况如下图所示: 使用窗口控件 单选按钮控件 双击该控件,对控件进行属性配置。 控件名称是唯一标识该控件的一个名称。 变量名称对应一个整型(实型)变量,运行时选择任一个按钮都会使该变量对应一个整数值(0、1、2……)。 可以对该控件设置访问权限。 可以设置按钮个数,修改按钮对应文字。 可以设置排列为横向或纵向。

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

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

组态王连接Accesss大数据库与历史曲线显示

我是依据组态王帮助文件里面的案例,不过我写的会更详细! 以某工业现场应用为例,需要对原料进行称量,并记录原料的生产厂家、原料编号、称量日期、称量时间,值班人员、原料重量。针对这种关系数据,使用组态王的历史库是无法记录的,因此我们使用关系数据库Access 进行记录。下面就以此为例来演示完成这一现场需求的设置步骤。 操作步骤: 1、新建数据库以及表: 1.1)在Access 中新建一个空数据库,例如建立路径为:D:\数据库存储例程\数据.mdb。 1.2)在数据库D:\数据库存储例程\数据.mdb 中创建一个数据表:表的名称为:原料数据。字段为:称量日期、称量时间、原料重量、原料厂家、原料编号、值班人员、datetime(这个变量是我自己需要历史曲线用的)。如下图所示:(下面的值是我测试的) 其中原料重量字段类型为“数字”设置为“单精度”,datetime设置为日期/时间默认值改为now()。其余为“文本”类型。(这里默认的视图是数据表视图,要切换到设计视图,如图所示:)

在这下面设置字段大小为单精度型,小数位数为2(这个按自己需求设置位数)。 2、设置ODBC 数据源: 2.1) 在“控制面板”-----“管理工具”----“ODBC 数据源”中建立ODBC 数据源,点击“ODBC数据源”弹出“ODBC 数据源管理器”,如下图所示:(这里注意的是如果系统是64位系统的话,则打开C:\Windows\SysWOW64\odbcad32.exe)

2.2) 在“用户DSN”中点击“添加”,弹出“选择数据源驱动程序”窗口,如下图所示:选择“Microsoft Access Driver (*.mdb)”驱动,点击“完成”。弹出如图所示窗口,填写ODBC数据源的名称,根据需要对数据源进行命名,如“数据”,点击“选择(S)”,如图所示,选择我们前面定义的数据库文件“D:\数据库存储例程\数据.mdb”。点击“确定”完成ODBC 数据源的定义,如图所示。其他数据库如SQLServer 的ODBC 定义请参考相关文档。

用组态王报表

用组态王报表实现显示设备启动、停止时间和运行时长的方法 在对设备的状态进行监控中,往往要取得一些参数来记录和分析设备的运行状况。这其中就包括设备的启动时间、停止时间和运行的时长。当然,组态软件不会有这样的功能,让我们轻易实现。不过,通过组态软件的报表功能,再通过二次开发,写一些脚本语言。实现起来倒也不难。以下,以组态王为例,是对操作过程的描述,希望能够对需要的人有一些帮助。 总体思路:以一个项目为例。在这个工程中,有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

相关文档
最新文档