完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
现在做的方案是:
一 、将每台设备做成一个子VI,通过识别该子VI的命名识别设备号; 1.设备采用事件结构,500ms超时事件里面放置MODBUS TCP读取函数,其他事 件放置MODBUS TCP写入函数,就不会与读取产生冲突;在事件结构中,将读取到的数据存入数据库中; 2.每台设备程序开始时会在数据库中读取设备的IP 端口号等信息,通过另一个循环来监控数据库中的写信号,如果读到写信号有变动,可触发事件结构中的写操作; 二、做一个主VI将每台设备VI通过子面板的方式显示在主VI中,这样就可以通过子面板直接控制单台设备,也可以修改、查询数据库来达到记录数据或是一键控制所有设备的功能; 现在的问题是设备越多,运行的时候会很慢很卡,我做了100台出头的时候就已经有点反应慢了,估计是程序的架构不行,请教下大家有什么好的方式
|
|
相关推荐
6个回答
|
|
撤回!!!!!!!!!!!!!!
|
|
|
|
一般不用事件的超时做,如果你这样做也可以
20个字节 太少了 可以在控制器相互传递 提高效率 这样和几台控制器通讯就可以全部读取回来 500ms 的延时没有必要这么大 你自己考虑 |
|
|
|
LabVIEW后面有TCP通信一对多的DEMO,那个循环结构可以给你点启发
|
|
|
|
简单点做,读功能做一个子VI,写功能做一个子VI,主函数中调用读VI,做解析读回的数据,分开显示也能达到你要的效果。写功能就定时发送查询数据就行了。总比一下子调用100多个子面板要强。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
754 浏览 0 评论
832 浏览 0 评论
1770 浏览 1 评论
用udl里的字符串信息在局域网内其他电脑连接sql数据库为什么为出现连接失败拒绝访问?
2795 浏览 2 评论
为什么同一个队列引用的全局变量,运行在两个子vi中发现队列数据丢失了
1963 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-5 07:58 , Processed in 0.762665 second(s), Total 90, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号