当前位置:文档之家› 超级XY曲线控件例程说明文档

超级XY曲线控件例程说明文档

超级XY曲线控件例程说明文档北京亚控科技发展有限公司2009年6月目录1. 功能概述 (1)2. 工程实例 (1)3. 操作步骤 (1)3.1 定义设备 (1)3.2 定义变量 (1)3.3 制作画面 (2)3.4 功能实现说明 (10)3.5 进入运行系统 (12)4. 注意事项 (14)1. 功能概述常规需求:很多工业现场会用到XY曲线,也就是X轴非时间轴的情况。

组态王中的实现方法:1)利用组态王内置控件中的X-Y轴曲线,通过调用此控件的函数来实现。

2)利用组态王通用控件中的超级XY曲线,通过调用此控件的属性、方法来实现。

超级XY曲线相对于X-Y轴曲线功能更加强大,使用更方便。

其主要优势在于提供了更加灵活方便的控件方法来实现更多的功能,Y轴支持多个坐标,最多可以支持16条曲线,曲线可以保存、调用等,所有的功能都提供了相应的控件方法,可以根据需要灵活的在各种命令语言脚本程序中进行调用。

2. 工程实例我们举一个例子来说明超级XY曲线控件的使用。

在此例程中我们定义三个变量,分别为“压力”、“温度”、“密度”,通过XY曲线来观察压力、温度对于密度的影响。

下面就以此为例来演示完成这一要求的具体步骤。

3. 操作步骤3.1定义设备新建一个工程,根据工程中实际使用的设备进行定义,本例程使用亚控的仿真PLC 设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。

3.2定义变量在组态王中定义三个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO 实数类型)。

压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。

温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。

密度变量:最小值0,最大值1,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。

3.3制作画面3.3.1创建画面新建画面,画面名称“超级XY曲线”。

点击工具箱的“插入通用控件”,选择“超级XY曲线”,如图一所示:点击“确定”后,鼠标变成十字形。

然后在画面上画一个矩形框,超级X-Y轴曲线控件就放到画面上了,如图二所示。

双击画面的超级XY曲线控件,为控件命名为:XY曲线。

保存画面。

图一插入超级XY曲线3.3.2控件方法介绍1)void AddNewPoint( double x,double y,short nIndex);给指定曲线添加一个数据点,可以在程序开始时定义要显示的曲线。

参数:x - 设置数据点的x轴坐标值。

y - 设置数据点的y轴坐标值。

nIndex -给出X-Y轴曲线控件中的曲线索引号,取值范围0-7。

返回值:无。

2)void Clear( short nIndex );清除一条曲线数据。

图二超级XY曲线参数: nIndex – 同1。

返回值:无。

3)void ClearAll();清除所有曲线数据。

参数:无。

返回值:无。

4)double GetValueAt( double x, short nIndex);返回对应于X轴点值的Y值点插值。

参数:x – X轴坐标值。

nIndex - 同1。

返回值:相应于x值的Y轴的值。

5)long GetDataCount( short nIndex );返回某一曲线点的数目。

参数: nIndex – 同1。

返回值:返回曲线索引号为nIndex的数据点数目。

6)double GetValueX( long nDataIndex, short nCurveIndex ); 返回曲线中设定点的X轴值。

参数:nDataIndex – 数据点的序号。

nCurveIndex – 同1。

返回值:返回序号为nDataIndex的数据点的X轴的值。

7)double GetValueY( long nDataIndex, short nCurveIndex ); 返回曲线中设定点的Y轴值。

参数:nDataIndex – 数据点的序号。

nCurveIndex – 同1。

返回值:返回序号为nDataIndex的数据点的Y轴的值。

8)void ZoomIn();绘图区放大一倍。

参数:无。

返回值:无。

9)void ZoomOut();绘图区缩小一倍。

参数:无。

返回值:无。

10)void ZoomResume();恢复原大小。

参数:无。

返回值:无。

11)void SetXAxesRange( double XMax, double XMin );设置X轴的最大最小值。

参数:Xmax – X轴的最大值。

Xmin – X轴的最小值。

返回值:无。

12)void SetYAxesRange( double YMax, double YMin );设置Y轴的最大最小值。

参数:Ymax – Y轴的最大值。

Ymin – Y轴的最小值。

返回值:无。

13)void SetXGrids( short nGrids );设置X轴的分度数。

参数:nGrids – 分度数。

返回值:无。

14)void SetYGrids( short nGrids );设置Y轴的分度数。

参数:nGrids – 分度数。

返回值:无。

15)int SaveToFile( LPCSTR szFileName );保存数据到文件。

参数:szFileName – 文件名.返回值:返回错误代码。

如果成功则返回0。

否则:-1 -表示无法打开文件-2 -表示文件名无效-3 -表示写入异常16)int LoadFromFile( LPCSTR szFileName );从文件中加载数据。

参数:szFileName – 文件名。

返回值:返回错误代码。

如果成功则返回0。

否则:-1 -表示文件无法打入-2 -表示文件名无效-3 -表示文件格式不正确-4 -表示读入错误17)BOOL SetChartProperty( LPCSTR szName, LPCSTR szProperty );设置XY控件的属性。

参数:szName – 属性名。

szProperty – 属性值。

3.3.3控件属性设置利用超级XY曲线控件的方法实现描点的功能,我们首先对XY曲线控件进行设置,选择画面中的XY曲线,点击右键弹出快捷菜单,选择“控件属性”,弹出XY曲线控件的属性设置,如图三所示:选择“坐标”选项卡,对X轴、Y轴的坐标进行设置,首先设置X轴坐标为最大值1,最小值0,小数位数为2,设置X轴标题为“密度”。

然后设置Y轴坐标,先设置Y Axis 0,设置Y轴标题为“压力”,最大值为100,最小值为0,然后点击“更新Y轴信息”,完成Y Axis 0的设置。

如图四所示:再设置Y Axis 1,选中Y Axis 1,设置Y轴标题为“温度”,设置“显示Y轴”,设置最大值为50,最小值为0,修改“在曲线画图区水平位置”设置项的“在画图区边界的第1条纵轴”,然后点击“更新Y轴信息”,完成Y Axis 1的设置。

如图五所示:图三超级XY曲线控件属性设置控件属性的“曲线”选项卡:设置“曲线0”对应的Y轴为“Y Axis 0”,设置“曲线1”对应的Y周为“Y Axis 1”。

如图六所示:点击“确定”完成超级XY曲线控件属性的设置。

如图七所示:其他相关设置请参考组态王使用手册。

图四坐标选项设置图五坐标选项设置图六曲线选项设置图七超级XY曲线控件3.4功能实现说明设置完超级XY曲线控件属性后,我们通过调用控件的方法来实现描点的功能,主要用到的控件方法为:void AddNewPoint( double x,double y,short nIndex);给指定曲线添加一个数据点,可以在程序开始时定义要显示的曲线。

参数:x - 设置数据点的x轴坐标值。

y - 设置数据点的y轴坐标值。

nIndex -给出X-Y轴曲线控件中的曲线索引号,取值范围0-7。

返回值:无。

void ClearAll();清除所有曲线数据。

参数:无。

返回值:无。

点击鼠标右键,弹出快捷菜单,选择“画面属性”,弹出画面属性窗口,点击“命令语言”进入画面命令语言编辑窗口,点击“显示时”选项卡,点击编辑窗口下方的“控件”按钮,弹出“控件属性和方法”对话框,在“控件名称”处选择我们的XY曲线控件,名称为“XY曲线”,在“查看类型”处选择“控件方法”,在“属性或方法”项中选择“ClearAll”,如图八所示:点击“确定”。

完成画面命令语言的“显示时”命令语言的编辑,如图九所示。

实现当画面打开时清除所有的曲线数据。

图八调用控件方法图九画面命令语言-显示时切换到“存在时”选项卡,将“每3000毫秒”改为“每1000毫秒”,通过上述方式调用控件的方法“AddNewPoint”,如图十所示,命令语言如下:XY曲线.AddNewPoint(\\本站点\密度,\\本站点\压力,0);XY曲线.AddNewPoint(\\本站点\密度,\\本站点\温度,1);完成画面命令语言的编辑后,点击“确定”,返回画面编辑窗口。

在画面中添加文本:温度:,##,压力:,##,密度:,##,对## 双击进行动画连接,使用“模拟值输出”分别连接对应的变量:温度,压力,密度。

编辑完成后保存画面。

在工程浏览器的“系统设置”中的“设置运行系统”中进行“主画面配置”,将画面“超级XY曲线”画面配置为主画面。

3.5进入运行系统画面开发完成点击工程浏览器的“View”按钮切换到运行系统。

系统运行后会将主画面打开,温度、压力与密度关系的XY曲线显示到画面中,如图十一所示:图十画面命令语言-存在时图十一超级XY曲线控件运行画面可以通过控件本身带的工具栏实现超级XY曲线的放大、缩小、平移、保存、调用、打印等等许多功能,工具栏的这些功能也可以通过调用超级XY曲线控件的方法通过命令语言来实现。

其他详细的使用请参考组态王使用手册或者组态王帮助文档。

4. 注意事项1)多Y轴坐标的使用时注意需要在“曲线”选项卡中对每一条曲线对应的坐标轴进行设置,默认所有的曲线对应的都是坐标轴Y Axis 0。

2)此控件无法在WEB上进行发布。

3)本演示工程只是简单的超级XY曲线控件使用的例程,更深一步的学习使用请参考组态王使用手册、组态王帮助文档,或者参加组态王培训班。

如有问题请致电亚控公司技术部。

相关主题