新闻中心

EEPW首页>嵌入式系统>设计应用> RS-232转RS-485网络的通信

RS-232转RS-485网络的通信

作者: 时间:2016-12-16 来源:网络 收藏

  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 的CRC16 校验和

  从机回送:

浮点数:43020000 表示整数130 (符合IEEE-754 标准的单精度浮点数)

  第1 字节ARD : 从机地址码(=001~254)

  第2 字节03H : 返回读功能码

  第3 字节 : 字节总数

  第4~7 字节 : 寄存器数据

  第8、9 字节 : 从字节1 到7 的CRC16 校验和

  当从机接收错误时,从机回送:

  第1 字节ARD : 从机地址码(=001~254)

  第2 字节83H : 读寄存器值出错

  第3 字节信息码 : 可查信息码表

  第4、5 字节 : 从字节1 到3 的CRC16 校验和

  UT-201接口转换器遵循MODBUS 通讯协议,帧格式以及所执行的功能都有明确的定义,不能随意更改。在通信过程中,要确保主机和从机的对应关系正确。此外,用户可以根据实际需要配置合适的传输波特率。

  5 应用VB(Visual Basic)开发通信程序

  自来水厂泵站监控组态软件很多都是应用美国罗克韦尔(Rockwell)公司开发的RSView32软件,RSView32 软件支持VB 编程,在此基础上开发通信应用程序相当方便、实用。

  在开发VB 通信应用程序中,调用MSComm 控件,使得程序更加简明、有效。MSComm控件是Microsoft 公司提供的简化Windows 下串行通信编程的ActiveX 控件,它为应用程序提供了通过串行接口收发数据的简便方法。程序主要由以下几个部分组成:

  初始化MSComm 控件,主要是对串口进行设置,包括波特率、校验位、数据位、停止位的设置。

  设置并发送读指令,主要是根据MODBUS 通讯协议对要读取的智能仪表和寄存器地址进行设置,以及计算出CRC16 校验和。

  接收数据,主要是读取智能仪表回送的响应帧。

  处理数据,主要是判断响应帧数据的有效性,正确则存取数据,否则重新再读取。

  根据UT-201 转换器及智能仪表的通信原理画出了图3 所示的主机通信程序结构框图。

图3 通讯程序框图。

  6 结束语

  经过现场调试,实现了1 台监控计算机通过1 个UT-201接口转换器与10 台智能仪表组成的RS-485网络连接,每台智能仪表连接两个埋置式铂热电阻和三个埋置式铜电阻。实际应用证明,这种方式组成的系统,结构简单,应用方便,能满足控制需要。

  本文的创新点是:通过该系统能够根据具体的协议实现智能仪表与监控组态软件RSView32 之间的数据交换,从而把现场智能仪表检测到的数据实时地在监控计算机上显示。


上一页 1 2 下一页

关键词:RS-232RS-485网络通

评论


相关推荐

技术专区

关闭