组态王绘制历史曲线
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.4添加曲线变量:
选中曲线控件点击右键,弹出菜单,选择“控件属性”,弹出历史趋势曲线控件的属性对话框,在“曲线”选项卡,点击“增加”按钮,选择变量“压力”,选择“线类型”、“线颜色”,点击“确定”完成压力曲线的添加。再点击“增加”按钮,选择变量“流量”,选择“线类型”、
“线颜色”,点击“确定”完成流量曲线的添加。
2.2定义变量:
在数据词典中新建两个IO变量,变量名称分别为压力、流量,变量类型为IO实数,连接的设备为前面定义的仿真PLC设备“PLC1”,寄存器分别为INCREA100,DECREA100,数据类型为short,读写属性为“只读”。这样压力变量就会从0开始自动加1,其变化范围是0到100,流量变量从100开始自动减1,其变化范围是0到100。变量基本属性定义画面如下图一、图二所示:
Bool
X轴标记格式—是否显示年
47
XlabelFmtMonth
Bool
X轴标记格式—是否显示月
48
XlabelFmtDay
Bool
X轴标记格式—是否显示日
49
XlabelFmtHour
Bool
X轴标记格式—是否显示时
50
XlabelFmtMinute
Bool
X轴标记格式—是否显示分
51
XlabelFmtSecond
Short
左游标数值显示方式
0.不显时数值
1.一直显示数值
2.移动游标时显示数值
89
RShowVernierValType
Short
右游标数值显示方式
0.不显时数值
1.一直显示数值
2.移动游标时显示数值
90
bPrintSubTitle
Bool
是否打印子标题
91
PrintSubTitle
String
打印子标题
第二种实现方法的优点在于支持同时绘制16条曲线,功能比较完善,可以在系统运行时动态增加、删除、隐藏曲线,还可以修改曲线属性,实现无级缩放,曲线打印等等。许多功能都不需要通过编写脚本的方法实现,使用比较方便。缺点在于无法进行WEB的发布。
操作步骤
1.
KVHTrend曲线控件是组态王以Active X控件形式提供的绘制历史曲线和ODBC数据库曲线的功能性工具。该曲线具有以下特点:
OLE_COLOR
数据库的无效值
6
CurveVarName
String
连接变量名
7
CurveColor
OLE_COLOR
曲线颜色
8
CurveLineType
Short
曲线线形
9
CurveTimeDelay
String
曲线比较时间差
10
CurveDrawType
Short
曲线绘制方式
11
CurveAlmColor
3.1控件的属性与方法
属性及含义列表:
序号
名称
数据类型
含义
1
CurveUseKVHistData
Bool
使用组态王历史数据
2
CruveDSN
String
使用数据源名称
3
CurveTable
String
数据库的表名
4
CurveDateTimeField
String
数据库的时间字段名
5
CurveInvalidColor
1)即可以连接组态王的历史库,也可以通过ODBC数据源连接到其它数据库上,如Access、SQLServer等。
2)连接组态王历史库时,可以定义查询数据的时间间隔,如同在组态王中使用报表查询历史数据时使用查询间隔一样。
3)完全兼容了组态王原有历史曲线的功能。最多可同时绘制16条曲线。
4)可以在系统运行时动态增加、删除、隐藏曲线。还可以修改曲线属性。
功能:改变历史曲线所连接的变量,该变量数据来自ODBC数据源。
参数:lIndex:曲线索引号
szNewName:所连接变量
92
SubTitlePos
Short
子标题位置
控件方法说明:
1. Void ChangeCurveVarName(long 1Index,BSTR 1pszNewValue);
功能:改变历史曲线所连接的变量,该变量数据来自组态王历史库。
参数:1Index:曲线索引号
1pszNewValue:变量名
2. Void ChangeCurveVarNameForODBC(LONG lIndex,STRING szNewName,STRING szDSN,STRING szUser,STRING szPwd,STRING szTable,STRING szDateTimeField,STRING szMilliSecondField,STRING szDataField,STRING szInvalidValue);
背景颜色
23
DrawXYAxis
Bool
是否绘制坐标轴
24
AxisLineType
Short
坐标轴线型
25
AxisColor
OLE_COLOR
坐标轴颜色
26
ShortDivLine
Bool
分割线是否为短线
27
MajXDivNum
Short
X轴主分割线数
28
MinXDivNum
Short
X轴副分割线数
Short
Y轴副分割线线型
35
MajXDivColor
OLE_COLOR
X轴主分割线颜色
36
MinXDivColor
OLE_COLOR
X轴副分割线颜色
37
MajXDivColor
OLE_COLOR
Y轴主分割线颜色
38
MinYDivColor
OLE_COLOR
Y轴副分割线颜色
39
YLabelNum
Short
29
MajYDivNum
Short
Y轴主分割线数
30
MinYDivNum
Short
Y轴副分割线数
31
MajXDivLineType
Short
X轴主分割线线型
32
MinXDivLineType
Short
X轴副分割线线型
33
MajYDivLineType
Short
Y轴主分割线线型
34
MinYDivLineType
5)曲线图表实现无级缩放。
6)可实现某条曲线在某个时间段上的曲线比较。
7)数值轴可以使用工程百分比标识,也可用曲线实际范围标识,二者之间自由切换。
8)可直接打印图表曲线。
9)可以自由选择曲线列表框中的显示内容。
10)可以选择移动游标时是否显示曲线数值。
11)可以在曲线中显示报警区域的背景色
2.
2.1定义设备:
HiHiAlarmAreaDown
Double
高高限报警区下边界位置
75
bHiAlarmArea
Bool
是否显示高限报警区
76
HiAlarmAreaUp
Double
高限报警区上边界位置
77
HiAlarmAreaDown
Double
高限报警区下边界位置
78
bLoAlarmArea
Bool
是否显示低限报警区
68
SampleUS
Bool
是否微秒采样
69
bPrintTitle
Bool
是否打印标题
70
bPrintList
Bool
是否打印曲线列表
71
YUNIT
String
纵轴单位
72
bHiHiAlarmArea
Bool
是否显示高高限报警区
73
HiHiAlarmAreaUp
Double
高高限报警区上边界位置
74
Long
返回当前曲线图表中的曲线数目
57
AdjustWidth
Long
时间轴调整宽度
58
AdjustWidthUnit
short
时间轴调整宽度单位:秒、分、时、日、毫秒
59
Percent
Bool
是否按百分比绘制
60
YMinReal
Doቤተ መጻሕፍቲ ባይዱble
Y轴最小值
61
YMaxReal
Double
Y轴最大值
62
SampleInterval
79
LoAlarmAreaUp
Double
低限报警区上边界位置
80
LoAlarmAreaDown
Double
低限报警区下边界位置
81
bLoLoAlarmArea
Bool
是否显示低低限报警区
82
LoLoAlarmAreaUp
Double
低低限报警区上边界位置
83
LoLoAlarmAreaDown
Double
Long
采样间隔秒
63
SampleIntervalMs
Long
采样间隔毫秒
64
PrintTitle
String
打印标题
65
XLVernierShow
Bool
是否显示左游标
66
XRVernierShow
Bool
是否显示右游标
67
XLabelFmtMicroSecond
Bool
X轴标记格式—是否显示微秒
定义变量压力
定义变量流量
在记录和安全区属性选项卡中我们定义压力和流量变量的数据记录属性,如图三所示,选择“数据变化”记录,变化灵敏度设置为0。
2.3创建趋势曲线:
在组态王开发系统中新建“趋势曲线”画面,在工具箱中单击“插入通用控件”或选择菜单“编辑”下的“插入通用控件”命令,弹出“插入控件”对话框,在列表中选择“历史趋势曲线”,单击“确定”按钮,对话框自动消失,鼠标箭头变为小“十”字型,在画面上选择控件的左上角,按下鼠标左键并拖动,画面上显示出一个虚线的矩形框,该矩形框为创建后的曲线的外框。当达到所需大小时,松开鼠标左键,则历史曲线控件创建成功,画面上显示出该曲线,如图四所示。双击趋势曲线,弹出“动画连接属性”,控件名命名为“HT”。点击确定完成对历史趋势曲线的命名。
功能概述
常规需求:很多工业现场都会要求显示采集量的趋势曲线,包括实时曲线、历史曲线。
组态王中的趋势曲线的实现方法:
1、利用组态王的“工具箱”中的“实时曲线”、“历史曲线”实现。
2、利用组态王的“插入通用控件”中的“历史趋势曲线”实现。
第一种实现方法的优点在于可以进行WEB的发布,实现通过IE浏览器进行浏览。缺点为支持的曲线笔比较少,许多功能的实现需要通过组态王的函数来实现,使用相对要麻烦。
低低限报警区下边界位置
84
LVernierStr
String
左游标附加信息
85
RVernierStr
String
右游标附加信息
86
LVernierAppendStr
Bool
左游标是否显示附加信息
87
RVernierAppendStr
Bool
右游标是否显示附加信息
88
LShowVernierValType
Bool
X轴标记格式—是否显示秒
52
XlabelFmtMilliSecond
Bool
X轴标记格式—是否显示毫秒
53
XWidthUnit
Short
X轴宽度单位:秒、分、时、日
54
XLableColor
OLE_COLOR
X轴标记颜色
55
YLableColor
OLE_COLOR
Y轴标记颜色
56
CurveNum
ODBC数据源用户名
17
CurvePwd
String
ODBC数据源密码
18
CurveSavePwd
Bool
ODBC是否保存密码
19
CurveList
Bool
是否显示曲线列表
20
CtrlBtn
Bool
是否显示控制按钮
21
BorderColor
OLE_COLOR
边界颜色
22
BakColor
OLE_COLOR
新建一个工程,在设备处新建设备,我们在本例中定义一个仿真PLC的设备,设备列表为“PLC-亚控-仿真PLC-串口”,设备名称为“PLC1”。此仿真PLC可以做为虚拟设备与组态王进行通讯。仿真PLC主要有如下的寄存器:自动加1寄存器INCREA,自动减1寄存器DECREA,随机寄存器RADOM,常量寄存器STATIC,常量字符串寄存器STRING,CommErr寄存器。具体的寄存器的使用请参考组态王IO驱动帮助。
在趋势曲线控件属性的“坐标系”选项卡中对坐标系进行设置,我们设置Y轴的起始值为0,最大值为100,不按照百分比绘制,而是按照实际值显示。设置时间轴的显示格式为显示年、月、日、时、分、秒。
添加完成后开发画面如图五所示:
历史趋势曲线
保存画面后,在工程浏览器的“系统配置”-“设置运行系统”中进行“主画面配置”,将“历史曲线”画面设置为主画面。
OLE_COLOR
报警显示颜色
12
CurveHideCurve
Bool
是否隐藏曲线
13
CurveMilliSecondField
String
毫秒字段名称
14
CurveDataField
String
数据字段名称
15
CuryeInvalidValue
String
无效值字段名称
16
CurveUser
String
Y轴标记数
40
YminVal
Double
Y轴标记最小值
41
YmaxVaL
Double
Y轴标记最大值
42
YLableFont
IFontDisp
Y轴标记字体
43
XLabelNum
Short
X轴标记数
44
Xwidth
Short
X轴宽度
45
XLableFont
IFontDisp
X轴标记字体
46
XLabelFmtYear
3.
运行如下图六所示:
趋势曲线控件自带的工具栏中提供了很多方便实用的控制按钮功能供用户来使用,主要包括:调整跨度设置按钮,设置Y轴标记,曲线图表无级缩放,打印曲线,定义新曲线,更新曲线图表终止时间为当前时间,设置图表数值轴和时间轴参数,隐藏/显示变量列表。
这些工具栏基本可以满足客户的使用了,如果还需要进一步的功能可以通过控件的属性、方法来实现。下面我们简单的举例说明控件的属性、方法的使用。
选中曲线控件点击右键,弹出菜单,选择“控件属性”,弹出历史趋势曲线控件的属性对话框,在“曲线”选项卡,点击“增加”按钮,选择变量“压力”,选择“线类型”、“线颜色”,点击“确定”完成压力曲线的添加。再点击“增加”按钮,选择变量“流量”,选择“线类型”、
“线颜色”,点击“确定”完成流量曲线的添加。
2.2定义变量:
在数据词典中新建两个IO变量,变量名称分别为压力、流量,变量类型为IO实数,连接的设备为前面定义的仿真PLC设备“PLC1”,寄存器分别为INCREA100,DECREA100,数据类型为short,读写属性为“只读”。这样压力变量就会从0开始自动加1,其变化范围是0到100,流量变量从100开始自动减1,其变化范围是0到100。变量基本属性定义画面如下图一、图二所示:
Bool
X轴标记格式—是否显示年
47
XlabelFmtMonth
Bool
X轴标记格式—是否显示月
48
XlabelFmtDay
Bool
X轴标记格式—是否显示日
49
XlabelFmtHour
Bool
X轴标记格式—是否显示时
50
XlabelFmtMinute
Bool
X轴标记格式—是否显示分
51
XlabelFmtSecond
Short
左游标数值显示方式
0.不显时数值
1.一直显示数值
2.移动游标时显示数值
89
RShowVernierValType
Short
右游标数值显示方式
0.不显时数值
1.一直显示数值
2.移动游标时显示数值
90
bPrintSubTitle
Bool
是否打印子标题
91
PrintSubTitle
String
打印子标题
第二种实现方法的优点在于支持同时绘制16条曲线,功能比较完善,可以在系统运行时动态增加、删除、隐藏曲线,还可以修改曲线属性,实现无级缩放,曲线打印等等。许多功能都不需要通过编写脚本的方法实现,使用比较方便。缺点在于无法进行WEB的发布。
操作步骤
1.
KVHTrend曲线控件是组态王以Active X控件形式提供的绘制历史曲线和ODBC数据库曲线的功能性工具。该曲线具有以下特点:
OLE_COLOR
数据库的无效值
6
CurveVarName
String
连接变量名
7
CurveColor
OLE_COLOR
曲线颜色
8
CurveLineType
Short
曲线线形
9
CurveTimeDelay
String
曲线比较时间差
10
CurveDrawType
Short
曲线绘制方式
11
CurveAlmColor
3.1控件的属性与方法
属性及含义列表:
序号
名称
数据类型
含义
1
CurveUseKVHistData
Bool
使用组态王历史数据
2
CruveDSN
String
使用数据源名称
3
CurveTable
String
数据库的表名
4
CurveDateTimeField
String
数据库的时间字段名
5
CurveInvalidColor
1)即可以连接组态王的历史库,也可以通过ODBC数据源连接到其它数据库上,如Access、SQLServer等。
2)连接组态王历史库时,可以定义查询数据的时间间隔,如同在组态王中使用报表查询历史数据时使用查询间隔一样。
3)完全兼容了组态王原有历史曲线的功能。最多可同时绘制16条曲线。
4)可以在系统运行时动态增加、删除、隐藏曲线。还可以修改曲线属性。
功能:改变历史曲线所连接的变量,该变量数据来自ODBC数据源。
参数:lIndex:曲线索引号
szNewName:所连接变量
92
SubTitlePos
Short
子标题位置
控件方法说明:
1. Void ChangeCurveVarName(long 1Index,BSTR 1pszNewValue);
功能:改变历史曲线所连接的变量,该变量数据来自组态王历史库。
参数:1Index:曲线索引号
1pszNewValue:变量名
2. Void ChangeCurveVarNameForODBC(LONG lIndex,STRING szNewName,STRING szDSN,STRING szUser,STRING szPwd,STRING szTable,STRING szDateTimeField,STRING szMilliSecondField,STRING szDataField,STRING szInvalidValue);
背景颜色
23
DrawXYAxis
Bool
是否绘制坐标轴
24
AxisLineType
Short
坐标轴线型
25
AxisColor
OLE_COLOR
坐标轴颜色
26
ShortDivLine
Bool
分割线是否为短线
27
MajXDivNum
Short
X轴主分割线数
28
MinXDivNum
Short
X轴副分割线数
Short
Y轴副分割线线型
35
MajXDivColor
OLE_COLOR
X轴主分割线颜色
36
MinXDivColor
OLE_COLOR
X轴副分割线颜色
37
MajXDivColor
OLE_COLOR
Y轴主分割线颜色
38
MinYDivColor
OLE_COLOR
Y轴副分割线颜色
39
YLabelNum
Short
29
MajYDivNum
Short
Y轴主分割线数
30
MinYDivNum
Short
Y轴副分割线数
31
MajXDivLineType
Short
X轴主分割线线型
32
MinXDivLineType
Short
X轴副分割线线型
33
MajYDivLineType
Short
Y轴主分割线线型
34
MinYDivLineType
5)曲线图表实现无级缩放。
6)可实现某条曲线在某个时间段上的曲线比较。
7)数值轴可以使用工程百分比标识,也可用曲线实际范围标识,二者之间自由切换。
8)可直接打印图表曲线。
9)可以自由选择曲线列表框中的显示内容。
10)可以选择移动游标时是否显示曲线数值。
11)可以在曲线中显示报警区域的背景色
2.
2.1定义设备:
HiHiAlarmAreaDown
Double
高高限报警区下边界位置
75
bHiAlarmArea
Bool
是否显示高限报警区
76
HiAlarmAreaUp
Double
高限报警区上边界位置
77
HiAlarmAreaDown
Double
高限报警区下边界位置
78
bLoAlarmArea
Bool
是否显示低限报警区
68
SampleUS
Bool
是否微秒采样
69
bPrintTitle
Bool
是否打印标题
70
bPrintList
Bool
是否打印曲线列表
71
YUNIT
String
纵轴单位
72
bHiHiAlarmArea
Bool
是否显示高高限报警区
73
HiHiAlarmAreaUp
Double
高高限报警区上边界位置
74
Long
返回当前曲线图表中的曲线数目
57
AdjustWidth
Long
时间轴调整宽度
58
AdjustWidthUnit
short
时间轴调整宽度单位:秒、分、时、日、毫秒
59
Percent
Bool
是否按百分比绘制
60
YMinReal
Doቤተ መጻሕፍቲ ባይዱble
Y轴最小值
61
YMaxReal
Double
Y轴最大值
62
SampleInterval
79
LoAlarmAreaUp
Double
低限报警区上边界位置
80
LoAlarmAreaDown
Double
低限报警区下边界位置
81
bLoLoAlarmArea
Bool
是否显示低低限报警区
82
LoLoAlarmAreaUp
Double
低低限报警区上边界位置
83
LoLoAlarmAreaDown
Double
Long
采样间隔秒
63
SampleIntervalMs
Long
采样间隔毫秒
64
PrintTitle
String
打印标题
65
XLVernierShow
Bool
是否显示左游标
66
XRVernierShow
Bool
是否显示右游标
67
XLabelFmtMicroSecond
Bool
X轴标记格式—是否显示微秒
定义变量压力
定义变量流量
在记录和安全区属性选项卡中我们定义压力和流量变量的数据记录属性,如图三所示,选择“数据变化”记录,变化灵敏度设置为0。
2.3创建趋势曲线:
在组态王开发系统中新建“趋势曲线”画面,在工具箱中单击“插入通用控件”或选择菜单“编辑”下的“插入通用控件”命令,弹出“插入控件”对话框,在列表中选择“历史趋势曲线”,单击“确定”按钮,对话框自动消失,鼠标箭头变为小“十”字型,在画面上选择控件的左上角,按下鼠标左键并拖动,画面上显示出一个虚线的矩形框,该矩形框为创建后的曲线的外框。当达到所需大小时,松开鼠标左键,则历史曲线控件创建成功,画面上显示出该曲线,如图四所示。双击趋势曲线,弹出“动画连接属性”,控件名命名为“HT”。点击确定完成对历史趋势曲线的命名。
功能概述
常规需求:很多工业现场都会要求显示采集量的趋势曲线,包括实时曲线、历史曲线。
组态王中的趋势曲线的实现方法:
1、利用组态王的“工具箱”中的“实时曲线”、“历史曲线”实现。
2、利用组态王的“插入通用控件”中的“历史趋势曲线”实现。
第一种实现方法的优点在于可以进行WEB的发布,实现通过IE浏览器进行浏览。缺点为支持的曲线笔比较少,许多功能的实现需要通过组态王的函数来实现,使用相对要麻烦。
低低限报警区下边界位置
84
LVernierStr
String
左游标附加信息
85
RVernierStr
String
右游标附加信息
86
LVernierAppendStr
Bool
左游标是否显示附加信息
87
RVernierAppendStr
Bool
右游标是否显示附加信息
88
LShowVernierValType
Bool
X轴标记格式—是否显示秒
52
XlabelFmtMilliSecond
Bool
X轴标记格式—是否显示毫秒
53
XWidthUnit
Short
X轴宽度单位:秒、分、时、日
54
XLableColor
OLE_COLOR
X轴标记颜色
55
YLableColor
OLE_COLOR
Y轴标记颜色
56
CurveNum
ODBC数据源用户名
17
CurvePwd
String
ODBC数据源密码
18
CurveSavePwd
Bool
ODBC是否保存密码
19
CurveList
Bool
是否显示曲线列表
20
CtrlBtn
Bool
是否显示控制按钮
21
BorderColor
OLE_COLOR
边界颜色
22
BakColor
OLE_COLOR
新建一个工程,在设备处新建设备,我们在本例中定义一个仿真PLC的设备,设备列表为“PLC-亚控-仿真PLC-串口”,设备名称为“PLC1”。此仿真PLC可以做为虚拟设备与组态王进行通讯。仿真PLC主要有如下的寄存器:自动加1寄存器INCREA,自动减1寄存器DECREA,随机寄存器RADOM,常量寄存器STATIC,常量字符串寄存器STRING,CommErr寄存器。具体的寄存器的使用请参考组态王IO驱动帮助。
在趋势曲线控件属性的“坐标系”选项卡中对坐标系进行设置,我们设置Y轴的起始值为0,最大值为100,不按照百分比绘制,而是按照实际值显示。设置时间轴的显示格式为显示年、月、日、时、分、秒。
添加完成后开发画面如图五所示:
历史趋势曲线
保存画面后,在工程浏览器的“系统配置”-“设置运行系统”中进行“主画面配置”,将“历史曲线”画面设置为主画面。
OLE_COLOR
报警显示颜色
12
CurveHideCurve
Bool
是否隐藏曲线
13
CurveMilliSecondField
String
毫秒字段名称
14
CurveDataField
String
数据字段名称
15
CuryeInvalidValue
String
无效值字段名称
16
CurveUser
String
Y轴标记数
40
YminVal
Double
Y轴标记最小值
41
YmaxVaL
Double
Y轴标记最大值
42
YLableFont
IFontDisp
Y轴标记字体
43
XLabelNum
Short
X轴标记数
44
Xwidth
Short
X轴宽度
45
XLableFont
IFontDisp
X轴标记字体
46
XLabelFmtYear
3.
运行如下图六所示:
趋势曲线控件自带的工具栏中提供了很多方便实用的控制按钮功能供用户来使用,主要包括:调整跨度设置按钮,设置Y轴标记,曲线图表无级缩放,打印曲线,定义新曲线,更新曲线图表终止时间为当前时间,设置图表数值轴和时间轴参数,隐藏/显示变量列表。
这些工具栏基本可以满足客户的使用了,如果还需要进一步的功能可以通过控件的属性、方法来实现。下面我们简单的举例说明控件的属性、方法的使用。