LabVIEW在实时目标上使用文件路径

简介: LabVIEW在实时目标上使用文件路径

LabVIEW在实时目标上使用文件路径


文件路径和结构因目标操作系统而异。本文档讨论了推荐的LabVIEW编码实践,用于指定文件路径,以便应用程序可以无缝地从目标移动目标。


实时操作系统选项


所有NI实时控制器运行三种不同的操作系统之一,即PharLap、VxWorks或NI Linux Real-Time。在运行PharLap操作系统的目标上,文件路径的工作方式与根目录位于C:\的Windows文件路径非常相似。和反斜杠作为目录之间的分隔符。VxWorks目标具有Unix样式的文件结构,因此使用正斜杠作为以/c/作为根目录的目录之间的分隔符。然而,在LabVIEW中,用户会注意到使用PharLap文件路径和VxWorks文件路径之间差别很小。这是因为所有路径常量、控件和指示器都使用与LabVIEW中的Pharlap(或Windows)相同的格式显示VxWorks文件路径。因此,在按照本文档中的建议构建文件路径时,用户不应注意到使用PharLap和使用VxWorks之间的任何区别。


在NI Linux Real-Time目标上,根文件路径为/,正斜杠用作目录之间的分隔符。NI Linux实时目标没有C驱动器。但是,为了方便起见,存在目录/c和/c/ni-rt,并且/c/ni-rt/startup重定向到/home/lvuser/natinst/bin,这是NI Linux Real-Time目标上启动应用程序的推荐路径。


下图显示了在每个实时目标的目标根目录中创建名为test.txt的文本文件的简单代码:


动态构建的路径


在动态构建文件路径时,NI建议对根目录使用文件路径常量或控制,并使用带有各个路径元素(文件名称文件夹)的构建路径VI来构建完整路径,如下所示。这可确保使用正确的根目录和斜杠类型。下图显示了在不同操作系统上运行此代码时返回的路径。


或者,可以使用部署VI的位置作为参考来构建相对路径。下面的代码演示了如何使用当前VI的路径常量、条带路径和构建路径函数来执行此操作。与第一种技术一样,如果将VI移动到具有不同操作系统的控制器或具有不同文件结构的位置,这也避免了重新编写路径的需要。下图显示了在不同操作系统上运行此代码时返回的路径。


文件路径常量


文件路径常量和控件根据目标上下文动态更改路径。例如,包含C:\的文件路径常量当为Pharlap或VxWorks目标保存时,当移动到NI Linux RT目标时,将自动更新为/c/。文件路径常量和控件是在实时目标上指定静态路径的首选方法。


但是,文件路径常量通常无法更正无效的文件路径。如果在常量中键入无效路径,它可能会尝试更正当前操作系统的该路径,但可能会失败,从而产生不正确的结果。


下面是文件路径常量如何更正/尝试更正输入的几个示例。


1)用户在Windows机器上的路径常量中键入/c/Applicaton/SubVIs/Example.vi。路径常量将此识别为Linux实时操作系统的有效文件路径。它成功地将其更正为Windows样式路径:


2)用户在Windows上下文中的路径常量中键入\c\应用程序\子VIs\Example.vi。此路径与示例1中的路径相同,但带有反斜杠。这是一个无效的文件路径,因为它包含的斜杠是LinuxRT的错误方向,但不像Windows样式路径那样以驱动器号开头。路径常量尝试添加驱动器号,就好像它是Windows样式路径一样


3)用户在Windows上下文中的路径常量中键入C:/Application/SubVIs/Example.vi。这将是Windows样式路径,正斜杠除外。路径常量识别它以驱动器号开头并添加反斜杠:


用户必须负责识别输入无效路径并因此被错误更正的时间。


静态文件路径


可以在不使用文件路径常量的情况下构建文件路径。字符串到路径函数可用于指定实时系统上的静态文件路径,如下所示:


但是,NI不推荐使用此选项,因为字符串到路径功能在目标之间移动时不会动态更改根目录或斜杠方向。必须注意确保转换为文件路径的任何字符串仅包含目标操作系统的正确斜杠。例如,如果文件路径字符串包含反斜杠,并且您尝试在Linux实时目标上运行VI,则程序将无法在磁盘上找到正确的位置。这是因为Linux实时无法将反斜杠识别为分隔符;在NI Linux Real-Time上,文件名中可能包含反斜杠。


注意:大多数实时目标使用字母来指示不同的驱动器。以C开头的路径存储在实时目标的内部存储器中。外部紧凑型闪存驱动器从C之后的第一个可用驱动程序号开始映射,外部USB硬盘驱动器从U开始映射。


注意:在写入目标驱动器之前,您指定要写入的文件夹必须存在于目标驱动器上,否则VI将无法正常工作。


文件系统权限


文件和文件夹访问权限不会在运行VxWorks或PharLap操作系统的NI实时目标上强制执行。另一方面,NI Linux实时目标使用并强制执行标准Linux样式文件和文件夹访问权限。


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

相关文章
|
6月前
|
安全
LabVIEW RT编程时,如何格式化实时 PXI 目标?
LabVIEW RT编程时,如何格式化实时 PXI 目标?
33 2
|
6月前
|
机器学习/深度学习 计算机视觉
LabVIEW开发自动读取指针式仪表测试系统
LabVIEW开发自动读取指针式仪表测试系统
59 7
|
6月前
|
数据采集 存储 监控
LabVIEW起重机工作参数远程监测系统
LabVIEW起重机工作参数远程监测系统
40 1
|
6月前
|
数据采集 算法 安全
LabVIEW将台式电脑转换为 Phar Lap ETS 实时目标
LabVIEW将台式电脑转换为 Phar Lap ETS 实时目标
49 1
|
6月前
|
存储 Unix Linux
LabVIEW与实时目标之间的FTP文件
LabVIEW与实时目标之间的FTP文件
228 0
|
6月前
|
存储 API 索引
LabVIEW利用 IMAQdx 驱动通过编程的方式导入或导出相机的配置文件
LabVIEW利用 IMAQdx 驱动通过编程的方式导入或导出相机的配置文件
89 0
|
11月前
|
存储 算法 搜索推荐
pacs系统源码,医学图像信息的快速采集、传输、存储、显示和后处理
PACS系统以实现医学影像数字化存储、诊断为核心任务,从医学影像设备(如CT、CR、DR、MR、DSA、RF等)获取影像,集中存储、综合管理医学影像及病人相关信息,建立数字化工作流程。 系统可实现检查预约、病人信息登记、计算机阅片、电子报告书写、胶片打印、数据备份等一系列满足影像科室日常工作的功能,并且由于影像数字化存储,用户可利用影像处理与测量技术辅助诊断、方便快捷地查找资料或利用网络将资料传输至临床科室
|
算法 Go 图形学
基于OFF格式文件的三维模型建立和显示,带GUI界面
基于OFF格式文件的三维模型建立和显示,带GUI界面
|
传感器
振弦采集模块配置工具VMTool 扩展功能指令生成器与实时曲线
指令生成器可根据需要生成符合 MODBUS 和 AABB 通讯协议的读取和控制指令。 通过点击串口调试工具内的【 指令生成器】 按钮,可打开指令生成器窗口,如下图示。 在指令生成器窗口中, 输入需要修改或读取的寄存器地址、寄存器值,点击【 生成指令】 按钮,即可在界面底部的文本框生成 16 进制指令, 点击【 复制到剪切板】 按钮可将当前显示的指令内容复制到剪切板。
振弦采集模块配置工具VMTool 扩展功能指令生成器与实时曲线
振弦采集模块配置工具VMTool的常见功能
当 VMTool 与模块为连接状态时( 4.3.1 模块的连接与断开), 勾选实时数据区的【 自动读取】 复选框, VMTool 开始自动向模块发送实时数据读取指令, 修改【 时间间隔】 文本框内的数值可改变相邻两条读取指令的时间间隔, 单位为毫秒。 自动发送读取指令后, VMTool 等待模块返回实时数据, 直到模块返回了正确的实时数据后才会启动下次指令发送。
振弦采集模块配置工具VMTool的常见功能
下一篇
无影云桌面