LabVIEW创建自定义书签管理器

news2024/10/2 22:30:55

LabVIEW创建自定义书签管理器

书签是一种特殊的标记机制,可以添加到VI框图中。任何以井号标签(#)开头的文本都将被LabVIEW自动识别为书签。这些可用于标记代码不同部分中的待办事项或未完成的任务。当您将主题标签添加框图注释时,LabVIEW会检测书签并加粗书签标签,以将其与文本的其余部分区分开来(例如:“#TODO修改算法”)。

什么是LabVIEW书签管理器?

书签管理器是用于查看项目或应用程序实例中所有书签的工具。可以从“查看>书签管理器”菜单项访问。当打开内置书签管理器时,它会显示书签及其后面的任何注释。也可以双击任何书签条目,它将打开VI所在的位置并突出显示框图上的位置。在书签管理器中,还可以更改正在查看书签的项目并更改视图。

LabVIEW书签管理器非常简单且有用,但其真正强大功能来自其可定制性。书签API有一个完全开放的界面,可用于创建您自己的自定义书签管理器。您甚至可以复制和编辑内置管理器以帮助您入门,因为书签管理器也是打开和解锁的。

书签管理器API

书签管理器API建立在VI服务器接口上,以编程方式访问和操作VI的书签。如果您不熟悉VI服务器,首先在“什么是VI服务器?”和“VI服务器的功能”中阅读可能会有所帮助。除了现有的VI服务器接口外,书签管理器API还添加了4个特定于书签的重要事件和方法:

获取VI书签(VI方法)

获取VI书签方法将返回与某个VI关联的所有书签。此方法使用VI参考,适用于内存中的所有VI,包括尚未保存到磁盘的VI。

获取VI:书签(申请方法)

获取VI:书签方法类似于获取VI书签VI方法,不同之处在于它是应用程序类的方法。此方法使用VI路径进行输入,适用于磁盘上的任何VI,即使它们尚未加载到内存中。

注意:书签作为VI资源存储在磁盘上,但在内存中保持最新。这意味着VI不必在LabVIEW的内存中即可读取其书签。

从书签ID获取对象引用(VI方法)

此方法会将书签ID转换为对象引用。注意:书签由“书签ID”引用,因为对象引用仅对加载到内存中的VI有效。

书签信息更改(事件)

这是用户更改VI的书签时生成的应用程序事件。这可以在LabVIEW事件结构中处理。

自定义内置书签管理器

创建自己的书签管理器时,您可以从头开始,但使用现有书签管理器作为起点可能会帮助您节省时间。要复制现有的书签管理器代码,请完成以下步骤:

复制在labview\resource\dialog\书签管理器\managers目录中找到的默认文件夹。您将使用此源作为开发书签管理器的起点。

将文件夹粘贴到同一目录中,并将其重命名为其他名称。

复制Default.txt文件位于managers目录的顶层,并将其重命名以匹配步骤2中文件夹的新名称。

打开*.txt文件的副本,并将“默认”一词替换为新书签管理器的名称(此名称将显示在“选择书签管理器”对话框中)。

编辑新文件夹中的文件以满足您的特定需求。

选择书签管理器

一旦您在labview\resource\dialog\BookmarkManager\managers目录中有多个书签管理器,LabVIEW将允许您在选择从“视图”菜单启动它时在它们之间进行选择。您可以选择不显示此选择对话框,但每当找到新的书签管理器时,它都会再次提示,允许您更改为新的书签管理器。

开发注意事项和提示

复制默认书签管理器时,请确保注意新文件夹和现有“默认”文件夹之间的文件交叉链接。最初复制文件夹后,应确保检查新项目中的所有文件是否都指向新文件夹中的文件。一旦这完全工作一次,还建议重命名项目和项目库,以防止将来的交叉链接。

复制默认书签管理器,而不是修改原始书签管理器。这将允许您恢复到内置书签管理器,以防出现任何问题。

测试书签管理器时,请确保在从“视图”菜单运行书签管理器之前完全保存并关闭VI和项目。此外,如果需要在代码中使用断点或突出显示执行,请确保在修改任何代码之前关闭正在运行的VI并重新打开项目。其原因是LabVIEW将书签管理器对话框VI置于从称为系统VI的“工具”菜单运行时的状态。退出时,VI将恢复为可编辑状态。但是,如果停止书签在执行过程中运行,VI将永久保持此状态,并可能导致意外行为。如果系统VI已损坏,并且系统VI未出现在“层次结构”窗口中,则系统VI将不会在“错误列表”窗口中显示任何错误。

如果您不小心使VI卡在“系统VI”状态,则可以使用随附的“系统VI是否写入”VI取消将VI设置为系统VI。

使用VI包管理器分发书签管理器

创建自己的书签管理器对话框后,使用VI包管理器分发此对话框可能会有所帮助。这将允许您的用户轻松地将文件安装在正确的目录中,并在安装过程中将VI批量编译为当前版本。为此,您需要做的就是在VI包生成器中为您的项目添加一个自定义目标,如下所示。有关使用VIPM构建软件包的更多详细信息,请参阅文档VI软件包管理器:简介

将您的书签管理器提交到NI工具网络

如果您认为世界上的其他用户会从您的新书签管理器中受益,请考虑将其作为免费下载或付费产品提交到NI工具网络。有关如何提交的更多信息,请参阅向工具网络贡献LabVIEW附加组件。

示例:带框图预览的书签管理器

为了演示如何修改功能并将其添加到现有书签管理器,此修改版本演示了本文档中讨论的信息。此新版本在对话框右侧添加了一个图像控件,该控件显示所选书签周围的框图代码的预览。图像面板可调整大小,默认窗口和面板大小在会话之间保存。该示例可以从vipm下载并安装vipm://ni_bookmarkmanager_bdpreview

需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

LabVIEW程序,如下附件所示。

相关资料说明,如下所示。

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

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

相关文章

基于java的贪吃蛇游戏-计算机毕业设计

项目介绍 本游戏采用Java环境和Eclipse开发工具,开发了一个界面美观,操作简单并且功能齐全的贪食蛇游戏,整个游戏分为了10个类,实现了游戏的开始、结束、暂停,通过了本游戏的开发,达到了学习Java及Java GU…

使用新路由器有线/无线桥接旧路由器

问题描述 已有一个无线路由器,但信号不能满足需求,遂购买新路由器对其进行桥接。经过在网上搜索和实践,成功配置,将经验记录成帖。 解决方案 无线桥接 1. 打开新路由器设置界面。(根据路由器说明说或者网上搜索对应…

新手学python,如何才能更快升职加薪,迎娶白富美,走上人生巅峰

最近在问答里发现好多咨询怎么学习python,或者学习难不难的问题,这里给大家提几点建议: 了解自己的目标 我开始学编程的时候,连基础的知识都不知道,小白的很!记得我开始看教材,就是输入“hello…

Vue系列之使用vue init搭建前端项目

文章の目录一、执行 vue init webpack my-project 注意(my-project)是自己的项目名写在最后前提执行如下代码 npm install -g vue/cli-init一、执行 vue init webpack my-project 注意(my-project)是自己的项目名 回车既可&…

【时空融合:遥感图像】

MUSTFN: A spatiotemporal fusion method for multi-scale and multi-sensor remote sensing images based on a convolutional neural network (MUSTFN:一种基于卷积神经网络的多尺度多传感器遥感影像时空融合方法) (第一篇关于…

毕业设计-基于大数据的电影爬取与可视化分析系统-python

目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科…

zabbix——分布式监控系统

目录 zabbix概述 zabbix 是什么 zabbix 监控原理 zabbix常见的五个程序 zabbix端口号 安装 zabbix 5.0 部署 zabbix 服务端 部署 zabbix 客户端 自定义监控内容 在客户端创建自定义 key 在 Web 页面创建自定义监控项模板 zabbix 自动发现与自动注册 zabbix 自动发…

第十四届蓝桥杯集训——if——配套基础示例

第十四届蓝桥杯集训——if——配套基础示例 目录 第十四届蓝桥杯集训——if——配套基础示例 例题1:三角形任意两边之和大于第三边 例题2:判断回文数 例题3:狗的年龄 例题4:帐密登录 例题1:三角形任意两边之和大于…

UOS系统搭建NTP服务

做这题的前提是先把ispsrv的dns配置完善 NTP 安装 ntp(使用其他 ntp 软件,以下功能均不得分); 在 AppSrv 和 StorageSrv 上创建 CRON 计划任务; 使用 ntpdate 指令,每隔五分钟进行一次时间同步。 截图实现…

功能胶膜行业发展趋势:政策、需求叠加技术驱动 未来市场发展空间大

OCA光学胶膜、半导体制造用胶膜等均属于功能胶膜。我国功能胶膜行业发展趋势如下: 1、政策陆续出台,将不断夯实功能胶膜行业发展基础 近年来,国家出台了一系列相关政策来推动功能胶膜行业发展与进步,尤其是在2019年,国…

uniCloud云开发之创建创建一个uniapp项目并关联uniCloud

uniCloud云开发之创建创建一个uniapp项目前言1.下载最新版的HBuilderX,并创建一个uniCloud的项目2、关联云服务空间3、会出来需要登录没有登录的去注册一个就好了,然后新建4、这样就关联好云数据库了5、创建云函数6、调用云函数(1&#xff09…

十分钟就能上手Prometheus与Grafana监控SpringBoot项目

🍁 作者:知识浅谈,CSDN签约讲师,CSDN原力作者,后端领域优质创作者,热爱分享创作 💒 公众号:知识浅谈 📌 擅长领域:全栈工程师、爬虫、ACM算法 🔥 …

深度学习——微调笔记+代码

1.微调在深度学习中计算机视觉最重要的技术,微调也是迁移学习 2.标注一个数据集很贵 ①ImageNet标注了1000多万张图片,实际使用120万张图片,类别是1000,大型数据集 ②Fashion-MNIST一共有6万张图片,类别是10&#xf…

matlab:鼠标循环点击器

目录简介使用说明板块1采点板块作用名称解释板块2坐标板块作用名称解释板块3历史数据板块作用名称解释板块4循环点击板块作用名称解释程序附注简介 采集PC端一个或是多个点的位置坐标,对这些位置可以按照次序循环点击。(之前玩阴阳师的时候,…

动态规划问题——矩阵的最小路径和

题目: 给定一个矩阵m,从左上角开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,返回所有路径中最小的路径和。 示例: 给定的m如下: 1 3 …

灌区信息化管理系统解决方案 灌区用水量测系统介绍

平升电子灌区信息化管理系统解决方案/灌区用水量测系统,对灌区的渠道水位、流量、水雨情、土壤墒情、气象等信息进行监测,同时对泵站、闸门进行远程控制,对重点区域进行视频监控,实现了信息的采集、统计、分析、控制等功能&#x…

我国均温板行业发展趋势:5G手机领域需求强劲 今年市场空间或超15亿

均温板(VaporChamber)技术从原理上类似于热管,但在传导方式上有所区别。热管为一维线性热传导,而真空腔均热板中的热量则是在一个二维的面上传导,因此效率更高。具体来说,真空腔底部的液体在吸收芯片热量后…

【图像去噪】非局部均值(NLM)滤波图像去噪【含Matlab源码 420期】

⛄一、图像去噪及滤波简介 1 图像去噪 1.1 图像噪声定义 噪声是干扰图像视觉效果的重要因素,图像去噪是指减少图像中噪声的过程。噪声分类有三种:加性噪声,乘性噪声和量化噪声。我们用f(x,y)表示图像,g(x,y&#xff0…

Spring Cloud Alibaba Sentinel - - > 容错机制

文章目录Sentinel 的作用分布式微服务系统遇到的问题导致服务不可用的原因:Sentinel - - > 容错机制参考:Sentinel 的作用 Sentinel 主要用来解决微服务架构中出现的一些可用性问题,从而实现系统的高可用。系统在运行过程中不可能不出现问…

单例模式的创建(饿汉模式懒汉模式)

目录 一.什么是单例模式 二.用static来创建单例模式 三.饿汉模式与懒汉模式 四.饿汉模式与懒汉模式的线程安全问题 五.New引发的指令重排序问题 六.小结 一.什么是单例模式 单例模式就是指某个类有且只有一个实例(instance) 这个是由需求决定的,有些需求场景就要求实例不…