[go: up one dir, main page]

CN1124530C - 用分级的状态机控制某个系统的方法和装置 - Google Patents

用分级的状态机控制某个系统的方法和装置 Download PDF

Info

Publication number
CN1124530C
CN1124530C CN99814902A CN99814902A CN1124530C CN 1124530 C CN1124530 C CN 1124530C CN 99814902 A CN99814902 A CN 99814902A CN 99814902 A CN99814902 A CN 99814902A CN 1124530 C CN1124530 C CN 1124530C
Authority
CN
China
Prior art keywords
subsystem
state machine
complete list
rank
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CN99814902A
Other languages
English (en)
Other versions
CN1331813A (zh
Inventor
加里·L·维维安尼
尼科·A·帕里斯
威廉姆·G·卡拉汉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Varian Semiconductor Equipment Associates Inc
Original Assignee
Varian Semiconductor Equipment Associates Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Varian Semiconductor Equipment Associates Inc filed Critical Varian Semiconductor Equipment Associates Inc
Publication of CN1331813A publication Critical patent/CN1331813A/zh
Application granted granted Critical
Publication of CN1124530C publication Critical patent/CN1124530C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/045Programme control other than numerical control, i.e. in sequence controllers or logic controllers using logic state machines, consisting only of a memory or a programmable logic device containing the logic for the controlled machine and in which the state of its outputs is dependent on the state of its inputs or part of its own output states, e.g. binary decision controllers, finite state controllers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)
  • Control By Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

用来控制复杂系统的方法和装置包括代表系统操作功能的分级耦合的子系统。分级耦合的子系统是为了收集来自用户的指令数据和来自系统的信号数据被耦合起来的。每个子系统都可以包括一个或多个状态机和一个或多个数字信号处理和调节单元(DSPCU)的对象。DSPCU的对象接受处理指令并且把控制系统的信号转换成由状态机进一步处理的状态。与每个子系统的DSPCU相关联的是用来指出指令和信号的流动顺序的数据流图。控制该系统的方法是按照执行协议安排子系统的执行时间。就系统的每个执行周期而言,首先按分级结构的递升顺序、然后按分级结构的递降顺序对分级耦合的各个子系统进行分析。

Description

用分级的状态机控制某个系统的方法和装置
技术领域
这项发明一般地涉及控制系统,更具体地说,涉及利用状态机控制复杂系统的方法和装置。
背景技术
许多制造系统为了提供想要的输出产品通常以受控的方式执行大量的独立操作。这种制造系统的一个实例是离子注入系统。离子注入系统被用于把离子化的原子或分子注入半导体晶片,以保证该晶片获得想要的导电率特性。离子注入系统可以包括大量的机械部件,例如离子束发生器和真空泵,其中每个部件都是单独受控的。为了保证有前途的产品从该系统输出,各个机械部件之间的相互作用必须受到精心的控制。
处理系统的各个机械部件之间的相互作用是由控制系统管理的。历史上,在二十世纪的40年代和50年代,控制系统全都是电动机械的,不包括软件。这个时期之后,随着低成本计算机的出现,为了提供“无止境的”适应性,软件被利用了。在受软件控制的系统中,处理系统中每个机械部件都借助软件程序予以控制。每个软件程序都包括支持信息交流的界面。当各个机械部件相互作用时,这些相互作用的效应借助这些界面在各个软件程序之间传递。为了使系统范围内不同的机械部件之间的相互作用同步,可以提供用来区分不同的软件程序所完成的各种操作的优先次序的主软件程序。
典型的控制系统是由控制系统的体系结构(CSA)、控制系统的可观察性(CSO)部分和控制系统的控制能力(CSC)部分定义的。CSA把处理系统的各个子系统组织成逻辑上与准备受控的物理系统一致的结构。CSO部分监视灵敏元件的信号,以便确定该物理系统的状况。CSO部分监视和修改传递给致动器的信号状态,其中所述致动器与控制该部件操作的每个部件相关联。信号既可以代表连续测量结果,也可以代表真/假测评结果。CSC部分根据在受监视的信号中检测到变化确定采取哪个控制动作。
就典型的控制系统而言,包括CSA的硬件和软件结合不容易为适应与物理系统的操作相关联的新条件和新要求而重新配置。控制系统通常不容易重新配置的一个理由是因为控制系统的软硬件要素的集成特性。为了支持新要素把新的控制命令添加到现有的控制系统中可能影响系统范围内各部件相互作用的定时,因此威胁控制系统完成正常操作的能力。因此,系统一旦被设计好,不修订整个系统难以把新要素并入。例如,为了通过每个软件程序给各种操作的顺序适当地排序,主软件程序是为适应各个软件程序之间所有的相互关系而设计的。因此,主软件程序必须能够管理大量的异常条件。例如,异常条件之一可能是如果软件程序B处于状态Y或者软件程序C处于状态Z,则软件程序A有能力过渡到状态X。因此,主软件程序的设计往往是复杂的,降低主软件程序的性能将导致系统性能全面退化,而且不对主软件程序作大量的修改难以添加或删除各种要素。
所以,即使系统莫名其妙地无需修订就能适应把新要素并入,但是由于系统内各个组成部分之间控制和定时的依从关系,包含新要素的控制系统的操作准确性仍然可能存在重大的问题。因此,在新产品中试图适应现有的操作或者再使用现有的能力是困难的。所以,受软件控制的系统确实不可能提供无止境的适应性,而且被提供的适应性往往是以可靠性为代价的。
此外,在包括为数众多的独立的软件程序的控制系统中适当地处理错误是困难的。如果允许独立的软件程序决定处理错误的适当的方法,那么这种处理错误的过程可能是不连贯的,因为这样决定的处理错误的方法对于整个系统可能不是最佳的方法。在主程序中完成错误的处理可以提供集中处理错误的途径。但是,把详细的系统知识添加到主程序中反而增加复杂性,从而降低了整个系统的全面适应性。
为了分析和设计控制系统的行为,现在有面向对象的方法论可以使用。然而,它们通常仅仅在现有的软硬件控制系统的顶端提供开发环境,而且不限制复杂性。
因此,提供一种比传统的系统更容易实现的控制复杂的处理系统的替代方法将是合乎需要的。另外,该系统应该能够有利于追加或删除新的组成部分和为支持智能化处理错误的方法创造条件。
发明内容
由分级有序的子系统组成的控制系统体系结构(CSA)被用于提供灵活可靠的控制复杂过程的装置。每个子系统都是通过一个或多个提供该子系统的监视和控制的状态机和一个或多个数字信号处理和调节单元(DSPCU)代表的。
DSCPU把控制系统的信号转换成供状态机进一步处理的状态和/或转换指令输入以便从状态机传送到控制系统的致动器。
与每个子系统的诸DSPCU相关联的是用来指出在各个DSPCU之间的数据流动的数据流图和各个DSPCU的执行顺序。控制系统的可观察性(CSO)和控制系统的控制能力(CSC)是通过数套父母孩子状态机之间按级别的互相连接成为可能的。孩子的状态对于父母水平以上的级别是可见的。数据流在一个系统范围内通过明晰的路径流动,或上上下下一个水平。
本发明提供一种用来控制某种设备的系统,该设备具有多个互相连接的按分级结构耦合的子系统,而且在该分级结构中处于某个给定级别的子系统被包括在比它高一级的子系统之内,具有众多分级耦合的状态机,其中至少一台状态机与每个分级耦合的子系统相关联,该系统包括:用来针对每个分级耦合的子系统按照分级结构定义的顺序评估状态机的状态的装置,每个分级耦合的子系统都进一步包括数据流图,而且至少一个状态机和数据流图是为指出相关联的子系统的运行状态而准备的,其中用于评估状态机状态的装置的操作是在对分级结构中级别相对比较高的状态机的评估之前评估在分级结构中级别相对比较低的状态机,而且用于评估各个状态机状态的装置只利用从分级结构中级别相对较低的状态机接收到的状态数据评估状态机的状态;以及
用来在受控设备运行期间安排众多子系统执行顺序的调度程序,其中调度程序根据所述设备的每个子系统的总执行时间和为所述设备的执行选定的循环次数的响应进一步确定在该分级结构中各个子系统的执行顺序,其中与每个子系统相关联的是用来指出在受控设备运行期间打算多少时间评估一次相关联的子系统的时间周期,其中该子系统的执行顺序是根据对每个子系统相关联的时间周期的响应来确定的。
根据本方面的一个方面,本发明的系统,就每个分级耦合的子系统而言,进一步包括:
一个数字信号处理和调节对象,它与至少一台状态机耦合,以便把信号传送给和传送出相关联的子系统;以及
一个用户界面,它与分级耦合的状态机耦合,以便把指令传送给分级耦合的状态机。
根据本发明的另一个方面,本发明系统中的用来评估一个或多个状态机的状态的装置只利用从分级结构中相对级别较高的状态机收到的指令数据来评估状态机的状态。
根据本发明的再一个方面,本发明的系统进一步包括:
用来储存与众多子系统中每个子系统相关联的信号的存储器;
用来评估对储存在存储器中的信号敏感的众多分级耦合的状态机的装置,其中在分级结构中级别比较低的状态机是在分级结构中级别比较高的状态机之前被评估的,而且各个状态机都是只利用从分级结构中级别相对更低的状态机收到的状态数据和依据流入数字信号处理和调节对象的数据被评估的;
用来接收来自外部用户的指令的装置;以及
用来评估对来自外部用户的指令敏感的众多分级耦合的状态机的装置,其中级别相对比较高的状态机是在级别相对比较低的状态机之前被评估的,而且各个状态机都是只利用从分级结构中级别相对较高的状态机接收到的指令被评估的。
根据本发明的一个方面,本发明系统中的调度程序进一步包括:
分级耦合的子系统中各状态机的状态机指针的第一排序一览表,这些状态机指针是按相关子系统的递升分级顺序排序的;
分级耦合的子系统中各数据流图的数据流图指针的第二排序一览表,这些数据流图指针是按数据流顺序和相关子系统的递升分级顺序排序的;
向上执行一览表,包括继之以第一一览表的第二一览表;以及
向下执行一览表,包括继之以第二一览表的按相反顺序排列的第一一览表。
根据本发明的一个方面,本发明系统中的与每个子系统相关联的每个时间周期都是一套可用的时间周期中的一个,这套可用的时间周期是供所述设备的执行使用的时间周期的总数的数个因子。
根据本发明的又一个方面,本发明的系统进一步包括:
在数目上与那套可用的时间周期中时间周期的数目相对应的多套向上更新一览表,所述的多套向上更新一览表的每个入口用来储存向上执行一览表的入口之一的指针;
在数目上与那套可用的时间周期中时间周期的数目相对应的多套向下更新一览表,所述的多套向下更新一览表的每个入口用来储存向下执行一览表的入口之一的指针;以及
用来把来自向上执行一览表和向下执行一览表的状态机指针和数据流图指针分别复制到所述的众多向上更新一览表和众多向下更新一览表中对分配给与该指针相关联的子系统的执行时间周期作出响应的更新一览表中的装置。
根据本发明的再一个方面,本发明的系统进一步包括:
数目上与用于所述设备执行的时间周期总数相对应的众多向上调度一览表,这些向上调度一览表的每个入口用来储存那些向上更新一览表的指针;
数目上与用于所述设备执行的时间周期总数相对应的众多向下调度一览表,这些向下调度一览表的每个入口用来储存那些向下更新一览表的指针;以及
用来把来自所述的众多向上更新一览表的指针复制到所述的向上调度一览表中和把来自所述的众多向下更新一览表的指针复制到所述的向下调度一览表中的装置,
其中所述的指针是为根据与它们相关联的子系统的时间周期复制到所述的众多调度一览表中的一个相关联的调度一览表中而选定的。
根据本发明的又一个方面,本发明的系统进一步包括:
主向上一览表,它包括数目上与用于所述设备的执行的时间周期总数相对应的众多入口,这个主向上一览表用来储存在每个相关联的时间周期被分析的子系统的指针;
主向下一览表,它包括数目上与用于所述设备的执行的时间周期总数相对应的众多入口,这个主向下一览表用来储存在每个相关联的时间周期被执行的子系统的指针;
用来测量和控制时间周期的计时器;以及
与所述的计时器、主向上一览表、主向下一览表、众多向上调度一览表和众多向下调度一览表耦合把所述的众多向上调度一览表的指针和众多向下调度一览表的指针中响应那个实测的受控时间周期的指针分别储存在主向上一览表和主向下一览表中的装置。
本发明还提供一种用来分析具有众多相互连接的按级别耦合的子系统的系统的方法,其中在给定的级别上的子系统被包括在比它高一级的子系统中,相互连接在一起的各个子系统中每一个子系统都与众多分级耦合的状态机中相应的一个状态机相关联,该方法包括:针对每个子系统评估相关联的状态机的状态的步骤,其中与每个子系统相关联的是包括数字信号处理和调节对象的数据流图,其中相关联的状态机的评估顺序是根据由一个或多个相互连接的子系统的级别定义的顺序确定的,其中评估所述状态机状态的顺序是从那些与在分级结构中相对级别比较低的子系统相关联的状态机到那些与在分级结构中相对级别比较高的子系统相关的状态机;以及在状态机的分级结构中调度子系统执行的调度步骤,其中与每个子系统相关联的是用来指出在受控设备运行期间打算多少时间评估一次相关联的子系统的时间周期,其中该子系统的执行顺序是根据对每个子系统相关联的时间周期的响应来确定的,其中调度步骤包括根据所述设备的每个子系统的总执行时间和为所述设备的执行选定的循环次数的响应进一步确定在该分级结构中各个子系统的执行顺序的步骤。在一个实施方案中,控制系统的每个操作周期都是根据包括四个阶段(第一数据流执行阶段、状态机向上执行阶段,状态机向下执行阶段和第二数据流执行阶段)的有序协议操作的。子系统中每个组成部分在每个阶段的执行顺序都是用调度一览表维持的。每个执行阶段的操作和用来安排状态机和数据流图的执行时间表的方法和装置下边将更详细地介绍。
根据本发明的一个方面,本发明的方法进一步包括下述步骤:
把选定的外部信号传送给和传送出每个分级耦合的子系统,其中被传送给和传送出每个分级耦合的子系统的外部信号是那些与级别比每个状态机都低的数字信号处理和调节对象相关联的外部信号;以及
把各指令传送给每个分级耦合的状态机,其中传送给每个状态机的指令是在每个状态机收到的来自级别比每个状态机高的子系统的指令。
根据本发明的另一个方面,本发明方法中按根据级别定义的顺序评估相关联的状态机的状态的步骤先评估与级别比较低的数字信号处理和调节对象相关联的状态机,然后评估与级别比较高的数字信号处理和调节对象相关联的状态机。
根据本发明的又一个方面,本发明方法中的根据级别定义的顺序评估相关联的状态机的状态的步骤进一步包括下述步骤:
把所述系统的众多子系统收到的信号储存在存储器中;
按向上的方向评估对储存在存储器中的信号作出响应的状态机,其中与级别比较低的子系统相关联的状态机在与级别比较高的子系统相关联的状态机之前被评估,而且每个状态机都是只用来自与级别比每个状态机都低的子系统相关联的状态机的状态数据进行评估的;
接收来自外部用户的指令;以及
按向下的方向评估对来自外部用户的指令作出响应的状态机,其中与级别比较高的子系统相关联的状态机在与级别比较低的子系统相关联的状态机之前被评估,而且每个状态机都是只使用来自与级别比每个状态机都高的子系统相关联的状态机的指令进行评估的。
根据本发明的另一个方面,本发明方法中的每个状态机都进一步包括至少一个用来识别在相关联的子系统出现的错误的错误状态。
根据本发明的再一个方面,本发明方法中的每个状态机都进一步包括至少一个用来识别相关联的子系统的变化状态的过渡状态。
根据本发明的又一个方面,本发明方法中的每个状态机都进一步包括至少一个用来指出相关联的子系统的固定状态的终端状态。
根据本发明的再一个方面,本发明方法中的与每个状态机相关联的是用来指出在相关联的子系统出现的错误的错误状态,而且每个相关联的子系统的错误都被传送到子系统的某个预定的级别。
根据本发明的另一个方面,本发明方法中的与每个相互连接的子系统相关联的是数据流图,而且按照向上的方向评估状态机的步骤包括在按递升的级别顺序评估这些相关联的子系统的状态机之前按递升的级别顺序评估这些子系统的数据流图的步骤。
根据本发明的再一个方面,本发明方法中的按向下的方向评估状态机的步骤包括在按递降的级别顺序评估这些相关联的子系统的状态机之后按递降的级别顺序评估这些子系统的数据流图的步骤。
在一个实施方案中,数据采集在上述协议的执行期间在一些固定点同步发生,在这种情况下,数据采集包括执行系统收到的输入信号、执行系统提供的输出信号和接收来自与该系统相关联的用户界面的指令。在协议执行期间在一些固定点收集数据使输入和输出信号以某种覆盖分级结构并保证状态连贯性的方式受到控制成为可能。
如上所述,协议的四个阶段都发生在一个操作周期中。在一个实施方案中,所有的执行阶段都是在预定的执行期之内被完成的。所以,就给定的分级结构和协议而言,完成与所有的子系统相关联的全部作业的执行时间是已知的。在子系统内的组成部分或实测的执行时间发生变化时,协议的每个阶段的总执行时间、调度一览表和/或数据采集时间都被自动修改。
以上述方式分级耦合状态机有利于诸组成部分的无缝合并和从控制系统中删除某些组成部分,因为所有的数据流组成部分的连接都是明确地定义的。为了把某个组成部分添加到系统中,可以在代表该组成部分的状态机和数据流图和代表系统中其它组成部分的状态机和数据流图之间建立适当的连接。在执行阶段,因为新加的组成部分已在该分级结构中被增添到预期的级别,所以该组成部分的适当执行和与该组成部分相关联的信号的定时都可以得到被保证。从系统中删除某个组成部分可以通过仅仅从分级结构中删除与那个组成部分相关联的子系统来完成。这样,没有必要为修改控制系统准备主要软件的修订版本。因此,本发明的控制系统在复杂程度最低的情况下提供适应性和可靠性。必要的修订在分级结构中被局限在单一的本源级。
状态机的分级耦合允许把异常处理编成程序放进级别比较高的状态机,以便适当地处理在级别比较低的状态机可能发生的异常。在分级结构范围内可以选定适当的管理级,在这种场合,处于管理级的子系统具有适当的信息,以便对如何处理每种异常做出明智的决定。因此,不要求分级结构范围内的子系统对如何处理错误条件进行独立的判断,此外,错误条件为了得到有效的处理可能不必传播到分级结构的顶端。
按照本发明的一个方面,提供一种用来控制复杂的设备系统的系统,该系统具有互相连接的控制系统软件部分。这种互相连接的控制系统软件部分包括按分级结构耦合的一个或多个子系统,在该分级结构中处于给定级别的级别比较低的控制系统软件部分被包括在比它高一级的控制系统软件部分之内。该系统包括众多分级耦合的状态机,其中至少一个台状态机与每个分级耦合的子系统相关联;以及用来针对每个分级耦合的子系统按分级结构定义的顺序评估状态机的状态的装置。提供具有这样组织的数据结构的控制系统允许在不要求对该控制系统做重大修改的情况下增添子系统或者从该装置中删除子系统。
按照本发明的另一个方面,提供一种用来分析具有众多相互连接的子系统的系统的方法。这些相互连接的子系统是按分级结构耦合的,在该分级结构中处于给定级别的子系统被包括在级别比它高一级的子系统之中,而且相互连接的子系统中的每个子系统与众多分级耦合的状态机中的一个状态机相对应。该方法包括针对每个子系统评估相关联的状态机的状态的步骤,其中相关联的状态机的评估顺序是根据一个或多个相互连接的子系统的分级结构定义的顺序确定的。
按照本发明的另一个方面,用来控制设备的控制系统包括与该设备耦合的处理器。处理器包括储存与该设备相关联的信号的存储器,在设备运行期间在那里接收来自该设备的信号并且把信号转交给该设备。处理器进一步包括由众多代表该设备的操作功能的分级相互连接的子系统组成的分级的数据结构;用来把信号转交给分级到数据结构的装置;以及对信号作出响应并且在分级数据结构范围内以受控的方式更新状态的装置。
按照本发明的另一个方面,离子注入系统包括用该系统控制材料的离子注入的控制系统。这个控制系统包括用来储存与该设备相关联的信号的存储器,在该设备运行期间在那里接收来自该设备的信号并且把信号转交给给设备;由众多代表该设备的操作功能的分级相互连接的子系统组成的分级的数据结构;把信号转交给分级的数据结构的装置;以及对信号作出响应在分级的数据结构范围内以受控的方式更新状态的装置。
尽管离子注入系统作为例证供本发明使用,但是本发明不限于控制任何特定类型的系统。
附图说明
图1是在图解说明受本发明的控制系统控制的离子注入机的示意方框图。
图2是在本发明的控制系统中被使用的诸系统的组成部分的高级方框图,这些系统组成部分可以用来控制图1所示的离子注入机。
图3是图解说明状态机和数字信号处理和调节单元的典型的分级数据结构的方框图,这种分级数据结构可以用来控制图1所示的离子注入机。
图4是可以用图3所示的数据结构代表的典型的子系统的方框图,它图解说明代表控制系统分级结构的典型的要素的有限状态机和数据流图。
图5是流程图,它图解说明用来建造图3所示的那种数据结构的方法的一个实施方案。
图6是调度程序的组成部分的方框图,该调度程序被用来调度图2所示控制系统中子系统的操作。
图7是图6所示的调度程序所使用的调度方法的一个实施方案的流程图。
图8是用来图解说明在图2所示的控制系统中使用的执行协议的流程图。
具体实施方式
现在参照附图介绍本发明的各种实施方案,在不同的附图中同样的要素将用同样的数字表示。
按照本发明的一个方面,提供一种代表设备的操作功能的分级耦合的子系统的控制系统体系结构(CSA)。控制用CSA表示的设备的方法按照执行协议安排各个子系统的执行时间。就该设备的每一个执行周期而言,执行协议完成每个子系统的向上和向下执行。采用这样的安排,复杂系统的操作可以被模块化成若干个子系统,各个子系统之间的相互关系可以按照分级结构以受控的方法得到处理。
可以受本发明的控制系统体系结构控制的一种设备是离子注入系统。离子注入已经变成得到市场认可的把改变导电性的杂质引入半导体晶片的标准技术。符合要求的杂质材料在离子源中被离子化,然后离子经过加速形成具有规定能量的离子束,射向半导体晶片的表面。离子束中的高能离子进入半导体材料的内部,镶嵌在半导体材料的晶格中,形成导电率符合要求的区域。
离子注入机的性能是用单位时间处理的晶片数度量的。晶片转移时间,注入时间和停工时间都对总处理时间有贡献,因此,为了实现高生产量把这些时间缩短到最低限度是符合要求的。另外,  离子注入机的性能还用晶片表面上离子剂量的精确性和剂量的均匀性来度量。因为很多半导体器件是用离子注入系统加工的,所以为了保证器件具有可控制和重复的操作特性在晶片之间提供剂量的精确性和均匀性是至关重要的。
因此,为了保证在最大限度地提高性能的同时维持精确性,离子注入系统诸要素的操作被如此慎重地调整,以致适当的注入发生在适当的时间,不招致不必要的耽搁。
离子注入系统100的一个实例用图1表示。图1的离子注入系统是在1994年9月27日授权给White等人的美国专利第5,350,926号(题为“Compact High Current Broad BeamImplanter(紧凑的大电流宽束注入机)”)中描述的,在此通过引证将它并入。离子注入系统100通常像下面介绍的那样操作。
在图1中,离子注入系统100用离子源2生产的离子束1操作。三个狭槽格栅11、12、13的安排对来自离子源的离子起限制、提取和加速的作用。离子束1在使离子束1朝分辨狭缝4偏转的分析电磁铁3的磁极之间进入。具有不同动量的多余离子在磁场作用下通过不同的角度偏转,以致它们在分辨狭缝的两侧被拦截。离子束1在通过分辨孔4之后再次发散,然后在第二电磁铁5的磁极之间通过,以便提供具有平行离子轨道的输出束6。在注入位置,靶7在工作台7a上以受控的速度上下移动。始终如一的离子注入是这样完成的,即移动靶7以垂直分量保持恒定不变的速度穿越输出离子束6。在靶的注入操作完成时,工作台7a把完成注入的靶堆放在传送带上,并且取回下一个要处理的靶。
准确的定时、剂量和离子注入系统100中诸要素的控制是由控制系统200维持的。按照本发明的一个实施方案,离子注入系统100的控制系统200是通过在一对中央处理器(CPU 60和CPU 70),上执行的软件应用程序实现的。按照本发明的一个实施方案,在CPU 60和CPU 70上实现的控制系统是周期性的控制系统,其中离子注入系统的操作被模块化成众多分级安排的子系统。与离子注入系统100的每个子系统相关联的是一个或多个状态机和一个数据流图,其中每个数据流图都识别来自与各个状态机相关联的数字信号处理和调节单元(DSPCU)的数据流顺序。一般地说,状态机接收来自数字信号处理和调节对象的状态信息并且把指令信息发送给数字信号处理和调节对象,另外,它还可以读出和处理数字输入和模拟输入以及数值输入(numeric input)并且把信号转发给数字和模拟输出口120。选定的指令可以经图形用户界面(GUI)80输入控制系统200。
图2图解说明可以被控制系统200用来提供周期性控制的硬件和软件的组成部分的一个实施方案的高级方框图。具体地说,控制系统200包括信息应用网络(IAN)计算机101,新控制系统(NCS)计算机102和输入/输出(I/O)硬件104。为了使系统的修订和控制变得容易,控制系统200还可以有利地包括表(D5),这个表用来识别关于可允许的一套输入/输出信号和每个子系统的状态的约束。尽管表D5是在CPU 70中表示的,但是它可以驻留在控制系统200中任何可访问的位置。IAN、NCS和I/O都将在下面更详细地介绍。
IAN 101和I/O 104一起为控制系统200提供数据和指令采集。数据采集被分成两个部分,一个部分在离子注入系统和控制系统之间转移信号数据,另一个部分在GUI(图形用户界面)和控制系统之间转移指令,这样将允许独立地调度每种功能,从而减少状态前后矛盾的可能性。
为了使离子注入系统100的每个操作适当地对等,I/O 104包括为接收和传送信号120的数据采集装置(D4a)准备的硬件。I/O 104接收与受NCS 102监视或驱动的离子注入系统100中的各种控制信号耦合的信号行120。控制数据信号是通过环路主硬件122检索的。环路主硬件对收到的控制信号进行采样,以便提供作为数字数据值储存在一部分双端口存储器128中的有代表性的数字信号。
处理器130与双端口存储器128耦合。处理器130所完成的一项功能是从存储器中读出数字数据的值,然后把该数据在通往132的线路上转移到CPU 70以及转移给新控制系统(NCS)102的软件。NCS 102使用这个储存在存储器中被数字信号处理和调节对象处理过的数字数据的数值把状态信息提供给在离子注入系统中控制和观察每个子系统的每个状态机。在一个实施方案中,IAN 101是软件数据采集应用程序(D4b),该应用程序控制数据和指令在控制系统200和图形用户界面80之间的转移。IAN 101包括允许用户(例如,在图形用户界面80)通过把各种影响离子注入系统操作的指令和数据输入NCS 102来规定离子注入系统100的操作的用户界面。用户输入的指令被IAN101接收和处理,并且在离子注入系统的每个执行周期期间中的预定的时间传播给NCS 102。对IAN 101和NCS 102之间的指令转移的控制是由处理器150和130提供的。
NCS 102是包括代表离子注入系统的各种操作功能的子系统的分级控制结构(D1)的软件应用程序。每个子系统都完成一项或多项作业,而在分级结构中级别比较低的子系统的状态对于那些在分级结构中级别高一级的子系统是可以用来监视和控制的。NCS 102还包括用确定分级结构中子系统的执行顺序的控制协议(D2)。NCS 102进一步包括为了在分级结构范围内按照协议完成子系统的作业根据每个相关联的子系统完成作业的时序实施调度的调度程序(D3)。
结构D1-D5是可以用硬件、软件或两者结合实现的功能单元。虽然不同的功能单元D1-D5在图2中被表示成是由CPU 60和CPU 70中某一个实现的,但是本发明不受任何特定的CPU数量限制,而且在把各种功能分配给若干个CPU时不受任何特定的分配方式的限制。然而,把控制系统的功能部件分成不同的CPU的一个优点是考虑到两种不同的操作系统或一种具有针对每个CPU优化配置的操作系统与NCS和IAN软件程序一起使用。这种途径保证就数据的监视和聚集而言最好的操作系统(或者操作系统配置)将供IAN使用,同时NCS将依靠最好的操作系统(或者操作系统配置)进行控制。
为了建立某种分级结构,离子注入系统中每个子系统都被拆分成若干个子-子系统。类似地,子-子系统又被拆分成若干个与子-子系统的组成部分等同的子-子-子系统。把子系统拆分成表示它们的组成部分的子-子系统一直继续到与某些基本的子系统等同为止。关于建立和评估NCS 102的分级的子系统的更多的细节下面将提供。
每个能分成众多子-子系统的子系统都被说成是那些子-子系统的“父母”,而这些子-子系统被说成是那个子系统的“孩子们”。每个子系统、子-子系统……的操作功能都是由与那个子系统、子-子系统……相关联的DSPCU的状态机和数据流图的组合定义的。
NCS 102既可以用自动模式操作,也可以用手操作模式操作。此外,在系统分级结构范围内每个子系统都可以用自动模式或手操作模式操作。采用自动模式,来自图形用户界面80的指令可以只发送给子系统的分级结构中级别最高的子系统。来自图形用户界面80给分级结构中级别比较低的子系统的指令只有在分级结构中处于级别最高的子系统和目的地子系统的父母之间的所有的子系统(被称为“父母链”)都成功地切换到手操作模式之后才能被执行。在采用手操作模式时,父母级子系统将不对孩子级子系统发指令,这将保证孩子级子系统不同时接受其父母级子系统给它的指令和通过图形用户界面80给它的指令。所以,切换到手操作模式必须首先从级别最高的子系统开始。此外,发送给孩子级子系统的指令将自动引起NCS 102的软件从上到下指令父母链切换到手操作模式。用于NCS 102软件的手操作模式包括所有的系统状态,其中至少级别最高的子系统处于手操作模式。
这样,相互连接的数据结构D1是为控制系统作有序的条理分明的决定准备的框架。作有序的决定和子系统执行是受协议控制器D2和调度程序D3强制的。在分级数据结构的子系统中协议控制器D2和调度程序D3用来安排决定和执行时间表的方法下面将更详细地描述。首先介绍分级数据结构的一个实施方案的基本结构和建造这种数据结构的方法。D1:数据流结构
离子注入系统的操作功能是用子系统的分级结构表示的,其中每个子系统可以包括一个或多个状态机和一个识别数据相对DSPCU的流向的数据流图。把每个子系统分成若干不连续的状态机和DSPCU组成部分简化了设计并且导致更健壮的性能,因为在执行期间信号处理操作往往相当不同于就控制的某个方面做决定。
例如,如图3所示,父母级子系统和两个孩子级子系统是通过DSPCU 370a、370b和370cs的一套状态机170-172和数据流图定义的。如果NCS 102被用来控制图1所示的离子注入系统100,那么用于DSPCU 370a、370b和370c的状态机170-172和数据流图将提供系统100的操作功能部件。子系统的分级结构是由每个级别被包含在父母数据流图范围内的孩子级子系统定义的。
例如,由状态机170和数据流图270构成的子系统可以与离子注入系统相关联,状态机171和数据流图271可以与调整片和采集的控制要素36相关联,而状态机172和数据流图272可以与移动扫描控制要素27相关联。同样,在这个分级结构中处于相同或者较低级别的其它子系统可以与离子注入系统的其它部分相关联。状态机171和172处在状态机170的直接控制下。数据流的组成部分271、272和DSPCU 370a、370b和370c在子系统之间相互连接而且不受分级结构的约束。
按分级方式安排状态机排列的一个优点是有利于在控制下处理系统中的错误。每个子系统都有责任检测错误条件并作出响应。在许多情况下子系统也许不能决定适当的对错误条件的响应。在这种情况下,该子系统把错误传播给它的父母级子系统,然后由父母级子系统负责应答或者把该错误进一步向上传播给父母链。这被称之为错误“上交”。父母级子系统通过设计具有对整个系统更多的控制,而且具有更多用来决定如何适当地应答错误的信息。因此,错误条件没有必要传播到分级结构的最高极,它可以在某个更适当的级别被处理掉。如果错误传播到最高级的子系统还没有被解决,那么它被传播到IAN 100,由用户来应答。以这种方式分配错误处理,智能型的错误处理战略可以在复杂性最低的情况下得以实现。
现在参照图4,图解说明可能被包括在每个子系统中的组成部分的实例包括主状态机300和数据流图310。数据流图310识别单一的相关DSPCU和另一个体现这个DSPCU的行为的组成部分。如图4所示,每个子系统还可以包括一个或多个在执行期间在评估主有限状态机300之前被评估的追加级别的状态机,例如观察员状态机302。该状态机根据输入信号识别在状态机子系统处抓住的状态和相关联的过渡状态。在图4中以状态机300和302表示的子系统是指示器子系统。通过指示器子系统可以进入的状态包括三种不同的状态:错误状态、过渡状态和最终状态。错误状态用圆表示(例如,状态303),过渡状态用倒圆棱边多角形表示(例如,状态304),最终状态用八角形表示(例如,八角形305)。
在一个实施方案中,状态机302是观察员状态机,它被用于对指示器子系统收到输入信号(来自双端口存储器128或者来自孩子级子系统)进行采样。数字输入可能是关于状态ON、OFF或UNKNOWN的。输入信号导致指示器跃迁到过渡状态ON*OK或OFF*OK,或错误状态I/O*ERROR。所展示的是状态机300接收过渡状态的不同状况作为输入,即有限状态机观察员ON*OK和有限状态机观察员OFF*OK。无论什么时候只要这些输入之一是尚待证实的断言(观察员有限状态机(ObserverFSM)进入那些状态之一),主有限状态机就跃迁到两个最终状态之一,ON或OFF。如果输入有限状态机.观察员.I/O*ERROR是尚待证实的断言,那么指示器跃迁到最终状态SHUTDOWN。建立数据结构(D1)
状态机/数据流图也被称为子系统图(用图4表示),它是针对每个子系统由用户手操作建立的。子系统图构成之后,它可以用由一套零个或多个指令、一套一个或多个状态、一套零个或多个数据流输入和一套零个或多个数据流输出定义的界面予以描述。当一个或多个子系统被包括在父母级子系统之中时,在父母数据流图中通过代表子系统界面的要素为每个孩子级子系统的例证提供基准。这个要素具有与DSPCU同样的界面,但实际上代表孩子级子系统被封装的行为。
在一个实施方案中,VISIOTM图形设计工具已被增强并且被用来以图表的形式创造子系统设计。VISIO工具允许在建立构建NCS102的总分级结构时考虑到来自孩子级子系统的状态机/数据流图的数据与父母级子系统链接。在诸图形要素之间提供连接并且支持外部程序控制的其它图形工具可以作为替代品被使用,所以本发明不仅限于使用VISIO工具。
如上所述,每个父母级子系统的孩子级子系统都是用父母级子系统的数据流图表示的。给定的子系统图描述状态机、DSPCU和与父母链接的孩子级子系统。通过从最高级的子系统图开始建立(理解)通过孩子级子系统的链接可以全面定义(和分辨)分级结构。一旦所有的全部子系统图的状态都已经通过手操作键入,就可以将构造初始化,以便把子系统图转变成描述需要解释和构筑的状态机、DSPCU和它们的互相连接的全部要素的分级数据结构。下面参照图5介绍借助VISIOTM提供可以用来把子系统转换成允许用NCS 102处理的格式的方法。
如上所述,在步骤220,用户为该系统范围内每个应该被表示的子系统准备子系统图。提供一套完整的图222,这套图包括分级数据结构中所包括的每个状态机和数据流图。在步骤224,编译这份构造文件。在编译过程中,如果在分级结构中有任何在子系统之间的独立的输入和输出则被标识出来。在任何独立的输入和输出都被改正之后,配置文件226被建成。这份配置文件类似于构造文件。但是,父母/孩子级子系统的输入和输出全都被分辨,因此,用来分析父母和孩子级子系统向上和向下执行的信息都已经被提供。
这份配置文件226供CPU 60和CPU 70使用。CPU 70在步骤228使用这份配置文件226来建造IAN100的普通用户界面229。这个普通用户界面229允许用户控制NCS 102而不需要与实际上包括在NCS 102内的子系统有关的专业知识。CPU 60在步骤230把这份配置文件226作为样板用来建造执行NCS 102的软件231。除了配置文件226,CPU 60还使用调度程序D3(下面更详细地介绍)来识别在离子注入系统的每个执行周期期间这份配置文件226中的哪个子系统将被评估。安排DSPCU的执行时间表(D3)
一旦生成代表控制系统的操作功能部件的分级数据结构,就可以提供说明每个子系统在受控系统进行加工期间怎样相互作用的调度程序。这个调度程序是为了保证每个子系统的操作都在适当的时间完成以实现预期的结果而被选定的。
在一个实施方案中,用于受控系统操作的总时间被称为它的总运行时间。这个总运行时间被分成大量的执行周期,在每个执行周期里受控设备的状态都被评估。在一个执行周期里,按分级结构的递升顺序和分级结构的递降顺序两者分析该分级数据结构。每个执行周期都可以进一步被分成大量的基本的时间周期。就受控设备总运行时间中的每个执行周期而言,调度程序按适当的基本时间周期安排子系统在执行周期期间的执行时间表。
因此,调度程序D3给组成控制系统分级结构的每个子系统的状态机和数据流图安排执行顺序。调度程序确定执行顺序是根据子系统在分级结构中各自的位置和该子系统被分析的频率。例如,子系统可能每个执行周期被分析一次,或者每10个执行周期被分析一次。
为了最大限度地提高受控系统的性能,各个状态机和数据流图的执行时间表安排是在受控系统实际操作之前完成的。在一个实施方案中,每个状态机和DSPCU都被表示成对象,而时间表安排是利用面向对象的编程方法完成的。每个对象都在执行周期内分配到一个基本的时间周期。被选定的对象执行频率越低,与那个对象相关联的处理内务操作就越少。在一个实施方案中,把不同的基本时间周期分配给不同的对象是由系统设计员根据控制要求完成的。一旦系统设计员选定一个或多个时间周期作为对象的执行周期,就将产生一系列调度一览表。如上所述,在受控系统运行时每个执行周期都完成向上执行和向下执行两者。所以,就每个执行周期而言,这一系列一览表包括识别哪些DSPCU对象按向上执行阶段被执行的一览表和识别哪些DSPCU对象按向下执行阶段被执行的一览表。在这一系列一览表产生之前,对分级的数据结构进行评估,以便确定受控系统最坏情况的运行时间条件,即完成分级数据结构中每个DSPCU的向上执行和向下执行将花费最大量的时间。最坏情况的运行时间被用来确定允许受控系统每个执行周期使用的时间。被确定的最坏情况的运行时间除以选定的处理周期数得到基本时间周期。
现在参照图6,方框图是为图解说明为了计算最坏情况的运行时间而生成的一览表和为了在处理周期内安排子系统的执行时间表由调度程序生成的一览表准备的。
DSPCU对象和状态机对象全都是为了形成一览表250和253利用已知的分级递归树搜寻技术从分级数据结构中检索出来的。一览表253是全部状态机对象的指针一览表。这些指针是从那些指出在分级数据结构底部的子系统的状态机的指针到那些指出在分级数据结构顶部的子系统的状态机对象的指针排序的。一览表250是所有DSPCU对象的指针一览表。DSPCU对象的指针是按与它们相关联的数据流图定义的顺序,按照从与在分级数据结构底部的子系统相关联的DSPCU对象到与在分级数据结构顶部的子系统相关联的DSPCU对象的顺序排序的。
利用状态机对象的指针一览表253,生成两个新一览表,即向上更新一览表261和向下更新一览表256。向上更新一览表261是DSPCU对象一览表253继之以状态机对象一览表250的组合。向下更新一览表256是状态机对象的指针一览表253的逆矩阵(即从一览表的253底部到一览表的253顶端排序)继之以DSPCU对象一览表250的组合。
这样,向上更新一览表261和向下更新一览表256包括按照分级执行协议排序的对象指针。但是,这两张一览表中的对象具有与它们的执行相关联的不同的定时要求。换言之,在受控系统的执行周期期间每个对象都可以在不同的基本时间周期被分析。在一个实施方案中,可用于对象执行的时间间隔局限于用执行周期中基本时间周期总数的因数表示的一套间隔。例如,如果向上或向下执行必不可少的基本时间周期的总数是8,那么可用于对象执行的时间间隔将是那些作为8的因数(1、2、4和8)的时间间隔。把对象的执行限制在选定的时间间隔有利于使控制系统中对象的执行在整个执行期中保持平衡或扩展。由于每个对象都与这套时间间隔中的一个时间间隔相关联,所以最初的向上更新一览表和向下更新一览表可以利用多重搜索各自的一览表被分配成与目前存在的设置(即总时间间隔的因数)一样多的一览表。例如,如图6所示,假定在受控系统的一个执行周期中基本时间周期数等于8,于是存在四种8的因数:1、2、4和8。向上更新一览表261和向下更新一览表256每个都完全由与1、2,4和8倍基本周期的执行时间间隔相关联的对象组成是被假定的。利用基于与每个对象相关联的时间间隔的搜索技术,采用参照图7介绍的方法把向上更新一览表261和向下更新一览表256分别分配成4个截然不同的一览表262-265和266-269。
在步骤700,每个群体一览表都被赋予一个数值,这个数值等于与那个群体相关联的时间间隔除以最小共倍数。在图6的实例中,在最小共倍数是1的情况下,赋予每个群体262/266、263/267、264/268和265/269的数值分别等于8,4,2和1。这个被赋予的数值确定在受控系统的一个执行周期内用多少个基本时间周期分析那个群体中的每个对象。因此,群体262中的每个对象都被分析8个基本时间周期,而群体265中的每个对象都被持续执行一个基本时间周期。
一旦每个群体都被赋予一个数值,在步骤702每个群体都被分配成为对象平衡的亚群数。在每对群体中的亚群数是这样确定的,即计算在那对群体中供所有对象使用的容许的总执行时间,然后用那对群体的基本时间周期数除这个容许的总执行时间周期。这样,就群体262而言,容许的总执行时间是8个基本时间周期,而基本时间周期数是8,所以只有一个亚群。就群体264而言,容许的总执行时间是两个基本时间周期,而基本时间周期总数是8,所以两个基本时间周期各有四个亚群。因此,在图6中,群体262和266各自有一个亚群,群体263和267各自有两个亚群,群体264和268各自有四个亚群,而群体265和269各自有八个亚群。
一旦每个群体中的亚群数都被确定下来,来自向上更新一览表261和向下更新一览表256的诸对象就被分配到每个群体的各个亚群中。对象被分配到哪个群体是根据那个对象相关联的时间间隔(1、2、4或8)决定的。对象被放进哪个亚群是根据每个对象运行所花费的时间和分配给那个亚群的时间决定的。
在一个实施方案中,用于每个群体的总时间分配是通过与特定的群体相关联的基本周期数相加(例如,把与时间间隔2相关联的来自向上更新一览表和向下更新一览表的对象的总执行时间加起来)确定的。就每个群体而言,来自向上更新一览表的全部对象都在从向下更新一览表检索用于放在向下更新亚群中的对象之前被填充到向上更新亚群中,尽管这不是本发明的限制。如果来自向上更新一览表261的对象已被分配给各个亚群,那么利用分配给那个群体的剩余时间把来自向下更新一览表256的对象分配给各个亚群。因此,在步骤704,确定就那个群体而言向上更新一览表上是否是空的。如果不是,则处理过程进入步骤706,在这种情况下用于那个群体的下一个连续的对象选自向上更新一览表261。
如上所述,每个亚群都已经与某个被分配的时间周期相关联,这个被分配的时间周期是基本时间周期的若干倍。对象被放到亚群中直到与分配给那个亚群的时间周期相匹配,然后把对象放在那个群体的下一个连续的亚群中。这样,在步骤708,用于那个对象的执行时间(例如,作为那个对象的性质被储存的执行时间)被加到那个亚群的总执行时间上,然后与分配给亚群的时间进行比较。如果相加结果超过分配给亚群的时间,则在步骤710检索下一个亚群。如果在步骤708相加结果不超过分配给亚群的时间,或者在步骤710开始检索新亚群,则在步骤712把对象放在那个新亚群中,并且总时间和亚群时间被加1。在步骤714,与分配给群体的时间最大值进行比较。如果用于分析那个群体的时间有剩余,处理过程返回步骤704。
在确定向上更新一览表是空的时,就那个群体而言借助步骤716至722把诸对象从向下更新一览表256移到相关联的向下更新亚群,直到在步骤714确定分配给那个群体的时间全部得到满足。
这样,利用图7图解说明的处理过程,分别从向上更新和向下更新一览表中选择对象,以便按照与它们相关联的时间间隔(1、2、4或8)被放入特定的群体。在群体对262和266中,由于只有一个亚群,所以所有的对象都在亚群A1中。就群体对263和267而言,对象被置于亚群B1或B2中。
在图7所描述的处理过程的结果是以诸一览表为基础的一系列时间周期,每个时间周期都包括代表的来自分级数据结构的状态机和DSPCU对象的指针,而且每个时间周期都等同于在受控系统的一个执行周期内用来分析相关联的对象的基本时间周期。以各个一览表为基础的时间周期被用来产生运行时间执行一览表274-289(图6),这些一览表是亚群指针一览表。
运行时间执行一览表识别在受控系统的一个向上和向下执行过程中就每个基本周期而言每个对象亚群的执行顺序。利用图6所示的受控系统的执行过程包括8个基本时间周期的实例,向上更新运行时间执行一览表包括8个运行时间执行向上执行一览表274-281,而向下更新运行时间执行一览表包括8个运行时间执行向下执行一览表282-289。就每个基本时间周期而言,一对向上和向下运行时间执行一览表是用在按顺序正在执行的运行时间执行一览表中被指出的每个亚群的对象执行的。
运行时间执行一览表是像下面介绍的那样构成的。就每个基本时间周期而言,从以诸一览表为基础的每个基本时间周期选出的亚群之一被包括在这个运行时间执行一览表内。在那个群体中按顺序逐个选出的亚群在接下来的周期里被执行。把亚群分成不同的基本时间周期,使各种操作分布在执行周期上,从而把在给定的时间周期内被处理的对象数限制在易于管理的数量范围内。
运行时间执行一览表被用来产生向上更新一览表290和向下更新一览表291,两者都是运行时间执行一览表(例如,一览表274-289)的指针一览表。因此,为受控系统的每个执行周期准备了8个一套的一览表,例如一览表274-281。在一个实施方案中,计时器(用软件或硬件实现的)是从零到受控设备的执行周期总数逐渐增加的。就每个时间增量而言,一个一览表是用每个向上更新一览表290和向下更新一览表291通过把指针从运行时间一览表复制到各自的一览表中产生的。例如,如果受控系统的一个运行周期里有1000个执行周期,那么向上更新一览表290将包括1000个运行时间执行一览表。因此,向上更新一览表290和向下更新一览表291为受控系统的每个执行周期提供操作的时间安排。在受控系统的实际运行时间之前安排每个对象的执行时间将减少运行时的内务操作,因此提高了受控系统的性能。
尽管为来自分级数据结构的对象安排执行时间的上述方法具有把执行操作散布到预期的执行周期上的优点,但是本发明不局限于前面介绍的步骤。反之,任何安排对象的执行时间的方法只要允许保持对象的分级结构就可以作为替代被使用。D2:协议控制
协议控制器D2在受控系统的每个执行周期里强制孩子/父母级子系统中DSPCU和状态机的诸要素执行协议。如图8中的流程图所示,协议包括两个独立执行的程序,被称为线。一个程序(主线400)是为按严格受控的周期性时间框架进行DSPCU和状态机的状态评估和指令评估准备的。另一个程序(辅助线500)是为DSPCU执行可能比较长久的单独计算准备的。两条线都独立操作,其中辅助线500在主线400中处于DSPCU的控制下。
主线400有7个执行阶段,并且包括前面参照图2介绍的IAN101、NCS 102和I/O 104的各个组成部分。现在参照涉及用图2图解说明的控制系统200的诸要素的图8介绍协议控制器的操作。
第一个步骤402是为同步准备的,以便把周期性提供给每个执行周期的操作。一旦周期计时器已经过去,操作进入步骤404。
在步骤404,执行协议的阶段I被初始化。数据采集在I/O 104完成,新输出的信号值储存到存储器128中,而新输入的信号值从存储器128中读出。
DSPCU在先前的阶段II(步骤406)和阶段V(步骤412)中计算的输出信号以数值格式(numeric format)被储存到I/O 104的双端口存储器中,用来控制与每个子系统相关联的物理硬件。来自物理硬件的输入信号值从I/O 104的双端口存储器中读出,并且被储存在NCS 102里的存储器中用于下一个阶段中的评估。
在步骤406,执行协议的阶段II被初始化。在阶段II期间,NCS 102执行诸子系统的DSPCU的状态评估功能。执行顺序是由所有的子系统从左到右,按数据流箭头定义的顺序,从分级结构中级别最低的孩子级子系统到分级结构中级别最高的父母级合并的组合数据流图规定的,。
在步骤408,执行协议的阶段III被初始化。在阶段III期间,NCS 102按分级结构执行每个状态机的状态评估功能。执行从分级结构中最低级别的状态机到分级结构中最高级别的状态机井然有序地进行。因此,与孩子级子-子系统相关联的状态机在与其父母级的子系统相关联的状态机之前被分析。
阶段II和阶段III共同包括向上执行阶段中的状态评估。在完成向上状态评估执行的时候,仅仅从孩子级子系统收到的输入(或者直接从I/O 104收到的输入)被用来评估父母级子系统的状态机和DSPCU。在步骤410,阶段IV,NCS 102按分级结构执行每个状态机的指令评估功能。执行顺序是从级别最高的父母直到级别最低的孩子。
在步骤412,阶段V,NCS 102执行每个DSCPU的指令评估功能。执行顺序与阶段II期间的顺序相同,即数据流顺序。如果新请求被DSPCU添加到辅助线新请求一览表450上,那么这些请求在步骤414(阶段VI)被发送到辅助线500。
在上述的各执行阶段都被完成时,IAN 100内的软件在步骤416(阶段VII)中被更新。在步骤416,来自NCS 102的数据被送到IAN 101。然后,IAN 101把从图形用户界面收到的指令和自前一个周期的数据采集步骤404以来收集到的数据从IAN应用程序转发到NCS 102。在完成执行的向下阶段之后,状态机提供的输出信号用数字格式储存在I/O 104的双端口存储器。如果必要,数字输出被取回并且被翻译成模拟信号,以便控制每个子系统的物理硬件。处理过程返回步骤402,等待下一个周期计时器的标记,此刻进入等待状态直到下一个执行周期开始。
当一个或多个DSPCU增添请求时,辅助线500开始操作。在步骤414(阶段VI)的操作期间,DSPCU可以把执行请求加到辅助线的新请求一览表450中。当辅助线500收到新请求时,这个新执行请求从新请求一览表450中被除掉,并且在步骤504中被添加到辅助线的请求一览表501中。辅助线500在步骤506中完成先前的各种请求之后,按给定的顺序执行每个请求。每个请求的执行都可以持续运行主线400的许多个周期性循环。这允许DSCPU执行比较长久的计算但不妨碍主线400的周期性。在该请求的执行由辅助线在步骤508中完成之前,DSPCU在每个后继阶段II的状态评估期间(步骤406)都评估其执行请求的状态。辅助线500继续执行各种请求直到该一览表变成空的。辅助线500在步骤502一直等待到主线400产生更多的请求。
上述的向上/向下执行环境考虑到在离子注入系统100范围内对子系统实施高水平的对等控制。通过把由硬件提供的输入信号的影响与由用户提供的指令的影响分开,离子注入系统的操作状态可以在发出影响那个状态的指令之前被首先评估。此外,借助状态机和DSPCU的双阶段执行,每个子系统的真实状态可以被确定,因为它受到两种不同类型的输入的影响。
因此,用来控制复杂系统的改进方法和装置已经被提供,它包括众多分级耦合的状态机,这些状态机反映出它们在控制系统内对相关联的子系统的操作的控制。新控制系统的一个特点是它的周期性。因为在给定的分析时间周期内状态机按周期的间隔被评估,所以子系统在任何给定时间的状态的准确表达都被提供。这种控制系统的第二个特点是它对于输入/输出两种信号以及来自用户界面的用户指令具有同步的界面。通过把信号的执行与指令的执行分开,可以保证指令的影响与受控系统的实际状态同步。此外,因为控制系统是以分级的状态机安排为基础的,所以追加或删除该控制系统范围内的要素可以通过在父母和孩子级的子系统中提供或者去除适当的通信链路轻易地得以调节。因此,没有必要为了在现有的控制系统中增添或删除可明确识别的子系统对系统的组成部分进行必要的重新设计。此外,由于该控制系统的分级性质,在控制系统范围内错误条件可以仅仅被传播到某个适当的管理级。因此,错误处理被散布在控制系统当中,以便借此在考虑到见多识广的错误处理的同时减少在任何一个子系统进行处理的复杂性。
虽然上述的控制系统已经就离子注入系统作了介绍,但是应当理解本发明不局限于这样的用途,而是倾向于覆盖对任何可以被模块化成子系统的复杂系统的控制。因此,为了最大限度地提高适应性和错误处理能力采用由相互耦合的分级的状态机定义的分级的子系统的上述的控制系统也可以为了在其它系统中应用被扩展。
至此已经介绍了本发明为数不多的几个实施方案,熟悉这项技术的人应当清楚上文仅仅作为已经存在的例证而不是限制。
为数众多的修改方案和其他的实施方案处在这项技术中平普通技能之一的范围内,并且由于落在本发明的范围内而被注视。

Claims (19)

1.用来控制某种设备的系统,该设备具有多个互相连接的按分级结构耦合的子系统,而且在该分级结构中处于某个给定级别的子系统被包括在比它高一级的子系统之内,具有众多分级耦合的状态机,其中至少一台状态机与每个分级耦合的子系统相关联,该系统包括:
用来针对每个分级耦合的子系统按照分级结构定义的顺序评估状态机的状态的装置,每个分级耦合的子系统都进一步包括数据流图,而且至少一个状态机和数据流图是为指出相关联的子系统的运行状态而准备的,其中用于评估状态机状态的装置的操作是在对分级结构中级别相对比较高的状态机的评估之前评估在分级结构中级别相对比较低的状态机,而且用于评估各个状态机状态的装置只利用从分级结构中级别相对较低的状态机接收到的状态数据评估状态机的状态;以及
用来在受控设备运行期间安排众多子系统执行顺序的调度程序,其中调度程序根据所述设备的每个子系统的总执行时间和为所述设备的执行选定的循环次数的响应进一步确定在该分级结构中各个子系统的执行顺序,其中与每个子系统相关联的是用来指出在受控设备运行期间打算多少时间评估一次相关联的子系统的时间周期,其中该子系统的执行顺序是根据对每个子系统相关联的时间周期的响应来确定的。
2.根据权利要求1的系统,就每个分级耦合的子系统而言,进一步包括:
一个数字信号处理和调节对象,它与至少一台状态机耦合,以便把信号传送给和传送出相关联的子系统;以及
一个用户界面,它与分级耦合的状态机耦合,以便把指令传送给分级耦合的状态机。
3.根据权利要求1的系统,其中用来评估一个或多个状态机的状态的装置只利用从分级结构中相对级别较高的状态机收到的指令数据来评估状态机的状态。
4.根据权利要求2的系统,进一步包括:
用来储存与众多子系统中每个子系统相关联的信号的存储器;
用来评估对储存在存储器中的信号敏感的众多分级耦合的状态机的装置,其中在分级结构中级别比较低的状态机是在分级结构中级别比较高的状态机之前被评估的,而且各个状态机都是只利用从分级结构中级别相对更低的状态机收到的状态数据和依据流入数字信号处理和调节对象的数据被评估的;
用来接收来自外部用户的指令的装置;以及
用来评估对来自外部用户的指令敏感的众多分级耦合的状态机的装置,其中级别相对比较高的状态机是在级别相对比较低的状态机之前被评估的,而且各个状态机都是只利用从分级结构中级别相对较高的状态机接收到的指令被评估的。
5.根据权利要求1的系统,其中调度程序进一步包括:
分级耦合的子系统中各状态机的状态机指针的第一排序一览表,这些状态机指针是按相关子系统的递升分级顺序排序的;
分级耦合的子系统中各数据流图的数据流图指针的第二排序一览表,这些数据流图指针是按数据流顺序和相关子系统的递升分级顺序排序的;
向上执行一览表,包括继之以第一一览表的第二一览表;以及
向下执行一览表,包括继之以第二一览表的按相反顺序排列的第一一览表。
6.根据权利要求5的系统,其中与每个子系统相关联的每个时间周期都是一套可用的时间周期中的一个,这套可用的时间周期是供所述设备的执行使用的时间周期的总数的数个因子。
7.根据权利要求6的系统,进一步包括:
在数目上与那套可用的时间周期中时间周期的数目相对应的多套向上更新一览表,所述的多套向上更新一览表的每个入口用来储存向上执行一览表的入口之一的指针;
在数目上与那套可用的时间周期中时间周期的数目相对应的多套向下更新一览表,所述的多套向下更新一览表的每个入口用来储存向下执行一览表的入口之一的指针;以及
用来把来自向上执行一览表和向下执行一览表的状态机指针和数据流图指针分别复制到所述的众多向上更新一览表和众多向下更新一览表中对分配给与该指针相关联的子系统的执行时间周期作出响应的更新一览表中的装置。
8.根据权利要求7的系统,进一步包括:
数目上与用于所述设备执行的时间周期总数相对应的众多向上调度一览表,这些向上调度一览表的每个入口用来储存那些向上更新一览表的指针;
数目上与用于所述设备执行的时间周期总数相对应的众多向下调度一览表,这些向下调度一览表的每个入口用来储存那些向下更新一览表的指针;以及
用来把来自所述的众多向上更新一览表的指针复制到所述的向上调度一览表中和把来自所述的众多向下更新一览表的指针复制到所述的向下调度一览表中的装置,
其中所述的指针是为根据与它们相关联的子系统的时间周期复制到所述的众多调度一览表中的一个相关联的调度一览表中而选定的。
9.根据权利要求8的系统,进一步包括:
主向上一览表,它包括数目上与用于所述设备的执行的时间周期总数相对应的众多入口,这个主向上一览表用来储存在每个相关联的时间周期被分析的子系统的指针;
主向下一览表,它包括数目上与用于所述设备的执行的时间周期总数相对应的众多入口,这个主向下一览表用来储存在每个相关联的时间周期被执行的子系统的指针;
用来测量和控制时间周期的计时器;以及
与所述的计时器、主向上一览表、主向下一览表、众多向上调度一览表和众多向下调度一览表耦合把所述的众多向上调度一览表的指针和众多向下调度一览表的指针中响应那个实测的受控时间周期的指针分别储存在主向上一览表和主向下一览表中的装置。
10.一种用来分析具有众多相互连接的按级别耦合的子系统的系统的方法,其中在给定的级别上的子系统被包括在比它高一级的子系统中,相互连接在一起的各个子系统中每一个子系统都与众多分级耦合的状态机中相应的一个状态机相关联,该方法包括:
针对每个子系统评估相关联的状态机的状态的步骤,其中与每个子系统相关联的是包括数字信号处理和调节对象的数据流图,其中相关联的状态机的评估顺序是根据由一个或多个相互连接的子系统的级别定义的顺序确定的,其中评估所述状态机状态的顺序是从那些与在分级结构中相对级别比较低的子系统相关联的状态机到那些与在分级结构中相对级别比较高的子系统相关的状态机;以及
在状态机的分级结构中调度子系统执行的调度步骤,其中与每个子系统相关联的是用来指出在受控设备运行期间打算多少时间评估一次相关联的子系统的时间周期,其中该子系统的执行顺序是根据对每个子系统相关联的时间周期的响应来确定的,其中调度步骤包括根据所述设备的每个子系统的总执行时间和为所述设备的执行选定的循环次数的响应进一步确定在该分级结构中各个子系统的执行顺序的步骤。
11.根据权利要求10的方法,该方法进一步包括下述步骤:
把选定的外部信号传送给和传送出每个分级耦合的子系统,其中被传送给和传送出每个分级耦合的子系统的外部信号是那些与级别比每个状态机都低的数字信号处理和调节对象相关联的外部信号;以及
把各指令传送给每个分级耦合的状态机,其中传送给每个状态机的指令是在每个状态机收到的来自级别比每个状态机高的子系统的指令。
12.根据权利要求11的方法,其中按根据级别定义的顺序评估相关联的状态机的状态的步骤先评估与级别比较低的数字信号处理和调节对象相关联的状态机,然后评估与级别比较高的数字信号处理和调节对象相关联的状态机。
13.根据权利要求10的方法,其中根据级别定义的顺序评估相关联的状态机的状态的步骤进一步包括下述步骤:
把所述系统的众多子系统收到的信号储存在存储器中;
按向上的方向评估对储存在存储器中的信号作出响应的状态机,其中与级别比较低的子系统相关联的状态机在与级别比较高的子系统相关联的状态机之前被评估,而且每个状态机都是只用来自与级别比每个状态机都低的子系统相关联的状态机的状态数据进行评估的;
接收来自外部用户的指令;以及
按向下的方向评估对来自外部用户的指令作出响应的状态机,其中与级别比较高的子系统相关联的状态机在与级别比较低的子系统相关联的状态机之前被评估,而且每个状态机都是只使用来自与级别比每个状态机都高的子系统相关联的状态机的指令进行评估的。
14.根据权利要求10的方法,其中每个状态机都进一步包括至少一个用来识别在相关联的子系统出现的错误的错误状态。
15.根据权利要求10的方法,其中每个状态机都进一步包括至少一个用来识别相关联的子系统的变化状态的过渡状态。
16.根据权利要求10的方法,其中每个状态机都进一步包括至少一个用来指出相关联的子系统的固定状态的终端状态。
17.根据权利要求10的方法,其中与每个状态机相关联的是用来指出在相关联的子系统出现的错误的错误状态,而且每个相关联的子系统的错误都被传送到子系统的某个预定的级别。
18.根据权利要求13的方法,其中与每个相互连接的子系统相关联的是数据流图,而且按照向上的方向评估状态机的步骤包括在按递升的级别顺序评估这些相关联的子系统的状态机之前按递升的级别顺序评估这些子系统的数据流图的步骤。
19.根据权利要求18的方法,其中按向下的方向评估状态机的步骤包括在按递降的级别顺序评估这些相关联的子系统的状态机之后按递降的级别顺序评估这些子系统的数据流图的步骤。
CN99814902A 1998-12-22 1999-12-10 用分级的状态机控制某个系统的方法和装置 Expired - Lifetime CN1124530C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/219,584 US6374144B1 (en) 1998-12-22 1998-12-22 Method and apparatus for controlling a system using hierarchical state machines
US09/219,584 1998-12-22

Publications (2)

Publication Number Publication Date
CN1331813A CN1331813A (zh) 2002-01-16
CN1124530C true CN1124530C (zh) 2003-10-15

Family

ID=22819877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99814902A Expired - Lifetime CN1124530C (zh) 1998-12-22 1999-12-10 用分级的状态机控制某个系统的方法和装置

Country Status (9)

Country Link
US (1) US6374144B1 (zh)
EP (1) EP1141793B1 (zh)
JP (1) JP4693142B2 (zh)
KR (1) KR100623109B1 (zh)
CN (1) CN1124530C (zh)
AU (1) AU3117000A (zh)
DE (1) DE69913201T2 (zh)
TW (1) TW466387B (zh)
WO (1) WO2000038022A1 (zh)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6889110B1 (en) * 1999-10-01 2005-05-03 Novellus Systems, Inc. Operational lists for simultaneous wafer scheduling and system event scheduling
US6986146B2 (en) * 2001-05-30 2006-01-10 Siemens Communications, Inc. Method and apparatus for providing a state machine operating on a real-time operating system
GB2377285A (en) * 2001-07-02 2003-01-08 Ubinetics Ltd State machine
US6823220B2 (en) * 2001-10-10 2004-11-23 Ge Medical Systems Global Technology Company, Llc Design and implementation device for real-time controllers
US6907305B2 (en) 2002-04-30 2005-06-14 Advanced Micro Devices, Inc. Agent reactive scheduling in an automated manufacturing environment
US20030225474A1 (en) * 2002-05-31 2003-12-04 Gustavo Mata Specialization of active software agents in an automated manufacturing environment
US7512454B1 (en) 2002-05-31 2009-03-31 Advanced Micro Devices, Inc. Display unit with processor and communication controller
US6782302B1 (en) 2002-08-30 2004-08-24 Advanced Micro Devices, Inc. Method and apparatus for scheduling workpieces with compatible processing requirements
US6904329B1 (en) 2002-08-30 2005-06-07 Advanced Micro Devices, Inc. Method and apparatus for generating a multi-dimensional cost function
US6801819B1 (en) 2002-08-30 2004-10-05 Advanced Micro Devices, Inc. Method and apparatus for evaluating bids for scheduling a resource
US7069097B1 (en) 2002-08-30 2006-06-27 Advanced Micro Devices, Inc. Method and apparatus for reducing scheduling conflicts for a resource
US7813993B1 (en) 2002-08-30 2010-10-12 Advanced Micro Devices, Inc. Method and apparatus for scheduling a resource
US7127310B1 (en) 2002-08-30 2006-10-24 Advanced Micro Devices, Inc. Method and apparatus for determining cost functions using parameterized components
US7319907B2 (en) * 2002-11-18 2008-01-15 International Remote Imaging Systems, Inc. Multi-level controller system
US7027885B1 (en) 2002-12-30 2006-04-11 Advanced Micro Devices, Inc. Determining batch start versus delay
US7135789B2 (en) * 2003-05-12 2006-11-14 Potentia Semiconductor, Inc. Controlling devices using cascaded control units
CN100396061C (zh) * 2003-07-05 2008-06-18 华为技术有限公司 一种用状态机对异步操作进行控制的方法
US20070282480A1 (en) 2003-11-10 2007-12-06 Pannese Patrick D Methods and systems for controlling a semiconductor fabrication process
US10086511B2 (en) 2003-11-10 2018-10-02 Brooks Automation, Inc. Semiconductor manufacturing systems
US8639489B2 (en) * 2003-11-10 2014-01-28 Brooks Automation, Inc. Methods and systems for controlling a semiconductor fabrication process
US20070269297A1 (en) 2003-11-10 2007-11-22 Meulen Peter V D Semiconductor wafer handling and transport
US8639365B2 (en) * 2003-11-10 2014-01-28 Brooks Automation, Inc. Methods and systems for controlling a semiconductor fabrication process
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US20060200744A1 (en) * 2003-12-08 2006-09-07 Adrian Bourke Distributing and displaying still photos in a multimedia distribution system
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US7310684B2 (en) * 2004-05-21 2007-12-18 Bea Systems, Inc. Message processing in a service oriented architecture
US20050273517A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Service oriented architecture with credential management
US20050273521A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Dynamically configurable service oriented architecture
US20060031354A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Service oriented architecture
US20060005063A1 (en) * 2004-05-21 2006-01-05 Bea Systems, Inc. Error handling for a service oriented architecture
US20060080419A1 (en) * 2004-05-21 2006-04-13 Bea Systems, Inc. Reliable updating for a service oriented architecture
US7774485B2 (en) * 2004-05-21 2010-08-10 Bea Systems, Inc. Dynamic service composition and orchestration
US20060031431A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Reliable updating for a service oriented architecture
US7653008B2 (en) * 2004-05-21 2010-01-26 Bea Systems, Inc. Dynamically configurable service oriented architecture
US20060031355A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Programmable service oriented architecture
US20050273520A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Service oriented architecture with file transport protocol
US20050267947A1 (en) * 2004-05-21 2005-12-01 Bea Systems, Inc. Service oriented architecture with message processing pipelines
US20050278374A1 (en) * 2004-05-21 2005-12-15 Bea Systems, Inc. Dynamic program modification
US20060031353A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Dynamic publishing in a service oriented architecture
US20060031930A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Dynamically configurable service oriented architecture
US20050270970A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Failsafe service oriented architecture
US20060031433A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Batch updating for a service oriented architecture
US20060031432A1 (en) * 2004-05-21 2006-02-09 Bea Systens, Inc. Service oriented architecture with message processing pipelines
US20050273502A1 (en) * 2004-05-21 2005-12-08 Patrick Paul B Service oriented architecture with message processing stages
US20060031481A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Service oriented architecture with monitoring
US20060069791A1 (en) * 2004-05-21 2006-03-30 Bea Systems, Inc. Service oriented architecture with interchangeable transport protocols
US20050273497A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Service oriented architecture with electronic mail transport protocol
US20050273516A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Dynamic routing in a service oriented architecture
US20050264581A1 (en) * 2004-05-21 2005-12-01 Bea Systems, Inc. Dynamic program modification
US20050278335A1 (en) * 2004-05-21 2005-12-15 Bea Systems, Inc. Service oriented architecture with alerts
US20060007918A1 (en) * 2004-05-21 2006-01-12 Bea Systems, Inc. Scaleable service oriented architecture
US20050267892A1 (en) * 2004-05-21 2005-12-01 Patrick Paul B Service proxy definition
US7337032B1 (en) 2004-10-04 2008-02-26 Advanced Micro Devices, Inc. Scheduling ahead for various processes
US20060080331A1 (en) * 2004-10-12 2006-04-13 International Business Machines Corporation Common interface system administration service library
US7463939B1 (en) 2004-11-18 2008-12-09 Advanced Micro Devices, Inc. Scheduling tools with queue time constraints
US20080275582A1 (en) * 2004-11-19 2008-11-06 Nettles Steven C Scheduling AMHS pickup and delivery ahead of schedule
US8806490B1 (en) * 2004-12-08 2014-08-12 Cadence Design Systems, Inc. Method and apparatus for managing workflow failures by retrying child and parent elements
US20070022126A1 (en) * 2005-07-21 2007-01-25 Caterpillar Inc. Method and apparatus for updating an asset catalog
WO2007106844A2 (en) 2006-03-14 2007-09-20 Divx, Inc. Federated digital rights management scheme including trusted systems
DE102006021767A1 (de) * 2006-05-10 2007-11-15 Siemens Ag Bediengerät zum Informationsaustausch mit einem Feldgerät in einem Automatisierungssystem
US7877727B2 (en) * 2006-08-18 2011-01-25 Bitrouter Hierarchical state programming with a markup language
DE102006046108A1 (de) * 2006-09-28 2008-04-17 Pcs Systemtechnik Gmbh Programmierbare Steuerung zum Betreiben einer maschinellen Einrichtung
US8950998B2 (en) * 2007-02-27 2015-02-10 Brooks Automation, Inc. Batch substrate handling
US8996394B2 (en) * 2007-05-18 2015-03-31 Oracle International Corporation System and method for enabling decision activities in a process management and design environment
US8185916B2 (en) 2007-06-28 2012-05-22 Oracle International Corporation System and method for integrating a business process management system with an enterprise service bus
KR20100106327A (ko) 2007-11-16 2010-10-01 디브이엑스, 인크. 멀티미디어 파일을 위한 계층적 및 감소된 인덱스 구조
EP2384475A4 (en) 2009-01-07 2014-01-22 Sonic Ip Inc AUTOMATED SINGLE AND GROUP PRODUCTION OF A MEDIA LEADER FOR ONLINE CONTENT
WO2011068668A1 (en) 2009-12-04 2011-06-09 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
US9165029B2 (en) * 2011-04-12 2015-10-20 Microsoft Technology Licensing, Llc Navigating performance data from different subsystems
US8818171B2 (en) 2011-08-30 2014-08-26 Kourosh Soroushian Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates
KR102074148B1 (ko) 2011-08-30 2020-03-17 엔엘디 엘엘씨 복수의 최대 비트레이트 레벨들을 사용하여 인코딩된 비디오를 인코딩하고 스트리밍하기 위한 시스템들 및 방법들
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US10452715B2 (en) 2012-06-30 2019-10-22 Divx, Llc Systems and methods for compressing geotagged video
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
EP2770431B1 (en) * 2013-02-25 2017-01-04 Telefonica S.A. System and method to trigger cross-layer optimizations in a network
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
CN114812585A (zh) * 2021-01-27 2022-07-29 魔门塔(苏州)科技有限公司 一种路径规划方法及装置
CN114200899B (zh) * 2021-11-16 2024-06-14 中国航空工业集团公司雷华电子技术研究所 一种多子系统控制方法及其系统电子设备、可读存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4551815A (en) 1983-12-12 1985-11-05 Aerojet-General Corporation Functionally redundant logic network architectures with logic selection means
IL78542A0 (en) * 1986-04-18 1986-08-31 Yeda Res & Dev Electronic controller based on the use of statecharts as an abstract model
EP0397924B1 (en) * 1989-05-17 1995-11-29 Koninklijke Philips Electronics N.V. Work station controller module
FR2686175B1 (fr) * 1992-01-14 1996-12-20 Andre Thepaut Systeme de traitement de donnees multiprocesseur.
US5469553A (en) 1992-04-16 1995-11-21 Quantum Corporation Event driven power reducing software state machine
US5432352A (en) 1993-09-20 1995-07-11 Eaton Corporation Ion beam scan control
US5504896A (en) * 1993-12-29 1996-04-02 At&T Corp. Method and apparatus for controlling program sources in an interactive television system using hierarchies of finite state machines
US5611059A (en) * 1994-09-02 1997-03-11 Square D Company Prelinked parameter configuration, automatic graphical linking, and distributed database configuration for devices within an automated monitoring/control system
US5689702A (en) 1995-06-07 1997-11-18 Microtec Research, Inc. Flexible data structure layout for data structure including bit-field data members
EP0795148B1 (en) 1995-09-28 2002-02-27 Koninklijke Philips Electronics N.V. A method for specifying a system comprising a plurality of interconnected functional modules each representing a respective abstract-state based machine, and a system so specified
US5710700A (en) * 1995-12-18 1998-01-20 International Business Machines Corporation Optimizing functional operation in manufacturing control
US5691895A (en) * 1995-12-18 1997-11-25 International Business Machines Corporation Mechanism and architecture for manufacturing control and optimization
IL119914A (en) 1996-12-25 2000-06-29 Emultek Ltd Device for implementing hierarchical state charts and methods and apparatus useful therefor

Also Published As

Publication number Publication date
JP4693142B2 (ja) 2011-06-01
KR100623109B1 (ko) 2006-09-13
EP1141793B1 (en) 2003-11-26
CN1331813A (zh) 2002-01-16
US6374144B1 (en) 2002-04-16
AU3117000A (en) 2000-07-12
TW466387B (en) 2001-12-01
DE69913201D1 (de) 2004-01-08
DE69913201T2 (de) 2004-08-12
JP2002533795A (ja) 2002-10-08
EP1141793A1 (en) 2001-10-10
KR20010089671A (ko) 2001-10-08
WO2000038022A1 (en) 2000-06-29

Similar Documents

Publication Publication Date Title
CN1124530C (zh) 用分级的状态机控制某个系统的方法和装置
Catron et al. ALPS: A language for process specification
Mukund Nilakantan et al. Bio-inspired search algorithms to solve robotic assembly line balancing problems
Wang et al. An enhanced Pareto-based artificial bee colony algorithm for the multi-objective flexible job-shop scheduling
CN101241354B (zh) 通过嵌入式历史记录设备获取触发事件数据
CN101064652A (zh) 使用遗传算法用于智能物件的服务到设备映射
CN101589366A (zh) 面向生成器图形的编程框架中的并行化和植入
Adelsberger et al. The leitstand-a new tool for computer-integrated manufacturing
CN1645330A (zh) 用于应用程序分布式管理的启用网格的虚拟机的方法和系统
CN1543601A (zh) 具有分层结构的监督过程控制和制造信息系统应用程序
CN1516419A (zh) 在主机计算机网络上处理客户机请求的系统和方法
CN1192016A (zh) 电力系统网络配置的建立方法和设备
CN1221539A (zh) 可编程的呼叫处理系统和方法
Rahimi-Vahed et al. A new particle swarm algorithm for a multi-objective mixed-model assembly line sequencing problem
Shaw et al. Automatic planning and flexible scheduling: a knowledge-based approach
Nouri et al. Evolutionary multiobjective optimization for the multi-machine flow shop scheduling problem under blocking
CN114755984A (zh) 一种自动化流程机器人的调度方法、调度系统及自动化流程机器人
CN1326567A (zh) 处理系统调度
US20040210596A1 (en) Reduced comparison coordinate-value sorting process
CN1245571A (zh) 数据处理系统和方法
Kovács et al. A customizable simulator for artificial intelligence research to schedule semiconductor fabs
Maturana et al. Object-oriented job-shop scheduling using genetic algorithms
Joshi et al. Anonymous remote computing: A paradigm for parallel programming on interconnected workstations
Li et al. Cluster resource adjustment based on an improved artificial fish swarm algorithm in Mesos
Gong et al. Conceptual design of a shop floor control information system

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination
PB01 Publication
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20031015

CX01 Expiry of patent term