CN114488843A - 工业网络通信仿真 - Google Patents
工业网络通信仿真 Download PDFInfo
- Publication number
- CN114488843A CN114488843A CN202111193487.6A CN202111193487A CN114488843A CN 114488843 A CN114488843 A CN 114488843A CN 202111193487 A CN202111193487 A CN 202111193487A CN 114488843 A CN114488843 A CN 114488843A
- Authority
- CN
- China
- Prior art keywords
- simulation
- industrial
- network
- controller
- component
- 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
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 245
- 238000004891 communication Methods 0.000 title abstract description 47
- 238000013461 design Methods 0.000 claims description 140
- 238000000034 method Methods 0.000 claims description 82
- 230000015654 memory Effects 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 27
- 238000013507 mapping Methods 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 5
- 230000010354 integration Effects 0.000 claims description 3
- 230000008520 organization Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 238000011960 computer-aided design Methods 0.000 description 106
- 238000012360 testing method Methods 0.000 description 67
- 238000003860 storage Methods 0.000 description 52
- 230000006399 behavior Effects 0.000 description 43
- 239000000047 product Substances 0.000 description 39
- 238000010586 diagram Methods 0.000 description 33
- 230000033001 locomotion Effects 0.000 description 28
- 230000006870 function Effects 0.000 description 26
- 230000008569 process Effects 0.000 description 26
- 238000012545 processing Methods 0.000 description 19
- 230000000875 corresponding effect Effects 0.000 description 15
- 230000004048 modification Effects 0.000 description 15
- 238000012986 modification Methods 0.000 description 15
- 230000008676 import Effects 0.000 description 13
- 238000011161 development Methods 0.000 description 12
- 230000018109 developmental process Effects 0.000 description 12
- 230000003993 interaction Effects 0.000 description 11
- 238000011089 mechanical engineering Methods 0.000 description 8
- 239000012636 effector Substances 0.000 description 7
- 239000000463 material Substances 0.000 description 7
- 238000007792 addition Methods 0.000 description 6
- 230000003278 mimic effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000012800 visualization Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000000704 physical effect Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000003542 behavioural effect Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 239000012530 fluid Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000008093 supporting effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 239000011344 liquid material Substances 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000010399 physical interaction Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000009012 visual motion Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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], computer integrated manufacturing [CIM]
- G05B19/41885—Total 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], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4097—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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], computer integrated manufacturing [CIM]
- G05B19/4185—Total 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], computer integrated manufacturing [CIM] characterised by the network communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
本发明提供了一种工业网络通信仿真。工业模拟系统使用自动化系统的虚拟模型或数字孪生以及工业控制程序的仿真的执行来模拟工业自动化系统。模拟系统还包括对设备网络进行仿真的网络仿真组件,工业控制器将通过该设备网络与自动化系统的现场设备进行通信。网络仿真组件可以基于通过询问执行正在被测试的控制代码的硬件控制器而获得的控制器配置数据以及从虚拟模型获得的I/O点信息来配置设备网络仿真。
Description
相关申请的交叉引用
本申请要求于2020年11月13日提交的题为“INDUSTRIAL NETWORK COMMUNICATIONEMULATION”的美国临时专利申请序列第63/113,371号的优先权,其全部内容通过引用并入本文中。
技术领域
本文中公开的主题一般地涉及工业自动化系统,更具体地涉及工业自动化系统的模拟和测试。
背景技术
在高级别处,设计新的工业自动化系统通常涉及两个单独但相互关联的工程工作,以在一方面开发机械方面并且在另一方面开发控制方面。机械工程可以涉及:选择或设计将组成新系统的机器(例如,工业机器人、加工站、传送机、操作者工作站、运动设备、马达、气动致动器等);确定这些机器的合适位置和取向;选择和定位将用于将状态和操作数据馈送至控制设备的传感器等。基于该机械设计,控制工程师设计用于电力连接和数据连接两者的电气系统,开发要由一个或更多个工业控制器执行以控制自动化系统的行为的控制代码(例如,梯形逻辑、顺序功能图、功能框图、结构化文本等),设置设备配置(例如,马达驱动器参数设置),并且开发用于可视化机器状态和警报的人机接口(HMI)。作为开发过程的一部分,控制工程师还可以执行数字模拟,所述数字模拟针对机械系统的虚拟化(例如,数字孪生)来测试控制编程。
鉴于这两个工程线程,用于设计、编程和测试工业自动化系统的常规工程工作流程通常需要使用用于机械工程和控制工程的单独的设计工具。由于机械设计平台与控制设计平台之间通常不存在直接链接,因此必须将CAD侧上对机械设计所做的改变传送给控制工程师,使得在必要时可以相应地更新控制设计。因此,如果两个工程团队并行工作并修改他们各自的设计,则可能难以保持机械设计与控制设计之间的同步。
发明内容
以下给出了简化的概述,以提供对本文中描述的一些方面的基本理解。该概述既不是广泛的综述,也不旨在标识关键/重要的要素或者描绘本文中描述的各方面的范围。该概述的唯一目的是以简化的形式给出一些概念作为稍后给出的更详细描述的序言。
在一个或更多个实施方式中,提供了一种用于模拟工业自动化系统的系统,该系统包括:模拟组件,该模拟组件被配置成基于工业自动化系统的虚拟模型以及工业控制器对工业控制程序的执行在工业控制程序的控制下执行工业自动化系统的模拟;以及网络仿真组件,该网络仿真组件被配置成对设备网络进行仿真,工业控制器通过该设备网络与工业自动化系统的设备进行通信。
此外,一个或更多个实施方式提供了一种方法,该方法包括:由包括处理器的系统经由网络连接通信地连接至工业控制器,其中,工业控制器执行工业控制程序,所述工业控制程序被设计成监测和控制工业自动化系统;以及由系统基于工业自动化系统的虚拟模型以及工业控制器对工业控制程序的执行在工业控制程序的控制下执行工业自动化系统的模拟,其中,执行模拟包括执行设备网络的仿真,工业控制器通过该设备网络与工业自动化系统的设备进行通信。
此外,根据一个或更多个实施方式,提供了一种非暂态计算机可读介质,所述非暂态计算机可读介质上存储有指令,所述指令响应于执行而使包括处理器的系统执行操作,所述操作包括:经由网络连接通信地连接至存储工业控制程序的工业控制器,所述工业控制程序被设计成监测和控制工业自动化系统;以及基于工业自动化系统的虚拟模型以及工业控制器对工业控制程序的执行在工业控制程序的控制下执行工业自动化系统的模拟,其中,执行模拟包括执行设备网络的仿真,工业控制器通过该设备网络与工业自动化系统的设备进行通信。
为了实现上述目的和相关目的,在本文中结合以下描述和附图对某些说明性方面进行了描述。这些方面指示可以实践的各种方式,所有这些方式均旨在被涵盖在本文中。当结合附图考虑时,其他优点和新颖特征可以根据以下详细描述而变得明显。
附图说明
图1是示出用于与设计工业自动化系统有关的机械工程和控制工程的单独的设计平台的使用的图。
图2是支持利用控制方面对3D机械CAD模型进行标记以促进动态数字孪生的创建的示例CAD系统的框图。
图3是也支持利用控制方面对自动化系统的3D模型进行标记的示例控制设计和测试系统的框图。
图4是示出使用CAD系统创建工业自动化系统的机械模型的图。
图5是示出将方面元数据添加至机械模型以产生自动化系统的增强数字模型的图。
图6是可以由CAD系统呈现并且用于将方面元数据分配给机械CAD模型的示例接口显示。
图7是示出基于向机械模型分配方面元数据来创建自动化系统项目的主I/O列表的图。
图8是已经利用方面元数据标示的示例CAD文件的图示。
图9是示出作为虚拟调试过程的一部分的将增强数字模型导出至控制设计和测试平台的图。
图10是示出在使用增强数字模型以在控制程序的控制下虚拟地模仿物理自动化系统的行为的控制设计和测试平台内模拟组合的机械设计和控制设计的图。
图11是示出将控制设计更新提交给控制设计和测试平台的图。
图12是示出将更新的数字模型从控制设计和测试平台导入CAD系统中的图。
图13是用于开发工业自动化系统的机械CAD模型并且将该模型配置成用作动态数字孪生以在模拟平台内执行的示例方法的流程图。
图14是用于与系统的机械设计并行地生成自动化系统的动态数字孪生和相关联的主I/O列表的示例方法的流程图。
图15是示出其中设计和测试系统通过网络与工业控制器交换模拟数据的模拟架构的图。
图16是示出由网络仿真组件支持的模拟平台的要素以及这些要素与模拟平台的其他要素的关系的图。
图17是用于配置和执行工业自动化模拟——包括设备网络的仿真——的示例方法的流程图,工业控制器将通过该设备网络与自动化系统的设备进行通信。
图18是示例计算环境。
图19是示例联网环境。
具体实施方式
现在参照附图来描述本主题公开内容,其中,贯穿全文使用相同的附图标记来指代相同的要素。在以下描述中,出于说明的目的,阐述了许多特定细节以提供对本主题公开内容的透彻理解。然而,可能明显的是,可以在没有这些具体细节的情况下实践本主题公开内容。在其他实例中,以框图形式示出公知的结构和设备以促进对本主题公开内容的描述。
如在本申请中使用的术语“组件”、“系统”、“平台”、“层”、“控制器”、“终端”、“站”、“节点”、“接口”旨在指代计算机相关实体、或者与具有一个或更多个特定功能的操作装置相关的或作为该操作装置的一部分的实体,其中,这样的实体可以是硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于:在处理器上运行的进程、处理器、硬盘驱动器、包括附接(例如,螺丝拧紧或螺栓固定)或可移除附接的固态存储驱动器的(光存储介质或磁存储介质的)多个存储驱动器;对象;可执行体;执行的线程;计算机可执行程序和/或计算机。通过说明的方式,在服务器上运行的应用和服务器两者都可以是组件。一个或更多个组件可以驻留在进程和/或执行的线程内,并且组件可以位于一个计算机上以及/或者分布在两个或更多个计算机之间。此外,如本文中描述的组件可以从其上存储有各种数据结构的各种计算机可读存储介质来执行。组件可以经由本地和/或远程处理例如根据具有一个或更多个数据包的信号(例如,来自经由信号与本地系统、分布式系统中的另一组件和/或跨网络例如因特网与其他系统交互的一个组件的数据)进行通信。作为另一示例,组件可以是具有由电气或电子电路系统操作的机械部件提供的特定功能的装置,该电气或电子电路系统由处理器执行的软件或固件应用来操作,其中,处理器可以在装置内部或外部并且执行软件或固件应用的至少一部分。作为又一示例,组件可以是通过电子组件而无需机械部件提供特定功能的装置,电子组件可以在其中包括处理器以执行至少部分地提供电子组件的功能的软件或固件。作为再一示例,接口可以包括输入/输出(I/O)组件以及相关联的处理器、应用或应用程序接口(API)组件。虽然前述示例针对组件的各方面,但是举例说明的方面或特征也适用于系统、平台、接口、层、控制器、终端等。
如本文中所使用的,术语“推断(infer)”和“推断(inference)”通常是指根据经由事件和/或数据捕获的一组观察结果来推理或推断系统、环境和/或用户的状态的处理。例如,可以采用推断来识别特定的情境或动作,或者可以生成关于状态的概率分布。推断可以是概率性的,即,基于对数据和事件的考虑来计算关于感兴趣的状态的概率分布。推断还可以指代用于根据一组事件和/或数据构成较高级别的事件的技术。这样的推断导致从一组观察到的事件和/或所存储的事件数据构造出新事件或动作,而不管事件在时间接近度上是否紧密相关,也不管事件和数据是否来自一个或若干个事件和数据源。
另外,术语“或”旨在表示包含性的“或”而不是排他性的“或”。也就是说,除非另外指明或者根据上下文是清楚的,否则短语“X采用A或B”旨在表示任何自然的包括性排列。也就是说,以下实例中的任何实例满足短语“X采用A或B”:X采用A;X采用B;或X采用A和B两者。另外,除非另外指明或者从上下文中清楚地得知该冠词涉及单数形式,否则在本申请和所附权利要求中所使用的冠词“一(a)”和“一个(an)”通常应当被解释为意指“一个或更多个”。
此外,本文中采用的术语“集合”排除空集,例如其中没有元素的集合。因此,在本主题公开内容中的“集合”包括一个或更多个元素或实体。作为说明,控制器的集合包括一个或更多个控制器;数据资源的集合包括一个或更多个数据资源等;同样,本文中所使用的术语“组”是指一个或更多个实体的集合;例如,一组节点是指一个或更多个节点。
将根据可以包括许多设备、组件、模块等的系统来呈现各个方面或特征。应当理解并且意识到,各种系统可以包括附加的设备、组件、模块等,以及/或者各种系统可以不包括结合附图所讨论的全部设备、组件、模块等。也可以使用这些方法的组合。
在高级别处,设计新的工业自动化系统通常涉及两个单独但相互关联的工程工作,以在一方面开发机械方面并且在另一方面开发控制方面。机械工程可以涉及:选择或设计将组成新系统的机器(例如,工业机器人、加工站、传送机、操作者工作站、运动设备、马达、气动致动器等);确定这些机器的合适位置和取向;选择和定位将用于将状态和操作数据馈送至控制设备的传感器等。基于该机械设计,控制工程师设计用于电力连接和数据连接两者的电气系统,开发要由一个或更多个工业控制器执行以控制自动化系统的行为的控制代码(例如,梯形逻辑、顺序功能图、功能框图、结构化文本等),设置设备配置(例如,马达驱动器参数设置),并且开发用于可视化机器状态和警报的人机接口(HMI)。作为开发过程的一部分,控制工程师还可以执行数字模拟,所述数字模拟针对机械系统的虚拟化(例如,数字孪生)来测试控制编程。
鉴于这两个工程线程,用于设计、编程和测试工业自动化系统的常规工程工作流程通常需要使用用于机械工程和控制工程的单独的设计工具。图1是示出用于与设计工业自动化系统有关的机械工程和控制工程的单独的设计平台的使用的图。机械工程师可以在计算机辅助设计(CAD)平台104中开发如数字三维(3D)机械模型102的机械设计。基于该机械模型102和期望的操作序列的知识,控制工程师可以在一个或更多个控制设计平台106中设计控制系统——包括电气设计、I/O定义和控制程序,所述一个或更多个控制设计平台106可以包括工业控制器编程应用、电气绘图应用、设备配置应用、HMI开发应用或其他这样平台。例如,控制工程师可以参考与以下有关的机械设计:基于系统中存在的马达、驱动器、致动器、安全设备或其他工业资产来确定控制新的自动化系统所需的I/O点的列表;以及将工业控制器标签映射到这些I/O点并生成用于执行期望的自动化序列的控制程序。
控制设计平台106还可以包括数字模拟平台,该数字模拟平台针对自动化系统的虚拟模型来仿真控制程序的执行,以测试控制程序和机械设计,即,被称为虚拟调试的处理。这样的模拟平台可以响应于控制程序在仿真的工业控制器上的执行而模仿自动化系统的机械资产的行为,从而使得可以验证正确的操作。在物理系统的调试期间,已完成的控制代码、设备配置和HMI应用被下载到自动化系统的适当现场设备108。
由于机械设计平台与控制设计平台之间通常不存在直接链接,因此必须将CAD侧上对机械设计所做的改变传送给控制工程师,使得在必要时可以相应地更新控制设计。因此,如果两个工程团队并行工作并修改他们各自的设计,则可能难以保持机械设计与控制设计之间的同步。此外,由于在CAD平台104上开发的机械模型102不是能够模拟的并且因而不能被用于虚拟调试,因此如果要经由模拟来测试系统设计,则必须与机械CAD模型102分开地开发自动化系统的能够虚拟模拟的模型(例如,数字孪生),以在调试之前在虚拟域中测试控制编程。
为了解决这些问题和其他问题,本公开内容的一个或更多个实施方式提供了工业CAD系统或其附加组件,其通过以下操作来简化自动化系统开发工作流程:将机械和控制域集成到CAD平台中,使得CAD成为用于机械方面以及电气和控制接口信息二者的公共信息源。根据一个或更多个实施方式,CAD系统可以结合一组特征,该组特征允许用户在CAD环境内使用“方面”来标示或标记机械CAD图的所选元件。这些方面标记符号将所选的机械元件标记为特定类型的工业资产或控制元件。例如,用户可以将机械CAD模型的所选元件或组件标记为某种类型的动态或运动学关节(例如,滑动关节、机器人关节、旋转关节、棱柱形关节、螺旋形关节、圆柱形关节、平面关节、球形关节等)、传送机、马达、夹持器(例如,机械夹持器、吸力夹持器等)、机械负载、传感器、致动器或另一类型的工业资产。这些方面还可以定义机械设计的所选元件的属性或物理几何形状。
当利用这些方面来标记机械CAD模型的所选元件时,CAD平台基于用来标记每个元件的方面的类型,将模拟元数据与所选元件相关联。该模拟元数据在虚拟模拟的环境内定义所选元件的行为——例如运动的范围、方向和/或轴、运动约束、速度、力等,从而将机械CAD模型转换成能够模拟的数字模型(例如,动态数字孪生),该能够模拟的数字模型可以被导出至模拟和测试平台。在模拟和测试平台内,可以将所得到的增强模型连接至仿真的工业控制器,以测试控制逻辑并监测自动化系统的模拟操作。以这种方式,可以通过CAD平台来添加机械标记符号和模拟标记符号两者,以产生自动化系统的可用仿真和模拟模型。
图2是根据本公开内容的一个或更多个实施方式的支持利用控制方面对3D机械CAD模型进行标记以促进动态数字孪生的创建的示例CAD系统202的框图。本公开内容中说明的系统、装置或过程的各方面可以构成机器可执行组件,该机器可执行组件包含在机器内,例如包含在与一个或更多个机器相关联的一个或更多个计算机可读介质(或介质)中。这样的组件在由一个或更多个机器——例如计算机、计算设备、自动化设备、虚拟机等——执行时,可以使机器执行描述的操作。
CAD系统202可以包括用户接口组件204、机械建模组件206、方面元数据组件208、模型导出组件210、模型导入组件212、一个或更多个处理器218和存储器220。在各种实施方式中,用户接口组件204、机械建模组件206、方面元数据组件208、模型导出组件210、模型导入组件212、一个或更多个处理器318和存储器320中的一个或更多个可以彼此电耦接和/或通信地耦接,以执行CAD系统202的功能中的一个或更多个。在一些实施方式中,组件204、206、208、210和212可以包括存储在存储器220上并且由处理器218执行的软件指令。CAD系统202还可以与图2中未描绘的其他硬件组件和/或软件组件进行交互。例如,处理器218可以与诸如键盘、鼠标、显示监测器、触摸屏的一个或更多个外部用户接口设备或其他这样的接口设备进行交互。
用户接口组件204可以被配置成接收用户输入并以任何合适的格式(例如,视觉、音频、触觉等)将输出呈现给用户。在一些实施方式中,用户接口组件204可以在显示设备(例如,与桌上型计算机、膝上型计算机、平板计算机、智能电话等相关联的显示设备)上呈现交互式显示屏幕,其中,显示屏幕用作3D机械设计平台的接口。用户接口组件204可以呈现可选的设计工具,并且经由与工具的交互来接收与设计工业自动化系统或机器的机械方面有关的设计输入。用户接口组件204还可以根据设计输入来呈现自动化系统的3D图形表示。如将在本文中更详细地描述的,由用户接口组件204可用的设计工具包括一组自动化方面,该组自动化方面可以与被设计的自动化系统的机械元件或组件选择性地相关联。可供选择的方面基于在存储器220上保持的方面定义222,所述方面定义222定义了可用方面以及相应方面的相关联的模拟数据,其可以由模拟平台用于模拟工业模拟环境内的各方面的操作或行为。
机械建模组件206可以被配置成基于由用户经由用户接口组件204提供的设计输入来生成自动化系统或机器的三维机械模型。方面元数据组件208可以被配置成根据从用户接收到的设计输入将方面元数据分配给机械模型的所选元件。如将在本文中更详细描述的,方面元数据将所选元件标记为特定类型的工业组件或机器(例如,特定类型的关节、马达、传感器、传送机等)或者将所选元件标记为具有特定的物理几何形状或行为。分配给给定元件的方面元数据是从方面定义222中的一个或更多个方面定义得出的,所述方面定义222中的一个或更多个方面定义对应于分配给该元件的相应的一个或更多个方面。将该方面元数据添加至机械模型可以产生自动化系统的增强的机械模型(例如,动态数字孪生),该增强的机械模型可以在模拟平台内被执行,以在工业控制程序的控制下模仿自动化系统的行为。
模型导出组件210可以被配置成将增强的机械模型导出至外部系统,例如控制设计平台或模拟平台。模型导入组件212可以被配置成从这样的外部系统导入增强的机械模型。在一些场景中,增强的机械模型或其相关联的方面元数据可能已经被外部系统修改。利用模型保持这些修改,并且从而利用模型将这些修改导入回到CAD系统202中,从而保持机械工程与控制工程之间的同步。
一个或更多个处理器218可以执行本文中参考所公开的系统和/或方法所描述的功能中的一个或更多个。存储器220可以是存储用于执行本文中参考所公开的系统和/或方法描述的功能的计算机可执行指令和/或信息的计算机可读存储介质。
图3是也支持利用控制方面对自动化系统的3D模型进行标记的示例控制设计和测试系统302的框图。控制设计和测试系统302可以包括用户接口组件304、模拟组件306、控制器仿真组件308、方面元数据组件310、模型导入组件312、网络仿真组件314、一个或更多个处理器318和存储器320。在各种实施方式中,用户接口组件304、模拟组件306、控制器仿真组件308、方面元数据组件310、模型导入组件312、网络仿真组件314、一个或更多个处理器318和存储器320中的一个或更多个可以彼此电耦接和/或通信地耦接,以执行控制设计和测试系统302的功能中的一个或更多个。在一些实施方式中,组件304、306、308、310、312和314可以包括存储在存储器320上并由处理器318执行的软件指令。控制设计和测试系统302还可以与图3中未描绘的其他硬件组件和/或软件组件进行交互。例如,处理器318可以与诸如键盘、鼠标、显示监视器、触摸屏的一个或更多个外部用户接口设备或其他这样的接口设备进行交互。
用户接口组件304可以被配置成接收用户输入并以任何合适的格式(例如,视觉、音频、触觉等)将输出呈现给用户。在一些实施方式中,用户接口组件304可以在显示设备(例如,与桌上型计算机、膝上型计算机、平板计算机、智能电话等相关联的显示设备)上呈现交互式显示屏幕,其中,显示屏幕用作控制设计和/或模拟平台的接口。用户接口可以显示正在对仿真的工业控制程序进行测试的自动化系统的虚拟3D模拟,基于该模拟以及其他这样的信息来呈现表示自动化系统的预期性能的操作统计信息。在一些实施方式中,用户接口组件304还可以呈现可选的设计工具,并且经由与工具的交互来接收与配置工业自动化的方面(例如,虚拟系统的设备与工业控制器之间的I/O连接)有关的设计输入。与上述CAD系统202相似,由用户接口组件304可用的设计工具可以包括一组自动化方面,该组自动化方面可以与被设计的自动化系统的机械元件或组件选择性地相关联。可供选择的方面基于在存储器320上保持的方面定义322,所述方面定义322定义了可用方面以及相应方面的相关联的模拟数据,其可以由模拟平台用于模拟工业模拟的环境内的各方面的操作或行为。
模拟组件306可以被配置成:在工业控制程序的控制下模拟工业自动化系统的虚拟化模型的操作。控制器仿真组件308可以被配置成仿真在虚拟化的(或仿真的)工业控制器上正被测试的工业控制程序的执行。
方面元数据组件310可以被配置成根据从用户接收到的设计输入来将方面元数据分配给自动化系统的数字模型的所选元件(类似于CAD系统202的方面元数据组件208)。模型导入组件212可以被配置成导入自动化系统的机械CAD模型或系统的另一类型的数字模型。网络仿真组件314可以被配置成对如下设备网络进行仿真,所述设备网络将存在于控制程序1008将在其上执行的工业控制器与组成建模的自动化系统的现场设备之间。
一个或更多个处理器318可以执行本文中参考所公开的系统和/或方法描述的功能中的一个或更多个。存储器320可以是存储用于执行本文中参考所公开的系统和/或方法描述的功能的计算机可执行指令和/或信息的计算机可读存储介质。
图4是示出使用CAD系统202创建工业自动化系统的机械模型的图。在一些实施方式中,CAD系统202可以在诸如桌上型计算机、膝上型计算机、平板计算机、移动设备、可穿戴AR/VR器具等的客户端设备上执行。在其他实施方式中,CAD系统202可以在云平台或具有访问系统202的授权的多个用户可访问的另一高级别平台上执行。在这样的实施方式中,客户端设备可以远程地访问CAD系统的设计工具,并且利用这些工具来开发正在被设计的自动化系统的机械模型。
用户接口组件204可以经由客户端设备的显示硬件来呈现图形接口显示。通过与这些接口显示的交互,用户可以提交指定正在被设计的自动化系统的机械方面的机械设计输入404。例如,机械设计输入404可以指定表示要包括在机械设计中的机械结构或设备的三维形状。这些形状可以以图形形式表示这样的工业资产例如工业机器人、传送机、加工机器、马达、马达驱动器、传感器、管道、管路、平台、安全门和栅栏、控制柜或其他这样的资产。机械设计输入404还可以指定这些图形表示相对于彼此的位置和取向、机械元件之间的物理连接或其他这样的机械属性和关系。机械建模组件206根据由机械设计输入404定义的图形表示及其关系来生成自动化系统(例如,机器装配、生产线等)的3D机械模型402。
根据各种实施方式,可以经由用户接口组件204以任何合适的格式提交机械设计输入404。例如,由用户接口组件204呈现的图形接口显示可以包括:在其上呈现机械模型402的工作空间或画布;以及相关联的工具栏,用户可以从所述相关联的工具栏中选择2D或3D绘图工具或预定义的形状或组件以包含在模型402中。在一些实施方式中,可以将表示机械组件的形状从工具栏拖动到主工作空间中,或者可以以其他方式将表示机械组件的形状添加至工作空间,以在模型402中进行放置和定向。工作空间中的形状或形状的集合可以经由与图形接口的交互被操纵。例如,设计者可以与选择的形状、形状的集合或整个模型402进行交互,以在虚拟三维空间内旋转、链接或重新定位形状。机械模型402的添加或修改被存储在表示模型402的CAD文件(例如,零件或部件文件)内。
所得到的机械模型402对正在被设计的自动化系统的机械布局进行编码。然而,在这一阶段,机械模型402实质上仅仅是适合于用作构建和安装自动化系统的指南的三维技术制图。负责设计自动化系统的电气和控制系统的控制工程师也可以参考该模型402,以配合开发监测和控制新系统所需的控制器I/O的列表、设计用于向该系统提供电力的配电线路以及生成控制编程。常规地,如果控制工程师希望通过在仿真系统的环境内在程序的控制下模拟自动化系统的操作来测试控制编程,则自动化系统的能够模拟的数字模型(例如,数字孪生)必须被单独开发并且被链接至执行控制程序的仿真控制器。
为了简化该工作流程并且更快地生成自动化系统的数字孪生,CAD系统202的实施方式允许用户利用方面元数据来增强完成的机械模型402,该方面元数据将机械模型402转换成可以在模拟平台内被执行以模仿系统的操作的自动化系统的能够模拟的数字模型。图5是示出将方面元数据508添加至机械模型402以产生自动化系统的增强数字模型502的图。在一个或更多个实施方式中,由用户接口组件204呈现的图形接口显示可以包括一个或更多个工具栏,所述一个或更多个工具栏用于将方面元数据添加至机械模型402的所选元件或组件。可用于选择的方面基于存储在CAD系统202上(例如,存储在存储器220上)的方面定义222。
每个方面定义222定义一组物理、运动学或机电属性,其指示该方面在模拟环境中如何表现。由方面定义222定义的属性实质上反映了真实世界中的对应物理方面的物理行为和特性。CAD系统202根据针对其定义物理属性的机械元件、控制元件或设备的类型对方面定义222进行分类。由用户接口组件204呈现的方面工具栏根据这些分类列出可用方面以供用户选择。可以被选择并被应用于机械模型402的示例方面包括但不限于:各种类型的动态或运动学关节(例如,滑动关节、旋转关节、机器人臂关节、铰链等)、诸如传送机的移动表面、马达、夹持器(例如,吸力夹持器、机械夹持器等)、传感器、气动或液压致动器(例如,推动器臂、止动器等)、辊或机械系统的其他这样的元件。
方面定义222的目录还可以包括各种类型的机器人端部执行器(例如,机械夹持器、吸力夹持器等)。端部执行器方面定义222可以为其对应的夹持器类型定义物理属性(例如,3D物理约束),可以在控制模拟侧上使用这些物理属性来更准确地模仿低抽象级处的机器人零件处理行为的操作。例如,应用于机械模型402中定义的机器人的表示的吸力夹持器方面可以向模拟平台指示该机器人的端部执行器要被建模为吸力夹持器,从而吸力夹持器附近的产品可被假设为已被机器人(经由吸力)夹持,并且随后可以与机器人臂协同移动以模拟由机器人引起的零件的移动。相比之下,机械夹持器方面可能隐含着与由夹持器引起的零件移动有关的更复杂的物理过程。在机械夹持器方面的情况下,可以使用物理引擎的约束来在允许零件协同机器人的移动而移动(由于夹持器臂与产品表面之间的摩擦)之前,确定夹持器的侧是否以适当的位置和角度接触产品的相应侧。
一些方面定义222还可以定义可以与机械模型402的所选元件相关联的物理几何形状或属性。各方面还可以将在机械模型402内定义的所选机器指定为负载创建者,所述负载创建者将具有指定形状和物理行为(例如,碰撞物理性质)的产品引入到自动化系统中;例如,经由向系统供料的传送机。
将方面元数据508添加至机械模型402的处理涉及将由机械模型402表示的所选机械组件或设备标记为可用控制方面之一(由方面定义222之一表示)。可以通过经由与由用户接口组件204呈现的图形接口显示的交互提交方面规范输入504来执行标记工作流程的该方面。例如,用户可以从方面工具栏中选择机器人关节的类型作为方面,并且随后选择机械模型402中的要被标记为该类型关节的元件。响应于这些选择,方面元数据组件208将用于所选类型的机器人关节的方面元数据508与机械模型402的所指示的组件相关联,从而将关节的静态机械表示转换成活动的虚拟控制元件,该活动的虚拟控制元件的行为可以在模拟平台内被虚拟地模拟。从与指示类型的方面对应的方面定义222得出被分配给所选机械组件的方面元数据508。
方面元数据508可以基本上定义可以被模拟平台识别和利用的任何类型的信息,以响应于控制输入或模拟的力而对对应机械组件的运行时移动或行为准确地进行建模。根据方面,方面元数据508可以包括可全局地应用于该方面的所有实例的默认固定值或属性以及可以由用户定制成符合用户系统的特性的用户定义的元数据。图6是可以由用户接口组件204呈现并且用于将方面元数据508分配给机械CAD模型402的示例接口显示602。在该示例中,接口显示602包括主工作空间606,在该主工作空间606上呈现正在被设计的自动化系统的机械模型402的3D CAD表示608。接口显示602可以响应于对控制方面选项卡630的选择而在主工作空间606上方呈现方面工具栏604。方面工具栏604显示表示控制方面或方面的类别的许多可选选项,这些可选选项可以经由与CAD表示608的交互而被选择并被添加至模型(例如,控制面板、传送机、动态关节、端部执行器、运动学关节、负载、马达、物理性质、物理几何形状、物理组、传感器等)。
在图6中描绘的示例中,表示传送机612的CAD表示608的一部分要被标记为具有“直传送机”方面,将机械模型402的该组件标识为传送机并且将模拟元数据与传送机612的表示相关联,该传送机612的表示可以由单独的模拟平台用来准确地模拟传送机612的行为。为了分配该方面,用户可以与接口显示602进行交互以从方面工具栏604中的传送机的下拉选择632中选择“直传送机”选项,然后选择CAD表示608中的传送机612的表示(机械模型402的可视化)。响应于这些选择,方面元数据面板被呈现在主工作空间606的左侧,该方面元数据面板列出用于输入用户可定义元数据值的许多字段614至628。这些用户可定义元数据值是除了与“直传送机”方面相关联的固定的全局方面元数据值之外的值,其也与传送机612相关联。
通常,由用户接口组件204呈现的可用的用户可定义方面元数据值的列表基于所选的特定方面。以这种方式,当用户将方面分配给机械模型402的组件时,用户接口组件204提示用户输入可以用于该选择的方面的任何用户定义的元数据字段的值。在示出的示例中,用于传送机的用户可定义方面元数据508可以包括用于传送机612的前边缘614和后边缘616的定义——其可以由方面元数据组件208基于被分配传送机方面的机械传送机表示的形状自动地标识,或者可以由用户明确地标识(例如,通过选择前边缘和后边缘以指示它们的位置)。此外,用户接口组件204可以提示用户输入这样的用户可定义的传送机方面元数据值,例如,传送机的运行速度618、加速度620或减速度622。还可以提示用户指定用于沿传送机传送产品的带的材料624,这可以影响基于材料的摩擦系数或其他物理属性对沿传送机的产品的模拟遍历。还可以请求用于传送机612的控制模式626(例如,开关控制、变速控制等)。
与图6示出的工作流程和图形接口相似的工作流程和图形接口可以用于将选择的方面元数据分配给其他类型的自动化系统组件。根据另一示例,用于气动推动器臂的方面元数据508可以定义推动器臂在机械模型402的三维坐标系内的线性移动的方向、开始位置和移动范围。用户接口组件204还可以提示用户在启动时为推动器的移动速度提供用户定义的元数据值。
一些方面定义222(以及从这些定义222得出的对应的方面元数据508)也可以定义选择的机械组件的物理特性或约束,并且这些特性和约束可以随后由模拟平台参考以准确地模拟组件的移动和行为。这些特性可以包括但不限于:齿轮直径、齿轮比、摩擦系数、惯性、运动约束(例如,特定类型的机器人的已知运动轴和它们的对应的运动约束)或其他这样的数据。根据方面的类型,这些方面元数据值中的一些可以是用户定义的,而其他方面元数据值可以是预期适用于该方面的所有实例的固定全局特性。一些方面定义222还可以定义可执行脚本,该可执行脚本可以由单独的模拟平台执行并且被应用于机械模型402的关联元件(例如,由用户利用对应的方面标记的元件),从而使该元件模仿模拟环境内其对应物理组件的行为。
一些方面定义222还可以为它们对应的资产指定控制I/O对接。例如,将传感器(例如,光眼、接近开关等)的方面元数据508分配给表示传感器的机械模型402的所选元件可以将所选元件指定为数字输入设备,该数字输入设备响应于在传感器的检测范围内检测到对象而向工业控制器提供数字输入值。在该场景中,检测范围可以是用户定义的方面元数据值。在另一示例中,用于推动器臂的类型的方面元数据508可以指定:臂需要数字控制器输出以控制推动器臂的前进状态和缩回状态(例如,前进为ON,缩回为OFF)以及需要两个数字输入以读取推动器臂的行进的最端处的相应的两个接近开关的状态,从而检测臂何时处于完全前进或完全缩回状态。通常,具有与工业控制器对接的已知或期望的I/O的系统组件的方面定义222可以定义监测和/或控制这些系统组件所需的输入和/或输出(模拟和数字)。当准备好在模拟和测试平台内模拟模型502时,该I/O信息可以促进增强数字模型502与仿真的控制器之间的连接。
此外,在一些实施方式中,当具有相关联的I/O定义的方面被添加至机械模型402时,方面元数据组件208可以利用由对应的方面定义222定义的I/O点来自动填充系统I/O的聚合列表。图7是示出基于向机械模型402分配方面元数据508来创建自动化系统项目的主I/O列表702的图。当如上所述将方面选择性地分配给机械模型402的元件时,方面元数据组件208确定与该方面对应的方面定义222是否定义了该方面的输入或输出。除了将方面元数据508分配给机械模型402之外,在方面定义222中定义的任何方面I/O 706均被添加至自动化系统的主I/O列表702。该主I/O列表702可以以人类可读的格式被呈现并且由控制工程师在设计控制系统和相关联的控制逻辑时进行参考。例如,主I/O列表702可以在模拟平台内填充标签浏览器,该标签浏览器允许用户将虚拟机I/O与相应控制器I/O点选择性地相关联。
在一些实施方式中,主I/O列表702可以与自动化系统的增强数字模型502集成或以其他方式与自动化系统的增强数字模型502存储在一起,使得I/O列表702与模型502一起传送。因此,增强数字模型502不仅包括新系统的3D布局,而且包括整个系统的I/O映射。该主I/O列表702可以根据指定的方面元数据508在控制系统的设计开始之前被生成,从而为控制工程师提供有用的设计约束(即,操作自动化系统所需的I/O)。
一些方面元数据508还可以将机械模型402的组件指定为负载源,所述负载源将产品的离散项目(例如,箱、行李、制造的零件、流体材料或其他这样的产品)引入到系统中。当将负载源方面标记应用于机械模型402的元件时,用户接口组件204可以提示用户为指定的负载源提供用户定义的操作参数,例如将产品引入系统的速率、产品的形状(例如,具有指定尺寸的箱或圆柱体、由柔性材料制成并具有随机可变形状的项目等)、与产品相关联的碰撞物理性质或者其他这样的特性。当随后将增强数字模型502导入模拟平台中时,模拟平台根据负载源方面元数据508、通过标记的负载源来模拟产品项目的释放。
在一些实施方式中,如上所述的用于利用方面元数据508标记3D机械模型402的功能可以作为插件或附加组件被添加至现有的CAD应用。在这样的实施方式中,方面元数据附加组件的安装使新的方面工具栏或功能区(ribbon)——例如,图6中示出的方面工具栏604被添加至CAD应用的现有开发接口,并且将方面定义222加载到CAD应用中。新的工具栏列出了可以用于标记使用CAD应用的本地绘图和开发工具开发的机械模型402的方面。以这种方式,经由方面标记将机械CAD模型转换成动态数字孪生的处理可以容易地被集成到已经在CAD平台上被执行的现有设计工作流程中。此外,尽管上述示例假设机械模型402在同一CAD系统202中被创建,在该同一CAD系统202中,用方面元数据508标记模型402,但是一些实施方式可以导入在单独的CAD平台中开发的机械模型,并且允许用户利用方面元数据508标示这些导入的机械模型,以促进动态数字孪生的创建。
此外,一些实施方式可以允许用户(例如,资产拥有者、原始设备制造商、系统集成商等)利用用户定义的方面定义222来扩展可以应用于CAD模型的可用方面。因此,除了由附加组件支持的可用方面标记符号(如由方面定义222定义的)的目录之外,用户还可以开发和添加其自己的方面——包括相关联的模拟属性——并且将其自己的方面添加至方面工具栏,其中,用户定义的方面可以被选择并被添加至机械CAD模型402作为方面元数据508。以这种方式,CAD系统202除了支持特定于行业的控制组件的定义之外,还可以支持特定于公司的控制组件的定义。
当利用如上所述的方面标记机械CAD模型402的元件时,由该方面定义的方面元数据406与选择的元件的CAD实体标识符相关联。图8是已经利用方面元数据508标示的示例CAD文件802的图示。通常,机械CAD绘图或模型的每个元件具有相关联的唯一CAD实体标识符(ID)804,该元件的属性808(例如,大小、颜色、取向、位置等)与该CAD实体标识符804相关联。还针对每个实体ID 804定义元件的类型806(例如,球体、立方体、线等)。这些实体ID804通常是CAD平台的现有CAD框架固有的,并且给定CAD模型402的CAD文件802包括组成模型402的元件的实体ID 804。
当用户利用如上所述的方面来标记机械模型402的所选组件时,将所选方面的方面元数据508与所选组件的实体ID 804相关联地添加至模型的CAD文件802中。由于方面元数据508与CAD文件的本地实体ID 804相联系,因此方面元数据508被保留在CAD文件802本身内而不是单独的文件内,并且因此与CAD文件802一起传送。以这种方式,模型的CAD文件802可以被导入基本上任何模拟平台中作为自动化系统的能够模拟的增强数字模型502,并且每个实体ID 804的方面元数据508使模型402的对应的元件被模拟平台识别为控制元件或激活元件。
如上所述,利用方面元数据508标示机械模型402产生正在被设计的自动化系统的增强数字模型502,该增强数字模型502可以被导出至单独的模拟平台以进行虚拟调试。图9是示出作为虚拟调试过程的一部分的将增强数字模型502导出至控制设计和测试系统302的图。一旦已经利用方面元数据508标记了机械模型402,则可以使用CAD系统的模型导出组件210将得到的增强数字模型502导出至单独的控制设计和测试系统302。在示例实施方式中,CAD系统的图形接口可以包括可选的导出功能,该可选的导出功能在被选择时使模型导出组件210将数字模型——包括其嵌入的方面元数据和主I/O列表702——导出至设计和测试系统302。作为将模型502直接导出至测试系统302的替代,模型导出组件210可以将数字模型502导出至具有随后可以被导入至测试系统302(例如,通过测试系统的模型导入组件312)的格式的文件。
在本示例中,控制设计和测试系统302包括控制器仿真组件308和模拟组件306,该控制器仿真组件308仿真在虚拟化(或仿真)的工业控制器上正在被测试的工业控制程序的执行,该模拟组件306在工业控制程序的控制下模拟工业自动化系统的虚拟化模型的操作。在控制设计和测试系统302内,可以将自动化系统的增强数字模型502(包括利用方面元数据508和主I/O列表702增强的机械模型402)与控制编程(例如,梯形逻辑)对接,这允许机械设计和控制设计二者在最终确定总体设计并且进行到构建和安装阶段之前被虚拟地模拟和测试,其中,针对自动化系统来开发所述控制编程以产生虚拟测试环境。图10是示出在使用增强数字模型502以在控制程序1008的控制下虚拟地模仿物理自动化系统的行为的控制设计和测试系统302内模拟组合的机械设计和控制设计的图。如上所述应用于机械模型402的所选元件的方面元数据508使这些元件由测试平台的模拟组件306识别为控制元件或激活元件,并且指示模拟组件306有关每个元件在模拟环境内如何响应于控制和物理刺激而表现。
由于增强数字模型502对自动化系统的机械特性以及组成该模型的组件的行为属性进行建模(借助于方面元数据508),因此增强数字模型502可以被用于在仿真的控制程序1008的控制下模拟自动化系统的预期操作和行为。这可以包括查看和验证模拟的系统对在移动、速度、流量、温度、填充水平、产品通过系统的移动等方面的控制输入的响应。在图10中描绘的示例中,测试系统302的控制器仿真组件308充当工业控制器仿真器以执行控制程序1008,针对CAD系统202内创建的自动化系统的虚拟模型502来开发和测试该控制程序1008。
模拟组件306可以利用被编码在增强数字模型502中的机械特性和相关联方面元数据508来模拟要由控制程序1008监测和调节的自动化系统的操作方面。为了实现这一点,用户(例如,控制工程师)可以将控制程序1008与增强数字模型502虚拟地对接,以促进模拟的I/O数据在程序1008与数字模型502之间的交换,从而模拟自动化系统的真实世界控制和操作。为此,开发者可以使用测试平台的配置工具(例如,标签浏览器)将由控制程序1008定义的控制器I/O选择性地映射至增强数字模型502的活动控制元件的I/O(即,利用方面元数据508标记的控制元件将这些元件指定为具有可用于与工业控制器的I/O对接的相关联的输入和输出,如由主I/O列表702所记录的)。在示例场景中,控制工程师可以定义PLC标签和I/O地址——其驱动机械模型402中定义的马达、致动器或其他组件,并且将标签和相关联的I/O地址选择性地链接至针对建模的组件定义的I/O点。控制程序1008与数字模型502之间的这种I/O映射——其是整个自动化系统设计的一部分——可以作为PLC连接数据1006被存储在适当格式化的文件(例如,电子表格或另一类型的文件)中,并且与数字模型502集成。因此,除了机械设计方面之外,数字模型502还保持控制设计的这一方面。
控制程序1008可以包括用于处理读入到控制器中的输入信号并且控制来自控制器的输出信号的任何可想到类型的代码——包括但不限于梯形逻辑、顺序功能图、功能框图或结构化文本——并且被设计成调节通过数字模型502建模的自动化系统。在模拟期间,模拟组件306基于由数字模型502表示的物理系统的静态特性和动态特性来生成数字和模拟I/O值,这些数字和模拟I/O值表示例如传感器输出、计量输出或与预期由物理系统生成的数据类似的其他工厂数据。该模拟输出数据1004被提供给执行控制程序1008的仿真组件308,仿真组件308接收该数据1004作为一个或更多个虚拟物理输入。控制程序1008根据用户定义的算法处理这些输入,并且基于该处理生成数字和/或模拟控制器输出数据1002。该输出数据1002表示将由执行控制程序1008的控制器生成并且被发送至包括自动化系统的硬连线现场设备的物理输出(例如,PID环路控制输出、螺线管激励输出、马达控制输出、致动器控制输出、机器人控制输出等)。根据用户定义的I/O映射,将控制器输出数据1002提供给数字模型502的适当输入点。
除了生成模拟输出数据1004之外,模拟组件306还基于对已建模自动化系统响应于模拟控制器输出数据1002的预期行为以及模拟数据交换的分析来生成系统响应数据1018。模拟组件306基于由与机械模型402的相应控制元件相关联的方面元数据508定义的约束以及行为和物理属性来估计和模拟虚拟自动化系统对仿真的控制器输出(以及这些输出的定时)的响应。例如,基于如由方面元数据508表示的由增强数字模型502建模的工业组件(例如,传送机、工业机器人、机器、模拟的产品等)的机械和行为特性,模拟组件306可以预测响应于控制器输出数据1002,建模的工业组件的预期行为以及由组件制造、处理或操纵的产品的行为,并且将该预测的行为作为系统响应数据1018进行传送。由系统响应数据1018表示的示例行为可以包括但不限于工业机器人的移动和轨迹、产品通过模拟的自动化系统的移动(包括速度、加速度、位置、滞后、碰撞、夹持器故障等)、流体通过系统的流动速率、系统的预期能量消耗、系统的机械组件的预期退化率(部分基于增强数字模型502中定义的摩擦系数信息)、操作期间施加至系统的各个组件的预期力或其他这样的行为。
在具有用于夹持和移动产品的项目(例如,用于堆叠或堆放产品项目,将项目从一个传送机移动至另一传送机等)的端部执行器的工业机器人的情况下,这些机器人与产品之间的模拟交互可以部分地取决于与机器人的端部执行器相关联的夹持器方面元数据508的类型。例如,如上所述,吸力夹持器方面元数据508可以向模拟组件306指示:可以假设吸力夹持器附近的产品已经被机器人夹持住,只要吸力执行器在零件上方适当地对准即可,并且可以随后随机器人臂移动以模拟由机器人对零件的移动,直到零件被释放。替选地,机械夹持器方面元数据508可以定义在可以假设零件已经被机器人牢固地夹持住之前要由模拟组件306考虑的更多涉及的物理性质。这可以包括:当执行器处于夹持位置时,在允许产品协同机器人移动之前,确定夹持器的两个臂是否接触产品的相应侧并且处于适当的角度或取向。由于机械夹持器对产品的牢固夹持取决于产品在进入拾取站(机器人从该拾取站夹持零件)时的适当对准以及产品与机器人的夹持器在拾取时的相对对准,因此模拟组件306可以在模拟期间评估这些因素以确定产品是否已经被适当地夹持,或者替选地确定是否可能由于未对准而发生误夹持。关于如何适当地评估该夹持行为的指令可以由分配给机器人的机械夹持器方面元数据508提供。
如上所述,可以利用将这些组件指定为负载源的方面元数据508来标记机械模型402的一个或更多个组件。基于该负载源方面元数据,模拟组件306可以将模型的这些组件识别为如下负载源,所述负载源将产品(例如,制造的零件、盒、瓶、流体材料等)引入所测试的自动化系统中并且使这些组件动画化以根据元数据来模拟产品的释放。分配给这些组件的默认和用户定义的元数据参数可以定义产品被释放的频率、产品类型(例如,离散的固体项目或液体材料)、产品的形状(例如,具有指定尺寸的盒、球形对象、由于制成项目的柔性材料而具有随机无定形形状的项目等)、产品遍历系统的速度等。这些产品通过模拟自动化系统的移动也可以根据与产品在其上移动的传送机表示相关联的传送机方面元数据(例如,传送机的速度、用于传送产品的带的材料等)。模拟组件306还可以模拟产品项目之间或产品与机器之间的预测碰撞(例如,由于不合时机的控制序列而与推动器臂或机器人臂碰撞)。可以基于部分由方面元数据508建模的物理规则和几何形状来预测和模拟这些碰撞的影响。模拟组件306还可以利用由方面元数据508定义的物理规则来确定机械夹持器是否已经适当地夹持住产品项目或者可能由于不适当的夹持而使产品的一些或全部项目掉下。
与测试系统302相关联的用户接口组件304可以生成可视化1014,该可视化1014将模拟的结果呈现在客户端设备上。可视化1014可以基于增强数字模型502来呈现自动化系统的图形表示,并且基于系统响应数据1018和/或与模拟会话有关的其他计算的统计信息来使该图形表示动画化,从而产生操作中的自动化系统的三维视觉演示。一些模拟数据也可以在可视化1014上被呈现为字母数字叠加。该模拟技术可以用于在不将现场装备和机器置于危险中的情况下来测试和调试控制程序,以测试对机器操作的修改并且估计这样的修改如何影响某些关键性能指标或财务度量,或者执行其他类型的分析。
在一些实施方式中,用户可以以高粒度程度来控制模拟的速度。例如,用户可以选择实时地执行模拟,使得模拟描绘自动化系统的操作,如同它将实时发生的那样。替选地,用户可以根据用户指定的时基来选择性地选择比实时更快地执行模拟的控制序列或处理的一些或全部阶段。这使模拟及其相关联的分析在压缩的时间范围内发生。
在示出的示例中,控制设计和测试系统302可以允许用户添加或修改控制设计的各方面。这可以包括基于模拟的观察结果来实施和测试对控制程序1008的修改。经由控制设计和测试系统302提交的一些控制设计修改也可以针对增强数字模型502。图11是示出将控制设计更新提交给控制设计和测试系统302的图。在测试和调试的过程期间,控制工程师可以经由测试平台的用户接口组件304来提交控制设计输入1106。该控制设计输入1106可以包括:对针对增强数字模型502测试的控制程序1008的添加或修改、对模型502与控制程序1008之间的I/O映射的修改、对主I/O列表702的更新以添加新的I/O点或移除不必要的I/O点或者其他这样的修改,其中的一些修改可能会影响增强数字模型502或其相关联的元数据508。
在一些实施方式中,控制设计和测试系统302还可以包括方面元数据组件310(参见图3),该方面元数据组件310以类似于CAD侧方面元数据组件310的方式支持对方面元数据508的添加或修改。用于向控制设计和测试系统302中的模型502添加或修改方面元数据508的工作流程可以类似于在CAD侧上用于添加或修改方面元数据508的工作流程。也就是说,由用户接口组件340呈现的接口显示(例如,可视化1014)可以包括类似于图6中示出的工具栏604的方面工具栏,该方面工具栏可以用于向模型502添加新的方面元数据。用于给定机械元件的用户定义的方面元数据值也可以通过以下操作被修改:选择模型502的图形表示上的机械元件以调用该元件的用户定义的方面元数据字段,从而允许用户修改任何可用的用户定义的值(包括可能在CAD系统202中已经添加和设置的值)。
为了促进机械工程工作与控制工程工作之间的同步,CAD系统202以及控制设计和测试系统302的一些实施方式可以支持工程数据在两个系统之间的双向传递(round-tripping)。根据该双向传递方法,如以上讨论的,可以在CAD系统202上标记机械设计信息和相关联的控制方面,并且可以将得到的能够模拟的模型502导出至控制设计和测试系统302。在该控制设计和测试系统302内,可以使用正在被测试的控制程序1008来模拟增强数字模型502——利用方面元数据508增强并且进一步利用PLC连接数据1006和主I/O列表702增强的机械模型402。在测试和调试期间,控制工程师可以提交控制设计输入1106,该控制设计输入1106需要对增强数字模型502、其相关联的方面元数据508、PLC连接数据1006或主I/O列表702的修改1102,其最初在CAD系统202上被开发。
如图12所示,在控制测试侧实现这些修改之后,可以由CAD系统的模型导入组件212将更新的模型502——包括对方面元数据508、PLC连接数据1006或主I/O列表702进行的任何修改——导入回到CAD系统202中。在一个或更多个实施方式中,CAD系统202的用户可以通过由用户接口组件204选择在CAD系统的接口显示上可用的导入工具来导入更新的模型502。在已经导入经修改的模型502之后,CAD系统202检测由控制工程师在控制设计和测试系统302上进行的改变或添加,包括PLC连接数据1006、对方面元数据508的更新以及对主I/O列表702的更新。因此,由机械工程师和控制工程师经由其各自的开发平台提交的设计输入很容易在两个工程组之间共享。这种设计信息的双向传递确保了机械和控制设计数据保持同步,从而允许机器设计和控制这些机械方面的控制系统设计的连续迭代。该改进的设计工作流程促进在模拟/控制侧上完成的工程工作与在CAD/机械侧上完成的工程工作之间的双向同步,而CAD是两个工程线程的焦点。
在一些实施方式中,对模型502做出的改变可以由CAD系统202进行版本控制。例如,CAD系统202可以包括记录对模型402所做的改变以及做出改变的原因(如由用户提交)的工具。类似的版本控制特征也可以由控制设计和测试系统302来支持。
通过集成将方面元数据添加至CAD系统自身内的机械模型的能力,本公开内容的实施方式可以为工程师提供工具,以快速且容易地生成正在被设计的自动化系统的动态数字孪生,而无需从头开始单独开发模拟就绪(simulation-ready)模型。由于在一些实施方式中,方面元数据工具可以作为模块化附加组件被添加至现有的CAD系统中,因此可以将利用方面元数据来标记机械模型以产生数字孪生的过程直观地集成到现有的机械设计工作流程中。此外,通过支持设计数据在机械工程平台与控制工程平台之间的双向传递,本公开内容的实施方式可以促进两个工程线程之间的同步,其中增强的CAD模型用作跨两个工程学科的最新设计信息的公共源。
图13至图14示出了根据本申请的一个或更多个实施方式的各种方法。尽管出于简化说明的目的,本文中示出的一个或更多个方法被示出和描述为一系列动作,但是应当理解和认识到,主题发明不受动作的顺序的限制,原因是根据主题发明,一些动作可以以与本文示出和描述的顺序不同的顺序发生以及/或者与其他动作同时发生。例如,本领域技术人员将理解和认识到,方法可以替选地被表示为一系列相互关联的状态或事件,例如以状态图被表示。此外,可能并不需要所有示出的动作来实现根据本创新的方法。此外,当不同实体执行方法的不同部分时,交互图可以表示根据本主题公开内容的方法或方式。进一步地,可以彼此组合地实现所公开的示例方法中的两个或更多个,以实现本文中描述的一个或更多个特征或优点。
图13示出了用于开发工业自动化系统的机械CAD模型并且将该模型配置成用作动态数字孪生以在模拟平台内执行的示例方法1300。最初,在1302处,由CAD平台接收机械设计输入。在示例实现中,经由与CAD平台的图形开发接口的交互而提交的机械设计输入根据表示要被包括在机械设计中的机械结构、机器或设备的三维形状来指定自动化系统的机械属性。总体地,机械设计输入可以将自动化系统定义为机械部件,该机械部件包括诸如工业机器人、传送机、加工机器、马达、马达驱动器、传感器、管道、管路、平台、安全门和栅栏、控制柜的这样的工业资产或其他这样的资产。机械设计输入还定义这些资产之间的相对位置、取向和物理关系。在1304处,由CAD平台基于在步骤1302处接收的机械设计输入来生成工业自动化系统的三维机械模型。
在1306处,由CAD平台(经由与CAD平台的图形开发接口的交互)来接收方面规范输入数据。方面规范输入数据将控制方面分配给在步骤1304处生成的机械模型的所选元件。可以从在CAD平台的图形开发接口的工具栏或功能区中呈现的可用方面的列表中选择控制方面。可以根据与这些方面有关的机械元件、控制元件或工业设备的类型对这些方面定义进行分类。每个方面针对其相关联类型的机械元件或控制元件来定义一组模拟属性,例如物理或运动学属性或行为、物理几何形状、运动约束等,这些模拟属性可以由模拟平台识别和利用以确定该元件在模拟环境内如何移动或表现。可以被选择并且被应用于机械模型的示例方面包括但不限于:各种类型的动态或运动学关节(例如,滑动关节、旋转关节、机器人臂关节、铰链等)、诸如传送机的运动表面、马达、夹持器(例如,吸力夹持器、机械夹持器等)、传感器、气动或液压致动器(例如,推动器臂、止动器等)、辊或机械系统的其他这样的元件。
在1308处,将与在步骤1306处选择的控制方面对应的控制方面元数据分配给机械模型的所选元件(也在步骤1306处被选择)。在1310处,确定是否完成了给机械模型的所选元件分配方面。如果要将附加方面分配给模型(在步骤1310处为“否”),则该方法返回到步骤1306,并且步骤1306和1308被重复,使得利用所选方面来标记机械模型的另一元件。替选地,如果完成了给机械模型分配方面(在步骤1310处为“是”),则该方法进行到步骤1312,在步骤1312处,确定CAD系统是否接收到导出命令。如果接收到导出命令(在步骤1312处为“是”),则该方法进行到步骤1314,在步骤1314处,将利用通过步骤1306和1308的迭代而应用的方面元数据增强的机械模型导出至控制模拟平台以模拟作为自动化系统的动态数字孪生。由CAD系统应用的方面元数据向模拟平台指示关于以下:机械模型的各种组件或元件在模拟环境内响应于由正在被测试的控制程序进行的仿真控制而如何表现。
图14示出了用于与系统的机械设计并行地生成自动化系统的动态数字孪生和相关联的主I/O列表的示例方法1400。最初,在1402处,由CAD平台接收机械设计输入。机械设计输入指定正在被设计的工业自动化系统的机械属性。在1404处,基于在步骤1402处接收的机械设计输入在CAD平台内生成工业自动化系统的三维机械模型。在1406处,由CAD平台接收方面规范输入。方面规范输入选择控制方面并且将控制方面分配给机械模型的所选元件。通常,步骤1402至1408与方法1300的步骤1302至1308类似。
在1410处,确定在步骤1408处分配给机械模型的所选元件的方面元数据是否定义该方面的相关联的I/O。在这点上,如果分配给模型元件的方面定义通常经由一个或更多个数字或模拟输入或输出与工业控制器对接的工业资产的特性,则这些输入或输出可以由方面元数据来定义。如果方面元数据定义相关联的I/O(在步骤1410处为“是”),则方法进行至步骤1412,在步骤1412处,将由方面元数据定义的相关联的I/O添加至自动化系统的累积主I/O列表。该主I/O列表记录将自动化系统与工业控制器对接以促进系统的监测和控制所需的总I/O。如果方面元数据没有定义相关联的I/O(在步骤1410处为“否”),即,所选方面对应于自动化系统的通常与工业控制器不对接的元件,则该方法在无需在1412处更新主I/O列表的情况下进行至步骤1414。
在1414处,确定是否完成了给机械模型分配方面。如果要将另外的方面分配给模型(在步骤1414处为“否”),则该方法返回到步骤1406,并且针对机械模型的另一元件重复步骤1406至1412。替选地,如果完成了方面的分配(在步骤1414处为“是”),则该方法进行到步骤1416,在步骤1416处,将增强的机械模型(具有相关联的方面元数据)和主I/O列表导出至控制设计平台。控制工程师可以参考主I/O列表,以帮助设计自动化系统的电气和控制系统。
当验证用于单元测试或完整系统测试的控制程序1008时,优选地将物理工业控制器——执行实际的、没有修改的控制程序1008——连接至模拟环境。为了准确地实现这一点,需要实际I/O通信模拟的高保真度,使得整个模拟环境看到由控制器和I/O子系统提供的控制环路的实际响应率。
设备网络是任何控制系统中的重要要素,提供用于控制物理过程和资产的智能设备与控制器之间的链接。控制系统的数字孪生需要准确的设备网络仿真,以实现与真实系统或过程模拟的高保真度数字孪生对应性。
为了解决这些问题和其他问题,控制设计和测试系统302的一个或更多个实施方式可以包括网络仿真组件314,该网络仿真组件314被配置成在模拟环境内对设备网络进行仿真以促进准确调试。该设备网络仿真可以传送高准确度的I/O通信系统复制。
图15是示出其中设计和测试系统302通过网络1506与工业控制器1502交换模拟数据1504的模拟架构的图。在该示例中,控制程序1008已经被下载到工业控制器1502(例如,PLC或另一类型的工业控制器),而不是由与模拟组件306(如图10中描绘的)在同一硬件平台上的控制器仿真组件308执行控制程序1008,工业控制器1502已经经由网络1506被联网至设计和测试系统302。在模拟期间,工业控制器1502执行控制程序1008并且经由网络1506与设计和测试系统302交换模拟数据1504(例如,如以上关于图10描述的模拟输出数据1004和控制器输出数据1002),而模拟组件306在工业控制器1502的控制下模拟自动化系统(由数字模型502表示)的操作。在模拟和测试期间,网络仿真组件314对将驻留在工业控制器1502与组成由数字模型502建模的自动化系统的工业资产之间的设备网络进行仿真。
为了在执行控制程序1008的工业控制器1502的控制下准确地模拟工业系统,工业控制器1502应当理想地经由控制网络(例如,现场总线)直接与模拟的自动化系统(由数字模型502表示)进行通信,工业控制器将通过该控制网络与组成工业系统的现场设备进行通信。也就是说,控制器1502和模拟组件306应当经由实际设备网络或设备网络的模拟来交换模拟数据1504(例如,由控制器1502生成的输出数据和由模拟组件306生成的模拟设备输出数据),以准确地模拟正在被建模的自动化系统的行为和网络流量(例如,在等待时间、网络错误等方面)。
因此,控制设计和测试系统302的一个或更多个实施方式可以包括在模拟期间对设备网络进行仿真的网络仿真组件314。尽管图15将网络仿真组件314描绘为与作为控制设计和测试系统302的集成组件的模拟组件306在同一硬件平台上执行,但是网络仿真组件314的一些实施方式可以被配置成例如作为附加组件在其他工业模拟系统上操作以允许在这些其他系统上对设备网络进行仿真。
工业网络例如支持工业或现场总线协议(例如,OPC统一架构、Profinet等)的工业网络可以提供可重复的I/O通信和用于确保工业控制系统能够实现其既定目标的大量服务。这些网络中的许多网络在控制系统层处或在控制系统层以下采用现场总线或其他类型的通信服务。网络仿真组件314的一些实施方式可以针对I/O信号状态中的一些或全部使用现场总线系统通信,这可能由于I/O更新速率的准确度而优于由模拟系统通常应用以与控制器1502中的I/O树交换数据的监控协议通信,大大减小了对控制器的通信负荷的影响,并且对逻辑开发的影响很小或没有影响。由网络仿真组件314使用现场总线系统通信可以允许控制程序1008在模拟期间被执行,该控制程序1008由于将在生产期间运行而没有被修改。此外,通过准确地仿真实际设备网络,模拟控制器应用可以经历准确的模拟响应。
为了实现完整的I/O模拟,网络仿真组件314的实施方式可以实现三个要素。图16是示出这些要素以及这些要素与更大模拟平台的其他要素的关系的图。第一要素(要素1)是设备网络仿真。网络仿真组件314的核心功能是TCP/IP网络的仿真。在一些实施方式中,网络仿真组件314可以将其自身自动地呈现为网络上的设备并且对任何通用工业协议(CIP)桥接进行仿真。网络仿真组件314可以基本上自动在模拟硬件平台上配置通信,使得当工业控制器1502连接至控制设计和测试系统(例如,如图15中所示)时,网络仿真组件314执行步骤以在设计和测试系统302在其上执行的硬件设备上建立所有通信。为此,网络仿真组件314的一些实施方式可以从工业控制器1502读取I/O配置(例如,I/O)树并且自动建立相应的TCP/IP网络配置,从而向客户端应用提供连接、连接属性、设备名称、标签名称、数据类型和其他通信配置数据。
网络仿真组件314的实施方式可以支持各种通信类型。例如,一些实施方式可以支持CIP通信复制、模仿I/O适配器的行为以及允许工业控制器1502如期看到实时通信更新。这还可以允许I/O适配器以高保真度运行。在一些实施方式中,网络仿真组件314可以实现I/O图像数据的离散传输以及如由开放设备网络供应商协会(ODVA)指定的用于复杂设备配置和实时控制的消息服务两者。
在一些实施方式中,网络仿真组件314可以将布置在工业控制器502中的通信数据结构识别为用户定义的数据类型(UDT),并且可以提取这些数据结构并且通过网络仿真组件314的应用编程接口(API)向用户公开这些数据结构。
由一些设备使用参数连接来确定在离散I/O图像中公开哪些数据以及以何种顺序公开这些数据。这对通信设置没有直接影响。而是,在控制程序1008中使用这些参数连接来确定如何将正确的数据从设备获取到通信缓冲器中。网络仿真组件314的一些实施方式可以将这些参数连接视为基本通信配置的一部分并且将来自控制器1502的I/O标签名称呈现给API。
此外,网络仿真组件314的一些实施方式可以支持前向打开配置。例如,如果配置了开关速度,则该设置被发送至网络仿真组件的API,并且用户可以绑定标签以获取该信息。网络仿真组件314的一些实施方式还可以支持空前向开放(null forward open)以允许在模拟期间重新配置设备。
网络仿真组件314还可以支持包括在控制程序1008中并且由工业控制器1502执行的消息指令,包括时钟指令。在消息指令的情况下,工业控制器1502可以访问设备中的对象中的任何对象。网络仿真组件314可以向脚本处理公开完整的CIP节点树,从而允许用户用附加对象补充仿真器,或者拦截来自控制器1502的请求以增加所提供的基本功能。网络仿真组件314的一些实施方式还可以允许用户经由脚本处理访问对象的属性并且根据需要添加附加属性。网络仿真组件314提供循环数据、配置消息数据以及参数和属性传输。通常,在数字模型502中模拟的设备对从工业控制器1502接收的消息指令的解释、语义和行为取决于模拟的设备的设计。
网络仿真组件314的一些实施方式还可以支持CIP同步,该CIP同步是为成功实现分布式模拟系统提供时间同步的核心服务要素。该服务可以帮助调整执行定时和I/O信号。
此外,网络仿真组件314的一些实施方式可以支持CIP安全以仿真安全通信,所述安全通信被设计成检测与预期的安全I/O模块行为的偏差。CIP安全协议被设计成不被破坏,并且可以通过抽象层来管理该特征。安全信号通常是离散的或非常基本的模拟功能。通常,CIP安全验证安全逻辑正确地执行,并且确保安全信号被呈现给没有修改的控制器程序1008,使得安全逻辑将不阻止应用的其余部分根据设计执行。
网络仿真组件314的一些实施方式也可以支持CIP运动。在一些运动配置中,在运动驱动器与工业控制器1502之间存在复杂的交互,并且在驱动器中的精细环路规划器与控制器1502中的粗糙环路规划器之间存在持续、密集的通信。在网络仿真组件314的一些实施方式中编码的行为建模可以模仿对粗略环路规划器的环路响应,从而在无需详细的物理建模的情况下按照规划器的指示移动轴。在许多模拟应用中,该方法可以证明足以验证编程序列并且模拟对由控制器1502执行的控制程序1008的建模行为响应。在一些配置中,可以使用单独的运动共同模拟软件来实现表示物理交互对运动轴响应的影响的详细的精细环路行为建模。
作为第二要素(图16中的要素2),网络仿真组件314的实施方式也可以实现智能设备行为。这表示I/O连接背后的实际智能设备的行为以及设备如何响应于现场过程信号和CIP连接上的控制器服务消息。对于大多数数字I/O模块,主要行为主要集中于警报、状态转换/锁存、信号过滤、基本计数功能或其他相对简单的功能。通常通过配置数据装配对象进行配置。I/O Link网关被认为是专用I/O或桥接设备。
对于模拟I/O,模块可以管理斜坡率、输出钳位、变化率警报、偏差率或其他这样的模拟信令特性以及高度集成的Hart信号处理或其他这样的信号处理。
除了数字和模拟I/O模块之外,网络仿真组件314的一些实施方式还可以支持可能更复杂的专用I/O。在这点上,网络仿真组件314可以使用本地处理器来创建环路(例如,IO-Link网关模块)中的各种定制行为。
由网络仿真组件314对智能设备行为的仿真还可以包括对如下智能设备的仿真,所述智能设备包括但不限于AC马达驱动器、运动驱动器、专用传感器或与数字和模拟I/O模块相比具有更高复杂度或智能的其他设备。在适当地具有该功能的情况下,工业控制器1502可以预期对其消息的准确响应以用于配置和诊断目的。
为了提供对更大范围的设备的支持,网络仿真组件314的一些实施方式还可以包括允许终端用户配置API以对其自己的设备的行为进行建模的源代码示例,所述其自己的设备可能尚未被网络仿真组件314支持。这允许终端用户根据其应用的需要来扩展功能。
网络仿真组件314还可以支持作为第三要素(图16中的要素3)的过程级仿真。过程模型是设备模型之上的下一个模拟级,并且设备行为成为其一部分。
通常,无论是连接至真实硬件控制器(例如,控制器1502)还是连接至仿真的软件控制器(例如,控制器仿真组件308,如图10所示),由网络仿真组件314的实施方式执行的设备仿真都同样工作,并且无需特殊的附加软件或硬件适配器。仿真使用寻址I/O点的独立于控制器的方法。设计和测试系统302允许仿真在两个真实控制器1502之间或在真实控制器与软件控制器之间被切换,而无需改变仿真软件、项目或项目配置。
在一些实施方式中,网络仿真组件314可以支持工业控制器1502的实时发现(例如,不使用离线控制器配置文件)。例如,网络仿真组件314可以询问工业控制器1502以发现控制器的配置,并且可以基于控制器配置和数字模型502的组合来确定最终的仿真配置。该实时询问允许网络仿真组件314针对控制器1502自动地实例化相关仿真环境。
控制器配置数据——其可以是存储有控制程序1008的同一配置文件的一部分并且在控制器1502上被安装和执行——通过确定用户定义的逻辑标签名称到物理I/O点的映射以及确定用于访问控制器1502中的I/O点数据的最合适的协议或方法来有助于仿真配置。该方法允许仿真模型独立于控制器且独立于协议。在一些场景中,数字模型502仅包含I/O点“标记”(例如,用户定义的标签名称)。只有在仿真开始时才建立实际映射。
通过检查控制器配置数据,网络仿真组件314还可以发现控制器1502预期使用的设备,确定这些设备如何被组织(物理上或逻辑上)以及这些设备如何被连接(本地地或经由网络),确定这些连接的拓扑,以及确定控制器1502预期使用以到达设备的连接方法和协议。控制器配置的这些部分允许网络仿真组件314重建控制器1502预期看到的物理设备的视图。
网络仿真组件314根据数字模型502来确定模型502准备仿真的一组I/O点。在一些配置中,模型502可能不会对控制器1502运行所需的所有I/O点进行仿真。而是,故意从模型502中省略I/O点允许“混合模式”,在“混合模式”下,系统的一些部分被仿真而其他部分使用真实硬件,或者替选地,在“混合模式”下,系统的每个部分由不同仿真器进行仿真。对仿真器仿真系统的哪些部分的选择可以由该仿真器的模型502中包括的一组I/O点确定。
作为该配置工作流程的结果,模型502与控制器配置一起规定网络仿真组件314的配置1508。该仿真配置1508刚好在仿真开始时(例如,刚好在开始仿真之前)被自动地确定并且被用来构造实时仿真。不需要明确地定义仿真配置的任何部分,也不需要事先准备好或预先配置仿真的任何部分(硬件或软件)。
来自工业控制器1502的实时询问的仿真的该自动配置提供了相对于需要用户提供控制逻辑1008(例如,控制程序)的仿真系统的优点,这些仿真系统从控制逻辑1008获得设备和网络配置。该实时配置方法还减少了对将标签名称映射到逻辑地址的单独配置文件的需求,并且不需要用户在仿真中明确地配置正在被仿真的设备。也不需要使用符号表将符号名称转换为控制器存储地址。而是,这是经由工业控制器1502的实时询问自动进行的。
一些设备仿真器旨在提供非常高保真度的仿真,使得根据设备的功能、行为和性能来仿真设备的每个可用方面。这样的仿真器可以部分地在硬件(例如,驻留在将网络仿真硬件设备连接至模拟硬件设备的网络的TCP/IP层上的网络仿真硬件设备)中被实现以实现高度准确的网络和设备响应。在一些基于硬件的仿真器中,这可以包括使用与真实设备中使用的芯片组相同的芯片组。
相比之下,网络仿真组件314的一些实施方式可以被设计为有意低的保真度,从而提供控制器1502识别设备和建立基本通信所需的仅最基本的功能。在这样的实施方式中,网络仿真组件314可以省略控制器1502不使用或不常用的设备特征或功能。例如,网络仿真组件314的一些实施方式可以促进数据交换,但省略对数据的语义解释的支持(例如,可以控制交换的数据的类型和频率的设备的配置特征不在该级处被建模)。因此,由网络仿真组件实现的核心仿真软件可以提供满足这些基本要求的有意小的一组通用仿真器。
网络仿真组件314可以使用这些基本的通用设备仿真器作为用户(或目录设计者)可以在其上印记更忠实的设计的简单的构建块。该方法遵循提供简单的工具包的理念,根据该理念,更复杂的系统可以被构建、被应用于设备仿真。通过公开API——其允许用户将他们自己的设备建模到期望的准确度水平和保真度水平(例如,在设备类型、配置参数、行为等方面)以及支持目录方法——其允许用户在将来的模型中重复使用他们的工作,网络仿真组件314的实施方式可以支持多种多样的设备的仿真,这些设备扩展超过由初始现成版本支持的设备。此外,设备仿真通常涉及高速数据交换并且可能是非常的处理和存储密集,这对于需要大量的仿真的设备的模型来说是重要问题。如果大多数时间不需要大多数功能,那么这种高负荷是无根据的。网络仿真组件314的实施方式通过将仿真保持在仍然满足模型的需要的低保真度水平来解决该问题,因此相对于支持未使用或很少使用的功能的仿真系统而言减少总体处理和存储开销。
网络仿真组件314的实施方式可以提供用于更改和扩展核心通用仿真器的API。此外,在一些实施方式中,可以提供插件,所述插件提供设备仿真组件的目录,每个组件负责将特定功能添加至特定设备仿真器。使用这些工具,用户可以定义他们自己的设备仿真组件以满足他们自己的需要,并且将这些用户定义的仿真组件添加至他们自己的目录以供将来使用。设备仿真组件的目录的存在不会立即扩展仿真功能。而是,各个模型利用这些组件仅添加与该模型相关的功能。以这种方式,附加功能中固有的处理和存储开销被保持为最小。设备仿真目录组件可以理解与控制器1502交换的数据的语义,并且然后提供相关行为。可以与由控制设计和测试系统302提供的物理和脚本处理工具协同完成对行为进行建模。通过公开其API以允许用户创建和存储设备仿真组件的目录,网络仿真组件314的实施方式不会将用户限制于仅最初设置有仿真系统的这些设备。
图17示出了用于配置和执行工业自动化模拟的示例方法1700——包括设备网络的仿真,工业控制器将通过该设备网络与自动化系统的设备进行通信。最初,在1702处,确定是否启动工业自动化系统的模拟。如果没有启动模拟(在步骤1702处为“否”),则该方法等待直到启动模拟为止。响应于启动模拟(在步骤1702处为“是”),方法进行到步骤1704,在步骤1704处,经由网络连接询问工业控制器。工业控制器可以是将作为物理工业自动化系统的一部分安装的硬件控制器,并且可以在其上存储有将由控制器执行以促进自动化系统的监测和控制的工业控制程序。
在1706处,基于在步骤1704处的询问从工业控制器获得控制器配置数据。在1708处,可以基于控制器配置数据来配置设备网络的仿真。例如,控制器配置数据可以定义逻辑标签名称到物理I/O点的映射或者用于访问工业控制器中的I/O点数据的协议。控制器配置数据还可以定义设备信息,该设备信息包括以下中的至少一个:工业控制器被配置成与其进行通信的设备的标识、设备的物理或逻辑组织、设备之间的本地或联网的连接、连接的拓扑、或控制器用来与设备中的至少一个进行通信的连接协议。由控制器配置数据定义的该信息中的任何信息均可以用于配置设备网络的仿真。
在1710处,基于工业自动化系统的虚拟模型、由工业控制器对工业控制程序的执行和设备网络的仿真在工业控制程序的控制下执行工业自动化系统的模拟。
本文中描述的实施方式、系统和组件以及在其中可以执行本主题说明书中阐述的各个方面的控制系统和自动化环境可以包括计算机或网络组件,例如能够跨网络进行交互的服务器、客户端、可编程逻辑控制器(PLC)、自动化控制器、通信模块、移动计算机、用于移动车辆的车载计算机、无线组件、控制组件等。计算机和服务器包括被配置成执行存储在介质中的指令的一个或更多个处理器,所述处理器是采用电信号执行逻辑操作的电子集成电路,所述介质例如是随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器以及可移除存储设备,所述可移除存储设备可以包括记忆棒、存储卡、闪存驱动器、外部硬盘驱动器等。
类似地,如本文中使用的术语PLC或自动化控制器可以包括可以跨多个组件、系统和/或网络被共享的功能。作为示例,一个或更多个PLC或自动化控制器可以跨网络与各种网络设备进行通信和协作。这基本上可以包括经由网络进行通信的任何类型的控件、通信模块、计算机、输入/输出(I/O)设备、传感器、致动器以及人机接口(HMI),所述网络包括控制网络、自动化网络和/或公共网络。PLC或自动化控制器还可以与各种其他设备进行通信并且控制各种其他设备,所述各种其他设备例如是包括模拟、数字、经编程/智能I/O模块的标准或安全等级的I/O模块、其他可编程控制器、通信模块、传感器、致动器、输出设备等。
网络可以包括:诸如因特网的公共网络;内联网;诸如通用工业协议(CIP)网络的自动化网络;安全网络;以及以太网/IP,自动化网络包括设备网(DeviceNet)、控制网(ControlNet)。其他网络包括以太网、数据高速公路和数据高速公路加(DH/DH+)、远程I/O、现场总线、通信协议(Modbus)、过程现场总线(Profibus)、CAN、无线网络、串行协议、OPC统一架构(OPC-UA)等。此外,网络设备可以包括各种可能性(硬件和/或软件组件)。这些包括例如以下组件:具有虚拟局域网(VLAN)能力的交换机、LAN、WAN、代理、网关、路由器、防火墙、虚拟专用网(VPN)设备、服务器、客户端、计算机、配置工具、监测工具和/或其他设备。
为了提供所公开的主题的各个方面的环境,图18和图19以及以下讨论旨在提供对在其中可以实现所公开的主题的各个方面的合适环境的简要概括描述。尽管以上在可以在一个或更多个计算机上运行的计算机可执行指令的一般情境中描述了实施方式,但是本领域技术人员将认识到,也可以结合其他程序模块来实现实施方式以及/或者实施方式也可以被实现为软件和硬件的组合。
通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等。此外,本领域技术人员将认识到,可以利用其他计算机系统配置来实践本发明的方法,所述其他计算机系统配置包括单处理器或多处理器计算机系统、小型计算机、大型计算机、物联网(IoT)设备、分布式计算系统以及个人计算机、手持计算设备、基于微处理器或可编程的消费性电子产品等,上述中的每一个均可以可操作地耦接至一个或更多个相关联的设备。
也可以在分布式计算环境中实践本文中示出的实施方式,在所述分布式计算环境中,某些任务由通过通信网络链接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地存储器存储设备或远程存储器存储设备二者中。
计算设备通常包括各种介质,所述各种介质可以包括计算机可读存储介质、机器可读存储介质和/或通信介质,计算机可读存储介质和机器可读存储介质这两个术语在本文中如下彼此不同地被使用。计算机可读存储介质或机器可读存储介质可以是能够由计算机访问的任何可用存储介质,并且包括易失性介质和非易失性介质二者、可移除介质和不可移除介质二者。作为示例而非限制,可以结合用于存储诸如计算机可读指令或机器可读指令、程序模块、结构化数据或非结构化数据的信息的任何方法或技术来实现计算机可读存储介质或机器可读存储介质。
计算机可读存储介质可以包括但不限于:可以用于存储所需信息的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术、光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、蓝光盘(BD)或其他光盘存储设备、磁带盒、磁带、磁盘存储设备或其他磁性存储设备、固态驱动器或其他固态存储设备、或其他有形和/或非暂态介质。在这点上,应当将本文中应用于存储设备、存储器或计算机可读介质的术语“有形”或“非暂态”理解成作为修饰语仅排除传播暂态信号本身,并且不放弃不是仅传播暂态信号本身的所有标准存储设备、存储器或计算机可读介质的权利。
针对关于由介质存储的信息的各种操作,可以由一个或更多个本地或远程计算设备——例如,经由访问请求、查询或其他数据检索协议——来访问计算机可读存储介质。
通信介质通常在诸如经调制的数据信号例如载波或其他传输机制的数据信号中包含计算机可读指令、数据结构、程序模块或其他结构化或非结构化的数据,并且包括任何信息传送或传输介质。术语“经调制的数据信号”或信号是指以将信息编码在一个或更多个信号中的方式设置或改变其特性中的一个或更多个特性的信号。作为示例而非进行限制,通信介质包括诸如有线网络或直接有线连接的有线介质以及诸如声学、RF、红外的无线介质以及其他无线介质。
再次参照图18,用于实现本文描述的各方面的各种实施方式的示例环境1800包括计算机1802,计算机1802包括处理单元1804、系统存储器1806和系统总线1808。系统总线1808将系统组件——包括但不限于系统存储器1806——耦接至处理单元1804。处理单元1804可以是各种市售处理器中的任何处理器。双微处理器架构以及其他多处理器架构也可以被用作处理单元1804。
系统总线1808可以是:还可以与存储器总线(具有或不具有存储器控制器)互连的若干类型的总线结构中的任何总线结构;外围总线;以及使用各种各样的市售总线架构中的任何总线架构的本地总线。系统存储器1806包括ROM 1810和RAM 1812。基本输入/输出系统(BIOS)可以被存储在诸如ROM、可擦除可编程只读存储器(EPROM)、EEPROM的非易失性存储器中,其中,BIOS包含有助于在例如启动期间在计算机1802内的元件之间传输信息的基本例程。RAM 1812还可以包括诸如用于缓存数据的静态RAM的高速RAM。
计算机1802还包括内部硬盘驱动器(HDD)1814(例如,EIDE、SATA)、一个或更多个外部存储设备1816(例如,磁软盘驱动器(FDD)1816、存储棒或闪存驱动器读取器、存储卡读取器等)以及光盘驱动器1820(例如,其可以从CD-ROM盘、DVD、BD等读取或向CD-ROM盘、DVD、BD等写入)。虽然内部HDD 1814被示出为位于计算机1802内,但是内部HDD 1814也可以被配置成在合适的机箱(未示出)中供外部使用。此外,虽然在环境1800中未示出,但是除了HDD1814之外还可以使用固态驱动器(SSD),或者可以使用固态驱动器(SSD)来代替HDD 1814。HDD 1814、外部存储设备1816以及光盘驱动器1820可以通过HDD接口1824、外部存储接口1826和光盘驱动器接口1828分别连接至系统总线1808。用于外部驱动器实现的接口1824可以包括通用串行总线(USB)和电气与电子工程师协会(IEEE)1394接口技术中的至少一个或两个。其他外部驱动器连接技术在本文中描述的实施方式的构思之内。
驱动器及其关联的计算机可读存储介质提供数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机1802,驱动器和存储介质提供以合适的数字格式存储任何数据。尽管上面对计算机可读存储介质的描述是指各种类型的存储设备,但是本领域技术人员应当认识到,计算机可读的其他类型的存储介质——无论是当前存在的还是将来要开发的——也可以在示例操作环境中被使用,此外,任何这样的存储介质可以包含用于执行本文中描述的方法的计算机可执行指令。
在驱动器和RAM 1812中可以存储多个程序模块,包括操作系统1830、一个或更多个应用程序1832、其他程序模块1834以及程序数据1836。操作系统、应用、模块和/或数据的全部或部分也可以被缓存在RAM 1812中。可以利用各种市售的操作系统或操作系统的组合来实现本文中描述的系统和方法。
计算机1802可以可选地包括仿真技术。例如,管理程序(未示出)或其他中间物可以对用于操作系统1830的硬件环境进行仿真,并且所仿真的硬件可以可选地不同于图18中示出的硬件。在这样的实施方式中,操作系统1830可以包括在计算机1802上托管的多个虚拟机(VM)中的一个虚拟机。此外,操作系统1830可以为应用程序1832提供诸如Java运行时环境或.NET框架的运行时环境。运行时环境是一致的执行环境,其允许应用程序1832在包括运行时环境的任何操作系统上运行。类似地,操作系统1830可以支持容器,应用程序1832可以呈容器的形式,容器是轻量的、独立的、可执行的软件包,所述软件包包括例如代码、运行时间、系统工具、系统库和对应用的设置。
此外,可以利用诸如可信处理模块(TPM)的安全模块来启用计算机1802。例如,利用TPM,引导组件在时间上散列(hash)接下来的引导组件,并且在加载接下来的引导组件之前等待结果与安全值的匹配。该过程可以发生在计算机1802的代码执行栈中的任何层处,例如被应用在应用执行级或操作系统(OS)内核级处,从而使实现在代码执行的任何级处的安全性。
用户可以通过一个或更多个有线/无线输入设备例如键盘1838、触摸屏1840和诸如鼠标1842的定点设备将命令和信息输入至计算机1802中。其他输入设备(未示出)可以包括麦克风、红外(IR)遥控器、射频(RF)遥控器或其他遥控器、操纵杆、虚拟现实控制器和/或虚拟现实耳机、游戏手柄、触控笔、诸如摄像装置的图像输入设备、手势传感器输入设备、视觉运动传感器输入设备、情绪或面部检测设备、诸如指纹或虹膜扫描仪的生物特征输入设备等。这些以及其他输入设备通常通过可以耦接至系统总线1808的输入设备接口1844而连接至处理单元1804,但是也可以通过其他接口例如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口、接口等进行连接。
监视器1844或其他类型的显示设备也可以经由诸如视频适配器1848的接口连接至系统总线1808。除了监视器1844之外,计算机通常还包括其他外围输出设备(未示出),例如扬声器、打印机等。
计算机1802可以使用经由至诸如远程计算机1848的一个或更多个远程计算机的有线和/或无线通信的逻辑连接在联网环境中进行操作。远程计算机1848可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐器具、对等设备或其他通用网络节点,并且通常包括关于计算机1802所描述的许多或所有元件,但是为了简明起见,仅示出了存储器/存储设备1850。所描述的逻辑连接包括与局域网(LAN)1852和/或更大的网络例如广域网(WAN)1854的有线/无线连接。这样的LAN和WAN联网环境在办公室和公司中很常见,并且促进诸如内部网的企业范围的计算机网络,所有这些都可以连接至全球通信网络,例如因特网。
当在LAN联网环境中被使用时,计算机1802可以通过有线和/或无线通信网络接口或适配器1856连接至本地网络1852。适配器1856可以促进与LAN 1852的有线或无线通信,LAN 1852还可以包括布置在其上用于以无线模式与适配器1856进行通信的无线接入点(AP)。
当在WAN联网环境中被使用时,计算机1802可以包括调制解调器1858或者可以经由用于通过WAN 1854建立通信的其他手段例如借助于因特网连接至WAN 1854上的通信服务器。可以是内部设备或外部设备以及有线设备或无线设备的调制解调器1858可以经由输入设备接口1842连接至系统总线1808。在联网环境中,关于计算机1802描述的程序模块或程序模块的部分可以被存储在远程存储器/存储设备1850中。应当认识到,示出的网络连接是示例,并且可以使用在计算机之间建立通信链路的其他手段。
当在LAN或WAN联网环境中被使用时,除了如上所述的外部存储设备1816之外,计算机1802还可以访问云存储系统或其他基于网络的存储系统;或者代替如上所述的外部存储设备1816,计算机1802可以访问云存储系统或其他基于网络的存储系统。通常,可以例如分别通过适配器1856或调制解调器1858来通过LAN 1852或WAN 1854建立计算机1802与云存储系统之间的连接。在将计算机1802连接至相关联的云存储系统时,外部存储接口1826可以在适配器1856和/或调制解调器1858的帮助下像管理其他类型的外部存储一样管理由云存储系统提供的存储。例如,外部存储接口1826可以被配置成提供对云存储源的访问,就好像这些源被物理地连接至计算机1802一样。
计算机1802可以可操作成与操作上以无线通信布置的任何无线设备或实体进行通信,所述任何无线设备或实体是例如打印机、扫描仪、台式计算机和/或便携式计算机、便携式数据助理、通信卫星、与无线可检测的标签关联的任何装备或位置(例如,信息亭、报摊、商店货架等)以及电话。这可以包括无线保真(Wi-Fi)和无线技术。因此,通信可以是与常规网络一样的预定义结构或者仅是至少两个设备之间的自组织通信。
图19是所公开的主题可以与其进行交互的样本计算环境1900的示意性框图。样本计算环境1900包括一个或更多个客户端1902。客户端1902可以是硬件和/或软件(例如,线程、进程、计算设备)。样本计算环境1900还包括一个或更多个服务器1904。服务器1904也可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,服务器1904可以容纳线程以通过采用如本文中描述的一个或更多个实施方式来执行转换。客户端1902与服务器1904之间的一种可能的通信可以是适于在两个或更多个计算机进程之间传输的数据包的形式。样本计算环境1900包括可以用于促进客户端1902与服务器1904之间的通信的通信框架1906。客户端1902可操作地连接至可以用于存储客户端1902本地的信息的一个或更多个客户端数据存储装置1908。类似地,服务器1904可操作地连接至可用于存储服务器1904本地的信息的一个或更多个服务器数据存储装置1910。
以上所描述的内容包括本主题创新的示例。当然,不可能为了描述所公开的主题的目的而描述组件或方法的每个可想到的组合,但是本领域普通技术人员可以认识到,本主题创新的许多另外的组合和排列也是可能的。因此,所公开的主题旨在涵盖落入所附权利要求的精神和范围内的所有这样的更改、修改和变化。
特别地,关于由上述组件、设备、电路、系统等执行的各种功能,除非另有说明,否则用于描述这些组件的术语(包括对“手段”的引用)旨在对应于执行所描述的组件的指定功能的任何组件(例如,功能等同物),即使该组件结构上不等同于执行所公开的主题的在本文中示出的示例性方面的功能的所公开的结构也如此。在这点上,还应当认识到,所公开的主题包括具有用于执行所公开的主题的各种方法的动作和/或事件的计算机可执行指令的计算机可读介质和系统。
此外,尽管可能已经针对若干实现中的仅一个实现公开了所公开主题的特定特征,但是这样的特征可以与其他实现中的对于任何给定或特定应用来说可能是期望且有利的一个或更多个其他特征进行组合。此外,就在具体实施方式或权利要求书中使用术语“包括(includes)”和“包括(including)”及其变型而言,这些术语旨在以与术语“包括(comprising)”类似的方式是包括性的。
在本申请中,使用词语“示例性”来表示用作示例、实例或说明。在本文中被描述为“示例性”的任何方面或设计不必被解释为比其他方面或设计优选或有利。相反,词语“示例性”的使用旨在以具体方式来呈现构思。
可以使用标准编程和/或工程技术将本文中描述的各个方面或特征实现为方法、装置或制品。如本文中所使用的术语“制品”旨在包括能够从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储设备(例如,硬盘、软盘、磁条……)、光盘[例如,致密盘(CD)、数字多功能盘(DVD)……]、智能卡和闪存设备(例如,卡、棒、密钥驱动器……)。
Claims (20)
1.一种用于模拟工业自动化系统的系统,包括:
存储器,所述存储器存储可执行组件;以及
处理器,所述处理器操作地耦接至所述存储器并且所述处理器执行所述可执行组件,所述可执行组件包括:
模拟组件,所述模拟组件被配置成:基于所述工业自动化系统的虚拟模型以及工业控制器对工业控制程序的执行在所述工业控制程序的控制下执行所述工业自动化系统的模拟;以及
网络仿真组件,所述网络仿真组件被配置成对设备网络进行仿真,所述工业控制器通过所述设备网络与所述工业自动化系统的设备进行通信。
2.根据权利要求1所述的系统,其中,所述网络仿真组件被配置成:执行对所述工业控制器的询问并经由所述询问从所述工业控制器获得控制器配置数据,并且基于所述控制器配置数据来配置所述设备网络的仿真。
3.根据权利要求2所述的系统,其中,所述网络仿真组件被配置成:基于由所述控制器配置数据定义的逻辑标签名称到物理I/O点的映射来配置所述设备网络的仿真。
4.根据权利要求2所述的系统,其中,所述网络仿真组件被配置成利用用于访问所述工业控制器中的I/O点数据的协议来配置所述设备网络的仿真,所述协议是基于对所述控制器配置数据的分析而确定的。
5.根据权利要求2所述的系统,其中,
所述网络仿真组件被配置成:基于从所述控制器配置数据获得的设备信息来配置所述设备网络的仿真,以及
所述设备信息包括以下中的至少一个:所述工业控制器被配置成与其进行通信的设备的标识、所述设备的物理或逻辑组织、所述设备之间的本地连接或联网的连接、所述连接的拓扑或者所述控制器用来与所述设备中的至少一个进行通信的连接协议。
6.根据权利要求2所述的系统,其中,所述网络仿真组件被配置成:还基于由所述工业自动化系统的虚拟模型模拟的I/O点的标识来配置所述设备网络的仿真。
7.根据权利要求6所述的系统,其中,所述网络仿真组件被配置成:响应于启动所述模拟,执行对所述工业控制器的询问并且配置所述设备网络的仿真。
8.根据权利要求1所述的系统,其中,所述网络仿真组件还被配置成:接收定义新设备的配置的设备设计输入,并且基于所述设备设计输入来创建表示所述新设备的设备仿真组件。
9.根据权利要求8所述的系统,其中,所述网络仿真组件还被配置成:将所述设备仿真组件存储在设备仿真组件的目录中,并且允许选择用于集成到所述设备网络的仿真中的设备仿真组件。
10.一种方法,包括:
由包括处理器的系统经由网络连接通信地连接至工业控制器,其中,所述工业控制器执行工业控制程序,所述工业控制程序被设计成监测和控制工业自动化系统;以及
由所述系统基于所述工业自动化系统的虚拟模型以及所述工业控制器对所述工业控制程序的执行在所述工业控制程序的控制下执行所述工业自动化系统的模拟,
其中,执行所述模拟包括执行设备网络的仿真,所述工业控制器通过所述设备网络与所述工业自动化系统的设备进行通信。
11.根据权利要求10所述的方法,还包括:
由所述系统经由所述网络连接执行对所述工业控制器的询问;
由所述系统经由所述询问从所述工业控制器获得控制器配置数据;以及
由所述系统基于所述控制器配置数据来配置所述设备网络的仿真。
12.根据权利要求11所述的方法,其中,所述配置包括:基于由所述控制器配置数据定义的逻辑标签名称到物理I/O点的映射来配置所述设备网络的仿真。
13.根据权利要求11所述的方法,其中,
所述配置包括:配置所述设备网络的仿真以符合用于访问所述工业控制器中的I/O点数据的协议,以及
基于对所述控制器配置数据的分析来确定所述协议。
14.根据权利要求11所述的方法,其中,
所述配置包括:基于从所述控制器配置数据获得的设备信息来配置所述设备网络的仿真,以及
所述设备信息包括以下中的至少一个:所述工业控制器被配置成与其进行通信的设备的标识、所述设备的物理或逻辑组织、所述设备之间的本地连接或联网的连接、所述连接的拓扑或者所述控制器用来与所述设备中的至少一个进行通信的连接协议。
15.根据权利要求11所述的方法,其中,所述配置包括:还基于由所述工业自动化系统的虚拟模型模拟的I/O点的标识来配置所述设备网络的仿真。
16.根据权利要求10所述的方法,还包括:
由所述系统接收定义新设备的配置的设备设计输入;以及
由所述系统基于所述设备设计输入来创建表示所述新设备的设备仿真组件。
17.根据权利要求16所述的方法,还包括:
由所述系统将所述设备仿真组件存储在所述设备仿真组件的目录中;以及
由所述系统允许选择用于集成到所述设备网络的仿真中的组件。
18.一种非暂态计算机可读介质,所述非暂态计算机可读介质上存储有指令,所述指令响应于执行而使包括处理器的系统执行操作,所述操作包括:
经由网络连接通信地连接至存储工业控制程序的工业控制器,所述工业控制程序被设计成监测和控制工业自动化系统;以及
基于所述工业自动化系统的虚拟模型以及所述工业控制器对所述工业控制程序的执行在所述工业控制程序的控制下执行所述工业自动化系统的模拟,
其中,执行所述模拟包括执行设备网络的仿真,所述工业控制器通过所述设备网络与所述工业自动化系统的设备进行通信。
19.根据权利要求18所述的非暂态计算机可读介质,其中,所述操作还包括:
经由所述网络连接询问所述工业控制器;
经由所述询问从所述工业控制器获得控制器配置数据;以及
基于所述控制器配置数据来配置所述设备网络的仿真。
20.根据权利要求19所述的非暂态计算机可读介质,其中,所述配置包括:基于由所述控制器配置数据定义的逻辑标签名称到物理I/O点的映射来配置所述设备网络的仿真。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063113371P | 2020-11-13 | 2020-11-13 | |
US63/113,371 | 2020-11-13 | ||
US17/150,678 US20220156433A1 (en) | 2020-11-13 | 2021-01-15 | Industrial network communication emulation |
US17/150,678 | 2021-01-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114488843A true CN114488843A (zh) | 2022-05-13 |
Family
ID=78806240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111193487.6A Pending CN114488843A (zh) | 2020-11-13 | 2021-10-13 | 工业网络通信仿真 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220156433A1 (zh) |
EP (1) | EP4002189A1 (zh) |
CN (1) | CN114488843A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117057163A (zh) * | 2023-10-11 | 2023-11-14 | 富钛字节车载软件(长春)有限公司 | 基于无线通信的远程仿真方法、系统、设备和存储介质 |
CN117251381A (zh) * | 2023-11-15 | 2023-12-19 | 宁波润华全芯微电子设备有限公司 | 用于匀胶显影系统的软件虚拟系统、调试方法及存储介质 |
CN117313363A (zh) * | 2023-09-26 | 2023-12-29 | 上海能优网电力科技有限公司 | 一种基于物理信息模型的数字孪生系统及其运行方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11561523B2 (en) | 2020-11-11 | 2023-01-24 | Mapped Inc. | Subtended device mapping through controller introspection |
WO2023215892A1 (en) | 2022-05-06 | 2023-11-09 | Mapped Inc. | Ensemble learning for extracting semantics of data in building systems |
CN117033252B (zh) * | 2023-10-09 | 2024-04-12 | 中核武汉核电运行技术股份有限公司 | 一种基于opcua的联合仿真通信系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3002649B1 (en) * | 2014-10-01 | 2018-09-26 | Rockwell Automation Technologies, Inc. | Industrial simulation using redirected i/o module configurations |
-
2021
- 2021-01-15 US US17/150,678 patent/US20220156433A1/en active Pending
- 2021-10-13 CN CN202111193487.6A patent/CN114488843A/zh active Pending
- 2021-11-05 EP EP21206696.3A patent/EP4002189A1/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117313363A (zh) * | 2023-09-26 | 2023-12-29 | 上海能优网电力科技有限公司 | 一种基于物理信息模型的数字孪生系统及其运行方法 |
CN117313363B (zh) * | 2023-09-26 | 2024-04-05 | 上海能优网电力科技有限公司 | 一种基于物理信息模型的数字孪生系统及其运行方法 |
CN117057163A (zh) * | 2023-10-11 | 2023-11-14 | 富钛字节车载软件(长春)有限公司 | 基于无线通信的远程仿真方法、系统、设备和存储介质 |
CN117057163B (zh) * | 2023-10-11 | 2024-01-19 | 富钛字节车载软件(长春)有限公司 | 基于无线通信的远程仿真方法、系统、设备和存储介质 |
CN117251381A (zh) * | 2023-11-15 | 2023-12-19 | 宁波润华全芯微电子设备有限公司 | 用于匀胶显影系统的软件虚拟系统、调试方法及存储介质 |
CN117251381B (zh) * | 2023-11-15 | 2024-03-15 | 宁波润华全芯微电子设备有限公司 | 用于匀胶显影系统的软件虚拟系统、调试方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20220156433A1 (en) | 2022-05-19 |
EP4002189A1 (en) | 2022-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112783018B (zh) | 工业环境模拟下的机器人数字孪生控制 | |
CN112784328B (zh) | 用于开发自动化系统模型的系统和方法 | |
US20220156433A1 (en) | Industrial network communication emulation | |
EP2498156B1 (en) | Industrial simulation using redirected I/O module configurations | |
CN104635508B (zh) | 在工业控制器与仿真应用之间交换数据以仿真机器的接口 | |
CN110399642A (zh) | 一种针对生产流水线的数字孪生体及其构建方法和应用 | |
CN114239425A (zh) | 流体流动的工业自动化过程模拟 | |
EP3865961B1 (en) | Augmented reality human machine interface testing | |
CN114329801A (zh) | 统一多个模拟模型 | |
EP3002649B1 (en) | Industrial simulation using redirected i/o module configurations | |
CN114265329A (zh) | 工业网络仿真 | |
EP3974928B1 (en) | Wiring diagram manager and emulator | |
van Ginneken et al. | Design of a Digital Twin for the Sorting workstation of a Festo production line | |
Rahman et al. | Integration of simulation technologies with physical system of reconfigurable material handling | |
da Cunha | SuperCoordinator-Coordinator of Educational Subsystems in the context of Industry 4.0 |
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 |