发表于:2018/1/11 10:24:19
#0楼
单片机与台达PLC(DVP14SS211R)联机进行简单数据交换,RS232通讯,单片机主,PLC从。规定单片机每次发三个相同字节数据,PLC端使用RS指令接收到这三个字节数据后输出一个Y信号并且返回给单片机相同的三个字节(例如单片机发H55 H55 H55,PLC返回给单片机H55 H55 H55)。同样的,单片机发H64 H73 H82 H91 H65 H41 H63 H72以上数据三个字节时,PLC端输出信号返回数据都没有问题。但当单片机发送H81 H81 H81三个字节时,PLC端偶尔才有输出信号以及返回数据。
考虑到PLC程序中以上数据接收处理方式一样(使用同一条RS指令接收),首先怀疑单片机发送端有问题,于是单独监控单片机串口,串口出来的数据每次都是H81 H81 H81三个字节,没有任何问题。最后监控PLC中接收到的数据,发现一旦将PLC与单片机连接,单片机发送H81 H81 H81,PLC接收H01 H01 H01,偶尔才会正确接收到H81 H81 H81。
开发单片机的同事当然认为是我的PLC程序接收有问题。当时急着发货,采用其他办法解决了问题,没有了“现场”也就没有机会深究找出问题的根源。
为什么会出现以上描述的这个问题,单片机发送数据,其他9个数据没有一点问题,唯独发送H81这个字节时,PLC接收端99%会接收成H01,大概只有1%机会正确。
考虑到PLC程序中以上数据接收处理方式一样(使用同一条RS指令接收),首先怀疑单片机发送端有问题,于是单独监控单片机串口,串口出来的数据每次都是H81 H81 H81三个字节,没有任何问题。最后监控PLC中接收到的数据,发现一旦将PLC与单片机连接,单片机发送H81 H81 H81,PLC接收H01 H01 H01,偶尔才会正确接收到H81 H81 H81。
开发单片机的同事当然认为是我的PLC程序接收有问题。当时急着发货,采用其他办法解决了问题,没有了“现场”也就没有机会深究找出问题的根源。
为什么会出现以上描述的这个问题,单片机发送数据,其他9个数据没有一点问题,唯独发送H81这个字节时,PLC接收端99%会接收成H01,大概只有1%机会正确。
[此贴子已经被作者于2018/1/14 17:37:24编辑过]
苦逼的奋斗者