完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
手上一直在开发一个包含多像硬件设备之间配合操控和设备返回数据联合处理的程序,之前所有设备操作都是基于事件触发操作,每个设备操作都是在事件结构里面完成,以至于前面板在等待数据返回值时间总是卡死,所以最后打算改变主循环结构,采用基于队列的任务触发+任务分配+设备执行结构,可是一直遇到一个奇怪的执行问题。我为此制作了一个简化版的程序结构,求问论坛里的高手怎么解决。
实在不好意思,囊中羞涩,再下只有新手的积分,能帮忙解决的,全部奉上了... 程序介绍: 程序想实现功能: 对一个系统中的各个慢速响应设备进行控制,并且保证每个设备操作的顺序和各个设备之间的响应按照主程序分发任务的时间顺序进行 由于设备的执行响应时间不一致,并且对于每一个操作需要秒级别的操作时间,为了保证前面板程序不至于卡死,故选用队列结构进行控制信息存储 1)主程序通过事件触发向控制队列压入设备名和操作代码 2)事件分发循环将主控制消息队列中的信息按照设备名进行队列分整 3)每个设备各自读取相应设备控制队列中的操作码进行操作 程序问题: 1)每次程序执行以后,即使不出发设备1或者2的操作,STOP按钮停止主程序时候,会出发设备1的控制循环和相应的错误信息(错误代码1),代码并不是队列销毁而带来的错误(错误代码1122) 2)每次正常执行设备控制以后,STOP按钮停止,总会有额外的设备1循环出发,并且错误代码也不是队列销毁的错误码1122,而是错误代码1 补充内容 (2016-6-9 00:43): 哪位高手可以指导一下我怎么更换附件...
|
|
相关推荐
12个回答
|
|
= =程序里怎么有密码啊
|
|
|
|
光从这里的来看,可以把出队列的改成非阻塞的,就是把超时的处理机制加上,那么每个循环都能响应不同的东西,而不只是卡死在出队列上。
|
|
|
|
奖励才1个积分,别人下载也要扣一个积分的。
|
|
|
|
非常感谢楼主!!
|
|
|
|
实在不好意思,因为版本控制,我的VI都自带了密码,我在上传之前专门去掉了密码...结果竟然还有,我马上修改一下帖子,谢谢您 |
|
|
|
|
|
|
|
|
|
|
|
不错学习学习····················
|
|
|
|
|
|
|
|
有密码,打不开
|
|
|
|
|
|
|
|
有密码 打不开啊
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
112 浏览 1 评论
NI Vision有个图片打不开其他图都能打开(用NI Vision Assistant也打开不了)
611 浏览 1 评论
labview2015使用Excel报表程序打包生成后打开程序要选一个vi才能使用,否则软件就会报错,这是什么问题?
1339 浏览 2 评论
LabVIEW与单片机无法串口通信 提示串口打开错误 端口设置有问题吗?
1271 浏览 3 评论
1555 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 12:40 , Processed in 0.798797 second(s), Total 68, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号