csv - LabVIEW - 将来自多个 DAQ 助手的数据写入同一个 .csv 文件
问题描述
我的 VI 存在以下问题,我无法自行解决或研究:
运行 VI 时,数据应存储在 .csv 文件中。在图片中,您可以看到框图。运行时,它会生成以下文件:
测试稳态t_saug_1/t_saug_2/unbelegt/unbelegt/t_nd/t_hd/t_wasser_ein/t_wasser_aus/t_front/t_back/t-right/t-light/t-left/t-left 18,320
如您所见,数据仅存储在第一列中(在帖子的预览中,它看起来像是一行,但实际上是一列;T 稳定状态是标题)。但是这些温度不是第一个传感器的温度,它以某种方式存储了相应行中每个传感器的值。当第一行被填满时,它完全停止存储数据。我不知道如何在此处插入文件,否则我会这样做...我想将每个传感器的数据存储在相关列中。
我遇到的另一个问题:显示所有温度的波形图仅每 4-6 秒更新一次。不仅每次更新之间的间隔并不总是相同,而且据我了解,它应该每秒更新一次,因为 while 循环的等待计时器设置为 1000 毫秒。我不知道我在这里的错误是什么......
如果您对如何解决我遇到的问题或我可以找到问题答案的建议有任何想法,请告诉我。我对LabVIEW很陌生,如果这个问题很愚蠢,我很抱歉。
非常感谢您的耐心帮助,lempy。
解决方案
Write Delimited Spreadsheet
VI 有两个布尔输入:Append to file?
和transpose?
Append to file?
没有为第一次写入设置,默认为 FALSE。这意味着,在每次写入时,文件都会被覆盖。对于第二次和第三次调用,它被设置为 TRUE,所以这些数据被附加。最简单的解决方案是将前两个写函数放在主循环之外。这会用标题覆盖 VI 开头的文件,并根据需要附加值。
transpose?
将交换行和列。将 TRUE 连接到它,并检查它是否有效。
关于您的第二个问题:
循环运行的速度与内部最慢的过程一样快。如果图表仅每 6 秒更新一次,则需要 6 秒才能完成。我的猜测是这些温度读数需要很长时间......
推荐阅读
- c# - 如何在编译的代码中动态创建图形元素(.NET 5)?
- postgresql - 通过在 postgresql 上索引时间戳列来更快地搜索?
- ruby - ruby 版本未安装 <= 2.2.5 或 2.2.0
- python - 文本框由 mutliplie seaborn distplot 消失
- python - 无法确定小故障的原因:循环开始时打开文件对话框
- python - KBinsDiscretizer bin 边缘
- html - 如何从Angular中的选择框中获取值作为数字
- javascript - 反应计数多次?不和谐.js
- php - WooCommerce 无需重新加载即可在购物车页面上刷新自定义总数
- java - 在 java 中使用 if/else 返回一个布尔值