CN114625075A - 过程控制环境中通信的变量级别完整性校验 - Google Patents

过程控制环境中通信的变量级别完整性校验 Download PDF

Info

Publication number
CN114625075A
CN114625075A CN202111507155.0A CN202111507155A CN114625075A CN 114625075 A CN114625075 A CN 114625075A CN 202111507155 A CN202111507155 A CN 202111507155A CN 114625075 A CN114625075 A CN 114625075A
Authority
CN
China
Prior art keywords
data integrity
message
variable
check result
integrity check
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.)
Pending
Application number
CN202111507155.0A
Other languages
English (en)
Inventor
M·J·尼克松
G·K·劳
A·E·卡特钦
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.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of CN114625075A publication Critical patent/CN114625075A/zh
Pending 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/418Total 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]
    • 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/418Total 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/41875Total 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 quality surveillance of production
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1642Formats specially adapted for sequence numbers
    • 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/418Total 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/4185Total 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 the network communication
    • G05B19/4186Total 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 the network communication by protocol, e.g. MAP, TOP
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/24Testing correct operation
    • 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/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31244Safety, reconnect network automatically if broken
    • 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/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32368Quality control
    • 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/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33234Detect bad data transfer
    • 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/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33236Add check data to message to check faulty communication
    • 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/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33243Detect quality of received data, message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Programmable Controllers (AREA)

Abstract

所描述的方法和系统使过程控制设备能够以使得接收设备能够在逐个变量的基础上验证接收值的完整性的方式来传送和接收设备变量值。为了便于验证完整性,消息中任何期望数量的变量都可以在消息中具有数据完整性校验结果。对于每个具有数据完整性校验结果的接收值,接收设备可以基于接收值和种子(传送和接收设备都知道)计算自己的数据完整性校验结果,然后可以将其与接收到的数据完整性校验结果进行比较以验证接收值在通信期间是否已改变。

Description

过程控制环境中通信的变量级别完整性校验
技术领域
本公开内容总体上涉及在过程控制环境中验证通信的完整性,具体而 言,涉及在逐个变量基础上验证这种通信中的变量值(例如在安全系统中 使用的那些)的完整性来为接收通信的设备提高变量值的可靠性和可信度。
背景技术
分布式过程控制系统,例如分布式或可扩展的过程控制系统,如在发 电、化学、石油或其它过程中使用的那些,通常包括一个或多个过程控制 器,其彼此通信耦合,经由过程控制网络通信耦合到至少一个主机或操作 员工作站,并经由模拟、数字或组合模拟/数字总线通信耦合到一个或多个 仪器或现场设备。
现场设备在过程或工厂内执行功能,例如打开或关闭阀、接通和关断 设备以及测量过程参数。示例现场设备包括阀、阀定位器、开关和变送器 (例如,包括用于测量温度、压力或流速的传感器的设备;以及用于传送 感测到的温度、压力和流速的发射机)。
通常位于工厂环境内的过程控制器接收指示由现场设备进行的过程 测量的信号(或与现场设备有关的其它信息)并执行控制器应用,该控制 器应用程序运行例如不同的控制模块,其做出过程控制决策、基于接收到 的信息生成控制信号并与智能现场设备(例如,
Figure BDA0003404797740000011
Figure BDA0003404797740000012
Fieldbus现场设备)中执行的控制模块或块进行协调。
控制模块的执行使过程控制器通过通信链路或信号路径将控制信号 发送到现场设备,从而控制过程工厂或系统的至少一部分的操作(例如, 控制在工厂或系统内运行或执行的一个或多个工业过程的至少一部分)。例 如,第一组一个或多个控制器和现场设备可以控制由过程工厂或系统控制 的过程的第一部分,而第二组一个或多个控制器和现场设备可以控制过程 的第二部分。
输入/输出(I/O)卡(有时也称为“I/O设备”或“I/O模块”)通常 也位于工厂环境内,通常可通信地设置在控制器和一个或多个现场设备之 间,实现它们之间的通信(例如,通过将电信号转换为数字值,反之亦然)。 通常,I/O卡用作过程控制器和一个或多个现场设备输入或输出之间的中间 节点,这些输入或输出被配置用于与I/O卡所使用的通信协议相同的一个或 多个通信协议。具体而言,现场设备输入和输出通常被配置用于模拟或离散通信。为了与现场设备进行通信,控制器通常需要配置用于现场设备使 用的相同类型的输入或输出的I/O卡。即,对于配置为接收模拟控制输出信 号(例如,4-20mA信号)的现场设备,控制器需要模拟输出(AO)I/O卡 来传送适当的模拟控制输出信号;并且对于配置为通过模拟信号传送测量 值或其它信息的现场设备,控制器通常需要模拟输入(AI)卡来接收传送 的信息。同样,对于配置为接收离散控制输出信号的现场设备,控制器需 要离散输出(DO)I/O卡来传送适当的离散控制输出信号;并且对于配置 为通过离散控制输入信号传送信息的现场设备,控制器需要离散输入(DI) I/O卡。此外,一些I/O卡被配置用于电阻温度检测器(RTD)(它会随着温 度改变电线的电阻)或热电偶(TC)(它会产生与温度成比例的电压)。通 常,每个I/O卡可以连接到多个现场设备输入或输出,其中到特定输入或输 出的每个通信链路被称为“I/O通道”(或更一般地说,“通道”)。例如,一 个120通道的DO I/O卡可以通过120个不同的DO I/O通道通信连接到120 个不同的离散现场设备输入,使控制器能够(通过DO I/O卡)向120个不 同的离散现场设备输入传送离散控制输出信号。
如本文所用,现场设备、控制器和I/O设备通常被称为“过程控制设 备”,并且通常位于、设置或安装在过程控制系统或工厂的现场环境中。由 一个或多个控制器、通信地连接到一个或多个控制器的现场设备以及促进 控制器和现场设备之间通信的中间节点形成的网络可被称为“I/O网络”或 “I/O子系统。”
来自一个或多个I/O网络的信息可以通过数据高速通道或通信网络 (“过程控制网络”)提供给一个或多个其它硬件设备,例如操作员工作站、 个人计算机或计算设备、手持设备、数据历史记录器、报告生成器、集中 式数据库或其它集中式管理计算设备,这些设备通常放置在控制室或远离 工厂恶劣的现场环境的其它位置,例如,在过程工厂的后端环境中。
通过过程控制网络传送的信息使操作员或维护人员能够经由连接到 网络的一个或多个硬件设备执行关于过程的期望功能。这些硬件设备可以 运行应用程序,该应用程序使操作员能够例如更改一个或多个过程控制例 程的设置、修改过程控制器或智能现场设备内的控制模块的操作、查看过 程的当前状态或过程工厂内特定设备的状态,查看现场设备和过程控制器 生成的警报,为了培训人员或测试过程控制软件而模拟过程操作,诊断过程工厂内的问题或硬件故障等。由硬件设备、控制器和现场设备使用的过 程控制网络或数据高速通道可以包括有线通信路径、无线通信路径、或有 线和无线通信路径的组合。
此外,在许多过程中,提供安全系统(有时称为“安全仪表系统”或 “SIS”)以检测过程工厂内的重要安全相关问题并当发生可能导致工厂严 重危害的问题时,例如有毒化学品泄漏、爆炸等,自动关闭阀、从设备移 除电源、切换工厂内的流等。安全系统或SIS应该做什么(功能要求)以 及它必须执行得有多好(安全完整性要求)可以根据危险和可操作性研究 (HAZOP)、保护层分析(LOPA)、风险图等来确定。IEC 61511和IEC 61508中提到了示例技术。在安全系统或SIS设计、构建、安装和操作期 间,安全人员通常会验证这些要求是否得到满足。功能需求可以通过设计 评审来验证,例如故障模式、影响和关键性分析(FMECA)和各种类型的 测试(例如,示例工厂验收测试、现场验收测试和常规功能测试)。
一般而言,安全系统或SIS被设计成执行“特定控制功能”以在出现 不可接受或危险的状况时进行故障保护或维持过程的安全操作。通常,安 全系统相对独立于其它控制系统,以确保安全系统功能不受危害。安全系 统通常由与基本过程控制系统(BPCS)相同类型的控制元件(包括传感器、 逻辑解算器或控制器、执行器和其它控制设备)组成。然而,在传统执行 方式中,安全系统中的控制元件仅专用于安全系统的正常运行(例如,而 不是对由控制系统控制的过程进行适当控制)。
通常,“安全仪表功能”或“SIF”是安全系统中旨在降低与特定危害 相关的风险的一组特定设备,并且可以被认为或称为安全系统控制回路或 “安全回路”。SIF旨在(1)在违反指定条件时自动将工业过程置于安全 状态;(2)在特定条件允许(许可功能)的情况下,允许过程以安全的方 式向前推进;(3)采取措施减轻工业危害的后果。SIF通常作为整体风险降 低策略的一部分执行,该策略旨在消除先前确定的安全、健康和环境(SH&E) 事件的可能性,这些事件的范围从轻微的装备损坏到涉及不受控制的灾难 性能量和/或材料释放的事件。
通常,使用IEC 61508/61511中定义为“风险图”、“风险矩阵”或LOPA 的方法之一,为每个SIF或安全回路分配特定级别的保护,由“安全完整 性级别”或“SIL”(1、2、3或4)定义。SIL的分配是风险分析中的一项 练习,其中与特定危害相关的风险(旨在由SIF保护)是在没有SIF的有 益风险降低效果的情况下计算的。然后将该未减轻的风险与可容忍的风险目标进行比较。如果未减轻风险高于可容忍风险,则必须通过SIF的风险 降低来解决未减轻风险和可容忍风险之间的差异。所需的风险降低量与SIL 目标相关。实质上,所需风险降低的每个数量级都与所需SIL编号之一的 增加相关。在一个典型的示例中,SIL-1代表风险降低高达100倍;SIL-2 代表风险降低高达1000倍;SIL-3代表风险降低高达10,000倍;SIL-4代 表风险降低高达100,000倍。
国际电工委员会(IEC)标准IEC 61508使用分组为两大类的要求来 定义SIL:硬件安全完整性和系统安全完整性。设备或系统通常应满足这两 个类别的要求以实现给定的SIL。硬件安全完整性的SIL要求基于设备的概 率分析。为了实现给定的SIL,设备通常满足危险故障的最大概率和最小安 全故障分数的目标。通常,“危险故障”的概念是为所讨论的系统定义的, 通常以需求约束的形式,其完整性在整个系统开发过程中得到验证。所需 的实际目标因需求的可能性、一个或多个设备的复杂性和所使用的冗余类 型而异。
关于通信,IEC61508标准指示为了获得所需的SIL,安全通信不应超 过每小时允许的危险故障概率的1%。为了对于在SIL 3应用中使用可接受, 由安全通信引起的危险故障的可能性必须小于每小时10-9次。简而言之, 验证经由通信接收的给定的一条信息的完整性的能力可以极大地影响安全 系统是否可以以符合典型安全标准的方式依赖该条信息。换句话说,如果 无法验证一条信息的完整性,与通信相关的预期错误率可能会超过可接受 的阈值,从而导致安全系统无法使用该信息。
如上所述,除了过程控制控制器之外,安全系统通常具有一个或多个 单独的逻辑解算器或控制器(有时称为“安全控制器”),它们经由设置在 过程工厂内部的单独总线或通信线路连接到安全现场设备。安全控制器使 用安全现场设备来检测与重大事件相关的过程状况,例如某些安全开关或 关闭阀的位置、过程中的上溢或下溢、重要发电或控制设备的运行、故障 检测设备的运行等,从而检测过程工厂内代表异常状况的“事件”。当检测到事件时,安全控制器会采取一些措施来限制该事件的不利影响,例如传 送命令以关闭一个或多个阀、停用或关闭一个或多个设备、切断工厂各部 分的电源、等等。
注意,该背景描述提供上下文以便于理解和领会下面的具体实施方式。 当前命名的发明人的工作,在本背景部分中描述的范围内(以及在提交时 可能不符合现有技术的背景描述方面)既不明确也不暗示承认为对于本公 开内容是现有技术。
发明内容
所描述的方法和系统使过程控制设备能够以使得接收设备能够在逐 个变量的基础上验证接收值的完整性的方式来传送和接收设备变量值。
在实施例中,一种用于传送包括设备变量的值的消息的方法包括:传 送消息使得可以在逐个变量的基础上验证值的完整性。该方法可以包括以 下中的任何一个或多个:由第一过程控制设备在用于控制过程的过程控制 环境中检测设备变量的检测值;由过程控制设备通过使用检测值和种子作 为输入执行数据完整性计算,来计算第一数据完整性校验结果;对消息进 行编码,以包括检测值和针对检测值的第一数据完整性校验结果;或传送 消息。传送消息可以包括传送该消息使其可以由第二过程控制设备接收, 该第二过程控制设备被配置为:(i)接收消息,(ii)针对消息中设备变量的 候选值计算第二数据完整性校验结果;(iii)在第二过程控制设备处,基于 第一和第二数据完整性校验结果是否匹配,利用候选值对映射到设备变量 的过程变量进行更新或不进行更新;以及(iv)根据过程变量执行作为过程 的控制方案的部分的功能。
在实施例中,一种系统被配置为传送包括过程变量的值的消息,这些 值可以在参数或变量级别(例如,在逐个变量的基础上)进行认证。该系 统可以包括第一过程控制设备,该第一过程控制设备被配置为在用于控制 过程的过程控制环境的输入/输出(I/O)网络中通信地耦合到一个或多个其 它过程控制设备。第一过程控制设备可以包括以下任何一个或多个:(A) 通信接口,被配置为将现场设备耦合到一个或多个控制器;或(B)一组电路,通信耦合到通信接口。该一组电路可以被配置为:检测设备变量的检 测值;通过使用检测值和种子作为输入执行数据完整性计算,来计算第一 数据完整性校验结果;对消息进行编码,以包括检测值和针对检测值的第 一数据完整性校验结果;或经由通信接口将消息传送到第二过程控制设备。 第二过程控制设备可以被配置为执行以下任何一个或多个:(i)接收消息, (ii)针对消息中设备变量的候选值计算第二数据完整性校验结果;(iii)在 第二过程控制设备处,基于第一和第二数据完整性校验结果是否匹配,利 用候选值对映射到设备变量的过程变量进行更新或不进行更新;或(iv)根 据过程变量执行作为过程的控制方案的部分的功能。
在实施例中,可以执行一种用于验证包括在来自过程控制设备的消息 中的设备变量值的完整性的方法。该方法可以包括以下中的任何一个或多 个:(1)在用于控制过程的过程控制环境中,在第二过程控制设备处接收 由第一过程控制设备传送的消息;(2)对消息进行解码以在消息中识别:(i) 设备变量的候选值,以及(ii)设备变量的第一数据完整性校验结果;(3) 通过使用候选值和种子作为输入执行第二数据完整性计算,来计算第二数 据完整性校验结果;(4)将第二数据完整性校验结果与第一数据完整性校 验结果进行比较,以确定第二数据完整性校验结果是否与第一数据完整性 校验结果匹配,从而确定候选值是否与用于计算第一数据完整性校验结果 的检测值匹配;(5)通过丢弃候选值来响应确定第二数据完整性校验结果 与第一数据完整性校验结果不匹配,使得映射到设备变量的过程变量保持 先前值;(6)通过在第二过程控制设备处利用候选值更新过程变量来响应 确定第二数据完整性校验结果与第一数据完整性校验结果匹配;或(7)根 据过程变量执行作为过程的控制方案的部分的功能。
在实施例中,可以执行一种用于验证包括在来自过程控制设备的消息 中的设备变量值的完整性的系统。该系统可以包括第二过程控制设备,该 第二过程控制设备被配置为在过程控制环境中通信地耦合到第一过程控制 设备。第二过程控制设备可以包括以下中的任何一个或多个:(A)通信接 口,被配置为将第二过程控制设备通信地耦合到第一过程控制设备;或(B) 一组电路,通信地耦合到通信接口。该一组电路可以被配置为:经由通信 接口接收由第一过程控制设备传送的消息;以及对消息进行解码以在消息 中识别:(i)设备变量的候选值,以及(ii)设备变量的第一数据完整性校 验结果;通过使用候选值和种子作为输入执行第二数据完整性计算,来计 算第二数据完整性校验结果;将第二数据完整性校验结果与第一数据完整 性校验结果进行比较以确定第二数据完整性校验结果是否与第一数据完整 性校验结果匹配,从而确定候选值是否与用于计算第一数据完整性校验结果的检测值匹配;通过丢弃候选值来响应确定第二数据完整性校验结果与 第一数据完整性校验结果不匹配,使得映射到设备变量的过程变量保持先 前值;通过利用候选值更新过程变量来响应确定第二数据完整性校验结果 与第一数据完整性校验结果匹配;或根据过程变量执行作为过程的控制方 案的部分的功能。
附图说明
图1是可以在其中执行所描述的技术的示例过程控制工厂的框图。
图2是可以根据所描述的技术进行通信的示例现场设备和示例控制 器的框图。
图3示出了示例协议栈的示例层,本文描述的过程控制设备可以利用 该协议栈的示例层以使得接收设备能够在逐个变量的基础上验证接收值的 完整性的方式来传送和接收设备变量值。
图4示出了示例消息有效载荷,其可以包括一个或多个变量值或具有 对应数据完整性校验的候选值,以使得接收设备能够在逐个变量的基础上 验证所包括值的完整性。
图5示出了附加示例消息有效载荷,其可以包括具有对应数据完整性 校验的一个或多个变量值或候选值,以使接收设备能够在逐个变量的基础 上验证所包括值的完整性。
图6示出了用于以使得接收设备能够在逐个变量的基础上验证接收 值的完整性的方式来传送包括变量值的消息的示例方法。
图7示出了用于以能够在逐个变量的基础上验证接收值的完整性的 方式接收包括变量值的消息的示例方法700。
具体实施方式
所描述的方法和系统使过程控制设备能够以使得接收设备能够在逐 个变量的基础上验证接收值的完整性的方式来传送和接收设备变量值。为 了便于验证完整性,消息中任何所需数量的变量都可以在消息中具有数据 完整性校验。对于每个接收到的具有数据完整性校验的值,接收设备可以 基于接收值和种子(传送和接收设备都知道)计算自己的数据完整性校验。 对于在接收的和计算的数据完整性校验之间存在不匹配的每个过程变量值, 接收设备可以假设接收值与原始传送的值不匹配(并且因此可以丢弃接收 值)。另一方面,如果特定设备变量的接收的和计算的数据完整性校验匹配, 则接收设备可以验证接收值的完整性(即验证它与原始传送值匹配)。结果, 接收设备可以自信地对接收值采取操作(例如,通过更新与设备变量对应 的本地或系统范围的过程变量,根据接收值执行控制等)。相比之下,就传 统系统能够验证数据完整性而言,它们通常基于数据分组或消息进行验证。 在这样的系统中,消息中任何数据的变化都会导致整个消息不可验证。因 此,如果单个设备变量值(或任何其它数据)在传输后被损坏,则接收设 备必须丢弃整个消息(或以无法验证完整性的值继续处理)。
如本文所用,术语“消息”是指由通过节点(例如,经由链路)传送 或接收的数据集表示的通信单元。表示消息的数据集可以包括有效载荷(即, 旨在传递的内容)和协议开销。开销可以包括与协议或有效载荷有关的路 由信息和元数据(例如,识别消息的协议、预期的接收节点、始发节点、 消息或有效载荷的大小、用于检查消息完整性的数据完整性信息等)。在某 些情况下,数据分组或数据分组序列可以被认为是消息。
无论如何,以下参考图1-7讨论了各种技术、系统和方法。
I、示例过程控制环境
图1示出了过程工厂10,其中所示的安全控制器、过程控制器和现 场设备中的每一个可以被配置(如果需要)为以使得接收设备能够在逐个 变量的基础上验证接收值的完整性的方式来传送和接收包括变量值的消息。 这种在逐个变量的基础上验证数据完整性的改进可能对安全系统(例如图 1中所示的系统)特别有益,使它们能够依赖携带变量值的通信,否则这 些变量值可能对于安全系统执行太容易出错。
如本文所用,“过程控制设备”是被配置用于在过程工厂10中执行并 且被配置为根据在过程工厂10执行的一个或多个协议来传送或接收携带过 程变量的消息的任何设备,使得消息可以由过程工厂10中的一个或多个设 备接收、解码和处理。
如图所示,过程工厂或环境10包括与安全系统14(由虚线表示)集 成的过程控制系统12,该安全系统通常作为安全仪表系统(SIS)运行以监 视和超驰由过程控制系统12提供的控制以使过程工厂10安全操作的可能 性达到最大。
A.示例过程控制系统和示例安全系统的示例部件
在高级别上,工厂10可包括现场环境和后端环境,该现场环境包括 通常位于、设置或安装在测量和控制受控过程的区域中的过程控制设备(例 如,现场设备、控制器、和I/O设备)(例如,图1中所示的节点18和20 中的部件),该后端环境可以包括与现场环境隔离或从现场环境移除的部件 (例如,在办公室环境、远程环境等中),例如图1中所示的部件21和16。
更具体而言,过程工厂10包括工厂人员(例如过程控制操作员、维 护人员、配置工程师等)可访问的一个或多个主机工作站、计算机或用户 接口16(其可以是任何类型的个人计算机、工作站等)。在图1所示的示例 中,三个用户接口16被示为经由公共通信线路或总线22连接到两个单独 的过程控制/安全控制节点18和20以及配置数据库21。通信网络22可以 使用任何所需的基于总线或非基于总线的硬件,使用任何所需的硬连线或 无线通信结构,并使用任何所需或合适的通信协议(例如以太网协议)来 实现。
一般而言,如本文所用且除非另有说明,术语“网络”是指节点(例 如,能够发送、接收或转发信息的设备或系统)和链路的集合,这些节点 和链路被连接以实现节点之间的远程通信。取决于实施例(并且除非另有 说明),所描述的网络中的每一个可以包括负责在节点之间转发引导业务的 专用路由器、交换机或集线器,以及可选地负责配置和管理网络的专用设 备。所描述的网络中的一些或所有节点也可以适于用作路由器以引导在其 它网络设备之间发送的业务。所描述的网络的节点可以以有线或无线方式 互连,并且可以具有不同的路由和传输能力。
一般而言,过程工厂10的节点18和20中的每一个包括经由总线结 构连接在一起的过程控制系统设备和安全系统设备两者,该总线结构可以 被提供在不同设备所附接的背板上。节点18在图1中示出为包括过程控制 器24(它可以是一对冗余的控制器)以及一个或多个过程控制系统输入/输 出(I/O)设备28、30和32,而节点20被示出为包括过程控制器26(它可 以是一对冗余的控制器)以及一个或多个过程控制系统I/O设备34和36。 过程控制系统I/O设备28、30、32、34和36中的每一个通信连接到过程控 制相关的现场设备集合,在图1中示出为现场设备40和42。过程控制器 24和26、I/O设备28-36以及控制器现场设备40和42大致构成图1的过 程控制系统12。
现场设备40、42、60和62中的一个或多个可以是用于诸如阀之类的 设备的致动器,并且可以响应于从与其耦合的控制器接收的命令(例如, 被配置为响应于来自控制器的命令致动阀以打开或关闭阀)。同样,现场设 备40、42、60和62中的一个或多个可以是被配置为经由传感器检测测量 值(例如,流量、温度、压力等)并将测量值传送到控制器的变送器。一 个或多个现场设备可以是“智能”现场设备,其被配置为传送一个或多个 “次要”变量值,而不是现场设备被配置为驱动或测量的主要过程变量。 例如,在HART实施方式中,现场设备可以经由4-20mA信号传送或接收 主要变量,并且可以经由叠加在4-20mA信号上的数字信号传送或接收一个 或多个次要变量。
一般而言,“现场设备变量”是被配置为检测(例如,经由传感器测 量或经由计算)或设置(例如,响应于从控制器接收到的消息)的现场设 备内部的变量。在典型的实施方式中,现场设备变量是其一部分的相关过 程控制系统或安全系统包括一个或多个(例如,经由配置系统80)映射到 现场设备变量的过程变量。更广泛地,当参考特定设备讨论“设备变量” 时,这通常是指由特定设备检测、计算、设置、更新等的变量。
节点18包括一个或多个安全系统逻辑解算器50、52,而节点20包 括安全系统逻辑解算器54和56。逻辑解算器50-56中的每一个是具有处理 器57的I/O设备,该处理器57执行存储在存储器中的安全逻辑模块58并 且通信连接以向安全系统现场设备60和62提供控制信号和/或从安全系统 现场设备60和62接收信号。
一般而言,如本文所用,短语“存储器”或“存储器设备”是指包括 一种或多种计算机可读介质(“CRM”)的系统或设备。“CRM”是指相关 计算系统可访问的一种或多种介质,用于放置、保存或获取信息(例如, 数据、计算机可读指令、程序模块、应用程序、例程等)。注意,“CRM” 是指本质上是非瞬态的介质,而不是指非实体的瞬态信号,例如无线电波。 所描述的存储器的CRM可以在相关计算系统中包括或与相关计算系统通 信的任何技术、设备或设备组中实现。所描述的存储器的CRM可以包括易 失性或非易失性介质,以及可移动或不可移动介质。
在任何情况下,节点18和20中的每一个都包括至少一个消息传播设 备(MPD)70或72,它们经由环形总线连接74相互通信耦合。安全系统 逻辑解算器50-56、安全系统现场设备60和62、MPD 70和72以及总线74 大致构成图1的安全系统14。
在一些实施例中,安全系统现场设备60和62可以是专为安全系统执 行而不是典型的过程控制操作而设计的现场设备。另一方面,在一些实施 例中,安全系统现场设备40和60可以是能够在典型的过程控制系统(例 如,系统12)中执行的现场设备,并且例如可以同时在过程控制系统12和 安全系统14中用作现场设备。然而,在这样的实施例中,现场设备可能需 要满足通常在安全系统中执行所需的更高标准(例如,对于由设备传送和 接收的数据的可验证完整性的更高需求)。因此,本文所公开的逐变量数据 完整性验证技术在诸如安全系统14的安全系统中可能特别有用。
过程控制器24和26,仅作为示例,可以是艾默生过程管理(Emerson ProcessManagement)销售的DeltaVTM控制器,或任何其它所需类型的过程 控制器,它们被编程以使用I/O设备28、30和32(用于控制器24)、I/O 设备34和36(用于控制器26)以及现场设备40和42提供过程控制功能(使用通常所谓的控制模块)。特别地,控制器24和26中的每一个执行或 监督存储在其中或以其它方式与之相关联的一个或多个过程控制例程,并 与现场设备40和42以及工作站14通信来以任何所需的方式控制过程10 或过程10的一部分。现场设备40和42可以是任何所需类型的现场设备, 例如传感器、阀、变送器、定位器等,并且可以符合任何所需的开放、专 有或其它通信或编程协议,包括例如HART或4-20ma协议(如现场设备 40所示)、任何现场总线协议,例如基金会现场总线协议(如现场设备42 所示),或CAN、Profibus、AS-Interface协议等,仅举几个示例。类似地, I/O设备28-36可以是使用任何适当的一个或多个通信协议的任何已知类型 的过程控制I/O设备。一般而言,过程控制器通过执行控制例程(用于控制 过程的较大控制策略的一部分)来确定一个或多个控制器输出值(即控制 器传送的命令)以驱动一个或多个过程输入(即响应控制器命令的操纵变 量,例如控制阀位置)以基于在控制器处作为控制器输入接收的一个或多 个测量的过程输入(例如,测量的温度、流量、压力等)将过程输出(即, 受控变量,例如温度、流速等)驱动到期望值(即,设定点),从而实现对 受控过程的控制。
图1的安全逻辑解算器50-56可以是任何期望类型的安全系统控制设 备,包括处理器57和存储安全逻辑模块或例程58的存储器,这些安全逻 辑模块或例程适于在处理器57上执行以提供与使用现场设备60和62的安 全系统14相关联的控制功能。逻辑解算器为执行受控过程的安全控制而执 行的逻辑可称为“安全方案”或“安全系统方案”。安全方案可以涉及基于 一个或多个不安全条件和安全方案的逻辑而命令现场设备40、42、60或62中的一个或多个转换到安全状态(例如,通过致动相关联的阀以将其驱动 到安全状态),该不安全条件基于对一个或多个过程变量值(例如,传感器 测量值、诊断指数等)的评估来检测。安全状态的性质通常取决于所讨论 的过程和现场设备的特定性质。例如,如果一个储罐有溢出的风险,则逻 辑解算器可以通过关闭阀(从而防止更多液体进入储罐)将入口阀驱动到 安全状态。相比之下,逻辑解算器可以通过打开出口阀(从而排空储罐) 来将出口阀驱动到安全状态。即,在该特定示例中,入口阀的安全状态可 以是0%打开并且出口阀的安全状态可以是100%打开。
当然,安全现场设备60和62可以是符合或使用任何已知或所需通信 协议的任何期望类型的现场设备,例如上面提到的那些。特别地,现场设 备60和62可以是通常由单独的、专用的安全相关控制系统控制的类型的 安全相关现场设备。在图1所示的过程工厂10中,安全现场设备60被示 为使用专用或点对点通信协议,例如HART或4-20ma协议,而安全现场设 备62被示为使用总线通信协议,例如现场总线协议。然而,如所指出的, 在实施例中,安全现场设备60和62可以是能够在过程控制系统12和安全 系统14两者中部署和使用的典型现场设备。
在每个节点18和20中使用公共背板76(由穿过控制器24、26、I/O 设备28-36、安全逻辑解算器50-56和MPD 70和72的虚线表示)将控制器 24和26连接到过程控制I/O卡28、30和32或34和36,以及连接到安全 逻辑解算器52、54或56和58以及连接到MPD 70或72。控制器24和26 还通信地耦合到总线22并作为总线22的总线仲裁器操作,以使得I/O设备 28-36、逻辑解算器52-56和MPD 70和72中的每一个能够经由总线22与 任何工作站16通信。
如将理解的,每个工作站16包括处理器77和存储器78,该存储器 78存储一个或多个适于在处理器78上执行的配置和/或查看应用程序。
配置应用程序80和查看应用程序82在图1中以分解图示出为被存储 在工作站14之一中。然而,如果需要,这些应用程序可以在工作站14中 的不同工作站或与过程工厂10相关联的其它计算机中存储和执行。一般而 言,配置应用程序80将配置信息提供给配置工程师并使配置工程师能够配 置过程工厂10的一些或所有元件并将该配置存储在配置数据库21中。作 为由配置应用程序80执行的配置活动的部分,配置工程师可以为过程控制 器24和26创建控制例程或控制模块,可以为任何和所有安全逻辑解算器 50-56创建安全逻辑模块,并且可以经由总线22和控制器24和26将这些 不同的控制和安全模块下载到过程控制器24和26以及安全逻辑解算器 50-56中的适当的过程控制器和安全逻辑解算器。类似地,配置应用程序80 可用于创建其它程序和逻辑并将其下载到I/O设备28-36、现场设备40、42、 60和62中的任何一个等。
配置应用程序80包括或可以以其它方式访问配置数据库,该配置数 据库存储数据和其它信息,这些数据和其它信息具体地标识或寻址各种设 备或部件及其互连,这些设备或部件计划或希望在过程工厂车间执行或现 场环境中执行。作为示例,配置数据库可以存储现场环境中部件的多个逻 辑标识符,使得控制器和其它设备能够通过逻辑标识符来引用部件和与部 件相关联的信号。例如,对于给定的现场设备,配置数据库可以存储将逻辑标识符映射或绑定到特定硬件地址或I/O通道的信息。硬件地址可以标识 特定控制器、连接到特定控制器的特定I/O卡或用于将特定I/O卡连接到现 场设备的I/O通道的特定地址。在某些情况下,该映射或绑定可以存储在控 制器、用户接口设备、操作员工作站或任何其它期望设备(例如,需要解 析逻辑标识符的任何设备)处。
在将逻辑标识符绑定到硬件地址或I/O通道之后,该标识符被认为是 “已分配的”。在一些情况下,系统10包括“未分配的”逻辑标识符,它 们是软件元素(例如,控制例程或功能块)引用但没有绑定的标识符。即, 当系统10和配置数据库没有绑定到标签的硬件地址或I/O通道时,逻辑标 识符被认为是“未分配的”。因此,当未分配的逻辑标识符被控制例程引用 时,将不会读取工厂10中的信号所携带的值,并且不会经由信号向工厂10 中的现场设备传送命令。
示例逻辑标识符包括设备标签(DT),每个标签代表特定仪器、控制 器、阀或其它物理现场设备(例如,现场设备60A);和设备信号标签(DST), 每个信号标签表示由特定设备接收或生成的并且通常对应于由现场设备使 用的特定参数的特定信号(例如,由现场设备60A从控制器52接收的命令 或由现场设备60A传送到控制器52的测量结果)。对于某些设备,DST包 括设备的DT和该设备接收或生成的特定信号的标识符(例如,控制模块引 用的特定参数的标识符)的组合。对于某些设备,通常是传统设备或哑设 备,DT代表物理设备和设备生成的信号。一般而言,过程工厂10在现场 环境和后端环境中都使用设备的逻辑标识符来唯一地标识设备。DT和DST 可以称为“系统标签”或“系统标识符”。由“系统标签”表示的变量可以 被称为“系统变量”。
在一些情况下,一个或多个智能现场设备(例如,现场设备40、42、 60或62中的一个或多个)也可以存储智能现场设备22独有的逻辑标识符。 这些逻辑标识符可以是不同于工厂10用来标识现场设备及其相关信号的系 统标签,并且可以被称为“源标识符”“源标签”。源标签可能会或可能不 会存储在上面提到的配置数据库中,这取决于实施方式。
一般而言,本文讨论的“现场设备变量”是所描述的现场设备本地的 变量。例如,智能现场设备可以具有本地“源标签”,其唯一地标识智能现 场设备本地的现场设备变量。如果需要,智能现场设备可以被配置为将现 场设备变量值传送到相应的控制器,然后控制器可以将接收值映射到旨在 映射到感兴趣的源标签的系统标签。在一些情况下,控制系统10可以被配 置为使得现场设备的一个或多个源标签没有被映射到系统标签(并且因此 所表示的变量可能没有被集成到相关过程控制系统或安全系统中并且由相 关过程控制系统或安全系统考虑)。某些源标签可能会被过程控制系统或安 全系统忽略,因为它所代表的变量可能对过程控制系统或安全系统的操作 目标或安全目标意义不大。
查看应用程序82可用于向用户提供一个或多个显示,例如向过程控 制操作员、安全操作员等提供,如果需要,其包括在单独的视图或同一视 图中的关于过程控制系统12和安全系统14的状态的信息。例如,查看应 用程序82可以是接收警报指示并将其显示给操作员的警报显示应用程序。 这种警报显示可以接收来自过程控制系统12和安全系统14的警报并在集 成警报显示中加以显示,因为来自系统12和14两者的警报将被发送到执 行警报显示应用程序的操作员工作站14并且将可识别为来自不同设备的警 报。同样,操作员可以以与过程控制警报相同的方式处理显示在警报栏中 的安全警报。例如,操作员或用户可以使用警报显示确认安全警报、关闭 安全警报等,这将使用通过总线22和底板76的通信将消息发送到安全系 统14内的适当过程控制器24、26以针对安全报警采取相应的措施。以类似的方式,其它查看应用程序可以显示来自过程控制系统12和安全系统14 的信息或数据,因为这些系统使用相同类型和种类的参数、安全性和参考, 使得来自系统12和14之一的任何数据可以集成到传统上为过程控制系统 提供的显示或视图中。
在任何情况下,应用程序80和82可以向每个过程控制器24和26以 及每个安全系统逻辑解算器50-56发送单独的配置和其它信号并且可以从 它们接收数据。这些信号可以包括与控制过程现场设备40和42的操作参 数相关的过程级消息,并且可以包括与控制安全相关现场设备60和62的 操作参数相关的安全级消息。尽管安全逻辑解算器50-56可以被编程为识别 过程级消息和安全级消息,但安全逻辑解算器50-56能够区分这两种类型的消息并且不能被过程级配置信号编程或影响。在一个示例中,发送到过程 控制系统设备的编程消息可以包括某些字段或地址,这些字段或地址被安 全系统设备识别并且防止那些信号被用于对安全系统设备进行编程。
如果需要,与用于过程控制I/O卡28-36的硬件和软件设计相比,安 全逻辑解算器50-56可以采用相同或不同的硬件或软件设计。然而,对过程 控制系统12内的设备和安全系统14内的设备使用交替的技术可以最小化 或消除常见原因的硬件或软件故障。
此外,包括逻辑解算器50-56的安全系统设备可以采用任何所需的隔 离和安全技术来减少或消除对由此实现的安全相关功能进行未经授权的改 变的可能性。例如,安全逻辑解算器50-56和配置应用程序80可能需要具 有特定权限级别的人员或位于特定工作站的人员对逻辑解算器50-56内的 安全模块进行改变,其中该权限级别或位置不同于改变由控制器24和26 以及I/O设备28-36执行的过程控制功能所需的权限或访问级别或位置。在这种情况下,只有在安全软件中指定的或位于被授权对安全系统14进行改 变的工作站的那些人员才有权改变与安全相关的功能,这将破坏安全系统 14的操作的可能性降至最低。将理解,为了实现这种安全性,安全逻辑解 算器50-56内的处理器评估传入消息的正确形式和安全性,并在对安全逻辑 解算器50-56内执行的安全级控制模块58进行改变时作为看门人进行操作。
此外,如果需要,一旦在逻辑解算器50-56内启用了安全相关功能, 则在没有适当访问权限的情况下,不能经由操作员工作站14对安全功能进 行状态改变,这使得与过程控制系统12相关联的通信结构能够用于为安全 系统14提供初始化并用于提供安全系统14的操作的运行时报告,但在对 过程控制系统12的改变不会影响安全系统14的操作的意义上,仍将过程 控制系统12与安全系统14隔离。
如将理解的,在节点18和20中的每一个中使用背板76使得安全逻 辑解算器50和52以及安全逻辑解算器54和56能够彼此本地通信以协调 由这些设备中的每一个执行的安全功能,彼此传送数据,或执行其它集成 功能。另一方面,MPD 70和72运行以使得设置在工厂10的不同位置的安 全系统14的各部分仍然彼此通信以在过程工厂10的不同节点处提供协调 的安全操作。特别地,MPD 70和72与总线74结合使与过程工厂10的不 同节点18和20相关联的安全逻辑解算器能够通信地级联在一起以允许根 据指定的优先级级联过程工厂10内的安全相关功能。可替换地,过程工厂 10内不同位置处的两个或多个安全相关功能可以互锁或互连,而不必运行 到工厂10的单独区域或节点内的各个安全现场设备的专用线路。即,MPD 70和72以及总线74的使用使配置工程师能够设计和配置安全系统14,该 安全系统14本质上分布在整个过程工厂10中,但是使其不同部件通信互 连以使得不同的安全相关硬件能够根据需要彼此通信。该特征还提供安全 系统14的可扩展性,因为它能够在需要时或在新的过程控制节点被添加到 过程工厂10时将额外的安全逻辑解算器添加到安全系统14。
B.示例现场设备和控制器
图2是示出现场设备60A和控制器52(也在图1中示出)的示例部 件的框图,经由图1中示出的I/O网络1的链路199通信地耦合,其中的每 一个可以被配置为以使得接收设备能够在逐个变量的基础上验证接收值的 完整性的方式来传送和接收包括变量值的消息。
除非另有说明,否则“通信链路”或“链路”是连接两个或更多个节 点的路径或介质。链路可以是物理链路或逻辑链路。物理链路是传输信息 的接口或(多个)介质,本质上可以是有线或无线的。示例物理链路包括 (i)有线链路,例如带有用于传输电能的导体的电缆或用于传输光的光纤 连接和(ii)无线链路,例如通过对电磁波的一个或多个特性进行改变来携 带信息的无线电磁信号。两个或更多个节点之间的逻辑链路代表连接两个 或更多个节点的底层物理链路或中间节点的抽象。例如,两个或多个节点 可以经由逻辑链路在逻辑上耦合。逻辑链路可以经由物理链路和中间节点 (例如,路由器、交换机或其它网络设备)的任意组合来建立。
如图所示,现场设备60A包括一组电路102、用于经由链路199将现 场设备60A耦合到控制器52的通信接口104、致动器106(例如,用于致 动阀)和/或传感器(例如,用于检测或测量过程变量值,例如压力、流速、 罐液位、温度等)。一组电路102包括耦合到存储器111的处理器113。存 储器111可以包括逻辑或指令121,在由处理器113执行时,这些逻辑或指令使现场设备执行本文所述的一个或多个功能(例如,参考图6和7描述 的那些)。具体而言,逻辑121可以包括用于计算数据完整性校验结果的数 据完整性公式132和致动器/传感器逻辑134。存储器111还可以包括种子 123和设备变量125(其可以是由现场设备60A经由传感器108或经由处理 器113的计算检测到的任何合适的变量)。
此外,控制器52包括一组电路152和通信接口154,用于(i)经由 链路199将控制器52耦合到现场设备60A,以及(ii)将控制器52耦合到 通信网络22。一组电路152包括处理器163和存储器161,存储器161包 括逻辑或指令171,在由处理器163执行时,这些逻辑或指令使控制器52 执行本文描述的一个或多个功能(例如,用参考图6和7描述的那些)。存 储器152包括由现场设备60A使用的相同数据完整性公式132和相同种子 123,使得控制器52能够计算从现场设备60A接收的值的数据完整性校验 结果。控制器52包括对应于或映射到设备变量125的过程变量175。
在操作中,现场设备60A执行逻辑134以执行关于致动器106(例如, 响应于来自控制器52的命令而致动阀)和/或传感器108(例如,经由传感 器108检测过程变量值并将该值传送到控制器52)的控制功能。此外,现 场设备60A可以通过将变量125的值和种子123输入到公式132来执行数 据完整性公式132以生成设备变量125的数据完整性校验结果。种子123 可以是现场设备160和消息的期望接收方(例如,控制器52)已知的任何 相对唯一的信息。在一些情况下,数据完整性校验结果可以使用附加输入 来计算,例如每次更新变量125时被更新的序列参数、指示变量125状态 的变量状态参数等。
当经由消息将设备变量125的值传送到控制器52时,现场设备60A 可以包括计算的数据完整性校验结果,以使得控制器52能够验证接收值的 完整性。一般而言,控制器52(或任何期望的接收方)被配置为基于已知 种子123(同样为控制器52已知)和包括在接收到的消息中的值来重新计 算数据完整性校验结果。公式132被构造成使得对任何输入的任何改变都 将导致不同的数据完整性校验结果。因此,如果变量125(或序列参数或变 量状态参数,如果使用的话)的值在传输过程中以某种方式改变,则控制 器52计算的数据完整性校验结果将与在消息中接收到的不同,它将因此知 道输入之一(例如,变量125的值)与传输的不同。
通常,控制器52响应于验证接收值的完整性,利用从现场设备60A 接收到的设备变量125的值更新过程变量175。如果控制器52计算的数据 完整性校验结果与接收到的数据完整性校验结果不匹配,则控制器52丢弃 接收值而不是利用接收值更新过程变量175。取决于实施例,过程变量175 可以是局部变量或系统变量。此外,控制器52可以包括用于执行作为安全 方案的一部分的功能的控制逻辑182(例如,响应于检测到不安全条件而使 一个或多个现场设备进入安全状态)。取决于特定配置,控制逻辑182可以 考虑过程变量175的值(并且因此可以取决于设备变量125)。下面参考图 6和7中所示的方法描述关于逐变量的数据完整性校验的附加细节。
如果需要,现场设备60A可以计算和传送针对任意期望数量的变量 值的数据完整性校验结果,并且如果期望可以传送针对单个变量值的多个 数据完整性校验结果(例如,其中每个旨在用于不同的接收方)。此外,任 何合适的过程控制设备可以被配置为通过执行诸如公式132之类的数据完 整性公式和诸如种子123之类的种子而在实现数据完整性的逐变量验证的 消息中传送变量值。
II、示例协议
图3示出了示例协议栈300的示例层,该协议栈300的示例层可以由 本文描述的过程控制设备利用,以便接收设备以在逐个变量基础上验证接 收值的完整性的方式传送和接收设备变量值。
协议栈300包括五层:物理层303;数据链路层305;网络层307; 传输层309;和应用层311。所描述的系统使用的协议可以包括所描述的那 些的附加或替代层。协议300的每一层303-311可具有一组规则,协议数据 单元(PDU)或消息必须符合这些规则,以便网络上的节点正确理解消息 的内容。每一层处的PDU都可具有有效载荷和元数据(例如,包含在报头、 报尾、前导等中)。一般而言,有效载荷是PDU的内容或数据,元数据是 “关于数据的数据”(例如,关于格式、排序、时序、目的地和源地址、通 信握手等)。
一般而言,层303-311中的每一层可以是在网际协议组(例如,TCP、 UDP、IP等)中找到的任何合适的协议或在典型的过程控制通信协议中找 到的任何合适的协议或标准,例如HART、HART-IP、WirelessHART、以太 网/IP、Fieldbus、ControlNet等。在一个实施例中,本文描述的消息在应用 层311符合HART协议,其中使用标准HART命令、响应和格式。在一个 实施例中,所描述的消息可以符合其它协议,例如开放平台通信联合架构(“OPCUA”),它是一种用于工业自动化的机器到机器通信协议。ALPDU 可以经由任何合适的NLDU传送。
III、示例消息有效载荷
图4和5示出了示例消息有效载荷400和500,每个都表示图3所示 的消息有效载荷352的示例,并且每个包括一个或多个具有对应数据完整 性校验结果的变量值,以使接收设备能够在逐个变量的基础上验证所包括 值的完整性。图1所示的任何一个或多个过程控制设备可以被配置为传送 或接收包括以类似于有效载荷400和500的方式格式化的有效载荷的消息。
有效载荷400包括消息部分402-410。一般而言,变量部分402-406 是“可变部分”,每一个都特定于特定变量并且被配置为携带该特定变量的 值。例如,变量部分402包括设备变量值411(例如,图2中所示的设备变 量125的值)。如果需要,部分402可以包括与变量相关的其它数据。
完整性部分408和410包括与变量部分中携带的值相对应的数据完整 性校验结果。部分408和410中的每一个可以包括指示数据完整性校验结 果所对应的变量部分的参数。例如,完整性部分408包括数据完整性校验 结果425和标识数据完整性校验结果421所对应的消息部分的参数423。例 如,参考图2,数据完整性校验结果425可以是使用值411和种子123作为 输入,经由数据完整性公式132计算的值。部分参数423可以包括值“402” (或标识部分402或值411的任何其它合适的ID),指示部分408中的校验 结果421对应于部分402(并因此对应于值411)。
同样,完整性部分410可以包括数据完整性校验结果(未示出)和指 示其所对应的部分的参数。例如,完整性部分410可以对应于变量部分406 或变量部分402(例如,当值411旨在由两个不同的接收方接收时,部分 408/410中的每一个对应于不同的接收方。
转到图5,部分502-510对应于图4中所示的部分402-410。同样,设 备变量值514对应值411;数据完整性校验结果525对应于数据完整性校验 结果425;并且部分参数523对应部分参数423。
然而,部分502-510包括不一定包括在有效载荷400的部分402-410 中的附加数据。例如,变量部分502包括(i)设备变量代码511,包括所 讨论的变量独有的值(例如,唯一地标识图2中所示的变量125);(ii)设 备变量分类512,包括变量类型独有的值(例如,过程变量;完整性变量等); (iii)设备变量单位代码513,包括与所讨论的变量对应的单位独有的值(例 如,华氏度、摄氏度、绝对温度等);(iv)设备变量状态515,包括指示值 514的状态的值(例如,好或可靠、坏或不可靠;未知等)。
此外,完整性部分508可以包括与数据完整性校验结果525相关的数 据。例如,它可以包括:(i)设备变量代码521,包括所讨论的数据完整性 校验独有的值;(ii)设备变量分类522,包括变量类型独有的值(例如,指 示所讨论的变量是数据完整性校验结果);(iii)部分523,标识数据完整性 校验525所对应的消息部分;(iv)序列参数524,每次更新值514时递增; (v)包括在部分502(即,相关部分)和部分508中的配置数据的数据完 整性校验结果526,例如CRC;以及(vi)设备变量状态,指示数据完整性 校验结果525的状态或可靠性。配置数据的数据完整性校验结果526可以 确保校验结果525针对预期的信息。例如,考虑将配置从Deg C改变为Deg F或改变热电偶类型的情况。根据实施例,该改变可能不会被值514的校验 结果525捕获。因此,例如,校验结果526可以捕获对与变量值411/514相 关联的元数据的改变。
IV、传送在变量级别实现数据完整性校验的消息的示例方法
图6示出了用于以使得接收设备能够在逐个变量的基础上验证接收 值的完整性的方式来传送包括变量值的消息的示例方法。方法600可以全 部或部分地由任何一个或多个合适的过程控制设备来执行,例如图1和2 中所示的那些(例如,控制器24、26、50、52、54或56;或现场设备40、 42、60或62),并且可以经由永久或半永久地被配置为执行方法600的(例 如,现场设备60A的)一组电路来执行。在一个实施例中,方法600可以 通过指令集或例程集来体现,这些指令集或例程集存储到存储器中并且可 由处理器执行以执行方法600的功能。注意,虽然下面的讨论可以参考图1 和2中所示的结构,但可以理解,方法600可以由任何合适的过程控制设 备来实现,该过程控制设备被配置为传送包括过程变量值和逐变量数据完 整性校验结果的消息,例如本文描述的那些。
方法600开始于步骤605,在该步骤第一过程控制设备(例如,现场 设备60A)检测设备变量的值。该值可以经由传感器测量(例如,流量、 温度、压力、粘度、液位、光、声音等)或经由计算来检测。经由计算检 测到的值的一个示例是与第一过程控制设备的健康状况有关的诊断参数, 或者与它致动的设备(例如,阀)或用作测量的设备(例如,传感器)有 关的诊断参数。
在步骤610,第一过程控制设备(例如,现场设备60A)计算针对每 个期望改进数据完整性的检测值的数据完整性校验结果。数据完整性校验 结果可以是用于验证数据完整性的任何合适的错误检测代码,例如循环冗 余校验(CRC)、校验和或散列。
如果需要,一些检测值可能没有对应的数据完整性校验结果。数据完 整性校验结果可以经由图2所示的数据完整性公式132计算。一般而言, 为了计算数据完整性校验结果,第一过程控制设备使用检测值和种子作为 公式132的输入。种子可以是第一过程控制设备和与预期的接收设备(例 如,控制器52)已知的任何合适的种子。在实施例中,种子足够独特以能 够检测伪装。
例如,种子可以是以下的某种组合:由过程控制系统12和/或安全系 统14使用的现场设备60A的设备标签;预期的控制器52的设备标签;现 场设备60A的序列号;控制器52的序列号;现场设备60A的硬件地址(例 如,MAC地址);控制器52的硬件地址;过程控制环境10的站点ID;随 机生成的唯一值;或它们的某种组合。在示例实施例中,种子是现场设备60A的设备标签和现场设备60A的序列号的组合。
在实施例中,第一过程控制设备包括用于每个检测值的序列参数,该 序列参数在每次更新相应值时被更新。如果期望,该序列参数可用作数据 完整性公式的输入。
在实施例中,第一过程控制设备为每个检测值生成变量状态,指示值 的相对可靠性(例如,好、坏、未知等)。如果期望,该变量状态可用作数 据完整性公式的输入。
如果期望,第一过程控制设备可以为每个检测值计算多个数据完整性 校验。当多个其它过程控制设备接收并依赖于检测值时,这可能是有用的 (例如,因为当消息经由第一通信路径到达一个设备时,消息中携带的检 测值可能会损坏,但在经由第二通信路径在另一个设备处接收时可能不会 损坏)。此外,如果希望为数据的第二个消费方(例如,出于安全原因不想 与其共享种子的更高级别系统)提供第二个种子,这可能是有用的。
在步骤615,第一过程控制设备(例如,现场设备60A)利用每个检 测值和每个对应的数据完整性校验结果(假设存在一个)对消息进行编码。 该消息可以根据诸如图4和5中的消息400和500的那些格式来编码。可 以对消息进行编码以包括用于计算数据完整性计算的每个输入。因此,在 基于变量值、变量的序列号、变量的状态、和种子针对给定变量计算数据 完整性公式的实施例中,消息可以包括给定变量的变量值、序列号和变量 状态。
例如,该消息可以包括具有多个部分的有效载荷,每个部分对应于不 同的变量(例如,参见图4中所示的部分402-406)。对于具有数据完整性 校验结果的每个值,该消息于是可以包括对应于数据完整性校验结果的附 加部分(例如,参见图4中所示的部分408和410)。
为了说明,该消息可以包括分别对应于第一、第二和第三变量的第一、 第二和第三部分。如果期望对第一和第三变量进行数据完整性校验,而不 需要对(例如)第二变量进行数据完整性校验,则消息还可以包括第四和 第五部分,包括针对第一变量的数据完整性校验结果(例如,在第四部分 中)和针对第三变量的数据完整性校验结果(例如,在第五部分中)。
该消息可以包括用于确定完整性部分和数据完整性校验结果所对应 的变量值或消息部分的模块。例如,消息中的每个完整性部分可以包括“部 分编号”参数,该参数指示携带对应变量值的部分在消息中的位置。为了 说明,如果完整性部分408对应于部分402中的变量值,则参数422可以 被设置为“402”。如果消息包括针对单个检测值的多个数据完整性校验结 果,则多个完整性部分可以包括标识相同变量值部分的“部分编号”参数。
在一些实施例中,每个消息可以预期多达八个部分并且完整性部分中 的“部分编号”可以被设置为0-7以指示其所对应的变量部分。如果期望, 可变部分和完整性部分可以用附加和/或替代信息编码,例如参考图5讨论 的。
在步骤620,第一过程控制设备(例如,现场设备60A)传送消息使 得该消息可由第二过程控制设备(例如,控制器50-56或24/26之一、现场 设备40/42/60/62之一、工作站16、历史数据库等)接收。取决于实施例, 第一过程控制设备可以经由有线或无线链路传送消息。一般而言,第二过 程控制设备是被配置为执行作为在过程控制环境(例如,工厂10)中受控 的过程的控制方案的一部分的功能的设备。控制方案可以是安全系统方案 (例如,经由安全系统14执行),负责维持设备在环境中的安全操作(例 如,负责响应于检测到不稳定的或其它潜在的危险状况来驱动环境中的一 个或多个过程控制设备)。在实施例中,控制方案是用于控制过程以实现控 制目标(例如,生产期望产品或化学品(如乙醇)、发电、等等)的过程控 制方案或策略(例如,经由过程控制系统12执行)。虽然安全系统方案可 以被表征为“被动”系统,它仅在出现潜在的不安全状况时才进行干预, 但过程控制系统通常更加主动,不断对过程状况做出反应,并试图将过程 的各个方面驱动到期望状态以达到期望的目标。
第一和第二过程控制设备可以被配置为经由发布/订阅模型传送和接 收消息(例如,其中第一设备在没有来自第二设备的提示的情况下定期地 传送消息)或者根据请求/响应消息传送消息(例如,其中第一设备响应于 来自第二设备的请求而传送消息)。在实施例中,第一和第二过程控制设备 各自都可配置为根据需要执行请求/响应模型或发布/订阅模型。
第一和第二过程控制设备可以被配置为根据可以在过程控制环境中 执行的任何合适的协议来传送和接收消息,假设这些协议可以适应,或者 可以被修改以适应本文描述的逐变量数据完整性校验。可由第一和第二过 程控制设备使用的示例协议包括HART、HART-IP、WirelessHART、Profibus、 FOUNDATIONTMFieldbus、以太网/IP、ControlNet、DeviceNet、Modbus、 OPC UA等。
在一些情况下,方法600以与扫描周期成比例(例如,每个扫描周期、 每隔一个扫描周期等)的速率执行。一般而言,在每个扫描时间(可以是 任何期望的时间,例如1毫秒、100毫秒、1秒等)期间发生扫描周期。一 般来说,扫描周期是相关控制器收集输入、运行控制算法并相应地更新输 出的周期。因此,在控制器52被配置为在给定扫描时间期间执行扫描周期 的实例中,现场设备60A可以被配置为以等于扫描速率的速率或以更快的 速率(例如,以相对于扫描时间的谐波周期)(例如,从而向控制器52提 供最新的现场设备变量值)执行方法600。
在一些情况下,每当在相关现场设备变量(例如,现场设备60A被 配置为为其传送值的变量)中检测到变化时,就执行方法600。
如果需要,方法600可以由任何合适的设备来实现,以用于以能够在 逐个变量的基础上验证数据完整性的方式传送包括(多个)变量值的消息。 例如,在一些实例中,控制器(例如,逻辑解算器50-56或过程控制器24/26)、 工作站(过程控制环境10的远程的或本地的)、历史数据库、资产管理系 统(AMS)中的设备、网络设备、或可在过程控制环境中实现的任何其它 期望的设备可以执行方法600以传送能够在逐个变量的基础上验证数据完 整性的消息;结果,在实施例中,任何这样的过程控制设备可以执行上述 由现场设备60A执行的功能。同样,第二过程控制设备(即,所传送消息 的接收方)可以是这些设备中的任何一个。
V.接收在变量级别实现数据完整性校验的消息的示例方法
图7示出了用于以能够在逐个变量的基础上验证接收值的完整性的 方式接收包括变量值的消息的示例方法700。方法700可以全部或部分地由 任何一个或多个合适的过程控制设备来执行,例如图1和2中所示的那些 (例如,控制器24、26、50、52、54或56;或现场设备40、42、60或62), 并且可以经由永久或半永久地被配置为执行方法700的一组电路(例如, 控制器52)来执行。在实施例中,方法700可以通过指令集或例程集来体 现,这些指令集或例程集存储到存储器中并且可由处理器执行以执行方法 700的功能。注意,虽然下面的讨论可以参考图1和2中所示的结构描述方 法700,但可以理解,方法700可以由任何合适的过程控制设备来实现,该 过程控制设备被配置为接收包括过程变量值和逐变量数据完整性校验结果 的消息,例如本文描述的那些。
方法700可以被执行以处理由第一过程控制设备传送的消息,该消 息包括(多个)过程变量值和(多个)逐变量数据完整性校验结果。具体 而言,方法700可以由第二过程控制设备来执行,例如图1和2中所示的 控制器52。
该方法开始于步骤705,其中第二过程控制设备(例如,控制器52) 从第一过程控制设备(例如,现场设备60A)接收消息。在一些实例中, 第二过程控制设备可以从任何合适的设备(现场设备或其它的)接收消息, 该设备被配置为以与所描述的技术一致的方式以能够逐变量验证数据完整 性的方式传送消息。该消息可以经由有线或无线链路接收。
在步骤710,第二过程控制设备(例如,控制器52)解码接收的消 息,以识别(i)设备变量的(多个)候选值和(ii)针对每个候选值的(多 个)数据完整性校验结果。在一些实例中,消息可以包括不存在数据校验 结果的变量值。即,如果期望,该消息可以包括具有数据完整性校验结果 的现场设备值和没有数据完整性校验结果的现场设备值的某种组合。
此外,在一些情况下,消息可以包括针对给定候选值的多个数据完 整性校验结果(例如,其中每个数据完整性校验旨在用于消息的不同接收 方)。在这种实例中,第二过程控制设备必须确定哪个数据完整性校验结果 对应于给定的候选值。在一些实施例中,第二过程控制设备被预先配置为 假设数据完整性校验结果之一被分配给它(例如,第二过程控制设备的数 据完整性校验结果可以总是在消息的相同相对位置或部分中)。在一些实施例中,消息包括用于每个数据完整性校验结果标识其所对应的接收设备的 参数(例如,每个数据完整性校验结果的识别预期接收设备的标签、序列 号、唯一标识符、IP地址等的参数)。
在对消息进行解码时,第二过程控制设备(例如,控制器52)可以 分析该消息以确定消息的哪些部分是变量部分(即,携带设备变量值的部 分)以及哪些部分是完整性部分(即,携带针对设备变量值的数据完整性 校验结果的部分)。为此,消息的每个部分可以包括指示其类型的参数或字 段(例如,设备变量代码,指示一个部分是变量部分、完整性部分等)。第 二过程控制设备然后分析完整性部分,以确定完整性部分所对应的变量部 分。这可能涉及分析每个完整性部分中的“部分编号”参数,该参数指示 消息中完整性部分所对应的部分。
在步骤715,第二过程控制设备(例如,控制器52)计算针对候选 值的第二数据完整性校验结果。例如,参考图2和4,控制器52可以识别 部分402中的候选值411和部分408中的对应数据完整性校验结果421。然 后它可以使用值411和预先确定的种子作为公式132的输入来计算第二数 据完整性校验结果。然后它可以永久地或临时地存储第二完整性校验结果。 类似地,第二过程控制设备可以针对包括在消息中的其它数据完整性校验 结果中的每一个计算第二数据完整性校验结果。
在步骤720,第二过程控制设备(例如,控制器52)针对给定的候 选值选择要比较的第一和第二数据完整性校验结果。例如,继续前面的示 例,控制器52可以选择值411和与值411对应的数据完整性校验结果421。
在步骤725,第二过程控制设备(例如,控制器52)将第一和第二 数据完整性校验结果进行比较。例如,对于值411,控制器52可以将接收 到的数据完整性校验结果421与控制器52使用值411和种子作为输入计算 的数据完整性校验结果进行比较。如果自数据完整性校验结果421以来值 411没有改变,则第一和第二数据完整性校验结果应该匹配。如果值411已 经改变(或者如果在使用序列号计算完整性校验结果的实施例中序列号已 经改变),则第一和第二完整性校验结果将不匹配。
在步骤730,如果第一和第二数据完整性校验结果匹配(指示候选值 从计算第一数据完整性校验结果以来没有改变,并因此指示接收到的候选 值是现场设备60A打算发送的检测值),则第二过程控制设备(例如,控制 器52)进行到步骤740,如果它们不匹配(指示值411与现场设备60A传 送的原始值在某种程度上不同),则进行到步骤735。
在步骤735,响应于确定存在数据完整性校验结果不匹配,第二过程 控制设备(例如,控制器52)丢弃对应于第一和第二数据完整性校验结果 的给定候选值。即,它继续进行而不利用值411更新对应的过程变量。第 二过程控制设备和更大的控制系统或安全系统可以继续操作,假设所讨论 的变量的值是它在接收消息之前具有的任何值。在一些实例中,第二过程 控制设备可以响应于检测到存在不匹配(或响应于在特定时间段的过程中 或在一定数量的消息的过程中接收到一定数量的不匹配)而生成警报(例 如经由工作站)。在一些情况下,第二过程控制设备可以确定在这种情况下 继续进行操作风险太大,并且可以向第一现场设备(例如,现场设备60A) 传送消息以使其进入安全状态(例如,通过使阀打开或关闭)。
在步骤740,响应于确定存在数据完整性校验结果匹配,第二过程控 制设备(例如,控制器52)利用候选值更新与现场设备变量对应的过程变 量。
例如,在执行方法700之前,阀CV001可以具有25%开度的位置。 在接收到的消息中,所讨论的变量可以是CV001的阀位置,消息中的候选 值可以是50%开度(指示阀位置发生了变化)。响应于检测到数据完整性不 匹配,控制器52可以丢弃候选值并且例如在阀仍然打开25%、阀位置未知 等的假设下继续操作。
然而,响应于验证接收值的完整性,控制器52可以将代表阀位置的 系统变量更新为50%。因此,控制器52、控制系统12和/或安全系统14可 以基于该更新的控制阀位置进行操作(例如,执行控制例程)。在一些实施 例中,更新的过程变量是可由控制系统12和/或安全系统14的部件访问的 系统变量。在一些实施例中,更新的过程变量是控制器52处的本地变量。
在步骤745,第二过程控制设备(例如,控制器52)确定接收到的 消息是否包括在步骤725和730中尚未对其数据完整性校验结果进行分析 的附加候选值。如果消息中存在附加候选值,则控制器进行到步骤720;否 则进行到步骤750。例如,参考图4,控制器52可以确定消息400的变量 部分406也具有完整性部分(例如,部分408)。结果,控制器52可以进行到步骤720以分析包括在变量部分406中的值的完整性。
在步骤750,第二过程控制设备(例如,控制器52)完成对接收到 的消息的分析并进行下一个任务(例如,处理在未来扫描期间接收到的新 消息)。
在一些实例中,控制器52(或执行方法700的任何其它设备)被配 置为在预先确定的扫描时段或时间的开始处执行扫描周期。在这种情况下, 方法600由控制器52在每个扫描周期执行。注意,方法600可以由任何合 适的设备执行,该设备被配置为接收消息并在逐个变量基础上验证所包括 的变量值的完整性。例如,在一些实例中,智能现场设备可以执行方法600。
此外,如参考图6所讨论的,第一和第二过程控制设备可以被配置 为经由订阅/发布模型来传送和接收消息(例如,其中第一设备在没有第二 设备提示的情况下定期传送消息)或根据请求/响应消息来传送消息(例如, 其中第一设备响应来自第二设备的请求来传送消息)。在实施例中,第一和 第二过程控制设备各自都可被配置为根据需要执行请求/响应模型或发布/ 订阅模型。此外,如参考图6所指出的,第一和第二过程控制设备可以被 配置为根据可以在过程控制环境中执行的任何合适的协议来传送和接收消 息,假设这些协议可以适应,或者可以被修改以适应本文描述的逐变量数 据完整性校验。
VI、其它注意事项
在一个实施例中,可以计算单个消息部分(有时称为SLOT)的残余 误差。取决于实施例,可以(但不是必须)使用以下假设:用于通信的数 据路径使用屏蔽双绞线的限制将最坏情况误码率限制为10-4;0x9eb2 16位 CRC(CRC-16-DNP)多项式对于小于135位(或16字节)的消息具有6 的汉明距离;甚至超过汉明距离的误码对结果的影响(检测到零散错误)也可以忽略不计;数据字为6字节–48位(浮点+状态+序列号);码字为8 字节–64位(数据字+2字节CRC);对于给定的BER,64位码字中6位错 误的概率为7.45408-17。在这些假设下,对于0x9eb2 16位CRC多项式,数 据字大小可能有2051个可能的6位错误。在这样的假设下,未检测到6位 错误的概率为2.83214-24。假设传输速率为40Hz,PFH可能等于4.07828-19
在一些实施例中,所描述的系统的实施方式可以包括安全网络连接 和基于用户或基于角色的授权。例如,HART-IP支持使用TLS和DTLS建 立安全连接。基于角色的授权可能是所需的,因为“用户”可能是控制器 或安全应用程序。在一些实施例中,所描述的系统可以在没有基于用户/角 色的授权的情况下执行。
用于管理分立过程控制元件(例如,分立设备、分立通信信道、分 立信号等)和用于智能调试控制过程5中的分立元件的各个方面、装置、 系统、部件、设备、方法和技术的描述如下。
当以软件执行时,本文描述的任何应用程序、服务和引擎可以存储 在任何有形的、非暂时性计算机可读存储器中,例如计算机或处理器等的RAM或ROM中的磁盘、激光盘、固态存储器设备、分子存储设备或其它 存储介质。尽管本文公开的示例系统被公开为包括在硬件上执行的软件或 固件以及其它部件,但应当注意,此类系统仅是说明性的,不应被视为限 制性的。例如,预期这些硬件、软件和固件部件中的任何或全部可以专门 以硬件、专门以软件、或以硬件和软件的任何组合来体现。因此,虽然本 文描述的示例系统被描述为在一个或多个计算机设备的处理器上执行的软 件中执行,但是本领域的普通技术人员将容易理解所提供的示例并不是执 行这样的系统的唯一方式。
具体参考方法600和700,所描述的功能可以全部或部分地由图1 和2中所示的系统10的设备、电路或例程来执行。所描述的方法中的每一 个都可以由永久或半永久被配置(例如,ASIC或FPGA)为执行相应方法 的逻辑功能或至少临时被配置(例如,一个或多个处理器和指令集或例程 集,代表逻辑功能,保存到存储器中)为执行相应方法的逻辑功能的一组 电路来体现。
在本说明书全文中,多个实例可以执行被描述为单个实例的部件、 操作或结构。尽管一种或多种方法的各个操作被图示和描述为单独的操作, 但是在某些实施例中可以同时执行各个操作中的一个或多个。
如本文所用,对“一个实施例”或“实施例”的任何提及意味着结 合该实施例描述的特定元件、特征、结构或特性包括在至少一个实施例中。 说明书中各处出现的短语“在一个实施例中”不一定都指同一个实施例。
如本文所用,术语“包含”、“包括”、“具有”或其任何其它变体旨 在涵盖非排他性的包含。例如,包括元素列表的过程、方法、物品或装置 不一定仅限于那些元素,而是可以包括未明确列出的或此类过程、方法、 物品或装置所固有的其它元素。此外,除非有相反的明确说明,否则“或” 指的是包含性的或而非排他性的或。例如,条件A或B满足以下任一条件: A为真(或存在)且B为假(或不存在),A为假(或不存在)且B为真(或 存在),并且A和B都为真(或存在)。
此外,短语“其中系统包括X、Y或Z中的至少一个”是指该系统 包括X、Y、Z或它们的某种组合。类似地,短语“其中部件被配置用于X、 Y或Z”是指部件被配置用于X、配置用于Y、配置用于Z或配置用于X、Y和Z的某种组合。
此外,使用“一”或“一个”来描述本文实施例的元件和部件。该 描述以及随后的权利要求应当被理解为包括一项或至少一项。单数也包括 复数,除非很明显另有所指。
在各种实施例中,本文描述的硬件系统可以机械地或电子地执行。 例如,硬件系统可以包括永久配置的专用电路或逻辑(例如,作为专用处 理器,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)以执行某 些操作)。硬件系统还可包括由软件临时配置以执行某些操作的可编程逻辑 或电路(例如,包含在通用处理器或其它可编程处理器内)。应当理解,以 机械方式、在专用且永久配置的电路中或在临时配置的电路中(例如,通 过软件配置)执行硬件系统的决定可能由成本和时间考虑驱动。

Claims (34)

1.一种用于传送包括设备变量的值的消息的方法,使得能够在逐个变量的基础上验证所述值的完整性,所述方法包括:
由第一过程控制设备在用于控制过程的过程控制环境中检测设备变量的检测值;
由所述过程控制设备通过使用所述检测值和种子作为输入执行数据完整性计算,来计算第一数据完整性校验结果;
对消息进行编码,以包括所述检测值和针对所述检测值的所述第一数据完整性校验结果;以及
传送所述消息,使得其能够由第二过程控制设备接收,所述第二过程控制设备被配置为:(i)接收所述消息,(ii)针对所述消息中所述设备变量的候选值计算第二数据完整性校验结果;(iii)在所述第二过程控制设备处,基于所述第一数据完整性校验结果和所述第二数据完整性校验结果是否匹配,利用所述候选值对映射到所述设备变量的过程变量进行更新或不进行更新;以及(iv)根据所述过程变量执行作为所述过程的控制方案的部分的功能。
2.根据权利要求1所述的方法,其中,所述第二过程控制设备是现场设备。
3.根据权利要求1所述的方法,其中,所述第二过程控制设备是控制器。
4.根据权利要求3所述的方法,其中,所述控制器是用于安全系统的逻辑解算器,并且其中,所述控制方案是用于确定何时将耦合到所述逻辑解算器的一个或多个现场设备驱动到安全状态的安全系统方案。
5.根据权利要求3所述的方法,其中,所述控制器是用于被配置为控制所述过程的过程控制系统的过程控制器,并且其中,所述控制方案是用于所述过程控制系统的过程控制方案。
6.根据权利要求1所述的方法,其中,所述第一过程控制设备是现场设备,并且所述设备变量是现场设备变量。
7.根据权利要求1所述的方法,其中,所述第一过程控制设备是控制器。
8.根据权利要求1所述的方法,其中,所述消息被编码为包括多个检测值,每个检测值都具有数据完整性校验结果,其中,所述方法还包括:
检测第二设备变量的第二检测值;
通过使用所述第二检测值和所述种子作为输入执行所述数据完整性计算,来计算第三数据完整性校验结果;
其中,对所述消息进行编码还包括:对所述消息进行编码,以包括所述第二检测值和针对所述第二检测值的所述第二数据完整性校验结果;并且
其中,所述第二过程控制设备还被配置为:
(i)针对所述消息中所述第二设备变量的第二候选值计算第四数据完整性校验结果;
(ii)在所述第二过程控制设备处,基于所述第三数据完整性校验结果和所述第四数据完整性校验结果是否匹配,利用所述第二候选值对映射到所述第二设备变量的第二过程变量进行更新或不进行更新;以及
(iii)根据所述第二过程变量执行作为所述过程的控制方案的部分的功能。
9.根据权利要求8所述的方法,其中,对所述消息进行编码包括对所述消息进行编码以使得所述消息包括多个消息部分,所述多个消息部分包括:
第一消息部分,包括所述第一检测值;
第二消息部分,包括所述第二检测值;
第三消息部分,包括所述第一数据完整性校验结果和指示所述第一数据完整性校验结果对应于所述多个消息部分中的哪一个消息部分的参数;
第四消息部分,所述第四消息部分包括所述第三数据完整性校验结果和指示所述第三数据完整性校验结果对应于所述多个消息部分中的哪一个消息部分的参数。
10.根据权利要求1所述的方法,还包括:
递增序列参数以指示对所述设备变量的更新,其中,所述序列参数被配置为每次更新所述设备变量时被更新;
其中,计算所述第一数据完整性校验结果还包括:使用所述序列参数作为所述数据完整性计算的输入之一;
其中,对所述消息进行编码还包括:对所述消息进行编码以包括所述序列参数。
11.根据权利要求10所述的方法,还包括:
检测所述设备变量的变量状态;
其中,计算所述第一数据完整性校验结果还包括:使用所述变量状态作为所述数据完整性计算的输入之一;
其中,对所述消息进行编码还包括:对所述消息进行编码以包括所述变量状态。
12.根据权利要求1所述的方法,其中,所述第一过程控制设备被配置为计算针对所述检测值的第三数据完整性校验结果,使得接收所述消息的第三过程控制设备能够经由所述第三数据完整性校验结果来验证所述检测值的完整性,其中,所述方法还包括:
由所述第一过程控制设备通过使用所述检测值和第二种子作为输入执行所述数据完整性计算,来计算所述第三数据完整性校验结果;
其中,对所述消息进行编码还包括:对所述消息进行编码,以包括针对所述检测值的所述第三数据完整性校验结果;并且
其中,传送所述消息包括:传送所述消息,使得其能够由所述第三过程控制设备接收,其中,所述第三过程控制设备被配置为:(i)接收所述消息,(ii)针对所述消息中的所述候选值计算第四数据完整性校验结果;(iii)在所述第三过程控制设备处,基于所述第三数据完整性校验结果和所述第四数据完整性校验结果是否匹配,利用所述候选值对映射到所述设备变量的过程变量进行更新或不进行更新。
13.根据权利要求1所述的方法,其中,所述种子是通过对所述第一过程控制设备的序列号和所述第一过程控制设备的标签进行组合而形成的值,其中,所述标签是能够由所述过程控制环境中的一个或多个其它设备通过其寻址所述第一过程控制设备的标识符。
14.一种用于传送包括过程变量的值的消息的系统,所述过程变量的值能够在参数级别进行认证,所述系统包括:
第一过程控制设备,被配置为在用于控制过程的过程控制环境的输入/输出(I/O)网络中通信地耦合到一个或多个其它过程控制设备,所述第一过程控制设备包括:
(A)通信接口,被配置为将所述现场设备耦合到所述一个或多个控制器;及
(B)一组电路,通信地耦合到所述通信接口,并且被配置为:
检测设备变量的检测值;
通过使用所述检测值和种子作为输入执行数据完整性计算,来计算第一数据完整性校验结果;
对消息进行编码,以包括所述检测值和针对所述检测值的所述第一数据完整性校验结果;以及
经由所述通信接口将所述消息传送到第二过程控制设备,所述第二过程控制设备被配置为:(i)接收所述消息,(ii)针对所述消息中所述设备变量的候选值计算第二数据完整性校验结果;(iii)在所述第二过程控制设备处,基于所述第一数据完整性校验结果和所述第二数据完整性校验结果是否匹配,利用所述候选值对映射到所述设备变量的过程变量进行更新或不进行更新;以及(iv)根据所述过程变量执行作为所述过程的控制方案的部分的功能。
15.根据权利要求14所述的系统,其中,所述第二过程控制设备是控制器。
16.根据权利要求14所述的系统,其中,所述第一过程控制设备是现场设备,并且所述设备变量是现场设备变量。
17.根据权利要求14所述的系统,其中,所述消息被编码为包括多个检测值,每个检测值都具有数据完整性校验结果,其中,所述一组电路还被配置为:
检测第二设备变量的第二检测值;
通过使用所述第二检测值和所述种子作为输入执行所述数据完整性计算,来计算第三数据完整性校验结果;
其中,对所述消息进行编码还包括:对所述消息进行编码,以包括所述第二检测值和针对所述第二检测值的所述第二数据完整性校验结果;并且
其中,所述第二过程控制设备还被配置为:
(i)针对所述消息中所述第二设备变量的第二候选值计算第四数据完整性校验结果;
(ii)在所述第二过程控制设备处,基于所述第三数据完整性校验结果和所述第四数据完整性校验结果是否匹配,利用所述第二候选值更对映射到所述第二设备变量的第二过程变量进行更新或不进行更新;以及
(iii)根据所述第二过程变量执行作为所述过程的控制方案的部分的功能。
18.根据权利要求17所述的系统,其中,所述一组电路还被配置为对所述消息进行编码以使得所述消息包括多个消息部分,所述多个消息部分包括:
第一消息部分,包括所述第一检测值;
第二消息部分,包括所述第二检测值;
第三消息部分,包括所述第一数据完整性校验结果和指示所述第一数据完整性校验结果对应于所述多个消息部分中的哪一个消息部分的参数;
第四消息部分,包括所述第三数据完整性校验结果和指示所述第三数据完整性校验结果对应于多个消息部分中的哪一个消息部分的参数。
19.根据权利要求14所述的系统,其中,所述一组电路还被配置为:
递增序列参数以指示对所述设备变量的更新,其中,所述序列参数被配置为每次更新所述设备变量时被更新;
其中,计算所述第一数据完整性校验结果还包括:使用所述序列参数作为所述数据完整性计算的输入之一;
其中,对所述消息进行编码还包括:对所述消息进行编码以包括所述序列参数。
20.根据权利要求19所述的系统,其中,所述一组电路还被配置为:
检测所述设备变量的变量状态;
其中,计算所述第一数据完整性校验结果还包括:使用所述变量状态作为所述数据完整性计算的输入之一;
其中,对所述消息进行编码还包括:对所述消息进行编码以包括所述变量状态。
21.根据权利要求14所述的系统,其中,所述一组电路还被配置为针对所述消息的不同接收方计算所述检测值的多个数据完整性校验结果,使得接收所述消息的第三过程控制设备接收第三数据完整性校验结果,其中,所述一组电路被配置为:
通过使用所述检测值和第二种子作为输入执行所述数据完整性计算,来计算第三数据完整性校验结果;
其中,对所述消息进行编码还包括:对所述消息进行编码以包括针对所述检测值的所述第三数据完整性校验结果;并且
其中,传送所述消息包括:传送所述消息,使得其能够由所述第三过程控制设备接收,其中,所述第三过程控制设备被配置为:(i)接收所述消息,(ii)针对所述消息中的所述候选值计算第四数据完整性校验结果;以及(iii)在所述第三过程控制设备处,基于所述第三数据完整性校验结果和所述第四数据完整性校验结果是否匹配,利用所述候选值对映射到所述设备变量的过程变量进行更新或不进行更新。
22.根据权利要求14所述的系统,其中,所述种子是通过对所述第一过程控制设备的序列号和所述第一过程控制设备的标签进行组合而形成的值,其中,所述标签是能够由所述过程控制环境中的一个或多个其它设备通过其寻址所述第一过程控制设备的标识符。
23.一种用于验证包括在来自过程控制设备的消息中的设备变量值的完整性的方法,所述方法包括:
在第二过程控制设备处,在用于控制过程的过程控制环境中接收由第一过程控制设备传送的消息;
对所述消息进行解码以在所述消息中识别:(i)设备变量的候选值,以及(ii)所述设备变量的第一数据完整性校验结果;
通过使用所述候选值和种子作为输入执行第二数据完整性计算,来计算第二数据完整性校验结果;
将所述第二数据完整性校验结果与所述第一数据完整性校验结果进行比较,以确定所述第二数据完整性校验结果是否与所述第一数据完整性校验结果匹配,从而确定所述候选值是否与用于计算所述第一数据完整性校验结果的检测值匹配;
通过丢弃所述候选值来响应确定所述第二数据完整性校验结果与所述第一数据完整性校验结果不匹配,使得映射到所述设备变量的过程变量保持先前值;
通过在所述第二过程控制设备处利用所述候选值更新所述过程变量来响应确定所述第二数据完整性校验结果与所述第一数据完整性校验结果匹配;以及
根据所述过程变量执行作为所述过程的控制方案的部分的功能。
24.根据权利要求23所述的方法,其中,所述第二过程控制设备是控制器。
25.根据权利要求24所述的方法,其中,所述控制器是用于安全系统的逻辑解算器,并且其中,所述控制方案是用于确定何时将耦合到所述逻辑解算器的一个或多个现场设备驱动到安全状态的安全系统方案。
26.根据权利要求23所述的方法,其中,设备变量是第一设备变量并且其中,对所述消息进行解码包括对所述消息进行解码以在所述消息内识别:
第一消息部分,包括所述第一设备变量的所述候选值;
第二消息部分,包括第二设备变量的候选值;
第三消息部分,包括(i)所述第一数据完整性校验结果和(ii)指示所述第一数据完整性校验结果对应于所述多个消息部分中的哪一个消息部分的参数;以及
第四消息部分,包括(i)针对所述第二设备变量的所述候选值的第三数据完整性校验结果;和(ii)指示所述第三数据完整性校验结果对应于多个消息部分中的哪一个消息部分的参数。
27.根据权利要求23所述的方法,其中,对所述消息进行解码还包括:
识别被配置为每次更新所述设备变量时被更新的序列参数;并且
其中,计算所述第二数据完整性校验结果还包括使用所述序列参数作为所述数据完整性计算的输入之一。
28.根据权利要求23所述的方法,其中,所述种子是包括所述第一过程控制设备的序列号的值。
29.一种用于验证包括在来自过程控制设备的消息中的设备变量值的完整性的系统,所述系统包括:
第二过程控制设备,被配置为在过程控制环境中通信地耦合到第一过程控制设备,所述第二过程控制设备包括:
(A)通信接口,被配置为将所述第二过程控制设备通信地耦合到所述第一过程控制设备;以及
(B)一组电路,通信地耦合到所述通信接口,并且被配置为:
经由所述通信接口接收由所述第一过程控制设备传送的消息;
对所述消息进行解码以在所述消息中识别:(i)设备变量的候选值,以及(ii)所述设备变量的第一数据完整性校验结果;
通过使用所述候选值和种子作为输入执行第二数据完整性计算,来计算第二数据完整性校验结果;
将所述第二数据完整性校验结果与所述第一数据完整性校验结果进行比较,以确定所述第二数据完整性校验结果是否与所述第一数据完整性校验结果匹配,从而确定所述候选值是否与用于计算所述第一数据完整性校验结果的检测值匹配;
通过丢弃所述候选值来响应确定所述第二数据完整性校验结果与所述第一数据完整性校验结果不匹配,使得映射到所述设备变量的过程变量保持先前值;
通过利用所述候选值更新所述过程变量来响应确定所述第二数据完整性校验结果与所述第一数据完整性校验结果匹配;以及
根据所述过程变量执行作为所述过程的控制方案的部分的功能。
30.根据权利要求29所述的系统,其中,所述第二过程控制设备是控制器。
31.根据权利要求30所述的系统,其中,所述控制器是用于被配置为控制所述过程的过程控制系统的过程控制器,并且其中,所述控制方案是用于所述过程控制系统的过程控制方案。
32.根据权利要求29所述的系统,其中,设备变量是第一设备变量并且其中,对所述消息进行解码包括对所述消息进行解码以在所述消息内识别:
第一消息部分,包括所述第一设备变量的所述候选值;
第二消息部分,包括所述第二设备变量的候选值;
第三消息部分,包括(i)所述第一数据完整性校验结果和(ii)指示所述第一数据完整性校验结果对应于所述多个消息部分中的哪一个消息部分的参数;和
第四消息部分,包括(i)针对所述第二设备变量的所述候选值的第三数据完整性校验结果;和(ii)指示所述第三数据完整性校验结果对应于所述多个消息部分中的哪一个消息部分的参数。
33.根据权利要求29所述的系统,其中,所述一组电路还被配置为:
识别被配置为每次更新所述设备变量时被更新的序列参数;并且
其中,计算所述第二数据完整性校验结果还包括使用所述序列参数作为所述数据完整性计算的输入之一。
34.根据权利要求29所述的系统,其中,所述种子是包括所述第一过程控制设备的序列号的值。
CN202111507155.0A 2020-12-10 2021-12-10 过程控制环境中通信的变量级别完整性校验 Pending CN114625075A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/117,814 US11424865B2 (en) 2020-12-10 2020-12-10 Variable-level integrity checks for communications in process control environments
US17/117,814 2020-12-10

Publications (1)

Publication Number Publication Date
CN114625075A true CN114625075A (zh) 2022-06-14

Family

ID=80080862

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111507155.0A Pending CN114625075A (zh) 2020-12-10 2021-12-10 过程控制环境中通信的变量级别完整性校验

Country Status (5)

Country Link
US (1) US11424865B2 (zh)
JP (1) JP2022092595A (zh)
CN (1) CN114625075A (zh)
DE (1) DE102021132493A1 (zh)
GB (1) GB2607648A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220413568A1 (en) * 2021-06-29 2022-12-29 Nvidia Corporation Power delivery communication system

Family Cites Families (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3849056A (en) 1972-11-02 1974-11-19 Combustion Eng Computer based plant protection system
US4410329A (en) 1981-11-06 1983-10-18 General Electric Company Washing machine with oversuds detection and correction capability
JPH0650442B2 (ja) 1983-03-09 1994-06-29 株式会社日立製作所 設備群制御方法およびシステム
US4598355A (en) 1983-10-27 1986-07-01 Sundstrand Corporation Fault tolerant controller
US4736320A (en) 1985-10-08 1988-04-05 Foxboro Company Computer language structure for process control applications, and translator therefor
US4885717A (en) 1986-09-25 1989-12-05 Tektronix, Inc. System for graphically representing operation of object-oriented programs
US4827423A (en) 1987-01-20 1989-05-02 R. J. Reynolds Tobacco Company Computer integrated manufacturing system
GB2200476B (en) 1987-01-29 1991-02-06 British Gas Plc Monitor system
US5535331A (en) * 1987-09-04 1996-07-09 Texas Instruments Incorporated Processor condition sensing circuits, systems and methods
US4816647A (en) 1987-11-13 1989-03-28 General Electric Company Power control for appliance having a glass ceramic cooking surface
US5051898A (en) 1988-06-13 1991-09-24 Eda Systems, Inc. Method for specifying and controlling the invocation of a computer program
US4972328A (en) 1988-12-16 1990-11-20 Bull Hn Information Systems Inc. Interactive knowledge base end user interface driven maintenance and acquisition system
US5014208A (en) 1989-01-23 1991-05-07 Siemens Corporate Research, Inc. Workcell controller employing entity-server model for physical objects and logical abstractions
US5146401A (en) 1989-09-05 1992-09-08 Honeywell Inc. Apparatus for providing a universal interface in a process control system
GB2275814B (en) 1989-11-02 1995-02-15 Combustion Eng Power plant
JPH0658624B2 (ja) 1990-03-30 1994-08-03 インターナショナル・ビシネス・マシーンズ・コーポレーション グラフィカル・ユーザ・インターフェース管理装置
US5168441A (en) 1990-05-30 1992-12-01 Allen-Bradley Company, Inc. Methods for set up and programming of machine and process controllers
US5321829A (en) 1990-07-20 1994-06-14 Icom, Inc. Graphical interfaces for monitoring ladder logic programs
JPH04101201A (ja) 1990-08-21 1992-04-02 Toshiba Corp プラント監視制御システム
US5195098A (en) 1991-05-10 1993-03-16 Echelon Corporation Binary data error correction using hint signal
SE513182C2 (sv) 1991-06-12 2000-07-24 Icl Systems Ab Förfarande och system för att revidera data i ett distribuerat datasystem
US5603018A (en) 1991-07-15 1997-02-11 Mitsubishi Denki Kabushiki Kaisha Program developing system allowing a specification definition to be represented by a plurality of different graphical, non-procedural representation formats
US5339430A (en) 1992-07-01 1994-08-16 Telefonaktiebolaget L M Ericsson System for dynamic run-time binding of software modules in a computer system
US5485600A (en) 1992-11-09 1996-01-16 Virtual Prototypes, Inc. Computer modelling system and method for specifying the behavior of graphical operator interfaces
US5420397A (en) 1992-12-15 1995-05-30 Micro Weiss Electronics, Inc. Control device and safety circuit for heating pads with PTC heater
US5649200A (en) 1993-01-08 1997-07-15 Atria Software, Inc. Dynamic rule-based version control system
US5446903A (en) 1993-05-04 1995-08-29 International Business Machines Corporation Method and apparatus for controlling access to data elements in a data processing system based on status of an industrial process by mapping user's security categories and industrial process steps
US5594858A (en) 1993-07-29 1997-01-14 Fisher-Rosemount Systems, Inc. Uniform control template generating system and method for process control programming
US5530643A (en) 1993-08-24 1996-06-25 Allen-Bradley Company, Inc. Method of programming industrial controllers with highly distributed processing
US5631825A (en) 1993-09-29 1997-05-20 Dow Benelux N.V. Operator station for manufacturing process control system
US5576946A (en) 1993-09-30 1996-11-19 Fluid Air, Inc. Icon based process design and control system
US5555385A (en) 1993-10-27 1996-09-10 International Business Machines Corporation Allocation of address spaces within virtual machine compute system
US6038586A (en) 1993-12-30 2000-03-14 Frye; Russell Automated software updating and distribution
US5485620A (en) 1994-02-25 1996-01-16 Automation System And Products, Inc. Integrated control system for industrial automation applications
US5546301A (en) 1994-07-19 1996-08-13 Honeywell Inc. Advanced equipment control system
US5611059A (en) 1994-09-02 1997-03-11 Square D Company Prelinked parameter configuration, automatic graphical linking, and distributed database configuration for devices within an automated monitoring/control system
US5553237A (en) 1994-12-13 1996-09-03 Base Ten Systems, Inc. Safety critical monitoring of microprocessor controlled embedded systems
US5812394A (en) 1995-07-21 1998-09-22 Control Systems International Object-oriented computer program, system, and method for developing control schemes for facilities
US5864657A (en) 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US5909368A (en) 1996-04-12 1999-06-01 Fisher-Rosemount Systems, Inc. Process control system using a process control strategy distributed among multiple control elements
US5940294A (en) 1996-04-12 1999-08-17 Fisher-Rosemont Systems, Inc. System for assisting configuring a process control environment
US5838563A (en) 1996-04-12 1998-11-17 Fisher-Rosemont Systems, Inc. System for configuring a process control environment
US5768119A (en) 1996-04-12 1998-06-16 Fisher-Rosemount Systems, Inc. Process control system including alarm priority adjustment
US5984502A (en) 1996-06-14 1999-11-16 The Foxboro Company Keypad annunciator graphical user interface
WO1997049018A1 (en) 1996-06-19 1997-12-24 Hoechst Celanese Corporation Multi-tasking process control system and method
DE19634341A1 (de) 1996-08-24 1998-02-26 Bosch Gmbh Robert Verfahren zum Schutz von speicherprogrammierten Steuerungen vor einem Überschreiben
US6385494B1 (en) 1996-09-30 2002-05-07 Caterpillar Inc. System and method for producing production control software
US5950209A (en) 1996-10-02 1999-09-07 Alcatel Usa Sourcing, L.P. Software release control system and method
US5903897A (en) 1996-12-18 1999-05-11 Alcatel Usa Sourcing, L.P. Software documentation release control system
US6381698B1 (en) 1997-05-21 2002-04-30 At&T Corp System and method for providing assurance to a host that a piece of software possesses a particular property
US5984504A (en) 1997-06-11 1999-11-16 Westinghouse Electric Company Llc Safety or protection system employing reflective memory and/or diverse processors and communications
US6999824B2 (en) 1997-08-21 2006-02-14 Fieldbus Foundation System and method for implementing safety instrumented systems in a fieldbus architecture
US6138174A (en) 1997-11-24 2000-10-24 Rockwell Technologies, Llc Industrial control system providing remote execution of graphical utility programs
US6167316A (en) 1998-04-03 2000-12-26 Johnson Controls Technology Co. Distributed object-oriented building automation system with reliable asynchronous communication
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
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
US6442512B1 (en) 1998-10-26 2002-08-27 Invensys Systems, Inc. Interactive process modeling system
US6442515B1 (en) 1998-10-26 2002-08-27 Invensys Systems, Inc. Process model generation independent of application mode
US6546297B1 (en) 1998-11-03 2003-04-08 Robertshaw Controls Company Distributed life cycle development tool for controls
DE29824256U1 (de) 1998-12-14 2001-06-13 Wratil Peter Einheit zur Sicherheitsüberwachung von Steuerungseinrichtungen
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
US6385496B1 (en) 1999-03-12 2002-05-07 Fisher-Rosemount Systems, Inc. Indirect referencing in process control routines
US6584466B1 (en) 1999-04-07 2003-06-24 Critical Path, Inc. Internet document management system and methods
US6647301B1 (en) 1999-04-22 2003-11-11 Dow Global Technologies Inc. Process control system with integrated safety control system
US6515683B1 (en) 1999-06-22 2003-02-04 Siemens Energy And Automation Autoconfiguring graphic interface for controllers having dynamic database structures
US6587108B1 (en) 1999-07-01 2003-07-01 Honeywell Inc. Multivariable process matrix display and methods regarding same
DE19934514C5 (de) 1999-07-22 2013-03-14 Pilz Gmbh & Co. Kg Verfahren zum Konfigurieren eines an einen Feldbus angeschlossenen Busteilnehmers
DE19939567B4 (de) 1999-08-20 2007-07-19 Pilz Gmbh & Co. Kg Vorrichtung zum Steuern von sicherheitskritischen Prozessen
US6415418B1 (en) 1999-08-27 2002-07-02 Honeywell Inc. System and method for disseminating functional blocks to an on-line redundant controller
US6618745B2 (en) 1999-09-10 2003-09-09 Fisher Rosemount Systems, Inc. Linking device in a process control system that allows the formation of a control loop having function blocks in a controller and in field devices
US6477435B1 (en) 1999-09-24 2002-11-05 Rockwell Software Inc. Automated programming system for industrial control using area-model
CA2322113A1 (en) 1999-10-04 2001-04-04 Pitney Bowes Inc. System and method for managing user permissions for accessing functionality of multiple software applications
US6445963B1 (en) 1999-10-04 2002-09-03 Fisher Rosemount Systems, Inc. Integrated advanced control blocks in process control systems
US6449715B1 (en) 1999-10-04 2002-09-10 Fisher-Rosemount Systems, Inc. Process control configuration system for use with a profibus device network
US6446202B1 (en) 1999-10-04 2002-09-03 Fisher-Rosemount Systems, Inc. Process control configuration system for use with an AS-Interface device network
US6775707B1 (en) 1999-10-15 2004-08-10 Fisher-Rosemount Systems, Inc. Deferred acknowledgment communications and alarm management
US6687698B1 (en) 1999-10-18 2004-02-03 Fisher Rosemount Systems, Inc. Accessing and updating a configuration database from distributed physical locations within a process control system
US6449624B1 (en) 1999-10-18 2002-09-10 Fisher-Rosemount Systems, Inc. Version control and audit trail in a process control system
US6631476B1 (en) 1999-12-22 2003-10-07 Rockwell Automation Technologies, Inc. Safety network for industrial controller providing redundant connections on single media
US6721900B1 (en) 1999-12-22 2004-04-13 Rockwell Automation Technologies, Inc. Safety network for industrial controller having reduced bandwidth requirements
US6684385B1 (en) 2000-01-14 2004-01-27 Softwire Technology, Llc Program object for use in generating application programs
US7130701B1 (en) 2000-05-24 2006-10-31 Schneider Automation Inc. System for remote configuration monitoring of an industrial control system
US7069580B1 (en) 2000-06-16 2006-06-27 Fisher-Rosemount Systems, Inc. Function-based process control verification and security in a process control system
US6647315B1 (en) 2000-09-29 2003-11-11 Fisher-Rosemount Systems, Inc. Use of remote soft phases in a process control system
US7113085B2 (en) 2000-11-07 2006-09-26 Fisher-Rosemount Systems, Inc. Enhanced device alarms in a process control system
WO2002097543A1 (fr) 2001-05-31 2002-12-05 Omron Corporation Unite securisee, systeme de commande, procede de concatenation de dispositifs de commande, procede de commande de systeme de commande, et procede de surveillance de systeme de commande
US6915444B2 (en) 2001-09-12 2005-07-05 Rockwell Automation Technologies, Inc. Network independent safety protocol for industrial controller using data manipulation techniques
US7107358B2 (en) 2001-09-12 2006-09-12 Rockwell Automation Technologies, Inc. Bridge for an industrial control system using data manipulation techniques
US7590848B2 (en) 2002-02-07 2009-09-15 Blackhawk Network System and method for authentication and fail-safe transmission of safety messages
US6928328B2 (en) 2002-08-02 2005-08-09 Fisher-Rosemount Systems, Inc. Integrated electronic signatures for approval of process control system software objects
US7076312B2 (en) 2002-08-02 2006-07-11 Fisher-Rosemount Systems, Inc. Integrated electronic signatures for approval of process control and safety system software objects
US7289861B2 (en) 2003-01-28 2007-10-30 Fisher-Rosemount Systems, Inc. Process control system with an embedded safety system
DE10247520A1 (de) 2002-10-11 2004-04-22 Siemens Ag Verfahren und Einrichtung zur Prozessautomatisierung mit Steuergeräten zur Ansteuerung von Peripheriegeräten über ein Bussystem
SE0203819D0 (sv) 2002-12-19 2002-12-19 Abb As Method to increase the safety integrity level of a control system
US7237109B2 (en) 2003-01-28 2007-06-26 Fisher- Rosemount Systems, Inc. Integrated security in a process plant having a process control system and a safety system
US7865251B2 (en) 2003-01-28 2011-01-04 Fisher-Rosemount Systems, Inc. Method for intercontroller communications in a safety instrumented system or a process control system
US6975966B2 (en) 2003-01-28 2005-12-13 Fisher-Rosemount Systems, Inc. Integrated diagnostics in a process plant having a process control system and a safety system
US8738971B2 (en) * 2011-12-07 2014-05-27 Arm Limited Limiting certain processing activities as error rate probability rises
US9397836B2 (en) * 2014-08-11 2016-07-19 Fisher-Rosemount Systems, Inc. Securing devices to process control systems
US11363035B2 (en) * 2015-05-22 2022-06-14 Fisher-Rosemount Systems, Inc. Configurable robustness agent in a plant security system
US10740186B2 (en) * 2017-05-15 2020-08-11 The Boeing Company High data integrity processing system
CN107480986B (zh) * 2017-08-14 2019-08-09 飞天诚信科技股份有限公司 一种利用硬件实现数字货币钱包的方法及硬件钱包
US11531381B2 (en) * 2018-09-28 2022-12-20 Fisher-Rosemount Systems, Inc. Smart functionality for discrete field devices and signals
DE102019106049A1 (de) * 2019-03-08 2020-09-10 Krohne Messtechnik Gmbh Verfahren zur sicheren Kommunikation zwischen einem Feldgerät der Automatisierungstechnik und einem Endgerät sowie System zur sicheren Kommunikation zwischen einem Feldgerät und einem Endgerät
US11316706B2 (en) * 2019-04-16 2022-04-26 Mastercard International Incorporated Method and system for using dynamic private keys to secure data file retrieval

Also Published As

Publication number Publication date
JP2022092595A (ja) 2022-06-22
US20220190962A1 (en) 2022-06-16
GB2607648A (en) 2022-12-14
GB202117694D0 (en) 2022-01-19
DE102021132493A1 (de) 2022-06-15
US11424865B2 (en) 2022-08-23

Similar Documents

Publication Publication Date Title
US11032066B2 (en) Method for tamper-proof storage of data of a field device
US7237109B2 (en) Integrated security in a process plant having a process control system and a safety system
US7330768B2 (en) Integrated configuration in a process plant having a process control system and a safety system
US6975966B2 (en) Integrated diagnostics in a process plant having a process control system and a safety system
US7890300B2 (en) Method for monitoring a field device
US20100004761A1 (en) Distributed and adaptive smart logic with multi-communication apparatus for reliable safety system shutdown
US11196711B2 (en) Firewall for encrypted traffic in a process control system
CN103053131A (zh) 用于防篡改地传输控制数据的方法和系统
CA2916021C (en) System and method for shutting down a field device
JP2009070383A (ja) 安全計装プロセス制御システムにおける侵入保護のための装置および方法
US20210092097A1 (en) Whitelisting for HART Communications in a Process Control System
US20110264396A1 (en) Electrical circuit with physical layer diagnostics system
Giraldo et al. Hide and seek: An architecture for improving attack-visibility in industrial control systems
US20200096962A1 (en) Field Device and Method for Parameterizing the Field Device
CN114625075A (zh) 过程控制环境中通信的变量级别完整性校验
KR20180058467A (ko) 스마트 팩토리를 위한 통합 보안 관리 시스템
Patel et al. Real-time, simulation-based identification of cyber-security attacks of industrial plants
CN116601571A (zh) 针对边缘设备与基于云的服务平台之间的连接的蜜罐
GB2589962A (en) Whitelisting for hart communications in a process control system
US11732820B2 (en) Activating trip functions of a safety valve positioner by way of a control panel to achieve a safe state

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination