【KingSCADA】什么是精灵图以及如何创建精灵图

news/2024/4/18 18:41:08/文章来源:https://blog.csdn.net/u013097500/article/details/130337524

大家好,我是雷工!
本篇学习精灵图的制作,以下为学习内容及相关笔记。

一、什么是精灵图

精灵图是一种在外观上类似组合图,但内部嵌入了比较丰富的动画链接与逻辑控制,工程开发人员只要将其从精灵图库中调出来放置在开发画面上,然后再做少量的修改,就能完成较复杂的控制功能。
精灵图可以由图元对象、自定义变量、自定义属性及动画处理4部分组成。组成精灵图的图元对象可以是直线、曲线、矩形,圆形等基本图元或者它们的组合图,也可以是精灵图对象,即精灵图的开发式可以实现嵌套的。
KingSCADA3.8的精灵图库中提供了大量的实际工程中经常会应用的精灵图,用户可以直接应用,假如精灵图库中没有满足我们应用要求的精灵图,我们也可以自己开发精灵图,然后将其放到图库中,供日后开发重复使用。
下面可以制作一个温度指示的精灵图,这个精灵图既可以显示温度数值,也能够显示温度的高低指示。

二、了解精灵图开发界面

在KingSCADA3.8图形编辑器中,点击“文件”菜单中的“新建->精灵图”,

在这里插入图片描述

弹出精灵图开发界面如下图所示:

【精灵图开发界面】

精灵图开发界面与图形开发界面差不多,都是由菜单栏、工具栏、工具箱、图形编辑区、属性窗口等组成,操作方法也基本类似。唯一不同的点是,图形模型具有传播性,当对工程图形模型进行改动后,工程中该模型的所有对象都能自动做出相应改动,也就是对工程图形模型的修改能够传播到其他的对象中,而精灵图不具备这样的特性,精灵图被引用到画面中后,只能在画面中进行修改。

三、制作精灵图

1、制作精灵图外形:

在图形编辑区编辑我们要做的精灵图形的外观,我们先利用矩形图元、文本图元,绘制出精灵图的各个组成部分,各个部分的颜色需要通过调色板进行调整,设置出我们需要的色彩。这个精灵图的外观有如下5部分:
在这里插入图片描述

将各组成部分组合起来,合成我们需要的精灵图形,如下图所示:
在这里插入图片描述

2、创建精灵图的属性、变量

创建精灵图时我们需要考虑好精灵图在使用中需要暴露出哪些属性,需要具备哪些功能。以这个温度显示为例,我们需要的属性包含:整体的背景色、需要动态显示的温度指示的颜色、温度指示的量程范围。需要关联温度值的变量。

定义属性:单击右侧“内容”标签,选中“属性”点击右键在弹出的右键菜单中执行“添加属性”命令:
在这里插入图片描述
弹出如下图所示的属性配置对话框,我们先定义背景色,属性名称:BackColor,属性类型:Brush。点击“默认”后面的在这里插入图片描述弹出调色板,通过调色板设置默认的画刷类型。
【定义属性】
按照这种方式我们可以再定义三个属性,温度指示颜色:WColor,类型:Brush;温度量程的最大值:Max,最小值Min,类型Float。

如下图所示,完成四个属性的定义。
【参数定义】
变量定义:在这里建立的变量是局部变量,只能应用在精灵图中,不能用在工程的其他地方。参数定义完成后我们定义关联温度值的变量。如下图所示,点击右键“添加变量”,弹出变量配置对话框。
【添加变量】
添加变量2

变量名称设置为:TValue,变量类型设置为:Float,初始值:0。
精灵图的属性、变量配置完成。接下来定义精灵图的动画链接。

3、创建精灵图的动画链接

精灵图的动画链接主要是指将前面定义的属性、变量与精灵图的具体图元链接起来。
首先我们链接温度指示精灵图的面板背景色,选中作为背景的圆角矩形,设置Brush属性,点击Brush属性后面的在这里插入图片描述按钮,
在这里插入图片描述
弹出如图所示对话框,双击选择前边定义的BackColor属性,点击“确定”完成此属性的链接。
【BackColor属性选择】
同样的方法,我们继续设置温度指示的颜色属性,选中作为温度指示的矩形(第4个),设置Brush属性,点击Brush属性后面的在这里插入图片描述按钮,弹出上图所示的对话框,选择前面定义的WColor属性,点击“确定”完成此属性的链接。

接着再设置温度指示的缩放的动画链接,再次选中作为温度指示的矩形(第4个),选择“连接”,点击“+”增加动画连接,如下图所示,选择“缩放——>垂直缩放”的动画连接。
在这里插入图片描述
弹出如下图所示的对话框,然后进行相关设置:
在这里插入图片描述
选择关联的变量:TValue,此处只能够选择定义的精灵图的内部变量。
选择缩放类型为:线性缩放。选择缩放的参考中心为:下。
设置最小时对应的数值:点击 在这里插入图片描述弹出如上图【BackColor属性选择】所示的对话框,选择属性Min,然后确定。
设置最大时对应的数值:点击在这里插入图片描述 弹出如上图【BackColor属性选择】所示的对话框,选择属性Max,然后确定。
设置完成后如下图所示。点击确定完成设置。
【缩放动画连接定义】

4、保存精灵图

完成所有的动画连接后,精灵图的开发也就完成了。单击“文件”菜单中的“保存”命令,弹出精灵图库对话框如下图所示:我们选中最上面的“精灵图图形文件夹”,点击右键弹出菜单,选择“新建目录”创建一个新的文件夹,给文件夹命名,例如:雷工-精灵图。然后给这个精灵图命名,例如:温度指示。这样一个精灵图就完成了。
在这里插入图片描述
保存之后再打开精灵图,如下图所示:
在这里插入图片描述
精灵图的制作不仅仅是用基本作图工具来绘制,我们也可以利用现有的精灵图通过修改来生成新的精灵图。

四、应用精灵图

1、通过虚拟串口虚拟一对串口,COM6,COM7;
2、使用Modbus Slave软件虚拟MODBUS从站设备连接COM7;
3、KingSCADA的IOServer 连接COM6;
4、编辑画面添加创建的精灵图,变量连接添加的IO变量;
5、运行效果:
运行效果图

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL基础练习——创建数据库、数据表,并进行修改

目录 题目: 创建库和表: 创建库: 创建表: 将 c_contact 字段插入到 c_birth 字段后面: 将 c_name 字段数据类型改为VARCHAR(70): 将 c_contact 字段改名为 c_phone: 将表名修改为 customer…

AD9208调试经验分享

背景概述 FMC137 是一款基于 VITA57.4 标准规范的 JESD204B 接口FMC 子 卡 模 块 , 该 模 块 可 以 实 现 4 路 14-bit 、 2GSPS/2.6GSPS/3GSPSADC 采集功能。该板卡 ADC 器件采用 ADI 公司的 AD9208 芯片,,与 ADI 公司的 AD9689 可以实现 …

量子力学 学习

对于同一个竖直向上量子比特,不对他进行任何的干扰,进行第一次水平测试实验会随机得到一个一或者负一,之后再进行多少次水平测试实验都与第一次的试验结果是相同的。 我们换用其他的竖直向上量子比特,或者对原来的量子比特进行干扰…

Matlab绘图中的一些技能

目录 1、matlab坐标轴设置多种字体(复合字体) 2、matlab图片中title生成的标题转移至图像下端 3、指定对应格式和期望dpi的图像进行保存、以及不留白保存 4、设置字体字号(x、y轴,标题。全局字体等) 5、设置刻度值信息,只有左…

引领文旅新体验!实时云渲染助力打造“永不落幕”的湾区文采会元宇宙

2022年11月25日至27日,2022年粤港澳大湾区公共文化和旅游产品(东莞)采购会(简称“湾区文采会”)在广东省东莞市文化馆举行。 文采会期间,文采会元宇宙线上虚拟展厅全新亮相,这艘承载着科技与文化…

5款十分小众的软件,知道的人不多但却很好用

今天推荐5款十分小众的软件,知道的人不多,但是每个都是非常非常好用的,有兴趣的小伙伴可以自行搜索下载。 1.视频直播录制——OBS Studio OBS Studio可以让你轻松地录制和直播你的屏幕、摄像头、游戏等内容。你可以使用OBS Studio来创建多种…

Mysql设置表只存储一段时间的数据

使用MySQL的事件调度器(Event Scheduler)来定期删除表中的数据。 假设你要删除的表是mytable,并且表中有一个名为created_at的日期时间类型的列,存储了每条记录的创建时间。你可以通过以下步骤设置表只存储30天的数据&#xff1a…

机器学习 协同过滤算法

协同过滤算法 协同过滤算法是根据已有的数据来推测出未知的数据,从海量的数据中找到相似度达到指定范围的数据,而这些数据成为你的邻居,系统将会为你推荐心仪的物品。 余弦相似法 通过计算两个向量的夹角余弦值来评估它们的相似度 修正余弦…

《站在巨人的肩膀上学习Java》

Java从诞生距今已经有28年了,在这段时间里,随着Java版本的不断迭代,Java新特性的不断出现,使得Java被使用的越来越广泛。在工程界Java语言一直是大家最喜欢的语言之一,Java一直排行在编程语言热门程度的前3名。 可想而…

从0搭建Vue3组件库(六):前端流程化控制工具gulp的使用

随着前端诸如webpack,rollup,vite的发展,gulp感觉似乎好像被取代了。其实并没有,只不过它从台前退居到了幕后。我们仍然可以在很多项目中看到它的身影,比如elementplus、vant等。现在gulp更多的是做流程化的控制。 比如…

delta.io 参数 spark.databricks.delta.replaceWhere.constraintCheck.enabled

总结 默认值true 你写入的df分区字段必须全部符合覆盖条件 .option("replaceWhere", "c2 == 2") false: df1 overwrite tb1: df1中每个分区的处理逻辑: - tb1中存在(且谓词中匹配)的分区,则覆盖 - tb1中存在(谓词中不匹配)的分区,则append - tb1中不存…

今天试了试chatgpt

今天试了试chatgpt,真是服了 arcade? Arcade是一个Python游戏开发库,它提供了一系列的工具和函数,可以帮助开发者快速地创建2D游戏。以下是Arcade的一些特点: 简单易用:Arcade提供了简单易用的API&#x…

Android分屏流程分析

本文基于Android 11。 SystemUI模块中的Divider管理着所有关于分屏的对象: DividerView(分屏分割线,分屏显示界面)SplitScreenTaskOrganizer(分屏Task组织者,分屏逻辑) 这里重点关注分屏逻辑…

Qt如何生成dump文件和pdb文件并进行调试定位

在main文件中增加下面代码用于可生成dump文件 #include "widget.h" #include <QApplication> #include <QDir> #include <QDateTime> #ifdef Q_OS_WIN#include <windows.h>#include <dbghelp.h> #endifstatic LONG WINAPI exceptionC…

简单介绍一下什么是“工作内存”和“主内存”(JMM中的概念)

在学习Java多线程编程里&#xff0c; volatile 关键字保证内存可见性的要点时&#xff0c;看到网上有些资料是这么说的&#xff1a;线程修改一个变量&#xff0c;会把这个变量先从主内存读取到工作内存&#xff1b;然后修改工作内存中的值&#xff0c;最后再写回到主内存。 对…

Spring 循环依赖处理之三级缓存设计

一、思考 1、Spring是如何解决循环依赖问题的? 2、为什么要使用三级缓存?二级缓存能否解决问题? 3、提前暴露对象暴露的是什么? 4、主要源码 二、循环依赖 1、介绍 如上图&#xff0c;创建A之前需要先创建B,创建B之前需要先创建A,造成循环依赖。 由于A没创建完成&am…

一个关于Mybatis和spring的公共组件starter

utils-springboot-starter 介绍使用说明 介绍 一个关于Mybatis和spring的公共组件starter&#xff0c;目前包含以下功能&#xff1a; 接口请求日志SQL执行日志数据自动加解密数据自动脱敏服务治理方面&#xff1a; 接口限流接口熔断降级&#xff1a;CPU、内存、异常数、异常率…

win11 环境下streamlit使用pycharm debug

目录 1. pycharm中配置run 脚本2. streamlit3. 开始debug调试 1. pycharm中配置run 脚本 &#xff08;一&#xff09;点击 Edit Configurations,按图操作. 2. streamlit 1.streamlit 安装在 anaconda 的 base 环境&#xff08;随意哈&#xff0c;安装哪里都可以&#xff0c…

问题定位及解决方案

1.视频沉浸页快速滑动后&#xff0c;必现不能向下划动 复现步骤&#xff1a; 进入视频沉浸页&#xff0c;快速向下划动&#xff0c;滑动到第一页最后一个时&#xff0c;不能再向下划动。 解决步骤&#xff1a; 1.确定请求API&#xff1a; mtop.aliexpress.ugc.feed.video.lis…

PE文件反编译为python脚本流程

1、查壳 DetectltEasy、PeiD查壳 2、脱壳 常见打包工具PyInstaller&#xff0c;脱壳方法 &#xff08;1&#xff09;用pyinstxtractor.py脱壳&#xff0c;用”python pyinstxtractor.py 1.exe“命令&#xff0c;生成“.exe文件名_extracted” &#xff08;2&#xff09;用…