内窥镜清消机的自动控制系统
医用内窥镜是一种深入人体内部进行观察的精密光学仪器,它临床应用广泛、使用方便,并能准确快捷地诊断出病情,深受广大患者和医疗工作者的欢迎。因此,建立方便、快捷、安全、卫生的内窥镜清洗消毒系统,提高其使用效率,更好地为患者服务,是医疗工作者的迫切愿望。我们与某公司合作开发的内窥镜自动清消机是集清洗、消毒于一身的机电一体化产品,它采用新颖的高压自动喷淋方式,运用喷头上下行走对镜身内外进行清洗、消毒,并利用可编程序控制器控制整个系统的工作。整个系统功能完善、运行稳定、工作可靠,具有实用价值。
1 清消机的结构与基本原理
内窥镜清消机由立柱和机柜组成。清消机结构示意图如图1所示。立柱上装有能够上下运动的喷碗、高压水碗、防溅水罩;机柜上有控制面板,机柜内部装有水箱、药箱、水泵、药泵及升降电机等,在排水/药处还有水、药分离装置,通过控制水/药分离电机达到切换排水、排药阀门的目的。
清洗内窥镜的过程就是高压喷嘴上下运动对镜身内外进行清洗的过程。控制面板上装有模式选择开关,可以选择清洗消毒的程序。每种模式下都是首先进行一次水洗,然后进行药洗,最后再进行一次水洗。不同的是,模式一、二、三进行药洗的次数分别为二、三、四次。清洗时,内窥镜挂在立柱顶端的挂钩上,由于不同用途的内窥镜的镜身长度不同,所以在挂钩下方0.6m、0.8m、1.0m、1.2m处分别装有限位开关,用以控制升降电机的行程和运行方向,可以通过控制面板上的“内镜长度选择”按钮来选择相应的限位开关。
2 动作要求
(1)准备工作:注水、注药液。
(2)内镜长度选择:可以选择0.6m、0.8m、1.0m或1.2m。
(3)运行模式选择:可以选择自动清洗模式一、二、三或排药模式。
(4)清洗:选择模式一、二、三后,按启动/停止按钮,水药分离电机开始工作,使水/药阀门到位;相应的水泵或药泵开始工作,水泵或药泵工作2秒后,上升电机开始工作,上升到零位后开始下降,到设定的长度;每次水/药/水转换时,有5秒的间隔,以便于排空水或药液。工作过程中,可以按下启动/停止按钮停止工作,再次按下启动/停止按钮,系统按原状态工作。
(5)排药:按下排药按钮后,再按启动/停止按钮,开始排药液。第一步,水阀打开,药泵工作15秒,排空药液;第二步,药阀打开,水泵工作15秒,向药箱里注水;第三步,水阀打开,药泵工作25秒,将水排空。
(6)吹风、加热:应在清洗工作模式下进行。
3 控制系统硬件设计
内窥镜清消机的工作环境恶劣,内部装有水泵、药泵和多个电机,干扰很大,而且工作环境的温度高、湿度大,这给清消机的控制部分提出了很高的要求。同时,有清洗、排药、吹风和加热等多种工作模式,需要进行顺序控制、定时控制和联锁保护等。在本系统中,我们选用了SIEMENS公司的微型PLC S7-214作为控制器,它设计紧凑、可靠性高、抗干扰能力强、指令功能丰富、运算速度快,能很好地完成控制任务。利用相应的编程软件SETP7 Microwin32,可在计算机上进行编程和调试,并可快速下载程序,适于规模生产。
按照动作要求,控制系统共需要12个输入点、10个输出点。而S7-214有14个输入点、10个输出点,恰好能满足输入、输出点数的要求,并且输入有一定的余量,以便进行扩展。
在输入信号中,“零位信号”和“下行限位开关信号”为立柱上的上、下行限位开关信号。对应于不同的内窥镜长度,立柱下方距离零位0.6m、0.8m、1.0m和1.2m处分别装有四个限位开关。为了节省输入点,四个限位开关通过二极管隔离后共用一个输入点,并且四个限位开关的设置信号也通过二极管隔离后共用一个输入点,这样不仅可以节省6个输入点,而且便于编程处理。“水阀开信号”和“药阀开信号”为排水、排药转换装置上的限位开关产生的信号。
S7-214的输出分为三组,可以分别接不同的工作电源,以适应不同负载的要求。其中Q0.0~Q0.6的工作电源为DC24V,分别接指示灯、报警器以及控制上升、下降、水阀、药阀和加热的继电器;Q0.7~Q1.1的工作电源为AC220V,分别接吹风机、水泵和药泵。
S7-214的I/O分配示意图如图2所示。
4 软件设计
本系统中,在进行三种模式清洗和排药时,需要升降电机、水/药分离电机和水泵、药泵等多个电机按一定顺序协同工作,控制任务较为复杂。为了便于编程,我们对清洗模式一、模式二、模式三和排药等工作过程进行分析,将各种工作模式中的动作归纳成对水/药阀门的控制、水/药泵的控制和升降电机的控制。其中,水/药阀门和水/药泵的转换由各种工作模式计数器的状态来判断,并且在计数器达到预设值时,产生停止信号。清洗过程中,根据零位开关和下行限位开关的状态进行电机上行/下行的转换。
在S7-214PLC中,与计数器相关的变量有两个:一个是当前值,为16位符号整数,存储累积脉冲数;另一个是计数器位,当计数器的当前值大于或等于预设值时,此位置为“1”。可以使用计数器的地址(C+计数器号)来存取这些变量。对计数器位或当前值的存取依赖于所用的指令:带位操作指令存取计数器位,而带字操作的指令存取计数器的当前值。
在编程中,利用计数器的当前值和计数器位,可以方便地进行工作状态的判断。例如,在清洗模式一中,水洗一次,然后药洗两次,再水洗一次,清洗喷头上、下行一次,遇到下行限位开关,产生一个计数脉冲,计数器的预设值为4。利用字节比较指令,可以对工作状态进行设定:当Cx(x为计数器号)的当前值为0、3时,进行水洗,开水阀、开水泵;当Cx的当前值为1、2时,进行药洗,开药阀、开药泵。当计数器达到预设值时,Cx的计数器位置“1”,用于产生停止信号。利用这种方法,可以较为方便地实现对各种工作模式的编程,而且如果对工作模式进行修改,也非常容易实现。
为了使系统工作可靠,不仅在硬件和软件中考虑了联锁保护和报警功能,而且为了防止传感器断线或电机中间被卡住,在编程中加入了系统的运行状态监视。即利用看门狗定时器的原理,用四个定时器分别监视水/药分离电机的运行状态和升降电机的运行状态,如果水、药阀门的动作时间或上行、下行的时间超过设定值,系统将停止电机的工作,并进行报警。程序框图如图3所示。
- S5PC100看门狗定时器源码解读(11-19)
- Cortex-M3 (NXP LPC1788)之看门狗定时器对Flash编程的影响(11-19)
- MSP430看门狗定时器的寄存器定义(11-13)
- VxWorks下基于看门狗的通用定时器设计(05-31)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)