LabVIEW论坛
直播中

吴大宝

未满1年用户 4经验值
擅长:可编程逻辑
私信 关注
[问答]

求助,做一个波形图显示控件,要求调用excel表里面存的时间作为波形图的x值。

我在做毕设的时候,要读取excel表格里面的数值,然后做到最后一步就是调用excel表里面的时间,把那个时间作为X轴的值。

现在就是能够索引并读取出来了,但是每次索引后,波形图就不显示上一个数了,就变成索引的新数并放到波形图。下面有图请大佬能够替我回答一下!!!!求求了,毕设做不出来了!!!!
下面有程序,求求各位大佬了,救救孩子吧!!!!
image.png
image.png

*附件:读取文件.zip

回帖(3)

张浩

2025-5-19 14:19:55

*附件:wKgZPGgnSGyADeBiAAA4dckR2PA526.rar
这个必须要用波形图显示吗?感觉用XY图显示更合理。用波形图显示的话只能给X轴赋一个时间的初始值,再设置一个间隔,根据间隔自动生成后面的时间节点,不能按照你表格里的时间节点进行赋值

举报

世荣

2025-5-19 16:03:44
换成波形图表,波形图是没有缓存的,所以输入一次它刷新一次,波形图表带缓存,是输入一次在上一次显示基础上增加
举报

刘艳

2025-5-23 18:19:08

根据你的描述和程序分析,问题出在数据累积方式上。以下是详细的解决方案:


步骤1:添加数据缓存结构
在循环结构内使用移位寄存器保存历史数据(右键循环边框→添加移位寄存器)


添加移位寄存器示意图


步骤2:配置Excel读取为多行模式
确保每次读取时获取多行数据,而非单点(配置Excel读取节点为二维数组输出)


步骤3:数据合并逻辑


新数据数组 → 合并历史数据 → 更新波形图
         ↑
    移位寄存器

具体操作:



  • 使用"Insert Into Array"函数将新数据追加到历史数组

  • 或用"Build Array"函数拼接新旧数组


步骤4:波形图属性设置
右键波形图→属性→"History Data"选项卡→取消勾选"Clear on Each Call"


步骤5:时间格式转换
如果时间列为文本格式:


时间字符串 → "Scan From String" → 转换为时间戳

推荐使用时间簇格式:


Bundle函数创建X-Y对:
    X输入:时间数组
    Y输入:数据数组

完整程序框图示例:


[Excel读取] → [数据拆分] → [时间转换]
                        ↘ [数据转换] → [合并历史数据] → [波形图]
                          ↑
                     移位寄存器

常见问题排查:



  1. 检查Excel数据是否包含表头(第一行可能需要跳过)

  2. 验证时间列的数值范围(确保不是从1904年开始计算)

  3. 如果数据量过大,建议分块读取(每次读取100行)


优化建议:



  • 添加"Wait(ms)"控制循环速度

  • 使用"Conditional Stop"按钮控制读取终止

  • 增加错误处理簇(错误链连接所有节点)


需要实际调试时,可以分段验证:



  1. 先单独显示时间列数据

  2. 显示数值列数据

  3. 验证X-Y对应关系

  4. 最后测试连续更新效果


这个方案可以保持波形持续更新显示,同时保证X轴时间戳的正确对应。如果仍有问题,建议使用"Probe"工具检查中间数据是否正常累积。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分