您现在所在的是:

三菱Mitsubishi

回帖:9个,阅读:663 [上一页] [1] [下一页]
* 帖子主题:

通信求助

1254
单单
文章数:97
年度积分:83
历史总积分:1254
注册时间:2009/6/29
发站内信
发表于:2017/7/6 0:04:42
#0楼
几个三菱PLC之间做主从modbus通信,从站怎么样辨别跟主站通信成功与否?三菱又没有这方面的指令,谁做过有这方面的?求大师们给个思路
20分悬赏
3213
liutianqi
文章数:52
年度积分:124
历史总积分:3213
注册时间:2013/11/25
发站内信
发表于:2017/7/6 8:25:50
#1楼
1.PLC间的通讯完全可以用链路模式,定义一些共享的地址,互传信息。
2.如果用modbus,主站一直读取从站的某一个寄存器,从站的寄存器存一个1进去,主站读取的寄存器是否为1,然后主站把这个寄存器从写,写100,在判断主站读取的寄存器是否一直为1,即可判断通讯是否正常。
19263
pqsh 版主
文章数:7424
年度积分:1093
历史总积分:19263
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2017/7/6 8:25:57
#2楼
没有办法。你可以自己设置这个标志。在主要通讯完成后,由主站发出这个成功标志。并且从站计时,超时收不到这个标志,算通讯失败。但即使失败,你也没有办法。
还是从主站入手,实际上都是主站在控制通讯和判断超时。从站就判断心跳就好,发回了不能判断成功。
况且,你这样做的通讯开销多了不少。
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
1254
单单
文章数:97
年度积分:83
历史总积分:1254
注册时间:2009/6/29
发站内信
发表于:2017/7/6 8:44:39
#3楼
回复 #1楼 liutianqi
这样不行,如果中途通信中断了,从站还会保持原来的状态,不会因为通信中断了而改变
3213
liutianqi
文章数:52
年度积分:124
历史总积分:3213
注册时间:2013/11/25
发站内信
发表于:2017/7/6 8:51:48
#4楼
回复 #3楼 单单
但是主站变了呀,本来是1的,通讯断了。就变成100了,就认为通讯已断开
1254
单单
文章数:97
年度积分:83
历史总积分:1254
注册时间:2009/6/29
发站内信
发表于:2017/7/6 9:13:27
#5楼
回复 #4楼 liutianqi
在主站中做判断很容易,我需要的是在从站中做判断呢,谢谢
3213
liutianqi
文章数:52
年度积分:124
历史总积分:3213
注册时间:2013/11/25
发站内信
发表于:2017/7/6 9:45:16
#6楼
回复 #5楼 单单
原理不是一样一码,你通讯反着写不就可以了
1254
单单
文章数:97
年度积分:83
历史总积分:1254
注册时间:2009/6/29
发站内信
发表于:2017/7/6 10:11:47
#7楼
回复 #6楼 liutianqi
有个思路,在从站中做个递加计数器,用主站发送一个开关量位1给从站,每传输一帧就清零一下这个递加,超过了递加时间就通信报警,这样可不可以?程序过不过得去?
3213
liutianqi
文章数:52
年度积分:124
历史总积分:3213
注册时间:2013/11/25
发站内信
发表于:2017/7/6 10:57:05
#8楼
回复 #7楼 单单
可以的,程序上也好写,正常通讯看一下累加值是多少,做一下判断
2145
0134228
文章数:98
年度积分:50
历史总积分:2145
注册时间:2006/2/14
发站内信
发表于:2017/7/6 11:30:55
#9楼
不知你为什么要在modbus从站判断通信状态,modbus从站只是作为给主站提供数据的,主站由于各种原因读不到数据,只能在主站上判断处理,从站基本帮不上忙

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003