CN107797462A - 仿真器联动装置、控制方法、信息处理程序以及记录介质 - Google Patents

仿真器联动装置、控制方法、信息处理程序以及记录介质 Download PDF

Info

Publication number
CN107797462A
CN107797462A CN201710092424.9A CN201710092424A CN107797462A CN 107797462 A CN107797462 A CN 107797462A CN 201710092424 A CN201710092424 A CN 201710092424A CN 107797462 A CN107797462 A CN 107797462A
Authority
CN
China
Prior art keywords
emulator
emulation
linkage
sampling interval
implementing result
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
CN201710092424.9A
Other languages
English (en)
Inventor
藤井高史
浪江正树
真锅美树子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
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 Omron Corp filed Critical Omron Corp
Publication of CN107797462A publication Critical patent/CN107797462A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/4155Numerical 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 programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/522Barrier synchronisation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32065Synchronise set points of processes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32337Simulation, statechart SC

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提出一种仿真器联动装置、控制方法、信息处理程序以及记录介质。仿真器联动装置以用户所设定的采样间隔,来使第1仿真器以及第2仿真器各自周期性地执行仿真。本发明以用户所设定的时间间隔来使多个仿真器各自同步地执行仿真。

Description

仿真器联动装置、控制方法、信息处理程序以及记录介质
技术领域
本发明涉及一种使多个仿真器各自执行的仿真联动的仿真器联动装置、控制方法、信息处理程序以及记录介质。
背景技术
以往,已知有使多个仿真器间联动的仿真装置。例如,在下述专利文献1中,记载了一种仿真器联动装置,其在收到同步请求消息的时间点,对从某仿真器发送的消息进行加工,并将加工后的消息发送至要联动的其他仿真器。
现有技术文献
专利文献
专利文献1:日本专利特开2015-32120号公报(2015年2月16日公报)
但是,如上所述的以往技术不过是,多个仿真器各自推进仿真的执行,直至取得在多个仿真器中分别预定的同步的时刻为止,执行仿真并通知同步请求消息,仿真器联动装置在收到所述同步请求消息时,取得所述多个仿真器间的同步。
因此,以往的仿真器联动装置存在下述问题:无法既使多个仿真器各自以用户任意设定的时间间隔来执行仿真,又使所述多个仿真器各自执行的仿真同步。
发明内容
[发明所要解决的问题]
本发明是有鉴于所述问题而完成,其目的在于,使多个仿真器各自以用户设定的时间间隔来同步地执行仿真。
[解决问题的技术部件]
为了解决所述问题,本发明一方面提供一种仿真器联动装置,包括:受理部,从用户受理采样间隔,所述采样间隔是周期性地执行仿真的间隔;第1获取部,从第1仿真器获取第1执行结果,所述第1仿真器是针对控制器的仿真器,所述第1执行结果是第1仿真器的所述采样间隔量的仿真执行结果;第2获取部,从第2仿真器获取第2执行结果,所述第2仿真器是针对受所述控制器控制的被控制装置的仿真器,所述第2执行结果是第2仿真器的所述采样间隔量的仿真执行结果;以及同步部,将由所述第1获取部所获取的所述第1执行结果输出至所述第2仿真器,并且将由所述第2获取部所获取的所述第2执行结果输出至所述第1仿真器,使所述第1仿真器以及所述第2仿真器各自以所述采样间隔来周期性地执行仿真。
根据所述结构,所述同步部使针对所述控制器的仿真器即所述第1仿真器、以及针对受所述控制器控制的所述被控制装置的仿真器即所述第2仿真器,各自以由所述受理部从用户受理的所述采样间隔,来周期性地执行仿真。
因此,所述仿真器联动装置起到下述效果:能够使所述第1仿真器以及所述第2仿真器各自以由所述受理部从用户受理的所述采样间隔来同步且周期性地地执行仿真。
即,例如,用户将长的时间间隔设为所述采样间隔,由此,所述同步部以所述长的时间间隔的所述采样间隔,将由所述第1获取部所获取的所述第1执行结果输出至所述第2仿真器,并且以所述长的时间间隔的所述采样间隔,将由所述第2获取部所获取的所述第2执行结果输出至所述第1仿真器。此时,所述同步部能够在所述第1仿真器以及所述第2仿真器完成仿真之前,抑制所述第1仿真器与所述第2仿真器之间的、所述仿真执行结果的收发次数,作为结果,能够缩短整个仿真的执行时间。
而且,例如,用户将短的时间间隔设为所述采样间隔,由此,所述同步部以所述短的时间间隔的所述采样间隔,将由所述第1获取部所获取的所述第1执行结果输出至所述第2仿真器,并且以所述短的时间间隔的所述采样间隔,将由所述第2获取部所获取的所述第2执行结果输出至所述第1仿真器。此时,所述同步部将所述第1仿真器以及所述第2仿真器各自以所述短的时间间隔而执行的仿真的结果每次分别通知给所述第2仿真器以及所述第1仿真器,因此,比起使所述采样间隔较长的情况,能够提高所述第1仿真器与所述第2仿真器各自执行的仿真执行结果的仿真精度。
因此,所述仿真器联动装置起到下述效果:用户能够任意选择重视所述仿真的执行时间与所述仿真的仿真精度中的哪一个来执行所述仿真。
优选的是,所述仿真器联动装置还包括:显示部,显示所述控制器的控制周期以作为所述采样间隔的初始设定值。
根据所述结构,所述显示部显示所述控制器的控制周期以作为所述采样间隔的初始设定值。
因此,所述仿真器联动装置起到下述效果:能够既使针对所述控制器的仿真器即所述第1仿真器以所述控制器的控制周期来执行仿真,又使针对受所述控制器控制的所述被控制装置的仿真器即所述第2仿真器与所述第1仿真器的仿真同步地执行仿真。
优选的是,在所述仿真器联动装置中,所述采样间隔可设定比所述控制器的控制周期长的时间。
根据所述结构,所述同步部以所述采样间隔,将由所述第1获取部所获取的所述第1执行结果输出至所述第2仿真器,所述采样间隔是比所述控制器的控制周期长的时间,并且,以由所述受理部所受理的所述采样间隔,将由所述第2获取部所获取的所述第2执行结果输出至所述第1仿真器。
因此,所述同步部起到下述效果:能够在所述第1仿真器以及所述第2仿真器完成仿真之前,抑制所述第1仿真器与所述第2仿真器之间的、所述仿真执行结果的收发次数。即,所述仿真器联动装置起到下述效果:能够缩短所述第1仿真器以及所述第2仿真器完成仿真的时间。
优选的是,在所述仿真器联动装置中,所述同步部在所述第1仿真器执行仿真之前,仅一次向所述第1仿真器输出一变量,所述变量是所述第1仿真器中的仿真所用的变量,且是值不会因所述第1仿真器中的仿真的执行而发生变化的变量。
根据所述结构,所述同步部在所述第1仿真器执行仿真之前,仅一次向所述第1仿真器输出一变量,该变量是所述第2仿真器中的仿真所用的变量,且是值不会因所述第2仿真器中的仿真的执行而发生变化的变量。
因此,所述同步部起到下述效果:能够抑制在所述第1仿真器与所述第2仿真器之间收发的数据量。即,所述仿真器联动装置起到下述效果:能够缩短所述第1仿真器以及所述第2仿真器完成仿真的时间。
优选的是,在所述仿真器联动装置中,所述受理部从用户受理所述第1仿真器或所述第2仿真器执行仿真时所用的每个变量的采样间隔。
根据所述结构,所述同步部以针对所述第1仿真器或所述第2仿真器执行仿真时所用的每个变量而设定的采样间隔,使所述变量在所述第1仿真器与所述第2仿真器之间收发。
因此,所述仿真器联动装置起到下述效果:能够以对于在所述第1仿真器或所述第2仿真器中执行的仿真中所用的每个变量为最佳的时间间隔,使所述变量在所述第1仿真器与所述第2仿真器之间收发,因此能够缩短所述第1仿真器以及所述第2仿真器完成仿真的时间。
此处,例如当所述控制器并行地执行多个处理时,所述受理部能够针对所述第1仿真器对应于所述多个处理而执行的多个仿真,分别从用户受理采样间隔。并且,所述同步部将所述多个仿真各自的仿真执行结果以所述多个仿真各自的所述采样间隔而输出至所述第2仿真器。
因此,所述仿真器联动装置起到下述效果:通过将所述第1仿真器并行地执行的所述多个仿真各自的仿真执行结果以对于所述多个仿真的每一个为最佳的间隔来输出至所述第2仿真器,从而能够缩短所述第1仿真器以及所述第2仿真器完成仿真的时间。
优选的是,所述仿真器联动装置是作为与所述第2仿真器一体的装置而构成。
根据所述结构,起到下述效果:作为与所述第2仿真器一体的装置而构成的所述仿真器联动装置能够使所述第1仿真器以由所述受理部从用户受理的所述采样间隔,与所述第2仿真器的仿真同步且周期性地执行仿真。
而且,为了解决所述问题,本发明又一方面提供一种使多个仿真器各自执行的仿真联动的仿真器联动装置的控制方法,包括:受理步骤,从用户受理采样间隔,所述采样间隔是周期性地执行仿真的间隔;第1获取步骤,从第1仿真器获取第1执行结果,所述第1仿真器是针对控制器的仿真器,所述第1执行结果是第1仿真器的所述采样间隔量的仿真执行结果;第2获取步骤,从第2仿真器获取第2执行结果,所述第2仿真器是针对受所述控制器控制的被控制装置的仿真器,所述第2执行结果是第2仿真器的所述采样间隔量的仿真执行结果;以及同步步骤,将在所述第1获取步骤中获取的所述第1执行结果输出至所述第2仿真器,并且将在所述第2获取步骤中获取的所述第2执行结果输出至所述第1仿真器,使所述第1仿真器以及所述第2仿真器各自以所述采样间隔来周期性地执行仿真。
根据所述方法,所述同步步骤使针对所述控制器的仿真器即所述第1仿真器、以及针对受所述控制器控制的所述被控制装置的仿真器即所述第2仿真器,各自以在所述受理步骤中从用户受理的所述采样间隔,来周期性地执行仿真。
因此,所述控制方法起到下述效果:能够使所述第1仿真器以及所述第2仿真器各自以在所述受理步骤中从用户受理的所述采样间隔来同步且周期性地地执行仿真。
即,例如,用户将长的时间间隔设为所述采样间隔,由此,所述同步步骤以所述长的时间间隔的所述采样间隔,将在所述第1获取步骤中获取的所述第1执行结果输出至所述第2仿真器,并且以所述长的时间间隔的所述采样间隔,将在所述第2获取步骤中获取的所述第2执行结果输出至所述第1仿真器。此时,所述同步步骤能够在所述第1仿真器以及所述第2仿真器完成仿真之前,抑制所述第1仿真器与所述第2仿真器之间的、所述仿真执行结果的收发次数,作为结果,能够缩短整个仿真的执行时间。
而且,例如,用户将短的时间间隔设为所述采样间隔,由此,所述同步步骤以所述短的时间间隔的所述采样间隔,将在所述第1获取步骤中获取的所述第1执行结果输出至所述第2仿真器,并且以所述短的时间间隔的所述采样间隔,将在所述第2获取步骤中获取的所述第2执行结果输出至所述第1仿真器。此时,所述同步步骤将所述第1仿真器以及所述第2仿真器各自以所述短的时间间隔而执行的仿真的结果每次分别通知给所述第2仿真器以及所述第1仿真器,因此,比起使所述采样间隔较长的情况,能够提高所述第1仿真器与所述第2仿真器各自执行的仿真执行结果的仿真精度。
因此,所述控制方法起到下述效果:用户能够任意选择重视所述仿真的执行时间与所述仿真的仿真精度中的哪一个来执行所述仿真。
本发明另一方面提供一种信息处理程序,用于使计算机作为所述仿真器联动装置发挥功能,用于使计算机作为所述各部发挥功能。
本发明再一方面提供一种记录介质,记录有所述信息处理程序且计算机可读取。
[发明的效果]
本发明起到下述效果:能够以用户设定的时间间隔来使多个仿真器各自同步地执行仿真。
附图说明
图1是表示本发明的实施方式1的仿真器联动装置的主要部分结构的框图。
图2是表示包含图1的仿真器联动装置的仿真***的一例的图。
图3是说明图2的仿真***中的第1仿真器、第2仿真器以及仿真器联动装置各自的处理流程的流程图。
图4是表示图1的仿真器联动装置将周期性地执行仿真的间隔即采样间隔显示给用户,而且关于所述采样间隔而受理来自用户的操作的、接口的一例的图。
图5是表示在图2的仿真***中,通过仿真器联动装置来使第1仿真器以及第2仿真器联动的方法的一例的图。
图6是表示在图2的仿真***中,通过仿真器联动装置来使第1仿真器以及第2仿真器联动的方法的、与图5所示不同的示例的图。
图7是表示图2的仿真***中的第2仿真器所显示的画面例的图。
图8是表示图2的仿真***中的第2仿真器所显示的、与图7所示不同的画面例的图。
图9是表示图2的仿真***中的第1仿真器所显示的画面例的图。
图10是用于说明借助图2的仿真***而成为可能的基于模型的设计的图。
[符号的说明]
1:仿真***
10:仿真器联动装置
101:受理部
102:显示部
103:第1获取部
104:第2获取部
105:第1输出部
106:第2输出部
107:同步部
200:用户接口
300:第1仿真器
400:第2仿真器
(3)、(7):第1获取步骤
(1)、(5):第2获取步骤
(S4-1)、(S4-2)、(S8-1)、(S8-2):同步步骤
(S300)、(S400):仿真执行步骤
FB:功能块
ST:结构化文本
Cmd、Act:命令
RCP:快速控制原型
HILS:硬件在环仿真
具体实施方式
〔实施方式1〕
以下,对于本发明的实施方式1,基于图1至图10来进行详细说明。对于图中相同或相当的部分标注相同的符号,并不再重复其说明。为了便于理解本发明的一方案的仿真器联动装置10,首先,使用图2来说明包含仿真器联动装置10的仿真***1的概要。
(控制***)
图2是表示包含仿真器联动装置10的仿真***1的概要的图。仿真***1包含:(1)第1仿真器300,是针对例如可编程控制器(可编程逻辑控制器(PLC,Programmable LogicController))之类的上位控制器的仿真器;(2)第2仿真器400,是针对受所述上位控制器控制的被控制装置(例如伺服驱动器之类的下位控制器以及由该下位控制器所驱动的机械要素)的仿真器;以及(3)仿真器联动装置10,使第1仿真器300与第2仿真器400联动。仿真器联动装置10对第1仿真器300以及第2仿真器400的仿真执行(尤其是第1仿真器300与第2仿真器400之间的数据交换以及仿真时刻)进行控制。
另外,在图2所例示的仿真***1中,仿真器联动装置10是作为与第2仿真器400一体的装置而构成。但是,仿真器联动装置10并非必须作为与第2仿真器400一体的装置而构成。仿真器联动装置10例如也可作为与第1仿真器300一体的装置而构成,而且,还可作为与第1仿真器300以及第2仿真器400均独立的装置而构成。仿真器联动装置10只要能够使第1仿真器300与第2仿真器400联动即可,例如,也可作为与跟第1仿真器300及第2仿真器400均不同的第3装置一体的装置而构成。
(第1仿真器的概要)
上位控制器的仿真器,即第1仿真器300,将用于第2仿真器400的仿真对象,即被控制装置,所执行的驱动控制(例如,“轨道追随控制”以及“加工机器中的轨道控制”等)的指令值(控制信号)经由仿真器联动装置10而发送至第2仿真器400。
而且,第1仿真器300在执行针对上位控制器的仿真时,将其执行结果即第1执行结果发送至针对受所述上位控制器控制的被控制装置的仿真器即第2仿真器400。
进而,第1仿真器300接收第2仿真器400的输出即控制量(第2执行结果),来作为反馈信息。第1仿真器300使用作为反馈信息而从第2仿真器400接收的第2执行结果(从第2仿真器400输出的控制量),来执行针对上位控制器的仿真。
另外,在仿真***1中,第1仿真器300也可为既是上位控制器的仿真器,还同时提供上位控制器的开发环境的装置。即,第1仿真器300也可为提供集成开发环境(IntegratedDevelopment Environment,IDE)的装置,即,除了PLC等上位控制器的配置(结构设定)、编程、调试(debug)、维护、监控功能以外,还支持三维运动仿真(3D Motion simulation)。第1仿真器300例如能够利用指令表(Instruction List,IL)语言、梯形图(Ladder Diagram,LD)语言、顺序功能图(Sequential Function Chart,SFC)语言、功能块图(Function BlockDiagram,FBD)语言、结构化文本(Structured Text,ST)语言等,来对上位控制器进行编程。第1仿真器300准备有多种能够对上位控制器进行编程的语言,因此用户能够选择熟练及有经验的语言,而且,可进行与用途相应的区分使用。第1仿真器300可使用梯形图语言与ST语言这两种语言,因此能够应对所有用途。
另外,第1仿真器300能够根据第2仿真器400中的控制模型来自动生成用于PLC等上位控制器的程序(例如ST语言)。即,仿真器联动装置10能够将第2仿真器400中的模型作为功能块(Function Block,FB)而导入至第1仿真器300中,以使其他用户程序同样地利用。
(第2仿真器的概要)
第2仿真器400是针对受上位控制器控制的被控制装置(例如伺服驱动器之类的下位控制器以及由该下位控制器所驱动的机械要素)的仿真器,例如包含机器模型。
第2仿真器400从上位控制器的仿真器即第1仿真器300接收指令值(控制信号)。第2仿真器400基于所接收的指令值,执行针对受所述上位控制器控制的被控制装置(例如伺服驱动器之类的下位控制器以及由该下位控制器所驱动的机械要素)的仿真。
而且,第2仿真器400在执行针对所述被控制装置的仿真时,将其执行结果即第2执行结果作为反馈信息而发送至针对所述上位控制器的仿真器即第1仿真器300。
进而,第2仿真器400从第1仿真器300接收第1仿真器300执行针对上位控制器的仿真所得的结果即第1执行结果。第2仿真器400使用所接收的所述第1执行结果,来执行针对所述被控制装置的仿真。
另外,在仿真***1中,第2仿真器400也可为既是所述被控制装置的仿真器,还同时提供被控制装置(例如伺服驱动器之类的下位控制器)的开发环境的装置。即,第2仿真器400也可提供用于作为方块图来制作模型的图形编辑器,而且能够仿真所定义的模型的动态动作,并显示仿真执行结果。第2仿真器400例如也可为MATLAB/Simulink(注册商标)等控制计算机辅助设计(Computer Aided Design,CAD)。在仿真***1中,当仿真器联动装置10作为与第2仿真器400一体的装置而构成时,仿真器联动装置10例如也可构成为,能够附加于MATLAB/Simulink(注册商标)等控制CAD的第2仿真器400。
(控制***的概要)
对于上位控制器和受上位控制器控制的被控制装置(例如伺服驱动器之类的下位控制器等)的整体的程序及设计验证,期望在实机验证之前抑制追加作业并提前执行。
而且,PLC之类的上位控制器的以往的开发环境(开发装置)无法获得来自受该上位控制器控制的被控制装置的反馈值。因此,上位控制器的开发环境的用户必须在该开发环境内制作调试用的程序,以便进行所述被控制装置的动作。
此处,在基于模型的设计中,是通过MATLAB/Simulink(注册商标)等控制CAD,利用软件设计工序来制作受PLC之类的上位控制器控制的被控制装置的模型。
仿真***1中,仿真器联动装置10能够使以第2仿真器400制作的被控制装置的模型利用于软件验证工序中,所述第2仿真器400是针对包含伺服驱动器之类的下位控制器的被控制装置的仿真器,且是所述下位控制器的开发环境。即,在仿真***1中,仿真器联动装置10能够使第1仿真器300利用以第2仿真器400制作的被控制装置的模型,所述第1仿真器300是上位控制器的仿真器,且是所述上位控制器的开发环境。
在仿真***1中,仿真器联动装置10使第1仿真器300与第2仿真器400一边取得两者的仿真时刻的同步一边进行必要的数据交换,从而使两者执行仿真。尤其,在仿真***1中,仿真器联动装置10以用户设定的时间间隔来使第1仿真器300与第2仿真器400各自同步地执行仿真。
因此,在仿真***1中,例如能够进行“超速时是否发出警报并停止”、“轴变量的限制设定是否按照设想发挥功能”等在实机中难以产生或者在实机中产生的是危险动作的、程序以及设定的验证。
而且,在仿真***1中,仿真器联动装置10如以下所说明般,能够进行利用第2仿真器400的自动测试,从而能够削减上位控制器以及下位控制器的整体的程序以及设计的验证工时。
进而,仿真器联动装置10即使在通过第1仿真器300中的程序的1周期执行及断点的设定等来变更程序的执行速度时,也维持与第2仿真器400的仿真时刻的同步。因此,用户通过利用仿真器联动装置10,能够进行针对上位控制器以及被控制装置的严密的逻辑验证。
而且,仿真器联动装置10即使在第2仿真器400中使仿真执行暂时停止或者步进执行的情况下,也能够维持与第1仿真器300的仿真时刻的同步。
(关于基于模型的设计)
图10是用于说明通过仿真***1而成为可能的基于模型的设计(model-baseddesign)的图。如图10所示,在基于模型的设计中,***设计阶段、软件设计阶段、软件制作(编程)阶段是依此顺序推进。并且,在通过仿真***1而成为可能的基于模型的设计中,在***设计阶段、软件设计阶段、软件制作(编程)阶段,能够进行模型验证、软件验证、实机验证。
在从***设计阶段直至软件设计阶段为止的期间内进行的控制对象建模工序中,用户利用第2仿真器400,对伺服驱动器以及模拟输入/输出等控制对象进行建模。用户对于利用第2仿真器400来设计的控制器模型以及机器模型,能够利用通过仿真器联动装置10而联动的第1仿真器300以及第2仿真器400中的至少一者,来进行模型验证。另外,以下的说明中,控制对象建模(modeling)简写作“MILS(模型在环仿真(Model In the LoopSimulation))”。
对于MILS,由于仿真器联动装置10使第1仿真器300与第2仿真器400联动,因此能够基于在第1仿真器300中设定的I/O设备的设定来使第2仿真器400中的I/O设备的模型进行仿真。由此,能够进行考虑到I/O设备的特性的、控制性能的确认以及调整,而且,能够进行包括I/O设备的设定在内的验证。
在软件设计阶段,用户能够利用第1仿真器300来设计控制***(例如PLC等上位控制器)。用户对于利用第1仿真器300所设计的控制***,能够利用通过仿真器联动装置10而联动的第1仿真器300以及第2仿真器400中的至少一者,来进行模型验证。
进而,在软件制作(编程)阶段,用户利用通过仿真器联动装置10而联动的第1仿真器300以及第2仿真器400来制作软件。用户对所制作的软件进行软件验证,例如,利用通过仿真器联动装置10而联动的第1仿真器300以及第2仿真器400中的至少一者来进行软件验证。另外,在以下的说明中,软件验证简写作“SILS(软件在环仿真(Software In the LoopSimulation))”。
而且,用户通过使仿真器联动装置10执行第2仿真器400与第1仿真器300的联动仿真,从而能够执行SILS。即,用户通过仿真器联动装置10,能够进行实机验证前的事前验证,并能够进行手动编码的程序、包括显示器在内的装置整体的程序验证。而且,用户能够进行借助程序的1周期执行以及断点设定等的、严密的逻辑验证,进而,也能够容易地进行反复验证、验证的自动执行、罕见事例的验证等。
软件验证后,用户进行实机验证。此时,用户通过上位控制器(或第1仿真器300)来使第2仿真器400以及机器(被控制装置)进行动作,由此,能够使第2仿真器400获取实机控制数据(使机器实际动作时获得的数据)。
由于仿真器联动装置10使第1仿真器300与第2仿真器400联动,因此用户能够利用第2仿真器400来监控对实机进行控制的PLC等上位控制器以及第1仿真器300中的至少一者中所用的数据。而且,用户也能够从第2仿真器400写入上位控制器以及第1仿真器300中的至少一者中所用的控制参数(调整参数)。即,用户能够与MILS以及SILS同样地,利用第2仿真器400来监控实机控制,并能够再利用监控环境。用户无须追加时间精力便能够比较仿真与实机控制,并能够从第2仿真器400进行上位控制器以及第1仿真器300中的至少一者中所用的控制参数的调整,从而能够使第2仿真器400中所用的模型与实机之间的参数始终一致。
借助通过仿真***1而成为可能的基于模型的设计,对于***设计以及软件设计而言,因模型制作以及仿真执行,工时可能会稍许增加,但对于软件制作而言,通过自动代码生成,工时将大幅减少,对于软件验证而言,也会因设计阶段的错误去除而使工时大幅减少。以下说明详细内容。
在以往的开发过程中,控制设计以及验证是在后期进行,因此在开发后半期存在工时增大的倾向。与此相对,图10所示的基于模型的设计中,能够在实机装配前进行控制设计以及验证。
此处,作为通过仿真***1而成为可能的开发流程,例如可列举以下四种。即,第1,可列举下述流程:首先进行MILS,接下来进行软件制作(编程),再进行SILS,最后进行实机控制(实机验证)。这是图10所例示的、基于模型的设计的标准开发流程。
第2,可列举下述流程:首先进行MILS,接下来进行SILS之后,进行实机控制(实机验证)。当在第2仿真器400中开发的控制器模型简单时,用户有时可取代自动代码生成的执行而通过手动作业进行编程,并进行实机控制(实机验证)。
第3,可列举下述流程:首先进行MILS,接下来进行软件制作(编程)之后,进行实机控制(实机验证)。当控制程序的大半部分在第2仿真器400中开发时,MILS与SILS的差异小。并且,由于仿真器联动装置10使第1仿真器300与第2仿真器400联动,因此不需要进行SILS。
第4,可列举下述流程:首先进行SILS之后,进行实机控制(实机验证)。第2仿真器400仅用于控制对象模型的开发以及仿真,当在第1仿真器300中开发控制程序的全部时,由于仿真器联动装置10使第1仿真器300与第2仿真器400联动,因此也能够从SILS开始开发。
(关于仿真所起到的效果)
例如,在温度控制中,作为控制困难的因素的示例,可列举非线性、特性变动、热干扰、滞留时间等起因于控制对象的特性者。而且,外部干扰大的情况或连续的情况也可列举为控制困难的因素的示例。进而,由于响应慢,因此无法从时间限制进行调谐的情况也可列举为控制困难的因素的示例。
通过仿真,对于起因于控制对象的特性者,能够在短期间开发适当的控制算法。而且,对于外部干扰大的情况或连续的情况,也能够通过仿真而在短期间开发适当的控制算法。进而,即使在由于响应慢,因此无法从时间限制进行调谐的情况下,也能够通过仿真而在短期间找到最佳的控制参数。
(仿真器联动装置)
仿真器联动装置10包括:受理部101,从用户受理采样间隔,所述采样间隔是周期性地执行仿真的间隔;第1获取部103,从第1仿真器300获取第1执行结果,所述第1仿真器300是针对控制器(例如PLC)的仿真器,所述第1执行结果是第1仿真器300的采样间隔量的仿真执行结果;第2获取部104,从第2仿真器400获取第2执行结果,所述第2仿真器400是针对受所述控制器控制的被控制装置(例如伺服驱动器之类的下位控制器以及由该下位控制器所驱动的机械要素)的仿真器,所述第2执行结果是第2仿真器400的所述采样间隔量的仿真执行结果;以及同步部107,将由第1获取部103所获取的所述第1执行结果输出至第2仿真器400,并且将由第2获取部104所获取的所述第2执行结果输出至第1仿真器300,使第1仿真器300以及第2仿真器400各自以所述采样间隔来周期性地执行仿真。
根据所述结构,同步部107使针对所述控制器的仿真器即第1仿真器300、以及针对受所述控制器控制的所述被控制装置的仿真器即第2仿真器400,各自以由受理部101从用户受理的所述采样间隔,来周期性地执行仿真。
因此,仿真器联动装置10起到下述效果:能够使第1仿真器300以及第2仿真器400各自以由受理部101从用户受理的所述采样间隔来同步且周期性地地执行仿真。
即,例如,用户将长的时间间隔设为所述采样间隔,由此,同步部107以所述长的时间间隔的所述采样间隔,将由第1获取部103所获取的所述第1执行结果输出至第2仿真器400,并且以所述长的时间间隔的所述采样间隔,将由第2获取部104所获取的所述第2执行结果输出至第1仿真器300。此时,同步部107能够在第1仿真器300以及第2仿真器400完成仿真之前,抑制第1仿真器300与第2仿真器400之间的、所述仿真执行结果的收发次数,作为结果,能够缩短整个仿真的执行时间。
而且,例如,用户将短的时间间隔设为所述采样间隔,由此,同步部107以所述短的时间间隔的所述采样间隔,将由第1获取部103所获取的所述第1执行结果输出至第2仿真器400,并且以所述短的时间间隔的所述采样间隔,将由第2获取部104所获取的所述第2执行结果输出至第1仿真器300。此时,同步部107将第1仿真器300以及第2仿真器400各自以所述短的时间间隔而执行的仿真的结果每次分别通知给第2仿真器400以及第1仿真器300,因此,比起使所述采样间隔较长的情况,能够提高第1仿真器300与第2仿真器400各自执行的仿真执行结果的仿真精度。
因此,仿真器联动装置10起到下述效果:用户能够任意选择重视所述仿真的执行时间与所述仿真的仿真精度中的哪一个来执行所述仿真。
仿真器联动装置10是作为与第2仿真器400一体的装置而构成。
根据所述结构,起到下述效果:作为与第2仿真器400一体的装置而构成的仿真器联动装置10能够使第1仿真器300以由受理部101从用户受理的所述采样间隔,与第2仿真器400的仿真同步且周期性地执行仿真。
(仿真器联动装置的详细)
对于以上说明了概要的仿真器联动装置10,接下来,使用图1来说明其详细。
图1是表示本发明的实施方式1的仿真器联动装置10的主要部分结构的框图。如图1所示,仿真器联动装置10具备受理部101、显示部102、第1获取部103、第2获取部104、第1输出部105、第2输出部106及同步部107。
受理部101受理指定采样间隔的用户操作,所述采样间隔是使第1仿真器300以及第2仿真器400各自周期性地执行仿真的间隔。详细内容将使用图4而后述,受理部101从用户受理第1仿真器300或第2仿真器400执行仿真时所用的每个变量的采样间隔。
显示部102将供用户确认并设定采样间隔的画面显示于例如用户接口200。显示部102所显示的“供用户确认并设定采样间隔的画面”的一例是图4中例示的采样间隔设定画面。显示部102将第1仿真器300进行仿真的上位控制器(例如PLC)的控制周期作为用户可设定的采样间隔的初始设定值而显示于采样间隔设定画面。此外,详细内容将使用图4而后述,显示部102在采样间隔设定画面上,针对第1仿真器300或第2仿真器400执行仿真时所用的每个变量,显示用户可设定的采样间隔。
第1获取部103从第1仿真器300获取第1执行结果,该第1执行结果是第1仿真器300的所述采样间隔量的仿真执行结果。第1获取部103将从第1仿真器300获取的第1执行结果发送至同步部107。
第2获取部104从第2仿真器400获取第2执行结果,该第2执行结果是第2仿真器400的所述采样间隔量的仿真执行结果。第2获取部104将从第2仿真器400获取的第2执行结果发送至同步部107。
第1输出部105将第2获取部104从第2仿真器400获取的第2执行结果,以同步部107所指示的时机而输出至第1仿真器300。第1输出部105例如从同步部107获取第2执行结果,并将所获取的第2执行结果以同步部107所指示的时机而输出至第1仿真器300。
第2输出部106将第1获取部103从第1仿真器300获取的第1执行结果,以同步部107所指示的时机而输出至第2仿真器400。第2输出部106例如从同步部107获取第1执行结果,并将所获取的第1执行结果以同步部107所指示的时机而输出至第2仿真器400。
同步部107使第1仿真器300以及第2仿真器400各自以受理部101从用户受理的采样间隔来周期性地执行仿真。同步部107在第1仿真器300完成采样间隔量的仿真之后,使第1输出部105将第2仿真器400的采样间隔量的仿真执行结果即第2执行结果输出至第1仿真器300。并且,同步部107指示第1仿真器300使用所述第2执行结果来执行采样间隔量的仿真。
而且,同步部107在第2仿真器400完成采样间隔量的仿真之后,使第2输出部106将第1仿真器300的采样间隔量的仿真执行结果即第1执行结果输出至第2仿真器400。并且,同步部107指示第2仿真器400使用所述第1执行结果来执行采样间隔量的仿真。
如图1所示,在仿真器联动装置10上,也可连接有用户接口200。用户接口200例如为人机接口(Human Machine Interface,HMI)。HMI是供人与机械交换信息的部件,具体而言,是人操作机械(对机械给予指示),或者机械将当前的状态/结果告知给人的部件。对于HMI,作为人对机械给予指示的部件,包含开关、按钮、手柄、转盘、踏板、遥控器、麦克风、键盘、鼠标等,作为机械将与当前的状态/结果等相关的信息告知给人的部件,包含液晶画面、仪表、灯、扬声器等。
(在仿真***1中执行的处理的详细)
图3是说明仿真***1中的第1仿真器300、第2仿真器400以及仿真器联动装置10各自的处理流程的流程图。另外,在以下的说明中,假设仿真器联动装置10在未图示的“步骤(0)”中,从用户受理使第1仿真器300以及第2仿真器400各自周期性地执行仿真的间隔即“采样间隔”。
仿真器联动装置10的第2获取部104从第2仿真器400(尤其是其机器模型),获取第2仿真器400的仿真执行结果即输入值(第2执行结果)(步骤(1):获取输入值)。
仿真器联动装置10的第1输出部105将从第2仿真器400获取的输入值(第2执行结果)发送至第1仿真器300(步骤(2):写入输入值)。
仿真器联动装置10的第1获取部103从第1仿真器300获取输出值(第1执行结果)(步骤(3):读出输出值)。
仿真器联动装置10的同步部107指示第1仿真器300执行采样间隔量的仿真(步骤(4-1))。第1仿真器300依照来自仿真器联动装置10(尤其是同步部107)的指示,进行采样间隔量的仿真执行(步骤S300)。
而且,仿真器联动装置10的同步部107使第2输出部106将输出值(第1执行结果)输出(发送)至第2仿真器400,并使用所述输出值来指示第2仿真器400执行采样间隔量的仿真(步骤(4-2))。第2仿真器400依照来自仿真器联动装置10(同步部107)的指示,进行采样间隔量的仿真执行(步骤S400)。另外,将步骤(4-1)与步骤(4-2)合称作“步骤(4)”。
仿真器联动装置10的第2获取部104从第2仿真器400获取第2仿真器400在步骤S400中执行的仿真执行结果即输入值(第2执行结果)(步骤(5):获取输入值)。
第1仿真器300基于来自仿真器联动装置10的同步部107的指示,执行结束采样间隔量的仿真后(采样间隔量的仿真执行完成后),仿真器联动装置10的第1输出部105将在步骤(5)中从第2仿真器400获取的输入值(第2执行结果)发送至第1仿真器300(步骤(6):写入输入值)。
仿真器联动装置10的第1获取部103从第1仿真器300获取第1仿真器300在步骤S300中执行的仿真执行结果即输出值(第1执行结果)(步骤(7):读出输出值)。
仿真器联动装置10的同步部107指示第1仿真器300使用第1仿真器300在步骤(6)中获取的第2执行结果来执行采样间隔量的仿真(步骤(8-1))。第1仿真器300依照来自仿真器联动装置10(尤其是同步部107)的“步骤(8-1)中的指示”,进行采样间隔量的仿真执行(步骤S300)。
而且,仿真器联动装置10的同步部107使第2输出部106将在步骤(7)中从第1仿真器300获取的第1执行结果输出(发送)至第2仿真器400。并且,同步部107指示第2仿真器400使用在步骤(7)中第1获取部103从第1仿真器300获取的第1执行结果,来执行采样间隔量的仿真(步骤(8-2))。第2仿真器400依照来自仿真器联动装置10(同步部107)的“步骤(8-2)中的指示”,进行采样间隔量的仿真执行(步骤S400)。另外,将步骤(8-1)与步骤(8-2)合称作“步骤(8)”。
使用图3所说明的、仿真器联动装置10所执行的处理(仿真器联动装置10的控制方法)可整理如下。即,仿真器联动装置10所执行的处理是使多个仿真器各自执行的仿真联动的仿真器联动装置的控制方法,该控制方法包括:受理步骤(步骤(0)),从用户受理采样间隔,所述采样间隔是周期性地执行仿真的间隔;第1获取步骤(步骤(3)以及步骤(7)),从第1仿真器300获取第1执行结果,所述第1仿真器300是针对控制器(例如PLC)的仿真器,所述第1执行结果是第1仿真器300的所述采样间隔量的仿真执行结果;第2获取步骤(步骤(1)以及步骤(5)),从第2仿真器400获取第2执行结果,所述第2仿真器400是针对受所述控制器控制的被控制装置(例如伺服驱动器之类的下位控制器以及由该下位控制器所驱动的机械要素)的仿真器,所述第2执行结果是第2仿真器400的所述采样间隔量的仿真执行结果;以及同步步骤(步骤(4)以及步骤(8)),将在所述第1获取步骤中获取的所述第1执行结果输出至第2仿真器400,并且将在所述第2获取步骤中获取的所述第2执行结果输出至第1仿真器300,使第1仿真器300以及第2仿真器400各自以所述采样间隔来周期性地执行仿真。
根据所述方法,所述同步步骤使针对所述控制器的仿真器即第1仿真器300、以及针对受所述控制器控制的所述被控制装置的仿真器即第2仿真器400,各自以在所述受理步骤中从用户受理的所述采样间隔,来周期性地执行仿真。
因此,所述控制方法起到下述效果:能够使第1仿真器300以及第2仿真器400各自以在所述受理步骤中从用户受理的所述采样间隔来同步且周期性地地执行仿真。
即,例如,用户将长的时间间隔设为所述采样间隔,由此,所述同步步骤以所述长的时间间隔的所述采样间隔,将在所述第1获取步骤中获取的所述第1执行结果输出至第2仿真器400,并且以所述长的时间间隔的所述采样间隔,将在所述第2获取步骤中获取的所述第2执行结果输出至第1仿真器300。此时,所述同步步骤能够在第1仿真器300以及第2仿真器400完成仿真之前,抑制第1仿真器300与第2仿真器400之间的、所述仿真执行结果的收发次数,作为结果,能够缩短整个仿真的执行时间。
而且,例如,用户将短的时间间隔设为所述采样间隔,由此,所述同步步骤以所述短的时间间隔的所述采样间隔,将在所述第1获取步骤中获取的所述第1执行结果输出至第2仿真器400,并且以所述短的时间间隔的所述采样间隔,将在所述第2获取步骤中获取的所述第2执行结果输出至第1仿真器300。此时,所述同步步骤将第1仿真器300以及第2仿真器400各自以所述短的时间间隔而执行的仿真的结果每次分别通知给第2仿真器400以及第1仿真器300,因此,比起使所述采样间隔较长的情况,能够提高第1仿真器300与第2仿真器400各自执行的仿真执行结果的仿真精度。
因此,所述控制方法起到下述效果:用户能够任意选择重视所述仿真的执行时间与所述仿真的仿真精度中的哪一个来执行所述仿真。
(关于用户对采样间隔的设定)
图4是表示仿真器联动装置10将周期性地执行仿真的间隔即采样间隔显示给用户,而且关于所述采样间隔而受理来自用户的操作的、接口的一例的图。
图4所例示的采样间隔设定画面例如由显示部102显示于用户接口200。并且,针对图4的采样间隔设定画面的用户操作是由受理部101来处理(受理)。例如,仿真器联动装置10以在图4的采样间隔设定画面上由用户所设定的采样间隔,使第1仿真器300与第2仿真器400各自周期性地执行仿真。
在仿真***1中,通常,第1仿真器300的仿真对象即上位控制器的控制周期是作为采样间隔而由用户来设定。即,显示部102在图4所例示的采样间隔设定画面上,显示上位控制器(例如PLC)的控制周期,以作为使第1仿真器300以及第2仿真器400各自周期性地执行仿真的间隔即采样间隔的初始设定值。
根据所述结构,显示部102显示上位控制器的控制周期,以作为所述采样间隔的初始设定值。
因此,仿真器联动装置10起到下述效果:能够既使针对上位控制器的仿真器即第1仿真器300以上位控制器的控制周期来执行仿真,又使针对受上位控制器控制的所述被控制装置的仿真器即第2仿真器400与第1仿真器300的仿真同步地执行仿真。
但是,用户也能够在图4所例示的采样间隔设定画面上,设定与上位控制器的控制周期不同的值来作为采样间隔。例如,在仿真器联动装置10中,所述采样间隔可设定比上位控制器的控制周期长的时间。
根据所述结构,同步部107以所述采样间隔,将由第1获取部103所获取的所述第1执行结果输出至第2仿真器400,所述采样间隔是比上位控制器的控制周期长的时间,并且,以由受理部101所受理的所述采样间隔,将由第2获取部104所获取的所述第2执行结果输出至第1仿真器300。
因此,同步部107起到下述效果:能够在第1仿真器300以及第2仿真器400完成仿真之前,抑制第1仿真器300与第2仿真器400之间的、所述仿真执行结果的收发次数。即,仿真器联动装置10起到下述效果:能够缩短第1仿真器300以及第2仿真器400完成仿真的时间。
在仿真器联动装置10中,用户通过将采样间隔设定得较长,从而能够减少第1仿真器300与第2仿真器400之间的数据交换次数,缩短仿真执行时间。
如图4所示,用户能够在采样间隔设定画面上,针对第1仿真器300或第2仿真器400执行仿真时所用的每个变量来设定采样间隔。即,在仿真器联动装置10中,受理部101从用户受理第1仿真器300或第2仿真器400执行仿真时所用的每个变量的采样间隔。
根据所述结构,同步部107以针对第1仿真器300或第2仿真器400执行仿真时所用的每个变量而设定的采样间隔,使所述变量在第1仿真器300与第2仿真器400之间收发。
因此,仿真器联动装置10起到下述效果:能够以对于在第1仿真器300或第2仿真器400中执行的仿真中所用的每个变量为最佳的时间间隔,使所述变量在第1仿真器300与第2仿真器400之间收发,因此能够缩短第1仿真器300以及第2仿真器400完成仿真的时间。
此处,例如当上位控制器并行地执行多个处理时,受理部101能够针对第1仿真器300对应于所述多个处理而执行的多个仿真,分别从用户受理采样间隔。并且,同步部107将所述多个仿真各自的仿真执行结果以所述多个仿真各自的所述采样间隔而输出至第2仿真器400。
因此,仿真器联动装置10起到下述效果:通过将第1仿真器300并行地执行的所述多个仿真各自的仿真执行结果以对于所述多个仿真的每一个为最佳的间隔来输出至第2仿真器400,从而能够缩短第1仿真器300以及第2仿真器400完成仿真的时间。
例如,当在第1仿真器300的仿真对象即上位控制器中使用多任务功能时,仿真器联动装置10进行与所参照的变量的任务周期相应的数据交换,由此,也能够减少第1仿真器300与第2仿真器400之间的数据交换次数,从而缩短仿真执行时间。
所述控制器例如也可具有下述三种任务,即:初级固定周期任务,以“EtherCAT通信、运动控制、I/O刷新以及用户程序”作为主要的处理内容;固定周期任务,以“I/O刷新以及用户程序”作为主要的处理内容;以及事件任务,以“用户程序”作为主要的处理内容。所述控制器最优先执行初级固定周期任务,固定周期任务与事件任务之间的优先关系也可由用户指定,进而,每一个任务例如也可分配最大128个程序。
(关于在仿真器间交换的数据)
仿真器联动装置10从第1仿真器300以及第2仿真器400中的至少一者获取的信号(信息)有因第1仿真器300以及第2仿真器400各自中的仿真的执行而值会发生变化者(例如作为仿真执行结果的反馈值)与值不会发生变化者(例如比例积分微分(ProportionalIntegral Derivative,PID)参数等)。
仿真器联动装置10中,值不会因仿真的执行而发生变化的信号(信息)仅在最初的第1次数据交换的时机,从第1仿真器300写入至第2仿真器400,或者从第2仿真器400写入至第1仿真器300,以削减数据交换量。
即,在仿真器联动装置10中,同步部107在第1仿真器300执行仿真之前,仅一次向第1仿真器300输出一变量,该变量是第1仿真器300中的仿真所用的变量,且是值不会因第1仿真器300中的仿真的执行而发生变化的变量。
根据所述结构,同步部107在第2仿真器400执行仿真之前,仅一次向第2仿真器400输出一变量,该变量是第2仿真器400中的仿真所用的变量,且是值不会因第2仿真器400中的仿真的执行而发生变化的变量。
因此,同步部107起到下述效果:能够抑制在第1仿真器300与第2仿真器400之间收发的数据量。即,仿真器联动装置10起到下述效果:能够缩短第1仿真器300以及第2仿真器400完成仿真的时间。
(关于仿真器联动装置的利用例)
对于至此为止进行了说明的仿真器联动装置10,接下来,使用图5以及图6,使用具体例来说明其利用方法。
图5是表示在仿真***1中,通过仿真器联动装置10来使第1仿真器300以及第2仿真器400联动的方法的一例的图。
如图5所示,仿真器联动装置10能够在序列控制的控制器模型设计时利用。即,用户首先操作例如作为HMI的用户接口200(或者操作第1仿真器300),以使第1仿真器300中产生事件(即,使迁移条件得到满足,以使状态迁移)。
仿真器联动装置10获取第1仿真器300中的状态迁移结果来作为第1执行结果(第1仿真器300中的仿真执行结果)。仿真器联动装置10将第1仿真器300中的状态迁移结果发送至第2仿真器400,使第2仿真器400执行使用第1仿真器300中的状态迁移结果的仿真。
图5所示的示例中,仿真器联动装置10例如使用于序列控制的控制器模型(例如状态流(Stateflow)(注册商标))执行使用第1仿真器300中的状态迁移结果的仿真。
用户能够根据状态图来确认第2仿真器400中的控制器模型的仿真结果,并根据需要来适当修正控制器模型,且使经修正的控制器模型再次执行使用第1仿真器300中的状态迁移结果的仿真。
仿真器联动装置10获取第2仿真器400中的控制器模型的仿真执行结果,以作为第2执行结果(第2仿真器400中的仿真执行结果)。仿真器联动装置10将控制器模型的仿真执行结果发送至第1仿真器300,使第1仿真器300执行使用控制器模型的仿真执行结果的仿真。
第1仿真器300执行使用控制器模型的仿真执行结果的仿真,例如启动控制程序,使用控制器模型的仿真执行结果来执行控制程序等。
仿真器联动装置10获取第1仿真器300的所述仿真执行结果,来作为第1执行结果。仿真器联动装置10将从第1仿真器300获取的仿真执行结果发送至第2仿真器400,使第2仿真器400执行仿真。
图5所示的示例中,仿真器联动装置10例如使用于连续控制的机器模型执行使用第1仿真器300的所述仿真执行结果的仿真。
图5表示了在第2仿真器400中不仅配置机器模型,还配置序列控制的控制器模型来进行仿真的示例。图5中,在第1仿真器300中,并未准备用于序列控制的控制程序。但是,仿真器联动装置10能够在第1仿真器300与第2仿真器400之间无遗漏地交换数据(如Cmd、Act),由此,如图5所示,仿真器联动装置10能够利用于序列控制的控制器模型设计时。
(关于仿真器联动装置的另一利用例)
图6是表示在仿真***1中,通过仿真器联动装置10来使第1仿真器300以及第2仿真器400联动的方法的、与图5所示不同的示例的图。图6所示的示例中,与图5所示的示例不同,在第1仿真器300中,准备了用于序列控制的控制程序。如图6所示,仿真器联动装置10能够利用于序列控制的控制器模型设计时,用户能够根据状态图来监控控制器模型(状态流(Stateflow)),因此可视性提高。
如图6所例示,仿真器联动装置10使第1仿真器300与第2仿真器400联动,由此,第1仿真器300能够使第2仿真器400中的控制器模型(状态流(Stateflow))作为功能块(Function Block,FB)而显示在第1仿真器300中。通过仿真器联动装置10,第1仿真器300与第2仿真器400彼此联动,不仅能够彼此共享数据,还能够彼此共享模型、程序等。因此,用户例如图6所示,能够在第1仿真器300中确认于第2仿真器400中建模的模型等,并在第1仿真器300中加以利用。即,通过进行自动代码生成控制器模型(状态流(Stateflow)),从而能够作为功能块(Function Block,FB)。
用户首先与图5所示同样地操作例如作为HMI的用户接口200(或者操作第1仿真器300),以使第1仿真器300中产生事件(即,使迁移条件得到满足,以使状态迁移)。
仿真器联动装置10获取第1仿真器300中的状态迁移结果,以作为第1执行结果(第1仿真器300中的仿真执行结果)。仿真器联动装置10将第1仿真器300中的状态迁移结果发送至第2仿真器400,使第2仿真器400执行使用第1仿真器300中的状态迁移结果的仿真。
图6所示的示例中,仿真器联动装置10例如使用于序列控制的控制器模型(状态流(Stateflow))执行使用第1仿真器300中的状态迁移结果的仿真。
用户能够根据状态图来确认第2仿真器400中的控制器模型的仿真结果,因此可视性提高。
另外,图6所示的示例中,与图5所示的示例不同,仿真器联动装置10不获取控制器模型的仿真执行结果。
图6所示的示例中,仿真器联动装置10将作为第1执行结果而获取的“第1仿真器300中的状态迁移结果(基于用户操作的、第1仿真器300中的状态迁移结果)”发送至第2仿真器400。仿真器联动装置10使第2仿真器400执行使用“第1仿真器300中的状态迁移结果”的仿真。
图6所示的示例中,仿真器联动装置10例如使用于连续控制的机器模型执行使用“第1仿真器300中的状态迁移结果(基于用户操作的、第1仿真器300中的状态迁移结果)”的仿真。
(关于用户可确认的其他画面例)
对于仿真***1中,至此为止所说明的画面例以外的、用户可确认的画面例,使用图7~图9来进行说明。
(关于第2仿真器所显示的画面例)
图7是表示仿真***1中的第2仿真器400所显示的画面例的图。图7所示的示例中,“用于序列控制的控制器模型(状态流(Stateflow))以及用于连续控制的机器模型”、与“仿真器联动装置10对第2仿真器400的仿真进行控制的数据交换以及仿真时刻等项目”的对应关系显示于一画面中。
用户通过图7所示的画面,对于第2仿真器400中的序列控制以及连续控制中分别使用使用的控制器模型(状态流(Stateflow))以及机器模型的整体结构,能够一边与仿真器联动装置10的控制对象(例如,仿真器联动装置10使第1仿真器300与第2仿真器400之间联动的项目)关联,一边进行确认。即,用户通过图7所示的画面,对于伺服驱动器之类的下位控制器以及由该下位控制器所驱动的机械要素的整体结构,能够一边与仿真器联动装置10的控制对象关联(例如,一边与上位控制器的仿真项目关联),一边进行确认。
而且,用户通过图7所示的画面,能够对在第2仿真器400中用于序列控制的控制器模型(状态流(Stateflow))与用于连续控制的机器模型之间的数据的流动进行确认。进而,对于通过仿真器联动装置10而联动的第1仿真器300与第2仿真器400之间的数据的流动,也可进行确认。即,用户通过图7所示的画面,能够对通过仿真器联动装置10而联动的、第1仿真器300(上位控制器的模型)与第2仿真器400(控制器模型(状态流(Stateflow))及机器模型)之间的数据的流动进行确认。
另外,在图7所示的画面中,通过用户选择控制器模型(状态流(Stateflow))及机器模型的整体结构中的各构成要素,从而也可显示能够确认有关该构成要素的详细的画面。例如,在图7所示的画面中,通过用户利用双击等来选择“控制器模型(状态流(Stateflow))”,从而也可显示表示所选择的“控制器模型(状态流(Stateflow))”的详细的画面(例如图8所例示的画面)。
另外,第2仿真器400并不需要显示图7所示的画面例,仿真器联动装置10的显示部102也可显示于用户接口200。
图8是表示仿真***1中的第2仿真器400所显示的、与图7所示不同的画面例的图,具体而言,表示有关用于序列控制的控制器模型的状态迁移图的一例。图8所例示的画面例如也可通过在图7所示的画面中,由用户利用双击等来选择“控制器模型(状态流(Stateflow))”而显示。
在图8所例示的画面中,显示了在图7所例示的整体结构中表示了概要的控制器模型(状态流(Stateflow))的详细。即,在图8所例示的画面中,显示有关构成控制器模型(状态流(Stateflow))的要素、功能、处理流程等的详细。
进而,在图8所例示的画面中,也可强调显示与执行仿真等的处理、功能等对应的控制器模型(状态流(Stateflow))等。例如,图8中用粗线框起来的部分也可表示执行仿真的要素、功能、处理。
图8所例示的状态迁移图作为活动状态迁移图,对于控制器模型,能够进行与连续控制组合的动作确认(调试)。另外,第2仿真器400并不需要显示图8所示的画面例,仿真器联动装置10的显示部102也可显示于用户接口200。
(关于第1仿真器所显示的另一画面例)
图9是表示仿真***1中的第1仿真器300所显示的画面例的图。图9是用于“使第1仿真器300中产生事件(即,使迁移条件得到满足,以使状态迁移)”的画面例。用户例如可对显示于用户接口200上的图9的画面进行操作,以使第1仿真器300中产生事件。
即,用户能够利用图9所例示的画面来给予伺服启动/关闭(ON/OFF)(上电/断电(Power ON/Power OFF)),当伺服启动时,伺服驱动器对伺服马达通电,开始控制)、原点复位(原点(Home))、运转开始(开始(Start))、警报解除(Alarm clear)等指示。而且,用户能够利用图9所例示的画面,来进行当前状态(当前位置(Current Position))的确认等。
另外,第1仿真器300并不需要显示图9所示的画面例,仿真器联动装置10的显示部102也可显示于用户接口200。
〔借助软件的实现例〕
仿真器联动装置10的控制块(尤其是受理部101、显示部102、第1获取部103、第2获取部104、第1输出部105、第2输出部106、同步部107)既可通过形成于集成电路(IC芯片)等上的逻辑电路(硬件)来实现,也可使用中央处理器(Central Processing Unit,CPU)而通过软件来实现。
在后者的情况下,仿真器联动装置10具备执行实现各功能的软件即程序的命令的CPU、可由计算机(或CPU)读取地记录有所述程序及各种数据的只读存储器(Read OnlyMemory,ROM)或存储装置(将它们称作“记录介质”)、以及展开所述程序的随机存取存储器(Random Access Memory,RAM)等。并且,通过计算机(或CPU)从所述记录介质中读取并执行所述程序,从而达成本发明的目的。作为所述记录介质,可使用“并非临时的有形介质”,例如可使用带(tape)、盘(disk)、卡(card)、半导体存储器、可编程的逻辑电路等。而且,所述程序也可经由可传输该程序的任意传输介质(通信网络或广播波等)而提供给所述计算机。另外,本发明也能以通过电子传输来将所述程序具现化的、被嵌入载波中的数据信号的形态来实现。
本发明并不限定于所述的各实施方式,可在权利要求所示的范围内进行各种变更,将不同的实施方式中分别揭示的技术部件适当组合而获得的实施方式也包含于本发明的技术范围内。

Claims (9)

1.一种仿真器联动装置,其特征在于,包括:
受理部,从用户受理采样间隔,所述采样间隔是周期性地执行仿真的间隔;
第1获取部,从第1仿真器获取第1执行结果,所述第1仿真器是针对控制器的仿真器,所述第1执行结果是所述第1仿真器的所述采样间隔的采样间隔量的仿真执行结果;
第2获取部,从第2仿真器获取第2执行结果,所述第2仿真器是针对受所述控制器控制的被控制装置的仿真器,所述第2执行结果是所述第2仿真器的所述采样间隔量的仿真执行结果;以及
同步部,将由所述第1获取部所获取的所述第1执行结果输出至所述第2仿真器,并且将由所述第2获取部所获取的所述第2执行结果输出至所述第1仿真器,使所述第1仿真器以及所述第2仿真器各自以所述采样间隔来周期性地执行仿真。
2.根据权利要求1所述的仿真器联动装置,其特征在于,还包括:
显示部,显示所述控制器的控制周期以作为所述采样间隔的初始设定值。
3.根据权利要求1或2所述的仿真器联动装置,其特征在于,
所述采样间隔可设定比所述控制器的控制周期长的时间。
4.根据权利要求1至3中任一项所述的仿真器联动装置,其特征在于,
所述同步部在所述第1仿真器执行仿真之前,仅一次向所述第1仿真器输出一变量,所述变量是所述第1仿真器中的仿真所用的变量,且是值不会因所述第1仿真器中的仿真的执行而发生变化的变量。
5.根据权利要求1至4中任一项所述的仿真器联动装置,其特征在于,
所述受理部从所述用户受理所述第1仿真器或所述第2仿真器执行仿真时所用的每个变量的采样间隔。
6.根据权利要求1至5中任一项所述的仿真器联动装置,其特征在于,
所述仿真器联动装置是作为与所述第2仿真器一体的装置而构成。
7.一种控制方法,是使多个仿真器各自执行的仿真联动的仿真器联动装置的控制方法,其特征在于,包括:
受理步骤,从用户受理采样间隔,所述采样间隔是周期性地执行仿真的间隔;
第1获取步骤,从第1仿真器获取第1执行结果,所述第1仿真器是针对控制器的仿真器,所述第1执行结果是所述第1仿真器的所述采样间隔的采样间隔量的仿真执行结果;
第2获取步骤,从第2仿真器获取第2执行结果,所述第2仿真器是针对受所述控制器控制的被控制装置的仿真器,所述第2执行结果是所述第2仿真器的所述采样间隔量的仿真执行结果;以及
同步步骤,将在所述第1获取步骤中获取的所述第1执行结果输出至所述第2仿真器,并且将在所述第2获取步骤中获取的所述第2执行结果输出至所述第1仿真器,使所述第1仿真器以及所述第2仿真器各自以所述采样间隔来周期性地执行仿真。
8.一种信息处理程序,用于使计算机作为权利要求1至6中任一项所述的仿真器联动装置发挥功能,其特征在于,用于使计算机作为所述各部发挥功能。
9.一种记录介质,其特征在于,记录有权利要求8所述的信息处理程序且计算机可读取。
CN201710092424.9A 2016-09-01 2017-02-21 仿真器联动装置、控制方法、信息处理程序以及记录介质 Pending CN107797462A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016170755A JP2018036945A (ja) 2016-09-01 2016-09-01 シミュレータ連携装置、シミュレータ連携装置の制御方法、情報処理プログラム、および記録媒体
JP2016-170755 2016-09-01

Publications (1)

Publication Number Publication Date
CN107797462A true CN107797462A (zh) 2018-03-13

Family

ID=58266829

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710092424.9A Pending CN107797462A (zh) 2016-09-01 2017-02-21 仿真器联动装置、控制方法、信息处理程序以及记录介质

Country Status (4)

Country Link
US (1) US20180059649A1 (zh)
EP (1) EP3291112A1 (zh)
JP (1) JP2018036945A (zh)
CN (1) CN107797462A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7225064B2 (ja) * 2019-09-12 2023-02-20 株式会社日立ソリューションズ シミュレーション方法およびシミュレーションプログラム
JP7416597B2 (ja) 2019-10-11 2024-01-17 株式会社日立製作所 情報処理装置、及び情報処理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101364086A (zh) * 2008-09-18 2009-02-11 上海交通大学 基于触发-延时的实时仿真控制方法
CN101499937A (zh) * 2009-03-16 2009-08-05 盛科网络(苏州)有限公司 一种基于fpga的软硬件协同仿真验证***及方法
CN104573288A (zh) * 2015-02-05 2015-04-29 北京神舟航天软件技术有限公司 一种三模冗余计算机数字仿真***
CN105701298A (zh) * 2016-01-15 2016-06-22 天津大学 基于PowerPC SoC架构的仿真平台设计方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6249665B2 (ja) 2013-08-02 2017-12-20 キヤノン株式会社 シミュレーション装置、シミュレーション方法、プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101364086A (zh) * 2008-09-18 2009-02-11 上海交通大学 基于触发-延时的实时仿真控制方法
CN101499937A (zh) * 2009-03-16 2009-08-05 盛科网络(苏州)有限公司 一种基于fpga的软硬件协同仿真验证***及方法
CN104573288A (zh) * 2015-02-05 2015-04-29 北京神舟航天软件技术有限公司 一种三模冗余计算机数字仿真***
CN105701298A (zh) * 2016-01-15 2016-06-22 天津大学 基于PowerPC SoC架构的仿真平台设计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J BASTIAN: "Master for Co-Simulation Using FMI", 《PROCEEDINGS OF CONFERENCE MODELICA 2011》 *

Also Published As

Publication number Publication date
EP3291112A1 (en) 2018-03-07
JP2018036945A (ja) 2018-03-08
US20180059649A1 (en) 2018-03-01

Similar Documents

Publication Publication Date Title
CN108345265B (zh) 硬件设备的编程方法、可视化编程平台、存储器和处理器
US10317868B2 (en) System and method for testing a distributed control system of an industrial plant
EP1944663A1 (en) Systems and methods for turbine control simulation
EP1991938B1 (en) Solver for simulating a system in real time on a programmable hardware element
Süß et al. Behaviour simulation for virtual commissioning using co-simulation
EP1686442A1 (en) Agent simulation development environment
US20050028133A1 (en) System and method for rapid design, prototyping, and implementation of distributed scalable architecture for task control and automation
US20070162157A1 (en) Control of tasks in a programmable logic controller
CN108594746A (zh) 可视化编程控制***及方法、装置
CN113260935A (zh) 对模块化技术***进行计算机辅助仿真的方法和设备
JP2004133650A (ja) 制御用ロジックのシミュレーション検証方法及びシミュレーション検証用パソコン
CN106094750A (zh) 分布式控制***的模拟调试方法
CN107797462A (zh) 仿真器联动装置、控制方法、信息处理程序以及记录介质
US6941261B1 (en) Cause and effect logic application implementation
CN111338753B (zh) 基于计算机实现电子控制单元硬件仿真的***
CN110303495A (zh) 提高操作性的综合模拟***
US20090132067A1 (en) Design Device for Designing a Control System and Method for Examining the Technological Aims When Designing a Control System
CN113075915A (zh) 基于em-plant的虚拟仿真实现方法、***及设备
JPH07325803A (ja) 仮想cimシステム及び仮想cimシステムの構築方法及びcimシステムの構築方法
JP3598732B2 (ja) 分散制御システムの構成管理方法およびこれに用いるデータ
CN116339291B (zh) 一种用于多平台plc风电机组主控***的测试***
KR890008714A (ko) 시각언어를 사용하는 설계시스템
Atlagic et al. Model-based Approach to the Development of SCADA applications
CN114518734B (zh) 一种控制模型集成方法、装置及其介质
Holl et al. Digital I and C system pre-tests using plant specific simulators

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180313