【KingFusion】用趋势曲线组件实现实时曲线的步骤

news2024/11/19 8:29:08

哈喽,大家好,我是雷工!
本节学习测试用KingFusion趋势曲线组件实现电流的实时曲线的展示。

一、效果演示:

展示实时曲线的运行效果,效果为KingFunsion3.6通过KingIOServer连接现场系统中实际数据的演示效果。
在这里插入图片描述

二、趋势曲线组件简介

趋势曲线组件用来反应数据变量随时间的变化情况。
趋势曲线有两种:实时趋势曲线和历史趋势曲线。这两种曲线外形都类似于坐标纸,X轴代表时间,Y轴代表变量值。所不同的是,在页面程序运行时,实时趋势曲线随时间变化自动卷动,以快速反应变量的变化,但是不能随时间轴“回卷”,不能查阅变量的历史数据;历史趋势曲线可以完成历史数据的查看工作,但它不会自动卷动,而需要通过命令语言来辅助实现查阅功能。一个页面中可定义数量不限的趋势曲线,在同一个趋势曲线中最多可同时显示64个变量的变化情况。
1、创建趋势曲线
在页面编辑器中点击【图表组件】,进入到图表组件列表中然后选择【趋势曲线】,把趋势曲线拖到绘制区,创建一个趋势曲线,如下图。

在这里插入图片描述

三、趋势曲线属性

在绘制区双击选中添加的趋势曲线,点击右侧的属性-选项卡,即可进入趋势曲线的属性界面,如下图:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1、基本属性
名称:组件对象的名称,此名称不能以数字开头,长度在32个字符以内,其中可包括字母、数字以及下划线,并且不能为空;不能包括以下非法字符:, : ; + - * / % # & ! ~ | ^ <> = {} [] () ?
类型:说明组件的类型,类型为趋势曲线。
描述:添加本组件的描述信息,可以中文或英文信息。
能否被访问:说明本组件是否能被访问,只有“是”和“否”两种模式。
2、位置
横坐标:本组件在画面上的横向位置坐标,以像素为单位;可以输入负值。
纵坐标:本组件在画面上的纵向位置坐标,以像素为单位;可以输入负值。
3、大小
宽度:设置本组件在画面上的宽度,以像素为单位。范围控制在0-32000。
高度:设置本组件在画面上的高度,以像素为单位。范围控制在0-32000。
4、模式
曲线模式:设置趋势曲线的曲线模式,可以从【实时模式】和【历史模式】两种模式中选择。
刷新频率(ms):设置趋势曲线的刷新频率,单位为毫秒。
刷新模式:设置趋势曲线的刷新模式,可以从“自由刷新”和“自作刷新”两种模式中选择。
5、标题属性
标题可见性:是否显示标题。
6、绘图区
绘图区数量:设置趋势曲线的绘图区数量。
7、尺寸策略
水平策略:配置组件在容器中的延展属性。
垂直策略:配置组件在容器中的延展属性。
8、其他属性
是否被锁住:设置本组件是否可以操作,设置为”否“表示可操作,反之不可操作。
是否显示:设置本组件是否显示。
运行是否显示:设置本组件运行时是否显示。
Tooltip是否激活:设置是否激活Tooltip。
提示信息:设置趋势曲线是否显示提示信息。
9、安全策略
优先级:组件所具有的优先级。
安全区:组件所在的安全区。

四、标题属性

选中趋势曲线后,右键选择编辑,点击标题,即可进入标题属性配置界面:

在这里插入图片描述

标题栏属性界面如下所示,属性比较常规,可以尝试修改属性查看修改效果:

在这里插入图片描述

五、数据轴属性

1、在绘制区选中趋势曲线组件—>右键—>点击编辑—>点击数据轴末端【Y轴名称】,如下图中红框所示,即可进入数据轴属性界面:

在这里插入图片描述

2、在数据轴属性界面,可以修改调整“数据轴位置”,“小数位数”,“Y轴线颜色”,“Y轴字体颜色”,“Y轴名称”等属性。

在这里插入图片描述

六、时间轴属性

与数据轴一样,在绘制区选中趋势曲线组件—>右键—>点击编辑—>点击时间轴末端【X轴名称】,即可进入时间轴属性界面,时间轴属性如下:
可以修改调整对应属性。

在这里插入图片描述

七、绘图区属性

在绘制区选中趋势曲线组件,右键,点击编辑,点击绘图区,即可进入绘图区属性界面,修改对应属性:

在这里插入图片描述

八、曲线属性

选中趋势曲线之后,右键编辑然后点击绘图区的曲线,在画面右侧就出现曲线属性配置界面,如图所示。
设置曲线数据源,曲线颜色等参数。

在这里插入图片描述

九、图例属性

选中趋势曲线之后,右键编辑然后点击箭头指向的图例,在画面右侧就出现曲线图例区属性配置界面,如图所示。
设置图例的位置及图例文本颜色。

在这里插入图片描述

十、方法

1 、AddCurve1()
功能:添加数据源为某变量的曲线

调用格式:

组件名.AddCurve1(AreaName, TimeAxisName, DataAxisName, VariateName);
参数:

AreaName:曲线所在绘图区名称,字符串类型,如CharArea1、CharArea2、 CharArea3、CharArea4

TimeAxisName:曲线所关联时间轴名称,字符串类型,如TimeAxis1、 TimeAxis2

DataAxisName:曲线所关联数据轴名称,字符串类型,如DataAxis1、DataAxis2……DataAxis16

VariateName:曲线所关联的变量名,字符串类型,如为空,则该曲线不关联任何变量

返回值:undefined

示例:

// 其中TrendChart1是趋势曲线图素的名称
TrendChart1.AddCurve1("ChartArea1", "TimeAxis1", "DataAxis1", "Tag1");

2 、ChangeCurveDataSource()
功能:变更曲线关联的变量

调用格式:

组件名.ChangeCurveDataSource(CurverName, NewDataSourceName);
参数:

CurverName:曲线名称,字符串类型

NewDataSourceName:关联的新数据源名称,字符串类型

返回值:

True:变更成功

False:变更失败

示例:

// 更换曲线Curve1的关联数据源为Datasource1
TrendChart1.ChangeCurveDataSource("Curve1", "Datasource1");

3 、DeleteCurve()
功能:删除曲线

调用格式:

组件名.DeleteCurve(CurveName);
参数:

CurveName:曲线名称,字符串类型。

返回值:

True:删除成功

False:删除失败

示例:

// 删除曲线Curve1
TrendChart1.DeleteCurve("Curve1");

4 、ClearCurrentCurves()
功能:清除当前所绘制的曲线

调用格式:

组件名.ClearCurrentCurves();
参数:none

返回值:

True:清空成功

False:清空失败

示例:

// 注:此清除函数仅对实时曲线有效果。
TrendChart1.ClearCurrentCurves();

5 、SetLegendltemCustomText()
功能:设置图例区子项自定义文本

调用格式:

组件名.SetLegendltemCustomText(CurveName, LegendltemCustomTex, Arealndex)
参数:

CurveName:曲线名称,字符串类型

LegendltemCustomTex:图例子项文本,字符串类型

Arealndex:绘图区序号

返回值:

True:清空成功

False:清空失败

示例:

// 设置图例区子项自定义文本为Curve1
TrendChart1.SetLegendltemCustomText("Curve1","曲线1",0);

6、 SetTimeAxisText()
功能:设置时间轴文本的倾斜角度

调用格式:

组件名.SetTimeAxisText(TimeAxisName, TetAngl, Arealndex);
参数:

TimeAxisName :时间轴名称,字符串类型

TetAngl:显示的倾斜角度,整型

Arealndex:绘图区序号

返回值:undefined

示例:

// 设置时间轴TimeAxis1的倾斜角度为10.绘图序号为0
TrendChart1.SetTimeAxisText("TimeAxis1", 10, 0);

7、 SetDataAxisType()
功能:设置数据轴类型

调用格式:

组件名.SetDataAxisType(DataAxisName, ShowType, AreaIndex);
参数:

DataAxisName:数据轴名称,字符串类型

ShowType:数据轴类型

AreaIndex:绘图区序号

1 :实际值

2:自适应

返回值:

数据轴类型:1,实际值;2,自适应

执行结果:True:设置成功;False:设置失败

示例:

// 设置数据轴DataAxis1的类型为实际值,绘图区序号0
TrendChart1.SetDataAxisType("DataAxis1", 1, 0);

8 、SetDataAxisRange()
功能:设置数据轴范围,对自适应类型的数据轴无效

调用格式:

组件名.SetDataAxisRange(DataAxisName, MinValue, MaxValue, AreaIndex);
参数:

DataAxisName:数据轴名称,字符串类型

MinValue:数据轴最小值,单位为数据轴所设单位,如果是百分比模式,单位就是%。百分比类型的数据轴MinValue可以<0%,浮点型

MaxValue:数据轴最大值,单位为数据轴所设单位,如果是百分比模式,单位就是%。百分比类型的数据轴MaxVaue可以>10%,浮点型

AreaIndex:绘图区序号

返回值:undefined

示例:

// 设置数据轴DataAxis1的范围为-10~160,绘图区序号0
TrendChart1. SetDataAxisRange("DataAxis1", -10, 160, 0);

9 、SetDataAxisDecimalNum()
功能:设置数据轴显示值的小数位数

调用格式:

组件名.SetDataAxisDecimalNum(DataAxisName, DecimalNum, Areandex);
参数:

DataAxisName:数据轴名称,字符串类型

DecimalNum:设置的小数位个数,整型

Areandex:绘图区序号

返回值:undefined

示例:

// 设置数据轴DataAxis1显示值的小数位数为2位,绘图区序号0
TrendChart1.SetDataAxisDecimalNum("DataAxis1", 2, 0);

10、 setDatas()
功能:设置历史模式趋势曲线数据

调用格式:

组件名.setDatas(data);
参数:

data:曲线数据

返回值:undefined

示例:

//一个绘图区一条曲线
var data = [
    [
        [
            ['2020-03-10 12:00:00', 10],
            ['2020-03-10 12:01:00', 11],
            ['2020-03-10 12:10:00', 20],
            ['2020-03-10 12:20:00', 30],
            ['2020-03-10 12:30:00', 40],
            ['2020-03-10 12:40:00', 50]
        ]
    ]
];
TrendChart1.setDatas(data);
//一个绘图区两条曲线
var data = [
    [
        [
            ['2020-03-10 12:00:00', 10],
            ['2020-03-10 12:01:00', 11],
            ['2020-03-10 12:10:00', 20],
            ['2020-03-10 12:20:00', 30],
            ['2020-03-10 12:30:00', 40],
            ['2020-03-10 12:40:00', 50]
        ],
        [
            ['2020-03-10 12:00:00', 20],
            ['2020-03-10 12:01:00', 21],
            ['2020-03-10 12:10:00', 30],
            ['2020-03-10 12:20:00', 40],
            ['2020-03-10 12:30:00', 50],
            ['2020-03-10 12:40:00', 60]
        ]
    ]
];
TrendChart1.setDatas(data);
//两个绘图区两条曲线
var data = [
    [
        [
            ['2020-03-10 12:00:00', 10],
            ['2020-03-10 12:01:00', 11],
            ['2020-03-10 12:10:00', 20],
            ['2020-03-10 12:20:00', 30],
            ['2020-03-10 12:30:00', 40],
            ['2020-03-10 12:40:00', 50]
        ]
    ],
    [
        [
            ['2020-03-10 12:00:00', 20],
            ['2020-03-10 12:01:00', 21],
            ['2020-03-10 12:10:00', 30],
            ['2020-03-10 12:20:00', 40],
            ['2020-03-10 12:30:00', 50],
            ['2020-03-10 12:40:00', 60]
        ]
    ]
];
TrendChart1.setDatas(data);

十一、后记

以上为KingFusion用趋势曲线组件实现实时曲线的步骤。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/756188.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录-单调栈|ACM模式实践

代码随想录感想 ​​​​​​739. 每日温度 题目描述&#xff1a; 输入输出示例&#xff1a; 思路和想法&#xff1a; 496. 下一个更大元素 I 题目描述&#xff1a; 输入输出示例&#xff1a; 思路和想法&#xff1a; 503. 下一个更大元素 II 题目描述&#xff1a; …

我开源了团队内部基于SpringBoot Web快速开发的API脚手架stater

我们现在使用SpringBoot 做Web 开发已经比之前SprngMvc 那一套强大很多了。 但是 用SpringBoot Web 做API 开发还是不够简洁有一些。 每次Web API常用功能都需要重新写一遍。或者复制之前项目代码。于是我封装了这么一个 抽出SpringBoot Web API 每个项目必备需要重复写的模块…

【100天精通python】Day3:python的基本数据类型和数据类型转换

一. python的基本数据类型 以下是一些常见的举例和详细解释&#xff1a; 整数&#xff08;int&#xff09;&#xff1a;表示整数值。例如&#xff1a; x 5&#xff1a;将整数值5赋给变量x。 y -10&#xff1a;将整数值-10赋给变量y。 浮点数&#xff08;float&#xff09;&a…

【聚焦机器学习与实践经验的实用指南——《Python机器学习项目实战》】

《Python机器学习项目实战》引领大家在构建实际项目的过程中&#xff0c;掌握关键的机器学习概念!使用机器学习&#xff0c;我们可完成客户行为分析、价格趋势预测、风险评估等任务。要想掌握机器学习&#xff0c;需要有优质的范例、清晰的讲解和大量的练习。本书完全满足这三点…

漏洞复现-CVE-2022-24112原理与复现

目录 漏洞原理漏洞描述影响范围 apisix学习漏洞复现config.yaml环境搭建exp代码 入侵检测与修复总结参考 漏洞原理 漏洞描述 An attacker can abuse the batch-requests plugin to send requests to bypass the IP restriction of Admin API. A default configuration of Apa…

基于JavaSwing+MySQL的电影票购票管理系统

点击以下链接获取源码&#xff1a; https://download.csdn.net/download/qq_64505944/88051172?spm1001.2014.3001.5503 JDK1.8 MySQL5.7 功能&#xff1a;管理员与用户两个角色登录&#xff0c;管理员可以对电影进行增删改查处理&#xff0c;可以对影院增删改查管理&#x…

【C语言】类型转换和优先级

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在回炉重造C语言&#xff08;2023暑假&#xff09; ✈️专栏&#xff1a;【C语言航路】 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你…

【Linux系统编程】Linux第一个小程序——进度条

文章目录 1. 对回车&#xff08;\r&#xff09;和换行&#xff08;\n&#xff09;的理解1.1 概念理解1.2 测试 2. 缓冲区的理解2.1 观察现象2.2 原因解释 3. 倒计时小程序4. 进度条小程序4.1 基本思路及实现4.2 改进及优化4.3 增加百分比显示4.4 增加旋转光标4.5 给进度条配色 …

基于FT232HL的USB2.0转ARINC429板卡

基于FT232HL的USB2.0转ARINC429板卡 1 概述 《USB2.0转ARINC429板卡》采用底板子板&#xff0c;层叠安装的结构&#xff1b;使用同样的底板&#xff0c;变换不同功能的子板实现不同的功能版本。 a) 降低硬件设计复杂度&#xff1a;新板卡设计只需要设计子板&#xff0c;子板的…

类和对象(C++)( static成员、explicit、友元、内部类、匿名对象)

类和对象 static成员概念static成员“登场”特性static成员使用 注意 explicit从一段代码引入explicit和explicit相关特性 友元友元函数引入问题解决 小结 友元类 内部类概念特性 匿名对象引入使用 static成员 概念 类的静态成员&#xff1a;声明为static的类成员。 静态成员变…

【黑客】网络安全靠自学?只会毁了你!

1️⃣网安现状 ❗本文面向所有 想要涉足网安领域 或 已经涉足但仍处在迷茫期 的伙伴&#xff0c;如果你月薪达到了3w&#xff0c;那么请你离开。 如果没有&#xff0c;希望你继续看下去&#xff0c;因为你人生的转折点将从这篇文章开始。 ✈️网络安全&#xff0c;一个近几年大…

5 个能出色完成数据恢复的免费数据恢复软件知识分享。

有时&#xff0c;由于意外删除或某些问题&#xff0c;您可能会丢失 Windows 10 笔记本电脑或台式机上的重要数据。Windows 操作系统不提供任何内部工具来恢复已删除的数据。但是有一些非常好的数据恢复软件可以更专业地完成这项工作。最好的人总是有报酬的&#xff0c;但不用担…

按键精灵、auto.js等一些移动端脚本 如何连接云服务器的数据库, 进行读写操作

一、技术背景 按键手机版和auto.js&#xff0c;只支持连接本地数据库sqllite&#xff0c;该数据库只存在本地 其他设备无法读写&#xff0c;就像本地的txt一样。 而很多脚本作者的需求是&#xff1a;多个脚本&#xff0c;甚至在全国不同城市的脚本也能读取和写入同一批数据&…

AJAX-day01

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 AJAX 概念和 axios 使用 什么是 AJAX 怎么用 AJAX &#xff1f; axios 使用 认识 URL 什么是 URL&…

韦东山Linux教学视频中的makefile文件详细介绍

前言 &#xff08;1&#xff09;在学习韦东山Linux教学视频的时候&#xff0c;他的makefile并没有做详细的介绍。以至于我学了很长时间对他的makefile文件不理解。所以本文将会详细介绍韦东山Linux教学视频中的makefile文件含义。 &#xff08;2&#xff09;注意&#xff1a;我…

使用 docker-compose 部署 Jenkins

注&#xff1a;我是在虚拟机&#xff08;Ubuntu&#xff09;上部署了 docker-compose&#xff0c;然后才使用 docker-compose 部署 Jenkins&#xff01; 关于如何在 Ubuntu 部署 docker-compose&#xff0c;可以看我其它的文章。 本文目录 1. 创建 docker_jenkins_compose 目录…

【NI USRP】每一个USRP是如何命名的呢,和原厂Ettus型号有什么关联呢?

详细的硬件配置&#xff0c;非常有助于设备的选型。 如果您采购了X310子板&#xff0c;是可以将其转化为对应的USRP型号的设备。 B系列 EttusNI-USRP频段最大带宽通道B200mini无70 MHZ - 6 GHZ56 MHz1X1B200mini-i无70 MHZ - 6 GHZ56 MHz1X1B205mini-i无70 MHZ - 6 GHZ56 MHz…

三菱以太网通讯模块在哪

捷米特JM-ETH-FX采用工业级设计&#xff0c;导轨安装&#xff0c;带通讯线。不占用PLC编程口&#xff0c;上位机通过以太网对PLC数据监控的同时&#xff0c;触摸屏可以通过复用接口X2与PLC进行通讯。捷米特JM-ETH-FX支持工控领域内绝大多数SCADA软件&#xff0c;支持三菱MC以太…

C#开发的OpenRA游戏之维修按钮

C#开发的OpenRA游戏之维修按钮 前面分析物品的变卖按钮,如果理解这个流程,再看其它按钮的流程,其实是一样的,所以前面的文章是关键,只有理解通透的基础之上,才能继续往下。 维修按钮的存在价值,就是当建筑物受到敌方破坏,还没有完全倒掉之前,可以使用金币来进行修理。…

java项目之电子商城系统(ssm+mysql+jsp)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的电子商城系统。技术交流和部署相关看文章末尾&#xff01; 开发环境&#xff1a; 后端&#xff1a; 开发语言&#xff1a;Java 框架&…