LinxVIEW论坛-斯科道

 找回密码
 立即注册

状态机与事件结构结合参考体悟

查看数: 10542 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-11-24 16:45

正文摘要:

如图所示,原文链接,给了诸多信息提示,这技巧确实不愧为LabVIEW冠军!

回复

Scadao 发表于 2021-11-24 17:11:14
本帖最后由 Scadao 于 2021-11-24 17:28 编辑

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

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

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


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


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


QQ|Archiver|手机版|小黑屋|SCADAO  

GMT+8, 2024-12-22 19:03 , Processed in 0.043220 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表