CN115836258A - 模拟装置、控制系统、模拟方法以及程序 - Google Patents
模拟装置、控制系统、模拟方法以及程序 Download PDFInfo
- Publication number
- CN115836258A CN115836258A CN202180044241.4A CN202180044241A CN115836258A CN 115836258 A CN115836258 A CN 115836258A CN 202180044241 A CN202180044241 A CN 202180044241A CN 115836258 A CN115836258 A CN 115836258A
- Authority
- CN
- China
- Prior art keywords
- simulator
- simulation
- communication
- controller
- control
- 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 390
- 238000000034 method Methods 0.000 title claims description 114
- 238000004891 communication Methods 0.000 claims description 368
- 230000008569 process Effects 0.000 claims description 105
- 238000003860 storage Methods 0.000 claims description 72
- 239000000872 buffer Substances 0.000 claims description 63
- 230000033001 locomotion Effects 0.000 claims description 50
- 230000005856 abnormality Effects 0.000 claims description 28
- 230000011218 segmentation Effects 0.000 claims description 27
- 238000013500 data storage Methods 0.000 claims description 24
- 238000012546 transfer Methods 0.000 claims description 23
- 238000001514 detection method Methods 0.000 claims description 18
- 238000011144 upstream manufacturing Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000009471 action Effects 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 description 26
- 238000013480 data collection Methods 0.000 description 24
- 238000012545 processing Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 7
- 239000012634 fragment Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005304 joining Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 239000003638 chemical reducing agent Substances 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003466 welding 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/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] or 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] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- 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/406—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 monitoring or safety
- G05B19/4069—Simulating machining process on screen
-
- 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/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33274—Integrated communication and control, transmission delay, sampling rate effect
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Manipulator (AREA)
Abstract
模拟装置(100)包括:第一模拟器,其模拟第一控制器对第一机器的控制;第二模拟器,其模拟第二控制器对第二机器的控制;以及模拟管理器(110),其以与第一控制器的控制进展和第二控制器的控制进展之间的关系对应的方式,对第一模拟器的模拟进展和第二模拟器的模拟进展进行控制。
Description
技术领域
本发明涉及模拟装置、控制系统、模拟方法以及程序。
背景技术
在专利文献1中公开了一种机器人模拟器,包括:模型存储部,其存储有与机器人以及障碍物相关的模型信息;以及信息处理部,其基于模型信息来生成避免机器人与障碍物的碰撞并且能够使机器人的前端部从开始位置移动至结束位置的路径。
现有技术文献
专利文献
专利文献1:日本特开2018-134703号公报
发明内容
发明所要解决的课题
本发明提供一种对多个装置的协调动作的适当模拟有效的装置。
用于解决课题的手段
本发明的一个方面所涉及的模拟装置包括:第一模拟器,其模拟第一控制器对第一机器的控制;第二模拟器,其模拟第二控制器对第二机器的控制;以及模拟管理器,其以与第一控制器的控制进展和第二控制器的控制进展之间的关系对应的方式,对第一模拟器的模拟进展和第二模拟器的模拟进展进行控制。
根据本发明的另一方面,提供了一种控制系统,包括:模拟装置,所述模拟装置具有通信模拟器,所述通信模拟器在基于预先确定的虚拟延迟时间的定时使接收侧模拟器获取由发送侧模拟器生成的通信数据;实际控制系统,所述实际控制系统包括第一控制器和第二控制器;以及虚拟延迟设定部,所述虚拟延迟设定部使虚拟延迟时间对应于第一控制器和第二控制器之间的通信延迟时间。
本发明的又一其他方面所涉及的控制系统包括:实际控制系统,其包括上述模拟装置、第一控制器以及第二控制器;以及比较图像生成部,其生成对由第一控制器对第一机器的控制进展、由第二控制器对第二机器的控制进展、第一模拟器进行的模拟进展以及第二模拟器进行的模拟进展进行对比的比较图像。
本发明的又一方面的模拟方法包括:通过第一模拟器模拟第一控制器对第一机器的控制;通过第二模拟器模拟第二控制器对第二机器的控制;以及以与第一控制器的控制进展和第二控制器的控制进展的关系对应的方式,控制第一模拟器的模拟进展和第二模拟器的模拟进展。
本发明的又一其他方面所涉及的程序使装置构成:第一模拟器,其模拟第一控制器对第一机器的控制;第二模拟器,其模拟第二控制器对第二机器的控制;以及模拟管理器,其以与第一控制器的控制进展和第二控制器的控制进展之间的关系对应的方式,对第一模拟器的模拟进展和第二模拟器的模拟进展进行控制。
发明效果
根据本发明,能够提供对多个装置的协调动作的适当模拟有效的装置。
附图说明
图1是例示机器系统的结构的示意图。
图2是例示机器人的结构的示意图。
图3是例示模拟装置的结构的框图。
图4是例示模拟管理器的结构的框图。
图5是例示通信模拟器的结构的框图。
图6是例示发送侧的模拟器生成的通信数据、通信缓冲器的内容、以及接收侧的模拟器获取的通信数据的变迁的示意图。
图7是例示通信定义的表。
图8是例示数据收集装置的结构的框图。
图9是例示模拟装置以及数据收集装置的硬件结构的框图。
图10是例示模拟过程的流程图。
图11是例示再现速度调节过程的流程图。
图12是表示模拟过程的变形例的流程图。
图13是例示单独模拟过程的流程图。
图14是例示虚拟延迟时间的调节过程的流程图。
图15是例示异常监视过程的流程图。
具体实施方式
以下,参照附图对实施方式进行详细说明。在说明中,对相同部件或具有相同功能的部件标注相同的附图标记,并省略重复的说明。
(机器系统)
图1所示的机器系统1是使多个机器3协调动作的系统。作为机器系统1的具体例,可例举出为了工件生产而使多个机器3协调动作的生产系统,但多个机器3的动作目的未必限定于工件生产。
使多个机器3协调动作是指例如使多个机器分担执行用于实现相同目的的多个动作,也可以包括根据任一个机器的动作结果使其他机器动作。在“同一目的”是工件生产的情况下,机器系统1可以使多个机器3分担执行用于得到一个工件的多个作业,也可以使多个机器3分担执行多个工件的每一个的多个作业。
机器系统1包括多个机器3、控制多个机器3的实际控制系统5、模拟装置100及数据收集装置200。机器3的数量没有特别限制。多个机器3也可以包括机器人。作为多个机器3的一例,在图1中示出了输送机3A和机器人3B、3C。
输送机3A例如通过电动马达等的动力运送工件。作为输送机3A的具体例,可例举出带式输送机、辊式输送机等。机器人3B、3C对输送机3A运送的工件进行作业。作为针对工件的作业的具体例,可例举出向输送机3A运送的工件(例如基体零件)组装其他工件(例如副零件)、输送机3A运送的工件中的零件彼此紧固(例如螺栓紧固)或接合(例如焊接)等。
输送机3A和机器人3B、3C的动作也可以包括输送机3A与机器人3B、3C的协调动作。例如机器人3B、3C也可以在通过输送机3A将工件配置于规定的作业位置的定时,执行对工件的作业。输送机3A也可以在机器人3B、3C的作业的执行中中断工件的运送,在机器人3B、3C的作业完成后再次开始工件的运送。
输送机3A和机器人3B、3C的动作也可以包括机器人3B、3C的协调动作。例如,也可以是,机器人3B在输送机3A运送的基体零件中的规定的组装位置配置副零件,机器人3C将由机器人3B配置的副零件紧固或接合于基体零件。在副零件在多个部位紧固或接合于基体零件的情况下,机器人3B、3C也可以分担多个部位的紧固或结合。
图2是例示机器人3B、3C的概略结构的示意图。例如,机器人3B、3C是6轴垂直多关节机器人,具有基部11、旋转部12、第一臂13、第二臂14、第三臂17、前端部18以及致动器41、42、43、44、45、46。基部11设置于输送机3A的周围。旋转部12以围绕铅垂的轴线21旋转的方式设置在基部11上。第一臂13以围绕与轴线21交叉(例如正交)的轴线22摆动的方式与旋转部12连接。交叉也包括如所谓的立体交叉那样处于扭转的关系的情况。第二臂14以围绕与轴线22实质上平行的轴线23摆动的方式与第一臂13的前端部连接。第二臂14包括臂基部15和臂端部16。臂基部15与第一臂13的前端部连接,沿着与轴线23交叉(例如正交)的轴线24延伸。臂端部16以围绕轴线24旋转的方式与臂基部15的前端部连接。第三臂17以围绕与轴线24交叉(例如正交)的轴线25摆动的方式与臂端部16的前端部连接。前端部18以围绕与轴线25交叉(例如正交)的轴线26旋转的方式与第三臂17的前端部连接。
这样,机器人3B、3C具有:将基部11与旋转部12连接的关节31;将旋转部12与第一臂13连接的关节32;将第一臂13与第二臂14连接的关节33;在第二臂14中将臂基部15与臂端部16连接的关节34;将臂端部16与第三臂17连接的关节35;以及将第三臂17与前端部18连接的关节36。
致动器41、42、43、44、45、46例如包括电动马达和减速器,分别驱动关节31、32、33、34、35、36。例如致动器41使旋转部12绕轴线21旋转,致动器42使第一臂13绕轴线22摆动,致动器43使第二臂14绕轴线23摆动,致动器44使臂端部16绕轴线24旋转,致动器45使第三臂17绕轴线25摆动,致动器46使前端部18绕轴线26旋转。
此外,机器人3B、3C的具体结构能够适当变更。例如机器人3B、3C可以是对上述6轴垂直多关节机器人进一步追加了1轴关节的7轴冗余型机器人,也可以是所谓标量型的多关节机器人。
控制系统4控制多个机器3。以下对控制系统4进行详细叙述。
(控制系统)
控制系统4包括实际控制系统5和模拟装置100。实际控制系统5控制多个机器3。实际控制系统5也可以具有分别控制多个机器3的多个控制器7、以及能够与多个控制器7进行通信的控制器6。作为一例,在图1中示出了控制输送机3A的控制器7A、控制机器人3B的控制器7B、控制机器人3C的控制器7C、以及能够与控制器7A、7B、7C进行通信的控制器6。
控制器7A是马达控制器,以规定的控制周期重复执行根据控制指令使输送机3A动作的分段处理。在本实施方式中,“分段处理”是指对每1个循环分配而确定的处理,只要是对每个循环进行处理的处理,其内容就没有特别限定。以下,将针对控制器7A的控制指令称为“运送控制指令”,将控制器7A执行的分段处理称为“运送分段处理”,将执行运送分段处理的控制周期称为“运送控制周期”。
运送控制指令例如包括运送目标位置和工件到运送目标位置的移动速度。例如,运送分段处理包括:基于运送控制指令,计算每个运送控制周期的输送机3A的动作目标值;以及根据动作目标值使输送机3A动作。
控制器7B是机器人控制器,以规定的控制周期重复执行在控制指令中使机器人3B动作的分段处理。以下,将针对控制器7B的控制指令称为“第一机器人控制指令”,将控制器7B执行的分段处理称为“第一机器人分段处理”,将执行第一机器人分段处理的控制周期称为“第一机器人控制周期”。
第一机器人控制指令例如包含任务程序的执行指令。任务程序是包含按时间序列排列的1个以上的动作命令的动作程序。任务程序被预先准备,并存储在控制器7B内。1个以上的动作命令分别包含前端部18的目标位置/姿势、和前端部18到达目标位置/姿势的目标移动速度。
第一机器人分段处理包括:基于第一机器人控制指令来计算每个第一机器人控制周期的前端部18的目标位置/姿势;通过逆运动学运算来计算用于使前端部18移动到计算出的目标位置/姿势的致动器41、42、43、44、45、46的动作目标值;以及根据计算出的动作目标值来使致动器41、42、43、44、45、46动作。
控制器7C是机器人控制器,以规定的控制周期重复执行在控制指令中使机器人3C动作的分段处理。以下,将针对控制器7C的控制指令称为“第二机器人控制指令”,将控制器7C执行的分段处理称为“第二机器人分段处理”,将执行第二机器人分段处理的控制周期称为“第二机器人控制周期”。
第二机器人控制指令例如包含任务程序的执行指令。任务程序是包含按时间序列排列的1个以上的动作命令的动作程序。任务程序被预先准备,并存储在控制器7C内。1个以上的动作命令分别包含前端部18的目标位置/姿势、和前端部18到达目标位置/姿势的目标移动速度。
第二机器人分段处理包括:基于第二机器人控制指令来计算每个第二机器人控制周期的前端部18的目标位置/姿势;通过逆运动学运算来计算用于使前端部18移动到计算出的目标位置/姿势的致动器41、42、43、44、45、46的动作目标值;以及根据计算出的动作目标值来使致动器41、42、43、44、45、46动作。
控制器6例如是可编程逻辑控制器,以规定的控制周期重复执行使多个机器3的动作协调的分段处理。以下,将控制器6执行的分段处理称为“系统分段处理”,将执行系统分段处理的控制周期称为“系统控制周期”。
系统分段处理包括:从多个控制器7等接收多个机器3及工件的状态信息;基于预先确定的系统程序及状态信息,确定应开始新动作的机器3(以下称为“控制对象机器”);以及将用于使新动作开始的控制指令发送到控制对象机器3的控制器7。例如,在输送机3A为控制对象机器的情况下,控制器6基于系统程序,将用于使输送机3A执行新动作的运送控制指令发送至控制器7A。在机器人3B是控制对象机器的情况下,控制器6基于系统程序向控制器7B发送用于使机器人3B执行新动作的第一机器人控制指令。在机器人3C是控制对象机器的情况下,控制器6基于系统程序向控制器7C发送用于使机器人3C执行新动作的第二机器人控制指令。
作为一例,控制器6也可以基于状态信息来确认工件是否配置于机器人3B、3C用的作业位置,在判断为工件配置于该作业位置的情况下,将使输送机3A停止运送对工件的运送控制指令发送至控制器7A,将包含对工件的作业的任务程序的执行指令的第一机器人控制指令及第二机器人控制指令分别发送至控制器7B、7C。另外,控制器6也可以基于状态信息来确认机器人3B、3C对工件的作业是否完成,在判断为机器人3B、3C对工件的作业已完成的情况下,向控制器7A发送使输送机3A重新开始运送工件的运送控制指令。
这样,通过控制器6发送运送控制指令以及第一机器人控制指令,控制器7B、7C(第二控制器)以与基于控制器7A(第一控制器)的控制的输送机3A的动作协调的方式使机器人3B、3C动作。另外,控制器7A(第二控制器)以与基于控制器7B、7C(第一控制器)的控制的机器人3B、3C的动作协调的方式使输送机3A动作。
控制器6也可以基于状态信息,通过机器人3B确认是否在基体零件中的规定的第一组装位置配置有第一副零件,在判断为第一副零件配置于第一组装位置的情况下,向机器人3C发送包含将第一副零件紧固或接合于基体零件的作业的任务程序的执行指令的第二机器人控制指令。
控制器6也可以基于状态信息,通过机器人3C确认第一副零件是否紧固或接合于基体零件,在判断为第一副零件紧固或接合于基体零件的情况下,将包含在基体零件中的规定的第二组装位置配置第二副零件的任务程序的执行指令的第一机器人控制指令发送给机器人3B。
控制器6也可以基于状态信息,通过机器人3B确认在第二组装位置是否配置有第二副零件,在判断为第二副零件配置于第二组装位置的情况下,向机器人3C发送包含将第二副零件紧固或接合于基体零件的作业的任务程序的执行指令的第二机器人控制指令。
这样,通过控制器6发送第一机器人控制指令以及第二机器人控制指令,控制器7C(第二控制器)以与基于控制器7B(第一控制器)的控制的机器人3B的动作协调的方式使机器人3C动作。另外,控制器7B(第二控制器)以与基于控制器7C(第一控制器)的控制的机器人3C的动作协调的方式使机器人3B动作。
如上所述,控制器6能够与多个控制器7进行通信,因此控制器7彼此也能够经由控制器6间接地进行通信。也可以是控制器7彼此能够直接通信。
控制器6向控制器7发送控制指令相当于控制器6对包含控制器7和机器3的机器2进行控制。例如,控制器6向控制器7A发送控制指令相当于控制器6对包括控制器7A和输送机3A的机器2A进行控制。控制器6向控制器7B发送控制指令相当于控制器6控制包含控制器7B和机器人3B的机器2B。控制器6向控制器7C发送控制指令相当于控制器6控制包含控制器7C和机器人3C的机器2C。
因此,控制器6相当于控制多个机器2A、2B、2C的控制器。控制器7B、7C以与基于控制器7A的控制的输送机3A的动作协调的方式使机器人3B、3C动作相当于控制器7B、7C(第二控制器)以与基于控制器6(第一控制器)的控制的机器2A的动作协调的方式使机器人3B、3C动作。
控制器7A以与基于控制器7B、7C的控制的机器人3B、3C的动作协调的方式使输送机3A动作相当于控制器7A(第二控制器)以与基于控制器6(第一控制器)的控制的机器2B、2C的动作协调的方式使输送机3A动作。
控制器7C以与基于控制器7B的控制的机器人3B的动作协调的方式使机器人3C动作相当于控制器7C(第二控制器)以与基于控制器6(第一控制器)的控制的机器2B的动作协调的方式使机器人3C动作。
控制器7B以与基于控制器7C的控制的机器人3C的动作协调的方式使机器人3B动作相当于控制器7B(第二控制器)以与基于控制器6(第一控制器)的控制的机器2C的动作协调的方式使机器人3B动作。
模拟装置100模拟实际控制系统5对多个机器3的控制。在这样的系统整体的模拟中,也需要适当地模拟多个机器3彼此的协调关系。然而,多个机器3各自的模拟未必实时地进行。例如,由控制器7A进行的运送分段处理的模拟包括基于运送控制指令,计算每个运送控制周期的输送机3A的动作目标值,并计算与动作目标值对应的输送机3A的动作量,但该模拟的运算时间不限于与运送控制周期一致。因此,若单独地模拟控制器6以及多个控制器7的控制,则无法适当地模拟控制器6的控制进展与控制器7的控制进展的关系、以及控制器7的控制进展与控制器7的控制进展的关系,无法在模拟空间中再现多个机器3的协调关系。
与此相对,模拟装置100被构成为执行:通过第一模拟器模拟第一控制器对第一机器的控制;通过第二模拟器模拟第二控制器对第二机器的控制;以及基于第一控制器的控制进展与第二控制器的控制进展的关系,对第一模拟器的模拟进展与第二模拟器的模拟进展进行控制。
由此,即使在以与实际时间不同的经过时间执行的非实时模拟中,也能够使基于第一模拟器的模拟进展与基于第二模拟器的模拟进展的关系,容易地对应于第一控制器对第一机器的控制进展与第二控制器对第二机器的控制进展的关系。因此,能够在模拟空间中容易地再现多个机器3的协调关系。
例如如图3所示,作为功能上的结构,模拟装置100具有多个模拟器101、102和模拟管理器110。
作为多个模拟器102的一例,在图3中示出了与控制器7A、7B、7C分别对应的模拟器102A、102B、102C。模拟器102A模拟控制器7A对输送机3A的控制。例如,模拟器102A模拟由上述控制器7A进行的运送分段处理。运送分段处理的模拟包括:基于运送控制指令,计算每个运送控制周期的输送机3A的动作目标值;以及计算与动作目标值对应的输送机3A的动作量。
模拟器102B模拟控制器7B对机器人3B的控制。例如,模拟器102B模拟由上述控制器7B执行的第一机器人分段处理。第一机器人分段处理的模拟包括:基于第一机器人控制指令,计算每个第一机器人控制周期的前端部18的目标位置/姿势;通过逆运动学运算计算用于使前端部18移动到计算出的目标位置/姿势的致动器41、42、43、44、45、46的动作目标值;以及计算与计算出的动作目标值对应的致动器41、42、43、44、45、46的动作量。
模拟器102C模拟控制器7C对机器人3C的控制。例如,模拟器102C模拟由上述控制器7C执行的第二机器人分段处理。第二机器人分段处理的模拟包括:基于第二机器人控制指令,计算每个第二机器人控制周期的前端部18的目标位置/姿势;通过逆运动学运算计算用于使前端部18移动到计算出的目标位置/姿势的致动器41、42、43、44、45、46的动作目标值;以及计算与计算出的动作目标值对应的致动器41、42、43、44、45、46的动作量。
模拟器101模拟控制器6对机器2A、2B、2C的控制。例如,模拟器101模拟上述控制器6的系统分段处理。系统分段处理的模拟包括:获取基于多个模拟器102A、102B、102C的模拟结果的多个机器3及工件的虚拟状态信息;基于预先确定的系统程序和虚拟状态信息,确定应开始新动作的机器3(以下,称为“控制对象机器”);以及将用于使新动作开始的控制指令发送到控制对象机器3的模拟器102。
模拟器102B、102C(第二模拟器)也可以模拟控制器7B、7C(第二控制器)对机器人3B、3C(第二机器)的控制,以使机器人3B、3C(第二机器)的动作的模拟结果与模拟器102A(第一模拟器)对输送机3A(第一机器)的动作的模拟结果协调。
模拟器102B、102C(第二模拟器)也可以模拟控制器7B、7C(第二控制器)对机器人3B、3C(第二机器)的控制,以使机器人3B、3C(第二机器)的动作的模拟结果与模拟器101(第一模拟器)对机器2A(第一机器)的动作的模拟结果协调。
模拟器102A(第二模拟器)也可以模拟控制器7A(第二控制器)对输送机3A(第二机器)的控制,以使输送机3A(第二机器)的动作的模拟结果与模拟器102B、102C(第一模拟器)对机器人3B、3C(第一机器)的动作的模拟结果协调。
模拟器102A(第二模拟器)也可以模拟控制器7A(第二控制器)对输送机3A(第二机器)的控制,以使输送机3A(第二机器)的动作的模拟结果与模拟器101(第一模拟器)对机器2B、2C(第一机器)的动作的模拟结果协调。
模拟器102C(第二模拟器)也可以模拟控制器7C(第二控制器)对机器人3C(第二机器)的控制,以使机器人3C(第二机器)的动作的模拟结果与模拟器102B(第一模拟器)对机器人3B(第一机器)的动作的模拟结果协调。
模拟器102C(第二模拟器)也可以模拟控制器7C(第二控制器)对机器人3C(第二机器)的控制,以使机器人3C(第二机器)的动作的模拟结果与模拟器101(第一模拟器)对机器2B(第一机器)的动作的模拟结果协调。
模拟器102B(第二模拟器)也可以模拟控制器7B(第二控制器)对机器人3B(第二机器)的控制,以使机器人3B(第二机器)的动作的模拟结果与模拟器102C(第一模拟器)对机器人3C(第一机器)的动作的模拟结果协调。
模拟器102B(第二模拟器)也可以模拟控制器7B(第二控制器)对机器人3B(第二机器)的控制,以使机器人3B(第二机器)的动作的模拟结果与模拟器101(第一模拟器)对机器2C(第一机器)的动作的模拟结果协调。
模拟管理器110以与第一控制器的控制进展和第二控制器的控制进展的关系对应的方式,控制第一模拟器的模拟进展和第二模拟器的模拟进展。例如,模拟管理器110也可以控制模拟器101的模拟进展和模拟器102A、102B、102C的模拟进展,以使模拟器101(第一模拟器)的模拟进展和模拟器102A、102B、102C(第二模拟器)的模拟进展的关系与控制器6(第一控制器)的控制进展和控制器7A、7B、7C(第二控制器)的控制进展的关系对应。由此,由模拟器101进行的模拟进展、由模拟器102A进行的模拟进展、由模拟器102B进行的模拟进展、由模拟器102C进行的模拟进展的关系与由控制器6进行的控制进展、由控制器7A进行的控制进展、由控制器7B进行的控制进展、由控制器7C进行的控制进展的关系对应。
模拟管理器110也可以以与在第一控制器的控制下重复执行的第一分段处理的执行定时和在第二控制器的控制下重复执行的第二分段处理的执行定时的关系对应的方式,控制由第一模拟器重复执行的第一分段处理的执行定时和由第二模拟器重复执行的第二分段处理的执行定时。
例如,模拟管理器110可以控制由模拟器101重复的系统分段处理的执行定时和由模拟器102A、102B、102C重复的运送分段处理、第一机器人分段处理以及第二机器人分段处理的执行定时,使得由模拟器101重复的系统分段处理的执行定时与由模拟器102A、102B、102C重复的运送分段处理、第一机器人分段处理以及第二机器人分段处理的执行定时的关系对应于由控制器6(第一控制器)的控制重复的系统分段处理的执行定时和由控制器7A、7B、7C的控制重复的运送分段处理、第一机器人分段处理以及第二机器人分段处理的执行定时的关系。
模拟管理器110也可以根据表示第一控制器的第一分段处理的重复周期的第一控制周期和表示第二控制器的第二分段处理的重复周期的第二控制周期,控制由第一模拟器重复的第一分段处理的执行定时和由第二模拟器重复的第二分段处理的执行定时。例如,模拟管理器110可以基于系统控制周期、运送控制周期、第一机器人控制周期和第二机器人控制周期来控制由模拟器101重复的系统分段处理的执行定时以及由模拟器102A、102B和102C重复的运送分段处理、第一机器人分段处理和第二机器人分段处理的执行定时。
作为一个例子,如图4所示,模拟管理器110具有计数器111、周期信息存储部112、选择部113以及执行部114。计数器111对模拟循环数进行计数。周期信息存储部112存储系统控制周期、运送控制周期、第一机器人控制周期和第二机器人控制周期。
选择部113基于系统控制周期、运送控制周期、第一机器人控制周期和第二机器人控制周期以及模拟循环数来选择模拟器101和模拟器102A、102B和102C中的至少一个。例如,在从上次执行系统分段处理起计数的模拟循环数成为与系统控制周期对应的模拟循环数的情况下,选择部113选择模拟器101。在此,与系统控制周期等的比较对象时间对应的模拟循环数例如是指模拟循环数乘以规定的模拟基准时间而得到的时间成为比较对象时间以上的模拟循环数。
选择部113在从上次执行运送分段处理起计数的模拟循环数成为与运送控制周期对应的模拟循环数的情况下,选择模拟器102A。选择部113在从上次执行第一机器人分段处理起计数的模拟循环数成为与第一机器人控制周期对应的模拟循环数的情况下,选择模拟器102B。选择部113在从上次执行第二机器人分段处理起计数的模拟循环数成为与第二机器人控制周期对应的模拟循环数的情况下,选择模拟器102C。
与系统控制周期对应的模拟循环数、与运送控制周期对应的模拟循环数、与第一机器人控制周期对应的模拟循环数、以及与第二机器人控制周期对应的模拟循环数均可以为1以上。例如,上述模拟基准时间的长度可以等于或小于系统控制周期、运送控制周期、第一机器人控制周期和第二机器人控制周期中的最短控制周期的长度。
执行部114使选择部113选择出的至少一个模拟器分别执行分段处理。例如,执行部114在由选择部113选择了模拟器101的情况下使模拟器101执行系统分段处理,在由选择部113选择了模拟器102A的情况下使模拟器102A执行运送分段处理,在由选择部113选择了模拟器102B的情况下使模拟器102B执行第一机器人分段处理,在由选择部113选择了模拟器102C的情况下使模拟器102C执行第二机器人分段处理。
模拟管理器110也可以在接收到单独模拟的指示的情况下,从模拟器101、102中选择一个单独执行模拟器,与基于其他模拟器的模拟进展无关地执行基于单独执行模拟器的模拟。
返回图3,模拟装置100也可以构成为基于第一模拟器的模拟结果和第二模拟器的模拟结果来模拟第一机器的动作和第二机器的动作。
例如模拟装置100还具有模型存储部121和动作模拟部122。模型存储部121存储多个机器3的模型信息。机器3的模型信息包含与机器3的结构及各部的尺寸相关的信息。
动作模拟部122基于模拟器101、102的模拟结果,模拟多个机器3的动作。例如,动作模拟部122基于由模拟器102A计算出的输送机3A的动作量和模型存储部121存储的输送机3A的模型信息,模拟输送机3A的动作。另外,动作模拟部122通过基于由模拟器102B计算出的致动器41、42、43、44、45、46的动作量和模型存储部121存储的机器人3B的模型信息的正向运动学运算,来模拟机器人3B的动作。同样地,动作模拟部122通过基于由模拟器102C计算出的致动器41、42、43、44、45、46的动作量和模型存储部121存储的机器人3C的模型信息的正向运动学运算,来模拟机器人3C的动作。
动作模拟部122也可以在第一模拟器的模拟结果和第二模拟器的模拟结果双方被更新之后,模拟第一机器的动作以及第二机器的动作。例如,动作模拟部122也可以在模拟了多个机器3的动作之后,在模拟器101、102全部执行了1个循环以上的分段处理的定时,再次模拟多个机器3的动作。动作模拟部122也可以基于多个机器3的动作的模拟结果,生成多个机器3的动作的模拟图像,并显示于后述的显示设备196等。
模拟装置100也可以构成为进行第一模拟器与第二模拟器之间的通信数据的交接,以再现在第一控制器与第二控制器之间直接或间接地进行的通信。例如模拟装置100还具有通信模拟器130和通信数据存储部141。
通信数据存储部141包括至少一个通信缓冲器150。通信缓冲器150用于暂时存储第一模拟器与第二模拟器之间的交接用的通信数据。通信缓冲器150也可以包括从数据传输方向的上游向下游排列的多个存储区域。暂时存储在通信缓冲器150内的通信数据从数据传输方向的上游向下游依次传输。
通信模拟器130进行第一模拟器与第二模拟器之间的通信数据的交接,以再现在第一控制器与第二控制器之间直接或间接地进行的通信。例如,通信模拟器130以再现在控制器6、7A、7B、7C中的发送侧的控制器与接收侧的控制器之间直接或间接地进行的通信的方式,进行模拟器101、102A、102B、102C中的发送侧的模拟器与接收侧的模拟器之间的通信数据的交接。通信模拟器130也可以在基于预先确定的虚拟延迟时间的定时,使接收侧的模拟器获取发送侧的模拟器生成的通信数据。
例如,如图5所示,通信模拟器130具有通信计数器131、通信数据保存部133、通信数据传输部132和通信数据读出部134。
通信计数器131对通信循环数进行计数。通信数据保存部133将发送侧的模拟器生成的通信数据保存在通信缓冲器150中。例如,通信数据保存部133将由发送侧模拟器生成的通信数据存储在通信缓冲器150的最上游存储区域中。每当通信循环数被计数时,通信数据传输部132将通信数据在通信缓冲器150中传输到下游的一个存储区域。通信数据读出部134读出由通信数据传输部132传输到最下游的存储区域的通信数据,并使接收侧的模拟器获取该通信数据。
在通信缓冲器150中存储通信数据后计数的通信循环数成为与虚拟延迟时间对应的通信循环数的情况下,通信数据读出部134读出通信缓冲器150中保存的通信数据并使接收侧的模拟器获取该数据。所谓与虚拟延迟时间对应的通信循环数,例如是指对通信循环数乘以规定的通信基准时间而得到的时间成为虚拟延迟时间以上的通信循环数。
作为一个例子,通信缓冲器150也可以包含与上述虚拟延迟时间对应的数量的存储区域。存储区域的数量与虚拟延迟时间对应是指,例如在最上游的存储区域中保存的通信数据被传输到最下游的存储区域的通信循环数乘以上述通信基准时间而得到的时间,与虚拟延迟时间对应。例如,满足下式是存储区域的数量与虚拟延迟时间对应的一例。
存储区域的数量=虚拟延迟时间/通信基准时间+1……(1)
如果通信缓冲器150的存储区域的数量与虚拟延迟时间对应,则到通信缓冲器150读出保存在通信缓冲器150中的通信数据为止的通信循环数与虚拟延迟时间对应。
通信计数器131也可以与计数器111对模拟循环的计数同步地对通信循环数进行计数。通信计数器131也可以以高于计数器111对模拟循环进行计数的频率,对通信循环数进行计数。例如,通信计数器131也可以以整数倍于计数器111对模拟循环进行计数的频率,对通信循环数进行计数。
例如,上述通信基准时间可以与上述模拟基准时间相同,也可以比模拟基准时间短。通信基准时间也可以是模拟基准时间的整数分之一。
图6是例示发送侧的模拟器生成的通信数据、通信缓冲器150的内容、以及接收侧的模拟器获取的通信数据的变迁的示意图。在图6中,通信缓冲器150具有从数据传输方向的上游向下游排列的四个存储区域151、152、153、154,但通信缓冲器150所具有的通信数据的数量并不限定于四个。
信号波形TS是例示发送侧的模拟器生成的通信数据所包含的一个信号(以下,称为“通信信号”)的曲线图,信号波形RS是例示接收侧的模拟器获取的通信信号的曲线图。在任一曲线图中,横轴表示通信循环数,纵轴表示通信信号的值。
信号波形TS、RS例示了以“接通(OFF)”或“断开(ON)”这两个值表示信息的通信信号。信号波形TS、RS为低值时,表示通信信号为“OFF”,信号波形TS、RS为高值时,表示通信信号为“ON”。
在通信循环CS1中,通信数据传输部132将已经保存在通信缓冲器150中的各个通信数据传输到下游的一个存储区域。例如,通信数据传输部132将保存在存储区域153中的通信数据传输到存储区域154,将保存在存储区域152中的通信数据传输到存储区域153,并且将保存在存储区域151中的通信数据传输到存储区域152。保存在最下游的存储区域154中的通信数据被从存储区域153传输来的通信数据覆盖。
接着,通信数据保存部133将作为信号波形TS的当前值的“OFF”保存在最上游的存储区域151中。由此,在通信循环CS1中,成为在存储区域151、152、153、154的全部保存有“OFF”的状态。通信数据读出部134读出保存在最下游的存储区域154中的“OFF”并使接收用的模拟器获取该数据。由此,信号波形RS的当前值成为“OFF”。
通信数据传输部132、通信数据保存部133以及通信数据读出部134在每次由通信计数器131计数通信循环数时,重复同样的处理。在通信循环CS1之后,在通过通信计数器131对通信循环数进行了向上两个计数的通信循环CS3中,由于信号波形TS的当前值为“ON”,因此成为在最上游的存储区域151中存储有“ON”、在其他存储区域152、153、154中存储有“OFF”的状态。通信数据读出部134读出保存在最下游的存储区域154中的“OFF”并使接收用的模拟器获取该数据,因此信号波形RS的当前值维持为“OFF”不变。
在通信循环CS3之后,在由通信计数器131对通信循环数进行了向上两个计数的通信循环CS5中,由于信号波形TS的当前值为“OFF”,因此成为在存储区域151中保存“OFF”、在存储区域152、153中保存“ON”、在存储区域154中保存“OFF”的状态。通信数据读出部134读出保存在最下游的存储区域154中的“OFF”并使接收用的模拟器获取该数据,因此信号波形RS的当前值依然维持为“OFF”。
在通信循环CS5的下一个通信循环CS6中,在通信循环CS3中保存于存储区域151的“ON”到达存储区域154。由于通信数据读出部134将其读出,并使接收用的模拟器获取该数据,所以信号波形RS的当前值变化为“ON”。
在通信循环CS6之后,在由通信计数器131对通信循环数进行了两个向上计数的通信循环CS8中,在通信循环CS5中保存于存储区域151的“OFF”到达存储区域154。由于通信数据读出部134将其读出,并使接收用的模拟器获取该数据,所以信号波形RS的当前值变化为“OFF”。
这样,在信号波形RS的变化中,在最上游的存储区域151中保存的通信数据到达最下游的存储区域154为止的通信循环数产生延迟。即,在信号波形RS的变化中,在从通信缓冲器150的存储区域的数量减去1而得到的通信循环数产生延迟。延迟的通信循环数模拟对该数量乘以上述通信基准时间而得到的时间的通信延迟时间。
返回到图3,通信模拟器130也可以基于将多个发送侧的模拟器与多个接收侧的模拟器分别建立对应的多个通信定义,按多个通信定义的每一个执行从发送侧的模拟器获取通信数据、以及使接收侧的模拟器获取通信数据。
例如,模拟装置100还具有通信映射142。通信映射142存储多个通信定义。多个通信定义也可以分别包含虚拟延迟时间。在该情况下,通信模拟器130也可以按照多个通信定义的每一个,使接收侧的模拟器在基于虚拟延迟时间的定时获取发送侧的模拟器生成的通信数据。
模拟装置100还可以具有通信缓冲器分配部143。通信缓冲器分配部143按多个通信定义的每一个分配与虚拟延迟时间相对应大小的通信缓冲器。例如,通信缓冲器分配部143为多个通信定义中的每一个分配包括与虚拟延迟时间对应的数量的存储区域的通信缓冲器。作为一例,通信缓冲器分配部143按多个通信定义的每一个分配包含满足上述式(1)的数量的存储区域的通信缓冲器。
通信模拟器130也可以按多个通信定义的每一个执行将发送侧的模拟器所生成的通信数据保存到通信缓冲器150中。通信模拟器130也可以在通信缓冲器150中保存通信数据之后计数的通信循环数成为与虚拟延迟时间对应的通信循环数的情况下,按多个通信定义的每一个执行读出通信缓冲器150中保存的通信数据并使接收侧的模拟器获取该数据的处理。
例如,如图5所示,通信数据保存部133也可以参照通信映射142,按多个通信定义的每一个执行将发送侧的模拟器生成的通信数据保存在通信缓冲器150的最上游的存储区域中。通信数据传输部132也可以在每次计数通信循环数时,按多个通信定义的每一个执行将通信数据传输到通信缓冲器150中下游的一个存储区域。通信数据读出部134也可以参照通信映射142,按多个通信定义的每一个执行读出由通信数据传输部132传输到最下游的存储区域的通信数据并使接收侧的模拟器获取该通信数据的处理。
图7是例示保存在通信映射142中的多个通信定义的表。在图7中,表的1行表示一个通信定义160。通信定义160包括发送侧定义161、接收侧定义162和虚拟延迟时间163。
发送侧定义161包括发送侧的模拟器的识别信息和地址。地址是写入发送侧的模拟器所生成的通信数据的存储区域(以下,称为“发送用存储区域”)的地址。接收侧定义162包括接收侧的模拟器的识别信息和地址。地址是接收侧的模拟器在模拟时读出通信数据的存储区域(以下,称为“接收用存储区域”)的地址。
通信数据保存部133基于通信定义160,读出保存在发送用存储区域中的通信数据,并保存在通信缓冲器150的最上游的存储区域中。通信数据读出部134读出保存在通信缓冲器150的最下游的存储区域中的通信数据,并基于通信定义160保存在接收用存储区域中。
模拟装置100也可以构成为根据所指定的再现速度来变更模拟器101、102的模拟进展速度。另外,模拟装置100也可以构成为根据停止指令来中断模拟器101、102的模拟。例如模拟装置100还具有进展速度调节部171和中断部172。
进展速度调节部171例如从后述的输入设备195获取再现速度的指定,根据再现速度的指定来变更模拟器101、102的模拟进展速度。例如,进展速度调节部171使计数器111以规定的模拟周期执行模拟循环数的计数,根据再现速度的指定来变更模拟周期。例如,进展速度调节部171通过缩短模拟周期来提高再现速度,通过延长模拟周期来减慢再现速度。
中断部172例如从后述的输入设备195获取停止指令,根据停止指令,中断模拟器101、102的模拟。例如,中断部172中断计数器111对模拟循环数的计数。
控制系统4也可以构成为将模拟装置100的模拟结果与实际控制系统5的实际的控制结果进行比较,来设定上述的虚拟延迟时间。另外,控制系统4也可以构成为将模拟装置100的模拟结果与实际控制系统5的实际的控制结果进行比较,来检测实际控制系统5中的异常。
例如,控制系统4还可以包括数据收集装置200。数据收集装置200收集表示模拟装置100的模拟结果的虚拟数据和表示实际控制系统5的控制结果的真实数据。
如图8所示,数据收集装置200具有真实数据存储部201、虚拟数据存储部202以及背离评价部203。真实数据存储部201从控制器6获取真实数据并进行积存。虚拟数据存储部202从模拟装置100获取虚拟数据并进行积存。
背离评价部203评价虚拟数据与真实数据的背离。例如,背离评价部203通过将模拟循环数乘以上述模拟基准时间,将模拟循环数换算为经过时间后,评价虚拟数据中的各种事件的发生时刻与真实数据中的各种事件的发生时刻的背离。
在控制系统4还包括数据收集装置200的情况下,模拟装置100还可以具有数据积存部181和虚拟延迟设定部144。数据积存部181从模拟管理器110获取模拟器101、102A、102B、102C的模拟结果,从动作模拟部122获取多个机器3的动作的模拟结果,并积存在虚拟数据存储部202中。
虚拟延迟设定部144使虚拟延迟时间与实际的控制中的通信延迟时间对应。虚拟延迟设定部144也可以按上述多个通信定义的每一个执行使虚拟延迟时间与实际的控制中的通信延迟时间对应的处理。例如,虚拟延迟设定部144重复获取背离评价部203的背离的评价结果、以及变更多个通信定义的每一个的虚拟延迟时间以缩小背离的评价结果,直到背离的评价结果成为规定的校准水平以下为止。
数据收集装置200还可以具有异常检测部204。异常检测部204基于控制器6、7A、7B、7C的控制进展与模拟器101、102A、102B、102C的模拟进展的比较,检测实际控制系统5的异常。
例如,异常检测部204基于背离评价部203的背离的评价结果,检测实际控制系统5的异常。例如,异常检测部204在背离评价部203的背离的评价结果超过规定的异常检测水平的情况下,检测实际控制系统5的异常。
数据收集装置200还可以具有比较图像生成部205。比较图像生成部205生成对控制器6、7的控制进展与模拟器101、102的模拟进展进行对比的比较图像,并显示于后述的显示设备196、296等。例如,比较图像生成部205生成包括表示虚拟数据中的各种事件的发生时刻和真实数据中的各种事件的发生时刻的时序图的比较图像。
图9是例示模拟装置100以及数据收集装置200的硬件结构的框图。如图9所示,模拟装置100具有电路190。电路190包括一个或多个处理器191、内存192、存储器193、通信端口194、输入设备195和显示设备196。存储器193例如具有非易失性的半导体存储器等能够由计算机读取的存储介质。存储器193存储有程序,该程序使模拟装置100构成:第一模拟器,其模拟第一控制器对第一机器的控制;第二模拟器,其模拟第二控制器对第二机器的控制;以及模拟管理器110,其以与第一控制器的控制进展和第二控制器的控制进展之间的关系对应的方式,对第一模拟器的模拟进展和第二模拟器的模拟进展进行控制。
内存192暂时存储从存储器193的存储介质加载的程序以及处理器191的运算结果。处理器191通过与内存192协作来执行上述程序,从而构成模拟装置100的各功能块。通信端口194按照来自处理器191的指令,经由网络线路NW,在与数据收集装置200以及控制器6之间进行通信。输入设备195及显示设备196作为模拟装置100的用户接口发挥功能。输入设备195例如是键盘等,获取用户的输入信息。显示设备196例如包括液晶监视器等,用于对用户的信息显示。输入设备195以及显示设备196也可以如所谓的触摸面板那样一体化。输入设备195及显示设备196可以组装于模拟装置100,也可以设置于与模拟装置100连接的外部设备。
数据收集装置200具有电路290。电路290包括一个或多个处理器291、内存292、存储器293、通信端口294、输入设备295和显示设备296。存储器293例如具有非易失性的半导体存储器等能够由计算机读取的存储介质。存储器293存储有程序,该程序使数据收集装置200构成从控制器6获取并积存真实数据的真实数据存储部201、从模拟装置100获取并积存虚拟数据的虚拟数据存储部202、以及对虚拟数据与真实数据的背离进行评价的背离评价部203。
内存292暂时存储从存储器293的存储介质加载的程序以及处理器291的运算结果。处理器291通过与内存292协作来执行上述程序,从而构成数据收集装置200的各功能块。通信端口294按照来自处理器291的指令,经由网络线路NW与模拟装置100及控制器6之间进行通信。输入设备295以及显示设备296作为数据收集装置200的用户接口发挥功能。输入设备295例如是键盘等,获取用户的输入信息。显示设备296例如包括液晶监视器等,用于对用户的信息显示。输入设备295以及显示设备296也可以如所谓的触摸面板那样一体化。输入设备295以及显示设备296可以组装于数据收集装置200,也可以设置于与数据收集装置200连接的外部设备。
此外,电路190和电路290不一定限于通过程序来构成各功能。例如,电路190以及电路290也可以通过专用的逻辑电路或集成了该专用的逻辑电路的ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)来构成至少一部分的功能。在硬件上,模拟装置100和数据收集装置200也可以不必分开,模拟装置100和数据收集装置200也可以由一个计算机构成。
(模拟过程)
接着,作为模拟方法的一例,例示模拟装置100执行的模拟过程。该过程包括:通过第一模拟器模拟第一控制器对第一机器的控制;通过第二模拟器模拟第二控制器对第二机器的控制;以及基于第一控制器的控制进展与第二控制器的控制进展的关系,对第一模拟器的模拟进展与第二模拟器的模拟进展进行控制。
如图10所示,模拟装置100首先执行步骤S01、S02、S03、S04。在步骤S01中,计数器111开始模拟循环数的计数。在步骤S02中,选择部113基于系统控制周期、运送控制周期、第一机器人控制周期以及第二机器人控制周期和模拟循环数,选择模拟器101、模拟器102A、102B、102C中的至少一个。
在步骤S03中,执行部114使选择部113选择出的至少一个模拟器分别执行分段处理。在步骤S04中,动作模拟部122确认模拟器101、102是否全部执行了1个循环以上的分段处理。
在步骤S04中,在判定为模拟器101、102全部执行了1个循环以上的分段处理的情况下,模拟装置100执行步骤S05、S06。在步骤S05中,动作模拟部122基于模拟器101、102的模拟结果,模拟多个机器3的动作。在步骤S06中,动作模拟部122基于多个机器3的动作的模拟结果,生成多个机器3的动作的模拟图像,并显示于显示设备196等。
接着,模拟装置100执行步骤S07。在步骤S04中,在判定为残留有未执行1个循环以上的分段处理的模拟器101、102的情况下,模拟装置100不执行步骤S05、S06而执行步骤S07。在步骤S07中,模拟管理器110确认实际控制系统5中的一系列控制的模拟是否完成。
在步骤S07中,在判定为实际控制系统5中的一系列控制的模拟未完成的情况下,模拟装置100执行步骤S08、S09、S11、S12、S13、S14。在步骤S08中,通信数据传输部132将通信数据在通信缓冲器150中传输到下游的一个存储区域。在步骤S09中,通信数据保存部133按多个通信定义的每一个执行将发送侧的模拟器所生成的通信数据保存到通信缓冲器150的最上游的存储区域的处理。在步骤S11中,通信数据读出部134按多个通信定义的每一个执行读出由通信数据传输部132传输到最下游的存储区域的通信数据并使接收侧的模拟器获取该通信数据。
在步骤S12中,数据积存部181从模拟管理器110获取模拟器101、102A、102B、102C的模拟结果,从动作模拟部122获取多个机器3的动作的模拟结果,并积存于虚拟数据存储部202。在步骤S13中,进展速度调节部171、中断部172进行再现速度的调节处理。关于步骤S13的具体内容将在后面叙述。在步骤S14中,计数器111对模拟循环数进行递增计数。之后,模拟装置100使处理返回到步骤S02。模拟装置100重复以上的模拟循环,直到实际控制系统5中的一系列控制的模拟完成为止。
在步骤S07中,在判定为实际控制系统5中的一系列控制的模拟完成的情况下,模拟装置100的模拟过程完成。
图11是例示步骤S13中的再现速度的调节处理的过程的流程图。如图11所示,模拟装置100首先执行步骤S21。在步骤S21中,进展速度调节部171确认在模拟循环数成为当前的值之后是否经过了上述模拟周期。
在步骤S21中判定为未经过模拟周期的情况下,模拟装置100执行步骤S22。在步骤S22中,中断部172确认是否输入了停止指令。在步骤S22中判定为输入了停止指令的情况下,模拟装置100执行步骤S23。在步骤S23中,中断部172等待再次开始指令的输入。由此,在输入重新开始指令之前,中断计数器111对循环数的计数,中断模拟器101、102的模拟。
接着,模拟装置100执行步骤S24。在步骤S22中判定为未输入停止指令的情况下,模拟装置100不执行步骤S23而执行步骤S24。在步骤S24中,进展速度调节部171确认是否输入了再现速度的指定。
在步骤S24中判定为输入了再现速度的指定的情况下,模拟装置100执行步骤S25。在步骤S25中,进展速度调节部171根据再现速度的指定来变更模拟周期。之后,模拟装置100使处理返回到步骤S21。在步骤S24中判定为未输入再现速度的指定的情况下,模拟装置100不执行步骤S25而使处理返回到步骤S21。之后,重复进行以上的处理,直到经过模拟周期为止。在步骤S21中判定为经过了模拟周期的情况下,再现速度的调节处理完成。
图12是表示模拟过程的变形例的流程图。该变形例例示了模拟装置100选择性地执行协调模拟和单独模拟的过程。如图12所示,模拟装置100首先执行步骤S31。在步骤S31中,模拟管理器110确认是否向输入设备195等输入了协调模拟的指示。
在步骤S31中判定为没有向输入设备195等输入协调模拟的指示的情况下,模拟装置100执行步骤S32。在步骤S32中,模拟管理器110确认是否向输入设备195等输入了单独模拟的指示。在步骤S32中,在判定为单独模拟的指示未被输入到输入设备195等的情况下,模拟装置100使处理返回到步骤S31。
在步骤S31中判定为协调模拟的指示被输入到输入设备195等的情况下,模拟装置100执行步骤S33。在步骤S33中,模拟管理器110协调地执行模拟器101、102的模拟。步骤S33的具体的过程如图10的步骤S01~S14所例示的那样。
在步骤S32中判定为单独模拟的指示被输入到输入设备195等的情况下,模拟装置100执行步骤S34。在步骤S34中,模拟管理器110执行单独模拟。
图13是例示步骤S34中的单独模拟过程的流程图。如图13所示,模拟装置100首先执行步骤S41、S42、S43、S44、S45。在步骤S41中,模拟管理器110基于单独模拟的指示,从模拟器101、102中选择一个单独执行模拟器。
在步骤S42中,模拟管理器110使单独执行模拟器执行分段处理。在步骤S43中,动作模拟部122基于单独执行模拟器的模拟结果,模拟与单独执行模拟器对应的机器3的动作。
在步骤S44中,动作模拟部122基于与单独执行模拟器对应的机器3的动作的模拟结果,生成该机器3的动作的模拟图像,并显示于显示设备196等。在步骤S45中,模拟管理器110确认由与单独执行模拟器对应的控制器进行的一系列控制的模拟是否完成。
在步骤S45中,在判定为由与单独执行模拟器对应的控制器进行的一系列控制的模拟未完成的情况下,模拟装置100使处理返回到步骤S42。在步骤S45中,在判定为由与单独执行模拟器对应的控制器进行的一系列的控制的模拟完成的情况下,单独模拟完成。
(虚拟延迟时间的调节过程)
接着,例示基于模拟结果进行的虚拟延迟时间的调节过程。如图14所示,数据收集装置200首先执行步骤S51、S52。在步骤S51中,背离评价部203等待实际控制系统5的控制完成、在真实数据存储部201中积存真实数据。在步骤S52中,背离评价部203评价虚拟数据与真实数据的背离。
接着,模拟装置100执行步骤S53。在步骤S53中,虚拟延迟设定部144确认背离评价部203的背离度的评价结果是否为上述校准水平以下。
在步骤S53中,在判定为背离度的评价结果未成为校准水平以下的情况下,模拟装置100执行步骤S54、S55。在步骤S54中,虚拟延迟设定部144变更多个通信定义的每一个的虚拟延迟时间,以缩小背离度。在步骤S55中,虚拟延迟设定部144使模拟装置100再次执行由实际控制系统5进行的一系列控制的模拟。之后,模拟装置100使处理返回到步骤S52。
在步骤S53中,在判定为背离度的评价结果为校准水平以下的情况下,模拟装置100执行步骤S56。在步骤S56中,通信缓冲器分配部143为多个通信定义中的每一个分配具有与由虚拟延迟设定部144设定的虚拟延迟时间相对应大小的通信缓冲器。至此,完成虚拟延迟时间的调节过程。
(异常检测过程)
接着,例示数据收集装置200的异常检测过程。如图15所示,数据收集装置200首先执行步骤S61、S62、S63。在步骤S61中,背离评价部203等待实际控制系统5的控制完成、在真实数据存储部201中积存真实数据。在步骤S62中,背离评价部203评价虚拟数据与真实数据的背离。在步骤S63中,异常检测部204确认背离评价部203的背离度的评价结果是否超过上述异常检测水平。
在步骤S63中,在判定为背离度的评价结果未超过异常检测水平的情况下,数据收集装置200使处理返回到步骤S61。以后,重复进行虚拟数据与真实数据的背离的评价,直到背离度的评价结果超过异常检测水平为止。
在步骤S63中,在判定为背离度的评价结果超过异常检测水平的情况下,数据收集装置200执行步骤S64、S65。在步骤S64中,异常检测部204检测实际控制系统5的异常。在步骤S65中,异常检测部204通过向显示设备196、296的显示等来报告实际控制系统5的异常。此时,比较图像生成部205也可以生成将控制器6、7的控制进展与模拟器101、102的模拟进展进行对比的比较图像,并显示于后述的显示设备196、296等。
(本实施方式的效果)
如以上说明的那样,模拟装置100包括:第一模拟器,其模拟第一控制器对第一机器的控制;第二模拟器,其模拟第二控制器对第二机器的控制;以及模拟管理器110,其以与第一控制器的控制进展和第二控制器的控制进展之间的关系对应的方式,对第一模拟器的模拟进展和第二模拟器的模拟进展进行控制。
根据该模拟装置100,即使在以与实际时间不同的经过时间执行的非实时模拟中,也能够使基于第一模拟器的模拟进展与基于第二模拟器的模拟进展的关系容易地对应于第一控制器对第一机器的控制进展与第二控制器对第二机器的控制进展的关系。因此,能够在模拟空间中容易地再现第一机器的动作与第二机器的动作的关系。因此,对于多个装置的协调动作的适当模拟有效。
模拟管理器110也可以以与在第一控制器的控制下重复的第一分段处理的执行定时和在第二控制器的控制下重复的第二分段处理的执行定时的关系对应的方式,控制由第一模拟器重复的第一分段处理的执行定时和由第二模拟器重复的第二分段处理的执行定时。在该情况下,能够更容易地进行模拟进展调节。
模拟管理器110也可以根据表示基于第一控制器的第一分段处理的重复周期的第一控制周期和表示基于第二控制器的第二分段处理的重复周期的第二控制周期,控制由第一模拟器重复的第一分段处理的执行定时和由第二模拟器重复的第二分段处理的执行定时。在该情况下,即使在第一控制周期与第二控制周期不同的情况下,也能够容易地进行模拟进展调节。
模拟管理器也可以具有:计数器111,其对模拟循环数进行计数;选择部113,其基于第一控制周期和第二控制周期以及模拟循环数,选择第一模拟器和第二模拟器中的至少一个;以及执行部114,其使选择部113选择出的至少一个模拟器分别执行分段处理。在该情况下,能够更容易地进行与第一控制周期和第二控制周期的差异相应的模拟进展调节。
选择部113也可以在从上次执行第一分段处理起计数的模拟循环数成为与第一控制周期对应的模拟循环数的情况下,选择第一模拟器,在从上次执行第二分段处理起计数的模拟循环数成为与第二控制周期对应的模拟循环数的情况下,选择第二模拟器。在该情况下,能够更容易地进行与第一控制周期和第二控制周期的差异相应的模拟进展调节。
与第一控制周期对应的模拟循环数以及与第二控制周期对应的模拟循环数均可以为1以上。在该情况下,能够更高精度地进行模拟的进展调节。
模拟装置100也可以还包括动作模拟部122,其基于第一模拟器的模拟结果和第二模拟器的模拟结果来模拟第一机器的动作和第二机器的动作。在该情况下,能够将模拟结果有效利用于第一机器及第二机器的虚拟的动作确认。
动作模拟部122也可以在第一模拟器的模拟结果和第二模拟器的模拟结果双方被更新之后,模拟第一机器的动作以及第二机器的动作。在该情况下,能够高效地生成模拟图像。
第二模拟器也可以模拟第二控制器对第二机器的控制,以使第二机器的动作的模拟结果与第一模拟器对第一机器的动作的模拟结果协调。在该情况下,模拟的进展调节更有效。
模拟装置100还可以包括通信模拟器130,该通信模拟器130以再现在第一控制器与第二控制器之间直接或间接地进行的通信的方式进行第一模拟器与第二模拟器之间的通信数据的交接。在该情况下,能够更适当地模拟由第一控制器进行的第一机器的控制与由第二控制器进行的第二机器的控制的关系。
通信模拟器130也可以在基于预先确定的虚拟延迟时间的定时,使接收侧的模拟器获取发送侧的模拟器生成的通信数据。在该情况下,能够更适当地模拟由第一控制器进行的第一机器的控制与由第二控制器进行的第二机器的控制的关系。
通信模拟器130也可以具有:通信计数器131,其对通信循环数进行计数;通信数据保存部133,其将发送侧的模拟器生成的通信数据保存于通信缓冲器150;以及通信数据读出部134,其在通信数据保存于通信缓冲器150之后计数出的通信循环数成为与虚拟延迟时间对应的通信循环数的情况下,读出保存于通信缓冲器的通信数据并使接收侧的模拟器获取该数据。在该情况下,即使在非实时模拟中,也能够容易地模拟通信延迟。
也可以是,通信缓冲器150包括从数据传输方向的上游向下游排列的多个存储区域,通信数据保存部133将发送侧的模拟器生成的通信数据保存到通信缓冲器的最上游的存储区域,通信模拟器130还具有通信数据传输部132,该通信数据传输部132在每次对通信循环数进行计数时,将通信数据传输到通信缓冲器中的一个下游的存储区域,通信数据读出部134读出由通信数据传输部132传输到最下游的存储区域的通信数据并使接收侧的模拟器获取该通信数据。在该情况下,能够更容易地模拟通信延迟。
通信缓冲器150也可以包括与虚拟延迟时间对应的数量的多个存储区域151、152、153、154。在该情况下,能够更适当地模拟通信延迟。
通信模拟器130也可以基于将多个发送侧的模拟器与多个接收侧的模拟器分别建立对应的多个通信定义160,按多个通信定义160的每一个执行从发送侧的模拟器获取通信数据、以及使接收侧的模拟器获取通信数据。在该情况下,能够统一模拟多个通信,因此能够容易地模拟包含多个通信的控制。
也可以是,多个通信定义160分别包含从发送侧的模拟器到接收侧的模拟器的虚拟延迟时间163,通信模拟器130针对多个通信定义的每一个,使接收侧的模拟器在基于虚拟延迟时间163的定时获取发送侧的模拟器生成的通信数据。在该情况下,能够更适当地模拟包含多个通信的控制。
模拟装置100还可以包括按多个通信定义160的每一个分配与虚拟延迟时间163相对应大小的通信缓冲器的通信缓冲器分配部143,通信模拟器130具有:通信计数器131,对通信循环数进行计数;通信数据保存部133,按多个通信定义160的每一个,将发送侧的模拟器所生成的通信数据保存于通信缓冲器150;以及通信数据读出部134,按多个通信定义160的每一个,在通信数据保存于通信缓冲器150之后计数的通信循环数成为与虚拟延迟时间163对应的通信循环数的情况下,读出保存于通信缓冲器150的通信数据并使接收侧的模拟器获取该数据。在该情况下,能够容易地模拟多个通信的每一个的通信延迟。
模拟装置100也可以还包括进展速度调节部171,其根据所指定的再现速度来变更第一模拟器的模拟进展速度以及第二模拟器的模拟进展速度。在该情况下,通过自由地调节模拟速度,能够更有效地利用模拟结果。
模拟装置100也可以还包括根据停止指令来中断基于第一模拟器的模拟以及基于第二模拟器的模拟的中断部172。在该情况下,通过能够自由地中断模拟,能够更有效地利用模拟结果。
模拟管理器110也可以在接收到单独模拟的指示的情况下,从第一模拟器及第二模拟器中选择一个单独执行模拟器,与其他模拟器的模拟进展无关地执行单独执行模拟器的模拟。在该情况下,对于单独的动作和协调动作的阶段性的模拟是有效的。
控制系统4也可以包括:模拟装置100,其具有使接收侧的模拟器在基于预先确定的虚拟延迟时间的定时获取发送侧的模拟器生成的通信数据的通信模拟器130;实际控制系统5,其包括第一控制器和第二控制器;以及虚拟延迟设定部144,其使虚拟延迟时间163与第一控制器和第二控制器之间的通信延迟时间对应。在该情况下,能够更容易地在模拟空间中更适当地再现第一机器的动作与第二机器的动作的关系。
控制系统4也可以还包括异常检测部204,其基于第一控制器对第一机器的控制进展、第二控制器对第二机器的控制进展、由第一模拟器进行的模拟进展、由第二模拟器进行的模拟进展的比较,来检测实际控制系统5的异常。在该情况下,通过与配合实际控制系统5而调谐的模拟的对比,能够迅速地检测实际控制系统5的异常。
控制系统4也可以包括:模拟装置100;实际控制系统5,其包括第一控制器和第二控制器;以及比较图像生成部205,其生成对第一控制器对第一机器的控制进展、第二控制器对第二机器的控制进展、第一模拟器进行的模拟进展、第二模拟器进行的模拟进展进行对比的比较图像。在该情况下,通过提供容易目视确认由第一控制器对第一机器的控制进展、由第二控制器对第二机器的控制进展、由第一模拟器进行的模拟进展、由第二模拟器进行的模拟进展之间的关系的接口,能够促使模拟条件的适当的手动调谐和由目视进行的迅速的异常检测。
以上,对实施方式进行了说明,但本发明不一定限定于上述的实施方式,在不脱离其主旨的范围内能够进行各种变更。
符号说明:
3A…输送机(第一机器、第二机器)
3B、3C…机器人(第一机器、第二机器)
4…控制系统
5…实际控制系统
6…控制器(第一控制器)
7A、7B、7C…控制器(第一控制器、第二控制器)
100…模拟装置
101…模拟器(第一模拟器)
102A、102B、102C…模拟器(第一模拟器、第二模拟器)
110…模拟管理器
111…计数器
113…选择部
114…执行部
122…动作模拟部
130…通信模拟器
131…通信计数器
132…通信数据传输部
133…通信数据保存部
134…通信数据读出部
143…通信缓冲器分配部
144…虚拟延迟设定部
150…通信缓冲器
151、152、153、154…存储区域
160…通信定义
163…虚拟延迟时间
171…进展速度调节部
172…中断部
204…异常检测部
205…比较图像生成部
Claims (25)
1.一种模拟装置,包括:
第一模拟器,其模拟第一控制器对第一机器的控制;
第二模拟器,其模拟第二控制器对第二机器的控制;以及
模拟管理器,以与所述第一控制器的控制进展和所述第二控制器的控制进展之间的关系对应的方式,控制所述第一模拟器的模拟进展和所述第二模拟器的模拟进展。
2.如权利要求1所述的模拟装置,其中,
所述模拟管理器对由所述第一模拟器重复的所述第一分段处理的执行定时和由所述第二模拟器重复的所述第二分段处理的执行定时进行控制,以使得与在所述第一控制器的控制下重复的第一分段处理的执行定时和在所述第二控制器的控制下重复的第二分段处理的执行定时之间的关系对应。
3.如权利要求2所述的模拟装置,其中,
所述模拟管理器基于表示由所述第一控制器进行的所述第一分段处理的重复周期的第一控制周期和表示由所述第二控制器进行的所述第二分段处理的重复周期的第二控制周期,对由所述第一模拟器重复的所述第一分段处理的执行定时和由所述第二模拟器重复的所述第二分段处理的执行定时进行控制。
4.如权利要求3所述的模拟装置,其中,
所述模拟管理器包括:
计数器,其对模拟循环数进行计数;
选择部,其基于所述第一控制周期和所述第二控制周期以及所述模拟循环数,选择所述第一模拟器和所述第二模拟器中的至少一个;以及
执行部,其使所述选择部选择出的至少一个模拟器分别执行分段处理。
5.如权利要求4所述的模拟装置,其中,
在从上次执行所述第一分段处理起计数的模拟循环数成为与所述第一控制周期对应的模拟循环数的情况下,所述选择部选择所述第一模拟器,
在从上次执行所述第二分段处理起计数的模拟循环数成为与所述第二控制周期对应的模拟循环数的情况下,所述选择部选择所述第二模拟器。
6.如权利要求5所述的模拟装置,其中,
与所述第一控制周期对应的模拟循环数以及与所述第二控制周期对应的模拟循环数均为1以上。
7.如权利要求1~6中任一项所述的模拟装置,其中,
还包括动作模拟部,该动作模拟部基于所述第一模拟器的模拟结果和所述第二模拟器的模拟结果来模拟所述第一机器的动作和所述第二机器的动作。
8.如权利要求7所述的模拟装置,其中,
所述动作模拟部在所述第一模拟器的模拟结果和所述第二模拟器的模拟结果双方被更新之后,模拟所述第一机器的动作和所述第二机器的动作。
9.如权利要求1至8中任一项所述的模拟装置,其中,
所述第二模拟器模拟所述第二控制器对所述第二机器的控制,以使所述第二机器的动作的模拟结果与所述第一模拟器对所述第一机器的动作的模拟结果协调。
10.如权利要求1~8中任一项所述的模拟装置,其中,
所述模拟装置还包括通信模拟器,该通信模拟器进行所述第一模拟器与所述第二模拟器之间的通信数据的交接,以再现在所述第一控制器与所述第二控制器之间直接或间接地进行的通信。
11.如权利要求10所述的模拟装置,其中,
所述通信模拟器使接收侧的模拟器在基于预先确定的虚拟延迟时间的定时获取发送侧的模拟器生成的通信数据。
12.如权利要求11所述的模拟装置,其中,
所述通信模拟器包括:
通信计数器,其对通信循环数进行计数;
通信数据保存部,其将所述发送侧的模拟器生成的通信数据保存在通信缓冲器中;以及
通信数据读出部,其在所述通信缓冲器中保存通信数据之后计数出的通信循环数成为与所述虚拟延迟时间对应的通信循环数的情况下,读出保存在所述通信缓冲器中的通信数据并使接收侧的模拟器获取该通信数据。
13.如权利要求12所述的模拟装置,其中,
所述通信缓冲器包括从数据传输方向的上游向下游排列的多个存储区域,
所述通信数据保存部将所述发送侧的模拟器生成的通信数据保存在所述通信缓冲器的最上游的存储区域中,
所述通信模拟器还具有通信数据传输部,该通信数据传输部每当所述通信循环数被计数时,将所述通信数据传输到所述通信缓冲器中的一个下游的存储区域,
所述通信数据读出部读出由所述通信数据传输部传输到最下游的存储区域的所述通信数据,并使所述接收侧的模拟器获取该通信数据。
14.如权利要求13所述的模拟装置,其中,
所述通信缓冲器包括与所述虚拟延迟时间对应的数量的所述多个存储区域。
15.如权利要求10所述的模拟装置,其中,
所述通信模拟器基于将多个发送侧的模拟器与多个接收侧的模拟器分别建立对应的多个通信定义,按所述多个通信定义的每一个执行从发送侧的模拟器获取通信数据、以及使接收侧的模拟器获取通信数据。
16.如权利要求15所述的模拟装置,其中,
所述多个通信定义分别包括从发送侧的模拟器到接收侧的模拟器的虚拟延迟时间,
所述通信模拟器按照所述多个通信定义的每一个,使所述接收侧的模拟器在基于所述虚拟延迟时间的定时获取所述发送侧的模拟器生成的通信数据。
17.如权利要求16所述的模拟装置,其中,
还包括通信缓冲器分配部,该通信缓冲器分配部将具有与虚拟延迟时间相对应大小的通信缓冲器分配给多个通信定义中的每个通信定义,
所述通信模拟器包括:
通信计数器,其对通信循环数进行计数;
通信数据保存部,其按照所述多个通信定义的每一个,将所述发送侧的模拟器生成的通信数据保存在所述通信缓冲器中;以及
通信数据读出部,其按所述多个通信定义的每一个,在所述通信缓冲器中保存所述通信数据之后计数的通信循环数成为与所述虚拟延迟时间对应的通信循环数的情况下,读出保存在所述通信缓冲器中的所述通信数据并使所述接收侧的模拟器获取该通信数据。
18.如权利要求1至17中任一项所述的模拟装置,其中,
还包括进展速度调节部,该进展速度调节部根据所指定的再现速度来变更所述第一模拟器的模拟进展速度以及所述第二模拟器的模拟进展速度。
19.如权利要求1~18中任一项所述的模拟装置,其中,
还包括中断部,该中断部根据停止指令,中断所述第一模拟器的模拟以及所述第二模拟器的模拟。
20.如权利要求1至19中任一项所述的模拟装置,其中,
所述模拟管理器在接收到单独模拟的指示的情况下,从所述第一模拟器及所述第二模拟器中选择一个单独执行模拟器,与其他模拟器的模拟进展无关地执行所述单独执行模拟器的模拟。
21.一种控制系统,包括:
权利要求11至14中任一项所述的模拟装置;
包括所述第一控制器和所述第二控制器的实际控制系统;以及
虚拟延迟设定部,使所述虚拟延迟时间与所述第一控制器和所述第二控制器之间的通信延迟时间对应。
22.如权利要求21所述的控制系统,其中,
还包括异常检测部,该异常检测部基于由所述第一控制器对所述第一机器的控制进展、由所述第二控制器对所述第二机器的控制进展、由所述第一模拟器进行的模拟进展、以及由所述第二模拟器进行的模拟进展的比较,来检测所述实际控制系统的异常。
23.一种控制系统,包括:
权利要求1至20中任一项所述的模拟装置;
包括所述第一控制器和所述第二控制器的实际控制系统;以及
比较图像生成部,其生成对由所述第一控制器对所述第一机器的控制进展、由所述第二控制器对所述第二机器的控制进展、由所述第一模拟器进行的模拟进展以及由所述第二模拟器进行的模拟进展进行对比的比较图像。
24.一种模拟方法,包括:
通过第一模拟器模拟第一控制器对第一机器的控制;
通过第二模拟器模拟第二控制器对第二机器的控制,
以与基于所述第一控制器的控制进展和基于所述第二控制器的控制进展的关系对应的方式,控制基于所述第一模拟器的模拟进展和基于所述第二模拟器的模拟进展。
25.一种程序,使装置构成:
第一模拟器,其模拟第一控制器对第一机器的控制;
第二模拟器,其模拟第二控制器对第二机器的控制;以及
模拟管理器,以与所述第一控制器的控制进展和所述第二控制器的控制进展之间的关系对应的方式,对所述第一模拟器的模拟进展和所述第二模拟器的模拟进展进行控制。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063042566P | 2020-06-23 | 2020-06-23 | |
US63/042,566 | 2020-06-23 | ||
PCT/JP2021/008011 WO2021261018A1 (ja) | 2020-06-23 | 2021-03-02 | シミュレーション装置、制御システム、シミュレーション方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115836258A true CN115836258A (zh) | 2023-03-21 |
Family
ID=79282306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180044241.4A Pending CN115836258A (zh) | 2020-06-23 | 2021-03-02 | 模拟装置、控制系统、模拟方法以及程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230121498A1 (zh) |
EP (1) | EP4160334A1 (zh) |
JP (2) | JP7400104B2 (zh) |
CN (1) | CN115836258A (zh) |
WO (1) | WO2021261018A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105291107A (zh) * | 2014-06-30 | 2016-02-03 | 株式会社安川电机 | 机器人模拟器及机器人模拟器的文件生成方法 |
CN108241336A (zh) * | 2016-12-27 | 2018-07-03 | 发那科株式会社 | 作业计划装置 |
CN110967992A (zh) * | 2018-09-28 | 2020-04-07 | 西门子股份公司 | 用于机器人的控制系统及方法 |
CN112783018A (zh) * | 2019-11-11 | 2021-05-11 | 罗克韦尔自动化技术公司 | 工业环境模拟下的机器人数字孪生控制 |
CN115023673A (zh) * | 2020-02-17 | 2022-09-06 | 欧姆龙株式会社 | 处理装置和处理方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000330970A (ja) * | 1999-05-18 | 2000-11-30 | Mitsubishi Electric Corp | シミュレーション装置及びシミュレーション方法 |
JP2005014150A (ja) * | 2003-06-26 | 2005-01-20 | Yaskawa Electric Corp | ロボットシステム |
JP6540472B2 (ja) * | 2015-11-18 | 2019-07-10 | オムロン株式会社 | シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム |
JP6998660B2 (ja) | 2017-02-21 | 2022-01-18 | 株式会社安川電機 | ロボットシミュレータ、ロボットシステム及びシミュレーション方法 |
-
2021
- 2021-03-02 EP EP21829261.3A patent/EP4160334A1/en active Pending
- 2021-03-02 CN CN202180044241.4A patent/CN115836258A/zh active Pending
- 2021-03-02 JP JP2022532294A patent/JP7400104B2/ja active Active
- 2021-03-02 WO PCT/JP2021/008011 patent/WO2021261018A1/ja unknown
-
2022
- 2022-12-20 US US18/068,534 patent/US20230121498A1/en active Pending
-
2023
- 2023-12-06 JP JP2023206421A patent/JP2024015247A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105291107A (zh) * | 2014-06-30 | 2016-02-03 | 株式会社安川电机 | 机器人模拟器及机器人模拟器的文件生成方法 |
CN108241336A (zh) * | 2016-12-27 | 2018-07-03 | 发那科株式会社 | 作业计划装置 |
CN110967992A (zh) * | 2018-09-28 | 2020-04-07 | 西门子股份公司 | 用于机器人的控制系统及方法 |
CN112783018A (zh) * | 2019-11-11 | 2021-05-11 | 罗克韦尔自动化技术公司 | 工业环境模拟下的机器人数字孪生控制 |
CN115023673A (zh) * | 2020-02-17 | 2022-09-06 | 欧姆龙株式会社 | 处理装置和处理方法 |
Also Published As
Publication number | Publication date |
---|---|
US20230121498A1 (en) | 2023-04-20 |
JP7400104B2 (ja) | 2023-12-18 |
EP4160334A1 (en) | 2023-04-05 |
JPWO2021261018A1 (zh) | 2021-12-30 |
JP2024015247A (ja) | 2024-02-01 |
WO2021261018A1 (ja) | 2021-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5246186B2 (ja) | コントローラサポート装置、制御プログラムのシミュレーション方法、コントローラのサポートプログラムおよびコントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体 | |
JP2011230245A (ja) | ロボットシステム | |
US11826913B2 (en) | Control system, robot system and control method | |
US10814486B2 (en) | Information processing device, information processing method, and non-transitory computer-readable recording medium | |
US20220080601A1 (en) | Machine control via wireless communication | |
US20190227534A1 (en) | Information processing apparatus, information processing method and computer readable recording medium | |
US20210154849A1 (en) | Controller for distributed devices | |
US20230107431A1 (en) | Comparison between real control and virtual control of robot | |
CN114932555A (zh) | 机械臂协同作业系统及机械臂控制方法 | |
JP2004259112A (ja) | 評価用システム及び評価方法並びにモーションコントローラ | |
CN115836258A (zh) | 模拟装置、控制系统、模拟方法以及程序 | |
JP2016221659A (ja) | ロボットシステム、ロボットシステムの制御方法、プログラム、記録媒体及び物品の製造方法 | |
JP3913666B2 (ja) | シミュレーション装置 | |
US20230099602A1 (en) | Device control based on execution command and updated environment information | |
US20220281111A1 (en) | Interference check for robot operation | |
US11656753B2 (en) | Information processing device and method displaying at least two apparatuses for virtually checking interference | |
JP7374867B2 (ja) | 制御システム、ローカルコントローラ及び制御方法 | |
US20190101893A1 (en) | Information processing device, information processing method, and computer-readable recording medium | |
JP6915759B1 (ja) | マシン制御システム、プログラム、マシン、システム及びデバイス | |
US20230037774A1 (en) | Control of real machine and virtual machine | |
CN110968036A (zh) | 数值控制装置 | |
EP4227044A1 (en) | Robot system and control method | |
KR101684612B1 (ko) | 출력값 순환을 이용한 용접로봇 제어장치 및 제어방법 | |
US20240142954A1 (en) | Communication system with ordered command data sets | |
JP2021125221A (ja) | 情報処理装置、情報処理方法、生産装置、物品の製造方法、制御プログラム、および記録媒体 |
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 |