LabVIEW cRIO中CSV文件的读取

打印 上一主题 下一主题

主题 976|帖子 976|积分 2938

在LabVIEW cRIO中读取CSV文件,需通过文件传输、路径配置、数据解析等步骤实现。本文详细说明如何通过代码读取本地存储的CSV文件,并探讨直接通过对话框选择文件的可行性及替代方案。

一、CSV文件传输至cRIO本地存储

1. 利用NI MAX文件管理



  • 步骤

    • 打开NI MAX(Measurement & Automation Explorer)。
    • 毗连目标cRIO设备,进入 “文件” 选项卡。
    • 选择路径(如/c/),点击 “上传” 按钮,将本地CSV文件(如sample.csv)传输至指定目次(如/c/data/sample.csv)。

2. 利用FTP工具(推荐)



  • 步骤

    • 利用FileZilla等FTP客户端,毗连cRIO的IP地址(端口21)。
    • 登录后,将文件上传至目标路径(如/c/data/)。

  • 上风:支持批量上传,适合大型文件或多文件场景。



二、LabVIEW代码实现CSV读取

1. 核心VI与流程



  • 前面板控件

    • 输入:文件路径(如/c/data/sample.csv)。
    • 输出:二维数组(数据内容)、错误信息。

  • 程序框图步骤

    • 路径构建

      • 利用 Build Path.vi(路径:Programming -> File I/O -> Advanced File -> Build Path),输入基路径(如/c/)和子路径(如data/sample.csv),生成完备路径。

    • 打开文件

      • 利用 Open/Create/Replace File.vi(路径:Programming -> File I/O -> Open/Create/Replace File),模式设为open existing,权限设为read-only。

    • 读取数据

      • 方法1(完备读取)
        利用 Read Delimited Spreadsheet.vi(路径:Programming -> File I/O -> Read Delimited Spreadsheet),设置分隔符为逗号(,),格式字符串为%f(数值)或%s(字符串),输出二维数组。
      • 方法2(逐行读取)
        在While循环中联合 Read From Text File.vi 和 Spreadsheet String To Array.vi,分块处理大型文件。

    • 关闭文件

      • 利用 Close File.vi 开释资源。

    • 错误处理

      • 串联错误簇,通过 Simple Error Handler.vi 表现具体错误(如文件不存在、权限不足)。


2. 参数配置示例



  • Read Delimited Spreadsheet.vi

    • delimiter:,
    • format string:%f(数值范例)
    • number of rows:-1(读取全部行)


三、通过对话框选择文件的可行性分析

1. cRIO限定



  • 实时系统无图形界面:cRIO运行LabVIEW Real-Time系统,不支持直接弹出文件对话框。
  • 替代方案

    • 主机端选择+传输:在PC端LabVIEW程序中通过 File Dialog 控件选择文件,再通过FTP或网络共享传输至cRIO。
    • 预界说路径+动态加载:在cRIO中固定文件存储路径,通过程序逻辑动态加载最新文件。

2. 主机端对话框实现示例



  • 步骤

    • 在PC端LabVIEW程序中利用 File Dialog 控件(路径:Programming -> Dialog & User Interface -> File Dialog),设置文件范例过滤为.csv。
    • 将选中文件通过FTP上传至cRIO的/c/data/目次。
    • cRIO程序读取该路径下的文件。


四、实际应用场景

案例:传感器校准参数加载



  • 需求:cRIO启动时自动加载校准参数文件(/c/calibration/calib_params.csv)。
  • 实现

    • 利用 Read Delimited Spreadsheet.vi 读取CSV文件。
    • 将二维数组传递至校准算法VI。

  • 上风:参数修改只需更新CSV文件,无需重新编译代码。

五、注意事项


  • 实时性

    • 避免在高速循环中频仍读取文件,发起在初始化阶段一次性加载数据。

  • 路径规范

    • cRIO接纳Linux系统,路径严酷区分大小写(如/c/不能写为/C/)。

  • 权限管理

    • 确保文件权限允许LabVIEW历程访问(NI MAX中默认用户为admin)。

  • 错误排查

    • 若读取失败,查抄文件路径、分隔符格式及内存占用(大文件需分块读取)。


总结

通过上述方法,可在LabVIEW cRIO中高效读取CSV文件,实用于参数配置、数据记录等场景。尽管无法直接在cRIO中弹出文件对话框,但通过主机端选择+传输的方案,仍能实现灵活的文件管理。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

泉缘泉

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表