信息处理装置及方法及非易失性的计算机可读记录介质与流程

文档序号:16984239发布日期:2019-02-26 20:22阅读:154来源:国知局
本发明涉及一种用来同步地执行不同种类的控制程序(program)的技术,尤其涉及一种信息处理装置、信息处理方法及非易失性的计算机可读记录介质。
背景技术
::为了使工件(work)的生产过程自动化而开发出各种工厂自动化(factoryautomation,fa)系统。fa系统例如包括用来移动工件的平台(table)、或用来搬送工件的输送机(conveyor)、或用来将工件移动到预先规定的移动目的地的臂式机器人(armrobot)等。以下,将平台、或输送机、或臂式机器人等控制对象也总称为“移动装置”。这些移动装置由可编程逻辑控制器(programmablelogiccontroller,plc)或机器人控制器(robotcontroller)等控制器来控制。通常,设计者在确认设计出的控制程序在模拟(simulation)上按照意图进行动作之后,将控制程序写入到控制器。关于用来支援这种模拟的技术,日本专利特开2016-42378号公报(专利文献1)公开了一种模拟装置,该模拟装置能够实现包含视觉传感器(sensor)在内的综合性的模拟。[
背景技术
:文献][专利文献][专利文献1]日本专利特开2016-42378号公报技术实现要素:[发明欲解决的课题]近年来,开发出一种用来同步地驱动各种移动装置的控制器。由此,例如,在平台移动期间,臂式机器人能够拾取平台上的工件等。各种移动装置的控制程序有时根据移动装置的种类,以不同种类的编程(programming)语言来记述。在该情况下,为了实现同步模拟,必须同步地执行不同种类的控制程序。专利文献1所公开的模拟装置并非使不同种类的控制程序同步被执行,所以无法同步地模拟各种移动装置的动作。因此,期望一种用来同步地执行不同种类的控制程序的技术。[解决课题的手段]根据某一方式,信息处理装置包括:第一致动器模拟器(actuatoremulator),模拟用来驱动第一控制对象的第一驱动设备的行为;第二致动器模拟器,模拟用来驱动第二控制对象的第二驱动设备的行为;存储装置,用来存储第一控制程序及第二控制程序,所述第一控制程序包含对所述第一致动器模拟器的命令组,所述第二控制程序包含对所述第二致动器模拟器的命令组;定时器(timer),用来生成虚拟时刻;第一控制器模拟器(controlloremulator),用来针对以所述虚拟时刻作为尺度的预先规定的每个第一控制周期重复执行包含在所述第一控制程序中的命令组;以及第二控制器模拟器,用来按照所述虚拟时刻,以预先规定的执行顺序逐次地执行包含在所述第二控制程序中的命令组。根据某一方式,所述第二控制器模拟器对于包含在所述第二控制程序中的各命令,以所述虚拟时刻作为尺度算出该命令的执行所需要的执行时间,所述第一控制器模拟器在所述第二控制器模拟器执行包含在所述第二控制程序中的一个命令期间,以该命令的执行所需要的执行时间重复执行包含在所述第一控制程序中的命令组。根据某一方式,在所述第一控制器模拟器以所述一个命令的执行所需要的执行时间将包含在所述第一控制程序中的命令组重复之后,所述第二控制器模拟器开始该一个命令的下一个命令的执行。根据某一方式,所述第一控制器模拟器针对每个所述第一控制周期将所述第一驱动设备的位置指令值输出到所述第一致动器模拟器。根据某一方式,所述第二控制器模拟器针对与所述第一控制周期同步的每个第二控制周期,将所述第二驱动设备的位置指令值输出到所述第一致动器模拟器。根据某一方式,所述第一控制周期及所述第二控制周期中的任一个控制周期是另一个控制周期的整数倍。根据某一方式,信息处理方法包括如下步骤:准备包含对第一致动器模拟器的命令组的第一控制程序以及包含对第二致动器模拟器的命令组的第二控制程序,所述第一致动器模拟器模拟用来驱动第一控制对象的第一驱动设备的行为,所述第二致动器模拟器模拟用来驱动第二控制对象的第二驱动设备的行为;生成虚拟时刻;针对以所述虚拟时刻作为尺度的预先规定的每个第一控制周期,重复执行包含在所述第一控制程序中的命令组;以及按照所述虚拟时刻,以预先规定的执行顺序逐次地执行包含在所述第二控制程序中的命令组。根据某一方式,信息处理程序使计算机执行如下步骤:准备包含对第一致动器模拟器的命令组的第一控制程序以及包含对第二致动器模拟器的命令组的第二控制程序,所述第一致动器模拟器模拟用来驱动第一控制对象的第一驱动设备的行为,所述第二致动器模拟器模拟用来驱动第二控制对象的第二驱动设备的行为;生成虚拟时刻;针对以所述虚拟时刻作为尺度的预先规定的每个第一控制周期,重复执行包含在所述第一控制程序中的命令组;以及按照所述虚拟时刻,以预先规定的执行顺序逐次地执行包含在所述第二控制程序中的命令组。[发明效果]在某一方式中,能够同步地执行不同种类的控制程序。附图说明图1是表示实施方式的fa系统的系统构成的一例的图。图2是表示实施方式的虚拟fa系统的构成的一例的图。图3是表示所生成的轨迹的一例的图。图4是表示plc程序及机器人程序(robotprogram)的设计画面的一例的图。图5是表示plc程序及机器人程序的设计画面的一例的图。图6是用来说明对于致动器模拟器的位置指令值的输出时序(timing)的同步处理的图。图7是表示实施方式的信息处理装置的模拟画面的一例的图。图8是表示实施方式的信息处理装置的硬件(hardware)构成的示意图。图9是表示实施方式的信息处理装置的控制装置所执行的处理的一部分的流程图。附图标号说明1:fa系统1x:虚拟fa系统100:信息处理装置101:控制装置102:主存储器103:通信接口105:操作接口106:显示接口107:光学驱动器107a:光盘110:存储装置111:plc程序112:机器人程序113:信息处理程序114、115:机器人命令119:内部总线120:显示部120a、120b:编辑区域120c:显示区域122:操作部125:用户接口140:定时器150:第一模拟器151:plc模拟器151a:执行部152、162:轨迹运算部153、163:指令值生成部154:解释部155、165:致动器模拟器156a、156b:伺服驱动器模拟器157a、157b、167a、167b:伺服马达模拟器160:第二模拟器161:机器人控制器模拟器200:plc300:机器人控制器400:臂式机器人400a、400b:机器人图像420:基台424:第一臂428:第二臂432:末端执行器440a、440b、440c、440d、601、601a、601b:伺服马达500a、500b:伺服驱动器600:移动平台600a:移动平台图像602:设置台nw1、nw2:域网络n~n+213:控制周期s110、s112、s114、s120、s122、s124、s130、s132、s134、s140、s150、s152:步骤w:工件θx、θy:旋转角度x、y、z:方向具体实施方式以下,一面参照附图,一面对本发明的各实施方式进行说明。在以下的说明中,对相同的零件及构成要素标注了相同的符号。它们的名称及功能也相同。因此,不重复关于它们的详细说明。[a.fa系统的构成]本发明涉及一种用来同步地模拟构成fa系统的不同种类的移动装置的技术。为了容易理解,在对同步模拟进行说明之前,参照图1,对模拟对象的fa系统的一例进行说明。图1是表示fa系统1的系统构成的一例的图。fa系统1包含信息处理装置100、plc(programmablelogiccontroller)200、机器人控制器300、臂式机器人400、伺服驱动器(servodriver)500a、伺服驱动器500b以及移动平台600。为了方便说明,以下,将水平面上的指定方向也称为x方向。另外,将在水平面上与x方向正交的方向也称为y方向。将与x方向及y方向正交的方向也称为z方向。也就是说,z方向相当于铅垂方向。信息处理装置100将用来设计plc200或机器人控制器300的控制程序的开发环境提供给设计者。信息处理装置100例如为个人计算机(personalcomputer,pc)、平板(tablet)终端、或智能手机(smartphone)等支持装置。信息处理装置100及plc200连接在域网络(fieldnetwork)nw1。域网络nw1例如采用ethernet(注册商标)。但是,域网络nw1并不限定于ethernet,可采用任意的通信方法。例如,信息处理装置100及plc200也可以由信号线直接连接。plc200、机器人控制器300及伺服驱动器500a、伺服驱动器500b通过菊花链(daisychain)而连接在域网络nw2。域网络nw2例如采用ethercat(注册商标)。但是,域网络nw2并不限定于ethercat,可采用任意的通信方法。臂式机器人400例如为水平多关节机器人(scararobot)。臂式机器人400包括基台420、第一臂424、第二臂428以及末端执行器(endeffector)432。第一臂424连结于基台420,且构成为能够以该连结点为旋转轴在xy平面上利用伺服马达(m)(servomotor)440a而旋转。第二臂428连结于第一臂424,且以该连结点为旋转轴在xy平面上由伺服马达440b旋转驱动。末端执行器432连结于第二臂428,构成为能够利用伺服马达440c沿着z方向驱动,并且构成为能够利用伺服马达440d而旋转。以下,也将伺服马达440a~伺服马达440d总称为伺服马达440。在机器人控制器300中内置着多个伺服驱动器(未图示),各伺服驱动器控制对应的伺服马达440。在伺服马达440的旋转轴设置着编码器(encoder)(未图示)。该编码器将伺服马达440的位置(旋转角度)、伺服马达440的旋转速度、伺服马达440的累积转数等反馈给对应的伺服驱动器。此外,该伺服驱动器未必需要内置在机器人控制器300中,也可以与机器人控制器300分开设置。末端执行器432例如为工件w的拾取工具(pickuptool)。工件w为产品或半成品。作为一例,末端执行器432通过利用抽吸力将工件w吸附而拾取工件w。此外,臂式机器人400也可以构成为通过固持工件w来拾取工件w。移动平台600包含伺服马达601a、伺服马达601b以及工件w的设置台602。伺服马达601a由伺服驱动器500a控制,在x轴方向上驱动设置台602。伺服马达601b由伺服驱动器500b控制,在y轴方向上驱动设置台602。通过伺服马达601a、伺服马达601b协动地驱动,从而设置台602被驱动到xy平面上的任意位置。以下,将伺服驱动器500a、伺服驱动器500b也总称为伺服驱动器500,将伺服马达601a、伺服马达601b也总称为伺服马达601。伺服驱动器500控制对应的伺服马达601。在伺服马达601的旋转轴设置着编码器(未图示)。该编码器将伺服马达的位置(旋转角度)、旋转速度、累积转数等反馈给伺服驱动器500。通过plc200及机器人控制器300协动地动作,而同步地驱动臂式机器人400及移动平台600。其结果为,例如,在移动平台600移动期间,臂式机器人400能够拾取设置台602上的工件w等。[b.虚拟fa系统]本实施方式的信息处理装置100为了模拟图1所示的实机的fa系统1的动作,而利用模拟fa系统1内的各设备的行为的模拟器组。此处所提及的模拟器是指能够再现fa系统1内的各设备的行为的程序。通过各模拟器准确地模拟fa系统1内的各设备的行为,信息处理装置100可准确地模拟作为实机的fa系统1的动作。以下,参照图2及图3,对包括模拟器的虚拟fa系统1x进行说明。图2是表示虚拟fa系统1x的构成的一例的图。如图2所示,虚拟fa系统1x包含用来生成虚拟时刻的定时器140、第一模拟器150以及第二模拟器160。第一模拟器150包括:plc模拟器151(第一控制器模拟器),模拟plc200的行为;以及致动器模拟器155,模拟移动平台600的驱动设备的行为。plc模拟器151包括指令值生成部153。致动器模拟器155包括:伺服驱动器模拟器156a、伺服驱动器模拟器156b,用来模拟伺服驱动器500a、伺服驱动器500b(参照图1)的行为;以及伺服马达模拟器157a、伺服马达模拟器157b,用来模拟伺服马达601a、伺服马达601b(参照图1)的行为。执行部151a执行plc程序111(第一控制程序)以及机器人程序112(第二控制程序),所述plc程序111(第一控制程序)用来控制致动器模拟器155(第一致动器模拟器),所述机器人程序112(第二控制程序)用来控制致动器模拟器165(第二致动器模拟器)。由执行部151a执行控制程序的执行模式包含:“同步执行模式”,按照由定时器140生成的虚拟时刻同步地执行plc程序111及机器人程序112;以及“非同步执行模式”,不同步地执行plc程序111及机器人程序112。关于同步执行模式及非同步执行模式的详细情况将在下文叙述。执行部151a包括轨迹运算部152以及解释部154。轨迹运算部152读入用来在模拟上驱动致动器模拟器155的plc程序111并生成用来驱动致动器模拟器155的轨迹。plc程序111是以循环(cyclic)执行型的程序语言记述,例如,以阶梯(ladder)语言或结构文本(structuredtext,st)语言记述。所谓循环执行型是指针对预先规定的每个控制周期重复执行包含在程序中的命令组的执行方式。也就是说,轨迹运算部152针对预先规定的每个控制周期(第一控制周期)重复执行包含在plc程序111中的命令组。该控制周期以由定时器140生成的虚拟时刻作为尺度。在plc程序111中,包含着用来使移动平台600移动到目标位置的移动命令。轨迹运算部152当执行包含在plc程序111中的移动命令时,生成用来使致动器模拟器155的控制对象在模拟上移动的轨迹。该轨迹例如基于驱动对象的当前位置及移动命令中所包含的目标位置而生成。图3是表示所生成的轨迹的一例的图。在图3的示例中,示出了xy平面上的轨迹,但所生成的轨迹既可以是一维,也可以是三维。所生成的轨迹被输出到指令值生成部153。轨迹运算部152基于由致动器模拟器165驱动的臂式机器人的位置到达至目标位置这一情况,而将下一个命令的解释指示发送到解释部154。指令值生成部153按照所生成的轨迹生成用来输出到致动器模拟器155的位置指令值。该位置指令值是用来在模拟上驱动伺服马达模拟器157a、伺服马达模拟器157b的控制值,例如,以旋转角度、旋转速度、或位置等表示。在图3的示例中,指令值生成部153将关于伺服马达模拟器157a的旋转角度θx与关于伺服马达模拟器157b的旋转角度θy作为位置指令值针对各控制周期中的每个控制周期生成。根据当前的虚拟时刻,将对应的旋转角度θx、θy依次输出到伺服马达模拟器157a、伺服马达模拟器157b。伺服驱动器模拟器156a、伺服驱动器模拟器156b按照从指令值生成部153输出的位置指令值在模拟上驱动伺服马达模拟器157a、伺服马达模拟器157b。第二模拟器160包括:机器人控制器模拟器161(第二控制器模拟器),模拟机器人控制器300的行为;以及致动器模拟器165,模拟臂式机器人400的驱动设备的行为。机器人控制器模拟器161包括轨迹运算部162以及指令值生成部163。致动器模拟器165包括模拟图1所示的伺服马达440a、伺服马达440b的行为的伺服马达模拟器167a、伺服马达模拟器167b。解释部154执行机器人程序112。机器人程序112包含用来在模拟上驱动致动器模拟器165(第二致动器模拟器)的命令组。机器人程序112是以逐次执行型的机器人语言记述。所谓逐次执行型是指按照预先规定的执行顺序依次执行包含在程序中的命令组的执行方式。也就是说,解释部154以预先规定的执行顺序逐次地执行包含在机器人程序112(第二控制程序)中的命令组。该命令组的执行是按照由定时器140生成的虚拟时刻来执行。在图2的示例中,解释部154按照预先规定的执行顺序解释包含在机器人程序112中的命令组,并将其解释结果依次输出到机器人控制器模拟器161。轨迹运算部162在从解释部154输出的解释结果表示移动命令的情况下,生成用来使致动器模拟器165的控制对象在模拟上移动的轨迹。该轨迹是基于驱动对象的当前位置以及包含在移动命令中的目标位置而生成。所生成的轨迹被输出到指令值生成部163。指令值生成部163按照从轨迹运算部162输出的轨迹生成用来输出到致动器模拟器165的位置指令值。该位置指令值是用来在模拟上驱动伺服马达模拟器167a、伺服马达模拟器167b的控制值,例如,以伺服马达模拟器167a、伺服马达模拟器167b的虚拟的旋转角度、旋转速度、或位置等表示。对致动器模拟器165的位置指令值的生成方法由于与对致动器模拟器155的位置指令值的生成方法相同,所以关于它的说明不再重复。伺服马达模拟器167a、伺服马达模拟器167b按照从指令值生成部163输出的位置指令值在模拟上被驱动。此外,致动器模拟器165与致动器模拟器155同样地,也可以包含伺服驱动器模拟器。此外,上文中列举plc程序111及机器人程序112为例进行了说明,但信息处理装置100的执行对象的控制程序并不限定于plc程序111及机器人程序112。控制程序只要是以种类不同的程序语言记述的控制程序,则可采用任意的控制程序。如上所述,plc模拟器151及机器人控制器模拟器161按照共通的定时器140执行不同的执行方式的程序(也就是plc程序111、机器人程序112),由此能够同步地模拟不同种类的控制对象(例如,臂式机器人或移动平台等)。另外,通过使用能够准确地模拟内置在fa系统1中的设备的动作的模拟器组,能够准确地模拟fa系统1的动作。[c.控制程序的同步执行处理]参照图4及图5,对图3中所说明的虚拟fa系统1x的同步执行处理进行说明。图4及图5是表示plc程序111及机器人程序112的设计画面的一例的图。在图4及图5中示出了信息处理装置100的显示部120。显示部120包含plc程序111的编辑区域120a以及机器人程序112的编辑区域120b。编辑区域120a、编辑区域120b在一个画面中并列显示。由此,设计者可并行地设计plc程序111及机器人程序112。如上所述,plc程序111是循环执行型的程序。因此,plc模拟器151(参照图2)针对预先规定的每个控制周期重复执行包含在plc程序111中的命令组。更具体来说,plc模拟器151在一个控制周期中从plc程序111的最上位执行到最下位。在它的下一个控制周期中,plc模拟器151再次从plc程序111的最上位执行到最下位。另一方面,机器人程序112是逐次执行型的程序。因此,解释部154(参照图2)以预先规定的执行顺序逐次地解释包含在机器人程序112中的命令组。其结果为,机器人控制器模拟器161从上开始依次逐行地执行机器人程序112。此时,解释部154在各行的命令的执行完成之前不解释下一行的命令。更具体来说,机器人控制器模拟器161基于当前命令的执行已完成这一情况,将该情况反馈给解释部154。解释部154接收该反馈并解释下一行的命令。由于这种执行方式的差异,因而为了同步地执行plc程序111及机器人程序112,必须将plc程序111中的命令组与包含在机器人程序112中的命令组以同步后的控制周期执行。为了实现同步执行,解释部154针对包含在机器人程序112(第二控制程序)中的各命令,算出该命令的执行所需要的执行时间。此处所提及的执行时间只要由与包含在机器人程序112中的命令的执行所需要的时间以相关尺相关的指标表示即可,例如,也可以由包含在机器人程序112中的各命令的执行所需要的控制周期的循环(cycle)数等表示。该循环数以定时器140的虚拟时刻为尺度。虚拟时刻的单位例如以“ms”表示。在图4的示例中,关于机器人程序112的第十四行所示的机器人命令114,特定“200ms”的循环数。机器人命令114中所示的“approspickloc,25”是使臂式机器人400移动到目标位置“25”的移动命令。通过解释部154对该移动命令进行解释,而特定“200ms”作为使臂式机器人400动作到目标位置所需要的控制周期的循环数。plc模拟器151在机器人控制器模拟器161执行机器人命令114期间,以机器人命令114的执行所需要的时间“200ms”重复执行包含在plc程序111中的命令组。作为一例,在plc程序111的控制周期为“1ms”的情况下,在执行机器人命令114期间,plc模拟器151将plc程序111重复执行200个循环(=200ms/1ms)。在plc模拟器151以机器人命令114的执行所需要的执行时间将包含在plc程序111中的命令组重复之后,机器人控制器模拟器161开始机器人命令114的下一个命令的执行。图5表示该例。在图5的示例中,解释部154将控制从机器人命令114切换到机器人命令115。机器人命令115中所示的“movespick.loc”是使臂式机器人移动到目标位置“pick.loc”的移动命令。通过解释部154对机器人命令115进行解释,而特定使臂式机器人400动作到目标位置所需要的执行时间“10ms”。该执行时间是在机器人命令115的执行开始前或执行开始时被特定。然后,plc模拟器151在解释部154执行机器人命令115期间,以机器人命令115的执行所需要的时间“10ms”重复执行包含在plc程序111中的命令组。作为一例,在plc程序111的控制周期为“1ms”的情况下,在执行机器人命令115期间,plc模拟器151将plc程序111重复执行10个循环(=10ms/1ms)。[d.位置指令值的同步输出处理]为了模拟ethercat下的通信方式,第一模拟器150(参照图2)针对按照ethercat的通信周期的预先规定的每个控制周期,将位置指令值输出到致动器模拟器155。同样地,第二模拟器160(参照图2)针对按照ethercat的通信周期的预先规定的每个控制周期,将位置指令值输出到致动器模拟器165。由此,能以与实际系统相同的通信方式模拟fa系统1的动作。图6是用来说明对于致动器模拟器155、致动器模拟器165(参照图2)的位置指令值的输出时序的同步处理的图。以下,列举包含在机器人程序112中的机器人命令114、机器人命令115(参照图4、图5)的执行过程为例,对位置指令值的输出时序的同步处理进行说明。在控制周期“n”中,第一模拟器150依次执行输出/输入(output/input,o/i)处理、指令值计算处理及解释处理。第二模拟器160依次执行o/i处理及指令值计算处理。o/i处理是将之前的指令值计算处理的结果输出,然后,取得此次的指令值计算处理所需要的信息作为输入的处理。指令值计算处理是计算对于致动器模拟器155、致动器模拟器165的位置指令值的处理。解释处理是用来解释机器人程序112的处理。在图6的示例中,通过该解释处理,特定“200ms”作为包含在机器人程序112中的机器人命令114的执行时间。第一模拟器150在第二模拟器160执行机器人命令114期间,以机器人命令114的执行时间“200ms”重复执行plc程序111。在控制周期为“1ms”的情况下,第一模拟器150将plc程序111执行200个循环(=200ms/1ms)。在该期间,第一模拟器150针对每个控制周期“1ms”执行o/i处理及指令值计算处理,并针对每个控制周期“1ms”将位置指令值输出到致动器模拟器155。另一方面,第二模拟器160在执行机器人命令114期间,针对预先规定的每个控制周期执行o/i处理及指令值计算处理。在控制周期为“1ms”的情况下,第二模拟器160针对每个控制周期“1ms”执行o/i处理及指令值计算处理,并针对每个控制周期“1ms”将位置指令值输出到致动器模拟器165。在从执行机器人命令114开始经过“200ms”后的控制周期“n+200”中,机器人命令114的执行完成。第一模拟器150在下一个控制周期“n+201”中,执行下一个机器人命令115的解释处理。在图6的示例中,通过该解释处理,而特定“10ms”作为机器人命令115的执行时间。第一模拟器150在第二模拟器160执行机器人命令115期间,以机器人命令115的执行时间“10ms”重复执行plc程序111。在控制周期为“1ms”的情况下,第一模拟器150将plc程序111执行10个循环(=10ms/1ms)。在该期间,第一模拟器150执行o/i处理及指令值计算处理,且针对每个控制周期“1ms”将位置指令值输出到致动器模拟器155。另一方面,第二模拟器160在执行机器人命令115期间,针对预先规定的每个控制周期执行o/i处理及指令值计算处理。在控制周期为“1ms”的情况下,第二模拟器160针对每个控制周期“1ms”执行o/i处理及指令值计算处理,且针对每个控制周期“1ms”将位置指令值输出到致动器模拟器165。这样,在使第一模拟器150及第二模拟器160同步的状态下,对致动器模拟器155、致动器模拟器165分别输出位置指令值,由此能使不同种类的控制对象的(例如,臂式机器人或移动平台等)同步。此外,在上文中对第一模拟器150的控制周期与第二模拟器160的控制周期相同的示例进行了说明,但它们的控制周期只要同步,也可以不同。作为一例,它们的控制周期中的其中一个也可以是另一个控制周期的整数倍。例如,也可以第一模拟器150的控制周期为“1ms”,第二模拟器160的控制周期为“2ms”。[e.模拟画面]图7是表示信息处理装置100的模拟画面的一例的图。参照图7,对用来实现同步模拟的模拟画面的一例进行说明。在信息处理装置100的显示部120,显示着用来编辑plc程序111及机器人程序112的用户接口(userinterface)125。用户接口125包含:plc程序111的编辑区域120a;机器人程序112的编辑区域120b;以及显示区域120c,实时地显示臂式机器人或移动平台等控制对象的动作。在显示区域120c显示着:机器人图像400a、机器人图像400b,表示实机的臂式机器人400;以及移动平台图像600a,表示实机的移动平台600。机器人图像400a、机器人图像400b或移动平台图像600a例如是根据计算机辅助设计(computeraideddesign,cad)数据等生成。作为一例,信息处理装置100具有三维形状的cad数据的导入功能,通过该导入功能,而读入臂式机器人400的cad数据以及移动平台600的cad数据。信息处理装置100在对两个臂式机器人400与一个移动平台600进行同步模拟的情况下,根据臂式机器人400的cad数据生成两个臂式机器人的三维数据,并且根据移动平台600的cad数据生成一个移动平台的三维数据。像图7的示例那样,在对一个移动平台600与两个臂式机器人400进行模拟的情况下,使用一个第一模拟器150与两个第二模拟器160。如上所述,第一模拟器150及第二模拟器160按照同步的控制周期,将位置指令值输出到对应的致动器模拟器。信息处理装置100基于依次输出的这些位置指令值,将臂式机器人的各三维数据逐次更新,并且将移动平台的三维数据逐次更新。信息处理装置100根据逐次更新的臂式机器人的各三维数据来逐次更新机器人图像400a、机器人图像400b的显示。与此同步地,信息处理装置100根据逐次更新的移动平台的三维数据来逐次更新移动平台图像600a的显示。由此,按照plc程序111及机器人程序112的执行,机器人图像400a、机器人图像400b的显示及移动平台图像600a的显示被同步地更新。由此,设计者可容易地确认plc程序111及机器人程序112是否正像意料的那样动作,从而可容易地调试plc程序111及机器人程序112。[f.信息处理装置100的硬件构成]参照图8,对信息处理装置100的硬件构成进行说明。图8是表示信息处理装置100的硬件构成的示意图。作为一例,信息处理装置100包括依据通用的计算机体系结构(computerarchitecture)而构成的计算机。信息处理装置100包含控制装置101、主存储器(memory)102、通信接口103、操作接口105、显示接口106、光学驱动器107以及存储装置110(存储部)。这些组件(component)经由内部总线119而相互能够通信地连接。控制装置101例如包含至少一个集成电路。集成电路例如包含至少一个中央处理器(centralprocessingunit,cpu)、至少一个专用集成电路(applicationspecificintegratedcircuit,asic)、至少一个场可编程门阵列(fieldprogrammablegatearray,fpga)、或它们的组合等。控制装置101通过将程序在主存储器102展开并执行,而实现本实施方式的各种处理。主存储器102由易失性存储器构成,且作为由控制装置101进行的程序执行所需要的工作存储器(workmemory)而发挥功能。通信接口103在与外部设备之间经由网络(network)而交换数据。该外部设备例如包含所述plc200(参照图1)、服务器(server)、其它通信设备等。信息处理装置100也可以构成为能够经由通信接口103下载信息处理程序113。信息处理程序113是用来提供plc程序111或机器人程序112的综合开发环境的程序,且提供所述同步模拟处理等功能。操作接口105连接在操作部122,撷取表示来自操作部122的用户操作的信号。典型来说,操作部122包括键盘(keyboard)、鼠标(mouse)、触摸面板(touchpanel)、触摸板(touchpad)等,受理来自用户的操作。设计者可使用操作部122编辑plc程序111或信息处理程序113。显示接口106与显示部120连接,按照来自控制装置101等的指令,对显示部120送出用来显示图像的图像信号。显示部120包括显示器(display)、指示器(indicator)等,对用户提示各种信息。光学驱动器107从光盘(opticaldisk)107a等读出存储在其中的各种程序,并安装到存储装置110。存储装置110例如存储信息处理程序113等。图8中表示经由光学驱动器107将需要的程序安装到信息处理装置100的构成例,但并不限定于此,也可以从网络上的服务器装置等下载。或者,也可以构成为信息处理装置100上的程序由写入到通用串行总线(universalserialbus,usb)存储器、安全数字(securedigital,sd)卡、紧凑闪存(compactflash,cf)等存储介质的程序重写。存储装置110例如为硬盘或外部安装的存储介质。作为一例,存储装置110存储开发中的plc程序111以及信息处理程序113。信息处理程序113并非作为单独的程序,也可以组入到任意程序的一部分而提供。在该情况下,与任意程序协动来实现本实施方式的同步处理。即便为不包含这种一部分的模块(module)的程序,也不会脱离本实施方式的信息处理装置100的主旨。进而,由本实施方式的信息处理程序113提供的功能的一部分或全部也可以由专用的硬件来实现。进而,也可以利用至少一个服务器实现本实施方式的同步处理的所谓云服务(cloudservice)的方式构成信息处理装置100。[g.信息处理装置100的控制构造]参照图9,对信息处理装置100的控制构造进行说明。图9是表示信息处理装置100的控制装置101所执行的处理的一部分的流程图。图9的处理是通过控制装置101执行程序来实现。在其它方式中,处理的一部分或全部也可以由电路元件或其它硬件来执行。在步骤s110中,控制装置101判断是否已受理同步模拟的执行开始操作。作为一例,基于用户接口125(参照图7)中的同步模拟的执行按钮被按下这一情况,控制装置101判断为已受理同步模拟的执行开始操作。控制装置101在判断为已受理同步模拟的执行开始操作的情况下(步骤s110中为是),将控制切换到步骤s112。在并非如此的情况下(步骤s110中为否),控制装置101再次执行步骤s110的处理。在步骤s112中,控制装置101作为所述解释部154(参照图2),解释机器人程序112的执行对象的行中所示的机器人命令,并执行用来在模拟上驱动致动器模拟器155的轨迹运算。根据该运算结果来特定执行对象的行中所示的机器人命令的执行所需要的循环数。在步骤s114中,控制装置101作为模拟机器人控制器300的动作的机器人控制器模拟器161而发挥功能,开始执行对象的机器人命令的执行。在步骤s120中,控制装置101基于定时器140所示的虚拟时刻,判断plc程序111的执行周期是否到来。控制装置101在判断为plc程序111的执行周期已到来的情况下(步骤s120中为是),将控制切换到步骤s122。在并非如此的情况下(步骤s120中为否),控制装置101将控制切换到步骤s130。在步骤s122中,控制装置101对移动平台600的致动器模拟器155输出上一次在步骤s124中所生成的位置指令值。也就是说,在后续的步骤s124中生成的位置指令值是在下一次执行步骤s122时输出到致动器模拟器155。在步骤s124中,控制装置101作为所述指令值生成部153(参照图2),生成用来输出到移动平台600的致动器模拟器155的位置指令值。关于该位置指令值的生成方法,像图3中所说明那样,所以不再重复关于它的说明。在步骤s130中,控制装置101基于定时器140所示的虚拟时刻,判断机器人程序112的执行周期是否到来。此外,在plc程序111的执行周期与机器人程序112的执行周期相同的情况下,步骤s130的判断处理也可以省略。控制装置101在判断为机器人程序112的执行周期已到来的情况下(步骤s130中为是),将控制切换到步骤s132。在并非如此的情况下(步骤s130中为否),控制装置101将控制切换到步骤s140。在步骤s132中,控制装置101对臂式机器人400的致动器模拟器165输出上一次在步骤s134中所生成的位置指令值。也就是说,在后续的步骤s134中生成的位置指令值是在下一次执行步骤s132时输出到致动器模拟器165。在步骤s134中,控制装置101作为所述指令值生成部163(参照图2),作为模拟机器人控制器300的动作的plc模拟器151而发挥功能,生成用来输出到臂式机器人400的致动器模拟器155的位置指令值。关于该位置指令值的生成方法由于如图3中所说明,所以关于它的说明不再重复。在步骤s140中,控制装置101将定时器140的虚拟时刻递增计数(countup)。虚拟时刻例如被递增计数1ms。在步骤s150中,控制装置101基于在步骤s112中特定出的循环数,判断由致动器模拟器165在模拟上驱动的臂式机器人的位置是否已到达至目标位置。控制装置101在判断为由致动器模拟器165在模拟上驱动的臂式机器人的位置已到达至目标位置的情况下(步骤s150中为是),将控制切换到步骤s152。在并非如此的情况下(步骤s150中为否),控制装置101使控制返回到步骤s120。在步骤s152中,控制装置101作为所述解释部154,将机器人程序112中的执行对象的行切换到下一行。[h.总结]像以上那样,信息处理装置100针对以由定时器140生成的虚拟时刻作为尺度的预先规定的每个控制周期,重复执行包含在循环执行型的plc程序111中的命令组。另外,信息处理装置100按照由定时器140生成的虚拟时刻,以预先规定的执行顺序逐次地执行包含在逐次执行型的机器人程序112中的命令组。这样,通过基于共通的虚拟时刻执行plc程序111及机器人程序112,而将执行方式不同的程序同步地执行。其结果为,能够同步地模拟不同种类的控制对象(例如,臂式机器人或移动平台等)的动作。应认为此次公开的实施方式在所有方面为例示而并非限制性的实施方式。本发明的范围由权利要求表示,而并非由所述说明表示,且意图包含与权利要求均等的意思及范围内的所有变更。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1