关于PC串口的开关量检测控制方法研究

关于PC串口的开关检测控制方法研究
来源:毕业论文网-www.lunwentop
  0 引言
 
  随着当今信息化时代的飞速发展,人类社会逐渐步入了数字化时代,各种家电设备和仪器仪表都朝着数字化方向发展。计算机系统是一个数字化系统,处理的信号完全是数字信号,因此对于检测和控制一些开关信号,比如按钮按下与弹起、电磁阀打开与关闭、继电器开闭等,可以简单地看作是“1”和“0”的数字信号,借助于计算机系统来处理是相当方便的[1]。在具有开关量输入输出的应用系统中,通常是采用上位机和下位机的结构模式[2],使用单片机等支持数据通信的控制器做下位机来处理串口数据,再通过下位机输出控制外部设备。而当下位机的数据处理能力不足或受到干扰时,会导致整个应用系统的稳定性差、实时性差、控制复杂、误动作多、效率低等缺点。本文提出一种不利用下位机,而直接利用计算机来处理开关量的方法,利用RS-232 串行接口,通过接口模块实现开关量的检测和控制。实验结果表明在计算机不可或缺的系统应用条件下,利用该方法实现的测控系统具有可靠的稳定性和
快速的实时性,并且不需要再配备下位机,从而简化了外围电路设计,降低了系统成本。
 
  1 RS-232C 标准解析
 
  RS-232C 标准(协议)的全称是EIA-RS-232C 标准,规定了连接电缆、机械和电气特性、信号电平和引脚功能、传送过程等[3]。通信双方的设备被分成两种:数据终端设备DTE和数据通信设备DCE。目前在普通台式计算机上一般有1 DB-9 型的RS-232C 接口,是插针形的公口,可以设置成COM1 COM2 ,如所示。
  RS-232C 连接器的各个引脚的功能(如表1 所示)和逻辑电平规定:
  TXD RXD:逻辑1(MARK)=-3V-15V;逻辑 0(SPACE)=+308al~+15V
  RTSCTSDSRDTR RIDCD:信号有效(接通,ON 状态,正电压)=+3V+15V;信号无效(断开,OFF 状态,负电压)=-3V-15V
  GND:以上的电平都是以此引脚作为各电平的参考电位。
  因此,在实际通信时,引脚上的电压范围必须严格限制在±315V 之间,超出这个范围的电压则没有意义。
  由表1 可知,从计算机(DTE)端的通信方向来看,凡是流进计算机端都可以看作是数字输入,凡是流出计算机端都可以看作是数字输出。这样,在工业应用中,输入引脚可以用来“检测”,而输出引脚可以用来“控制”。所以,DCDRXDDSRCTS RI 引脚可以用来检测输入,TXDDTR RTS 可以用来控制输出。在数据通信的时候,数据的形成是通过改变相应硬件信号线上的逻辑电平实现的,而逻辑电平可以代表不同的状态,这样通过改变逻辑电平就可以“检测”或“控制”不同的状态,进而实现事先定义好的具体的物理状态,比如电磁阀打开,继电器吸合等。因此,对于开关信号的检测和控制完全可以直接利用计算机串行接口来实现。
 
  2 开关量检测控制方法原理与系统设计
 
  2.1 开关量检测控制系统设计
  本系统采用普通台式计算机作为控制器,通过串行接口模块连接需要检测或控制的设备,直接实现检测和控制开关量。本方法使用DCDDSRCTS RI 四个引脚作为检测通道;STRRTS TXD 三个引脚作为控制通道。开关量检测控制系统结构图所示。系统由
计算机、串行接口模块、输入和输出设备组成。串行接口模块用于实现开关量的检测和控制,包括CD4017、光电耦合器、继电器、LED 指示灯、接线端子等;输入设备和输出设备主要是被检测和控制的装置,比如接近开关、光电开关、电磁阀、蜂鸣报警器、电机、电磁铁等电气设备。计算机测控软件利用Visual Basic 6.0 编写,通过MSComm 控件实现串口开关量的检测和控制功能。
 
  2.2 开关量检测原理
  要通过计算机串口实现开关量的检测,首先需要确定输入设备所发出的信号类型,电压、电流、频率等。在此我们需要的是±高青县实验中学315V 电压信号,因此如果不满足此要求则需要进行转换。由RS-232C 标准可知,对于DCDDSRCTS RI 四个引脚通过检测各个引脚的电压是否在+315V 之间就可以实现开关量的检测功能。电路原理图如所示,其检测原理描述如下:在MSComm 控件的属性中,可以利用如下属性来实现检测相应引脚的点位。CDHolding 用于检测DCD 引脚的电位状态,CTSHolding 用于检测CTS 引脚的电位状态,DSRHolding 用于检测DSR 引脚的电位状态。对于RI 引脚的电平状态,无法通过MSComm控件的属性直接得到,需要通过CommEvent 属性来实现。CommEvent 的值会
随着串行端口的情况而改变,其中一个值是comEvRing,可以通过检测此值而得知RI 天体物理学引脚状态变化。总之,可以利用计算机将待检测的电平状态“读”进来,进而分辨出不同的实际意义。
 
  2.3 开关量控制原理
  要通过计算机串口实现开关量的控制,就是借助计算机发出控制开关量的命令,实现对输出设备的控制。
  对于DTR RTS 两个引脚,只要通过计算机控制引脚处于“有效”状态就会在相应引脚输出正电压。经过实际测量,这两个引脚在“ON”状态下输出电压在11V 左右,电流12mA左右。通过机械战将MSComm 控件的属性DTREnable RTSEnable 可以分别实现对这两个引脚的电压控制,其数据类型都是布尔值(Boolean),以True 表示“ON”有效状态,以False 表示“OFF
  无效状态。电路原理图如所示。
  对于TXD 引脚,有多种方法可以实现控制开关量。一种最简单的方法是直接在TXD引脚持续输出不同的字符,使TXD 引脚一直产生不同的矩形脉冲信号波形[4] 样就形成了不同
的控制信号。若让TXD 一直输出0X00,实际测量引脚输出电压在+9V 左右。这时输出会有“毛刺”,因为每传输一个0X00 都有一个停止位(逻辑1),而这个停止位在TXD 引脚上表现为负电压,但时间很短,因此会有所谓的“毛刺”出现。在要求不高的应用下可以配合继电器等具有滞后性的电子器件使用。此方法TXT 控制开关量的原理和RTSDTR 一样,如所示。
  另一种方法则是利用TXD 产生的脉冲波形,借助于其他脉冲输入的元件如CD4017 来实现控制。CD4017 是十进制的计数/分频器,具有10 路译码输出端[5]Clock enable 引脚为低电平时,计数器在clock 引脚输入的时钟上升沿计数;当clock enable 为高电平,计数功能无效。Reset 为高电平时,计数器清零。Output0-9 引脚的译码输出只有在对应时钟周期内保持高电平。每10 个时钟输入Carry-out 引脚输出一次进位信号,可用作多级计数器的下级脉冲时钟。这样,在TXD 脉冲输入下,CD4017 安徽省第九次党代会output0-9 依次输出高电平,经过晶体管放大,完全可以控制输出设备。电路原理图如所示。
 
  3 开关量检测控制系统实现
 
  根据上述原理和系统结构,本文提出了基于计算机串口的开关量检测和控制方法,并构建了结构简单的测控系统来验证方法的合理性。下面就其硬件和软件系统设计展开论述。
 
  3.1 开关量测控系统硬件结构设计
  在实验系统检测部分实验中使用串口引脚是DCDDSRCTS、和RI 共四路。每一路使用一个NPN 常开的电容式接近开关,输入电压是6V;当接近开关检测到物体时输出0V地信号,而没有检测到物体时,输出的电压和输入电压相等。要实现的功能是用接近开关来检测物体的存在与否。当物体不存在时,通过蜂鸣器和LED 进行声光报警。在实验系统控制部分实验中使用到串口的DTRRTSTXD三个引脚,可以借助光电耦合器和普通电磁继电器或者只用一个固态继电器就可以实现对输出设备的控制。光电耦合器能实现电一光一电信号的转换,并且输入信号与输出信号隔离[6],再配合继电器使用更提高计算机工作的可靠性。试验中用RTSDTR这两个引脚分别控制一台日光灯和一台蓄水池自吸水泵。考虑到实验设备的现状,实验中用TXD引脚直接控制LED灯。
 
  3.2 开关量测控系统软件设计
  本实验系统的测控软件利用Microsoft Visual Basic 6.0 进行编程,使用MSComm 控件来实现对串行接口的控制。上位机测控软件用户界面如所示。系统运行时,在控制区中“TXD 命令”下拉框中选择命令,单击“发送TXD 命令”按钮实现控制LED1-10 的亮灭,其中LED1 还用于指示TXD 命令的有效性;单击“日光灯-->>开(关)”按钮实现开关灯,单击“水泵-->>开(关)”按钮实现水泵的启停。在通道检测区单击“开通(关闭)检测”
  按钮实现开关量的检测通道。同时在两个区域的指示灯颜也随之变化,红代表关或异常,绿代表开或正常,黑代表未启用。相关几段程序代码描述如下。
 
  3.3 开关量测控系统实验结果
  搭建实验系统平台后,实际运行示意图如所示,系统初始化LED、日光灯、水泵和通道检测都处于关闭状态。在“TXD 命令”下拉框中选择“LED1-->>开”,点击“发送TXD 命令”,则LED1 马上变亮,颜由红变绿;再发送命令“LED2-->>开”,则LED2马上变亮,颜由红变绿,同时LED1 依然亮,用于指示TXD 命令的有效性。再单击“日光灯-->>开”,则日光灯马上打开,同时指示灯颜由红变绿,按钮表面提示也变为“日光灯深圳保龄球馆-->>关”。 同样可以操作水泵。在检测区,单击“开通检测”按钮,则开始检测各个通道的开关状态,同时在指示
灯下面的框中显示系统运行情况。在实验时只有一个在用通道,左图是通道1 运行正常,右图是通道1 运行异常,指示灯由绿变红,同时指示声音的小喇叭也不断地闪烁。可见基于计算机串口的开关量检测和控制方法是合理可行的,并且输入输出设备与计算机串口之间传递的只是电压信号,传输距离远,反应迅速,没有延迟,受电压波动影响小;并且系统能方便地使用串口扩展卡进行串口扩展,具有很强的适应性,可以实现多路开关量的检测和控制。
 
  4 结论
 
  本文提出了直接利用计算机串行接口检测和控制开关量的方法,并通过实验系统验证了该方法的合理性,根据上述开关量检测和控制原理对此方法进行应用开发,可以广泛应用于设计各种自动化检测和控制系统。利用此方法构建开关量的测控系统结构简单,性能稳定,具有很好的可扩性和实时性,并且系统便于维护、成本低。但此方法会占用串口资源,同时利用TXD RXD 进行通信时,同一个串口的其他引脚功能会受到限制,比如硬件流控制等。

本文发布于:2024-09-21 22:56:30,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/134608.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:检测   开关   控制   引脚   系统
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议