完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 yjzone1213 于 2017-10-18 13:01 编辑
我想使用COM4(RS485)控制地址1的继电器板,每500ms发送一次数据,操作动作;同时控制地址6的温控器,每10S发送一次数据读取温度值。但是现在只能使用同一个周期。具体如附件图:左边条件框是写继电器,需要每500ms发送一次数据;右边是发送指令读温控器温度值,每10S读取一次。但是现在只能以同样的频率进行操作。 各位大侠有什么建议能够实现吗? |
|
相关推荐
11个回答
|
|
你在同一个循环里面肯定不行啊,你把打开485和关闭放在两端,中间使用两个while循环内容分别是发送数据和读取数据,发送的循环里面添加一个500ms的延时,读取的循环里面添加一个10s的延时。
|
|
|
|
风卷雪 发表于 2017-10-18 13:49 你好,我好像没表述清楚,图中两个条件结构没有关联,是给不同地址(设备)发送的指令,他们发送周期不同。能不能帮我做个简单的示例呢? 谢谢 |
|
|
|
|
|
架构二和架构4以上都可以用
|
|
|
|
楼上这位兄台的地址打不开,显示已删除或审核中。 2楼朋友说的我不是太明白,不过按照提示确实找到了一种用while的方法,不知是不是和楼上说的一样。 我找到的方法应该是可行的,明天上班去试一试。 现在贴出来和大家分享。等楼上兄台的网址显示出来后选出最佳答案 |
|
|
|
这个简单啊,你现在结构应该就可以实现,你只需要用while把两个条件结构装进去,用使用移位寄存器,然后在里面加一个500ms的延时,而while得i值等于20的整数倍的时候触发第二个条件。 |
|
|
|
还是没有实现,使用while循环,数据无法传送到循环外面。求高手指点 使用while循环后程序似乎卡死在while循环了,其他部分不再执行。 为了确认该问题,我又做了一个小程序测试。 附件图中程序启动后,理论上是布尔1~4同时亮或者灭,但是实际上布尔1~2根据设置时间变化,布尔3~4一直是灭的。 |
|
|
|
试试“已用时间”
|
|
|
|
|
|
|
|
9楼的方法我试过了,不可以,主要是结束的true信号时间太短了,抓不住。 还是用的时间计数器,如下图,用“测量开始”信号启动测量。但是还是有些问题,时间计数器一直在动,点下“测量”按键时不是计时的“0”。会在几秒后才开始给出第一次“测量开始”信号。 基本可以满足使用,但不是最理想的方法 |
|
|
|
yjzone1213 发表于 2017-10-19 14:38 已用时间输出的布尔变量连接事件结构,触发数据发送和读取温度值。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
用udl里的字符串信息在局域网内其他电脑连接sql数据库为什么为出现连接失败拒绝访问?
1796 浏览 2 评论
为什么同一个队列引用的全局变量,运行在两个子vi中发现队列数据丢失了
1407 浏览 0 评论
1610 浏览 0 评论
关于labview2024版本的lvanlys.dll出错的问题
3477 浏览 3 评论
1527 浏览 2 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 20:24 , Processed in 0.896358 second(s), Total 94, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号