秩序守护者-Labview顺序结构

Labview并行运行的特点带来了效率的提升,同时也造成了“事与愿违”!

假设一个场景,用户从配置文件中读取一个初始值,然后进行运算。
下面就用简单的程式模拟此场景

手动输入一个值赋值给x,点击运行,得到x+y的运算结果

x + y = 10 + 5 = 14 ?   //赋值前的 x = 9
为什么会计算错误呢?

就是因为Labview并行运行,程式运行时,局部变量x已经默认赋值为9,等待加法运算中另一个值y的输入,同时进行赋值运算,将10赋值于x,此时x的局部变量的值已经改不了了,如以下运行时监控:

解决方案也很简单,就是采用顺序结构,将运算放在赋值之后:

在之前编写串口助手时,也遇到过这种情况:

通过配置文件获取串口地址,然后配置打开串口,调试过程中,发现偶尔串口打开失败,调试好久才发现,是因为串口地址赋值失败,就是因为并行运行时,局部变量已经优先获取到默认值

以下再介绍下顺序结构的另一种形式,层叠式顺序结构,来解决此问题
右键顺序结构,选择 替换为层叠式顺序,然后右键 在后面添加帧

同时,还可以右键 添加顺序局部变量,将前一帧的结果传递到下一帧,


好了,今天的分享就到这
欢迎交流~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值