LabVIEW状态机迭代时间调试工具 点击:354 | 回复:2



fjczd

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:552帖 | 36回
  • 年度积分:703
  • 历史总积分:1294
  • 注册:2008年8月14日
发表于:2023-03-25 20:19:06
楼主

LabVIEW状态机迭代时间调试工具

这是一个调试工具,用于快速发现基于循环迭代的状态机中的慢速函数,此工具将在运行时通过计算执行时间的统计信息(平均值、最大值、最小值)来告诉哪些迭代步骤相对较慢。

功能:

当使用运行速度低于预期的状态机时,有时很难发现哪些状态实际上是慢速状态。使用此工具,可以针对慢速状态调试两种常见的状态机体系结构:基于迭代的状态机和基于枚举的状态机:

从这两个示例中可以看出,在第三种状态下,两者都有30毫秒的(不需要的)暂停。对于简单的状态机,不难发现这样的错误。但是,如果状态机被多次调用,或者暂停仅在极少数情况下发生,则情况可能会很复杂。

该工具提供了一个VI,在使用时连接到迭代计数器或枚举,它将跟踪每个状态/迭代的执行时间。

它返回有关每个状态的以下详细信息:

上次执行持续时间

执行总数(运行次数较多的spot状态)

总执行时间

最短执行时间

最大执行时间(发现异常值)

或者,它可以显示一个弹出窗口,该弹出窗口计算每个状态的平均时间,并允许基于任何列进行排序或将数据导出到剪贴板。

使用的技术

该工具有几个VI,展示了各种技术,我将总结并指出特定的代码部分。

Full-sizetable

VIDebugStateTimes2010.vi包含一个设置为使用面板缩放对象的表。

优点:前面板由单个元素组成,该元素与前面板一起调整大小以隐藏其他前面板元素。

反馈节点以跟踪统计信息

VIDebugStateTimes2010.vi包含三个反馈节点(迭代、时间和统计)来跟踪数据。

无需带有移位寄存器的while循环,更少的节点代码更简洁。

(可选)显示对话框

通过为调用VI提供显示带有时序统计信息的对话框的选项,可以将此代码保留在可执行文件中,并决定何时显示实际统计信息以进行调试

可重入VI

通过使用可重入VI,调试工具可以放置在多个位置,而不会相互干扰

可排序表XControl

GUI中使用的表是XControl。为了封装用于表处理的所有代码,它允许调试工具忽略与表的任何用户交互,这些在XControl中处理。XControl位于“data\CM_SortableTable.xctl”,可以查看以下技术:

LimitTable to be an indicator

由于该表不是控件(用户无法在表中输入数据),因此强制将XControl作为指标:

XControl中的消息传递

很难知道XControl需要采取哪些操作,通过使用XControl状态能力(Action)中的特定字段,属性和方法可以向XControl外观VI发出命令:

处理子VI中的复杂代码

一些更复杂的代码部分存储在子VI中。例如,快捷菜单内容的计算是在专门的VI中完成的。这使得外观显示VI保持简单。

使用开源代码

这个XControl的核心是可以对特定列进行排序,这种排序是通过称为SortArrayOpenG函数完成的,该工具允许根据特定列和方向(升序/降序)进行排序。通过使用开源代码,可以在代码中利用已知和经过测试的库的强大功能。

需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

LabVIEW程序,如下附件所示。可从链接中的word文件中得到,先下载该word文件,打开后,双击里面的压缩文件即可下载到源码,地址http://www.bjcyck.com/nd.jsp?fromColId=2&id=782#_np=2_358




楼主最近还看过



乖乖小笨熊

  • 精华:2帖
  • 求助:0帖
  • 帖子:1210帖 | 11287回
  • 年度积分:2461
  • 历史总积分:62658
  • 注册:2006年8月05日
发表于:2023-03-26 11:29:41
1楼

LabVIEW,我仅仅听说这个是美国的玩意,据说可以电路图和程序一起玩,反正没有实际见过

fjczd

  • 精华:0帖
  • 求助:0帖
  • 帖子:552帖 | 36回
  • 年度积分:703
  • 历史总积分:1294
  • 注册:2008年8月14日
发表于:2023-03-29 20:45:52
2楼

有时间可以了解了解。有问题可以交流


热门招聘
相关主题

官方公众号

智造工程师