常见的串行通信一般指异步串行通信。
并行通信:
并行通信是串行通信的对立面。数据传输通常以字节为单位传输,每字节8位。以一个并行通信为例,就是会有八行,每行代表一个比特。一次只能传输一个字节,而串行通信是指只用一条线路传输数据,一次只能传输一位。要传输一个字节,需要传输八次。就像小虎队的歌,把你的心,我的心,串起来,再烤一遍。串行通信是在一条线上传输数据串,所以叫串口。
422是把232的RX分成2行,RX+和RX-,把TX分成TX+和TX-。这样可以同时收发,也可以像485一样传输距离长。但是,这样一种优势的沟通方式,为什么很少被使用呢?我个人的回答和理解是台词太多。特别是我这种懒得接线的人,三根线以上就晕了。还有那么多线路要连接才能进行通信,比如TX,RX,正负。交换交换。
因为在很多设备通信中,基本都是问答式的,所以232的全双工通信优势没有发挥出来。就像现在打电话,虽然两个人可以同时通话,但是两个人同时通话,谁知道该说什么。尤其是主站与多个从站通信时,485的连接方便得多。反正每个人只有两根线,连接+和-。如果422是主机,从机多,管理布线需要很长时间,通信异常很难解决。
好了,串口通讯基本都是在这里传播的。先说说刚才提到的问题,再来说说。
1电脑可以通过USB转串口与设备通信,但不能通过屏幕与设备通信。
1)有可能是电脑的USB通过串口连接到设备,使用的是标准串口功能,也就是除了RX、TX、GDN之外,还使用了其他引脚。比如像欧姆龙PLC、三菱PLC,在与屏幕的实际通信中,需要短接一些引脚。
2)计算机与控制器或PLC通讯时,扫描波特率参数,是自适应的。屏幕通讯参数可能不如设备。在三菱、KENSHIS等PLC中,有一个通过改变波特率进行通信交互的过程。
3)也有可能是连接方式不对。因为有些db9还是需要男女头的。如果不注意,也会有需要注意的地方,比如TX接TX,RX接RX。
4)这里补充一下,有时候可能会用一些串口助手发送测试数据与控制器通信,一些串口助手的奇偶校验无效,需要提醒。
这个A主屏可以和设备通信,但是不能和B主屏通信。
1)首先确认接线是否正确,RX和TX是否兼容。
2)接地线是否未连接。
3)除了接收、发送和GND引脚外,是否还有其他引脚需要短路?
4)通信协议是否一致或不完善,波特率是否相同。
3之前可以不用接地线交流。为什么另一台设备需要接地线?
1)这个问题和上一个问题类似。因为有些设备使用隔离电源。在过去,没有接地,交流是可能的。有可能是接地线已经在另一个回路中接地,实际的接地线已经连接,所以通信是可能的。可能换成隔离电源,两个设备的地是隔离的,需要在串口上连接地线。这个我自己也经历过。一个客户总说他的设备不能通信。后来他拍了张照片给我。他没有接地线。他说之前不用地线也能交流。于是我给他上了科学课。
4一个设备是232,另一个设备是422。没有转换装置怎么办?(转移232和422的简单方法)
我遇到过这种情况,客户的设备是422通讯,但是我手头没有422设备,只能测试232通讯。因此,有必要将422转换为232进行通信。
刚才我也讲了422和232的连接,因为两者都是全双工,收发分开,而422只是作为差分信号传输。
将422的接收+与232的发射连接,将422的接收-与232的GND连接。
422的发射+与232的接收相连,422的发射-与232的GDN相连。
这样,如果422设备想要发送数据,它可以被发送到232的RX。在232的发射发送数据之后,发射和GND也形成差分信号到422和422,它们可以接收数据。
5.用232通信没问题,用485通信没问题,用232到485后通信不稳定。
在通信原理上,232和485最大的区别就是全双工和半双工的区别。但是应用层发送和接收数据,不管是全双工还是半双工。
但是485必须负责。由于它是半双工的,所以必须严格保证路径上只能发送或接收数据。一旦同时存在发送和接收,数据就会发生冲突。所以解决办法是主站设备,也就是主动指挥方,需要严格控制发送数据命令的节奏。当然,一些232到485的设备做的不错,可以优化,但是主站还是需要控制和调整通信速率比较慢(不是波特率)。
6 485每台自己连接的设备都处于正常通信,而多个从站处于不稳定通信。
这就是485通信的不稳定因素。关于这个问题,我曾经写过一篇关于485通信的文章(另一篇记述写在工控圈)。详情可查。
该网站是:http://www.gkquan.com/article/detail?文章编号=2900
7如果想通过485两屏或者两个主站访问modbus设备,有什么好的方法?
485通信,基本上是一主多从。然而,当一些客户实际使用它时,就有客户了
用户希望使用两个屏幕来访问modbus设备。目前没有什么好办法。这个功能出来后,我们给大家演示一下操作。
8针对串口通信的弱点,使用中需要注意什么。
说到串口通讯的弱点,一言难尽。但长话短说吧。
1)信号干扰的问题。
建议使用布线严格的屏蔽线,如接地。在一些485通信中,终端电阻也被考虑用于匹配。如果是232,尽量不要让线太长。尽量避免通信协议中长消息的数据通信。
2)波特率匹配。
因为有些设备的波特率计算有误差,特别是有些控制器,因为用的晶体振荡器不一样。所以有些波特率是有误差的,比如9600波特率。错误的影响是什么?因为接收器是按时间一点一点计算的。那么如果一条消息太长,就会出现误差积累的问题,在计算上会有偏差。所以这也是串行通信不稳定的地方,使用中要注意避免发送数据过长的数据包。
3)在一些可能有干扰的情况下,在一些情况下,可以考虑偶校验或奇校验。因为虽然出错的可能性很小,但是既然有干扰,如果加上验证,至少可以过滤掉错误的消息。总像没有验证,然后通信数据错了。或者尝试使用一些带验证的协议来防止数据错误。
4)串口通信本来就慢,请降低对数据响应的要求。
因为串口通信本身比以太网慢。而且串行通信不像CPU那样多线程。因为数据是一个一个出去的,即使你把它应用到一个程序中,用多线程处理数据,在底层也只有一个端口出去,一次只能传递一个位和一个字节。因为有些客户是用9600波特率来通信的,但是他们期望多少毫秒能响应多少数据。串口通信还是需要实事求是的,所以正确理解串口通信对应用、开发、通信都有很大的帮助。
为什么不用同步通信?同步通信依赖于时钟信号。问题是这个时钟信号是谁发出的。在同步通信中,主设备通常需要启动时钟信号来读取从模块的数据。实践中有读屏PLC和读屏数据。但单纯从异步串行通信来说,没有主从理论,双方都是平等的角色,可以互相发送和接收信息。而同步通信一般应用于CPU读取一些模块,CPU发起时钟信号,比如读取SD卡模块,可以通过SPI完成,还有一些传感器模块。
1.《232 串口通信以及常见问题》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《232 串口通信以及常见问题》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/caijing/875894.html