您现在所在的是:

台达论坛

回帖:6个,阅读:708 [上一页] [1] [下一页]
18553
qjj740210
文章数:4779
年度积分:1322
历史总积分:18553
品牌积分(台达):58
注册时间:2005/9/24
发站内信
2018春节活动(二)
2017国庆活动(二)
2017春节活动(二)
2016国庆活动(二)
西门子触摸屏(一)
三菱电机活动(二)
西门子logo体验(三)
西门子PLC体验(二)
2013辞旧迎新
发表于:2023/9/2 16:13:21
#0楼
台达PLC(14SS2)COM2口与单片机连接RS485通讯,单片机发,PLC收。PLC端使用RS指令设置发送数据量0,接收数据量4,现在通讯没有问题,问题是单片机那边停止发送数据后,PLC端没法判断,不能把之前接收到的数据清零。
例如:单片机发送设备速度(4个字节数据),设备停止,单片机停止发送数据(通讯口停止发送),PLC这边RS指令一直激活运行,只是接收不到任何数据,存储器中一直保持着单片机停发前最后一次发送的数据。也就是设备速度为0,但PLC端仍旧显示设备停机前的最后速度。
有关RS指令的特殊寄存器基本都试过了,好像没有一个能判断通讯伙伴是否发送数据的特殊位寄存器。大家有什么好的办法解决这个问题?
[此贴子已经被作者于2023/9/2 16:23:22编辑过]
苦逼的奋斗者
42319
YXBK 版主
文章数:19442
年度积分:2733
历史总积分:42319
品牌积分(台达):205
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2023/9/3 10:15:08
#1楼
假设接受的数据放在D0里面,可以把D0传给D10,用延时判断D0里面的数据有没有变化,

比如设定3秒钟没有变化,就把传送节点断开,同时给D10赋值0
大家一起学习
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
品牌积分(台达):89
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2023/9/3 10:25:11
#2楼
以下是引用qjj7402102023/9/2 16:13:21的发言:
台达PLC(14SS2)COM2口与单片机连接RS485通讯,单片机发,PLC收。PLC端使用RS指令设置发送数据量0,接收数据量4,现在通讯没有问题,问题是单片机那边停止发送数据后,PLC端没法判断,不能把之前接收到的数据清零。
例如:单片机发送设备速度(4个字节数据),设备停止,单片机停止发送数据(通讯口停止发送),PLC这边RS指令一直激活运行,只是接收不到任何数据,存储器中一直保持着单片机停发前最后一次发送的数据。也就是设备速度为0,但PLC端仍旧显示设备停机前的最后速度。
有关RS指令的特殊寄存器基本都试过了,好像没有一个能判断通讯伙伴是否发送数据的特殊位寄存器。大家有什么好的办法解决这个问题?
[此贴子已经被作者于2023/9/2 16:23:22编辑过]
通信协议为什么不用标准协议呢?比如Modbus RTU或者Modbus ASCII
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
18553
qjj740210
文章数:4779
年度积分:1322
历史总积分:18553
品牌积分(台达):58
注册时间:2005/9/24
发站内信
2018春节活动(二)
2017国庆活动(二)
2017春节活动(二)
2016国庆活动(二)
西门子触摸屏(一)
三菱电机活动(二)
西门子logo体验(三)
西门子PLC体验(二)
2013辞旧迎新
发表于:2023/9/4 14:56:42
#3楼
回复 #1楼 YXBK
假如设备速度恒定,一直是某个值(或者在一定时间内维持某个值),这样的话,一定时间内收到的值没有变,就不能认定为设备停机(实质设备恒速运转)。
苦逼的奋斗者
18553
qjj740210
文章数:4779
年度积分:1322
历史总积分:18553
品牌积分(台达):58
注册时间:2005/9/24
发站内信
2018春节活动(二)
2017国庆活动(二)
2017春节活动(二)
2016国庆活动(二)
西门子触摸屏(一)
三菱电机活动(二)
西门子logo体验(三)
西门子PLC体验(二)
2013辞旧迎新
发表于:2023/9/4 15:04:12
#4楼
回复 #2楼 guanyumou
您意思:如果是标准的MODBUS RTU或者ASCII协议,我们可以利用数据帧之间的间隙时间,在间隙时间长度内如果数据一直保持不变就认为对方(单片机)停止发送数据了。是这样吗?
现在问题:我仔细看了台达RS指令,这个指令是每隔一定时间激活收发一次,压根没有规定数据帧之间的间隙时间。
苦逼的奋斗者
42319
YXBK 版主
文章数:19442
年度积分:2733
历史总积分:42319
品牌积分(台达):205
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2023/9/4 16:22:18
#5楼
以下是引用qjj7402102023/9/4 14:56:42的发言:
假如设备速度恒定,一直是某个值(或者在一定时间内维持某个值),这样的话,一定时间内收到的值没有变,就不能认定为设备停机(实质设备恒速运转)。


那可以直接给接收的寄存器赋一个值,这个值是正常情况下不会出现的。

如果在设定时间内没有变化,就认定是通讯出了问题。

因为如果通讯正常会变化的
+10
大家一起学习
18553
qjj740210
文章数:4779
年度积分:1322
历史总积分:18553
品牌积分(台达):58
注册时间:2005/9/24
发站内信
2018春节活动(二)
2017国庆活动(二)
2017春节活动(二)
2016国庆活动(二)
西门子触摸屏(一)
三菱电机活动(二)
西门子logo体验(三)
西门子PLC体验(二)
2013辞旧迎新
发表于:2023/9/4 16:58:02
#6楼
回复 #5楼 YXBK
好办法!高!感谢您!
苦逼的奋斗者

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

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

78.0005