CN109597374A - 用于调试的i/o虚拟化 - Google Patents

用于调试的i/o虚拟化 Download PDF

Info

Publication number
CN109597374A
CN109597374A CN201811162113.6A CN201811162113A CN109597374A CN 109597374 A CN109597374 A CN 109597374A CN 201811162113 A CN201811162113 A CN 201811162113A CN 109597374 A CN109597374 A CN 109597374A
Authority
CN
China
Prior art keywords
dst
virtual
controller
control module
control
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
CN201811162113.6A
Other languages
English (en)
Inventor
A·T·恩弗
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 CN109597374A publication Critical patent/CN109597374A/zh
Pending legal-status Critical Current

Links

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]
    • G05B19/4184Total 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 fault tolerance, reliability of production system
    • 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/4188Total 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 CIM planning or realisation
    • 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/41885Total 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 modeling, simulation of the manufacturing system
    • 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/31121Fielddevice, field controller, interface connected to fieldbus
    • 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/32355Simulate control process using virtual bus
    • 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/33286Test, simulation analysator
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50123Setup, automatic setup

Landscapes

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

Abstract

本文公开了用于对在过程工厂的运行时环境中要由过程控制器实现的控制模块的I/O进行虚拟化的技术。配置应用识别对由控制模块使用的I/O对象的引用。作为响应,配置应用生成虚拟设备信号标签(DST)以模仿所识别的I/O对象的性能。为了便于例如在后端环境的调试期间测试和/或验证控制模块,配置应用在仿真环境中实例化虚拟控制器。为了生成虚拟控制器,配置应用利用对相应的、生成的虚拟DST的引用来替换对I/O对象的任何引用。因此,通过使用虚拟DST作为I/O到现场设备的代理,可以先于现场设备对控制模块和/或控制器进行测试,而不需要完全调试现场环境。

Description

用于调试的I/O虚拟化
相关申请的交叉引用
本申请要求于2017年10月2日提交的、标题为“I/O VIRTUALIZATION FORCOMMISSIONING”的美国临时专利申请No.62/567,110的优先权和权益,故通过引用方式将其全部公开内容明确地并入本文。
技术领域
本公开内容总体上涉及过程工厂和过程控制系统,更具体地,涉及虚拟化过程控制系统的I/O部件以便于控制器的调试。
背景技术
分布式过程控制系统,例如在化学、石油、工业或其它过程工厂中用于制造、精制、转化、生成或生产物理材料或产品的那些分布式过程控制系统,通常包括一个或多个过程控制器,所述一个或多个过程控制器经由模拟总线、数字总线或组合的模拟/数字总线或者经由无线通信链路或网络通信地耦合到一个或多个现场设备。现场设备——现场设备可以是例如阀、阀定位器、开关和变送器(例如,温度传感器、压力传感器、液位传感器和流量传感器)——位于过程环境内并且通常执行物理或过程控制功能以控制在过程工厂或系统内执行的一个或多个过程,这些物理或过程控制功能例如为打开或关闭阀、测量过程和/或环境参数例如温度或压力等。智能现场设备,例如符合公知现场总线协议的现场设备,也可以执行通常在控制器内实现的控制计算、报警功能及其它控制功能。通常也位于工厂环境内的过程控制器接收指示由现场设备进行的过程测量的信号和/或与现场设备有关的其它信息,并且执行下述控制器应用:该控制器应用运行例如做过程控制决策、基于接收到的信息生成控制信号以及与诸如 的现场总线现场设备之类的现场设备中执行的控制模块或块协调的不同控制模块。控制器中的控制模块将控制信号通过通信线路或链路发送到现场设备,从而控制过程工厂或系统的至少一部分的操作,以例如控制工厂或系统内运行或执行的一个或多个工业过程的至少一部分。例如,控制器和现场设备控制由过程工厂或系统控制的过程的至少一部分。通常也位于工厂环境内的I/O设备通常设置在控制器与一个或多个现场设备之间,并且能够通过例如将电信号转换成数字值或者将数字值转换为电信号来实现控制器与所述一个或多个现场设备之间的通信。
来自现场设备和控制器的信息通常通过通信网络而可用于一个或多个其它硬件设备,这些硬件设备例如为通常放置于控制室中或远离较苛刻的工厂环境的其它位置的操作员工作站、个人计算机或计算设备、数据历史库设备、报告生成器、集中式数据库或其它集中式管理计算设备。这些硬件设备中的每种硬件设备通常跨整个过程工厂上或过程工厂的一部分而集中。这些硬件设备可运行下述应用:这些应用可以例如使操作员能够执行与控制过程和/或操作过程工厂有关的功能,例如改变过程控制例程的设置、修改控制器或现场设备内的控制模块的操作、查看过程的当前状态、查看由现场设备和控制器生成的警报、出于培训人员或测试过程控制软件的目的仿真过程的操作、保持和更新配置数据库等。硬件设备、控制器和现场设备所使用的通信网络可以包括有线通信路径、无线通信路径或者有线通信路径和无线通信路径的组合。
作为示例,由艾默生过程管理公司(Emerson Process Management)销售的DeltaVTM控制系统包括存储在位于过程工厂内的不同位置处的不同设备内并且由这些设备执行的多个应用。驻留在一个或多个工作站或计算设备中的配置应用使用户能够创建或改变过程控制模块并经由通信网络将这些过程控制模块下载到专用的分布式控制器。通常,这些控制模块由通信互连的功能块组成,这些功能块是面向对象的编程协议中的对象,这些功能块基于其输入执行控制方案内的功能并且向控制方案内的其它功能块提供输出。配置应用还可以允许配置设计者创建或改变操作员接口,操作员接口由查看应用使用以向操作员显示数据并使操作员能够改变过程控制例程内的设置,例如设定点。每个专用控制器以及在一些情况下的一个或多个现场设备对运行分配并下载到其的控制模块的相应控制器应用进行存储和执行以实现实际的过程控制功能。可以在一个或多个操作员工作站上(或在与操作员工作站和通信网络通信连接的一个或多个远程计算设备上)执行的查看应用经由通信网络接收来自控制器应用的数据,并且向处理控制系统设计者、操作员或使用用户接口的用户展示该数据,并且可以提供许多不同视图中的任一种视图,例如操作员视图、工程师视图、技术人员视图等。数据历史库应用通常存储在数据历史库设备中并且由数据历史库设备执行,数据历史库设备收集并存储整个通信网络提供的数据中的一些数据或所有数据,而配置数据库应用可以在附接到通信网络的另外的计算机中运行以存储当前的过程控制例程配置和与其相关联的数据。替代性地,配置数据库可以位于与配置应用相同的工作站中。
通常,过程工厂或系统的调试涉及使工厂或系统的各部件达到系统或工厂可按预期运行的程度。如众所周知的,物理过程元件(例如将用于控制过程工厂中的过程的阀、传感器等)根据例如管道和仪表图(P&ID)和/或工厂楼层布局和/或过程布局的其它设计图或“蓝图”安装在工厂的现场环境内的相应位置处。在过程元件已经被安装后,至少一些过程元件被调试。例如,过程控制器、I/O卡或设备、现场设备、采样点和/或其它元件受到调试。调试是通常包括多个动作或活动的涉及的复杂的过程。例如,调试可以包括以下动作或活动,尤其是,例如验证或确认已安装的过程控制设备(例如现场设备、控制器或者使现场设备与控制器互连的I/O设备或卡)的身份及其预期的连接;确定并提供唯一识别过程控制系统或工厂内的过程控制设备的标签;为设备设置或配置参数的初始值、极限等;在各种条件下通过例如操纵提供给设备的信号和执行其它测试、以及其它调试活动和动作来验证设备的安装、操作和行为的正确性。调试期间的设备验证对于安全原因以及符合监管和质量要求非常重要。
典型地,过程工厂的调试需要在过程工厂的现场环境中安装、建立、和相互连接物理设备、连接、布线等。在工厂的后端环境处(例如,在诸如操作员工作站、个人计算机或计算设备、集中式数据库、配置工具等之类的集中式管理计算设备处,这些集中式管理计算设备通常放置于控制室中或远离较苛刻的工厂现场环境的其它位置),专门识别和/或定址各设备、它们的配置、以及它们的互连的数据被集成、验证或调试并存储。
其它调试动作或活动可以涉及在包括一个或多个I/O设备和一个或多个现场设备的过程控制回路中实现控制例程的过程控制器。这种调试动作或活动包括:例如,验证通过包括在过程控制回路中的设备之间的各个互连发送的各个信号引起互连两端的预期行为、对过程控制回路的完整性检查、生成完工I/O列表以指示回路内实现的设备的实际物理连接以及记录其它“已安装”数据等等。
习惯上,为了调试在过程控制器中于运行时间期间将要执行的控制例程或策略,后端操作员将测试或仿真逻辑下载到设置在现场或前端环境中的控制器中,将对象控制例程或策略(例如,该对象控制例程或策略可以实现为一个或多个控制模块)下载到控制器中,并执行下载的仿真逻辑以验证对象控制例程的执行行为。在一个示例中,下载的仿真逻辑包括与控制器的输入互连的仿真模块。然而,由于仿真控制例程被下载到控制器中,作为前提条件,这部分的调试过程需要后端环境与将要调试的控制器之间的物理路径和/或与将要调试的控制器相关联的I/O设备和现场设备。因此,在一些方面,过程工厂的信令路径的调试和/或I/O和现场设备的调试妨碍了控制例程的调试,从而延长了调试过程工厂所花费的时间。
另外,当现场工程师在现场环境内调试现场设备时,现场工程师可以将新调试的现场设备分配给控制器。类似地,现场工程师可以通过例如将现场设备分配给不同的控制器来修改已分配给控制器的现场设备。因此,后端操作员在调试期间进行控制例程和回路的仿真和测试时必须调整控制例程并将控制例程重新下载到控制器中以说明这些和类似的变化。
发明内容
本文公开了用于虚拟化输入/输出(I/O)(例如,用于虚拟化I/O块和/或I/O设备的其它部分)以便于控制器调试(commission)的技术、系统、装置、部件、设备和方法。所述技术、系统、装置、部件、设备和方法可以适用于工业过程控制系统、环境和/或工厂,其在本文中可互换地称为“工业控制”、“过程控制”或“过程”系统、环境和/或工厂。通常,这种系统和工厂以分布式方式提供对一个或多个过程(在本文中还称为“工业过程”)的控制,该一个或多个过程操作为制造、提炼、或转化原材料以生成或生产产品。
在过程控制系统和/或工厂的调试期间的I/O虚拟化包括各种技术、系统、装置、部件和/或方法,其允许调试过程的至少一些部分被异步执行,使得控制器和由控制器控制的设备可以在并入或集成到工厂或系统中之前被部分或甚至完全调试。在调试期间的I/O虚拟化允许例如过程控制系统的各个部分和/或其相应的安全仪表系统(SIS)(例如,独立或集成安全系统(ICSS))或基本过程控制系统(BPCS)在聚集在一起并集成在过程工厂的驻留位置或站点之前,在不同的地理位置(例如,在不同的“mod yard”处)构建并至少部分地进行调试。从某种意义上说,I/O虚拟化允许并行的调试活动和动作。
例如,I/O虚拟化允许在现场环境中和在过程工厂的后端环境中独立地(并且实际上,并行地,如果期望的话)执行一些(如果不是大多数)调试活动和/或动作。在现场环境中实施的设计和工程的调试不再取决于在后端环境中执行并且主要在后端环境中完成的功能设计、工程设计和调试的进度(和完成)。因此,后端环境的功能或逻辑部件的调试的很大部分能够独立于现场环境的物理部件的本地调试活动来执行,反之亦然。也就是说,可以在现场环境和后端环境通信地断开时执行现场环境或后端环境中的调试活动和动作的至少一部分,例如,当已经(或正在)安装在现场环境中的回路(或其一部分)与后端环境通信地断开时。例如,使用I/O虚拟化技术,在现场环境和/或后端环境中的至少一部分调试活动和动作能够在具有将现场设备指派给特定的I/O卡和/或信道和/或将过程控制器指派给特定的I/O卡和/或通道的知识的过程控制系统或工厂之前执行。
类似地,关于在过程工厂中实现控制例程的过程控制器,I/O虚拟化允许执行与控制器相关的各种调试活动和/或动作,而不要求所有部件包括在控制回路中以首先进行安装和互连。例如,可以生成虚拟I/O对象以例如针对控制例程仿真尚未调试的部件(例如,I/O设备、现场设备等)的I/O。因此,可以在控制回路的各种部件断开或尚未分配给彼此、分配给现场设备和/或分配给后端环境的同时执行在控制回路中实现控制例程的控制器的调试活动的至少一部分。这样,可以在过程工厂的后端环境和现场环境两者处启动并执行相应的调试活动,同时两个环境通信地断开连接或仅部分地连接。
因此,由于I/O虚拟化允许在过程工厂的现场环境中执行的物理设计和工程设计独立于在过程工厂的后端环境中执行的功能设计和工程设计而进行,并且由于I/O虚拟化还允许独立地或在已安装(as-installed)的基础上执行控制回路的部件的分段调试,减少了后端和现场之间的调试调度依赖性,以及所需用于调试过程工厂的的总日历时间也减少了。因此,I/O虚拟化整体优化了调试过程,大大减少了时间和人力资源,并且因此显著降低了成本。
附图说明
图1描绘了示出示例性系统过程工厂的框图,可以通过使用本文所描述的I/O虚拟化技术中的一个或多个来调试该示例性系统过程工厂的至少一部分;
图2A至图2B例示了过程或工业工厂的后端系统内的示例性部件的视图,该过程或工业工厂提供了在现场装备经由工厂中的I/O网络连接和/或分配之前配置并执行对诸如模块、应用、和接口程序之类的后端部件的调试动作的能力;
图2C描绘了用于当在现场装备经由工厂中的I/O网络连接和/或分配之前配置和调试后端系统部件时与作为现场装备的代理的虚拟设备信号标签(DST)进行通信的示例性系统;
图3示出了由配置应用呈现的示例性屏幕显示,该屏幕显示包括将要由图1的过程工厂中的控制器实现的控制例程的指示;
图4示出了由配置应用呈现的示例性屏幕显示,该屏幕显示提供用户控件以使得能够实现图1的过程工厂的控制模块的仿真;
图5示出了由仿真应用呈现的示例性屏幕显示,该屏幕显示提供用户控件以对图1的过程工厂的虚拟DST的输入值进行仿真;
图6示出了由仿真应用呈现的示例性屏幕显示,该屏幕显示指示图1的过程工厂的虚拟控制器的输出;以及
图7描绘了虚拟化I/O设备的示例性方法的流程图。
具体实施方式
如上所述,当在线操作以实时控制一个或多个工业过程时,过程工厂、过程控制系统或过程控制环境可以利用本文描述的I/O虚拟化技术、系统、装置、部件、设备和/或方法的一个或多个进行调试。当在线调试和操作时,过程工厂包括一个或多个有线或无线过程控制设备、部件或元件,它们与过程控制系统一起执行物理功能,以控制在过程工厂内执行的一个或多个过程。过程工厂和/或过程控制系统可以包括例如一个或多个有线通信网络和/或一个或多个无线通信网络。另外,过程工厂或控制系统可以包括集中式数据库,诸如连续、批量、资产管理、历史库和其它类型的数据库。
为了说明,图1是示例性过程工厂、过程控制系统或过程控制环境5的框图,其中至少一部分已经通过使用本文描述的任何一个或多个I/O虚拟化技术来进行调试。过程工厂5包括一个或多个过程控制器(在本文中也可互换地称为“控制器”),其接收指示由现场设备获得的过程测量结果的信号,处理该信息以实现控制例程,并产生通过有线或无线过程控制通信链路或网络发送到其它现场设备以控制工厂5中的过程的操作的控制信号。通常,至少一个现场设备执行物理功能(例如,打开或关闭阀,增加或减小温度、进行测量、感测状况等)以控制过程的操作。一些类型的现场设备通过使用I/O设备(在本文中也可互换地称为“I/O卡”)与控制器通信。过程控制器、现场设备和I/O设备可以是有线或无线的,并且任何数量和组合的有线和无线过程控制器、现场设备和I/O设备可以包括在过程工厂环境或系统5中。
例如,图1示出了过程控制器11,其经由I/O卡26和28通信地连接到有线现场设备15-22,并且经由无线网关35、过程控制数据高速通道或主干10通信地连接到无线现场设备40-46。过程控制数据高速通道10可以包括一个或多个有线和/或无线通信链路,并且可以使用任何期望的或合适的通信协议(诸如,举例来说,以太网协议)来实现。在一些配置(未示出)中,控制器11可以使用除主干10之外的一个或多个通信网络通信地连接到无线网关35,诸如通过使用支持一个或多个通信协议的任何数量的其它有线或无线通信链路,例如,Wi-Fi或其它符合IEEE802.11的无线局域网协议、移动通信协议(例如,WiMAX、LTE或其它ITU-R兼容协议)、Profibus、现场总线等。
可以例如是由艾默生过程管理公司出售的DeltaVTM控制器的控制器11可以使用现场设备15-22和40-46中的至少一些来实施批量过程或连续过程。在一实施例中,除了通信地连接到过程控制数据高速通道10之外,控制器11还使用与例如标准4-20mA设备、I/O卡26、28和/或任何智能通信协议(诸如现场总线协议、协议、协议等)相关联的任何期望的硬件和软件通信地连接到现场设备15-22和40-46中的至少一些。在图1中,控制器11、现场设备15-22和I/O卡26、28是有线设备,现场设备40-46是无线现场设备。当然,有线现场设备15-22和无线现场设备40-46可以遵从任何其它期望的标准或协议,诸如任何有线或无线协议,包括将来开发的任何标准或协议。
图1的过程控制器11包括处理器30,其实现或监督一个或多个过程控制例程38(例如,存储在存储器32中的过程控制例程)。处理器30被配置为与现场设备15-22和40-46通信以及与通信地连接到控制器11的其它节点通信。应当注意,如果需要的话,本文描述的任何过程控制例程或模块可以使其部分由不同的控制器或其它设备实现或执行。同样地,本文描述的将在过程控制系统5内实现的过程控制例程或模块38可以采取任何形式,包括软件、固件、硬件等。控制例程可以以任何期望的软件格式实现,诸如使用面向对象编程、梯形逻辑、顺序功能图、功能框图、或使用任何其它软件编程语言或设计范例。控制例程38可以存储在任何所需类型的存储器32(诸如随机存取存储器(RAM)或只读存储器(ROM))中。同样,控制例程38可以硬编码到例如一个或多个EPROM、EEPROM、专用集成电路(ASIC)或任何其它硬件或固件元件中。因此,控制器11可以被配置为以任何期望的方式实现控制策略或控制例程。
控制器11使用通常所称为的功能块实现过程控制策略或控制例程38,其中每个功能块是整个控制例程的对象或其它部分(例如,子例程)并且与其它功能块一起操作(通过称为链路的通信)以实现过程控制系统5内的过程控制回路。基于控制的功能块通常执行输入功能(诸如与变送器、传感器或其它过程参数测量设备相关联的输入功能)、控制功能(诸如与执行PID、模糊逻辑等控制的控制功能)和输出功能(其控制一些设备(例如阀)的操作)中的一个,以在控制系统5内执行一些物理功能。当然,存在混合和其它类型的功能块。功能块可以存储在控制器11中并由控制器11执行,这通常是这些功能块用于标准4-20mA设备和一些类型的智能现场设备(例如设备)或与它们相关联的情况,或者可以存储在现场设备本身中并由其实现,这可以是现场总线设备的情况。控制器11可以包括一个或多个控制例程38,其可以实现通过执行一个或多个功能块来执行的一个或多个控制回路。
有线现场设备15-22可以是任何类型的设备,诸如传感器、阀、变送器、定位器等,而I/O卡26和28可以是任何所需的通信或控制器协议的任何类型的I/O设备。在图1中,现场设备15-18是标准的4-20mA设备或设备,它们通过模拟线路或组合的模拟和数字线路与I/O卡26通信,而现场设备19-22是智能设备,诸如现场总线现场设备,其使用现场总线通信协议通过数字总线与I/O卡28通信。然而,在一些实施例中,有线现场设备15、16和18-21中的至少一些和/或I/O卡26、28中的至少一些附加地或替代地使用过程控制数据高速通道10和/或通过使用其它合适的控制系统协议(例如,Profibus、DeviceNet、现场总线、ControlNet、Modbus、HART等)与控制器11通信。
在图1中,无线现场设备40-46使用无线协议(诸如协议)经由无线过程控制通信网络70进行通信。这样的无线现场设备40-46可以直接与无线网络70的一个或多个其它设备或节点通信,这些其它设备或节点也被配置为无线通信(例如,使用无线协议或另一无线协议)。为了与未被配置为无线通信的一个或多个其它节点通信,无线现场设备40-46可以利用连接到过程控制数据高速通道10或另一个过程控制通信网络的无线网关35。无线网关35提供对无线通信网络70的各种无线设备40-58的访问。具体地,无线网关35提供无线设备40-58、有线设备11-28和/或过程控制工厂5的其它节点或设备之间的通信耦合。例如,无线网关35可以通过使用过程控制数据高速通道10和/或通过使用过程工厂5的一个或多个其它通信网络来提供通信耦合。
类似于有线现场设备15-22,无线网络70的无线现场设备40-46在过程工厂5内执行物理控制功能,例如打开或关闭阀,或者测量过程参数。然而,无线现场设备40-46被配置为使用网络70的无线协议进行通信。这样,无线现场设备40-46、无线网关35和无线网络70的其它无线节点52-58是无线通信数据包的生产者和消费者。
在过程工厂5的一些配置中,无线网络70包括非无线设备。例如,在图1中,图1的现场设备48是传统的4-20mA设备,而现场设备50是有线设备。为了在网络70内通信,现场设备48和50经由无线适配器52a、52b连接到无线通信网络70。无线适配器52a、52b支持无线协议(诸如WirelessHART),并且还可以支持一个或多个其它通信协议,诸如现场总线、PROFIBUS、DeviceNet等。另外,在一些配置中,无线网络70包括一个或多个网络接入点55a、55b,其可以是与无线网关35进行有线通信的单独物理设备,或者可以提供有无线网关35作为一体设备。无线网络70还可以包括一个或多个路由器58,用于将数据包从一个无线设备转发到无线通信网络70内的另一个无线设备。在图1中,无线设备40-46和52-58彼此通信并且通过无线通信网络70的无线链路60,和/或通过过程控制数据高速通道10与无线网关35。
在图1中,过程控制系统5包括通信地连接到数据高速通道10的一个或多个操作员工作站71。通过操作员工作站71,操作员可以查看和监视过程工厂5的运行时操作,以及进行可能需要的任何诊断、纠正、维护和/或其它操作。至少一些操作员工作站71可以位于工厂5中或附近的各种受保护区域,并且在一些情况下,至少一些操作员工作站71可以远程定位,但是仍然与工厂5通信连接。操作员工作站71可以是有线或无线计算设备。
示例性过程控制系统5进一步示出为包括配置应用72a和配置数据库72b,每个配置应用72a和配置数据库72b也通信地连接到数据高速通道10。如上讨论的,配置应用72a的各种实例可以在一个或多个计算设备(未示出)上执行以使用户(例如,配置工程师)能够创建或改变过程控制模块并通过数据高速通道10将这些模块下载到控制器11,以生成代表其中一个控制器11的虚拟控制器,用于模拟或测试草图过程控制模块,以及使用户能够创建或改变操作员界面,操作员通过该操作员界面能够查看数据并改变过程控制例程内的数据设置。配置数据库72b存储所创建的(例如,配置的)模块,包括模板模块、控制模块、显示模块和/或操作员界面。通常,配置应用72a和配置数据库72b是集中的并且对过程控制系统5具有统一逻辑外观,尽管配置应用72a的多个实例可以在过程控制系统5内同时执行,并且配置数据库72b可以是跨多个物理数据存储设备实现。因此,配置应用72a、配置数据库72b及其用户接口(未示出)包括用于控制和/或显示模块的配置或开发系统72。通常但非必要地,配置系统72的用户界面与操作员工作站71不同,因为不管设备5是否在实时操作,配置系统72的用户界面由配置和开发工程师使用,而操作员工作站71由操作员在过程工厂5的实时操作(这里也可互换地称为过程工厂5的“运行时”操作)期间使用。
示例性过程控制系统5包括数据历史库应用73a和数据历史库数据库73b,每个数据历史库应用73a和数据历史库数据库73b也通信地连接到数据高速通道10。数据历史库应用73a操作以收集跨越数据高速通道10提供一些或全部数据,并且将数据历史化或存储在历史库数据库73b中以用于长期存储。类似于配置应用72a和配置数据库72b,数据历史库应用73a和历史库数据库73b是集集中的并且对过程控制系统5具有统一逻辑外观,尽管数据历史库应用73a的多个实例可以在过程控制系统5内同时执行,并且数据历史库73b可以跨多个物理数据存储设备实现。
在一些配置中,过程控制系统5包括一个或多个其它无线接入点74,其使用其它无线协议与其它设备通信,诸如Wi-Fi或其它符合IEEE802.11的无线局域网协议、诸如WiMAX(全球微波接入互操作性)、LTE(长期演进)或其它ITU-R(国际电信联盟无线电通信部门)兼容协议的移动通信协议、诸如近场通信(NFC)和蓝牙的短波无线电通信、或其它无线通信协议。通常,这样的无线接入点74允许手持式或其它便携式计算设备(例如,用户接口设备75)通过与无线网络70不同并且支持与无线网络70不同的无线协议的相应无线过程控制通信网络进行通信。例如,无线或便携式用户接口设备75可以是由过程工厂5内的操作员使用的移动工作站或诊断测试设备(例如,一个操作员工作站71的实例)。在一些场景中,除了便携式计算设备之外,一个或多个过程控制设备(例如,控制器11、现场设备15-22或无线设备35、40-58)也使用由接入点74支持的无线协议进行通信。
在一些配置中,过程控制系统5包括通往位于即时过程控制系统5外部的系统的一个或多个网关76、78。通常,这样的系统是由过程控制系统5生成或在过程控制系统5上操作的信息的客户或供应商。例如,过程控制工厂5可以包括网关节点76,以将即时过程工厂5与另一个过程工厂通信连接。附加地或替代地,过程控制工厂5可以包括网关节点78,以将即时过程工厂5与外部公共或私有系统(诸如实验室系统(例如,实验室信息管理系统或LIMS)、操作员轮次数据库、物料处理系统、维护管理系统、产品库存控制系统、生产调度系统、气象数据系统、运输和处理系统、包装系统、互联网、其它提供商的过程控制系统或其它外部系统)通信连接。
应注意,尽管图1仅示出了单个控制器11以及有限数量的现场设备15-22和40-46以及、无线网关35、无线适配器52、接入点55、路由器58和无线过程控制通信网络70被包括在示例性过程工厂5中,这仅是说明性和非限制性实施例。任何数量的控制器11可以包括在过程控制工厂或系统5中,并且任何控制器11可以与任何数量的有线或无线设备和网络15-22、40-46、35、52、55、58和70通信以控制工厂5中的过程。
此外,应注意,图1的过程工厂或控制系统5包括通过数据高速通道10通信连接的现场环境122(例如,“过程工厂底层122”)和后端环境125。如图1所示,现场环境122包括在其中布置、安装和互连的物理部件(例如,过程控制设备、网络、网络元件等),以操作从而在运行时期间控制过程。例如,控制器11、I/O卡26、28、现场设备15-22以及其它设备和网络部件40-46、35、52、55、58和70被定位、布置或以其它方式包括在过程工厂5的现场环境122中,一般而言,在过程工厂5的现场环境122中,使用设置在其中的物理部件接收和处理原材料以生成一种或多种产品。
过程工厂5的后端环境125包括各种部件,诸如计算设备、操作员工作站、数据库(database)或数据库(databank)等,其被屏蔽和/或保护免受现场环境122的恶劣条件和材料的影响。参考图1,后端环境125包括例如操作员工作站71、用于控制模块和其它可执行模块的配置或开发系统72、数据历史库系统73和/或其它集中式管理系统、计算设备、和/或支持过程工厂5的运行时操作的功能。在一些配置中,过程工厂5的后端环境125中包括的各种计算设备、数据库和其它部件和设备可以在不同的物理位置处物理上定位。其中一些位置可能是过程工厂5的本地位置,其中一些位置可能是远程的位置。
图2A示出了包括硬件和软件实体的示例性后端系统200,这些硬件和软件实体使得能够在现场装备被连接到和/或分配到工厂中的各种I/O网卡和/或通道之前(至少部分地)创建、测试、配置以及调试后端系统部件(例如,并且特别地,与过程控制器相关的那些后端部件)。在示例性实现方式中,后端系统200可以包括在图1的后端环境125中。
更具体地,如图2A所示,后端系统200可以包括控制、维护和仿真系统,其被描绘为控制系统210、资产管理系统(AMS)212和仿真系统214。为了简单起见被示为单个块的控制系统210可以包括许多不同的控制应用和数据库,这些控制应用和数据库在相同或不同的控制系统处理设备中——例如在图1的各种不同的处理设备、用户工作站、服务器和数据库中——存储和执行。更具体地,控制系统210可以包括一个或多个控制系统设计应用210A例如配置应用,这些控制系统设计应用210A可以用于创建各种控制模块、控制功能块、控制用户接口应用及其它控制程序(例如,如图2A中所示的并且本文中通常称为控制模块210B)。由于控制应用210A可以用于促进调试活动,因此包括配置应用在内的任何控制应用210A也可以称为“调试工具”。通过使用控制应用210A生成和/或修改的控制模块210B可以最终被下载、存储在现场环境122中的一个或多个过程控制器或安全系统逻辑设备中并且在其中执行。当在运行期间于现场环境122中的一个或多个过程控制器或安全逻辑设备中执行时,控制模块210B可以执行控制例程以实现控制动作、执行安全系统例程以实现安全动作等。可以在一个或多个后端系统计算机设备中执行的控制用户接口应用例如具有用户接口的工作站等可以使控制工程师、控制操作员、或其它人员能够在工厂中执行各种基于控制的活动。一旦被创建,这种控制模块、例程、应用和程序210B可以在过程工厂5运行时间期间被下载到控制系统的现场环境122的各种控制器、I/O设备、现场设备、数据库、用户接口设备、服务器、处理设备等中并在其中执行。附加地或替代性地,控制模块、例程、应用和程序可以由仿真系统214处的仿真环境中的虚拟控制器执行。此外,所创建的控制模块210B(例如,其可以由各种互连的功能块组成)、安全仪表模块、用户接口模块、通信模块、分析模块、数据库模块等可以存储在配置数据库216中(未示出)。在某个时候,这些控制模块、程序、接口等210B还可以在调试过程期间被下载并安装在各种计算机处理设备中,例如在过程控制器、工作站、用户接口设备、数据库、服务器等中。
同样地,资产管理系统(AMS)212可以包括各种维护系统创建和配置应用212A,维护系统创建和配置应用212A用于创建维护系统对象、用户接口、数据库对象或其它应用或模块212B,212B可以在工厂中的各种设备中进行存储和执行,以执行工厂中的——包括在用户工作站设备、手持式设备、便携式计算设备等中的——维护活动。模块、对象、程序和应用212B可以通过其它维护系统部件或结合其它维护系统部件来运行,并且可以在各种平台或设备——例如后端系统设备、可以在工厂内移动的手持式或便携式设备——上运行。此外,这些模块、应用、程序、接口等可以用于在过程或工业工厂内的设备上——包括在工厂的控制系统和工厂的安全仪表系统中的设备上——执行任何期望或已知类型的维护活动。如图2A所示,AMS系统212的部件可以连接到配置数据库216并且可以向配置数据库216存储信息和从配置数据库216接收信息,并且可以进行操作以在工厂的操作期间更新或改变配置数据库216中的数据、对象或其它信息。
此外,图2A的后端环境200被示为包括仿真系统214,仿真系统214可以包括各种应用214A,应用214A可以用于测试使用控制系统210内的应用210A和212A以及AMS 212来开发的和/或存储在配置数据库216中的控制模块210B、安全模块210B、通信模块210B、资产管理系统模块212B、用户接口应用210B和212B中的各种模块和应用。在一些情况下,作为控制模块210B和/或其相应控制器262的调试的一部分,可以使用仿真系统应用214A来创建用于执行虚拟控制器的仿真环境以测试和开发控制模块和/或控制例程。在图2A中,通过使用仿真系统应用214A创建的仿真组件(例如仿真环境、一个或多个虚拟控制器等)用附图标记214B指示。
为了能够在后端环境200完全通信地连接到现场设备之前和/或在I/O网络被配置为提供后端环境200与现场装备之间的通信路径之前对后端环境200的软件和硬件部件执行调试活动,后端环境200包括资产对象系统230,如图2B所示,资产对象系统230通信地连接到控制系统210、AMS 212、仿真系统214和配置数据库216。在一些情况下,资产对象系统230可以是配置数据库216的一部分,例如可以与配置数据库216一体地实现。资产对象系统230在其中存储各种设备占位符对象232,并且通常存储用于现场环境中的每件现场装备(例如,每个现场设备)的这种设备占位符对象232m。用于现场设备或其它硬件的设备占位符对象通常被指示为设备标签(DT)占位符对象232m。另外,资产对象系统230可以存储用于设备的每个不同的信号或可寻址参数的设备占位符对象,并且这些设备占位符对象通常被指示为设备信号标签(DST)对象232n。DST对象232n可以使用与设备信号标签所对应的设备的设备标签相同的设备标签作为根标签,具有包括在其中的额外或其它信息。因此,例如,用于DST对象的设备标签232n可以包括用于信号所属于的DT对象的设备标签232m,具有与其连接的额外信号标签信息。
一般而言,如上面所描述的现场设备环境122中所创建的,为相同设备(以及在适当情况下,设备信号)中的每一者创建设备占位符对象232。因此,后端环境200中的设备占位符对象232在其中存储有与现场装备环境122中加载的设备对象格式相同且类型相同的信息(其中这些经验证的设备对象可以在后端系统200中存储于配置数据库216中作为例如对象210B,并且可以从配置数据库216下载到现场环境122中)。无论如何,设备占位符对象232(或其实例)可以存储I/O通信通道信息,例如可以是定义、参数、I/O设备类型、I/O设备等的I/O通道属性,其被用于将现场设备通信地连接到后端系统200和/或设置在现场环境122中的过程控制器及其它设备。
另外,存储在设备占位符对象232中的I/O通道属性可以用在由仿真系统214执行的仿真中。为此,在设备占位符对象232中所存储的用于现场设备的I/O通道信息为仿真系统214提供了复制、使用和测试设备占位符对象(或其实例)的能力,而无需将设备占位符对象232分配给特定的I/O通道。当然,仿真系统214仍然能够复制、使用和测试已分配给特定I/O通道的设备占位符对象232。
因此,可以使用现场设备的系统标签和/或设备信号标签(其指的是使用现场设备的系统标签的现场设备的特定信号或参数),在控制系统配置应用210A中、在维护系统配置应用212A中以及在仿真系统创建应用214B中创建(如通常那样)需要或涉及将信号发送到工厂5中的现场设备中的一个或多个现场设备或者从工厂5中的现场设备中的一个或多个现场设备接收信号的创建的对象、模块、应用和程序210B、212B、214B。通常,现场设备的系统标签、设备标签和/或设备信号标签可以在后端系统200中存储于AMS系统212中和/或控制系统210中,例如存储在配置数据库216中。然后,用户可以使用控制系统应用210A、维护系统应用212A和仿真系统应用214A或独立仿真或配置应用来配置和执行模块、对象、应用和程序210B、212B、214B,210B、212B、214B在执行期间可以使用存储在后端系统200中设备系统标签(和/或基于设备系统标签的设备信号标签)以定位资产对象系统230中针对引用的设备或设备信号的设备占位符对象232。当资产对象系统230中所存储的设备占位符对象232被指示为处于I/O未分配状态时,控制系统210、维护系统212、仿真系统214或其它仿真或测试引擎识别出实际的现场设备没有经由控制系统I/O通信网络连接到后端系统200。然而,在这些情况下,设备占位符对象232仍然可以存储关于被调用模块、应用或程序所需或所引用的设备(和/或经由I/O网络到达设备所需的I/O路径或通道)的信息,并且因此设备占位符对象232可以基于设备占位符对象232内存储的配置数据来提供响应或用于提供响应以模仿设备的操作或实际设备的响应,或者以指示调用是否基于关于被寻址的设备而存储的设备和I/O通道信息来适当地配置。
为此,当创建设备占位符对象232时,可以为设备占位符对象232分配关于与设备占位符对象相关联的对象的类型的默认参数。例如,配置数据库216存储用于可用于应用210A、212A和214A的设备对象的模板对象。模板对象包括关于该对象类型的默认参数。在一些实施例中,资产对象系统230创建模板对象的副本以创建设备占位符对象232,使得设备占位符对象包括默认参数。
在其它情况下,控制应用210A、维护应用212A、仿真应用214A或在例如在资产对象系统230中的单独的执行引擎在从设备占位符对象232识别出现场设备处于I/O未分配设备状态时可以创建来自现场设备的仿真响应,以将已知信号提供回给请求对象,以使得能够对请求对象进行测试和仿真,就好像该现场设备实际上经由控制系统I/O网络连接到后端环境200。
图2B示出了下述后端系统200:该后端系统具有经由一个或多个总线或通信网络260互连在一起的图2A的各种后端功能系统,并且具体地包括连接到通信总线260的控制系统210、资产管理系统212、仿真系统、配置数据库216和资产对象系统数据库230,其中通信总线260可以使用任一种或多种类型的通信网络例如有线或无线以太网连接等来实现。另外,一个或多个过程控制器262(其可以包括例如图1的过程控制器11)被示出为连接到总线260。控制器262在图2B中被示出为通过I/O网络263连接到各种现场设备或现场资产264。然而,应当注意的是,I/O网络263在调试过程期间可能未连接到控制器262,或者尽管I/O网络263可能连接到控制器262,但是I/O网络263可能尚未配置或分配。因此,控制器262可能不具有对如何经由I/O网络263访问特定现场设备或现场资产264的理解或指示(例如,因为通过I/O网络263到每个这种现场设备264的信号路径尚未建立或分配)。类似地,控制器262可能不能经由配置的信号路径与现场设备进行通信,因为现场设备264可能尚未物理连接到I/O网络263。因此,尽管图2B中示出了I/O网络263和现场设备264,但是在后端系统200中发生的调试活动中的一些调试活动期间,I/O网络263可能实际上未连接到控制器262和/或各种现场设备264中的现场设备可能未连接到I/O网络263。
另外,配置应用210A使配置工程师能够在仿真系统214中实现虚拟控制器214B。为此,配置应用210A分析分配给要被虚拟化的控制器的任何控制模块210B,以识别包括在控制例程中的任何I/O对象,例如DT 232m和/或DST 232n。对于这些I/O对象中的每个I/O对象,配置应用210A生成相应的虚拟I/O对象234m、234n,虚拟I/O对象234m、234n存储在后端系统200中,例如在配置数据库216处。当配置应用210A在仿真系统214中建立虚拟控制器仿真214B时,配置应用210A将控制模块210B中的对I/O对象232m、232n的物理位置的任何引用替换为对对应的虚拟I/O对象234m、234n的位置的引用。应当注意的是,在一些实施例中,模块的非I/O参数仍然可以引用物理路径。
可以理解的是,I/O对象232m、232n可以被分配给具有分配的或未分配的I/O路径的现场设备。另外,在一些控制例程中,I/O设备(例如,I/O卡或支持I/O对象232m、232n的其它合适硬件)可以从任何现场设备264取消分配。对于分配给具有分配的I/O路径的现场设备264的I/O设备,配置应用210A可以通过复制在配置数据库216中配置、存储且与分配的现场设备264对应的对应DT对象或DST对象来生成虚拟I/O对象234。另一方面,对于分配给不具有分配的I/O路径或根本未分配给设备的现场设备的I/O设备,配置应用210A可以通过复制存储在资产对象系统230中以与尚待分配的现场设备264对应的设备占位符对象232来生成虚拟I/O对象234。替代性地,在任一情况下,配置应用210A可以通过复制存储在配置数据库216中的模板对象来生成虚拟I/O对象234。应当理解的是,因为对虚拟I/O对象234的引用仅在实现虚拟控制器214B时包括在控制模块210B中,因此在经由仿真系统214成功测试了对象控制模块210B时,相同的控制模块210B可以下载到控制器262中而没有修改。
另外,如图2B所示,各种系统210、212和214包括配置应用,例如控制应用或控制模块创建应用210A、维护对象或接口创建应用212A以及仿真系统应用214A,这些配置应用可以在工厂调试期间使用,或者用于创建模块、对象、应用和/或用户接口程序210B、212B、214B中的各种模块、对象、应用和/或用户接口程序,其将被下载到后端系统200内的各种计算设备例如图1中示出的那些设备中的任何设备并且潜在地在所述各种计算设备中运行,或者其可以被提供给控制器262(或未示出的安全系统逻辑解算器)或其它设备中的一者,以便当工厂5在线操作时——即在工厂5已被调试之后——在工厂5操作期间执行。
应当理解的是,资产对象系统或数据库230存储针对现场设备资产264中的每个现场设备资产的设备占位符对象232,并且因此在这些占位符对象处于I/O未分配设备状态时向其它系统210、212、214提供关于这些对象的配置信息。类似地,存储在配置数据库216处的虚拟I/O对象234也提供关于现场设备资产264的配置信息。对设备占位符对象232和/或虚拟I/O对象234的使用使得诸如程序210A、212A、214A之类的其它应用能够在现场设备264实际通过I/O网络263连接或分配到各种控制器262之前完成对对象、模块、应用和程序210B、212B、214B的各种调试和测试活动。例如,一些测试活动可以由实现分配给控制器262的控制模块210B的虚拟控制器214B进行。
一旦设备占位符对象232和/或虚拟I/O对象234至少在某种程度上被配置为例如具有诸如设备系统标签、设备类型和可以确定的或基于设备类型的各种子信息(包括由用户提供的这种子信息)之类的信息,和/或具有与将用于与现场设备264通信的I/O通道有关的I/O通道信息,则各种其它应用210A、212A、214A可以使用这些设备占位符对象232和/或虚拟I/O对象234作为用于与实际现场设备264或与现场设备264内的信号进行通信的代理。因此,设备占位符对象232和/或虚拟I/O对象234用作实际现场设备264的代理,并且在调试过程或测试过程期间诸如控制应用210A、维护应用212A和仿真应用214A之类的其它应用可以与设备占位符对象232或虚拟I/O对象234(使用系统、设备或设备信号标签)进行通信,而不是尝试经由I/O网络263与实际现场设备264进行通信。该特征使得应用210A、212A、214A在现场设备264经由I/O网络263连接到控制系统并进行分配之前能够使用它们在那些应用的在线操作期间将具有的唯一信息(即,设备系统标签和/或设备信号标签)来测试由此创建的控制模块,以执行测试、配置、仿真和各种其它调试活动。
图2C示出了仿真或测试系统270,该仿真或测试系统270可以结合控制应用210A中的一个控制应用进行操作,这些控制应用210A用于经由虚拟控制器236对一个或多个控制模块210B的操作进行仿真或测试,以由此实现在那些模块或对象被下载到现场环境122中的控制器262(或下载到要连接到负责测试控制模块的控制器262的一个或多个现场设备264)之前对后端环境125或后端系统200中的控制对象或模块210B进行测试。具体地,图2C的系统270被示出为执行并测试由互连的功能块272a、272b、272c的集合组成的控制模块210B,这些互连的功能块272a、272b、272c通过通信链路进行互连,其中控制模块210B是控制系统210的一部分。附加地或替代性地,系统270执行并测试与后端系统200中的诸如资产管理系统212和仿真系统214之类的其它系统相关联的其它模块、应用、程序、对象等。
在任何情况下,系统270包括执行引擎280,执行引擎280则执行控制模块210B的功能块272a至272c中的每个功能块,并提供这些功能块272a至272c之间的由通信链路所定义的通信。应当注意的是,执行引擎280可以是实现应用210A、212A、214A中的任一应用的计算机处理设备,或者可以是运行出于调试目的而设计的专用仿真或测试应用(其可以与仿真应用214A不同)的处理器。因此,执行引擎280可以是控制系统210、资产管理系统212、仿真系统214等的一部分,或者执行引擎280可以是被设计为或专用于实现测试和调试活动的独立部件。此外,可以在后端系统200中的任何地方(在任何期望的计算设备中)实现执行引擎280,只要执行引擎280通信地耦合到资产对象系统230或数据库216。
在任何情况下,在执行需要与现场设备或其它现场资产通信的特定功能块272期间,执行引擎280调用或使用通信接口282以使用例如现场设备的系统标签与现场设备进行对接(这在控制、维护和仿真模块中是常见的)。如上所述,当实现虚拟控制器236时,配置应用210A将功能块272a至272c中的一个功能块对DT或DST的任何引用配置为对存储在配置数据库216中的相应虚拟I/O对象234的引用。因此,执行引擎280使用用于虚拟I/O对象234的通信路径来执行对包括控制模块210B中的I/O设备的引用。
为此,执行引擎280不知道(或者不需要知道,就此而言)到达现场环境122中的现场设备264所需的通信路径(即,I/O网络路径)和/或该路径是否已经或尚未调试。而是,执行引擎280经由通信接口282发送请求(例如,发送到配置数据库216)以经由现场设备的虚拟I/O对象234来访问现场设备的配置信息和/或I/O通道。通信接口282获取存储在虚拟I/O对象234处的该期望或所需的信息,并将该信息提供回给执行引擎280。在一些情况下,设备虚拟I/O对象234可以存储与实际现场设备相关联的或定义实际现场设备的配置信息,例如设备类型、源(长)标签、系统(短)标签、设备范围、限制、能力等。在所请求的信息实际存储在虚拟I/O对象234中的情况下,可以从虚拟I/O对象234返回该信息,就像该信息来自现场设备264本身。
此外,在一些情况下,通信接口282可以仅确定来自控制模块210B的所请求的通信是否匹配或符合设备的适当协议或设备配置或者与虚拟I/O对象234相关联的设备的I/O通道。该确定还使调试人员能够基于存储在虚拟I/O对象234内的设备类型、设备配置参数、I/O通道配置参数等来确定控制模块210B是否被正确配置为与特定设备进行通信。
然而,在其它情况下,所请求的现场设备数据可能涉及由现场设备基于现场设备的实际操作而收集或生成的非配置数据。因此,通信接口282可以访问虚拟I/O对象234的仿真响应块或模块,该仿真响应块或模块可以提供现场设备的仿真响应以对现场设备的操作进行仿真。仿真响应块或模块可以是特定于调试过程的,并且可以提供为生成虚拟I/O对象234的一部分。在一些情况下,当创建虚拟I/O对象234时,为虚拟I/O对象234的仿真块提供默认仿真值。这种仿真响应可以由用户或测试系统提供,可以存储在出于测试和调试目的而创建的仿真文件中,可以由与仿真应用214A交互的用户即时地(on the fly)生成,或者可以以其它方式提供。该仿真的设备响应(其可以是设备状态、设备测量、设备参数等的仿真值)被提供给执行引擎280,就像该值是从现场设备自身返回的值或信号。该仿真响应由此能够实现基于预定义的设备响应来对控制模块210B进行进一步测试。一般而言,仿真块可以被配置为使虚拟I/O对象234看起来像智能对象或者表现为能够将实际设备响应提供回给请求模块(即,正在测试的模块210B)。在其它情况下,通信接口282使用虚拟I/O对象234的仿真块来以出于测试或仿真目的的一些已知方式模仿由虚拟I/O对象234定义的设备操作。
在一些情况下,例如当到达现场环境122中的现场设备264所需的通信路径(即,I/O网络路径)的至少一部分已被调试和/或定义时(例如,如现场设备的相应设备占位符对象232的状态所示的),虚拟I/O对象234至少部分地直接从I/O网络路径263的调试部分获得所需的现场设备信息,并将该信息返回给执行引擎280。
当然,参照图2A至图2C描述的后端系统200可以包括更多、更少和/或替代性的功能,例如2017年5月18日提交的名称为“AUTOMATIC DISTRIBUTION OF DEVICE PARAMETERSFOR COMMISSIONING PORTIONS OF A DISCONNECTED PROCESS CONTROL LOOP”的PCT申请PCT/US2016/056610中描述的功能,该PCT申请的全部公开内容通过参引明确地并入本文。
图3示出了由配置应用呈现的示例性屏幕显示302,屏幕显示302包括将要由图1的过程工厂5中的控制器例如控制器11或262实现的控制例程(例如,控制例程210B)的指示。在一个示例中,配置应用是图1的后端环境125的配置应用72a中的一个配置应用和/或图2的后端系统200的控制系统210的控制应用210A。
配置应用包括诸如功能块模板对象和一些情况下的控制模块模板对象之类的模板对象的库。这些配置应用被用于配置将要在运行时间期间于过程工厂的控制器处实现(例如,由过程工厂的控制器执行)的控制模块的控制例程。模板对象具有与其相关联的默认参数、设置和方法。使用配置应用的工程师可以选择这些模板对象,并且实质上将所选择的模板对象的副本放置到配置屏幕中以开发控制模块。在选择模板对象并将模板对象放置到配置屏幕中的过程期间,工程师将这些对象的输入和输出互连,并且更改其参数、名称、标签及其它属性,以创建特定的控制模块从而在过程工厂中执行控制例程。
在所示的示例中,控制模块包括四个功能块,第一模拟输入(AI)块311、第二AI块312、模拟输出(AO)块313和PID控制块315。在所示的控制例程中,第一AI块311的输出与PID块315的FF_VAL参数的输入互连;第二AI块312的输出与PID块315的IN参数的输入互连;并且PID块315的OUT参数与AO块313的CAS_IN参数互连。应当理解的是,工程师可以为控制器分配任何数目的控制模块,这些控制模块实现相应的控制例程。
在为控制模块建立或创建控制例程之后,工程师可以将所创建的控制模块存储在库中或配置数据存储区域例如图2A至图2B的配置数据库216中。然后,工程师可以将控制模块实例化(例如,创建与控制模块对应的可执行文件)并将其下载到合适的控制器、现场设备及其它过程元件,以便在过程工厂的操作期间执行。然而,如本文所述,在过程工厂的调试期间,后端环境125、200与实现所设计的控制例程的控制器之间的通信路径可以断开连接。因此,使用本文描述的新颖技术中的至少一些新颖技术,配置应用使工程师能够在仿真环境中的虚拟控制器处执行(在运行时间期间将要由物理控制器实现的)每个控制模块,例如在图2A、图2B的仿真系统214处出于例如测试和/或验证的目的执行控制模块。
为此,配置应用提供用户控件320以修改实现所设计的控制模块的控制器的属性从而指示虚拟控制器(而非物理控制器)。图4示出了由配置应用呈现的示例性屏幕显示402,屏幕显示402经由用户控件320响应于用户输入以对控制器属性进行修改。在一个示例中,工程师点击由屏幕显示302呈现的用户控件320以使配置应用呈现屏幕显示402。
屏幕显示402包括一个或多个用户控件以配置和/或选择虚拟控制器。例如,用户控件422使工程师能够选择虚拟控制器的类型来实现控制例程的仿真。例如,用户控件422使工程师能够选择虚拟控制器的模型和该模型的软件版本。另外,屏幕显示包括用户控件424,用户控件424使工程师能够在将控制例程下载到物理控制器中与在虚拟控制器处执行控制例程之间切换。
在配置应用生成由配置工程师经由屏幕402指示的虚拟控制器之后,工程师可以出于例如测试和验证的目的对进入控制模块的各种输入进行仿真。为此,工程师启动仿真应用以测试由虚拟控制器执行的对象控制模块。仿真应用可以是图2的后端系统200的仿真系统214的仿真应用214A中的一个仿真应用。在一个示例中,配置应用包括接口以启动仿真应用。在另一示例中,仿真应用是在例如图1的后端系统125的工作站71处执行的独立应用。
图5示出了由仿真应用呈现的示例性屏幕显示500,该屏幕显示500提供用户控件以对图1的过程工厂5的虚拟DST的输入值进行仿真。仿真应用可以包括输入选项卡,该输入选项卡列出了包括在由虚拟控制器实现的一个或多个控制模块中的与输入设备对应的所有虚拟DST。在所示的示例中,虚拟控制器实现包括与各种输入设备对应的五个不同虚拟DST的控制模块。应当理解的是,如果由虚拟控制器控制的多个控制模块包括相同的DST,则虚拟DST仅列出一次。
对于列出的虚拟DST中的每个虚拟DST,屏幕显示500包括:虚拟DST所对应的设备的指示(引用502)、由引用虚拟DST的虚拟控制器实现的控制模块的指示(引用504)、与虚拟DST对应的信号参数的指示(引用506)、虚拟DST的仿真值的指示(引用508)、虚拟DST的状态的指示(引用510)以及虚拟DST所对应的设备的输出值的指示(引用512)。在一个示例中,这些值中的每个值均基于包括在存储于图2A和图2B的配置数据库216中的虚拟DST对象中的数据来填充。应当理解的是,直到实际执行仿真时才会填充输出值的指示。
屏幕显示500还包括一个或多个用户控件,以使工程师能够对列出的虚拟DST的输入值进行仿真。用户控件518使工程师能够为所选择的输入虚拟DST设置值。尽管用户控件518被示出为文本框,但是用户控件518可以是使工程师能够指示输入值的任何类型的用户接口元素,例如下拉框或单选(radio selection)元素。在一些实施例中,当虚拟DST生成时,为虚拟DST分配默认仿真参数。另外,用户控件520使仿真应用520能够接收指示以启动基于经由用户控件518设置的虚拟DST的输入值的仿真。
当工程师选择用户控件520时,仿真应用执行由虚拟控制器实现的控制模块。为此,仿真应用将经由用户控件518输入的值写入存储在图2A至图2B的配置数据库216处的所选择的虚拟DST的虚拟DST对象。如本文之前所描述的,当配置应用生成虚拟控制器时,配置应用用对虚拟DST的引用替换对DST的引用。因此,当仿真应用将输入值写入虚拟DST对象时,控制例程对输入作出响应,好像DST已产生输入值。因此,后端环境125中的仿真产生在控制模块由运行时间环境122中的控制器实现的情况下将产生的相同的错误和警告。
图6示出了由仿真应用呈现的示例性屏幕显示600,该屏幕显示600指示图1的过程工厂的虚拟控制器的输出。仿真应用可以包括输出选项卡,该输出选项卡列出了包括在由虚拟控制器实现的控制模块中的与输出设备对应的所有虚拟DST。在所示的示例中,控制器实现包括与输出设备相关联的一个DST的控制模块。
对于列出的虚拟DST中的每个虚拟DST,屏幕显示600包括:虚拟DST所对应的设备的指示(引用602)、由引用虚拟DST的虚拟控制器实现的控制模块的指示(引用604)、与虚拟DST对应的信号参数的指示(引用606)、虚拟DST的输出值的指示(引用608)以及虚拟DST的状态的指示(引用610)。在一个示例中,这些值中的每个值均基于包括在存储于图2A至图2B的配置数据库216中的虚拟DST对象中的数据来填充。
图7描绘了用于测试或验证过程工厂5中的控制例程的示例性方法700的流程图。方法700可以在后端环境(例如图1的后端环境125或图2A-2B的后端环境200)的操作员工作站71、服务器或任何其它合适的计算设备上执行。在一些实施例中,方法700可以在配置应用72b、210A中实现,配置应用72b、210A存储在非暂时性计算机可读存储器上并且可在操作员工作站71、服务器或任何其它合适的计算设备的一个或多个处理器上执行。例如,配置应用72可以是图2A-2B的控制系统210的配置应用210A。
在框702处,方法700包括接收对在现场环境122中要由物理控制器11实现的控制例程或控制模块的指示。在一个实施例中,配置应用72呈现显示屏幕300以使工程师能够设计控制例程或模块。为此,配置应用72a、201A使工程师能够指派和互连控制例程或模块的各种功能块。在一些实施例中,配置应用72可以接收对由多个控制模块实现的多个控制例程的指示,该多个控制模块将在运行时期间由相同的物理控制器11控制。
在框704处,方法700可以包括接收对要执行所指示的控制例程和/或控制模块的物理控制器11进行仿真(例如,通过使用虚拟控制器236)的请求。在一个示例中,经由在配置应用72a、210A内呈现的控制器属性界面(例如图4的显示屏400)接收该请求。在一些实施例中,该请求包括详细描述虚拟控制器236的期望软件版本和/或在其上要执行虚拟控制器236的仿真系统处的特定环境的信息。
在框706处,方法700可以包括为在所创建的控制例程或控制模块中使用(例如,由其引用)中的一个或多个DT和/或DST生成一个或多个相应的虚拟I/O对象234。在一个实施例中,配置应用72a、210A与配置数据库216对接,以便为包括在控制例程或模块中的每个DT/DST生成相应的虚拟I/O对象234。为了生成虚拟I/O对象234,配置应用72可以首先确定相应的DT/DST是被指派给具有分配的I/O路径的现场设备,指派给具有未分配的I/O路径的现场设备,还是根本不指派给现场设备。对于被指派给具有分配的I/O路径的现场设备的DT/DST,配置数据库216可以包括表示DT/DST的定义或配置的DT/DST对象。因此,在这些类型的场景中,为了为具有分配的I/O路径的现场设备生成虚拟I/O对象234,配置应用72a、210A将存储在配置数据库216中的DT/DST对象复制到相应的虚拟I/O对象234中。
另一方面,被指派给不具有分配的I/O路径的现场设备的DT/DST和未被指派的DT/DST可以替代地由存储在资产对象系统230中的相应设备占位符对象232表示。在一些实施例中,为了为未指派或未分配的DT/DST生成相应虚拟I/O对象234,方法700可以包括复制存储在资产对象系统230中的相应设备占位符对象232。在一些实现中,资产对象系统230包括在配置数据库216中。
另外地或替代地,配置数据库216可以存储特定类型的DT/DST的模板对象。这样,对于由要在运行时期间由物理控制器11执行的控制模块或例程引用的一些未指派和/或未分配的DT/DST,配置应用216可以确定目标(subject)DT/DST的类型。因此,为了创建对应的虚拟I/O对象234,配置应用216可以创建特定类型的DT/DST的模板对象的副本作为对应的虚拟I/O对象234。
另外,生成虚拟I/O对象234(框706)可以包括为虚拟I/O对象234中的至少一个生成仿真模块。如上所述,仿真模块可以使虚拟I/O对象234能够响应虚拟控制器236,好像该响应是由物理现场设备提供的。在一个实施例中,配置数据库216包括模板仿真对象,模板仿真对象被配置为模仿特定类型的DT/DST的性能。在某些情况下,仿真对象还包括默认仿真值。因此,在一个实施例中,当生成虚拟I/O对象234(框706)时,配置应用72a、210A可以包括或以其它方式指示与虚拟I/O对象234正在虚拟化的特定类型的DT/DST相对应的特定模板仿真对象。
在框708处,方法700可以包括将所生成的虚拟I/O对象234存储在配置数据库216中的相应位置处。为此,在示例性实现中,当配置应用72a、210A将虚拟I/O对象234存储在配置数据库216中时,配置应用72a、210A还向每个虚拟I/O对象234指派可以通过其访问每个虚拟I/O对象234的路径。在一些实施例中,配置数据库216包括用于存储虚拟I/O对象234的专用存储区域。应当理解,对应于特定虚拟对象234的任何DT/DST对象可以保持存储在配置数据库216中,并且特定虚拟I/O对象234所基于的任何设备占位符对象232可以保持存储在资产对象系统230中。
在框710处,方法700可以包括通过利用配置数据库216中针对特定DT/DST对象的对应虚拟I/O对象234的相应位置替换对特定DT/DST对象的位置的应用,来在仿真环境中实例化虚拟控制器236。为此,在一个实施例中,当在仿真系统处创立或建立虚拟控制器236时,配置应用72a、210A识别对在被指派为由虚拟控制器236实现的控制模块中包括的I/O设备的任何引用。因此,配置应用72a、210A修改控制模块和/或其中的功能块,以便每当需要至DT/DST的路径时包括至虚拟I/O对象234的相应路径。因此,虚拟控制器236响应,好像现场设备提供响应数据而不必将控制例程下载到物理控制器11、262中。
在一些实施例中,虚拟控制器236用于在控制器和/或现场设备被完全调试之前作为调试后端环境的一部分进行测试。因此,工程师可以与仿真应用交互以仿真与输入设备相关联的虚拟I/O对象234的特定输入值。如本文所述,仿真应用可以是独立应用或配置应用72a、210A的插件。然而,即使当仿真应用是独立应用时,执行配置应用72a、210A的相同的一个或多个处理器也执行仿真应用。
因此,在一些实施例中,仿真应用接收对与输入设备(例如向控制器提供输入的现场设备)相关联的特定虚拟DST的输入值的指示。在一个实施例中,通过图1的屏幕显示500接收输入值。在接收到对输入值的指示之后,仿真应用使虚拟控制器236使用输入值作为指示的虚拟I/O对象234的值来执行仿真。为此,在一个实施例中,仿真应用将输入值写入虚拟I/O对象234的仿真模块,使得虚拟控制器236作出反应,好像输入值是由对应的现场设备生成的。
在执行仿真之后,在一些实施例中,仿真应用呈现度与输出设备(例如向现场设备提供输出值的控制器)相关联的虚拟I/O对象234的仿真输出值的指示。在一个示例中,经由图6的屏幕显示600呈现输出值。与输出设备相关联的虚拟I/O对象234还可以包括基于特定输出值的输出状态(例如,良好、不良、小心、高、低等)。因此,仿真应用还可以呈现对与输出设备相关联的虚拟I/O对象234的输出状态的指示。
应当理解,虚拟控制器236可以驻留在仿真环境中,直到其被明确删除。因此,使用虚拟控制器236的调试测试可以在多小时、多天、多周等上发生。在此期间,相同或不同的工程师可以修改被指派给相应物理控制器262的控制模块。例如,可以将附加控制模块指派给对应的物理控制器262,可以从物理控制器262取消指派控制模块,或者可以修改用于控制模块的控制例程。在发生这些变化之后,虚拟控制器236不再反映物理控制器262的当前配置。因此,仿真应用可以监控配置数据库216以检测对物理控制器262的控制器对象和/或被指派给物理控制器262的控制模块的任何变化。
在检测到变化时,在一些实施例中,仿真应用向工程师呈现关于仿真应被刷新以反映物理控制器262的当前配置的通知。因此,仿真应用可以接收指示以刷新虚拟控制器236。在一些实施例中,仿真应用直接与配置数据库72b、216交互以生成刷新的虚拟控制器236。在其它实施例中,仿真应用利用配置应用72a、210A来刷新虚拟控制器236。在仿真应用刷新虚拟控制器236后,仿真应用可以用于使用所刷新的虚拟控制器236来执行仿真。
应当注意,尽管关于过程控制系统5描述了本文所描述的I/O虚拟化技术,但是本文所描述的I/O虚拟化技术中的任何一个或多个同样适用于过程控制工厂的过程控制安全信息系统,例如由艾默生过程管理公司提供的DeltaV SISTM产品。例如,可以使用本文所描述的智能调试技术中的任何一个或多个来调试独立的过程控制安全系统或集成的控制和安全系统(“ICSS”)。
此外,尽管本文所描述的I/O虚拟化技术应用于过程控制系统5正在被调试的过程中的场景,但是所述I/O虚拟化技术中的任何I/O虚拟化技术同样适用于完全调试的过程控制系统。也就是说,即使在完全调试的过程工厂中,配置工程师也可以在仿真环境中测试和/或仿真对控制器的变化,而不必将变化下载到被测试控制器。此外,如本文所述,由于仿真的控制模块不包括特殊仿真功能块,因此本文所描述的I/O虚拟化技术使得能够在不修改产品控制逻辑的情况下仿真控制器。
另外,当以软件来实现时,本文所描述的任何应用、服务和引擎可以存储在任何有形的、非暂时性计算机可读存储器中,例如存储在磁盘、激光盘、固态存储器设备、分子存储器存储设备或其它存储介质上,存储在计算机或处理器的RAM或ROM等中。虽然本文所公开的示例性系统被公开为包括在硬件上执行的软件和/或固件以及其它部件,但是应当注意,此类系统仅仅是说明性的并且不应被认为是限制性的。例如,可以预期,这些硬件、软件和固件组件中的任何或全部可以专门以硬件、专门以软件或以硬件和软件的任何组合来体现。因此,尽管本文所描述的示例性系统被描述为以在一个或多个计算机设备的处理器上执行的软件来实现,但是本领域普通技术人员将容易理解,所提供的示例不是实现此类系统的唯一方式。
因此,尽管已经参考特定示例描述了本发明,但是这些特定示例仅旨在是说明性的而不是对本发明进行限制,对于本领域普通技术人员将显而易见的是,在不脱离本发明的精神和范围的情况下,可以对所公开的实施例进行添加或删除。此外,虽然前述文本阐述了许多不同实施例的详细描述,但是应当理解,本专利的范围由本专利结尾处所阐述的权利要求的词语及其等同物限定。详细描述仅被解释为示例性的,并未描述每个可能的实施例,因为描述每个可能的实施例将是不切实际的(如果不是不可能的话)。使用当前技术或在本专利申请日之后开发的技术可以实现许多替代实施例,这仍然落入本专利的权利要求及其所有等同物的范围内。
本公开内容中描述的技术的实施例可以单独地或组合地包括任何数量的以下方面:
1.一种用于在过程工厂的调试期间对所述过程工厂中的过程控制器的输入/输入(I/O)进行虚拟化的计算设备,所述计算设备包括:配置数据库;一个或多个处理器;以及非暂时性计算机可读介质,其耦合到所述配置数据库和所述一个或多个处理器并且在其上存储配置应用,当所述配置应用由所述一个或多个处理器执行时,使得所述计算设备:接收对在所述过程工厂的运行时环境中要由过程控制器执行的控制模块的指示;以及接收对所述过程控制器进行仿真的请求,并且基于所接收到的请求:通过使用所述配置数据库,为所述控制模块中所包括的每个设备信号标签(DST)生成相应的虚拟DST;将每个虚拟DST存储在所述配置数据库的相应位置处;以及在仿真环境中,在与所述过程控制器相对应的虚拟控制器处实例化所述控制模块,包括利用所述每个虚拟DST的在所述配置数据库中的相应位置来替换对所述每个DST的相应位置的引用。
2.根据方面1所述的计算设备,其中:所述控制模块中所包括的第一特定DST被分配给现场设备;并且所述第一特定DST的相应虚拟DST包括存储在与所述第一特定DST相对应并被配置用于所述现场设备的DST对象的实例中的数据的副本。
3.根据前述方面中任一方面所述的计算设备,其中:所述控制模块中所包括的第二特定DST是以下中的一个:不被分配给任何现场设备,或者不被指派给任何现场设备;并且所述第二特定DST的相应虚拟DST包括与所述第二特定DST的类型相对应的模板对象的副本,所述模板对象的所述副本存储默认参数值。
4.根据前述方面中任一方面所述的计算设备,其中,所述计算设备通信地连接到所述过程工厂的资产对象系统,所述资产对象系统存储设备占位符对象。
5.根据前述方面中任一方面所述的计算设备,其中:所述控制模块中所包括的第三特定DST不被分配给任何现场设备;并且所述第三特定DST的相应虚拟DST包括存储在所述资产对象系统中的用于所述第三特定DST的设备占位符对象的副本。
6.根据前述方面中任一方面所述的计算设备,其中:所述控制模块中所包括的第四特定DST不被指派给任何现场设备;并且所述第四特定DST的相应虚拟DST包括存储在所述资产对象系统中的用于所述第四特定DST的设备占位符对象的副本。
7.根据前述方面中任一方面所述的计算设备,其中,所述配置应用还使得所述计算设备:接收对所述控制模块的输入值的指示;以及通过将所述输入值提供给与对所述虚拟控制器的输入相关联的虚拟DST来对执行所述控制模块的所述过程控制器进行仿真。
8.根据前述方面中任一方面所述的计算设备,其中,对执行所述控制模块的所述过程控制器的所述仿真经由与所述虚拟控制器的输出相关联的虚拟DST生成输出值,由所述虚拟控制器生成的所述输出值是基于所述输入值的。
9.根据前述方面中任一方面所述的计算设备,其中,所述配置应用还使得所述计算设备将所述控制例程下载到所述过程控制器中。
10.一种用于对过程工厂中的模块的输入/输出(I/O)进行虚拟化的方法,所述方法包括:由执行至少一个配置应用的一个或多个处理器接收对在所述过程工厂的运行时环境中要由过程控制器执行的控制模块的指示;以及由所述一个或多个处理器接收对所述过程控制器进行仿真的请求,并且在接收到所述请求时:通过访问配置数据库来为所述控制模块中所包括的每个设备信号标签(DST)生成相应的虚拟DST;将每个虚拟DST存储在所述配置数据库的相应位置处;以及在与所述过程控制器相对应的虚拟控制器处实例化所述控制模块,包括利用所述每个虚拟DST的在所述配置数据库中的相应位置来替换对所述每个DST的相应位置的引用。
11.根据方面10所述的方法,其中:所述控制模块中所包括的第一特定DST被分配给现场设备;并且生成所述第一特定DST的相应虚拟DST包括生成存储在与所述第一特定DST相对应并被配置用于所述现场设备的DST对象的实例中的数据的副本。
12.根据方面10-11中任一方面所述的方法,其中:所述控制模块中所包括的第二特定DST不被分配给任何特定设备;并且生成所述第二特定DST的相应虚拟DST包括生成与所述第二特定DST的类型相对应的模板对象的副本,所述模板对象的所述副本存储默认参数值。
13.根据方面10-12中任一方面所述的方法,其中:所述控制模块中所包括的第三特定DST不被分配给任何现场设备;并且生成所述第三特定DST的相应虚拟DST包括生成存储在所述资产对象系统中的用于所述第三特定DST的设备占位符对象的副本。
14.根据方面10-13中任一方面所述的计算设备,其中:所述控制模块中所包括的第四特定DST不被指派给任何现场设备;并且生成所述第四特定DST的相应虚拟DST包括生成存储在所述资产对象系统中的用于所述第四特定DST的设备占位符对象的副本。
15.根据方面10-14任一方面所述的方法,还包括:由所述一个或多个处理器接收对所述控制模块的输入值的指示;以及通过将所述输入值提供给与对所述虚拟控制器的输入相关联的虚拟DST来对执行所述控制模块的所述过程控制器进行仿真。
16.根据方面10-15中任一方面所述的方法,其中,对执行所述控制模块的所述过程控制器的所述仿真包括:经由与所述虚拟控制器的输出相关联的虚拟DST获得输出值,由所述虚拟控制器生成的所述输出值是基于所述输入值的。
17.根据方面10-16中任一方面所述的方法,还包括:由所述一个或多个处理器检测所述控制模块的变化;由所述一个或多个处理器刷新所述虚拟控制器以包括检测到的变化;以及由所述一个或多个处理器使用所刷新的虚拟控制器来执行经更新的仿真。
18.根据方面10-17中任一方面所述的方法,还包括:由所述一个或多个处理器将所述控制例程下载到所述过程控制器中。

Claims (18)

1.一种用于在过程工厂的调试期间对所述过程工厂中的过程控制器的输入/输入(I/O)进行虚拟化的计算设备,所述计算设备包括:
配置数据库;
一个或多个处理器;以及
非暂时性计算机可读介质,其耦合到所述配置数据库和所述一个或多个处理器并且在其上存储配置应用,当所述配置应用由所述一个或多个处理器执行时,使得所述计算设备:
接收对在所述过程工厂的运行时环境中要由过程控制器执行的控制模块的指示;以及
接收对所述过程控制器进行仿真的请求,并且基于所接收到的请求:
通过使用所述配置数据库,为所述控制模块中所包括的每个设备信号标签(DST)生成相应的虚拟DST;
将每个虚拟DST存储在所述配置数据库的相应位置处;以及
在仿真环境中,在与所述过程控制器相对应的虚拟控制器处实例化所述控制模块,包括利用所述每个虚拟DST的在所述配置数据库中的相应位置来替换对所述每个DST的相应位置的引用。
2.根据权利要求1所述的计算设备,其中:
所述控制模块中所包括的第一特定DST被分配给现场设备;并且
所述第一特定DST的相应虚拟DST包括存储在与所述第一特定DST相对应并被配置用于所述现场设备的DST对象的实例中的数据的副本。
3.根据权利要求1所述的计算设备,其中:
所述控制模块中所包括的第二特定DST是以下中的一个:不被分配给任何现场设备,或者不被指派给任何现场设备;并且
所述第二特定DST的相应虚拟DST包括与所述第二特定DST的类型相对应的模板对象的副本,所述模板对象的所述副本存储默认参数值。
4.根据权利要求1所述的计算设备,其中,所述计算设备通信地连接到所述过程工厂的资产对象系统,所述资产对象系统存储设备占位符对象。
5.根据权利要求4所述的计算设备,其中:
所述控制模块中所包括的第三特定DST不被分配给任何现场设备;并且
所述第三特定DST的相应虚拟DST包括存储在所述资产对象系统中的用于所述第三特定DST的设备占位符对象的副本。
6.根据权利要求4所述的计算设备,其中:
所述控制模块中所包括的第四特定DST不被指派给任何现场设备;并且
所述第四特定DST的相应虚拟DST包括存储在所述资产对象系统中的用于所述第四特定DST的设备占位符对象的副本。
7.根据权利要求1所述的计算设备,其中,所述配置应用还使得所述计算设备:
接收对所述控制模块的输入值的指示;以及
通过将所述输入值提供给与对所述虚拟控制器的输入相关联的虚拟DST来对执行所述控制模块的所述过程控制器进行仿真。
8.根据权利要求7所述的计算设备,其中,对执行所述控制模块的所述过程控制器的所述仿真经由与所述虚拟控制器的输出相关联的虚拟DST生成输出值,由所述虚拟控制器生成的所述输出值是基于所述输入值的。
9.根据权利要求1所述的计算设备,其中,所述配置应用还使得所述计算设备将所述控制例程下载到所述过程控制器中。
10.一种用于对过程工厂中的模块的输入/输出(I/O)进行虚拟化的方法,所述方法包括:
由执行至少一个配置应用的一个或多个处理器接收对在所述过程工厂的运行时环境中要由过程控制器执行的控制模块的指示;以及
由所述一个或多个处理器接收对所述过程控制器进行仿真的请求,并且在接收到所述请求时:
通过访问配置数据库来为所述控制模块中所包括的每个设备信号标签(DST)生成相应的虚拟DST;
将每个虚拟DST存储在所述配置数据库的相应位置处;以及
在与所述过程控制器相对应的虚拟控制器处实例化所述控制模块,包括利用所述每个虚拟DST的在所述配置数据库中的相应位置来替换对所述每个DST的相应位置的引用。
11.根据权利要求10所述的方法,其中:
所述控制模块中所包括的第一特定DST被分配给现场设备;并且
生成所述第一特定DST的相应虚拟DST包括生成存储在与所述第一特定DST相对应并被配置用于所述现场设备的DST对象的实例中的数据的副本。
12.根据权利要求10所述的方法,其中:
所述控制模块中所包括的第二特定DST不被分配给任何特定设备;并且
生成所述第二特定DST的相应虚拟DST包括生成与所述第二特定DST的类型相对应的模板对象的副本,所述模板对象的所述副本存储默认参数值。
13.根据权利要求10所述的方法,其中:
所述控制模块中所包括的第三特定DST不被分配给任何现场设备;并且
生成所述第三特定DST的相应虚拟DST包括生成存储在所述资产对象系统中的用于所述第三特定DST的设备占位符对象的副本。
14.根据权利要求4所述的计算设备,其中:
所述控制模块中所包括的第四特定DST不被指派给任何现场设备;并且
生成所述第四特定DST的相应虚拟DST包括生成存储在所述资产对象系统中的用于所述第四特定DST的设备占位符对象的副本。
15.根据权利要求10所述的方法,还包括:
由所述一个或多个处理器接收对所述控制模块的输入值的指示;以及
通过将所述输入值提供给与对所述虚拟控制器的输入相关联的虚拟DST来对执行所述控制模块的所述过程控制器进行仿真。
16.根据权利要求15所述的方法,其中,对执行所述控制模块的所述过程控制器的所述仿真包括:经由与所述虚拟控制器的输出相关联的虚拟DST获得输出值,由所述虚拟控制器生成的所述输出值是基于所述输入值的。
17.根据权利要求10所述的方法,还包括:
由所述一个或多个处理器检测所述控制模块的变化;
由所述一个或多个处理器刷新所述虚拟控制器以包括检测到的变化;以及
由所述一个或多个处理器使用所刷新的虚拟控制器来执行经更新的仿真。
18.根据权利要求10所述的方法,还包括:由所述一个或多个处理器将所述控制例程下载到所述过程控制器中。
CN201811162113.6A 2017-10-02 2018-09-30 用于调试的i/o虚拟化 Pending CN109597374A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762567110P 2017-10-02 2017-10-02
US62/567,110 2017-10-02

Publications (1)

Publication Number Publication Date
CN109597374A true CN109597374A (zh) 2019-04-09

Family

ID=65728109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811162113.6A Pending CN109597374A (zh) 2017-10-02 2018-09-30 用于调试的i/o虚拟化

Country Status (5)

Country Link
US (1) US11435728B2 (zh)
JP (1) JP7298973B2 (zh)
CN (1) CN109597374A (zh)
DE (1) DE102018124411A1 (zh)
GB (1) GB2568806B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112068495A (zh) * 2019-06-10 2020-12-11 费希尔-罗斯蒙特系统公司 用于实时过程控制的发布/订阅协议
TWI721689B (zh) * 2019-12-06 2021-03-11 群邁通訊股份有限公司 測試系統及方法
CN113268044A (zh) * 2020-02-14 2021-08-17 罗克韦尔自动化技术公司 增强现实人机接口的仿真系统和测试方法及介质
US11960270B2 (en) 2019-06-10 2024-04-16 Fisher-Rosemount Systems, Inc. Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019209322A1 (en) * 2018-04-27 2019-10-31 Hewlett-Packard Development Company, L.P. Signals to i/o devices based on virtual computer messages
US11249464B2 (en) 2019-06-10 2022-02-15 Fisher-Rosemount Systems, Inc. Industrial control system architecture for real-time simulation and process control
US11231701B2 (en) 2019-06-10 2022-01-25 Fisher-Rosemount Systems, Inc. Publish/subscribe protocol for real-time process control
GB2589661B (en) * 2019-06-10 2024-06-05 Fisher Rosemount Systems Inc Virtualized real-time I/O in process control systems
GB2589941B (en) * 2019-06-10 2024-03-27 Fisher Rosemount Systems Inc Ease of node switchovers in process control systems
US11768878B2 (en) * 2019-09-20 2023-09-26 Fisher-Rosemount Systems, Inc. Search results display in a process control system
US11768877B2 (en) * 2019-09-20 2023-09-26 Fisher-Rosemount Systems, Inc. Smart search capabilities in a process control system
US11092939B2 (en) 2019-10-07 2021-08-17 Fisher-Rosemount Systems, Inc. Preview mode for configuration logic
US11301277B2 (en) 2019-11-04 2022-04-12 International Business Machines Corporation Channel identifier coupling with virtualized communications hardware
US11314216B2 (en) * 2020-04-30 2022-04-26 Fisher-Rosemount Systems, Inc. Remote deployment and commissioning of workstations within a distributed control system
CN111531540B (zh) * 2020-05-09 2022-02-18 广州明珞汽车装备有限公司 一种机器人控制方法、系统、装置和存储介质
US11809359B2 (en) * 2021-02-19 2023-11-07 CyberSecureIPS, LLC Data structure and utilization metric generation for facilitating cable installation
US20220309753A1 (en) * 2021-03-25 2022-09-29 B/E Aerospace, Inc. Virtual reality to assign operation sequencing on an assembly line

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078182A1 (en) * 2002-10-21 2004-04-22 Mark Nixon Simulation system for multi-node process control systems
CN1542575A (zh) * 2002-10-22 2004-11-03 费舍-柔斯芒特系统股份有限公司 处理设备中图像显示元件、过程模块和控制模块的集成
CN102124432A (zh) * 2008-06-20 2011-07-13 因文西斯系统公司 对用于过程控制、环境控制和工业控制的实际和/或仿真设施进行沉浸式交互的系统和方法
US20110230980A1 (en) * 2010-03-22 2011-09-22 Fisher-Rosemount Systems, Inc. Methods and apparatus for a data driven interface based on relationships between process control tags
CN102338866A (zh) * 2011-06-02 2012-02-01 西安理工大学 基于虚拟标签算法的无线射频室内定位方法
CN103238143A (zh) * 2010-09-27 2013-08-07 费希尔-罗斯蒙特系统公司 用于虚拟化过程控制系统的方法和设备
CN104780096A (zh) * 2012-06-06 2015-07-15 瞻博网络公司 针对虚拟网络分组流的物理路径确定
US20150347208A1 (en) * 2014-05-30 2015-12-03 GM Global Technology Operations LLC Mechanisms and apparatus for embedded controller reconfigurable inter-processor communications
CN105302114A (zh) * 2015-11-03 2016-02-03 昆明昆船物流信息产业有限公司 基于仿真技术的物流控制程序测试系统
US20160033952A1 (en) * 2013-03-12 2016-02-04 Abb Technology Ag System and method for testing a distributed control system of an industrial plant
US20160134527A1 (en) * 2014-11-11 2016-05-12 Electronics And Telecommunications Research Institute System and method for virtual network-based distributed multi-domain routing control
WO2017066304A1 (en) * 2015-10-12 2017-04-20 Fisher-Rosemount Systems, Inc. Configuration in process plant using i/o-abstracted field device configurations

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9983559B2 (en) * 2002-10-22 2018-05-29 Fisher-Rosemount Systems, Inc. Updating and utilizing dynamic process simulation in an operating process environment
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
US20090089031A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Integrated simulation of controllers and devices
EP4220607A2 (en) * 2008-02-15 2023-08-02 AVEVA Software, LLC System and method for autogenerating simulations for process control system checkout and operator training
US11972177B2 (en) 2013-11-08 2024-04-30 Rockwell Automation Technologies, Inc. Interface for data exchange between industrial controllers and simulation applications for simulating a machine
JP6410522B2 (ja) 2014-08-22 2018-10-24 株式会社トプコン 発光装置
US10788402B2 (en) * 2016-10-25 2020-09-29 Fisher-Rosemout Systems, Inc. Field maintenance tool for device commissioning
GB2575758B (en) * 2017-05-01 2023-04-12 Fisher Rosemount Systems Inc Open architecture industrial control system

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078182A1 (en) * 2002-10-21 2004-04-22 Mark Nixon Simulation system for multi-node process control systems
CN1542575A (zh) * 2002-10-22 2004-11-03 费舍-柔斯芒特系统股份有限公司 处理设备中图像显示元件、过程模块和控制模块的集成
CN102124432A (zh) * 2008-06-20 2011-07-13 因文西斯系统公司 对用于过程控制、环境控制和工业控制的实际和/或仿真设施进行沉浸式交互的系统和方法
US20110230980A1 (en) * 2010-03-22 2011-09-22 Fisher-Rosemount Systems, Inc. Methods and apparatus for a data driven interface based on relationships between process control tags
CN103238143A (zh) * 2010-09-27 2013-08-07 费希尔-罗斯蒙特系统公司 用于虚拟化过程控制系统的方法和设备
CN102338866A (zh) * 2011-06-02 2012-02-01 西安理工大学 基于虚拟标签算法的无线射频室内定位方法
CN104780096A (zh) * 2012-06-06 2015-07-15 瞻博网络公司 针对虚拟网络分组流的物理路径确定
US20160033952A1 (en) * 2013-03-12 2016-02-04 Abb Technology Ag System and method for testing a distributed control system of an industrial plant
US20150347208A1 (en) * 2014-05-30 2015-12-03 GM Global Technology Operations LLC Mechanisms and apparatus for embedded controller reconfigurable inter-processor communications
US20160134527A1 (en) * 2014-11-11 2016-05-12 Electronics And Telecommunications Research Institute System and method for virtual network-based distributed multi-domain routing control
WO2017066304A1 (en) * 2015-10-12 2017-04-20 Fisher-Rosemount Systems, Inc. Configuration in process plant using i/o-abstracted field device configurations
CN105302114A (zh) * 2015-11-03 2016-02-03 昆明昆船物流信息产业有限公司 基于仿真技术的物流控制程序测试系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112068495A (zh) * 2019-06-10 2020-12-11 费希尔-罗斯蒙特系统公司 用于实时过程控制的发布/订阅协议
CN112068497A (zh) * 2019-06-10 2020-12-11 费希尔-罗斯蒙特系统公司 在过程控制系统中轻松切换节点
CN112068494A (zh) * 2019-06-10 2020-12-11 费希尔-罗斯蒙特系统公司 过程控制系统中的虚拟化实时i/o
CN112068499A (zh) * 2019-06-10 2020-12-11 费希尔-罗斯蒙特系统公司 在过程控制系统中运行实时控制的虚拟节点的自动平衡和性能均衡
US11960270B2 (en) 2019-06-10 2024-04-16 Fisher-Rosemount Systems, Inc. Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems
TWI721689B (zh) * 2019-12-06 2021-03-11 群邁通訊股份有限公司 測試系統及方法
CN113268044A (zh) * 2020-02-14 2021-08-17 罗克韦尔自动化技术公司 增强现实人机接口的仿真系统和测试方法及介质
CN113268044B (zh) * 2020-02-14 2024-01-16 罗克韦尔自动化技术公司 增强现实人机接口的仿真系统和测试方法及介质

Also Published As

Publication number Publication date
JP2019079508A (ja) 2019-05-23
GB2568806A (en) 2019-05-29
US11435728B2 (en) 2022-09-06
GB2568806B (en) 2022-04-06
DE102018124411A1 (de) 2019-04-04
US20190101899A1 (en) 2019-04-04
JP7298973B2 (ja) 2023-06-27

Similar Documents

Publication Publication Date Title
CN109597374A (zh) 用于调试的i/o虚拟化
JP7275224B2 (ja) I/o抽象化フィールドデバイス構成を使用したプロセスプラントの構成のためのシステム及び方法
US11599100B2 (en) Ease of node switchovers in process control systems
CN107942957A (zh) 用于调试过程控制硬件的方法和系统
CN107664988A (zh) 具有集成的模拟和控制系统配置的工厂构建器系统
CN102292704B (zh) 具有用于实施离线仪器用户设置的内嵌固件的配置器
CN109597373A (zh) 用于评估和呈现与过程工厂相关联的现场设备调试信息的技术
CA1298915C (en) Design system using visual language

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