LabVIEW论坛
直播中

MakeyNa

4年用户 4经验值
私信 关注

labview如何让一个循环运行时另一个循环自动暂停

本帖最后由 MakeyNa 于 2020-10-29 18:15 编辑

       用VISA控制一个电子负载,将实时轮检(读取电压电流和故障)放在循环A,将即时操作(拉载、设置量程和继电器等)用时间结构放入另一个循环B,两个循环的速率不一致。
       如果在即时操作B的时候,实时轮检的循环A正在执行,在VISA底层里就可能同时存在多个读取/写入从而报错,我希望最好在运行即时操作的循环B时,实时轮检循环A暂停,即时操作B完毕后实时轮检A继续运行。
       我目前的做法是,在即时操作前给一个布尔原件赋值T,结束后赋值F,实时轮检循环A检测到布尔T就跳过轮检什么也不做,检测到F就正常轮检,这样即时操作B的过程中轮检A就会暂停。运行时功能是满足了,但有时候操作太快响应会很慢。
       请问坛友labview有没有类似的功能直接满足我的要求?因为我的程序不接硬件运行不了就不上传了。

  • Snipaste_2020-10-29_16-43-34.png

回帖(4)

贾永世

2020-10-29 18:41:51
@RedJ 版主帮忙看看
举报

greatlmy

2020-10-30 16:30:26
用队列操作应该比较好。
举报

汪刚刚

2020-10-30 23:53:54
X循环停止了就不能再运行了
举报

JackOu

2020-10-31 15:07:24
可以利用消息的方式吧,操作B循环的时候,发现停止消息给A循环等待,***作完成后,发现启动消息给A
举报

更多回帖

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