我使用 modbus API 制作了一个 VI,并设法连接到 HMI 并读取一些数据。我想将这些数据保存在一个文件中,即使在由于电源故障而重置后,也要在历史趋势中显示这些数据。我应该使用哪个组件?
3 回答
理想情况下,我希望两者都使用一个文件,为什么要重复这项工作。
LabVIEW通常使用两种主要类型的文件:
- TDMS 是 NI 开发的自定义二进制格式。用于将元数据与二进制数据一起存储(这往往是存储数据的最小方式)。
- CSV 文件是一种文本格式,值之间有逗号,行之间有换行符。这样做的好处是可以由许多不同的程序(如 Excel)打开。
对于 TDMS,有一个内置库。
对于 CSV,请查看名为“写入电子表格文件”的功能,该功能将支持格式化并写入文件。不过,这往往会期望一次性写入整个文件,如果您需要更高的性能,请查看标准文件 I/O 库和一个名为“数组到电子表格字符串”的函数,它将为您处理格式。
然后对于其中任何一个,您还可以在启动时读取文件并加载历史记录(假设您还有一个基本配置文件,说明该文件是最后使用的文件)。
根据您要保存数据的格式,在文件 I/O 面板中尝试写入电子表格文件或写入测量文件。查看这些 VI 的帮助和示例以获取更多信息。
通过“显示历史趋势数据”,我假设您是指时间图表。最简单的方法是在采集每组数据点时将它们写入波形图。再次,查看 LabVIEW 帮助以获取更多详细信息。要读取或写入图表中的累积数据,请右键单击图表的终端并选择Create > Property Node > History Data
。您可以通过右键菜单将其更改为读取或写入。
谢谢nekomatic
经过一番搜索,我最终得到了 DSC 模块和历史趋势。有一个名为 DataSet Marking Demo 的示例。在示例中,您可以找到一个生成 ad sinus 信号的信号发生器,最终其数据将保存在 Citadel 数据库中。问题是如果您的系统因电源故障而关闭,它不会正确检索最后一个数据集。
有什么建议吗?