完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 羊驼啊 于 2016-11-3 22:58 编辑 关于全局变量编程和数据流编程。 labview里很重要的一个部分就是多线程之间交换数据。不止一本书里提到,要慎用全局变量。理由一般是影响程序阅读以及竞争状态。 我在做的一个测控项目,大概有10几个循环,也就是10几个进程。由于我是第一次写程序,而且参考的是范例里的消息队列状态机架构,因此都是使用队列和通知器来传递数据,一个全局变量都没有用到。 但是写了很久很久,现在发现程序越来越繁琐。 有些地方就是简单的主面板的布尔值,子函数里要用,按照当前的框架,需要专门调用某段程序去传一下。如果使用全局变量的话,直接拉过来用就完了,何必这么麻烦。 其他地方也有类似的问题,传递一个状态量,需要一个地方发通知,另一个地方收通知才行。 虽然基本做到了100%数据流编程,可是并没有体会到任何优越感,反而是越来越多的线,越来越多的通知器。 在此跪求各路过来人,请问 ①全局变量,是否真的如教程里所述那么差劲,有没有用全局变量来做大型项目的? ②如何取舍,是尽量采用数据流,还是尽量采用全局变量,还是不同地方选择不同的方式?③求推荐一本labview比教高阶的书,不要英文版的。谢谢! |
|
相关推荐
9个回答
|
|
推荐 Labview编程样式,有中文版,看看多引擎那一章,就是状态机的模块化。
全局变量是可以使用的,确保只有一处写入,可以多处读取。 还有,你的这个项目需要10几个循环,倒是挺多的,看图片while循环有点大,会越写越乱。
最佳答案
|
|
|
|
sushu 发表于 2016-11-3 23:08 恩恩,好的,谢谢,我决定配合使用,原来的框架维持不变,毕竟都写好了,后面怎么舒服怎么写,先完成任务再说。。。 |
|
|
|
全局不是不能用。而是不要滥用。以前看到有人造了200多个全局变量拖慢程序响应速度的。
|
|
|
|
不大懂,求大神帮楼主解说
|
|
|
|
这个厉害了。这个同步写入,主要意义是什么呀 |
|
|
|
|
|
|
|
不错,过来看看,学习学习。
|
|
|
|
关于全局变量楼上已经说了,关于太乱可以通过把一些模块转换为子VI,这样会清晰一些。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
890 浏览 2 评论
NI Vision有个图片打不开其他图都能打开(用NI Vision Assistant也打开不了)
1286 浏览 1 评论
labview2015使用Excel报表程序打包生成后打开程序要选一个vi才能使用,否则软件就会报错,这是什么问题?
1854 浏览 2 评论
LabVIEW与单片机无法串口通信 提示串口打开错误 端口设置有问题吗?
1744 浏览 3 评论
2075 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 00:03 , Processed in 0.711122 second(s), Total 90, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号