RS-232 转RS-485 网络的通信
1 引言
目前工业控制现场大量使用了各种智能仪表用于生产过程检测,把智能仪表检测出来的数据传送到监控计算机供显示和分析是非常必要的环节,虽然智能仪表的通信协议种类繁多,但是很多智能仪表都具备RS-232 和RS-485 两种通信接口类型。
RS-232 是美国EIA(Electronic Ingustry Association) 与BELL 等公司一起开发的1969 年公布的通信协议,也是工业控制中应用最广泛的一种串行接口,采取不平衡传输方式,即所谓单端通讯,但是它的传输距离短,最大约为30 米,传输速率低,最高速率为20kb/s,共模抑制能力差,抗噪声干扰性弱的缺点,所以RS-232 只适合本地设备之间的通信。
RS-485 是EIA 为了弥补RS-232 通信距离短、传输速度低等不足之处,于1983 年提出的一种串行数据接口标准,RS-485 采用差分传输方式,也称作平衡传输,具有比较高的噪声抑制能力,最大传输距离约为1200 米,最大传输速率为10Mb/s,还增加了多点、双向通信能力,所以RS-485 成为首选的串行接口。
工业监控计算机一般只具备RS-232 串行接口,而智能仪表安装的位置与监控计算机的距离也经常超过30 米,所以要把智能仪表检测出来的数据传送到监控计算机RS-485 是首选,也就是说要把监控计算机的RS-232 串行接口转换成RS-485 串行接口才能和智能仪表搭建一个RS-485 的网络。
UT-201 是深圳宇泰公司生产的一种通用型RS-232 到RS-485 接口转换器,该转换器兼容RS-232、RS-485 标准,能够将单端的RS232 信号转换为平衡差分的RS485 信号。
本文基于自来水厂泵站泵组温度自动检测系统的设计,着重介绍监控计算机通过UT-201接口转换器和现场智能仪表连成RS-485 网络的实现方法。
2 系统联网方案
自来水厂对泵站泵组保护的一个重要手段就是对泵组温度的实时监测,一般通过埋置式铂热电阻和埋置式铜电阻作为传感器,对泵组的电机和水泵轴承的温度进行检测,检测出来的信号送到现场智能仪表,智能仪表把信号转换成对应的温度值并在LED 屏显示出来。随着自动化水平的不断提高,还必需要把温度值在监控计算机上显示出来。利用UT-201 接口转换器在监控计算机和现场智能仪表之间建立一个RS-485 网络,监控计算机就能够通过RS-485网络读取现场智能仪表的温度值。设备层部分网络结构如图1。
图1 设备层拓扑结构示意图
系统采用简单的主从总线结构,以监控计算机作为主机发起通信,多台现场智能仪表作为从机,各从机在进行传输之前必需要等待来自主机的允许信号。主机可以发送和接收来自通信链上从机的信息,而从机则始终处于被动状态,随时准备相应来自主机的通信请求。
本系统采用点对多点/两线半双工的通信方式,UT-201 接口转换器与智能仪表的硬件接线示意图如图2。
图2 RS-485 点对多点/两线半双工连接示意图。
3 UT-201 转换器的介绍
UT-201 转换器采用DB-9/DB-9 通用转接插头,输出接口配有普通接线柱,它的引脚分配如下表1 和表2:
表1 RS-232 端的引脚分配
表2 RS-485 端的引脚分配
表1 中是UT-201 转换器与监控计算机连接的RS-232 接口,因为不使用监控计算机的传送控制信号,所以只需三条接口线,即“发送数据”、“接收数据”和“信号地”。表2 中T/R+、T/R-代表收发A+、B-,VCC 代表备用电源输入,GND 代表公共地线,点到点、点到多点、半双工通信接两根线(T/R+、T/R-),接线原则“发/收+”接对方的“发/收+” 、“发/收-”
接对方的“发/收-” ,RS-485 半双工模式接线时将T/R+(发/收+)接对方的A+ 、T/R-(发/收-)接对方的B-。
4 网络通讯协议的介绍
通过UT-201 在监控计算机和智能仪表之间搭建的RS-485 网络,硬件是采用RS-485 接线,主从式半双工通讯,主机呼叫从机地址,从机应答方式通讯。通信协议是遵循MODBUS 协议,由于是和现场智能仪表进行通讯,所以选择MODBUS 通讯协议的RTU(远程终端设备)模式,数据帧10 位,1 个起始位,8 个数据位,1 个停止位,无校验。波特率:9600;19200;38400。
MODBUS 协议共有二十几个功能编码,我们用的智能仪表是XMD5000 万能输入多路巡检仪,它只需要用到MODBUS 协议的03H、06H、83H、86H 等几个功能编码就能够实现基本数据的传送。
例如主机希望读取1 号仪表第1 通道(寄存器地址0010)的瞬时值(假设为130),则只需要调用功能编码03H。主机请求和从机响应的帧格式如下:
主机发送:
第1 字节ARD : 从机地址码(=001~254)
第 2 字节03H : 读寄存器值功能码
第3、4 字节 : 要读的寄存器开始地址
第5、6 字节 : 要读的寄存器数量
第7、8 字节 : 从字节1 到6 的
- 利用FPGA实现外设通信接口之: 典型实例-RS-232C(UART)接口的设计与实现(06-05)
- 利用FPGA实现外设通信接口之:利用FPGA实现RS-232C串行接口(06-04)
- RS-232/485转换器的复用(12-20)
- 工业和仪器仪表应用的鲁棒隔离式RS-232诊断端口(12-19)
- RS-232隔离器可实现多路RS232的多机通信(12-16)
- RS-232的高电压隔离(12-16)