使用NI VeriStand构建分布式系统

news2024/12/24 18:47:41

使用NI VeriStand构建分布式系统 - NI

概览

本文探讨了如何使用NI VeriStand来构建分布式处理和I/O系统,并提供诸多功能来帮助工程师更高效地开发强大的分布式系统。

飞机、汽车或其他工业项目中的控制系统由于需要执行监测、测试或仿真任务,其所需的计算能力和I/O远非单个处理器卡和机箱所能提供。本白皮书介绍了如何创建一个可扩展的分布式系统,来满足大型硬件在环(HIL)或实时测试系统的需求。NI VeriStand是一个现成可用的软件环境,用于配置HIL测试系统等实时测试应用。利用NI VeriStand的诸多特性,无需对软件架构进行设计、编程和维护,即可创建系统。

内容

  • 分布式系统的需求
  • 系统级集成特性
  • 在分布式系统之间共享数据
  • 分布式系统同步
  • 时间关联数据
  • 结论
  • 其他信息

分布式系统的需求

大型系统通常可以分解为许多不同的组件,而且每个组件的硬件和软件都可以分别实现和操控。为了提供更高的计算能力和I/O容量,可以在不同的硬件设备上实现系统的每个组件。 

例如,飞机的襟翼、板条、方向舵、发动机、副翼等组件都需要进行仿真和/或测试。因此,该系统可以拆分成多个硬件部分来利用模块化方法,如图1所示。


图1.您可以使用多个PXI系统来仿真飞机的组件。
 

系统级集成特性

借助NI VeriStand,只需少量的配置,即可让一台或多台主控(操作)计算机与一个或多个实时执行终端进行通信。NI VeriStand处理主控计算机和执行终端之间的所有通信。图2显示了一个包含一台主控计算机和一个终端的简单拓扑。


图2.简单拓扑

主机上与终端通信的组件是NI VeriStand Gateway。通信是自动进行的,但这一概念对于理解大型拓扑至关重要。

利用NI VeriStand的系统资源管理器,您可轻松地将终端添加到NI VeriStand的系统定义中。一个系统定义文件可以包含无限数量的终端。每个终端都可以有自己特定的硬件和软件配置,所有终端都可以部署到一个网关并通过该网关与之进行交互。


图3.可以在一台主机上部署多个终端并与之交互。

其他主机可以与另一台主机的网关进行通信,进而与同一终端拓扑通信。


图4.多主机多终端拓扑

要做到这一点,其他主机只需要将NI VeriStand Gateway的地址更改为远程主机即可。应用程序的其余部分保持不变。

在分布式系统之间共享数据

为了使分布式系统像单个系统一样运行,通常需要在组件系统之间共享数据。这是让所有不同部分能够协同工作的关键要素。数据共享通常使用反射内存接口来完成。

反射内存网络是实时局域网(LAN),在该网络中,每台计算机始终有一个共享内存集的最新本地副本。这些专用网络是为了提供高确定性的数据通信而专门设计的。它们提供了各种分布式仿真和工业控制应用所需的严格定时性能。虽然反射内存网络也受益于通用数据网络的进步,但它们是在不同的需求下驱动而生的一种完全独立的技术,适用于需要确定性、能够简单实现且软件开销小的应用。1

反射内存使NI VeriStand能够在多个终端之间共享数据,同时满足整个系统的性能和确定性要求。利用反射内存,仿真模型就可以进行拆分,并在不同的终端系统上同时执行。输入和输出值通过反射内存在各个系统之间共享。NI VeriStand 2010及后续版本支持GE Intelligent Platforms反射内存卡。NI VeriStand的许多组件可以自动使用反射内存来帮助您无缝地创建多终端系统。

例如,您可以将一个引用终端B数据的激励(测试)配置文件配置为在终端A上运行。您还可以将一个终端的数据映射到另一个终端,就像在不同的终端上将模型输出映射到模型输入一样。这是自动完成的,不需要用户进行显式配置。

图5显示的是一个带有反射内存卡的系统示例。


图5.具有反射内存的多个机箱

分布式系统同步

在设计系统时,务必要考虑定时和同步需求。 如果系统没有同步,输入和输出的采样就不会同时发生。此外,即使配置为相同的速率,随时间推移而产生的漂移也会导致系统中一个组件采集的样本比另一个组件多。这可能会给仿真系统带来问题。比如,两个仿真模型可能处在不同的时间状态。最后,如果没有一个准确的公共时基,数据分析就很难甚至无法进行。

分布式系统的同步包括硬件同步和软件同步。您可以选择将整个系统同步到外部时间参考,如1588、GPS或IRIG。

NI VeriStand基于配置的环境允许在一个或多个执行终端上创建由多种I/O组成的多样化同步系统。如需了解更多信息,请查看构建同步的NI VeriStand系统。

返回顶部

时间关联数据

NI VeriStand的数据日志有多种格式,从单点数据到XNET原始帧,再到来自一个或多个终端的高速波形数据,不一而足。由于技术和数据格式的多样性,组合和查看这些日志中的数据也是一个挑战。DIAdem这一强大工具可以使该过程变得轻松。查看时间相关的NI VeriStand数据日志教程中提供了一个时间对齐DIAdem脚本、范例文件和分步说明指南。

返回顶部

结论

NI VeriStand可用于配置实时I/O、激励配置文件、数据记录、警报和其他任务;可从各种软件环境导入模型来实现控制算法或系统仿真;提供了运行时可编辑的用户界面和方便易用的工具来创建测试系统界面;还可使用NI LabVIEW、NI TestStand、ANSI C/C++、.NET、Python及其他软件环境来添加自定义功能。

利用NI VeriStand,您可以使用现成的多终端功能轻松创建分布式HIL、测试单元、实时测试或监测系统。

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

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

相关文章

【MATLAB】EEMD+FFT+HHT组合算法

代码原理 EEMD(经验模态分解)FFT(快速傅里叶变换)HHT(希尔伯特-黄变换)组合算法是一种常用的信号处理和分析方法。这个组合算法包含了EEMD、FFT和HHT三个步骤,可以用于处理非线性和非平稳信号。…

IO网络2.0

思维导图 机械臂 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <myhead.h> #define SER_PORT 8888 #define SER_IP "192.168.122.68" //服务端//TCP客户端 int main(int argc, const char *argv[]) {//创建套接字…

20240115寻找两数之和

代码 class Solution:def getSumIndex(self, nums: List[int], target: int) -> List[int]:records dict()for index, value in enumerate(nums): if target - value in records: # 遍历当前元素&#xff0c;并在map中寻找是否有匹配的keyreturn [records[target- valu…

8个 Python 开发者必备的 PyCharm 插件

这8个顶级插件保证了更快、更轻松、更愉悦的开发过程。 在 PyCharm 插件列表中&#xff0c;我们发现了几个瑰宝插件&#xff0c;它们各自以独特的方式帮助开发者快速、简便、愉悦地开发。 今天我就给大家逐个介绍它们。 1. Key Promoter X 【下载链接】&#xff1a;https://…

transbigdata笔记:可视化

1 可视化轨迹 transbigdata.visualization_trip(trajdata, col[Lng, Lat, ID, Time], zoomauto, height500) 例子见transbigdata 笔记&#xff1a;官方文档案例1&#xff08;出租车GPS数据处理&#xff09;-CSDN博客 2 可视化od transbigdata.visualization_od(oddata, col…

MySQL篇—通过Clone插件进行本地克隆数据(第二篇,总共三篇)

在上一篇文章中&#xff0c;我们深入探讨了Clone技术的多种用途&#xff0c;以及使用它所需满足的前提条件。我们也详细分析了Clone存在的限制&#xff0c;并深入了解了其背后的备份原理。今天&#xff0c;我们将继续探索MySQL Clone Plugin的强大功能&#xff0c;Clone其实最重…

实践学习PaddleScience飞桨科学工具包

实践学习PaddleScience飞桨科学工具包 动手实践&#xff0c;在实践中学习&#xff01;本项目可以在AIStudio平台一键运行&#xff01;地址&#xff1a;https://aistudio.baidu.com/projectdetail/4278591 本项目第一次执行会报错&#xff0c;再执行一次即可。若碰到莫名其妙的…

JSP-概念

一、引子 很多读者可能听过JSP&#xff0c;并且知道这是一门过时的技术了。在Spring&#xff0c;SpringBoot已经成为主流的今天&#xff0c;笔者为什么还要介绍JSP的相关内容呢&#xff1f;笔者常常提到一个概念&#xff1a;理解一门技术&#xff0c;要理解这个技术为什么产生…

基于Spring Boot+vue的云上新鲜水果超市商城系统

本云上水果超市是为了提高用户查阅信息的效率和管理人员管理信息的工作效率&#xff0c;可以快速存储大量数据&#xff0c;还有信息检索功能&#xff0c;这大大的满足了用户、员工信息和管理员这三者的需求。操作简单易懂&#xff0c;合理分析各个模块的功能&#xff0c;尽可能…

电阻表示方法和电路应用

电阻 电阻的表示方法 直标法 直标法是将电阻器的类别及主要技术参数的数值直接标注在电阻器表面上 通常用3位阿拉伯数字来标注片状电阻的阻值&#xff0c;其中第1位数代表阻值的第1位有效数&#xff1b;第2位数代表阻值的第二位有效数字&#xff1b;第3位数代表阻值倍率&…

HNU-算法设计与分析-实验1

算法设计与分析实验1 计科210X 甘晴void 202108010XXX 目录 文章目录 算法设计与分析<br>实验1&#xff08;1&#xff09;分治法查找最大最小值问题描述想法代码评测算法分析 &#xff08;2&#xff09;分治法实现合并排序问题描述想法代码评测算法分析 &#xff08;3…

SpringCloud Nacos服务注册中心和配置中心

一、什么是Nacos&#xff1f; 官方介绍是这样的&#xff1a; Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集&#xff0c;帮助您实现动态服务发现、服务配置管理、服务及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Na…

WEB 3D技术 three.js 3D贺卡(1) 搭建基本项目环境

好 今天 我也是在网上学的 带着大家一起来做个3D贺卡 首先 我们要创建一个vue3的项目、 先创建一个文件夹 装我们的项目 终端执行 vue create 项目名称 例如 我的名字想叫 greetingCards 就是 vue create greetingcards因为这个名录 里面是全部都小写的 然后 下面选择 vue3 …

全网最细RocketMQ源码四:消息存储

看完上一章之后&#xff0c;有没有很好奇&#xff0c;生产者发送完消息之后&#xff0c;server是如何存储&#xff0c;这一章节就来学习 入口 SendMessageProcessor.processRequest private CompletableFuture<RemotingCommand> asyncSendMessage(ChannelHandlerCont…

低频信号发生器

前言 最近我快期末考试了&#xff0c;有点忙着复习。没时间写文章&#xff0c;不过学会了焊接 挺开心的所以买几套。 焊得怎么样这就是我们今天故事的主角“低频信号发生器”&#xff08;由于要用到所以这是购买链接&#xff09; 好&#xff0c;故事开始&#xff1a; 如何将…

如何在Eclipse IDE中安装TestNG插件

目录 使用Eclipse Marketplace安装TestNG插件 通过输入URL安装TestNG 1.点击安装新软件 2.输入URL以安装TestNG 3.遵循正常的安装过程 4.重新启动Eclipse 在Eclipse中安装TestNG插件的视频 在这篇文章中&#xff0c;我们将介绍如何在Eclipse IDE中安装TestNG插件&#x…

个人数据备份方案分享(源自一次悲惨经历)

文章目录 1 起源2 备份架构2.1 生活照片2.2 生活录音2.3 微信文件2.4 工作文件2.5 笔记、影视音乐、书籍 3 使用工具介绍3.1 小米云服务3.2 中国移动云盘3.3 小米移动硬盘&#xff08;1T&#xff09;3.4 FreeFileSync 4 总结 1 起源 本文的灵感源于我个人的一次不幸遭遇&#…

C++I/O流——(3)文件输入/输出(第二节)

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 含泪播种的人一定能含笑收获&#xff…

领域驱动设计——DDD领域驱动设计进阶

摘要 进阶篇主要讲解领域事件、DDD 分层架构、几种常见的微服务架构模型以及中台设计思想等内容。如何通过领域事件实现微服务解耦&#xff1f;、怎样进行微服务分层设计&#xff1f;、如何实现层与层之间的服务协作&#xff1f;、通过几种微服务架构模型的对比分析&#xff0…

快速排序【hoare版本】【挖坑法】【双指针法】(数据结构)

快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法&#xff0c;其基本思想为&#xff1a;任取待排序元素序列中 的某元素作为基准值&#xff0c;按照该排序码将待排序集合分割成两子序列&#xff0c;左子序列中所有元素均小于基准值&#xff0c;右子序列中所有元素均…