CN109388096A - 信息处理装置及方法及非易失性的计算机可读记录介质 - Google Patents
信息处理装置及方法及非易失性的计算机可读记录介质 Download PDFInfo
- Publication number
- CN109388096A CN109388096A CN201810148198.6A CN201810148198A CN109388096A CN 109388096 A CN109388096 A CN 109388096A CN 201810148198 A CN201810148198 A CN 201810148198A CN 109388096 A CN109388096 A CN 109388096A
- Authority
- CN
- China
- Prior art keywords
- program
- control program
- control
- execution
- information processing
- 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.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 title description 27
- 230000001360 synchronised effect Effects 0.000 claims abstract description 39
- 238000003672 processing method Methods 0.000 claims abstract description 4
- 238000004088 simulation Methods 0.000 claims description 34
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000012545 processing Methods 0.000 description 48
- 230000006399 behavior Effects 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 12
- 238000003860 storage Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000004087 circulation Effects 0.000 description 6
- 239000012636 effector Substances 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- CVOFKRWYWCSDMA-UHFFFAOYSA-N 2-chloro-n-(2,6-diethylphenyl)-n-(methoxymethyl)acetamide;2,6-dinitro-n,n-dipropyl-4-(trifluoromethyl)aniline Chemical compound CCC1=CC=CC(CC)=C1N(COC)C(=O)CCl.CCCN(CCC)C1=C([N+]([O-])=O)C=C(C(F)(F)F)C=C1[N+]([O-])=O CVOFKRWYWCSDMA-UHFFFAOYSA-N 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 239000011265 semifinished product Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- 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]
-
- 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/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- 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/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23256—Hybrid programming, part sequence, part continuous
-
- 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/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23283—Debugging, breakpoint
-
- 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/34—Director, elements to supervisory
- G05B2219/34396—Control different groups of functions, commands simultaneously, synchronized
-
- 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)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Programmable Controllers (AREA)
- Manipulator (AREA)
Abstract
本发明提供一种信息处理装置、信息处理方法及非易失性的计算机可读记录介质,期望同步地执行不同种类的控制程序的技术。信息处理装置包括:致动器模拟器,对驱动第一控制对象的驱动设备的行为进行模拟;致动器模拟器,对驱动与第一控制对象协动的第二控制对象的驱动设备的行为进行模拟;定时器,生成虚拟时刻;以及执行部,执行控制致动器模拟器的可编程逻辑控制器程序及控制致动器模拟器的机器人程序。由执行部进行的控制程序的执行模式包含:同步执行模式,按照虚拟时刻同步地执行可编程逻辑控制器程序及机器人程序;以及非同步执行模式,不同步地执行可编程逻辑控制器程序及机器人程序。
Description
技术领域
本发明涉及一种用来同步地执行不同种类的控制程序(program)的技术,尤其涉及一种信息处理装置、信息处理方法及非易失性的计算机可读记录介质。
背景技术
为了使工件(work)的生产过程自动化而开发出各种工厂自动化(FactoryAutomation,FA)系统。FA系统例如包括用来移动工件的平台(table)、或用来搬送工件的输送机(conveyor)、或用来将工件移动到预先规定的移动目的地的臂式机器人(arm robot)等。以下,将平台、或输送机、或臂式机器人等控制对象也总称为“移动装置”。这些移动装置由可编程逻辑控制器(Programmable Logic Controller,PLC)或机器人控制器(robotcontroller)等控制器来控制。
通常,设计者在确认设计出的控制程序在模拟(simulation)上按照意图进行动作之后,将控制程序写入到控制器。关于用来支持这种模拟的技术,日本专利特开2016-42378号公报(专利文献1)公开了一种模拟装置,该模拟装置能够实现包含视觉传感器(sensor)在内的综合性的模拟。
[背景技术文献]
[专利文献]
[专利文献1]日本专利特开2016-42378号公报
发明内容
[发明欲解决的课题]
近年来,开发出一种用来同步地驱动各种移动装置的控制器。由此,例如,在平台移动期间,臂式机器人能够拾取平台上的工件等。
各种移动装置的控制程序有时根据移动装置的种类,以不同种类的编程(programming)语言来记述。专利文献1中所公开的模拟装置并非模拟不同种类的控制程序的动作。
有想要同步地执行这种不同种类的控制程序的需求以及想要非同步地执行这种不同种类的控制程序的需求。通过同步地执行各种控制程序,设计者能更准确地模拟各种控制程序的动作,或者更准确地调试(debug)各种控制程序。另一方面,通过非同步地执行各种控制程序,设计者能够更快地到达至目标的模拟部位,或者,能够更快地到达至调试部位。这样,期望将不同种类的程序根据情况同步或非同步地执行。
[解决课题的手段]
根据某一实施方式,信息处理装置包括:第一致动器模拟器(actuatoremulator),模拟用来驱动第一控制对象的驱动设备的行为;第二致动器模拟器,模拟用来驱动与所述第一控制对象协动的第二控制对象的驱动设备的行为;定时器(timer),用来生成虚拟时刻;以及执行部,用来执行第一控制程序及第二控制程序,所述第一控制程序用来控制所述第一致动器模拟器,所述第二控制程序用来控制所述第二致动器模拟器。所述第二控制程序是以与所述第一控制程序不同种类的编程语言来记述。由所述执行部进行的控制程序的执行模式(mode)包含:同步执行模式,按照所述虚拟时刻同步地执行所述第一控制程序及所述第二控制程序;以及非同步执行模式,不同步地执行所述第一控制程序及所述第二控制程序。
根据某一实施方式,所述信息处理装置还具备显示部,所述显示部用来显示所述第一控制程序及所述第二控制程序的编辑画面。所述编辑画面以能够对包含在所述第一控制程序中的命令组及包含在所述第二控制程序中的命令组指定断点(break point)的方式构成。所述执行部基于由所述断点指定的命令的执行时序(timing)到来这一情况,暂时停止所述第一控制程序及所述第二控制程序的执行。
根据某一实施方式,所述执行部从所述第一控制程序及所述第二控制程序的执行开始后到由所述断点指定的命令被执行为止,以所述同步执行模式执行所述第一控制程序及所述第二控制程序。
根据某一实施方式,所述编辑画面构成为在所述第一控制程序及所述第二控制程序的执行暂时停止中,能够选择所述同步执行模式及所述非同步执行模式中的任一模式。
根据某一实施方式,所述编辑画面构成为在所述第一控制程序及所述第二控制程序的执行暂时停止中,在选择了所述非同步执行模式的情况下,能够个别地步进执行所述第一控制程序及所述第二控制程序。
根据某一实施方式,所述第一控制程序及所述第二控制程序包含相互共有的共有变数。所述编辑画面构成为在所述第一控制程序及所述第二控制程序的执行暂时停止中、或所述第一控制程序及所述第二控制程序的执行中,能够受理变更所述共有变数的操作。
根据某一实施方式,所述第一控制程序及所述第二控制程序中的至少一个包含与其它控制程序同步地被执行的同步命令。所述编辑画面构成为在所述第一控制程序及所述第二控制程序的执行暂时停止中、或所述第一控制程序及所述第二控制程序的执行中,能够受理使所述同步命令无效化的操作。
根据某一实施方式,所述第一控制程序为循环(cyclic)执行型的程序。所述第二控制程序为逐次执行型的程序。
根据某一实施方式,信息处理方法包括如下步骤:生成虚拟时刻;以及执行第一控制程序及第二控制程序,所述第一控制程序用来控制对用来驱动第一控制对象的驱动设备的行为进行模拟的第一致动器模拟器,所述第二控制程序用来控制对用来驱动与所述第一控制对象协动的第二控制对象的驱动设备的行为进行模拟的第二致动器模拟器。所述第二控制程序是以与所述第一控制程序不同种类的编程语言来记述。所述执行步骤中的控制程序的执行模式包含:同步执行模式,按照所述虚拟时刻同步地执行所述第一控制程序及所述第二控制程序;以及非同步执行模式,不同步地执行所述第一控制程序及所述第二控制程序。
根据某一实施方式,信息处理程序使计算机执行如下步骤:生成虚拟时刻;以及执行第一控制程序及第二控制程序,所述第一控制程序用来控制对用来驱动第一控制对象的驱动设备的行为进行模拟的第一致动器模拟器,所述第二控制程序用来控制对用来驱动与所述第一控制对象协动的第二控制对象的驱动设备的行为进行模拟的第二致动器模拟器。所述第二控制程序是以与所述第一控制程序不同种类的编程语言来记述。所述执行步骤中的控制程序的执行模式包含:同步执行模式,按照所述虚拟时刻同步地执行所述第一控制程序及所述第二控制程序;以及非同步执行模式,不同步地执行所述第一控制程序及所述第二控制程序。
[发明效果]
在某一实施方式中,可将不同种类的控制程序根据情况同步或非同步地执行。
附图说明
图1是表示实施方式的FA系统的系统构成的一例的图。
图2是表示实施方式的虚拟FA系统的构成的一例的图。
图3是表示所生成的轨迹的一例的图。
图4是表示PLC程序及机器人程序(robot program)的编辑画面的一例的图。
图5是表示PLC程序及机器人程序的编辑画面的一例的图。
图6是表示PLC程序及机器人程序的编辑画面的一例的图。
图7是表示PLC程序及机器人程序的编辑画面的一例的图。
图8是表示PLC程序及机器人程序的编辑画面的一例的图。
图9是用来说明对于致动器模拟器的位置指令值的输出时序的同步处理的图。
图10是表示实施方式的信息处理装置的模拟画面的一例的图。
图11是表示实施方式的信息处理装置的硬件(hardware)构成的示意图。
图12是表示同步执行模式下的控制程序的执行处理的流程图。
图13是表示非同步执行模式下的控制程序的执行处理的流程图。
图14是表示控制程序的执行暂时停止中的处理的流程图。
符号说明
1:FA系统;
1X:虚拟FA系统;
100:信息处理装置;
101:控制装置;
102:主存储器;
103:通信接口;
105:操作接口;
106:显示接口
107:光学驱动器;
107A:光盘;
110:存储装置;
111:PLC程序;
112:机器人程序;
113:信息处理程序;
114、115:机器人命令;
119:内部总线;
120:显示部;
120A、120B:编辑区域;
120C:显示区域;
121:执行模式显示区域;
122:操作部;
125:编辑画面;
140:定时器;
150:第一模拟器;
151:PLC模拟器;
151A:执行部;
152、162:轨迹运算部;
153、163:指令值生成部;
154:解释部;
155、165:致动器模拟器;
156A、156B:伺服驱动器模拟器;
157A、157B、167A、167B:伺服马达模拟器;
160:第二模拟器;
161:机器人控制器模拟器;
200:PLC;
300:机器人控制器;
400:臂式机器人;
400A、400B:机器人图像;
420:基台;
424:第一臂;
428:第二臂;
432:末端执行器;
440、440A、440B、440C、440D、601、601A、601B、M:伺服马达;
500、500A、500B:伺服驱动器;
600:移动平台;
600A:移动平台图像;
602:设置台;
AR:箭头;
BR1、BR2:断点;
FB:功能块;
NW1、NW2:域网络;
N~N+213:控制周期;
S110~S160、S210~S240、S310~S340:步骤;
VA1、VA2:共有变数;
W:工件;
θx、θy:旋转角度。
具体实施方式
以下,一面参照附图,一面对本发明的各实施方式进行说明。在以下的说明中,对相同的零件及构成要素标注了相同的符号。它们的名称及功能也相同。因此,不重复关于它们的详细说明。
[A.FA系统的构成]
本发明涉及一种用来同步地模拟构成FA系统的不同种类的移动装置的技术。为了容易理解,在对同步模拟进行说明之前,参照图1,对模拟对象的FA系统的一例进行说明。图1是表示FA系统1的系统构成的一例的图。
FA系统1包含信息处理装置100、PLC(Programmable Logic Controller)200、机器人控制器300、臂式机器人400、伺服驱动器(servo driver)500A、伺服驱动器500B以及移动平台600。
为了方便说明,以下,将水平面上的指定方向也称为x方向。另外,将在水平面上与x方向正交的方向也称为y方向。将与x方向及y方向正交的方向也称为z方向。也就是说,z方向相当于铅垂方向。
信息处理装置100将用来设计PLC200或机器人控制器300的控制程序的开发环境提供给设计者。信息处理装置100例如为个人计算机(Personal Computer,PC)、平板(tablet)终端、或智能手机(smartphone)等支持装置。信息处理装置100及PLC200连接在域网络(field network)NW1。域网络NW1例如采用EtherNET(注册商标)。但是,域网络NW1并不限定于EtherNET,可采用任意的通信方法。例如,信息处理装置100及PLC200也可以由信号线直接连接。
PLC200、机器人控制器300及伺服驱动器500A、伺服驱动器500B通过菊花链(daisychain)而连接在域网络NW2。域网络NW2例如采用EtherCAT(注册商标)。但是,域网络NW2并不限定于EtherCAT,可采用任意的通信方法。
臂式机器人400例如为水平多关节机器人(SCARA robot)。臂式机器人400包括基台420、第一臂424、第二臂428以及末端执行器(end effector)432。第一臂424连结于基台420,且构成为能够以该连结点为旋转轴在xy平面上利用伺服马达(M)(servo motor)440A旋转。第二臂428连结于第一臂424,且以该连结点为旋转轴在xy平面上由伺服马达440B旋转驱动。末端执行器432连结于第二臂428,构成为能够利用伺服马达440C沿着z方向驱动,并且构成为能够利用伺服马达440D而旋转。
以下,也将伺服马达440A~伺服马达440D总称为伺服马达440。在机器人控制器300中内置着多个伺服驱动器(未图示),各伺服驱动器控制对应的伺服马达440。在伺服马达440的旋转轴设置着编码器(encoder)(未图示)。该编码器将伺服马达440的位置(旋转角度)、伺服马达440的旋转速度、伺服马达440的累积转数等反馈给对应的伺服驱动器。此外,该伺服驱动器未必需要内置在机器人控制器300中,也可以与机器人控制器300分开设置。
末端执行器432例如为工件W的拾取工具(pickup tool)。工件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是以循环执行型的程序语言记述,例如,以阶梯(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。控制程序只要是以种类不同的程序语言记述的控制程序,则可采用任意的控制程序。
[C.编辑画面125]
参照图4~图7,对用来编辑PLC程序111及机器人程序112的编辑画面125进行说明。图4~图7是表示PLC程序111及机器人程序112的编辑画面125的一例的图。
编辑画面125包含PLC程序111的编辑区域120A、机器人程序112的编辑区域120B以及提示当前的执行模式的执行模式显示区域121。编辑区域120A、编辑区域120B在一个画面中并列显示。由此,设计者可并行地设计PLC程序111及机器人程序112。
编辑画面125构成为可对包含在PLC程序111中的命令组及包含在机器人程序112中的命令组指定断点。也就是说,用户可对编辑画面125中所示的任意命令指定断点。在图6及图7的示例中,对PLC程序111的输入变数“b”指定了断点BR1,对机器人程序112的第十四行指定了断点BR2。另外,关于机器人程序112,以箭头AR表示当前执行对象。
执行部151A基于由断点指定的命令的执行时序到来这一情况,暂时停止PLC程序111及机器人程序112的执行。例如,当断点BR1所指定的变数“b”的值从“0”变为“1”时,执行部151A暂时停止PLC程序111及机器人程序112的执行。同样地,当断点BR2所指定的第十四行的命令的执行时序到来时,执行部151A暂时停止PLC程序111及机器人程序112的执行。
编辑画面125在执行暂时停止中,显示两控制程序所规定的各变数的值。由此,设计者可确认被暂时停止的时序时的变数的值,从而可判断两控制程序是否正像意料的那样动作。
[D.控制程序的执行模式]
如上所述,由执行部151A进行的控制程序的执行模式包含:“同步执行模式”,同步地执行PLC程序111及机器人程序112;以及“非同步执行模式”,不同步地执行PLC程序111及机器人程序112。
以下,继续参照图4~图7,对同步执行模式及非同步执行模式进行说明。
(D1.同步执行模式)
首先,参照图4及图5,对同步执行模式中的执行形态进行说明。
如上所述,PLC程序111为循环执行型的程序。因此,轨迹运算部152(参照图2)针对预先规定的每个控制周期重复执行包含在PLC程序111中的命令组。更具体来说,轨迹运算部152在一个控制周期中从PLC程序111的最上位执行到最下位。在它的下一个控制周期中,轨迹运算部152再次从PLC程序111的最上位执行到最下位。
另一方面,机器人程序112为逐次执行型的程序。因此,解释部154(参照图2)以预先规定的执行顺序逐次地执行包含在机器人程序112中的命令组。更具体来说,解释部154从上开始依次逐行地执行机器人程序112。此时,解释部154在各行的命令执行完成之前不执行下一行的命令。
由于这种执行形态的差异,因而为了同步地执行PLC程序111及机器人程序112,必须将PLC程序111中的命令组与包含在机器人程序112中的命令组以同步后的控制周期执行。
为了实现同步执行,解释部154针对包含在机器人程序112(第二控制程序)中的命令,算出该命令的执行所需要的控制周期的循环(cycle)数。该循环数以定时器140的虚拟时刻为尺度。虚拟时刻的单位例如以“ms”表示。在图4的示例中,关于机器人程序112的第十四行所示的机器人命令114,特定“200ms”的循环数。机器人命令114中所示的“APPROS pickloc,25”是使臂式机器人400移动到目标位置“25”的移动命令。通过解释部154对该移动命令进行解释,而特定“200ms”作为使臂式机器人400动作到目标位置所需要的控制周期的循环数。
轨迹运算部152在解释部154执行机器人命令114期间,以机器人命令114的执行所需要的时间“200ms”重复执行包含在PLC程序111中的命令组。作为一例,在PLC程序111的控制周期为“1ms”的情况下,在执行机器人命令114期间,轨迹运算部152将PLC程序111重复执行200个循环(=200ms/1ms)。
在轨迹运算部152以机器人命令114的执行所需要的执行时间将包含在PLC程序111中的命令组重复之后,解释部154开始机器人命令114的下一个命令的执行。图5表示该例。在图5的示例中,解释部154将控制从机器人命令114切换到机器人命令115。机器人命令115中所示的“MOVES pick.loc”是使臂式机器人移动到目标位置“pick.loc”的移动命令。通过解释部154对机器人命令115进行解释,而特定“10ms”作为使臂式机器人400动作到目标位置所需要的控制周期的循环数。
然后,轨迹运算部152在解释部154执行机器人命令115期间,以机器人命令115的执行所需要的时间“10ms”重复执行包含在PLC程序111中的命令组。作为一例,在PLC程序111的控制周期为“1ms”的情况下,在执行机器人命令115期间,轨迹运算部152将PLC程序111重复执行10个循环(=10ms/1ms)。
(D2.非同步执行模式)
接下来,参照图6及图7,对非同步执行模式中的执行形态进行说明。
此处所提及的非同步执行模式是指相互不依赖地执行PLC程序111及机器人程序112的执行形态。也就是说,不仅不同步地并列执行PLC程序111及机器人程序112的执行形态包含在作为非同步执行模式的执行形态中,而且个别地执行PLC程序111及机器人程序112的执行形态也包含在作为非同步执行模式的执行形态中。以下,列举个别地执行PLC程序111及机器人程序112的示例对非同步执行模式进行说明。
在图6及图7的示例中,基于标注着断点BR2的机器人命令114的执行时序到来这一情况,暂时停止PLC程序111及机器人程序112的执行。此时,编辑画面125构成为在非同步执行模式下可个别地步进执行PLC程序111及机器人程序112。所谓PLC程序111中的步进执行是指执行一个控制周期的命令。所谓机器人程序112中的步进执行是指执行1行的命令。
在图6中示出步进执行PLC程序111的示例。此时,机器人程序112为暂时停止的状态。在图7中示出步进执行机器人程序112的示例。此时,PLC程序111为暂时停止的状态。这样,在非同步执行模式下,设计者可个别地步进执行PLC程序111及机器人程序112。
指定进行步进执行的对象的控制程序的方法为任意。例如,在进行预先规定的第一操作(例如,对键盘(keyboard)按下指定的第一键的操作)的情况下,执行部151A进行PLC程序111的步进执行。另一方面,在进行预先规定的第二操作(例如,与第一键不同的指定的第二键的按下操作)的情况下,执行部151A进行机器人程序112的步进执行。
[E.调试形态]
以下,继续参照图4~图7,对PLC程序111及机器人程序112的调试形态的一例进行说明。
编辑画面125构成为可指定以同步执行模式执行PLC程序111及机器人程序112还是以非同步执行模式执行PLC程序111及机器人程序112。编辑画面125例如基于已受理指定的模式切换操作这一情况,将执行模式交替地切换。作为一例,执行模式是在针对编辑画面125的点选(click)操作或针对编辑画面125的指定的鼠标手势(mouse gesture)操作等中切换。执行模式显示区域121的显示与模式切换操作连动而更新。
设计者可运用同步执行模式及非同步执行模式,来调试PLC程序111及机器人程序112。作为典型的调试形态的一例,设计者在调试部位之前以同步执行模式执行两控制程序,然后,切换为非同步执行模式仅使调试对象的控制程序动作。
为了应对这种调试形态,执行部151A从PLC程序111及机器人程序112的执行开始后到执行由断点BR1或断点BR2指定的命令为止,以同步执行模式执行两控制程序。由此,设计者可在调试部位之前使控制程序准确地动作。
当由断点BR1或断点BR2指定的命令的执行时序到来时,执行部151A暂时停止PLC程序111及机器人程序112的执行。编辑画面125构成为在PLC程序111及机器人程序112的执行暂时停止中,能够选择同步执行模式及非同步执行模式中的任一模式。作为一例,在针对编辑画面125的点选操作、或针对编辑画面125的指定的鼠标手势操作等中切换执行模式。
在控制程序暂时停止中,设计者选择非同步执行模式。由此,设计者能够仅步进执行调试对象的控制程序。其结果为,设计者可有效率地对调试对象的控制程序进行调试。
[F.共有变数及同步命令的无效化]
图8是表示PLC程序111及机器人程序112的编辑画面125的一例的图。参照图8,对共有变数及同步指令(command)的无效化处理进行说明。
PLC程序111及机器人程序112包含相互共有的共有变数。此处所提及的共有变数是指受另一个控制程序的影响而值发生变化的变数。在图8中,作为一例,示出了共有变数VA1、VA2。在图8的示例中,共有变数VA1、VA2是以相同的变数名“flag”表示。共有变数VA1、VA2始终表示同一值。也就是说,在利用PLC程序111重写共有变数VA1的情况下,与共有变数VA1一起共有变数VA2也被重写。另一方面,在利用机器人程序112重写共有变数VA2的情况下,与共有变数VA2一起共有变数VA1也被重写。
编辑画面125构成为在PLC程序111及机器人程序112的执行暂时停止中、或PLC程序111及机器人程序112的执行中,能够受理变更共有变数VA1、VA2的操作。也就是说,编辑画面125构成为可对共有变数VA1、VA2手动地输入值。例如,在共有变数为取两个值中的任一值那样的变数的情况下,设计者通过利用点选等指定共有变数来重写值。或者,也可以构成为设计者在指定共有变数之后输入值。由此,设计者可按照共有变数的值使执行开始的命令强制性地执行,从而改善调试效率。
另外,PLC程序111及机器人程序112包含与其它控制程序同步的同步命令。此处所提及的同步命令是指与其它控制程序的执行同步地被执行的命令。在图8中,作为一例,示出了功能块(Function block)FB作为同步命令。功能块FB将内部所规定的命令与机器人程序112的执行周期同步地执行。
编辑画面125构成为在PLC程序111及机器人程序112的执行暂时停止中、或PLC程序111及机器人程序112的执行中,能够受理使功能块FB无效化的操作。例如,设计者可通过利用点选等指定功能块FB来切换有效及无效。由此,不依赖于其它控制程序的执行周期来执行功能块FB,从而改善调试效率。
[G.位置指令值的同步输出处理]
为了模拟EtherCAT下的通信形态,第一模拟器150(参照图2)针对按照EtherCAT的通信周期的预先规定的每个控制周期,将位置指令值输出到致动器模拟器155。同样地,第二模拟器160(参照图2)针对按照EtherCAT的通信周期的预先规定的每个控制周期,将位置指令值输出到致动器模拟器165。由此,能以与实际系统相同的通信形态模拟FA系统1的动作。
图9是用来说明对于致动器模拟器155、致动器模拟器165(参照图2)的位置指令值的输出时序的同步处理的图。以下,列举包含在机器人程序112中的机器人命令114、机器人命令115(参照图4、图5)的执行过程为例,对位置指令值的输出时序的同步处理进行说明。
在控制周期“N”中,第一模拟器150依次执行输出/输入(Output/Input,O/I)处理、指令值计算处理及解释处理。第二模拟器160依次执行O/I处理及指令值计算处理。O/I处理是将之前的指令值计算处理的结果输出,然后,取得此次的指令值计算处理所需要的信息作为输入的处理。指令值计算处理是计算对于致动器模拟器155、致动器模拟器165的位置指令值的处理。解释处理是用来解释机器人程序112的处理。在图9的示例中,通过该解释处理,而特定“200ms”作为包含在机器人程序112中的机器人命令114的执行所需要的控制周期的循环数。
第一模拟器150在第二模拟器160执行机器人命令114期间,将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的解释处理。在图9的示例中,通过该解释处理,而特定“10ms”作为包含在机器人程序112中的机器人命令115的执行所需要的控制周期的循环数。
第一模拟器150在第二模拟器160执行机器人命令115期间,将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”。
[H.模拟画面]
图10是表示信息处理装置100的模拟画面的一例的图。参照图10,对用来实现同步模拟的模拟画面的一例进行说明。
在信息处理装置100的显示部120中,显示着用来编辑PLC程序111及机器人程序112的编辑画面125。编辑画面125包含:PLC程序111的编辑区域120A;机器人程序112的编辑区域120B;以及显示区域120C,实时地显示臂式机器人或移动平台等控制对象的动作。
在显示区域120C,显示着:机器人图像400A、机器人图像400B,表示实机的臂式机器人400;以及移动平台图像600A,表示实机的移动平台600。机器人图像400A、机器人图像400B或移动平台图像600A例如是根据计算机辅助设计(Computer Aided Design,CAD)数据等生成。作为一例,信息处理装置100具有三维形状的CAD数据的导入功能,通过该导入功能,而读入臂式机器人400的CAD数据以及移动平台600的CAD数据。信息处理装置100在对两个臂式机器人400与一个移动平台600进行同步模拟的情况下,根据臂式机器人400的CAD数据生成两个臂式机器人的三维数据,并且根据移动平台600的CAD数据生成一个移动平台的三维数据。
像图10的示例那样,在对一个移动平台600与两个臂式机器人400进行模拟的情况下,使用一个第一模拟器150与两个第二模拟器160。如上所述,第一模拟器150及第二模拟器160按照同步的控制周期,将位置指令值输出到对应的致动器模拟器。信息处理装置100基于依次输出的这些位置指令值,将臂式机器人的各三维数据逐次更新,并且将移动平台的三维数据逐次更新。信息处理装置100根据逐次更新的臂式机器人的各三维数据来逐次更新机器人图像400A、机器人图像400B的显示。与此同步地,信息处理装置100根据逐次更新的移动平台的三维数据来逐次更新移动平台图像600A的显示。
由此,按照PLC程序111及机器人程序112的执行,机器人图像400A、机器人图像400B的显示及移动平台图像600A的显示被同步地更新。由此,设计者可容易地确认PLC程序111及机器人程序112是否正像意料的那样动作,从而可容易地调试PLC程序111及机器人程序112。
[I.信息处理装置100的硬件构成]
参照图11,对信息处理装置100的硬件构成进行说明。图11是表示信息处理装置100的硬件构成的示意图。
作为一例,信息处理装置100包括依据通用的计算机体系结构(computerarchitecture)而构成的计算机。信息处理装置100包含控制装置101、主存储器(memory)102、通信接口103、操作接口105、显示接口106、光学驱动器107以及存储装置110(存储部)。这些组件(component)经由内部总线119而相互能够通信地连接。
控制装置101例如包含至少一个集成电路。集成电路例如包含至少一个中央处理器(Central Processing Unit,CPU)、至少一个专用集成电路(Application SpecificIntegrated Circuit,ASIC)、至少一个场可编程门阵列(Field Programmable GateArray,FPGA)、或它们的组合等。控制装置101通过将程序在主存储器102展开并执行,而实现本实施方式的各种处理。主存储器102由易失性存储器构成,且作为由控制装置101进行的程序执行所需要的工作存储器(work memory)而发挥功能。
通信接口103在与外部设备之间经由网络(network)而交换数据。该外部设备例如包含所述PLC200(参照图1)、服务器(server)、其它的通信设备等。信息处理装置100也可以构成为能够经由通信接口103下载信息处理程序113。信息处理程序113是用来提供PLC程序111或机器人程序112的综合开发环境的程序,且提供所述同步模拟处理等功能。
操作接口105连接在操作部122,撷取表示来自操作部122的用户操作的信号。典型来说,操作部122包括键盘、鼠标、触摸面板(touch panel)、触摸板(touchpad)等,受理来自用户的操作。设计者可使用操作部122编辑PLC程序111或信息处理程序113。
显示接口106与显示部120连接,按照来自控制装置101等的指令,对显示部120送出用来显示图像的图像信号。显示部120包括显示器(display)、指示器(indicator)等,对用户提示各种信息。
光学驱动器107从光盘(optical disk)107A等读出存储在其中的各种程序,并安装到存储装置110。存储装置110例如存储信息处理程序113等。
图11中表示经由光学驱动器107将需要的程序安装到信息处理装置100的构成例,但并不限定于此,也可以从网络上的服务器装置等下载。或者,也可以构成为信息处理装置100上的程序由写入到通用串行总线(Universal Serial Bus,USB)存储器、安全数字(Secure Digital,SD)卡、紧凑闪存(Compact Flash,CF)等存储介质的程序重写。
存储装置110例如为硬盘或外部安装的存储介质。作为一例,存储装置110存储开发中的PLC程序111以及信息处理程序113。信息处理程序113并非作为单独的程序,也可以组入到任意程序的一部分而提供。在该情况下,与任意程序协动来实现本实施方式的同步处理。即便为不包含这种一部分的模块(module)的程序,也不会脱离本实施方式的信息处理装置100的主旨。进而,由本实施方式的信息处理程序113提供的功能的一部分或全部也可以由专用的硬件来实现。进而,也可以利用至少一个服务器实现本实施方式的同步处理的所谓云服务(cloud service)的形态构成信息处理装置100。
[J.信息处理装置100的控制构造]
参照图12~图14,对信息处理装置100的硬件构成进行说明。图12是表示同步执行模式下的控制程序的执行处理的流程图。图13是表示非同步执行模式下的控制程序的执行处理的流程图。图14是表示控制程序的执行暂时停止中的处理的流程图。图12~图14的处理是通过信息处理装置100的控制装置101执行程序而实现。在其它形态中,处理的一部分或全部也可以由电路元件或其它硬件来执行。
(J1.同步执行模式中的控制流程)
首先,参照图12,对同步执行模式中的控制流程进行说明。
在步骤S110中,控制装置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而发挥功能,按照在步骤S112中生成的轨迹,生成用来输出到臂式机器人400的致动器模拟器155的位置指令值。关于该位置指令值的生成方法,像图3中所说明那样,所以不再重复关于它的说明。
在步骤S140中,控制装置101将定时器140的虚拟时刻递增计数。虚拟时刻例如被递增计数1ms。
在步骤S150中,控制装置101判断由致动器模拟器165在模拟上驱动的臂式机器人的位置是否已到达至目标位置。控制装置101在判断为由致动器模拟器165在模拟上驱动的臂式机器人的位置已到达至目标位置的情况下(步骤S150中为是),将控制切换到步骤S152。在并非如此的情况下(步骤S150中为否),控制装置101使控制返回到步骤S120。
在步骤S152中,控制装置101作为所述解释部154,将机器人程序112中的执行对象的行切换到下一行。
在步骤S160中,控制装置101判断PLC程序111及机器人程序112中的任一程序是否已来到断点。控制装置101在判断为PLC程序111及机器人程序112中的任一程序已来到断点的情况下(步骤S160中为是),结束图12所示的处理。在并非如此的情况下(步骤S160中为否),控制装置101使控制返回到步骤S112。
(J2.非同步执行模式中的控制流程)
接下来,参照图13,对非同步执行模式中的控制流程进行说明。
在步骤S210中,控制装置101判断在指定非同步执行模式的状态下是否已受理控制程序的执行开始操作。控制装置101在判断为在指定非同步执行模式的状态下已受理控制程序的执行开始操作的情况下(步骤S210中为是),将控制切换到步骤S212。在并非如此的情况下(步骤S210中为否),控制装置101再次执行步骤S210的处理。
在步骤S212中,控制装置101开始非同步执行模式下的控制程序的执行。由此,并列地开始PLC程序111的执行与机器人程序112的执行。PLC程序111的执行处理通过步骤S220、S222、S224、S226来实现。机器人程序112的执行处理通过步骤S232、S234、S236来实现。
在步骤S220中,控制装置101基于定时器140所示的虚拟时刻,判断PLC程序111的执行周期是否到来。控制装置101在判断为PLC程序111的执行周期已到来的情况下(步骤S220中为是),将控制切换到步骤S222。在并非如此的情况下(步骤S220中为否),控制装置101再次执行步骤S220的处理。
在步骤S222中,控制装置101对移动平台600的致动器模拟器155输出上一次在步骤S224中所生成的位置指令值。也就是说,在后续的步骤S224中生成的位置指令值是在下一次执行步骤S222时输出到致动器模拟器155。
在步骤S224中,控制装置101作为所述指令值生成部153(参照图2),执行机器人程序112的执行对象的行中所示的机器人命令,生成用来输出到移动平台600的致动器模拟器155的位置指令值。关于该位置指令值的生成方法,像图3中所说明那样,所以不再重复关于它的说明。
在步骤S226中,控制装置101将定时器140的虚拟时刻递增计数。虚拟时刻例如被递增计数1ms。
在步骤S232中,控制装置101对臂式机器人400的致动器模拟器165输出上一次在步骤S234中所生成的位置指令值。也就是说,在后续的步骤S234中生成的位置指令值是在下一次执行步骤S232时输出到致动器模拟器165。
在步骤S234中,控制装置101作为所述指令值生成部163(参照图2),作为模拟机器人控制器300的动作的PLC模拟器151而发挥功能,生成用来输出到臂式机器人400的致动器模拟器155的位置指令值。关于该位置指令值的生成方法,像图3中所说明那样,所以不再重复关于它的说明。
在步骤S236中,控制装置101作为所述解释部154,将机器人程序112中的执行对象的行切换到下一行。
在步骤S240中,控制装置101判断PLC程序111及机器人程序112中的任一程序是否已来到断点。控制装置101在判断为PLC程序111及机器人程序112中的任一程序已来到断点的情况下(步骤S240中为是),结束图13所示的处理。在并非如此的情况下(步骤S240中为否),控制装置101使控制返回到步骤S220。
(J3.暂时停止中的控制流程)
接下来,参照图14,对PLC程序111及机器人程序112的执行暂时停止中的控制流程进行说明。
在步骤S310中,控制装置101判断PLC程序111及机器人程序112的执行是否为暂时停止中。控制装置101在PLC程序111及机器人程序112的执行为暂时停止中的情况下(步骤S310中为是),将控制切换到步骤S312。在并非如此的情况下(步骤S310中为否),控制装置101再次执行步骤S310的处理。
在步骤S312中,控制装置101受理同步执行模式或非同步执行模式的指定。执行模式的切换操作例如对编辑画面125进行。作为一例,在针对编辑画面125的点选操作、或针对编辑画面125的指定的鼠标手势操作等中指定执行模式。
在步骤S320中,控制装置101判断是否已受理用来进行步进执行的操作。步进执行例如通过键盘的指定键的按下操作等来实现。控制装置101在判断为已受理用来进行步进执行的操作的情况下(步骤S320中为是),将控制切换到步骤S330。在并非如此的情况下(步骤S320中为否),控制装置101将控制切换到步骤S340。
在步骤S330中,控制装置101判断所指定的执行模式是否为同步执行模式。控制装置101在判断为所指定的执行模式为同步执行模式的情况下(步骤S330中为是),将控制切换到步骤S332。在并非如此的情况下(步骤S330中为否),控制装置101将控制切换到步骤S334。
在步骤S332中,控制装置101使PLC程序111与机器人程序112同步地执行一个周期。关于该同步执行,像图12中所说明那样,所以不再重复关于它的说明。
在步骤S334中,控制装置101步进执行PLC程序111与机器人程序112中的所指定的控制程序。进行步进执行的控制程序通过步骤S320中的步进执行操作的内容来区分。作为一例,控制装置101当在步骤S320中受理用来进行步进执行的预先规定的第一操作(例如,对键盘按下指定的第一键的操作)时,步进执行PLC程序111。另一方面,控制装置101当在步骤S320中受理用来进行步进执行的预先规定的第二操作(例如,与第一键不同的指定的第二键的按下操作)时,步进执行机器人程序112。
在步骤S340中,控制装置101判断是否已受理控制程序的再执行操作或停止操作。控制装置101在判断为已受理控制程序的再执行操作或停止操作的情况下(步骤S340中为是),结束图14所示的处理。在并非如此的情况下(步骤S340中为否),控制装置101使控制返回到步骤S320。
更具体来说,控制装置101在已受理控制程序的再执行操作的情况下,当指定了同步执行模式时,结束图14所示的处理,开始图12所示的同步执行模式下的执行。另外,控制装置101在已受理控制程序的再执行操作的情况下,当指定了非同步执行模式时,结束图14所示的处理,开始图13所示的非同步执行模式下的执行。另外,控制装置101在已受理控制程序的停止操作的情况下,结束图14所示的处理,成为能够对编辑画面125编辑控制程序的状态。
[K.总结]
像以上那样,由信息处理装置100进行的程序的执行模式包含:同步执行模式,按照虚拟时刻同步地执行PLC程序111及机器人程序112;以及非同步执行模式,不同步地执行PLC程序111及机器人程序112。由此,设计者既能同步地调试(模拟)PLC程序111及机器人程序112,也能非同步地调试(模拟)PLC程序111及机器人程序112。其结果为,设计者能够进行根据情况的调试(模拟),从而调试(模拟)的通用性得到改善。
应认为此次公开的实施方式在所有方面为例示而并非限制性的实施方式。本发明的范围由权利要求表示,而并非由所述说明表示,且意图包含与权利要求均等的意思及范围内的所有变更。
Claims (10)
1.一种信息处理装置,其特征在于包括:
第一致动器模拟器,模拟用来驱动第一控制对象的驱动设备的行为;
第二致动器模拟器,模拟用来驱动与所述第一控制对象协动的第二控制对象的驱动设备的行为;
定时器,用来生成虚拟时刻;以及
执行部,用来执行第一控制程序及第二控制程序,所述第一控制程序用来控制所述第一致动器模拟器,所述第二控制程序用来控制所述第二致动器模拟器;且
所述第二控制程序是以与所述第一控制程序不同种类的编程语言来记述,
由所述执行部进行的控制程序的执行模式包含:同步执行模式,按照所述虚拟时刻同步地执行所述第一控制程序及所述第二控制程序;以及非同步执行模式,不同步地执行所述第一控制程序及所述第二控制程序。
2.根据权利要求1所述的信息处理装置,其特征在于:所述信息处理装置还包括显示部,所述显示部用来显示所述第一控制程序及所述第二控制程序的编辑画面,
所述编辑画面以能够对包含在所述第一控制程序中的命令组及包含在所述第二控制程序中的命令组指定断点的方式构成,
所述执行部基于由所述断点指定的命令的执行时序到来这一情况,暂时停止所述第一控制程序及所述第二控制程序的执行。
3.根据权利要求2所述的信息处理装置,其特征在于:所述执行部从所述第一控制程序及所述第二控制程序的执行开始后到由所述断点指定的命令被执行为止,以所述同步执行模式执行所述第一控制程序及所述第二控制程序。
4.根据权利要求2或3所述的信息处理装置,其特征在于:所述编辑画面构成为在所述第一控制程序及所述第二控制程序的执行暂时停止中,能够选择所述同步执行模式及所述非同步执行模式中的任一模式。
5.根据权利要求2或3所述的信息处理装置,其特征在于:所述编辑画面构成为在所述第一控制程序及所述第二控制程序的执行暂时停止中,在选择了所述非同步执行模式的情况下,能够个别地步进执行所述第一控制程序及所述第二控制程序。
6.根据权利要求2或3所述的信息处理装置,其特征在于:所述第一控制程序及所述第二控制程序包含相互共有的共有变数,
所述编辑画面构成为在所述第一控制程序及所述第二控制程序的执行暂时停止中、或所述第一控制程序及所述第二控制程序的执行中,能够受理变更所述共有变数的操作。
7.根据权利要求2或3所述的信息处理装置,其特征在于:所述第一控制程序及所述第二控制程序中的至少一个包含与其它控制程序同步地被执行的同步命令,
所述编辑画面构成为在所述第一控制程序及所述第二控制程序的执行暂时停止中、或所述第一控制程序及所述第二控制程序的执行中,能够受理使所述同步命令无效化的操作。
8.根据权利要求1至3中任一项所述的信息处理装置,其特征在于:所述第一控制程序为循环执行型的程序,
所述第二控制程序为逐次执行型的程序。
9.一种信息处理方法,其特征在于包括:
生成虚拟时刻的步骤;以及
执行第一控制程序及第二控制程序的执行步骤,所述第一控制程序用来控制对用来驱动第一控制对象的驱动设备的行为进行模拟的第一致动器模拟器,所述第二控制程序用来控制对用来驱动与所述第一控制对象协动的第二控制对象的驱动设备的行为进行模拟的第二致动器模拟器;且
所述第二控制程序是以与所述第一控制程序不同种类的编程语言来记述,
所述执行步骤中的控制程序的执行模式包含:同步执行模式,按照所述虚拟时刻同步地执行所述第一控制程序及所述第二控制程序;以及非同步执行模式,不同步地执行所述第一控制程序及所述第二控制程序。
10.一种包括信息处理程序的非易失性的计算机可读记录介质,所述信息处理程序是由计算机执行的信息处理程序,其特征在于:
所述信息处理程序使所述计算机执行:
生成虚拟时刻的步骤;以及
执行第一控制程序及第二控制程序的执行步骤,所述第一控制程序用来控制对用来驱动第一控制对象的驱动设备的行为进行模拟的第一致动器模拟器,所述第二控制程序用来控制对用来驱动与所述第一控制对象协动的第二控制对象的驱动设备的行为进行模拟的第二致动器模拟器;且
所述第二控制程序是以与所述第一控制程序不同种类的编程语言来记述,
所述执行步骤中的控制程序的执行模式包含:同步执行模式,按照所述虚拟时刻同步地执行所述第一控制程序及所述第二控制程序;以及非同步执行模式,不同步地执行所述第一控制程序及所述第二控制程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017154937A JP7052250B2 (ja) | 2017-08-10 | 2017-08-10 | 情報処理装置、情報処理方法、および情報処理プログラム |
JP2017-154937 | 2017-08-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109388096A true CN109388096A (zh) | 2019-02-26 |
CN109388096B CN109388096B (zh) | 2021-03-12 |
Family
ID=61244376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810148198.6A Active CN109388096B (zh) | 2017-08-10 | 2018-02-12 | 信息处理装置及方法及非易失性的计算机可读记录介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10761513B2 (zh) |
EP (1) | EP3441831B1 (zh) |
JP (1) | JP7052250B2 (zh) |
CN (1) | CN109388096B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102132857B1 (ko) * | 2018-05-03 | 2020-07-10 | 엘에스일렉트릭(주) | Plc의 모터 구동 제어 방법 |
US11727325B2 (en) * | 2018-08-01 | 2023-08-15 | Fair Isaac Corporation | User interface to analyze and navigate through decision logic |
JP7247808B2 (ja) * | 2019-07-31 | 2023-03-29 | オムロン株式会社 | 制御システム、解析方法およびプログラム |
JP7294085B2 (ja) * | 2019-11-25 | 2023-06-20 | オムロン株式会社 | 制御システム、制御装置および制御方法 |
JP2023006301A (ja) * | 2021-06-30 | 2023-01-18 | オムロン株式会社 | シミュレーションシステム、シミュレーションシステムの方法、およびシミュレーションのプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102007466A (zh) * | 2008-04-17 | 2011-04-06 | 夏普株式会社 | 信息处理装置、信息处理方法、以及记录程序的计算机可读取的记录介质 |
CN103106025A (zh) * | 2011-11-15 | 2013-05-15 | 索尼公司 | 信息处理设备、信息处理方法和程序 |
US20130218307A1 (en) * | 2010-08-31 | 2013-08-22 | Abb Technology Ag | Method for debugging of process or manufacturing plant solutions comprising multiple sub-systems |
CN104204976A (zh) * | 2012-03-15 | 2014-12-10 | 欧姆龙株式会社 | 信息处理装置、模拟方法及程序 |
CN106660090A (zh) * | 2014-09-10 | 2017-05-10 | 东芝三菱电机产业系统株式会社 | 轧制模拟装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07120175B2 (ja) * | 1988-12-08 | 1995-12-20 | 三菱電機株式会社 | 複合制御装置およびその制御方法 |
JP2880590B2 (ja) * | 1991-07-24 | 1999-04-12 | 株式会社不二越 | 産業用ロボットの同期制御方法 |
US5485620A (en) * | 1994-02-25 | 1996-01-16 | Automation System And Products, Inc. | Integrated control system for industrial automation applications |
JPH11272310A (ja) * | 1998-03-23 | 1999-10-08 | Mitsubishi Electric Corp | プログラマブルコントローラのエミュレーション装置 |
EP1052560B1 (en) * | 1999-05-11 | 2004-08-11 | Fanuc Ltd | Numerical control system |
WO2001084259A1 (en) | 2000-04-27 | 2001-11-08 | Rockwell Technologies, Llc | Driver board control system for modular conveyor with address-based network for inter-conveyor communication |
US7000191B2 (en) * | 2000-08-07 | 2006-02-14 | Siemens Aktiengesellschaft | Flowchart programming for industrial controllers, in particular motion controllers |
US20040230955A1 (en) * | 2003-02-26 | 2004-11-18 | Bea Systems, Inc. | System for multi-language debugging |
JP4403794B2 (ja) | 2003-02-28 | 2010-01-27 | 株式会社デンソー | 制御プログラムの検査方法及び検査装置及び検査プログラム |
US7860609B2 (en) * | 2005-05-06 | 2010-12-28 | Fanuc Robotics America, Inc. | Robot multi-arm control system |
US20070044066A1 (en) * | 2005-08-19 | 2007-02-22 | Microsoft Corporation | Embedded multi-language programming |
JP2010128987A (ja) | 2008-11-28 | 2010-06-10 | Canon Inc | シミュレーション方法及びそのシステム |
JP6299095B2 (ja) | 2013-07-09 | 2018-03-28 | 富士電機株式会社 | 共有データ定義支援システム、そのマスタ装置、ローカル端末、プログラム |
JP6465620B2 (ja) * | 2014-10-31 | 2019-02-06 | ヤマハ発動機株式会社 | 制御システムおよび制御方法 |
JP6550269B2 (ja) | 2015-05-27 | 2019-07-24 | 株式会社キーエンス | プログラム作成支援装置、制御方法およびプログラム |
JP6052372B2 (ja) | 2015-11-12 | 2016-12-27 | オムロン株式会社 | シミュレーション装置、シミュレーション方法、および、シミュレーションプログラム |
-
2017
- 2017-08-10 JP JP2017154937A patent/JP7052250B2/ja active Active
-
2018
- 2018-02-09 US US15/892,432 patent/US10761513B2/en active Active
- 2018-02-12 CN CN201810148198.6A patent/CN109388096B/zh active Active
- 2018-02-14 EP EP18156739.7A patent/EP3441831B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102007466A (zh) * | 2008-04-17 | 2011-04-06 | 夏普株式会社 | 信息处理装置、信息处理方法、以及记录程序的计算机可读取的记录介质 |
US20130218307A1 (en) * | 2010-08-31 | 2013-08-22 | Abb Technology Ag | Method for debugging of process or manufacturing plant solutions comprising multiple sub-systems |
CN103106025A (zh) * | 2011-11-15 | 2013-05-15 | 索尼公司 | 信息处理设备、信息处理方法和程序 |
CN104204976A (zh) * | 2012-03-15 | 2014-12-10 | 欧姆龙株式会社 | 信息处理装置、模拟方法及程序 |
CN106660090A (zh) * | 2014-09-10 | 2017-05-10 | 东芝三菱电机产业系统株式会社 | 轧制模拟装置 |
Also Published As
Publication number | Publication date |
---|---|
US10761513B2 (en) | 2020-09-01 |
US20190049924A1 (en) | 2019-02-14 |
EP3441831A1 (en) | 2019-02-13 |
CN109388096B (zh) | 2021-03-12 |
EP3441831B1 (en) | 2021-09-15 |
JP7052250B2 (ja) | 2022-04-12 |
JP2019032789A (ja) | 2019-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220009100A1 (en) | Software Interface for Authoring Robotic Manufacturing Process | |
CN109388096A (zh) | 信息处理装置及方法及非易失性的计算机可读记录介质 | |
EP3152009B1 (en) | Systems and methods for instructing robotic operation | |
CN109388098A (zh) | 信息处理装置及方法及非易失性的计算机可读记录介质 | |
CN110494813B (zh) | 基于可构建性分析的规划和调整项目 | |
US20200117168A1 (en) | Runtime Controller for Robotic Manufacturing System | |
CN103676662B (zh) | 模拟装置以及模拟方法 | |
CN111819507A (zh) | 信息处理系统、信息处理方法及信息处理程序 | |
CN109613880B (zh) | 信息处理装置、信息处理方法及其计算机可读记录介质 | |
Cigánek et al. | Design of Digital Twin for PLC System | |
EP4425364A1 (en) | Program and system for simulation | |
CN113767348B (zh) | 仿真装置、仿真方法以及记录介质 | |
Žemla et al. | The Programmable Virtual Model of the Mechatronic System Using NX 12 Environment | |
Pang et al. | Systematic closed-loop modelling in IEC 61499 function blocks: A case study | |
Pollák et al. | PLC Control of a 2-Axis Robotic Arm in a Virtual Simulation Environment | |
Butala et al. | Virtual manufacturing work systems | |
Peter et al. | Implementation of Digital Shadow Concept in the Field of Industrial Automation | |
CN118076953A (zh) | 一种修改运动副参数的方法、装置及产线系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |