完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我用集合点同步循环开始,但是每一次循环都会同时开始,即使设置不同周期,长周期循环也会等待短周期,等都到达集合点后才开始循环,不符合我的预期,我只是想让他们第一次循环开始是同步的,之后根据自己周期执行。希望大神能够帮忙解决一下,谢谢!
|
|
相关推荐
5个回答
|
|
谢谢你,你的程序框图是完全符合我描述的功能的,但是即使做到了第一个循环同步,下一次循环时并没有完全按照我在循环里设置的等待时间执行(我只在循环里设置了写入串口函数),根据实验现象表明,存在不确定性延迟(延迟在毫秒级,1-5毫秒,影响实验结果,我希望延迟能控制在微秒级),我猜想可能因为等待时间设置不同导致系统自动设置多循环的优先级而造成延时,于是我设置相同等待时间,结果还是一样,存在毫秒级的时延。查过相关资料,说labview是数据流类型,系统将CPU时间片分给每一个线程,但是在相同时间片里只能执行一个线程。使用集合点同步多循环,在相同周期的情况下可以做到完全的同步,但是在不同周期时会等待最长周期才开始。所以想请问有什么其它方法可以使两个循环同步执行(不同周期),或者误差在微秒级,即CPU可以同时处理两个循环的任务。再次感谢能够耐心解答我的问题。 |
|
|
|
谢谢各位的帮助,已经找到了解决的办法,使用定时循环结构执行多个帧,在输入节点设置总周期,在右数据节点设置不同周期及开始时间,至于两个定时循环同步开始,可使用同步定时结构开始VI,即可解决上述问题,且不存在误差。
|
|
|
|
王子豪123 发表于 2018-5-7 10:10 补充:大家可能会考虑CPU只能利用时间片处理单线程问题,在定时循环的输入节点里有可选择的处理器,一般电脑CPU都是4核的,所以可以指定不同的核进行处理,实现完全的同步。 |
|
|
|
不错,很好的经验分享,辛苦麻烦了,欠缺这方面的资料,非常感谢。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
用udl里的字符串信息在局域网内其他电脑连接sql数据库为什么为出现连接失败拒绝访问?
1708 浏览 2 评论
为什么同一个队列引用的全局变量,运行在两个子vi中发现队列数据丢失了
1306 浏览 0 评论
1521 浏览 0 评论
关于labview2024版本的lvanlys.dll出错的问题
3005 浏览 2 评论
1448 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 11:20 , Processed in 0.778900 second(s), Total 90, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号