LabVIEW NI Linux Real-Time深层解析

news2024/11/14 14:45:59

LabVIEW NI Linux Real-Time深层解析

NI LabVIEW Real-Time模块支持NI Linux Real-Time操作系统,在选定的NI硬件上提供。本文介绍了具体的新特性和高级功能,可让您为应用充分利用NI Linux Real-Time。

Linux Shell支持

NI Linux Real-Time操作系统提供了全面的Linux shell支持,因此您可以执行复杂的管理任务来更轻松地管理Real-Time终端。访问shell需要具有终端客户端。如果您使用的是Windows 7或更高版本,则可使用免费的热门客户端PuTTY,具体可访问:PuTTY:免费的Telnet/SSH客户端。

除了终端客户端,您还必须在运行NI Linux Real-Time操作系统的Real-Time终端上选中“启用SSH服务器(sshd)”(Enable Secure Shell Server(sshd))选项。您可以使用NI Measurement & Automation Explorer (MAX)或基于Web的配置和监测界面(见图1和图2)。为了安全起见,强烈建议更改admin帐户的默认密码。您可通过基于Web的配置和监测界面更改密码。如果要通过SSH登录到Linux shell,您可使用admin用户名以及配置好的密码来获得根访问权限;如果没有配置密码,则默认为空。您可通过基于Web的配置和监测界面创建新用户。这些用户也可以通过SSH登录,但没有根访问权限。

图1.可在Measurement and Automation Explorer上Real-Time终端的“系统设置”(System Settings)选项卡内找到“启用SSH服务器(sshd)”(Enable Secure Shell Server(sshd))选项。访问运行NI Linux Real-Time的Real-Time终端之前必须选中该选项。

图2.还可以通过Real-Time终端基于Web的配置和监测界面找到“启用SSH服务器(sshd)”(Enable Secure Shell Server (sshd))选项。访问运行NI Linux Real-Time的Real-Time终端之前必须选中该选项。

文件传输和文件路径

从LabVIEW 2013开始,所有NI Real-Time终端均支持WebDAV文件传输。WebDAV是一个基于HTTP的行业标准协议,应用于Dropbox等热门应用,您可用它轻松、安全地传输包含敏感信息的文件。WebDAV是运行NI LinuxReal-Time的Real-Time终端的默认文件传输机制。

与基于VxWorks和Phar Lap的较旧设备不同,NI Linux Real-Time终端默认状态下不安装FTP服务器。如需FTP支持以保持应用程序的向后兼容性,您可以通过MAX安装传统的FTP服务器,但其安全性较低。访问如何利用NI Linux Real-Time终端使用FTP,详细了解NI Linux Real-Time的FTP支持。如果WebDAV不适用于特定应用,NI Linux Real-Time终端还可通过SSH支持SFTP功能。

此外,NI Linux Real-Time的文件路径与现有Real-Time终端和Windows存在几点重要的区别。

编程式系统访问

LabVIEW Real-Time模块可支持NI Linux Real-Time终端上的System Exec VI。NI Linux Real-Time终端上的System Exec VI提供Linux命令行的访问权限,使您可以通过编程方式管理NI Linux Real-Time操作系统,并直接通过LabVIEW Real-Time应用程序与终端上运行的其他程序交互。

除了System Exec VI,NI Linux Real-Time终端也可支持调用库函数节点。调用库函数节点可帮助您更轻松地将外部C/C++代码与LabVIEW Real-Time应用程序集成,并为在NI Linux Real-Time终端上安装并运行的其他程序提供的C API创建LabVIEW包装器。

NI Linux Real-Time终端支持System Exec VI和调用库函数节点 NI Linux Real-Time终端支持System Exec VI和调用库函数节点

图3.NI Linux Real-Time终端支持System Exec VI和调用库函数节点。您可以通过LabVIEW Real-Time应用程序与NI Linux Real-Time操作系统和其他程序无缝交互。

访问Linux生态系统

运行NI Linux Real-Time的终端可极大受益于Linux提供的庞大IP生态系统。要安装、管理和利用该生态系统,需要使用NI Linux Real-Time上提供的Package Manager:opkg。如需详细了解opkg,请访问OPKGPackage Manager。

NI Linux Real-Time终端除了可帮助您更轻松地将C/C++代码与System Exec VI和调用库函数节点相集成之外,还支持您使用Linux生态系统的代码、复用内部代码,以及使用基于Eclipse的工具开发、部署和调试C/C++代码。如需详细了解NI Linux Real-Time的C/C++开发工具(Eclipse版),请查阅构建NI Linux Real-Time的C/C++应用程序。

高级实时性能

全新NI Linux Real-Time采用与当前Real-Time终端相似的实时调度器来处理时间紧迫的代码调度,通过完全公平调度器(CFS)来处理所有非关键代码调度。目前的Real-Time终端配备专用的RTOS,仅依赖一个实时调度器来管理时间关键型任务和优先级较低的系统任务。NI Linux Real-Time的CFS可更高效率地调度优先级较低的任务,从而提高性能。如需详细了解CFS,请访问Linux 2.6完全公平调度器内部解析。

除了调度器改变之外,您还应当注意到NI Linux Real-Time在支持多核方便也发生了变化,因为所有支持这个新RTOS的NI嵌入式硬件设备都是多核架构。对于多核支持来说,遵循最佳编程实践,避免以100%的内核占用率在处理器内核上运行时间关键型循环非常重要。这是因为多核NI Linux Real-Time系统中的每个内核均需要一定的时间来运行操作系统维护/开销功能,以免严重影响系统的性能。为了避免这种性能下降,应确保时间关键型循环允许CPU每运行10秒钟可有10毫秒的休眠时间来进行开销处理。

同样值得注意的是,如果连续关联任务可以在处理器内核间并行运行,那么在运行NI Linux Real-Time的多核系统上,处理时间关键型任务和系统任务都可能会出现性能下降。这是因为在不同处理器内核上同时运行的连续关联任务之间,信息不能有效地进行通信。为了避免这样的性能损失,请遵循LabVIEW Real-Time编程最佳实践,将时间关键型代码和系统任务分配给不同的处理器内核。您可以通过将处理器内核设置为仅处理时间关键型功能来实现这种分配,也可以指定用于定时循环或定时顺序结构的处理器内核,如图4所示。查看配置定时结构设置,了解更多使用LabVIEW Real-Time优化多核系统的最佳实践。

图4.在LabVIEW Real-Time中使用定时循环结构分配处理器亲和度的方法有2种:(1)双击定时循环结构,在弹出的配置对话框中设置处理器或(2)将一个值直接连线到结构左侧的节点上。

与所有系统升级一样,建议在迁移到基于的NI Linux Real-Time终端后重新验证应用程序,因为个别功能的性能可能会有所提升或降低,从而影响应用程序满足所有系统需求的能力。尤其是,基于Linux的Real-Time终端的内存分配可能会对抖动产生较大的影响。

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

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

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

相关文章

《Linux0.11源码趣读》学习笔记day6

到上次记录,整个操作系统的全部代码就已经从硬盘加载到内存中了,然后这些代码又通过jmpi跳转到0x90200处,即硬盘第二个扇区开始处的内容 这些内容就是第二个操作系统源代码文件setup.s 不过现在先来看一下操作系统的编译过程 操作系统的编译…

后端学习 - Docker

文章目录基本概念三个核心概念:镜像、容器、仓库联合文件系统 UnionFS常用命令Docker File基本概念 一次配置,处处使用运行在同一宿主机上的容器是相互隔离的,各自拥有独立的文件系统容器模型和虚拟机模型的主要区别 相较于虚拟机而言&#…

【Pytorch项目实战】之生成式网络:编码器-解码器、自编码器AE、变分自编码器VAE、生成式对抗网络GAN

文章目录生成式网络 - 生成合成图像算法一:编码器-解码器算法二:自编码器(Auto-Encoder,AE)算法三:变分自编码器(Variational Auto Encoder,VAE)算法四:生成式…

九型人格是什么?

九型人格是什么? 九型人格学(Enneagram/Ninehouse)是一个有2000多年历史的古老学问,它按照人们习惯性的思维模式,情绪反应和行为习惯等性格特质,将人的性格分为九种,又被称为九柱图,起源于中亚西亚地区,和中国的八卦图有点像,近代的九型是由六十年代智利的一位心理学…

计算机组成原理 | 第四章:存储器 | 存储器与CPU连接 | 存储器的校验 | Cache容量计算

文章目录📚概述🐇存储器分类🐇存储器的层次结构🥕原理🥕主存速度慢的原因🥕存储器三个主要特征的关系🥕缓存-主存层次和主存-辅存层次⭐️📚主存储器🐇概述🥕…

【opencv】Haar分类器及Adaboost算法人脸识别理论讲解

提到opencv,就不得不提其图像识别能力,最近旷世开源的YoloX项目兴起,作为目前Yolo系列中的最强者,本人对其也很感兴趣,但是完全没用机器学习和计算机视觉的基础,知其然,不知其所以然,于是想稍稍入坑一下opencv图像识别,了解一下相关算法,(说不定以后毕设会用到呢)。…

磨金石教育影视干货分享|朋友亲身经历—给新人剪辑师的三个建议

大学的时候有一个同学很喜欢视频剪辑。平时没事就蹲在电脑前,下载一些素材,自学剪辑软件,慢慢的搞一些创意剪辑。那时候自媒体短视频已经很火爆,这位同学剪辑的视频,不管质量如何就往上面发。一开始我们对于新事物的认…

Java---微服务---分布式搜索引擎elasticsearch(2)

分布式搜索引擎elasticsearch(2)1.DSL查询文档1.1.DSL查询分类1.2.全文检索查询1.2.1.使用场景1.2.2.基本语法1.2.3.示例1.2.4.总结1.3.精准查询1.3.1.term查询1.3.2.range查询1.3.3.总结1.4.地理坐标查询1.4.1.矩形范围查询1.4.2.附近查询1.5.复合查询1…

SpringBoot+Vue项目学生读书笔记共享平台

文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏…

一起自学SLAM算法:10.3 机器学习与SLAM

连载文章,长期更新,欢迎关注: 前面已经分析过的8种SLAM算法案例(Gmapping、Cartographer、LOAM、ORB-SLAM2、LSD-SLAM、SVO、RTABMAP和VINS)都可以称为传统方法,因为这些算法都是在人为精心设计的特定规则下…

电子技术——MOS放大器基础

电子技术——MOS放大器基础 我们已经学过MOS可以当做一个压控流源,使用栅极电压 vGSv_{GS}vGS​ 控制漏极电流 iDi_DiD​ 。尽管两个量的关系不是线性的,稍后我们将会介绍偏置在线性区的工作方法。 构建压控压源放大器 现在,我们有了一个压…

【Java|golang】1664. 生成平衡数组的方案数---奇数前缀和 + 偶数前缀和

给你一个整数数组 nums 。你需要选择 恰好 一个下标(下标从 0 开始)并删除对应的元素。请注意剩下元素的下标可能会因为删除操作而发生改变。 比方说,如果 nums [6,1,7,4,1] ,那么: 选择删除下标 1 ,剩下…

[JAVA安全]JACKSON反序列化

前言 ackson是一个开源的Java序列化和反序列化工具&#xff0c;可以将Java对象序列化为XML或JSON格式的字符串&#xff0c;以及将XML或JSON格式的字符串反序列化为Java对象。 依赖 <dependency><groupId>com.fasterxml.jackson.core</groupId><artifact…

中国省际铁路通行时间数据

一、数据简介 本数据来自南京大学长江产业经济研究院《全国统一大市场下的省际铁路交通研究报告》的附录部分。中国的铁路&#xff08;高铁&#xff09;建设取得了辉煌成果。但受铁路时刻众多、历史数据不容易搜集整理的限制&#xff0c;学术与政策研究者一直无法对铁路建设的时…

三、JDBC详解

教程相关资料&#xff1a;https://www.aliyundrive.com/s/wMiqbd4Zws6 1&#xff0c;JDBC概述 在开发中我们使用的是java语言&#xff0c;那么势必要通过java语言操作数据库中的数据。这就是接下来要学习的JDBC。 1.1 JDBC概念 JDBC 就是使用Java语言操作关系型数据库的一套…

Nacos 配置中心 服务端推送变更源码讲解

目录 1. 配置引起变更的两种方式 1.1 后台管理直接操作 1.2 NacosClient 调用 RPC 接口 2. 变更事件处理 AsyncNotifyService 2.1 HTTP 任务 2.2 RPC任务 2.3 NacosServer 其他节点接收到消息后如何处理 3. 客户端推送实现&#xff1a;DumpService.dump 接着上一篇 Nac…

1601_读Dennis M. Ritchie and Ken Thompson的The UNIX TimeSharing System_Unix分时复用系统

全部学习汇总&#xff1a; GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 很久之前就闻听了UNIX的大名&#xff0c;也看过很多相关的故事类文章。其中最让我印象深刻的莫过于Ken发明UNIX的故事以及这个系统对于Linux以及GNU的OS的影响&…

Linux操作系统之线程同步

文章目录一、线程的实现&#xff1a;用户级、内核级、组合二、线程的同步&#xff08;通讯&#xff09;&#xff1a;信号量&#xff0c;互斥锁&#xff0c;条件变量&#xff0c;读写锁1&#xff09;信号量2&#xff09;互斥锁操作&#xff1a;加锁&#xff0c;解锁。3&#xff…

浮躁的当下或许我们更加需要一颗平常心

科技的迅速发展&#xff0c;已经融入我们的生活&#xff1b;曾经的慢生活慢节奏早已离我们远去&#xff0c;取而代之的是伴随科技齿轮快速运转的生活&#xff0c;快节奏更是科技时代下人们普遍生活的真实写照。 然而&#xff0c;科技虽然带给了我们生活的极大的便利&#xff0…

php伪协议

目录 一、伪协议介绍 1、php://协议 2、php://filter伪协议 3.php://input&#xff08;读取POST数据&#xff09; 4、file伪协议 5、phar://伪协议(读取压缩包文件内容) 6、压缩文件伪协议 6.1.zip://[压缩文件绝对路径]%23压缩文件内的子文件名 6.2.compress.bzip2://…