CN116149269A - 用于工业网络仿真的实时高速时钟信号 - Google Patents

用于工业网络仿真的实时高速时钟信号 Download PDF

Info

Publication number
CN116149269A
CN116149269A CN202211454982.2A CN202211454982A CN116149269A CN 116149269 A CN116149269 A CN 116149269A CN 202211454982 A CN202211454982 A CN 202211454982A CN 116149269 A CN116149269 A CN 116149269A
Authority
CN
China
Prior art keywords
controller
industrial
data
simulation
subset
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
CN202211454982.2A
Other languages
English (en)
Inventor
伯纳德·布鲁克斯
约翰·普里查德
安东·拉内
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.)
Rockwell Automation Technologies Inc
Original Assignee
Rockwell Automation Technologies 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 Rockwell Automation Technologies Inc filed Critical Rockwell Automation Technologies Inc
Publication of CN116149269A publication Critical patent/CN116149269A/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
    • 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
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • 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/4183Total 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 data acquisition, e.g. workpiece identification
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23054Simulate response on entered parameters and display, quicker response
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23445Real time simulation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23446HIL hardware in the loop, simulates equipment to which a control module is fixed
    • 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/32339Object oriented modeling, design, analysis, implementation, simulation language

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及用于工业网络仿真的实时高速时钟信号。工业模拟系统在不需要附加的网络仿真硬件的情况下以高频率和高精度在虚拟化工业系统与工业控制器之间交换数据。模拟系统使用从工业控制器接收的数据分组的到达事件作为驱动从虚拟系统向控制器发送数据分组的时钟信号,而不是使用操作系统时钟对从模拟系统向工业控制器的仿真设备数据分组的发送进行定时。使用来自工业控制器的数据分组的到达时间作为时钟信号而不是操作系统的系统时钟可以在模拟期间产生高精度、低抖动的数据交换。

Description

用于工业网络仿真的实时高速时钟信号
技术领域
本文中公开的主题总体上涉及工业自动化系统,并且更具体地涉及工业自动化系统的模拟和测试。
背景技术
在许多控制系统开发场景中,系统设计者可以在将控制器投入现场使用之前虚拟地试运行将在控制器上执行的控制程序。
发明内容
下面给出了简要的概述,以提供对本文中描述的一些方面的基本理解。该概述既非广泛的综述,也不旨在标识关键/重要元素或划定本文中描述的各个方面的范围。它的唯一目的是以简化的形式呈现一些构思作为稍后呈现的更详细描述的前序。
在一个或更多个实施方式中,提供了一种用于模拟工业系统的系统,该系统包括:模拟部件,其被配置成基于工业系统的虚拟模型执行在工业控制器的控制下工业系统的模拟;以及通信控制部件,其被配置成:从工业控制器接收指向虚拟模型的仿真设备(emulated device)的控制器数据,并且将由仿真设备生成的模拟设备数据(simulateddevice data)发送至工业控制器,其中,通信控制部件被配置成:将控制器数据的指向仿真设备之一的子集指定为时钟信号,并且响应于接收到与控制器数据的子集相对应的控制器数据分组而将模拟设备数据发送至工业控制器。
此外,一个或更多个实施方式提供了一种方法,该方法包括:由包括处理器的系统基于工业系统的数字模型执行在工业控制器的控制下工业系统的模拟,其中,执行包括:从工业控制器接收指向数字模型的仿真设备的控制器数据;以及响应于接收到与控制器数据的被指定为时钟信号的子集相对应的控制器数据分组,向工业控制器发送由仿真设备生成的模拟设备数据。
此外,根据一个或更多个实施方式,提供了一种非暂态计算机可读介质,其上存储有指令,指令响应于执行而使系统执行操作,操作包括:基于工业系统的虚拟模型执行在工业控制器的控制下工业系统的模拟,其中,执行包括:从工业控制器接收指向数字模型的仿真设备的控制器数据;以及响应于接收到与控制器数据的被指定为时钟信号的子集相对应的控制器数据分组,向工业控制器发送由仿真设备生成的模拟设备数据。
为了实现上述及有关目的,在本文中结合以下描述和附图对某些示意性方面进行了描述。这些方面指示可以实践的各种方式,所有这些方式均旨在被涵盖在本文中。当结合附图考虑时,根据下面的详细描述,其他优点和新颖特征可以变得明显。
附图说明
图1是示例工业环境的框图。
图2是示出与工业装备相关联的工业设备和工业控制器之间的数据连接的概括图。
图3是示出控制程序相对于虚拟系统的虚拟试运行(virtual commissioning)的图。
图4是示出示例工业仿真架构的图。
图5是示出工业控制器与工业设备之间的周期性数据交换的示例数据交换时序图。
图6是使用来自工业控制器的数据分组的到达时间触发向控制器发送模拟设备数据分组的示例工业模拟系统的框图。
图7是示出在工业系统的模拟期间模拟系统与工业控制器之间的模拟数据的交换的图。
图8是示出使用来自工业控制器的数据分组作为时钟信号来触发从模拟系统向控制器发送数据分组的示例数据交换时序图。
图9是用于在硬件工业控制器与在模拟平台上执行的虚拟化工业系统之间交换模拟控制器和设备数据的示例方法的流程图。
图10是示例计算环境。
图11是示例网络环境。
具体实施方式
现在参照附图描述本公开内容,其中,贯穿全文使用相似的附图标记指代相似的元素。在以下描述中,出于说明的目的,阐述了许多具体细节以提供对本公开内容的透彻理解。然而,会明显的是,可以在没有这些具体细节的情况下实践本公开内容。在其他实例中,以框图的形式示出了公知的结构和设备以有助于对本公开内容的描述。
如在本申请中使用的,术语“部件”、“系统”、“平台”、“层”、“控制器”、“终端”、“站”、“节点”、“接口”旨在指代计算机相关实体、或与具有一个或更多个特定功能的操作装置相关的或作为该操作装置的一部分的实体,其中,这样的实体可以是硬件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于:在处理器上运行的进程、处理器、硬盘驱动器、包括附接(例如,用螺丝或螺栓固定)或可移除附接的固态存储驱动器的(光存储介质或磁存储介质的)多个存储驱动器;对象;可执行文件;执行的线程;计算机可执行程序和/或计算机。通过说明的方式,在服务器上运行的应用和服务器二者均可以是部件。一个或更多个部件可以驻留在执行的进程和/或线程内,并且部件可以位于一个计算机上以及/或者分布在两个或更多个计算机之间。此外,如本文所描述的部件可以从其上存储有各种数据结构的各种计算机可读存储介质来执行。部件可以经由本地和/或远程进程、例如根据具有一个或更多个数据分组的信号(例如,来自经由信号与本地系统、分布式系统中的另一部件和/或跨例如因特网的网络与其他系统交互的一个部件的数据)进行通信。作为另一示例,部件可以是具有由通过电气或电子电路系统操作的机械部件提供的特定功能的装置,该电气或电子电路系统由通过处理器执行的软件或固件应用来操作,其中,处理器可以在该装置的内部或外部并且执行软件或固件应用的至少一部分。作为又一示例,部件可以是通过电子部件在没有机械部件的情况下提供特定功能的装置,电子部件可以在其中包括处理器以执行至少部分地提供电子部件的功能的软件或固件。作为再一示例,接口可以包括输入/输出(I/O)部件以及相关联的处理器、应用或应用编程接口(API)部件。虽然前述示例涉及部件的各方面,但是举例说明的方面或特征也适用于系统、平台、接口、层、控制器、终端等。
如本文中所使用的,术语“作出推断(to infer)”和“推断(inference)”一般是指根据经由事件和/或数据捕获的观察结果的集合来推理或推断系统、环境和/或用户的状态的过程。例如,推断可以被用于标识特定的情境或动作,或者可以生成状态的概率分布。推断可以是概率性的,即,基于对数据和事件的考虑来计算关于感兴趣的状态的概率分布。推断还可以指代用于根据事件和/或数据的集合构成较高级的事件的技术。这样的推断引起从观察到的事件和/或所存储的事件数据的集合构造出新事件或动作,而不管这些事件在时间接近性上是否紧密相关,也不管事件和数据是来自一个事件和数据源还是若干个事件和数据源。
另外,术语“或”旨在表示包含性的“或”而不是排他性的“或”。也就是说,除非另有说明或者从上下文清楚得知,否则短语“X采用A或B”旨在意指任何自然的包含性排列。也就是说,以下实例中的任何实例满足短语“X采用A或B”:X采用A;X采用B;或X采用A和B二者。另外,除非另有说明或根据上下文清楚得知本申请和所附权利要求书中使用的冠词“一(a)”和“一个(an)”涉及单数形式,否则所述冠词通常应当被解释为意指“一个或更多个”。
此外,本文中采用的术语“集合”排除空集,例如其中没有元素的集合。因此,在本公开内容中的“集合”包括一个或更多个元素或实体。作为说明,控制器的集合包括一个或更多个控制器;数据资源的集合包括一个或更多个数据资源等。同样地,本文中所用的术语“组”是指一个或更多个实体的集合;例如,一组节点是指一个或更多个节点。
将根据可以包括多个设备、部件、模块等的系统来呈现各个方面或特征。应当理解并且认识到,各种系统可以包括附加的设备、部件、模块等,以及/或者可以不包括结合附图讨论的所有设备、部件、模块等。还可以使用这些方法的组合。
图1是示例工业环境100的框图。在该示例中,将多个工业控制器118部署在整个工业工厂环境中,以监测和控制与产品制造、加工、运动控制、批处理、材料处理或其他这样的工业功能有关的相应工业系统或过程。工业控制器118通常执行相应的控制程序以促进对组成受控工业资产或系统(例如,工业机器)的工业设备120进行监测和控制。一个或更多个工业控制器118还可以包括在个人计算机、刀片式服务器(server blade)或其他硬件平台或云平台上执行的软控制器。一些混合设备还可以将控制器功能与其他功能(例如,可视化)进行组合。由工业控制器118执行的控制程序可以包括用于处理从工业设备120读取的输入信号以及控制由工业控制器生成的输出信号的任何可想到的类型的代码,包括但不限于梯形逻辑、顺序功能图、功能框图、结构化文本、C++、Python、Javascript等。
工业设备120可以包括输入设备(例如,传感器)、输出设备(例如,效应器(effector))或者用作输入设备和输出设备二者的设备,输入设备向工业控制器118提供与受控工业系统有关的数据,输出设备对由工业控制器118生成的控制信号做出响应以控制工业系统的各方面。工业设备120可以包括数字输入设备(例如,按钮、选择器开关、安全设备、接近开关、光传感器等)、数字输出设备(例如,螺线管值、指示灯、马达接触器等)、模拟输入设备(例如,4mA至20mA遥测设备、0VDC至10VDC遥测设备或其他模拟测量设备)或模拟输出设备(例如,变频驱动器、流量控制阀、速度控制设备等)。
虽然一些工业控制器118通过硬连线连接与工业设备120通信地对接,但是许多工业控制器118使用诸如CIP Class1或Profinet的合适的工业通信协议通过网络与工业设备120中的一些或全部交换数据。
工业自动化系统通常包括一个或更多个人机接口(HMI)114,其允许工厂人员查看与自动化系统相关联的遥测数据和状态数据并且控制系统操作的一些方面。HMI 114可以通过工厂网络116与工业控制器118中的一个或更多个进行通信,并且与工业控制器交换数据以便于在一个或更多个预开发的操作者接口屏幕上对与受控工业过程相关的信息进行可视化。HMI 114还可以被配置成允许操作者将数据提交至工业控制器118的存储器地址或指定的数据标签,从而为操作者提供向受控系统发布命令(例如,循环开启命令、设备致动命令等)、修改设定点值等的手段。HMI114可以生成一个或更多个显示画面,操作者通过一个或更多个显示画面与工业控制器118交互,并且从而与受控过程和/或系统交互。示例显示画面可以使用显示计量或计算的值的过程的图形表示来使工业系统或其相关联设备的当前状态可视化,采用基于状态的颜色或位置动画,呈现警报通知或者采用其他这样的技术以向操作者展现相关数据。以这种方式呈现的数据由HMI 114从工业控制器118读取,并且根据由HMI开发者选择的显示格式被呈现在显示画面中的一个或更多个上。HMI可以包括固定位置设备或移动设备,其具有用户安装或预先安装的操作系统以及用户安装或预先安装的图形应用软件。
一些工业环境还可以包括与受控工业系统的特定方面有关的其他系统或设备。这些系统或设备可以包括例如一个或更多个数据历史装置(data historian)110,所述数据历史装置110聚合和存储从工业控制器118和其他工业设备收集的生产信息。
工业设备120、工业控制器118、HMI 114、相关联的受控工业资产、以及其他工厂车间系统、例如数据历史装置110、视觉系统以及其他这样的系统在工业环境的操作技术(OT)级上操作。较高级的分析和报告系统可以在信息技术(IT)领域中的工业环境的较高企业级(enterprise level)处操作;例如,在办公网络108上或在云平台122上操作。这样的较高级的系统可以包括例如企业资源规划(ERP)系统104,所述ERP系统104集成并总体地管理高级业务操作,例如财务、销售、订单管理、营销、人力资源或其他这样的业务功能。鉴于较高级的业务考虑,制造执行系统(MES)102可以监测和管理控制级上的控制操作。报告系统106可以从工厂车间的工业设备收集操作数据,并生成总结受控工业资产的操作统计的每日报告或轮班报告。
图2是示出与现场中的工业装备210相关联的工业设备120(或I/O设备)和工业控制器118之间的数据连接的概括图。如上所述,工业控制器118基于装备210的监测状态控制工业装备210,例如,制造产品或执行批处理的一个或更多个机器、生产线、运动系统或其他这样的装备。传感器206或其他输入设备从装备210读取测量状态216,并将该状态信息作为输入数据202传送至控制器118。由控制器118执行的控制程序214(例如,梯形逻辑程序或另一类型的控制程序)处理该输入数据202,并基于输入数据202的当前值或状态(表示装备的当前测量状态216)对效应器208设置输出数据204的值或状态。输出数据204控制效应器208(例如,气动或液压致动器、马达接触器、变频驱动器、视觉指示器等)的状态,效应器208的状态转换为控制装备210的行为的控制动作212。在一些控制架构中,工业控制器118使用工业通信协议(例如,CIP Class 1、Profinet或另一工业协议)通过工业网络与工业设备120交换数据。
在许多控制系统开发场景中,系统设计者可以在将控制器118投入现场使用之前虚拟地试运行将在控制器118上执行的控制程序214。图3是示出控制程序214相对于虚拟系统的虚拟试运行的图。虚拟试运行允许控制工程师在不需要将控制器118与物理传感器206或效应器208对接的情况下测试和验证控制程序214。而是,控制器118与物理工业系统的虚拟模型或数字孪生(digital twin)交换模拟数据,该虚拟模型或数字孪生模拟机械工业装备及其相关联的传感器和效应器的行为。虚拟系统用装备的数字模拟310代替物理工业装备210,并用相应的传感器仿真器302和效应器仿真器304以及仿真控制器118与工业设备120之间的网络的网络仿真器(图3中未示出)代替相关联的工业设备120(例如,传感器206和效应器208)。
虚拟系统的传感器仿真器302基于工业装备的模拟状态和行为生成模拟输入数据306,并将该数据306发送至控制器118。控制器118根据控制程序214处理该模拟输入数据306,并基于该处理生成指向虚拟系统的效应器仿真器304的输出数据308。通过观察在工业控制器118的控制下虚拟系统的模拟行为,可以在将程序214部署在工厂车间之前测试和调试控制程序214。
图4是示出示例工业仿真架构的图。在该示例中,托管虚拟系统406的模拟平台可以在硬件平台404、诸如Windows盒上执行,并且控制器118可以通过网络402与虚拟系统406交换模拟数据408(包括输入数据306和输出数据308),该网络402将控制器118链接至模拟硬件平台404。
然而,这种模拟架构不能精确地对控制器118与构成受控工业系统的物理装备和设备之间的通信定时进行建模。图5是示出工业控制器118与工业设备120(例如,传感器206或效应器208)之间的周期性数据交换的示例时序图。在物理控制环境中,诸如通用工业协议(CIP)Class 1的工业通信协议要求:根据具有固定频率的规则周期性调度,控制器118向每个设备120发送数据分组并且设备120向控制器118发送其数据分组。在图5所描绘的示例中,工业控制器118以与数据分组传输之间的第一分组间隔对应的第一频率向设备120发送数据分组。工业设备120以与数据分组传输之间的第二分组间隔对应的第二频率将其数据分组发送回控制器118。
取决于设备120的类型或功能,控制器118的分组间隔可以不同于设备120的分组间隔。例如,传感器206可以以高频(短分组间隔)将输入数据202发送回控制器118,而控制器118可以向传感器206发送频率较低的数据分组(以较长的分组间隔)以定期地向传感器206传达控制器118仍然存在。此外,控制器118可以以高频向效应器208发送输出数据204,而效应器208可以以较低频率向控制器118发送数据分组以指示效应器208仍然存在。控制器118和设备120中的每一个根据其固定的分组间隔发送其数据分组,而不管来自另一设备的传入分组的定时如何(即,不响应于从另一设备接收的请求发送分组)。对于包括许多工业设备120的给定控制应用,控制器118将维护许多这样的数据对话(与每个设备120一个对话)。物理环境中的一些数据交换以非常高的频率发生,其中短的网络分组间隔有时低至125微秒(即,以每125微秒1个分组的速率)。对于一些控制应用,例如运动控制应用,这些网络分组的定时必须非常精确。
在工业控制器118与执行数字地表示物理装备的虚拟系统406的硬件平台404交换数据的虚拟模拟领域中,以表示物理环境中看到的高频的短且精确的间隔调度要被发送的数据分组可能会有问题。这部分地由于由硬件平台404的操作系统使用的系统时钟的限制,该硬件平台的默认定时器粒度可能不足以小到允许以物理控制环境中所需的短间隔调度数据分组。在Windows操作系统的情况下,例如,默认定时器粒度可能仅为10毫秒。此外,硬件平台404的操作系统可能仅能够以相对低的精度(例如,大约4毫秒)调度数据分组,比许多控制应用所需的高水平的定时精度低许多倍。硬件平台404不能支持反映物理控制系统的高频率、高精度数据交换会导致模拟期间的高度可变的数据分组定时或抖动。
为了解决这些问题和其他问题,本文中描述的一个或更多个实施方式提供了如下工业模拟系统,该工业模拟系统可以在不需要附加的网络仿真硬件的情况下以适当高的频率和精度与工业控制器118交换数据,即使该模拟系统在下述硬件平台上执行,该硬件平台的默认定时器粒度不足以小到精确地仿真现实的工厂车间通信速度。在一个或更多个实施方式中,模拟系统使用从工业控制器118接收的数据分组的到达事件作为驱动从虚拟系统向控制器118发送数据分组的时钟信号,而不是使用硬件平台的操作系统或单独的网络仿真硬件的时钟信号对从模拟系统向工业控制器118发送数据分组进行定时。由于控制器118是如下实时系统:其以由其自身的内部时钟控制的精确定时的间隔且以控制器将输出数据204发送至物理设备120的频率相同的频率将其数据分组发送至仿真设备(例如,传感器仿真器302和效应器仿真器304),因此可以选择来自控制器118的合适的高频数据分组流作为时钟信号,模拟系统将使用该时钟信号来调度其数据分组到控制器118的传输。使用来自工业控制器118的数据分组的到达时间作为时钟信号而不是操作系统的系统时钟可以在模拟期间产生高精度、低抖动的数据交换。
图6是使用来自工业控制器的数据分组的到达时间触发向控制器发送模拟设备数据分组的示例工业模拟系统602的框图。工业模拟系统602可以包括用户接口部件604、控制器接口部件606、模拟部件608、通信控制部件610、一个或更多个处理器618和存储器620。在各种实施方式中,用户接口部件604、控制器接口部件606、模拟部件608、通信控制部件610、一个或更多个处理器618和存储器620中的一个或更多个可以彼此电和/或通信地耦接,以执行工业模拟系统602的一个或更多个功能。在一些实施方式中,部件604、606、608和610可以包括存储在存储器620上并由处理器618执行的软件指令。工业模拟系统602还可以与图6中未描绘的其他硬件和/或软件部件进行交互。例如,处理器618可以与一个或更多个外部用户接口设备、诸如键盘、鼠标、显示监视器、触摸屏或其他这样的接口设备进行交互。
用户接口部件604可以被配置成接收用户输入并以任何合适格式(例如,视觉、音频、触觉等)向用户呈现输出。在一些实施方式中,用户接口部件604可以在显示设备(例如,与台式计算机、膝上型计算机、平板计算机、智能电话等相关联的显示设备)上呈现交互式显示画面,其中显示画面用作模拟平台的接口。由系统602执行的工业模拟可以由用户接口部件604以任何合适的格式来呈现。例如,在一些实施方式中,用户接口部件604可以显示正相对于工业控制程序214测试的自动化系统的虚拟3D表示,并且可以使虚拟表示动画化以反映在执行程序214的工业控制器的控制下自动化系统的基本上实时的模拟行为。用户接口部件604的一些实施方式还可以基于模拟结果呈现操作统计。
控制器接口部件606可以被配置成经由网络连接(例如,图4中所示的网络402)将系统602与硬件工业控制器118通信地对接,并且在控制器118与由系统602模拟的工业系统(在本文中也被称为虚拟系统406)的虚拟化模型之间交换模拟数据。模拟部件608可以被配置成模拟在由控制器118执行的工业控制程序214的控制下虚拟系统406的操作。通信控制部件610可以被配置成基于来自工业控制器的数据分组的到达时间、调度通过网络连接从虚拟系统406(例如,从诸如传感器仿真器302和效应器仿真器304的仿真I/O设备)向工业控制器118的模拟数据的发送。
一个或更多个处理器618可以执行本文中参考所公开的系统和/或方法描述的功能中的一个或更多个。存储器620可以是存储用于执行本文中参考所公开的系统和/或方法描述的功能的计算机可执行指令和/或信息的计算机可读存储介质。
图7是示出在工业系统的模拟期间模拟系统602与工业控制器118之间的模拟数据的交换的图。类似于图3所描绘的虚拟试运行场景,模拟系统602执行工业自动化系统的数字的、具有模拟能力的模型。数字模型包括工业装备(例如,工业机器或生产线)的数字模拟310以及分别对传感器和效应器建模的设备仿真器302和304,设备仿真器302和304用作将工业装备与工业控制器118对接的I/O设备。传感器仿真器302可以仿真这样的数字和模拟输入设备,如光传感器、接近开关、遥测设备(例如,温度计、压力计、流量计、电压表等)、按钮、安全输入设备(例如,光幕、安全垫、拉绳等)或其他这样的传感器。效应器仿真器304可以仿真数字和模拟输出设备,例如气动或液压致动器、马达接触器、视觉或听觉指示器、诸如堆栈灯或警报器、或其他这样的效应器。从控制器118的角度来看,一些仿真设备、例如变频驱动器或工业机器人可以充当传感器和效应器二者(或者可以充当多个传感器和效应器)。
如上所述,当在物理工厂车间环境中使用工业通信协议、诸如CIP Class 1时,工业控制器118维持与每个I/O设备120(传感器206和效应器208)的单独数据交换对话,由此控制器118以第一固定分组间隔将数据分组发送至设备120,并且设备120以第二固定分组间隔将数据分组发送至控制器118(如图5所示)。在包括许多I/O设备的工业控制应用的操作期间,在控制器118与构成受控系统的设备120之间执行许多这样的对话。由控制器118或设备120发送数据分组的频率可以在控制系统上变化,如上面结合图5所指出的。
类似地,在虚拟域中,控制器118维持与设备仿真器302和304中的每一者的单独数据对话,其中由控制器118或设备仿真器302、304发送数据分组的频率在模拟系统上变化。由于工业控制器118是具有其自身内部时钟的实时硬件控制设备,因此控制器118以由其时钟控制的精确定时的间隔且以与分组将被发送至物理I/O设备120的频率类似的频率将其数据分组(例如,到效应器仿真器304的输出数据308)发送至模拟系统。对于由设备仿真器302、304发送至控制器118的数据分组(例如,由传感器仿真器302生成的输入数据306),模拟系统602在其上操作的操作系统的默认定时器粒度可能不足以小到驱动某些物理设备120预期的高频、短间隔数据分组传输。因此,为了精确地仿真模拟物理I/O设备120的高频数据分组传输,模拟系统602基于来自控制器118的数据分组的到达时间而不是操作系统的系统时钟来触发从设备仿真器302、304到控制器118的数据分组的传输。
为此,模拟系统的通信控制部件610可以选择来自控制器118的合适的数据分组的流以用作用以驱动数据分组从虚拟系统到控制器118的传输的时钟信号。在图7所描绘的示例中,将输出数据3081传送(carry)到效应器仿真器3041的数据分组选择为时钟信号。通常,来自控制器118的具有足够高频率(低分组间隔)的任何数据分组的流可以用作将驱动从设备仿真器302、304到控制器118的数据分组的发送的时钟信号。所选择的时钟数据分组不需要在功能上与将从仿真设备302、304发送回控制器118的设备数据分组相关。而是,被选择用作时钟信号的控制器数据分组可以对应于指向与其数据分组将由所选择的控制器数据分组调度的仿真设备不直接相关的效应器仿真器304的输出数据3081
图8是示出使用来自控制器118的数据分组作为时钟信号来触发从模拟系统向控制器118发送数据分组的示例数据交换时序图。在虚拟系统的模拟期间,控制器118以相应的固定频率向设备仿真器302、304发送数据分组(例如,如果使用图4所描绘的架构,则经由网络402)。对于给定的仿真设备,控制器118向仿真设备发送数据分组的频率可以取决于工业系统内的设备类型或设备功能。例如,控制器118可以以相对低的频率(长分组间隔)向传感器仿真器302发送数据分组,因为传感器仿真器302的主要作用是向控制器118发送表示虚拟化工业装备(数字模拟310)的测量状态的高频输入数据306,而控制器118可以仅将低频数据分组发送回传感器仿真器302以指示控制器仍然存在。然而,控制器118可以以相对高的频率向效应器仿真器304发送数据分组,因为这些数据分组传送用来控制效应器304的状态的输出数据308。
从要由控制器118发送至相应的设备仿真器302、304的可用的数据分组流中,模拟系统602可以选择来自控制器118的满足指示分组流作为时钟信号的适当性的定义的标准的数据分组802的流。例如,系统602可以选择具有足够高的分组频率(即,足够短的分组间隔)的数据分组802(例如,在图7描绘的示例中,将输出数据3081传送到效应器仿真器3041的数据分组)的流,使得分组802适合用作时钟信号。
在一些实施方式中,作为数据流的自动选择的替选方案,系统602可以允许用户明确地选择要用作时钟信号的数据分组流。模拟系统602将使用所选择的分组流的数据分组802的到达时间作为用于将数据分组从设备仿真器302、304发送至控制器118的时钟信号。
在模拟期间,响应于检测到数据流的被指定用作时钟信号的控制器数据分组802的到达,模拟系统602在当前时钟周期内向控制器118发送被调度用于传输的任何设备数据分组804。这些设备数据分组可以包括例如传送由传感器仿真器302生成的模拟输入数据306的分组804、以及传送由效应器仿真器304生成的数据的任何较低频率的数据分组804(例如,向控制器118指示效应器仿真器存在并接收控制器的输出数据308的数据分组)。由模拟系统602发送的设备数据分组804不需要在功能上与触发设备分组804的发送的控制器数据分组802相关。而是,当前被调度要发送至控制器118的任何设备数据分组804将在检测到下一个控制器数据分组802的到达时被发送,而不管在正被模拟的控制应用的上下文内控制器数据分组802与设备数据分组804之间的功能关系如何。
由模拟系统602执行的发送设备数据分组804的处理可以根据模拟系统602在其上执行的操作系统而变化。在图8描绘的示例中,响应于检测到所选择的数据分组流的下一个控制器数据分组802的到达,模拟系统602可以引发中断(例如,在Windows操作系统的情况下通过调用Windows中断服务例程),执行设备仿真器302、304以更新设备数据分组804,并将设备数据分组804发送至控制器118。在一些实施方式中,模拟系统602将推迟对接收到的控制器数据分组802的处理,直到已经发送了设备数据分组804之后。这可以确保设备数据分组804在正确的时间被发送出去,因为处理控制器数据分组802所需的时间可能是可变的。
每当接收到来自被指定为时钟信号的数据流的控制器数据分组802时,模拟系统602执行图8所描绘的序列。在一些控制应用中,响应于控制器数据分组802的到达而被发送至控制器118的设备数据分组804在每个时钟周期内可以不相同,而是可以取决于哪个设备仿真器302、304被调度为在当前时钟周期内向控制器118发送数据分组804。
由于控制器数据分组802的定时由控制器的内部时钟严格控制,并且分组802以反映许多物理I/O设备的短分组间隔的高频被发送,因此基于这些控制器数据分组802的到达时间而不是操作系统时钟来触发设备数据分组804的发送可以更可靠地以高精度模拟以短分组间隔发送设备数据的工业通信协议,从而减少或消除模拟期间的抖动。此外,该方法不需要使用附加的外部硬件或电路系统来仿真工业网络或取代模拟硬件平台的操作系统时钟。
虽然在本文中在其中硬件控制器118与虚拟化工业装备交换数据的工业模拟架构的上下文内描述了这种模拟数据交换方法,但是模拟系统602的一些实施方式还可以使用这种方法与对控制程序214的执行进行仿真的仿真(或虚拟化)工业控制器交换模拟数据。在一些这样的实施方式中,仿真工业控制器可以在与模拟系统602相同的硬件平台上执行,并且使用共享硬件平台的硬件和软件资源在仿真控制器与模拟系统602之间交换模拟输入和输出数据。
图9示出根据本申请的一个或更多个实施方式的方法。尽管出于简化说明的目的,本文中示出的方法被示出和描述为一系列动作,但是应理解和意识到,本发明不受动作顺序的限制,因为一些动作可以据此以与本文中示出和描述的顺序不同的顺序和/或与其他动作同时发生。例如,本领域技术人员将理解和意识到,方法可以替选地被表示为一系列相互关联的状态或事件,例如以状态图表示。此外,可能不需要所有示出的动作来实现根据本发明的方法。此外,当不同的实体执行方法的不同部分时,交互图可以表示根据本公开内容的方法或方式。此外,所公开的示例方法中的两个或更多个可以彼此组合地被实现,以实现本文中描述的一个或更多个特征或优点。
图9示出用于在硬件工业控制器与在模拟平台上执行的虚拟化工业系统之间交换模拟控制器和设备数据的示例方法900。最初,在902处,在工业控制器与在模拟平台上执行的虚拟化工业系统之间建立通信连接。在一些架构中,可以通过将工业控制器链接至模拟平台在其上执行的硬件平台(例如,配置有Windows或另一操作系统的计算机)的网络连接来建立连接。虚拟化工业系统包括要由工业控制器控制的真实世界工业系统——例如,工业机器或生产线——的数字模型。
在904处,执行在工业控制器的控制下虚拟化工业系统的模拟。在该模拟期间,虚拟化工业系统将从工业控制器接收指向虚拟化工业系统的各种仿真I/O设备的控制器输出数据,对工业系统响应于控制器输出数据的行为进行仿真,并基于虚拟化工业系统的各种模拟实时状态将模拟设备数据发送回控制器。这些数据交换的定时根据下面讨论的方法900的步骤906至910来处理。
在906处,确定是否在模拟平台处接收到控制器数据分组。通常,控制器将向被定义为虚拟化工业系统的一部分的多个仿真I/O设备发送数据分组。对于每个仿真I/O设备,控制器根据固定的分组间隔发送其输出数据分组,其中该分组间隔对于不同的I/O设备可以变化。如果没有接收到控制器数据分组(在步骤906处为“否”),则该方法返回到步骤904,并且继续执行模拟。替选地,如果接收到控制器数据分组(在步骤906处为“是”),则该方法进行至步骤908,在步骤908处,确定在步骤906处接收到的控制器数据分组是否是已经被指定为用于将仿真设备数据发送回控制器的时钟信号的分组。在这方面,可以预先选择从控制器到特定仿真I/O设备的控制器数据分组的指定流,以用作驱动将设备数据分组从虚拟化工业系统发送回控制器的时钟信号。如果在步骤906处接收到的控制器数据分组不是来自该指定数据流的数据分组(在步骤908处为“否”),则该方法返回到步骤904,并且继续执行模拟。
替选地,如果在步骤906处接收到的控制器数据分组是已经被指定为时钟信号的分组(在步骤908处为“是”),则该方法进行至步骤910,在步骤910处,将由虚拟化工业系统的一个或更多个仿真I/O设备生成的设备数据分组发送至工业控制器。在步骤910处发送的特定设备数据分组可以是当前被调度为在当前时钟周期内发送至控制器的那些设备数据分组。然后该方法返回到步骤904,并且继续执行模拟。
本文中描述的实施方式、系统和部件以及可以执行本说明书中阐述的各个方面的控制系统和自动化环境可以包括能够跨网络进行交互的计算机或网络部件,例如,服务器、客户端、可编程逻辑控制器(PLC)、自动化控制器、通信模块、移动计算机、用于移动交通工具的交通工具上的计算机、无线部件、控制部件等。计算机和服务器包括一个或更多个处理器——采用电信号来执行逻辑操作的电子集成电路——被配置成执行存储在介质中的指令,该介质例如是随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器以及可移除存储设备,该可移除存储设备可以包括存储棒、存储卡、闪存驱动器、外部硬盘驱动器等。
类似地,本文中所使用的术语PLC或自动化控制器可以包括可以跨多个部件、系统和/或网络共享的功能。作为示例,一个或更多个PLC或自动化控制器可以跨网络与各种网络设备进行通信和协作。这基本上可以包括经由网络进行通信的任何类型的控件、通信模块、计算机、输入/输出(I/O)设备、传感器、致动器和人机接口(HMI),该网络包括控制网络、自动化网络和/或公共网络。PLC或自动化控制器还可以与各种其他设备进行通信并且控制各种其他设备,各种其他设备例如是包括模拟、数字、编程/智能I/O模块的标准的或安全级的I/O模块、其他可编程控制器、通信模块、传感器、致动器、输出设备等。
网络可以包括:诸如因特网的公共网络;内联网;以及自动化网络,诸如控制和信息协议(CIP)网络,包括设备网(DeviceNet)、控制网(ControlNet)、安全网络以及以太网/IP。其他网络包括以太网、DH/DH+、远程I/O、现场总线、通讯总线(Modbus)、过程现场总线(Profibus)、CAN、无线网络、串行协议等。另外,网络设备可以包括各种可能性(硬件和/或软件部件)。这些包括诸如以下的部件:具有虚拟局域网(VLAN)能力的交换机、LAN、WAN、代理、网关、路由器、防火墙、虚拟专用网(VPN)设备、服务器、客户端、计算机、配置工具、监测工具和/或其他设备。
为了提供所公开主题的各个方面的情境,图10和图11以及以下讨论旨在提供对可以实现所公开的主题的各个方面的合适环境的简要的一般性描述。尽管上面已经在可以在一个或更多个计算机上运行的计算机可执行指令的总体情境下描述了各实施方式,但是本领域技术人员将认识到,实施方式也可以结合其他程序模块以及/或者作为硬件和软件的组合来实现。
通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、部件、数据结构等。此外,本领域技术人员将理解的是,可以利用其他计算机系统配置来实践本发明的方法,其他计算机系统配置包括单处理器或多处理器计算机系统、小型计算机、大型计算机、物联网(IoT)设备、分布式计算系统、以及个人计算机、手持式计算设备、基于微处理器的或可编程的消费性电子产品等,上述中的每一个都可以可操作地耦接至一个或更多个相关联的设备。
也可以在分布式计算环境中实践本文中示出的实施方式,在分布式计算环境中,某些任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地存储器存储设备和远程存储器存储设备二者中。
计算设备通常包括各种介质,各种介质可以包括计算机可读存储介质、机器可读存储介质和/或通信介质,如下所述,这两个术语在本文中彼此不同地使用。计算机可读存储介质或机器可读存储介质可以是能够由计算机访问的任何可用存储介质,并且包括易失性介质和非易失性介质二者、可移除介质和不可移除介质二者。通过示例而非限制的方式,可以结合用于存储诸如计算机可读指令或机器可读指令、程序模块、结构化数据或非结构化数据的信息的任何方法或技术来实现计算机可读存储介质或机器可读存储介质。
计算机可读存储介质可以包括但不限于:可以用于存储期望信息的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器或其他存储器技术、致密盘只读存储器(CD-ROM)、数字多功能盘(DVD)、蓝光盘(BD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁性存储设备、固态驱动器或其他固态存储设备、或其他有形和/或非暂态介质。在这点上,应当将本文中应用于存储装置、存储器或计算机可读介质的术语“有形”或“非暂态”理解为作为修饰语仅排除传播暂态信号本身,并且不放弃对并非仅传播暂态信号本身的所有标准存储装置、存储器或计算机可读介质的权利。
计算机可读存储介质可以由一个或更多个本地或远程计算设备、例如经由访问请求、查询或其他数据检索协议来访问,以用于关于由介质存储的信息的各种操作。
通信介质通常在诸如经调制的数据信号、例如载波或其他传输机制的数据信号中体现计算机可读指令、数据结构、程序模块或其他结构化或非结构化的数据,并且包括任何信息递送或传输介质。术语“经调制的数据信号”或信号是指以将信息编码在一个或更多个信号中的方式设置或改变其特性中的一个或更多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质以及诸如声学、RF、红外和其他无线介质的无线介质。
再次参照图10,用于实现本文中描述的各方面的各个实施方式的示例环境1000包括计算机1002,计算机1002包括处理单元1004、系统存储器1006和系统总线1008。系统总线1008将系统部件耦接至处理单元1004,该系统部件包括但不限于系统存储器1006。处理单元1004可以是各种市售处理器中的任何处理器。双微处理器以及其他多处理器架构也可以被用作处理单元1004。
系统总线1008可以是:还可以与存储器总线(具有或不具有存储器控制器的情况下)互连的若干类型的总线结构中的任何;外围总线;以及使用各种市售总线架构中的任何的本地总线。系统存储器1006包括ROM1010和RAM 1012。基本输入/输出系统(BIOS)可以被存储在诸如ROM、可擦除可编程只读存储器(EPROM)、EEPROM的非易失性存储器中,该BIOS包含有例如在启动期间帮助在计算机1002内的元件之间传送信息的基本例程。RAM 1012还可以包括高速RAM,例如用于缓存数据的静态RAM。
计算机1002还包括内部硬盘驱动器(HDD)1014(例如,EIDE、SATA)、一个或更多个外部存储设备1016(例如,磁软盘驱动器(FDD)1016、存储棒或闪存驱动器读取器、存储卡读取器等)以及光盘驱动器1020(例如,其可以从CD-ROM盘、DVD、BD等进行读或写)。虽然内部HDD 1014被示出为位于计算机1002内,但是内部HDD 1014也可以被配置成在合适的机箱(未示出)中用于外部使用。另外,虽然在环境1000中未示出,但除了HDD 1014之外还可以使用固态驱动器(SSD)或者使用固态驱动器(SSD)代替HDD 1014。HDD 1014、外部存储设备1016以及光盘驱动器1020可以分别通过HDD接口1024、外部存储接口1026和光驱接口1028连接至系统总线1008。用于外部驱动器实现方式的接口1024可以包括通用串行总线(USB)和电气与电子工程师协会(IEEE)1394接口技术中的至少一者或二者。其他外部驱动器连接技术在本文描述的实施方式的构思之内。
驱动器及其相关联的计算机可读存储介质提供数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机1002,驱动器和存储介质适应以适当的数字格式对任何数据的存储。尽管以上对计算机可读存储介质的描述提及各种类型的存储设备,但本领域技术人员应当理解的是,也可以在示例操作环境中使用计算机可读的其他类型的存储介质,无论所述存储介质是当前存在的还是将来要开发的,并且此外,任何这样的存储介质都可以包含用于执行本文所描述的方法的计算机可执行指令。
在驱动器和RAM 1012中可以存储多个程序模块,包括操作系统1030、一个或更多个应用程序1032、其他程序模块1034和程序数据1036。操作系统、应用、模块和/或数据的全部或部分也可以被缓存在RAM 1012中。可以使用各种市售的操作系统或操作系统的组合来实现本文中描述的系统和方法。
计算机1002可以可选地包括仿真技术。例如,管理程序(未示出)或其他中间物可以仿真用于操作系统1030的硬件环境,并且仿真的硬件可以可选地不同于图10中所示的硬件。在这样的实施方式中,操作系统1030可以包括在计算机1002处托管的多个虚拟机(VM)中的一个虚拟机。此外,操作系统1030可以为应用程序1032提供例如Java运行时环境或.NET框架的运行时环境。运行时环境是一致的执行环境,其允许应用程序1032在包括该运行时环境的任何操作系统上运行。类似地,操作系统1030可以支持容器(container),并且应用程序1032可以为容器的形式,容器是轻量级的、独立的、可执行的软件包,所述软件包包括例如代码、运行时间、系统工具、系统库以及应用的设置。
此外,可以利用诸如可信处理模块(TPM)的安全模块来启用计算机1002。例如,利用TPM,引导部件对在时间上接下来的引导部件进行哈希(hash),并且在加载接下来的引导部件之前等待结果与安全值的匹配。该过程可以发生在计算机1002的代码执行栈中的任何层处,例如在应用执行级或在操作系统(OS)内核级处应用,从而实现代码执行的任何级处的安全性。
用户可以通过一个或更多个有线/无线输入设备(例如,键盘1038、触摸屏1040和诸如鼠标1042的定点设备)将命令和信息输入到计算机1002中。其他输入设备(未示出)可以包括麦克风、红外(IR)遥控器、射频(RF)遥控器、或其他遥控器、操纵杆、虚拟现实控制器和/或虚拟现实耳机、游戏垫、触摸笔、图像输入设备(例如,摄像装置)、姿势传感器输入设备、视觉运动传感器输入设备、情绪或面部检测设备、生物特征输入设备(例如,指纹或虹膜扫描仪)等。这些输入设备以及其他输入设备通常通过可以耦接至系统总线1008的输入设备接口1022而连接至处理单元1004,但是也可以通过例如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口、
Figure BDA0003953132260000181
接口等的其他接口进行连接。
监视器1044或其他类型的显示设备也可以经由诸如视频适配器1046的接口连接至系统总线1008。除了监视器1044之外,计算机通常还包括其它外围输出设备(未示出),例如,扬声器、打印机等。
计算机1002可以使用经由有线和/或无线通信至诸如远程计算机1048的一个或更多个远程计算机的逻辑连接在联网环境中进行操作。远程计算机1048可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐器具、对等设备或其他公共网络节点,并且通常包括关于计算机1002所描述的元件中的许多或所有,但是为了简洁起见,仅示出了存储器/存储设备1050。所描绘的逻辑连接包括与局域网(LAN)1052和/或更大的网络(例如广域网(WAN)1054)的有线/无线连接。这样的LAN和WAN联网环境在办公室和公司中很常见,并且促进诸如内联网的企业范围的计算机网络,所有这些都可以连接至诸如因特网的全球通信网络。
当在LAN联网环境中使用时,计算机1002可以通过有线和/或无线通信网络接口或适配器1056连接到本地网络1052。适配器1056可以促进与LAN 1052的有线或无线通信,LAN1052还可以包括布置在其上的用于以无线模式与适配器1056进行通信的无线接入点(AP)。
当在WAN联网环境中使用时,计算机1002可以包括调制解调器1058,或者可以经由用于通过WAN 1054建立通信的其他手段(例如通过因特网)连接至WAN 1054上的通信服务器。可以是内部设备或外部设备并且可以是有线设备或无线设备的调制解调器1058可以经由输入设备接口1022连接至系统总线1008。在联网环境中,关于计算机1002描绘的程序模块或程序模块的部分可以被存储在远程存储器/存储设备1050中。应当理解的是,所示出的网络连接是示例,并且可以使用在计算机之间建立通信链路的其他装置。
当在LAN或WAN联网环境中使用时,除了如上所述的外部存储设备1016之外,或者代替如上所述的外部存储设备1016,计算机1002可以访问云存储系统或其他基于网络的存储系统。通常,可以例如分别通过适配器1056或调制解调器1058通过LAN 1052或WAN 1054来建立计算机1002与云存储系统之间的连接。在将计算机1002连接至相关联的云存储系统后,外部存储接口1026可以在适配器1056和/或调制解调器1058的帮助下,如管理其他类型的外部存储一样管理由云存储系统提供的存储。例如,外部存储接口1026可以被配置成提供对云存储源的访问,就好像这些源被物理地连接至计算机1002一样。
计算机1002可以操作成与可操作地以无线通信布置的任何无线设备或实体进行通信,所述任何无线设备或实体是例如打印机、扫描仪、桌上型计算机和/或便携式计算机、便携式数据助理、通信卫星、与无线地可检测的标签相关联的任何装备或位置(例如,信息亭、报摊、商店货架等)以及电话。这可以包括无线保真(Wi-Fi)和
Figure BDA0003953132260000191
无线技术。因此,通信可以是与常规网络一样的预定义结构或者仅是至少两个设备之间的自组织通信(adhoc communication)。
图11是可以与所公开的主题交互的样本计算环境1100的示意性框图。样本计算环境1100包括一个或更多个客户端1102。客户端1102可以是硬件和/或软件(例如线程、进程、计算设备)。样本计算环境1100还包括一个或更多个服务器1104。服务器1104也可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,服务器1104可以容纳线程以通过采用如本文中描述的一个或更多个实施方式来执行变换。客户端1102与服务器1104之间的一种可能的通信可以是适于在两个或更多个计算机进程之间传输的数据分组的形式。样本计算环境1100包括通信框架1106,该通信框架1106可以被用来促进客户端1102与服务器1104之间的通信。客户端1102可操作地连接至可以被用于存储客户端1102本地的信息的一个或更多个客户端数据存储装置1108。类似地,服务器1104可操作地连接至可以被用于存储服务器1104本地的信息的一个或更多个服务器数据存储装置1110。
上面所描述的内容包括本发明的示例。当然,不可能为了描述所公开的主题而描述每个可设想到的部件或方法的组合,但是本领域普通技术人员可以认识到,本发明的许多另外的组合和置换是可能的。因此,所公开的主题旨在涵盖落入所附权利要求的精神和范围内的所有这样的变更、修改和变型。
尤其是关于由上面描述的部件、设备、电路、系统等执行的各种功能,除非另外指出,否则用于描述这样的部件的术语(包括对“手段”的提及)旨在对应于执行所描述的部件的指定功能的任何部件(例如,功能上等同的任何部件),即使该部件在结构上不等同于所公开的结构,但该部件仍然执行本文中示出的所公开主题的示例性方面中的功能。就这一点而言,还应当认识到,所公开的主题包括具有用于执行所公开的主题的各种方法的动作和/或事件的计算机可执行指令的计算机可读介质以及系统。
另外,虽然可能针对若干实现方式中的仅一个实现方式公开了所公开的主题的特定特征,但是如果对于任何给定应用或特定应用而言可能是期望且有利的,这样的特征可以与其他实现方式的一个或更多个其他特征进行组合。此外,就在详细描述或权利要求书中使用术语“包含(includes)”和“包含(including)”及其变型方面而言,这些术语旨在以与术语“包括(comprising)”类似的方式是包括性的。
在本申请中,使用词语“示例性”来表示用作示例、实例或说明。在本文中被描述为“示例性”的任何方面或设计不必被解释为比其他方面或设计优选或有利。更确切地,词语“示例性”的使用旨在以具体方式呈现构思。
可以使用标准编程和/或工程技术将本文中描述的各个方面或特征实现为方法、装置或制品。如本文中所使用的术语“制品”旨在包括能够从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储设备(例如,硬盘、软盘、磁条......)、光盘[例如,致密盘(CD)、数字多功能盘(DVD)......]、智能卡和闪速存储器设备(例如,卡、棒、密钥驱动器......)。

Claims (20)

1.一种用于模拟工业系统的系统,包括:
存储可执行部件的存储器;以及
可操作地耦接至所述存储器的处理器,所述处理器执行所述可执行部件,所述可执行部件包括:
模拟部件,所述模拟部件被配置成基于工业系统的虚拟模型执行在工业控制器的控制下所述工业系统的模拟;以及
通信控制部件,所述通信控制部件被配置成:从所述工业控制器接收指向所述虚拟模型的仿真设备的控制器数据,并且将由所述仿真设备生成的模拟设备数据发送至所述工业控制器,
其中,所述通信控制部件被配置成:将所述控制器数据的指向所述仿真设备中的一个仿真设备的子集指定为时钟信号,并且响应于接收到与所述控制器数据的子集相对应的控制器数据分组而将所述模拟设备数据发送至所述工业控制器。
2.根据权利要求1所述的系统,其中,所述通信控制部件被配置成基于确定与所述控制器数据的子集相关联的控制器数据分组是由所述工业控制器以满足定义的标准的频率发送的,来指定所述控制器数据的子集。
3.根据权利要求2所述的系统,其中,所述定义的标准是对工业网络协议所支持的设备数据分组间隔进行仿真的最小频率。
4.根据权利要求1所述的系统,还包括被配置成接收选择要被指定为所述时钟信号的所述控制器数据的子集的用户输入的用户接口部件。
5.根据权利要求1所述的系统,其中,所述仿真设备包括光传感器、接近开关、遥测设备、按钮、安全输入设备、变频驱动器、气动或液压致动器、马达接触器、工业机器人或视觉指示器中的至少一个的数字仿真。
6.根据权利要求1所述的系统,其中,生成响应于接收到所述控制器数据分组而发送的所述模拟设备数据的所述仿真设备包括与所述仿真设备中的所述控制器数据的子集所指向的所述一个仿真设备不同的至少一个仿真设备。
7.根据权利要求1所述的系统,其中,
所述控制器数据的子集的分组间隔定义相应的时钟周期,并且
在所述时钟周期中的时钟周期中,所述通信控制部件在所述模拟部件处理所述控制器数据分组之前发送所述模拟设备数据。
8.根据权利要求1所述的系统,还包括被配置成基于所述虚拟模型以及所述控制器数据和所述模拟设备数据的值来在客户端设备上呈现所述模拟的图形表示的用户接口部件。
9.根据权利要求1所述的系统,其中,所述工业控制器是硬件工业控制器或仿真工业控制器之一。
10.一种方法,包括:
由包括处理器的系统基于工业系统的数字模型执行在工业控制器的控制下所述工业系统的模拟,其中,所述执行包括:
从所述工业控制器接收指向所述数字模型的仿真设备的控制器数据;以及
响应于接收到与所述控制器数据的被指定为时钟信号的子集相对应的控制器数据分组,向所述工业控制器发送由所述仿真设备生成的模拟设备数据。
11.根据权利要求10所述的方法,还包括选择所述控制器数据的指向所述仿真设备中的一个仿真设备的子集作为所述控制器数据的被指定为所述时钟信号的子集。
12.根据权利要求11所述的方法,其中,所述发送包括发送由与所述仿真设备中的所述控制器数据的子集所指向的所述一个仿真设备不同的至少一个仿真设备生成的模拟设备数据。
13.根据权利要求10所述的方法,还包括由所述系统基于确定与所述控制器数据的子集相关联的控制器数据分组是由所述工业控制器以满足定义的标准的频率发送的、来选择要被指定为所述时钟信号的所述控制器数据的子集。
14.根据权利要求10所述的方法,其中,所述定义的标准是对工业网络协议所支持的设备数据分组间隔进行仿真的最小频率。
15.根据权利要求10所述的方法,还包括由所述系统基于对选择所述控制器数据的子集的用户输入的接收来选择要被指定为所述时钟信号的所述控制器数据的子集。
16.根据权利要求10所述的方法,其中,所述仿真设备包括光传感器、接近开关、遥测设备、按钮、安全输入设备、变频驱动器、气动或液压致动器、马达接触器、工业机器人或视觉指示器中的至少一个的数字仿真。
17.根据权利要求10所述的方法,其中,
所述控制器数据的子集的分组间隔定义相应的时钟周期,并且
所述模拟的执行包括:在所述相应的时钟周期中的时钟周期中,在处理所述控制器数据分组之前发送所述模拟设备数据。
18.一种非暂态计算机可读介质,其上存储有指令,所述指令响应于执行而使包括处理器的系统执行操作,所述操作包括:
基于工业系统的虚拟模型执行在工业控制器的控制下所述工业系统的模拟,其中,所述执行包括:
从所述工业控制器接收指向所述数字模型的仿真设备的控制器数据;以及
响应于接收到与所述控制器数据的被指定为时钟信号的子集相对应的控制器数据分组,向所述工业控制器发送由所述仿真设备生成的模拟设备数据。
19.根据权利要求18所述的非暂态计算机可读介质,其中,所述操作还包括选择所述控制器数据的指向所述仿真设备中的一个仿真设备的子集作为被指定为所述时钟信号的所述控制器数据的子集。
20.根据权利要求19所述的非暂态计算机可读介质,其中,所述发送包括发送由与所述仿真设备中的所述控制器数据的子集所指向的所述一个仿真设备不同的至少一个仿真设备生成的模拟设备数据。
CN202211454982.2A 2021-11-23 2022-11-21 用于工业网络仿真的实时高速时钟信号 Pending CN116149269A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/533,489 2021-11-23
US17/533,489 US11835942B2 (en) 2021-11-23 2021-11-23 Real-time high-speed clock signal for industrial network emulation

Publications (1)

Publication Number Publication Date
CN116149269A true CN116149269A (zh) 2023-05-23

Family

ID=84363135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211454982.2A Pending CN116149269A (zh) 2021-11-23 2022-11-21 用于工业网络仿真的实时高速时钟信号

Country Status (3)

Country Link
US (1) US11835942B2 (zh)
EP (1) EP4184257A1 (zh)
CN (1) CN116149269A (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1134638A3 (en) * 2000-03-13 2002-08-14 Kabushiki Kaisha Toshiba Simulator and simulation method
US8199695B2 (en) * 2007-04-10 2012-06-12 International Business Machines Corporation Clock signal synchronization among computers in a network
US10037443B2 (en) * 2011-03-07 2018-07-31 Rockwell Automation Technologies, Inc. Industrial simulation using redirected I/O module configurations
US8756041B2 (en) * 2011-03-07 2014-06-17 Rockwell Automation Technologies, Inc. Industrial simulation using redirected I/O module configurations
US10755003B2 (en) * 2013-11-08 2020-08-25 Rockwell Automation Technologies, Inc. Time synchronization of signal transmission intervals for simulating a machine in industrial automation
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

Also Published As

Publication number Publication date
US11835942B2 (en) 2023-12-05
EP4184257A1 (en) 2023-05-24
US20230161336A1 (en) 2023-05-25

Similar Documents

Publication Publication Date Title
US10037443B2 (en) Industrial simulation using redirected I/O module configurations
EP2498156B1 (en) Industrial simulation using redirected I/O module configurations
EP2924562B1 (en) Multiple controllers configuration management interface for system connectivity
EP3944034A1 (en) Model-based design of linear synchronous motor transport systems
CN112783018A (zh) 工业环境模拟下的机器人数字孪生控制
JP6965798B2 (ja) 制御システムおよび制御方法
CN112784328B (zh) 用于开发自动化系统模型的系统和方法
EP3002649B1 (en) Industrial simulation using redirected i/o module configurations
CN113268044B (zh) 增强现实人机接口的仿真系统和测试方法及介质
US11726464B2 (en) Publish/subscribe protocol for real-time process control
EP3422639A2 (en) Performance testing method and apparatus for an industrial system deployed on cloud
CN114488843A (zh) 工业网络通信仿真
JP2019518289A (ja) レガシー・レベル1コントローラ仮想化システムおよび方法
CN114329801A (zh) 统一多个模拟模型
CN114265329A (zh) 工业网络仿真
US11835942B2 (en) Real-time high-speed clock signal for industrial network emulation
EP4170442A1 (en) Edge application discovering and translating state machine objects in automation controllers for mes and dcs applications
CN112904807B (zh) 工业分析系统、方法和非暂态计算机可读介质
EP4336358A1 (en) Parallel emulation for controls testing
CN115879905A (zh) 用于工业机器监测的系统、方法和非暂态计算机可读介质

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