RS-485通信卡及其应用
发布时间:2008/5/27 0:00:00 访问次数:704
摘要:本文介绍了rs-485通信卡方式的特点、使用方法以及在实际中采用vb5编程实现微机与单片机通信的方法和应注意的问题。 关键词:rs-485通信 微机串行通信 vb通信编程 在工业控制领域,数据采集与传输是经常性的工作,rs-485协议通信由于采用差分方式接收,对共模干扰抑制能力强,故广泛应用于工业控制领域。 实现rs-485通信的两种方法 微机标准通信适配器满足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标准;链路层采用面向字符型规程;本例采用笔者在现场实际使用的字符型通信规程,具体数据(16进制)格式如表1所示。
表1 字头 命令代码 数据1 数据2 校验 字尾 fch 00h~feh 00h~feh 00h~feh 校验字 ffh 8位 8位 8位 8位 8位 8位
摘要:本文介绍了rs-485通信卡方式的特点、使用方法以及在实际中采用vb5编程实现微机与单片机通信的方法和应注意的问题。 关键词:rs-485通信 微机串行通信 vb通信编程 在工业控制领域,数据采集与传输是经常性的工作,rs-485协议通信由于采用差分方式接收,对共模干扰抑制能力强,故广泛应用于工业控制领域。 实现rs-485通信的两种方法 微机标准通信适配器满足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标准;链路层采用面向字符型规程;本例采用笔者在现场实际使用的字符型通信规程,具体数据(16进制)格式如表1所示。
表1 字头 命令代码 数据1 数据2 校验 字尾 fch 00h~feh 00h~feh 00h~feh 校验字 ffh 8位 8位 8位 8位 8位 8位