【NI-RIO入门】记录和监控数据

news2025/3/15 7:58:25

1.内部存储器

        可以使用常规文件 I/O VI 在嵌入式程序中以编程方式访问实时控制器的内部存储。文件路径结构根据控制器运行的实时操作系统 (RTOS) 的不同而有所不同。

        该文件路径语法记录在教程:使用实时目标上的文件路径 中。

        可以通过在Measurement & Automation Explorer (MAX) 中查看设备的“系统设置”选项卡或在“实时控制器”和“实时操作系统兼容性”中搜索您的型号来确定您的目标正在运行哪个 RTOS 。

        注意:

        1.由于控制器上未安装 Microsoft Excel,所以不能保存文件为excel文件,只能是通过协议将采集的数据从实时目标传输到安装有 Microsoft Office 的 PC,然后可用于将数据写入 Excel 文件。或者,您可以将数据存储在实时目标上的另一种文件类型中,然后稍后将数据通过 FTP 传输到另一台计算机。

        2.NI Linux 实时操作系统不支持对话框提示功能。所以不能使用写入测量文件ExpressVI。(Unsupported LabVIEW Features on NI Linux Real-Time Targets - NI)

        3.

        

监控CompactRIO磁盘空间

        提供了 IP 地址数组,并使用初始化会话和查找硬件 VI 获取每个目标的硬件列表。 对于每个硬件项目,都会在其别名中搜索短语“cRIO”,如果找到该字符串,则可以查询该硬件项目的系统参数。下面的代码说明了该过程。

2.USB存储

        连接到实时控制器上 USB 端口的外部大容量存储设备可以作为驱动器 U 进行访问:使用文件 I/O VI;与访问内部存储的方式类似。您也可以通过指定驱动器号通过 FTP 传输到该驱动器。当连接更多 USB 存储设备时,驱动器号将增加为 W:、X: 和 Y:。要访问这些驱动器,您需要指定类似于ftp://IP_address_of_FP_controller/U:/ 的FTP 连接。

        首先,我们使用的外部存储设备必须格式化为与特定实时操作系统兼容的文件系统,根据 File System Compatibility with the NI Linux Real-Time OS 可以使用FAT 16、FAT 32、ext2和 ext3。不过,为了便于传输到 Windows,建议使用 FAT32。

 如果要将一些NTFS格式的大容量存储设备接入 Linux RT系统,还需要进一步配置。请参考 此页面确认您的设备是否为Linux RT系统。
         

1.在MAX中启动SSH服务器。​​

2.下载并安装 Putty。

3.打开 Putty 并通过设备 IP 地址链接到目标 cRIO:

4.在弹出的命令行窗口中输入cRIO用户名和密码(用户名为admin,密码默认为空)进行登录,如图1所示。

5.然后输入命令:opkg install ntfs-3g,可能有两种情况(cRIO必须联网):

  • 开始安装 ntfs-3g。cRIO会自动从网络下载安装包并安装;
  • 出现错误消息,提示找不到安装包。在这种情况下,您将需要升级 Linux 中的某些驱动程序,必要时输入“opkg update”或“opkg Upgrade”。更新完成后,输入“opkg install ntfs-3g”。


图1。

6.默认情况下,外部驱动器应使用驱动器盘符 U:第一个驱动器命名,V:第二个驱动器命名,依此类推。确认外部存储设备被目标cRIO识别后,可以参考 本文档  进行数据写入操作。

如以上步骤不可以,可以查看此链接进行硬盘挂载:Setting Up and Using External Storage Devices on NI Linux Real-Time Targets - NI   

3.外部CompactFlash存储

        使用紧凑闪存作为外部存储的实时控制器(例如 cFP-2x20)可以使用文件 I/O VI作为驱动器D:进行访问。要访问外部 CompactFlash 根目录中的文件data.csv ,请使用文件 I/O VI 读取文件D:\data.csv。还可以使用 FTP 连接访问 CompactFlash 卡。 

        

  • 必须将驱动器格式化为适用于特定实时操作系统的兼容文件系统。所有NI Real-Time设备均支持FAT32,建议使用此格式,以便于传输至Windows。 PharLap终端设备也支持Reliance文件系统,而NI Linux Real-Time终端设备也支持ext2或ext3文件系统。
  • 您必须将连接USB驱动器或SD卡指向枚举的驱动器。默认情况下,外部驱动器的名称应为第一个驱动器名称为U :,第二个驱动器的名称为V :,依此类推。
  • 您必须遵循操作系统的文件结构约定(如,正斜杠,冒号)。有关在不同的实时操作系统上使用文件路径的更多信息,请参见在实时终端上使用文件路径。
  • 如果在使用SD卡执行完成上述步骤后发现权限错误,请检查该卡是否设置为只读。对于大多数SD卡,锁定方向将位于卡的正面。

        

4.手动传输文件

WebDAV

        实时控制器可以配置为支持 WebDAV,这将允许您以安全的方式手动将文件传输到目标或从目标传输文件。 请参阅使用 WebDAV 将文件传输到实时目标。

文件传输协议

        如果您不想使用 WebDAV 并且不介意安全性较低的方法,您可以将控制器配置为使用 FTP 连接。NI Linux-Real Time 设备上默认未安装 FTP 服务器。有关如何将 FTP 与 Linux 实时目标结合使用的说明

SFTP 的 FileZilla

FileZilla - The free FTP solution是一个免费的开源 SFTP 实用程序,它提供易于导航的用户界面,用于浏览远程系统上的文件系统并与之交互。SFTP,即 SSH 文件传输协议,是 SSH 的扩展。因此,使用此方法时,在远程系统上启用 SSH 非常重要。要在您的设备上启用 SSH,请执行以下操作:

  1. 打开设备电源并将其连接到网络或直接连接到开发计算机。
  2. 打开 NI MAX 并在远程系统下找到您的设备。
  3. 您可能需要登录控制器才能访问其设置(默认用户名是 admin,默认密码为空)。
  4. 在“启动设置”窗口中选中“启用安全 Shell 服务器 (sshd)”复选框。
  5. 保存您的更改,目标将重新启动。

要使用 FileZilla 连接到目标的文件系统:

  1. 打开 FileZilla。
  2. 在“主机”字段中,输入目标的 IP 地址,该地址可以在 MAX 中设备的“系统设置”选项卡上找到。
  3. 在相应字段中输入您的用户名和密码。
  4. 在端口字段中输入 22。这是 SFTP 和 SSH 的默认端口。
  5. 单击快速连接。

        您现在应该能够使用 FileZilla 与 NI Linux Real-Time 目标上的文件系统进行交互。 

基于Web配置

        还可以通过 Web 配置工具访问文件系统。只需在 Internet Explorer 的 URL 栏中导航至 cRIO 的 IP 地址,然后选择下图中突出显示的远程文件浏览器按钮即可访问此功能。一些注意事项:

  • cRIO 上需要安装基于 Web 的配置和监控软件。
  • cRIO 上的管理员用户需要非空密码。
  • 文件系统访问是通过 lvuser 用户帐户完成的,而不是 admin。尝试修改 lvuser 无权访问的文件将导致“403:禁止”错误消息。

文件系统窗口顶部的按钮将允许您导航和操作 Linux Real-Time 目标上的文件。

发布到网页

        虽然这是可能的,但它会占用大量资源。对于 myRIO 和 sbRIO 来说,这是不可能的,因为即使速度很慢,它也会占用太多的 CPU 能力和太多的内存。解决方案是将 JavaScript 与 NI 的 LabVIEW Web 服务集成。此处和此处发布了相关教程和示例。

        如果此方法不起作用,还可以考虑其他一些方法:

  1. 网络套接字
  2. 系统链接
  3. 发布VI到网页
  4. G Web 开发软件

5.FPGA 内存

         要注意的是此处仅作为临时存储,或者数据上传,不能作为离线存储,需结合其他方法存储。

        要将数据保存到FPGA内存,请使用存储器方法节点。

        要使用存储器方法节点,必须先创建一个存储器项。要为您的应用选择最合适的存储器项,请参阅在FPGA终端上存储数据(FPGA模块)。

一旦确定了最适合的存储器项,就必须在项目中创建该存储器项。要查找如何执行此操作,请参阅创建FPGA存储器项(FPGA模块)。

接着,您可以使用存储器方法节点指向现有的存储器项并根据需要存储数据。

6.网络硬盘(nas)

        注意事项:具体还是询问nas厂家

mount思路

        Preparing a NI Linux Real-Time PXIe Controller for Usage With IPG CarMaker - NI

另一种思路

        需要 cifs 工具。您可以通过更新 opkg 来获取它们(因此您确保获得最新版本。),然后使用 opkg 安装 cifs-utils

<span style="color:var(--color-wash)"><code>opkg update
opkg install cifs-utils</code></span>

然后安装驱动器就很简单:

sudo mount -t cifs //[IP of remote server]/[name of shared folder]/ -o username=[your username],password=[your password],uid=lvuser /home/lvuser/data

        

        您可以通过 ssh/控制台或通过 System Exec 运行此命令。-o 指定选项。您还可以设置更多内容,但这些是基础知识。用户名和密码是共享的凭据。uid=lvuser是为了确保设置所有者和权限,使lvuser具有读写权限。这是必要的,因为 LabVIEW 以 lvuser 身份运行。/home/lvuser/data 可以是您想要的任何路径。这就是驱动器安装的地方。它确实需要存在。如果没有,您必须首先使用 mkdir 命令创建它。如果您创建它,请注意权限 - 确保它由 lvuser 拥有并且他们可以读取/写入它。安装后,您只需将任何数据文件放入 /home/lvuser/data 中,它们就会显示在共享上。


 

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

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

相关文章

全国5米土地利用遥感监测数据(GB/T 21010-2017)

全国5米土地利用遥感监测数据 全国5米土地利用类型遥感监测空间分布数据&#xff0c;是基于谷歌高分辨率影像数据人机交互解译形成&#xff0c;并使用POI数据、ROI数据进行数据修正。根据GB/T 21010-2017《土地利用现状分类》将土地利用类型分为12个一级类&#xff0c;73个二级…

SpringBoot 3.2.0 基于Logback定制日志框架

依赖版本 JDK 17 Spring Boot 3.2.0 工程源码&#xff1a;Gitee 日志门面和日志实现 日志门面&#xff08;如Slf4j&#xff09;就是一个标准&#xff0c;同JDBC一样来制定“规则”&#xff0c;把不同的日志系统的实现进行了具体的抽象化&#xff0c;只提供了统一的日志使用接…

SAP ME21/22/23N 创建增强ME_PROCESS_PO_CUST

增强ME_PROCESS_PO_CUST 二、实现方式&#xff1a;实现的方式可以有很多种&#xff0c;这里讲一下用BADI增强ME_PROCESS_PO_CUST实现的方式 第一步&#xff1a;执行事务码se19,在BAdI Name处输入&#xff1a;ME_PROCESS_PO_CUST&#xff0c;然后点“Create Impl”按钮 第二步…

鸿蒙列表,item组件封装传参问题?@ObjectLink 和@Observerd

鸿蒙列表渲染&#xff0c;封装内容组件&#xff0c;进行item传参会报错&#xff1f; class FoodClass {order_id: number 0food_name: string ""food_price: number 0food_count: number 0 }Entry Component struct Demo07 {State message: string Hello World…

C练习——不创建临时变量,交换两个数值

面试可能会问 方法一&#xff08;有缺陷&#xff0c;int 型数值有上限&#xff0c;ab可能超范围&#xff09; // int 型数值有上限&#xff0c;ab可能超范围 #include <stdio.h> int main() {int a 2;int b 3;printf("交换前&#xff1a;%d %d\n", a, b);a…

SpringBoot整合JWT+Spring Security+Redis实现登录拦截(一)登录认证

一、JWT简介 JWT 全称 JSON Web Token&#xff0c;JWT 主要用于用户登录鉴权&#xff0c;当用户登录之后&#xff0c;返回给前端一个Token&#xff0c;之后用户利用Token进行信息交互。 除了JWT认证之外&#xff0c;比较传统的还有Session认证&#xff0c;如何选择可以查看之前…

基于单片机的语音识别自动避障小车(论文+源码)

1.系统设计 此次基于单片机的语音识别自动避障小车&#xff0c;以STC89C52单片机作为系统的主控制器&#xff0c;利用超声波模块来实现小车与障碍物距离的测量并通过LCD液晶显示&#xff0c;当距离低于阈值时会通过WT588语音模块进行报警提示&#xff0c;并且小车会后退来躲避…

知识付费saas租户平台的核心功能设计:打造高效、个性化的学习体验

在在当今数字化时代&#xff0c;知识付费市场正在迅速崛起&#xff0c;而私域流量的概念也日益受到重视。私域流量指的是企业通过自有渠道获取的、能够自由支配的流量&#xff0c;这种流量具有更高的用户粘性和转化率。因此&#xff0c;打造一个基于私域流量的知识付费小程序平…

【C++】并发:异步操作

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍并发&#xff1a;异步操作。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次更新不…

Astro无人车发布,颜值与功能兼修

介绍 Astro是云讷科技&#xff08;深圳&#xff09;有限公司推出的一款高度智能化和轻量化的小型无人车&#xff0c;其外观基于Tesla Cybertruck 1:10比例还原&#xff0c;支持ROS机器人软件系统开发和视觉SLAM、激光SLAM、路径规划、深度学习等应用。 在线文档&#xff1a; h…

【Unity6.0+AI】Sentis加载模型识别手写数字案例实现

按照国际惯例,看效果: 素材准备: 自己在PS中绘制黑底白字手写字体,导出jpg,尺寸28*28! 素材设置 基本步骤 准备工作:从 ONNX Model Zoo 下载手写识别 ONNX 模型文件 【下载模型】MNIST 手写数字识别模型 mnist-12.onnx,并将其拖入项目窗口的 Assets 文件夹。 【下载模…

亿赛通电子文档安全管理系统 user JNDI远程命令执行

产品简介 亿赛通电子文档安全管理系统&#xff0c;&#xff08;简称&#xff1a;CDG&#xff09;是一款电子文档安全加密软件&#xff0c;该系统利用驱动层透明加密技术&#xff0c;通过对电子文档的加密保护&#xff0c;防止内部员工泄密和外部人员非法窃取企业核心重要数据资…

Dbeaver如何连接Oceanbase?

Dbeaver & Oceanbase 一、新增驱动二、连接数据库 一、新增驱动 1、新建驱动 点击数据库 -> 驱动管理器 -> 新建 2、设置驱动 驱动名称可随意填写注意驱动类型要是Generichost:port填写实际的host和port 库中新增下载的oceanbase驱动jar包 二、连接数据库 1、找…

RK3568驱动指南|第八篇 设备树插件-第83章 设备树插件驱动分析实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

JAVA web面试大全(全)

摘自&#xff1a; Java技术栈 公众号 一、JVM篇 &#xff08;含&#xff1a;JVM类加载机制&#xff0c;JVM内存模型&#xff0c;垃圾收集机制&#xff0c;类字节码实现机制&#xff0c;JVM调优案例&#xff0c;GC日志详解等&#xff09; 二、Java并发编程 &#xff08;含&am…

微信小程序---API的promise化

1.实现API promise化 npm install --save miniprogram-api-promise1.0.4 2.构建miniprogram_npm&#xff0c;先把miniprogram_npm删除&#xff0c;再点击工具->构建npm 3. 4.页面使用 async getInfo(){const {data:res} await wx.p.request({method:GET,url:https://ap…

项目管理及系统规划

一、项目管理 1.软件工程基本概念 1.1 软件 &#xff08;1&#xff09;什么是软件&#xff1f; 软件一般认为由三部分组成&#xff1a; • 程序&#xff1a;在运行时&#xff0c;能提供所希望的功能和性能的指令集。 • 数据结构&#xff1a;使程序能够正确运行的数据结构 …

少走十年弯路!!!webpack详解

webpack是什么&#xff1f;&#xff1f; 本质上&#xff0c;webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具。当 webpack 处理应用程序时&#xff0c;它会在内部从一个或多个入口点构建一个 依赖图(dependency graph)&#xff0c;然后将你项目中所需的每一个模…

【问题系列】同时管理多版本node方案

目录 一、问题描述 二、解决方案 三、详细步骤 3.1 安装NVM&#xff1a; 3.2 运行NVM 3.3 安装Node.js 3.4 切换Node.js版本 3.5 验证安装&#xff1a; 四、拓展 4.1 设置默认 Node.js 版本 4.2 列出已安装的 Node.js 版本 4.3 其他命令介绍 一、问题描述 需要运行…