组态王绘制历史曲线

目录

功能概述 . .................................................................................................................................. 1 操作步骤 . .................................................................................................................................. 1

1. 历史趋势曲线控件的特点 . ...................................................................................... 1 2. 创建新的工程 . .......................................................................................................... 2 3. 然后切换到运行系统 . .............................................................................................. 2 注意事项 . .................................................................................................................................. 9

功能概述

常规需求:很多工业现场都会要求显示采集量的趋势曲线, 包括实时曲线、历史曲线。 组态王中的趋势曲线的实现方法:

1、利用组态王的“工具箱”中的“实时曲线”、“历史曲线”实现。 2、利用组态王的“插入通用控件”中的“历史趋势曲线”实现。

第一种实现方法的优点在于可以进行WEB 的发布,实现通过IE 浏览器进行浏览。缺点为支持的曲线笔比较少,许多功能的实现需要通过组态王的函数来实现,使用相对要麻烦。 第二种实现方法的优点在于支持同时绘制16条曲线,功能比较完善,可以在系统运行时动态增加、删除、隐藏曲线,还可以修改曲线属性,实现无级缩放,曲线打印等等。许多功能都不需要通过编写脚本的方法实现,使用比较方便。缺点在于无法进行WEB 的发布。

操作步骤

1. 历史趋势曲线控件的特点

KVHTrend 曲线控件是组态王以Active X控件形式提供的绘制历史曲线和ODBC 数据库曲线的功能性工具。该曲线具有以下特点: 1) 即可以连接组态王的历史库,也可以通过ODBC 数据源连接到其它数据库上,如Access 、

SQLServer 等。

2) 连接组态王历史库时,可以定义查询数据的时间间隔,如同在组态王中使用报表查询历

史数据时使用查询间隔一样。

3) 完全兼容了组态王原有历史曲线的功能。最多可同时绘制16条曲线。 4) 可以在系统运行时动态增加、删除、隐藏曲线。还可以修改曲线属性。 5) 曲线图表实现无级缩放。

6) 可实现某条曲线在某个时间段上的曲线比较。

7) 数值轴可以使用工程百分比标识,也可用曲线实际范围标识,二者之间自由切换。 8) 可直接打印图表曲线。

9) 可以自由选择曲线列表框中的显示内容。 10) 可以选择移动游标时是否显示曲线数值。 11) 可以在曲线中显示报警区域的背景色

2. 创建新的工程

2.1 定义设备:

新建一个工程,在设备处新建设备,我们在本例中定义一个仿真PLC 的设备,设备列表为“PLC -亚控-仿真PLC -串口” ,设备名称为“PLC1”。此仿真PLC 可以做为虚拟设备与组态王进行通讯。仿真PLC 主要有如下的寄存器:自动加1寄存器INCREA ,自动减1寄存器DECREA ,随机寄存器RADOM ,常量寄存器 STATIC ,常量字符串寄存器STRING ,CommErr 寄存器。具体的寄存器的使用请参考组态王IO 驱动帮助。

2.2 定义变量:

在数据词典中新建两个IO 变量,变量名称分别为压力、流量,变量类型为IO 实数,连接的设备为前面定义的仿真PLC 设备“PLC1”,寄存器分别为INCREA100,DECREA100,数据类型为short ,读写属性为“只读”。这样压力变量就会从0开始自动加1,其变化范围是0到100,流量变量从100开始自动减1,其变化范围是0到100。变量基本属性定义画面如下图一、图二所示: 定义变量压力 定义变量流量

在记录和安全区属性选项卡中我们定义压力和流量变量的数据记录属性,如图三所示,选择“数据变化”记录,变化灵敏度设置为0。

2.3 创建趋势曲线:

在组态王开发系统中新建“趋势曲线”画面,在工具箱中单击“插入通用控件”或选择菜单“编辑”下的“插入通用控件”命令,弹出“插入控件”对话框,在列表中选择“历史趋势曲线”,单击“确定”按钮,对话框自动消失,鼠标箭头变为小“十”字型,在画面上选择控件的左上角,按下鼠标左键并拖动,画面上显示出一个虚线的矩形框,该矩形框为创建后的曲线的外框。当达到所需大小时,松开鼠标左键,则历史曲线控件创建成功,画面上显示出该曲线,如图四所示。双击趋势曲线,弹出“动画连接属性”,控件名命名为“HT”。点击确定完成对历史趋势曲线的命名。

2.4 添加曲线变量:

选中曲线控件点击右键,弹出菜单,选择“控件属性”,弹出历史趋势曲线控件的属性对话框,在“曲线”选项卡,点击“增加”按钮,选择变量“压力”,选择“线类型”、“线颜色”,点击“确定”完成压力曲线的添加。再点击“增加”按钮,选择变量“流量”,选择“线类型”、 “线颜色”,点击“确定”完成流量曲线的添加。

在趋势曲线控件属性的“坐标系”选项卡中对坐标系进行设置,我们设置Y 轴的起始值为0,最大值为100,不按照百分比绘制,而是按照实际值显示。设置时间轴的显示格式为显示年、月、日、时、分、秒。

添加完成后开发画面如图五所示: 历史趋势曲线

保存画面后,在工程浏览器的“系统配置”-“设置运行系统”中进行“主画面配置”,将“历史曲线”画面设置为主画面。

3. 然后切换到运行系统

运行如下图六所示:

趋势曲线控件自带的工具栏中提供了很多方便实用的控制按钮功能供用户来使用,主要包括:调整跨度设置按钮,设置Y 轴标记,曲线图表无级缩放,打印曲线,定义新曲线,更新曲线图表终止时间为当前时间,设置图表数值轴和时间轴参数,隐藏/显示变量列表。

这些工具栏基本可以满足客户的使用了,如果还需要进一步的功能可以通过控件的属性、方法来实现。下面我们简单的举例说明控件的属性、方法的使用。

3.1 控件的属性与方法

属性及含义列表:

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);

功能:改变历史曲线所连接的变量,该变量数据来自ODBC 数据源。 参数:lIndex :曲线索引号 szNewName :所连接变量 szDSN :使用的数据源名 szUser :用户名 szPwd :密码

szTable :数据库的表名

szDateTimeField :表中对应的时间字段 szMilliSecondField :表中对应的毫秒字段

szDataField :表中对应的数据字段 szInvalidValue :表中对应的无效值

3. String HTGetTimeStringAtScooter(short nScootNum,String szFormat); 功能:取得指定指示器处的时间,该时间为字符串格式 参数:nScootNum :指示器索引,1—左、2—右

szFormat :指定所需要的时间字符串格式,可为下列之一: “Date”:以Windows 控制面板相同格式显示日期 “Time”:以Windows 控制面板相同格式显示时间

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

4. Float HTGetPenRealValue(short nPenNum,String szContent); 功能:取得指定曲线Y 轴(数值轴)起点或终点的实际值 参数:nPenNum :曲线索引,1~16

szContent :指定所需要类型,可为下列之一: “Start”:将Y 轴下限值的工程百分比转换为实际值 “End”:将Y 轴上限值的工程百分比转换为实际值 “Valid”:判断取得的值是否有效,0—无效,1—有效 返回值:工程百分比对应的实际值

5. Float HTGetValue(short nPenNum,String szValType);

功能:取得指定曲线整个图表上(当前可见部分)的最大/最小/平均值 参数:nPenNum :曲线索引,1~16

szValType :指定所需要的计算类型,可为下列之一: “AverageValue”:整个趋势的平均值 “MaxValue”:整个趋势的最大值 “MinValue”:整个趋势的最小值

“Valid”:判断取得的值是否有效,0—无效,1—有效

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

6. Float HTGetValueAtScooter(short nPenNum,short nScootNum,String szValType); 功能:取得指定曲线在指示器位置处所要求的值 参数:nPenNum :曲线索引,1~16

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

szValType :指定所需要类型,可为下列之一: “Value”:取得指示器处的值

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

7. Float HTGetValueAtZone(short nPenNum,String szValType); 功能:取得指定曲线在左右指示器之间的的最大/最小/平均值 参数:nPenNum :曲线索引,1~16

szValType :指定所需要的计算类型,可为下列之一: “AverageValue”:平均值 “MaxValue”:最大值 “MinValue”:最小值

“Valid”:判断取得的值是否有效,0—无效,1—有效

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

8. Void HTScrollLeft();

功能:将曲线的起始时间左移一个调整跨度 参数:无 返回值:无

9. Void HTScrollRight();

功能:将曲线的起始时间右移一个调整跨度 参数:无 返回值:无

10. Void HTUpdateToCurrentTime();

功能:将曲线的终止时间设为当前时间 参数:无 返回值:无

11. Void HTSetLeftScooterTime(Long lTime,short sMilliSecond); 功能:设置曲线时间坐标起点

参数:lTime :时间的年月日时分秒部分,将该时间用HTConvertTime ()函数转换为自1970年1月1日0时到指定时间的秒数 sMilliSecond :时间的毫秒部分 返回值:无

12. Void HTZoomIn(string szLookString);

功能:通过增大时间轴和数值轴长度,使曲线图表缩小 参数:szLookString :缩放类型,可为下列之一: “StartTime”:保持起始时间与缩放前相等 “EndTime”:保持终止时间与缩放前相等 “Center”:保持中心时间与缩放前相等 返回值:无

13. Void HTZoomOut(string szLookString);

功能:通过缩短时间轴和数值轴长度,使曲线图表放大 参数:szLookString :缩放类型,可为下列之一: “StartTime”:保持起始时间与缩放前相等 “EndTime”:保持终止时间与缩放前相等 “Center”:保持中心时间与缩放前相等 返回值:无

14. Void SetTimeParam(long lStartTime, short sStartms, long lXWidth, short sXWidthUnit) 功能:设置历史曲线时间坐标起点、时间轴长度 参数:lStartTime 时间年月日时分秒部分 sStartms 时间的毫秒部分 lXWidth 时间轴长度

sXWithUnit 时间轴长度单位:0-秒 1-分 2-时 3-日 4-毫秒 返回值:无

注:组态王6.5第二版,sXWithUnit 必须为0,即秒,lXWidth 为转换为秒后的时间长度。 15. void SetTimeParamDivided(long sStartYear, long sStartMonth, long sStartDay, long sStartHour, long sStartMinute, long sStartSecond, long sStartms, long lXWidth, long sXWidthUnit)

功能:设置历史曲线时间坐标起点、时间轴长度, 可以直接输入时间参数, 与SetTimeParam 实现的功能相同.

参数:sStartYear 时间的年 sStartMonth 时间的月 sStartDay 时间的日 sStartHour 时间的时 sStartMinute 时间的分 sStartSecond 时间的秒 sStartms 时间的毫秒 lXWidth 时间轴长度

sXWidthUnit 时间轴长度单位:0-秒 返回值:无

16. void SetTimeParamString(STRING strStartTime, STRING strEndTime)

功能:设置历史曲线时间坐标起点、终点, 可以直接输入以字符串形式表示的时间参数 参数:strStartTime 开始时间字符串 strEndTime 结束时间字符串

B 例: m 为历史曲线控件名称,定义按钮弹起时:

m. SetTimeParamString("2004年9月20日13时0分0秒1毫 秒","2004年9月20日15时20分2秒999毫秒")

设置时间轴范围为:2004-9-20 13:00:00:001~2004-9-20 15:20:02:999; 17. ShowCurve(LONG lIndex,BOOL bShow) 功能:显示或隐藏指定的曲线 参数:lIndex 曲线索引,1~16

bShow 取1显示曲线, 取0隐藏曲线 18. void PrintCurve()

功能:打印,与控件打印按钮实现相同功能 参数:无 返回值:无

3.2 属性方法的使用举例:

属性举例:我们举一个简单的例程来说明控件属性的使用:CtrlBtn ,是否显示控制按钮。Bool 类型,1:显示控制按钮,0:隐藏控制按钮。CurveList :是否显示曲线列表。Bool 类型,1:显示曲线列表,0:隐藏曲线列表。假设我们不想让客户利用趋势曲线控件自带的工具栏来实现相应的操作,并且也不显示曲线列表。则可以隐含此工具栏并隐藏曲线列表,利用CtrlBtn 属性、CurveList 属性来实现。

在“历史曲线”画面空白处点击右键,弹出菜单,选择“画面属性”,弹出七所示: 画面属性

点击“命令语言”按钮,进入画面属性命令语言编辑画面,我们在画面“显示时”编写脚本程序,点击“控件”按钮,如下图八所示,弹出控件选择对话框,在控件选择对话框的“控件名称”处选择我们前面定义的历史曲线控件名称“HT”,然后在“查看类型”中选择“控件属性”,则此控件的所有的属性都会列出,我们可以选择需要的控件属性。如图九所示,选择“CtrlBtn”属性。点击“确定”,则画面命令语言编辑框中出现我们所选择的控件的属性。我们对此属性进行赋值如下: HT.CtrlBtn=0;

同样的方法选择CurveList 属性,对此属性进行赋值如下: HT.CurveList=0;

编辑完成的画面命令语言如图十所示:

编辑完成后点击“确定”完成画面属性命令语言的编辑。然后保存“历史曲线”画面进入运行系统,如图十一所示,可以发现工具栏与曲线列表都隐藏了。 画面命令语言编辑框 控件属性 画面命令语言 运行画面 方法举例:因为此控件功能相对比较强大,因此有些客户希望此历史曲线控件能够作为实时曲线来实现,下面我们就利用此控件的方法来实现。控件方法如下: 功能:将曲线的终止时间设为当前时间

我们还是在画面命令语言中进行编辑,这次使用画面命令语言的存在时,点击“控件”按钮,弹出控件选择对话框,在控件选择对话框的“控件名称”处选择我们前面定义的历史曲线控件名称“HT”,然后在“查看类型”中选择“控件方法”,则此控件的所有的方法都会列出,我们可以选择需要的控件方法HTUpdateToCurrentTime 。如图十一所示: 编辑脚本如下:

HT.HTUpdateToCurrentTime(); 控件方法的使用

点击“确定”完成画面命令语言的脚本编辑。保存“历史曲线”画面。然后切换到运行系统。画面如图十二所示: 运行画面

注意事项

1.变量定义时必须定义为记录,如果定义为“不记录”则无法看到历史曲线。 2.在控件使用时需要注意Y 轴坐标的设置要合理。

目录

功能概述 . .................................................................................................................................. 1 操作步骤 . .................................................................................................................................. 1

1. 历史趋势曲线控件的特点 . ...................................................................................... 1 2. 创建新的工程 . .......................................................................................................... 2 3. 然后切换到运行系统 . .............................................................................................. 2 注意事项 . .................................................................................................................................. 9

功能概述

常规需求:很多工业现场都会要求显示采集量的趋势曲线, 包括实时曲线、历史曲线。 组态王中的趋势曲线的实现方法:

1、利用组态王的“工具箱”中的“实时曲线”、“历史曲线”实现。 2、利用组态王的“插入通用控件”中的“历史趋势曲线”实现。

第一种实现方法的优点在于可以进行WEB 的发布,实现通过IE 浏览器进行浏览。缺点为支持的曲线笔比较少,许多功能的实现需要通过组态王的函数来实现,使用相对要麻烦。 第二种实现方法的优点在于支持同时绘制16条曲线,功能比较完善,可以在系统运行时动态增加、删除、隐藏曲线,还可以修改曲线属性,实现无级缩放,曲线打印等等。许多功能都不需要通过编写脚本的方法实现,使用比较方便。缺点在于无法进行WEB 的发布。

操作步骤

1. 历史趋势曲线控件的特点

KVHTrend 曲线控件是组态王以Active X控件形式提供的绘制历史曲线和ODBC 数据库曲线的功能性工具。该曲线具有以下特点: 1) 即可以连接组态王的历史库,也可以通过ODBC 数据源连接到其它数据库上,如Access 、

SQLServer 等。

2) 连接组态王历史库时,可以定义查询数据的时间间隔,如同在组态王中使用报表查询历

史数据时使用查询间隔一样。

3) 完全兼容了组态王原有历史曲线的功能。最多可同时绘制16条曲线。 4) 可以在系统运行时动态增加、删除、隐藏曲线。还可以修改曲线属性。 5) 曲线图表实现无级缩放。

6) 可实现某条曲线在某个时间段上的曲线比较。

7) 数值轴可以使用工程百分比标识,也可用曲线实际范围标识,二者之间自由切换。 8) 可直接打印图表曲线。

9) 可以自由选择曲线列表框中的显示内容。 10) 可以选择移动游标时是否显示曲线数值。 11) 可以在曲线中显示报警区域的背景色

2. 创建新的工程

2.1 定义设备:

新建一个工程,在设备处新建设备,我们在本例中定义一个仿真PLC 的设备,设备列表为“PLC -亚控-仿真PLC -串口” ,设备名称为“PLC1”。此仿真PLC 可以做为虚拟设备与组态王进行通讯。仿真PLC 主要有如下的寄存器:自动加1寄存器INCREA ,自动减1寄存器DECREA ,随机寄存器RADOM ,常量寄存器 STATIC ,常量字符串寄存器STRING ,CommErr 寄存器。具体的寄存器的使用请参考组态王IO 驱动帮助。

2.2 定义变量:

在数据词典中新建两个IO 变量,变量名称分别为压力、流量,变量类型为IO 实数,连接的设备为前面定义的仿真PLC 设备“PLC1”,寄存器分别为INCREA100,DECREA100,数据类型为short ,读写属性为“只读”。这样压力变量就会从0开始自动加1,其变化范围是0到100,流量变量从100开始自动减1,其变化范围是0到100。变量基本属性定义画面如下图一、图二所示: 定义变量压力 定义变量流量

在记录和安全区属性选项卡中我们定义压力和流量变量的数据记录属性,如图三所示,选择“数据变化”记录,变化灵敏度设置为0。

2.3 创建趋势曲线:

在组态王开发系统中新建“趋势曲线”画面,在工具箱中单击“插入通用控件”或选择菜单“编辑”下的“插入通用控件”命令,弹出“插入控件”对话框,在列表中选择“历史趋势曲线”,单击“确定”按钮,对话框自动消失,鼠标箭头变为小“十”字型,在画面上选择控件的左上角,按下鼠标左键并拖动,画面上显示出一个虚线的矩形框,该矩形框为创建后的曲线的外框。当达到所需大小时,松开鼠标左键,则历史曲线控件创建成功,画面上显示出该曲线,如图四所示。双击趋势曲线,弹出“动画连接属性”,控件名命名为“HT”。点击确定完成对历史趋势曲线的命名。

2.4 添加曲线变量:

选中曲线控件点击右键,弹出菜单,选择“控件属性”,弹出历史趋势曲线控件的属性对话框,在“曲线”选项卡,点击“增加”按钮,选择变量“压力”,选择“线类型”、“线颜色”,点击“确定”完成压力曲线的添加。再点击“增加”按钮,选择变量“流量”,选择“线类型”、 “线颜色”,点击“确定”完成流量曲线的添加。

在趋势曲线控件属性的“坐标系”选项卡中对坐标系进行设置,我们设置Y 轴的起始值为0,最大值为100,不按照百分比绘制,而是按照实际值显示。设置时间轴的显示格式为显示年、月、日、时、分、秒。

添加完成后开发画面如图五所示: 历史趋势曲线

保存画面后,在工程浏览器的“系统配置”-“设置运行系统”中进行“主画面配置”,将“历史曲线”画面设置为主画面。

3. 然后切换到运行系统

运行如下图六所示:

趋势曲线控件自带的工具栏中提供了很多方便实用的控制按钮功能供用户来使用,主要包括:调整跨度设置按钮,设置Y 轴标记,曲线图表无级缩放,打印曲线,定义新曲线,更新曲线图表终止时间为当前时间,设置图表数值轴和时间轴参数,隐藏/显示变量列表。

这些工具栏基本可以满足客户的使用了,如果还需要进一步的功能可以通过控件的属性、方法来实现。下面我们简单的举例说明控件的属性、方法的使用。

3.1 控件的属性与方法

属性及含义列表:

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);

功能:改变历史曲线所连接的变量,该变量数据来自ODBC 数据源。 参数:lIndex :曲线索引号 szNewName :所连接变量 szDSN :使用的数据源名 szUser :用户名 szPwd :密码

szTable :数据库的表名

szDateTimeField :表中对应的时间字段 szMilliSecondField :表中对应的毫秒字段

szDataField :表中对应的数据字段 szInvalidValue :表中对应的无效值

3. String HTGetTimeStringAtScooter(short nScootNum,String szFormat); 功能:取得指定指示器处的时间,该时间为字符串格式 参数:nScootNum :指示器索引,1—左、2—右

szFormat :指定所需要的时间字符串格式,可为下列之一: “Date”:以Windows 控制面板相同格式显示日期 “Time”:以Windows 控制面板相同格式显示时间

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

4. Float HTGetPenRealValue(short nPenNum,String szContent); 功能:取得指定曲线Y 轴(数值轴)起点或终点的实际值 参数:nPenNum :曲线索引,1~16

szContent :指定所需要类型,可为下列之一: “Start”:将Y 轴下限值的工程百分比转换为实际值 “End”:将Y 轴上限值的工程百分比转换为实际值 “Valid”:判断取得的值是否有效,0—无效,1—有效 返回值:工程百分比对应的实际值

5. Float HTGetValue(short nPenNum,String szValType);

功能:取得指定曲线整个图表上(当前可见部分)的最大/最小/平均值 参数:nPenNum :曲线索引,1~16

szValType :指定所需要的计算类型,可为下列之一: “AverageValue”:整个趋势的平均值 “MaxValue”:整个趋势的最大值 “MinValue”:整个趋势的最小值

“Valid”:判断取得的值是否有效,0—无效,1—有效

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

6. Float HTGetValueAtScooter(short nPenNum,short nScootNum,String szValType); 功能:取得指定曲线在指示器位置处所要求的值 参数:nPenNum :曲线索引,1~16

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

szValType :指定所需要类型,可为下列之一: “Value”:取得指示器处的值

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

7. Float HTGetValueAtZone(short nPenNum,String szValType); 功能:取得指定曲线在左右指示器之间的的最大/最小/平均值 参数:nPenNum :曲线索引,1~16

szValType :指定所需要的计算类型,可为下列之一: “AverageValue”:平均值 “MaxValue”:最大值 “MinValue”:最小值

“Valid”:判断取得的值是否有效,0—无效,1—有效

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

8. Void HTScrollLeft();

功能:将曲线的起始时间左移一个调整跨度 参数:无 返回值:无

9. Void HTScrollRight();

功能:将曲线的起始时间右移一个调整跨度 参数:无 返回值:无

10. Void HTUpdateToCurrentTime();

功能:将曲线的终止时间设为当前时间 参数:无 返回值:无

11. Void HTSetLeftScooterTime(Long lTime,short sMilliSecond); 功能:设置曲线时间坐标起点

参数:lTime :时间的年月日时分秒部分,将该时间用HTConvertTime ()函数转换为自1970年1月1日0时到指定时间的秒数 sMilliSecond :时间的毫秒部分 返回值:无

12. Void HTZoomIn(string szLookString);

功能:通过增大时间轴和数值轴长度,使曲线图表缩小 参数:szLookString :缩放类型,可为下列之一: “StartTime”:保持起始时间与缩放前相等 “EndTime”:保持终止时间与缩放前相等 “Center”:保持中心时间与缩放前相等 返回值:无

13. Void HTZoomOut(string szLookString);

功能:通过缩短时间轴和数值轴长度,使曲线图表放大 参数:szLookString :缩放类型,可为下列之一: “StartTime”:保持起始时间与缩放前相等 “EndTime”:保持终止时间与缩放前相等 “Center”:保持中心时间与缩放前相等 返回值:无

14. Void SetTimeParam(long lStartTime, short sStartms, long lXWidth, short sXWidthUnit) 功能:设置历史曲线时间坐标起点、时间轴长度 参数:lStartTime 时间年月日时分秒部分 sStartms 时间的毫秒部分 lXWidth 时间轴长度

sXWithUnit 时间轴长度单位:0-秒 1-分 2-时 3-日 4-毫秒 返回值:无

注:组态王6.5第二版,sXWithUnit 必须为0,即秒,lXWidth 为转换为秒后的时间长度。 15. void SetTimeParamDivided(long sStartYear, long sStartMonth, long sStartDay, long sStartHour, long sStartMinute, long sStartSecond, long sStartms, long lXWidth, long sXWidthUnit)

功能:设置历史曲线时间坐标起点、时间轴长度, 可以直接输入时间参数, 与SetTimeParam 实现的功能相同.

参数:sStartYear 时间的年 sStartMonth 时间的月 sStartDay 时间的日 sStartHour 时间的时 sStartMinute 时间的分 sStartSecond 时间的秒 sStartms 时间的毫秒 lXWidth 时间轴长度

sXWidthUnit 时间轴长度单位:0-秒 返回值:无

16. void SetTimeParamString(STRING strStartTime, STRING strEndTime)

功能:设置历史曲线时间坐标起点、终点, 可以直接输入以字符串形式表示的时间参数 参数:strStartTime 开始时间字符串 strEndTime 结束时间字符串

B 例: m 为历史曲线控件名称,定义按钮弹起时:

m. SetTimeParamString("2004年9月20日13时0分0秒1毫 秒","2004年9月20日15时20分2秒999毫秒")

设置时间轴范围为:2004-9-20 13:00:00:001~2004-9-20 15:20:02:999; 17. ShowCurve(LONG lIndex,BOOL bShow) 功能:显示或隐藏指定的曲线 参数:lIndex 曲线索引,1~16

bShow 取1显示曲线, 取0隐藏曲线 18. void PrintCurve()

功能:打印,与控件打印按钮实现相同功能 参数:无 返回值:无

3.2 属性方法的使用举例:

属性举例:我们举一个简单的例程来说明控件属性的使用:CtrlBtn ,是否显示控制按钮。Bool 类型,1:显示控制按钮,0:隐藏控制按钮。CurveList :是否显示曲线列表。Bool 类型,1:显示曲线列表,0:隐藏曲线列表。假设我们不想让客户利用趋势曲线控件自带的工具栏来实现相应的操作,并且也不显示曲线列表。则可以隐含此工具栏并隐藏曲线列表,利用CtrlBtn 属性、CurveList 属性来实现。

在“历史曲线”画面空白处点击右键,弹出菜单,选择“画面属性”,弹出七所示: 画面属性

点击“命令语言”按钮,进入画面属性命令语言编辑画面,我们在画面“显示时”编写脚本程序,点击“控件”按钮,如下图八所示,弹出控件选择对话框,在控件选择对话框的“控件名称”处选择我们前面定义的历史曲线控件名称“HT”,然后在“查看类型”中选择“控件属性”,则此控件的所有的属性都会列出,我们可以选择需要的控件属性。如图九所示,选择“CtrlBtn”属性。点击“确定”,则画面命令语言编辑框中出现我们所选择的控件的属性。我们对此属性进行赋值如下: HT.CtrlBtn=0;

同样的方法选择CurveList 属性,对此属性进行赋值如下: HT.CurveList=0;

编辑完成的画面命令语言如图十所示:

编辑完成后点击“确定”完成画面属性命令语言的编辑。然后保存“历史曲线”画面进入运行系统,如图十一所示,可以发现工具栏与曲线列表都隐藏了。 画面命令语言编辑框 控件属性 画面命令语言 运行画面 方法举例:因为此控件功能相对比较强大,因此有些客户希望此历史曲线控件能够作为实时曲线来实现,下面我们就利用此控件的方法来实现。控件方法如下: 功能:将曲线的终止时间设为当前时间

我们还是在画面命令语言中进行编辑,这次使用画面命令语言的存在时,点击“控件”按钮,弹出控件选择对话框,在控件选择对话框的“控件名称”处选择我们前面定义的历史曲线控件名称“HT”,然后在“查看类型”中选择“控件方法”,则此控件的所有的方法都会列出,我们可以选择需要的控件方法HTUpdateToCurrentTime 。如图十一所示: 编辑脚本如下:

HT.HTUpdateToCurrentTime(); 控件方法的使用

点击“确定”完成画面命令语言的脚本编辑。保存“历史曲线”画面。然后切换到运行系统。画面如图十二所示: 运行画面

注意事项

1.变量定义时必须定义为记录,如果定义为“不记录”则无法看到历史曲线。 2.在控件使用时需要注意Y 轴坐标的设置要合理。


相关内容

  • 组态王实训报告
  • 组态技术应用综合训练 课程报告 13 -- 14 学年 第 一 学期 课题名称 基于组态王的 红绿灯模拟 姓名 xxxxxxxx 学号 xxxxxxxxxx 班级 xxxxxxxxxxxxxx 成绩 目录 摘要 p3 1.1课题设计原理 p3 1.2设计要求 p4 2.1 创建新工程 p5 2.2 ...

  • 组态实训报告1
  • 摘 要 本文记录了基于组态王的三相异步电动机的启停控制,三相异步电动机的完全控制,三相电动机正反转控制,水箱水位监控系统,电机控制旋转动画,水箱水位联动控制和一个机械手的设计. 组态王(kingview)软件是基于Microsoft Windows XP/2000/NT操作系统,由工程管理器.工程浏 ...

  • 组态软件结课论文
  • 兰州理工大学 <组态软件>结课论文 院系: 电信学院 班级: 自动化1班 姓名: 童彤 学号: 09220120 时间: 2012 年 6 月 10日 目录 兰州理工大学 .......................................................... ...

  • 智慧路灯控制系统毕业论文
  • 摘 要 随着城市的发展和科技的进步,路灯控制系统已经越来越与人们的生活息息相关.采用传统的方法控制与维护路灯已经远远不能适应城市现代化发展的要求.一些老的路灯控制方法有很大的弊端比如道路照明不均.浪费能源.维护起来麻烦等等.所以,对于路灯的智能控制,越来越显得势在必行.如今,路灯控制系统采用现代的控 ...

  • 智慧路灯控制系统论文
  • 智慧路灯控制系统 摘 要 随着城市的发展和科技的进步,路灯控制系统已经越来越与人们的生活息息相关.采用传统的方法控制与维护路灯已经远远不能适应城市现代化发展的要求.一些老的路灯控制方法有很大的弊端比如道路照明不均.浪费能源.维护起来麻烦等等.所以,对于路灯的智能控制,越来越显得势在必行.如今,路灯控 ...

  • 组态软件在电力监控系统中应用
  • 第27卷第10期电力自动化设备 V01.27No.10 箜:!!:兰:!昱 :::::::::=::::==::::!::=::::::::!:: 组态软件在电力监控系统中应用 柯志敏.耿长青 (郑州铁路职业技术学院电气工程系,河南郑州450052) 摘要:组态软件包括基本配置组态和应用软件组态.基 ...

  • 地下停车场监控系统
  • 组态软件实训(论文) 题目: 地下停车场监控系统 院(系): 专业班级: 学 号: 学生姓名: rio 指导教师: 教师职称: 副教授 起止时间:2013-06-17至2013-06-28 课程设计(论文)任务及评语 目 录 第1章 课程设计的方案 . ....................... ...

  • MCGS组态液位监控系统设计
  • 液位控制监控系统组态设计 一. 设计目的: 利用MCGS 工控组态软件,结合试验系统,完成上位机监控系统的设计.并且通过本设计,学会组态软件的基本使用方法.组态技术,为从事计算机控制系统方面的工作打下基础. 二. 设计要求: 1.先按照MCGS 组<态软件学习指导>的要求,完成液位控制系 ...

  • 光伏电站电力监控系统设计与选型方案
  • 光伏电站电力监控系统设计与选型方案 安科瑞陈静燕 江苏安科瑞电器制造有限公司江苏江阴214405 1概述 当今世界,煤炭.石油等化石能源频频告急,环境污染问题日益严峻.而太阳能作为最具潜力的可再生能源,因其储量的无限性.存在的普遍性.利用的清洁性以及实用的经济性,越来越被人们所青睐.大力发展光伏产业 ...