检验仪器与计算机接口通信,检验仪器与计算机接口技术

a7f4a3f590493a1e451dd952a488fd7c.gif 检验仪器与计算机接口技术

(28页)

86c33f6b30e5019f17cb1230774a5190.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

9.90 积分

检验仪器与计算机接口技术串行通信介绍串行通信的基本知识一 单工 (Simplex),半双工 (half-duplex)和全双工 (full-duplex)。二 起始位 (start),奇偶校验位 (parity),停止位 (stop)和波特率 (baud rate)。异步串行通信数据发送格式RS-232C串行数据接口标准20世纪 60年代,随着分时计算机的广泛使用,MODEM也得到了发展,使远程终端可以通过电话线与远方的主机通信。用来发送串行数据的 MODEM和其他器件通常称为 数据通信设备或 DEC; 用来收发数据的终端和计算机通常称为 数据终端设备 或 DTE。 为了满足 DTE和 DCE之间信号及握手序列的需要,电子工业协会( Electronic Industries Association或 EIA) 开发了一个 EIA标准 RS-232C。插件针脚编号RS-232C针脚定义9针针号 25针针号 通用名 RS232C名 功能 信号方向327812345TXDRXDRTSCTSAABABBCACB保护地发送数据接收数据请求发送清除发送—INOUTINOUT651678910DSRGNDCDCCABCF数据装置准备好信号地接收线信号检测保留保留OUT—OUT——1112131415SCFSCBSBADB未分配第二通道接收线信号检测第二通道清除发送第二通道发送数据传输信号单元定时( DCE源)—OUTOUTINOUT41617181920 DTRSBBDDSCACD第二通道接收数据接受信号单元定时( DEC源)未分配第二通道请求发送数据终端准备好OUTOUT—ININ92122232425CGCECH/CIDA信号质量检测音响指示数据信号速率选择发送信号单元定时( DTE源)OUTOUTIN/OUTIN常用针脚定义9针针脚 25针针脚 通用名 RS-232C名 功能 信号方向3 2 TXD BA 发送数据 IN2 3 RXD BB 接受数据 OUT7 4 RTX CA 请求发送 IN8 5 CTS CB 清除发送 OUT6 6 DSR CC 数据设备准备好OUT5 7 GND AB 信号地4 20 DTR CD 数据终端准备好INRS-232C的接口信号 DSR DTRRS-232C规标准接口有 25条线,常用的只有 7根,它们是:( 1)联络控制信号线 :数据装置准备好( Data set ready-DSR)——有效时( ON)状态,表明通信装置处于可以使用的状态。数据终端准备好 (Data set ready-DTR)——有效时( ON)状态,表明数据终端可以使用。这两个信号有时连到电源上,一上电就立即有效。这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由下面的控制信号决定。RS-232C的接口信号 RTS CTS请求发送 (Request to send-RTS)——用来表示 DTE请求 DCE发送数据,即当终端要发送数据时,使该信号有效( ON状态),向 MODEM请求发送。它用来控制MODEM是否要进入发送状态。允许发送( Clear to send-CTS) ——用来表示 DCE准备好接收 DTE发来的数据,是对请求发送信号 RTS的响应信号。当 MODEM已准备好接收终端传来的数据,并向前发送时,使该信号有效,通知终端开始沿发送数据线 TxD发送数据。这对 RTS/CTS请求应答联络信号是用于半双工 MODEM系统中发送方式和接收方式之间的切换。在全双工系统中作发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,故不需要 RTS/CTS联络信号,使其变高。连接 RS-232C设备简化 3线接法用 VB编写串行通信程序在 VB中是通过串行端口通信,需要使用mscomm控件。 mscomm控件提供了一系列标准通讯命令的使用界面。使用它可以建立与串行端口的连接,通过串行端口连接到其它通讯设备(例如调制解调器),发出命令,交换数据,以及监视和响应串行连接中发生的事件和错误。Mscomm控件的常用属性Commport属性:Commport属性设置并返回使用的通信端口号。 mscomm1.CommPort=1Settings属性:Settings属性设置并返回波特率、奇偶校验、数据位、停止位参数。mscomm1.Setting=“9600,N,8,1”mscomm1.Setting=“2400,E,7,1”Mscomm控件的常用属性HandShaking属性 :HandShaking属性设置并返回通信的握手协议。mscomm1.Handshaking=comRTSmscomm1.Handshaking=ComNonePortOpen属性:PortOpen属性设置并返回通讯端口的状态(开或关)。mscomm1.PortOpen=Truemscomm1.PortOpen=FalseInBufferSize和 OutBufferSize属性:InBufferSize和 OutBufferSize以字节的形式设置并返回输入缓冲区和输出缓冲区的大小 。 输入缓冲区缺省值为 1024字节 , 输出缓冲区缺省值为 512字节 。Mscomm控件的常用属性InputLen属性:如果把 InputLen 属性设置为 0,那么在使用 Input 属性时, Communications 控件将读出接收缓冲区中的所有内容。如果读取以定长的数据块的形式格式化了的数据时,则需要将该属性设置为合适的值。Mscomm控件的常用属性Mscomm控件的常用属性Input属性 :Input属性被用来保存和接收从接收缓冲区获取的数据 。 例如 , 如果希望从接收缓冲区获取数据 , 并将其显示在一个文本框中 , 可以使用下面的代码:TxtDisplay.Text = MSComm1.Input。 如果需要获得接收缓冲区的所有内容 , 就必须将 InputLen 属性设置为 0。 这可以在设计时或运行时设置 。Mscomm控件的常用属性Output属性:Output 属性被用来向发送缓冲区发出命令和数据 。'发送 AT 命令MSComm1.Output = "ATDT 555-5555"'发送文本字符串MsComm1.Output = " This is a text string "'发送 Byte 数组数据MSComm1.Output = OutMscomm控件的常用属性CTSHolding、 DSRHolding和 CDHolding属性:这三个属性都是用来检测通信端口信号线的状态的 ,而且这三个属性都是设计时无效 , 运行时只读的 。 三个属性返回值都是布尔值 ( True或者 False) 。CTSHolding属性用来查询 CTS( clear-to-send, 准许发送 ) 线的状态 。 返回值为 True表示 CTS线为高电平 ,返回 False表示 CTS线为低电平 。DSRHolding属性用来查询 DSR( data-set-ready, 数据设备准备好 ) 线的状态 。CDHolding属性用来查询 CD( carrier-detect, 载波检测 ) 线的状态 。Mscomm控件的常用属性DTREnable属性:DTREnable 确 定 在 通 讯 时 是 否 使 DataTerminal Ready (DTR) 线 有 效 。 当DTREnabel设置为 True, 当端口被打开时Data Terminal Ready 线设置为高电平( 开 ) , 当端口被关闭时 Data TerminalReady 线 设 置 为 低 电 平 ( 关 ) 。 当DTREnable 设置为 False, Data TerminalReady 线始终保持为低电平 。Mscomm控件的常用属性RTSEnable属性 :RTSEnable确定是否使 Request To Send (RTS) 线有效。当 RTSEnable 设置为True, 端口打开时, Request To Send 线设置为高电平,端口关闭时,设置为低电平。当 RTSEnable 设置为 False,Request To Send 线无效,设置为低电平。OnComm 事件根据应用程序的用途和功能,在连接到其它设备过程中,以及接收或发送数据过程中,可能需要监视并响应一些事件和错误。可以使用 OnComm 事件和CommEvent 属性捕捉并检查通讯事件和错误的值。用 mscomm控件编程用 mscomm控件访问串行口的两种方法:? 1.轮询法 :轮询法就是程序不断地监视端口的信号线和输入缓冲区,从输入缓冲区中获取数据 。? 2.事件驱动法: 对于 mscomm控件来说,不管是端口的信号线状态变化,还是接收到了数据,或是有通信错误发生。端口驱动程序都会产生一个OnComm事件,设置控件的 CommEvent属性来表示发生了什么事件,并且调用程序的 mscomm控件的OnComm事件处理的代码。我们要做的就是在OnComm事件中根据不同的事件来做相应的处理。轮询法代码示例DoDoEventsBuffer$ = Buffer$ & MSComm1.Input'从串行端口读 "OK" 响应 , 跳出循环 。Loop Until InStr(Buffer$, "OK" & vbCRLF)事件驱动法代码示例Private Sub MSComm_OnComm ()’select分支处理语句 , 根据消息的不同 , 执行相应的处理Select Case MSComm1.CommEventCase comEventBreakCTS 线状态变化 , 此处添加相应处理语句 。Case comEvDSR' DSR 线状态变化 , 此处添加相应处理语句 。comEvReceive' 收到 RThreshold 个字符 , 此处添加相应处理语句 。End SelectEnd SubCL7300和计算机的数据通信CL7300通信时使用 2400波特率,偶校验,8位数据位, 2位停止位。并且要在计算机和 CL7300联机时设置 DSR和 CTS信号线为高电平。CL7300的通信数据线CL7300数据通信线采用标准 NULL MODEM解法。CL7300(25针 ) 计算机 (9针 )2(TXD) 2(RXD)3(RXD) 3(RXD)6(DSR) 4(DTR)5(CTS) 7(RTS)7(GND) 5(GND)CL7300通信协议CL7300 计算机发送 ENQ,询问是否准备好?发送 ACK,表明准备好发送数据块( STX开始,ETX结尾)发送 ACK确认接收发送 EOT, 表示传输结束发送 ACK表示无错误发生 关 键 词: 检验 仪器 计算机 接口 技术

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值