您现在所在的是:

串口通信

回帖:12个,阅读:1371 [上一页] [1] [2] [下一页]
18553
qjj740210
文章数:4779
年度积分:1322
历史总积分:18553
注册时间:2005/9/24
发站内信
2018春节活动(二)
2017国庆活动(二)
2017春节活动(二)
2016国庆活动(二)
西门子触摸屏(一)
三菱电机活动(二)
西门子logo体验(三)
西门子PLC体验(二)
2013辞旧迎新
发表于: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%机会正确。
[此贴子已经被作者于2018/1/14 17:37:24编辑过]
苦逼的奋斗者
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2018/1/11 12:31:48
#1楼
以下是引用qjj7402102018/1/11 10:24:19的发言:
单片机与台达PLC(DVP14SS211R)联机进行简单数据交换,RS485通讯,单片机主,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%机会正确。
通信参数怎么设置的?数据位、停止位、校验方式、波特率等!
数据位不能设置为7位哦!
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2018/1/11 12:32:47
#2楼
以下是引用qjj7402102018/1/11 10:24:19的发言:
单片机与台达PLC(DVP14SS211R)联机进行简单数据交换,RS485通讯,单片机主,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通信部分程序、单片机通信部分程序贴出来!我可以帮你看看!
18553
qjj740210
文章数:4779
年度积分:1322
历史总积分:18553
注册时间:2005/9/24
发站内信
2018春节活动(二)
2017国庆活动(二)
2017春节活动(二)
2016国庆活动(二)
西门子触摸屏(一)
三菱电机活动(二)
西门子logo体验(三)
西门子PLC体验(二)
2013辞旧迎新
发表于:2018/1/11 14:07:10
#3楼
回复 #2楼 guanyumou
通讯口说明主题帖有误,应该是RS232口通讯,不是RS485。也就是说MCU与PLC之间RS2332连接,通讯参数:9600  8  无   1。
我不懂单片机,平时不关心不保留程序,现在无法提供单片机程序(写的人离职),PLC程序我有。我总觉得研究单片机程序逻辑或者对串口通讯有研究,对这个问题可能有建设性建议。

PLC通讯交换数据梯形图部分如下:
附件 QQ截图20180111141011.jpg

我现在无法相信,同样这个逻辑机制,为什么10个数据有9个正确,唯独H81这一个数据有问题,并且不是100%问题,偶有一次也能接收正确?
M10为一个方波脉冲,正周PLC完成接收,负周PLC完成发送(返回给单片机同样数据)。
[此贴子已经被作者于2018/1/11 14:16:37编辑过]
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2018/1/11 14:25:41
#4楼
以下是引用qjj7402102018/1/11 14:07:10的发言:
通讯口说明主题帖有误,应该是RS232口通讯,不是RS485。也就是说MCU与PLC之间RS2332连接,通讯参数:9600  8  无   1。
我不懂单片机,平时不关心不保留程序,现在无法提供单片机程序(写的人离职),PLC程序我有。我总觉得研究单片机程序逻辑或者对串口通讯有研究,对这个问题可能有建设性建议。

PLC通讯交换数据梯形图部分如下:
附件 QQ截图20180111141011.jpg

我现在无法相信,同样这个逻辑机制,为什么10个数据有9个正确,唯独H81这一个数据有问题,并且不是100%问题,偶有一次也能接收正确?
M10为一个方波脉冲,正周PLC完成接收,负周PLC完成发送(返回给单片机同样数据)。
[此贴子已经被作者于2018/1/11 14:16:37编辑过]
M10怎么控制的?!
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2018/1/11 14:26:46
#5楼
还有通信初始化的一些参数你没贴出来!
18553
qjj740210
文章数:4779
年度积分:1322
历史总积分:18553
注册时间:2005/9/24
发站内信
2018春节活动(二)
2017国庆活动(二)
2017春节活动(二)
2016国庆活动(二)
西门子触摸屏(一)
三菱电机活动(二)
西门子logo体验(三)
西门子PLC体验(二)
2013辞旧迎新
发表于:2018/1/11 16:19:00
#6楼
PLC程序我们可以讨论。
附件 初始化.jpg
图1

附件 1.jpg

附件 2.jpg

附件 3.jpg

附件 4.jpg

附件 5.jpg

图1为上电延时后通讯初始化,其他的都是与通讯RS指令有关的逻辑。
[此贴子已经被作者于2018/1/11 16:23:03编辑过]
18553
qjj740210
文章数:4779
年度积分:1322
历史总积分:18553
注册时间:2005/9/24
发站内信
2018春节活动(二)
2017国庆活动(二)
2017春节活动(二)
2016国庆活动(二)
西门子触摸屏(一)
三菱电机活动(二)
西门子logo体验(三)
西门子PLC体验(二)
2013辞旧迎新
发表于:2018/1/11 16:31:15
#7楼
时间久了,刚看了下,当时改来改去,不知道为什么写成了这个样子
附件 原.jpg

实质就是这样:
附件 现.jpg
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2018/1/12 7:48:54
#8楼
我给你一个台达PLC和单片机自定义协议的串口通信例子吧!相互学习和研究吧!
附件:
[本地下载]
18553
qjj740210
文章数:4779
年度积分:1322
历史总积分:18553
注册时间:2005/9/24
发站内信
2018春节活动(二)
2017国庆活动(二)
2017春节活动(二)
2016国庆活动(二)
西门子触摸屏(一)
三菱电机活动(二)
西门子logo体验(三)
西门子PLC体验(二)
2013辞旧迎新
发表于:2018/1/12 9:01:23
#9楼
回复 #8楼 guanyumou
谢谢!
表情
开发单片机的同事如果还在,我想我们一起探讨有可能找出这个问题的真正原因。我不懂单片机,无法从宏观大局角度考虑。囿于PLC方面,又老是想,其他数据接收没有问题,为什么H81接收就会有问题?难道串口发送区别数据?表情

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

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

78.0005