2016-06-12 96 views
1

显示的Modbus数据我采用modbus API做了VI,并成功地连接到HMI和读取一些数据。我想将这些数据保存在一个文件中,即使在由于电源故障而重置之后也将这些数据显示在历史趋势中。我应该使用哪个组件?LABVIEW - 对历史趋势

+0

你到目前为止试过的东西? –

回答

0

根据您要保存数据,尽量写入电子表格文件写入测量文件在文件I/O面板的格式。查看这些VI的帮助和示例以获取更多信息。

通过“展在历史趋势数据”我假定你的意思是一场与时间的图表上。最简单的方法是在获取它们时将每组数据点写入波形图表。再次查看LabVIEW帮助以获取更多详细信息。要读取或写入图表中的累积数据,请右键单击图表的终端,然后选择Create > Property Node > History Data。您可以通过右键单击菜单将其更改为读取或写入。

+0

是的,我想显示数据与时间(绝对时间)。但是,获取的数据没有任何时间戳。无论如何读取系统时间并保存为时间戳? –

+0

您是否尝试过打开LabVIEW帮助并搜索'时间'?无论如何,你需要的功能是“获取日期/时间在几秒钟内”。 – nekomatic

0

我看最好使用一个文件两个,为什么要重复的工作。

有往往是两种主要类型从LabVIEW使用的文件:

  1. TDMS是NI开发了一个定制的二进制格式。用于存储边二进制数据的元数据(这往往是存储数据的最小方式)。
  2. CSV文件是一种文本格式,其值在行和行之间有一个逗号和新行。这具有可以通过许多不同的程序如Excel打开的优点。

对于TDMS有一个内置库。

对于CSV签出调用的函数“写入电子表格文件”,这将支持格式和写入文件。这往往希望整个文件一次写入,如果你需要更高的性能看看标准的文件I/O库和一个名为“数组到电子表格字符串”的函数,它将负责为你设置格式。

那么对于上述任一你也可以阅读的引导文件并加载历史(假设你也有一个基本的配置文件,说这个文件是用最后一个)。

+0

谢谢。请问提供更多关于“(假设你还有一个基本的配置文件,说这个文件是最后一个使用的)”。“? –

+0

当你重新启动系统时,如果你想加载历史记录,你需要知道从哪个文件加载它。 要做到这一点,您需要始终使用相同的文件名或将文件名存储在某种配置文件中,每次程序启动时都可以加载该配置文件。 – jamesmc86

0

谢谢nekomatic

经过一番搜索,我结束了DSC模块和历史趋势。有一个名为DataSet Marking Demo的示例。在这个例子中,你可以找到一个信号发生器来产生ad窦状信号,最终它的数据将被保存在Citadel数据库中。问题在于,如果系统由于电源故障而关闭,它不会正确检索最后一组数据。

有什么建议吗?