CN102707705B - 用于测试批量配置的方法和装置 - Google Patents

用于测试批量配置的方法和装置 Download PDF

Info

Publication number
CN102707705B
CN102707705B CN201210028655.0A CN201210028655A CN102707705B CN 102707705 B CN102707705 B CN 102707705B CN 201210028655 A CN201210028655 A CN 201210028655A CN 102707705 B CN102707705 B CN 102707705B
Authority
CN
China
Prior art keywords
control system
process control
execution route
test plan
batch
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.)
Active
Application number
CN201210028655.0A
Other languages
English (en)
Other versions
CN102707705A (zh
Inventor
B·克兰多尔
D·蒂勒
N·贝尔
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 CN102707705A publication Critical patent/CN102707705A/zh
Application granted granted Critical
Publication of CN102707705B publication Critical patent/CN102707705B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • 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
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32364Simulate batch processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

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

Abstract

本发明公开了用于测试批量配置的示例性方法、装置和制造品。一种公开的示例性方法包括:使用处理器识别执行路径,所述执行路径贯穿过程控制系统的批量配置;生成用于所述执行路径的测试计划;激励所述过程控制系统执行所述测试计划;以及记录所述测试计划的结果。

Description

用于测试批量配置的方法和装置
技术领域
本公开一般涉及批量配置,更具体地,涉及用于测试批量配置的示例性方法、装置和制造品。
背景技术
批量(batch)是一种可用于运行重复性和/或顺序性操作来制造产品的过程控制系统配置。在过程工厂的生命周期期间,过程控制系统可能需要替换、修改、打补丁、升级等。然而,过程控制系统的任何改变有可能中断过程工厂和/或批量配置的运行。
发明内容
公开了用于测试批量配置的示例性方法、装置和产品。一种公开的示例性方法包括:使用处理器识别执行路径,所述执行路径贯穿过程控制系统的批量配置;生成用于所述执行路径的测试计划;激励所述过程控制系统执行所述测试计划;以及记录所述测试计划的结果。
一种公开的示例性装置包括:路径发现器,其用于识别执行路径,所述执行路径贯穿过程控制系统的批量配置;测试计划产生器,其用于生成用于所述执行路径的测试计划;以及测试计划执行器,其用于激励所述过程控制系统执行所述测试计划并用于记录所述测试计划的结果。
附图说明
图1是用于测试过程控制系统的批量配置的示例性系统的示意图。
图2示出实现图1的示例性批量测试器的示例性方式。
图3示出示例性批量层级。
图4示出示例性顺序功能图(SFC),其表示批量的一部分。
图5是对应于在图4中高亮的示例性路径的交互表。
图6是用于在图4中高亮的示例性路径的示例性测试计划。
图7是示例性交互映射表。
图8是图6的示例性测试计划的示例性结果。
图9是表示示例性过程的流程图,可使用图1和2的示例性批量测试器执行该示例性过程来测试批量配置。
图10和11是表示示例性过程的流程图,可执行该示例性过程来实现图1和2的示例性批量测试器和/或测试过程控制系统的批量配置。
图12是示例性伪码,其可被实现来识别贯穿批量配置的路径。
图13A-E是示例性伪码,其可被实现来合并贯穿批量配置的分叉和汇聚的路径。
图14是示例性伪码,其可被实现来生成人可读和/或机器可读的批量交互表。
图15A-J是示例性伪码,其可被实现来生成批量测试计划。
图16是能够用于限定SFC和/或为SFC导向的示例性规则集。
图17是示例性处理器平台的示意图,可使用该示例性处理器平台和/或对其编程来执行图10和/或11的示例性过程、图12、13A-E、14和/或15A-J的示例性伪码,和/或实施批量配置的测试。
具体实施方式
由于现代过程控制系统的复杂性以及过程工厂配置和/或批量配置的无限制数量,因此,在发布过程控制系统和/或批量配置的修改、补丁、升级等之前检测到可能出现的任何缺陷是困难的。例如,这些未检测到的缺陷可能仅在该过程控制系统和/或批量配置结合实际的过程工厂运行之后和/或之时才变得明显。为缓解替换、修改、修补、更新和/或升级其一个或多个过程控制系统和/或批量配置的需要,一些客户替代地选择将其过程控制系统与其他设备和/或网络隔离。虽然这些举措可能降低中断的可能性,但是却阻止了过程工程师利用过程控制系统和/或批量配置的更新版本中的可用的特点和/或性能。
总而言之,在此公开的示例性装置、方法和制造品可用于测试批量配置。特别地,在此公开的示例性装置、方法和制造品可用于自动地识别贯穿批量配置的所有可能的执行路径,自动地生成用于那些可能的执行路径中的任何一个或全部的测试计划,和/或自动测试那些可能的执行路径中的任何一个或全部。在将新的和/或更新后的过程控制系统用于控制客户的过程工厂之前,可与该新的和/或更新后的过程控制系统一起测试批量配置。附加地或替代地,可针对项目设计目标和/或功能测试例目标来测试批量配置。
通过自动地和/或系统地测试批量配置,可实现多个优点。通过便利仅可在实际测试情形下检测的软件缺陷的识别,自动批量配置测试能够降低过程工厂中中断事件的次数。自动批量配置测试还能够减少完全测试批量配置所需的时间和/或精力,因为能够自动确定和/或验证该批量配置的行为。自动批量配置测试还能够实质上使更多的测试情形能够被执行和/或验证。自动批量配置测试还能够实现测试而无需过程模型,对于严格管理的工业而言,创建这些模型将是花费高昂和/或费时的。此外,自动批量测试能增强客户对采用过程控制系统升级的信心,并且能够降低支持过程控制系统的成本。
图1示出用于测试过程控制系统105的批量配置的示例性系统100,过程控制系统105例如是费希尔-罗斯蒙特系统公司(一家艾默生过程管理公司)销售的DeltaVTM过程控制系统。图1的示例性过程控制系统105包括一个或多个过程控制器110、一个或多个操作员站115以及一个或多个应用和/或工作站120。示例性过程控制器110是费希尔-罗斯蒙特系统公司(一家艾默生过程管理公司)销售的DeltaV控制器。图1的一个或多个示例性过程控制器110、示例性操作员站115以及示例性工作站120通过总线和/或局域网(未图示)通信地耦接,该局域网通常被称为应用控制网。这个局域网可使用任何期望的一种或多种通信介质和/或一个或多个协议来实现。例如,该局域网可基于有线和/或无线的以太通信方案。然而,可使用任何其他适合的一种或多种通信介质和/或一个或多个协议。
图1的示例性操作员站115允许过程工厂操作员检查和/或操作一个或多个操作员显示屏、图形用户界面和/或应用,它们使操作员能够查看过程工厂变量、查看过程工厂状态、查看过程工厂条件、查看过程工厂警报和/或提供用户输入,例如用于改变过程工厂设置(例如,设定点和/或运行状态、清除警报、静音警报等)的用户输入。这些屏幕和/或应用一般由过程配置工程师设计和/或实现。正如下文详细讨论的,示例性批量测试器125可仿真至操作员站115的用户和/或操作员输入117来激励、命令、促成和/或以其他方式使得过程控制系统105执行贯穿批量配置的、特定的、选择的和/或挑选的路径。
可配置图1的示例性工作站120来实现任意数量和/或一个或多个类型的一个或多个过程控制应用和/或一个或多个功能。在图1所示的例子中,除了可能的其他应用和/或功能,工作站120被配置为实现费希尔-罗斯蒙特系统公司(一家艾默生过程管理公司)销售的DeltaV批量执行器(DeltaV Batch Executive)130。通过控制、排序(sequencing)和/或协调由一个或多个示例性控制器110实现的一个或多个阶段类的输入、输出和/或操作,图1的示例性批量执行器130执行批量流程,这些批量流程由一个或多个顺序功能图表(SFC)135限定。图1的一个或多个示例性SFC 135是动作和/或过程的图形表示,并且其是根据一个或多个任何过去、现在和/或将来的标准和/或建议,例如国际测控学会(ISA)S88标准,限定或构建的。
图1的示例性工作站115和120可采用任何适合的计算系统和/或处理系统实现,例如图17的示例性处理器平台P100。示例性站115和120例如可采用单处理器和/或多处理器计算机和/或计算机工作站实现。
为了使图1的示例性批量测试器125能够与示例性批量执行器130和/或一个或多个示例性控制器110交互,图1的示例性过程控制系统105包括任意数量和/或一个或多个类型的用于过程控制的对象链接与嵌入(object linking and embedding(OLE)for processcontrol,OPC)控制器140。示例性OPC控制器140是费希尔-罗斯蒙特系统公司(一家艾默生过程管理公司)销售的DeltaV OPC服务器。
在图1所示的例子中,仿真和/或建模控制系统层级的一个或多个低层145(例如装置模块、控制模块、输入/输出设备、现场设备等),而不是在实际的过程控制现场设备上执行控制系统层级的一个或多个低层145。在一些例子中,仿真的一个或多个控制层145还仿真和/或建模由示例性过程控制系统105控制的过程工厂。可使用任意数量和/或一个或多个类型的方法、逻辑、工具、应用和/或设备,例如费希尔-罗斯蒙特系统公司(一家艾默生过程管理公司)销售的DeltaV SimulatePro应用,来实现图1的示例性仿真的一个或多个控制层145。
为配置控制部件(例如一个或多个示例性控制器110、示例性操作员站115和/或示例性工作站120),图1的示例性过程控制系统105包括过程控制系统配置子系统150。图1的示例性配置子系统150基于操作数据库155的内容来加载、配置、委托和/或编程过程控制系统105的实际的(即物理的)过程控制部件。图1的示例性配置子系统150和示例性操作数据库155是费希尔-罗斯蒙特系统公司(一家艾默生过程管理公司)销售的DeltaV过程控制系统的一部分。可使用DeltaV过程控制系统的其他工具和/或接口(未图示),例如费希尔-罗斯蒙特系统公司(一家艾默生过程管理公司)销售的DeltaV配置软件套件,生成、限定、规定和/或增殖(populate)图1的示例性操作数据库155。在一些例子中,一个或多个示例性SFC135存储于示例性操作数据库155中。
尽管图1示出了示例性过程控制系统105,用于测试批量配置的装置、方法和制造品可以被有利地应用于其上,但是,本领域技术人员容易理解,在此公开的装置、方法和制造品在需要时可有利地应用于比图1所示的例子具有更高或更低复杂度的其他过程控制系统(例如,具有多余一个的控制器、横跨多余一个的地理位置等的过程控制系统)。而且,尽管为图示的清楚起见而未示于图1,任意数量和/或一个或多个类型的附加的或替代的装置、部件和/或系统可包括在过程工厂和/或过程控制系统中。例如,过程工厂和/或过程控制系统可包括和/或实现防火墙、交换机、路由器、集线器、电源和/或由过程控制系统,诸如费希尔-罗斯蒙特系统公司(一家艾默生过程管理公司)销售的DeltaV过程控制系统,管理和/或可控制的任何其他设备。
为测试批量配置,图1的示例性系统100包括示例性批量测试器125。图1的示例性批量测试器125测试批量配置、程序和/或脚本,以验证过程控制系统105如期望的那样执行批量。为验证批量的执行,示例性批量测试器125比较该批量的一个或多个结果,以执行一个或多个基准点(benchmark)。示例性基准点包括,但不限于,收集自该批量在不同版本的过程控制系统105和/或不同版本的过程控制系统软件上的先前的执行的一个或多个结果,和/或在项目配置文件和/或功能测试文件中限定和/或规定的目标、期望的和/或预期的一个或多个行为和/或一个或多个结果。示例性批量测试器125测试批量配置、程序和/或脚本(例如流程、单元流程、操作和/或阶段类)的所有层以及控制器接口逻辑。附加地或者替代地,批量测试器125验证批量的执行时间没有被不恰当地延迟、批量没有过早地进入“完成”状态、批量如期望的那样获得和/或释放设备、命令没有返回错误、批量正确地从错误恢复和/或如期望的那样实现操作员交互。例如通过在一个或多个控制器110设置相同的状态之前促成一个或多个控制器110的状态变化,批量测试器125确保一个或多个SFC 135的命令在一个或多个控制器110上正确地和/或非被动地执行。下文结合图2公开实现图1的示例性批量测试器125的示例性方式。
图1的示例性批量测试器125分析批量配置、脚本和/或程序,以识别贯穿该批量的所有可能执行路径。示例性批量测试器125使用由S88标准所限定的批量脚本层级和SFC结构的知识来确定贯穿批量的所有可能执行路径。示例性批量测试器125向用户显示所识别的执行路径列表。对于该用户选择的一个或多个执行路径中的每一个,批量测试器125生成一个测试计划,该测试计划促成、激励和/或以其他方式使得过程控制系统105和/或仿真的一个或多个控制层145遵循被测试的执行路径。通过编译一个所有交互的列表,示例性批量测试器125生成测试计划,这些交互是为了激励、促成和/或以其他方式使得过程控制系统105和/或仿真的一个或多个控制层145遵循贯穿批量的特定执行路径而所需要的。可由示例性批量测试器125生成的一个示例性测试计划是人可读的(例如,根据可扩展标记语言(XML)构造的)和可程序地执行的。每个执行路径的执行结果被呈现给用户和/或保存在日志文件中,以便随后与适当的基准点和/或目标比较。
图1的示例性批量测试器125执行S88标准限定的批量配置、脚本和/或程序的所有等级,从而在批量层级中导向,以识别贯穿该批量的所有可能的执行路径。图16示出限定SFC并能够被示例性批量测试器125用于识别贯穿批量的执行路径的规则和/或结构的示例性列表。图3示出用于阶段类305的示例性批量层级300,阶段类305在单一操作315中具有单一步骤310,单一操作315在单一单元流程320之中,单一单元流程320在单一流程325之中。在图3示出的例子中,各方框周边所示的文字(例如方框310周边的文字330)表示用于与该批量的各层交互的命令。
图4示出示例性SFC 400,其表示批量的一部分。图1的示例性批量测试器125为示例性SFC 400导向,以识别贯穿该SFC的每个执行路径。在图4中,附图标记405处标明了一示例性执行路径。如图4所示,执行路径405开始于初始设定410并前进至终点415。图4的示例性执行路径405能够表示为
S1->T1->S2->T2B->S3->T3B
其中符号“->”表示“前进至”。典型地,批量会包括多个SFC层,因此贯穿该批量的路径发现会更为复杂,但是路径导向采用与单个SFC时相同的方法和/或逻辑。下文结合图11公开能够由示例性批量测试器125执行以发现和/或识别批量和/或SFC中的执行路径的示例性过程。图12、13A-E和14示出可由示例性批量测试器125实现以发现和/或识别贯穿批量和/或SFC的执行路径的示例性伪码。
对于待测试的各执行路径(例如图4的示例性执行路径405),图1的示例性批量测试器125生成一个命令列表,这些命令是操纵、激励、促成和/或以其他方式引起沿着当前考虑的路径的执行所需要的。该命令列表包括为遵循执行路径所需的输入以及由沿着该路径的批量所操纵的输出。
图5示出一个示例性交互表500,其表示操纵、激励、促成和/或以其他方式引起沿着图4的示例性执行路径405的执行的命令列表。图5的示例性输入来自三个不同的源:人的交互、从仿真的一个或多个控制层145接收到的信号(例如“阀门XV-101开启”)和/或从外部程序控制接收到的信号(例如“开始SFC”)。图5的示例性输出是至仿真的一个或多个控制层145的信号(例如“开启阀门XV-101”)、至外部程序的信号和/或有关批量的当前状态的信息(例如“步骤S1是激活的”)。在图5的示例性交互表500中,#列505表示命令的序号,输入/输出列510表示命令是否被接收到(输入)或给出(输出),代理(agent)列515表示谁执行命令,类型列520表示代理515的类型。
为执行批量路径,示例性批量测试器125发送命令,以改变该批量的状态和/或接收有关发生什么操作的反馈。相应地,图1的示例性批量测试器125为图5的示例性交互表500增加了额外命令,这些额外命令在图6的示例性测试计划600中以阴影示出(其中的两个标示了附图标记605和610)。批量测试器125增加的额外命令允许示例性批量测试器125将自身与该批量同步。如图6所示,示例性批量测试器125验证该批量的每个操作、行为和/或转变,包括在每个步骤中的一个或多个动作。因此,每个步骤和/或转变具有由批量测试器125设置和/或记录的前置条件(pre-condition)和/或后置条件(post-condition),如图6所示。图15A-J示出了可由图1的示例性批量测试器125实现来产生测试计划的示例性伪码。
如图1概念性地示出的,示例性批量测试器125包括批量执行的环境,并为批量提供所有必要的反馈。例如,操作员不再向批量提供输入和/或响应。替代地,批量测试器125提供仿真的输入117。然而,如图1所示,因为一个或多个低控制层由仿真的一个或多个控制层145仿真,所以,示例性批量测试器125不需要提供和/或记录一个或多个控制器110与仿真的一个或多个控制层145之间的信号。
为了允许图1的示例性批量测试器125确定用于与过程控制系统105交换数据的命令,示例性批量测试器125使用例如由过程控制系统105的工程师提供的交互映射表160。图1的示例性交互映射表160限定和/或规定数据和/或命令如何被写入和/或接收自过程控制系统105。图7示出示例性交换映射表160。图1的示例性批量测试器125使用交互映射表160来为测试计划(例如图6的示例性测试计划600)中的每一步骤识别特定的命令,以执行该步骤。
图8示出由图1的示例性批量测试器125为图4的示例性测试路径405生成的示例性测试结果日志800。当执行各测试路径时,批量测试器125更新和/或增加日志文件。如图所示,日志800能用来确定测试覆盖(test coverage)并能被很容易地导向。可通过例如将日志800的相关部分与另一日志的内容比较来确定是否正确地执行批量路径。如上所述,可例如通过采用另一版本的过程控制系统软件测试批量来生成另一日志。此外,可以将日志800和/或其部分与项目设计文件和/或功能测试目标进行比较。在这些例子中,采用批量测试器125可访问和/或可读的格式和/或数据结构来存储项目设计文件和/或功能测试目标(和/或其部分),以便其能够与日志800和/或其部分比较。
图2示出实现图1的示例性批量测试器125的示例性方式。为连接图1的示例性操作数据库155,图1的示例性批量测试器125包括数据库接口205。采用任何数量和/或一个或多个类型的消息、协议、逻辑、方法和/或应用程序接口,图2的示例性数据库接口205使批量测试器125的其他部分能够从操作数据库155查询和/或获取信息(例如批量配置、程序和/或脚本)和/或将结果(例如,日志文件)存储在操作数据库155中。
为识别贯穿批量的路径,图2的示例性批量测试器125包括路径发现器210。图2的示例性批量测试器210追踪和/或执行例如由S88标准限定的批量配置、脚本和/或程序的所有等级,并从而在批量层级中导向,以识别贯穿该批量的所有可能的执行路径,如上文结合图1、3、4和16所公开的。
为产生诸如图6的示例性测试计划600的测试计划,图2的示例性批量测试器125包括测试计划产生器215。对于待测试的各执行路径,图2的示例性测试计划产生器215生成一个命令列表,这些命令是操纵、激励、促成和/或以其他方式引起当前考虑的路径的执行而所需要的。该命令列表包括为遵循执行路径所需的输入以及由沿着该路径的批量所操纵的输出。示例性测试计划产生器215还插入额外的命令,以允许测试计划执行器220改变批量的状态和/或接收有关发生什么操作的反馈。
为执行测试计划,图2的示例性批量测试器125包括示例性测试计划执行器220。采用诸如图7的示例性表160的交互映射表,图2的示例性测试计划执行器220执行测试计划的每一个命令。当执行测试计划时,示例性测试计划执行器220将执行该测试计划的结果和/或在该测试计划的执行期间获取的状态信息存储在诸如图8的示例性日志文件800的日志文件中。
为允许示例性测试计划执行器220与图1的示例性过程控制系统105交互,图2的示例性批量测试器125包括控制系统接口225。
为验证测试结果,图2的示例性批量测试器125包括比较器230。采用任何数量和/或一个或多个类型的方法、逻辑和/或准则,图2的示例性比较器230将示例性测试计划执行器220生成的日志文件与测试计划执行器220先前生成的其他日志文件比较。例如,比较器230可验证该批量达到预期的一个或多个状态以及产生了过程控制系统105的预期的输出。附加地或替代地,比较器230能够将该日志文件和/或其部分与项目设计文件和/或功能测试目标比较。在这些例子中,采用比较器230可访问和/或可读的格式和/或数据结构来存储项目设计文件和/或功能测试目标(和/或其部分),以便其与日志文件和/或其部分比较。
尽管图2示出实现图1的示例性批量测试器125的示例性方式,但是,图2所示的接口、数据结构、元件、过程和/或设备中的一个或多个可组合、划分、重新排布、省略、消除和/或以任何其他方式实现。进一步地,示例性数据库接口205、示例性路径发现器210、示例性测试计划产生器215、示例性测试计划执行器220、示例性控制系统接口225和/或,更一般地,图1和2的示例性批量测试器125,可由硬件、软件、固件和/或硬件、软件和/或固件的任何组合实现。因此,例如,示例性数据库接口205、示例性路径发现器210、示例性测试计划产生器215、示例性测试计划执行器220、示例性控制系统接口225和/或,更一般地,示例性批量测试器125,中的任意一个可由图17的示例性处理器平台P100和/或一个或多个电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程逻辑器件(FPLD)、现场可编程门阵列(FPGA)、熔丝器件(fuse)等实现。当本专利的、包含这些元件中的一个或多个的任意装置权利要求被阅读为覆盖纯软件和/或固件实现方式时,示例性数据库接口205、示例性路径发现器210、示例性测试计划产生器215、示例性测试计划执行器220、示例性控制系统接口225和/或,更一般地,示例性批量测试器125中的至少一个在此被明确地限定为包括有形制造品,例如存储该固件和/或软件的有形的计算机可读介质。再进一步地,示例性批量测试器125可包括替代图2所示的那些或除了图2所示的那些之外的接口、数据结构、元件、过程和/或设备和/或示例性批量测试器125可包括多于一个的、所示出的接口、数据结构、元件、过程和/或设备中的任意一个或全部。
如在此所使用的,术语有形计算机可读介质被明确地限定为包括任何类型的计算机可读介质并且明确地排除传播信号。如本发明所使用的,术语非瞬态计算机可读介质被明确地限定为包括任何类型的计算机可读介质并且排除传播信号。示例性的有形和/或非瞬态计算机可读介质包括易失性和/或非易失性存储器、易失性和/或非易失性存储设备、压缩盘(CD)、数字通用光盘(DVD)、软盘、只读存储器(ROM)、随机存取存储器(RAM)、可编程只读存储器(PROM)、电可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、光存储盘、光存储设备、磁性存储盘、磁存储设备、高速缓冲存储器(cache)和/或任何其他存储介质,在其中以任何持续期间存储信息(例如,以延长的期限、永久地、短间隙、为临时缓冲和/或为信息的高速缓存)并且这种存储介质能够被处理器、计算机和/或其他具有处理器的机器访问,例如下文结合图17讨论的示例性处理器平台P100。
图9是表示示例性过程的流程图,该过程可由例如工程师和/或过程工厂操作员执行,来为过程控制系统测试批量配置。图9的示例性过程从用户为过程控制系统(诸如图1的示例性过程控制系统105)配置交互映射表(诸如图7的示例性表160)开始(块905)。用户输入诸如DeltaV.FHX文件的配置文件,其包含一个或多个批量配置(块910)。用户实现仿真的一个或多个控制层145(块915)并选择一个批量来进行测试(块920)。用户检查之前由批量测试器125自动识别的、贯穿该批量的执行路径的列表(块925),并选择所识别的执行路径中的一个或多个以进行测试(块930)。用户开始执行一个或多个批量测试(块935)并检查一个或多个批量测试的结果(块940)。通过例如将日志文件与另一日志文件比较和/或将该日志文件中的结果与项目设计文件和/或功能测试文件比较,用户确认批量测试结果(块945)。
图10和11是表示示例性过程的流程图,可执行该示例性过程来实现图1和2的示例性批量测试器125。可使用、配置和/或编程处理器、控制器和/或任何其他适合的处理设备来执行图10和/或11的示例性过程。例如,图10和/或11的示例性过程可被嵌入于存储在有形计算机可读介质上的编码的或机器可读的指令中。机器可读的指令包括例如使处理器、计算机和/或具有处理器的机器执行一个或多个特定过程的指令。替代地,图10和/或11的示例性过程中的一些或全部可采用ASIC、PLD、FPLD、FPGA、离散逻辑、硬件、固件等的任意组合实现。此外,可手动地或以前述任意技术的任意组合,例如固件、软件、离散逻辑和/或硬件的任意组合,实现图10和/或11的示例性过程中的一些或全部。而且,可采用用于实现图9、10和/或11的示例性操作的许多其他方法。例如,可改变块的执行次序,和/或可改变、消除、分解或组合所公开的块中的一个或多个。此外,可顺序地执行和/或可由例如不同用户、独立的处理线程、处理器、设备、离散逻辑、电路等并行地执行图9、10和/或11的示例性过程中的任意一个或全部的块。
图10的示例性过程从示例性路径发现器210识别贯穿批量的执行路径开始(块1005)。路径发现器210可通过例如执行图11的示例性过程和/或实现图12、13A-E和14的示例性伪码来识别执行路径。路径发现器210显示所识别的执行路径的列表,以便用户检查(块1010)。示例性测试计划产生器215从用户接收对所显示的执行路径的一个或多个的选择(块1015)并为每个所选择的执行路径生成测试计划,例如图6的示例性测试计划600(块1020)。示例性测试计划产生器215通过例如实现图15A-J的示例性伪码来产生测试计划。
示例性测试计划执行器220执行由测试计划产生器215产生的每一个测试计划(块1025)并将结果存储于日志文件中(块1030)。如用户所指示的,示例性比较器230将该日志文件的全部或某部分与一个或多个其他日志文件比较,以验证和/或确认所执行的批量路径的结果(块1035)。然后,控制退出图10的示例性过程。
可执行图11的示例性过程来识别贯穿批量的路径。图11的示例性过程从例如通过实现图12的示例性伪码,路径发现器210识别贯穿该批量的所有路径开始(块1105),这些路径始于初始节点并终于任何终点或待定转变点(hanging transition)。例如通过实现图13A-E的示例性伪码,路径发现器210识别并合并分叉和汇聚的路径(块1110)。例如通过实现图14的示例性伪码,路径发现器210为合并的路径产生路径说明(块1115)。然后,控制退出图11的示例性过程。
图12、13A-E、14和15A-J是表示示例性过程的伪码,可执行这些示例性过程来实现图1和2的示例性批量测试器125,尤其是图2的示例性路径发现器210和示例性测试计划产生器215。可使用、配置和/或编程处理器、控制器和/或任何其他适合的处理装置来执行图12、13A-E、14和/或15A-J的示例性伪码。例如,图12、13A-E、14和/或15A-J的示例性伪码可嵌入于存储在有形计算机可读介质上的编码的或机器可读的指令中。机器可读的指令包括例如使处理器、计算机和/或具有处理器的机器执行一个或多个特定过程的指令。替代地,图12、13A-E、14和/或15A-J的示例性伪码中的一些或全部可采用ASIC、PLD、FPLD、FPGA、离散逻辑、硬件、固件等的任意组合实现。此外,可手动地或以前述任意技术的任意组合,例如固件、软件、离散逻辑和/或硬件的任意组合,实现图12、13A-E、14和15A-J的示例性伪码中的一些或全部。而且,可采用许多其他用于实现图12、13A-E、14和/或15A-J的示例性操作的方法。例如,可改变伪码的块、部分、陈述和/或表达的执行次序,和/或可改变、消除、分解或组合所公开的块、部分、陈述和/或表达中的一个或多个。此外,可顺序地执行和/或可由例如不同用户、独立的处理线程、处理器、设备、离散逻辑、电路等并行地执行图12、13A-E、14和15A-J的示例性伪码的某个或全部伪码的块、部分、陈述和/或表达。
图17是示例性处理器平台P100的方框图,可使用和/或编程示例性处理器平台P100来实现所公开的示例性批量测试器125和/或执行在此公开的示例性机器可访问指令和/或过程中的某个或全部。可使用一个或多个通用处理器、处理器核、微控制器等来实现处理器平台P100。处理器平台P100能够是例如服务器、个人电脑、嵌入式控制器和/或任何其他类型的计算设备。
便捷例子的处理器平台P100包括至少一个可编程处理器P105。处理器P105执行存在于处理器P105的主存储器中(例如RAM P115和/或ROM P120中)的编码的指令P110和/或P112。处理器P105可为任何类型的处理单元,例如处理器核、处理器和/或微控制器。可对处理器P105编程来执行图10和11的示例性过程和/或图12、13A-E、14和/或15A-J的示例性伪码。这样,编码的指令P110、P112可表示图10和11的示例性过程和/或图12、13A-E、14和/或15A-J的示例性伪码。
处理器P105通过总线P125与包括ROM P110和RAM P115的主存储器通信。RAM P115可由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其他类型的RAM器件实现。ROM P110可由闪存和/或任何其他期望类型的存储器器件实现。存储控制器可控制对存储器P115和存储器P120的访问。示例性存储器P115可用于例如存储示例性操作数据库155。
处理器平台P100包括接口电路P130。任何类型的接口标准,例如外存储器接口、串行端口、通用输入/输出、以太网接口、通用串行总线(USB)和/或PCI快速接口等,可实现接口电路P130。
一个或多个输入设备P135可被连接至接口电路P130。一个或多个输入设备P135能够由例如键盘、鼠标、触摸屏、触摸板、轨迹球、isopoint和/或语音识别系统实现。一个或多个输出设备P140也被连接至接口电路1020。输出设备P140能由例如显示设备(例如液晶显示器、阴极射线管显示器、打印机和/或扬声器)实现。这样,接口电路P130可包括图形驱动卡。一个或多个输入设备P135和一个或多个输出设备P140可被附加地或替代地用来提供诸如测试结果的和/或所识别的执行路径的列表的信息,和/或用来接收待测试的执行路径的选择。
接口电路P130还可包括诸如调制解调器、收发器或网络接口卡的通信设备,以方便通过网络与外部计算机交换数据。
在一些例子中,处理器平台P100还包括一个或多个大容量存储装置P145,以存储软件和数据。这些大容量存储装置P145的例子包括软盘驱动器、硬盘驱动器、固态硬盘驱动器、CD驱动器、DVD驱动器和/或任何其他固态、磁性和/或光存储设备。大容量存储装置P145可以实现示例性操作数据库155。
在此公开的编码的指令可以被存储于大容量存储装置P145中、存储于RAM P115中、存储于ROM P120中和/或存储于诸如CD或DVD的可移除存储介质上。
从上文所述,应当理解上文所公开的用于测试过程控制系统的方法、装置和制造品。虽然在此描述了某些示例性方法、装置和制造品,但是本专利的覆盖范围不限于此。相反,本专利覆盖了合理落入本专利的权利要求的范围的所有方法、装置和制造品。

Claims (12)

1.一种用于测试批量配置的方法,包括:
使用处理器识别执行路径,所述执行路径贯穿过程控制系统的第一版本的批量配置;
生成用于所述执行路径的测试计划,其包括一组按顺序的命令以按步骤地实施对所述执行路径的操作;
激励所述过程控制系统的所述第一版本和所述过程控制系统的第二版本以执行所述测试计划;以及
通过将源自贯穿所述过程控制系统的所述第一版本的测试计划的执行路径的第一结果与源自贯穿所述过程控制系统的所述第二版本的测试计划的执行路径的第二结果作比较来确定所述过程控制系统的所述第一版本和所述过程控制系统的所述第二版本之间的差别。
2.如权利要求1所述的方法,还包括:
识别贯穿所述过程控制系统的所述第一版本的所述批量配置的第二执行路径;
向用户呈现所述执行路径和所述第二执行路径;以及
接收选择用于测试的所述执行路径的输入。
3.如权利要求1所述的方法,其中,识别所述执行路径包括:
识别在初始节点与每一终止节点之间的贯穿所述过程控制系统的所述第一版本的所述批量配置的所有执行路径;
合并分叉和汇聚的执行路径的部分;以及
为所述执行路径中的每一个创建路径说明。
4.如权利要求1所述的方法,其中,生成所述测试计划包括:
识别表示所述执行路径的交互序列;以及
将额外的交互插入所述序列,以使所述过程控制系统的所述第一版本和所述过程控制系统的所述第二版本执行所述测试计划。
5.如权利要求1所述的方法,还包括将所述第一结果与执行于第二过程控制系统的第三版本上的所述测试计划的第三结果、项目设计目标或功能测试目标中的至少一个进行比较。
6.如权利要求1所述的方法,还包括基于所确定的在所述过程控制系统的所述第一版本和所述过程控制系统的所述第二版本之间的差别来验证所述过程控制系统的所述第一版本的所述批量配置的执行。
7.一种用于测试批量配置的装置,包括:
路径发现器,其用于识别执行路径,所述执行路径贯穿过程控制系统的第一版本的批量配置;
测试计划产生器,其用于生成用于所述执行路径的测试计划,所述测试计划包括一组按顺序的命令以按步骤地实施对所述执行路径的操作;以及
测试计划执行器,其用于激励所述过程控制系统的所述第一版本和所述过程控制系统的第二版本执行所述测试计划并通过将源自贯穿所述过程控制系统的所述第一版本的测试计划的执行路径的第一结果与源自贯穿所述过程控制系统的所述第二版本的测试计划的执行路径的第二结果作比较来确定所述过程控制系统的所述第一版本和所述过程控制系统的所述第二版本之间的差别。
8.如权利要求7所述的装置,其中:
所述路径发现器用于识别贯穿所述过程控制系统的所述第一版本的所述批量配置的第二执行路径;以及
所述测试计划产生器用于向用户呈现所述执行路径和所述第二执行路径并接收选择用于测试的所述执行路径的输入。
9.如权利要求7所述的装置,其中,所述路径发现器用于:
识别在初始节点与每一终止节点之间的贯穿所述过程控制系统的所述第一版本的所述批量配置的所有执行路径;
合并分叉和汇聚的执行路径的部分;以及
为所述执行路径中的每一个创建路径说明。
10.如权利要求7所述的装置,其中,所述测试计划产生器用于:
识别表示所述执行路径的交互序列;以及
将额外的交互插入所述序列,以使所述测试计划执行器激励所述过程控制系统的所述第一版本和所述过程控制系统的所述第二版本执行所述测试计划。
11.如权利要求7所述的装置,还包括比较器,其用于将所述第一结果与执行于所述过程控制系统的第三版本上的所述测试计划的第三结果、项目设计目标或功能测试目标中的至少一个进行比较。
12.如权利要求7所述的装置,其中,所述测试计划执行器还基于所确定的在所述过程控制系统的所述第一版本和所述过程控制系统的所述第二版本之间的差别来验证所述过程控制系统的所述第一版本的所述批量配置的执行。
CN201210028655.0A 2011-02-11 2012-02-07 用于测试批量配置的方法和装置 Active CN102707705B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/025,441 US8788239B2 (en) 2011-02-11 2011-02-11 Methods, apparatus and articles of manufacture to test batch configurations
US13/025,441 2011-02-11

Publications (2)

Publication Number Publication Date
CN102707705A CN102707705A (zh) 2012-10-03
CN102707705B true CN102707705B (zh) 2017-06-30

Family

ID=45572638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210028655.0A Active CN102707705B (zh) 2011-02-11 2012-02-07 用于测试批量配置的方法和装置

Country Status (5)

Country Link
US (1) US8788239B2 (zh)
JP (1) JP6096414B2 (zh)
CN (1) CN102707705B (zh)
DE (1) DE102012101089A1 (zh)
GB (1) GB2488004B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9080894B2 (en) 2004-10-20 2015-07-14 Electro Industries/Gauge Tech Intelligent electronic device for receiving and sending data at high speeds over a network
US7304586B2 (en) 2004-10-20 2007-12-04 Electro Industries / Gauge Tech On-line web accessed energy meter
US7747733B2 (en) 2004-10-25 2010-06-29 Electro Industries/Gauge Tech Power meter having multiple ethernet ports
US8620608B2 (en) 2005-01-27 2013-12-31 Electro Industries/Gauge Tech Intelligent electronic device and method thereof
US8160824B2 (en) 2005-01-27 2012-04-17 Electro Industries/Gauge Tech Intelligent electronic device with enhanced power quality monitoring and communication capabilities
US8190381B2 (en) 2005-01-27 2012-05-29 Electro Industries/Gauge Tech Intelligent electronic device with enhanced power quality monitoring and communications capabilities
US20130275066A1 (en) 2007-04-03 2013-10-17 Electro Industries/Gaugetech Digital power metering system
US10845399B2 (en) 2007-04-03 2020-11-24 Electro Industries/Gaugetech System and method for performing data transfers in an intelligent electronic device
US11307227B2 (en) 2007-04-03 2022-04-19 Electro Industries/Gauge Tech High speed digital transient waveform detection system and method for use in an intelligent electronic device
US12061218B2 (en) 2008-03-13 2024-08-13 Ei Electronics Llc System and method for multi-rate concurrent waveform capture and storage for power quality metering
US9482555B2 (en) 2008-04-03 2016-11-01 Electro Industries/Gauge Tech. System and method for improved data transfer from an IED
FR3008201B1 (fr) * 2013-07-05 2016-10-21 Euriware Systeme de validation d'un systeme de controle-commande
CN103634161B (zh) * 2013-07-31 2017-05-03 中车青岛四方机车车辆股份有限公司 列车通信协议一致性检测装置和方法
US10284684B2 (en) * 2016-09-14 2019-05-07 Microsoft Technology Licensing, Llc IoT hardware certification
CN108984396B (zh) * 2018-06-21 2022-06-24 千寻位置网络有限公司 自动测试的方法及系统、测试终端
CN110032486B (zh) * 2019-03-06 2022-08-09 平安科技(深圳)有限公司 服务器测试方法、装置、计算机设备及存储介质
US20230176902A1 (en) * 2021-12-08 2023-06-08 Jpmorgan Chase Bank, N.A. System and method for automated onboarding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647315B1 (en) * 2000-09-29 2003-11-11 Fisher-Rosemount Systems, Inc. Use of remote soft phases in a process control system
CN1940781A (zh) * 2005-09-30 2007-04-04 费舍-柔斯芒特系统股份有限公司 用于控制分批过程的方法和系统
CN101221502A (zh) * 2008-02-01 2008-07-16 中国建设银行股份有限公司 软件测试的案例设计方法及装置
CN101436128A (zh) * 2007-11-16 2009-05-20 北京邮电大学 软件测试用例自动生成方法及系统
CN101876939A (zh) * 2009-11-20 2010-11-03 北京信息科技大学 系统测试方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2684981B2 (ja) * 1993-12-27 1997-12-03 日本電気株式会社 テスト支援装置
JPH07261987A (ja) * 1994-03-24 1995-10-13 Mitsubishi Electric Corp アプリケーションソフトの機能検証方法
JPH11224211A (ja) * 1998-02-06 1999-08-17 Fuji Xerox Co Ltd ソフトウェア検査支援装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647315B1 (en) * 2000-09-29 2003-11-11 Fisher-Rosemount Systems, Inc. Use of remote soft phases in a process control system
CN1940781A (zh) * 2005-09-30 2007-04-04 费舍-柔斯芒特系统股份有限公司 用于控制分批过程的方法和系统
CN101436128A (zh) * 2007-11-16 2009-05-20 北京邮电大学 软件测试用例自动生成方法及系统
CN101221502A (zh) * 2008-02-01 2008-07-16 中国建设银行股份有限公司 软件测试的案例设计方法及装置
CN101876939A (zh) * 2009-11-20 2010-11-03 北京信息科技大学 系统测试方法及装置

Also Published As

Publication number Publication date
GB2488004A (en) 2012-08-15
JP2012168948A (ja) 2012-09-06
GB201121810D0 (en) 2012-02-01
GB2488004B (en) 2016-08-31
US8788239B2 (en) 2014-07-22
US20120209557A1 (en) 2012-08-16
DE102012101089A1 (de) 2012-11-22
JP6096414B2 (ja) 2017-03-15
CN102707705A (zh) 2012-10-03

Similar Documents

Publication Publication Date Title
CN102707705B (zh) 用于测试批量配置的方法和装置
US11243516B2 (en) Edge devices and associated networks utilising microservices
CN112817872B (zh) 开发测试系统及方法
US20120116561A1 (en) Program testing apparatus, method of testing a program, and program testing program
JP2008170998A (ja) タービン制御シミュレーションのためのシステム及び方法
US9342441B2 (en) Methodology and tool support for test organization and migration for embedded software
CN101802792A (zh) 用于测试航空器上的系统的操作软件的有效性的自动脚本生成方法及用于实现该方法的设备
CN110249300A (zh) 内置于数据集成工作流编辑器中的测试用例生成器
CN104156314A (zh) 一种应用于测试系统的代码重用方法
EP2500791A1 (en) System and method of simulating input/output modules in a control system
CN107562969A (zh) 航空发动机控制系统软件的集成方法和装置
Rösch et al. A light-weight fault injection approach to test automated production system PLC software in industrial practice
US10216523B2 (en) Systems and methods for implementing control logic
US20160292306A1 (en) Simulator customization tool and method for the generation and maintenance of simulation configuration
CN113260935A (zh) 对模块化技术系统进行计算机辅助仿真的方法和设备
US20170017229A1 (en) Systems and methods for analyzing control logic
EP2913762A1 (en) Methods for producing customer configurable technical manuals
JP2019194818A (ja) ソフトウェア不具合予測装置
CN111382065B (zh) 基于测试模板的验证流程管理系统及其方法
CN117111907A (zh) 一种软件开发系统
US9989950B2 (en) Systems and methods for generating control logic
Fernández et al. Testing & verification of PLC code for process control
US20090132067A1 (en) Design Device for Designing a Control System and Method for Examining the Technological Aims When Designing a Control System
US10223077B2 (en) Determination of signals for readback from FPGA
JP6483507B2 (ja) 制御プログラム作成装置、及び制御プログラムのデバッグ方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant