LinxVIEW论坛-斯科道

标题: 状态机与事件结构结合参考体悟 [打印本页]

作者: Scadao    时间: 2021-11-24 16:45
标题: 状态机与事件结构结合参考体悟
如图所示,原文链接,给了诸多信息提示,这技巧确实不愧为LabVIEW冠军!



作者: Scadao    时间: 2021-11-24 17:11
本帖最后由 Scadao 于 2021-11-24 17:28 编辑

行业格言:
属性节点是同步的,强制进行线程切换,因此成本很高。

大量的属性节点只能在 UI 线程中运行。整个操作系统只有 1 个 UI 线程,因此可能有很多进程在争夺它。因此,您可能必须等待执行。此外,在 UI 线程中运行所有内容会限制/停止并行化。
LabVIEW冠军回言:

UI 是为用户服务的,而不是为数据服务的。在LabVIEW中,“线是变量”(简化)。


干净的程序设计很少使用局部变量。始终可以直接连接到终端,您只需要发挥创意,不要将它们隐藏在结构堆的深处。(我上面的例子没有!)。保持和更新移位寄存器中的重要值,并在顶层图循环上读写终端


写入终端或终端的局部变量只会更新传输缓冲区(非常有效!)并且 UI 线程偶尔会更新指标(您的眼睛看不到每秒一百万次更新,因为屏幕刷新率是慢得多,UI 线程不需要执行得比这更快)。如果使用相同的代码并通过值属性节点更新值,则每次写入都需要切换到 UI 线程,更新值,并切换回普通线程进行下一次迭代。这要贵几个数量级!(顺便说一句,您可以将终端切换到“右键单击...高级...同步显示”。然后写入终端将停止数据流,直到前面板更新,给您类似的性能影响与 value 属性一样,所以不要这样做!!)。 当然,在这个演示中,甚至不将终端放在循环中会更合理。



作者: Scadao    时间: 2021-11-24 17:34
LabVIEW冠军再次优化楼上图——






欢迎光临 LinxVIEW论坛-斯科道 (http://iiotview.com/) Powered by Discuz! X3.2