CN101403913A - 实时批执行程序环境中的联机配方同步 - Google Patents
实时批执行程序环境中的联机配方同步 Download PDFInfo
- Publication number
- CN101403913A CN101403913A CNA2008101662032A CN200810166203A CN101403913A CN 101403913 A CN101403913 A CN 101403913A CN A2008101662032 A CNA2008101662032 A CN A2008101662032A CN 200810166203 A CN200810166203 A CN 200810166203A CN 101403913 A CN101403913 A CN 101403913A
- Authority
- CN
- China
- Prior art keywords
- batch
- prescription
- version
- performer
- product
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 77
- 230000009471 action Effects 0.000 claims abstract description 29
- 238000004519 manufacturing process Methods 0.000 claims abstract description 6
- 238000012545 processing Methods 0.000 claims description 90
- 230000001360 synchronised effect Effects 0.000 claims description 46
- 230000008859 change Effects 0.000 claims description 42
- 238000004886 process control Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 36
- 230000009466 transformation Effects 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 12
- 230000004048 modification Effects 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 claims description 4
- 238000005259 measurement Methods 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 claims 1
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000010923 batch production Methods 0.000 abstract description 7
- 239000000203 mixture Substances 0.000 description 19
- 239000000047 product Substances 0.000 description 14
- 239000000049 pigment Substances 0.000 description 11
- 238000009472 formulation Methods 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 239000000463 material Substances 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 239000003086 colorant Substances 0.000 description 5
- 239000007788 liquid Substances 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 239000003814 drug Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000002156 mixing Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 235000019219 chocolate Nutrition 0.000 description 3
- 239000012530 fluid Substances 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012369 In process control Methods 0.000 description 2
- 102000004357 Transferases Human genes 0.000 description 2
- 108090000992 Transferases Proteins 0.000 description 2
- 235000009499 Vanilla fragrans Nutrition 0.000 description 2
- 244000263375 Vanilla tahitensis Species 0.000 description 2
- 235000012036 Vanilla tahitensis Nutrition 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 235000013361 beverage Nutrition 0.000 description 2
- 229940079593 drug Drugs 0.000 description 2
- 239000000839 emulsion Substances 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 238000010965 in-process control Methods 0.000 description 2
- 239000003973 paint Substances 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 235000015895 biscuits Nutrition 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 239000013022 formulation composition Substances 0.000 description 1
- 238000010237 hybrid technique Methods 0.000 description 1
- 235000015243 ice cream Nutrition 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
本发明涉及实时批执行程序环境中的联机配方同步。一种根据产品配方在制造环境中执行批处理的方法,所述产品配方指定多个动作和多个参数,所述方法包括:进行与所述产品配方的第一版本相对应的批处理的至少一个动作;接收所述产品配方的第二版本,所述产品配方的第二版本与所述产品配方的第一版本不同;在完成所述批处理之前,暂停执行所述批处理;和根据所述产品配方的第二版本再继续执行所述批处理。
Description
对相关申请的交叉引用
本申请要求2007年9月21日递交的、题为“实时批执行程序环境中的联机配方同步”的美国临时专利申请No.60/974,368的权益,该申请的公开内容通过引用明确地合并于此。
技术领域
本发明总的来说涉及过程控制网络,更具体地,涉及能够接受对当前运行的批的改变的批执行机。
背景技术
过程控制系统,例如那些使用批处理技术产生大量的医药品、化学制品、饮料、颜料或任何其它产品的过程控制系统,通常包括与一个或多个现场装置通信连接的一个或多个集中式过程控制器,例如,所述现场装置可以为阀定位器、开关、传感器(例如温度、压力、和流速传感器)等。这些现场装置可以与诸如阀、泵、混合单元等的控制设备相关联,可以在过程控制系统内执行物理控制功能(例如打开或关闭阀、打开和关闭泵或混合单元等),可以在用于控制过程运行的过程控制系统内进行测量,也可以执行过程控制系统内的任何其它期望功能。一般来说,过程控制器接收表示一个或多个现场装置产生的测量结果的信号,和/或关于现场装置的其他信息,利用这些信息实现典型的复杂控制例行程序,并产生控制信号,所述控制系统通过信号线或总线发送给现场装置以控制控制系统的运行。
此外,过程控制器通常通过数据高速公路,诸如以太网总线,连接到一个或多个工作站或其它设备上。这些其它设备通常运行使用由一个或多个控制器提供的信息的其它应用程序或程序,以提供其它过程控制功能,例如为控制例行程序提供用户界面、使能控制例行程序的修改或更新、与现场装置通过接口连接、存储历史过程控制数据、控制或限制用户接入等。在一些大型过程控制系统中,可以通过另一通信网络,例如互联网连接、卫星或蜂窝通信链路无线电链路(如在无线以太网连接中所使用的)等,把位于远地的一个或多个工作站连接到数据高速公路上。
产生成批产品的过程控制系统通常包括图形界面,该图形界面允许用户(例如工程师)来定义并且存储一个或多个基本产品配方、批参数和设备列表等。这些基本产品配方通常包括一系列工艺步骤,每个工艺步骤都与特定的设备列表相关联或绑定到特定的设备列表上。在把配方工艺步骤绑定到特定部分设备时,用户(例如操作员)在批执行配方之前,明确地定义要用哪部分过程控制设备来实施配方的每个工艺步骤。另外,每个工艺步骤可能要求用户(例如操作员)定义一个或多个输入/输出(I/O)批参数值,所述输入/输出(I/O)批参数值在执行批期间用来控制设备操作的顺序和/或时序、设置报警限制、设置目标控制值(例如定位点)等。这些I/O参数值可能与发送给过程控制系统内的一个或多个现场装置或从这些装置接收的输入和输出有关,可替代地,也可能是在执行批期间过程控制系统产生的中间值或计算值。这样,在定义批时,用户(例如操作员)通常使用图形界面来选择基本产品配方(包括把配方的工艺步骤绑定到过程控制设备的说明)并且指定将要在执行批期间使用的参数值。例如,在生产成批颜料的控制系统中,用户(例如操作员)可以与图形界面交互,以选择诸如半光室外乳胶漆的基本颜料配方,并且指定得到一批100加仑的特定颜色的半光室外乳胶漆产量的参数值。
只是作为示例,基本颜料配方可以包括一个或多个向基本颜料混合物添加着色剂或其它物质的工艺步骤,并可以进一步包括把这些着色剂和其它物质机械地掺入基本颜料混合物的附加工艺步骤。可以把掺和和混合工艺步骤,或与基本颜料配方有关的其它工艺步骤,绑定到过程控制系统内的特定部分设备上。例如,可以把第一混合步骤绑定到第一掺和器上,把第二混合步骤绑定到第二掺和器上,或者,可替代地,如果想要的话,可以把第二混合步骤改为绑定到第一掺和器上。类似地,可以把向颜料混合物添加着色剂的配方的每个工艺步骤都绑定到特定部分的着色剂分配设备上。
此外,在定义批时,用户可以提供在执行批期间由过程控制系统使用的多种I/O参数值,例如掺和时间、着色剂的量等,以实施由批指定的工艺步骤并获得期望的最终颜料产品。如此,用户可以生产多种颜色的(如I/O参数值所指定的)、包括多种基本颜料类型(如基本配方所指定的)的多种最终颜料产品。当然,因为传统的批定义技术也可以用来产生许多其它类型的产品,例如医药品、饮料、食品等,所以可以改变特定工艺步骤、与工艺步骤绑定的设备和I/O参数值来使过程控制系统生产期望的最终产品。
近年来,批执行环境变得复杂得多。例如,许多现代批加工厂利用多个“设备队列”或物理执行特定批运行所需的、以可操作方式连接的控制设备单元集,运行几个并行的批。随着每个程序上的步骤的复杂度增加,配方也已经变得更长。同时,测量设备现在产生更好的批参数的测量结果,并把这些测量结果实时地,或接近实时地,报告给控制器或操作员工作站。特别地,这些测量设备可以迅速并且准确地检测异常状况,例如过高的温度、不足的压力或特定化学制品的出乎意料高的浓度。可理解地,操作员希望对这些状况尽快地做出响应,以减少产品损失并避免有害情况。结果,尽管控制批的任务变得日益复杂,但是业界还是要求批执行环境具有更高的灵活性。
此外,一些国家还经历了与某些制造方法有关的政府规定的改变。例如,美国食品和药物管理局(FDA)最近发起了所谓的过程分析技术(PAT)行动。PAT的规定目标是除最终制造的产品之外,还控制制造过程。为了符合PAT的要求,工厂必须能够保证相应制造过程的中间步骤处的质量,当然,必须能够适当地、及时地对检测到的状况做出响应。这样,既出于经济的原因,也出于规章的原因,现代批执行环境必须是灵活的。
不幸的是,现有的批执行技术和方法未能以成本高效的方式满足这些要求。服务于批加工厂的典型过程控制系统在专用数据库中维护配方信息。对于每一种产品,数据库存储“控制配方”,“控制配方”可能包括该配方的程序上的结构、配方参数、配方所需的设备单元列表和其它配方信息。响应于操作员命令或其它预定条件,过程控制系统从数据库中检索特定控制配方,并把该配方应用于选择的“批执行程序”或负责根据接收到的配方执行一个或多个批运行的子系统。批执行程序保存配方的接收到的版本的快照(snapshot),以使得对控制配方的改变不影响已经运行的批的执行。换句话说,批执行程序只能执行最初接收到的配方,并不实时地对数据库中控制配方的可能改变作出反应。
传统地,操作员发现批执行程序和配方的一个版本之间的生存期关联是可接受的。一直到最近技术和政府规章发生迅速的变化之前,工厂每次都运行一个或多个具有同一配方的批几个月时间。操作员相对很少应用新配方,并且预先很好地计划新配方的引入。然而,当前业界的状态要求批执行环境响应突然和频繁的配方的变化,即使对那些要花多个星期或多个月来完成的批也是如此。
近年来已经作出了一些尝试来增加批执行环境的灵活性。例如,爱默生过程管理DeltaVTM界面工具允许操作员强制在配方的步骤之间进行转变,这是未来的有效步骤改变特征的一部分。尽管强制转变功能大大地扩展了操作员对配方执行的控制,但是这一特征并不准予操作员控制配方的实际步骤或逻辑。另外,有效步骤改变允许操作员把配方的某一阶段作为独立的批来发起运行。然而,类似地,该特征的这一方面限于配方的原始定义。此外,只在阶段级别上允许手动操作。这样,如果工程师或操作员要更新已经由批运行器执行的配方,那么,即使原始版本还没有进行到要应用配方变化的点,当前的技术也不允许批运行器在原始版本执行完之前拾取配方的新版本。
发明内容
在过程控制系统中运行的批执行环境允许用户对运行批与正在被运行批执行的配方的新版本同步。用户操作用户界面工具以选择执行旧版本配方的批,中断所选择批的执行,并利用更新后版本的配方再继续被中断批的运行。在一个实施例中,批子系统从用户界面工具接收新版本的配方,将该新版本保存在配置数据库中,并自动标识配方的新版本与当前在批执行环境中运行的同一配方的版本之间的差异。相应于从用户界面工具接收到命令,批子系统自动使批与所述批的新版本同步。
根据一方面,批子系统根据需求进行再同步。根据另一方面,批子系统允许由预定条件触发的自动再同步。根据再一方面,用户可以配置批子系统在没有请求用户授权的情况下自动尝试再同步,或者通过用户界面工具激活不同的选项,用户可以将再同步限制在仅人工干预内。在这种情况下,即使批子系统意识到新的配方版本,批子系统必须在同步之前从用户接受明确的命令。
再一个实施例中,批子系统包括一个或多个批运行器进程,每个批运行器刚好执行一个批,批管理器检查每个批运行器进程的操作,并且批运行时间进程检测配方的改变。每个批运行器可以被配置为执行不同的配方。在一个实施例中,每个批运行器保存事件信息,例如步骤之间的转变、操作和阶段到永久性为止。批管理器向用户界面工具报告每个批运行器的时间信息。根据另一方面,批管理器从用户界面接收命令,并告诉批运行器何时启动、停止或挂起执行。
根据一方面,用户可以对现有配方的特定元素进行改变,而不改变对应于该元素的单元程序的原始名称,从而保留配方的原始高级逻辑。根据另一方面,用户可以使用用户界面工具,通过改变控制条件步骤地的选择的操作数来更新当前由批运行器运行的配方的逻辑。例如,用户可能希望将或操作数改变为与操作数,或跳过某个配方元素。根据又一方面,用户可以使运行的批与包括附加配方元素的配方版本同步。
再一个实施例中,用户在配方配置期间或者通过在稍后访问现有配方来指定一个或多个有效再同步点。每个有效再同步点是可以安全停止或暂停批的原始配方中的转变。作为安全特征,批子系统将防止用户对批进行再同步,直到该批到达有效再同步点之一为止。在另一个实施例中,批子系统使用再同步点来进行自动再同步。如果在对应模式下进行配置,则批管理器自动暂停已经到达有效再同步点的批运行器,并且(如果批运行时间进程检测到有效的配方改变)将该配方的新版本用于该批运行器。
在一个实施例中,批子系统自动检测新配方版本,确定配方版本之间的差异,并将与新配方元素或转变有关的信息传达到用户界面工具。在某些预期实施例中,批子系统解析指派给新近添加到配置数据中的配方的名称,以确定该新配方是较旧配方的新版本。用户界面工具向用户呈现可视元素列表,并将用户的注意力可视的引导到潜在的可用于同步的新配方元素。
根据另一方面,批子系统另外在批处理已被暂停之后从用户界面工具接收同步或重启选项。所述同步或重启选项告诉一个或多个批运行器是从开始处运行批处理(“冷”重启或同步选项)还是从先前暂停的状态运行批处理(“热”重启或同步选项)。此外,同步或重启选项指定批处理是否应当返回到配方的先前版本(“重启”)或应用配方的新版本(“同步”)。
附图说明
图1是过程控制网络的一部分的部分框图、部分示意图,在该过程控制网络上,批执行环境可以在需要时实现配方同步。
图2是示出符合S88标准的嵌套结构的框图。
图3是示出批执行环境中与配置子系统交互的批子系统的示例性架构的框图。
图4是示意性地示出在不改变元素名称的情况下与一个配方元素被更新的配方版本的联机批同步。
图5示意性地示出与已经添加新配方元素的配方版本的联机批同步。
图6示意性地示出与某些条件逻辑已更新的配方版本的联机批同步。
图7示出在示例性批执行环境中批的再同步期间配方配置系统与批系统之间的高级交互的框图。
图8是示出由图3示出的系统进行的再同步程序的示例性流程图。
图9示出特定配方的有效再同步点的配置。
图10示出在手动再同步程序期间可能向用户显示的示例性对话屏幕。
具体实施方式
现在参见图1,加工厂控制网络10包括通过如以太网通信连接15连接至多个工作站14的过程控制器12。控制器12还通过输入/输出(I/O)装置(未示出)和通信线或总线集18连接到加工厂(通常由附图标记16指代)内的装置或设备。控制器12,仅通过示例的方式,可以是由费舍-柔斯芒特系统股份有限公司(Fisher-Rosemount Systems,Inc.)销售的DeltaVTM控制器,其能够与诸如分布遍及加工厂16内的现场装置和现场装置中的功能模块之类的控制元件进行通信,以执行一个或多个过程控制例行程序,从而实现对加工厂16的期望控制。这些过程控制例行程序可以是连续或批过程控制例行程序或程序。工作站14(例如,可以是个人计算机、服务器等)可以被一个或多个工程师或操作员用来设计将由控制器12执行的过程控制例行程序,与控制器12通信以下载这些过程控制例行程序,在加工厂16的操作期间接收和显示与加工厂16相关的信息,及另外与由控制器12执行的过程控制例行程序交互。另外,数据历史库19可以连接至LAN 15并可以以任何已知的或期望方式自动收集和存储工厂50中产生的数据,包括控制器12、现场装置甚至工作站14中产生的数据。
每个工作站14包括存储器20,其用于存储诸如配置设计应用程序之类的应用程序,及用于存储诸如与加工厂16的配置相关的配置数据之类的数据。每个工作站14还包括处理器21,该处理器21除了别的事情之外,还执行应用程序以使用户能够设计过程控制例行程序和下载这些过程控制例行程序到控制器12等。同样地,控制器12包括用于存储用于控制加工厂16的配置数据和过程控制例行程序的存储器22,还包括执行过程控制例行程序以实现过程控制策略的处理器24。如果控制器12为DeltaV控制器,其与在一个工作站14上的一个或多个应用程序联合在一起可以将控制器12内的过程控制例行程序的图形描述提供给用户,所述图形描述显示用来提供对加工厂16的控制的过程控制例行程序内的控制元素和配置这些控制元素设置的方式。
一般来说,图1的过程控制系统可以用于实现批处理,其中,例如,工作站14之一执行实现和协调在加工厂16中的不同的批运行的批执行程序。在如图1所示的示例性过程控制系统中,这样的执行程序30位于工作站14a中。然而,批执行程序30可以在其他工作站14、或以包括任何无线方式的任何需要的方式通信连接至总线15或总线18的其他计算机中被存储及被执行。同样,如参见图3进行的详细讨论,批执行程序30可以分为各种部件或与加工厂16中不同的计算机或工作站中存储及执行的各种部件相关。
另外,将认识到的是,加工厂控制网络10可以包括多于一个批执行程序30。例如,现代的工厂当前最多支持共享加工厂控制网络10的一些或全部资源的多达4个批处理器。一个或多个批处理器30可以统称为批子系统。相反,配置子系统指代用于定义和编辑配方、监视批运行的性能及其他管理目的的用户界面工具,配置数据库及其他硬件、固件和软件模块。将被注意的是,在本讨论中,术语“批执行程序”和“批子系统”被互换使用。
在操作中,用户可以操作批操作器界面(“BOT”)32以定义配方,创建用于执行配方的批,及控制批执行。具体针对控制批执行,BOI 34可以允许用户启动、停止、暂停及更新批运行。BOI 34可以通过以太网链路15、通过无线链路或以其他任何已知的方式与批子系统30交互。尽管图1示意性地描述了BOI 34作为工作站14的一部分,其他的实现方式和布置也同样是可行的。例如,BOI 34也可以在工作站14a中、在便携式装置(未示出)上、或置于加工厂控制网络10之外的主机上运行。进一步,可以有在加工厂控制网络10内的同时支持多个操作者的各个主机上的BOI 34的几个例子。还进一步,将被认识到地是,加工厂控制网络10可以提供多于一个用户界面工具用于访问配方配置和批操作。DeltaVTM系统,作为一个例子,除了别的以外,通过DeltaV操作和DeltaV批操作员界面等部件提供用户界面。
再次参见图1,配置数据库34可以存储批子系统30的配方、如工厂和设备层次的设备单元列表的设备数据、与工厂的各个区域相关的管理信息,设备单元与工厂区域内的关系,设备的层次分类和其他配置数据。配置数据库34可以位于与批子系统30分离的配置子系统中。而且,将注意到,配置数据库34可以是独立的服务器或服务器组,或者,如果加工厂控制网络10足够小,配置数据库34可以仅作为工作站14或14a文件系统的专用处理服务部分来实现。
在如图1所示的示例性加工厂控制网络10中,控制器12通过总线18通信连接至两套类似配置的设备,每套设备具有反应器单元,这里称为反应器_01(R1)或反应器_02(R2),过滤器单元,这里称为过滤器_01(F1)或过滤器_02(F2),及干燥器单元,这里称为干燥器_01(D1)或干燥器_02(D2)。反应器_01包括反应器容器100,该反应器容器100连接的两个输入阀101和102,控制提供从例如进料罐(未示出)到反应器容器100的流体的流体入口线,及该反应器容器100连接的输出阀103,控制流体通过输出流线流出反应器容器100。装置105置于反应器容器100内或反应器容器100附近,可以是传感器,如温度传感器、压力传感器,液位仪或一些其他设备如,电加热器或蒸汽加热器。反应器_01通过阀103连接至具有过滤器设备110的过滤器_01,过滤器_01随之被连接至具有干燥器设备120的干燥器_01。类似地,第二套设备包括反应器_02,该反应器_02具有反应器容器200,两个输入阀201和202,输出阀203和装置205。反应器_02被连接至具有过滤器设备210的过滤器_02,过滤器_02随之被连接至具有干燥器设备220的干燥器_02。过滤器设备110和210和干燥器设备120和220可以具有与其相关的另外的控制元件(如加热器,传送带等)、传感器等。如果需要,尽管未示出,过滤器_01和过滤器_02中的每一个均可以物理连接到反应器单元反应器_01和反应器_02的每一个,同时干燥器单元干燥器_01和干燥器_02中的每一个可以被连接到过滤器单元过滤器_01和过滤器_02中的每一个,以使得使用反应器、过滤器和干燥器中的每一个中的一个的批运行可以使用如图1所示的设备的任何组合。
如图1所示,控制器12通过总线18被通信连接至阀101-103、201-203,设备105、205,过滤器110、210,及干燥器120、220(及其他相关的设备),以控制这些元件(可以是单元,现场装置等)的操作,来进行针对这些元件的一个或多个操作。这些操作可以包括,例如,填充反应器容器,或干燥器,加热反应器容器或干燥器内的材料,倾倒反应器容器或干燥器,清洁反应器容器或干燥器,操作过滤器等。当然,控制器12可以通过另外的总线、专用通信线,如4-20毫安(ma)线,HART通信线等连接至加工厂16内的元件。
图1所示的阀、传感器和其他设备可以是包括如,Fieldbus现场装置、标准4-20ma现场装置、HART现场装置等的设备的任何需要的种类或类型,而且可以使用任何已知的或需要的通信协议如Fieldbus协议,HART协议,4-20ma模拟协议等与控制器12通信。再进一步,其他类型的设备可以以任何需要的方式被连接至控制器12并被控制器12控制。而且,其他控制器可以通过例如以太网通信线15连接到控制器12及工作站14,以控制与加工厂16相关的其他设备或区域,而且这种另外的控制器的操作可以与以任何需要的或已知的方式与图1所示的控制器12的操作协调。
用户可以配置配方、从过程控制设备如装置阀101-102和容器100形成设备队列,将该设备队列与批关联,并通过BOI 34或其他界面工具与批子系统30交互。BOI 34可以周期性地或实时地检索系统中运行的每批的状态。网络10的批执行环境和,特别是与BOI 34和配置数据库34协作的批子系统30,允许用户选择运行批,暂停批,查看批执行的配方,通过“钻进(drillinginto)”配方元素改变配方到高级别或较低层中的一层。然后用户可以保存更新后的配方到配置数据库34,可选地请求批子系统30根据选择出的再同步选项中的一个将暂停的批与配方的新版本再同步。对新配方版本和运行批的同步和执行涉及的模块和方法将参考图3-11在以下详细讨论。
批子系统30包括高级控制例行程序,其使用户能够指定要在加工厂内执行的多个批运行,及设置在加工厂控制网络10中基本独立执行的多个批运行或批处理以实现不同的批运行。这种批处理中的每个指向一个或多个单元程序的操作,这些程序为在单个单元,如反应器单元、过滤器单元、干燥器单元或加工厂内的其他设备中的一个上操作的子例行程序或过程。每个单元程序(通常在一个工作站14上运行的批运行的一部分)可以执行一系列操作,每个操作可以在单元上执行一个或多个阶段。为了讨论,阶段是最低的级别动作或在单元上执行的步骤并且通常由控制器12中的一个实现或执行,操作是在单元上执行特定功能的一组阶段,并且常由工作站14中的一个通过调用控制器12中的一系列阶段实现或执行,同时,单元程序为一系列在单个单元执行的一个或多个操作并通常实现为工作站14中的一个上的一组操作调用。结果是,任何单元程序能够包括一个或多个阶段和/或一个或多个操作。在这种方式下,每个批处理执行生产产品,如食物产品或药品等所需要的不同步骤或阶段(即单元程序)。
为实现每个独立的批的不同的单元程序,操作或阶段,批处理使用通常称作配方,其指定要执行的步骤,与步骤和步骤的顺序相关的量和时间。一个配方的步骤可以包括,例如,用适当的材料或成分填充反应器容器,混合反应器容器中的材料,在特定的时间量内加热反应器容器中的材料到特定温度,倒空反应器容器之后清洁该反应器容器以备下批,运行过滤器以过滤反应器的输出,之后运行干燥器以干燥反应器容器中生成的产品。与不同的单元相关的每一系列步骤定义批的单元程序,而且批处理将为这些单元进行的每一个执行不同的控制算法。当然,对不同配方,具体的材料、材料量、加热温度和时间等可以不同,而且,因此这些参数可以在不同批运行间依据正在制造或生产的产品和所用的配方的不同而不同。本领域技术人员将理解,当批的控制例行程序和配置使用如图1中所示的反应器单元、过滤器单元及干燥器单元在这里被描述时,控制例行程序可以用于控制其他需要的装置以执行任何其他需要的批处理运行或执行连续加工厂运行,如果有这种需要的话。
本领域技术人员还将理解,总批处理的相同阶段、操作或单元程序,作为不同的实际批处理的一部分,能够同时或不同时在如图1所示的不同的反应器单元的每个上实现。此外,由于图1的反应器单元通常包括相同数目和类型的设备(即它们属于相同的单元类),特定阶段的相同普通阶段控制例行程序可以用于控制不同反应器单元的每一个,除非该普通阶段控制程序需要被修改以控制不同的硬件或与不同的反应器单元相关的设备。例如,为实现反应器_01的填充阶段(期间反应器单元被填充),填充控制例行程序将在特定的时间量内打开输入阀101或102的一个或多个,例如,直至液位仪105检测到容器100已满为止。然而,该相同的控制例行程序可以用于通过仅改变输入阀到阀201或202以代替阀101或102及通过改变指派的液位仪为液位仪205以代替液位仪105来实现反应器_02的填充阶段。
尽管与批运行的一般操作相关联的逻辑是公知的,但是图2提供了与批执行环境中的联机配方同步的方法相关的配方结构的概括视图。配方255遵从S88标准的分级结构。然而,本领域技术人员应该理解,联机配方同步的方法还可以应用于其它已有的和未来的配方定义标准。如图2中所示,配方255包括由转变257分隔的一个或更多步骤,例如步骤253和255。配方255的各个步骤可以具有复杂的内部结构,并且可以被定义为独立的单元程序。例如,步骤255可以被定义为单元程序260。
转变257可以指明在执行紧跟转变257的步骤(在本例中是步骤255)之前步骤253中必须满足的条件。例如,步骤253可以执行两种化学制品的混合,条件257可以检测该混合是否超出了2分钟的时限。作为另一个例子,转变257可以被设置为布尔“真”,以便影响转变而不考虑执行步骤253的结果。一般而言,该条件可以简单也可以复杂,并且可以包括诸如“与”和“或”的布尔操作数。接着,单元程序260可以包括类似地由条件257分隔的一个或更多操作263或265。在图2中所示的例子中,操作261根据操作定义270来实现。操作定义270可以包括由状况257分隔的一个或更多阶段272和274。
用户可以使用工作站14或14a之一上的专用软件来创建诸如配方250之类的配方。在一些实施例中,软件创建软件被提供为BOI 32的一部分。一种这类软件封装是被提供为DeltaVTM系统的一部分的配方工作室(RecipeStudio)。除给配方250指派名称之外,用户还可以将该配方与特定的版本相关联。换句话说,用户可以创建配方250的初始版本,将名称“巧克力_饼干_001(Chocolate_Cookie_001)”指派给配方250,并将版本标识符“v1”与配方250相关联。在随后的时间,用户可以创建同一配方250的另一版本,并将新的版本与版本标识符例如“v2”相关联。在一个实施例中,配置数据库34可以包含具有相同名称但不同版本标识符的两个配方。在另一实施例中,用户可以仅以与前一版本相同的名称来保存新的版本。
在各种情况下,新的配方版本总是通过批子系统30从用户界面32或其它配方创建工具到达配置数据库34处。换句话说,批系统30在用户与配置数据库34之间传递配方信息,从而使批系统30总是能意识到现有配方版本的改变。以此方式,批系统30可以在需要时将新的配方版本与子系统30中运行的批进行同步。在另一实施例中,用户界面32与配置数据库34直接进行交互。为了自动化配方再同步中的至少一些方面(如以下更详细讨论的),用户界面32或配置数据库34包括为批子系统30复制配方信息的软件例行程序。作为另一替换,用户界面32直接与配置数据库34进行交互,并且批系统30周期性地从配置数据库34请求更新。例如,批系统30可以运行根据预定义的超时值醒来的背景进程,以便于查询自上次查询之后正在由批系统30运行的配方的新版本是否已在配置数据库34处变为可用。然而,本领域技术人员应该理解,通过将批子系统30放置在用户界面工具与配置数据库34之间,批执行环境可以更有效地实现。
图3示出加工厂控制网络10中批子系统30的示例性架构。批执行子系统30可以通过以太网通信连接15或在批子系统30和用户界面30驻留在同一工作站14或14a上时通过已知的进程间通信(IPC)工具之一,与诸如BOI 30的用户界面工具进行交互。批子系统30可以包括批管理器282、批运行时间进程284以及一个或更多批运行器286-290。批子系统30各个部件的过程可以实现为独立的进程或线程。如以上所指示的,批子系统30可以分布在若干个工作站或其它主机上。
批运行器286-290中的每一个正好执行一个批。批运行器286-290中的一些可以运行相同的配方,例如配方250。应该理解,即使各个批运行器执行相同的配方,批运行器286-290也不需要总是处于相同的执行状态。在图3中所示出的例子中,批运行器290通过以太网连接15连接至控制器12。在操作中,批运行器290可以执行单元程序级别的逻辑和相应工作站14或14a上的处理空间中的操作。然而,批运行器290将各个操作阶段272和274载入控制器12。
再次参见图3,永久性存储单元292可以保留与各个批运行器286-290相关的状态、转变和参数信息。永久性存储器292可以是工作站14或14a之一的硬盘驱动器、诸如CD或DVD的外部存储设备或其它已知的数据存储设备。批管理器282、批运行时间进程284和各个批运行器286-290可以通过以太网连接15或在永久性存储器292驻留在相同的主机上时通过IPC调用来访问永久性存储器292。在操作中,各个批运行器286-290保存与相应批的执行状态相关的信息。例如,批运行器290可以记录当前运行的单元程序、操作和阶段的状态。这样,永久性存储单元292中的记录在某种程度上可以表示批运行器290当前正在执行配方250的步骤3、操作1、阶段2。另外,该记录可以指明各个级别的状况,例如运行、挂起或中止。进一步地,批运行器290可以记录传递到单元程序、操作和阶段中的参数值。批运行器290优选基本实时地更新永久性存储单元292。
另外,批运行器290可以记录例如步骤253与255之间、操作263与265之间以及阶段272与274之间的各个转变257。该转变可以与状态和参数信息一起记录在永久性存储器292中。可替换地,状态转变可以记录为单独的事件日志并存储在数据历史库19中。事件日志还可以包括参数信息中的一些或所有参数信息,和诸如与各个转变、错误条件关联的时间戳之类的附加信息,以及在开始前时间(in post-time)对监测或调试系统有帮助的其它信息。该事件日志类似地可以存储同步标识。例如,事件日志中的特定记录可以表示批运行器290在9月21日下午14:25,在步骤3、操作1、阶段1处,与配方“Chocolate_Cookie_001”的版本V2进行了再同步。
如以上所述,批管理282对批运行器286-290的执行进行控制。具体来说,批管理器282向批运行器286-290发送命令,指示批运行器何时启动、何时停止或何时暂停执行。另外,批管理器282通过用户界面工具280向操作员报告各个批运行器286-290的状态。例如,批管理器282可以访问永久性存储器292以检索批运行器290的状态,并可以符合诸如XML之类的已知格式或特别为批子系统30的元素之间的交互而定义的专用格式的形式,将该状态报告给界面工具280。就这点来说,批管理器282充当所有批运行器的集中式网关。
在一个实施例中,批管理器282和批运行器286-290另外可以访问共享存储区域,该区域存储当前正在由批子系统30执行的配方的复制本。共享存储区域可以是永久性或易失性存储位置,并且可以布置在批子系统30内部或外部。一些实施例中,在由批运行器286-290之一触发配方的运行之前,批管理器30存储各个配方的复制本。在另一实施例中,单个的批运行器在其自身的处理空间中或在对批子系统30的其它部分来说未知的或不可访问的永久位置中存储配方的复制本。在任一情况下,批子系统30可以将各个配方存储为单一文件或存储为元素的分级结构。优选地,批管理器282以及各个批运行器286-290具有访问诸如单元程序、操作及阶段的单个配方元素用来读和写的工具。
同时,批运行时间进程284充当加工厂控制网络10的其它部分的界面。具体来说,批运行时间284可以通过配方下载脚本与配置数据库34进行交互。在一个实施例中,考虑到人类或机器的可读性,用户界面32以XML封装配方。可替换地,用户界面32、批子系统30以及配置数据库34可以通过任何标准协议或私有协议来发送脚本信息。批运行时间进程284还可以负责诸如维护系统安全性和日志维护之类的功能。而且,批运行时间进程284还可以在永久性存储器292或在配置数据库34中记录启动、停止以及其它相关的高级信息。
进一步地,批运行时间进程284可以识别与特定配方的早先版本相关的同一配方的变化。例如,特定操作的单一小参数,比如混合器应该运行的时间量,可以从25分钟改变为30分钟。在接收到新的、30分钟版本的配方之后,批运行时间进程284即可以首先发送对批管理器282的查询,以检查批运行器286-290中的任一个当前是否正在执行同一配方的旧版本。在一个实施例中,批运行时间进程284和批管理器286可以仅将配方的名称进行比较,以便确定新的配方当前是否正在批子系统30中运行。为此,批管理器286可以针对各个活动批运行器存储配方的名称或其它独一无二的标识符。响应于来自批运行时间进程284的查询,批管理器286可以指示例如该配方可应用于一个或更多活动的批运行器286-290。然后,批运行时间进程284可以从配置数据库34检索原始配方,并执行新配方版本与旧配方版本之间的比较。可替换地,用户界面32可以生成并传播标识由用户进行的改变的配方“标记”复制本。
如以上所指示的,依赖于由用户进行的改变程度,配方更新可以落入若干种类中的一种。图4示出包括单元程序的内部改变而没有改变单元程序的名称的示例性更新场景。应该理解,该场景还类似于在单个操作的内部进行改变而保留原始的操作名称的情况。如图4中所示出的,配方300的新版本和旧版本均包括由转变304紧随的步骤302,紧接着转变304的是步骤306。然而,用户可能已更新与步骤310相对应的单元程序,并且一旦相应的批到达转变308,就可以请求子系统30执行步骤312而不是步骤310。步骤312仅在所执行的单元程序的版本上不同于步骤310。
在批执行环境的一些实施例中,具体来说,在批子系统30的一些实施例中,用户可能期望避免以相同的名称来保存配方或配方元素的新版本。在一些情况下,从政策来讲,可能不允许用户复制现有的配方或程序名称。在这种情形和类似的情形下,用户界面32可以自动生成单元程序的例如UPROC_MIX_INGREDIENTS_012_V02的新名称,以便将配方300的新版本与名称为UPROC_MIX_INGREDIENTS_012_V01的先前版本区分开来。该名称是使机器脚本可以容易的解析出该名称并提取版本号和其它标识符的名称。
同时,图5中示出的场景包括新配方元素相对于配方320的增加。具体来说,配方320的新版本要求步骤322由新步骤324和转变326来跟随。转变326将配方320的流程引导回原始步骤328。应该理解,图5中示出的场景不同于手动执行已有批的范围内的阶段。具体来说,新步骤324通过遵从S88的转变连接至已有步骤322和328。换句话说,在增加新的配方元素之后,用户不需要手动控制转变。而且,程序步骤324变为配方320的一部分,并且结果是,来自新步骤324的事件可以被采集为运行配方320的批的一部分。
参见图6,配方350的新版本包括在步骤352之后的配方逻辑的改变。特别地,配方350的新版本将条件354(“或”)改为条件(“和”)。在这种场景下,配方350的单元程序可能根本没有改变。然而,用户可以决定,例如,尝试将巧克力(步骤360)和香草(步骤362)都添加到由执行配方350的批生产的冰激淋中,而不是根据配方350的先前版本选择巧克力和香草其中之一。
在参见图4至图6的上述场景中,由于批运行器286-290中的一个当前可能正在执行该配方,所以子系统30可以将配方300、320或350的先前版本保留在永久性或易失性存储器中。在一个实施例中,批运行时间进程284可以向批管理器282通知更新后的配方300、320或350的名称或唯一识别符,并且,另外,可以向批管理器282通知在单元程序或操作级别上在配方300中更新的特定元素的列表。批管理器282然后可以向执行配方300的批运行器286指示,例如,在批到达转变308之时必须暂停批执行。批管理器282然后可以更新与保存在批子系统30中的步骤310相对应的单元程序的副本或者配方300的整个副本。
然而,在被通知到配方300的新版本可用时批管理器282不需要总是使运行配方300的各批运行器286-290同步,并且差异已经被批运行时间进程284处理。重要地,用户可以选择批运行器286-290中哪个批运行器应该与新配方版本同步以及哪个批运行器应该继续执行原配方直到结束或直到从用户接收到新的中止或暂停命令。在这一点上,由批子系统30协同加工厂控制网络10的配置子系统支持的联机配方再同步允许用户在整个批子系统30或整个加工厂16中改编新配方版本之前以受控制的规模“试用”新配方版本。
图7更详细地示出了这种预期的场景。在本实例中,用户操作诸如BOI32之类的用户界面软件来创建某个配方的第一版本(块380)。在这一点,用户可能正计划利用该配方的第一版本运行两个并行批。用户界面32经由批运行时间进程284将配方传递给批子系统30。除了将配方配置保存在数据库34中,批运行时间进程284还将该配方的第一版本传递给批管理器282,批管理器282将该配方应用到可用的批运行器286和288(步骤382)。在块384和386,该配方被分别载入批运行器286和288中。
批管理器282然后可以触发在批运行器286和288中该配方的执行。在块388,批运行器286可以启动执行该配方的步骤,并且在块390,该批运行器288可以类似地开始批执行。其间,用户可以决定可以通过对原版本进行一种或更多种相对小的改变来改良该配方。为此,在块392,用户可以生成该配方的新版本。而且,用户可能想要这些改变尽可能快地生效。同时,用户可能关注向整个批子系统300应用该新配方,并且可以认为首先将该配方仅应用到这些批中的一个更加谨慎。
在一些实施例中,用户可以知道每个批运行器所处的准确状态。在另一些实施例中,批界面32可以依赖于用户的访问权限或简介配置有选择地将状态和转变信息呈现给用户。尽管用户可能并不总是知道是否该配方的执行已经进行的过了再同步仍有可能的点,用户仍然可以指令用户界面32以原始配方名称或准确反映该配方版本的名称保存该配方的新版本,通过在批界面32上操作可视控制或根据提示输入命令将批运行器286挂起,并且请求批子系统30将批运行器286与该新版本同步。
可替代地,无论什么可能的情况下,用户可以指令用户界面32将该新版本应用到批子系统30。当然,两种选择也都可以用在批子系统30的同一实施例中。而且,预期到的是,再同步可以作为单个控制被提供,该单个控制可以自动地与批子系统30交互以确定这些新版本应用于哪些批运行器,如果有的话,并且自动地将相关批运行器挂起。另外,用户界面32可以向用户显示确认对话,来通知他或她这些有可能与新配方版本同步的批处理。
批界面284可以确定对于该配方的第一版本的那些改变可以应用到批运行器286并将相关更新信息(直接或通过批管理器282)传递给批运行器286。批运行器286可以从相应的存储器位置删除该配方的原始版本,保存该新版本,识别接下来要执行的步骤,并且从用户界面等待以传送来自用户的命令(未示出),告诉批运行器286再继续执行(块396)。如下所述,用户可以提供附加指令给批子系统30关于该配方中的特定步骤,批运行器286可以由此重新开始执行。如果同步成功,批运行器286可以继续该执行。然而用户可能已经以错误或不合法的方式改变该配方的原始版本。在遇到无效转变、缺失步骤或者其它异常情况时,批运行器286可以改变其状态,例如,同步失败(RESYNCHRONIZATION_FAILED)。在一些预期的实施例中,批运行器286可以自动地返回到该配方的先前(稳定)版本。在另一个实施例中或根据另一个配置选项,批运行器286有时可以尝试“冷同步”,或者从第一步启动新的配方。
在块398和400,批运行器286和288可以完成各个批。在块402,该用户可以评估批执行的结果并且可以决定批运行器286是否应该返回到原始配方版本或该配方的新版本是否也应该应用到批运行器288。特别地,批处理运行器286可能不能完全执行该配方新的未经测试的版本。在这种情况下,批子系统可以自动地改变批的状态为挂起(HELD)或类似表示暂停执行的状态。用户界面32可以生成显示问题“回复到先前版本?是/否?”的交互对话。
图8是示出了分布于批子系统30和诸如用户界面32之类的配置子系统的部分的再同步程序420的示例性流程图。在块422中,用户可以从配置数据库344中检索配方并且创建该配方的新版本。在块424,BOI 32可以显示当前活动批的列表、每个批的状态以及每个活动批的配方信息。在块426,用户可以选择批之一并且在块430改变该批的操作状态为已停止(STOPPED)或已中止(ABORTED)。在图8示出的实例中,用户选择运行在块422更新的该配方的较旧版本的批。
在块432,用户可以选择是继续运行该配方的原始版本还是启动新版本。如果用户决定再同步暂停的批,程序420可以进行到块434。在块434,批管理器282可以识别执行暂停的批的批运行器并且将这些配方更新应用到识别的批运行器。如上所述,步骤434还可以包括在配置数据库34中保存新的配方版本,在批运行时间进程284中比较该配方的旧版本和新版本,并且将与改变相关的必需信息传达给批管理器282。
在块436,用户可以在冷重启和热重启选项之间进行选择。特别地,冷重启导致批运行从该配方中的第一步启动。另一方面,热重启允许该批在该配方的当前步骤再继续。当新版本与原版本合适地校准(align)时,用户可以选择热重启选项,以便向一个或新近更新的或新的步骤的转变不会得到非法条件。再参见图4,用户可以选择热重启以使得该批运行器能够在转变308之后无缝地继续进行到步骤312。因此,程序420可以首先尝试在块/步骤438校准配方。作为步骤438的一部分,程序420可以识别该批当前正在执行该配方的哪个步骤或者该批已经到达哪个转变,在新配方中定位该步骤或转变,并且确定实际上是否是可能或是可允许的。
为了防止严重的错误,程序420可以认为对批的有效步骤的改变是非法的并且可以作为政策在有效步骤中禁止再同步。例如,如果某个批当前正在执行某个配方的步骤2/操作1/阶段3,程序420可以不允许该批与该配方的新版本再同步,如果该改变在步骤2/操作1内生成相同的阶段3,或者如果该改变在步骤2内生成操作1的名称,或者以类似可能有争议的情况。另外,程序420可以使程序和操作参数生效以保证新配方不请求没用的值。为了举例,该配方可以更新单元程序2,其中单元程序2请求新配置中的3个参数。其间,批可以正在单元程序2中执行这些操作之一,其中单元程序2在当前的配置中仅请求2个参数。因此,在这一点同步该批不允许请求在批的较早阶段添加的另一个参数(即在批向单元程序2输入或提供参数的时刻)。
因为用户可能不注意地产生违反配方执行的逻辑的情况,所以程序420可以改为查找该配方中稍后的有效同步点或者可以简单地将批置于同步_失败(SYNCHRONIZATION_FAILED)状态。用户然后可以利用原始配方版本再继续该运行或利用该新配方发起冷重启。另一方面,如果该同步被确定为有效,程序420可以向用户指示该同步结束并且该批可以重新开始。在块440,用户可以发送适当的指令给批子系统30,并且,在接收到该指令时,程序420可以将该批前进到运行(RUNNING)状态,并且该批可以继续执行。
批子系统30还可以通过暂停位置列表支持与新配方版本的自动同步。如图9所示,配方500包括转变502-508分隔的若干步骤。一般而言,诸如配方500之类的配方可以在批程序、单元程序和操作级别上具有若干转变。如上所述,用户可以利用DeltaVTM配方工作室(DeltaVTM Recipe Studio)工具或类似手段产生配方500。除了指定配方成分和转变外,用户还可以提供与配方500相关联的列表510,列表510包括零个或更多个有效再同步点。可替代地或作为补充地,子系统30和用户界面32可以允许用户针对已经执行配方500的活动批定义列表510。在操作员发现配方500有问题且认识到存在至少一个执行相同配方但是在问题批之后运行了若干部步骤的批的情况下,例如,操作员可能希望马上定义暂停位置列表。
在图9示出的实例中,列表510包括两个转变标识符512和514。转变标识符512可以与转变502一致,而转变标识符514可以与转变506相一致。通过将转变标识符512和转变标识符514添加到列表510中,用户请求配方500在到达转变502和506后被暂停。换句话说,转变502和506总是被中止。为了执行配方500的批重新开始和为了502到506的转变能够激活,批子系统30必须从用户接收显式命令。
还设想了,一旦到达转移502和506中的每一个,那么子系统30可以自动地同步配方500的批执行。为此,用户接口32可以提供控制,例如对话框或命令提示符,以允许用户在手动和自动同步模式之间选择。例如,当一个用户知道配方的新版本应该无条件地取代所有之前的版本并且知道在可能没有操作员来手动更新时,新版本也可能变得可用,他或她可能更喜欢自动模式。响应于检测到用户已经选择了自动模式,批子系统可以在转移502和506处中断配方500的执行,在配置数据库34处检查更新是否可用,并且如果新版本可用,则把新版本应用于一个或多个对应的批运行器。然后,批子系统可以把该事件记录到数据历史纪录器14中,并从暂停的同一状态恢复执行(即进行热再同步)。
参见图10,批运行时间进程284可以周期地查询配置数据库34以检测配方的变化。批子系统30可以向用户接口32提供关于检测到的变化的指示。如本领域技术人员将认识到的,可能有许多操作员和工程师在配置和管理加工厂控制网络10。结果,工程师可能创建了配方的新版本,而一些操作员可能不知道有可用的更新。为了最小化错过的人员交流的影响,用户接口32可以在批配置和控制工具中使用可视指示器,例如示例窗口550。
特别地,窗口550可以包括当前运行的批555的列表。优选地,用户可以调用来自加工厂控制网络10中运行的每个软件模块的、并且适于查看或配置批执行环境的窗口550。例如,DeltaV环境可以把出口550作为批操作软件以及批操作接口软件的一部分提供。
对于每个活动批,列表555可以包括批标识指示器557、配方标识指示器559和状态指示器561。另外,窗口550可以包括批操作控制,例如开始、停止和挂起按钮565。进一步地,通过操作按钮567,用户可以把所选批的运行置于手动控制之下。更进一步地,用户可以通过操作按钮569来同步所选的批。为了让用户有效地调用启动、停止、挂起和再同步选项,列表555可以包括更新指示器570。如图10中所示,可在对应于最近更新的配方的那一行中,激活更新指示器570。例如,在批001启动之后,配方001已经被更新过了,但是操作员可能不知道该更新。
用户可以双击示出更新指示器570的那一行,或以类似的方式,来调用详细配方窗口575。详细配方窗口575可以加亮或以其它方式标出其中批运行时进程284已经检测到一个或多个变化的配方的一个或多个部分。在图10中示出的示例中,批001当前执行的配方中包括的配方元素580不同于新版本。用户可以查看配方元素580的变化并以手动或自动方式同步配方001。
尽管已经参照仅用作说明目的而非用于限制本发明的具体示例说明了本发明,但是对于本领域技术人员来说,很明显可以在不背离本发明的精神和范围的情况下,对所公开的实施例进行改变、增加和删除。
Claims (32)
1、一种根据产品配方在制造环境中执行批处理的方法,其中所述产品配方指定多个动作和多个参数,所述方法包括:
进行与所述产品配方的第一版本相对应的批处理的至少一个动作;
接收所述产品配方的第二版本,其中所述产品配方的第二版本与所述产品配方的第一版本不同;
在完成所述批处理之前,暂停执行所述批处理;和
根据所述产品配方的第二版本再继续执行所述批处理。
2、根据权利要求1所述的方法,其中根据所述产品配方执行所述批处理包括执行多个步骤,各步骤对应于包括至少一项操作的单元程序,各项操作具有至少一个阶段;并且其中当满足与所述多个步骤中的第一步骤相关联的条件时,所述批处理从所述多个步骤中的第一步骤转变到所述多个步骤中的第二步骤。
3、根据权利要求2所述的方法,其中接收所述产品配方的第二版本包括接收在单元程序、操作或阶段中的至少一个上与所述产品配方的第一版本不同的产品配方的第二版本。
4、根据权利要求2所述的方法,其中根据所述产品配方执行所述批处理包括根据符合ANSI/ISA-88(S88)标准的产品配方执行所述批处理。
5、根据权利要求1所述的方法,进一步包括:
接收指定所述批处理的至少一个同步点的配置数据,其中所述至少一个同步点对应于能够暂停所述批处理的、所述产品配方的第一版本中多个动作中的两个或更多动作之间的事务处理。
6、根据权利要求5所述的方法,其中根据所述配方的第二版本再继续执行所述批处理包括一旦到达所述至少一个同步点,即自动选择所述配方的第二版本。
7、根据权利要求5所述的方法,其中接收所述配置数据包括在进行所述批处理的至少一个动作之前,接收所述配置数据;并且其中暂停执行所述批处理包括:
当到达所述至少一个同步点时,暂停执行所述批处理;和
向用户界面报告执行所述批处理的暂停;所述方法进一步包括:
响应于从所述用户界面接收到第一命令而根据所述配方的第一版本再继续执行所述批处理;并且其中
根据所述配方的第二版本再继续执行所述批处理包括响应于从所述用户界面接收到第二命令而根据所述配方的第二版本再继续执行所述批处理。
8、根据权利要求5所述的方法,其中接收配置数据包括接收指定多个同步点的配置数据,其中暂停执行所述批处理包括:
每当到达所述多个同步点之一时,暂停执行所述批处理;
发起查询来检测所述配方的第二版本的可用性;和
如果所述配方的第二版本不可用,则根据所述配方的第一版本再继续执行所述批处理。
9、根据权利要求1所述的方法,其中根据所述产品配方的第二版本再继续执行所述批处理包括从授权用户接收确认。
10、根据权利要求1所述的方法,进一步包括将事件信息保存在永久性存储器中,其中所述事件信息对应于所述多个动作中一个或若干个动作的完成。
11、根据权利要求1所述的方法,其中接收所述产品配方的第二版本包括:
将所述配方的第二版本与所述配方的第一版本进行比较,以生成指示所述配方的第一版本与所述配方的第二版本之间的差异的报告;和
向用户界面发送所述报告。
12、一种根据指定多个动作的产品配方控制在制造环境中执行的批处理的系统,包括:
批运行器,通信连接至过程控制设备以在所述过程控制设备上执行所述批处理;
批管理器,通信连接至所述批运行器以至少通过启动所述批处理的第一命令和停止所述批处理的第二命令来控制所述批运行器;和
批运行时间模块,检测对所述配方的修改,并向所述批管理器报告指示所检测到的修改的数据;
其中所述批管理器在所述批运行器完成所述批处理的执行之前,将所述配方中的改变应用于所述批运行器。
13、根据权利要求12所述的系统,其中所述配方包括多个单元程序;并且其中对所述配方的修改包括向所述配方添加新的单元程序。
14、根据权利要求12所述的系统,其中所述配方包括多个单元程序;其中所述修改包括对所述多个单元程序之一中至少一个步骤的改变;并且其中所述多个单元程序之一被指派以与所述多个单元程序之一的原始名称相关联的新版本标识符。
15、根据权利要求12所述的系统,其中所述修改包括对所述多个动作中两个动作之间的转变相关联的逻辑操作数的改变。
16、根据权利要求12所述的系统,进一步包括存储指示所述多个动作之间的转变的事件数据的永久性存储器。
17、根据权利要求12所述的系统,进一步包括通信连接至所述批管理器的用户界面,所述用户界面包括:
第一功能,接收使所述配方与包括所述修改的配方的新版本同步的用户请求,并将所述配方的新版本应用于所述批运行器。
18、根据权利要求17所述的系统,其中所述用户界面进一步包括:
第二功能,向所述用户提供活动批运行器列表;和
第三功能,从所述用户接收选自所述有效批运行器列表的活动批运行器。
19、根据权利要求17所述的系统,其中所述用户界面进一步包括:
第二功能,在将所述配方的新版本应用于所述批运行器之前,验证用户鉴权信息。
20、根据权利要求17所述的系统,其中所述用户界面进一步包括:
第二功能,接收指定所述配方的同步点集的配置数据,其中所述同步点集中的各同步点对应于能够暂停所述批运行器的、所述配方的多个动作中两个动作之间的相应事务处理。
21、根据权利要求12所述的系统,进一步包括:
验证模块,确定所述修改是否违反所述配方的逻辑,并生成验证指示器;其中仅在所述验证指示器没有指示违反所述逻辑的情况下,所述批管理器将所述配方中的改变应用于所述批运行器。
22、根据权利要求12所述的系统,其中所述批运行时间模块生成指示对所述配方的修改的报告,并向用户发送所生成的报告。
23、一种根据产品配方在加工厂内执行多个批处理的方法,其中所述产品配方执行多个动作和多个参数,所述方法包括:
接收所述产品配方的第一版本;
将所述产品配方的第一版本应用于第一批运行器和第二批运行器,其中所述第一批运行器和所述第二批运行器中的每一个利用相应的过程控制设备来控制所述产品配方的执行;
在所述第一批运行器和所述第二批运行器中的每一个处发起符合所述产品配方的第一版本的相应批运行;
接收所述产品配方的第二版本,其中所述产品配方的第二版本与所述产品配方的第一版本在所述多个动作中的至少一个动作或所述多个参数中的至少一个参数上不同;
暂停所述批运行在所述第一批运行器处的执行;
在所述第一运行器完成所述配方的第一版本的执行之前,将所述配方的第二版本应用于所述第一批运行器;和
根据所述配方的第二版本,再继续所述批运行在所述第一批运行器处的执行。
24、根据权利要求23所述的方法,进一步包括:
根据所述配方的第二版本完成所述批运行在所述第一批运行器处的执行;
根据所述配方的第一版本完成所述批运行在所述第二批运行器处的执行;
从所述第一批运行器和所述第二批运行器接收执行结果;和
基于所述执行结果从所述第一版本和所述第二版本中选择。
25、根据权利要求24所述的方法,其中基于所述执行结果从所述第一版本和所述第二版本中选择包括:
生成指示所述执行结果的用户报告;和
接收指示选择所述产品配方的第一版本还是所述产品配方的第二版本的用户选择。
26、根据权利要求24所述的方法,其中基于所述执行结果从所述第一版本和所述第二版本中选择包括如果不满意与所述第一批运行器相关联的执行结果,在所述第一批运行器处转向所述产品配方的第一版本。
27、根据权利要求24所述的方法,其中所述暂停所述批运行在所述第一批运行器处的执行包括响应于接收到用户命令而暂停所述批运行的执行。
28、根据权利要求24所述的方法,其中暂停所述批运行在所述第一批运行器处的执行包括响应于检测到与所述批运行的执行相关联的预定义条件而自动暂停所述批运行的执行。
29、根据权利要求24所述的方法,进一步包括:
将所述配方的第一版本与同步点集相关联,各同步点指定所述多个动作中两个或更多动作之间的转变,在所述同步点处,允许暂停对应批运行器的执行。
30、根据权利要求29所述的方法,其中暂停所述批运行在所述第一批运行器处的执行包括:
检索所述第一批运行器的当前状态信息,其中所述当前状态指定所述多个动作中正在被所述批运行器执行的一个动作,或所述多个动作中两个或更多动作之间的事务处理;和
将所述当前状态信息与所述同步点集进行比较,以确定所述批运行器的当前状态下,所述配方的第二版本是否能够应用于所述第一批运行器。
31、根据权利要求24所述的方法,进一步包括通过在将所述配方的第二版本应用于所述第一批运行器之前,检验与所述配方的第二版本相关联的配方逻辑来验证所述配方的第二版本。
32、根据权利要求24所述的方法,其中所述过程控制设备包括多个现场装置,各现场装置在加工厂中执行测量或控制功能中的至少一个;其中所述第一批运行器和所述第二批运行器中的每一个与连接到所述多个现场装置的至少一个过程控制器通信;并且其中在所述第一批运行器和所述第二批运行器的每一个处发起相应批运行包括将对应于所述配方的第一版本的指令集下载到所述过程控制器。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US97436807P | 2007-09-21 | 2007-09-21 | |
US60/974,368 | 2007-09-21 | ||
US12/234,117 | 2008-09-19 | ||
US12/234,117 US8369975B2 (en) | 2007-09-21 | 2008-09-19 | Online recipe synchronization in a real-time batch executive environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101403913A true CN101403913A (zh) | 2009-04-08 |
CN101403913B CN101403913B (zh) | 2013-07-24 |
Family
ID=40225459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101662032A Active CN101403913B (zh) | 2007-09-21 | 2008-09-22 | 实时批执行程序环境中的联机配方同步 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101403913B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102194051A (zh) * | 2010-03-10 | 2011-09-21 | 株式会社岛津制作所 | 用于液相色谱仪的分析系统以及分析方法 |
CN104303117A (zh) * | 2012-03-23 | 2015-01-21 | 霍尼韦尔国际公司 | 用于定期自动化生产的鲁棒实时控制的系统和方法 |
CN104571003A (zh) * | 2013-10-29 | 2015-04-29 | 株式会社安川电机 | 工业设备管理系统、工业设备管理服务器、及工业设备管理方法 |
CN106249701A (zh) * | 2015-06-05 | 2016-12-21 | 朗姆研究公司 | 用于使配方集的执行同步的系统和方法 |
CN108806089A (zh) * | 2018-06-14 | 2018-11-13 | 四川爱创科技有限公司 | 混合饮品售卖机的料仓、原料及配方管理系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070156272A1 (en) * | 2005-12-30 | 2007-07-05 | Winstead Charles H | Integrated configuration, flow and execution system for semiconductor device experimental flows and production flows |
US20070212846A1 (en) * | 2006-03-08 | 2007-09-13 | Tokyo Electron Limited | Substrate processing apparatus, method for examining substrate processing conditions, and storage medium |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4866596A (en) * | 1986-07-21 | 1989-09-12 | The Babcock & Wilcox Company | Automatic system for sequential control and fault detection of devices used in batch processes |
US7369912B2 (en) * | 2003-05-29 | 2008-05-06 | Fisher-Rosemount Systems, Inc. | Batch execution engine with independent batch execution processes |
US7680970B2 (en) * | 2004-10-22 | 2010-03-16 | Fisher-Rosemount Systems, Inc. | Method and system for batch process arbitration in a process control system |
-
2008
- 2008-09-22 CN CN2008101662032A patent/CN101403913B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070156272A1 (en) * | 2005-12-30 | 2007-07-05 | Winstead Charles H | Integrated configuration, flow and execution system for semiconductor device experimental flows and production flows |
US20070212846A1 (en) * | 2006-03-08 | 2007-09-13 | Tokyo Electron Limited | Substrate processing apparatus, method for examining substrate processing conditions, and storage medium |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102194051A (zh) * | 2010-03-10 | 2011-09-21 | 株式会社岛津制作所 | 用于液相色谱仪的分析系统以及分析方法 |
CN104303117A (zh) * | 2012-03-23 | 2015-01-21 | 霍尼韦尔国际公司 | 用于定期自动化生产的鲁棒实时控制的系统和方法 |
CN104303117B (zh) * | 2012-03-23 | 2017-04-12 | 霍尼韦尔国际公司 | 用于定期自动化生产的鲁棒实时控制的系统和方法 |
CN104571003A (zh) * | 2013-10-29 | 2015-04-29 | 株式会社安川电机 | 工业设备管理系统、工业设备管理服务器、及工业设备管理方法 |
CN106249701A (zh) * | 2015-06-05 | 2016-12-21 | 朗姆研究公司 | 用于使配方集的执行同步的系统和方法 |
CN106249701B (zh) * | 2015-06-05 | 2020-03-17 | 朗姆研究公司 | 用于使配方集的执行同步的系统和方法 |
CN108806089A (zh) * | 2018-06-14 | 2018-11-13 | 四川爱创科技有限公司 | 混合饮品售卖机的料仓、原料及配方管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101403913B (zh) | 2013-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2088491B1 (en) | Online recipe synchronization in a real-time batch executive environment | |
JP4576159B2 (ja) | 独立バッチ実行プロセスを有するバッチ実行エンジン | |
US8463964B2 (en) | Methods and apparatus for control configuration with enhanced change-tracking | |
JP6088001B2 (ja) | プロセス管理環境内でモジュール実行シーケンスを管理する方法及び装置 | |
CN101446822B (zh) | 在过程系统中用于批处理及执行的方法及系统 | |
CN101533261B (zh) | 用于过程控制系统中的智能控制和监控的方法和设备 | |
US8606379B2 (en) | Method of generating a product recipe for execution in batch processing | |
JP4902902B2 (ja) | バッチ処理システム及びバッチ制御システム | |
CN101403913B (zh) | 实时批执行程序环境中的联机配方同步 | |
JP5737842B2 (ja) | プロセス制御システムにおいて分散型設備調停を提供する方法 | |
CN101436063B (zh) | 用于执行辅助配方及批处理配方的方法及设备 | |
US20100087935A1 (en) | Complete integration of stand-alone batch operator interface capabilities into generic human machine interface using componentized objects | |
JP6955309B2 (ja) | 多変量バッチ制御解析のためのステージを画定する方法及び装置、製造物品 | |
US20150153725A1 (en) | System and method for batch control processing | |
US11314216B2 (en) | Remote deployment and commissioning of workstations within a distributed control system | |
US20020087226A1 (en) | Machine models assembly including bin access control | |
US8326764B1 (en) | Factory automation transactions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |