医用脚踏开关控制串口采集图像功能的实现

来源 :硅谷 | 被引量 : 0次 | 上传用户:tyftyf123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘  要  脚踏开关是一种通过脚踩或踏来控制电路通断的开关,使用在双手不能触及的控制电路中以代替双手达到操作的目的。在医疗器械、冲压设备、焊接设备、纺织设备、印刷机械中应用较为广泛。脚踏开关还可以分为两类:1)机械式脚踏开关;2)感应式脚踏开关。本文针对医疗系统中使用的机械式脚踏开关进行图像采集而设计。脚踏开关通过9针串口与计算机连接,在WIN7系统中用C#编程实现计算机的图像采集操作。具有脚踏控制和控制距离远等优势,解放了操作人员的双手,同时又保持图像采集的实时性与精确性。
  关键词  脚踏开关;串口;采集图像
  中图分类号:TN911      文献标识码:A      文章编号:1671-7597(2014)22-0055-02
  我院的PACS系统使用期间一直运行良好,但最近因客户端操作系统的升级成win7后,只有采图功能不正常,需手工按数字键盘区的“—”键操作完成采图动作,给科室使用带来了不便。为解决此问题,经过摸索和查阅相关资料,完成了医用脚踏开关控制串口采集图像功能。
  1  需求
  医用脚踏开关控制串口采集图像功能需求如下:1)开关的闭合动作能触发计算机产生一个信号;2)系统根据计算机产生的信号经处理后能产生一个或多个执行动作,从而完成图像采集的功能。
  2  方法
  利用C#的SerialPort控件、Timer控件,采用SerialPort的PinChanged事件捕捉开关动作,即DsrHolding状态,经过处理后完成采集图像的动作。
  3  详细步骤
  1)建立工程。
  建立如图1所示的项目界面,项目名称为:串口脚踏开关测试。
  图1  软件界面
  各主要控件参数如下:
  SerialPort控件:Name为“SerialPort”,Port为“COM1”;timer控件:Enable为“true”,Interval为“100”;Button控件:text为“&O打开端口”;CheckBox控件:text为“空闲”;ComboBox控件(共5个):①Name为cmbPortName,②Name为cmbBaudRates,Items为Items为300,600,1200,2400,4800, 9600,14400,28800,36000,115200,③Name为cmbDataBits,Items为7,8,9,④Name为cmbStopBits, Items为1,2,3⑤Name为cmbParity,Items为None,Even,Odd。
  2)抖动产生的毛刺信号处理。
  毛刺信号的产生:机械式脚踏开关的触点从闭合向断开或者从断开向闭合进行切换时,在极短时间内.都会产生接通、断开的跳动。这种在开关切换过程中发生的触点跳动称为抖动。这种抖动会引起信号的不稳定,导致捕获的事件一般都3至5次以上。一般抖动毛刺信号的存在时间在5-lO ms左右。
  处理方法:消除抖动的常用方法有两种:①硬件法:即用硬件电路RC滤波器除抖动或双稳态消抖电路两种方法,本文不作讨论;②软件法:用timer定时器和标志位变量来延时触发采图动作,从而完成对毛刺信息的过滤处理。闭合脚踏开关后,驱动PinChanged事件修改标志位变量为true,定时器作用期内不触发图像采集动作,过滤掉毛刺信号产生的误动作信号,在定时器启动且标志位为true时,执行图像采集.完成后将标志位变量为true,这样可有效过滤掉脚踏开关闭合时的毛刺信号。
  3)软硬件准备。
  ①硬件:支持WIN7的带至少一个串口的电脑一台,母串口接头一只,脚踏开关一只(带2芯或3芯线),电烙铁一只,少量焊接用锡丝、松香。
  ②软件:WIN7操作系统,VS2005(顺序安装两个补丁:VS80sp1-KB926604-X86-CHS.exe和VS80sp1-KB932230-X86-CHS.exe)
  ③操作:通过万用表找到脚踏开关起开关作用的两根线,用电烙铁将它分别焊接到母串口背面的第4脚和第6脚(串口上标有序号)。
  4)编写代码(核心代碼)。
  using System;
  using System.IO.Ports;
  using System.Windows.Forms;
  //串口初始化及打开操作略…
  //脚踏开关按下后驱动串口的PinChanged事件
  private void comport_PinChanged(object sender, SerialPinChangedEventArgs e)
  {
  if (SerialPort.DsrHolding)
  {
  bCOMPress = true;// /脚踏开关按下则修改bCOMPress为true
  //经试验如在此处添加采集图像操作,则会出现三次以上的采集图像操作。
  }
  }
  //利用计时器的延时作用,过滤掉开关闭合时产生的
  毛刺。
  private void timer1_Tick(object sender, EventArgs e)
  {
  if (bCOMPress == true)
  {
  //图像采集操作,本文用数字键盘区的“—”代替
  SendKeys.SendWait(“{SUBTRACT}”);
  bCOMPress = false;
  this.chkPress.Checked = true;
  this.chkPress.Text = “按下”;
  }
  else
  {
  this.chkPress.Checked = false;
  this.chkPress.Text = “空闲”;
  }
  }
  5)生成应用程序。
  将该程序编译生成应用程序“串口脚踏开关测试.exe”,配合焊接好的脚踏开关,即可实现图像的实时准确采集。
  4  结论
  脚踏开关作为一种采集图像的控制工具,可广泛的应用于所有与视频采集有关的计算机图像采集工作站设备上(如B超、内窥镜、病理显微镜等)。本文对医用脚踏开关控制串口采集图像功能进行了详细说明,方法简单有效,操作方便,可在各种图像采集软件中系统使用。本系统功能在windows7+Visual Studio 2005(SP1)下调试通过。
  参考文献
  [1]邵耀来,缑文海,马刚,等.医院图文工作站脚踏开关去抖动措施研究[J].医疗卫生装备,2011,32(12):36-37.
  [2]张立波,杨本强,周丽娟,等.脚踏开关的PC接口与控制技术硼[J].医疗卫生装备,2008,29(7):18-20.
  [3]屈伟军.VC6.0中COM口脚踏开关的使用.
  [4]Christian Nagel、Bill Evjen,等.C#高级编程(第8版)[M].李铭译,黄静审校.2013.
其他文献