KVHTrend控件使用方法1.docx

上传人:b****4 文档编号:4343962 上传时间:2022-11-30 格式:DOCX 页数:16 大小:632.65KB
下载 相关 举报
KVHTrend控件使用方法1.docx_第1页
第1页 / 共16页
KVHTrend控件使用方法1.docx_第2页
第2页 / 共16页
KVHTrend控件使用方法1.docx_第3页
第3页 / 共16页
KVHTrend控件使用方法1.docx_第4页
第4页 / 共16页
KVHTrend控件使用方法1.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

KVHTrend控件使用方法1.docx

《KVHTrend控件使用方法1.docx》由会员分享,可在线阅读,更多相关《KVHTrend控件使用方法1.docx(16页珍藏版)》请在冰豆网上搜索。

KVHTrend控件使用方法1.docx

KVHTrend控件使用方法1

KVHTrend控件使用方法

KVHTrend曲线控件是组态王以ActiveX控件形式提供的绘制历史曲线和ODBC数据库曲线的功能性工具。

通过该控件,不但可以实现历史曲线的绘制,还可以实现ODBC数据库中数据记录的曲线绘制,而且在运行状态下,可以实现在线动态增加/删除曲线、曲线图表的无级缩放、曲线的动态比较、.曲线的打印等。

该曲线控件最多可以绘制16条曲线。

1、创建历史曲线控件:

在组态王开发系统中新建画面,在工具箱中单击“插入通用控件”或选择菜单“编辑”下的“插入通用控件”命令,弹出“插入控件”对话框,在列表中选择“历史趋势曲线”,单击“确定”按钮,对话框自动消失,鼠标箭头变为小“十”字型,在画面上选择控件的左上角,按下鼠标左键并拖动,画面上显示出一个虚线的矩形框,该矩形框为创建后的曲线的外框。

当达到所需大小时,松开鼠标左键,则历史曲线控件创建成功,画面上显示出该曲线,如图1所示。

图1历史曲线控件

2、设置控件固有属性:

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

控件固有属性含有两个属性页:

曲线、坐标系。

下面详细介绍每个属性页中的含义。

2、1曲线属性页

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

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

Ø列表框:

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

Ø“增加”按钮:

增加变量到曲线图表,并定义曲线绘制方式。

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

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

图3增加曲线

●变量名称:

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

●曲线定义:

线类型:

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

线颜色:

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

绘制方式:

曲线的绘制方式有四种:

模拟、阶梯、逻辑、棒图,可以任选一种。

隐藏曲线:

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

●曲线比较:

通过设置曲线比较时间差,使曲线绘制位置有一个时间轴上的平移,这样通过关联的变量名相同,但一个是显示与时间轴相同的时间的数据,另一个作比较的曲线显示与时间轴的时间差为某个值的数据(如一天前),从而达到用两条曲线来实现了曲线比较的目的。

●数据来源:

选择曲线使用的数据来源,可同时支持组态王历史库和ODBC数据源。

若选择ODBC数据源,必须先配置数据源.具体配置方法如下:

1、启动控制面板中的数据源ODBC。

单击“系统DSN”项。

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

2、选择所需数据源的驱动如“MicrosoftAccressDriver(*.mdb)”,单击“完成”按钮。

弹出“ODBCMicrosoftAccress安装”对话框。

3、在“数据源名”中定义一个数据源名称,数据库“选择”中选择曲线数据所在的数据库,此数据库的表至少有三个字段:

时间字段、数据字段、毫秒字段。

单击“确定”,新创建的数据源就添加到“系统DSN”列表中。

数据源:

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

表名称:

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

时间字段:

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

数据字段:

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

毫秒字段:

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

无效值:

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

比如:

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、VoidCurveVarName(long1Index,BSTR1pszNewValue);

Ø功能:

改变历史曲线所连接的变量

Ø参数:

1Index:

曲线索引号

1pszNewValue:

变量名

Ø举例:

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

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

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

2、VoidChangeCurveVarNameForODBC(LONGlIndex,STRINGszNewName,STRINGszDSN,STRINGszUser,STRINGszPwd,STRINGszTable,STRINGszDateTimeField,STRINGszMilliSecondField,STRINGszDataField,STRINGszInvalidValue);

Ø功能:

改变历史曲线所连接的变量

Ø参数:

lIndex:

曲线索引号

szNewName:

所连接变量

szDSN:

使用的数据源名

szUser:

用户名

szPwd:

密码

szTable:

数据库的表名

szDateTimeField:

表中对应的时间字段

szMilliSecondField:

表中对应的毫秒字段

szDataField:

表中对应的数据字段

szInvalidValue:

表中对应的无效值

Ø举例:

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

m.ChangeCurveVarNameForODBC(2,"\\本站点\v2","ocx","市场","abcd","milli","date","ms","data",);

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

3、StringHTGetTimeStringAtScooter(shortnScootNum,StringszFormat);

Ø功能:

取得指定指示器处字符串格式的时间

Ø参数:

nScootNum:

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

szFormat:

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

“Date”:

以Windows控制面板相同格式显示日期

“Time”:

以Windows控制面板相同格式显示时间

“DateTime”:

以Windows控制面板相同格式显示日期时间

Ø返回值:

字符串型日期时间值

Ø举例:

定义DatTim为字符串型变量,取得当前左指示器的日期时间字符串

DatTim=HTGetTimeStringAtScooter(1,”DateTime”);

2、FloatHTGetPenRealValue(shortnPenNum,StringszContent);

Ø功能:

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

Ø参数:

nPenNum:

曲线索引,1~16

szContent:

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

“Start”:

将下限值的工程白分比转换为实际值

“End”:

将上限值的工程白分比转换为实际值

“Valid”:

判断取得的值是否有效,0—无效,1—有效

Ø返回值:

工程百分比对应的实际值

Ø举例:

定义PenVal实数型变量,取得第一条曲线当前下限值的实际值

PenVal=HTGetPenRealValue(1,”Start”);

3、FloatHTGetValue(shortnPenNum,StringszValType);

Ø功能:

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

Ø参数:

nPenNum:

曲线索引,1~16

szValType:

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

“AverageValue”:

整个趋势的平均值

“MaxValue”:

整个趋势的最大值

“MinValue”:

整个趋势的最小值

“Valid”:

判断取得的值是否有效,0—无效,1—有效

Ø返回值:

曲线整个图表上(当前可见部分)的最大/最小/平均值

Ø举例:

定义PenVal实数型变量,取得第一条曲线在整个图表上的最大值

PenVal=HTGetValue(1,”MaxValue”);

4、FloatHTGetValueAtScooter(shortnPenNum,shortnScootNum,StringszValType);

Ø功能:

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

Ø参数:

nPenNum:

曲线索引,1~16

nScootNum:

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

szValType:

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

“Value”:

取得指示器处的值

“Valid”:

判断取得的值是否有效,0—无效,1—有效

Ø返回值:

指定曲线在指定指示器处的值

Ø举例:

定义PenVal实数型变量,取得第一条曲线在右指示器处的值

PenVal=HTGetValueAtScooter(1,,2,”Value”);

5、FloatHTGetValueAtZone(shortnPenNum,StringszValType);

Ø功能:

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

Ø参数:

nPenNum:

曲线索引,1~16

szValType:

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

“AverageValue”:

平均值

“MaxValue”:

最大值

“MinValue”:

最小值

“Valid”:

判断取得的值是否有效,0—无效,1—有效

Ø返回值:

指定曲线在左右指示器之间的的最大/最小/平均值

Ø举例:

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

PenVal=HTGetValueAtZone(1,”MaxValue”);

6、VoidHTScrollLeft();

Ø功能:

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

Ø参数:

Ø返回值:

7、VoidHTScrollRight();

Ø功能:

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

Ø参数:

Ø返回值:

8、VoidHTUpdateToCurrentTime();

Ø功能:

将曲线的终止时间设为当前时间

Ø参数:

Ø返回值:

9、VoidHTSetLeftScooterTime(LonglTime,shortsMilliSecond);

Ø功能:

设置曲线时间坐标起点

Ø参数:

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、VoidHTZoomIn(stringszLookString);

Ø功能:

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

Ø参数:

szLookString:

缩放类型

“StartTime”:

保持起始时间与缩放前相等

“EndTime”:

保持终止时间与缩放前相等

“Center”:

保持中心时间与缩放前相等

Ø返回值:

Ø举例:

缩小图表,使中心时间保持不变

HTZoomIn(“Center”);

11、VoidHTZoomOut(stringszLookString);

Ø功能:

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

Ø参数:

szLookString:

缩放类型

“StartTime”:

保持起始时间与缩放前相等

“EndTime”:

保持终止时间与缩放前相等

“Center”:

保持中心时间与缩放前相等

Ø返回值:

Ø举例:

放大图表,使起始时间保持不变

HTZoomIn(“StartTime”);

12、VoidSetTimeParam(longlStartTime,shortsStartms,longlXWidth,shortsXWidthUnit)

Ø功能:

设置历史曲线时间坐标起点、时间轴长度

Ø参数:

longlStartTime时间年月日时分秒部分

shortsMilliSecond时间的毫秒部分

longlXWidth时间轴长度

shortsXWithUnit时间轴长度单位:

0-秒1-分2-时3-日4-毫秒

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1