CN114258514A - 基于面向方面编程的可编程逻辑控制器(plc)模拟 - Google Patents
基于面向方面编程的可编程逻辑控制器(plc)模拟 Download PDFInfo
- Publication number
- CN114258514A CN114258514A CN201980099610.2A CN201980099610A CN114258514A CN 114258514 A CN114258514 A CN 114258514A CN 201980099610 A CN201980099610 A CN 201980099610A CN 114258514 A CN114258514 A CN 114258514A
- Authority
- CN
- China
- Prior art keywords
- plc
- determining
- model
- execution
- hardware configuration
- 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 34
- 238000004891 communication Methods 0.000 claims abstract description 57
- 238000000034 method Methods 0.000 claims abstract description 52
- 230000008569 process Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 14
- 238000004519 manufacturing process Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000009420 retrofitting Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 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/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/316—Aspect-oriented programming techniques
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13186—Simulation, also of test inputs
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Programmable Controllers (AREA)
Abstract
提供了基于面向方面编程的可编程逻辑控制器(PLC)模拟技术的实施例。可以确定对工业系统的通用模型应用包括硬件配置方面、执行语义方面和通信架构方面中的其中一个方面的方面,通用模型包括PLC模型和系统模型。可以对通用模型应用所确定的方面。可以使用通用模型和所应用的方面来模拟工业系统。
Description
技术领域
本技术涉及可编程逻辑控制器(PLC)。更具体地,技术涉及基于面向方面编程的PLC模拟。
背景技术
尽管工业4.0、数字化、以及物联网(IIOT)可保证在工业应用中增加使用通用软件和网络,然而,可能存在巨大的风险。在工业应用中,安全性、可靠性、保障性、以及效率可能比许多信息技术和家庭自动化应用更重要。用于控制工业应用的可编程逻辑控制器(PLC)可以利用诸如传感器和致动器的可互操作组件的可控实时行为以及广泛可用性提供在健全、加固硬件、网络上运行的相对简单控制代码。因此,PLC是用于工厂和工业系统控制的已建立平台。PLC硬件包括由提供循环和优先级执行模型的编程与配置系统启动、用于工业系统的传感器和致动器的广泛的基本标准化连接选项,包括适于工业自动化的循环时间监测。因此,PLC为工业控制系统提供稳定的运行时环境,具有不因编程误差而妥协的基本功能。
可以在扫描周期内完成PLC的主要工作负荷,在扫描周期期间处理由所谓的功能(PC)或功能块(LB)所定义的控制任务。FB在被称为处理图像的PLC中的存储器的内部区域上操作,其中可以在诸如扫描周期的开始和结束的指定时间点手动或自动地更新输入与输出。PLC编程的需求随着时间逐渐演进。尤其是,每个PLC的控制任务的数量、以及具有不同需求的应用数量增加,从而增加了不希望的相互作用的风险。PLC可用于各种工业应用,诸如加工工厂、生产机器、装配线、以及船只。PLC可以实现复杂的控制方案,诸如用于同步驱动的高频运动控制。PLC可以是工厂地面上的实时网络的一部分、连接基本传感器和致动器、分布式智能外围设备、以及诸如保护开关的其它工业控制系统、运动控制系统、监督控制和数据采集(SCADA)系统、以及边缘设备。在国际电工委员会(IEC)61131-1:2003中定义了PLC的基本功能和结构。
发明内容
本发明的实施方式针对面向基于方面编程的可编程逻辑控制器(PLC)模拟。非限制的示例性的计算机实现方法包括:确定包括对工业系统的通用模型所应用的硬件配置方面、执行语义方面、以及通信架构方面中的一个的方面,通用模型包括PLC模型和系统模型。方法还包括:对通用模型应用所确定的方面。方法还包括:使用通用模型和所应用的方面模拟工业系统。
本发明的其它实施方式在计算机系统与计算机程序产品中实现上述方法的特征。
通过本发明的技术实现了额外的技术特征与益处。此处对本发明的实施方式与各方面进行了详细地描述并且本发明的实施方式与各方面被视为所要求保护的主题的一部分。为了更好地理解,参考细节描述与附图。
附图说明
图1是结合基于面向方面编程的可编程逻辑控制器(PLC)模拟使用的示例性计算机系统的框图;
图2是基于面向方面编程的PLC模拟的示例性系统的框图;
图3是基于面向方面编程的PLC模拟的示例性方法的过程流程图;并且
图4是包括结合基于面向方面编程的PLC模拟使用的PLC的示例性工业系统的框图。
具体实施方式
提供了基于面向方面编程的可编程逻辑控制器(PLC)模拟的实施方式,且下面对示例性实施方式进行详细讨论。尽管在本技术领域中可以设计、原型化并且测试相对简单的控制系统而对设计进行迭代,然而,由于本技术领域中的低置信度设计的测试可能扰乱现有工业系统的操作,在包括PLC(例如,工厂和生产线)的工业系统中,原型与测试设计迭代可能是有问题的。因此,可以使用虚拟原型实现PLC的复杂性和演化设计的增长,其中可以使用虚拟模拟和验证代替原型与测试。包括PLC的工业系统的模拟可以用于加快新工业系统的调试和/或具有相对较高置信度的现有工业系统的改造。
由于硬件与代码配置中的计时行为依赖性、竞争计算资源的多个类别的线程以及网络配置对信号的计时和可用性的影响,PLC的模拟可能相对复杂。PLC的许多特征可能与所部署的PLC的具体使用情况和高级功能无关。面向方面编程可以应用于一般的PLC模拟模型,以在模拟中隔离并且允许对诸如硬件配置、执行语义、以及通信架构的特征进行改造。将方面应用于模拟模型允许使PLC控制代码的高级目标与执行语义、通信协议和架构以及设备硬件配置分离。基于面向方面编程的PLC模拟的实施方式可以提供使用轻型模拟软件的模块化模拟架构并且实现模拟工业系统的虚拟调试。
结合PLC模拟实现的面向方面编程的实施方式可以通过在不修改已有代码的情况下向已有代码添加额外的行为(例如,PLC模型)而增加软件模块化。在一些实施方式中,可以经由切点规范指定使用面向方面编程所修改的代码,例如,“当调用函数Y时,执行X”,其中函数Y是已有代码的一部分,并且X中所包括的任意指令位于已有代码之外。这允许在不扰乱PLC模型的计算机代码的情况下使用PLC模型来模拟并不是所部署的PLC的具体使用情况和高级功能的核心的行为。
现转向图1,主要示出了根据实施方式的计算机系统100。如此处描述的,计算机系统100可以是包括和/或采用利用各种通信技术的任意数量与组合的计算设备和网络的电子计算机框架。计算机系统100可以易于扩展、延伸并且模块化,具有改变成不同的服务或重新配置与其它功能无关的一些特征的能力。例如,计算机系统100可以是服务器、台式计算机、膝上型计算机、平板计算机或智能手机。在一些实施例中,计算机系统100可以是云计算节点。可以在诸如由计算机系统执行的程序模块的计算机系统可执行指令的一般上下文中描述计算机系统100。通常,程序模块可以包括执行具体任务或实现具体抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。可以在分布式的云计算环境中实施计算机系统100,其中由通过通信网络而链接的远程处理设备执行任务。在分布式的云计算环境中,程序模块可以位于包括存储器存储设备的本地与远程计算机系统存储介质中。
如图1中所示,计算机系统100具有一个或多个中央处理单元(CPU)101a、101b、101c等(统称或通称为处理器101)。处理器101可以是单核处理器、多核处理器、计算集群或任意数量的其它配置。处理器101,也被称为处理电路,经由系统总线102而耦接至系统存储器103及各种其它组件。系统存储器103可以包括只读存储器(ROM)104和随机存取存储器(RAM)105。ROM 104耦接至系统总线102并且可以包括控制计算机系统100的特定基板功能的基本输入/输出系统(BIOS)。RAM是耦接至系统总线102、以供处理器101使用的读写存储器。系统存储器103提供用于在操作过程中操作指令的临时存储空间。系统存储器103可以包括随机存取存储器(RAM)、只读存储器、闪存存储器、或任意其它合适的存储器系统。
计算机系统100包括耦接至系统总线102的输入/输出(I/O)适配器106和通信适配器107。I/O适配器106可以是与硬盘108和/或任意其它相似的组件进行通信的小型计算机系统接口(SCSI)适配器。此处,I/O适配器106与硬盘108被统称为大容量储存器110。
可以在大容量储存器110中存储用于在计算机系统100上执行的软件111。诸如此处下面关于各个图所描述的,大容量储存器110是可由处理器101读取的有形存储介质的实施例,其中,将软件111存储为由处理器101执行的指令,以使计算机系统100操作。此处对计算机程序产品的实施例以及该指令的执行进行了更为详细地讨论。通信适配器107使系统总线102与网络112互连,该网络可以是外部网络,能够使得计算机系统100与该其它系统进行通信。在一个实施方式中,系统存储器103的一部分与大容量储存器110统一存储操作系统(其可以是任意合适的操作系统),以协调图1中所示的各个组件的功能。
额外的输入/输出设备被示出为经由显示适配器115和接口适配器116而连接至系统总线102。在一个实施方式中,适配器106、107、115以及116可被连接至一个或多个I/O总线,一个或多个I/O总线经由中间总线电桥(未示出)而连接至系统总线102。显示器119(例如,屏幕或显示监视器)通过显示适配器115而连接至系统总线102,显示适配器可以包括改善图形密集应用的性能的图形控制器与视频控制器。键盘121、鼠标122、扬声器123等能够经由接口适配器116而互连至系统总线102,例如,其可以包括将多个设备适配器集成到单个集成电路中的超级I/O芯片。用于连接诸如硬盘控制器、网络适配器以及图形适配器的外围设备的合适I/O总线通常包括诸如外围部件互连(PCI)的常见协议。由此,如图1中配置的,计算机系统100包括处理器101的形式的处理能力、与包括系统存储器103和大容量储存器110的存储能力、诸如键盘121和鼠标122的输入装置以及包括扬声器123和显示器119的输出能力。
在一些实施方式中,通信适配器107可以使用任意合适的接口或协议发送数据,诸如因特网小型计算机系统接口等。网络112可以是蜂窝网络、无线电网络、广域网(WAN)、局域网(LAN)或互联网等。外部计算设备可以通过网络112连接至计算机系统100。在一些实施例中,外部计算设备可以是外部网络服务器或云计算节点。
应当理解的是,图1中的框图并非意在指示计算机系统100包括图1中所示的全部组件。而是,计算机系统100可以包括图1中未示出的任意适当的更少或额外组件(例如,额外存储器组件、嵌入控制器、模块、额外网络接口等)。进一步地,可以利用任意适当的逻辑实现此处关于计算机系统100所描述的实施方式,其中如此处提及的,在各个实施方式中,逻辑可以包括任意合适的硬件(例如,处理器、嵌入控制器、或专用集成电路等)、软件(例如,应用等)、固件、或硬件、软件、以及固件的任意合适组合。
图2是基于面向方面编程的PLC模拟的示例性系统200的框图。可以结合任意适当的计算机系统实现系统200,诸如图1中的计算机系统100。系统200的实施方式可以包括图1中的软件111、并且可以对存储在硬盘108、大容量储存器110和/或系统存储器103中的数据进行操作。系统200包括工业系统的通用模型201,包括PLC模型202和系统模型203。PLC模型202包含在所模拟的PLC中运行的PLC控制代码的高级模型,并且系统模型203包含由PLC模型202控制的系统(例如,生产线)的描述,PLC模型可以包括诸如传感器、电机、以及致动器的任意适当的元件。PLC模型202在模拟过程中对系统模型203进行调节,并且可以从系统模型203的虚拟传感器接收包括多个传感器信号的传感器数据207,并且基于传感器数据207将包括多个命令信号的命令数据208发送至系统模型203的虚拟元件(例如,电机或致动器)。通用模型201可应用于工业系统的多种不同的配置。在一些实施方式中,使用通用模型201所执行的模拟可以确定在PLC模型202中运行的新版本的PLC控制代码适合于部署至该领域中工业系统的具体实例。为了使用通用模型201来模拟工业系统的具体实例,可以基于工业系统的具体实例的特征确定硬件配置方面204、执行语义方面205以及通信架构方面206并且应用于使用面向方面编程技术的通用模型201。进一步地,可以对硬件配置方面204、执行语义方面205和/或通信架构方面206可被修改来模拟使用通用模型201的工业系统的具体实例的配置的变化效果。方面204、205以及206能够在不改变PLC模型202中所编码的高级逻辑或系统模型203的配置的情况下实现对通用模型201的特性的修改。
硬件配置方面204可以指定所模拟的PLC的物理硬件的特征,并且将这些特征应用于PLC模型202来模拟PLC控制代码在使用通用模型201的具体工业系统中的执行。例如,所模拟的PLC可以包括应用于使用硬件配置方面204的PLC模型202的具体存储器或处理器配置。当使用特定存储器和/或处理器配置执行程序组件时,PLC控制代码的程序组件可以具有特定的执行时间。程序组件的执行时间可以经由硬件配置方面204应用于PLC模型202。还可以使用硬件配置方面204修改程序组件的执行时间。进一步地,硬件配置方面204可以在部署至特定工业系统中的物理PLC中之前指定待模拟的新硬件配置,以使得可以使用通用模型201来虚拟地确定包括新硬件配置的工业系统的性能。
执行语义方面205可以指定在由PLC模型202所建模的PLC中实现的实时执行类型。例如,PLC可以实现诸如时间驱动执行或事件驱动执行的不同实时执行原理。使执行语义与使用执行语义方面205的PLC模型202分离允许检查不同的执行语义对通用模型201所模拟的具体控制问题的影响。
在由系统200建模的工业系统的具体实例中,可以通过PLC上的指定端口接收并且发送传感器数据和命令数据(例如,工业系统中的每个传感器、电机、和/或致动器可以与PLC中的相应端口对应)。在一些实施方式中,通信架构方面206可以指定PLC模型202中接收传感器数据207的虚拟传感器信号并且发送命令数据208的虚拟命令的具体PLC端口。在一些实施方式中,可以通过PLC模型202中的相应PLC端口接收传感器数据207的每个虚拟传感器信号,并且可以基于通信架构方面206对PLC模型202和系统模型203的应用而经由PLC模型202中的相应端口发送命令数据208的每个虚拟命令信号。
通信架构方面206还可以指定使用通用模型201执行的工业系统的具体实例的模拟中所使用的具体通信协议。PLC的通信系统可以与控制代码分离,并且可以支持PLC与工业系统的各个元件之间的多种类型的通信,包括但不限于工业以太网、过程现场网络(PROLINET)、过程现场总线(Profibus)、用于控制自动化技术的以太网(Ethercat)、背板总线、时间敏感网络(TSN)和/或输入输出(IO)链路。通信类型可能不仅在协议级别上不同,而且可能具有不同的计时和编码特性,例如,降至国际标准化组织(ISO)/开放式系统互连(OSI)栈中的第2级。在模拟中使通信架构方面206与通用模型201分离允许模拟在不改变通用模型201的情况下测试不同通信设置和类型的使用对通用模型201的整体功能的影响。
应当理解的是,图2中的框图并非意在指示系统200包括图2中所示的全部组件。而是,系统200可以包括图2中未示出的任意适当的更少或额外组件(例如,额外的PLC模型、系统模型、方面、计算机系统、处理器、存储器组件、嵌入控制器、模块、计算机网络、网络接口、数据输入等)。进一步地,可以利用任意适当的逻辑实现此处关于系统100所描述的实施方式,其中如此处提及的,在各个实施方式中,逻辑可以包括任意合适的硬件(例如,处理器、嵌入控制器或专用集成电路等)、软件(例如,应用等)、固件,或硬件、软件、以及固件的任意合适组合。
图3是基于面向方面编程的PLC模拟的示例性方法300的过程流程图。可以结合任意适当的计算机设备实现图3中的方法300,诸如图1中的计算机系统100,并且参考图2中的系统200对方法300进行讨论。在框图301中,接收通用模型201,通用模型对应于工业系统的具体实例(包括但不限于工厂、加工工厂、生产线、装配线以及船只),包括PLC模型202和系统模型203。通用模型201可以应用于多种可能的工业系统配置,包括通过图3中的方法300的实例而模拟的具体工业系统。系统模型203可以包括与具体工业系统对应的虚拟元件,包括但不限于传感器、电机以及致动器。PLC模型202可以包括所模拟的PLC控制代码。在各个实施方式中,PLC控制代码可以包括本技术领域的具体工业系统中所使用的部署控制代码,或部署到现场之前所测试的控制代码。
在框图302,确定应用于PLC模型202的硬件配置方面204。在各个实施方式中,硬件配置方面204可以指定所模拟的工业系统的具体事例中的部署的PLC的硬件配置(例如,处理器和/或存储器配置),或部署到现场之前所测试的新硬件配置。在一些实施方式中,硬件配置方面204可以基于所模拟的PLC的硬件配置而指定PLC模型202中的控制代码的各个程序组件的相应执行时间。
在框图303,确定应用于PLC模型202的执行语义方面205。执行语义方面205可以指定在由PLC模型202所建模的PLC中实现的实时执行类型。例如,PLC可以实现不同的实时执行原理,诸如时间驱动执行或事件驱动执行。使执行语义与使用执行语义方面205的PLC模型202分离允许检查不同的执行语义对通用模型201所模拟的具体控制问题的影响。
在框图304,确定应用于PLC模型202的通信架构方面206。在一些实施方式中,通信架构方面206可以基于所模拟工业系统的具体实例的配置指定PLC模型202中接收传感器数据207的虚拟传感器信号并且发送命令数据208的虚拟命令的相应端口。通信架构方面206还可以指定通用模型201所模拟工业系统的具体实例中使用的通信协议。PLC的通信系统可以与控制代码分离,并且可以支持PLC与工业系统的各个元件之间的多种类型的通信,包括但不限于工业以太网、PROFINET、Profibus、Ethercat、背板总线、TSN和/或IO链路。通信类型可能不仅在协议级别上不同,而且可能具有不同的计时和编码特性,例如,降至ISO/OSI栈中的第2级。在模拟中使通信架构方面206与通用模型201分离允许模拟在不改变通用模型201的情况下调查不同通信设置和类型的使用对通用模型201的整体功能的影响。
在框图305,将在框图302、303以及304中确定的硬件配置方面204、执行语义方面205以及通信架构方面206应用于通用模型201。将硬件配置方面204、执行语义方面205以及通信架构方面206应用于PLC模型202。通信架构方面206还可以应用于系统模型203。在框图306,使用具有所应用方面的通用模型201模拟工业系统的具体配置,例如,硬件配置方面204、执行语义方面205以及通信架构方面206。可以出于任意适当的目的使用框图306的模拟,包括但不限于在部署至本领域工业系统的具体实例之前测试新的PLC控制代码或系统配置变化。基于框图306中的模拟成功,在各个实施方式中,可以将新的控制代码部署在本领域具体工业过程中的PLC上,或者可以将新的硬件配置、执行语义和/或通信架构特征应用于本领域的工业系统。
图3中的过程流程图并非意在指示按照任意具体顺序执行方法300中的操作,或者每种情况都包括方法300中的全部操作。此外,方法300能够包括任意合适数量的额外操作。
图4是包括结合基于面向方面编程的PLC模拟使用的PLC 406的示例性工业系统400的框图。系统400可以是根据图3中的方法300使用图2中的通用模型201进行建模的工业系统的具体物理实例。系统400包括包含辊电机402A-B、接近传感器403A-F、振动电机404A-B以及振动传感器405A-B的生产线401。接近传感器403A-F与振动传感器405A-B各自可以将相应的传感器信号提供至PLC 406,并且PLC 406可以基于PLC 406中的控制代码以及来自接近传感器403A-F和振动传感器405A-B的传感器数据生成用于辊电机402A-B与振动电机404A-B的相应命令信号。可以使用图2中的PLC模型202模拟PLC 406,并且可以使用图2中的系统模型203模拟生产线401。如上面参考图3中的方法300所描述的,可以在硬件配置方面204、执行语义方面205和/或通信架构方面206捕捉工业系统400的特征并且应用于图2中的PLC模型202。如上面参考图3中的方法300所描述的,通信架构方面206还可以应用于系统模型203。
应当理解的是,图4中的框图并非意在指示系统400包括图4中所示的全部组件。而是,系统400能够包括图4中未示出的任意适当的更少或额外组件(例如,传感器、电机、致动器、PLC、生产线、组件之间的连接等)。进一步地,可以利用任意适当的逻辑实现此处关于系统400所描述的实施方式,其中如此处所提及的,在各个实施方式中,逻辑能够包括任意合适的硬件(例如,处理器、嵌入控制器、或专用集成电路等)、软件(例如,应用等)、固件,或硬件、软件以及固件的任意合适组合。
此处参考有关附图对本发明的各个实施方式进行描述。在不偏离本发明的范围的情况下,可以设想本发明的可替代实施方式。在下文描述与附图中的元件之间阐述了各种连接与位置关系(例如,上方、下方、相邻等)。除非另有规定,否则,这些连接和/或位置关系可以是直接或间接的,并且本发明并非意在局限于该方面。相应地,实体的耦接可以指直接或间接耦接,并且实体之间的位置关系可以是直接或间接位置关系。而且,可以将此处所描述的各种任务与过程步骤整合到具有此处未详细描述的额外步骤或功能的更全面的程序或过程中。
能够利用本领域中熟知的任意各种下列技术或下列各种技术的组合实现此处所描述的一种或多种方法:具有用于对数据信号实施逻辑功能的逻辑门的离散逻辑电路、具有适当组合逻辑门的专用集成电路(ASIC)、可编程门阵列(PGA)、场可编程门阵列(FPGA)等。
为简便起见,此处可能对或可能不对涉及本发明的制造和使用方面的常规技术进行详细描述。尤其是,实施此处所描述的各种技术特征的计算系统与具体计算机程序的各个方面是熟知的。相应地,为简便起见,在不提供熟知系统和/或过程细节的情况下,此处仅简要地提及或完全省去许多常规的实施细节。
在一些实施方式中,各种功能或动作能够在给定的位置和/或结合一个或多个装置或系统的操作而进行。在一些实施方式中,能够在第一设备或位置处执行给定功能或动作的一部分,并且能够在一个或多个额外设备或位置处执行功能或动作的其余部分。
此处使用的术语仅用于描述具体实施方式之目的并且并非意在进行限制。如此处使用的,单数形式“一”、“一个”以及“该”也旨在包括复数形式,除非上下文另有明确指示。应进一步理解的是,当在本说明书中使用时,术语“包括(comprises)”和/或“包括(comprising)”指定存在所陈述特征、整体、步骤、操作、元件和/或组件,但并不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其组合。
下面权利要求中的全部装置或步骤加功能元件的对应结构、材料、动作以及等同物意在包括用于结合专门要求保护的其它要求保护元件执行功能的任意结构、材料或动作。已经出于示出和描述之目的呈现了本公开,但本公开并非意在穷尽或局限于所公开的形式。在不偏离本公开的范围和实质的情况下,许多改造与变形对本领域普通技术人员显而易见。实施方式被选择并且描述为对本公开的原理及实际应用进行最佳的阐明,并且能够使得本领域普通技术人员理解本公开的各个实施方式以及适合于所设想的具体使用的各种改造。
此处所描绘的示图是示出性的。在不偏离本公开的实质的情况下,此处所描述的示图或步骤(或操作)可能存在多种变形。例如,能够按照不同的顺序执行动作或能够添加、删除或修改动作。此外,术语“耦接”描述了两个元件之间具有单一路径并且并非暗指元件之间无中间元件/连接的直接连接。全部这些变形被视为本公开的一部分。
下列定义与缩写用于对权利要求和说明书进行解释。如此处使用的,术语“包括(comprises)”、“包括(comprising)”、“包含(includes)”、“包含(including)”、“具有(has)”、“具有(having)”、“含有(contains)”或“含有(containing)”,或其任意其它变形意在覆盖非唯一性包含。例如,包括元件列表的组合物、混合物、过程、方法、制品或装置不一定必须仅局限于这些元件,而是能够包括未明确列出或该组合物、混合物、过程、方法、制品或装置固有的其它元件。
此外,此处使用的术语“示例性的”指“用作实施例、实例或说明”。此处被描述为“示例性的”的任意实施方式或设计并不一定必须被视为优选或优于其它实施方式或设计。术语“至少一个”与“一个或多个”应被理解为包括大于或等于一的任意整数,即,一个、两个、三个、四个等。术语“多个”应被理解为包括大于或等于二的任意整数,即,两个、三个、四个、五个等。术语“连接”能够包括间接“连接”和直接“连接”。
基于在提交本申请之时可获得的装备,术语“大约”、“大致”、“近似”以及其变形意在包括与特定数量的测量相关联的误差程度。例如,“大约”能够包括给定值的±8%、或5%、或2%的范围。
本发明可以是任意可能的技术细节集成水平的系统、方法、和/或计算机程序产品。计算机程序产品可以包括其上具有用于使得处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或媒介)。
计算机可读存储介质可以是保留并存储供指令执行设备使用的指令的有形设备。例如,计算机可读存储介质可以是、但不限于电子存储设备、磁性存储设备、光学存储设备、电磁存储设备、半导体存储设备或上述设备的任意合适组合。计算机可读存储介质的更具体实施例的非唯一性列表包括:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式致密盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、机械编码装置(诸如具有记录在其上的指令的凹槽中的穿孔卡或凸起结构)以及上述设备的任何合适组合。如此处使用的,计算机可读存储介质不应被视为瞬态信号本身,诸如无线电波或其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,经过纤维光学电缆的光脉冲)或通过电线发送的电信号。
能够将此处所描述的计算机可读程序指令从计算机可读存储介质下载至相应的计算/处理设备或者经由网络下载至外部计算机或外部存储设备,例如,互联网、局域网、广域网和/或无线网。网络可以包括铜传输电缆、光学传输纤维、无线传输、路由器、防火墙、开关、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令并且转发用于存储在相应计算/处理设备内的计算机可读存储介质中的计算机可读程序指令。
用于执行本发明的操作的计算机可读程序指令可以是汇编器指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、用于集成电路的配置数据或以一种或多种编程语言的任何组合编写的源代码或目标代码,包括面向对象的编程语言,诸如Smalltalk、C++等,以及过程编程语言,诸如“C”编程语言或类似的编程语言。计算机可读程序指令可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上并且部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后者情景下,远程计算机可以通过任意类型的网络连接至用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以与外部计算机(例如,通过使用互联网服务供应商的互联网)连接。在一些实施方式中,例如,包括可编程逻辑电路、场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息使电子电路个性化而执行计算机可读程序指令,以执行本发明的各方面。
此处参考根据本发明的实施方式的方法、装置(系统)以及计算机程序产品的流程图例图和/或框图对本发明的各方面进行描述。应当理解的是,能够通过计算机可读程序指令实现流程图例图和/或框图中的每个框图以及流程图例图和/或框图中的框图的组合。
可以将这些计算机可读程序指令提供至通用计算机、专用计算机或其它可编程数据处理装置的处理器来生产机器,以使得经由计算机或其它可编程数据处理装置的处理器执行的指令建立用于实现流程图和/或一个或多个框图示图中指定的功能/动作的方式。还可以将这些计算机可读程序指令存储在能够引导计算机、可编程数据处理装置和/或其它设备以具体方式起作用的计算机可读存储介质中,以使得具有存储在其中的指令的计算机可读存储介质包括包含这样的指令的制造制品,即,实现流程图和/或一个或多个框图示图中指定的功能/动作的各方面。
还可以将计算机可读程序指令加载至计算机、其它可编程数据处理装置或其它设备中,以使在计算机、其它可编程装置或其它设备上执行的一系列操作步骤来生成计算机实现过程,因此,在计算机、其它可编程装置、或其它设备上执行的指令实现流程图和/或一个或多个框图示图中指定的功能/动作。
图中的流程图与框图示出了根据本发明的各个实施方式的系统、方法以及计算机程序产品的可能实现方式的架构、功能、以及操作。鉴于此,流程图或框图中的每个框图可以表示模块、区段或指令的一部分,其包括用于实现所指定的逻辑功能的一个或多个可执行指令。在一些可替代的实现方式中,可以不按照图中标注的顺序完成框图中标注的功能。例如,事实上,根据所涉及的功能,可以大致同时执行连续示出的两个框图,或者有时可以按照相反的顺序执行框图。还应注意,能够通过执行具体功能或动作或者完成专用硬件和计算机指令的组合的基于专用硬件的系统而实现框图示图和/或流程图例图中的每个框图以及框图示出和/或流程图例图中的框图组合。
已经出于说明目的呈现了本发明的各个实施方式的描述,但是,各个实施方式的描述并非意在穷尽或局限于所公开的实施方式。在不偏离所描述的实施方式的范围和实质的情况下,许多改造与变形对本领域普通技术人员显而易见。此处使用的术语被选择为对实施方式的原理、实际应用或市场中所发现对技术的技术改进进行最佳的阐明或者能够使得本领域普通技术人员理解本发明所描述的实施方式。
Claims (20)
1.一种计算机实现的方法,包括:
由处理器确定包括对工业系统的通用模型所应用的硬件配置方面、执行语义方面以及通信架构方面中的一个的方面,所述通用模型包括可编程逻辑控制器(PLC)模型和系统模型;
对所述通用模型应用所确定的方面;并且
使用所述通用模型和所应用的方面来模拟所述工业系统。
2.根据权利要求1所述的方法,其中,所述方面包括硬件配置方面,并且其中,确定包括所述硬件配置方面的方面包括:确定PLC的对PLC模型所应用的硬件配置。
3.根据权利要求2所述的方法,其中,所述硬件配置方面包括基于所述PLC的所述硬件配置在所述PLC上执行的控制代码的程序组件的执行时间。
4.根据权利要求1所述的方法,其中,所述方面包括执行语义方面,并且其中,确定包括所述执行语义方面的方面包括:确定对PLC模型所应用的实时执行原理,其中,所述实时执行原理包括时间驱动执行和事件驱动执行中的一种。
5.根据权利要求1所述的方法,其中,所述方面包括通信架构方面,并且其中,确定包括所述通信架构方面的方面包括:确定PLC的与所述工业系统的传感器信号和命令信号中的一个相关联的相应端口。
6.根据权利要求1所述的方法,其中,所述方面包括通信架构方面,并且其中,确定包括所述通信架构方面的方面包括:确定在PLC与所述工业系统的系统元件之间所使用的一种或多种通信类型,其中,所述一种或多种通信类型包括工业以太网、过程现场网络(PROFINET)、过程现场总线(Profibus)、用于控制自动化技术的以太网(Ethercat)、背板总线、时间敏感网络(TSN)、以及输入输出(IO)链路中的一种或多种。
7.根据权利要求1所述的方法,还包括下列中的一项:
基于所述模拟将控制代码部署到所述工业系统的PLC;以及
基于所述模拟修改所述工业系统的配置。
8.一种系统,包括:
存储器,具有计算机可读指令;以及
一个或多个处理器,用于执行所述计算机可读指令,所述计算机可读指令控制所述一个或多个处理器以执行操作,所述操作包括:
确定包括了对工业系统的通用模型所应用的硬件配置方面、执行语义方面、以及通信架构方面中的一个的方面,所述通用模型包括可编程逻辑控制器(PLC)模型和系统模型;
对所述通用模型应用所确定的方面;并且
使用所述通用模型和所应用的方面来模拟所述工业系统。
9.根据权利要求8所述的系统,其中,所述方面包括硬件配置方面,并且其中,确定包括所述硬件配置方面的方面包括:确定PLC的对PLC模型所应用的硬件配置。
10.根据权利要求9所述的系统,其中,所述硬件配置方面包括基于所述PLC的所述硬件配置在所述PLC上执行的控制代码的程序组件的执行时间。
11.根据权利要求8所述的系统,其中,所述方面包括执行语义方面,并且其中,确定包括所述执行语义方面的方面包括:确定对PLC模型所应用的实时执行原理,其中,所述实时执行原理包括时间驱动执行和事件驱动执行中的一种。
12.根据权利要求8所述的系统,其中,所述方面包括通信架构方面,并且其中,确定包括所述通信架构方面的方面包括:确定PLC的与所述工业系统的传感器信号和命令信号中的一个相关联的相应端口。
13.根据权利要求8所述的系统,其中,所述方面包括通信架构方面,并且其中,确定包括所述通信架构方面的方面包括:确定在PLC与所述工业系统的系统元件之间所使用的一种或多种通信类型,其中,所述一种或多种通信类型包括工业以太网、过程现场网络(PROFINET)、过程现场总线(Profibus)、用于控制自动化技术的以太网(Ethercat)、背板总线、时间敏感网络(TSN)、以及输入输出(IO)链路中的一种或多种。
14.根据权利要求8所述的系统,还包括下列中的一项:
基于所述模拟将控制代码部署到所述工业系统的PLC;并且
基于所述模拟来修改所述工业系统的配置。
15.一种包括计算机可读存储介质的计算机程序产品,所述计算机可读存储介质具有在其上实施的程序指令,能由处理器执行所述程序指令以使得所述处理器执行操作,所述操作包括:
确定包括对工业系统的通用模型所应用的硬件配置方面、执行语义方面、以及通信架构方面中的一个的方面,所述通用模型包括可编程逻辑控制器(PLC)模型和系统模型;
对所述通用模型应用所确定的方面;并且
使用所述通用模型和所应用的方面来模拟所述工业系统。
16.根据权利要求15所述的计算机程序产品,其中,所述方面包括硬件配置方面,并且其中,确定包括所述硬件配置方面的方面包括:确定PLC的对PLC模型所应用的硬件配置。
17.根据权利要求16所述的计算机程序产品,其中,所述硬件配置方面包括基于所述PLC的所述硬件配置在所述PLC上执行的控制代码的程序组件的执行时间。
18.根据权利要求15所述的计算机程序产品,其中,所述方面包括执行语义方面,并且其中,确定包括所述执行语义方面的方面包括:确定对PLC模型所应用的实时执行原理,其中,所述实时执行原理包括时间驱动执行和事件驱动执行中的一种。
19.根据权利要求15所述的计算机程序产品,其中,所述方面包括通信架构方面,并且其中,确定包括所述通信架构方面的方面包括:确定PLC的与所述工业系统的传感器信号和命令信号中的一个相关联的相应端口。
20.根据权利要求15所述的计算机程序产品,其中,所述方面包括通信架构方面,并且其中,确定包括所述通信架构方面的方面包括:确定在PLC与所述工业系统的系统元件之间所使用的一种或多种通信类型,其中,所述一种或多种通信类型包括工业以太网、过程现场网络(PROFINET)、过程现场总线(Profibus)、用于控制自动化技术的以太网(Ethercat)、背板总线、时间敏感网络(TSN)、以及输入输出(IO)链路中的一种或多种。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/047802 WO2021040674A1 (en) | 2019-08-23 | 2019-08-23 | Aspect-oriented programming based programmable logic controller (plc) simulation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114258514A true CN114258514A (zh) | 2022-03-29 |
Family
ID=67841303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980099610.2A Pending CN114258514A (zh) | 2019-08-23 | 2019-08-23 | 基于面向方面编程的可编程逻辑控制器(plc)模拟 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220291652A1 (zh) |
EP (1) | EP3999921A1 (zh) |
CN (1) | CN114258514A (zh) |
WO (1) | WO2021040674A1 (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090132067A1 (en) * | 2005-04-05 | 2009-05-21 | Alfred Degen | Design Device for Designing a Control System and Method for Examining the Technological Aims When Designing a Control System |
CN104267613A (zh) * | 2014-09-15 | 2015-01-07 | 东北大学 | 实验用金属轧制过程自动控制硬件在环仿真平台及方法 |
EP2924520A1 (de) * | 2014-03-25 | 2015-09-30 | Siemens Aktiengesellschaft | Verfahren zur Simulation einer automatisierten industriellen Anlage |
CN104950741A (zh) * | 2014-03-26 | 2015-09-30 | 洛克威尔自动控制技术股份有限公司 | 用于系统连接的多控制器的配置管理接口 |
CN106200448A (zh) * | 2015-05-09 | 2016-12-07 | 精航伟泰测控仪器(北京)有限公司 | 一种工业接口实施远程映射系统 |
CN108241304A (zh) * | 2018-01-31 | 2018-07-03 | 广东赛诺梵信息技术有限公司 | 一种软件定义的网络型工业控制器 |
CN109643092A (zh) * | 2016-08-24 | 2019-04-16 | 西门子股份公司 | 用于威胁影响确定的系统和方法 |
CN109716732A (zh) * | 2016-08-03 | 2019-05-03 | 施耐德电器工业公司 | 用于软件定义的自动化系统中的部署的工业软件定义的网络架构 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2110722A1 (de) * | 2008-04-17 | 2009-10-21 | Siemens Aktiengesellschaft | System zur Simulation automatisierungstechnischer Anlagen |
WO2014051579A1 (en) * | 2012-09-27 | 2014-04-03 | Siemens Aktiengesellschaft | Simulation of programmable logic controller inputs and outputs |
CN107844095B (zh) * | 2017-10-30 | 2020-03-17 | 上海电气风电集团有限公司 | 应用于风力发电的主控程序仿真测试系统及其方法 |
-
2019
- 2019-08-23 WO PCT/US2019/047802 patent/WO2021040674A1/en unknown
- 2019-08-23 EP EP19762669.0A patent/EP3999921A1/en active Pending
- 2019-08-23 CN CN201980099610.2A patent/CN114258514A/zh active Pending
- 2019-08-23 US US17/634,294 patent/US20220291652A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090132067A1 (en) * | 2005-04-05 | 2009-05-21 | Alfred Degen | Design Device for Designing a Control System and Method for Examining the Technological Aims When Designing a Control System |
EP2924520A1 (de) * | 2014-03-25 | 2015-09-30 | Siemens Aktiengesellschaft | Verfahren zur Simulation einer automatisierten industriellen Anlage |
CN104950741A (zh) * | 2014-03-26 | 2015-09-30 | 洛克威尔自动控制技术股份有限公司 | 用于系统连接的多控制器的配置管理接口 |
CN104267613A (zh) * | 2014-09-15 | 2015-01-07 | 东北大学 | 实验用金属轧制过程自动控制硬件在环仿真平台及方法 |
CN106200448A (zh) * | 2015-05-09 | 2016-12-07 | 精航伟泰测控仪器(北京)有限公司 | 一种工业接口实施远程映射系统 |
CN109716732A (zh) * | 2016-08-03 | 2019-05-03 | 施耐德电器工业公司 | 用于软件定义的自动化系统中的部署的工业软件定义的网络架构 |
CN109643092A (zh) * | 2016-08-24 | 2019-04-16 | 西门子股份公司 | 用于威胁影响确定的系统和方法 |
CN108241304A (zh) * | 2018-01-31 | 2018-07-03 | 广东赛诺梵信息技术有限公司 | 一种软件定义的网络型工业控制器 |
Also Published As
Publication number | Publication date |
---|---|
US20220291652A1 (en) | 2022-09-15 |
EP3999921A1 (en) | 2022-05-25 |
WO2021040674A1 (en) | 2021-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10037443B2 (en) | Industrial simulation using redirected I/O module configurations | |
US9971914B2 (en) | Industrial simulation using redirected I/O module configurations | |
US11435728B2 (en) | I/O virtualization for commissioning | |
EP3002649B1 (en) | Industrial simulation using redirected i/o module configurations | |
EP2804058B1 (en) | System and method for emulation of an automation control system | |
WO2023140299A1 (ja) | 検証システムおよび検証方法 | |
US10198536B2 (en) | Simulation system, method for carrying out a simulation, control system, and computer program product | |
EP3140963B1 (en) | Gateway offering logical model mapped to independent underlying networks | |
US11366945B2 (en) | Soft-real-time hub providing data transport for processor-in-the-loop (PIL) simulations | |
EP2508954A1 (en) | System and method for the configuration of a clustered simulation network | |
US20140172402A1 (en) | Simulation system, method for carrying out a simulation, guidance system, and computer program product | |
CN113454551A (zh) | 用于工业生态系统之间互操作性的自动化代码生成器 | |
Olsen et al. | Contingencies-based reconfiguration of distributed factory automation | |
Kazala et al. | The most important open technologies for design of cost efficient automation systems | |
US20140222408A1 (en) | Simulation system, method of carrying out a simulation, guidance system and computer program product | |
CN114258514A (zh) | 基于面向方面编程的可编程逻辑控制器(plc)模拟 | |
Brecher et al. | Model-based control of a handling system with SysML | |
US20210216056A1 (en) | Programmable logic controller and operating method for a programmable logic controller and computer program product | |
EP4050489A1 (en) | Automatic generation of integrated test procedures using system test procedures | |
JP2023546533A (ja) | 製造に応用されるヒューマンマシン実行システム | |
CN116157774A (zh) | 用于在云计算环境中提供工业设备的工程的方法和系统 | |
EP3891612B1 (en) | System and method for testing and validating applications | |
Falcon | Facilitating modeling and simulation of complex systems through interoperable software | |
WO2021040706A1 (en) | Qualitative mechanics based system modeling | |
US20230050387A1 (en) | Method and system for imposing constraints in a skill-based autonomous system |
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 |