龙空技术网

如何在组态王中使用超级 XY 曲线控件?作为工控人,你值得拥有

风歌树舞 620

前言:

现时看官们对“趋势图怎么改横坐标文字”大体比较珍视,你们都想要分析一些“趋势图怎么改横坐标文字”的相关资讯。那么小编同时在网摘上网罗了一些对于“趋势图怎么改横坐标文字””的相关知识,希望你们能喜欢,各位老铁们一起来学习一下吧!

一、功能概述

常规需求:很多工业现场会用到 XY 曲线,也就是 X 轴非时间轴的情况。组态王中的实现方法:

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

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

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

二、工程实例

我们举一个例子来说明超级 XY 曲线控件的使用。在此例程中我们定义三个变量,分别为

"压力"、"温度"、"密度",通过 XY 曲线来观察压力、温度对于密度的影响。下面就以此为例来演示完成这一要求的具体步骤。

三、操作步骤:

1、定义设备:

根据工程中实际使用得设备进行定义,本例程使用亚控的仿真 PLC 设备,使用"PLC- 亚控-仿真 PLC-串口"驱动,定义设备名称为"PLC" 。

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.1) 创建画面:

新建画面,画面名称"超级 XY 曲线"。点击工具箱的"插入通用控件",选择"超级 XY曲线",如图一所示:点击"确定"后,鼠标变成十字形。然后在画面上画一个矩形框,超级 X-Y 轴曲线控件就放到画面上了,如图二所示。双击画面的超级 XY 曲线控件,为控件命名为:

XY 曲线。保存画面。

图一 插入超级 XY 曲线

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) 控件属性设置:

利用超级 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 曲线"画面配置为主画面。

4. 进入运行系统:

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

系统运行后会将主画面打开,温度、压力与密度关系的 XY 曲线显示到画面中,如图十一所示:

图十 画面命令语言-存在时

图十一 超级 XY 曲线控件运行画面

可以通过控件本身带的工具栏实现超级 XY 曲线的放大、缩小、平移、保存、调用、打印等等许多功能,工具栏的这些功能也可以通过调用超级 XY 曲线控件的方法通过命令语言来实现。

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

四、注意事项

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

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

有好的知识,就要与大家分享,分享是一种精神,无需隐藏!加油!!!

标签: #趋势图怎么改横坐标文字