信息处理设备、信息处理方法、生产设备、制造产品的方法、以及记录介质
文献发布时间:2023-06-19 12:05:39
技术领域
本发明涉及信息处理设备和信息处理方法。
背景技术
在生产设备的领域中,期望缩短从生产设备的设计开始时直到生产设备被实际地操作并且投入实际使用时所花费的时间段(备货时间)。出于这个目的,代替在实际地制作生产设备之后通过使用生产设备来检查(check)机构的设计错误或操作程序的故障,在设计阶段通过在虚拟空间中操作生产设备来检查设计错误或故障。另外,即使在制作生产设备之后,如果操作程序被改变或修改,那么也可以在实际地操作生产设备之前检查机构的设计错误或操作程序的故障。
例如,日本专利申请公开No.2008-234622公开了轨迹干涉(trajectory-interference)检查程序。轨迹干涉检查程序通过移动虚拟模型来创建轨迹模型数据,并且确定在轨迹模型的所有组合中一个轨迹模型与另一个轨迹模型之间是否存在重叠(重叠模型)。如果在轨迹模型之间存在重叠(重叠模型),那么轨迹干涉检查程序确定每个虚拟模型与重叠模型之间的干涉的开始时间和结束时间。然后,轨迹干涉检查程序针对每个重叠模型确定重叠模型干涉一个虚拟模型的时间段与重叠模型干涉另一个虚拟模型的时间段是否重叠。如果前一个时间段与后一个时间段重叠,那么轨迹干涉检查程序确定在虚拟模型中发生干涉。
然而,在日本专利申请公开No.2008-234622中描述的技术中,由于检查轨迹模型的所有组合,因此信息处理的量将增加,并且当操作者虚拟地检查设备的操作时,操作者不能高效地检查设备的操作。
鉴于上述问题,本发明提供了一种信息处理设备,当操作者虚拟地检查设备的操作时,该信息处理设备允许操作者高效地检查设备的操作。
发明内容
根据本发明的第一方面,信息处理设备被配置为虚拟地执行包括多个装置的设备的运动。所述信息处理设备包括显示部分和控制部分。所述控制部分被配置为基于所述多个装置的移动范围从所述多个装置提取要被虚拟地移动的装置并且在所述显示部分上显示所述装置作为检查对象。
根据本发明的第二方面,由控制部分执行使包括多个装置的设备虚拟地移动的信息处理方法。所述信息处理方法包括基于所述多个装置的移动范围从所述多个装置提取要被虚拟地移动的装置,以及在显示部分上显示所述装置作为检查对象。
从以下参考附图对示例性实施例的描述,本发明的其它特征将变得清楚。
附图说明
图1是实施例的自动组装设备100的示意图。
图2是实施例的生产系统1000的控制框图。
图3是实施例的生产系统1000的控制框图。
图4是实施例的用于执行模拟的控制流程图。
图5A是图示实施例的自动组装设备100的一部分的虚拟模型的图。
图5B是图示实施例的自动组装设备100的一部分的虚拟模型的图。
图6是实施例的设置画面的示例。
图7是实施例的检查画面的示例。
图8是实施例的执行画面的示例。
图9是实施例的执行画面的示例。
具体实施方式
在下文中,将参考附图描述本发明的实施例。注意的是,由于下面描述的实施例仅是一个示例,因此本领域技术人员可以在不脱离本发明的精神的情况下适当地修改其详细配置。另外,由于在实施例中描述的数值仅是用于参考的数值,因此它们并不旨在限制本发明。另外,在以下的实施例和示例的描述中将被参考的图中,除非另外指明,否则对具有相同的参考编号的部件给予相同的功能。另外,在下面描述的图中,箭头X、Y和Z指示整个设备及其周围的世界坐标系,并且局部坐标系xyz可以适当地用于例如控制机器人、手指、关节等。
图1是图示实施例的系统的自动组装设备100的示例的示意图。图1图示了真实空间RS中的自动组装设备100。图1中所示的自动组装设备100被安装在例如工厂中。自动组装设备100是多个自动机器的一个示例,并且包括三个笛卡尔坐标机器人104、105和106。三个笛卡尔坐标机器人104、105和106被布置在台架20上。通过使用笛卡尔坐标机器人104、105和106,作为第二工件的工件W2作为材料被组装到作为第一工件的工件W1;并且制作作为产品的一个示例的工件W3。
轨道103被布置在台架20上,并且其上放置工件W1或W3的传送台架111可以在轨道103上移动。笛卡尔坐标机器人104包括手114和移动机构124。手114是能够保持工件W1的保持部分的一个示例,并且移动机构124使手114在平移方向上移动。笛卡尔坐标机器人105包括手115和移动机构125。手115是能够保持工件W1的保持部分的一个示例,并且移动机构125使手115在平移方向上移动。笛卡尔坐标机器人106包括手116和移动机构126。手116是能够保持工件W2的保持部分的一个示例,并且移动机构126使手116在平移方向上移动。三个笛卡尔坐标机器人104、105和106被布置为使得一个机器人的移动范围与另一个机器人的移动范围重叠。
笛卡尔坐标机器人104和105中的每一个保持已由传送台架111传送的工件W1。笛卡尔坐标机器人106保持已由传送设备(未示出)传送的工件W2。笛卡尔坐标机器人104和105将工件W1从笛卡尔坐标机器人104和105保持工件W1的位置传送到工件W2组装到工件W1的位置。笛卡尔坐标机器人106保持工件W2并且将工件W2组装到由笛卡尔坐标机器人104或105保持的工件W1。笛卡尔坐标机器人104和105将由工件W1和W2构成的工件W3传送到传送台架111。笛卡尔坐标机器人104和105以交替的方式重复一系列运动。
图2是作为实施例的系统的一个示例的生产系统1000的控制框图。生产系统1000包括上述自动组装设备100、诊断设备200、模拟设备300和管理设备400。另外,生产系统1000包括作为第一控制部分的一个示例的可编程逻辑控制器(PLC)500和作为第二控制部分的一个示例的PLC 600。如稍后所描述的,诊断设备200和模拟设备300是计算机(信息处理设备)。
诊断设备200是计算机,并且包括作为处理器的中央处理单元(CPU)201。CPU 201用作稍后描述的诊断部分。另外,诊断设备200包括用作存储部分的只读存储器(ROM)202、随机存取存储器(RAM)203和硬盘驱动器(HDD)204。另外,诊断设备200包括作为输入/输出接口的I/O 205和盘驱动器206。CPU 201、ROM 202、RAM 203、HDD 204、I/O 205和盘驱动器206经由总线210彼此通信地连接。
ROM 202是非暂时性存储设备。ROM 202存储基本程序,该基本程序在计算机启动时由CPU 201读取。RAM 203是用于由CPU201执行的计算处理的暂时性存储设备。HDD 204是存储各种类型的数据(诸如由CPU 201执行的计算处理的结果)的非暂时性存储设备。在本实施例中,HDD 204存储诊断程序211,该诊断程序211使CPU 201用作稍后描述的诊断部分并且执行模拟方法的一部分。盘驱动器206可以读取存储在记录盘212中的各种类型的数据和程序。I/O 205用作与外部设备通信的通信模块。I/O 205与显示设备221、输入设备222、管理设备400和PLC 500连接。诊断设备200的CPU 201可以经由I/O 205与管理设备400和PLC 500通信。显示设备221是显示各种图像的显示器。输入设备222是操作者可以通过其输入数据的设备,诸如键盘和鼠标。
模拟设备300是计算机,并且包括作为处理器的CPU 301。CPU301用作稍后描述的模拟部分。另外,模拟设备300包括用作存储部分的ROM 302、RAM 303和HDD 304。另外,模拟设备300包括作为输入/输出接口的I/O 305和盘驱动器306。CPU 301、ROM 302、RAM 303、HDD 304、I/O 305和盘驱动器306经由总线310彼此通信地连接。
ROM 302是非暂时性存储设备。ROM 302存储基本程序,该基本程序在计算机启动时由CPU 301读取。RAM 303是用于由CPU301执行的计算处理的暂时性存储设备。HDD 304是存储各种类型的数据(诸如由CPU 301执行的计算处理的结果)的非暂时性存储设备。在本实施例中,HDD 304存储模拟程序311,该模拟程序311使CPU 301用作稍后描述的模拟部分并且执行模拟方法的一部分。盘驱动器306可以读取存储在记录盘312中的各种类型的数据和程序。I/O 305用作与外部设备通信的通信模块。I/O 305与显示设备3210、输入设备3220、管理设备400和PLC 500连接。模拟设备300的CPU 301可以经由I/O 305与管理设备400和PLC 500通信。显示设备3210是显示各种图像的显示器。输入设备3220是操作者可以通过其输入数据的设备,诸如键盘和鼠标。
管理设备400是计算机,并且包括作为处理器的CPU 401。CPU401用作稍后描述的管理部分。另外,管理设备400包括用作存储部分的ROM 402、RAM 403和HDD 404。另外,管理设备400包括作为输入/输出接口的I/O 405和盘驱动器406。CPU 401、ROM 402、RAM 403、HDD 404、I/O 405和盘驱动器406经由总线410彼此通信地连接。
ROM 402是非暂时性存储设备。ROM 402存储基本程序,该基本程序在计算机启动时由CPU 401读取。RAM 403是用于由CPU401执行的计算处理的暂时性存储设备。HDD 404是存储各种类型的数据(诸如由CPU 401执行的计算处理的结果)的非暂时性存储设备。HDD404存储使CPU 401用作稍后描述的管理部分的管理程序411。盘驱动器406可以读取存储在记录盘412中的各种类型的数据和程序。I/O 405用作与外部设备通信的通信模块。I/O 405与显示设备421、输入设备422、诊断设备200、模拟设备300、PLC 500和PLC 600连接。管理设备400的CPU 401可以经由I/O 405与诊断设备200、模拟设备300、PLC 500和PLC 600通信。显示设备421是显示各种图像的显示器。输入设备422是操作者可以通过其输入数据的设备,诸如键盘和鼠标。PLC 600连接到自动组装设备100。
PLC 600根据梯形程序(ladder program)800向自动组装设备100输出控制信号。梯形程序800可以通过梯形程序800A的诊断来获得。利用控制信号,可以对真实空间中的自动组装设备100的笛卡尔坐标机器人104、105和106执行序列控制。PLC 500具有与PLC600相同的配置。通过向模拟设备300输出控制信号,PLC 500可以对虚拟空间中的虚拟机器执行序列控制。
在本实施例中,计算机可读非暂时性记录介质是HDD 204,并且诊断程序211存储在HDD 204中。然而,本公开不限于此。诊断程序211可以存储在任何记录介质中,只要记录介质是计算机可读记录介质即可。这对于模拟程序311和管理程序411同样成立。具体地,用于向计算机提供诊断程序211、模拟程序311和管理程序411的记录介质可以是软盘、光盘、磁光盘、磁带、非易失性存储器、等等。
图3是实施例的生产系统1000的功能框图。由于图3图示了生产系统1000的功能框图使得概念性地示出了部件的功能,因此生产系统1000可能不一定如图3中所示的那样物理地配置。例如,功能块的分布和集成的具体配置不限于图3的示例。因此,功能块中的一部分或全部根据使用状况等可以以任何单位功能地或物理地分布或集成。当生产设备例如被设计或调试时,图3中所示的系统可以用作支持设备(支持系统)。
通过执行诊断程序211,图2中所示的诊断设备200的CPU 201用作图3中所示的诊断部分250。诊断部分250根据存储在PLC 500中的梯形程序800A执行操作的模拟。诊断设备200包括第一通信模块270。
诊断设备200经由第一通信模块270连接到模拟设备300。因此,诊断设备200经由第一通信模块270执行(关于信息的)通信。诊断部分250根据梯形程序800A指示PLC 500执行操作的模拟。诊断设备200的状态显示在显示设备221上。
通过执行模拟程序311,图2中所示的模拟设备300的CPU 301用作图3中所示的模拟模块350。另外,模拟设备300的图2中所示的HDD 304的一部分用作图3中所示的模型登记部分360。
包括CPU和存储器的模拟设备300是执行诸如生产设备的自动机器的操作的模拟的信息处理设备。显示设备3210是显示器。输入设备3220包括键盘和鼠标。模拟设备300包括模拟模块350和第二通信模块3700。模拟设备300的状态显示在显示设备3210上。模拟设备300经由第二通信模块3700连接到PLC 500。因此,模拟设备300经由第二通信模块3700与PLC 500通信。
模拟模块350包括导杆(stem)模块351、虚拟移动范围计算模块352和干涉检查模块353。模拟模块350根据模型登记部分360中登记的3D模型虚拟机器以及梯形程序800A,依据来自PLC 500的控制信号来模拟3D模型虚拟机器的移动。注意的是,尽管在本实施例中诊断设备200和模拟设备300中的每一个具有显示设备和输入设备,但是诊断设备200和模拟设备300可以由单个PC来实现,并且单个PC可以具有单个显示设备和单个输入设备。
通过执行管理程序411,图2中所示的管理设备400的CPU 401用作图3中所示的管理部分450。管理部分450执行梯形程序管理451、3D模型管理452、诊断范围管理453和3DCAD转换处理454。在诊断范围管理453中,使用自动组装设备100的每个机构的最大移动范围。
管理部分450执行3D模型管理452以管理自动组装设备100的机构的3D模型。机构的3D模型通过由操作者操作的输入设备422输入到管理部分450中,并且例如在图2的HDD404中登记。通过诊断设备200的诊断部分250诊断机构的3D模型。管理部分450从诊断部分250获得机构的诊断结果,并且使显示设备421显示与诊断结果对应的图像。
管理部分450执行3D CAD转换处理454。在3D CAD转换处理454中,在3D模型管理452中管理的自动机器的机构的3D模型被转换成具有模型可以由模拟模块350模拟的格式的模型,并且转换后的模型被发送到模拟设备300。由管理部分450发送的3D模型被登记在模拟设备300的模型登记部分360中。
如稍后所描述的,通过诊断设备200和模拟设备300检查3D模型的移动;并且梯形程序800A根据需要被修改成梯形程序800。管理设备400然后将梯形程序800输出到PLC600。PLC 600根据梯形程序800在真实空间中控制自动组装设备100。
在诊断部分250中,根据梯形程序800A登记在自动机器(例如,生产设备)中移动的导杆与使导杆移动的开关(switch)之间的关系。导杆是要被模拟的部件,并且导杆与开关之间的关系指示每个导杆如何在最大移动范围中移动。当要以该关系检查(模拟)自动机器的指定导杆的移动时,操作者通过使用输入设备222在显示在显示设备221上的画面中指定导杆。
当通过使用输入设备222选择要被模拟的导杆的移动时,从诊断设备200输出开关信号以使导杆移动。使导杆移动的开关信号经由第一通信模块270被发送到PLC 500。
在接收到使导杆移动的开关信号时,PLC 500计算使导杆移动的信号,并且输出该信号。使导杆移动的信号经由第二通信模块3700被发送到模拟模块350。
通过使用从PLC 500发送并且用于使导杆移动的信号,模拟模块350确定要在虚拟空间中被虚拟地移动的导杆。导杆模块351存储在虚拟控制下使导杆移动所需的信息(例如,点、速度、加速度、行程(stroke))。
导杆模块351使每个导杆在虚拟空间中移动。虚拟移动范围计算模块352使用存储在导杆模块351中的每个导杆的行程(移动范围)的设置;并且计算导杆的(最大移动范围的)移动范围。在导杆模块351模拟每个导杆的移动的同时,干涉检查模块353实时地检查每个导杆是否干涉另一个部件。因此,操作者可以查看在显示设备3210上显示的虚拟空间中的每个导杆的移动。
由于梯形程序800A被提供给诊断部分250以检查梯形程序800A的操作,因此可以自动执行使用开关来使导杆移动的测试。显示设备3210显示关于模拟设备300的信息。因此,操作者可以查看显示在显示设备3210上的信息,并且可以通过使用连接到输入设备3220的设计者的机器将信息输入到模拟设备300中。即,操作者可以从自动机器(例如,生产设备)的多个机构当中选择要被模拟的机构;并且将关于机构的信息输入到模拟设备300中。
如果PLC 500被仿真,那么PLC 500和诊断部分250可以被包括在模拟设备300中。在这种情况下,可以不使用第一通信模块270和第二通信模块3700。
如上所述,关于诊断设备200的信息显示在显示设备221上,并且关于模拟设备300的信息显示在显示设备3210上。然而,由于诊断设备200和模拟设备300经由各自的通信模块和PLC 500彼此通信地连接,因此关于诊断设备200的信息可以显示在显示设备3210上,并且关于模拟设备300的信息可以显示在显示设备221上。
接下来,参考图3的功能框图和图4的流程图,将具体描述本实施例的干涉检查功能的算法。干涉检查功能的算法被存储在干涉检查模块353中。
在图4的流程图的步骤201中,设置每个导杆的行程。在本实施例中,在观看显示设备3210的画面的同时,操作者通过使用输入设备3220来设置每个导杆的行程。每个导杆的行程的设置数据被存储在模拟模块350的导杆模块351中。
在步骤202中,通过使用存储在导杆模块351中的每个导杆的行程,由虚拟移动范围计算模块352计算虚拟空间中的每个导杆的移动范围。
在步骤203中,通过使用计算的虚拟空间中的每个导杆的移动范围,提取(或计算)一个导杆的移动范围与另一个导杆的移动范围重叠的区域作为干涉检查对象。
在步骤204中,针对每个导杆提取(或计算)的干涉检查对象作为每个导杆的干涉检查对象被登记在干涉检查模块353中。
在步骤205,开始使用虚拟机器的模拟。在步骤206中,执行确定在虚拟机器中是否正在发生干涉的计算,并且在步骤207中,处理确定是否正在发生干涉。
如果处理确定正在发生干涉(步骤207:是),那么处理在步骤208中经由第二通信模块3700获得关于PLC 500的状态的信息,并且输出关于PLC 500的状态的信息和关于正在发生干涉的区域的信息(处理将这些多条信息作为干涉信息输出)。
如果处理确定没有正在发生干涉(步骤207:否),那么处理在步骤209中确定是否已经由输入设备3220输入结束模拟的请求。
如果已输入结束模拟的请求(步骤209:是),那么处理结束模拟。如果尚未输入结束模拟的请求(步骤209:否),那么处理进行到步骤210,并且确定在虚拟机器中是否存在当前正在移动的导杆。如果在虚拟机器中不存在当前正在移动的导杆(步骤210:否),那么处理重复步骤210,直到检测到虚拟机器中当前正在移动的导杆。
如果在虚拟机器中存在当前正在移动的导杆(步骤210:是),那么处理进行到步骤211,并且根据正在移动的导杆的干涉检查对象的登记执行启用干涉检查的设置。然后,处理执行确定在正在移动的导杆与干涉检查对象之间是否正在发生干涉的计算,并且在步骤212中确定是否正在发生干涉。
如果处理确定正在发生干涉(步骤212:是),那么处理在步骤213中经由第二通信模块3700获得关于PLC 500的状态的信息;并且输出关于PLC 500的状态的信息和关于正在发生干涉的区域的信息(处理将这些多条信息作为干涉信息输出)。
如果处理确定没有正在发生干涉(步骤212:否),那么处理在步骤214中确定是否已经由输入设备3220输入结束模拟的请求并且已检查所有移动。
如果已输入结束模拟的请求,或者已检查所有移动(步骤214:是),那么处理结束模拟。如果尚未输入结束模拟的请求,或者尚未检查所有移动(步骤214:否),那么处理返回到步骤210,并且再次确定在虚拟机器中是否存在当前正在移动的导杆。
在本实施例中,模拟设备300在虚拟空间VS中模拟诸如生产设备的自动机器的操作。图5A和5B在虚拟空间VS中图示了图1的自动组装设备100的一部分。图5A是自动组装设备100的一部分的透视图,并且图5B是自动组装设备100的一部分的正视图。
如图5A和5B中所示,NC 361(导杆1)是垂直移动的NC(数控对象),并且具有形成在NC 361的前端的手指部(finger)362。NC 365(导杆2)是垂直移动的NC(数控对象),并且具有形成在NC 365的前端的手指部366。NC 369(导杆3)是水平移动的NC(数控对象),并且具有形成在NC 369的顶表面上的台架370。
图5A和5B中所示的虚拟自动组装设备100的一部分通过在虚拟空间中移动虚拟模型来模拟。参考图4、6、7、8和9,将详细描述模拟的示例。
图6是当在图4的步骤201中设置每个导杆的行程(移动范围)时在显示设备221或3210上显示的设置画面的示例。在图6中,图示了行程设置部分330、虚拟模型显示部分340、干涉检查按钮334和自动移动范围设置按钮335。行程设置部分330是设置每个导杆的行程的部分。虚拟模型显示部分340显示图5A和5B中所示的自动组装设备100的一部分的虚拟模型。行程设置部分330以树状图形式显示构成设备的诸如导杆和手指部的部件。当点击部分“设备1”时,展开并显示关于部件的详细信息。导杆1固定到固定部分390。当点击部分“导杆1的固定部分390”时,展开并显示“NC 361”和“手指部362”的项目。
类似地,导杆2固定到固定部分391。当点击部分“导杆2的固定部分391”时,展开并显示“NC 365”和“手指部366”的项目。导杆3固定到固定部分392。当点击部分“导杆3的固定部分392”时,展开并显示“NC 369”和“台架370”的项目。
当点击“NC 361”的项目时,展开并显示设置导杆1的行程的特定值的项目。当点击“上部位置”的项目或“下部位置”的项目时,名称“导杆1”显示在指示导杆编号的列331中,设置上部位置的单元格显示在列332中,并且设置下部位置的单元格显示在列333中。在本实施例中,通过使用键盘等,XYZ坐标系中的自由选择的位置P1被设置为导杆1的上部位置,并且XYZ坐标系中的自由选择的位置P2被设置为导杆1的下部位置。列332和333是位置输入部分。
同样在导杆2或3中,当点击“NC 365”或“NC 369”的项目时,展开并显示设置行程的特定值的项目。当点击“上部(上游)位置”的项目或“下部(下游)位置”的项目时,名称“导杆2”或“导杆3”显示在指示导杆编号的列331中,设置上部(上游)位置的单元格显示在列332中,并且设置下部(下游)位置的单元格显示在列333中。在本实施例中,通过使用键盘等,XYZ坐标系中的自由选择的位置P3被设置为导杆2的上部位置,并且XYZ坐标系中的自由选择的位置P4被设置为导杆2的下部位置。此外,通过使用键盘等,XYZ坐标系中的自由选择的位置P5被设置为导杆3的上游位置,并且XYZ坐标系中的自由选择的位置P6被设置为导杆3的下游位置。
注意的是,尽管在上述示例中使用键盘来设置位置,但是可以以不同的方式来设置位置。例如,首先可以选择设置位置的单元格,然后可以通过使用鼠标来指定虚拟模型显示部分340中的自由选择的位置以设置位置。
如果指定的导杆在其最大移动范围中移动,那么操作者按下自动移动范围设置按钮335。如果按下了自动移动范围设置按钮335,那么模拟设备300参考诊断范围管理453,并且将导杆的最大移动范围自动设置为导杆的移动范围。利用这个操作,可以容易地设置每个导杆的移动范围。然而,如果将最大移动范围设置为移动范围,那么干涉检查对象的数量将增加。因此,优选地设置适当的移动范围。自动移动范围设置按钮335是第一自动设置按钮。
在图4的步骤202中,虚拟移动范围计算模块352通过使用如上所述设置的每个导杆的行程(移动范围)来计算导杆的虚拟移动范围以及与虚拟空间中的导杆一起移动的部件的虚拟移动范围;并且在虚拟模型显示部分340中示意性地显示虚拟移动范围。
NC 361(导杆1)的虚拟移动范围由虚线示意性地图示为导杆1的虚拟移动范围363。在NC 361(导杆1)的虚拟移动范围中,在最低位置处的手指部362的位置由虚线示意性地图示为位置364。
NC 365(导杆2)的虚拟移动范围示意性地图示为导杆2的虚拟移动范围367。在NC365(导杆2)的虚拟移动范围中,在最低位置处的手指部366的位置由虚线示意性地图示为位置368。
NC 369(导杆3)的虚拟移动范围由虚线示意性地图示为导杆3的虚拟移动范围371。
在图4的步骤203中,虚拟移动范围计算模块352通过使用虚拟空间中的每个导杆的虚拟移动范围来提取一个导杆的虚拟移动范围与另一个导杆的虚拟移动范围重叠的区域作为干涉检查区域。即,虚拟移动范围计算模块352使用在步骤202中计算的每个导杆的虚拟移动范围;并且提取当根据梯形程序800A移动时可能彼此干涉的导杆。
图7是当操作者在图4的步骤203中检查可能彼此干涉的导杆时在显示设备221或3210上显示的检查画面的示例。当用户按下图6的画面上的干涉检查按钮334时,图6的画面转变到图7的画面。
在图7中,图示了自动干涉对象设置按钮341、删除按钮342、编辑按钮343、登记按钮344和模拟检查按钮349。另外,图示了列345、346、347和348。
如图5B中所示,虚拟移动范围363、367和371在其中虚拟移动范围363和虚拟移动范围371彼此重叠的区域380以及其中虚拟移动范围367和虚拟移动范围371彼此重叠的区域381中彼此重叠。然而,不存在其中NC 361(导杆1)的虚拟移动范围363和NC 365(导杆2)的虚拟移动范围367彼此重叠的区域(重叠区域)。
如果操作者按下图7的画面上的自动干涉对象设置按钮341,那么虚拟移动范围计算模块352通过使用每个导杆的虚拟移动范围执行计算,并且在虚拟模型显示部分340中以灰度显示区域(重叠区域)380和381。另外,与干涉检查对象对应的部件显示在列347中,并且干涉可能性对象显示在列348中。干涉可能性对象是列347中显示的干涉检查对象可能干涉的对象。在列346中,显示包括干涉检查对象的导杆的导杆编号。在列345中,显示登记编号。根据干涉检查对象和干涉可能性对象的组合自动地分配登记编号。自动干涉对象设置按钮341是第二自动设置按钮。
由于存在区域380,因此如果导杆1的手指部362是干涉检查对象,那么导杆3的台架370作为导杆1的手指部362可能干涉的对象(干涉可能性对象)被提取。另外,由于存在区域381,因此如果导杆2的手指部366是干涉检查对象,那么导杆3的台架370作为导杆2的手指部366可能干涉的对象(干涉可能性对象)被提取。另外,由于存在区域380和381,因此如果导杆3的台架370是干涉检查对象,那么导杆1的手指部362和导杆2的手指部366作为导杆3的台架370可能干涉的对象(干涉可能性对象)被提取。
如果按下编辑按钮343,那么当前显示在列345至348中的干涉检查对象和干涉可能性对象可以被改变为其它对象。另外,在自动干涉对象设置处理中尚未被提取的对象的组合可以被添加并且分配新的登记编号。
如果按下删除按钮342,然后按下任何登记编号,那么与登记编号对应的干涉检查对象和干涉可能性对象的组合可以被删除。
如果按下登记按钮344,那么显示在列345至348中的对象作为要被模拟的对象被登记。当按下登记按钮344时,执行图4的步骤204。在步骤204中,针对每个导杆提取(或计算)的干涉检查对象和对应的干涉可能性对象与导杆相关联,并且登记在干涉检查模块353中。
如果按下模拟检查按钮349,那么检查画面转变到稍后描述的用于检查在345至348列中显示的对象的操作的模拟的画面。
在登记干涉检查对象之后,在图4的步骤205中,干涉检查模块353和导杆模块351开始模拟和干涉检查。然后,处理在图4的步骤206中执行计算,以确定在虚拟机器中是否正在发生干涉;并且在图4的步骤207中确定是否正在发生干涉。
图8是当在图4的步骤205中检查操作的模拟时显示在显示设备221或3210上的操作画面的示例。在图8中,图示了执行按钮320、暂停按钮328、停止按钮329和时间显示321。执行按钮320用于执行模拟,暂停按钮328用于暂停模拟,并且停止按钮329用于停止模拟。时间显示321显示模拟的经过时间。另外,图示了列322、323、324、325和326以及滚动条320a。列322至326指示关于检查对象的详细信息。列322指示移动编号,列323指示信号类型,列324指示标记(tag),列325指示地址,并且列326指示当前值。这些多条信息用于PLC500使每个导杆在虚拟空间中移动。
列322指示根据梯形程序800A、干涉检查对象和干涉可能性对象分配给干涉检查移动的单位的编号。例如,导杆1执行单调的上下移动,包括时刻1的上下移动和时刻2的上下移动。由于针对对导杆3的干涉必须单独检查时刻1的上下移动和时刻2的上下移动,因此向时刻1的上下移动和时刻2的上下移动分配不同的移动编号。列327指示干涉日志。干涉日志将稍后描述。
如果按下执行按钮320,那么干涉检查模块353和导杆模块351通过使用PLC 500以及关于梯形程序800A、虚拟移动范围、干涉检查对象和干涉可能性对象的信息来执行模拟。时间显示321测量自从按下执行按钮320起已经过的时间,并且显示该时间。
然后,干涉检查模块353和导杆模块351通过移动编号1(每个移动编号指示干涉检查移动的单位)中的模拟来检查干涉的发生;并且以表格形式指示结果。此后,干涉检查模块353和导杆模块351类似地以移动编号2、3、4、……、106的次序顺次地检查干涉的发生并且以表格形式指示结果。可以通过使用滚动条320a滚动画面来检查关于移动的任意一条信息。
如果处理确定正在发生干涉(步骤207:是),那么处理在步骤208中经由第二通信模块3700获得关于PLC 500的状态的信息。然后,处理将关于PLC 500的状态的信息和关于正在发生干涉的区域的信息输出(处理将这些多条信息作为干涉信息输出)到显示设备221或3210。具体地,如果在移动中正在发生干涉,那么以黑色填充包括在图8的列327中并且与移动的移动编号对应的干涉日志的复选框。在图8中,在移动编号为4的移动中正在发生干涉,并且以黑色填充与移动编号4对应的干涉日志的复选框。
在图4的步骤209中,处理确定是继续模拟还是结束模拟。具体地,处理确定是否已按下稍后描述的停止按钮329。如果尚未按下停止按钮329,并且处理继续模拟,那么处理进行到步骤210,并且确定是否还存在要在虚拟空间中被移动的导杆。
如果还存在要在虚拟空间中被移动的导杆,那么处理进行到图4的步骤211,并且根据关于干涉检查对象和干涉可能性对象的登记信息继续执行操作的模拟和干涉检查。例如,如果NC 361(导杆1)要被移动,那么处理根据登记信息继续执行对NC 369(导杆3)的台架370的干涉检查。如果NC 365(导杆2)要被移动,那么处理根据登记信息继续执行对NC369(导杆3)的台架370的干涉检查。另外,如果NC 369(导杆3)要被移动,那么处理根据登记信息继续执行对NC 361(导杆1)和NC 365(导杆2)的干涉检查。
如果多个导杆正在彼此并行移动,例如,如果NC 361(导杆1)和NC 365(导杆2)正在彼此并行移动,那么处理根据登记信息继续执行对导杆1和2中的每一个的干涉检查。
然后,如果处理在图4的步骤212中确定在正在移动的导杆中正在发生干涉(步骤212:是),那么处理在步骤213中执行与步骤208相同的操作。
处理重复上述模拟。如果按下停止按钮329,或者已检查导杆的所有干涉检查对象(S214:是),那么处理结束图4的模拟,并且使停止按钮329突出。如果在模拟结束之后再次按下执行按钮320,那么处理再次从操作编号1顺次地显示模拟结果以重放(replay)模拟结果。另外,经过的时间从00:00:00再次测量并且显示。
当操作者期望暂停模拟或重放时,使用暂停按钮328。如果按下暂停按钮328,那么由时间显示321显示的时间被暂停,并且以表格形式显示的关于移动的详细信息的显示以及干涉日志的显示也被暂停。如果在暂停状态下再次按下执行按钮320,那么模拟和时间显示321显示的时间的测量被恢复,并且以表格形式显示的关于移动的详细信息的显示和干涉日志的显示也被恢复。
如果按下停止按钮329,那么如果正在执行模拟,那么发生中断以停止模拟,并且处理结束模拟,而不管在图4的步骤209和214中是否已检查包括干涉检查对象的导杆的所有移动。如果正在重放模拟结果时发生中断,那么重放返回到操作编号1,并且时间显示321显示的时间被重置为00:00:00。
在检查模拟的另一个实施例中,执行画面可以显示在显示设备3210上,如图9中所示。在图9中,虚拟模型显示部分340显示在执行画面中。如果按下执行按钮320,那么显示以表格形式显示的关于移动的详细信息的显示和干涉日志的显示;并且导杆与对应的操作编号同步地在虚拟模型显示部分340中移动。因此,可以显示模拟的执行以便被视觉地、容易地理解。如果按下暂停按钮328,那么由时间显示321显示的时间、以表格形式显示的关于移动的详细信息的显示、干涉日志的显示以及虚拟模型显示部分340的操作被暂停。
如果在模拟结束之后再次按下执行按钮320,那么处理再次从操作编号1顺次地显示模拟结果,以重放模拟结果。在重放中,处理从00:00:00测量时间;并且在虚拟模型显示部分340中从操作编号1顺次地突出显示与操作编号对应的部件。
利用这个操作,操作者可以视觉地并且容易地检查操作的模拟,并且可以容易地理解哪个导杆和哪个移动引起干涉。
在图9中,另外提供了前进按钮328a和后退按钮328b。如果在与操作编号中的任何一个对应的移动在虚拟模型显示部分340中显示并且暂停的状态下按下前进按钮328a,那么与显示的移动编号的下一个移动编号对应的移动在循环(重复)的同时显示在虚拟模型显示部分340中。相反,如果在与操作编号中的任何一个对应的移动在虚拟模型显示部分340中显示并且暂停的状态下按下后退按钮328b,那么与显示的移动编号的前一个移动编号对应的移动在循环的同时显示在虚拟模型显示部分340中。因此,如果连续按下前进按钮328a或后退按钮328b,那么可以一个接一个地检查与操作编号对应的移动。此外,在这种情况下,每个移动在循环的同时显示在虚拟模型显示部分340中。
此外,使包括与在虚拟模型显示部分340中显示的移动对应的移动编号的行的显示样式不同于其它行的显示样式。在图9中,包括移动编号5的行以灰度显示,并且使它在显示样式上与其它行不同。如果在这种状态下按下前进按钮328a,那么包括移动编号6的行以灰度显示,并且与移动编号6对应的移动在循环的同时显示在虚拟模型显示部分340中。相反,如果按下后退按钮328b,那么包括移动编号4的行以灰度显示,并且与移动编号4对应的移动在循环的同时显示在虚拟模型显示部分340中。
因此,由于提供了前进按钮328a和后退按钮328b,并且使包括与在虚拟模型显示部分340中显示的移动对应的移动编号的行的显示样式不同于其它行的显示样式,所以操作者可以容易地检查每个移动单位。因此,可以改善操作者的可操作性。
如上所述,在本实施例中,通过使用每个导杆的行程(移动范围),其虚拟移动范围彼此重叠的导杆的对象被确定为检查对象;并且显示检查对象以便被操作者识别。利用这个操作,可以高效地模拟在通过梯形程序移动时可能引起干涉的导杆。另外,由于可以减少检查对象的数量,因此可以减少信息处理的量。此外,由于导杆实际上在虚拟空间中移动,因此操作者可以在实时地检查干涉时执行离线调试。
本发明不限于上述实施例和示例,并且可以在本发明的技术构思内进行各种修改。例如,在虚拟空间中对其执行操作的模拟的诸如生产设备的对象不限于实施例的传输设备,并且可以是各种自动机器中的任何一种,诸如机器人。操作的模拟可以是离线模拟。另外,本公开可以应用于可以自动地执行伸缩运动、曲伸运动、上下运动、左右运动、枢转运动或其组合运动的任何自动机器,这取决于在控制设备的存储设备中存储的信息数据。
另外,可以实际制作通过使用本实施例的模拟设备或模拟方法设计的自动机器,并且将它与本实施例的模拟设备连接。在这种情况下,可以通过使用实际的自动机器在线执行由实施例的模拟设备在虚拟空间中执行的模拟操作,或者可以通过使用经调试的操作程序操作实际的自动机器来制造产品。在这种情况下,实施例的模拟设备可以用作自动机器的控制设备,并且模拟设备可以根据使用实施例的测试模式并且用作自动机器的控制方法的模拟方法来进行操作。
上述诊断设备200、模拟设备300、管理设备400和PLC 500的功能可以通过一个或多个计算机(信息处理设备)来实现。例如,诊断部分、模拟部分和管理部分的功能不仅可以通过三个计算机来实现,而且还可以通过一个、两个或者四个或更多个计算机来实现。另外,PLC 500的功能可以通过具有诊断部分、模拟部分或管理部分的功能的计算机(信息处理设备)来实现。
其它实施例
本发明的实施例还可以通过读出并执行记录在存储介质(其也可以被更完整地称为‘非暂时性计算机可读存储介质’)上的计算机可执行指令(例如,一个或多个程序)以执行上述实施例中的一个或多个的功能和/或包括用于执行上述实施例中的一个或多个的功能的一个或多个电路(例如,专用集成电路(ASIC))的系统或装置的计算机、以及通过由系统或装置的计算机通过例如读出并执行来自存储介质的计算机可执行指令以执行上述实施例中的一个或多个的功能和/或控制一个或多个电路以执行上述实施例中的一个或多个的功能而执行的方法来实现。计算机可以包括一个或多个处理器(例如,中央处理单元(CPU)、微处理单元(MPU)),并且可以包括单独的计算机或单独的处理器的网络,以读出并执行计算机可执行指令。计算机可执行指令可以例如从网络或存储介质提供给计算机。存储介质可以包括例如硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算系统的存储设备、光盘(诸如紧凑盘(CD)、数字多功能盘(DVD)或蓝光盘(BD)
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然已参考示例性实施例描述了本发明,但是要理解的是,本发明不限于所公开的示例性实施例。以下权利要求的范围要被赋予最广泛的解释,以便涵盖所有这样的修改以及等同的结构和功能。
- 信息处理设备、信息处理方法、生产设备、制造产品的方法、以及记录介质
- 信息处理系统、信息处理方法、信息处理程序、记录信息处理程序的计算机可读记录介质以及信息处理设备