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

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

检验仪器与计算机接口技术 串行通信介绍 串行通信的基本知识 单工 Simplex 半双工 half duplex 和全双工 full duplex 起始位 start 奇偶校验位 parity 停止位 stop 和波特率 baudrate 异步串行通信数据发送格式 RS 232C串行数据接口标准 20世纪60年代 随着分时计算机的广泛使用 MODEM也得到了发展 使远程终端可以通过电话线与远方的主机通信 用来发送串行数据的MODEM和其他器件通常称为数据通信设备或DEC 用来收发数据的终端和计算机通常称为数据终端设备或DTE 为了满足DTE和DCE之间信号及握手序列的需要 电子工业协会 ElectronicIndustriesAssociation或EIA 开发了一个EIA标准RS 232C 插件针脚编号 RS 232C针脚定义 常用针脚定义 RS 232C的接口信号DSRDTR RS 232C规标准接口有25条线 常用的只有7根 它们是 1 联络控制信号线 数据装置准备好 Datasetready DSR 有效时 ON 状态 表明通信装置处于可以使用的状态 数据终端准备好 Datasetready DTR 有效时 ON 状态 表明数据终端可以使用 这两个信号有时连到电源上 一上电就立即有效 这两个设备状态信号有效 只表示设备本身可用 并不说明通信链路可以开始进行通信了 能否开始进行通信要由下面的控制信号决定 RS 232C的接口信号RTSCTS 请求发送 Requesttosend RTS 用来表示DTE请求DCE发送数据 即当终端要发送数据时 使该信号有效 ON状态 向MODEM请求发送 它用来控制MODEM是否要进入发送状态 允许发送 Cleartosend 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 False InBufferSize和OutBufferSize属性 InBufferSize和OutBufferSize以字节的形式设置并返回输入缓冲区和输出缓冲区的大小 输入缓冲区缺省值为1024字节 输出缓冲区缺省值为512字节 Mscomm控件的常用属性 Len属性 如果把Len属性设置为0 那么在使用属性时 Communications控件将读出接收缓冲区中的所有内容 如果读取以定长的数据块的形式格式化了的数据时 则需要将该属性设置为合适的值 Mscomm控件的常用属性 Mscomm控件的常用属性 属性 属性被用来保存和接收从接收缓冲区获取的数据 例如 如果希望从接收缓冲区获取数据 并将其显示在一个文本框中 可以使用下面的代码 TxtDisplay Text MSComm1 如果需要获得接收缓冲区的所有内容 就必须将Len属性设置为0 这可以在设计时或运行时设置 Mscomm控件的常用属性 Output属性 Output属性被用来向发送缓冲区发出命令和数据 发送AT命令MSComm1 Output ATDT555 5555 发送文本字符串MsComm1 Output Thisisatextstring 发送Byte数组数据MSComm1 Output Out Mscomm控件的常用属性 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确定在通讯时是否使DataTerminalReady DTR 线有效 当DTREnabel设置为True 当端口被打开时DataTerminalReady线设置为高电平 开 当端口被关闭时DataTerminalReady线设置为低电平 关 当DTREnable设置为False DataTerminalReady线始终保持为低电平 Mscomm控件的常用属性 RTSEnable属性 RTSEnable确定是否使RequestToSend RTS 线有效 当RTSEnable设置为True 端口打开时 RequestToSend线设置为高电平 端口关闭时 设置为低电平 当RTSEnable设置为False RequestToSend线无效 设置为低电平 OnComm事件 根据应用程序的用途和功能 在连接到其它设备过程中 以及接收或发送数据过程中 可能需要监视并响应一些事件和错误 可以使用OnComm事件和CommEvent属性捕捉并检查通讯事件和错误的值 用mscomm控件编程 用mscomm控件访问串行口的两种方法 1 轮询法 轮询法就是程序不断地监视端口的信号线和输入缓冲区 从输入缓冲区中获取数据 2 事件驱动法 对于mscomm控件来说 不管是端口的信号线状态变化 还是接收到了数据 或是有通信错误发生 端口驱动程序都会产生一个OnComm事件 设置控件的CommEvent属性来表示发生了什么事件 并且调用程序的mscomm控件的OnComm事件处理的代码 我们要做的就是在OnComm事件中根据不同的事件来做相应的处理 轮询法代码示例 DoDoEventsBuffer Buffer MSComm1 从串行端口读 OK 响应 跳出循环 LoopUntilInStr Buffer OK vbCRLF 事件驱动法代码示例 PrivateSubMSComm OnComm select分支处理语句 根据消息的不同 执行相应的处理SelectCaseMSComm1 CommEventCasecomEventBreakCTS线状态变化 此处添加相应处理语句 CasecomEvDSR DSR线状态变化 此处添加相应处理语句 comEvReceive 收到RThreshold个字符 此处添加相应处理语句 EndSelectEndSub CL7300和计算机的数据通信 CL7300通信时使用2400波特率 偶校验 8位数据位 2位停止位 并且要在计算机和CL7300联机时设置DSR和CTS信号线为高电平 CL7300的通信数据线 CL7300数据通信线采用标准NULLMODEM解法 CL7300 25针 计算机 9针 2 TXD 2 RXD 3 RXD 3 RXD 6 DSR 4 DTR 5 CTS 7 RTS 7 GND 5 GND CL7300通信协议

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值