专利名称:多层次控制器系统的制作方法
技术领域:
本发明一般地涉及状态机的体系结构,更具体地说,涉及用于分析稀释液体样本中颗粒的方法和系统。
背景技术:
大部分过程由若干在物理和时间上以一致的方式组合在一起的工艺段组成。例如,液体控制和成像系统,诸如尿分析系统,包括接收样本、抽吸样本和把样本注入射流系统的工艺段,在这里在样本流动中拍摄图像。为了产生有意义的数据,样本容器、抽吸器、阀门、泵和光学组件都必须在适当的时间处于适当的位置,并适时地释放不同的液体。一般,这些工艺段按照软件或固件中的指令由单一的处理器实时控制。这些指令一般要求通过考虑″硬编码″转移条件来响应不同的输入。所述类型的″硬编码″转移采取″case语句″的形式,其中每一个case对应于一个状态和相对复杂的″if″语句,确定处于给定的状态时对输入的响应。
在所述类型的实时操作中,所述工艺段并不是完全同时发生的。例如,尽管样本可能被接收,并被抽吸,同时流动池用清洁液冲洗,抽吸和冲洗消耗长度不同的时间来完成,因此并非同时开始和结束。
另外,这些过程中的每一个要多长时间来完成,并不总是可以准确预计的,因为工艺也许有随机的成分(例如,样本浓度将确定捕获一个固定数目的图像)所要求的时间,或者发生了灾难性的没有预计到的的事件,诸如抽吸针卡住了,或者清洁液不能正确地装入。因为工艺过程的成功取决于每一工艺段运行的平稳,所述类型的灾难性的没有预计的事件不仅破坏一个工艺段,而且若所述事件不能适当处理,则还会使整个工艺过程的努力白费。另外,一旦确定一次运行出错,与查找问题相联系的效率极低,因为难以准确知道在某个时刻哪个工艺段正在进行。
单一处理器硬编码实时控制器,除上述缺点以外,还有另一个造成效率低下的原因是,工艺工程师需要软件工程师通力合作,才能调整工艺参数。尽管工艺工程师理解工艺过程,并知道组成部分应该如何配合在一起,但是所述工艺过程的实现一般需要软件工程师。这样,一般,工艺工程师必须向程序员解释所述工艺过程,和他想如何完成,程序员再去修正代码。所述工艺工程师-软件工程师的交流不仅需要时间,而且还会由于交流不足或错误理解造成更多出错的机会。
由于上述原因,需要一种更有效地控制工艺过程的方法。
发明摘要本发明是一个包括多个层次控制器的系统(例如,尿分析系统)。所述系统包括第一控制层次,具有至少一个层次-1控制器,它通过一序列第一层次状态,所述控制层次生成与第一层次状态有关的第一层次命令。所述系统还包括第二控制层次,具有至少一个层次-2控制器,它响应第一层次命令,通过一序列第二层次状态。当定义在第二层次状态之一中的层次-2条件在所述第二层次状态下得到满足时,所述层次-2控制器向第一控制层次发送状态报告。
本发明还包括执行工艺过程的方法,所述方法要求识别一序列要执行的第一层次状态,向具有所述层次-2控制器的第二层次发布第一命令,其中第一层次命令与第一层次状态之一相联系,并由层次-2控制器接收第二层次状态报告。所述状态报告响应所述第一层次命令而指明层次-2控制器的状态。
在另一个方面,本发明包括一种控制包括控制器和系统组件的系统的方法。所述方法要求接收以所述控制器不可读的第一语言表达的输入参数,其中,所述输入参数是用于控制系统组件的指令,把所述输入参数转换为以第二语言表达的翻译的参数,其中所述第二语言是所述控制器可读的,并建立一个包含输入参数和相应的翻译参数的表。所述输入参数是可以在所述表中编辑的。
在又一个方面,本发明是一个系统,所述系统包括控制器、系统组件和用于生成一个表的过程,所述表用以控制控制器和系统组件。所述表具有第一组列,它包含以所述控制器不可读的语言表达的指令;和第二组列,它包含以所述控制器可读的语言表达的指令。第二组列中的值和指令是第一组各列中的指令的翻译版本。
在另一方面,本发明是一个系统,它包括层次-1控制器,所述层次-1控制器把层次-1任务分解为第一层次-2任务和第二层次-2任务,并分别向第一层次-2的控制器和第二层次-2控制器发出第一层次命令,其中响应第一层次命令第一层次-2控制器执行第一层次-2任务而第二层次-2控制器执行第二层次-2任务,使得当第一和第二层次-2控制器完成它们的层次-2任务时,层次-1控制器完成层次-1任务。
本发明还是一个多层控制系统,它包括在不同控制层次上的多个控制器。每一个控制器按照包含独特的一组值的控制器表行动。尽管所述控制器表包含不同的值,但所述表基本上具有类似的格式。每一个控制器表按照状态加索引并具有第一列命令,用于向较低层次的控制器发出;第二列状态报告,用于向较高层次控制器发送;第三列测试,用于检查是否满足预定的条件;和第四列,它定义若所述预定条件得到满足则执行的动作过程。接口控制层次接收来自多个控制器的命令并且响应所述命令而控制系统组件。
附图的简要描述
图1是可以与本发明配合使用的实例性尿分析过程的流程图;图2是实例性尿分析系统主要组件的方框示意图;图3是可以用于本发明的实例性工作台模块分析仪单元的透视图;图4是所述分析仪单元的原理图;图5是按照本发明的层次系统体系结构的原理图;图6提供一组由主机控制器发送给层次-1控制器的实例性运行序列;图7演示一旦主机控制器接收激活信号,层次-1控制器如何执行运行序列;图8A-8L(集体地表示为″图8″)描绘可以用于尿分析过程的层次-1控制器的实例性表;以及图9A-9C(″图9″)、图10A和10B(图10)和图11A和11B(″图11″)描绘几个实例性表,它们可以用于尿分析过程中的层次-2控制器。
推荐实施例的详细说明具体地说,本发明可应用于尿分析过程,而且本发明就是说在所述环境下描述的。但应明白,按照本发明的系统和方法用途更广,因为所述系统和方法可以用于其他类型可以模拟为一个或多个状态机的过程。本发明可以被包括在利用美国专利4,338,024和4,393,466所公开的技术的试管内尿分析诊断装置中。
一般地,有两种类型的状态机同步状态机和异步状态机。同步状态机与时钟节拍同步地执行各工艺段(一个工艺一个时间片)。这样,若一个过程要分为一系列1分钟的时间片,则每一个时间片的预先指定的任务由每一个时钟信号触发。同步状态机的优点是它的稳定性,它源自每一个事情都与时钟同步。但是,这种同步可能是同步状态机的一个局限性,因为同步往往不会导致最快的过程运行。另外,选择正确的时钟速度可能是很复杂的,对于过程的某些部分可能想要比其他部分较快的时钟速度。若所述时钟速度太慢,则其开始和完成处在相继出现的时钟信号之间的某些事件可能丢失。
异步状态机提供比同步状态机较快的解决方案。不按时钟节拍操作的异步状态机一般由逻辑要素块构成,其输出通过延迟线作为输入反馈。于是,异步状态机的输出和下一个状态由当前状态和当前输入的组合确定。一旦当前状态值通过延迟线,下一个状态便立即被确定这一事实,使得若所述延迟缩短,则所述过程便可以快速运行。但是,这些异步状态机并非没有缺点。因为在输入测试条件中的每一个改变都立即反映在组合逻辑的输出上,而且新的状态通过所述延迟元件传播,异步状态机可能是不稳定的。异步和同步状态机的背景信息和细节可以在Tinder,Richard F.工程数字设计(academic press,january 2000)一书中找到。
本发明提供一种混合型状态机,它具有同步状态机的稳定性和异步状态机的速度,但没有它们中任何一个的缺点。这种混合型状态机用多层次控制器系统形式实现,其中在每一层次中可以出现一个或多个控制器。若在一个层次中有多个控制器,则在同一层上的控制器的行为彼此独立。每一个控制器的行为由状态记录形式决定,它用电子表格/表实现。所述电子表格具有多个字段,每一行是一个″状态记录″。某些字段测试某些条件,而″下一个状态″根据所述测试结果识别。然后,所述控制器过渡到下一个状态并执行这下一个状态中所述字段的值/命令。
所述多层次控制器系统中每一个控制器都按照它自己的电子表格行动。例如,对于包括第一控制层次的一个控制器和第二控制层次的三个控制器的系统,将有四个电子表格。第一控制层次的控制器向第二控制层次的三个控制器发出命令,所述三个控制器按照所述命令执行它们任务,并当它们的任务完成时,向所述第一控制层次的控制器发回至少一个信号。尽管所述三个控制器不一定同时完成它们任务,但是第一控制层次的控制器在移向用于第一控制层次的电子表格中的下一个状态以前,要等待所有三个控制器(但是,或从它需要听到回音的许多个)的回音。这样,尽管第二控制层次上的三个控制器彼此独立地执行它们的任务,但是第一控制层次上的控制器在进到下一个状态以前通过等待这三个控制器的回音在一定程度上使这些状态同步。
这种混合型状态机在第一控制层次上的控制器,当预定的一组任务完成或条件得到满足时,从当前状态转到下一个状态这一点上类似于同步状态机。但是,这种混合型状态机不像同步状态机那样受限于时钟的节拍。而是,它可以像它的组件可以执行它们的分立任务那样快速地执行一个过程。通过利用较快的处理器,可以使混合型状态机几乎像异步状态机一样快速地执行过程。
混合型状态机还具有异步状态机的特性。例如,它测试条件来决定下一个步骤,而且这些条件一得到满足,就进到下一个状态。然而,它却没有类似于异步状态机的不稳定性的问题,因为第一层次在所述过程的某些点上(亦即,在每一个状态的结束处)使各工艺段同步,而且由于状态记录格式全部可能的状态和状态过渡都是规定了的。以带有指定全部参数的字段的电子表格实现的状态记录格式,使得过程的某些点得到同步。
所述多层次控制器体系结构的另一个优点是,除最低的层次外每一个层次语法都可以做成同样的,极大地简化了过程的编程。在每一个层次上,在多层次控制器系统中,控制器只″知道″并只关心它的电子表格中的事项;它不知道发生在它自己的层次以上或以下的全部细节。例如,三层次系统可能包括1)执行运行序列的高控制层次;和2)中间控制层次,它执行运行序列的每一个中的状态并向3)发出命令;3)低控制层次,它按照所述状态中的命令控制电动机、执行器和阀门。在所述系统中,高控制层次只知道向中间控制层次发送运行序列命令,而且一旦它从它需要听到回音的中间控制层次的全部控制器听到回音,便转到下一个运行序列状态。所述高控制层次不知道中间控制层次中的状态细节、低于所述中间层次的低控制层次的存在、低控制层次和每一个阀门和电动机等的功能。类似地,中间控制层次只知道响应来自高控制层次的命令向低控制层次发送某些命令,并且当它由低控制层次听到回音时,确定下一个状态。
利用电子表格的一个好处是,若在所述电子表格的字段中使用工艺工程师的术语(例如,电动机#2接通/断开、测试传感器#12、阀门#3接通/断开),则工艺工程师可以在不得到程序员帮助的情况下调整过程运行的设置。通过给所述电子表格各字段输入数值,工艺工程师便可以自己为每一个层次指定状态和运行序列。所述电子表格允许通过接收由工艺工程师以他喜好的语言表达的输入参数,把过程分解为工艺工程师的术语,并把这些输入参数转换为机器可用的代码。转换后的代码可以重新发给电子表格的段落,诸如分立的一组列。
正如在这里使用的,″状态″涉及工艺段,亦即与系统的控制器和组件在某个位置/设置或完成特定任务相联系的工艺段。所述″任务″可能是主动地做某事的指令,诸如打开阀门,或被动地(例如等待)做某事的指令。图8、9、10和11电子表格中的一行,例如代表一个状态。″状态记录″是字段值或图8、9、10和11中电子表格的中一行的参数的集合。″参数″指表中的值。状态可以用″状态索引号″或″状态序号″加索引。状态记录中的字段代表/指定当处于给定的状态时,控制器的输出,以及测试和条件,这些测试在所述状态结束时是必须满足的。例如,若层次-1控制器要向第二控制层次的三个控制器发出的第一层次命令,则层次-1控制器将从它的状态记录中的相应字段获得用于这些层次-2控制器中每一个的特定的命令。这些第一层次控制命令可以识别由层次-2控制器执行的运行序列。在这种情况下,每一个层次-2控制器执行所述识别的运行序列中的第二层次状态。正如在这里使用的,第一控制层次中的控制器称作″层次-1控制器″,第二控制层次中的控制器称作″层次-2控制器″等。正如在这里使用的,″第一层次命令″是指由层次-1控制器发出的命令,″第二层次命令″是指由层次-2控制器发出的命令等。状态的″运行″意味着以适当的次序通过各状态,在每一个状态采取适当的动作。
多个状态构成″运行序列″。一般,运行序列具有特定的一组以具体的次序排列的状态,以便达到指定的功能,诸如样品抽吸或者把样本架从A点转到B点。第二控制层次上的多个状态运行序列往往对应于第一控制层次的单一状态。
正如在这里使用的,″电动机″既包括实际移动机械部件的电动机,又包括驱动泵等的电动机。正如在这里使用的,″组件″是指控制器以外系统所有的实际部分。″命令″是从较高层次上的控制器传输到较低层次控制器的信号,而″状态报告″是从较低层次上的控制器送往较高层次控制器的信号。
现将参照附图描述本发明。
图1是利用本发明实现的实例性尿分析过程10的流程图。分析过程10是在采样系统接收尿样品(工位12)时开始的。将接收的样品混合并将其吸入系统,并引入射流系统(步骤14)。流动显微镜中的部件将样品着色和混合(步骤16),然后使它通过流动池(步骤18),在这里拍摄图像。主机控制器监督图像的拍摄。成像计算机从流动池接收数据(步骤20),根据需要对其进行处理(步骤22),并显示数据(步骤24)。
图2是实例性尿分析系统30的主要组件的方框示意图。尿分析系统30包括取样器32和显微镜分析仪单元,两者都向计算机36馈送信息。通信链路37把显微镜分析仪单元34连接到计算机,后者还连接到实验室信息系统(LIS)38。携带样品试管的样品架在取样器32和显微镜分析仪单元34之间运行。在某些实施例中,样品架自动传输机构把样品架40从取样器32传输到显微镜分析仪单元34。在另一个实施例中,传输是手工完成的。
图3是可以用于本发明的实例性工作台模块显微镜分析仪单元34的透视图。显微镜分析仪单元34抽吸样品,利用在流动显微镜中呈现的分析物图像的数字图象捕获收集尿样的图像,并完成图像处理,以便分离单个的颗粒。
显微镜分析仪单元34具有自身的电源;处理器和控制器;用以识别样品的条形码阅读器;电动机,用以驱动系统的机械组件;射流系统,用以从试管吸取样品;和到计算机36的通信链路37(见图2)。在外侧,显微镜分析仪单元34包括平台42,在其上设置样品架40和某些按钮,例如,启动按钮44。样品架40装入平台42的测量侧44。可以同时装入多个(例如,五个)样品架。输入传送带(CI)把样品架从用户移开,移向壁48,在这里样品由吸移管系统(未示出)抽吸。当每个样品被抽吸时,位移臂增量式地把样品架移向返回侧46,把下一个样品试管放在吸移管下面。当所有试管都被采样时,返回侧附近的输出传送带(CO)把样品架向前移动,离开壁48。在平台上设置多个样品架,样品架在测量侧44非常靠后的地方(亦即壁48附近)在返回侧前端(亦即,远离壁48)。
图4是显微镜分析仪装置34的原理简图。沿着所述图左手侧9个连接器50连接到层次-1控制器52(HLC)和由层次-1控制器控制的层次-2控制器54。在图4所示的实施例中,层次-2控制器包括第一层次-2控制器54A(亦称为样品呈递组合件(SPA)控制器)、第二层次-2控制器54B(亦称液体块组合件(FBA)控制器)、第三层次-2控制器54C(亦称样品传输机制(STM)控制器)、第四层次-2控制器54D(亦称光学块组合件(OBA)控制器)。每一个层次-2控制器都控制某个系统组件。
第一层次-2控制器54A通过向吸移管电动机60和62、真空泵、护套泵和一些阀门68发送信号,控制抽吸过程。由第一层次-2控制器54A控制的吸移工位位于显微镜分析仪装置34前端附近。受吸移管电动机60、62控制,吸移管混合样品并抽吸预定数量的样品。样品在它的试管内混合,把采样探头下降到试管底端,并在由显微镜分析仪装置34处理之前,施加脉动空气,以保证均匀的混合。混合之后,样品经过一系列管道,使着色剂可以被引入并与尿混合,被真空吸入流动池。
第二层次-2控制器54B通过向套管(cannula)泵、护套泵和一些阀门68发送信号来控制流动池。在所述特定的实施例中,阀门68受第一个和第二层次-2控制器54A和54B控制。射流组件包括着色剂容器(未示出)、护套容器(未示出)和三个泵64、67和70,抽吸和使样品循环、着色、护套液和清洁剂(例如,IRISOLVE)进入液体块和流动池。泵64、67和70可以是蠕动泵或者位移泵。
第三层次-2控制器54C通过向沿着路径移动样品架的不同臂发送信号,向起传输样品架功能的组件发送信号。更具体地说,第三层次-2控制器54C向前臂步进电动机′76A、后臂步进电动机76B、一个或多个直流电动机发送信号,来移动样品架40。从样品平台42(示于图3)上的试管采样由泵驱动射流子系统执行。任何适用的泵,包括美国专利序列号No.___________[律师行档案号No.2102402-914911]描述的类型的位移泵都可以用来驱动采样过程。
第三层次-2控制器54C与条形码阅读器90连接。条形码阅读器90扫描样本试管上的条形码标签,并在本地存储以保持所述识别标志信息。最后,条形码阅读器90通过计算机36向实验室信息系统(LIS)38发送扫描的识别标志信息。
第四层次-2控制器58控制流动显微镜的光学组件,它可能包括显微镜(未示出)内的电动机驱动的定位器86,以便调整流动池的位置。在显微镜分析仪单元34利用频闪管照明的实施例中,频闪管与摄像机84同步地高速闪光。受控于主机控制器的CCD摄像机在频闪管闪光的过程中捕获图像。层次-1控制器间接控制频闪管灯泡82所述显微镜一般包括例如漫射滤光器、透镜及其他光学元件等组件,以便使光以要求的方式聚焦。在所示实施例中,这些组件中的一些受控于第四层次-2控制器54D。
拍摄图像之后,废液泵94把所述液体弃入通往废液室的废液管线。废液井液位传感器组合件73检测废液室的液位。
图5是按照本发明的层次系统体系结构100的原理图。与利用单一处理机执行实时操作的传统系统不同,层次系统体系结构100包括一个或多个处理器的多个层次,它们彼此控制并最终控制系统组件。例如,主机层次控制器56包括主机处理机,层次-1控制器52包括主控制器,层次-2控制器54包括四个控制器54A、54B、54C和54D,而层次-3控制器包括一个或多个在层次-2控制器和系统组件之间充当接口的控制器。电动机、泵和阀门受控于层次-3控制器,它用C语言编程,一般像状态记录一样不可改变,它由工艺工程师访问,以便控制第二和层次-2控制器52、54的操作。
在所示实施例中,主机层次控制器56包括分析处理器(AP)56A和沉淀模块主机(SMH)56B。SMH 56B直接控制层次-1控制器52。然而,用AP 56A实现用户接口。因此,从用户的观点看,控制系统有两个途径1)显微镜分析仪单元34(见图3)上的按钮,或2)利用AP 56A上的用户接口(例如,GUI(用户图形接口))输入命令。这两个途径都允许用户控制所述系统的不同方面。本发明不限于图5所示的主机层次控制器56的具体配置。
在所述多层次系统体系结构100中,″较高″层次向″较低″层次发送命令,后者按照所述命令执行某些功能,并向发出所述命令的″较高″层次返回至少一个状态报告。例如,层次-1控制器56向层次-2控制器发送第一层次命令,而层次-2控制器52按照来自层次-1控制器56的第一层次命令向层次-3控制器54发送第二层次命令。层次-3控制器54按照来自层次-2控制器的第二层次命令完成它的功能,并当完成所述功能时,向层次-2控制器52返回状态报告。层次-2控制器52等待接收它希望接收的全部状态报告,当这发生时,向层次-1控制器56发送状态报告,把层次-2控制器52完成其功能的消息通知层次-1控制器。正如在这里使用的,″完成″可以意味着成功地完成所述预定的任务,或者经过了预定的时间量。
所述层次系统体系结构100可以用于上述尿分析过程10,尽管它的用途不限于此。尽管在图8,9中未示出,但每一个电子表格都包含带有由所述电子表格产生的头文件的列,用以对所述控制器编程。头文件一般采取16进制文件的形式,包含状态记录信息,并变成装入EEPROM(电可擦可编程只读存储器),它与每一个实现层次-1控制器52和层次-2控制器54的微控制器相联系。这样,工艺工程师,不必是程序员,即可向电子表格输入字段值,它自动地产生由所述控制器解释的代码。通过输入或改变层次-1控制器52和层次-2控制器用的电子表格中的值,所述工艺工程师可以在不依赖程序员的情况下改变过程参数。
图6提供主机控制器56向层次-控制器控制器52发送的一组实例性运行序列。在所示实施例中,每一个运行序列通过两个字母的代码L1 L2 600来识别。对于每一个运行序列,都有一个开始状态、一个结束状态和一个在所述特定的运行序列做什么的总体描述606。例如,在状态1直至14执行的运行序列RH中,层次-2控制器54复位。在状态15直至99执行的运行序列中,系统继续运行样品架。对所述运行序列执行的顺序没有限制,在一个过程中不一定要执行全部运行序列。某些状态还可以在多个运行序列中执行例如,″IRISOLVE清洗″用的运行序列PI,包括状态350-366,是用漂白剂冲洗用的运行序列WA(状态356-392)的一部分。主机控制器56的沉淀模块主机PC(个人计算机)将根据工艺工程师想做什么,发送运行序列PI或运行序列WA的信号。
图7是状态机记录解释器,演示层次-1控制器52和除最低的层次控制器外各层次控制器,一旦从主机控制器56(或下一个较高层次控制器)接收激活信号后,如何执行运行序列。最初,激活时,层次-1控制器52复位(工位700)并处于空转状态(工位702)。此刻,当前状态是在图6″开始状态″列中识别的状态。第一状态的功能完成之后,控制器进到所述序列随后的工位,并调整状态号(工位704),使得曾为前一状态中的″下一个状态″的状态,现在是″当前状态″。控制器等待随后的工位完成(工位706),然后转到箭头708表示的下一个工位。重复工位704和706直至没有下一个状态之后,此刻运行序列完成,层次-1控制器52在工位702返回空转状态。
图8、9、10和11描绘实例性表格,它可以用来实现尿分析过程10。图8中的表是层次-1控制器状态记录表,它决定层次-1控制器52的行为。图8,9和10中的表是决定层次-2控制器54行为的层次-2控制器状态记录表。所述表排列成使状态由每一行代表,而信号用每一列代表。在所述表中,″SM″涉及在相邻较高层次的一个或多个控制器。例如,来自层次-1控制器52透视图的SM将是主机控制器,而来自层次-2控制器54透视图的SM将是层次-1控制器52。
图8是实例性层次-1控制器的状态记录表300。状态记录表300采取电子表格的形式,其列指示不同的字段,而行指示不同的状态。层次-1控制器52从当前状态转到下一个状态,直至运行序列已经完成。状态索引号302表示在描述列304中描述的状态的数字指定。对于每一个状态,存在一些层次-1控制器52向层次-2控制器54发出的命令306。对命令306A,306B,306C和306D作出响应,层次-2控制器54A、54B、54C和54D执行某些功能,并向层次-1控制器52返回状态报告308A,308B,308C和308D。层次-2控制器54独立地彼此异步地执行它们的功能。因为层次-2控制器54可能需要不同的时间长度来完成它们各自的功能,它们每一个都在不同的时刻向层次-1控制器52返回它们各自的状态报告。层次-1控制器52不发送命令来执行下一个状态直至全部预期的状态报告都已经返回为止。对于在向下一个状态转到以前层次-1控制器52需要接收的状态报告的数目没有限制。状态报告字段308中的值可以由工艺工程师改变,在表中″0x00″意味着不需要状态报告。
除与和层次-2控制器54的通信有关的字段306,308以外,层次-1控制器状态记录表300还包含与所述主机控制器56的通信有关的字段参数。SM测试310涉及层次-1控制器52从主机控制器56接收的信号。SM测试310的特定值代表两个字母代码,它根据层次-1控制器接收两个字母代码时的状态作不同的解释。例如,若层次-1控制器接收特定代码时空转,则层次-1控制器把所述代码解释为图6所示的运行序列。这样,它将在访问图6的表以便识别运行序列之后执行所述运行序列。它还向所述主机控制器发送信号ToSM 312,把所述运行序列正在进行中的消息通知所述主机控制器。某些时间之后,主机控制器将发出其他两个字母代码,以停止所述运行序列,例如因为已经收集全部必要的数据。此时,因为层次-1控制器在接收所述两个字母代码时正在miming,层次-1控制器检查所接收的两个字母代码是否与SM测试310字段的值一致。若所述数值与SM测试中的值一致,则层次-1控制器将结束所述状态。然后层次-1控制器将向SM 312发送信号,以表明所述运行序列已经结束。
Tvalue 314和TFunc 316共同确定一个状态持续多长时间。更具体地说,TValue 314指明某些预定的时间单元中的时间帧,而TFunc316指明TValue 314表明的时间帧如何使用(例如,最大运行时间)。若一个状态在Tvalue 314和Tfunc 316定义的时间帧内没有完成,则可以产生差错消息,警告用户在所述状态下发生了没有预期的事件。
Sens 318、STst 320和SMsk 322涉及传感器状态的确定。在显微镜分析仪单元34中有若干个传感器,用以测量或检出参数,而Sens318标识与特定状态有关的传感器。STst 320标识传感器的状态(例如,接通或断开)。SMsk 322提供一个与STst值比较的基准值,以确定作用的过程。与基准值具有某种关系的STst值在这里称作″条件″,用以为最后完成而采取随后的步骤。
来自主机控制器的信号(SMtest 310)、第三层次控制器的状态308和传感器的相对于SMsk 322的状态(STst 320)确定下一个状态。若这些值指明没有转移要出现,则当前状态结束,而当前运行序列中下一个相继出现的编号的状态索引号变成激活的。若在运行序列结束时当前状态结束,则向主机控制器56发送ToSM 312信号,以表明运行序列已经完成。然后,层次-1控制器52保持空转直至主机控制器56发出其他SMtest信号,激活新的运行序列。若SMtest 310、层次-2控制器状态308和传感器状态STst 320表明当前状态要转移,以此满足转移的″预定条件″,则Dest 328指向要转移的状态,而Bran326触发所述转移。
如上所述,工艺工程师能调整表300中的至少一些参数值,因为它们是当系统从工艺工程师的观点考虑时有意义的参数。例如,工艺工程师可以调整Tvalue 314,使得一个状态在生成差错信号以前等待较长的或较短的时间周期,或调整命令306中的数值的使得某些阀门打开,不关闭。所述系统包括用户接口,通过所述用户接口工艺工程师可以调整分立的表中″标定″值(不仅是层次-1控制器表)。这些标定值可能用来控制间隔时间、电动机驱动的操作或传感器读出的阈值设置。
尿分析系统30中的控制器转换工艺工程师输入的参数,以产生列330中的机器可读值。尽管最初,程序员需要编造转换方法的程序,但是程序员不必每次调整参数都涉及其中。
当层次-2控制器54A、54B、54C和54D从层次-1控制器52接收命令306时,每一个层次-2控制器54都按照接收的命令启动一个功能。如上所述,用于层次-2控制器54A、54B、54C和54D的电子表格具有与层次-1控制器基本上相同的语法。所述相似性不仅延伸到电子表格中的字段,而且延伸到与相邻层次的通信方式。例如,按照层次-1控制器对来自相邻较高层次的代码的解释依赖于接收所述代码时层次-1控制器的状态的相同的办法,层次-2控制器根据接收所述代码时它是处于空转状态还是处于工作状态而对输入作不同的解释。
图9举例说明第一层次-2控制器54A从层次-1控制器52接收命令时做什么。第一层次-2控制器状态记录表400分别在标记为受激阀门406、第一电动机410、第二电动机412、EP 408和SP 414的列上,包含要发送给阀门68、吸移管电动机60和62、真空泵64和护套泵67(见图4)的命令。阀门和泵的位置用状态序号402加索引,其中每一个都有一个描述404。这里的″SP″是一个虚设字段,亦即在所述特定的实施例中不用的,正如全部状态均为恒定数值所表明的。
第一层次-2控制器54A使用压力传感器来测量空气储罐内的压力。所述空气用以混合样品,例如通过鼓入空气。传感器选择416标识传感器,传感器状态418指明选定传感器的状态,而传感器屏蔽420包含基准值。可以认为检测所述电动机状态的电动机测试422是确定下一步做什么的因素之一。电动机可以处于几个状态之一,具体数字取决于电动机的类型,例如电动机可以是1)运行而且不处在认为要在的位置上;2)运行而且处在认为要在的位置上;或3)停止在认为要在的位置上。电动机测试422中的数值指明电动机处于三个状态中的哪一个。
与层次-1控制器52不同,第一层次-2控制器54A不测试来自较高层次的控制器,在所述情况下将是层次-1控制器52的特定消息。这样,SMtest 424被设置为数值0xx0000。然而,阀门和电动机的状态向层次-1控制器报告,正如在ToSM 426非零值所表明的。Tvalue 428指明与每一个相应的状态相关的超时值,而Tfunc 430表明要如何使用超时值。根据电动机测试422、Tvalue 428和Tfunc 430中的数值(亦即,对于基准值,它们是否满足预定的条件),第一层次-2控制器确定所述状态是否结束。若所述状态要结束,则标记为End ctrl的列中的数值指明特定状态如何结束。若所述状态要转移,则BranCtrl 434触发所述转移,而Dest 436指向要转转到的状态或运行序列。
图10描述第二层次-2控制器表500,它可以用来指导第二层次-2控制器54B执行某些功能。第二层次-2控制器表500按照状态序号502加索引,其中每一个都有一个状态描述504。在它控制阀门68这一点上,第二层次-2控制器表500类似于第一层次-2控制器表400(见上面的图4)。此外,它控制护套泵67和套管(cannula)泵70。电动机测试522检测护套泵67和canula泵70的状态。受激阀门506标识要激励的液体块阀门。命令列509包括CP 508,它指明要发送给cannula泵的信号;和SP 514,它指明要发送给护套泵的信号。虚设电动机510和虚设电动机512在所示实施例中不使用,正如两列都均为恒定的数值80FF所表明的。若所述系统要增加更多的电动机,则可以使用虚设电动机字段。类似地,与传感器选择有关的列,诸如传感器选择516、传感器状态518和传感器屏蔽520在所示实施例中都不使用,因为第二层次-2控制器控制器不使用传感器。若一个组件,诸如传感器与所述第二层次-2控制器54一起使用,则可以使用不使用的字段。测试电动机状态,并将状态码与电动机测试522中的测试数值相比。正如ToSM 526信号所表示的,存在来自第二层次-2控制器54B、层次-1控制器52的双向通信。但是,正如SMtest 524中恒定数值0x0000所表明的,没有信号从层次-1控制器52发送到第二层次-2控制器54B。
Tvalue 528指明与每一个相应的状态相联系的超时值,而Tfunc530指明如何使用超时值。若当前状态不结束,因为超时值表明的时间量已过,End Ctrl中的预定条件得不到满足,则可能产生差错信号。根据电动机测试522、Tvalue 528和Tfunc 530的值是否满足所述预定条件,所述状态将结束或转移。标识为End Ctrl 532中的数值指明特定状态结束要满足的条件。若所述状态要转移,则Bran Ctrl534指明转移的条件或方式,而Dest 536指向要转转到的状态或运行序列。在状态24中,Dest=0,指示下一个状态是空转状态(状态序号为0)。
图11描述第三层次-2控制器54C的第三层次-2控制器状态记录表600,它控制样品架42(见图3)。第三层次-2控制器状态记录表600按照状态序号602和描述604加索引。正如上面描述的,在图3中,在所述系统中有至少两个传送带输入传送带(CI)和输出传送带(CO)。CI把样品架推向显微镜分析仪单元34壁48(见图3)。然后,所述样品架递增地侧向移动,以便允许对不同的试管采样。位移臂(SM)受控于图4中的步进电动机76A把样品架40沿着所述路径从CI转到CO,停止,以允许每一个试管被采样。然后,CO把样品架从CI让它停下的位置移动,使所述样品架转到前端,使得CI和CO一起使样品架走U形路径。受控于步进电动机76B(图4)的重定位臂(CM)可以用来发送命令612,以便把样品架从U的完成端转到U的开始端,使得CI能够再一次转到样品架。SM 610,CM 612,CI 614和CO 616表明要发送给每一个状态中各自臂的信号。在所述实例性表600中,列Dor606和Dand 608和RC 618都是虚设的列,正如恒定数值所表明的。若把附加的组件包含到所述系统中,则可以使用这些虚设的列。
第三层次-2控制器54C使用几个传感器。SenSel 620标识在每一个状态下要测试的测试的传感器,STst 622指明由所述测试确定的传感器状态,而SMtst 624指明用以测试所述传感器状态的基准值。Mtst 626是电动机76A、B或78A、B(见图4)的编码状态。SMtst 628不使用,指示层次-1控制器52不测试。当某些条件得到满足时,ToSM中的信号发送给层次-1控制器52。
Tvalue 632指明与每一个相应的状态的索引号相联系的超时值,而Tfunc 634指明要如何使用所述超时值。根据SM 610、CM 612、CI 614、CO616和MTst 626的值是否满足预定条件,当前状态结束或转移。若所述状态将要结束,标记为End Ctrl 636的列中的数值指示特定状态如何结束。若所述状态将要转移,则Bran Ctrl 638触发转移,而Dest 640指向要转转到的状态或运行序列。
实例所述实例举例说明所述多层次控制器如何彼此互相作用,以完成运行序列。具体地说,所述实例举例说明所述层次-1控制器如何复位所述层次-2控制器和如何让它们执行系统为处理样本而准备的运行序列(亦即,执行示于图6的运行序列)。如图6所示,所述运行序列RH需要层次-1控制器状态记录表300的状态索引号1-14。在此过程中,护套小瓶用护套液填充,吸移管位置赋初值,而且STM将样品架臂的位置初始化,并清除输入与输出传送带。在所述复位过程的第一状态下(亦即,图8,状态索引号=1),层次-1控制器52向四个高层控制器中的每一个发送复位信号(RE)。响应所述复位信号,四个层次-2控制器54复位它们本身,并发回状态报告(0xFF)。接收全部四个状态报告之后,层次-1控制器52发送与状态索引号2相联系的信号。在状态索引号2中,层次-1控制器52向第一层次-2控制器54A发送信号″S1″。然后,开始状态记录表400的状态61的第一层次-2控制器54A填充护套小瓶。因为数值″0x0000″指明没有信号要发送,所以不向处于状态索引号2的第二个、第三个和第四层次-2控制器发送信号。当护套小瓶开始填充时,第一层次-2控制器54A返回完成状态″0x32″,正如表400的SM列和表300的SPAStat列所示。End列324中数值0x0002表示,一旦从第一层次-2控制器54A返回状态″0x32″,状态索引号2就结束。
具有0x0005超时值314和0x42的Tfunc 316的状态索引号3说明,当达到超时值314时,停止填充护套小瓶。0x0033的Sens 318的值、0x01的STst值和0x01的SMsk值表示,若用0x0033识别的传感器达到0x01的状态,则护套小瓶填满。End列324具有0x8383的数值,这意味着当护套小瓶填满或者超时值314达到时,所述状态要结束。当当前状态结束时,层次-1控制器进到状态索引号4,以此向第一层次-2控制器54A发送S0信号,断开所述填充。接收所述信号S0时,第一层次-2控制器54A断开护套泵,并向层次-1控制器52发送信号0x33,然后所述控制器52结束当前状态。
在状态索引号5中,层次-1控制器52等待第一层次-2控制器54A发送信号0xFF,指示护套泵已断开,现在它处于空转状态。
护套泵填充之后,在状态索引号6测试护套液液位。通过识别由列318中的0x0032选定的低传感器来测试护套液液位,并将其与SMsk数值0x80选定的标定表数值比较。若比较结果表明,护套液液位低,则过程按照Bran 32和Dest 8转转到状态索引号8。在状态索引号8,测试护套液是否空。若当与0x40的SMsk值选定的标定表的数值比较时,列318中的护套液传感器0x0032表明护套空,则Bran326数值和Dest 328数值指导层次-1控制器转转到状态索引号10。在状态索引号10,层次-1控制器向主机处理器发送消息0x21,让主机处理器知道护套空了。然后,层次-1控制器转转到状态索引号100,它开始样品架清除过程。
回头参见状态索引号6,若由0x0032选定的传感器不表明护套液液位低,则不发生转移,而下一个状态将是状态索引号7。在状态索引号7中,层次-1控制器52通过发送ToSM消息向主机处理器报告,护套液液位正确。然后,层次-1控制器52执行状态索引号11。
在状态索引号11,层次-1控制器52分别向第一层次-2控制器54A、第二层次-2控制器控制器B和第三层次-2控制器54C发送命令PH,HS和CR。不向第四层次22控制器(OBA控制器)发送信号,因为在所述复位运行序列中不要求光学工作台初始化。第一层次-2控制器,在接收命令PH时,通过执行表400中的状态4-9启动提升吸移管,并把吸移管送到后传感器,最后送到废液井。在状态4和5,信号发送到水平电动机,以便把吸移管臂移向后传感器。在状态6,信号发送到电动机,以便旋转吸移管从废液井出来。然后,在状态7通过利用传感器10B0检查空气压力,以便与传感器屏蔽值比较。若所述压力已经处于可以接受的水平上,则SPA控制器36B转转到状态9,在这里向层次-1控制器发送消息0x12,通知所述压力水平是可以接受的。若所述压力不处于可以接受的水平,则第一层次-2控制器54A在状态9向层次-1控制器发送信号以前,在状态8设置阀门并激励空气泵,把压力重新充气到可以接受的水平。
接收命令HS时,第二层次-2控制器54B激励阀门CBV3,并向cannula泵70和护套泵67(见图4)发送信号80FE,在状态32把它们置于备用位置。然后在状态33下把泵辊子设置在管子上。然后,在状态34下向层次-1控制器52发送状态报告信号0x21。
第三层次-2控制器54C在接收命令CR时,通过向SM发送信号0x80FF、向CI发送0x0100和向CO发送0x880FF,反向运行馈送传送带。这是在由Tval=0x0016和Tfnc=0x02定义的时段内完成的。在所述预定的时段之后,向层次-1控制器发送信号0x30,并结束状态34。
回头参见表300,在状态11接收FBAstat值0x21。Tvalue值0x0009和Tfunc值0x44设置时间帧,必须通过所述帧返回FBAstat数值。结束数值0x005F表明,若到指定的时间帧结束时尚未接收到FBAstat的值0x21,则产生差错信号;若及时接收到FBAstat数值,则层次-1控制器转到状态12。
在状态索引号12下,层次-1控制器52等待接收SPAstat值0xFF,并当它接收到时,转到状态13。在状态13,层次-1控制器等待接收STMstat值0xFF,并且当接收时,转到状态14。在所述运行序列复位高(RH)中,在层次-1控制器和OBA控制器之间不交换信号。在状态14,复位高运行序列结束。
采用本发明的分层次控制器体系结构100(见图5),每一个层次-2控制器54都彼此独立操作。但是,因为层次-1控制器52在从高层控制器接收预期的状态报告之前,不进到下一个状态,所以层次-1控制器在过程的某个″检查点″使高层控制器同步。若在一个指定的时间帧内(例如,Tvalue)完全未接收到预期的状态报告,则产生差错信号,并任选地使过程停住。在结束每一个状态时具有这″检查点″,系统即可避免整个过程运行受差错拖累。另外,通过允许工艺工程师准确知道差错发生在哪一个状态,所述″检查点″系统便于查找错误。
尽管上述已经参照本发明具体的实施例,但本专业的技术人员应该认识到,在不脱离本发明的原理和精神的情况下,在所述实施例中,可以作出各种改变,本发明的范围由后附的权利要求书定义。
例如,在本发明的范围内,允许较高控制层次″直接″或″间接″控制较低控制层次或者系统组件。若控制是″直接″的,则在进行控制的层次和被控制的层次之间不插入层次。例如,层次-1控制器一般直接控制层次-2控制器。反之,若控制是″间接″的,则在控制的层次和被控制的层次之间插入一个或多个层次。例如,三个层次的控制系统,可以把第一控制层次设计成能够根据情况控制第二控制层次或者第三控制层次。
在所述实施例中,包括多个低层次控制器,由较高层次控制器发出的命令,意味着或目标是一个或多个特定的较低层次的控制器。在某些实施例中,较高层次的控制器只向成为目标的较低层次的控制器发送命令。在这些实施例中,不成为目标的较低层次控制器不接收所述命令。在其他实施例中,较高层次的控制器向许多较低层次的控制器″广播″命令,并让接收的较低层次控制器确定所述命令是否对它们适用。若较低层次控制器确定所述命令不适用,则它将忽略所述命令。
根据所述实施例,在同一控制层次的控制器被允许进行有限的或完全的彼此通信。有时,通信限于在较高层次控制器和较低层次控制器之间的层次之间的通信。本专业普通的技术人员会认识到可以进行各种各样的改变。
权利要求
1.一种系统,它包括第一控制层次,它具有至少一个层次-1控制器,用于通过第一层次状态序列,第一控制层次生成与第一层次状态相联系的第一层次命令;第二控制层次,它具有层次-2控制器,用于响应第一层次命令而通过第二层次状态序列,并且用于当在所述各第二层次状态之一定义的层次-2条件得到满足时,向所述第一控制层次发送状态报告。
2.如权利要求1所述的系统,其中所述第二控制层次包括多个层次-2控制器,所述多个层次-2控制器包含所述层次-2控制器,而且其中第一层次命令的目标是所述层次-2控制器。
3.如权利要求1所述的系统,其中所述层次-1控制器测试层次-1条件,亦即在第一层次状态中定义的条件,并响应状态报告和所述测试,从一个第一层次状态转到另一个第一层次状态。
4.如权利要求1所述的系统,其中至少一个层次-1控制器和所述层次-2控制器分别通过发布第一层次命令或第二层次命令直接控制系统组件。
5.如权利要求4所述的系统,其中还包括第三控制层次,所述第三控制层次在所述第二控制层次和所述系统组件之间充当接口,其中所述第三控制层次设计成接收至少一个第一层次命令和所述第二层次命令,并为所述系统组件翻译所述接收的命令。
6.如权利要求1所述的系统,其中还包括处理器,用于生成包含参数的层次-1控制器表,其中所述层次-1控制器通过访问层次-1控制器表中的参数,识别与所述第一层次状态相联系的第一层次命令。
7.所如权利要求6所述的系统,其中还包括用户接口,其中可以通过调整所述用户接口中数值来改变所述层次-1控制器表中的参数。
8.如权利要求1所述的系统,其中所述第一层次状态序列包括多个包含所述序列的序列,并且其中所述层次一1控制器在多个序列当中选择第一层次状态序列,以便响应来自主机控制层次的主机层次命令通过各状态。
9.如权利要求1所述的系统,其中还包括用于尿分析的样本抽吸组件、流动池组件、传输机构和图像采集组件,所述第二控制层次包括第一层次-2控制器,用于控制所述样本抽吸组件,其中所述第一层次-2控制器是所述层次-2控制器;第二层次-2控制器,用于控制所述流动池组件;第三层次-2控制器,用于控制与采样相联系的所述传输机构;以及第四层次-2控制器,用于控制所述图像采集组件。
10.如权利要求9所述的系统,其中还包括泵、阀门和电动机,其中所述泵、所述阀门和所述电动机受控于所述第一层次-2控制器。
11.如权利要求9所述的系统,其中还包括处理器,用于生成包含第二层次命令的层次-2控制器表,其中所述第一层次-2控制器按照所述层次-2控制器表控制所述样本抽吸组件,并且其中所述层次-2控制器表按照所述第二层次状态加索引。
12.如权利要求11所述的系统,其中所述层次-2控制器表指明响应所述第一层次命令要通过哪一个第二层次状态。
13.如权利要求11所述的系统,其中所述层次-2控制器表包括按照所述第二层次状态加索引的行;第一组列,指示所述第二层次命令;第二组列,指示包括所述状态报告的状态报告;第三组列,指示层次-2测试,用于检查包括所述层次-2条件的层次-2条件是否得到满足;以及第四组列,指示要转到的第二层次状态之一,其中,所述第二层次状态之一取决于所述层次-2测试的结果。
14.如权利要求13所述的系统,其中还包括处理器,用于生成层次-1控制器表,其中用于所述第一控制层次的所述层次-1控制器表与所述层次-2控制器表基本上成镜像,所述层次-1控制器表包括按照所述第一层次状态加索引的行;第一组列,指示包括所述第一层次命令的第一层次命令;第二组列,指示要由所述层次-1控制器产生的状态报告;第三组列,指示层次-1测试,用于检查层次-1条件是否得到满足;和第四组列,指示按照所述测试结果的作用过程。
15.如权利要求9所述的系统,其中所述第一层次-2控制器控制所述样本抽吸组件,其中样本抽吸组件小组同时受控于所述第一和所述第二层次-2控制器。
16.如权利要求9所述的系统,其中所述流动池包括阀门和泵,用于控制液体的流动。
17.如权利要求9所述的系统,其中还包括用于尿分析样本的样品架,其中所述传输机构包括至少一个臂、电动机和用于传输所述样品架的传送带。
18.如权利要求9所述的系统,其中还包括处理器,用于生成包含参数的层次-2控制器表,其中所述第三层次-2控制器按照所述层次-2控制器表中的参数控制所述传输机构。
19.如权利要求9所述的系统,其中所述图像采集组件包括频闪管灯泡、摄像机和电动机。
20.如权利要求1所述的系统,其中所述层次-1控制器响应测试结果而完成以下工作之一从一个第一层次状态进到另一个第一层次状态;进到空转状态;以及根据测试结果产生差错信号。
21.如权利要求20所述的系统,其中所述测试包括获得传感器读数和把所述传感器读数与基准值比较,以及所述结果包括所述传感器读数和所述基准值的相对振幅。
22.如权利要求21所述的系统,其中还包括一个包含所述基准值的非易失存储器,其中所述基准值可以通过所述非易失存储器的重新编程改变。
23.如权利要求21所述的系统,其中还包括用户接口,其中所述基准值可以通过所述用户接口在不覆盖已编程的基准值的情况下改变。
24.如权利要求1所述的系统,其中所述第二控制层次包括多个层次-2控制器,所述多个层次-2控制器包含所述层次-2控制器,其中所述多个层次-2控制器中的每一个都响应所述第一层次命令通过唯一的序列,其中多个层次-2控制器彼此异步地通过它们各自的序列,以及其中所述层次-1控制器响应多个层次-2控制器的其相应的第二层次状态序列的完成而完成第一层次状态。
25.如权利要求24所述的系统,其中所述多个层次-2控制器直接或间接控制系统组件。
全文摘要
一种图5的分层次的系统的体系结构(100)包括多层次处理器和/或控制器,它们彼此控制,最终控制系统组件。主层次控制器(56)包括主处理器,层次-1控制器(52)包括主控制器,层次-2控制器包括4个控制器(54A、54B、54C和54D),而层次-3控制器包括一个或多个层次-2控制器和系统组件之间的接口。电动机、泵和阀门受控于层次-3控制器,后者用C语言编程,一般是不可改变的状态记录,工艺工程师访问这些状态记录以便控制第二和层次-2控制器(52,54)的操作,其中所述系统通过识别一组要执行的状态,发出必须发出的命令,来执行所述一组状态中的当前状态,以便执行一个过程。
文档编号G01N15/14GK1739071SQ200380108947
公开日2006年2月22日 申请日期2003年11月18日 优先权日2002年11月18日
发明者H·L·卡斯丹, K·S·戈尔德, J·F·廷德尔, K·A·阿特霍尔特, D·A·弗里奇 申请人:国际遥距成象系统公司