RS-232 转RS-485 网络的通信
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 之间的数据交换,从而把现场智能仪表检测到的数据实时地在监控计算机上显示。
- 利用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)