CN104781817A - 多个可编程逻辑控制器仿真器 - Google Patents

多个可编程逻辑控制器仿真器 Download PDF

Info

Publication number
CN104781817A
CN104781817A CN201280077000.0A CN201280077000A CN104781817A CN 104781817 A CN104781817 A CN 104781817A CN 201280077000 A CN201280077000 A CN 201280077000A CN 104781817 A CN104781817 A CN 104781817A
Authority
CN
China
Prior art keywords
plc
instruction
enable
time
processor
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
CN201280077000.0A
Other languages
English (en)
Inventor
T.B.哈特利
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of CN104781817A publication Critical patent/CN104781817A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/052Linking several PLC's
    • 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], computer integrated manufacturing [CIM]
    • G05B19/41815Total 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 cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • 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], 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], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)

Abstract

公开的实施例涉及将被物理地以网络的或者其他协调的方式实现的多个PLC的仿真,诸如以控制各种工业机器和/或实现用在进行工业处理中的多个步骤。仿真的PLC 114的每一个通过使用共同的仿真的时钟116相对于其它仿真的PLC 114的每一个被节制。被仿真的特定PLC的物理特征被用于例如相对于通过共同的仿真的时钟116计时的时间确保每个PLC的行为与被仿真的其它PLC的物理特征相一致。相应地,具有不同于其它PLC的一个或多个PLC的物理特征的PLC的仿真将反映所述差异并提供对其所期望的实际操作的更加精确的表示。

Description

多个可编程逻辑控制器仿真器
技术领域
可编程逻辑控制器(“PLC”)或者可编程控制器,是用于自动化机电处理的数字计算机,所述机电处理诸如对工厂生产线、游乐设施或灯固定架上的机械的控制。PLC被用在许多工业和机器中。不同于通用计算机,PLC被设计用于多个输入和输出的配置、延伸的温度范围、对抗电气噪声、以及抵抗震动和影响。控制机器操作的程序通常被贮存在备用电池的或非易失性的存储器中。PLC是硬实时系统的示例,因为输出结果必须响应于在有限的时间中的输入条件而产生,否则将导致不期望的操作。
背景技术
与其它计算机的主要的差异在于,PLC通常为了严峻的条件(诸如灰尘、湿度、高温、寒冷)而装备并且具有大量的输入/输出(I/O)配置以例如连接到传感器和致动器的便利。PLC可能能够读取限位开关、模拟处理变化(诸如温度和压力),以及复杂的定位系统的位置。一些PLC可以使用机器视角和/或可以操作电动机、气动或液压缸、电磁继电器、线圈或模拟输出。输入/输出配置可以被造在简单PLC或可能具有外部I/O模块的PLC中,所述外部I/O模块可以被称为“信号模块”,所述外部I/O模块被附加到插入到PLC的计算机网络。
模块化的PLC可以包括底盘(也被叫做机架),在所述底盘中放置具有不同功能的模块。处理器和I/O模块的选择被定制化以用于特定应用。若干机架可以由单个处理器管理,并且可以具有数千个输入和输出。通信介质,诸如特别高速串行I/O链接,可以被用于使得机架可以被分布为离开处理器,减少用于大布局的导线成本。
多个PLC可以被用在诸如制造环境的环境中,以控制并协调包含在特定处理中的多种机器。这可能要求可能导致或引导由制造设备的各种操作的性能的PLC的操作被协调或者同步使得以合适的协调的、时间的和/或顺序的方式进行制造处理的合适的步骤。
附图说明
图1描述了用于仿真多个可编程逻辑控制器的操作的系统的框图。
图2示出了描述根据一实施例的图1的系统的操作的流程图。
图3示出了描述根据另一实施例的图1的系统的操作的流程图。
图4示出了与公开的实施例使用的通用计算机系统的框图。
具体实施方式
公开的实施例涉及将被物理地以网络的或者协调的方式实现的多个PLC的仿真,所述方式诸如控制各种工业机器和/或实现用在进行工业处理中的多个步骤。在一实施例中,通过使用共同的仿真的时钟,每个仿真的PLC被相对于其它仿真的PLC的每一个被节制。被仿真的特定PLC的物理特征被用于确保每个PLC以与被仿真的其它PLC的物理特征相一致的方式运行,例如相对于由共同的仿真的时钟计时的时间。相应地,使用公开的实施例,具有不同于一个或多个其它PLC的物理特征的PLC的仿真将反映所述差异并提供对其中所期望的实际操作的更加精确的表示。例如,较慢的PLC的仿真将展现相对于较快的PLC的仿真的行为较慢的行为。
网络的精确的仿真可以帮助创建更好的成本分析和计划。当在投标一工作时,由于不可预见的瓶颈,所以通常难以知道需要什么设备。也难以识别浪费的资源。所期望的是,实现方式的设计者确定性能所必要的水平以达到所期望的功能,而同时最小化不必要的成本。
此外,如上所指出的,当利用多个PLC控制制造或者其它工业处理的不同部分时,可能需要协调PLC的操作以在其中产生期望的协调的实现方式。例如,在将标签施加到容器的制造线上,人们可能想要确保将标签施加到容器的机器与给进所述容器的机器协调使得当施加标签时容器被适当地放置。由于不同的PLC可能具有不同的性能特征,诸如处理器时钟速度、指令吞吐率、存储器带宽或者可能影响它们的性能的其它物理特征等,可能有必要调整、调节或者修改用于进行处理的一个或多个PLC的操作,以便确保它们的操作与其它PLC是适当地协调的和/或同步的。就是说,一些PLC可能比其它PLC更快地执行它们的控制程序或其部分。在实现方式之前的或者当修改实现方式时对这样的调整的需要的预期/预测是困难度。此外,由于PLC被合适地调整并且然后测试以确保满意的操作,在现实制造环境中的这些调整的性能可能是耗时的并且低效的并且可能导致浪费的资源和损失的收入。在关键任务应用中,测试和调节的能力可能是极为有限的。
相应地,对PLC的操作的仿真可以是合适的,因此在计算机仿真的环境中创建了并操作了对PLC的计算机模拟,以便演示期望的操作并识别任何问题。这可以然后允许在实现方式之前或在实现方式期间对所期望或负责的实际实现方式的任何必要的调整,从而减少低效。例如,较快的PLC可能使其性能被降低以适当地与较慢的PLC同步,或者不同的PLC可以被确定以更好地适用于整个实现方式。可惜,现存的仿真系统不模拟具有不同的性能特征的不同的类型的PLC之间的实际的相对性能差异,使得难以预期并实现必要的操作性调整。就是说,当快的控制器在网络上被仿真时,该控制器不会显示出比在相同的仿真网络中的较慢的控制器更快,从而,例如,遮盖了调整PLC之一或两者的操作以协调它们的实际操作的潜在的需要。
公开的实施例涉及可以仿真多个PLC操作的仿真引擎或仿真器,以此对每个PLC的相关性能能力负责。通常,在公开的实施例中,仿真的PLC相对于相互之间节制。例如,如果实现方式包括两个PLC,PLC’x’,比PLC’y’快两倍。在物理网络上PLC'x'将进行两倍的与PLC'y'相同的指令。这些性能特征是每个物理PLC的已知的属性(即对于给定的PLC的指令的执行时间是已知的)。在一实施例中,在仿真期间,时间令牌被传递到每个仿真的PLC。每个PLC将检查时间令牌以确定其合适的行为。如果时间令牌指示相对于网络上的其它PLC已经流逝了足够的时间,PLC将执行其排队的指令。如果相对于网络上的其它PLC没有流逝足够的时间,令牌别传递到下一仿真的控制器。确定PLC是否应该执行指令可以通过跟踪其完成执行指令的基础时间以及增加其排队的指令(指令特征对仿真的PLC是已知的)所需要的时间完成。如果基础时间加上排队的指令时间少于当前令牌的时间,指令被执行。这将进行直到在时间令牌所指示的时间中没有更多的命令可以被执行。将执行一个额外的指令并且合适地调整时间令牌(即新的时间令牌将会增加需要执行该最终指令的任何额外的时间)。PLC将注意执行的该最后指令的完成时间以及传递到下一仿真的PLC的令牌。时间令牌将继续被从PLC传递到PLC知道仿真结束。该技术将节制每个PLC使得它们相对于对方以锁定步骤的方式前进更加精确地仿真物理网络。
这里,短语“耦接”被定义为表示直接连接或通过一个或多个中间组件非直接地连接。这样的中间组件可以包括基于硬件和软件两者的组件。此外,为阐明在待定的权利要求中的使用并特此向公众提供注意,短语“<A>,<B>,...和<N>的至少一个”或者“<A>,<B>,...<N>的至少一个或其结合”由申请人以最宽的范围定义,取代在此之前或在此之后的任何其它隐含的定义,除非申请人明确地声明相反,以意味从包括A,B,...和N的组中选出的一个或多个元件,这就是说,元件A,B,...或N中的一个或多个元件的任何组合包括单独的任何一个元件或与结合一个或多个其它元件,所述其它元件还可以包括、结合未列出的额外的元件。
图1示出了根据公开的实施例的用于仿真多个可编程逻辑控制器("PLC")的操作的系统100的框图,所述多个PLC的每一个的特征在于至少一个性能特征118。性能特征118可以在PLC之中变化并且可以包括处理器速度、指令吞吐率、响应时间或者定义特定PLC的性能的其它属性。通常,性能特征118具有PLC的指令执行性能的特征并且例如可以,比如以周期或者其它时间的度量定义特定PLC控制程序指令或者各种类型的指令需要执行的时间的量。性能特征118可以如上所述的被实现为贮存在存储器104中的数据值或者与PLC的仿真模型集成。
应理解的是,仿真系统100可以被实现在一个或多个计算装置中,诸如参考图4在下文中描述的计算装置400。尽管将在这里关于与单个存储器104耦接的单个处理器102描述示例性实施例,其可以使用在下文中关于图4描述的处理器402和存储器404实现,但应理解的是,公开的实施例可以被实现在松或紧耦接的多个处理器和或多个存储器系统中。此外,尽管所公开的仿真控制逻辑被描述为被贮存在被实例化的模拟的PLC所在的相同的存储器中,应理解的是,模拟的PLC可以被实例化在中单独的存储器或在由单独的处理器控制的单独的计算机系统控制中。例如,可以提供专用的仿真计算机系统以用于在单独的控制系统控制之下执行PLC仿真模型。
返回参考图1,在示例性实施例中,系统100包括第一逻辑106,其被贮存在存储器104中并且可由处理器102执行以使处理器102实例化或者模拟所述多个PLC的每一个的操作。如所述,仿真的PLC可以被实例化在与第一逻辑106相同或者不同的存储器中。系统100还可以包括用于接收来自用户的指令或命令的用户接口124(诸如关于图4在下文中描述的用户接口414/416),所述指令或命令诸如实例化PLC模型114、如这里所述的发起仿真或者向用户提供诸如PLC性能特征数据以及提供诸如仿真的结果的输出的命令。
系统100还包括第二逻辑108,其被贮存在存储器104中并且可由所述处理器102执行以使所述处理器102使能PLC模型114的每一个以仿真所述相关联的模拟的PLC的操作,所述剩余的PLC模型114不被使能仿真所述相关联的模拟的PLC的操作。如将描述的,一次一个地使能模拟的PLC114的每一个以执行如将进一步描述的指令。
系统100还包括第三逻辑110,其被贮存在存储器104中并且可由所述处理器102执行以使所述处理器102基于所模拟的PLC的至少一个性能特征118,相对于先前使能的PLC模型114的一个或多个的指令执行性能,调整通过使能的PLC模型114的指令的执行的启动。PLC模型114的每一个的至少一个性能特征118可以单独地或者结合或作为PLC模型114的一部分被贮存在存储器104中。在一实施例中,所述先前使能的PLC模型114的一个或多个的指令执行性能包括,所需的任何所述一个或多个先前使能的PLC模型114的最长的累积执行时间,以完成当所述一个或多个先前使能的PLC模型114的特定一个被在先前使能时发起的指令的执行。
在一实施例中,第三逻辑110可以进一步由处理器102执行以使处理器102基于完成用于由所述使能的PLC模型114发起的执行的指令的执行定义用于将被使能的下一PLC模型114的指令执行性能。
在一实施例中,第三逻辑110可以进一步由处理器102执行以使处理器102基于完成执行由所述使能的PLC模型114发起的指令的累积的时间提前仿真的时钟116值,其中所述时钟116值可以被贮存在存储器104或其它地方中,用于下一使能的PLC模型114的指令执行性能被由此定义。
在一实施例中,第三逻辑110可以进一步由处理器102执行以使处理器102确定自所述使能的PLC模型114上一次执行指令120起是否有可用的充足的时间以发起对多个指令中的下一指令的执行,并且如果充足的时间是可用的,允许所述使能的PLC模型114至少发起对所述下一指令的执行,重复所述确定直到没有可用的充足的时间以发起对剩余的所述多个指令中的下一指令的执行,并且,其中当没有可用的充足的时间时,禁用所述使能的PLC模型114仿真操作并使能所述多个PLC模型114的另一个以仿真操作。在一实施例中,第三逻辑106可以进一步由处理器102执行以使处理器102向所述多个PLC模型114之一分配或者提供令牌122或其它信号(旗标或数据),所述令牌122可操作为使能所述一个PLC模型114以执行指令。其中那些没有被分配到令牌122的PLC模型114被禁止执行指令。为依次使能每个PLC模型,令牌122可以依次被传递或分配到每个PLC。令牌122可以是从PLC模型114到PLC模型114的携带额外的数据的数据包,所述额外的数据诸如所述当前仿真时间。可替换地,令牌122可以被实现为在存储器104中或贮存数据的其它地方中的寄存器或者存储器位置,所述数据表示第三逻辑106和/或PLC模型114的每一个所指的当前使能的PLC模型114以确定哪一个PLC模型114目前被使能。
第三逻辑110可以进一步由处理器102执行以使处理器102诸如从上述令牌122、仿真的时钟116或者例如中央时间服务器确定当前时间,以及所述使能的PLC模型114执行指令的上一执行时间120,所述指令诸如可以被贮存在存储器104或其它地方(诸如在PLC模型114自身中)。第三逻辑106可以然后进一步由处理器102执行以使处理器102诸如基于所述使能的PLC模型114的性能特征确定执行所述下一指令所需的执行时间的量。如上已述,每个PLC模型的性能特征(所模拟的PLC的性能的反映)可能因为由PLC执行的不同的指令而变化以及因PLC而异。通常,第三逻辑106可以进一步由处理器102执行以使处理器102确定所述当前时间和所述上一时间120之间的差是否至少大于零,基于此确定所述可用时间的充足性。更具体地,第三逻辑106可以进一步由处理器102执行以使处理器102确定所述当前时间和所述上一时间120之间的差是否超过执行所述下一指令所需的时间的量。
在一实施例中,第三逻辑110可以进一步由处理器102执行以使所述处理器102在执行所述下一指令之后,将所述使能的PLC模型114执行指令的上一时间120更新为等于所述使能的PLC模型110执行指令的上一时间120加上所述相关联的执行时间。此外,在一实施例中,第三逻辑110可以进一步由处理器102执行以使处理器102将所述当前时间更新为等于所述使能的PLC模型114执行指令的上一时间120。
在一实施例中,第三逻辑110可以进一步由处理器102执行以当在所述禁用之前没有充足的时间以用于执行所述下一指令并且当上一次使能时没有一个所述其它PLC模型114执行指令时,使处理器102允许所述使能的PLC模型114执行所述下一指令。
尽管关于第一、第二和第三逻辑106、108、110控制仿真的PLC的操作的功能描述系统100,应理解的是,所描述的功能或其一部分可以作为每个PLC模型的一部分被替代实现。
图2描述了示出用于仿真多个PLC的图1的系统100的操作的流程图,PLC的每一个的特征在于至少一个性能特征,所述性能特征诸如控制程序指令执行性能,其可能在指令之间以及在PLC之间变化。特别地,所述操作包括:通过处理器102模拟,所述多个PLC的每一个的操作(块202);通过所述处理器102使能,PLC模型114的每一个以仿真所述相关联的模拟的PLC的操作,所述剩余的PLC模型114不被使能仿真所述相关联的模拟的PLC的操作(块204);以及通过所述处理器102基于所述所模拟的PLC的至少一个性能特征,相对于所述先前使能的PLC模型114的一个或多个的指令执行性能调整通过使能的PLC模型114的指令执行的启动(块206)。
在一实施例中,所述先前使能的PLC模型114的一个或多个的指令执行性能包括,所需的任何所述一个或多个先前使能的PLC模型114的最长的累积执行时间,以完成当所述一个或多个先前使能的PLC模型114的特定一个被在先前使能时发起的指令的执行。
在一实施例中,系统100的操作还包括基于完成执行用于由所述使能的PLC模型114发起的执行的指令,定义用于将被使能的所述下一PLC模型114的指令执行性能(块208)。
在一实施例中,系统100的操作还包括基于完成执行由所述使能的PLC模型114发起的指令的累积的时间通过所述处理器102提前仿真的时钟116值,用于下一使能的PLC模型114的指令执行性能被由此定义(块210)。
在一实施例中,系统100的操作还包括:通过所述处理器102确定,充足的时间是否可用于自所述使能的PLC模型114上一次执行指令120起发起对多个指令中的下一指令的执行(块211),并且如果充足的时间是可用的,允许所述使能的PLC模型114至少发起对所述下一指令的执行(块212);通过所述处理器102重复,所述确定直到没有可用的充足的时间以发起对剩余的所述多个指令中的下一指令的执行(块214);以及其中当没有可用的充足的时间时,通过所述处理器102禁用,所述使能的PLC模型114仿真操作并使能所述多个PLC模型114的另一个以仿真操作(块216)。
在一实施例中,所述使能还可以包括通过所述处理器102向所述多个PLC模型114之一分配令牌122,所述令牌122可操作为使能所述一个PLC模型114以执行指令(块218)。
在一实施例中,所述确定还可以包括通过所述处理器102确定,所述使能的PLC模型114执行指令的当前时间和上一执行时间120,并且通过所述处理器102确定,所述当前时间和所述上一时间120之间的差是否至少大于零,基于此确定所述可用时间的充足性(块220)。所述确定还可以包括确定执行所述下一指令所需的执行时间的量。在一实施例中,所述相关联的执行时间基于由所述使能的PLC模型114模拟的PLC的至少一个性能特征,并且可能在指令之间以及在PLC之间变化。
在一实施例中,所述允许还可以包括在执行所述下一指令之后将所述使能的PLC模型114执行指令的上一时间120更新为等于所述使能的PLC模型114执行指令的上一时间120加上所述相关联的执行时间(块222)。
在一实施例中,所述禁用还可以包括将所述当前时间更新为等于所述使能的PLC模型114执行指令的上一时间120(块224)。
在一实施例中,所述重复还可以包括当在所述禁用之前没有充足的时间以用于执行所述下一指令并且当上一次使能时没有一个所述其它PLC模型114执行指令时,通过所述处理器102允许所述使能的PLC模型114执行所述下一指令(块226)。
在一实施例中,所述使能还可以包括通过所述处理器102向所述多个PLC模型114之一分配令牌122,所述令牌122可操作为使能所述一个PLC模型114以执行指令,所述令牌122还包括表示所述当前时间的数据(块218)。
在一实施例中,当前时间可以通过处理器102从与处理器102耦接的服务器获得。
图3描述了示出用于仿真多个PLC的图1的系统100的示例性操作的流程图,每个PLC的特征在于至少一个性能特征,诸如可能在指令之间以及在PLC之间变化的控制程序指令执行性能。特别地,操作包括:通过所述处理器102仿真,所述多个PLC的每一个的操作(块302);通过处理器102使能,所述多个仿真的PLC 114之一以操作(块304);通过所述处理器102确定,所述当前仿真时间(块306);通过所述处理器102确定,所述使能的仿真的PLC 114执行指令的上一时间120(块308);通过所述处理器102识别,将被执行的下一指令以及其相关联的执行时间,所述相关联的执行时间基于由所述使能的仿真的PLC 114仿真的PLC的至少一个性能特征(块310);通过所述处理器102确定,所述使能的仿真的PLC 114执行指令的上一时间120加上所述相关联的执行时间是否少于所述当前仿真时间并且如果所述使能的仿真的PLC 114执行指令的上一时间120少于所述当前仿真时间(块312),通过所述处理器102使所述使能的仿真的PLC 114至少发起对所述下一指令的执行(块314)并将所述使能的仿真的PLC 114执行指令的上一时间120更新为包括所述相关联的执行时间(块316),通过所述处理器102基于所述使能的仿真的PLC 114执行指令的更新的上一时间120重复对所述使能的仿真的PLC 114执行指令的上一时间120的所述识别和确定直到所述使能的仿真的PLC 114执行指令的更新的上一时间120不少于所述当前仿真时间(块318),随后将所述当前仿真时间更新为等于所述使能的仿真的PLC 114执行指令的更新的上一时间120(块320),并且通过所述处理器102禁用,所述使能的仿真的PLC 114,并且通过所述处理器102使能,所述多个仿真的PLC 114的另一个以操作(块322);并且通过所述处理器102确定,所述当前仿真时间是否等于所述使能的仿真的PLC 114执行指令的上一时间120并且如果所述当前仿真时间等于所述使能的仿真的PLC 114执行指令的上一时间120(块324),通过所述处理器102使所述使能的仿真的PLC 114至少发起对所述下一指令的执行(块326),并将所述使能的仿真的PLC 114执行指令的上一时间120更新为包括所述相关联的执行时间(块328),并且随后将所述当前仿真时间更新为等于所述使能的仿真的PLC 114执行指令的更新的上一时间120(块330),并且通过所述处理器102禁用,所述使能的仿真的PLC 114,并且通过所述处理器102使能,所述多个仿真的PLC 114的另一个以操作(块332)。
下面的伪代码描述了上述公开的实施例的示例性实现方式:
下面的表(表1)示出了根据上面提供的示例性伪代码的公开的实施例的操作。在该示例性操作中:
时间令牌被传递的顺序是PLC1->PLC2->PLC3
PLC1执行程序循环:
A(1)1;A(1)2;B(2)3;B(2)4;B(2)5;B(2)6;A(1)7;A(1)8;B(2)9;B(2)10;B(2)11;B(2)12;A(1)13
PLC2执行程序循环:
A(3)1;B(4)2;A(3)3;B(4)4;A(3)5
PLC3执行程序循环:
B(4)1;A(3)2;B(4)3;A(3)4;B(4)5
其中在括号中的数字是在特定PLC上的指令的执行时间(number ofticks)。下标区别所述指令。
Exe?=PLC执行是否执行下一指令(Inext)
被定义为令牌的周期被依次传递到每个PLC
表1
如可以从上表中看到,PLC1完成其控制程序循环的3个迭代。PLC2完成其控制程序循环的4个迭代并且PLC3完成其控制程序循环的3个迭代。相应地,用户希望物理地实现模拟的PLC可以解释所描述的性能。例如,如果PLC2对PLC1每完成的3个迭代需要完成4个迭代,可以作出必要的调整。
本领域技术人员应理解这里所述的一个或多个组件可以在其它物件之中利用,包含计算机可执行的指令(例如,可执行的软件代码)的有形的计算机可读介质实现。可替换地,模块可以被实现为软件代码、固件代码、硬件和/或上述组合。例如模块可以被具体化为如上所述的可编程逻辑控制器的一部分。
参考图4,示出了通用计算机系统400示意性实施例。计算机系统400可以包括可被执行以使计算机系统400进行这里所公开的方法的任何一个或多个或者基于计算机的功能的指令集。计算机系统400可以操作为单机装置或者可以例如使用网络连接到其它计算机系统或外围装置。上面讨论的任何组件,诸如PLC 100或其组件可以是计算机系统400或者计算机系统400中的组件。计算机系统400可以实现可编程逻辑控制器,其中所公开实施例是其组件。
在网络部署中,计算机系统400可以作为服务器或作为客户-服务器用户网络环境中的客户用户计算机,或作为对等式(或分布式)网络环境中的对等计算机系统。计算机系统400也可以实现为或者合并在各种装置中,所述各种装置诸如个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动装置、掌上型计算机、膝上型计算机、桌上型计算机、通信装置、无线电话、陆线电话、控制系统、照相机、扫描仪、传真机、打印机、寻呼机、个人信赖装置、网络装置、网络路由器、交换机或网桥或者能够执行明确机器将采取的行动的指令集(顺序的或相反)的任何其它机器。在特定的实施例中,计算机系统400可以利用提供声音、视频或数据通信的电子装置实现。此外,尽管描述了单个计算机系统400,术语“系统”也应当被用来包括独自地或共同地执行一组或多组指令指令以进行一个或多个计算机功能的系统或子系统的任意集合。
如图4所示,计算机系统400可以包括处理器402,例如,中央处理单元(CPU)、图形处理单元(GPU)或两者。处理器402可以是多个系统中的组件。例如,处理器402可以是标准个人计算机或工作站的一部分。处理器402可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列、服务器、网络、数字电路、模拟电路、其组合或者其它现在已知的或将来开发的用于分析和处理数据的装置的一个或多个。处理器402可以实现软件程序,诸如手动产生的代码(即,编程的)。
计算机系统400可以包括可以通过总线408通信的存储器404。存储器404可以是主存储器、静态存储器或者动态存储器。存储器404可以包括,但不限于诸如各种类型的易失性和非易失性贮存介质的计算机可读贮存介质,其中所述非易失性贮存介质包括但不限于随机存取存储器、只读存储器、可编程只读存储器、电可编程只读存储器、电可擦除只读存储器、闪速存储器、磁带或盘、光学介质及其类似者。在一实施例中,存储器404包括用于处理器402的缓存或随机存取存储器。在替换实施例中,存储器404与处理器402分开,诸如处理器缓存存储器、系统存储器或者其它存储器。存储器404可以是用于贮存数据的外部贮存装置或数据库。示例包括硬盘驱动器、光盘(“CD”)、数字视频光盘(“DVD”)、存储器卡、存储器条、软盘、通用串行总线("USB")存储器装置或者可操作为贮存数据的任何其它装置。存储器404可操作以贮存可以由处理器402执行的指令。附图中所描述或者这里所述的功能、动作或任务可以通过编程的处理器402执行贮存在存储器404中的指令412进行。所述功能、动作或任务独立于特定类型的指令集、贮存介质、处理器或处理策略并且可以由软件、硬件、集成电路、固件、微代码以及类似物单独或组合操作而进行。同样地,处理策略可以包括多重处理、多任务处理、并行处理以及类似者。
如所示,计算机系统400还可以包括显示单元414,诸如液晶显示器(LCD)、有机发光二极管(OLED)、平板显示器、固态显示器、阴极射线管(CRT)、投影仪、打印机或者用于输出确定的信息的其它现在已知或将来开发的显示装置。显示器414可以作为用于用户看到处理器402的功能的界面,或者特别地作为软件贮存在存储器404中或驱动单元406中的界面。
此外,计算机系统400可以包括被配置为允许用户与系统400的任何组件交互的输入装置416。输入装置416可以是数字键盘、键盘或者光标控制装置(诸如鼠标)、或操纵杆、触屏显示器、遥控或可操作以与系统400交互的任何其它装置。
在特定的实施例中,如图4所描述的,计算机系统400还可以包括磁盘或光学驱动单元406。磁盘驱动单元406可以包括可以嵌入一个或多个指令集412(例如软件)的计算机可读介质410。此外,指令412可以具体化一个或多个这里所述的方法或逻辑。在特定的实施例中,在由计算机系统400执行期间,指令412可以完全或至少部分留在存储器404中和/或在处理器402中。存储器404和处理器402还可以包括如上所讨论的计算机可读介质。
本公开考虑包括指令412或者响应于传播的信号接收并执行指令412的计算机可读介质,使得连接到网络420的装置可以在网络420之上通信声音、视频、音频、图像或任何其它数据。此外,指令412可以通过通信接口418在网络420之上被发送和接收。通信接口418可以是处理器402的一部分或者可以是单独的组件。通信接口418可以在软件中创建或者可以是硬件中的物理连接。通信接口418被配置为与网络420、外部介质、显示器414或者系统400中的任何其它组件或其组合连接。与网络420的连接可以是物理连接,诸如有线以太网连接或者可以如下文所讨论的无线地建立。同样地,与系统400的其它组件的额外的连接可以是物理连接或者可以无线地建立。
网络420可以包括有线网络、无线网络或其组合。无线网络可以是网络通讯协议网络、蜂窝电话网络、802.11、802.16、802.20或WiMax网络。此外,网络420可以是公用网络(诸如因特网)、私有网络(诸如内联网)或其组合,并且可以利用现在可用或将来开发的多个网络协议,包括但不限于基于TCP/IP的网络协议。
在该说明书中描述的主题和功能性操作的实施例可以实现在数字电子电路中或者计算机软件、固件或硬件中,包括在该说明书中公开的结构以及它们的结构性等价物或它们一个或多个的组合。在该说明书中描述的主题的实施例可以实现为一个或多个计算机程序产品,即,编码在计算机可读的介质上的计算机程序指令的一个或多个模块,所述指令用于由数据处理设备执行或者控制数据处理设备的操作。尽管计算机可读介质被示出为单个介质,术语“计算机可读介质”包括单个介质或多个介质,诸如贮存一个或多个指令集的中央式的或分布式的数据库和/或相关联的缓存和服务器,术语“计算机可读介质”还应包括能够贮存、编码或携带指令集的任何介质,所述指令集用于由处理器执行或者使计算机系统进行这里所公开的任何一个或多个的方法或操作。计算机可读的介质可以是机器可读的贮存装置、机器可读的贮存基底、存储器装置或者它们的一个或多个的组合。术语“数据处理设备”包含用于数据处理的所有设备、装置和机器,以示例的方式包括,可编程处理器、计算机或者多个处理器或计算机。除了硬件以外,设备可以包括创建用于所讨论的计算机程序的执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或者它们的一个或多个的组合的代码。
在特定非限制性、示例性实施例中,计算机可读介质可以包括固态存储器,诸如存储器卡或者具有一个或多个非易失性只读存储器的其它包封。此外,计算机可读介质可以是随机存取存储器或者其它非易失性可重新写入的存储器。此外,计算机可读介质可以包括磁光的或者光学介质,诸如磁盘或磁带或者抓捕载波信号的其它贮存装置,所述载波信号诸如在传输介质之上通信的信号。附件到e-mail的数字文件或者其它自我包含的信息文档或文档组可以被认为是分布介质,所述分布介质是有形的贮存介质。相应地,本公开被认为包括在其中可以贮存数据或指令的计算机可读介质的任何一个或多个或分布介质以及其它等价物和后续介质。
在替换实施例中,专用的硬件实现方式,诸如专用集成电路、可编程逻辑阵列和其它硬件装置,可以被构造为实现一个或多个这里所述的方法。可以包括各种实施例的设备和系统的应用可以宽泛地包括多种电子和计算机系统。这里所述的一个或多个实施例可以利用两个或多个特定互联的硬件模块或装置实现,或者作为专用集成电路的一部分,所述硬件模块或装置具有可以在模块之间或者穿过模块通信的相关的控制和数据信号。相应地,本系统包含软件、固件和硬件实现方式。
根据本公开的各种实施例,这里所述的方法可以被由计算机系统执行的软件程序实现。此外,在示例性、非限制性实施例中,实现方式可以包括分布式处理、组件/对象分布式处理和并行处理。可替换地,虚拟计算机系统处理可以被构造为实现如这里所述的方法或功能的一个或多个。
尽管本说明书关于特定标准和协议描述可以被实现在特定实施例组件和功能,但是发明不限于这样的标准和协议。例如,用于因特网和其它分组交换网络传输的标准(例如,TCP/IP、UDP/IP、HTML、HTTP、HTTPS)表示现有技术的示例。这样的标准被基本上具有相同功能的更快或更加有效的等价物周期性地替代。相应地,具有与这里所公开的那些相同或相似的功能的替代的标准和协议被认为是其等价物。
计算机程序(也被称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,所述编程语言包括编译的或直译的语言,并且其可以被配置为任何形式,包括单机程序或作为模块、组件、子程序或者适和被用在计算环境中的其它单元。计算机程序并不一定对应于文件系统中的文件。程序可以被贮存在保留其它程序或数据(例如,贮存在标注的语言文件中的一个或多个脚本)的文件的一部分中,专用的讨论中的程序的单个文件中或者多个协调的文件(例如,贮存一个或多个模块、子程序或部分代码的文件)中。计算机程序可以被配置为在一个计算机上或在位于一个地址或者分布在多个地址上并通过通信网络互联的多个计算机上执行。
在该说明书中描述的处理和逻辑流程可以通过执行一个或多个计算机程序的一个或多个可编程处理器进行,以通过案子输入数据上操作并产生数据而进行功能。处理和逻辑流程可以通过特殊目的逻辑电路,并且设备也可以被实现为,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路应用)进行。
适用于执行计算机程序的处理器以示例的方式包括,通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于进行指令的处理器以及用于贮存指令和素具的一个或多个存储器装置。通常,计算机也会包括,或者可操作地耦接用于贮存数据的一个或多个大规模贮存装置以接收来自所述贮存装置的数据或发送到其的数据或者两者,所述一个或多个大规模贮存装置例如,磁的、磁光磁盘或光学磁盘。但是,计算机不需要具有这样的装置。此外,计算机可以嵌入在另外的装置中,仅举几例,例如,移动电话、人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接收器。适用于贮存计算机程序指令和数据的计算机可读的介质包括所有形式的非易失性存储器、介质存储器装置、以示例的方式包括半导体存储器装置,例如,EPROM、EEPROM和闪速存储器装置;磁盘,例如,内置硬盘或可拆卸磁盘;磁光磁盘;以及CD ROM和DVD-ROM磁盘。处理器和存储器可以通过特殊目的逻辑电路辅助或与其结合。
为提供与用户的交互,在该说明书中描述的主题的实施例可以实现在具有显示器的装置上,所述显示器例如,CRT(阴极射线管)或LCD(液晶显示器)监视器,以用于向用户显示信息以及键盘和指针装置,例如,鼠标或轨迹球,通过其用户可以想计算机提供输入。其它类型的装置也可以被用于提供与用户的交互;例如,提供到用户的反馈可以是任何形式的感官反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入可以以任何形式被接收,包括声学、语言或触觉输入。
在该说明书中描述的主题的实施例可以实现在包括后端组件的(例如,数据服务器)、或者包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有图形用户界面或网络浏览器客户计算机,通过所述图形用户界面或网络浏览器用户可以与在该说明书中描述的主题的实现方式交互)、或者这样的后端、中间件或前端组件的一个或多个的任何组合的计算系统中。系统的组件可以通过数字数据通信的例如通信网络的任何形式或介质互联。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如,因特网。
计算系统可以包括客户和服务器。客户和服务器通常相互远离并且通常通过通信网络交互。客户和服务器的关系通过在各个计算机上运行的计算机程序的虚拟产生并且相互具有客户-服务器关系。
对这里所述的实施例的说明意欲提供对各种实施例的结构的普遍理解。所述说明不意欲作为使用这里所述的结构或方法的设备和系统的所有元件和特征的完整描述。在回顾本公开之后,许多其它实施例对本领域技术人员来说是显而易见的。本公开可以使用或从本公开中得出其它实施例,使得可以作出结构的和逻辑的替换和改变而不脱离本公开的范围。此外,所述说明仅是代表性的并且可能没有按比例绘制。所述说明中的某些比例被夸大,而其它比例可能被缩小。相应地,本公开和附图将本认为是示意性的而不是限制性的。
尽管本说明书包含许多细节,但这些不应该被理解为对本发明和可能要求的权利的范围上的限制,而是对特定于本发明的特定实施例的特征的描述。在该说明书中描述的、在单独的实施例的上下文中的某些特征也可以现实在单个实施例的组合中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地实现在多个实施例中或任何合适的子组合中。此外,尽管特征可能在之上被描述为作用在某些组合中并且甚至在开始就如此要求权利,来自所要求的组合的一个或多个特征在一些情况中可以与所述组合分离,并且所要求的组合可以指向子组合或子组合的变化。
类似地,尽管操作在附图中被描述并且在这里以特定的次序描述,这不应被理解为要求这样的操作以示出的特定的次序或者以顺序的次序进行,或者进行所有示出的操作,以达到期望的结果。在某些情况中,多重任务和并行处理可能是有优势的。此外,在上述实施例中的各种系统组件的分离不应被理解为要求在所有实施例中这样的分离,并且应理解的是,所述的程序组件和系统通常可以一起集成在单个软件产品中或者封装在多个软件产品中。
本公开的一个或多个实施例可以单独地和/或集体地在这里被称为术语“发明”,仅是为了方便而不意欲自动将该应用的范围限制到任何特定发明或发明的概念。此外,尽管在这里说明和描述可特定的实施例,应理解的是,设计为达到相同或相似目的的任何后续的配置可以替代示出的特定实施例。本公开意欲覆盖各种实施例的任何及所有后续改变或变化。在回顾本说明书之后,上述实施例的组合,以及这里没有详细描述的其它实施例,对本领域技术人员来说是显而易见。
本公开的摘要遵照37C.F.R.§1.72(b)被提供并且具有不应被用于解释或限制权利要求的范围或含义的理解而被提交。此外,在前述具体实施方案中,为了简化本公开的目的,各种特征可以被一起组合或在单个实施例中被描述。本公开不应被解释为反映所要求的实施例需要比在每个权利要求中明确记载的更多的特征的意图。而是,如下述要求要求所反映的,发明的主题可以指向少于任何公开的实施例的所有特征。因此,下述权利要求被结合在具体实施方案中,其中每个权利要求各自独立而单独地定义所要求的主题。
因此所意欲的是,前述详细的描述被视作是说明性的而不是限制性的,并且应理解的是下述权利要求,包括其全部等同物,意欲定义本发明的精神和范围。

Claims (20)

1.一种仿真多个可编程逻辑控制器(“PLC”)的操作的计算机实现的方法,所述多个PLC的每一个的特征在于至少一个性能特征,所述方法包括:
通过处理器102模拟所述多个PLC的每一个的操作(块202);
通过所述处理器102使能每一个PLC模型114以仿真所述相关联的模拟的PLC的操作,所述剩余的PLC模型114不被使能仿真所述相关联的模拟的PLC的操作(块204);以及
通过所述处理器102基于由此模拟的所述PLC的至少一个性能特征,相对于所述先前使能的PLC模型114的一个或多个的指令执行性能,调整通过使能的PLC模型114的指令执行的启动(块206)。
2.如权利要求1所述的计算机实现的方法,其中,所述多个PLC的每一个的至少一个性能特征的特征在于由此的指令执行的性能。
3.如权利要求1所述的计算机实现的方法,其中,所述先前使能的PLC模型114的一个或多个的指令执行性能包括,完成当所述一个或多个先前使能的PLC模型114的特定一个被在先前使能时发起的指令的执行所需的任何所述一个或多个先前使能的PLC模型114的最长的累积执行时间。
4.如权利要求1所述的计算机实现的方法还包括:
基于完成由所述使能的PLC模型114发起的指令的执行的累积的时间通过所述处理器102提前仿真的时钟116值,用于下一使能的PLC模型114的指令执行性能被由此定义(块210)。
5.如权利要求1所述的计算机实现的方法,其中,所述调整还包括:
通过所述处理器102确定充足的时间是否可用于自所述使能的PLC模型114上一次执行指令120起发起对多个指令的下一指令的执行(块211),并且如果充足的时间是可用的,允许所述使能的PLC模型114至少发起对所述下一指令的执行(块212);
通过所述处理器102重复所述确定直到没有可用的充足的时间以发起对剩余的所述多个指令中的下一指令的执行(块214);以及
其中当没有可用的充足的时间时,通过所述处理器102禁用所述使能的PLC模型114仿真操作并使能所述多个PLC模型114的另一个以仿真操作(块216)。
6.如权利要求5所述的计算机实现的方法,其中,所述确定还包括通过所述处理器102确定所述使能的PLC模型114执行指令的当前时间和上一执行时间120,并且通过所述处理器102确定所述当前时间和所述上一时间120之间的差是否至少大于零,基于此确定所述可用时间的充足性(块220)。
7.如权利要求6所述的计算机实现的方法,其中,所述允许还包括在执行所述下一指令之后将所述使能的PLC模型114执行指令的上一时间120更新为等于所述使能的PLC模型114执行指令的上一时间120加上所述相关联的执行时间(块222)。
8.如权利要求7所述的计算机实现的方法,其中,所述禁用还包括将所述当前时间更新为等于所述使能的PLC模型114执行指令的上一时间120(块224)。
9.如权利要求6所述的计算机实现的方法,其中,所述重复还包括当在所述禁用之前没有充足的时间以用于执行所述下一指令并且当上一次使能时没有一个所述其它PLC模型114执行指令时,通过所述处理器102允许所述使能的PLC模型114执行所述下一指令(块226)。
10.如权利要求6所述的计算机实现的方法,其中,执行所述下一指令的执行时间的量不同于执行另一指令的执行时间的量。
11.一种用于仿真多个可编程逻辑控制器("PLC")的操作的系统100,所述多个PLC的每一个的特征在于至少一个性能特征,所述系统100包括:
第一逻辑106,其被贮存在存储器104中并且可由处理器102执行以使所述处理器102模拟所述多个PLC的每一个的操作;
第二逻辑108,其被贮存在存储器104中并且可由所述处理器102执行以使所述处理器102使能每一个PLC模型114以仿真所述相关联的模拟的PLC的操作,所述剩余的PLC模型114不被使能仿真所述相关联的模拟的PLC的操作;以及
第三逻辑110,其被贮存在存储器104中并且可由所述处理器102执行以使所述处理器102基于由此模拟的所述PLC的至少一个性能特征,相对于所述先前使能的PLC模型114的一个或多个的指令执行性能,调整通过使能的PLC模型114的指令的执行的启动。
12.如权利要求11所述的系统100,其中,所述先前使能的PLC模型114的一个或多个的指令执行性能包括,完成当所述一个或多个先前使能的PLC模型114的特定一个被在先前使能时发起的指令的执行所需的任何所述一个或多个先前使能的PLC模型114的最长的累积执行时间。
13.如权利要求11所述的系统100,其中,所述第三逻辑110进一步由所述处理器102执行以使所述处理器102基于完成由所述使能的PLC模型114发起的指令的执行的累积的时间提前仿真的时钟116值,用于下一使能的PLC模型114的指令执行性能被由此定义。
14.如权利要求11所述的系统100,其中,所述第三逻辑110进一步由所述处理器102执行以使所述处理器102确定充足的时间是否可用于自所述使能的PLC模型114上一次执行指令120起发起对多个指令中的下一指令的执行,并且如果充足的时间是可用的,允许所述使能的PLC模型114至少发起对所述下一指令的执行,重复所述确定直到没有可用的充足的时间以发起对剩余的所述多个指令中的下一指令的执行,并且,其中当没有可用的充足的时间时,禁用所述使能的PLC模型114仿真操作并使能所述多个PLC模型114的另一个以仿真操作。
15.如权利要求14所述的系统100,其中,所述第三逻辑110进一步由所述处理器102执行以使所述处理器102向所述多个PLC模型114之一分配令牌122,所述令牌122可操作为使能所述一个PLC模型114以执行指令。
16.如权利要求14所述的系统,其中,所述第三逻辑110进一步由所述处理器102执行以使所述处理器102确定所述使能的PLC模型114执行指令的当前时间和上一执行时间120,并且进一步确定所述当前时间和所述上一时间之间的差是否至少大于零,基于此确定所述可用时间的充足性。
17.如权利要求16所述的系统,其中,所述第三逻辑110进一步由所述处理器102执行以使所述处理器102在执行所述下一指令之后,将所述使能的PLC模型114执行指令的上一时间120更新为等于所述使能的PLC模型110执行指令的上一时间120加上所述相关联的执行时间。
18.如权利要求17所述的系统,其中,所述第三逻辑110进一步由所述处理器102执行以使所述处理器102将所述当前时间更新为等于所述使能的PLC模型114执行指令的上一时间120。
19.如权利要求16所述的系统,其中,所述第三逻辑110进一步由所述处理器102执行以当在所述禁用之前没有充足的时间以用于执行所述下一指令并且当上一次使能时没有一个所述其它PLC模型114执行指令时,使所述处理器102允许所述使能的PLC模型114执行所述下一指令。
20.一种用于仿真多个可编程逻辑控制器("PLC")的计算机实现的方法,所述多个PLC的每一个的特征在于至少一个性能特征,所述方法包括:
通过处理器102仿真所述多个PLC的每一个的操作(块302);
通过所述处理器102使能所述多个仿真的PLC 114之一以操作(块304);
通过所述处理器102确定所述当前仿真时间(块306);
通过所述处理器102确定所述使能的仿真的PLC 114执行指令的上一时间120(块308);
通过所述处理器102识别将被执行的下一指令以及其相关联的执行时间,所述相关联的执行时间基于由所述使能的仿真的PLC 114仿真的PLC的至少一个性能特征(块310);
通过所述处理器102确定所述使能的仿真的PLC 114执行指令的上一时间120加上所述相关联的执行时间是否少于所述当前仿真时间,并且如果所述使能的仿真的PLC 114执行指令的上一时间120少于所述当前仿真时间(块312),通过所述处理器102使所述使能的仿真的PLC 114至少发起对所述下一指令的执行(块314)并将所述使能的仿真的PLC 114执行指令的上一时间120更新为包括所述相关联的执行时间(块316),通过所述处理器102基于所述使能的仿真的PLC 114执行指令的更新的上一时间120重复对所述使能的仿真的PLC 114执行指令的上一时间120的所述识别和确定,直到所述使能的仿真的PLC 114执行指令的更新的上一时间120不少于所述当前仿真时间(块318),随后将所述当前仿真时间更新为等于所述使能的仿真的PLC 114执行指令的更新的上一时间(块320),并且通过所述处理器102禁用所述使能的仿真的PLC 114,并且通过所述处理器102使能所述多个仿真的PLC 114的另一个以操作(块322);并且
通过所述处理器102确定所述当前仿真时间是否等于所述使能的仿真的PLC 114执行指令的上一时间120,并且如果所述当前仿真时间等于所述使能的仿真的PLC 114执行指令的上一时间120(块324),通过所述处理器102使所述使能的仿真的PLC 114至少发起对所述下一指令的执行(块326),并将所述使能的仿真的PLC 114执行指令的上一时间更新为包括所述相关联的执行时间(块328),并且随后将所述当前仿真时间更新为等于所述使能的仿真的PLC 114执行指令的更新的上一时间120(块330),并且通过所述处理器102禁用所述使能的仿真的PLC 114,并且通过所述处理器102使能,所述多个仿真的PLC 114的另一个以操作(块332)。
CN201280077000.0A 2012-09-18 2012-09-18 多个可编程逻辑控制器仿真器 Pending CN104781817A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/055877 WO2014046642A1 (en) 2012-09-18 2012-09-18 Multiple programmable logic controller simulator

Publications (1)

Publication Number Publication Date
CN104781817A true CN104781817A (zh) 2015-07-15

Family

ID=47003232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280077000.0A Pending CN104781817A (zh) 2012-09-18 2012-09-18 多个可编程逻辑控制器仿真器

Country Status (4)

Country Link
US (1) US20150248506A1 (zh)
EP (1) EP2898436A1 (zh)
CN (1) CN104781817A (zh)
WO (1) WO2014046642A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112005176A (zh) * 2018-03-15 2020-11-27 西门子股份公司 用于计算机支持地模拟以自动化方式工作的机器的运行方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104813323A (zh) * 2012-09-27 2015-07-29 西门子公司 可编程逻辑控制器输入和输出的仿真
CN105393180B (zh) * 2014-04-30 2017-08-25 三菱电机株式会社 仿真系统、可编程控制器、仿真装置、工程设计工具
CN107769987B (zh) * 2016-08-16 2021-05-11 深圳市中兴微电子技术有限公司 一种报文转发性能评估方法和装置
JP6827340B2 (ja) * 2017-02-17 2021-02-10 三菱重工エンジニアリング株式会社 ソフトウェア試験装置、ソフトウェア試験システム、ソフトウェア試験方法およびプログラム
JP6950347B2 (ja) * 2017-08-10 2021-10-13 オムロン株式会社 情報処理装置、情報処理方法およびプログラム
EP3575898B1 (de) * 2018-06-01 2021-08-04 Selectron Systems AG Speicherprogrammierbare steuerung und betriebsverfahren für virtuelle speicherprogrammierbare steuerung und computerprogrammprodukt
CN116774644B (zh) * 2023-08-17 2023-12-22 武汉世炬信息技术有限公司 工业自动化控制系统及方法
CN117631606B (zh) * 2024-01-26 2024-04-05 深圳和润达科技有限公司 应用于电芯化成分容的plc模拟控制方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1303497A (zh) * 1998-05-26 2001-07-11 陶氏化学公司 采用实时调度逻辑和时间确定结构的分布式计算环境
CN101128782A (zh) * 2005-02-25 2008-02-20 西门子能量及自动化公司 仿真多个联网的可编程逻辑控制器的系统和方法
CN100549967C (zh) * 2005-04-22 2009-10-14 微软公司 用于执行系统效力评估的方法和系统
WO2011080667A1 (en) * 2009-12-31 2011-07-07 Nokia Corporation Method for providing a real time to an application running on a virtual platform

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014512A (en) * 1996-10-18 2000-01-11 Samsung Electronics Co., Ltd. Method and apparatus for simulation of a multi-processor circuit
US7487075B2 (en) * 2005-02-25 2009-02-03 Siemens Energy & Automation, Inc. System and method to simulate a plurality of networked programmable logic controllers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1303497A (zh) * 1998-05-26 2001-07-11 陶氏化学公司 采用实时调度逻辑和时间确定结构的分布式计算环境
CN101128782A (zh) * 2005-02-25 2008-02-20 西门子能量及自动化公司 仿真多个联网的可编程逻辑控制器的系统和方法
CN100549967C (zh) * 2005-04-22 2009-10-14 微软公司 用于执行系统效力评估的方法和系统
WO2011080667A1 (en) * 2009-12-31 2011-07-07 Nokia Corporation Method for providing a real time to an application running on a virtual platform

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112005176A (zh) * 2018-03-15 2020-11-27 西门子股份公司 用于计算机支持地模拟以自动化方式工作的机器的运行方法

Also Published As

Publication number Publication date
WO2014046642A1 (en) 2014-03-27
EP2898436A1 (en) 2015-07-29
US20150248506A1 (en) 2015-09-03

Similar Documents

Publication Publication Date Title
CN104781817A (zh) 多个可编程逻辑控制器仿真器
CN110378463B (zh) 一种人工智能模型标准化训练平台及自动化系统
US10977014B2 (en) Web-based programming environment for embedded devices
EP3992800B1 (en) Program test method and apparatus, computer device, and storage medium
CN107391114A (zh) 页面可视化渲染方法及装置
US6430590B1 (en) Method and apparatus for processing executable program modules having multiple dependencies
US8863083B2 (en) Presenting user interfaces based on messages
JP2008084121A (ja) シミュレーションシステム及びシミュレーション方法
CN102124448A (zh) 控制嵌入式系统开发期间的实时性
US9442473B2 (en) Remote object data property replication method and system
US11941375B2 (en) Application program for extension and deployment of integrated and exportable cross platform digital twin model
Hope et al. Simplifying the interaction between cognitive models and task environments with the JSON Network Interface
US8589133B1 (en) Dynamic simulation of a system of interdependent systems
GB2524737A (en) A system and method for testing a workflow
CN109828823A (zh) 一种基于容器虚拟化技术的无人机算法仿真系统扩展方法
US11127309B2 (en) Flight management system operator
CN108228965B (zh) 一种存储单元的仿真验证方法、装置和设备
US11314840B2 (en) Thin-layer webpage cloning for off-line demonstration
Zhong et al. Virtual factory for manufacturing process visualization
KR101806356B1 (ko) 블록 다이어그램과 plc 시뮬레이터를 이용한 가상 플랜트 시뮬레이터 및 이를 이용한 시뮬레이터 실행 방법
Olmi et al. A unified framework for remote laboratory experiments
CN116157774A (zh) 用于在云计算环境中提供工业设备的工程的方法和系统
US11822863B2 (en) Model based system for virtual device simulation
Dalal et al. Bridging the gap between human and automated procedure execution
CN102799407A (zh) 基于基板管理控制器进行显示的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150715