用户中心
· 企业空间 首页 | 资讯 | 技术 | 产品 | 企业 | 直播 | 专题 | 智能制造 | 论坛| 在线研讨会
武汉波仕电子有限公司
企业空间 > 案例应用 > 正文
  • RS-485多从机竞争的解决方案
  • 发布时间:2012/11/21 14:22:07   修改时间:2012/11/21 14:22:07 浏览次数:2415
  •                                             武汉波仕电子公司 版权所有  2012

       在RS-485多机通信中,往往会出现多个从机同时向主机发送数据。比如在RS-485温度测量系统中,多个RS-485从机的温度测量值只要超过报警点就立即向主机发送报警信息,但是这也可能会出现2个或者2个以上的RS-485从机同时向主机发送报警信息。如果不采取RS-485竞争解决机制,那么就可能会导致2个从机同时发送的信息重叠,这样主机就无法接收到正确的信号,严重的还可能导致整个RS-485系统的崩溃。传统的解决方案是由主机循环轮流对各个RS-485下位机点名通信,这虽然解决了RS-485多从机的竞争,但是同时延误了实时报警信息。本文介绍的新方案之一能够识别从机发送信号的时间顺序,先发送的从机信号可以同时抑制其他从机的RS-485发送信号,只有等先发送信号的从机发送完毕之后其它从机才能够发送RS-485信号。本文介绍的新方案之二可以让下位机能够主动发送自己的地址,这样就无需主机对各从机进行轮流查询。本文介绍的新方案之三是将从机转换为不同的波特率,由于主机每次只能够接收某一种波特率的信号,这样就完全避免了多从机的竞争。本文中的“上位机”即“主机”,“下位机”即“从机”。

       1、在RS-485总线中接入RS-485智能共享器

          2RS-485对1RS-485智能共享器(型号:HUB2485Z)本来是用于两个RS-485上位机共同控制一个RS-485下位机的通信连接,在这里我们将HUB2485Z用于两台下位机的RS-485口共享一台位机的RS-485口HUB2485Z使RS-485总线从同时接2个从机。HUB2485Z已经有2个下位机RS-485(1)和RS-485(2)的插座(DB-9针并且配接线端子)和1个上位机的接线端子,无需修改软件、5V供电。HUB2485Z适用于两台下位机的RS-485口同时驱动一台位机的RS-485口。HUB2485Z的外型为DB-9(针)/ DB-9(针)转接盒大小,其中两个DB-9针的RS-485口均配接线端子。两个DB-9针的下位机RS-485口,如图RS-4851)和RS-485(2)是完全一样的,可以互换。上位机RS-485为接线端子,位于如图产品的上侧面,与电源接线端子在一起。HUB2485Z需要外接5V电源,配套提供。

                  图1  RS-485智能共享器外形图

    波仕HUB2485Z智能RS-485集线器能够识别两个位机RS-485(1)和RS-485(2)的发送顺序,避免同时发送导致的系统瘫痪。也就是说,即使两个位机正在同时发送,HUB2485Z会选取发送开始时间领先的位机正确发送数据,而只有等到这一个位机的数据发送完毕后,另外一个位机才可以开始发送数据。HUB2485Z的具有双向通信功能,当位机发送时,两个位机同时接收到相同的数据,并不区分地址。

          

     

        

    图2  RS-485智能共享器使用布线图

    在图2中,举例说明了同时接4个RS-485下位机的布线图,实际上还可以一直继续接下去。以接4个下位机为例,下位机4和下位机3分别接入3号HUB2485Z的RS-485(1)和RS-485(2)口,共享的RS-485口再级联接入另外一个2号HUB2485Z的RS-485(2)口,2号HUB2485Z的RS-485(1)接下位机2。以此类推,2号HUB2485Z的RS-485(2)口接下位机2,共享的RS-485接到1号HUB2485Z的RS-485(2),1号HUB2485Z的RS-485(1)接下位机1。在这样的布线结构中,每一个下位机都接入到了HUB2485Z共享器,由于HUB2485Z是可以级联的,所以非常灵活地接入多个下位机。实际上,1号HUB2485Z的RS-485(1)也可以继续级联新的HUB2485Z。 

    2、在RS-485总线中接入RS-485地址转换器

         传统的RS-485多机通信方案是每次都由主机循环轮流对各个RS-485下位机点名通信,主机先发送被呼叫的从机的地址,总线中每一个从机都将这个地址信号与自己的地址进行比较,地址一样就继续也主机通信,不一样就不与主机通信。这样可能存在的问题就是从机发送的信号是可以不带本从机地址的,因为主机已经发送了从机地址信息,紧接着收到的从机信号一定就是这个被点名的从机的信号,而且从机信号不带地址可以极大简化主机的信号处理程序。从机发送的信号不带从机地址就会限制RS-485多机通信的实时性,比如RS-485多机温度测量系统就不能够实时报警,因为主机不知道发送报警信号的从机的地址。

     

                             图3   为RS-485下位机加上地址

         波仕电子的DIZ485地址串口转换器用于实现串口(同时支持RS-232和RS-485)之间的带地址的转换。通过跳线设置地址编码,DIZ485可以将串口接收到的数据附加上地址编码发送出去,也可以将带地址编码的串口数据送到对应地址的转换器的串口。 DIZ485与其它同类产品相比的特点是可以识别下位机的地址、下位机可以主动发送带地址的数据。 波仕DIZ485地址串口转换器的外形为DB-9/DB-9转接盒大小,如图,产品左边为主串口,包括DB-9的RS-232口,和标明为A1、B1的RS-485口。右边为从串口,包括DB-9的RS-232口,和标明为A2、B2的RS-485口。左上侧J2、J1、J0为波特率设置的跳线,右上侧K2、K1、K0为地址编码设置的跳线,下面中间为5V电源接线端子。

    DIZ485 使用非常方便。首先根据波特率进行波特率跳线设置,然后跳线设置本产品的地址。通信规则:主串口数据=地址码+从串口数据   如果主串口收到 ###1:1234567,那么地址为1的产品的从串口发送出 1234567(地址不是1的产品的从串口不发送任何数据),就是去帧头。地址码就是在K2、K1、K0跳线设置值的前面加3个井号(###)和后面加一个冒号(:)的英文字符。如果地址为1的产品的从串口收到abcdefg ,则主串口发送出###1:abcdefg 就是加帧头。

    加入RS-485地址转换器可以使得RS-485从机可以随时主动向上位机发送消息,因为信号中自动加上了从机地址信息,这样主机就可以识别下位机。

    3、在RS-485总线中接入串口波特率转换器

    RS-485多机通信,本来是要求通信的双方波特率等通信格式一样才可以通信成功。可是为了解决这种情况下出现RS-485多从机竞争的问题波仕电子在世界上首次提出了一种多波特率的多机通信方式。本来是相同波特率的RS-485从机设备我们人为地将从机进行串口波特率的转换。当多个从机都转换为不同的波特率后,由于每个RS-485从机发送信号的波特率不同,而主机同一时间只能够收到某一种波特率的信号,这样就自然避免了多从机同时发送的竞争问题。介绍如何实现串口波特率的转换。

    串口波特率转换器用于实现不同波特率的RS-485/RS-232口的通信转换,纯硬件跳线设置,无需任何软件设置。串口波特率转换器的外形为DB-9/DB-9转接盒大小,如图4串口波特率转换器的内部有一个带双串口的单片机。单片机自动完成两个串口之间的数据交换。单片机程序用C语言编写,核心功能就是先将两个串口UART1和UART2根据跳线设置的状态进行波特率等初始化设置,然后随时将UART1接收的数据立即送到UART2的发送区、以及将UART2接收的数据立即送到UART1的发送区。

          图4  RS-485/RS-232波特率转换器

    上位机串口A的波特率通过产品的J2、J1、J0来设置,下位机串口B的波特率通过产品的K2、K1、K0来设置,见表格。波特率转换器的两边的串口可以分别独立设置波特率,见下表。

     DB-9孔RS-232口波特率设置

     

    DB-9针RS-232口波特率设置

    J2

    J1

    J0

     波特率

    K2

    K1

     K0

     波特率

     0

     0

     0

     1200

     0

     0

     0

     1200

     0

     0

     1

     2400

     0

     0

     1

     2400

     0

     1

     0

     4800

     0

     1

     0

     4800

     0

     1

     1

     9600

     0

     1

     1

     9600

     1

     0

     0

    19200

     1

     0

     0

    19200

     1

     0

     1

    38400

     1

     0

     1

    38400

     1

     1

     0

    57600

     1

     1

     0

    57600

     1

     1

     1

    115200

     1

     1

     1

    115200

                   

    由串口波特率转换器实现的RS-485多机通信图与图3所示的“为RS-485下位机加上地址”的布线结构完全相同。由于每次主机通信程序只能够设置为某一种波特率,所以也就每次只能给与某一个从机进行通信,其它从机即使同时发送信号但由于波特率不一样所以也不会对主机产生影响。这种方案的优点之一在于完全无竞争,缺点是最多8个下位机,因为这种串口波特率转换器只能够提供8种不同的波特率。这种方案的优点之二在于如果用户自己可以修改从机的波特率,那么可以实现零成本的解决方案。

        本文介绍的3种解决RS-485多从机竞争的方案可以形象地称为抢答、报名和调频。这3种方案各有特色,也各有局限性,但是互不排斥。也就是说,这3种方案还可以组合使用。

  • 企业介绍
波士电子1993年创立于北京。波士电子致力于RS232/RS485产品的开发。 波士电子创造了许多种世界上第一的RS232/RS485产品,拥有数10项专利。 2007年:世界上第一个以太网-串口光纤转换器:(OPET232L1) 2007年:世界上第一个USB-串口光纤转换器:…  更多>>
  • 联系方式

武汉波仕电子有限公司

联系人:孙汉华

地址:关东科技工业园

邮编:430074

电话:027-87561487

传真:027-87561486

公司网址:http://www.bosika.com

  • 该空间手机版

扫描此二维码即可访问该空间手机版

  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件:
您还没有登录,请登陆,
如果您还没有注册,点击这里注册.
  • 网友反馈
  • 孙红杰 在2024/7/4 8:54:00留言
  • 留言类型:我想得到贵公司产品详细资料,我想得到贵公司产品的价格信息,我让贵公司产品销售人员联系我,我让贵公司技术支持人员联系我,
  • 详细留言:需要USB转串口的转换器,能够支持的最高速度是921600bps,稳定可靠,长时间不存在数据丢失和错误等问题。
  • 李孝浪 在2022/8/5 10:22:00留言
  • 留言类型:我想得到贵公司产品详细资料,
  • 详细留言:有没有921600转115200的波特率转换器
  • Mike Ma 在2020/1/30 14:06:00留言
  • 留言类型:得到贵公司产品的价格信息,贵公司产品销售人员联系我,
  • 详细留言:我要买20个无源CAN隔离器,可以给我报价吗? 我公司是OSC Automation Engineering Blk 178 Edgefield Plains 09-224 Singapore 820178
  • 王力 在2014/12/15 18:05:00留言
  • 留言类型:贵公司产品销售人员联系我,
  • 详细留言:我已经购买了贵公司的ARK-2120无风扇嵌入式工控机,除了你家我还看了: E+H:http://www.endress-h.com pilz:http://www.pilz-zh.com 邦纳:http://www.banner-cn.com 穆格:http://www.moog-cn.com 穆格伺服阀:http://www.moog-cn.com 哈威:http://www.hawe-zh.com 力士乐:http://www.rexroth-zh.com 请问这些是正规的吗?可以开发票吗?
  • 汤庆 在2014/11/7 15:57:00留言
  • 留言类型:我想得到贵公司产品详细资料,我让贵公司产品销售人员联系我,我让贵公司技术支持人员联系我,
  • 详细留言:能否将电话的音频信号转换成485信号传输?有没有这样的设备?
更多请进入空间管理中心查看
关于我们 | 网站地图 | 联系我们
© 2003-2018    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688
我要反馈