发表于:2023/9/2 16:13:21
#0楼
台达PLC(14SS2)COM2口与单片机连接RS485通讯,单片机发,PLC收。PLC端使用RS指令设置发送数据量0,接收数据量4,现在通讯没有问题,问题是单片机那边停止发送数据后,PLC端没法判断,不能把之前接收到的数据清零。
例如:单片机发送设备速度(4个字节数据),设备停止,单片机停止发送数据(通讯口停止发送),PLC这边RS指令一直激活运行,只是接收不到任何数据,存储器中一直保持着单片机停发前最后一次发送的数据。也就是设备速度为0,但PLC端仍旧显示设备停机前的最后速度。
有关RS指令的特殊寄存器基本都试过了,好像没有一个能判断通讯伙伴是否发送数据的特殊位寄存器。大家有什么好的办法解决这个问题?
例如:单片机发送设备速度(4个字节数据),设备停止,单片机停止发送数据(通讯口停止发送),PLC这边RS指令一直激活运行,只是接收不到任何数据,存储器中一直保持着单片机停发前最后一次发送的数据。也就是设备速度为0,但PLC端仍旧显示设备停机前的最后速度。
有关RS指令的特殊寄存器基本都试过了,好像没有一个能判断通讯伙伴是否发送数据的特殊位寄存器。大家有什么好的办法解决这个问题?
[此贴子已经被作者于2023/9/2 16:23:22编辑过]
苦逼的奋斗者