CN1802612B - 用于在面向块的安全相关开放控制***中操作的装置 - Google Patents

用于在面向块的安全相关开放控制***中操作的装置 Download PDF

Info

Publication number
CN1802612B
CN1802612B CN200480015603.3A CN200480015603A CN1802612B CN 1802612 B CN1802612 B CN 1802612B CN 200480015603 A CN200480015603 A CN 200480015603A CN 1802612 B CN1802612 B CN 1802612B
Authority
CN
China
Prior art keywords
safety
piece
data
parameter
sis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200480015603.3A
Other languages
English (en)
Other versions
CN1802612A (zh
Inventor
D·A·格兰泽尔
J·D·达菲
S·B·米奇克
J·C·加布勒
L·J·F·贝耶
R·拉马钱德兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fieldbus Foundation
Original Assignee
Fieldbus Foundation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fieldbus Foundation filed Critical Fieldbus Foundation
Publication of CN1802612A publication Critical patent/CN1802612A/zh
Application granted granted Critical
Publication of CN1802612B publication Critical patent/CN1802612B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24008Safety integrity level, safety integrated systems SIL SIS
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25428Field device

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Small-Scale Networks (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

本发明提供了一种用于经由开放***把安全相关数据从发送器传递到接收器的设备、***和方法。提供了安全相关组件,包括功能块、灵活功能块、资源块和传感器块以及安全相关对象。扩展的安全相关协议还提供了对在安全相关组件之间经出现有的黑色通道(black-channel)的通信的认证,诸如使用现场总线体系结构。

Description

用于在面向块的安全相关开放控制***中操作的装置
相关申请的交叉引用 
本申请要求了2003年4月17日提交的、美国临时专利申请号No.60/463,334、题目为“Safety Instrumented Systems Function Blocks”的优先权益,通过将其全部引用在此结合以供参考。 
本申请还全部引用并结合了以下专利和/或专利申请中所阐述的内容: 
美国专利号No.6,594,530,题目为“A Block-Oriented Control System”; 
于1997年8月21日提交的美国临时专利号No.60/024,346,题目为“ABlock-Oriented Control System”; 
于2000年6月21日提交的美国专利申请号No.09/598,697,题目为“Block-Oriented Control System On High Speed Ethernet”; 
美国专利号No.6,424,872,题目为“A Block-Oriented Control System”; 
于1999年6月21日提交的美国临时专利申请号No.60/139,814,题目为“Foundation Fieldbus on HSE”; 
于2003年6月4日提交的美国专利申请号No.10/453,596,题目为“FlexibleFunction Blocks”; 
于2002年6月4日提交的美国临时申请号No.60/384,846,题目为“FlexibleFunction Blocks”;和 
于2002年8月23日提交的美国专利申请号No.10/226,282,题目为“IntegratedFieldbus Data Server Architecture”。 
技术领域
本发明各个实施例所涉及的技术领域是控制***体系结构。更具体的是,所述技术领域涉及用于在自动控制***中控制安全仪表***的功能与操作的***和方法。再具体地,本发明的某些实施例涉及用于在自动控制***范围内控制安全仪表***的***和方法,其中所述自动控制***经由控制网络来链接到装置控制器以便分布式控制工业、制造及其它过程。 
背景技术
实施复杂过程和***的工业、制造业、石化行业及其它“自动行业”已经从专有、集中的体系结构转向开放的、分布式的体系结构以利于这些过程和***的自动化。分布式的体系结构通常实施现场总线(fieldbus)控制***和网络,其中在所述网络和/或***内的各个装置之间分布控制。开放、可互操作且分布式的 现场总线体系结构的例子包括来自现场总线基金会(Fieldbus Foundation)(Austin,TX)的FOUNDATIONTM现场总线、来自PROFIBUS国际(Karlsruhe,德国)的PROFIBUS;来自Echelon公司(San Jose,CA)的LonWorks、工业以太网等(以下,总称“现场总线体系结构”)。 
对开放的且可互操作的分布式控制现场总线***的需要常常由设备供应商和用户来推动。供应商通常更喜欢现场总线体系结构,因为这能使他们向更多的用户、而不只是操作特定专有***的用户销售他们的产品和/或服务。用户希望利用现场总线体系结构,例如,是因为所述现场总线体系结构常常能使用户从多个供应商中选择现场总线装置和/或服务、而不只是特别为专有***所设计的装置。 
自动化行业的许多部门还需要专门的“安全”***以确保工厂人员的安全并且防止装置由于意外事件而受到损害。这些专门的“安全”***总的被称作“安全仪表***(Safety Instrumented Systems)”(SIS)。用户和供应商常常要求SIS***符合国际安全标准,诸如国际电工委员会(IEC)61508(电气/电子/可编程电子与安全有关的***的功能安全),以及IEC 61511(功能安全:加工工业部门的安全仪表***)。当前可用的SIS控制解决方案通常是专有的并且不与现场总线体系结构兼容。 
因此,SIS装置和***的用户和供应商需要一种开放的且可互操作的SIS现场总线体系结构(以下,称为“SIS现场总线”),其能使用户利用现有的现场总线体系结构来支持和/或提供SIS控制。希望SIS现场总线直接与现有的现场总线体系结构相兼容并且不要求改变现有的通信协议、功能块和/或其它网络方面。 
发明内容
本发明的一个实施例提供了一种用于在面向块的、安全相关的(safety-related)、开放的控制***中操作的装置。这种装置包括存储器、处理器和介质连接单元,所述存储器包括至少一个安全相关功能块,所述处理器可操作地连接到所述存储器,其中所述处理器根据***调度(schedule)来执行所述安全相关功能块,而所述介质连接单元使用扩展的安全相关协议在处理器和传输介质之间转换输入消息和输出消息。在另一实施例中,装置中的存储器还包括安全相关资源块、第一安全相关传感器块、以及第二安全相关传感器块,其中所述资源块把安全相关功能块与物理硬件相隔离,所述第一安全相关传感器块把所述安全相关功能块的输入去耦合,而所述第二安全相关传感器把所述安全相关功能块的输出去耦合。 
在本发明的另一实施例中,提供了一种用于允许在面向块的开放的控制***中的安全相关和非安全相关装置之间互操作性的***。所述***包括多个安全相关和非安全相关装置。至少一个安全相关装置包括安全相关资源块和安全相关功能块。此外,安全相关资源块唯一地识别在安全相关装置中提供的安全相关资源, 并且安全相关功能块处理与所述安全相关资源相关联的参数以生成输出消息。所述***还包括介质连接单元,其至少可操作地连接到所述安全相关功能块。介质连接单元使用扩展的安全相关协议把输入消息从传输介质转换到安全相关功能块,并把输出消息从所述安全相关功能块转换到所述传输介质。 
在本发明的另一实施例中,提供了一种加强面向块的开放的控制***的互操作性的装置,所述开放控制***具有安全相关装置。所述装置包括用于存储至少一个安全相关功能块的装置,所述安全相关功能块包括所包含的参数和计算机程序。安全相关功能块包括终端用户配置的参数和终端用户配置的算法。所述装置还包括与所述存储装置耦合的装置,用于使用所包含的参数来处理所述安全相关功能块。处理所包含的参数结果生成输出参数。所述装置还包括与所述处理装置耦合的装置,用于使用扩展的安全相关协议把来自用于发送的处理器的消息转换到传输介质上。 
本发明的另一实施例提供了一种在面向块的开放的控制***中操作的装置,所述控制***包括安全相关组件。所述装置包括用户层,所述用户层包括用于提供功能的安全相关功能块。安全相关功能块包括终端用户配置的参数和终端用户配置的算法。所述装置还包括物理层,所述物理层使用扩展的安全相关协议把来自传输介质的消息转换为适当格式以供用户层使用,并把来自所述用户层的消息转换为在传输介质上传输的信号。还提供了连接到用户层和物理层的通信堆栈(stack)。所述通信堆栈包括数据链路层和应用层。数据链路层控制传输介质上的消息传输,而应用层使用户层能够经由所述传输介质通信。 
在本发明的另一实施例中,提供了一种用于存储由应用架构所访问的数据的存储器,所述应用架构在具有安全相关组件的面向块的开放的控制***内的装置中操作。所述存储器包括在所述存储器中所存储的数据结构。数据结构还包括安全相关功能块和安全相关资源块。安全相关资源块使所述装置的硬件具体特性可被电子地读取。所述存储器还包括至少一个安全相关传感器块,所述安全相关传感器块控制对安全相关功能块的访问。 
本发明的另一实施例包括用于经由开放控制***把安全相关数据从公布者(publisher)传递到订户的过程。所述过程包括获得用于产生第一数据序列的信息,使用所获得的信息产生所述第一数据序列,产生所述第一数据序列的第一鉴别码(authenticator),产生第二数据序列,其中所述第二数据序列包括安全相关数据和第一鉴别码,把所述第二数据序列从公布者传递到订户,使用在所述第二数据序列中所接收的至少一个数据序列来在所述订户处产生第三数据序列,在所述订户处根据所述第三数据序列来计算第二鉴别码,把所接收的第一鉴别码与所述第二鉴别码相比较,当所述第一鉴别码和第二鉴别码不同时拒绝对所述第二数据序列进一步处理,并且当所述第一鉴别码和第二鉴别码相同时接受所述第二数据序列。 
应当理解,参考附图、详细说明和权利要求在此进一步描述并阐明了本发明 的***、装置、制造产品和方法的其它实施例。从而,本发明的精神和范围不应该被限制在以上所概括的实施例中。 
附图说明
图1是可以结合本发明的一个或多个实施例被用来支持SIS现场总线的扩展控制***的概观。 
图2与在本发明的一个实施例中所利用的通信模型相比较,示出了开放***互连分层通信模型。 
图3图示了现场装置的硬件实施例。 
图4概括了由现场总线访问子层所提供的虚拟通信关系。 
图5图示了经由通信服务互连的两个装置,一个具有安全相关组件,而另一个不具有安全相关组件。 
图6图示了对象词典。 
图7A和7B图示了在本发明的通信模型内用于安全和非安全装置的虚拟通信装置。 
图8A和8B图示了在包含安全相关和非安全相关组件的现场装置内的功能块应用结构。 
图9A和9B图示了对于安全和非安全实施,在具有现场装置的总线上互连的外部装置。 
图10图示了对象词典目录对象的优选设计。 
图11图示了用于与安全相关和非安全相关组件的单回路的互连参数的例子。 
图12举例说明了依照本发明***体系结构的一个实施例。 
图13图示了具有用户可配置输入、用户可配置输出和用户可配置算法的安全相关功能块。 
图14依照本发明的至少一个实施例图示了使用标准化与安全相关和非安全相关功能块和灵活功能块的应用。 
图15是图示使用标准化、灵活功能块和FFB的应用的例子的框图。 
图16A、16B和16C是图示一种方法的流程图,借此方法数据可以使用发布者-订户拓扑来传递,并且对于安全相关功能块和安全相关灵活功能块进行认证。 
图17A、17B和17C是图示一种方法的流程图,借此方法数据可以使用客户端-服务器拓扑来传递,并且对于安全相关功能块和安全相关灵活功能块进行认证。 
具体实施方式
如这里所描述的,本发明的各个实施例提供了用于在新的和/或现有的现场总线体系结构中利用SIS装置的***、组件和方法(以下,总称为“***”)。希望这里所阐明的各个***可以用于各种类型和形式的SIS装置以及各种类型的现 场总线体系结构。此外,可能希望在对于目前在现场总线体系结构中所利用的协议、方法或其它过程不进行显著(优选根本不进行)改变的情况下,在各种现场总线体系结构中使用本发明的各个***,以便通过网络传递非SIS信息来通知和/或由网络可兼容的现场总线装置利用。 
更具体地是,SIS实施的一个实施例可以包括被配置为在开放的控制***中操作的装置,所述***包括:存储器,包括***管理数据;一个或多个SIS元件;处理器,可操作来连接到所述存储器;介质连接单元,用于在所述处理器和传输介质之间转换输入消息和输出消息;和扩展的安全或安全相关协议(“SISRP”),用于提供为特定的SIS实施所需要的想要的安全等级。***管理数据可以包括***调度信息,所述处理器想要按照如***调度所指定的那样来执行所述***调度信息。 
本发明的另一实施例可以例如通过允许在多个装置之间的互操作性在现场总线体系结构中提供SIS实施,所述多个装置中的至少一个包括SIS组件(“SISC”),诸如资源块、功能块、传感器块或链接对象,还提供了介质连接单元,可操作地连接到所述SISC。在这种实施例中,资源块唯一地识别每个装置,所述功能块处理参数以生成输出消息,并且介质连接单元例如把所接收的输入消息(一个或多个)从传输介质转换到SIS装置,以及把输出消息从所述SIS装置转换到所述传输介质。这种实施例可以被认为是功能块实施。 
按照和/或结合本发明的教导(teachings)还可以提供其它实施方式。在本发明的一个这种实施例中,提供了一种装置,所述装置意欲包括:用户层,包括用于提供功能的所封装的SISC;物理层,用于把来自传输介质的消息转换为适当的格式以供用户层使用,并且用于把来自所述用户层的消息转换为信号以便在传输介质上发送;和通信堆栈,连接到所述用户层和物理层。所述通信堆栈可以包括数据链路层和应用层。数据链路层控制把消息发送到传输介质上。应用层使用户层能经由所述传输介质通信。 
本发明的另一实施例可以通过允许在多个装置之间的互操作性来依照现场总线体系结构提供SIS实施,其中所述多个装置中的至少一个装置包括资源块、链接对象,还提供了介质连接单元,可操作地连接到所述链接对象。在这种实施例中,资源块唯一地识别每个装置,所述链接对象接收所处理的参数并且生成输出消息,并且介质连接单元把输入消息从传输介质转换到链接对象,以及把输出消息从所述链接对象转换到所述传输介质。 
本发明的另一实施例还可以包括一种装置,所述装置意欲包括:用户层,包括用于提供功能的一个或多个封装的SISC(一个或多个);物理层,用于把消息从传输介质转换为用于用户层的适当格式,并且把来自所述用户层的消息转换为信号以便在传输介质上发送;和通信堆栈,连接到所述用户层和物理层。所述通信堆栈包括数据链路层和应用层。数据链路层控制把消息发送到传输介质上。应用 层使用户层能经由所述传输介质通信。 
同样,本发明的上述及其它实施例可以包括用于存储由应用架构所访问数据的存储器,所述应用架构在控制***内的装置中操作。所述存储器包括在所述存储器中存储的数据结构,所述数据结构包括一个或多个SISC(诸如资源块,其用于使装置的硬件具体特性可被电子读取),封装的功能块和至少一个传感器块。所述功能块包括终端用户配置的程序和参数,并且至少一个传感器块控制对所述功能块的访问。 
从而应当理解,可以以各种形式的装置和***提供本发明的各个实施例。其中一部分利用SISC和/或SISRP以便把SIS装置并入现有的现场总线体系结构。然而,为了简明,在此首先参考现场总线体系结构的一个实施例在以下描述了本发明的各个实施例,所述现场总线体系结构即当利用通用的现场总线通信网络时,利用功能块来提供通用结构以便指定不同类型的装置功能的体系结构。 
如通常所知并理解,现场总线体系结构的功能块实施定义了应用的内部组件或其部分,由装置实现以便提供***操作。功能块应用指定每个应用或其部分怎样与***中的应用彼此对接,以便在装置之间提供标准化的互操作性。 
如由Texas的Austin的现场总线基金会所提供的FOUNDATIONTM现场总线规范,已经指定了现场总线体系结构的功能块实施的一个实施方式。如通常所知并理解,FOUNDATIONTM现场总线指出了用于优化过程控制的低速现场总线(H1)和用于高性能控制的高速以太网(High Speed Ethernet HSE)现场总线主干网,子***集成和管理信息***集集成。控制***可以支持各种现场装置,包括传感器和传动器,或高速现场装置,诸如单元(cell)控制、电动机、驱动器和远程输入/输出(I/O)。因为FOUNDATIONTM现场总线是开放的且可互操作的分布式控制结构,所以来自不同销售商的控制装置在H1或HSE现场总线上互操作并且共享所述控制功能(例如,控制被分布在现场总线装置中)。把控制分布到现场总线装置中常常降低了***安装成本,这是因为降低或消除了对集中式控制计算机和I/O子***的需要。此外,把控制分布到现场总线装置中常常降低了***运营和维护成本,这是因为装置中的标准功能块提供了关于过程测量和装置状态的更多信息。在此环境中,阐明了用于提供SIS装置的现场总线控制的本发明的一个实施例。然而应当理解,本发明不局限于下面所描述的现场总线基金会实施,并且可以被结合到其它现场总线体系结构中。 
特别地是,本发明的一个实施例利用FOUNDATIONTM现场总线体系结构来向新的且改进的控制***体系结构提供增强的且附加的通信安全。当利用新的、安全相关功能块时,除和/或“上述”由现有的通信***所提供的安全之外,还提供了这种通信安全,其中所述功能块与现有的功能块构架构架兼容,诸如在FOUNDATIONTM现场总线规范中所提供的构架构架。应当理解,新***通常消除和/或显著地降低了对昂贵且难于为SIS应用保持定制控制软件和专门的输入/输 出“I/O”装置的需要。参考这个和类似的实施例,在此所描述的安全相关功能块被总的称为安全仪表***功能块(“SISFB”)——SISC的一个实施例。 
SISFB***概述
如图1所示,现场装置(可以包含一个或多个SISC)是在现场总线体系结构控制***上操作的装置,并且通常被分类为非SIS可兼容链路活动调度器(activescheduler)100、SIS可兼容链路活动调度器100’、(非)SIS可兼容链路主装置(master)105/105’或(非)SIS可兼容基本(basic)装置110/110’。如下面非常详细地论述,SIS装置中的SIS和非SIS组件(即,链路活动调度器、链路主装置和基本装置)基本上是类似的,但是SIS组件利用附加扩展的安全或SISRP来确保在SISC之间的通信是安全并且没有被破坏、修改或降级。从而,当在现场总线体系结构控制***中包括SIS装置时,这种SIS现场装置还可以被分类为SIS链路活动调度器100’、SIS链路主装置105’或SIS基本装置110’。SISC可以使用诸如总线120和/或120’之类的现有现场总线体系结构来与其它SISC和/或非SISC通信(例如,为了报告及其它使用)。 
不管现场装置是否包括SISC,根据其控制能力和职责来分类现场装置。例如,如果现场装置充当总线120/120’的网络控制器,那么它被分类为链路活动调度器100/100’。如果现场装置能够充当网络控制器或链路活动调度器,但是尚未承担该职责,那么所述现场装置被分类为链路主装置105/105’。基本装置110/110’不能够充当网络控制器。 
现场装置由传输介质120/120’电子耦合或连接,所述传输介质120/120’可以是单个的输入和输出线路或各种总线结构。如图1所示,实施例使用总线结构,借助此总线结构分别具有SISC和非SISC的现场装置部可以被连接。总线的吞吐率可以改变。几个示例性的总线是31.25kbit/s H1总线和100Mbit/s HSE总线。然而,结合本发明的各个实施例可以适当地利用其它总线数据传送(transfer)速率和配置。总线数据传送速率通常与是把SISC还是把非SISC现场装置连接到控制***无关。应当理解,桥接器(bridge)130(图1)和总线120/120’可以由其它***配置来适当地代替。例如,一个实施例可以利用HSE装置,所述HSE装置由以太网交换机依照星形拓扑连接。还可以利用其它***和/或网络实施例。 
然而在目前描述的实施例中,H1总线通常用于过程控制应用,诸如温度、等级(level)和流量控制。HSE总线通常用于高速应用。在HSE总线上操作的装置通常是自供电的或从现场总线电缆(即,4线缆)中的独立的电源总线获取电力,然而它们也可以直接由现场总线供电。 
在图1所示出的实施例中,存在在总线120/120’上操作的几个链路主装置105/105’。当激活这些链路主装置105/105’时,这些(SIS)链路主装置105/105’争夺变为链路活动调度器100/100’的职责。在所示出的实施例中,变为链路活动 调度器100/100’的链路主装置105/105’是具有最低网络地址的装置。在可选实施例中,特定的装置可以是“优选的”链路主装置。在这种情况下,当激活***时,具有最低网络地址的链路主装置105/105’可能会承担链路活动调度器100/100’的职责。那么,“优选的”链路主装置105/105’可能会向用于指示它传送控制的链路活动调度器100/100’发送消息。一旦收到所述消息,链路活动调度器100/100’可能会传送控制到优选的链路主装置105/105’。 
此外,当SIS装置被连接到控制***(例如,在总线120或120’上)时,优选地是,被指定为链路活动调度器的链路主装置与SIS兼容。如图1所示,由于网络120’上存在SIS基本装置110’,所以总线120’由SIS链路活动调度器100’适当地控制。如下面非常详细地所论述,SIS现场装置110’中的SISC通常被配置为从其它SIS装置中的SISC而不是从SIS或非SIS装置中的非SISC中接受输入和指令。然而,在SIS或非SIS装置中的非SISC通常可以接受来自SISC或非SISC组件的输入和指令。从而,当网络中包括SISC时,希望所指定的链路主装置调度器包括任何必要的SISC。 
当在总线120/120’上存在多个链路主装置105/105’时,存在用于进行争控过程的各种方法。例如,在1996年6月11日公布的美国专利号No.5,526,358中示出了一类争控过程,在此将其全部引用以供参考。如果用于控制总线120/120’的链路活动调度器100/100’发生故障或被移除,那么也可以进行所述争控过程。当SIS装置105’在总线上时,还应当从可用的SIS链路主装置105’中选择链路活动调度器。 
控制***还可以包括桥接器130,用于互连单个总线并且创建更大的网络。可以由一个或多个操作站(operator station)150来监视在单个总线之间的通信。此外,在SIS实施例中,希望所述操作站是与SIS可兼容的。 
此外在本实施例中,希望链路主装置105/105’包含与链路活动调度器100/100’相同的控制能力。从而,在此参考链路主装置还论述了它们二者的能力。更特别地是,链路主装置105/105’包括程序接口,所述程序接口包括以下三层:(1)物理层,(2)通信堆栈和(3)用户层。当在现场装置中利用SISC时,用户层还包括并利用SISRP或接口,如在下面所详述。另外,与SIS和非SIS可兼容的组件利用共用的物理层、通信堆栈和用户层。 
如图2所示,对于本发明的一个实施例,根据开放***互连(OSI)模型导出了物理层(PHY)200和通信堆栈205。希望物理层(PHY)200与OSI层1相同,而通信堆栈205通常对应于OSI层2和7。用户层35不由OSI模型所定义。在可选实施例中,可以根据各种不同的联网标准(networking standard)来导出物理层200和通信堆栈205,所述联网标准诸如传输控制协议/网际协议(TCP/IP)、UNIX等。下面详细描述了这些层中的每一个。对于非SIS和SIS实施,希望PHY 200和通信堆栈是相同的。应当理解,在不要求对目前由非SIS装置所利用的通信协议进行改变的情况下,这些层中的这种通用性使SIS装置能够连接到现有的现场 总线体系结构。照此在这里关于共用的或通用(即,非SIS)现场总线体系结构来描述了物理层200和通信堆栈205。 
物理层 
如图1和2所示,物理层200接收来自通信堆栈205的消息并且把所述消息变换为传输介质120/120’上的物理信号,反之亦然。物理层200可以由来自国际电工委员会(IEC)和国际测量和控制学会(ISA)的已通过的标准所定义。关于物理层200的更多信息,参见ISA文献S50.02-1992和IEC文献1158-2,在此将其全部引用以供参考。然而应当理解,也可以由本领域中通常已知的其它标准来定义所述物理层。 
在所示出的实施例中,使用公知的曼彻斯特双向编码-L(ManchesterBiphase-L)技术来编码消息,并且把时钟信号嵌入到串行数据流中。同样,按照在任何特定的实施例中所利用的实施和联网标准的要求和/或指定,可以利用其它编码模式(schemes)。所要求用来转换来自总线120/120’的入站消息和来自来置内处理器的出站消息的硬件通称为介质连接单元,诸如网络适配器。在物理层200转换来自总线120/120’的入站消息之后,它把所述入站消息转送到通信堆栈205。下面描述了所述通信堆栈205。 
通信堆栈 
图2示出了优选的通信堆栈205。在此实施例中,通信堆栈205包括数据链路层210、现场总线访问子层220和现场总线消息规范(message specification)230。同样,希望这些层(205,210,220和230)对SISC和非SISC来说是通用的。对于至少一个实施例,当现场总线访问子层220和现场总线消息规范230是OSI应用层(OSI层7)内的子层时,所述数据链路层还与OSI层2相同。通信堆栈205不使用层3-6。下面描述了所述通信堆栈205的层。 
数据链路层
数据链路层210根据从网络控制器或链路活动调度器100/100’所接收的指令,来控制把来自所述链路活动调度器100/100’、链路主装置105/105’或基本装置110/110’的消息发送到总线120/120’上。在优选实施例中,数据链路层210是IEC和ISA数据链路层标准的子集。 
链路活动调度器100/100’依照在存储器中所存储的网络调度来控制数据链路层210。网络调度是在所述***内数据缓冲器的发送次数列表。数据缓冲器存储由现场装置所收集的数据。例如,如果现场装置是温度计,那么数据缓冲器存储温度,并且当命令时,把温度读数公布到总线120/120’上。另外,因为链路活动调度器100/100’保持了“实况列表”,所以它可以识别在***上操作的所有现场装置。 链路活动调度器100/100’通过定期地发送传送令牌消息(pass token message)来保持所述实况列表。在所述实况列表上保持适当地响应传送令牌的任何现场装置。如果现场装置没能在预定数目的尝试之后响应传送令牌,那么从实况列表除去所述装置。因为多个网络可以由桥接器等连接,所以在一个实施例中,希望每个链路活动调度器100/100’那些组件的“实况列表”保持在每个各自网络上。 
还可以把新的装置添加到所述实况列表。链路活动调度器100/100’定期地向没有在所述实况列表中列出的网络地址发送探测(probe)节点消息。如果现场装置存在于所述网络地址并且接收了探测节点消息,那么所述现场装置立即返回探测响应消息。如果所述现场装置利用探测响应消息应答,那么链路活动调度器100/100’把所述现场装置添加到所述实况列表并且通过向所述现场装置发送节点激活(activation)消息来确认添加了所述现场装置。 
每当从实况列表中添加或除去现场装置时,链路活动调度器100/100’向所有现场装置广播所述实况列表的变化。这使每个现场装置能保持所述实况列表的当前拷贝。 
链路活动调度器100/100’还调度来自在***中操作的其它现场装置的通信。链路活动调度器100/100’通过在调度时间发布强制(compel)数据消息来协调每个通信的计时。一旦收到所述强制数据消息,所请求的现场装置向在所述***中操作的其它现场装置广播或公布其数据。为了保证适当的同步,链路活动调度器100/100’还定期在总线120/120’上广播时间分布消息(time distribution message),以便所有现场装置具有精确相同的数据链路时间。时间分布消息是包括数据链路时间的消息。数据链路时间是链路活动调度器100/100’的***时间。当时间分布消息由在给定总线上的链路主装置105/105’接收时,链路主装置105/105’把它们的单个***时间重置或重新校准为数据链路时间。 
在所调度的消息或数据交换之间执行其余操作。链路活动调度器100/100’通过向单个装置发布传送令牌消息来允许其它现场装置使用总线120/120’。当单个现场装置接收了所述传送令牌时,允许现场装置发送消息直到所述现场装置完成发送消息或直到达到最大令牌持续时间(token hold time),以这两者中较短的为准。令牌持续时间是装置在接收所述传送令牌之后可以发送消息的时间量。此控制管理方法通常称作令牌传送控制。用于实现令牌传送控制的各种技术对那些本领域内技术人员来说是众所周知的。 
为了控制数据交换,每个装置/组件优选包括输入接头(snap)240、处理器250、存储器255、所包含的参数257和输出接头260和介质连接单元612,如图3和8所示。输入接头240和输出接头260在块执行期间防止参数值被写入访问或其它外部干扰。处理器250处理执行所存储的块以及在所述块内的程序和算法。所抓取的(snapped)参数和所包含的参数257存储在存储器255中。优选地是,存储器是EEPROM或FLASHROM,以便允许在不会由于掉电而丢失数据的情况下来编 程所述装置。在可选实施例中,存储器255可以是ROM、RAM或EPROM。 
现场总线访问子层
再次参照图2,通信堆栈205中的下一层是现场总线访问子层220。现场总线访问子层220使用数据链路层210的已调度和未调度的数据交换来向现场总线消息规范230提供服务。再次,希望此子层220在与SIS和非SIS都可兼容的装置中是相同的。由现场总线访问子层220所提供的服务是通常发送消息的高效寻址(addressing)方法。现场总线访问子层服务的某些例子称作虚拟通信关系(virtualcommunication relationships,VCR)。图4示出了三种类型的VCR:客户端/服务器251、报告分布252和公布者/订户254。然而在本发明的其它实施方式中可以存在其它VCR。 
客户端/服务器VCR 251用于操作消息(operator message),诸如在图4中列出的消息类型。特别地是,客户端/服务器VCR 251是排队的、未调度的、用户发起的、在现场装置(包括SISC)和/或现场装置内的组件之间一对一通信的。排队意味着依照次序来发送并接收消息,并且在不重写先前消息的情况下提交所述消息以便发送。在优选实施例中,当现场装置接收来自链路活动调度器100/100’的传送令牌消息时,现场装置可以发送用于请求数据交换的消息。请求装置被称作客户端。接收所述请求的装置被称作服务器。服务器当接收来自链路活动调度器100/100’的传送令牌消息时作出响应。如在下面更加详述的,当在客户端/服务器数据交换中包含SISC时,附加的消息和发送器验证技术(诸如在SISRP中所阐明)用来确保获得适当的安全完整性等级(Safety Integrity Level,“SIL”)。 
报告分布VCR 252用于事件通知,诸如向操作控制台警告通知和趋势报告。特别地是,报告分布VCR是排队的、未调度的、用户发起的(user-initiated)、一对多通信的。报告分布VCR 252使装置能向共用的地址(common address)(诸如“所有操作控制台”)发送消息。希望用于SISC和非SISC的报告分布VCR是相同的。应当理解,由于存在于与SIL可兼容的组件中的内置保护,所以通常相对于报告事件并不出现SIL考虑(consideration),即当检测到错误条件时完成某些“安全”功能或动作的预先编制程序。 
公布者/订户VCR 254用于公布数据。特别地是,公布者/订户VCR 254是缓冲的(buffered)、一对多通信。缓冲意味着在所述网络内只保持数据的最新版本。新数据重写先前的数据。在优选实施例中,当现场装置接收来自链路活动调度器100/100’的强制数据消息时,所述现场装置向总线120/120’上的其它现场装置公布或广播消息。公布者/订户VCR 254由现场装置用来调度地公布用户层功能块输入和输出。稍后更详细地论述公布用户层功能块输入和输出。如在下面所详述,当在公布者/订户数据交换中包含SISC时,使用附加的消息和公布者验证技术(诸如在SISRP中所提供)用来确保获得适当的安全完整性等级(“SIL”)。 
现场总线消息规范(“FMS”)
通信堆栈205中的另一层是现场总线消息规范(“FMS”)230。FMS 230使功能块应用使用标准的消息格式集来彼此发送消息。FMS 230描述了需要用于构建用户层240消息的协议行为、通信服务270和消息格式,如图5中所图示。在本发明的一个实施例中,FMS的格式化由国际电报电话咨询委员会(InternationalTelegraph and Telephone Consultive Committee)所开发的形式语法描述语言(称作抽象语法表示(Abstract Syntax Notation)1)来定义。在其它实施例中,使用通常已知的消息描述语言来另外定义FMS的格式。 
由对象描述来描述经由总线120/120’所传递的数据。如图6中所图示,把对象描述280一起收集到称作对象词典281的结构中。由索引号285识别对象描述280。索引号是对在存储器中存储特定对象描述的位置的交叉引用。称作对象词典首部(object dictionary header)的索引零287提供了对词典本身描述,并且为功能块应用440的对象描述定义了第一索引。 
在优选实施例中,索引号1-255定义了用于构建所有其它对象描述280的标准数据类型,诸如布尔、整数、浮点、位串和数据结构。在索引号255上的索引号交叉引用用户层对象描述280。 
在图5中所示出的通信服务270向(与SIS和非SIS都可兼容的)用户层235/235’提供了标准化的方法以便经由现场总线通信。通信服务270的一些例子是环境(context)管理服务、对象词典服务和变量访问。在一个实施例中,环境管理服务用来建立并释放与虚拟现场装置的虚拟通信关系。对象词典服务使用户层235/235’能访问并改变虚拟现场装置中的对象描述。变量访问服务使用户层235/235’能访问并改变与对象描述相关联的变量。 
另外,通信服务270使现场总线消息规范230能与用户层235/235’中的虚拟现场装置310、400通信的。如图7A所示,现场装置将具有至少两个虚拟现场装置、网络和***管理虚拟现场装置310以及用户虚拟现场装置400。 
典型情况下网络和***管理虚拟现场装置310存储网络管理数据320和***管理数据330。网络管理数据包括网络管理信息库(network management informationbase NMIB)对象描述部分322和NMIB对象数据部分325。***管理数据330包括***管理信息库(SMIB)对象描述部分332和SMIB对象数据部分335。用户虚拟现场装置400包括块对象数据327,其包括块对象描述326。 
***和网络管理信息库对象描述322、335描述了***和网络管理信息库对象数据325、332的***和网络格式。 
在一个实施例中,几个标准的通信简档(profile)用来使现场装置能在相同的传输介质120/120’上通信并合作。优选地是,取决于现场装置的类别或种类来定义用于功能块应用440的通信简档。为了配置并保持现场装置及其功能块应用,还 推荐了通用的文件格式。 
如图7B所示,总线120/120’、介质连接单元612(图8A和8B)、物理层200、数据链路层210和通信堆栈205的组合被认为形成了“黑色通道”(如由散列块(hashed block)所图示)207。黑色通道207在不要求增加、删除或改变目前所使用的通信协议和配置的情况下,在SISC和非SISC之间提供了标准化的通信网络和互连,以便支持使用现场总线体系结构来在一个或多个现场装置中的非SISC之间通信。 
用户层
用户层235处理由在***中操作的现场装置所采集的信息。如图2所示,用户层235是添加到OSI模型的附加层。如图7A所示,用户层通常由网络和***管理应用430和至少一个功能块应用440组成。其中每个都具有自己的上述虚拟现场装置。 
功能块应用440定义了现场装置的功能。功能块应用440包括一个或多个资源500/500’,如图8A所示为具有一个或多个非SISC的现场装置,并且如图8B所示为具有一个或多个SISC的现场装置。现场装置可以包含那些包括SISC和非SISC的资源。资源500/500’是在装置的软件和/或硬件结构内的逻辑再分(logicalsubdivision)。资源500/500’单独控制其操作,并且可以在不影响相关资源的情况下改变其定义。 
另外在SIS组件中,在功能块应用440中包括用于提供SISRP 328的SIS子层,如图7A所示。在下面非常详细地论述了此子层/协议328。 
介绍
如图8A和8B所示,与非SISC相关的资源500和与SISC相关的资源500’都由块和对象构建,诸如:资源块510或SIS资源块(“SISRB”)510’、传感器块520或SIS传感器块(“SISTB”)520’、功能块530或SIS功能块(“SISFB”)530’、趋势(trend)对象560、观看(view)对象565、链接对象570和/或SIS链接对象570’、警告(alert)对象585、***时间601、功能块调度602和网络通信量(traffic)。网络通信量包括已调度的和未调度的通信量。在SIS装置中,所述资源应当包含一个或多个SISFB和SISTB。应当理解,SISRB、SISTB和SISFB是SISC的几个例子。另外,SIS资源应当被设计成用于检测在资源之外所出现的故障。下面提供了用于本发明至少一个实施例的块和对象的简要描述。 
功能块530表示由资源所执行的基本自动化功能,诸如模拟输入、模拟输出或比例/变型(proportional/derivative PD)或为过程或制造控制装置所要求的任何其它功能。功能块530被设计成用于尽可能独立于具体的输入/输出装置和网络。 
在SIS装置中,SISFB 530’通常限于向另一SISFB以及非SIS功能块公布数据, 所述非SIS功能块被涉及用于过程应用。然而,希望SISFB只能订阅由另一SISFB所公布的数据以便确保与给定SIL标准的顺应性(compliance)。希望每个SISFB由唯一的简档号识别。在本发明的一个实施例中,这种简档号由现场总线基金会指定。此外,希望SISFB能够把SIS控制分布到现场总线组件中以及它们之间,所述现场总线组件连接到现场总线体系结构。在本发明的某些优选实施例中,SISFB被限制在所定义的集。这种SISFB集可以包括模拟输入、模拟输出、离散输入、离散输出、模拟表决(voting)、离散表决、锁定改变(lock change)和逻辑。类似地,其它实施例可以提供在三个类别中的一个或所有中所提供的SISFB,所述三个类别诸如输入功能块、输出功能块和控制功能块。 
每个功能块530/530’依照所包含参数的内部集和具体算法来使用输入参数。输入参数是由值字段(field)和状态字段所组成的结构化参数。为输入参数所指定的数据类型取决于其值字段的数据类型。对于所有输入参数所述状态字段是相同的。所包含的参数可以用来向块算法提供值。所包含的参数值可以由制造商设置或作为配置的一部分。通常,还可以在操作期间设置所包含的参数。依照具体算法来处理输入参数和所包含的参数以便生成输出参数。输出参数可在相同的功能块530/530’内或由其它功能块530/530’加以利用。 
传感器块520/520’可以预处理并后处理在功能块530/530’和现场装置之间的数据,所述现场装置诸如传感器、传动器(actuator)和开关。传感器块520/520’可以通过由功能块530/530’所使用的与装置无关的接口来控制对输入/输出装置的访问。传感器块520/520’还可以执行诸如校准和线性化之类的功能。希望由唯一的简档号来指定SISTB,所述简档号诸如由现场总线基金会所分配的简档号。此外,传感器块520可以接收来自非SISFB和/或SISFB的输入。然而,希望SISTB 520’只可以接收来自其它SISC的输入,所述SISC诸如SISFB、SIS资源块和/或其它与SIS可兼容的块。 
因为***管理内核(“system management kernel,SMK”)是黑色通道的一部分,所以由于SISFB不能假定下面的SMK是无故障的,所以SISFB还可能包括作为监视计时器(watchdog timer)起作用的参数。这种监视计时器适当地帮助在块调度中的错误检测,诸如来自错误调度功能块的黑色通道的错误。在一个实施例中,“执行周期”参数可以被用为监视计时器。希望这种参数可以由与SIS可兼容的配置装置写入。另外,希望每当所述块执行时,每个输出SISFB监视其执行并且重置监视计时器(执行周期参数)。更特别地是,如果监视计时器终止或被以过快的速率更新,那么希望把所影响的SISC的全部输出设置为安全状态。应当理解,“安全状态”通常是组件和实施特性(specific)。 
如在图8A和8B中所进一步示出,资源500/500’通常还包括一个或多个链接对象570/570’。在非SIS装置中,链接对象570在资源500内的功能块530之间或在资源之间交换数据。由链接对象570所交换的数据可以包括过程数据或事件。 另外,链接对象570可以交换趋势报告数据或警告通知数据。 
在SIS装置中,利用SIS链接对象(“SISLO”)。除提供前面所提及的功能和能力之外,SISLO是利用诸如SISRP之类的扩展的安全相关协议的增强链接对象,包括用于指定在两个SISC之间映射的参数,例如在SISFB、SISRB或SISTB和主机之间,而不管SISFB位于主机还是位于另一现场装置或组件。应当理解,作为实现本发明特定实施方式的需要,可以提供在SISFB、SISTB、SISRB、主机和非SISC之间的其它映射。这种链接对象映射参数使订户能检测可能由下面的黑色通道所诱发的错误。希望SISC彼此之间使用SISRP来通信。在下面非常详细地描述了SISRP。 
资源块510使装置的硬件具体特性可由网络访问。资源块510通过包括一组实施独立硬件参数来把功能块530与资源硬件隔离。然而,在包含一个或多个SISC的组件中,资源块必须是SIS资源块(“SISRB”)510’,这是因为如上所述,SISC优选被配置为只订阅由其它SISC所提供的信息。希望由唯一的简档号来指定SISRB,所述简档号诸如由现场总线基金会所分配的简档号。还希望SISRB包括例如“SIL_EVEL_SUPPORTED”之类的参数,用于指定其中可以利用组件的应用的最大SIL等级。 
观看对象565和趋势对象560提供了对在功能块应用440内参数数据的高效访问。观看对象565通过执行单个通信请求使参数组能够被访问。趋势对象560使参数采样集合能够在单个通信转送中被报告。对于本发明的至少一个实施例,可以使用正常或“SIS”客户端-服务器、公布者-订户或其它通信机构来传递与SISC相关联的观看和趋势对象。 
警告对象585支持向接口装置及其它现场装置报告事件。当检测到有效事件时,功能块530/530’可以使用警告对象585来发送警告消息。有效事件是影响***操作的事件。希望本发明的各个实施例可以报告它们自己的错误,按要求“实时地”警告操作者所出现的问题。从而,这里所描述的本发明的各个实施例可以希望通过降低停机时间并且提高操作者和装置的安全性,来改进任何给定操作的生产力。 
由***管理向功能块应用(即,一个或多个资源)440提供***时间601来用于在现场装置之间的同步操作。每个装置100/100’、105/105’、110/110’保持其自己的***时间601。每个装置100/100’、105/105’、110/110’使用其***时间来控制内部功能块的执行。警告、事件和趋势信息的时间戳(time stamping)是基于由每个装置所保持的***时间601的。 
***管理依照***调度来协调功能块530/530’的执行。***调度是装置内的功能块的执行时间列表。另外,功能块530/530′的执行还可以由另一功能块530/530’执行的完成来调用。稍后更详细地描述***管理。 
应用架构
一旦实现所述组件(即,块和对象),那么它们就由应用架构完成或连接。应用架构协调在组件内部和外部之间的通信。内部通信指的是在功能块530/530’之间的通信,而不管所述功能块是否处于相同的现场装置。外部通信指的是在具有功能块530/530’的现场装置和不具有功能块的现场装置之间的通信。理论上,由应用架构连接这些块导致模块化***允许应用功能变得更可扩展并可移植。功能是可扩展的,在这个意义上可以容易地把附加功能添加到现有的功能或组件。功能是可移植的,在这个意义上,可以容易地把功能从***中的一个位置、装置或组件移动到另一位置、装置或组件,甚至从一个***移动到另一***。 
图9示出了外部通信的一些例子。特别是,图9A示出了现场装置620和监视装置650、临时(temporary)装置660和接口装置670的通信。与现场装置620不同,其它装置650、660、670包含了没有被作为功能块实现的应用。监视装置650被连接到应用架构,但是不具有网络地址。监视装置监视网络上的通信(例如,诊断工具可以是监视装置)。临时装置660支持诊断并调整参数值。接口装置670提供了操作者接口、控制应用和/或配置和诊断支持。 
类似地,图9B示出了外部通信的例子,可以在SIS控制子***910(诸如可以存在于总线120’上)和非SIS控制子***920(诸如可以存在于总线120上)之间支持所述外部通信。在此说明性例子中,SIS控制子***包括两个SIS装置,SIS装置A 930和SIS装置B 940,而非SIS控制子***920包括两个非SIS装置,装置C 950和装置D 960。使用SISC在装置A和B 930/940之间实现SIS应用A 970。另外,使用其中的非SISC来在装置C和D 950/960之间实现非SIS应用B 980,所述非SISC诸如标准功能块、传感器块、资源块和链接对象。还使用通用的功能、传感器和资源块、链接对象、观看对象、警告对象等来支持在SIS装置A和B930/940以及非SIS装置C和D 950/960之间的通信。如先前所提及,SIS装置A(或B)可以向SIS装置B(或A)以及非SIS装置C和D公布信息。然而,非SIS装置只可以向非SIS装置公布信息。希望当首先实现诸如在图9B中所示出的实施时,现场总线装置/组件中的SISC被测试并向适当的测试装置登记,以便确保使用标准功能块和/或SISC在SIS和非SIS现场总线装置之间的互操作性,所述测试装置诸如由现场总线基金会所提供。 
此外,对SISC(例如,SISFB、SISTB和SISRB)的写入访问可以被限制在接口装置列表。希望由配置***在所述装置中预先配置所述列表。SISC只许可对此装置列表进行写入访问。当SIS装置或SISC联机或处于其它不适合的条件时(例如,在某些潜在人类或装置危险的维护程序期间),对SISC的写入访问还可以被“锁定”或类似地配置为防止改变任何安全相关参数。希望每当改变写入状态时,向操作者产生警告。在SISC之间的每个连接也由连接密钥(Connection Key,“CK”)来识别。在下面非常详细地描述了CK。此外,增强了包含写入或读取到 给定SISC的数据的协议数据单元(Protocol Data Unit,“PDU”)以便包括鉴别码,诸如循环冗余码校验(Cyclic Redundancy Check,“CRC”)。在本发明的一个实施例中,32位CRC用于通过使用发送数据、连接密钥和其它信息来计算这种CRC,来认证经由黑色通道所传递的数据的有效性,如在下面所详述。CRC和CRC的计算在本领域中是公知的。此外,应当理解,可以结合本发明的各个实施例利用等于或大于32位的CRC以便认证在SIL 1、SIL 2、SIL 3和/或较高级的数据传送。 
本发明的各个实施例可以使用CRC-32,如在下面所详述,以便防止不可靠(corrupted)的消息、寻址故障(诸如伪装)和消息的扩展。在本发明的其它实施例中,也可以利用CRC-32,以便防止本领域内已知的其它普通错误或无效的消息发送条件。 
除外部和内部交互作用之外,对本领域内技术人员来说各种其它可能的交互作用也是已知的。例如,可以有具有配置应用的交互作用、具有人机界面接口应用的交互作用、具有其它控制应用的交互作用、用于建立功能块链路的交互作用、具有其它资源的交互作用、具有***管理的交互作用等等。 
功能块应用结构 
如上所述,用于SIS和非SIS装置的功能块应用440定义了现场装置的功能,并且包括一个或多个资源500/500’。资源是在装置的软件和/或硬件结构内的逻辑再分。尽管未示出,然而通常使用多个资源来实现功能块应用440。如图8A和8B所示,组成功能块应用440的资源500/500’可以被建模为一组SISC(即,块或对象),所述SISC相互协调以便执行相关的操作集。 
块是软件的逻辑处理单元,包括由功能类型所指定的块拷贝和参数数据结构。指定的块拷贝是封装的软件处理单元,诸如算法或计算机程序。封装所述块以便创建具有升级或改进灵活性的模块化***。软件处理单元可以包括计算机程序和参数。软件单元被设计成用于与其它块无关并且执行可以被用于许多不同功能块应用的功能。 
块可由其类或子类所识别。块的类表明其参数,以及所述参数怎样影响软件处理单元的执行。块类指定由类的所有实例所共享的通用属性,包括块元素(例如,输入和输出事件,所包含的参数和通用的功能)以及与资源功能的关联(例如,警告通知人(notifier)和功能块服务)。每个块子类承担所有由类所指定的参数,以及归属于所述子类的附加参数。 
块类被分类为基本的或合成的。合成的块类是其算法要求调用(invocation)所组合(composite)块的功能和/或组件块的块类。基本的块具有固定的算法并且不要求使用组件功能或功能块。稍后详细描述基本块和组合块的具体例子。 
功能块应用硬件 
在优选实施例中,每个装置包含至少一个功能块应用440。为了执行功能块应用440,装置通常包含输入接头240、处理器250、存储器255、输出接头260和执行控制265,如图3所示,以及通信堆栈205和介质连接单元612,如图8A和8B所示。 
诸如网络适配器之类的介质连接单元612经由传输介质120/120’接收来自其它装置的信号并且把所述信号转换为用于处理器250的消息。例如,介质连接单元612把来自处理器250的消息变换或转换为信号以便经由传输介质120/120’发送,或把来自所述传输介质120/120’的信号变换或转换为用于处理器250的消息。 
输入接头240、处理器250、存储器255和输出接头260用于执行在功能块应用内的资源块、传感器块、功能块。特别地,输入接头240接收并保持输入参数。这些输入参数可以是恒定的或从其它功能块接收。处理器250根据这些输入参数和任何所包含或存储的参数来执行或处理软件程序或算法。在下面将详细论述这些参数。优选地,处理器250是微处理器或可编程序逻辑阵列。由处理器250使用的任何软件程序或参数被存储在存储器255中,所述存储器255优选是EEPROM或FLASHROM。功能块应用440的功能只受存储器255大小和处理器250处理速度的限制。然后把处理器250的输出发送到输出接头260。 
输入接头240和输出接头260负责当处理器250执行时防止参数值被外部干扰,诸如写入访问。换句话说,一旦处理器250开始处理所述输入,那么输入接头240和输出接头260保持输入和输出不变直到所述处理完成。 
参数 
参数定义了用于控制块操作的输入、输出和数据。所述参数可经由网络访问。 
输入参数从在块以外源获得它的值。输入参数可以被链接到在其资源500/500’内或在另一装置内的另一块的输出参数。输入参数是输入变量或常量,其可以由功能块530/530’的算法或程序处理。 
输出参数是可以被链接到一个或多个块的输入参数的参数。输出参数包含值和状态属性。输出状态属性表明所产生参数值的质量。 
所包含的参数是其值***作者或较高级装置配置、计算或设置的参数。在优选实施例中,所包含的参数不能被链接到另一功能块的输入或输出,并因此可能不包含状态属性。 
参数标识符 
每个参数可以由其标识符、存储、利用率和与其它参数的关系来表征。每个参数可以由一个以上的标识符来表征。例如,块内的参数唯一地由其参数装置标识来识别,并且***内的参数唯一地由其装置标识和标记来识别。标记向***内的每个块提供了唯一的符号引用。 
由其数据类型索引来指定参数的数据类型。数据类型索引是数据类型的对象词典索引。数据类型索引指定与机器无关的参数语法。优选地是,与机器无关的参数语法是抽象语法。用户层235依照现场总线消息规范230中的传送语法规则来编码/解码数据。另外,各种其它参数也可以被存储在对象词典281中并由其对象词典索引号引用。 
参数存储器 
参数属性可以被分类为动态、静态或非易失性的。动态参数是按照块算法所计算的值,因此在电源故障之后不必被还原(恢复restored)。 
静态属性是特定的、配置的值,其在电源故障之后必须被恢复。接口装置670或临时装置660可以很少写入静态参数属性。静态参数属性可以由配置装置跟踪。 
频繁地写入非易失性的参数属性,并且在电源故障之后必须由装置恢复上次所保存的值。因为这些参数属性的值不断地改变,所以可以由配置装置跟踪所述值。 
参数关系 
块的执行涉及输入参数、输出参数、所包含的参数以及在所述块内存储的算法或计算机程序。块算法的执行时间被定义为块的属性。执行时间的长度取决于硬件和软件实施。 
在简单的块中,在块执行之前接收输入参数。当块开始执行时,抓取(snapped)输入值以便防止它们在被算法使用时被更新。 
然而,在处理这些输入参数之前,输入参数用来确定所述算法是否可以获得所想要的模式。在优选实施例中,功能块应用可以获得各种模式,诸如业务中止(O/S)、初始化人工(initialization manual IMan)、本地覆盖(LO)人工(Man)、自动(Auto)、串联(cascade,Cas)、远程串联(RCas)和远程输出(ROut)模式。业务中止、初始化人工和本地覆盖模式描述如下。对于SISFB,希望诸如模拟输入或离散输入之类的输入功能块支持模式O/S和Auto。类似地对于输出功能块,希望支持模式O/S、Cas和LO。 
当块处于OS模式时,不估算所述块,并且把输出保持在最近值。 
当块处于IMan模式时,响应于后面计算的输入参数状态来设置块输出。当所述状态表明没有通向最终输出元素的路径时,那么控制块初始化以便当条件清除时提供无扰动(bumpless)转换。由所有输出和控制类功能块来支持后面计算的输出参数。可以保持设置点,或选择性地,把所述设置点初始化为过程变量参数值。 
LO模式适用于控制并输出支持跟踪输入参数的块。可以由装置上的本地切断开关或各种其它方法来启用LO模式。在LO模式中,块输出被设置为跟踪跟踪输入参数值。可以保持设置点,或选择性地,把所述设置点初始化为过程变量参数 值。 
通过把实际模式属性与目标模式属性相比较来确定所述块是否能够获得想要的模式。实际模式属性反映了所述块能够获得的操作模式。目标模式属性表明所述块希望什么操作模式。目标模式通常由控制应用或操作者经由人机界面接口应用来设置。 
一旦确定实际模式,那么进行块执行并且产生输出。如果检测到警告条件,那么更新警告和事件输出参数以便由警告对象报告。当完成执行时,抓取输出以便使它们可用于外部访问。在被抓取之前,只有先前值可用于外部访问。 
资源组件
如上所述,功能块应用440包含一个或多个资源,并且资源500/500’包括一个或多个块。块可由其类或子类所识别。块的类表明其参数,以及这些参数怎样影响其算法或程序的执行。资源组件段(resourse component section)向优选类提供了形式模型。优选类包括资源类、目录对象类、块对象类、参数对象类、链接对象类、警告对象类、趋势对象类、观看对象类、域对象类、程序调用对象类和动作对象类。在可选实施例中,本领域内技术人员可以利用更多、更少或不同的类来定义***。同样,在SISC中不支持域对象、程序调用对象和动作对象。 
资源类 
在优选实施例中所定义的资源类指定所述资源的描述性属性。每个资源的对象词典包含在所述资源内所包含组件的描述。资源类包括以下属性:资源名称、销售商名称、模型名称、修正、逻辑状态、物理状态、对象词典,并且在SIS装置中还包括由所述装置所支持的SIL等级。 
销售商名称识别与所述资源相关联的软件和/或硬件的销售商。模型名称指定与所述资源相关联的软件和/或硬件的模型。修正属性是与所述资源相关联的软件和/或硬件的修正等级。逻辑状态属性包含关于与所述资源相关联的通信功能的信息。物理状态属性给出与所述资源相关联的硬件组件的粗略概要。对象词典包含对象词典目录对象、资源块及其它专用于功能块应用440过程的对象。每个这些属性可经由现场总线消息规范230访问。 
本领域内技术人员应当认识到这些属性和对任何类或子类所定义的属性只是可以使用的说明性属性。在可选实施例中,资源类或任何其它类或子类可以包括更多、更少或不同的属性。此概念适用于在此规范中所描述的所有类和子类。 
目录对象 
另一优选类是目录对象类。目录对象充当在资源或功能块应用440内的其它块和对象的引导(guide)。目录对象包含组成资源或功能块应用440的其它块和对 象的引用列表。此信息可以由希望访问对象词典中对象的接口装置或临时装置读取。目录对象类被定义为包括以下属性:成员标识;静态对象词典的开始索引;数据类型;子索引条目;数据长度;用法;存储;有效值列表;初始值和项标识。 
成员标识属性是用于识别目录功能的唯一标号。索引是对象词典中目录对象的索引。各个数据类型包括元(meta)类型或类型名称。元类型表明对象类型。类型名称指定所述对象的数据类型的名称。子索引条目使目录对象的属性能够分别被读取和写入服务访问。数据长度属性指定所保留用于表示目录中子索引值的字节数目。用法属性表明这是所包含的对象并且可以不由链接对象引用以便连接到功能块参数。存储属性表明所述参数是否存储在静态存储器中。有效值的列表指定了目录对象的子索引属性所允许的值。初始值指定了被分配给对象目录的子索引属性的初始值,并且项标识识别所述对象的描述。 
块对象 
块对象优选类指定了对功能块、传感器块和资源块通用的特征。在对象词典中,参数连续跟在块对象之后,其每一个都具有索引。块对象类被定义为包括以下属性:成员标识;块索引;数据类型;子索引;数据长度;用法;存储;参数列表;有效值列表和项标识。所述成员标识识别块的功能。块索引是对象词典中块对象的索引。数据类型包括元类型和类型名称。元类型表明对象类型。类型名称指定所述块的数据结构的名称。子索引包括属性,诸如块标记、成员标识、项标识、修正、简档、简档修正、执行时间、执行周期、参数数目、要执行的下一块、开始观看、观看3个对象的数目和观看4个对象的数目。数据长度属性等于62。参数列表包括静态修正、标记描述、策略、警告键、模式和块错误。上面描述了其余属性。 
用于优选实施例的块对象类的三个子类是资源块对象、传感器块对象和功能块对象。 
资源块对象 
资源块对象定义了其相关联资源的硬件具体特性。因为资源块对象是块对象模型的子类,所述资源块对象承担归属于块对象的参数列表,以及其自己的附加属性。资源块子类中的附加属性是:资源状态、测试、资源、附加包含的参数;执行时间=0,执行周期=0,并且要执行的下一块=0。 
资源块通过包含一组独立于硬件的实施参数来把功能块与物理硬件隔离。资源块是制造商特定的;并且按照所包含的来定义其所有的参数。 
传感器块对象 
块对象类的另一子类是传感器块对象。定义传感器块以便把功能块从所要求 用来读取传感器硬件和命令硬件的本地I/O功能去耦合。这允许传感器块在不加重使用数据的功能块负担的情况下,按需要用于获得来自传感器的数据的频率来执行。它也把功能块与I/O装置的制造商具体特性相隔离。 
传感器块对象是块对象的子类,从而它承担了块类的所有属性。传感器块子类中的附加属性是:附加包含的参数;执行时间=0,执行周期=0,并且要执行的下一块=0。 
功能块对象 
功能块表示由资源所执行的基本自动化功能,诸如模拟输入或离散输出。功能块是用于定义功能块应用中监视和控制的主要手段。它们被设计成用于尽可能独立于具体的I/O装置和网络。它们通过依照指定算法和内部包含的参数集来处理来自传感器块(或其它功能块)的输入和输入参数。它们也生成传感器块的输出和输出参数或其它功能块的输入。 
根据处理算法,可以提供想要的监视、计算或控制功能。来自功能块执行的结果可以反映在传感器块的输出中或一个或多个输出参数,所述一个或多个输出参数可以链接到其它功能块或直接链接到装置硬件。 
功能块是对象类的子类。在功能块子类中所定义的附加属性是执行时间、执行周期、参数的数目、要执行的下一块和附加参数的子索引。 
子索引属性定义了对象属性,所述对象属性可以通过使用具有对象索引号的子索引号来分别经由读取和写入服务来访问。根据元类型来定义子索引号。 
功能块对象的执行时间参数表示功能块所要求执行的时间。执行时间可以被分成三个部分:预处理(即,抓取参数值);执行;和后处理(即,更新块输出值、警告和相关联的趋势参数)。 
为了提供一致特性,在执行部分期间所执行的块算法被分解为以下步骤。第一,算法确定模式参数的实际模式属性。此计算将要基于如上所述的目标模式和输入属性的状态。第二,如果为功能块定义了设置点,那么所述算法计算所述设置点。设置点的计算将基于实际模式、设置点输入参数和任何反向路径输入状态,所述设置点输入参数诸如串联和远程串联。控制参数值、过程变量还可以用于设置点跟踪。在设置点参数中示出了所产生的设置点。设置点的例子是恒温器的温度设置(例如,72°)。在其它例子中,设置点将频繁改变。 
第三,所述算法执行控制或计算所述算法以便确定输出参数的值和状态。条件确定输出参数的状态属性。在此算法中使用块输入参数和所包含参数的值属性、实际模式和工作设置点。通常,算法中实际模式的计算和实际模式的使用说明了关键输入的状态。 
第四,执行阶段计算输出参数。此步骤只应用于输出块、控制块和计算块,其被设计成用于串联路径。 
典型情况下按照周期来调度功能块的执行周期。执行周期是用户根据具体到应用的控制或监视要求所指定的。***管理服务协调功能块执行。包括***调度的管理信息库被存储在所述装置自己的资源中。在数据链路层时间中为块指定功能块执行周期。通过***管理所提供的调度能力,可以调整或交错(phase orstagger)装置中块的执行,其中所述块的执行时间周期是相同的或是彼此的整数倍。在下面将详细论述***管理。 
功能块对象内的“参数的数目”属性是与功能块相关联的参数对象的总数,包括块对象。 
功能块对象的“要执行的下一块”属性指定在装置内要执行的下一功能块以便在装置内的执行中获得最小延迟。如果没有下一功能块,那么要执行的下一块是零。从而,在装置内多个功能块需要串联执行的地方,用户可以指定在链(chain)中的第一功能块执行。通过要执行的下一块属性,可以预先确定执行的次序。 
功能块对象的“参数列表”属性列出了在功能块内的输入、输出和包含的参数。 
根据所述共用参数和特性,优选实施例还定义了功能块子类的以下子类,包括:输入功能块;输出功能块;控制功能块和计算功能块。 
输入功能块子类接收来自传感器块的物理测量或值。输入功能块子类包括模拟参数,借此模拟参数可以重载(over-ridden)传感器值和状态。输入功能块的其它参数优选包括:过程变量;主要输出;信道号和附加参数。 
输出功能块子类按照来自其它功能块的输入动作并且把结果转送到输出传感器块。输出功能块子类支持反向计算输出参数和模拟参数。附加的输出功能块属性是:设置点、模拟参数、串联输入;反向计算输出;远程串联输入;远程串联输出和信道号。 
控制功能块子类按照来自其它功能块的输入动作以便生成将被发送到其它控制或输出功能块的值。控制功能块的附加属性是:主要输出;反向(back)计算;过程变量;设置点;主要输入;串联输入;远程串联输入;远程输出输入;反向计算输出;远程串联输出;远程输出输出和附加参数。附加的计算功能块参数是:反算输入;反向计算输出和附加参数。 
参数对象 
返回到类等级,定义参数对象以便使功能块、传感器块和资源块属性能够经由总线访问。在基本参数对象模型中所定义的属性是:成员标识;参数索引;相关索引;数据类型;子索引;数据长度;单元;用法;存储;有效值列表;初始值和项标识。在特定的块中并不要求所有列出的参数。另外,优选实施例还根据参数对象类定义了来自几个子类,包括输出参数对象、输入参数对象和包含的参数对象。 
链接对象 
链接对象570/570’提供了在资源和经由通信网络交换的信息之间的映射,如在图8A和8B中所图示。可以通过链接对象来定义在资源内的功能块之间或在资源之间所交换的过程数据和事件。另外,可以使用链接对象来定义用于支持趋势和警告的通信交换。 
在与功能块应用过程相关联的现场装置中定义了链接对象570/570’。链接对象570/570’通过引用适当的VCR可以用来访问、分送或交换单个对象。另外,链接对象定义了在输入和输出参数之间的关联,以及趋势报告,其中接口装置必须接收所述趋势报告。 
在SIS实施中,利用扩展的安全/SISRP。SISRP提供了在SISC之间通信的认证(authentication),以致可以获得SIL-3和SIL-2认证(certification)。特别地是,SISRP防止了可能在使用黑色通道期间所出现的错误。这种错误可以包括:发送位失败,诸如当消息中的单个或多个位在黑色通道上改变状态时;重发,其中黑色通道无意重发了消息;遗漏,其中黑色通道丢失了消息;***/扩展,其中消息被错误地产生和/或***或扩展到黑色通道上;错误次序,其中黑色通道依照错误的次序递送消息;延迟,其中黑色通道延迟发送或接收消息长达一定时段;伪装,其中黑色通道把消息递送到错误端点或具有相同网络地址的多个装置;排队错误,其中黑色通道按照大于传输率而小于导致超时的时间延迟来延迟消息;通信和功能块调度错误;***和配置管理错误等。 
SISRP防止前述错误的一个机制是通过利用序列号。希望对每个VCR连接利用十六(16)位号以便识别在发送SISC和接收SISC之间所发送的消息序列。接收SISC保持相应的索引号。当适当操作时,索引号在具有每个所发送的消息的发送器和接收器更新。当接收最大数目的消息时,号码绕了一圈(wrap)并且再次从零计算。假定消息的消息传输速率是每十毫秒一个消息,这可使用高速以太网连接来完成,那么序列号应当每655秒绕一圈。在较低消息传输速率,序列号可能不会绕的那么频繁。 
如果所发送的序列号和所期望的序列号(即,在接收组件所期望的序列号)不匹配,那么认为所述数据是“失效的”或不可用的。如果这种失效数据条件重复出现了给定的、可配置的次数,那么可以把在组件之间的链路设置为坏的。那么通常在恢复在所影响组件之间的通信之前,将需要重置这种序列号和链路。此外,在公布者-订户关系中,每当已经接收两个正确的连续消息时,就希望在发送器和接收器上重置序列号。对于客户端-服务器关系,如果序列号没有同步,那么放弃连接并且当重建连接时重置所述序列号。然而在其它实施例中,可以使用其它过程和技术来重置序列号。 
此外,通过在SISRP中利用序列号,防止了重发、错误次序和***/扩展错误。 另外,还结合SISRP中的CK来使用序列密钥以便防止伪装错误。 
如上所述,对于SIS实施希望利用连接密钥(“CK”)。这种CK是SISRP的部分并且通常作为SISLO中的参数提供。CK是由配置***所分配的唯一密钥,用于在接口装置和用于客户端-服务器连接的SISC(即,SISFB、SISTB和SISRB)之间连接。唯一的CK还被分配给每个公布者-订户连接,其中希望给定公布者的所有订户被配置为使用公布者密钥。在下面还详细描述了在客户端-服务器和发布者-订户连接中CK和序列号的利用。 
优选地是,对于SIS实施,SISLO还包括SIS访问参数。此参数当被设置时指定了使用扩展SISRP来处理读取和写入请求。 
警告对象 
警告对象用来当检测到警告或事件时传递通知消息。事件是对调度块执行和功能块应用440的操作观看有重大意义的瞬时出现。警告是检测到块离开特定的状态。警告对象类使警告和事件能够被报告给负责警告管理的装置。 
根据可以由块报告的警告和事件信息的类型,优选实施例指定了警告对象的三个子类。它们是模拟警告、离散警告和更新警告。模拟警告用来报告其值与浮点相关联的警告或事件。离散警告用来报告其相关联的值是离散的警告或事件。更新警告用来报告块的静态数据中的变化。 
趋势对象 
趋势对象通过把可见性带到历史信息中以便回顾它们的特性来支持功能块的管理和控制。根据所收集的信息类型,优选实施例定义了趋势对象的三个子类。这些子类是趋势浮动子类、趋势离散子类和趋势位串子类。趋势浮动类收集浮点输入和输出参数的值和状态。趋势离散子类收集离散输入和输出参数的值和状态。趋势位串子类收集位串输入和输出参数的值和状态。 
观看对象 
观看对象通过把“可见性”带到它们的配置和操作中来支持功能块的管理和控制。换句话说,观看对象使用户能监视或“观看”与***、功能块应用440或资源500的操作、诊断和配置相关联的数据。在本发明的一个实施例中,存在观看对象类的四个子类。这些子类是观看1、观看2、观看3和观看4。观看1允许访问动态操作参数值。观看2允许访问静态操作参数值。观看3允许访问所有动态参数值。观看4允许访问其它静态参数值。 
域对象 
对于非SIS装置,域对象580支持下载服务,所述下载服务可以用来把数据从客户端加载到服务器域中。来自服务器域的数据可以经由域上传服务被发送到 客户端。域对象是存储器的一部分。它们可以包含程序或数据。使用程序调用对象把具有代码和数据的域组合为可执行程序。 
其它对象 
对于非SIS装置,提供了用于把域链接到程序、开始此程序、停止并删除此程序的服务。选择性地,可以由非SIS装置中的资源来支持动作对象。经由动作对象,在非SIS装置中可以删除资源内的单个块或对象。优选地是,对于SIS装置,不支持动作对象,这是因为它通常不适用于删除安全关键或重要的块或对象。 
功能块映射
对于功能块应用440的实施,功能块应用440被映射到现场总线消息规范230的虚拟现场装置中,如图7A所示。在描述功能块应用440中作为优选工具的虚拟现场对象是:变量对象;事件管理对象;域对象(只在非SIS装置中);和程序调用对象(只在非SIS装置中)。 
变量对象是一类块参数。其它类型的块参数是简单的、数组或记录。记录对象支持趋势、动作和链接对象。可以使用变量列表对象来完成分组访问信息。 
事件通知对象用于警告和事件通知。优选在SIS装置中不可用的域对象是计算机程序,使用域下载服务可以把所述计算机程序加载到存储器中。优选在SIS装置中不可用的程序调用服务可以控制功能块应用的初始化。这种服务包括:开始、停止和重置。 
下面的表用来示出可以怎样把功能块应用模型直接映射到在对象词典中所定义的对象中。 
Figure S04815603319950403D000261
在优选实施例中,为了协调把功能块模型映射到对象词典中,装置描述语言(稍后更详细地描述)用来描述功能块并且支持由配置工具所使用的块参数。这种描述被认为是“装置描述”。多数情况下,“装置描述”用于配置和接口站(interfacestation)。然而有时,可以把所有或部分装置描述存储在现场装置中。当把装置描述存储在现场装置中时,它可以存在于与用于功能块应用的资源相分离的自己的对象词典中。为了访问装置描述信息,每个块保持相关联的装置描述引用号。 
虚拟现场装置把上述块和对象收集到对象词典中。在所述对象词典内,每个块或对象由索引号寻址并由对象描述识别。对象描述通常包含索引、对象代码、另外的对象属性和真实对象的具体***引用。 
索引号 
在优选实施例中,依照数据类型或结构或所述对象是静态还是动态的,来分组索引号。在优选实施例中,为通常使用的数据类型和数据结构保留对象索引1-255。如下表所示,索引1-14和21被定义为现场总线消息规范230中的数据类型,而索引64-86是通常使用的数据结构,其在记录对象的定义中被引用。这些索引与在图6中所示出的索引号285相同。图10图示了还可以按照所述对象是静态还是动态的来怎样分组这些索引号。 
  索引   类型   Nam
  1   数据   布尔
  2   数据   整数8
  3   数据   整数16
  4   数据   整数32
  5   数据   无符号8
  6   数据   无符号16
  7   数据   无符号32
  8   数据   浮点
  9   数据   可见串(visible string)
  10   数据   八位字节串
  11   数据   日期
  12   数据   日时(time of day)
  13   数据   时间差
  14   数据   位串(bit string)
  21   数据   时间值
[0215] 
  64   结构   块
  65   结构   值&状态-浮点
  66   结构   值&状态-离散
  67   结构   值&状态-位串
  68   结构   扩展(scaling)
  69   结构   模式
  70   结构   访问许可(access  permission)
  71   结构   警告-浮点
  72   结构   警告-离散
  73   结构   事件-更新
  74   结构   警告-概要
  75   结构   警告-模拟
  76   结构   警告-离散
  77   结构   警告-更新
  78   结构   趋势-浮点
  79   结构   趋势-离散
  80   结构   趋势-位串
  81   结构   FB链接
  82   结构   模拟-浮点
  83   结构   模拟-离散
  84   结构   模拟-位串
  85   结构   测试
  86   结构   动作-例示/删除
在除数据类型和数据结构描述之外的对象词典中的所有对象描述可以支持扩展。例如,在不影响其它对象的情况下,可以改变除数据类型或结构之外的对象描述的索引号。另外,在不影响其它对象的情况下,还可以改进或升级对象描述。 
对象词典 
定义对象词典以便作为到功能块应用440内信息的引导。对象词典281是组成功能块应用的对象的引用列表。此信息可以由希望访问对象词典中对象的接口装置读取。 
对象词典目录对象282将被定义为静态对象词典(static object dictionary,S-OD)700中的第一索引,如在图10中所示出。静态对象词典的起始点由对象词 典对象描述所定义,其存在于索引零。另外,对象词典描述识别开始索引、与观看对象和程序调用对象相关联的程序调用动态列表(DP-OD)720和变量列表动态列表(DV-OD)710的长度。 
在优选实施例中,目录通过连接目录对象来在逻辑上构造,并且由后面是目录条目的首部组成。根据逻辑目录的开始来指定数组偏移。逻辑目录可以被认为是由所有目录对象实例所组成的单个数组。所述首部只存在于第一目录对象。 
在对象词典中由目录对象来识别存在于资源的块。资源块510、功能块530或传感器块520的每个实例由块对象和相关联的参数组成。块对象引用其相关联的观看对象565。 
块对象是用于引用块实例的主要密钥。它识别块标记、执行时间、简档和块参数的数目。它还识别此块的起始位置和观看对象的数目。块的参数按照块对象连续地位于对象词典中。可以经由这些参数对象来访问块参数值。在优选实施例中,块参数对象通常被限制为简单变量参数、数组参数和记录参数。 
在优选实施例中,对于功能块应用过程已经标准化了几个数据结构。 
通用的子功能
本节包含了描述对许多块通用的子功能。过程控制功能具有以下元素:(1)一个或多个输入;(2)一个或多个输出;(3)扩展(scaling)信息;(4)模式选择器;(5)选择的算法;(6)一组可见的数据参数;和(7)一组内部数据。这些元素中的每个表示静态数据或动态数据。静态数据是很少改变的数据,而动态数据可以随每次块估算(evaluation)而改变。 
每次依照由组合的块执行和通信调度器来处理块的每个实例。包含在块的参数中的唯一调度信息是执行周期和最大执行时间。 
连接 
块输入包含从其它块的输出所读取的数据。如果块不从另一块接收输入,那么可以输入常量输入。值的永久性取决于存储它的存储器种类。所使用的存储器类型取决于所述参数。例如,易失性存储器足以满足频繁改变的参数。对于设置点优选非易失存储器。如果模式是人工的话,那么块输出包含块估算的结果或操作者条目。 
输入和输出都包括值字段和状态字段。状态字段包含质量、子状态和限制属性。其对所有输入和输出都相同。 
输入和输出功能块类必须与装置硬件交换数据,并且这完全在写入装置代码的制造商的控制下,这是因为此数据从不通过通信***。在可选实施例中,许多块提供了可以由远程装置写入并读取的参数,所述远程装置操作专有的控制应用。为了进行这种交换,远程装置必须在写入之前执行信号交换(handshaking)利用 算法或者所述块可以忽略所述输入。 
模拟 
在优选实施例中,所有输入和输出类功能块具有模拟参数,所述模拟参数具有一对状态值和使能(enable)开关。此参数充当在功能块和相关联的传感器块或硬件信道之间接口的开关。对于输入,如果开关是禁止的,那么从传感器块或硬件信道接收传感器值和状态。当使能开关开启时,从功能块接收模拟参数和状态值,并且忽略传感器块或输入信道。 
对于输出,当使能开关启时,模拟值和状态值变为读回(readback)值和状态,并且忽略传感器开关。 
扩展信息用于两个目的。显示装置使用趋势和直方图的范围。控制块使用范围作为跨度百分比,以便调节常量保持无穷小。 
此外在SISC中,当激活资源中的写入锁定时,希望禁止模拟能力。 
模式 
在优选实施例中,所有块具有模式参数,所述模式参数用来确定将用于块输入和输出的数据的资源。所有块必须允许服务中止(O/S)模式。为了有用,块必须支持至少一个其它模式。 
所允许的模式适用于目标模式。如果目标模式的写入请求与所允许的列表不匹配,那么拒绝该写入请求。配置装置必须不能允许所不支持的模式。实际模式不受所允许模式的约束,这是因为对于初始化获得了一些模式。 
参数访问表 
在优选实施例中,存在每个块的访问表。该表的目的在于定义每个块内参数的相对位置,并且定义所述参数的标准观看的内容。 
需要经由总线传递的块参数在应用内改变。为了能够在各个功能块之间通信,对于每个功能块选择预定义的变量集。在参数访问表的观看中指定在这些预定义的功能块集中所包括的参数。如果把参数添加到块,那么把这些参数添加到所有标准参数后面。 
参数访问表提供以下方面:(1)参数在对象词典中相对于相关联块对象的位置所顺序出现的次序;(2)与表中的功能块地址相关联的参数列表;和(3)预定义的参数集。预定义的参数集包括观看1到观看4。 
观看1是操作动态参数集。操作动态参数集包括由装置操作者所要求用来观看过程控制、查看警告条件并且调整操作目标的信息。 
观看2是操作静态参数集。操作静态参数集包括可以被要求来向操纵者显示动态信息的信息。一旦当首次捕获到相关联的显示时,那么读取此信息,并且如 果静态更新代码改变的话,那么刷新此信息。 
观看3是所有动态参数集。所有动态参数集包括这样的信息,所述信息其值会改变,并且可能需要在细节显示中被引用。 
观看4是静态参数集。静态参数集包括这样的信息,所述信息通常在配置或维护期间被引用,并且具有特定的值,除非***作者或仪器技术员改变该值。 
在独立的访问表中列出了与每个块相关联的参数。前六个索引是相同的,这对所有标准和扩展功能块形成标准首部。其余索引所述功能的核心参数和较少使用的参数。最后,是所要求用来警告处理的参数,后面是警告记录。 
其它通用子功能 
除上述通用的功能之外,还存在许多其它通用功能。在优选实施例中,这些其它子功能包括:状态;反向计算(BKCAL);串联(CAS);输出跟踪(TRK);平衡偏差或比率(BIAS或SP);故障安全处理(FSAFE);坏的串联状态处理;无效值;参数;警告和初始化和重新启动。 
优选的资源组件
如上所述,装置包括一个或多个功能块应用440。功能块应用440包括一个或多个资源500/500’,并且资源500/500’包括一个或多个块/对象。每个资源具有资源块。 
在优选实施例中,每个资源块包含具体到与所述资源相关联的硬件的数据。把资源块中的数据建模为所包含的参数,这样没有到所述块的链接。 
每个功能块应用还包含至少一个功能块。在优选实施例中,存在十个功能块,当这些功能块组合时可以向过程控制***上的制造装置提供绝大多数的功能。这些块是:模拟输入;模拟输出;偏差;控制选择器;离散输入;离散输出;人工加载器;比例/导数;比例/积分/导数;以及比率。在SIS装置中,可能或可能不支持某些但通常不是所有这些类型功能块。在本发明的一个特定实施例中,可用的SISFB被限制在模拟输入、模拟输出、离散输入和离散输出。在其它实施例中,可以支持模拟表决、数字表决及其它功能块。从而,应当理解本发明的各个实施例的各个实施可以包括一些、所有或干脆不包括以上所标识的功能块,也可以包括其它功能块,这种功能块的某些可以是SISFB或非SISFB。 
另外在一个实施例中,存在十九个标准化的功能块用于执行更多复杂的功能,包括高级控制块、计算块和辅助块。这十九个功能块是:脉冲输入;复杂模拟输出;复杂离散输出;分级(step)输出比例/积分/变型;装置控制;设置点斜坡产生器;拆分器(splitter);输入选择器;信号特征描述器;超前滞后;停滞时间;运算;计算;积分器;计时器;模拟警告;离散警告;模拟人机界面;和离散人机界面。这些块解决了对低速和高速现场总线的附加要求。 
在优选实施例中,还有标准的传感器块。 
在图11中所示出了使用功能块的两个目标应用的例子,所述两个目标应用是人工控制760和安全相关功能770。人工控制760由模拟输入功能块762、人工加载器764和模拟输出功能块768组成。安全相关功能770由多个SIS模拟输入(“SISAI”)772、SIS模拟表决器(“SISAVTR”)774和SIS数字输出(“SISDO”)778组成。 
装置描述(DD)
如图12所示,功能块应用过程还可以存储装置描述(DD)860。为了扩展网络的互操作性,除标准功能块参数之外使用装置描述860。装置描述860扩展了虚拟现场装置中每个对象的描述。 
装置描述860提供了控制***所需要用来解释虚拟现场装置中数据意义的信息,包括人机界面功能,诸如校准和诊断。 
可以采用任何标准化的程序设计语言(诸如C、C++或SmallTalk)来编写装置描述。 
***管理
操作中,功能块依照精确定义的间隔以及用于正确控制***操作的适当顺序执行。***管理使功能块的执行和总线上功能块参数的传递同步。***管理还处理其它重要的特征,诸如向所有装置公布时刻,自动分配装置地址,并且搜索现场总线上的参数名称或标记。 
由对象描述描述了由***管理(诸如***调度)所需要的配置信息。如图7A所示,把配置信息存储在网络和***管理虚拟现场装置310中。网络和***管理虚拟现场装置310提供了对***管理信息库(SMIB)330以及网络管理信息库(NMIB)320的访问。可以使用调度构建工具人工地输入或构建***调度。调度构建工具用来产生功能块,而链路活动调度器调度用来产生***和网络调度。 
根据***调度,***管理控制功能块何时执行。这确保每个功能块相对于***中的其它功能块在适当的时间执行。对于真实的分布式控制***,装置及其功能块的活动还必须与网络上的其它装置的活动同步。协调不同装置中块的执行由网络管理器使用网络调度来控制。稍后详细描述网络管理。 
***和网络调度包含从绝对链接调度起动时间开始的起动时间偏移。绝对链接调度起动时间为现场总线上的所有装置所知。 
***管理还具有时间发布器,所述时间发布器在链路活动调度器100中定期地向所有现场装置发送应用时钟同步。数据链路调度时间被采样并与应用时钟消息一起发送,以便接收装置可以调整它们的本地应用时间。在同步消息之间,应用或***时钟时间根据其自己的***时钟独立地保持在每个现场装置中。每个现 场装置中的***时钟开始执行该装置的***调度,没有数据链路时钟,除非现场装置是链路活动调度器100。***时钟同步使现场装置能遍及网络给数据加盖时间戳。如果总线上存在备用***时钟发布器,那么如果目前有效的时间发布器发生故障时,备用发布器将变为数据链路时钟。 
***管理还自动地向每个现场装置分配了唯一的网络地址。除临时装置之外的每个现场装置应当具有唯一的网络地址和物理标记。临时装置不被分配标记或永久地址。临时装置简单地在数据链路层协议规范中为它们所保留的四个数据链路访问者地址之一加入网络。 
负责标记和数据链路地址分配的***管理功能被认为是配置主装置。它通常与链路活动调度器100位于一起,不过并不一定这样要求,这样它可以监视实况列表以便增加新的装置。当在默认网络地址增加装置时,配置主装置校验现场装置的***管理内核不具有物理标记,并且使用***管理内核协议810向它分配一个。一旦分配,那么***管理内核移到初始化状态。在此状态中,准备向其分配运行网络上的网络地址。稍后详细描述***管理内核。 
用于把网络地址分配给新的现场装置的序列如下:(1)物理标记被经由配置装置分配给新的装置;(2)***管理向现场装置询问其物理装置标记默认网络地址;(3)***管理使用物理装置标记来在配置表中查找新的网络地址;和(4)***管理向强迫所述装置承担网络地址的装置发送专门的设置地址消息。对于在默认地址进入网络的所有装置重复这些步骤序列。 
图12示出了在本发明一个实施例的***管理和其它通信和应用程序组件之间的关系。例如,图12示出了在***管理和功能块应用440、功能块对象850、装置描述(DD)860和对象描述(OD)280之间的关系。***管理还使用现场总线消息规范230来远程地访问现场装置内的管理信息。***管理还访问通信堆栈205以便执行其它功能。 
单个的***管理实体存在于每个链路主装置105/105’或链路活动调度器100。此实体包括***管理信息库830(SMIB)、对象词典280和***管理内核800。 
***管理内核800提供了网络协调和同步功能集。为了跨过网络强制协调并同步这些功能,使用管理器/代理模型。在优选实施例中,***管理内核800承担代理作用并且响应从***管理所接收的指令。***管理协议用来定义在管理器和代理之间的通信。 
用来控制***管理操作的信息被组织为在SMIB 830中所存储的对象。SMIB830由网络通过***和网络管理虚拟现场装置310来访问。SMIB 830包含装置的配置和操作参数。在SMIB 830中所包括对象的例子是:装置标识、物理装置标记、虚拟现场装置列表、时间对象、调度对象和配置状态。 
***管理允许使用现场总线消息规范应用服务(诸如读取、写入等)来访问SMIB对象。对SMIB的访问使远程应用能在网络操作之前或之间从所述装置获得 管理信息。管理虚拟现场装置与所述装置的网络管理代理880共享,并且借此还提供了对网络管理代理对象的访问。 
网络管理
图12还示出了在装置中其它应用程序和通信组件与网络管理之间的体系结构关系。对于其协议(每个层一个),每个装置包含单个的网络管理代理880和层管理实体(layer management entities,LME)875。每个网络具有至少一个网络管理器,所述网络管理器协调整个***的网络管理。网络管理提供以下能力:加载虚拟通信关系列表;配置通信堆栈205;加载网络调度;性能监视;以及故障检测监视。 
网络管理器负责依照由***管理器为其所定义的策略来保持网络的操作。网络管理器通过监视每个装置中的通信堆栈205状态,并且必要时采取行动来强制***管理策略。网络管理器通过处理信息以及由网络管理代理880所生成的报告,并且推荐用于执行经由现场总线消息规范230所请求的服务,来执行这些任务。 
网络管理代理880负责向网络管理器提供现场总线消息规范230接口以便管理通信堆栈205的对象。在所述装置内,网络管理代理880把现场总线消息规范服务请求映射到为通信堆栈205总体上所保持的对象,由LME所保持的对象。 
LME 875提供了层协议的管理能力,诸如物理层(PHY)200、数据链路层(DLL)210、现场总线访问子层(FAS)220或现场总线消息规范(FMS)230(如图2所示)。LME 875向网络管理代理880提供了所述协议的管理对象的本地接口。由网络管理代理880提供对LME及其对象的所有网络访问。 
NMIB 895包含在***和网络管理虚拟现场装置(VFD)310中的NMIB 320。NMIB还包含用于定义配置管理、性能管理和故障管理的对象。由网络管理器使用现场总线消息规范服务来访问所述对象。与较早描述的功能块类似来涉及用于网络管理对象的对象。 
灵活功能块
为简单和说明性目的,主要通过参照示例性实施例来描述灵活功能块(“FFB”)。然而应当理解,使用其它分布式控制结构可以把FFB和安全相关FFB(“SIS-FFB”)用于其它实施和设计。此外应当理解,这里所描述的适用于FFBs和/或SIS-FFB的原理也适用于其它面向块的实施、现场总线体系结构或其它过程控制***。 
功能块构架
参考图8A和8B,上面描述的开放***提供了功能块530/530’的构架和详细描述。参考图11,上面描述的开放***提供了功能块的输入和输出互连的构架和 描述以便提供应用解决办法。 
参考图12,上面描述的是装置描述(DD)860,其可以用于描述功能块的输入和输出参数。DD 860提供了控制***所需要用来解释功能块数据意义的信息,包括人机界面接口功能,诸如校准和诊断。如上所述,可以依照任何标准化的程序设计语言来编写装置描述,诸如C、C++或SmallTalk或用户设计的装置描述语言。 
灵活功能块-终端用户配置的输入/输出和算法/程序
如图13所示,SIS-FFB 1350的一个实施可以包括终端用户可配置的SIS-FFB输入1351,终端用户可配置的SIS-FFB输出1352和终端用户可配置的SIS-FFB算法(程序)1353。终端用户1300依照特定应用的需要并且依照特定的安全要求配置输入1351、输出1352和算法1353,来创建SIS-FFB 1350。如上所述对于SISFB,SIS-FFB输入参数1351定义了由SIS-FFB 1350所接收的输入,而SIS-FFB输出参数1352定义了在由算法1353按照SIS-FFB 1350所指定来处理输入之后由SIS-FFB1350所产生的输出。SIS-FFB配置工具1301创建SIS-FFB装置描述(DD)1360,其与由终端用户所配置的SIS-FFB 1350相匹配。优选地是,SIS-FFB配置工具1301通过产生数据文件和代码文件并且通过产生匹配装置描述来创建SIS-FFB 1350,所述数据文件和代码文件根据用户配置的输入1351、输出1352和算法1353来定义SIS-FFB 1350。作为选择,终端用户1300(或程序员)可以产生数据和代码文件,所述数据和代码文件定义了SIS-FFB 1350和匹配装置描述。 
终端用户通过运行SIS-FFB配置工具1301来创建SIS-FFB 1350和匹配SIS-FFB DD 860。SIS-FFB DD 860使诸如操作者接口、调节、校准和诊断之类的人机界面接口应用能用于SIS-FFB 1350。 
由于SIS-FFB 1350依照功能块构架操作,所以可以互连终端用户配置的SIS-FFB输入和输出以便解决复杂的具体应用控制问题,诸如离散/混合/批量和PLC控制。通常可以使用块(标准化的和灵活的、SIS和非SIS)的任何组合来解决任何特定的应用问题。标准化和灵活的块互连适用于高速连接(诸如HSE)以及低速连接是显而易见的。照此FFB和/或SIS-FFB通常是独立于通信协议和配置的,并且可以在各种通信信道上操作。 
参考图14,图示了在总线120’上控制过程的两个现场装置620。如同所示,存在由两个现场装置620运行的两个应用,应用A和应用B。第一应用(应用A)是由第一现场装置620运行的非分布式应用。通过组合互连的SISFB和SIS-FFB(例如,SIS-FFB 1350)来构建应用A。第二应用(应用B)是由两个现场装置620运行的分布式应用。也通过组合互连的SISFB和SIS-FFB(例如,SIS-FFB 1350)来构建应用B。如图14所图示,SIS-FFB克服了非终端用户可配置的输入/输出和非终端用户可配置的标准化功能块的限制。总线120上现场装置620中的分布和 非分布式应用1360可以使用SISFB和SIS-FFB 1350的任何组合来构建。应当理解在某些实施例中,使用FFB和/或SIS-FFB可以获得装置控制***安装、运营维护成本的明显减少。 
图15是图示复杂应用例子的框图,其中使用标准化功能块和FFB的组合来构建所述复杂应用。图15是用于使用FFB-MVMC 954所实现的气体处理设备的多变量矩阵管理的例子。在图15中所示出的现场装置/组件(例如,PI 1、TI 1、TI 2、TI-3、AI 1、AI 2、FIC 1、FIC 2、LIC 1)优选包括标准功能块。应当理解,虽然未在图15中示出,由于可能要求特定的安全相关需要,所以在这种实施中可以利用SISFB和/或SIS-FFB。 
扩展的安全相关协议(“SISRP”)
如上所述,本发明的各个实施例利用SISRP来认证并确保在SISC之间的通信未被破坏。在一个实施例中,SISRP利用序列号和CK来确认或认证消息。 
发布者-订户通信
当实现发布者-订户通信时,各个实施例中的至少一个按照在图16中所示出的过程使安全通信便于进行。然而,在详细地描述所图示的实施例之前,应当理解通常CK与在SISFB和/或SIS-FFB之间的每个链路相关联。如上所述,这些CK由配置***产生并且希望被存储在作为发布者订户链接对象一部分的资源中。当将向订户公布数据时,希望通信包括输出参数(即,数据)、序列号(如上所述)和鉴别码(例如,CRC-32),所述输出参数包括值和状态信息。在图16A中示出了用于产生鉴别码的过程的一个实施例。 
如图16A所示,本发明一个实施例用于产生鉴别码的过程包括获得用于产生鉴别码的信息(操作1602)。此操作包括识别发布者和订户以便指定用于传递数据的连接(操作1604)。此操作还需要获得数据(操作1606),获得经由所识别的连接所使用的下一序列号(操作1608),获得与所指定的连接相关联的CK(操作1610),并且获得用于识别FBAP中参数的对象索引,其中要传递的数据属于所述FBAP(操作1612)。在一个实施例中,连接密钥包括四个(4)字节的信息,序列号包括两个(2)字节,对象索引包括两个(2)字节而数据包括从两个(2)到一百二十个(120)字节中任何字节的信息。应当理解在本发明的其它实施例中,还可以利用其它长度的数据和/或信息。 
一旦所想要的并且必要的信息被获得并适当地存储(例如,在RAM等中)以供公布装置中的处理器使用,那么过程继续至把所获得的信息布置到想要用于产生虚拟协议数据单元(“VPDU”)的序列中,其随后可以用于产生鉴别码。如操作1614所示,示出了可以用来产生VPDU的一个序列。应当理解,由于特定实施要求或指定,可以利用其它序列。然而通常,用来布置信息并且产生VPDU的序列 应当被标准化,以便任何SISC(例如,SISFB或SIS-FFB)可以认证从任何其它SISFB/SIS-FFB所接收的数据或向其它SISFB/SIS-FFB所提供的数据。从而,优选而不是强令在图16中所示出的序列,VPDU序列。应当理解,因为此序列并不经由黑色通道传递到认定的装置/组件,所以此序列是“虚拟的”。 
使用在操作1614中所产生的信息序列,所述过程继续至产生鉴别码(“GA”)(操作1616)。应当理解,可以利用任何公知的鉴别码产生过程。希望所选择的鉴别码符合SIL-3和/或SIL-2安全要求。在一个实施例中,利用CRC-32算法来产生CRC-32鉴别码。在其它实施例中,CRC-64或其它算法可以用来产生所述鉴别码。 
现在参照图16B,在图16A中所示出的过程继续至产生或集合实际PDU(“APDU”),即经由黑色通道从发布者传递到订户的数据和信息分组(操作1618)。如图16B所示,集合APDU,对于一个实施例,按以下顺序:数据1606、序列号1608和鉴别码(GA)1620(即,在操作1616所产生的结果)。应当理解,在本发明的其它实施例中可以利用其它序列。然而,为了在开放现场总线体系结构或类似的体系结构上的标准化通信,希望所有APDU利用相同的分组序列。那么经由黑色通道把APDU传递到订户(操作1622)。 
当接收所述APDU时,订户适当地提取并存储所接收的鉴别码(“RA”)1620’。应当理解,在经由黑色通道传输期间,GA 1620以及数据1606和/或序列号1608可能是不可靠的。然后订户继续认证所接收或实际的协议数据单元(“APDU”)并且确定APDU中的数据是否是不可靠的或者由于任何前述安全考虑(例如,重发,遗漏,位篡改(falsifying),伪装等)的原因是错误的。在本发明的一个实施例中,APDU认证通过产生所期望的协议数据单元(“EPDU”)在订户进行(操作1623)。如同所示,为了产生EPDU,订户把所期望的信息和所接收的数据和信息布置到与在操作1614所使用的相同序列中,以便产生VPDU。更具体地说,订户从其存储器等获得所期望的连接密钥1624和所期望的对象索引1626。如同所示,把这些与所接收的序列号1608’和所接收的数据1606’组合。在操作1628中,订户优选使用与发布者(在操作1616中)所使用的相同算法(例如,CRC-32)来计算所期望的鉴别码值(“EA”)以便产生GA(1620)。 
现在参照图16C,在操作1630中,然后把EA与RA相比较。 
如果EA与RA不相同,那么数据在经由黑色通道传输期间被以某种方式破坏,被发布者错误地发送,或由订户错误地处理。由订户拒绝APDU并且APDU的处理被停止(操作1632)。此外,如果鉴别码校验失败的连续数目大于最大的阈值次数,那么希望把在发布者和订户之间的链路标识为“坏的”并且将来不使用“坏的”发布者-订户链路来处理PDU直到解决“坏的”情况。 
再次参照操作1630,如果EA与RA相同,那么在APDU中所传递的数据和信息被认为是认证过的。然而,由于希望数据在通过黑色通道没有被破坏的情况 下,可以依照不正确的序列从发布者发送,所以过程继续至订户校验从发布者所接收的数据处于期望并正确的序列。对于本发明的一个实施例,通过订户从其VCR获得所期望的序列号(操作1634)并且把所接收的序列号(“RSN”)与所期望的序列号(“ESN”)相比较(操作1636),来实现此序列校验。如果RSN与ESN不同,那么停止处理APDU(操作1632)并且丢弃数据。如果序列号相同,那么消息/数据处理继续使用例程非SIS信息处理例程和过程。另外,订户把参数、最后接收的序列号(“LRSN”)变量设置为等于RSN并且把“stalecount”参数重置为值零。 
如先前所提及,如果序列号是不正确的给定次数(即,“stalecount”超过预置阈值),那么在相关联的发布者和订户之间的连接状态被设置为“坏的”,并且将来不会接受在发布者和订户之间的PDU直到重置连接状态。为了恢复或还原在发布者和订户之间由于超过“stalecount”阈值所导致的“坏的”连接,对于本发明的一个实施例,通常在暂停并人工或自动重置链路之后,当接收有效鉴别码时过程继续。因为由发布者发送序列号,所以订户中的RSN和LRSN很可能是不同的,计算在RSN和LRSN之间的差异。如果此差异超过stalecount的阈值,那么把LRSN设置为RSN,把stalecount设置为零(0)并且丢弃PDU。依照在图16A-C中所描述的过程再来处理所接收的下一PDU,并且正常数据处理恢复所提供的鉴别码并且序列号小于stalecount阈值。 
虽然在图16A-16C中所示出的操作阐明了用于认证经由黑色通道所传递数据的一个实施例满足确定的安全要求,但是应当理解可以改变、添加和/或删除操作、数据序列、认证算法等。例如,在一个实施例中,可以从处理上删除操作1630-1636。如果用来在操作1623中产生EPDU的RSN被替换为ESN,那么所述操作1630-1636可以被认为是可选择的。使用这种处理流程,可以预料如果所接收信息中的任何位是不可靠的或是错误的,那么EA往往不等于RA。然而,这种处理流程可能不能更精确地识别哪些类型的错误出现在黑色通道上,例如是否是由于序列号问题的错误,所接收的实际数据被破坏,连接密钥问题等。照此应当理解,各种处理流程、算法、操作PDU等可以用来认证在发布者和订户之间经由黑色通道所传递的数据。 
此外应当理解,通过认证经由黑色通道所传递的数据以便供安全相关组件使用,在此描述的本发明的各个实施例还可以用来为不安全相关装置校验黑色通道的工作状态。特别地是,如果在安全相关装置之间通过黑色通道出现了重复的错误,那么可能增加不安全相关装置出现的错误可能。照此,通过监视安全相关通信认证失败的比率和次数,人们还可以间接地监视用于所有通信的黑色通道的整个状态。 
客户端-服务器通信
除支持发布者-订户通信之外,本发明的各个实施例还支持在SISC之间的客户端-服务器通信。如通常所理解,客户端-服务器通信通常涉及读取操作和写入操作。本发明的各个实施例提供了用于实现安全相关读取和写入过程的过程和装置。 
读取 
通常,在本发明的至少一个实施例中利用读取来读取在SIS装置(即,具有SISC)中所利用的数据与在非SIS装置(即,不具有SISC)中所利用的请求是类似的(在确定的实施例中是相同的)。 
如图17A所示,组件响应读取请求的过程通常始于请求服务器(即,向请求器(requestor)/客户端提供所请求信息的组件)的响应,以便获得或“读取”由所述装置所提供的某些块(即,输出值)。这种块通常由索引号或其它标识符识别(操作1702)。如通常所理解,装置能够输出许多块,其中一些可以是SISC。照此,过程适当地继续至确定所述读取是否涉及安全相关块(操作1704)。 
如果所述读取不涉及SISC,那么处理希望继续使用标准非SISRP(操作1706)。 
再次参照操作1704,如果所述读取涉及SISC,例如包括诸如SIS_访问等安全参数,那么处理继续使用SISRP。如上所述相对于发布者-订户通信,在至少一个实施例中,SISRP提供通过黑色通道的鉴别码的计算和传输。在涉及SISC的客户端-服务器通信中,鉴别码用于发送所希望的信息。如操作1708-1744所示(图17A-C),用于产生鉴别码、发送所请求的读取数据并且认证所发送的数据的过程基本上与用于发送用于发布者-订户通信的数据的过程相同。然而,可选择的和附加的子索引1717可以被包括在用于产生并校验鉴别码的信息中。此外,如果所接收的序列号与所期望的序列号不同,那么对于本发明的至少一个实施例,丢弃PDU。 
写入 
当对于SISC想要写入过程时,如上所述,希望利用SISRP。为了确保“写入”数据和信息的接收器首先校验所接收的数据和信息,SISRP在任何通信中包括鉴别码和序列号。在本发明的一个实施例中,此过程通过把要写入的数据长度(例如在FMS中所指定)与实际上所接收数据串的长度相比较来实现。如果这种数据串不具有有效长度,那么丢弃所述数据串。如果所述数据串具有有效长度,那么确认鉴别码,优选使用先前相对于发布者-订户通信的上述过程来确认。此外,一旦确认所述鉴别码,那么进行写入操作。然而,如果与接收所述写入请求的块(即,服务器)相关联的资源块没有处于OSS状态或人工状态,那么希望丢弃所述写入请求。应当理解,当正利用安全相关资源时,通常不希望写入由SISC所利用的参数。 
另外,在一定条件下,可能希望把数据写入SISLO中。由于并不向SISLO提供序列号,所以向SISLO写入与计算鉴别码一起适当地进行,而不包括序列号。 
另外,如上面关于SISC所述,进行对SISLO“写入”的处理。 
附加的安全特性
鉴别码错误检测
除上面论述的使用SISRP和其它特征和功能之外,本发明的各个实施例还可以提供鉴别码错误检测。特别地是,用于实现本发明的组件可以被配置为监视在某一时段内所产生的鉴别码错误的次数。对于用于SIL-3应用的组件,希望每140分钟大于一(1)的错误率使所述组件相对于其输出块被配置在故障保险(fail-safe)状态。类似地,在SIL-2应用中,每十四(14)分钟一(1)个错误的阈值使组件配置在故障保险状态中。最后,对于SIL-1应用,希望错误阈值是每1.4分钟一(1)个。对于其它安全实施,按要求可以利用其它错误率。 
诊断传感器块
本发明的各个实施例当在功能块现场总线体系结构或类似的体系结构中实施时,还可以被配置为包括一个或多个诊断传感器块。然而,通常每个SIS装置只存在一个诊断传感器块。诊断传感器块通常包括计时器和计数器集(a timer and setof counter tracks),用于监视往返于装置(即,VCR)所有通信的错误。计数器可以包括那些:坏的鉴别码,接收最后坏的鉴别码的时间,坏的序列号的数目,接收最后坏的序列号的时间,和从经由黑色通道传递最后错误的时间。 
黑色通道完整性监视器
本发明的各个实施例还可以包括黑色通道完整性监视器。此监视器校验来自黑色通道的未检测出的错误比率(即,没有被黑色通道监视装置所检测到但是由于坏的序列号或无效的鉴别码而被检测出的错误)不超过给定的限制(预定的或实时设置的)。如果错误的数目超过阈值,那么希望此监视器终止所述错误还在上升的黑色通道连接。希望当操作者干预、重新连接并重新启动时,重新初始化此连接。然而,按照特定实施的期望,本发明的各个实施例可以提供自动或半自动的重新连接和重新启动。 
排队延迟监视和检测
另外,本发明的某些实施例还可以包括序列号监视部件。希望对于发布者-订户连接,利用每个大循环来公布消息。为了帮助检测排队延迟,在发布者-订户连接开始时,发布者向订户传递序列号以用于连接。然后订户在每个大循环内增加该序列号并且把它与所接收的序列号相比较,如果差异超过最大可容忍的偏差,那么可以由订户等触发故障保险或其它适当的动作。 
如上所述,本发明的各个实施例提供了使用现场总线体系结构和类似的体系结构和***来在用于提供一个或多个SISC的SIS装置之间传递数据的***和过 程。虽然已经参考确定的体系结构、功能块、过程、数据结构等论述了本发明,然而应当理解本发明并不被这样限制,并且将依照本发明的精神和范围(如在上文所阐述和/或目前这里所声明或稍后声明)来解释。 

Claims (31)

1.一种用于在面向块的安全相关开放控制***中操作的装置,包括:
存储器,包括至少一个安全相关组件;
处理器,可操作来连接到所述存储器,其中所述处理器根据***调度来执行安全相关组件;和
介质连接单元,用于使用扩展的安全相关协议在所述处理器和传输介质之间转换输入信息和输出信息。
2.如权利要求1所述的装置,其中所述安全相关组件还包括功能块,所述功能块包括至少一个装置描述。
3.如权利要求1所述的装置,其中所述存储器包括多个安全相关功能块,并且其中至少一个安全相关功能块接收模拟输入数据并且使所述模拟输入数据可被多个安全相关功能块中的另一个作为输出来读取。
4.如权利要求3所述的装置,其中多个安全相关功能块包括至少一个SISFB。
5.如权利要求1所述的装置,其中所述存储器包括多个功能块,并且其中所述多个功能块中的至少一个接收离散输入数据并且使所述离散输入数据可被所述多个功能块中的另一个作为输出来电子读取。
6.如权利要求5所述的装置,其中所述多个功能块包括至少一个安全相关功能块。
7.如权利要求1所述的装置,其中所述存储器存储多个功能块,包括不安全相关功能块和安全相关功能块,并且其中不安全相关功能块和安全相关功能块互连以便只把数据从所述安全相关功能块传递到所述不安全相关功能块。
8.如权利要求7所述的装置,其中所述处理器依照***调度来控制多个功能块的执行。
9.如权利要求1所述的装置,其中所述装置可操作来连接到数字总线。
10.如权利要求1所述的装置,其中所述安全相关组件具有输入和输出,并且所述存储器还包括:
安全相关资源块;
第一安全相关传感器块;和
第二安全相关传感器块;
其中所述资源块把所述安全相关组件与物理硬件隔离,所述第一安全相关传感器块把所述安全相关组件的输入去耦合,而第二安全相关传感器块把所述安全相关组件的输出去耦合。
11.如权利要求1所述的装置,其中所述存储器还存储从由组中所选择的至少一个对象,所述组包括:标准非灵活功能块、标准灵活功能块、安全相关非灵活 功能块、安全相关灵活功能块、安全相关传感器块、安全相关资源块、安全相关链接对象、趋势对象、警告对象和观看对象。
12.如权利要求11所述的装置,其中由多个功能块和至少一个对象定义了资源。
13.如权利要求1所述的装置,其中所述扩展的安全相关协议包括鉴别码,用于认证在满足确定的安全要求的两个安全相关组件之间传递的消息。
14.如权利要求13所述的装置,其中所述鉴别码是适应的CRC-32。
15.如权利要求13所述的装置,其中根据包含在输入信息中的数据、序列号、连接密钥和对象索引来产生所述鉴别码。
16.如权利要求13所述的装置,其中所述扩展的安全相关协议利用序列号来产生所述鉴别码。
17.如权利要求13所述的装置,其中所述扩展的安全相关协议规定在把消息传递到安全相关组件之前产生虚拟协议数据单元。
18.如权利要求1所述的装置,其中所述传输介质还包括黑色通道。
19.如权利要求18所述的装置,其中经由所述黑色通道在安全相关组件之间的通信包括发送鉴别码。
20.如权利要求1所述的装置,其中经由所述传输介质的通信被监视以便及时递送。
21.如权利要求20所述的装置,其中所述装置还包括监视计时器,被配置为监视输出安全相关组件是否被及时地执行。
22.如权利要求1所述的装置,其中所述存储器还包括诊断传感器块。
23.如权利要求22所述的装置,其中所述诊断传感器块监视传输介质的错误,所述错误可能出现在安全相关组件之间传递消息时。
24.如权利要求23所述的装置,其中由所述诊断传感器块所监视的错误包括计时错误、序列错误、认证错误、伪装错误、排队错误和***错误。
25.如权利要求1所述的装置,其中所述存储器还包括写入锁定;其中当与安全相关组件相关联的资源处于业务中止模式或人工模式之外时,所述写入锁定禁止把数据写入到所述安全相关组件中。
26.如权利要求1所述的装置,其中所述存储器还包括被配置为检测在公布者和订户之间通信延迟的模块。
27.如权利要求26所述的装置,其中所述模块检测在黑色通道中的排队。
28.如权利要求26所述的装置,其中所述模块根据把所传递的序列号与所期望的序列号相比较来检测排队错误。
29.如权利要求28所述的装置,其中由所传递序列号的接收器来独立地计算所期望的序列号。
30.如权利要求1所述的装置,其中所述存储器存储***调度和包括标准功能 块和灵活功能块中的至少一个的多个功能块,并且所述处理器依照所述***调度来控制所述多个功能块的执行。
31.如权利要求1所述的装置,其中所述存储器还存储了***调度,并且所述处理器依照所述***调度来处理所封装的安全相关组件。 
CN200480015603.3A 2003-04-17 2004-04-16 用于在面向块的安全相关开放控制***中操作的装置 Expired - Fee Related CN1802612B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US46333403P 2003-04-17 2003-04-17
US60/463,334 2003-04-17
PCT/US2004/011616 WO2004095716A2 (en) 2003-04-17 2004-04-16 System and method for implementing safety instrumented systems in a fieldbus architecture

Publications (2)

Publication Number Publication Date
CN1802612A CN1802612A (zh) 2006-07-12
CN1802612B true CN1802612B (zh) 2010-12-01

Family

ID=33310768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200480015603.3A Expired - Fee Related CN1802612B (zh) 2003-04-17 2004-04-16 用于在面向块的安全相关开放控制***中操作的装置

Country Status (4)

Country Link
EP (1) EP1614225B8 (zh)
CN (1) CN1802612B (zh)
HK (1) HK1085862A1 (zh)
WO (1) WO2004095716A2 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8055814B2 (en) * 2005-03-18 2011-11-08 Rockwell Automation Technologies, Inc. Universal safety I/O module
US8150964B2 (en) * 2007-05-25 2012-04-03 Custom Sensors & Technology Wireless industrial data transmission system
DE102007050708B4 (de) 2007-10-22 2009-08-06 Phoenix Contact Gmbh & Co. Kg System zum Betreiben wenigstens eines nicht-sicherheitskritischen und wenigstens eines sicherheitskritischen Prozesses
CN102209982B (zh) 2008-09-30 2013-11-20 沙特***石油公司 用于在控制和安全***之间的改进协作的***和方法
DE102008044018B4 (de) 2008-11-24 2010-08-19 Beckhoff Automation Gmbh Verfahren zum Bestimmen einer Sicherheitsstufe und Sicherheitsmanager
DE102010033039A1 (de) * 2009-09-23 2011-03-24 Phoenix Contact Gmbh & Co. Kg Verfahren zum Bereitstellen von Sicherheitsfunktionen
AT512077B1 (de) * 2011-10-27 2014-01-15 Bernecker & Rainer Ind Elektronik Gmbh Verfahren und ein busgerät zum übertragen von sicherheitsgerichteten daten
DE102012009494B4 (de) 2012-05-14 2017-04-13 Balluff Gmbh Steuereinrichtung zum Steuern eines Sicherheitsgerätes
DE102012014681B4 (de) 2012-05-29 2017-01-26 Balluff Gmbh Verwendung eines lO-Links zur Anbindung eines Netzgerätes
DE102012014682B4 (de) * 2012-05-29 2017-02-09 Balluff Gmbh Feldbussystem
CN104424224B (zh) * 2013-08-26 2019-09-20 深圳市腾讯计算机***有限公司 一种文件索引存储方法及装置
US20170310642A1 (en) * 2014-09-10 2017-10-26 Ge Intelligent Platforms, Inc. Black channel communications apparatus and method
DE102015103740A1 (de) * 2015-03-13 2016-09-15 Phoenix Contact Gmbh & Co. Kg Verfahren und Vorrichtung zum Verarbeiten und Übertragen von Daten innerhalb eines funktional sicheren elektrischen, elektronischen oder programmierbar elektronischen Systems
EP3388901B1 (de) * 2017-04-10 2023-08-23 Siemens Aktiengesellschaft Sicherheitsgerichtetes automatisierungssystem
CN107332881A (zh) * 2017-06-08 2017-11-07 南京南瑞继保电气有限公司 一种支持多监控协议的变量交换方法
EP3422124A1 (en) * 2017-06-30 2019-01-02 SUEZ Groupe Method for controlling an ozone generating machine
DE102018102788A1 (de) * 2018-02-08 2019-08-08 Hengstler Gmbh Verfahren zur Datenübertragung zwischen einem Encoder und einer Motor- und/oder Aktor-Kontrolleinheit über einen unsicheren Kanal
EP3595256A1 (de) * 2018-07-13 2020-01-15 Siemens Aktiengesellschaft Vorrichtung und verfahren zum betreiben einer durch software gestalteten verarbeitungseinheit für ein gerät
JP6987303B2 (ja) * 2019-04-16 2021-12-22 三菱電機株式会社 安全通信装置、安全通信システム、安全通信方法、及び、安全通信プログラム
CN111885062B (zh) * 2020-07-23 2022-06-24 湖南中车时代通信信号有限公司 一种具有认证加密功能的基于rs485总线的通信***及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6424872B1 (en) * 1996-08-23 2002-07-23 Fieldbus Foundation Block oriented control system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526358A (en) 1994-08-19 1996-06-11 Peerlogic, Inc. Node management in scalable distributed computing enviroment
US20040194101A1 (en) * 1997-08-21 2004-09-30 Glanzer David A. Flexible function blocks
DE19861281B4 (de) * 1998-09-09 2008-10-02 Halang, Wolfgang A., Prof. Dr. Dr. Elektronischer Vergleicher zweier Binärworte mit ausfallsicherheitsgerichtetem Ausgabeverhalten
DE19914829A1 (de) * 1999-04-01 2001-01-11 Siemens Ag System und Verfahren zur insbesondere graphischen Überwachung und/oder Fernsteuerung von stationären und/oder mobilen Vorrichtungen
US7069580B1 (en) * 2000-06-16 2006-06-27 Fisher-Rosemount Systems, Inc. Function-based process control verification and security in a process control system
US6947389B1 (en) * 2000-06-30 2005-09-20 Fisher-Rosemount Systems, Inc. Two-mode foundation fieldbus device configurator
US6871299B2 (en) * 2001-02-05 2005-03-22 Fisher-Rosemount Systems, Inc. Hierarchical failure management for process control systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6424872B1 (en) * 1996-08-23 2002-07-23 Fieldbus Foundation Block oriented control system

Also Published As

Publication number Publication date
EP1614225A4 (en) 2007-11-21
CN1802612A (zh) 2006-07-12
WO2004095716A2 (en) 2004-11-04
WO2004095716A3 (en) 2005-09-22
EP1614225B8 (en) 2013-07-10
EP1614225A2 (en) 2006-01-11
HK1085862A1 (en) 2006-09-01
EP1614225B1 (en) 2013-05-22

Similar Documents

Publication Publication Date Title
CN1802612B (zh) 用于在面向块的安全相关开放控制***中操作的装置
US6999824B2 (en) System and method for implementing safety instrumented systems in a fieldbus architecture
US7489977B2 (en) System and method for implementing time synchronization monitoring and detection in a safety instrumented system
US8676357B2 (en) System and method for implementing an extended safety instrumented system
CN102323785B (zh) 灵活的功能块
US6594530B1 (en) Block-oriented control system
Lian Analysis, design, modeling, and control of networked control systems
US11012256B2 (en) Connection unit, monitoring system and method for operating an automation system
US7844865B2 (en) Bus module for connection to a bus system and use of such a bus module in an AS-i bus system
WO2007076284A2 (en) System and method for implementing safety instrumented systems
Schiffer The CIP family of fieldbus protocols and its newest member-Ethernet/IP
GB2623612A (en) Apparatuses and methods for non-disruptive replacement of simplex I/O components
US10356198B2 (en) Data transmission between at least one safe producer and at least one safe consumer
EP1484679B1 (de) Sicherstellung von maximalen Reaktionszeiten in komplexen oder verteilten sicheren und/oder nicht sicheren Systemen
EP1963930B1 (en) System and method for implementing time synchronization monitoring and detection in a safety instrumented system
Farkas et al. Simulation of Networked Control Systems using TrueTime
Sastry et al. A taxonomy of distributed sensor networks
Berrie et al. Networks in Process Automation: Hardware Structures and Integration of Process Variables into Networks
Brodtkorb A safety layer for foundation fieldbus
Liptak et al. Fieldbuses
Zeltwanger Communication Profile for Embedded Networks
Cavalieri Foundation Fieldbus
Shaaban et al. AN ApPROACH TO REMOTE PROCESS MONITORING AND CONTROL
Dracos An Approach to remote process monitoring and control
El-Shtewi et al. The Use of The Fieldbus Network for Maintenance Data Communication

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101201

Termination date: 20170416