模拟装置以及模拟方法转让专利

申请号 : CN201380026438.0

文献号 : CN104321706B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 岛川春奈阪口泰规成谷文明大谷拓

申请人 : 欧姆龙株式会社

摘要 :

本发明,其目的之一为,提供一种能够根据传感器的检测结果而实现对控制的模拟的模拟装置、模拟方法以及模拟程序。按照控制程序,对用于使在假想空间中与机械相对应的假想机械活动的指令值,进行计算(步骤S316、步骤S317),对按照计算的指令值的假想机械的动作进行计算(步骤S318),通过计算出的假想机械的动作,对假想机械的状态,是否变为满足与机械的传感器的检测条件相对应的假想检测条件的状态,进行判断(步骤S319、步骤S112、步骤S113、步骤S121),根据判断为满足的假想检测条件,对指令值进行计算(步骤S122、步骤S321、步骤S322、步骤S316、步骤S317)。能够实现与传感器的检测结果相对应的控制的模拟。

权利要求 :

1.一种模拟装置,具有控制部,该控制部用于模拟在对机械的动作进行控制的控制器中执行的控制程序;

该模拟装置的特征在于,

所述控制部包括:

第一计算装置,按照所述控制程序,计算用于使在假想空间中与所述机械相对应的假想机械活动的指令值,第二计算装置,计算出所述假想机械按照由所述第一计算装置计算出的所述指令值而进行的动作,检测装置,根据通过所述第二计算装置计算出的所述假想机械的动作,判断所述假想机械的状态是否变为满足与所述机械的传感器的检测条件相对应的假想检测条件的状态;

所述第一计算装置,根据通过所述检测装置判断为满足的所述假想检测条件,计算所述指令值。

2.如权利要求1所述的模拟装置,其特征在于,所述第一计算装置、所述第二计算装置以及所述检测装置,按照同一时间轴,分别对所述指令值、所述假想机械的动作以及是否变为满足所述假想检测条件的状态进行判断。

3.如权利要求1所述的模拟装置,其特征在于,所述控制部还具有:

操作接收装置,接收用于使所述模拟暂时停止的操作,动作控制装置,在通过所述操作接收装置接收到用于暂时停止的操作的情况下,使所述模拟暂时停止。

4.如权利要求3所述的模拟装置,其特征在于,所述控制部还具有:

显示控制装置,在通过所述操作接收装置接收到用于暂时停止的操作的情况下,显示出表示所述假想机械的状态的信息。

5.一种模拟方法,使用模拟装置来进行模拟,该模拟装置具有控制部,该控制部用于模拟在对机械的动作进行控制的控制器中执行的控制程序;

该模拟方法的特征在于,

所述控制部执行如下步骤:

第一步骤,按照所述控制程序,计算用于使在假想空间中与所述机械相对应的假想机械活动的指令值,第二步骤,计算出所述假想机械按照通过所述第一步骤计算出的所述指令值而进行的动作,检测步骤,根据通过所述第二步骤计算出的所述假想机械的动作,判断所述假想机械的状态是否变为满足与所述机械的传感器的检测条件相对应的假想检测条件的状态;

所述第一步骤还包括如下步骤:根据通过所述步骤判断为满足的所述假想检测条件,计算所述指令值。

说明书 :

模拟装置以及模拟方法

技术领域

[0001] 本发明涉及一种模拟装置、模拟方法以及模拟程序,特别涉及到一种适于在对要处理的对象物的机械动作进行控制的控制器中,对要执行的控制程序进行模拟的模拟装置、模拟方法以及模拟程序。

背景技术

[0002] 以前,有时按照控制程序的控制进行模拟(例如,JP特开2003-118981号公报(以下称为“专利文献1”),JP特开2007-90479号公报(以下称为“专利文献2”),以及JP特开2010-108292号公报(以下称为“专利文献3”)。
[0003] 现有技术文献
[0004] 专利文献
[0005] 专利文献1:JP特开2003-118981号公报
[0006] 专利文献2:JP特开2007-90479号公报
[0007] 专利文献3:JP特开2010-108292号公报
[0008] 但是,在这样的现有技术中,由于没有模拟出用于检测机械的规定状态的传感器,所以无法根据传感器的检测结果对控制进行模拟。

发明内容

[0009] 发明要解决的问题
[0010] 本发明为了解决上述的问题,其目的之一在于,提供一种能够根据传感器的检测结果来实现模拟控制的模拟装置、模拟方法以及模拟程序。
[0011] 用于解决问题的手段
[0012] 为了达成上述的目的,根据本发明中的一个方面,模拟装置具有控制部,该控制部用于模拟在对机械的动作进行控制的控制器中执行的控制程序。
[0013] 控制部包括:第一计算装置,按照控制程序,计算用于使在假想空间中与机械相对应的假想机械活动的指令值;第二计算装置,计算出假想机械按照由第一计算装置计算出的指令值而进行的动作;检测装置,根据通过第二计算装置计算出的假想机械的动作,判断假想机械的状态是否变为满足与机械的传感器的检测条件相对应的假想检测条件的状态。第一计算装置,根据通过检测装置判断为满足的假想检测条件,计算指令值。。
[0014] 优选地,第一计算装置、第二计算装置以及检测装置,按照同一时间轴,分别对指令值、假想机械的动作以及是否变为满足假想检测条件的状态进行判断。
[0015] 优选地,控制部还具有:操作接收装置,接收用于使模拟暂时停止的操作;动作控制装置,在通过操作接收装置接收到用于暂时停止的操作的情况下,使模拟暂时停止。
[0016] 进一步优选地,控制部还具有:显示控制装置,在通过操作接收装置接收到用于暂时停止的操作的情况下,显示出表示假想机械的状态的信息。
[0017] 根据本发明的另一方面,一种模拟方法,使用模拟装置来进行模拟,该模拟装置具有控制部,该控制部用于模拟在对机械的动作进行控制的控制器中执行的控制程序。
[0018] 在模拟方法中,控制部执行如下步骤:第一步骤,按照控制程序,计算用于使在假想空间中与机械相对应的假想机械活动的指令值;第二步骤,计算出假想机械按照通过第一步骤计算出的指令值而进行的动作;检测步骤,根据通过第二步骤计算出的假想机械的动作,判断假想机械的状态是否变为满足与机械的传感器的检测条件相对应的假想检测条件的状态。第一步骤还包括如下步骤:根据通过步骤判断为满足的假想检测条件,计算指令值。
[0019] 根据本发明的另一方面,使用模拟装置来进行模拟,该模拟装置具有控制部,该控制部用于模拟在对机械的动作进行控制的控制器中执行的控制程序。
[0020] 在模拟程序中,该模拟程序的特征在于,包括如下步骤:第一步骤,按照控制程序,计算用于使在假想空间中与机械相对应的假想机械活动的指令值;第二步骤,计算出假想机械按照通过第一步骤计算出的指令值而进行的动作;检测步骤,根据通过第二步骤计算出的假想机械的动作,判断假想机械的状态是否变为满足与机械的传感器的检测条件相对应的假想检测条件的状态。第一步骤还包括如下步骤:根据通过步骤判断为满足的假想检测条件,计算指令值。
[0021] 发明的效果
[0022] 如果按照本发明,能够提供能够实现与传感器的检测结果相对应的控制的模拟的模拟装置、模拟方法以及模拟程序。

附图说明

[0023] 图1是对本发明的实施方式的控制系统的结构进行说明的图。
[0024] 图2是对本发明的实施方式的PC(个人计算机)的硬件结构进行说明的图。
[0025] 图3是对通过CPU执行模拟程序而实现的功能块进行说明的图。
[0026] 图4是示出在第一实施方式中的模拟的控制的流程的流程图。
[0027] 图5是示出在第一实施方式中的机械的控制的模拟状况的图。
[0028] 图6是示出在第一实施方式中的机械的控制的一个例子的图。
[0029] 图7是示出在第一实施方式中的传感器的变形例的图。
[0030] 图8是示出在第一实施方式中的机械的变形例的图。
[0031] 图9是示出在第二实施方式中的机械的例子的图。
[0032] 图10A是示出在第二实施方式中的机械的初始位置的第一图。
[0033] 图10B是示出在第二实施方式中的机械的初始位置的第二图。
[0034] 图10C是示出在第二实施方式中的机械的初始位置的第三图。
[0035] 图11是示出在第三实施方式中的机械的例子的图。
[0036] 图12是示出在第四实施方式中的机械的例子的图。

具体实施方式

[0037] 以下,针对本发明的实施方式,参照附图的同时进行详细地说明。此外,针对图中的同一个或者相当的部分,标记同一附图标记并且不重复说明。
[0038] [第一实施方式]
[0039] 图1是对本发明的实施方式的控制系统的结构进行说明的图。参照图1,本发明的实施方式的控制系统由服务器2、网络4、PC(Personal Computer:个人计算机)6、控制器14、控制对象装置16构成。
[0040] 服务器2通过网络4与PC6连接。PC6与对控制对象装置16进行控制的控制器14以能够通信的方式连接。
[0041] PC6相当于在本发明的一个实施方式中的模拟装置。在PC6中,安装有包含模拟程序的控制器支持程序8,另外,还存储有用户创建的控制程序10。CD-R0M(Compact Disc-Read Only Memory:只读光盘存储器)12存储有控制器支持程序8。安装于PC6上的控制器支持程序8是从该CD-ROM12安装的。
[0042] 控制器14,对控制对象装置16的动作进行控制。在本发明的实施方式中,作为控制器14的一个例子,使用PLC(Programmable Logic Controller:可编程逻辑控制器)。即,在该PLC中,具有所谓的动作控制功能。控制器14存储有规定对于控制对象装置16的控制内容的控制程序15。控制器14在每一个控制周期执行一轮控制程序15。这里,存储于控制器14的控制程序15,为复制存储于PC6中的控制程序10而得到的复制数据,并是从PC6发送出来的。
[0043] 控制对象装置16包括伺服电机、步进电机等的电机18以及驱动电机的电机驱动器17。
[0044] 电机18通过电机驱动器17提供驱动电流。电机驱动器17,通过用于执行控制程序15的控制器14,针对每一个控制周期赋予位置的指令值,并根据其向电机18提供驱动电流。
在电机18为伺服电机的情况下,在电机18中装备有编码器,通过编码器检测电机18的旋转位置的实测值。电机驱动器17在反馈控制中使用电机的旋转位置的实测值。
[0045] 此外,在上述中,说明了通过CD-ROM12在PC6上安装模拟程序的情况,但并不仅限于此,也可以通过服务器2的网络4将模拟程序下载到PC6上。对于控制程序也是同样的。
[0046] 图2为对根据本发明的实施方式的PC6的硬件结构进行说明的图。参照图2,本发明的实施方式的PC6包括:作为处理部的CPU901;作为存储部的ROM902、RAM903以及HDD904;作为数据读取部的CD-ROM驱动装置908;作为通信部的通信IF(接口)909;作为显示部的监视器907;作为输入部的键盘905以及鼠标906。此外,这些部位通过内部总线910相互连接。
[0047] HDD904为典型的非易失磁存储器,存储有通过CD-ROM驱动装置908从CD-ROM12读取的模拟程序。另外,还存储有控制程序15。
[0048] CPU901,将存储于HDD904中的本实施方式的控制器支持程序8在RAM903等上展开并执行。
[0049] RAM903为易失存储器,被当作工作存储器使用。ROM902一般地存储有操作系统(0S:Operating System)等的程序。
[0050] 通信IF909典型地支持(兼容)称为以太网络(注册商标)以及USB(Universal Serial Bus:串行通信总线)的一般的通信协议,通过网络4,在服务器2之间提供数据通信的同时,提供控制器14之间的数据通信。
[0051] 监视器907由液晶显示装置、CRT(Cathode Ray Tube:电子射线管)、等离子显示装置等构成,对PC6的处理结果等进行显示。键盘905接收用户的键盘输入,鼠标906接收用户的点击操作。
[0052] 图3为对通过CPU901执行控制器支持程序8而实现的功能块进行说明的图。参照图3,这里示出了用户界面部802、显示数据创建部804、模拟部806、控制程序存储部808、控制程序编辑部810、控制器接口部812。
[0053] 用户界面部802,创建显示于PC6的监视器907上的窗口画面的内容,另外,通过键盘905或者鼠标906接收用户的操作的部位。
[0054] 控制程序编辑部810,使用户进行控制程序的输入和编辑。在为了执行控制程序必需要编译的情况下还要进行编译。创建的控制程序,通过控制器接口部812传送至控制器14。另外,创建的控制程序,存储于作为HDD904的预定区域的控制程序存储部808。另外,控制程序编辑部810,能够通过控制器接口部812将存储于控制器14的控制程序15读出并编辑。
[0055] 模拟部806为控制器14的模拟器。模拟部806根据存储于控制程序存储部808的控制程序10,对控制器14要执行控制程序15的动作进行模拟,控制器14计算出每一个控制周期应该输出的位置的指令值。
[0056] 另外,模拟部806能够模拟出如下状态等:第一状态,从外部传来信号从而对控制程序的动作有所影响:第二状态,通过控制程序15自身的执行,导致控制器14的存储器的存储内容等的控制器14的内部状态发生变化,而该变化对控制程序15的动作有所影响。
[0057] 另外,模拟部806通过用户界面部802接收与模拟执行相关的用户指示。即,用户界面部802也作为接收与模拟部806对应的用户指示的部分而工作。
[0058] 显示数据创建部804创建显示数据,该显示数据用于显示通过模拟部806创建的执行结果数据随时间的变化。显示数据创建部804,通过将创建的显示数据传送至用户界面部802,在PC6的监视器907上将显示数据以图表或者文字样式或者3D演示的样式进行显示。
[0059] 在该实施方式中,在与现实空间相对应的假想空间的3D空间中,配置有与现实空间的机械(例如,气缸)相对应的假想机械(例如,假想气缸)。
[0060] 图3示出的模拟部806作为3D模拟器和机械控制模拟器来执行处理。
[0061] 3D模拟器,基于由数据跟踪而取得的结果,在3D空间中显示对象物(在该实施方式中为假想机械)。在该实施方式中,3D模拟器判断设于假想机械的假想传感器(例如,检测气缸的活塞位置的位置传感器)的检测条件(例如,在规定活塞位置上存在活塞的条件)是否成立。假想传感器与现实空间的机械的传感器相对应。
[0062] 机械控制模拟器,对3D空间中的假想机械进行控制。具体地,机械控制模拟器计算对假想机械的控制的指令值,并计算与该指令值相对应的假想机械的动作。在该实施方式中,机械控制模拟器根据所满足的检测条件来计算指令值。
[0063] 作为获取3D模拟器和机械控制模拟器的同步的方法,包括:(1)将机械控制模拟器计算出的机械、工件的状态发送至3D模拟器;(2)3D模拟器将接收到的机械、工件在3D空间中显示;(3)3D模拟器判断传感器的检测条件是否成立,在检测条件成立的情况下,将该主要的信息发送至机械控制模拟器;(4)机械控制模拟器基于接收到的信息,通过实现控制假想机械这样的协作而实现同步。
[0064] 图4为示出在第一实施方式中的模拟的控制的流程的流程图。参照图4,在步骤S311中,模拟部806通过执行机械控制模拟器对工件的初始位置进行设定。
[0065] 接着,在步骤S312中,模拟部806通过执行机械控制模拟器,通过开始执行控制程序15,开始对假想机械的控制。
[0066] 在步骤S313中,判断是否从用户界面部802接收到用于暂时停止模拟的操作。在判断为没有接收的情况(在步骤S313中判断为否的情况)下,模拟部806执行的处理推进到步骤S316的处理。
[0067] 另一方面,在判断为接收到用于暂时停止的操作的情况(在步骤S313中判断为是的情况)下,在步骤S314中,模拟部806使模拟暂时停止,向至用户界面部802传递(交接)信息,该信息用于在PC6的监视器907上显示用于表现机械状态的变量等的跟踪结果等。
[0068] 然后,判断是否从用户界面部802接收到用于解除暂时停止的操作。在判断为没有接收到的情况(在步骤S315中判断为否的情况)下,模拟部806重复步骤S315的处理。
[0069] 另一方面,在判断为接收到用于解除暂时停止的操作的情况(在步骤S315中判断为是的情况)下,在步骤S316中,模拟部806基于要在后述的步骤S322中改变的传感器的状态,执行顺序控制。在步骤S317中,模拟部806基于传感器的状态,执行动作控制。
[0070] 然后,在步骤S318中,模拟部806计算出作为动作控制的结果的机械和工件的状态;在步骤S319中,将计算出的机械和工件的状态,发送至3D模拟器。
[0071] 随后,在步骤S112中,模拟部806通过执行3D模拟器,接收从机械控制模拟器发送来的机械和工件的状态;在步骤S113中,为了使接收到的状态的机械和工件显示于监视器907的3D空间中,将所需的执行结果数据接收转移(交接)至显示数据创建部804。
[0072] 接着,在步骤S121中,模拟部806判断使传感器的检测发生改变的条件是否成立。例如,在气缸的情况下,针对检测活塞的位置的传感器,根据其活塞的位置存在于传感器的检测位置上,来判断为将传感器的检测变为开启(ON)状态的条件成立。另外,根据活塞的位置不存在于传感器的检测位置上,判断为将传感器的检测变为关闭(OFF)状态的条件成立。
[0073] 这样,由于能够通过3D模拟器来确定机械的部分的位置,所以能够判断出改变传感器的检测的条件是否成立。
[0074] 在判断为传感器检测改变条件成立的情况(在步骤S121中判断为是的情况)下,在步骤S122中,模拟部806,将表示传感器检测已经改变的传感器的识别信息以及表示如何改变的改变内容信息,发送至机械控制模拟器。
[0075] 在步骤S122之后,并且,在判断为传感器检测改变条件不成立的情况(在步骤S121中判断为否的情况)下,模拟部806将执行的处理退回到步骤S112的处理。
[0076] 在步骤S321中,模拟部806,通过执行机械控制模拟器,判断是否从3D模拟器接收到了包含传感器识别信息和改变内容信息的传感器信息。
[0077] 在判断为接收到传感器信息的情况(在步骤S321中判断为是的情况)下,模拟部806将在传感器信息中包含的传感器识别信息所示的传感器的传感器状态,变为在传感器信息中包含的改变内容信息所示的内容。
[0078] 在步骤S322之后,并且,在判断为没有接收到传感器信息的情况(在步骤S321中判断为否的情况)下,模拟部806将执行的处理退回到步骤S313的处理。
[0079] 在假想机械为单动型气缸610的情况下,定义假想机械的设定项目为:表示是否对空气提供口的气压进行加压的布尔型的变量a,表示单动型气缸610的冲程的常数b,以及表示单动型气缸的类型(推出型或者引入型)的常数c。此外,布尔型的变量,取“真(true)”和“伪(false)”这2种值。
[0080] 当选定假想机械的单动型气缸610时,已经决定了常数b和常数c。变量a,在模拟的执行的同时改变值。
[0081] 图5是示出在第一实施方式中的机械的控制的模拟状况的图。参照图5,这里,表示单动型气缸610的类型的常数c,被设置为表示推出型(extrusion type)的值。当时间为2ms时,如控制果对单动型气缸610的空气提供口(图中用箭头示出的部分)的气压进行加压,由于为推出型,变量a变为“真”,单动型气缸610状态变为活塞完全伸展直到用常数b示出的冲程全满为止的状态。
[0082] 另外,当时间为128ms时,如果控制对单动型气缸610的空气提供口的气压进行打开(开放),则变量a变为“伪”,单动型气缸610的状态变为活塞完全收缩的状态。再次,当时间为258ms时,控制对单动型气缸610的空气提供口的气压进行加压,变量a变为“真”,单动型气缸610的状态变为完全伸展直到全满的状态。
[0083] 图6为示出在第一实施方式中的机械的控制的一个例子的图。参照图6,在单动型气缸610A、610B中,分别设有对单动型气缸610A、610B的活塞完全伸展的状态进行检测的传感器611A、611B。
[0084] 例如,考虑到如下情况:按照控制程序615,将单动型气缸610A的活塞完全伸展作为条件,控制伸展单动型气缸610B的活塞。
[0085] 在现有的模拟的情况下,无法对通过该传感器611A、611B的检测进行模拟。在该实施方式中,如图4的步骤121、步骤S122所示,在传感器611A、611B的检测改变条件成立的情况(这里所成立的检测改变条件是指:传感器611A的活塞完全伸展,该状态已经被传感器611A检测出)下,通过3D模拟器,将该传感器的识别信息(例如,为了对传感器611A进行特别指定,而预先分配的号码)和改变内容信息(例如,单动型气缸610A的变量a从“伪”变为“真”)发送至机械控制模拟器。
[0086] 然后,在机械控制模拟器当中,基于接收到的传感器状态进行顺序控制和动作控制(例如,基于“单动型气缸610A的活塞完全伸展”这样的传感器611A的检测结果,进行对伸展单动型气缸610B的活塞的控制)。
[0087] 这样,由于使得3D模拟器能够模拟由传感器611A进行的检测,所以能够模拟基于传感器611A的检测结果的控制。
[0088] 在图6中所示的单动型气缸610A、610B中,传感器611A、611B,分别对单动型气缸610A、610B的活塞完全伸展的状态进行检测。
[0089] 图7为示出在第一实施方式中的传感器的变形例的图。参照图7,不限于在图6中说明的,也可以如图7所示,由单动型气缸610C的传感器611C对活塞处于完全伸展状态与完全收缩状态之间的位置的状态进行检测。另外,也可以对完全收缩的状态进行检测。
[0090] 图8为示出在第一实施方式中的机械的变形例的图。参照图8,不限于图5和图6中说明的推出型,单动型气缸610D也可以为如图8所示的引入型。在该情况下,示出单动型气缸的类型(推出型或者引入型)的常数c,被设定为表示引入型的值。
[0091] [第二实施方式]
[0092] 在第一实施方式中,对进行单动型气缸的模拟的情况的例子进行说明。在第二实施方式中,对进行多动型气缸的模拟的情况的例子进行说明。
[0093] 图9为示出在第二实施方式中的机械的例子的图。参照图9,在假想机械为多动型气缸620A的情况下,定义假想机械的设定项目为:表示是否对活塞的相反侧的空气提供口的气压进行加压的布尔型变量d、表示是否对活塞侧的空气提供口的气压进行加压的布尔型变量e、表示多动型气缸620A的冲程的常数f以及表示多动型气缸620A的初始位置的常数g。
[0094] 常数f和常数g,当选定假想机械的多动型气缸620A时已经被决定。变量d和变量e在执行模拟的同时改变值。传感器621A对活塞的完全伸展状态进行检测。
[0095] 在对多动型气缸620A的活塞的相反侧的空气提供口的气压进行加压的同时,如果控制开放活塞侧的空气提供口的气压,则变量d和变量e分别变为“真”和“伪”,多动型气缸620A的状态变为活塞完全伸展直到用常数f表示的冲程全满为止的状态。
[0096] 对多动型气缸620A的活塞侧的空气提供口的气压进行加压的同时,如果控制开放活塞的相反侧的空气提供口的气压,则变量d和变量e分别变为“伪”和“真”,多动型气缸620A的状态变为活塞完全收缩的状态。
[0097] 与第一实施方式的单动型气缸610同样,在第二实施方式的多动型气缸620A中,由于使得3D模拟器能够模拟传感器621A的检测,所以能够模拟基于传感器621A的检测结果的控制。
[0098] 图10A~图10C分别为示出在第二实施方式中的机械的初始位置的第一~第三图。参照图10A~图10C,在第二实施方式中,由于设有表示多动型气缸620A的初始位置的常数g,所以能够设定如图10A所示的将活塞完全引入的状态、如图10B所示的将活塞推出到中途的状态以及如图10C所示的将活塞完全推出的状态等的各种初始位置。
[0099] [第三实施方式]
[0100] 在第一实施方式和第二实施方式中,对模拟机械为气缸的情况的例子进行了说明。在第三实施方式中,对模拟机械为滚珠丝杠的情况的例子进行说明。
[0101] 图11为示出在第三实施方式中的机械的例子的图。参照图11,在假想机械为滚珠丝杠631的情况下,按照控制程序635,通过控制滚珠丝杠631的螺旋轴使其旋转,使可动部632左右活动。
[0102] 而且,如果可动部632到达终端传感器633、634的位置,则通过终端传感器633、634检测出可动部632到达终端。
[0103] 通过执行图5的步骤S121,模拟部806针对终端传感器633、634,根据可动部632到达终端的位置,判断为用于使终端传感器633、634的检测改为开启状态的条件成立。另外,根据可动部632不存在于终端上,判断为用于使终端传感器633、634的检测变为关闭状态的条件成立。
[0104] 这样一来,由于使得3D模拟器能够模拟终端传感器633、634的检测,所以按照控制程序635,能够模拟基于终端传感器633、634的检测结果的控制。例如,在将终端传感器633、634的检测变为开启状态的情况下,能够控制发出警报,执行将可动部632恢复到原点的命令。
[0105] [第四实施方式]
[0106] 在第一实施方式和第二实施方式中,对执行机械为气缸的情况的模拟的例子进行了说明。在第四实施方式中,对执行机械为机器臂的情况的模拟的例子进行说明。
[0107] 图12为示出在第四实施方式中的机械的例子的图。参照图12,在假想机械为机器臂650A、650B的情况下,按照控制程序655,通过控制机器臂650A、650B,使机器臂650A、650B活动。
[0108] 而且,如果机器臂650A、650B相互碰撞,则通过碰撞检测传感器651A、651B,对碰撞进行检测。
[0109] 通过执行图5的步骤S121,模拟部806针对碰撞检测传感器651A、651B,根据机器臂650A、650B变为相互碰撞的位置关系,判断为用于使碰撞检测传感器651A、651B的检测变为开启状态的条件成立。另外,根据不是相互碰撞的位置关系,判断为用于将碰撞检测传感器
651A、651B的检测变为关闭状态的条件成立。
[0110] 这样一来,由于使得3D模拟器能够模拟碰撞检测传感器651A、651B的检测,所以通过控制程序655,能够模拟基于碰撞检测传感器651A、651B的检测结果的控制。例如,在将碰撞检测传感器651A、651B的检测变为开启状态的情况下,使紧急停止信号处于开启状态,能够进行使机器臂650A、650B停止的控制。
[0111] [总结]
[0112] (1)如以上说明的那样,上述的实施方式的模拟装置(例如,PC6)具有控制部(例如,CPU901),该控制部模拟要在控制器(例如,控制器14)中执行的控制程序(例如,控制程序10、15、615、635、655),该控制器用于控制机械(例如,与3D空间的单动型气缸610、610A~610D,多动型气缸620A,滚珠丝杠631,机器臂650A、650B相对应的现实空间的机械)的动作。
[0113] 控制部包括第一计算部、第二计算部、检测部。第一计算部,按照控制程序,计算用于在假想空间(例如,3D空间)中使与机械相对应的假想机械(例如,单动型气缸610、610A~610D,多动型气缸620A,滚珠丝杠631,机器臂650A、650B)活动的指令值(例如,通过执行图4的步骤S316、步骤S317而形成于CPU901上的部分)。
[0114] 第二计算部,对按照通过第一计算部计算出的指令值的假想机械的动作进行计算(例如,通过执行图4的步骤S318而形成于CPU901的部分)。
[0115] 检测部,根据通过第二计算部计算出的假想机械的动作,判断假想机械的状态是否成为满足与机械的传感器的检测条件相对应的假想检测条件的状态(例如,通过执行图4的步骤S319、步骤S112、步骤S113、步骤S121而形成于CPU901的部分)。
[0116] 第一计算部,根据由检测部判断为满足的假想检测条件,计算指令值(例如,通过执行图4的步骤S122、步骤S321、步骤S322、步骤S316、步骤S317而形成于CPU901的部分)。
[0117] 这样,按照控制程序,计算用于在假想空间中使与机械相对应的假想机械活动的指令值,对按照计算出的指令值的假想机械计算其动作,根据计算出的假想机械的动作,判断假想机械的状态是否变为满足与机械的传感器的检测条件相对应的假想检测条件的状态,根据判断为满足的假想检测条件,计算指令值。
[0118] 这样,根据与现实空间的传感器相对应的假想空间的传感器的检测结果,控制与现实空间的机械相对应的假想空间中的假想机械。因此,能够根据传感器的检测结果实现控制的模拟。
[0119] (2)另外,第一计算部、第二计算部以及检测部,按照同一个时间轴,分别对指令值、假想机械的动作以及是否变为满足假想检测条件的状态进行判断(例如,图4的机械控制模拟器以及3D模拟器,由于分别在交换数据的同时,执行各自的循环处理,所以在各自的数据交换的时序上实现同步,按照共同的时间轴做动作)。根据这样,能够实现带有同步性的综合模拟。
[0120] (3)另外,控制部还具有:操作接收部,接收使模拟暂时停止的操作(例如,通过执行图4的步骤S313而形成于CPU901的部分);动作控制部,在通过操作接收部接收到用于暂时停止的操作的情况下,使模拟暂时停止(例如,通过执行图4的步骤S314而形成于CPU901的部分)。这样,即使在进行与传感器的检测结果相对应的模拟的控制的情况下,也能够使模拟暂时停止。
[0121] (4)进一步地,另外,控制部还具有显示控制部,在通过操作接收部接收到使暂时停止的操作的情况下,显示出用于表示假想机械的状态的信息(例如,通过执行图4的步骤S314而形成于CPU901的部分)。这样,在模拟的暂时停止过程中,能够通过对表示假想机械的状态的信息进行确认而对控制程序进行调试。
[0122] [变形例]
[0123] (1)在前述的实施方式中,如图5所示,使机械(例如,单动型气缸610)的部分的状态,在时间为0ms时瞬间地从第一状态变为第二状态(例如,设置为活塞从完全收缩状态变化为完全伸展状态)。但是,不限于此,也可以考虑到机械部分的变化所需要的时间(例如,活塞的伸缩所需要的时间)来进行模拟。
[0124] 另外,也可以将该机械部分的变化所需要的时间设定为固定的,也可以设定为该时间能够随着负载等而变化。
[0125] (2)在前述的实施方式中,针对执行模拟部806的模拟器分为3D模拟器以及机械控制模拟器这2种的情况,进行了说明。
[0126] 但是,并不仅限于此,也可以将这2种综合起来。这样,由于不需要进行各个模拟器之间的数据的交换,所以能够高效率地执行模拟。
[0127] (3)作为对在前述的实施方式中的机械的部分的位置进行检测的传感器,可以为通过检测机械接触而对位置进行检测的传感器,也可以为使用超声波、红外线以及光等对位置进行检测的传感器。
[0128] (4)在前述的实施方式中,对作为模拟装置的发明进行了说明。但是,不仅限于此,也能够适用于使用模拟装置进行的模拟方法的发明,还能够适用于使用模拟装置执行的模拟程序的发明。
[0129] (5)在前述的实施方式中,假想传感器与现实空间的机械的传感器相对应。例如,如第一实施方式所示,假想传感器为现实空间的单动型气缸610A~610C的传感器611A~611C。另外,如第二实施方式所示,假想传感器为现实空间的多动型气缸620A的传感器
621A。另外,如第三实施方式所示,假想传感器为现实空间的滚珠丝杠631的终端传感器
633、634。另外,如第四实施方式所示,假想传感器为机器臂650A、650B的碰撞检测传感器
651A、651B。
[0130] 但是,不仅限于此,假想传感器也可以不与现实空间的机械的传感器相对应,而是仅存在于假想空间的3D空间中的传感器。例如,假想传感器也可以为能够对机器臂的全部的外表面的接触进行检测的传感器。在3D模拟器中,由于在3D空间中对机械进行演示,所以能够对机械之间的相对位置进行计算。通过判断是否产生了与该机械之间的相对距离为0的点,能够对机械之间的接触进行检测。
[0131] 在现实空间中实现与这样的假想传感器相对应的传感器是不现实的。但是,在控制程序的模拟中,如果为了检测机械之间的接触而设有假想传感器,则能够通过控制程序的控制,对是否发生机械之间的接触进行验证。
[0132] (6)在前述的第四实施方式中,如图12所示,机器臂650A、650B的碰撞检测传感器651A、651B,分别存在于手臂的顶端部,能够检测顶端部的接触。
[0133] 但是,不仅限于此,只要为能够检测机器臂的预定部的接触的碰撞检测传感器即可,可以为能够检测机器臂的整个下腕部的所有接触的碰撞检测传感器,也可以为能够检测机器臂的上腕部的所有接触的碰撞检测传感器,还可以为能够检测机器臂的上腕部和下腕部的所有接触的碰撞检测传感器。
[0134] 本次披露的实施方式应该被认为不仅限于在所有方面的例示。本发明的范围不是通过上述的说明而是通过权利要求的范围来表示,意图要包含与权利要求的范围等同的意思和范围内的所有的改变。
[0135] 附图标记说明:
[0136] 2服务器,4网络,8控制器支持程序,10、15控制程序,12CD-ROM,14控制器,16控制对象装置,17电机驱动器,18电机,610、610A~610D单动型气缸,611A~611C、621A传感器,620A多动型气缸,631滚珠丝杠,632可动部,633、634终端传感器,650A、650B机器臂,651A、
651B碰撞检测传感器,802用户界面部,804显示数据创建部,806模拟部,808控制程序存储部,810控制程序编辑部,812控制器接口部,901 CPU,902ROM,903 RAM,904 HDD(硬盘),905键盘,906鼠标,907监视器,908 CD-ROM驱动装置,909通信IF(接口),910内部总线。