浅谈RS-485通信卡及其应用
在工业控制领域,数据采集与传输是经常性的工作,RS-485协议通信由于采用差分方式接收,对共模干扰抑制能力强,故广泛应用于工业控制领域。
实现RS-485通信的两种方法
智能仪表是随着80年代初单片机技术的成熟而发展起来的,现在世界仪表市场基本被智能仪表所垄断。究其原因就是企业信息化的需要,企业在仪表选型时其中的一个必要条件就是要具有联网通信接口。最初是数据模拟信号输出简单过程量,后来仪表接口是RS232接口,这种接口可以实现点对点的通信方式,但这种方式不能实现联网功能。随后出现的RS485解决了这个问题。
微机标准通信适配器满足RS-232C协议标准,在波形畸变小于10%的条件下,最大传输距离为50英尺(约15.24米),最高传输速率小于20kbps,无法满足工业现场数据较远距离和较高速率传输的要求。微机要实现RS-485协议通信可以采用两种方法:第一种是采用RS-232C与RS-485转换接口装置;第二种是采用RS-485通信卡,插在微机主板扩展槽上。采用第一种方法的优点是硬件装置安装简单,软件编程相对简单;缺点中通信速率仍然限制在20kbps以内(RS-232C协议的限制)。第二种方法的优点是通信速率较高,可达921.6kbps;缺点是通信卡需安装在微机扩展槽上,软件需安装通信卡的驱动程序及进行必要的设置。
RS-485通信卡的特点和连接方式
RS-485通信卡的通信波特率由50bps至921.6kbps可选;通常每卡有两个通信口,各支持32个节点,共64个节点;软件环境支持DOS、WINDOWS95、WINDOWS NT。通信联接方式可以采用点对点半双工方式、点对点全双工方式、多点半双工方式和多点全双工方式。
RS-485通信卡的应用
安装驱动程序
RS-485通信卡随卡带有驱动程序,第一次使用通信卡时须首选安装驱动程序,设置通信卡的I/O地址、中断号、通信口号等内容,以后系统运行时无需再次设置。
VB通信软件的特性
本例通信软件是采用VB5.0在WINDOWS95平台下实现的,数据以随机文件的形式存放。由于WINDOWS不支持对系统I/O端口的直接访问,因此在WINDOWS下实现串行通信的简便方法就是利用VB提供的通信软件MSComm。MSComm软件中几个最重要和最常用的属性是:CommPort 设置或返回通信端口的编号;其格式为:MSComm.Comm Port=n,其中no 1~99中的任何整数值。若这个端口不存在,当用PortOpen属性打开端口时,就会产生错误。
Settings设置或返回波特率、数据位、停止位等参数。例如:MSComm1.Settings="9600,N,8,1"
其中等号右边的参数中,每一部分表示通信波特率。第二部分为校验方式,N表示不校验;E表示偶校检;O表示奇校验;S表示空格校验;M表示符号校验。第三部分为数据位数。最后是停止位位数。
PortOpen设置或返回通信口的状态,若为TRUE,打开通信口;若为FALSE,则关闭通信口。
Input从接收缓冲区取出并返回字符串。
Output向发送缓冲区写入字符。
InBuffSize设置或返回接收缓冲区字节值。
InputLen设置或返回从缓冲区读字符串时每次读出的字符串个数;若设置InputLen为0, 则读缓冲区时,一次读出整个缓冲区内容。
结语
RS-485通信卡以其具有较高的通信速率(921kbps)、较强的抗干扰能力和较低的价格,在工业控制领域具有较强竞争力,极具实用价值。笔者将RS-485通信卡成功地应用于微机与单片机数据采集系统的串行通信,微机侧采用VB编制通信及数据处理软件,单片机侧采用汇编语言编程。VB中采用CHR()函数进行数据转换是微机与单片机实现16进制数据通信的关键。
- 基于RS-485总线的远程测控系统(06-21)
- 用RS-485构成总线型多点数据采集系统(06-04)
- 基于RS-485总线网络连接说明(12-21)
- 基于RS-485总线的水轮机温度监测系统(12-20)
- RS-485及RS-422的自动交叉连接(12-20)
- RS-485的手拉手连接(12-20)