串行协议--RS-485协议

RS-485多机通信的组网方式
典型的总线式通信方式
在这里插入图片描述
菊花链式多机通信方式
每个节点智能接收上个节点发送的数据,只能向下一个节点发送数据。

星形RS-485多机通信方式
要实现星形组网方式,必须使用RS-485的集线器(HUB),可以保证某一路或者多路RS-485总线损坏后不影响其他总线的正常通信。

在这里插入图片描述
单环自愈RS-485多机通信方式
单环自愈的RS-485组网方式大大增加了总线的通信可靠性,解决了总线断线,接线结构不牢等导致通信中断的问题。
单环:虽然有两根RS-485的两路信号线,但实际上都是一个环路的RS485信号。
自愈:当RS-485信号存在断线时,任何一个下位机的信号仍然通过没有断开的另一部分连接到转换器的输入接口。
在这里插入图片描述


串口光纤多机通信的组网方式
为实现串口的可靠远程通信,用户在很多时候都会使用光纤。光纤作为一种传输介质,具有隔离电压高,防电磁干扰、抗雷击等优点,光纤的每个分叉、集合都应该经过专用的光纤转换器,故,光纤通信的的组网方式取决于光纤转换器的功能,

简单的一对一串口光纤通信方式
在这里插入图片描述

总线式串口光纤多机通信方式
在这里插入图片描述
这里需要使用到RS-232/RS-485光纤中断转换器,可以实现RS-232/485光纤通信的中断,即延长串口光纤通信距离,实现总线式串行光纤多机通信,将多个RS-232或者485接口接入同一个总线式串口光纤通信网。

环形串口光纤多机通信方式
在这里插入图片描述


对串式串口光纤多机通信方式
在这里插入图片描述
这种组网方式较为灵活,但不可过多级地级联。
2号为串口/光纤转换器。


地址串口转换的实现
地址串口转换器的使用
串口多机通信,要求通信的下位机必须带地址。通信时由上位机先发送某个下位机的地址,位于同一个网络的所有下位机都同时读取这个地址,然后与自己的地址进行比较,如果地址相同则接收后面的数据,如果数据不同,则不接受后面的数据。
在大多数情况下,下位机没有设置地址的功能,或者地址格式不同,这就必须进行地址串口的转换。
地址串口转换器的原理是利用转换器的两个串口,成为上位机串口和下位机串口,自动添加认为设置的地址。地址的处理包含两部分:①将上位机串口接收到的数据去掉地址后从下位机串口发送出去。
②将下位机串口接收到的数据加上地址后从上位机串口发送出去。
纯硬件跳线设置,无需任何软件设置
在这里插入图片描述
A1/B1是主串口,主串口数据= 地址码 + 从串口数据。地址码的具体形式是:“###1:”,数据位是“12345”,主串口数据就是“###1:12345”,即发送数据前需要进行去帧头操作。
在同一个RS232/RS-485总线中,可以同时加入最多8个DIZ485产品,使用时将这8个产品分别设置为0~7个不同的地址符,将所有的DIZ产品的主串口共同接到了一个总线上,并接到上位机。
地址串口转换器的优点在于使用简单方便,不足之处在于只能够转换地址而没有对数据位、停止位、校验位进行转换,对于不常见的地址转换还需要定制。


地址串口转换的纯软件实现
利用计算机的两个串口,即上位机串口和下位机串口,利用纯软件加上人工设置的地址。将上位机串口接收到的数据去掉地址后从下位机串口发出去,将下位机串口接收到的数据加上地址后从上位机串口发送出去。
设置流程是:①波特率设置,包括两个串口各自的波特率;②选择发送数据的格式,包括十六进制和字符格式,适合Modbus等软件;③设置地址码,包含地址码前缀、地址值、地址码后缀。其中:

上位机串口发送数据 = 地址码 + 下位机串口接收数据


突破RS-485的节点数和距离极限
突破节点数与距离极限的前提是使用带中继功能的串口转换器。
在这里插入图片描述

扫描二维码关注公众号,回复: 16562666 查看本文章

具体实施的 RS-232/RS-485 中继转换器(型号为485A2) 有一个 DB-9 孔端的 RS-232和两个带接线端子的 RS-485。DB-9 孔端用于接 RS-232,DB-9 针端通过接线端子板连接 RS-485.485A2 的接线端子板上有 5 个接线端子 (A1、B1、GND、B2、A2),为两个 RS-485,共用GND。A1、B1与A2、B2 是功能完全相同的,不分方向。两个 RS-485 具有相互中继的功能。若每一段 RS-485 的距离为 1200m 和128 个,则整个 RS-485 系统的距离达到 (NX1200 m),节点数达到(Nx128)。可以看出,使用了 485A2的 RS-485 总线布线极其简洁。最远两端可以用 485A,也可以用 485A2。注意,整个 RS-485 系统共用 GND。
受 RS-485 接口芯片性能的限制,每一段 RS-485 目前最多接 128 个节点所以要达到 256 个的极限就应至少接一个 485A2 中继转换器。
假设波特率为9600b/s,传输一个字节的时间是0.001146s,这段时间内,电磁波的传输距离是345.5km。即理论上传输的最远距离是345.5Km,需要286.26个中继器,超过这个距离,同时出现的多从机应答会导致主机读取数据的错误。
此极限距离与传播介质无关,与协议无关,与数据位数成正比。

猜你喜欢

转载自blog.csdn.net/Wangwenshuaicsdn/article/details/129981463
今日推荐