编码器中RS422Word下载.docx

上传人:b****5 文档编号:8464728 上传时间:2023-05-11 格式:DOCX 页数:10 大小:23.80KB
下载 相关 举报
编码器中RS422Word下载.docx_第1页
第1页 / 共10页
编码器中RS422Word下载.docx_第2页
第2页 / 共10页
编码器中RS422Word下载.docx_第3页
第3页 / 共10页
编码器中RS422Word下载.docx_第4页
第4页 / 共10页
编码器中RS422Word下载.docx_第5页
第5页 / 共10页
编码器中RS422Word下载.docx_第6页
第6页 / 共10页
编码器中RS422Word下载.docx_第7页
第7页 / 共10页
编码器中RS422Word下载.docx_第8页
第8页 / 共10页
编码器中RS422Word下载.docx_第9页
第9页 / 共10页
编码器中RS422Word下载.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

编码器中RS422Word下载.docx

《编码器中RS422Word下载.docx》由会员分享,可在线阅读,更多相关《编码器中RS422Word下载.docx(10页珍藏版)》请在冰点文库上搜索。

编码器中RS422Word下载.docx

接口的电气特性

在RS-232-C 

中任何一条信号线的电压均为负逻辑关系。

即:

逻辑"

1"

为-3 

到-15V;

0"

为+3 

到+15V 

RS-232-C 

最常用的9 

条引线的信号内容如下所示

DB-9 

9

DB-25 

20 

22

定义DCD 

RXD 

TXD 

DTR 

GND 

DSR 

RTS 

CTS 

RI

(3) 

接口的物理结构

接口连接器一般使用型号为DB-9 

插头座,通常插头在DCE端,插座在DTE端.

PC 

机的RS-232 

口为9 

芯针插座。

而波士RS-232/RS-485转换器的RS-232 

为DB-9 

孔插头。

一些设备与PC 

机连接的RS-232 

接口,因为不使用对方的传送控制信号,只需三条接口线,即"

发送数据TXD"

、"

接收数据RXD"

和"

信号地GND"

传输线采用屏蔽双绞线。

(4)RS-232 

传输电缆长度

由RS 

-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50 

英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,美国DEC公司曾规定允许码元畸变为10%而得出下面实验结果。

其中1 

号电缆为屏蔽电缆,型号为DECP.NO.9107723 

内有三对双绞线,每对由22# 

AWG 

组成,其外覆以屏蔽网。

号电缆为不带屏蔽的电缆。

型号为DECP.NO.9105856-04是22#AWG 

的四芯电缆。

DEC 

公司的实验结果

波特率bps 

 

1号电缆传输距离(米) 

2号电缆传输距离(米)

110 

1500 

900

300 

1200 

900 

2400 

150

∙2009-1-815:

33

218.82.204.*

2楼

4800 

75

9600 

75 

经过许多年来RS-232 

器件以及通信技术的改进,RS-232 

的通信距离已经大大增加。

波士电子的RS-232 

增强器可以将普通的RS-232 

口的通信距离直接延长到1000米。

二、什么是RS-485 

1. 

RS-485 

的电气特性:

发送端:

以两线间的电压差为+(2 

至6) 

表示;

以两线间的电压差为-(2 

至6)V 

表示。

接收端:

A比B高200mV以上即认为是逻辑"

比B 

低200mV 

以上即认为是逻辑"

2. 

RS-485(或 

RS-422)的接线:

RS 

-485(或 

RS-422)通信建议一定要接地,因为RS-485(或 

RS-422)通信要求通信双方的地电位差小于1V。

半双工通信接3根线(+A、-B、地),全双工通信接5根线(+发、-发、+收、-收、地)。

为了安全起见,建议通信机器的外壳接大地。

RS-422)光隔转换器的所有外接电源的“地”必须全部连在一起但不要与计算机外壳地相连,因为电源“地”同时也是RS-485或 

RS-422的信号“地”。

当通信距离超过100米时建议最好使用光电隔离的通信接口转换器。

3. 

的数据最高传输速率为10Mbps。

但是由于RS-485 

常常要与PC 

机的RS-232口通信,所以实际上一般最高115.2Kbps。

又由于太高的速率会使RS-485 

传输距离减小,所以往往为9600bps 

左右或以下。

4. 

接口是采用平衡驱动器和差分接收器的组合,抗噪声干扰性好。

5. 

RS-485接口的最大传输距离标准值为1200米(9600bps时),实际上可达3000米,RS-485 

接口在总线上是允许连接多达128个收发器、即RS-485 

具有多机通信能力,这样用户可以利用单一的RS-485 

接口方便地建立起设备网络。

因RS-485 

接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。

因为RS485 

接口组成的半双工网络,一般只需二根信号线,所以RS485 

接口均采用屏蔽双绞线传输。

的国际标准并没有规定RS485 

的接口连接器标准、所以采用接线端子或者DB-9、DB-25 

等连接器都可以。

波士RS-485 

接口是事实工业标准。

6. 

采用RS485 

接口时,传输电缆的长度如何考虑?

在使用RS485 

接口时,对于特定的传输线经,从发生器到负载其数据信号传输所允许的最大电缆长度是数据信号速率的函数,这个长度数据主要是受信号失真及噪声等影响所限制。

最大电缆长度与信号速率的关系曲线是使用24AWG 

铜芯双绞电话电缆(线径为0。

51mm),线间旁路电容为52。

5PF/M,终端负载电阻为100 

欧时所得出。

(引自GB11014-89附录A)。

当数据信号速率降低到90Kbit/S 

以下时,假定最大允许的信号损失为6dBV 

时,则电缆长度被限制在1200M。

实际上,在实用时是完全可以取得比它大的电缆长度。

当使用不同线径的电缆。

则取得的最大电缆长度是不相同的。

例如:

当数据信号速率为600Kbit/S

时,采用24AWG 

电缆,最大电缆长度是200m,若采用19AWG 

电缆(线径为0.91mm)则电缆长度将可以大于200m;

若采用28AWG 

电缆(线径为0.32mm)则电缆长度只能小于200m。

RS-485的远距离通信建议采用屏蔽电缆,并且将屏蔽层作为地线。

3楼

三、什么是RS-422 

RS-422 

的电气性能与RS-485完全一样。

主要的区别在于:

有4 

根信号线:

两根发送(Y、Z)、两根接收(A、B)。

由于RS-422 

的收与发

是分开的所以可以同时收和发(全双工)。

有2 

发送和接收都是A 

和B。

由于RS-485 

的收与发是共用两根线所以不能够同时收和发(半双工)。

能否将RS-422 

的Y-A 

短接作为RS-485 

的A、将RS-422 

的Z-B 

的B呢?

回答:

不一定。

条件是RS-422 

必须是能够支持多机通信的。

波士电子的所有接口转换器的RS-422 

口都能够支持全双工多机通信,所以可以这样简单转换为RS-485。

四、RS-485 

比RS-232接口相比有何特点?

由于RS-232 

接口标准出现较早,难免有不足之处,主要有以下四点:

接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 

电平不兼容故需使用电平转换电路方能与TTL 

电路连接。

(2) 

传输速率较低,在异步传输时,波特率为20Kbps。

现在由于采用新的UART 

芯片16C550 

等,波特率达到115.2Kbps。

接口使用一根信号线和一根信号返回线而构成共地的传输形式, 

这种共地传输容

易产生共模干扰,所以抗噪声干扰性弱。

(4) 

传输距离有限,最大传输距离标准值为50 

米,实际上也只能用在15米左右。

(5)RS-232 

只允许一对一通信,而RS-485 

接口在总线上是允许连接多达128个收发器。

五、串口通信功能的实现

利用VC++实现串口通信的方法有多种,我们采取直接调用Window 

API中的一系列标准的串口通信函数,直接用这些标准函数来完成Windows下面的串口通信编程[11]。

利用WindowsAPI函数控制利用API 

函数实现对RS232串口通信的访问,在实现控制通信中,我们必定要调动3个函数来实现对串口的控制:

CreatFile()函数实现串口初始化并打开串口;

ReadFile()函数接收串口传递过来的二进制流并返回数据到接收缓冲区中

WriteFile()把应用程序发出的指令送到发送缓冲区以供串口接收1. 

打开串口

以下程序用于以同步方式打开串口COM1;

HANDLE 

hCom;

DWORD 

dwErrorHcomm=CreateFile(“COM1”,GENERIC_READ|GENERIC_WRITE

0, 

NULL,OPEN_EXISTING, 

0, 

NULL);

if 

(hComm==(HANDLE)0Xffff)

{

dwError=GetLastError();

MessageBox(dwError);

}

配置串口

配置串口是通过改变设备控制块DCB(Device 

Control 

Block)的成员变量值来实现的,程序实现如下:

DCB 

dcb

dcb.BaudRate=9600;

//波特率为9600bps

dcb.ByteSize=8;

//数据位8位

dcb.Parity=EVENPARTTY;

//有校验

dcb.StopBits=ONESTOPRTT;

//一个停止位

SetCommState(hCom,&

dcb);

数据读写

对串口进行读写与对文件进行读写所用的函数相同,具体为可采用查询、同步、异步或事件驱动等方法对串口进行读写所用函数如下所示:

bReadStatus=ReadFile(hCom,buffer,length,&

length 

&

m_lpOverlapped);

if(!

bReadStatus)

if(GetLastError()=ERROR_IO_PENDING)

WaitForSingleObject(m_lpOverlapped,hEvent,1000);

return((char)length);

return 

0;

//写入函数程序为:

bWriteStatus=WriteFile(hCom,buffer,length,&

length,&

m_lpOverlapped)

bWriteStatus)

WaitForSingleObject(m_lpOverlapped, 

hEvent,1000);

程序的编制

用VC++进行程序的编制首先要对串口进行初始化,设定端口,通信速率和校验方式,并在使用前打开串口,程序部分如下:

Cdialog:

:

OnInitDialog();

//TODO:

Add 

extra 

initialization 

here

m_comm.SetCommPort

(1);

//选择串口1

m_comm.GetPortOpen())

m_comm.SetPortOpen(TRUE);

//打开串口1

m_comm.SetSettings(“9600,n,8,1”);

//设置串口参数

m_comm.SetRThreshold

(1);

m_comm.SetInputMode

(1);

//设置二进制模式

TRUE;

除了串口的位置和基本串口参数(数据传输速率9600bps,1位开始位,8位数据位,1位停止位,一位奇偶校验)设置外,为了实现实时数据采集功能,接受数据的读写要尽可能的快速,则设置RTHreshold=1即接收缓冲区收到一个字节产生OnComm事件InputLen=1每次读取一个字节。

如果 

PC上位机在一定时间内不能将数据处理完,接收缓冲区会滞留数据,数据会产生丢失现象,我们必须对接受缓冲区进行适当的设置。

我们利用API函数实现串口通信的方法,实现了罗经及发射机对上位机串行通信的功能。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2