CN104298189A - 具有在状态间转换的用户可定义的动作的状态机功能块 - Google Patents
具有在状态间转换的用户可定义的动作的状态机功能块 Download PDFInfo
- Publication number
- CN104298189A CN104298189A CN201410332331.5A CN201410332331A CN104298189A CN 104298189 A CN104298189 A CN 104298189A CN 201410332331 A CN201410332331 A CN 201410332331A CN 104298189 A CN104298189 A CN 104298189A
- Authority
- CN
- China
- Prior art keywords
- state
- state machine
- unit
- input
- action
- 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
- 230000009471 action Effects 0.000 title claims abstract description 112
- 230000007704 transition Effects 0.000 title abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 130
- 230000008569 process Effects 0.000 claims abstract description 76
- 239000011159 matrix material Substances 0.000 claims description 61
- 230000008859 change Effects 0.000 claims description 44
- 238000004886 process control Methods 0.000 claims description 37
- 238000006243 chemical reaction Methods 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 8
- 238000004088 simulation Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 abstract description 19
- 230000006870 function Effects 0.000 description 50
- 238000002485 combustion reaction Methods 0.000 description 10
- 238000012360 testing method Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 238000009423 ventilation Methods 0.000 description 5
- 102100023696 Histone-lysine N-methyltransferase SETDB1 Human genes 0.000 description 3
- 101710168120 Histone-lysine N-methyltransferase SETDB1 Proteins 0.000 description 3
- 238000011217 control strategy Methods 0.000 description 3
- 238000012369 In process control Methods 0.000 description 2
- 238000003723 Smelting Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000007599 discharging Methods 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 238000010965 in-process control Methods 0.000 description 2
- 238000012905 input function Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 231100000481 chemical toxicant Toxicity 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003863 physical function Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 239000003440 toxic substance Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/402—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position
-
- 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]
-
- 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/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- 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/41835—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 programme execution
-
- 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
- G05B9/00—Safety arrangements
- G05B9/02—Safety arrangements electric
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23289—State logic control, finite state, tasks, machine, fsm
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40585—Chemical, biological sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Programmable Controllers (AREA)
Abstract
过程工厂内的控制***、安全***等可以每个都使用能够被容易地集成到功能块图表编程环境中的一个或多个状态机功能块。这种状态机功能块可以包括一个或多个输入,其可以使得由状态机功能块实现的状态机识别下一状态以及根据从当前状态转换至下一状态而执行的一个或多个转换动作。可以基于状态机的当前状态和下一状态以及至少一个输入从数据库获得与转换动作相关联的配置数据。状态机功能块还可以包括基于状态转换而产生的一个或多个输出。
Description
技术领域
本公开涉及用于过程工厂的功能块,更具体地,涉及配置和实现与过程工厂相关联的状态机。
背景技术
过程控制***,如在化学、石油或其它过程中使用的那些,通常包括通过模拟的、数字的或组合模拟/数字总线或线路通信地耦接到至少一个主机或操作员工作站并耦接到一个或多个现场设备的一个或多个过程控制器。可以是例如阀、阀***、开关和发送机(例如,温度、压力和流速传感器)的现场设备在过程工厂内执行诸如打开或关闭阀以及测量过程参数的功能。过程控制器接收指示由现场设备所做的过程测量的信号和/或其它与现场设备相关的信息,使用这些信息来实现控制例程,然后产生经总线或线路发送到现场设备的控制信号,以控制过程的运行。通常使由操作员工作站执行的一个或多个应用能够得到来自现场设备和控制器的信息,以使操作员能够相对于过程执行任何期望的功能,诸如配置过程、察看过程的当前状态、修改过程的运行等。
另外,在许多过程中,提供单独的安全***以检测过程工厂内与安全相关的重大问题,并且当发生可能造成或导致工厂中的严重危害问题时,诸如有毒化学物质泄漏、***等时,自动地关闭阀、对设备断电,切换工厂内的流程等。这些安全***通常具有远离标准过程控制控制器的一个或多个单独的控制器,称为逻辑求解器,它们通过安装在过程工厂内的单独的总线或通信线路连接到安全现场设备。逻辑求解器使用安全现场设备来检测与重大事件相关联的过程状况,诸如特定安全开关或关闭阀的位置、过程中的上溢或下溢、重要的功率产生或控制设备的操作、故障检测设备的操作等,从而检测过程工厂内的“事件”。当检测到一事件(通常称为“起因”)时,安全控制器采取一些动作(通常称为“结果”)以限制事件的破坏性,诸如关闭阀、关掉设备、对工厂的一些部件断电等。一般地,这些动作或结果包括将安全设备切换到被设计为防止过程工厂内的严重或危险状况的跳闸或“安全”操作模式。
诸如过程控制***和安全***的过程工厂内的***通常可以保持跟踪各种过程和/或***本身的状态。***的输入信号可能会导致由***所跟踪的状态发生变化,由***产生的输出信号除了***的输入信号之外可能会依赖于***的当前状态。专利号为7,730,415的美国专利,在此以整体并入作为参考,详细描述了过程工厂内的控制***,其使用集成到功能块图表编程环境中的状态机功能块。特别地,这种状态机功能块包括一个或多个输入,其用于使由状态机功能块实现的状态机改变状态。进一步地,该状态机功能块基于指示下一状态的状态转换配置数据来确定它要转换的下一种状态。状态转换配置数据基于状态机的当前状态和至少一个输入从数据库获得。状态机功能块还包括基于状态机的状态而产生的一个或多个输出。状态机功能块的输入与例如过程控制***或安全***相关联,输出可以用于例如过程控制***或安全***中的现场设备的控制。
然而,当前的过程控制***不具有自动地执行与转换出当前状态或转换入下一状态相关联的各种动作或功能的能力。替代地,当前的过程控制***的用户或管理员在状态转换期间必须手动地执行或实现动作或功能。因此,当前的过程控制***在其执行特定的安全测量,控制技术或者与状态转换相关联的其他特性的能力上是有限的。
发明内容
在此描述的***和方法涉及管理过程控制环境的状态之间的转换。过程控制***和方法可以实现状态机,其包括基于置为有效的输入识别状态机的各种状态之间的转换的转换表格。转换表格还可以指定用于过程控制***的一个或多个转换动作和执行的与从当前状态转换至下一状态相关联的方法。根据实施例,转换动作可以是转换入动作和/或转换出动作的形式。过程控制***和方法可以执行与转换出当前状态相关联的转换出动作以及可以在适应于下一状态之前执行转换入动作。在一些实施例中,过程控制***和方法可以将与转换动作相关联的配置数据提供给另一功能块用于该功能块来执行。过程控制***和方法可以额外地设置对应于当前状态和转换动作的输出。
根据一些实施例,过程控制***和方法能够通过由图形用户接口显示的矩阵来管理转换表格。矩阵的各种单元能够指示状态转换数据,该状态转换数据识别与置为有效的输入相关联的各种状态转换,以及与状态转换相关联的将要执行转换动作。矩阵能够经由计算机或其用户完全地可配置的,以执行状态转换及与其相关联的转换动作。因此,功能块能够访问适当的矩阵以有助于状态转换,自动地执行相关联的转换动作和设置适当的输出。
与传统的过程控制技术相比,在此描述的过程控制***和方法的实施例可以导致更有效和高效率的过程控制技术。例如,转换动作使得过程控制***和方法能够自动地执行与转换出当前状态和转换入下一状态相关联的动作,由此减少对用户手动地执行与状态转换相关联的过程的需求。
附图说明
通过参考下面详细说明和附图将更好地理解下文所述的方法、装置和***的特点和优点,在附图中:
图1是一个示例过程工厂的方框图;
图2是示意地在图1中说明的一个示例工作站的方框图;
图3是描述控制模块的显示的一个示例;
图4是状态机功能块的示例表示;
图5是用于输入状态机功能块的状态配置数据及与其相关联的转换动作数据的示例矩阵;
图6是其中在矩阵中显示状态配置数据及与其相关联的转换动作数据的图5的示例矩阵;
图7是具有转换动作功能的状态机功能块的操作的示例方法的流程图;
图8是并入转换动作功能的示例状态机功能块的方框图;
图9是具有转换动作功能的状态机功能块的操作的另一示例方法的流程图;
图10是用于处理到状态机功能块的数据输入的一个示例例程的流程图;
图11是用于处理到状态机功能块的使能输入的一个示例例程的流程图;
图12是用于改变状态和设置包括状态机功能块的转换动作输出的输出的示例例程的流程图;
图13是输入用于状态机功能块的包括转换动作的输出配置数据的示例矩阵;
图14是另一示例状态机功能块的方框图;
图15是输入用于状态机功能块的状态配置数据及与其相关联的转换动作数据的示例状态转换图。
具体实施方式
过程工厂示例
图1是包括一个或多个节点12、16、18和20的一个示例过程工厂10的方框图。在图1的示例过程工厂10中,节点12和16的每一个包括通过输入/输出(I/O)设备24连接到一个或多个现场设备22和23的过程控制器12a、16a,其中输入/输出(I/O)设备24可以是例如Foundadon Field bus接口、HART接口等。控制器12a和16a还通过网络30耦接到节点18和20中的一个或多个主机或操作员工作站18a和20a,其中网络30可以包含,例如一个或多个总线、诸如Ethernet LAN的有线局域网(LAN)、无线LAN、广域网(WAN)、内联网等。尽管与之相关联的控制器节点12、16和I/O设备24和现场设备22、23通常在有时恶劣的工厂环境内由中心向远处放置和分布在有时恶劣的工厂环境中,但操作员工作站节点18和20经常位于控制器人员容易到达的控制房中或其它不很恶劣的环境中。
一般而言,节点18和20的工作站18a和20a可用来存储和执行用于配置和监视过程工厂10、和/或管理过程工厂10中的设备22、23、24和控制器12a、16a的应用程序。并且,数据库32可以连接到网络30并作为数据历史和/或配置数据库运行,该数据库存储下载到和/或存储在节点12、16、18、20、22、23、24、50和70内的过程工厂10的当前配置。
例如可以是由Emerson Process Management销售的DeltaVTM控制器的每个控制器12a和16a可以存储和执行通过使用数个不同的独立执行的控制模块或块来实现控制策略的控制器应用。每个控制模块可以由通常被称为功能块的块构成,其中每个功能块是整个控制例程的一部分或一个子例程,并与其它功能模块相结合(经由被称为链路的通信)进行操作以实现过程工厂10内的过程控制环。如熟知的那样,功能块通常执行输入功能(诸如与发送器、传感器或其它过程参数测量设备相关联的输入功能)、控制功能(诸如与执行譬如PID、模糊逻辑等各种控制的控制例程相关联的控制功能)或控制一些设备(诸如阀)的操作的输出功能之一,以执行过程工厂10内的一些物理功能。当然存在和可以使用混合的和其它类型的功能块。尽管fieldbus协议和DeltaVTM***协议可使用以面向对象的编程协议设计和实现的控制模块和功能块,也可使用包括例如顺序功能块、阶梯逻辑等的任何期望的控制编程方案来设计控制模块,并且不限于使用功能块或任何其它特定编程技术来进行设计。作为典型,存储在过程控制节点12和16内的控制模块的配置可被存储在可由工作站18a和20a执行的应用访问的配置数据库32中。通常当功能块用于或与标准4-20mA设备和诸如HART设备的一些类型智能现场设备相关联的情况下,这些功能块可以存储在例如控制器12a、16a中并由控制器12a、16a执行,或者在Fieldbus设备的情况下,可以存储在现场设备本身中并由现场备本身来实现。
在图1中说明的***中,耦接到控制器12a和16a的现场设备22和23可以是标准4-20mA设备,或可以是诸如HART、Profibus、或Foundation Fieldbus现场设备的包括处理器和存储器的智能现场设备。这些设备的一些,诸如Foundation Fieldbus现场设备(图1中以附图标记23标示)可以存储和执行与在控制器12a和16a中实现的控制策略相关联的诸如功能块的模块、或子模块。当然,现场设备22、23可以是任何类型的设备,诸如传感器、阀、发送器、***等。I/O设备24可以是符合诸如HART、Foundation Fieldbus、Profibus等的任何期望的通信或控制器协议的任何类型的I/O设备。
控制器12a和16a的每个包括实现或监视存储在存储器中的一个或多个过程控制例程的处理器,该过程控制例程可以包括控制环路,存储于其中或与之相关联。控制器12a和16a与现场设备22、23,工作站18a、20a和数据库32进行通信,从而以任何期望的方式来控制过程。控制器12a和16a的每个可以配置为以任何期望的方式来实现控制策略或控制例程。应当理解的是,控制器12a和16a可以经由无线连接与现场设备22,23,工作站18a,20a和数据库32进行通信。
过程工厂I/O还可以包括与过程控制节点12和16集成的安全***14(由点划线表示)。安全******14一般地可以作为安全测量***(SIS,Safety Instrumented System)运行,以监视和超控(override)由过程控制节点12和16提供的控制,从而最大化过程工厂10的可能安全操作。
节点12和16的每一个可以包括一个或多个安全***逻辑求解器50。每个逻辑求解器50是具有处理器和存储器的I/O设备,并被配置为执行存储在存储器中的安全逻辑模块。可通信地耦接至每个逻辑求解器50,以向安全***现场设备60和62提供控制信号和/或从安全***现场设备60和62接收信号。另外,节点12和16的每一个包括至少一个消息广播设备(MPD)70,它通过环或总线连接74(仅其一部分在图1中说明)通信地耦接到其它MPD70。一般地安全***逻辑求解器50、安全***现场设备60和62、MPD70和总线74构成图1的安全***14。
图1的逻辑求解器50可以是包括处理器和存储安全逻辑模块的存储器的任何期望类型的安全***控制设备,其中该安全逻辑模块适合于在处理器上执行以提供与使用现场设备60和62的安全***14相关联的控制功能。当然,安全现场设备60和62可以是符合或使用任何或期望通信协议,诸如上面提及的那些的任何期望类型的现场设备。特别地,现场设备60和62可以是传统上由单独的、专用的与安全相关的控制***控制的那种类型的与安全相关的现场设备。在图1所示的过程工厂10中,安全现场设备60被描述为使用诸如HART或4-20mA协议的专用或点到点通信协议,而安全现场设备62被说明为使用诸如Fieldbus协议的总线通信协议。安全现场设备60可以执行诸如关闭阀、关闭开关等的任何期望功能。
在每个节点12和16中可以使用公用底板(未示出),以通信地将控制器12a和16a耦接到过程控制I/O卡24、耦接到安全逻辑求解器50和耦接到MPD70。控制器12a和16a还通信地耦接到网络30。控制器12a和16a、I/O设备24、逻辑求解器50和MPD70可以通过网络30与节点18和20进行通信。
如本领域的普通技术人员将会理解的,节点12、16中的底板(未示出)使逻辑求解器50能够在本地互相通信以协调由这些设备实现的安全功能、互相传送数据、和/或执行其它集成的功能。相似地,节点16中的底板(未示出)能够使逻辑求解器50在本地互相通信以协调由这些设备实现的安全功能、互相传送数据、和/或执行其它集成的功能。另一方面,MPD70进行操作以使得设置在工厂10的非常不同位置的安全***14的部件仍能够互相通信,以在过程工厂10的不同节点提供协调的安全操作。特别地,MPD70与总线74相结合使与过程工厂10的不同节点12和16相关联的逻辑求解器50能够通信地级联在一起,以允许根据所分配的优先级来级联过程工厂10内与安全相关的功能。MPD70和总线74为安全***提供作为网络30的替代物的通信链路。
替代地,过程工厂10内不同位置上的两个或多个与安全相关的功能可以互锁或互连,而不用在工厂10的单独区域或节点内向单独的安全现场设备布设专用线路。换言之,MPD70和72和总线74的使用使得安全工程师能够设计和配置在特性上遍及过程工厂10分布但其不同组件通信地互连的安全***14,从而使与安全相关的不同硬件能够按需互相通信。该特征还提供了安全***14的可缩放性,当需要额外的安全逻辑求解器时或当新的过程控制节点被添加到过程工厂10时,它使额外的安全逻辑求解器能够被添加到安全***14。
图2是示例工作站18a(工作站20a可以包括相同或相似的设备)的方框图。工作站18a可以包括至少一个处理器100,易失性存储器104和非易失性存储器108。易失性存储器104可以包括,例如随机存取存储器(RAM)。在一些实施例中,可以由一个或多个电池来备份RAM,以便在掉电时不丢失数据。非易失性存储器108可以包括,例如一个或多个硬盘、只读存储器(ROM)、高密度盘ROM(CD-ROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电子可擦除可编程ROM(EEPROM)、数字多用途盘(DVD)、闪存等。工作站18a还可以包括工作站I/O设备112。处理器100、易失性存储器104、非易失性存储器108和工作站I/O设备112可以通过地址/数据总线116互连。工作站18a还可以包括至少一个显示设备120和至少一个用户输入设备124,其可以是,例如一个或多个键盘、键区、鼠标、跟踪球、触摸屏、光笔等。在一些实施例中,易失性存储器104、非易失性存储器108和工作站I/O设备112中的一个或多个可以通过与地址/数据总线116分离的总线(未示出)耦接到处理器100,或可以直接地耦接到处理器100。
显示设备120和用户输入设备124与工作站I/O设备112耦接。另外,工作站18a通过工作站I/O设备112耦接到网络30。尽管在图2中将工作站I/O设备112说明为一个设备,它也可以包括几个设备。另外,在一些实施例中,一个或多个显示设备120和用户输入设备124可以直接地耦接到地址/数据总线116或耦接到处理器100。
现在参考图1和图2,与一个或多个控制节点12、16相关联的过程控制配置应用可以存储在一个或多个工作站18a和20a上并由一个或多个工作站18a和20a执行。例如,过程控制配置应用可以存储在非易失性存储器108和/或易失性存储器104,并由处理器100执行。然而,如果希望,该应用可以在与过程工厂10相关联的其它计算机中存储和执行。一般而言,过程控制配置应用允许程序员创建和配置将由控制器12a、16a,I/O设备24和/或现场设备22、23实现的控制例程、控制模块、功能模块、程序、逻辑等。这些控制例程、控制模块、功能模块、程序、逻辑等然后可以通过网络30下载到控制器12a、16a,I/O设备24和/或现场设备22、23中的适当的设备。
相似地,与安全***14相关联的安全***配置应用可以存储在一个或多个工作站18a和20a并由一个或多个工作站18a和20a执行。例如,安全***配置应用可以存储在非易失性存储器108和/或易失性存储器104中,并由处理器100执行。然而,如果希望,该应用可以在与过程工厂10相关联的其它计算机中存储和执行。一般而言,安全***配置应用允许程序员创建和配置将由控制嚣12a、16a,逻辑求解器50和/或设备60、62实现的控制例程、控制模块、功能模块、程序、逻辑等。这些控制例程、控制模块、功能模块、程序、逻辑等然后可以通过网络30下载到控制器12a、16a,逻辑求解器50和/或设备60、62中的适当的设备。
状态机功能块
控制***或安全***配置应用可以允许编程控制模块和/或控制例程使用功能块编程范例。图3说明了描述控制模块154的显示150的一个示例。显示150可以是与配置应用相关联的用户接口的一部分,并且显示150可以,例如通过工作站18a的显示设备120呈现给程序员。显示150描述了具有一组通信地互连的功能块的控制模块154,所述功能块可以被创建并通过网络30下载到控制器12a、16a,I/O设备24,逻辑求解器50和/或设备22、23、60、62中的适当的设备,用于在过程工厂的操作期间实施。如图3中所示的,控制模块154包括状态机功能块(SMFB)160、多个模拟输入(AI)和数字输入(DI)功能块、多个模拟输出(AO)和数字输出(DO)功能块和其它功能块(FB)。SMFB160具有通信地与可以是,例如DI功能块或其它FB的功能块114互连的输入。SMFB160还具有连接到可以是,例如DO功能块或其它FB的功能块118的输出。控制模块154可以控制,或可以是一起控制的多个控制模块之一,控制诸如开关、阀等的设备,作为控制***,安全***等的一部分。当然,控制模块154仅仅是利用SMFB的控制模块的一个示例。一般地,可以用任何期望的方式来编程控制模块,以包含以任何期望的方式通信地连接到任何数目的SMFB的任何类型的功能块,以及可以用任何期望的或有用的方式配置控制模块,以执行任何期望的功能。如果,例如在Fieldbus网络中使用,则控制模块可以包括任何fieldbus类型功能块。
在一些实施例中,到SMFB160的一个或多个输入可以从一个功能块之外接收。例如,到SMFB160的一个或多个输入可以通信地耦接以通过,例如操作员接口从操作员接收输入。例如,使用在诸如节点18或20上实现的操作员接口的操作员可以提供到SMFB160的输入。
SMFB可以是实现状态机的功能块。在一些实施例中,状态机可以包括能够处于多种状态之一的实体(例如,设备、由处理器实现的软件等)。如果至状态机的特定输入发生,则状态机可以从一种状态转换到另一种状态。SMFB可以提供基于状态机的当前状态的输出。仅作为一个示例,SMFB可以提供指示状态机的当前状态的一个或多个输出。更一般而言,状态机可以包括实体(例如,设备、由处理器实现的软件等),其中存储该实体的状态,或在给定时间包括一些其它实体(例如,过程工厂、过程工厂的子部分、过程工厂的组件等),并且可以改变状态和/或基于至状态机的输入引起动作或将要发生的输出。
使用与配置应用相关联的用户接口,程序员可以设计诸如控制模块154的控制模块。仅仅作为一个示例,用户接口可以向程序员提供从例如模板或包括多个标准化或自定义功能块模板的选项板中选择期望的功能块的机制。另外,用户接口可以提供程序员在其上可以***或放置功能块描述的图形图表。程序员可以使用,例如鼠标、跟踪球、键盘,键区、触摸屏等以从模板或选项板中选择功能块,然后将功能块“拖和放”到图形图表上。程序员还可以使用例如鼠标、跟踪球、键盘、键区、触摸屏等,通过例如在一个功能块的输出和另一个功能块的输入之间划一条线来通信地耦接功能块。
一旦被配置,控制模块154可以由,例如控制器12a、14a、16a、I/O设备24、逻辑求解器50和设备22、23、60、62中的一个或多个来实现。
图4是可以在例如,诸如图3的显示150的用户接口显示上显示的SMFB200的表示的一个示例。SMFB200的表示指示SMFB200包括7个数据输入(IN_D1至IN_D7)和9个数据输出(TRANS_OUT,TRANS_IN,STATE和OUT_D1至OUT_D6)。数据输入一般可以指示过程工厂内的状况,指示操作员命令等,并可以使得由SMFB200实现的状态机改变状态。数据输出可包括对应于SMFB200的状态机的状态的一个或多个指示符,以及对应于将基于该状态被执行的功能或动作的配置项目(item)。例如,STATE输出可以是状态机的状态(例如,状态1、状态2、状态3等)的指示符。输出OUT_D1可以是状态机是否处于状态“状态1”的指示符。类似地,输出OUT_D2、OUT_D3、...OUT_D6可以分别是状态机是否处于状态“状态2”、“状态3”...、“状态6”的指示符。另外地,输出TRANS_OUT可以根据状态机转换出给定状态,指示将被执行的配置项目,以及输入TRANS_IN可以根据状态机转换入给定状态,指示将被执行的配置项目。在一些实施例中,SMFB200可包括多个TRANS_OUT输出和多个TRANS_IN输出。例如,SMFB200可以包括数目等于状态的数目的数个TRANS_OUT输出和数个TRANS_IN输出(也即,每个状态一个TRANS_OUT输出和一个TRANS_IN输出)。应当理解的是,SMFB200可以包括任何数目的TRANS_OUT和TRANS_IN输出。
SMFB200还可以包括除数据输入外的其它输入,诸如ENABLE输入、TRK_VAL输入和TRK_IN_D输入。例如SMFB200可以包括来自另一个SMFB的输入。进一步地,SMFB200还可包括除指示状态或与其相关联的配置项目的输出外的其它输出。将在下面更详细地描述ENABLE、TRK_VAL和TRK_IN_D输入。尽管图4中示出SMFB200具有7个数据输入和9个数据输出,但其它实施例可以包括任何期望数目的数据输入和数据输出。SMFB200的数据输入的数目和数据输出的数目可以配置或不可以配置。在一个实施例中,输出OUT_Dx的数目一般对应于由SMFB200实现的状态机的可能状态的数目,并且可能的状态数目可以是可配置的。然而,输出OUT_D1、OUT_D2等的数目不需要对应于状态机的可能状态的数目。例如,如果有少于输出OUT_D1、OUT_D2等的数目的状态,则额外的输出可以留置不用。
使用与配置程序相关联的用户接口,程序员可以配置一个或多个功能块,诸如SMFB200。关于配置SMFB200,程序员可以指定数个可能的状态,输入如何引起状态机在状态间进行转换,以及状态机在状态之间转换之前,期间或之后执行的任何功能或动作。为允许程序员配置SMFB200,配置应用可以在显示设备120上显示用户接口机制,诸如与功能块相关联的配置窗口、屏幕等。
图5是可以用于至少部分地配置诸如图4的SMFB200的SMFB的用户接口机制的一个示例。该用户接口机制包括可以显示为与SMFB相关联的配置窗口、屏幕等的一部分的表格或矩阵300(下文中称为“矩阵300”)。矩阵300包括以行和列排列的多个单元(302,303,304)。如所示出的,列被设置为3个分组,其中每个分组能够对应于状态机的多个可能状态之一。特别地,每个分组中的中间列对应于状态机的特定状态,如包括在传统状态图表中的。例如,如图5中示出的,标记为“1”的状态是“跳闸(TRIPPED)”状态,标记为“2”的状态是“等待复位(WAIT FOR RESET)”,等等。根据实施例,每个分组中的左侧列对应于当转换入下一状态(“转换入动作,transition-in action”)时状态机执行的配置项目,每个分组中的右侧列对应于当转换出当前状态(“转换出动作,transition-out action”)时状态机执行的配置项目。进一步地,每一行对应于至状态机的输入(例如,“初始(INITIAL)”,“复位允许(RESET PERMIT)”等)。因此,单元302中的每一个(对于每一行以及列的分组重复)指定转换入动作,单元303的每一个(对于每一行以及列的分组重复)指定输入/状态对,以及单元304的每一个(对于每一行以及列的分组重复)指定转换出动作。应当理解的是,单元302,303,304的分组可以集合成单个单元。进一步地,应当理解的是,单元302,303,304中的每一个可以是对应于特定状态的单元的子单元。尽管示例矩阵300包括对于7个输入的行以及6个状态的分组,具有不同数目的状态和输出的分组的类似矩阵可以用于具有不同数目的输入和状态的分组的SMFB。输入和状态的分组的数目可以是可配置的。在其他示例中,行可以对应于状态机的多个可能状态之一(以及与其相关联的转换入和转换出动作),以及每一列可以对应于至状态机的输入。
在运行中,当状态机处于当前状态时,状态机能够基于在该状态机上被置为有效(assert)的输入而从当前状态转换至下一状态。例如,矩阵300能够指定如果状态机处于“正常运作(NORMALOPERATION)”状态(当前状态)并且“请求跳闸(TRIPPEDREQUESTED)”输入被置为有效,那么状态机应当转换至“跳闸(TRIPPED)”状态(下一状态)。在一些情况下,某些状态可以不指定对于某一输入的下一状态转换。
根据实施例,由每一分组中的右边列指定的转换出动作可以是SMFB根据转换出当前状态而执行的一个或多个配置项目,以及由每一分组中的左边列指定的转换入动作可以是SMFB根据转换入下一状态而执行的一个或多个配置项目。在一些实施例中,一个或多个配置项目可以是逻辑的,以定义执行的动作的结构化文本或更高层计算机构造(例如,C,C++,JAVA等)的形式。应当理解的是,一个或多个配置项目可以是以任何类型的编码或可执行逻辑的形式。一个或多个配置项目可以是SMFB在当前状态至下一状态的转换上执行的单个一次性的项目,由此,在一些情形下,一旦到达下一状态,一个或多个配置项目不再继续运行。SMFB首先可以执行转换出动作(也即,离开当前状态使得SMFB执行转换出动作),而不管SMFB正在向哪一状态转换,以及SMFB可以在稳定于下一状态之前执行转换入动作(也即,输入下一状态使得SMFB执行转换入动作),而不管SMFB正从哪一状态转换来。在一些情形下,配置项目(也即,转换入和转换出动作)可以作用于SMFB之外的其他元件或实体(例如,另一功能块)。应当理解的是,可以构想出与转换入动作,转换出动作和状态改变相关联的其他时间上的元件。
参考图4,矩阵300的输入“1”至“7”分别对应于SMFB200的输入IN_D1至IN_D7。相似地,矩阵300的状态“1”至“6”分别对应于SMFB200的输出OUT_D1至OUT_D6。另外,在该示例中程序员可以标记每个可能状态和/或每个输入。例如,在图5中,“状态1”被标记为“跳闸(TRIPPED)”,输入1被标记为“初始(INITIAL)”。标记输入和/或状态可以帮助理解状态机的操作。
程序员可以通过将配置信息输入到单元302,303,304中来配置SMFB200。特别地,对于对应于输入/状态对的一个特定单元,程序员可以将指示SMFB200应该向其转换的状态的配置数据输入到特定单元中。进一步地,对于对应于转换入动作的特定单元,程序员可以将指示当转换入下一状态时SMFB200执行的动作的配置数据输入到特定单元中。仍进一步地,对于对应于转换出动作的特定单元,程序员可以将指示当从当前状态转换时SMFB200执行的动作的配置数据输入到特定单元。
SMFB200可以在状态机转换出当前状态之后,基于相应的转换出配置数据将TRANS_OUT输出置为有效,以执行功能。在一些实施例中,SMFB200可以在状态机转换出当前状态之前,将TRANS_OUT输出置为有效。SMFB200可以在状态机转换出当前状态之后(或者否则在转换出当前状态之前)以及在状态机适应于下一状态之前,基于相应的转换入配置数据将TRANS_IN输出置为有效。在一些实施例中,SMFB200可以在状态机适应于下一状态之后,将TRANS_IN输出置为有效。在一些情形下,SMFB200可以将对应于转换出动作或转换入动作的配置项目作为输入提供给额外的SMFB或过程控制设备以使得额外的SMFB或过程控制设备执行功能,而与此同时SMFB200要么转换出当前状态要么转换入下一状态。因此,第一SMFB的TRANS_OUT输出的激活可以引起第二SMFB转换至下一状态。例如,在第一SMFB控制蒸汽锅炉的过程工厂中,指示第一SMFB从关闭状态转换至点燃状态的第一SMFB的TRANS_OUT输出可以在第一SMFB点燃锅炉之前,使得控制锅炉排气风扇的第二SMFB从风扇关闭状态转换至风扇运行状态一段时间。因此,在锅炉被点燃之前,锅炉内建立的任何***气体都被排放掉了。
图6是具有输入到单元的一些中的配置数据的矩阵300的一个示例。例如,单元303A包括指示当状态机处于“跳闸”状态并且将“复位允许(RESET PERMIT)”输入置为有效时状态机应该转换至的下一状态的配置数据。特别地,单元303A的配置数据指示状态机应该转换到“准备好复位(READY FOR RESET)”状态。进一步地,单元302A包括对应于当转换入“准备好复位”状态时SMFB应当执行的“动作A(ACTION A)”的配置数据,以及单元304A包括对应于当从“跳闸”状态转换时SMFB应当执行的“动作B(ACTION B)”的配置数据。类似地,单元303B包括指示当“复位(RESET)”输入被置为有效时状态机应当(从“准备好复位”)转换至“等待开始(WAITING FOR START)”状态的配置数据,单元302B包括对应于当转换入“等待开始”状态时状态机应当执行的“动作C(ACTIONC)”的配置数据,以及单元304B包括对应于当从“准备好复位”状态转换时状态机应当执行的“动作D(ACTION D)”的配置数据。应当理解的是,动作A,动作B,动作C,动作D等可以对应于在此描述的可由SMFB或其他元件执行的任何功能或动作。
此外,特定单元或单元组可以包括转换入动作而不包括转换出动作,反之亦然。例如,单元303C包括指示当在“请求跳闸”输入被置为有效时状态机应当(从“等待开始”状态)转换至“跳闸”状态的配置数据,以及单元302C包括对应于当转换入“跳闸”状态时状态机应当执行的“动作E(ACTION E)”的配置数据。然而,单元303C不具有相应的TRANS_OUT配置项目。因此,如果状态机处于“等待开始”状态并且“请求跳闸”输入被置为有效,那么SMFB可以根据从“等待开始”转换至“跳闸”来执行动作E(ACTION E)”。类似地,输入/状态对(例如在单元303D中的输入/状态对)可以不具有相应的TRANS_IN或TRANS_OUT配置项目的任一个。因此,状态机可以从当前状态转换至下一状态,而无需执行相应的TRANS_IN或TRANS_OUT配置项目的任一个。
在一些实施例中,如果程序员没有输入配置数据到单元中,则可以假定对于那个特定状态和输入,不应发生状态转换。例如,单元302E,303E和304E不包括配置数据,指示当状态机处于“跳闸(TRIPPED)”状态并且将“开始恢复(START RECOVER)”输入置为有效时,状态机应保留在“跳闸(TRIPPED)”状态并且不应当执行任何动作。在另一个实施例中,程序员可以输入指示对于那个特定状态/输入组合,状态机不应改变状态的配置数据。
程序员可以使用包括本领域的普通技术人员所熟知的技术的任何类型的技术,将配置数据输入到矩阵300中。例如,为了将配置数据输入到单元中,程序员可以使用鼠标、跟踪球、触摸屏等来选择单元。然后,用户可以通过,例如键盘或其他输入设备直接将配置数据输入到单元中。替代地,程序员可以选择单元,然后从下拉菜单选择“编辑”、“修改”等选项,或选择“编辑”按钮、“修改”按钮等。然后,用户接口可以通过下拉菜单、窗口、显示屏等向程序员显示状态列表。可选地,该状态列表可以包括单元对应的状态或“不转换(NOTRANSITION)”选项。然后,程序员可以使用,例如键盘、鼠标、跟踪球、触摸屏等选择状态之一。如果程序员选择单元对应的状态或“不转换(NO TRANSITION)”选项,则配置数据将指示对于该状态和输入组合,不应发生转换。
与使用例如顺序功能图表或诸如C++的编程语言相比,使用包括诸如矩阵300的矩阵的用户接口来配置SMFB可以使实现状态机更容易。例如,使用C++程序等实现状态机将涉及首先创建具有相关联的转换动作的状态转换图表,然后编写实现该图表的程序。然后,在一些情形下,在过程控制***中实现之前,必须对程序进行测试和调试。然而,使用诸如矩阵300的矩阵来配置SMFB,不需要编写程序。并且,“编程”仅仅涉及以与其相关联的状态和转换动作来填写矩阵。另外,由于不需要编写软件代码,因此也不需要调试和测试代码。并且,测试仅仅涉及测试状态、转换入动作、转换出动作和输入的各种组合以验证SMFB进入到正确的下一状态且执行期望的转换动作。在一些情形下,仅通过检查矩阵300就可容易地理解SMFB的功能。因此,配置后的SMFB的功能可以例如通过打印出矩阵的表示来容易地进行文档记录。
例如,根据诸如矩阵300的矩阵来配置的SMFB可以用在安全***或过程控制***中。仅仅作为一个示例,根据诸如矩阵300的矩阵来配置的SMFB可以用作安全***的一部分,用于管理过程工厂中的燃烧炉。例如,SMFB可以包括诸如“点火(IGNITE)”、“关气(SHUTOFF GAS)”和“排出(VENT)”的状态。当启动燃烧炉时,SMFB可以首先进入到排出状态以使燃烧炉中的任何气体排放。然后,SMFB可以进入到点火状态以点燃燃烧炉。并且,如果燃烧炉的火焰出来的话,SMFB可以进入到关气状态以关闭至燃烧炉的气体。然后,SMFB可以进入到排出状态。另外,SMFB可以包括转换入和转换出动作以有助于安全***。例如,SMFB200B可以包括与转换入排出状态相关联的转换入动作,由此该转换入动作激活操作员指示符以通知操作员该燃烧炉正在排气。此外,SMFB可以包括与转换出排出状态相关联的转换出动作,由此,该转换出动作通知操作员燃烧炉被完全排气。替换地,第一SMFB(例如,燃烧炉控制SMFB)的TRANS_OUT或TRANS_IN输出可以作为输入提供给另一SMFB(例如,燃烧炉通风***控制SMFB)或其他过程控制设备以引起其他SMFB或过程控制设备执行功能,而与此同时第一SMFB正转换出当前状态和/或转换入下一状态。
根据诸如矩阵300的矩阵来配置的SMFB可以由一个或多个控制器12a、16a、I/O设备24、逻辑求解器50和设备22、23、60、62来实现。在一些实施例中,可以由根据软件由可编程逻辑设备配置的处理器来实现SMFB,该可编程逻辑设备可以是例如包括门阵列、标准单元、现场可编程门阵列(FPGA)、PROM、EPROM、EEPROM、可编程阵列逻辑(PAL)、可编程逻辑阵列(PLA)等中的一个或多个的设备。
与SMFB相关联的配置数据(例如,输入到诸如矩阵300的矩阵的数据和可选地其它配置数据)可以存储在诸如硬盘、RAM、ROM、CD-ROM、EPROM、EEPROM、DVD、闪存等的计算机可读介质上,和/或与处理器相关联的存储器上。
图7是配置的SMFB的操作的示例方法350的流程图。可以周期地和/或响应于例如触发事件来实现方法350。在块354中,SMFB接收其数据输入。例如参考图4A,SMFB接收输入IN_D1至IN_D7。在块356,SMFB基于当前状态和/或数据输入,执行适当的转换出动作。特别地,SMFB能够使用存储在配置数据库中的相关联的转换出配置数据执行转换出动作。在块357中,SMFB基于下一状态(由当前状态和数据输入所指示的)执行适当的转换入动作。特别地,SMFB能够使用存储在配置数据库中的相关联的转换入配置数据执行转换入动作。
在块358,如果需要,SMFB基于数据输入、SMFB的当前状态和存储在配置数据库中的配置数据来改变其状态机的状态。例如,SMFB将当前状态设置为确定的下一状体。配置数据库的数据可以包括通过诸如矩阵300的矩阵输入的数据。状态也可以基于其它因素而被改变。例如,如将在下面详述的那样,SMFB可以被配置为忽略一个或多个数据输入。因此,如果有的话,改变状态也可以基于指示哪些数据输入将要被忽略的配置数据。作为另一个示例,两个或多个数据输入可以指示应该从当前状态到两个或多个下一状态发生状态改变。因此,SMFB可以选择数据输入之一,以基于对数据输入授予优先级的优先级数据,确定SMFB应当转换到可能的下一状态中的哪一个。作为另一个示例,在一些实施例中,到SMFB的数据输入可以包括状态(例如,好(GOOD)状态或坏(BAD)状态)。因此,改变状态也可以基于,例如指示应如何处理具有坏状态的输入的配置数据。
然后,在块366中,SMFB可以基于状态机的当前状态设置其数据输出。例如,SMFB可以将STATE输出(以及适当的OUT_Dx)设置为状态机的当前状态。进一步地,SMFB可以设置TRANS_OUT输出,用于指示根据状态机转换出当前状态将要执行的转换出动作,以及可以设置TRANS_IN输出,用于指示根据状态机转换入下一状态将要执行的转换入动作。
再次参考图4,SMFB可以可选地包括“使能(ENABLE)”输入。在一个实施例中,如果将ENABLE输入置为无效(deassert),则SMFB被强制进入禁用状态(例如,状态0)并应保留在该状态直到将ENABLE输入置为有效。当随后将ENABLE输入置为有效时,SMFB可以被强制进入初始状态(例如,状态1),其后SMFB可以根据输入到诸如图5的矩阵300的配置矩阵中的配置数据而转换到其它状态。
SMFB可以另外地包括强制状态机进入期望状态的一个输入或多个输入。例如,SMFB200包括TRK_IN_D输入和TRK_VAL输入。当将TRK_IN_D输入置为有效时,可以强制SMFB进入由TRK_VAL输入指定的状态。例如,如果TRK_VAL输入为“6”并且将TRK_IN_D输入置为有效,则可以强制SMFB进入状态“6”。
SMFB可以可选地以另外的方式来配置。例如,SMFB可以包括指示如果有的话,是否应该忽略输入IN_D1,IN_D2等中的一个或多个的输入(或转换)屏蔽。而且,SMFB可以被配置为对可以具有多种状态的输入作出响应。例如,到SMFB的一个或所有输入可以具有“好”状态或“坏”状态,SMFB可以被配置为根据输入的状态作出不同响应。在一个特定示例中,SMFB可以被配置为忽略是“坏”的输入、即使是“坏”也使用该输入、或使用该输入的最后一个“好”值。进一步地,SMFB可以包括复位(RESET)参数,当该参数为真时,强制SMFB进入“1”状态。
上述各种配置数据和下一状态配置数据可以存储在同一计算机可读介质上或不同的计算机可读介质上。
图8是SMFB400的一个示例的方框图。SMFB400包括逻辑404,其至少部分地基于输入IN_D1,IN_D2等和SMFB400的当前状态来确定下一状态。特别地,逻辑404访问存储在下一状态配置数据库406中的下一状态配置数据。逻辑404还确定将由SMFB400执行的转换入和转换出动作功能。转换入动作可以至少部分地基于来自转换出配置数据库405的转换入配置数据。转换出动作可以至少部分地基于来自转换出配置数据库407的转换出配置数据。根据在此描述的实施例,转换入配置数据可以定义在SMFB适应于下一状态之前SMFB执行的功能,以及转换出配置数据可以定义在转换出当前状态之前(或者否则在转换入下一状态之前)SMFB执行的功能。数据库405,406,407可以存储在诸如在此描述的计算机可读介质上。下一状态,转换入和转换出配置数据可以包括输入到诸如图5的矩阵300的矩阵中的配置数据。应当理解的是,各种元件,逻辑或模块可以执行转换入和/或转换出配置数据。例如,SMFB400可以执行转换入和/或转换出配置数据。又例如,SMFB400可以发送命令至单独的元件或模块以执行转换入和/或转换出配置数据。
根据一些实施例,逻辑404的输出被提供到切换逻辑408。切换逻辑408基于TRK_IN_D输入在逻辑404的输出和TRK_VAL输入之间进行选择。例如,如果将TRK_IN_D输入置为有效,则切换逻辑408可以选择TRK_VAL输入。否则,切换逻辑408可以选择逻辑404的输出。
切换逻辑408的输出被提供到切换逻辑412,该切换逻辑412基于使能和复位逻辑416的输出在切换逻辑408的输出、值0和值1之间进行选择。使能和复位逻辑416的输出指示是否应强制状态进入禁用状态(状态0)或初始状态(状态1)。使能和复位逻辑416基于ENABLE输入产生该输出。例如,如果将ENABLE输入置为无效,则使能和复位逻辑416的输出可以指示状态应被强制为0。如果将ENABLE输入从无效改变到有效,则使能和复位逻辑416的输出可以指示状态应被强制为1。如果将ENABLE置为有效并且是在先前有效的,使能和复位逻辑416的输出可以指示状态不应被强制为0或1。
切换逻辑412的输出是SMFB400的当前状态,并可被提供为SMFB400的输出。切换逻辑412的输出还可以被提供到设置对应于SMFB的当前状态的适当输出OUT_D1,OUT_D2,TRANS_IN,TRANS_OUT等的逻辑420。如图8中描绘的,逻辑420可选地可以访问存储在可选的输出配置数据库458中的状态/输出配置数据。数据库458和数据库460可以存储在相同的计算机可读介质或不同的计算机可读介质上。数据配置数据可以包括被输入至诸如图13的矩阵700的矩阵中的配置数据,如在此描述的。
块404、408、412、416和420中的每个都可以由一个或多个硬件、软件和固件来实现。另外,一些块可以被组合、重新排序、修改或省略,并且可以添加额外的块。仅仅作为一个示例,块408和412可以组合到单个块中。
图9是示例SMFB400的操作的方法450的流程图。可以例如周期地和/或基于触发事件来实现图9的方法450。在块454,处理SMFB400的数据输入。例如,可以确定是否已将任何数据输入IN_D1,IN_D2等置为有效。作为另一个示例,如果一个或多个数据输入具有“BAD(坏)”状态,可以确定如何处理“BAD”输入。在块458,处理SMFB400的ENABLE输入。例如,可以确定是否将ENABLE输入置为有效和/或自其先前被处理起它是否已改变。
在块459,SMFB例如通过访问存储在配置数据库中的相关联的转换出配置数据来基于当前状态和/或数据输入执行适当的转换出动作。在块460,SMFB例如通过访问存储在配置数据库中的相关联的转换入配置数据来基于下一状态和/或数据输入执行适当的转换入动作。例如,SMFB可以被配置为控制过程工厂中的一件设备。当该件设备处于关闭状态(也即,当前状态)时,可以在设备启动输入被激活且该件设备将转换至运行状态(也即,下一状态)时,执行下一状态配置数据。在真正地转换出关闭状态之前,SMFB可以执行转换出配置数据以激活指示该件设备将启动的警报。此外,在适应于运行状态之前,SMFB可以执行转换入配置数据以使警报安静下来。
又例如,SMFB可以被配置为控制仓库中的多件加热设备。当过程工厂处于加热状态(也即,当前状态),可以将输入置为有效以启动对应于转换至通风状态的通风设备。在从加热状态转换期间,SMFB可以自动地锁住熔炉或者其他加热源以阻止加热源产生更多的热量。因此,在转换至通风状态后,可以阻止熔炉运作。进一步地,在转换入通风状态之前,SMFB可以自动地激活与通风设备相关联的一系列排气口,用于帮助相应的机器的排气。
在块462,如果需要,可以改变SMFB400的状态。另外,如果需要,可以改变或设置SMFB400的一个或多个数据输出。例如,可以确定数据输入中的变化指示应该改变SMFB400的状态。另外,如果状态改变,可以是应该改变SMFB400的一个或多个数据输出,例如TRANS_IN和TRANS_OUT输出。
现在将描述至少部分地可用于实现方法450的几个示例例程。例如,图10是可用于处理至SMFB的数据输入IN_D1,IN_D2等的示例例程500的流程图。在块504,将变量z设置为1。在块508,确定数据输入IN_Dz的状态是否为“BAD(坏)”。如果该状态不是坏的,则将变量TRANSITIONS的比特号z设置为数据输入IN_Dz的值。如果该状态是坏的,则可以确定将要如何处理该数据输入。在一个示例中,SMFB可以以三种方式之一处理“BAD”输入:可以任意使用BAD输入(ALWAYS_USE),可以忽略它(IGNORE_IF_BAD),或可使用最后一个“GOOD”输入(USE_LAST_GOOD)。因此,在块516,可以确定SMFB是否要使用最后一个“GOOD”数据输入。如果SMFB要使用最后一个“GOOD”值,则可以跳过块512。否则,其后可以在块520确定是否SMFB要忽略BAD输入值。如果SMFB不忽略BAD值,则例程会进行到块512。如果SMFB要忽略BAD值,则例程会进行到块524。在块524,将变量TRANSITIONS的比特号“z”设置为0。
在块528,递增变量z,并且在块532,可以确定变量z是否大于至SMFB的数据输入的数目。如果z不大于至SMFB的数据输入的数目,则例程可以回到块508以处理下一数据输入。否则,例程结束。
图11是可用于处理到SMFB的ENABLE输入的示例例程545的流程图。在块550,可以确定变量LASTENABLE的值是否与ENABLE输入的值相同。LASTENABLE变量一般指示在前一时间的ENABLE的值(例如,在例程545的前一运行期间ENABLE变量的值)。如果LASTENABLE和ENABLE的值相同,则例程545结束。否则,例程进行到块554,在该块554可以确定是否将ENABLE输入置为有效。如果将ENABLE输入置为有效,则在块558可将变量RESET设置为TRUE。
如果在块554确定没有将ENABLE输入置为有效,则在块562,将对应于STATE变量的当前值的榆出OUT_D1,OUT_D2等置为无效。然后,在块566,将STATE变量设置为0。在块558和566之后,例程进行到块570,在块570将变量LASTENABLE设置为ENABLE输入的值。在块570之后,例程结束。
图12是可用于确定SMFB的下一状态和如果需要可用于设置适当的OUT_D1,OUT_D2,TRANS_IN,TRANS_OUT等的示例例程600的流程图。在块604,可以确定是否将ENABLE输入置为有效。如果没有,则例程结束。如果将ENABLE输入置为有效,则例程进行到块608,在块608将变量NEWSTATE设置为0。然后,在块612,可以确定是否将输入TRK_IN_D置为有效。如果将输入TRK_IN_D置为有效,则例程进行到块616,在块616将NEWSTATE变量设置为输入TRK_VAL的值。
如果在块612确定没有将TRK_IN_D输入置为有效,则例程可以进行到块620。在块620,可以确定变量RESET是否为TRUE。如果是TRUE,则例程进行到块624,在块624可将NEWSTATE变量设置为1。然后,在块626,将RESET变量设置为FALSE。
如果在块620确定变量RESET不是TRUE,则例程进行到块632。在块632,可以通过按比特对TRANSITION_MASK变量、TRANSITIONS变量和由变量STATE指向的阵列STATECHANGEMASK的元素进行“逻辑与(ANDing)”运算来确定变量TEMP。TRANSITION_MASK变量可以是能够用于防止某输入IN_Dx引起状态变化发生的可配置变量。例如,如果程序员希望防止输入IN_D3引起状态机改变状态,则该程序员可将变量TRANSITION_MASK的第三比特设置为0。如果该程序员希望输入D3引起状态机改变状态,则该程序员可将变量TRANSITION_MASK的第三比特设置为1。
STATECHANGEMASK阵列的每个元素可以是指示对于一个相应的状态哪个输入IN_D1,IN_D2等将引起状态改变的变量。特别地,阵列的每个元素对应于状态机的一种状态。例如,STATECHANGEMASK[1]可对应于状态1,STATECHANGEMASK[2]可对应于状态2等。另外,每个元素的每比特可对应于输入IN_D1,IN_D2等中的一个。例如,比特1可对应于IN_D11,比特2可对应于IN_D2等。例如参考图6,对于矩阵300,STATECHANGEMASK阵列具有6个元素,并且元素STATECHANGEMASK[3]将为0×44。
在块628之后,例程进行到块632,在块632可确定变量TEMP是否为0。如果不是0,则例程进行到块636,在块636可将变量z设置为变量TEMP中不是0的第一个比特(即,从最低有效比特开始)的编号。实际上,这根据它们的次序设置了输入的优先级,从而IN_D1具有最高优先级,IN_D2具有次高优先级,IN_D3具有再次高优先级等。在其它实施例中,可以使用其它优先级方案。例如,可允许程序员对输入指定优先级,或可使用不同的优先级次序(例如,IN_D1具有最低优先级,IN_D2具有次低优先级等)。这些优先级可以作为整体为SMFB设置或对于每种状态设置。然后,在块640,可以将变量NEWSTATE设置为处于行z和列STATE的状态转换矩阵的值。
在块616、626和640后,例程可进行到块644。如果在块632,确定变量TEMP为0,则例程进行到块644。在块644,可确定变量NEWSTATE是否为0。如果为0,则例程结束。如果不为0,则例程进行到块645,在块645可以执行转换出动作。然后,在块646,可以执行转换入动作。在块648,将对应于STATE变量的输出OUT_D1,OUT_D2,TRANS_IN,TRANS_OUT等置为无效。应当理解的是,被置为无效的输出不必对应于STATE变量。在块652,将变量STATE设置为变量NEWSTATE的值。在块656,将对应于STATE变量的输出OUT_D1,OUT_D2,TRANS_IN,TRANS_OUT等置为有效,并且例程结束。应当理解的是,被置为有效的输出不必对应于STATE变量。
应当理解图9的方法450和图10-12的例程仅仅是示例,在其它示例中,可以修改块、添加新块、重新排序块、省略块、和/或组合块。参考图10,仅作为一个示例,如果不需要或不希望对具有“BAD”状态的输入的特别处理,则可省略块508、516、520和524。
作为另一个示例,可以修改块636,以便将变量z设置为TEMP中不为0的最后一个比特的编号。作为另一个示例,可以修改块636以基于一些优先级数据将z设置为对应于TEMP中不为0的一个比特的编号。
再次参考图4,所有数据输出不必是对应于SMFB200的状态机的状态的指示符。例如,在一个实施例中,对应于状态机的各种状态的输出OUT_D1,OUT_D2等的值可以是可配置的。因此,例如对于特定状态,可以将多个输出OUT_D1,OUT_D2等置为有效。为允许程序员配置SMFB,配置应用可以在显示设备120上显示用户接口机制,诸如与功能块相关联的配置窗口,屏幕等。
图13是可用于至少部分地配置诸如图4的SMFB200的SMFB的用户接口机制的一个示例。该用户接口机制包括可以显示为与SMFB相关联的配置窗口、屏幕等的一部分的表格或矩阵700(下文中称为“矩阵700”)。矩阵700包括以行和列排列的多个单元704。每列对应于状态机功能块的多个输出OUT_D1,OUT_D2,TRANS_IN,TRANS_OUT等中的一个,每行对应于状态机的可能状态中的一个。因此,每个单元704对应于一种状态和一个输出。在其它示例中,每行可对应于多个输出之一,每列可对应于状态机的可能状态之一。
矩阵700的输出“1”至“4”可分别对应于SMFB的输出OUT_D1至OUT_D4,且输出“5”和“6”可分别对应于输出TRANS_IN和TRANS_OUT。相似地,矩阵700的状态“1”至“6”可对应于状态机的可能状态。另外,在该示例中用户可以标记每个输出。例如,在图13中,将“输出1”标记为“打开阀门VLV-101(OPEN VALVEVLV-101)”。标记输出可以帮助理解状态机的操作和/或将状态机与过程工厂接口。
程序员可以通过将配置信息输入到单元704中来配置SMEB。特别地,对于对应于一种状态和一个输出的一个特定单元704,程序员可以将指示当状态机处于那种状态时应该将输出置为有效的配置数据输入到单元中。在示例矩阵700中,配置数据已被输入到一些单元704中。例如,单元704A包括指示当状态机处于“跳闸”状态时应该将输出OUT_D3置为有效的配置数据,单元704B包括指示当状态机处于“跳闸”状态时应该将输出TRANS_IN置为有效的配置数据,以及单元704C包括指示当状态机处于“恢复(RECOVERED)”状态时应该将输出TRANS_OUT置为有效的配置数据。
在该特定示例中,如果程序员不将配置数据榆入到单元704中,则可以假定对于该特定状态不应将相应输出置为有效。例如,单元704D和704E不包括X,指示当状态机处于“跳闸”状态时,不应将输出OUT_D1和OUT_D2置为有效。在其它实施例中,程序员可以输入指示如果处于特定状态,状态机不应将特定输出置为有效的配置数据。相似地,也可以指示对于特定状态和输出,将输出置为有效还是将输出置为无效无关紧要。
程序员可以使用包括本领域的普通技术人员所熟知的技术的任何类型的技术将配置数据输入到矩阵700中。例如,为了将配置数据输入到单元704中,程序员可以使用鼠标、跟踪球、触摸屏等来选择单元704。然后,用户可以通过,例如键盘直接将配置数据输入到单元704中。替代地,程序员可以选择单元704,然后从下拉菜单选择“编辑”、“修改”等选项、或选择“编辑”按钮、“修改”按钮等。然后,用户接口可以通过下拉菜单、窗口、显示屏等向程序员显示选项列表。例如,该选项列表包括“将输出置为有效”选项、“将输出置为无效”选项,和可选地“不理会”选项。然后,程序员可以使用,例如键盘、鼠标、跟踪球、触摸屏等来选择选项之一。如果程序员选择“将输出置为有效”选项,则配置数据指示对于相应状态应该将相应输出置为有效。例如,“X”可以被显示在单元中。“1”可以被显示在单元中,字“TRUE”可以被显示在单元中,字“ASSERT”可以被显示在单元中等。如果程序员选择“将输出置为无效”选项,则配置数据指示对于相应状态不应将相应输出置为有效。例如,单元可以被留置为空,“0”可以被显示在单元中,字“FALSE”可以被显示在单元中,字“DEASSERT”可以被显示在单元中等。
尽管示例矩阵700包括用于6种状态的行和6个输出,可以使用具有不同状态和输出数目的相似矩阵用于具有不同状态和输出数目的SMFB。状态和输出的数目可以是可配置的。
再一次参考图7,如前所述,在已确定当前状态后,可以基于当前状态来设置SMFB的数据输出(块366)。例如,可以根据输入到诸如图13的矩阵700的矩阵的配置数据来设置数据输出。
图14是可用于将适当的输出OUT_D1,OUT_D2等置为有效的示例例程850的流程图。在块854,将变量z设置为1。在块858,将输出OUT_Dz设置为由变量STATE指向的阵列变量OUTPUT的元素的比特号的值z。OUTPUT阵列的每个元素可以是指示对于相应一种状态的输出OUT_D1,OUT_D2等的值的变量。例如,OUTPUT[1]可对应于状态1,OUTPUT[2]可对应于状态2等。另外,每个元素的每个比特对应于输出OUT_D1,OUT_D2等中的一个。例如,比特1可对应于OUT_D1、比特2可对应于OUT_D2等。例如参考图13,对于矩阵700,OUTPUT阵列具有6个元素,并且元素OUTPUT[1]可以是0×06。
在块862,递增变量z,在块866,可确定z的值是否大于输出OUT_D1,OUT_D2等的数目。如果z不大于输出OUT_D1,OUT_D2等的数目,则例程回到块858。否则,例程结束。
除了上面所述的那些外,可通过其它类型的图形用户接口来输入用于SMFB的配置数据。例如,可以通过与状态转换图相似的图形用户接口来输入配置数据。图15是可用于配置诸如参照图4描述的SMFB200的SMFB的一个示例状态转换图900。图900包括多个图形元素904、908、912、916、920、924、928和932。元素904、908和912分别表示状态机的状态1、2和3。元素916指示当状态机处于状态1时,如果将INPUT2置为有效,则它应转换到状态2。元素920指示当状态机处于状态1时,如果将INPUT3置为有效,则它应转换到状态3。元素924指示当状态机处于状态2时,如果将INPUT1置为有效,则它应转换到状态1,以及元素928指示当状态机处于状态3时,如果将INPUT1置为有效,它应转换到状态1。相似地,元素932指示当状态机处于状态3时,如果将INPUT4置为有效,则它应转换到状态2。
该状态转换表900还包括与状态1相关联的转换入元素902,903和转换出元素905,与状态2相关联的转换入元素906,907和转换出元素909,以及与状态3相关联的转换入元素911和转换出元素913,914。特别地,如果状态机处于状态1且INPUT3被置为有效,状态机应当执行转换出元素905,转换至状态3,并且执行状态3的转换入元素911。进一步地,如果状态机处于状态2且INPUT1被置为有效,状态机应当执行转换出元素909,转换至状态1,并且执行转换入元素902。应当理解的是,在任一状态之间或任一状态中,转换入元素和/或转换出元素可以是共同的。例如,转换入元素902,903可以是相同的,由此状态机响应于状态机从状态2或状态3之一转换至状态1而执行相关联的转换入动作。又例如,转换出元素913,914可以是相同的,由此状态机响应于状态机转换至状态1(响应于INPUT1被置为有效)或状态2(响应于INPUT4被置为有效)之一而执行相关联的转换出动作。
一般地,可以由软件、固件或硬件或者软件,固件和/或硬件的一些组合来实现SMFB。例如,可以由控制器12a、16a,I/O设备24,逻辑求解器50和设备22、23、60、62中的一个或多个来实现SMFB。作为另一个示例,可以由一个或多个工作站18a和20a来实现SMFB。例如,可以由工作站18a和/或工作站20a来实现SMFB,作为测试过程工厂的操作或提供操作员训练的仿真的一部分。在一些实施例中,SMFB可以由根据软件由可编程逻辑设备配置的处理器来实现,该可编程逻辑设备可以是例如包括一个或多个门阵列、标准单元、现场可编程门阵列(FPGA)、PROM、EPROM、EEPROM、可编程阵列逻辑(PAL)、可编程逻辑阵列(PLA)等的设备。
图8的块404、408,412,416,420和458中的每一个可以由软件、固件、或硬件或者软件、固件和/或硬件的一些组合来实现。另外,尽管将图10-12和图14的流程图描述为例程,但这些流程图也可以由软件、固件、或硬件或者软件、固件和/或硬件的一些组合来实现。
诸如上述用户接口的用户接口的实施例可以整个地或部分地由例如根据软件程序配置的处理器来实现。例如,工作站18a或20a、或一些其它计算机可以整个地或部分地实现上述用户接口。用于实现用户接口的实施例的软件程序可以体现为存储在诸如硬盘、RAM、电池备份RAM、ROM、CD-ROM、PROM、EPROM、EEPROM、DVD、闪存等的有形介质上、或存储在诸如与处理器相关联的RAM的存储器上,但是本领域的普通技术人员将很容易地理解其整个程序或部分程序可替代地可以由除处理器之外的设备来执行,和/或以熟知的方式体现在固件和/或专用硬件上。
尽管本发明可进行各种修改和替换构造,在此已在附图中示出并详细描述了本发明的特定说明性实施例。但是,应该理解并非企图限制本公开于所公开的特定形式,而是相反,本发明覆盖落入由所附权利要求书定义的本公开的精神和范围内的所有修改、替换构造和等同物。
Claims (41)
1.一种用于经由具有显示设备和输入设备的计算设备来配置与过程工厂相关联的功能块的方法,所述功能块用于实现状态机,所述方法包括:
提供由所述显示设备显示的图形用户接口,所述图形用户接口指示与所述功能块相关联的且被设置在具有第一维度和第二维度的矩阵中的第一多个单元,其中沿着所述第一维度的位置指示状态机状态和与其相关联的转换动作标识符,以及沿着所述第二维度的位置对应于状态机输入,以使得所述第一多个单元基于所述第一多个单元相对于所述第一和第二维度的所述位置,定义输入/状态对及其转换动作;
经由所述输入设备接收与所述第一多个单元的一个单元相关联的状态转换数据,所述状态转换数据依循所述过程工厂中的对应于由所述单元定义的所述输入/状态对的状况,识别所述状态机转换至的下一状态;
经由所述输入设备接收转换动作数据,所述转换动作数据根据所述状态转换数据,识别将要执行的至少一个转换动作;以及
将所述状态转换数据和所述转换动作数据存储在与所述功能块相关联的计算机可读介质上。
2.根据权利要求1所述的方法,其中所述转换动作数据识别1)当从对应于所述单元的所述状态机状态转换时将要执行的转换出动作和2)当转换入所述下一状态时将要执行的转换入动作中的至少一个。
3.根据权利要求2所述的方法,还包括:
在所述显示设备上显示所述第一多个单元;以及
在所述单元中显示所述下一状态的指示,所述转换出动作的指示和所述转换入动作的指示。
4.根据权利要求3所述的方法,其中在所述单元中显示所述下一状态的所述指示,所述转换出动作的所述指示和所述转换入动作的所述指示包括:
在所述单元的第一子单元中显示所述下一状态的所述指示;
在所述单元的第二子单元中显示所述转换出动作的所述指示;以及
在所述单元的第三子单元中显示所述转换入动作的所述指示。
5.根据权利要求3所述的方法,其中在所述显示设备上显示所述第一多个单元包括:显示所述矩阵,其中所述第一维度对齐至少一行单元以及所述第二维度对齐多列单元,以使得所述至少一行单元中的每一行与所述状态机输入中的一个相关联,并且所述多列单元中的每一列与所述状态机状态中的一个以及所述转换动作标识符中的一个相关联。
6.根据权利要求3所述的方法,其中在所述显示设备上显示所述第一多个单元包括:显示所述矩阵,其中所述第一维度对齐至少一列单元以及所述第二维度对齐多行单元,以使得所述多行单元中的每一行与所述状态机状态中的一个以及所述转换动作标识符中的一个相关联,并且所述至少一列单元中的每一列与所述状态机输入中的一个相关联。
7.根据权利要求1所述的方法,其中所述状态机输入中的每一个的特定值是逻辑1,逻辑0,逻辑TRUE或逻辑FALSE中的一个。
8.根据权利要求1所述的方法,其中所述图形用户接口还包括与所述功能块相关联的第二多个单元,其中所述第二多个单元中的每一个对应于所述功能块的多个输出中的各自的一个和所述状态机状态中的各自的一个,以及其中所述方法还包括:
经由所述输入设备接收与所述第二多个单元中的额外单元相关联的输出配置数据,其中所述输出配置数据指示当所述状态机处于对应于所述额外单元的所述状态机状态时对应于所述额外单元的输出值,以及与所述额外单元相关联的至少一个输出转换动作。
9.根据权利要求1所述的方法,其中所述至少一个转换动作将由所述功能块来执行。
10.根据权利要求1所述的方法,还包括:
接收与所述状态机输入相关联的优先级数据;
存储与所述状态机输入相关联的所述优先级数据。
11.根据权利要求1所述的方法,还包括:
接收指示所述状态机输入中的一个或多个,如果有的话,是否应当被所述状态机忽略的数据;
存储指示所述状态机输入中的一个或多个,如果有的话,是否应当被所述状态机忽略的所述数据。
12.根据权利要求1所述的方法,其中所述状态机输入与过程控制***,过程控制***的模拟,安全***和安全***的模拟中的至少一个相关联。
13.根据权利要求1所述的方法,还包括从与所述过程工厂相关联的额外功能块或操作员接口中的一个接收所述状态机输入。
14.存储机器可读指令的有形介质,包括:
第一代码,用于经由显示设备提供图形用户接口,以用于配置状态机在状态机状态中的转换,所述图形用户接口指示设置在具有第一维度和第二维度的矩阵中的第一多个单元,其中沿着所述第一维度的位置指示所述状态机状态和与其相关联的转换动作标识符,以及沿着所述第二维度的位置对应于状态机输入,以使得所述第一多个单元基于所述第一多个单元相对于所述第一和第二维度的所述位置,定义输入/状态对及其转换动作;
第二代码,用于经由所述图形用户接口接收与所述第一多个单元的一个单元相关联的状态转换数据,所述状态转换数据根据由所述单元定义的所述输入/状态对,识别所述状态机转换至的下一状态;
第三代码,用于经由所述图形用户接口接收转换动作数据,所述转换动作数据根据所述状态转换数据,识别将要执行的至少一个转换动作;以及
***码,用于将所述状态转换数据和所述转换动作数据存储在与实现过程工厂中的所述状态机的所述功能块相关联的计算机可读介质上,以使得当所述过程工厂中的状况对应于与所述单元相关联的所述输入/状态对时,所述状态机转换至所述下一状态。
15.根据权利要求14所述的有形介质,其中所述转换动作数据识别1)当从对应于所述单元的所述状态机状态转换时将要执行的转换出动作和2)当转换入所述下一状态时将要执行的转换入动作中的至少一个。
16.根据权利要求15所述的有形介质,还包括:
第五代码,用于在所述显示设备上显示所述第一多个单元;以及
第六代码,用于在所述单元中显示所述下一状态的指示,所述转换出动作的指示和所述转换入动作的指示。
17.根据权利要求16所述的有形介质,其中所述第六代码通过以下方式在所述单元中显示所述下一状态的所述指示,所述转换出动作的所述指示和所述转换入动作的所述指示:
在所述单元的第一子单元中显示所述下一状态的所述指示;
在所述单元的第二子单元中显示所述转换出动作的所述指示;以及
在所述单元的第三子单元中显示所述转换入动作的所述指示。
18.根据权利要求16所述的有形介质,其中所述第五代码通过以下方式在所述显示设备上显示所述第一多个单元:显示所述矩阵,其中所述第一维度对齐至少一行单元以及所述第二维度对齐多列单元,以使得所述至少一行单元中的每一行与所述状态机输入中的一个相关联,并且所述多列单元中的每一列与所述状态机状态中的一个以及所述转换动作标识符中的一个相关联。
19.根据权利要求16所述的有形介质,其中所述第五代码通过以下方式在所述显示设备上显示所述第一多个单元:显示所述矩阵,其中所述第一维度对齐至少一列单元以及所述第二维度对齐多行单元,以使得所述多行单元中的每一行与所述状态机状态中的一个以及所述转换动作标识符中的一个相关联,并且所述至少一列单元中的每一列与所述状态机输入中的一个相关联。
20.根据权利要求14所述的有形介质,其中所述状态机输入中的每一个的特定值是逻辑1,逻辑0,逻辑TRUE或逻辑FALSE中的一个。
21.根据权利要求14所述的有形介质,其中所述图形用户接口还包括与所述功能块相关联的第二多个单元,其中所述第二多个单元中的每一个对应于所述功能块的多个输出中的各自的一个和所述状态机状态中的各自的一个,以及其中所述有形介质还包括:
第五代码,用于经由所述输入设备接收与所述第二多个单元中的额外单元相关联的输出配置数据,其中所述输出配置数据指示当所述状态机处于对应于所述额外单元的所述状态机状态时对应于所述额外单元的输出值,以及与所述额外单元相关联的至少一个输出转换动作。
22.根据权利要求14所述的有形介质,其中所述状态机输入与过程控制***,过程控制***的模拟,安全***和安全***的模拟中的至少一个相关联。
23.根据权利要求14所述的有形介质,还包括第五代码,用于从与所述过程工厂相关联的额外功能块或操作员接口中的一个接收所述状态机输入。
24.一种用于运行与过程工厂相关联的第一功能块的方法,所述第一功能块实现具有转换表格和当前状态的状态机,所述方法包括:
接收用于所述状态机的输入,所述输入指示所述过程工厂中的状况;
检查所述转换表格,以基于所述当前状态和所述输入识别下一状态和至少一个转换动作;
由所述第一功能块启动所述至少一个转换动作;
将所述状态机的所述当前状态设置为所述下一状态;以及
将功能块输出提供给第二功能块以用于控制现场设备,其中所述功能块输出基于所述状态机的所述当前状态。
25.根据权利要求24所述的方法,其中所述至少一个转换动作指定转换出动作和转换入动作,并且其中启动所述至少一个转换动作包括:
由所述第一功能块启动所述转换出动作;以及
由所述第一功能块启动所述转换入动作。
26.根据权利要求25所述的方法,其中所述第一功能块在启动所述转换入动作之前启动所述转换出动作。
27.根据权利要求25所述的方法,其中所述第一功能块在将所述状态机的所述当前状态设置为所述下一状态之前启动所述转换入动作。
28.根据权利要求25所述的方法,其中所述第一功能块在将所述状态机的所述当前状态设置为所述下一状态之前启动所述转换出动作。
29.根据权利要求24所述的方法,其中启动所述至少一个转换动作包括:将额外功能块输出提供给第三功能块,所述额外功能块输出指示所述至少一个转换动作。
30.根据权利要求24所述的方法,其中启动所述至少一个转换动作包括:
从数据库获取与所述至少一个转换动作相关联的至少一个转换配置项目;以及
执行所述至少一个转换配置项目。
31.根据权利要求24所述的方法,还包括:
响应于将所述当前状态设置为所述下一状态,设置与所述当前状态相关联的至少一个输出。
32.根据权利要求31所述的方法,其中设置所述至少一个输出包括:设置状态指示输出和转换输出中的至少一个。
33.用于过程***的状态机控制器单元,所述状态机控制器单元可通信地耦接至现场设备并实现具有转换表格和当前状态的状态机,所述状态机控制器单元包括:
输入模块,用于接收指示所述过程***中的状况的输入;
执行模块,其被配置为:
检查所述转换表格,以基于所述当前状态和所述输入识别下一状态和至少一个转换动作;
启动所述至少一个转换动作;
将所述状态机的所述当前状态设置为所述下一状态;以及
提供输出以用于控制所述现场设备,其中所述输出基于所述状态机的所述当前状态。
34.根据权利要求33所述的状态机控制器单元,其中所述至少一个转换动作指定转换出动作和转换入动作,其中所述执行模块通过启动所述转换出动作和启动所述转换入动作来启动所述至少一个转换动作。
35.根据权利要求34所述的状态机控制器单元,其中所述执行模块在启动所述转换入动作之前启动所述转换出动作。
36.根据权利要求34所述的状态机控制器单元,其中所述执行模块在将所述状态机的所述当前状态设置为所述下一状态之前启动所述转换入动作。
37.根据权利要求34所述的状态机控制器单元,其中所述执行模块在将所述状态机的所述当前状态设置为所述下一状态之前启动所述转换出动作。
38.根据权利要求33所述的状态机控制器单元,其中所述执行模块通过将额外输出提供给额外模块来启动所述至少一个转换动作,所述额外输出指示所述至少一个转换动作。
39.根据权利要求33所述的状态机控制器单元,其中所述执行模块通过以下方式来启动所述至少一个转换动作:
从数据库获取与所述至少一个转换动作相关联的至少一个转换配置项目;以及
执行所述至少一个转换配置项目。
40.根据权利要求33所述的状态机控制器单元,其中所述执行模块进一步地被配置为响应于将所述当前状态设置为所述下一状态,设置与所述当前状态相关联的至少一个输出。
41.根据权利要求40所述的状态机控制器单元,其中所述执行模块通过设置状态指示输出和转换输出中的至少一个来设置所述至少一个输出。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/937,805 | 2013-07-09 | ||
US13/937,805 US9086688B2 (en) | 2013-07-09 | 2013-07-09 | State machine function block with user-definable actions on a transition between states |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104298189A true CN104298189A (zh) | 2015-01-21 |
CN104298189B CN104298189B (zh) | 2019-09-27 |
Family
ID=51410648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410332331.5A Active CN104298189B (zh) | 2013-07-09 | 2014-07-08 | 具有在状态间转换的用户可定义的动作的状态机功能块 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9086688B2 (zh) |
JP (2) | JP6437224B2 (zh) |
CN (1) | CN104298189B (zh) |
DE (1) | DE102014109569A1 (zh) |
GB (2) | GB2517581B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138332A (zh) * | 2015-08-26 | 2015-12-09 | 上海联影医疗科技有限公司 | 状态机的实现方法和装置 |
CN106547274A (zh) * | 2015-09-16 | 2017-03-29 | 中国航空工业第六八研究所 | 一种基于场景矩阵的状态机测试方法 |
CN107615189A (zh) * | 2015-05-19 | 2018-01-19 | 三菱电机株式会社 | 可编程逻辑控制器、工程设计工具及工程设计工具程序 |
CN109863724A (zh) * | 2016-11-03 | 2019-06-07 | 华为技术有限公司 | 用于转发元件的有状态控制的方法和装置 |
CN109858721A (zh) * | 2017-11-30 | 2019-06-07 | 中广核(北京)仿真技术有限公司 | 一种控制计算策略生成方法以及*** |
CN109922930A (zh) * | 2016-11-09 | 2019-06-21 | Abb瑞士股份有限公司 | 用于确定***状态的可能转换的方法 |
CN113189968A (zh) * | 2021-05-08 | 2021-07-30 | 哈尔滨工业大学 | 互联工业过程的分布式故障诊断方法 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11237705B2 (en) * | 2013-03-15 | 2022-02-01 | Bmc Software, Inc. | Configurable user interface interactions using a state machine combined with event orchestration |
US9599970B2 (en) | 2013-03-27 | 2017-03-21 | The United States Of America As Represented By The Secretary Of The Navy | Safety critical control system that includes control logic or machine readable instructions that selectively locks or enables the control system based on one or more machine implemented state machines that includes states associated with detection or matching of one or more predetermined signals on distinct conduction paths between elements of the control system and related methods |
US9086688B2 (en) * | 2013-07-09 | 2015-07-21 | Fisher-Rosemount Systems, Inc. | State machine function block with user-definable actions on a transition between states |
US20170004226A1 (en) * | 2015-07-05 | 2017-01-05 | Sas Institute Inc. | Stress testing by avoiding simulations |
US10438144B2 (en) | 2015-10-05 | 2019-10-08 | Fisher-Rosemount Systems, Inc. | Method and apparatus for negating effects of continuous introduction of risk factors in determining the health of a process control system |
JP7227002B2 (ja) * | 2015-10-09 | 2023-02-21 | フィッシャー-ローズマウント システムズ,インコーポレイテッド | プロセス制御システムの安全イベントの視覚化を経時的に提供するためのシステム及び方法 |
JP6798506B2 (ja) * | 2016-01-18 | 2020-12-09 | 日本電気株式会社 | 手順生成システム、手順生成方法および手順生成プログラム |
JP6477553B2 (ja) | 2016-03-14 | 2019-03-06 | オムロン株式会社 | プログラム開発支援装置、プログラム開発支援プログラムおよびプログラム開発支援方法 |
US10671038B2 (en) * | 2016-07-15 | 2020-06-02 | Fisher-Rosemount Systems, Inc. | Architecture-independent process control |
CN109844659B (zh) * | 2016-10-14 | 2022-04-05 | 三菱电机株式会社 | 仿真装置 |
CN108572611B (zh) | 2017-03-13 | 2021-01-22 | 欧姆龙株式会社 | 信息处理装置、信息处理方法及计算机可读取记录媒体 |
US10447078B2 (en) | 2017-10-02 | 2019-10-15 | Fisher-Rosemount Systems, Inc. | Smart function block for integration of PLCS into a control system and methods for the same |
EP3647889A1 (de) * | 2018-10-31 | 2020-05-06 | Siemens Aktiengesellschaft | Fehlersichere sequenzkontrolle von prozessen |
DE102018220287A1 (de) * | 2018-11-26 | 2020-05-28 | Lenze Automation Gmbh | Verfahren zum Betreiben eines Systems und System |
EP3671442A1 (en) * | 2018-12-17 | 2020-06-24 | Physik Instrumente (PI) GmbH & Co. Kg | System and method for switching operating states of physical devices |
AT522186B1 (de) * | 2019-05-20 | 2020-09-15 | Dipl Ing Dipl Ing Fh Markus Gruber | Computerimplementiertes Verfahren zur rechnergestützten Erzeugung eines ausführbaren Steuerungsprogramms zur Steuerung und/oder Regelung eines technischen Prozesses |
US10824443B1 (en) | 2019-09-19 | 2020-11-03 | Hewlett Packard Enterprise Development Lp | State machine communication |
US11513490B2 (en) * | 2020-03-24 | 2022-11-29 | Honeywell International Inc. | I/O mesh architecture for a safety instrumented system |
US11762742B2 (en) | 2020-03-31 | 2023-09-19 | Honeywell International Inc. | Process control system with different hardware architecture controller backup |
US11989084B2 (en) | 2020-09-23 | 2024-05-21 | Honeywell International Inc. | Self-healing process control system |
US11874938B2 (en) | 2020-11-03 | 2024-01-16 | Honeywell International Inc. | Admittance mechanism |
EP4002236A1 (en) * | 2020-11-11 | 2022-05-25 | ABB Schweiz AG | Reverse engineering a module for a modular industrial plant |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4607256A (en) * | 1983-10-07 | 1986-08-19 | Honeywell, Inc. | Plant management system |
US6029181A (en) * | 1996-09-26 | 2000-02-22 | Honeywell, Inc. | System and method for translating visual display object files from non-component object model (COM) objects to COM objects |
US20020059054A1 (en) * | 2000-06-02 | 2002-05-16 | Bade Stephen L. | Method and system for virtual prototyping |
CN1598723A (zh) * | 2003-09-05 | 2005-03-23 | 费舍-柔斯芒特***股份有限公司 | 具有用户可修改的状态转换配置数据库的状态机功能块 |
Family Cites Families (113)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4067256A (en) | 1976-10-07 | 1978-01-10 | General Electric Company | Fastener anchor formed in thermoplastic sheet |
JP2526709B2 (ja) * | 1990-05-08 | 1996-08-21 | 三菱電機株式会社 | プログラマブルコントロ―ラおよびプログラマブルコントロ―ラのsfcプログラム実行方法 |
JPH0589069A (ja) * | 1991-09-30 | 1993-04-09 | Toshiba Corp | 分散形制御システム |
US5265212A (en) * | 1992-04-01 | 1993-11-23 | Digital Equipment Corporation | Sharing of bus access among multiple state machines with minimal wait time and prioritization of like cycle types |
JP2994926B2 (ja) * | 1993-10-29 | 1999-12-27 | 松下電器産業株式会社 | 有限状態機械作成方法とパターン照合機械作成方法とこれらを変形する方法および駆動方法 |
US5530643A (en) | 1993-08-24 | 1996-06-25 | Allen-Bradley Company, Inc. | Method of programming industrial controllers with highly distributed processing |
US5576946A (en) * | 1993-09-30 | 1996-11-19 | Fluid Air, Inc. | Icon based process design and control system |
JPH08129483A (ja) * | 1994-10-31 | 1996-05-21 | Matsushita Electric Ind Co Ltd | イベント駆動型プロセス制御装置 |
JP3505018B2 (ja) * | 1994-11-22 | 2004-03-08 | 株式会社ルネサステクノロジ | 半導体集積回路 |
JPH09148852A (ja) | 1995-11-24 | 1997-06-06 | Matsushita Electric Ind Co Ltd | 送信出力可変装置 |
US5764883A (en) * | 1996-03-28 | 1998-06-09 | Hewlett-Packard Co. | System and method for checking for dynamic resource misuse in a computer program |
US5838563A (en) | 1996-04-12 | 1998-11-17 | Fisher-Rosemont Systems, Inc. | System for configuring a process control environment |
US5828851A (en) * | 1996-04-12 | 1998-10-27 | Fisher-Rosemount Systems, Inc. | Process control system using standard protocol control of standard devices and nonstandard devices |
US5768119A (en) | 1996-04-12 | 1998-06-16 | Fisher-Rosemount Systems, Inc. | Process control system including alarm priority adjustment |
JP3550460B2 (ja) * | 1996-04-25 | 2004-08-04 | 株式会社日立製作所 | サーバレスプラント監視・制御装置 |
US5903886A (en) * | 1996-04-30 | 1999-05-11 | Smartlynx, Inc. | Hierarchical adaptive state machine for emulating and augmenting software |
US5995963A (en) * | 1996-06-27 | 1999-11-30 | Fujitsu Limited | Apparatus and method of multi-string matching based on sparse state transition list |
US5909369A (en) * | 1996-07-24 | 1999-06-01 | Network Machines, Inc. | Coordinating the states of a distributed finite state machine |
US5845063A (en) | 1996-09-11 | 1998-12-01 | Elsag International N.V. | Signal status propagation in a distributed control system |
US5818736A (en) * | 1996-10-01 | 1998-10-06 | Honeywell Inc. | System and method for simulating signal flow through a logic block pattern of a real time process control system |
US5970430A (en) * | 1996-10-04 | 1999-10-19 | Fisher Controls International, Inc. | Local device and process diagnostics in a process control network having distributed control functions |
JPH1124907A (ja) * | 1997-06-27 | 1999-01-29 | Toshiba Corp | ソフトウエア開発支援方法およびソフトウエア開発支援装置 |
US6219628B1 (en) | 1997-08-18 | 2001-04-17 | National Instruments Corporation | System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations |
US6317638B1 (en) * | 1997-08-22 | 2001-11-13 | Honeywell Inc. | Multi-layer state machine for a hybrid real-time control system and method of operation thereof |
US6182024B1 (en) * | 1997-10-14 | 2001-01-30 | International Business Machines Corporation | Modeling behaviors of objects associated with finite state machines and expressing a sequence without introducing an intermediate state with the arc language |
US6526566B1 (en) | 1997-11-14 | 2003-02-25 | National Instruments Corporation | Graphical programming system and method including nodes for programmatically accessing data sources and targets |
US6239800B1 (en) * | 1997-12-15 | 2001-05-29 | International Business Machines Corporation | Method and apparatus for leading a user through a software installation procedure via interaction with displayed graphs |
JP3651742B2 (ja) * | 1998-01-21 | 2005-05-25 | 株式会社東芝 | プラント監視システム |
US6097988A (en) * | 1998-02-10 | 2000-08-01 | Advanced Micro Devices, Inc. | Logic system and method employing multiple configurable logic blocks and capable of implementing a state machine using a minimum amount of configurable logic |
US7152027B2 (en) * | 1998-02-17 | 2006-12-19 | National Instruments Corporation | Reconfigurable test system |
US6448982B1 (en) | 1998-04-23 | 2002-09-10 | Siemens Energy & Automation, Inc. | System for graphically generating logic for a cause and effects matrix |
US6161051A (en) * | 1998-05-08 | 2000-12-12 | Rockwell Technologies, Llc | System, method and article of manufacture for utilizing external models for enterprise wide control |
US6157864A (en) | 1998-05-08 | 2000-12-05 | Rockwell Technologies, Llc | System, method and article of manufacture for displaying an animated, realtime updated control sequence chart |
US6263255B1 (en) * | 1998-05-18 | 2001-07-17 | Advanced Micro Devices, Inc. | Advanced process control for semiconductor manufacturing |
US6691183B1 (en) * | 1998-05-20 | 2004-02-10 | Invensys Systems, Inc. | Second transfer logic causing a first transfer logic to check a data ready bit prior to each of multibit transfer of a continous transfer operation |
US6289252B1 (en) * | 1998-08-31 | 2001-09-11 | Fisher-Rosemount Systems, Inc. | Distributed batch processing system and methods |
US6505341B1 (en) * | 1998-11-10 | 2003-01-07 | Scientronix, Inc. | System and method for programming a logic control unit |
US6442512B1 (en) | 1998-10-26 | 2002-08-27 | Invensys Systems, Inc. | Interactive process modeling system |
JP2002531899A (ja) * | 1998-11-30 | 2002-09-24 | シーベル システムズ,インコーポレイティド | プロセス監視用の状態モデル |
US6369836B1 (en) | 1998-12-23 | 2002-04-09 | Triconex | Cause effect diagram program |
US6774786B1 (en) | 2000-11-07 | 2004-08-10 | Fisher-Rosemount Systems, Inc. | Integrated alarm display in a process control network |
US7206646B2 (en) * | 1999-02-22 | 2007-04-17 | Fisher-Rosemount Systems, Inc. | Method and apparatus for performing a function in a plant using process performance monitoring with process equipment monitoring and control |
US6718533B1 (en) * | 1999-02-26 | 2004-04-06 | Real-Time Innovations, Inc. | Method for building a real-time control system with mode and logical rate |
US6385496B1 (en) * | 1999-03-12 | 2002-05-07 | Fisher-Rosemount Systems, Inc. | Indirect referencing in process control routines |
US6903728B1 (en) * | 1999-03-19 | 2005-06-07 | Avaya Technology Corp. | State-based control of a terminal user interface containing soft-labeled keys |
AU5025600A (en) | 1999-05-17 | 2000-12-05 | Foxboro Company, The | Process control configuration system with parameterized objects |
US6901560B1 (en) * | 1999-07-01 | 2005-05-31 | Honeywell Inc. | Process variable generalized graphical device display and methods regarding same |
US6577323B1 (en) * | 1999-07-01 | 2003-06-10 | Honeywell Inc. | Multivariable process trend display and methods regarding same |
US6834370B1 (en) * | 1999-07-08 | 2004-12-21 | Osi Software, Inc. | Method for creating master recipes |
US6993456B2 (en) * | 1999-09-30 | 2006-01-31 | Rockwell Automation Technologies, Inc. | Mechanical-electrical template based method and apparatus |
US6556950B1 (en) * | 1999-09-30 | 2003-04-29 | Rockwell Automation Technologies, Inc. | Diagnostic method and apparatus for use with enterprise control |
US6445963B1 (en) * | 1999-10-04 | 2002-09-03 | Fisher Rosemount Systems, Inc. | Integrated advanced control blocks in process control systems |
US7636915B1 (en) * | 1999-12-02 | 2009-12-22 | Invensys Systems, Inc. | Multi-level multi-variable control process program execution scheme for distributed process control systems |
US6489971B1 (en) | 1999-12-07 | 2002-12-03 | International Business Machines Corporation | Graphical programming environment for deterministic finite state automata |
CA2402280C (en) | 2000-03-10 | 2008-12-02 | Cyrano Sciences, Inc. | Control for an industrial process using one or more multidimensional variables |
NZ508052A (en) * | 2000-11-09 | 2003-06-30 | Derek Ward | Programmable controller |
US6742136B2 (en) * | 2000-12-05 | 2004-05-25 | Fisher-Rosemount Systems Inc. | Redundant devices in a process control system |
US6742165B2 (en) * | 2001-03-28 | 2004-05-25 | Mips Technologies, Inc. | System, method and computer program product for web-based integrated circuit design |
US7010052B2 (en) * | 2001-04-16 | 2006-03-07 | The Ohio University | Apparatus and method of CTCM encoding and decoding for a digital communication system |
US6931288B1 (en) | 2001-04-16 | 2005-08-16 | Rockwell Automation Technologies, Inc. | User interface and system for creating function block diagrams |
US6668203B1 (en) * | 2001-04-26 | 2003-12-23 | Sandia Corporation | State machine analysis of sensor data from dynamic processes |
US6735596B2 (en) | 2001-06-07 | 2004-05-11 | Guy Charles Corynen | Computer method and user interface for decision analysis and for global system optimization |
WO2003003235A1 (en) | 2001-06-27 | 2003-01-09 | 4 Media, Inc. | Improved media delivery platform |
US6747247B2 (en) * | 2001-09-19 | 2004-06-08 | Illinois Tool Works Inc. | Welding-type power supply with a state-based controller |
US6993706B2 (en) | 2002-01-15 | 2006-01-31 | International Business Machines Corporation | Method, apparatus, and program for a state machine framework |
US6941301B2 (en) | 2002-01-18 | 2005-09-06 | Pavilion Technologies, Inc. | Pre-processing input data with outlier values for a support vector machine |
ATE328308T1 (de) | 2002-04-23 | 2006-06-15 | Tokyo Electron Ltd | Verfahren und vorrichtung zur vereinfachten systemkonfiguration |
DE10229676B4 (de) * | 2002-06-27 | 2013-05-29 | Robert Bosch Gmbh | Verfahren zur Steuerung des Ablaufs eines multitaskingfähigen Computerprogramms |
US7050863B2 (en) | 2002-09-11 | 2006-05-23 | Fisher-Rosemount Systems, Inc. | Integrated model predictive control and optimization within a process control system |
EP1413937A1 (en) * | 2002-10-21 | 2004-04-28 | ABB Schweiz AG | Finite state machine display for operator guidance |
GB0226805D0 (en) * | 2002-11-16 | 2002-12-24 | Koninkl Philips Electronics Nv | State machine modelling |
US7159083B2 (en) * | 2002-12-13 | 2007-01-02 | Texas Instruments Incorporated | Programmable transition state machine |
US6915235B2 (en) * | 2003-03-13 | 2005-07-05 | Csi Technology, Inc. | Generation of data indicative of machine operational condition |
US6898468B2 (en) * | 2003-03-28 | 2005-05-24 | Fisher-Rosemount Systems, Inc. | Function block implementation of a cause and effect matrix for use in a process safety system |
US7685254B2 (en) * | 2003-06-10 | 2010-03-23 | Pandya Ashish A | Runtime adaptable search processor |
US7269468B2 (en) * | 2003-09-05 | 2007-09-11 | Fisher-Rosemount Systems, Inc. | State machine function block with a user modifiable output configuration database |
US7487076B2 (en) * | 2003-10-31 | 2009-02-03 | The Mathworks, Inc. | Simplified data signal support for diagramming environment languages |
JP2007536634A (ja) * | 2004-05-04 | 2007-12-13 | フィッシャー−ローズマウント・システムズ・インコーポレーテッド | プロセス制御システムのためのサービス指向型アーキテクチャ |
CA2567139A1 (en) * | 2004-06-12 | 2005-12-29 | Fisher-Rosemount Systems, Inc. | System and method for detecting an abnormal situation associated with a process gain of a control loop |
WO2006061899A1 (ja) * | 2004-12-09 | 2006-06-15 | Mitsubishi Denki Kabushiki Kaisha | 文字列照合装置および文字列照合プログラム |
US8495593B2 (en) * | 2005-09-09 | 2013-07-23 | International Business Machines Corporation | Method and system for state machine translation |
US7500209B2 (en) * | 2005-09-28 | 2009-03-03 | The Mathworks, Inc. | Stage evaluation of a state machine |
US8527888B2 (en) * | 2006-04-11 | 2013-09-03 | Invensys Systems, Inc. | Method and supporting configuration user interfaces for streamlining installing replacement field devices |
US20080016452A1 (en) * | 2005-12-02 | 2008-01-17 | Pincus Michael E | Interactive graphic operator interface panel for switchgear systems |
JP4528728B2 (ja) * | 2006-01-31 | 2010-08-18 | 株式会社東芝 | デジタル回路の自動設計装置、自動設計方法、および自動設計プログラム |
DE102006021767A1 (de) * | 2006-05-10 | 2007-11-15 | Siemens Ag | Bediengerät zum Informationsaustausch mit einem Feldgerät in einem Automatisierungssystem |
US8145358B2 (en) * | 2006-07-25 | 2012-03-27 | Fisher-Rosemount Systems, Inc. | Method and system for detecting abnormal operation of a level regulatory control loop |
US7668608B2 (en) * | 2006-09-01 | 2010-02-23 | Fisher-Rosemount Systems, Inc. | Graphical programming language object editing and reporting tool |
JP5024294B2 (ja) * | 2006-11-01 | 2012-09-12 | 日本電気株式会社 | 状態遷移表の情報記憶検索方法と装置およびプログラム |
US7716610B2 (en) * | 2007-01-05 | 2010-05-11 | International Business Machines Corporation | Distributable and serializable finite state machine |
US8656350B2 (en) * | 2007-02-06 | 2014-02-18 | Software Ag | Event-based process configuration |
US8214796B2 (en) * | 2007-04-20 | 2012-07-03 | National Instruments Corporation | Event firing node for asynchronously passing events from a graphical data flow program to a statechart |
JP5014899B2 (ja) * | 2007-07-02 | 2012-08-29 | ルネサスエレクトロニクス株式会社 | 再構成可能デバイス |
US7944234B2 (en) * | 2008-03-19 | 2011-05-17 | Micron Technology, Inc. | Programmable on-chip logic analyzer apparatus, systems, and methods |
US8307342B2 (en) * | 2008-05-14 | 2012-11-06 | Honeywell International Inc. | Method, apparatus, and system for automatic test generation from statecharts |
EP2169489B1 (en) * | 2008-09-30 | 2012-08-01 | Siemens Aktiengesellschaft | Method for implementing production processes |
EP2172883A1 (en) * | 2008-09-30 | 2010-04-07 | Siemens Aktiengesellschaft | Method for managing and controlling manufacturing processes planned by an Enterprise Resource Planning and produced by a plant floor |
DE102008043094A1 (de) * | 2008-10-22 | 2010-04-29 | Endress + Hauser Process Solutions Ag | Verfahren zur dynamischen Anpassung eines Diagnosesystems |
US8583412B2 (en) * | 2008-11-06 | 2013-11-12 | Honeywell International Inc. | Systems and methods for providing a simulation environment having a simulation user interface |
US8903520B2 (en) * | 2009-04-14 | 2014-12-02 | General Electric Company | Method for executing sequential function charts as function blocks in a control system |
WO2011024504A1 (ja) * | 2009-08-25 | 2011-03-03 | 日本電気株式会社 | データ処理装置 |
US9494931B2 (en) * | 2009-09-23 | 2016-11-15 | Fisher-Rosemount Systems, Inc. | Dynamic hyperlinks for process control systems |
US8578059B2 (en) * | 2010-02-01 | 2013-11-05 | Invensys Systems, Inc. | Deploying a configuration for multiple field devices |
US8706263B2 (en) * | 2010-06-08 | 2014-04-22 | Rockwell Automation Technologies, Inc. | Synchronization of execution of sequential function charts using transition groups |
US9059604B2 (en) * | 2011-06-27 | 2015-06-16 | Sunpower Corporation | Methods and apparatus for controlling operation of photovoltaic power plants |
WO2013123376A1 (en) * | 2012-02-15 | 2013-08-22 | The Mathworks, Inc. | Unified state transition table describing a state machine model |
JP6038959B2 (ja) * | 2012-02-15 | 2016-12-07 | ザ マスワークス, インクThe Mathworks, Inc. | 状態機械モデルを記述する統合状態遷移表 |
US9020873B1 (en) * | 2012-05-24 | 2015-04-28 | The Travelers Indemnity Company | Decision engine using a finite state machine for conducting randomized experiments |
US9507888B1 (en) * | 2012-06-06 | 2016-11-29 | The Mathworks, Inc. | Active state visualization for finite state machine models |
US9389596B2 (en) * | 2013-02-20 | 2016-07-12 | General Electric Company | Systems and methods for field device feedback |
US20140280528A1 (en) * | 2013-03-12 | 2014-09-18 | Rockwell Automation Technologies, Inc. | State machine configurator |
US9079039B2 (en) * | 2013-07-02 | 2015-07-14 | Medtronic, Inc. | State machine framework for programming closed-loop algorithms that control the delivery of therapy to a patient by an implantable medical device |
US9086688B2 (en) * | 2013-07-09 | 2015-07-21 | Fisher-Rosemount Systems, Inc. | State machine function block with user-definable actions on a transition between states |
-
2013
- 2013-07-09 US US13/937,805 patent/US9086688B2/en active Active
-
2014
- 2014-07-04 GB GB1411958.0A patent/GB2517581B/en active Active
- 2014-07-04 GB GB2004282.6A patent/GB2581273B/en active Active
- 2014-07-08 CN CN201410332331.5A patent/CN104298189B/zh active Active
- 2014-07-09 JP JP2014141387A patent/JP6437224B2/ja active Active
- 2014-07-09 DE DE102014109569.3A patent/DE102014109569A1/de active Pending
-
2015
- 2015-06-16 US US14/740,489 patent/US10274926B2/en active Active
-
2018
- 2018-11-14 JP JP2018213594A patent/JP6820306B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4607256A (en) * | 1983-10-07 | 1986-08-19 | Honeywell, Inc. | Plant management system |
US6029181A (en) * | 1996-09-26 | 2000-02-22 | Honeywell, Inc. | System and method for translating visual display object files from non-component object model (COM) objects to COM objects |
US20020059054A1 (en) * | 2000-06-02 | 2002-05-16 | Bade Stephen L. | Method and system for virtual prototyping |
CN1598723A (zh) * | 2003-09-05 | 2005-03-23 | 费舍-柔斯芒特***股份有限公司 | 具有用户可修改的状态转换配置数据库的状态机功能块 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107615189A (zh) * | 2015-05-19 | 2018-01-19 | 三菱电机株式会社 | 可编程逻辑控制器、工程设计工具及工程设计工具程序 |
CN107615189B (zh) * | 2015-05-19 | 2019-04-12 | 三菱电机株式会社 | 可编程逻辑控制器、工程设计工具及存储有工程设计工具程序的存储装置 |
CN105138332A (zh) * | 2015-08-26 | 2015-12-09 | 上海联影医疗科技有限公司 | 状态机的实现方法和装置 |
CN106547274A (zh) * | 2015-09-16 | 2017-03-29 | 中国航空工业第六八研究所 | 一种基于场景矩阵的状态机测试方法 |
CN106547274B (zh) * | 2015-09-16 | 2019-11-15 | 中国航空工业第六一八研究所 | 一种基于场景矩阵的状态机测试方法 |
CN109863724A (zh) * | 2016-11-03 | 2019-06-07 | 华为技术有限公司 | 用于转发元件的有状态控制的方法和装置 |
CN109922930A (zh) * | 2016-11-09 | 2019-06-21 | Abb瑞士股份有限公司 | 用于确定***状态的可能转换的方法 |
CN109922930B (zh) * | 2016-11-09 | 2022-05-17 | Abb瑞士股份有限公司 | 用于确定***状态的可能转换的方法 |
CN109858721A (zh) * | 2017-11-30 | 2019-06-07 | 中广核(北京)仿真技术有限公司 | 一种控制计算策略生成方法以及*** |
CN113189968A (zh) * | 2021-05-08 | 2021-07-30 | 哈尔滨工业大学 | 互联工业过程的分布式故障诊断方法 |
CN113189968B (zh) * | 2021-05-08 | 2022-08-26 | 哈尔滨工业大学 | 互联工业过程的分布式故障诊断方法 |
Also Published As
Publication number | Publication date |
---|---|
GB2517581A (en) | 2015-02-25 |
CN104298189B (zh) | 2019-09-27 |
GB2581273A (en) | 2020-08-12 |
US9086688B2 (en) | 2015-07-21 |
JP2019050022A (ja) | 2019-03-28 |
JP6437224B2 (ja) | 2018-12-12 |
DE102014109569A1 (de) | 2015-01-15 |
US20150018977A1 (en) | 2015-01-15 |
US10274926B2 (en) | 2019-04-30 |
GB202004282D0 (en) | 2020-05-06 |
GB2517581B (en) | 2020-08-26 |
GB2581273B (en) | 2020-12-30 |
GB201411958D0 (en) | 2014-08-20 |
JP6820306B2 (ja) | 2021-01-27 |
US20150277425A1 (en) | 2015-10-01 |
JP2015018553A (ja) | 2015-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104298189A (zh) | 具有在状态间转换的用户可定义的动作的状态机功能块 | |
CN1598723B (zh) | 具有用户可修改的状态转换配置数据库的状态机功能块 | |
US7096078B2 (en) | Boolean logic function block | |
US7269468B2 (en) | State machine function block with a user modifiable output configuration database | |
CN102890453B (zh) | 用于功能块实例化的***和方法 | |
US11625018B2 (en) | Method and system for configuring virtual controllers in a building management system | |
US11720074B2 (en) | Method and system for managing virtual controllers in a building management system | |
US11940786B2 (en) | Building management system and method with virtual controller and failsafe mode | |
US11782410B2 (en) | Building management system with control logic distributed between a virtual controller and a smart edge controller | |
CN108139729A (zh) | 用于配置过程控制***的分开的监控块和结果块的***和方法 | |
US11252010B2 (en) | System for controlling and monitoring adaptive cyberphysical systems | |
US11012253B2 (en) | Controller for smart devices | |
Vyatkin et al. | System-level architecture for building automation systems: Object-orientated design and simulation | |
JP2019106172A (ja) | プロセスプラントに関連付けられたフィールドデバイスコミッショニング情報を評価及び提示する技術 | |
JP2002055713A (ja) | プラント制御システム | |
US20220100160A1 (en) | Automated programming of a programmable-logic controller (plc) of a microcontroller using an expert system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |