CN113064376A - 生产***、生产方法以及信息存储介质 - Google Patents
生产***、生产方法以及信息存储介质 Download PDFInfo
- Publication number
- CN113064376A CN113064376A CN202011445323.3A CN202011445323A CN113064376A CN 113064376 A CN113064376 A CN 113064376A CN 202011445323 A CN202011445323 A CN 202011445323A CN 113064376 A CN113064376 A CN 113064376A
- Authority
- CN
- China
- Prior art keywords
- variable
- industrial
- variables
- program
- conversion
- 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
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 58
- 238000003860 storage Methods 0.000 title claims abstract description 38
- 230000008569 process Effects 0.000 claims abstract description 714
- 238000000034 method Methods 0.000 claims abstract description 631
- 238000006243 chemical reaction Methods 0.000 claims abstract description 189
- 238000013500 data storage Methods 0.000 claims abstract description 76
- 230000008859 change Effects 0.000 claims abstract description 46
- 230000008439 repair process Effects 0.000 claims description 136
- 230000005856 abnormality Effects 0.000 claims description 80
- 238000004891 communication Methods 0.000 claims description 26
- 238000001514 detection method Methods 0.000 claims description 25
- 230000004048 modification Effects 0.000 abstract description 83
- 238000012986 modification Methods 0.000 abstract description 83
- 238000010586 diagram Methods 0.000 description 52
- 238000003754 machining Methods 0.000 description 17
- 230000003252 repetitive effect Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000010276 construction Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000010079 rubber tapping Methods 0.000 description 3
- 241001290864 Schoenoplectus Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100410811 Mus musculus Pxt1 gene Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000000007 visual effect Effects 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/4185—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 the network communication
-
- 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/4155—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 programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- 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/054—Input/output
-
- 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/4183—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 data acquisition, e.g. workpiece identification
-
- 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/41865—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 job scheduling, process planning, material flow
-
- 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
-
- 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/10—Plc systems
- G05B2219/11—Plc I-O input output
- G05B2219/1103—Special, intelligent I-O processor, also plc can only access via processor
-
- 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)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Programmable Controllers (AREA)
Abstract
本发明提供一种生产***、生产方法以及信息存储介质。生产***(1)具有:多个工业装置(30),执行工序程序,并进行装置变量的参考和变更中的至少一者,所述工序程序用于执行预定工序;以及控制器(20),执行***程序,并进行***变量的参考和变更中的至少一者,所述***程序用于使各工业装置(30)按照对多个工序指定的执行顺序动作。转换数据存储部(200)存储各工业装置(30)的装置变量和***变量之间的转换数据。转换部(202)在控制器和各工业装置(30)通信的情况下,基于该工业装置(30)的转换数据进行该工业装置(30)的装置变量和***变量之间的转换。
Description
技术领域
本发明涉及生产***、生产方法以及信息存储介质。
背景技术
以往,例如已知有如PLC(Programmable Logic Controller,可编程逻辑控制器)那样,在具备多个工业装置的***中分别执行多个工序的技术。例如,在专利文献1中记载了将PLC的动作记述在梯形图中来生成程序的技术。
专利文献1:日本特开2012-194678号公报。
发明内容
本发明要解决的课题在于,转换多个工业装置和控制器分别独自地管理的变量,并按照预定的执行顺序使各工业装置动作。
本发明的一个方面涉及生产***,具有:多个工业装置,执行工序程序,并进行装置变量的参考和变更中的至少一者,所述工序程序用于执行预定工序;控制器,执行***程序,并进行***变量的参考和变更中的至少一者,所述***程序用于使各工业装置按照对多个所述工序指定的执行顺序动作;转换数据存储部,存储各工业装置的所述装置变量和所述***变量之间的转换数据;以及转换部,在所述控制器和各工业装置通信的情况下,基于该工业装置的所述转换数据进行该工业装置的所述装置变量和所述***变量之间的转换。
本发明的一个方面涉及生产方法,其中,由多个工业装置执行工序程序,并进行装置变量的参考和变更中的至少一者,所述工序程序用于执行预定工序;由控制器执行***程序,并进行***变量的参考和变更中的至少一者,所述***程序用于使各工业装置按照对多个所述工序指定的执行顺序动作;获取转换数据存储部的转换数据,所述转换数据存储部存储各工业装置的所述装置变量和所述***变量之间的所述转换数据;以及在所述控制器和各工业装置通信的情况下,基于该工业装置的所述转换数据进行该工业装置的所述装置变量和所述***变量之间的转换。
本发明的一个方面涉及信息存储介质,存储有程序,其中,在通过控制器控制多个工业装置的情况下,所述程序用于使所述控制器或其他计算机起到转换数据获取部和转换部的功能,所述多个工业装置执行工序程序,并进行装置变量的参考和变更中的至少一者,所述工序程序用于执行预定工序,所述控制器执行***程序,并进行***变量的参考和变更中的至少一者,所述***程序用于使各工业装置按照对多个所述工序指定的执行顺序动作,所述转换数据获取部获取转换数据存储部的转换数据,所述转换数据存储部存储各工业装置的所述装置变量和所述***变量之间的转换数据,所述转换部在所述控制器和各工业装置通信的情况下,基于该工业装置的所述转换数据进行该工业装置的所述装置变量和所述***变量之间的转换。
此外,在本发明的一个方面涉及的生产***中,所述控制器具有所述转换数据存储部和所述转换部,所述转换部基于成为所述控制器的通信对象的所述工业装置的所述转换数据将所述***变量转换为该工业装置的所述装置变量并发送,所述转换部基于成为所述控制器的通信对象的所述工业装置的所述转换数据将从该工业装置接收到的所述装置变量转换为所述***变量。
此外,在本发明的一个方面涉及的生产***中,所述转换数据存储部存储根据每个所述工业装置而不同的转换表作为所述转换数据,所述转换部基于各工业装置的所述转换表进行该工业装置的所述装置变量和所述***变量之间的转换。
此外,在本发明的一个方面涉及的生产***中,所述转换数据存储部存储转换数据库,在所述转换数据库中保存有各工业装置的所述转换数据,所述转换部基于保存于所述转换数据库中的各工业装置的所述转换数据进行该工业装置的所述装置变量和所述***变量之间的转换。
此外,在本发明的一个方面涉及的生产***中,各工业装置的所述装置变量的名称包含唯一地识别与该装置变量对应的工序的字符串以及与其他工序通用的字符串。
此外,在本发明的一个方面涉及的生产***中,所述生产***具有:显示控制部,显示进度表画面,在所述进度表画面中,包含从工序数据库中获取的多个所述工序的名称,并且能够指定该多个工序的执行顺序,所述工序数据库针对所述多个工序的每一个工序,至少将所述装置变量和所述***变量中的至少一者与工序的名称相关联并保存作为工序信息;接受部,在所述显示控制部所显示的所述进度表画面中,接受所述执行顺序的指定;以及***程序生成部,基于各工序的所述装置变量和所述***变量中的至少一者与所述接受部接受到的所述执行顺序来生成所述***程序。
此外,在本发明的一个方面涉及的生产***中,在所述多个工序各自的装置变量中包含有表示该工序的执行开始的开始装置变量,所述***程序生成部在所述执行顺序中至少将变更***变量和开始***变量相关联地生成所述***程序,以使按照所述执行顺序的工序被依次执行,所述变更***变量对应于在一个工序中被变更的变更装置变量,所述开始***变量对应于与所述一个工序联动地执行的一个以上其他工序的所述开始装置变量。
此外,在本发明的一个方面涉及的生产***中,所述生产***具有:检测部,检测在各工业装置中产生的异常;接受部,在所述检测部检测到所述异常的情况下,基于针对所述多个工序的每一个工序至少将所述装置变量和所述***变量中的至少一者与工序的名称相关联的工序信息,接受为了修复而执行的一个以上所述工序的指定;以及记录部,记录修复工序信息,该修复工序信息表示所述接受部接受到的所述一个以上工序。
此外,在本发明的一个方面涉及的生产***中,所述生产***还具有修复部,在所述检测部再次检测到所述异常的情况下,所述修复部获取所述记录部记录的所述修复工序信息所示的所述一个以上工序,执行该获取的一个以上工序来修复所述异常。
根据上述发明,转换多个工业装置和控制器分别独自地管理的变量,并按照预定的执行顺序使各工业装置动作。
附图说明
图1是表示实施方式的生产***的整体结构的图;
图2是表示***程序与工序程序的关系的图;
图3是表示工序程序的生成步骤的说明图;
图4是表示由生产***实现的功能的功能框图;
图5是表示转换表的数据保存例的图;
图6是表示转换表的数据保存例的图;
图7是表示由生产***执行的处理的一例的流程图;
图8是表示由生产***执行的处理的一例的流程图;
图9是表示转换数据库的数据保存例的图;
图10是表示进度表画面的一例的图;
图11是表示工业装置的名称被拖拉的情况下的时序图的一例的图;
图12是表示工业装置的名称被拖拉的情况下的时序图的一例的图;
图13是表示工序的执行顺序被指定的情况下的时序图的一例的图;
图14是表示第2循环的开始时刻被指定的情况下的时序图的一例的图;
图15是变形例(2)的功能框图;
图16是表示工序数据库的数据保存例的图;
图17是表示变形例(3)的生产***的整体结构的图;
图18是表示控制器对工业装置进行控制的情形的图;
图19是表示修复工序生成画面的一例的图;
图20是表示用户手动使异常修复的情形的图;
图21是表示根据修复工序信息修复异常的情形的图;
图22是变形例(3)的功能框图;
图23是表示修复工序数据库的数据保存例的图;
图24是表示变形例(3)的工序数据库的数据保存例的图。
具体实施方式
根据本发明的发明人的见解,在使控制器对按照预定的执行顺序执行工序的多个工业装置分别进行控制的情况下,需要在掌握了各工业装置的变量的基础上进行编程。关于这一点,如果各工业装置和控制器分别管理独自的变量,则在控制器的编程时无需知道各工业装置特有的变量,使编程更有效率。因此,本发明的发明人为了转换多个工业装置和控制器分别独自管理的变量,按照预定的执行顺序使各工业装置动作而进行了深入研究,结果想到了新型且独创的程序生成装置等。以下,对本实施方式的程序生成装置等进行详细说明。
[1.生产***的整体结构]
图1是表示实施方式的生产***的整体结构的图。如图1所示,生产***1包括程序生成装置10、控制器20、工业装置30A、30B以及服务器40。上述各装置利用Ethernet(注册商标)或工业装置专用的通信标准等任意的网络能够通信地连接。另外,在以下的说明中无需特别区分工业装置30A、30B时,仅记载为工业装置30。同样地,在无需特别区分CPU31A、31B、存储部32A、32B以及通信部33A、33B时,仅记载为CPU31、存储部32以及通信部33。
程序生成装置10是生成程序的计算机。例如,程序生成装置10是个人计算机、便携终端(包括平板型终端)或者便携电话(包括智能手机)。程序生成装置10包括CPU11、存储部12、通信部13、操作部14以及显示部15。另外,在图1中省略了线路,但程序生成装置10也可以与工业装置30以及服务器40连接。
CPU11包括至少一个处理器。存储部12包括RAM、硬盘,存储各种程序、数据。CPU11基于这些程序、数据执行各种处理。通信部13包括网卡、各种通信连接器等通信接口,进行与其他装置的通信。操作部14是鼠标、键盘等输入设备。显示部15是液晶显示器或有机EL显示器等,按照CPU11的指示显示各种画面。
控制器20是对多个工业装置30进行控制的计算机。例如,控制器20可以是被称作PLC的计算机,也可以是具有与PLC同等的功能的其他名称的计算机。例如,控制器20与工业装置30的整体有时被称作比线路小的单位的单元,在该情况下,控制器20有时也被称作单元控制器。
控制器20包括CPU21、存储部22以及通信部23。CPU21、存储部22以及通信部23的物理结构可以分别与CPU11、存储部12以及通信部13相同。另外,控制器20不仅控制工业装置30,而且也可以直接控制连接在自身的正下方的机器人、马达等设备,也可以委托服务器40进行表示工业装置30的动作结果的数据的分析。
工业装置30是执行工序的装置。工业装置30可以应用任意种类的装置,例如是机器人控制器、机器人控制器的下位装置、工业用机器人、马达控制器、马达控制器的下位装置、机床、冲压加工机或搬运设备等。PLC也是工业装置的一种。工业装置30包括CPU31、存储部32以及通信部33。CPU31、存储部32以及通信部33的物理结构可以分别与CPU11、存储部12以及通信部13相同。
另外,工业装置30可以包括其他物理结构,例如可以包括被称作ASIC的面向特定用途的集成电路。此外,在工业装置30,可以连接任意的物理结构,例如可以连接马达等控制对象的设备、用于检测马达等的动作的传感器、拍摄作为加工对象的工件的状态的相机、输入输出设备或者其他工业装置等。此外,在本实施方式中,对控制器20控制2台工业装置30的情况进行说明,但控制器20控制的工业装置30的台数可以是任意的台数,例如可以是1台,也可以是3台以上。
服务器40是服务器计算机。服务器40包括CPU41、存储部42以及通信部43。CPU41、存储部42以及通信部43的物理结构可以分别与CPU11、存储部12以及通信部13相同。服务器40收集表示控制器20以及工业装置30的动作结果的数据,或者基于收集到的数据进行动作分析。另外,执行数据的收集、分析的计算机并不限定于服务器40,也可以是其他计算机。例如,程序生成装置10可以通过用户操作的其他装置或者其他服务器计算机收集或者分析数据。
另外,作为分别存储于存储部12、22、32、42的程序以及数据而说明的程序以及数据可以经由网络供给。此外,各装置的硬件结构并不限定于上述的例子,可以应用各种硬件。例如,可以包括读取计算机可读取的信息存储介质的读取部(例如,光盘驱动器、存储卡插槽)、用于与外部设备直接地连接的输入输出部(例如,USB端子)。在该情况下,存储于信息存储介质的程序、数据可以经由读取部或者输入输出部供给。
[2.生产***的概要]
首先,对生产***1的概要进行说明。程序生成装置10生成用于控制器20控制多个工业装置30的***程序。在将控制器20与工业装置30的整体称作单元的情况下,***程序有时也被称作单元程序。***程序是用于利用变量对工序的执行顺序进行控制的程序。执行顺序是工序被执行的顺序。
变量是在工序被执行的情况下进行参考和变更中的至少一者的信息。在本实施方式中,在工业装置30的存储部32中存储有用于执行工序的工序程序,变量在工序程序中被进行参考和变更中的至少一者。参考是指与变量对应的寄存器被读出。变更是指改写与变量对应的寄存器的值。
变量为工序的执行条件,针对每个工序准备。变量也可以说是表示工业装置30的动作的信息。例如,对于工序,准备成为工序的开始条件的开始变量、成为中断条件(暂时停止条件)的中断变量或者成为结束条件的结束变量。除了这些的变量以外,还可以存在任意的变量,例如,可以存在表示工序处于繁忙状态的变量、表示工序的执行结果的变量、表示中途计算的变量、表示工业装置30的设定的变量或者表示传感器的检测结果的变量。变量有时也被称作输入输出变量。变量与工业装置30的寄存器对应。变量由工业装置30或者其他设备(控制器20等)参考。
在本实施方式中,控制器20和工业装置30分别独自地管理变量。因此,即便是相同的变量,控制器20管理的名称与工业装置30管理的名称也不同。以下,将控制器20管理的变量记载为***变量,将工业装置30管理的变量记载为装置变量。***变量是控制器20识别的变量。***变量由***程序进行参考和变更中的至少一者。另一方面,装置变量是工业装置30识别的变量。装置变量由工序程序进行参考和变更中的至少一者。各工业装置30的装置变量的名称包括唯一地识别与该装置变量对应的工序的字符串、以及与其他工序通用的字符串。
例如,在控制器20的用户和工业装置30的用户互不相同的情况下,各用户设定独自的变量。控制器20的用户可以在不知道工业装置30的用户设定的装置变量的情况下设定独自的***变量。工业装置30的用户可以在不知道控制器20的用户设定的***变量的情况下设定独自的装置变量。另外,控制器20的用户和工业装置30的用户可以相同。
工序是工业装置30进行的作业或动作。工序可以仅由一个作业或者动作构成,也可以由多个作业或者动作的组合构成。工业装置30可以执行与任意的用途相应的工序,例如,作为工序,执行工件的识别、工件的把持、门的开闭、工件的放置、在机床固定工件的动作或者利用了机床的加工等。工业装置30执行至少一个工序。工业装置30可以仅执行一个工序,也可以执行多个工序。
工序程序是定义了工序的各个步骤的程序。工序程序也可以说是定义了工业装置30的动作的程序。工序程序可以用任意的语言生成,例如,通过梯形图语言或者机器人语言生成。根据工业装置30的不同,工序程序的语言也可以不同,例如工业装置30A的工序程序可以是梯形图语言,工业装置30B的工序程序可以是机器人语言。例如,工序程序记述了梯形图中的启动开关、线圈,或者记述了源代码中的条件分支,以使开始变量成为执行开始的条件。此外,例如,工序程序记述了命令以便在工序的最后的处理结束的情况下变更结束变量。此外,例如,工序程序记述了命令以便在工序的执行上产生了异常的情况下变更中断变量。
在本实施方式中,针对每个工序准备工序程序,工序与工序程序具有一对一的关系。因此,当某个工业装置30进行n个(n为自然数)工序时,该工业装置30至少存储n个工序程序。另外,工序与工序程序可以不是一对一的关系,例如,可以通过一个工序程序执行多个工序,也可以为了执行一个工序而准备多个工序程序。
图2是表示***程序与工序程序的关系的图。在本实施方式中,例举工业装置30A执行工序A1、A2、A3这三个工序,之后,工业装置30B执行工序B1、B2这两个工序的情况。如图2所示,工业装置30A存储与工序A1、A2、A3分别对应的工序程序PA1、PA2、PA3。工业装置30B存储与工序B1、B2分别对应的工序程序PB1、PB2。以下,在不区分各个工序程序时,仅记载为工序程序P。
在图2的例子中,作为工序程序P的默认的变量,准备了表示执行开始的开始变量“Start”、表示中断(暂时停止)的中断变量“Abort”、表示繁忙状态的繁忙变量“Busy”以及表示执行结束的结束变量“End”。在工序程序P中,也可以设定这些默认的变量以外的变量。例如,也可以设定表示预定的信号的值的变量或者表示中途计算的变量。
在本实施方式中,对用户操作程序生成装置10来生成工序程序P的情况进行说明,但工序程序P也可以由其他计算机生成。例如,在控制器20的用户与工业装置30的用户不同的情况下,工序程序P由程序生成装置10以外的其他计算机生成。***程序Q是用于对工序的执行顺序进行控制的程序,因此,在生成***程序Q之前,预先生成工序程序P。
图3是表示工序程序P的生成步骤的说明图。此处,以工序程序PA2的生成步骤为例进行说明。如图3所示,用户利用安装于程序生成装置10的工程工具,生成工序项目(图3的步骤1)。工序项目是工序程序PA2的管理单位,可以设定工业装置30的名称、工序的名称等任意的项目名。
用户当生成工序项目时,进行工序程序PA2的初始设定(图3的步骤2)。在初始设定中,设定工序程序PA2的基本信息,例如,指定执行工序的工业装置30A的名称、工序程序PA2的种类以及工序的名称等。工序的名称是在工业装置30中唯一地识别工序的信息。工序的名称可以是由用户输入的任意的字符串,设定为不与其他工序重复。另外,对于后述的假定执行时间,也在步骤2中指定。
在图3的步骤2中,对于生成中的工序程序PA2设定默认的变量。例如,作为工序程序PA2的默认变量,设定开始变量“Start”、中断变量“Abort”、繁忙变量“Busy”以及结束变量“End”。例如,当将工序A2的开始变量“Start”变更为预定值时,执行工序程序PA2而开始工序A2。此外,例如,在执行了工序程序PA2中记述的全部的命令而结束工序时,将工序A2的结束变量“End”变更为预定值。
在本实施方式中,在其他工序A1、A3中也准备默认的变量。因此,为了能够识别是工序A2的变量,将识别工序A2的“A2”的字符串赋予给工序的名称。例如,工序A2的开始变量的名称成为“A2.Start”,工序A2的结束变量的名称成为“A2.End”。在图2以及图3中予以省略,但对于中断变量“Abort”以及繁忙变量“Busy”,也赋予“A2”的字符串。工序程序PA2的生成时设定的变量是装置变量。如图3所示,在本实施方式中,装置变量的名称包括工序的名称以及默认的变量的名称。
用户也可以设定默认的变量以外的其他变量。例如,用户在设定其他变量的情况下,输入表示工业装置30A内的预定信号的名称的“S1”(图3的步骤3)。其他变量的名称与开始变量等相同,被赋予识别工序A2的“A2”的字符串而成为“A2.S1”。该变量也是装置变量的一例。
当变量的设定结束时,进行工序程序PA2的编程(图3的步骤4),完成工序程序PA2的生成。工序程序PA2的编程本身可以应用公知的各种方法,例如,可以利用梯形图语言或者机器人语言。另外,在进行编程、变量设定时,用户可以输入补充说明的注释。
当生成工序程序PA2时,将工序程序PA2的实际数据记录在工业装置30A中。并且,将保存有用户指定的工序的名称、变量的名称等的工序信息登记在控制器20的工序数据库中。对于工序信息以及工序数据库的详细情况将后述。用户将上述生成步骤反复工序的个数,生成各工序的工序程序P以及工序信息。
另外,在本实施方式中,在生成工序程序PA1、PA2、PA3时,指定工业装置30A中的执行顺序,并保存在工序信息中。对于工序程序PB1、PB2也同样,在生成它们时指定工业装置30B中的执行顺序,并保存在工序信息中。但是,对于先执行工业装置30A执行的工序和工业装置30B执行的工序的哪个,可以在工序程序P的生成时间点指定,也可以不在该时间点指定。
用户当完成工序程序P的生成以及工序信息的登记时,生成***程序Q。在本实施方式中,按照工序A1、A2、A3、B1、B2的顺序执行,因此,用户将***程序Q生成为按照该顺序执行工序程序PA1、PA2、PA3、PB1、PB2。
如果是图2的例子,则在输入预定的输入输出信号时开始工序A1。例如,输入输出信号从控制器20或者工业装置30A所具备的按钮等外部设备输入。***程序Q在输入输出信号被输入的情况下,将工序A的装置变量“A1.Start”变更为预定值。当用***变量记述该装置变量时,成为“Equip30A.Step1.ST”。这样,本实施方式的***变量包含表示工业装置30A的名称的“Equip30A”、表示工序的执行顺序的“Step1”以及表示变量的种类的“ST”,以与装置变量不同的规则赋予名称。如图2所示,对于其他变量,也以相同的规则赋予***变量的名称。
例如,用户在生成***程序Q时,生成相互转换***变量与装置变量的转换表并存储于控制器20。针对每个工业装置30生成转换表。***程序Q基于工业装置30A的转换表将***变量“Equip30A.Step1.ST”转换为装置变量“A1.Start”,并将该装置变量变更为预定值。当装置变量“A1.Start”成为预定值时,执行工序程序PA1而开始工序A1。
当工序A1正常结束时,工序A1的装置变量“A1.End”成为预定值,向控制器20通知该意思。***程序Q基于工业装置30A的转换表将装置变量“A1.End”转换为***变量“Equip30A.Step1.EN”,并检测到该***变量已成为预定值。***程序Q基于工业装置30A的转换表将***变量“Equip30A.Step2.ST”转换为装置变量“A2.Start”,并将该装置变量变更为预定值。当装置变量“A2.Start”成为预定值时,执行工序程序PA2而开始工序A2。
当工序A2正常结束时,工序A2的装置变量“A2.S1”与“A2.End”成为预定值,向控制器20通知该意思。***程序Q基于工业装置30A的转换表将装置变量“A2.S1”和“A2.End”分别转换为***变量“Equip30A.Step2.S-1”和“Equip30A.Step2.EN”,并检测到这些***变量已成为预定值。***程序Q基于工业装置30A的转换表将***变量“Equip30A.Step3.ST”转换为装置变量“A3.Start”,并将该装置变量“A3.Start”变更为预定值。当装置变量“A3.Start”成为预定值时,执行工序程序PA3而开始工序A3。
当工序A3正常结束时,工序A3的装置变量“A3.End”成为预定值,向控制器20通知该意思。***程序Q基于工业装置30A的转换表将装置变量“A3.End”转换为***变量“Equip30A.Step3.EN”,并检测到该***变量已成为预定值。***程序Q基于工业装置30B的转换表将***变量“Equip30B.Step4.ST”转换为装置变量“B1.Start”,并将该装置变量变更为预定值。当装置变量“B1.Start”成为预定值时,执行工序程序PB1而开始工序B1。
当工序B1正常结束时,工序B1的结束变量“B1.End”成为预定值,向控制器20通知该意思。***程序Q基于工业装置30B的转换表将装置变量“B1.End”转换为***变量“Equip30B.Step4.EN”,并检测到该***变量已成为预定值。***程序Q基于工业装置30B的转换表将***变量“Equip30B.Step5.ST”转换为装置变量“B2.Start”,并将该装置变量变更为预定值。当装置变量“B2.Start”成为预定值时,执行工序程序PB2而开始工序B2。
当工序B2正常结束时,工序B2的结束变量“B2.End”成为预定值,向控制器20通知该意思。***程序Q基于工业装置30B的转换表将装置变量“B2.End”转换为***变量“Equip30B.Step5.EN”,并检测到该***变量已成为预定值。***程序Q输出预定的输出信号,第1循环的全部工序结束。输出信号可以是针对控制器20或者工业装置30的信号,也可以是针对外部的传感器、LED灯等设备的信号。
***变量和装置变量在循环的结束时或者各工序的结束后等的任意的时刻变更为初始值。第2循环可以在第1循环的结束后开始,也可以在第1循环的中途开始。当第2循环的开始时刻到来时,***程序Q基于工业装置30A的变更表将工序A1的装置变量“A1.Start”变更为预定值,开始第2循环的各工序。以下,与第1循环相同地周期性地执行各工序。
如以上那样,本实施方式的生产***1具有转换多个工业装置30和控制器20分别独自地管理的变量,并按照预定的执行顺序使各工业装置30动作的结构。以下,对该结构的详细情况进行说明。
[3.由生产***实现的功能]
图4是表示由生产***1实现的功能的功能框图。在本实施方式中,对由控制器20与工业装置30分别实现的功能进行说明。另外,在工业装置30A、30B的各个中,实现相同的功能,因此,在图4中,记载为一个工业装置30。
[3-1.由控制器实现的功能]
如图4所示,在控制器20中,实现数据存储部200、***程序执行部201以及转换部202。控制器20执行用于使各工业装置30按照对多个工序指定的执行顺序动作的***程序Q,并进行***变量的参考和变更中的至少一者。
[数据存储部]
数据存储部200以存储部22为主而实现。数据存储部200存储控制工业装置30所需的数据。例如,数据存储部200存储***程序Q。存储于数据存储部200的***程序Q由程序生成装置10生成。此外,例如,数据存储部200也可以存储成为控制器20的控制对象的工业装置30A、30B各自的名称、IP地址等信息。
此外,例如,数据存储部200也可以存储与各工业装置30的装置变量对应的***变量的值。***变量与装置变量定期地获取匹配性,当装置变量变更时,对应的***变量也变更。此时,通过后述的转换部202将装置变量转换为***变量。另外,也可以先变更***变量,在该情况下,通过转换部202将***变量转换为装置变量,装置变量被变更。
此外,例如,数据存储部200存储工业装置30A的转换表TA以及工业装置30B的转换表TB。以下,在不特别区分这些转换表TA、TB时,仅记载为转换表T。
图5是表示转换表TA的数据保存例的图,图6是表示转换表TB的数据保存例的图。如图5以及图6所示,在转换表TA中,***变量与工业装置30A的装置变量相关联,在转换表TB中,***变量与工业装置30B的装置变量相关联。例如,转换表TA、TB可以在生成***程序Q时由用户生成,也可以在生成工序程序P时由用户生成。
转换表T是各工业装置30的装置变量与***变量的转换数据的一例。在本实施方式中,数据存储部200存储根据每个工业装置30而不同的转换表T作为转换数据。转换表T被准备了工业装置30的个数。即,转换表T与工业装置30一对一地对应。本实施方式中记载为转换表T的部位能够替换为转换数据。转换数据是用于相互转换各工业装置30的装置变量与***变量的数据。换言之,转换数据是各工业装置30的装置变量与***变量相关联的数据。转换数据也可以说是表示装置变量与***变量的对应关系的数据。通过转换数据,可以检索与装置变量对应的***变量以及与***变量对应的装置变量。
另外,转换数据并不限定于表格式的数据,可以是任意格式的数据。例如,如后述的变形例那样,也可以不是针对每个工业装置30分成不同的表,而是将多个工业装置30的装置变量与***变量的关系汇总为一个数据库。此外,例如,在将装置变量与***变量的关系记述为程序编码的一部分的情况下,转换数据可以是这些转换程序。此外,例如,转换数据可以是CSV格式、文本格式等任意的数据。数据存储部200通过存储转换表T而作为转换数据存储部发挥功能。
[***程序执行部]
***程序执行部201以CPU21为主而实现。***程序执行部201基于***程序Q对工序的执行顺序进行控制。例如,***程序执行部201对各工业装置30发送各工序的开始指示,以使工业装置30按照由用户指定的执行顺序动作。
在本实施方式中,根据开始变量对工序的执行开始进行控制,因此,***程序执行部201使后述的转换部202将用***变量记述的开始变量转换为装置变量,将该转换后的装置变量的变更指示发送至工业装置30。此外,在本实施方式中,根据结束变量检测工序的结束,因此,***程序执行部使后述的转换部202将用装置变量记述的结束变量转换为***变量,根据该转换后的***变量的值检测工序的结束。***程序执行部201为了开始下一工序,利用转换部202变更该下一工序的开始变量。以下,通过相同的处理,对工序的执行顺序进行控制。对于工序的异常的检测、繁忙状态的检测也是相同的,通过将记述为装置变量的中断变量、繁忙变量转换为***变量,可以进行它们的检测。
[转换部]
转换部202以CPU21为主而实现。转换部202在控制器20和各工业装置30通信的情况下,基于该工业装置30的转换表T进行该工业装置30的装置变量和***变量的转换。在本实施方式中,针对每个工业装置30准备了转换表T,因此,转换部基于各工业装置30的转换表T进行该工业装置30的装置变量和***变量之间的转换。
控制器20与各工业装置30通信的情况是指控制器20向工业装置30发送信息的情况或者工业装置30向控制器20发送信息的情况。装置变量和***变量之间的转换是指将装置变量转换为***变量或者将***变量转换为装置变量。此处的转换是指确定相关联的其他变量。确定变量是指确定变量的名称或者确定与变量对应的寄存器。
例如,转换部202基于成为控制器20的通信对象的工业装置30的转换表T将***变量转换成该工业装置30的装置变量并发送。此处的控制器20的通信对象是信息的发送目的地的工业装置30。转换部202在控制器20向工业装置30发送某种指示的情况下,参考存储于数据存储部200的转换表T中的该工业装置30的转换表T,将***变量转换成装置变量并发送。
此外,例如,转换部202基于成为控制器20的通信对象的工业装置30的转换表T将从该工业装置30接收到的装置变量转换成***变量。此处的控制器20的通信对象是发送响应的工业装置30。转换部202在控制器20从工业装置30接收到某种响应的情况下,参考存储于数据存储部200的转换表T中的该工业装置30的转换表T,将装置变量转换成***变量并发送。
[3-2.由工业装置实现的功能]
如图4所示,在工业装置30中,实现数据存储部300以及工序程序执行部301。多个工业装置30分别执行用于执行预定的工序的工序程序P,进行装置变量的参考和变更中的至少一者。
[数据存储部]
数据存储部300以存储部32为主而实现。数据存储部300存储工业装置30执行工序所需的数据。例如,数据存储部300存储工序程序P。在本实施方式中,针对每个工序程序P准备工序信息,因此,数据存储部300也可以将工序程序P与工序信息相互相关联地存储。此外,数据存储部300存储各工序的装置变量的值。如先前叙述的那样,数据存储部300的装置变量与数据存储部200的***变量获取匹配性。此外,数据存储部300也可以存储控制马达时的参数、机器人的示教数据等。
[工序程序执行部]
工序程序执行部301以CPU31为主而实现。工序程序执行部301基于存储于数据存储部300的工序程序P以及变量执行各工序。例如,按照从控制器20接收到的指示,将用装置变量记述的开始变量变化为预定值,工序程序执行部301在检测到该意思的情况下开始工序。此外,例如,工序程序执行部301在工序程序P中记述的最后的处理结束的情况下,将用装置变量记述的结束变量变化为预定值。用装置变量记述的结束变量通过转换部202转换为***变量,***程序执行部201检测工序结束。之后,将下一工序的开始变量(用装置变量记述的开始变量)变化为预定值,工序程序执行部301开始下一工序的工序程序P的执行。以下,通过相同的处理,依次执行各工序。
[4.由生产***执行的处理]
图7和图8是由生产***1执行的处理的一例的流程图。通过CPU21按照存储于存储部22的***程序Q动作,CPU31按照存储于存储部32的工序程序P动作,由此执行图7和图8所示的处理。图7和图8所示的处理是由图4所示的功能框执行的处理的一例。在本实施方式中,例举执行图2所示的工序的情况下的处理。另外,存储于控制器20的存储部22的***变量与存储于工业装置30的存储部32的装置变量相互被设定初始值。
如图7所示,控制器20当接收到成为第1循环的开始条件的输入输出信号时(S1),基于工业装置30A的转换表TA将用***变量记述的工序A1的开始变量“Equip30A.Step1.ST”转换为装置变量“A1.Start”,并将装置变量“A1.Start”变更为预定值(S2)。在S2中,控制器20将***变量“Equip30A.Step1.ST”转换为装置变量“A1.Start”,并发送将该装置变量变更为预定值的意思的指示。
工业装置30A当接收到来自控制器20的指示时,将用装置变量记述的工序A1的开始变量“A1.Start”变更为预定值而开始工序A1(S3)。在S3中,工序程序PA1监视装置变量“A1.Start”,当检测到该装置变量“A1.Start”成为预定值时,执行最初记述的命令,开始工序A1。
工业装置30A当工序A1结束时,将用装置变量记述的工序A1的结束变量“A1.End”变更为预定值(S4)。在S4中,工业装置30A对控制器20通知装置变量“A1.End”已变更为预定值。
控制器20基于工业装置30A的转换表TA将用装置变量记述的工序A1的结束变量“A1.End”转换为***变量“Equip30A.Step1.EN”,并检测到***变量“Equip30A.Step1.EN”已变更为预定值(工序A1结束)(S5)。
控制器20基于工业装置30A的转换表TA将用***变量记述的工序A1的开始变量“Equip30A.Step2.ST”转换为装置变量“A2.Start”,并将装置变量“A2.Start”变更为预定值(S6)。在S6中,控制器20将***变量“Equip30A.Step2.ST”转换为装置变量“A2.Start”,并发送将该装置变量变更为预定值的意思的指示。
工业装置30A当接收到来自控制器20的指示时,将用装置变量记述的工序A2的开始变量“A2.Start”变更为预定值而开始工序A2(S7)。在S7中,工序程序PA2监视装置变量“A2.Start”,当检测到该装置变量“A2.Start”成为预定值时,执行最初记述的命令,开始工序A2。
工业装置30A当工序A2结束时,将用装置变量记述的工序A2的变量“A2.S1”与结束变量“A2.End”变更为预定值(S8)。另外,装置变量“A2.S1”也可以在工序A2的结束前变更为预定值。在S8中,工业装置30A对控制器20通知装置变量“A2.S1”与“A2.End”已变更为预定值。
控制器20基于工业装置30A的转换表TA将用装置变量记述的工序A2的变量“A2.S1”和结束变量“A2.End”转换为***变量“Equip30A.Step2.S-1”和“Equip30A.Step2.EN”,并检测到该***变量“Equip30A.Step2.S-1”和“Equip30A.Step2.EN”已变更为预定值(工序A2结束)(S9)。
控制器20基于工业装置30A的转换表TA将用***变量记述的工序A3的开始变量“Equip30A.Step3.ST”转换成装置变量“A3.Start”,将装置变量“A3.Start”变更为预定值(S10)。在S10中,控制器20将***变量“Equip30A.Step3.ST”转换为装置变量“A3.Start”,并发送将该装置变量变更为预定值的意思的指示。
工业装置30A当接收到来自控制器20的指示时,将用装置变量记述的工序A3的开始变量“A3.Start”变更为预定值而开始工序A3(S11)。在S11中,工序程序PA3监视装置变量“A3.Start”,当检测到该装置变量“A3.Start”成为预定值时,执行最初记述的命令,开始工序A3。
工业装置30A当工序A3结束时,将用装置变量记述的工序A3的结束变量“A3.End”变更为预定值(S12)。在S12中,工业装置30A对控制器20通知装置变量“A2.End”已变更为预定值。
控制器20基于工业装置30A的转换表TA将用装置变量记述的工序A3的结束变量“A3.End”转换为***变量“Equip30A.Step3.EN”,并检测到该***变量“Equip30A.Step3.EN”已变更为预定值(工序A3结束)(S13)。
转移到图8,控制器20基于工业装置30B的转换表TB将用***变量记述的工序B1的开始变量“Equip30B.Step4.ST”转换为装置变量“B1.Start”,并将装置变量“B1.Start”变更为预定值(S14)。在S14中,控制器20将***变量“Equip30B.Step4.ST”转换为装置变量“B1.Start”,并发送将该装置变量变更为预定值的意思的指示。
工业装置30B当接收到来自控制器20的指示时,将用装置变量记述的工序B1的开始变量“B1.Start”变更为预定值而开始工序B1(S15)。在S15中,工序程序PB1监视装置变量“B1.Start”,当该装置变量“B1.Start”成为预定值时,执行最初记述的命令,开始工序B1。
工业装置30B当工序B1结束时,将用装置变量记述的工序B1的结束变量“B1.End”变更为预定值(S16)。在S16中,工业装置30B对控制器20通知装置变量“B1.End”已变更为预定值。
控制器20基于工业装置30B的转换表TB将用装置变量记述的工序B1的结束变量“B1.End”转换为***变量“Equip30B.Step4.EN”,并检测到该***变量“Equip30B.Step4.EN”已变更为预定值(工序B1结束)(S17)。
控制器20基于工业装置30B的转换表TB将用***变量记述的工序B2的开始变量“Equip30B.Step5.ST”转换为装置变量“B2.Start”,并将装置变量“B2.Start”变更为预定值(S18)。在S18中,控制器20将***变量“Equip30B.Step5.ST”转换成装置变量“B2.Start”,并发送将该装置变量变更为预定值的意思的指示。
工业装置30B当接收到来自控制器20的指示时,将用装置变量记述的工序B2的开始变量“B2.Start”变更为预定值而开始工序B2(S19)。在S19中,工序程序PB2监视装置变量“B2.Start”,当检测到该装置变量“B2.Start”成为预定值时,执行最初记述的命令,开始工序B2。
工业装置30B当工序B2结束时,将用装置变量记述的工序B2的结束变量“B2.End”变更为预定值(S20)。在S20中,工业装置30B对控制器20通知装置变量“B2.End”已变更为预定值。
控制器20基于工业装置30B的转换表TB将用装置变量记述的工序B2的结束变量“B2.End”变更为***变量“Equip30B.Step5.EN”,并检测到该***变量“Equip30B.Step5.EN”已变更为预定值(工序B2结束)(S21)。之后,输出预定的信号。
控制器20判定是否满足预定的结束条件(S22)。结束条件是用于结束循环的条件,可以设定用户进行预定的操作、预定的日期到来这样的任意条件。在判定为不满足结束条件的情况下(S22;“否”),返回到S2的处理,开始下一循环。另一方面,在判定为满足结束条件的情况下(S22;“是”),结束本处理。
根据本实施方式的生产***1,在控制器20与各工业装置30通信的情况下,基于该工业装置30的转换表T转换该工业装置30的装置变量与***变量,由此,即便在工业装置30与控制器20分别管理装置变量与***变量这样的独自的变量的情况下,也能够使各工业装置30按照对多个工序指定的执行顺序动作。例如,即使***程序Q的制作者与工序程序P的制作者不同,各制作者以独自的变量进行程序设计,也能够通过转换表T吸收变量的不同,使程序的设计容易化。
此外,通过在控制器20侧进行转换表T的管理与变量的转换,能够消除对已有的工业装置30侧施加变更的必要。此外,即使需要对已有的工业装置30施加变更,也能够以最低限度进行变更即可。因此,能够最大限度地挪用在工业装置30侧生成的工序程序P等的资产。此外,无需在工业装置30侧进行转换表T的管理、变量的转换,因此,能够减轻工业装置30的处理负荷,也能够削减存储器消耗量。因此,例如即使在利用了低规格的工业装置30的情况下,也能够降低对工业装置30的动作造成妨碍的可能性。
此外,作为转换数据,存储针对每个工业装置30而不同的转换表T,由此能够简化转换数据的管理。
此外,使各工业装置30的装置变量的名称包含唯一地识别工序的字符串、与其他的工序通用的字符串,由此能够将装置变量的名称的体系模式化而容易理解,能够简化编程。
[5.变形例]
另外,本发明并不限定于以上说明的实施方式。能够在不脱离本发明的主旨的范围内适当变更。
(1)例如,数据存储部200也可以不针对每个工业装置30存储不同的转换表T而存储保存有各工业装置30的转换数据的转换数据库。图9是表示转换数据库DB1的数据保存例的图。如图9所示,转换数据库DB1是一并管理各个转换数据的数据库。例如,在转换数据库DB1中,***变量与各工业装置30的装置变量相关联。转换数据库DB1也可以说是统一管理实施方式中说明的转换表T的数据。
转换部202基于保存于转换数据库DB1的各工业装置30的转换数据,进行该工业装置30的装置变量与***变量之间的转换。转换部202参考转换数据库DB1,基于与通信对象的工业装置30相关联的转换数据,进行工业装置30的装置变量与***变量之间的转换。对于获取转换数据后的变量的转换方法,如实施方式中说明的那样。
根据变形例(1),能够通过转换数据库DB1一并管理各工业装置30的转换数据。
(2)此外,例如,在程序生成装置10中,也可以准备用于简化***程序Q的生成的工程工具。当在程序生成装置10中启动工程工具时,在显示部15显示用于指定工序的执行顺序而生成***程序Q的进度表画面。
图10是表示进度表画面的一例的图。如图10所示,进度表画面G1是具有辅助用户的作业的各种用户接口的画面。在进度表画面G1中,除了程序的生成以外,还可以进行变量的设定、模拟等。例如,在进度表画面G1显示用于指定工序的执行顺序的时序图C。
例如,在时序图C中,在右方向(横方向)设定时刻轴(时间轴)。越靠画面的右侧,意味着在时间上越靠后。此外,在时序图C中,每隔一定时间(图10的情况下为5秒)显示数值,排列有表示单位时间(图10的情况下为1秒)的方格。在图10的例子中,例如,在0~5秒之间排列有5个方格。
用户在时序图C中指定工业装置30所执行的工序的执行顺序,生成***程序Q。在图10的例子中,用户尚未指定工业装置30,在时序图C中未显示与工序相关的信息。
例如,在进度表画面G1中显示表示成为控制器20的控制对象的工业装置30的名称的列表L1。在本变形例中,工业装置30A、30B为控制对象,因此,在列表L1显示这2台工业装置的名称。例如,用户当将工业装置30A的名称从列表L1拖拉到时序图C中时,在时序图C中显示工业装置30A所执行的工序A1、A2、A3的信息。
图11是表示工业装置30A的名称被拖拉的情况下的时序图C的一例的图。如图11所示,在时序图C中,显示工业装置30A的名称、工序A1、A2、A3各自的名称以及对各工序设定的假定执行时间。另外,在时序图C中,也可以显示工序信息所包含的其他的信息(例如,变量的名称、工业装置30A内的执行顺序)。
假定执行时间是各工序的执行所需的假定时间。在本变形例中,对假定执行时间以1秒为单位定义的情况进行说明,但也可以以2秒为单位、0.5秒为单位等的其他的单位定义。在图11的例子中,工序A1、A2、A3各自的假定执行时间为3秒、4秒、3秒。另外,在图11的例子中,未考虑从某一工序转移到下一工序所需的时间,但如后所述,也可以考虑工序间的时间。
在本变形例中,工业装置30内的工序A1、A2、A3的执行顺序被预先指定,因此,在时序图C中,从上到下按照执行顺序排列显示这些工序的名称。通过各工序的名称按照执行顺序排列,用户能够直观地掌握这些执行顺序。
此外,在时序图C中,分别表示工序A1、A2、A3的工序图像I1、I2、I3在时刻轴上按照执行顺序排列显示。例如,工序A1的假定执行时间为3秒,以用预定的颜色涂抹工序A1的行上的1秒~3秒的三个方格的方式显示工序图像I1。工序A2的假定执行时间为4秒,以涂抹工序A2的行上的4秒~7秒的四个方格的方式显示工序图像I2。工序A3的假定执行时间为3秒,以涂抹工序A3的行上的8秒~10秒的三个方格的方式显示工序图像I3。
如图11所示,工序图像I1、I2、I3成为与假定执行时间相应的长度,用户能够直观地掌握工序A1、A2、A3各自的假定执行时间的长度。并且,工序图像I1、I2、I3在时刻轴上按照执行顺序排列,因此,用户能够按照时间序列掌握工序A1、A2、A3的执行顺序。
在图11的状态下,仅选择工业装置30A,因此,用户也选择工业装置30B的名称。例如,用户当将工业装置30B的名称从列表L1拖拉到时序图C中时,在时序图C中显示工业装置30B所执行的工序B1、B2的信息。
图12是表示工业装置30B的名称被拖拉的情况下的时序图C的一例的图。如图12所示,在时序图C中,新显示工业装置30B的名称、工序B1、B2各自的名称以及对各工序设定的假定执行时间。在图12的例子中,如工序图像I4、I5所示,工序B1、B2各自的假定执行时间为4秒、2秒。
在图12的状态下,仅工业装置30B的名称被拖拉到时序图C上,工序A1、A2、A3以及工序B1、B2的执行顺序尚未被指定。因此,在时序图C上,不区分工序A1、A2、A3、工序B1、B2的时间上的前后关系,成为工序A1从0秒开始、工序B1也从0秒开始的状态。
在本变形例中,通过拖拉显示于时序图C的工序图像I而使其移动,可以指定工序的执行顺序。如上所述,工序B1在工序A3之后执行,因此,用户拖拉工序图像I4以使其比工序A3靠后(位于比工序图像I3靠右的11秒以后的位置),由此指定工序的执行顺序。
图13是表示工序的执行顺序被指定的情况下的时序图C的一例的图。如图13所示,在工序的执行顺序指定时,将工序图像I4移动到工序图像I3的后方,移动到工序B1的行上的11秒~14秒的位置。工序图像I5也同样移动,移动到工序B2的行上的15秒~16秒的位置。这样,用户通过拖拉工序图像I,指定工序的执行顺序。
另外,工序的执行顺序的指定方法并不限定于上述的例子,也可以利用其他的操作。例如,在图12的状态下,用户也可以通过拖拉工序图像I5来指定工序的执行顺序。例如,用户也可以拖拉工序图像I5以使之比工序A3靠后(位于比工序图像I3靠右的位置)。在该情况下,时序图C成为与图13相同的状态。
此外,例如,在图12的状态下,用户也可以通过拖拉工序图像I1以使之比工序B1靠前(位于在比工序图像I4靠左的0秒之前的位置),来指定工序的执行顺序。在该情况下,用户指定了工序A1、A2、A3的执行顺序在工序B1、B2之前,时序图C成为与图13相同的状态。此外,例如,除了工序图像I的拖拉以外,还可以通过点击或者轻敲时序图C内的任意的位置(方格)等,来指定工序的执行顺序。
通过以上的操作来指定工序的执行顺序。在本变形例中,在时序图C中,可以指定第2循环的开始时刻。例如,在图13的状态下,用户当选择工序A1的行上的任意的位置作为第2循环的开始时刻时,第2循环以后的工序按照时间序列显示。
图14是表示第2循环的开始时刻被指定的情况下的时序图C的一例的图。例如,用户当选择工序A1的行的第15秒的方格作为第2循环的开始时刻时,如图14所示,在工序A1行上的第15秒~第17秒显示表示第2循环的工序A1的工序图像I6。
在第2循环以后,工序的执行顺序以及假定执行时间也不改变,因此,如图14所示,第2循环以后的各工序以保持第1循环的执行顺序的方式显示表示第2循环的工序A2、A3、B1、B2的工序图像I7、I8、I9、I10。第3循环以后也相同,以在与第2循环相同的开始时刻开始的方式显示工序图像I11、I12、I13、I14。对于无法进入到画面的工序图像I,通过滚动操作进行显示。
用户当如上述那样指定各工序的执行顺序时,进行用于生成***程序Q的构建操作。当进行构建操作时,基于各工序程序P的工序信息以及在时序图C上指定的执行顺序进行构建作业,生成***程序Q。
另外,进行构建作业的程序本身可以利用公知的各种程序。例如,在利用梯形图语言的情况下,配置启动开关、线圈等以便按照用户指定的执行顺序变更各工序的开始变量等值,生成***程序Q。此外,例如,在利用机器人语言的情况下,记述条件分支的命令等以便按照用户指定的执行顺序变更各工序的开始变量等值,生成***程序Q。当生成了***程序Q时,将该***程序Q记录在控制器20中。
如以上那样,本变形例的程序生成装置10具有简化***程序Q的生成的结构。以下,对该结构的详细情况进行说明。另外,在变形例(2)中,可以不区分***变量与装置变量,也可以在控制器20与工业装置30之间利用通用的变量。关于这一点,变形例(3)也相同。
图15是变形例(2)的功能框图。如图15所示,在变形例(2)中,在程序生成装置10中,实现数据存储部100、显示控制部101、接受部102以及***程序生成部103。
[数据存储部]
数据存储部100以存储部12为主而实现。数据存储部100存储生成***程序Q所需的数据。例如,数据存储部100存储保存有各工序的工序信息的工序数据库DB2。
图16是表示工序数据库DB2的数据保存例的图。如图16所示,在工序数据库DB2中保存有工业装置30的名称、以及该工业装置30所执行的工序的工序信息。例如,当生成新的工序的工序程序P时,将该新的工序的工序信息登记到工序数据库DB2中。工序信息也可以在向工序数据库DB2的登记后进行编辑。在本变形例中,对将成为控制器20的控制对象的全部工业装置30的工序信息保存在工序数据库DB2中的情况进行说明,但也可以仅将一部分工业装置30的工序信息保存在工序数据库DB2中。
工序信息表示工序的基本信息,其内容在生成后述的新的工序的工序程序P的情况下被设定。在工序信息中保存有从进度表画面G1生成***程序Q所需的信息。例如,在工序信息中保存有工序的名称、假定执行时间、执行顺序、变量的名称、执行条件以及注释。
工序的名称是生成工序程序P时被指定的名称。工序的名称只要能够在工业装置30中唯一地识别工序即可,可以与其他工业装置30的工序的名称相同。在本变形例中,对用户指定工序的名称的情况进行说明,但工序的名称也可以基于预定的规则自动地赋予。此外,工序的名称也可以如工序的ID等那样能够唯一地确定工序。
在本变形例中,假定执行时间为生成工序程序P时被指定的数值。另外,假定执行时间可以不由用户指定,而是通过模拟计算出的数值。假定执行时间也可以是能够编辑的。
执行顺序是生产***1整体中的工序的执行顺序。在本变形例中,在生成工序程序P时,指定工业装置30内的本地的执行顺序,因此,在工序的登记时,保存该指定的执行顺序。在登记了工序之后,指定生产***1整体的执行顺序,因此,本地的执行顺序变更为生产***1整体的执行顺序。
例如,在生成工序程序PA1、PA2、PA3时,指定作为工序A1、A2、A3各自的执行顺序的“1”、“2”、“3”。此外,例如,在生成工序程序PB1、PB2时,指定作为工序B1、B2各自的执行顺序的“1”、“2”。在该时间点,仅指定工业装置30内的执行顺序,因此,未确定工序A1、A2、A3与工序B1、B2的哪个先执行。当用户从进度表画面G1指定这些执行顺序时,工序B1、B2的执行顺序变更为“4”、“5”。
另外,在生成工序程序P时,也可以不指定工业装置30内的本地的执行顺序。在该情况下,在工序的登记时不保存执行顺序,在用户从进度表画面G1指定执行顺序的情况下,只要将该指定的执行顺序保存在工序信息中即可。例如,用户从进度表画面G1指定“1”、“2”、“3”、“4”、“5”作为工序A1、A2、A3、B1、B2各自的执行顺序,将这些执行顺序保存在工序信息中。
变量的名称是装置变量和***变量中的至少一者的名称。在本变形例中,对保存装置变量的名称的情况进行说明。在生成工序程序P时设定该名称。如实施方式中说明的那样,在区分***变量与装置变量的情况下,保存装置变量的名称。在本变形例中,不仅是默认的变量,用户可以指定任意的变量,因此,有时也保存用户指定的变量的名称。本变形例的变量的名称包含工序的名称(“A1”等字符串)、表示变量的种类的字符串(“Start”等字符串),在工序间变量的名称不重复。
另外,变量的名称可以以任意的规则设定,并不限定于本变形例的例子。例如,变量的名称也可以包含工业装置30的名称(“Equip30A”等字符串),可以识别是哪个工业装置30的变量。此外,例如,变量的名称也可以不特别包含工业装置30的名称、工序的名称,而通过能够在生产***1或者工业装置30内唯一地识别变量的字符串确定。与工序的名称相同,对于变量的名称,也可以如变量的ID等那样能够唯一地确定变量。
执行条件是表示是否变更变量的条件。作为开始变量的执行条件,设定开始工序的条件。作为中断变量的执行条件,设定中断工序的条件。作为繁忙变量的执行条件,设定将工序设为繁忙状态的条件。作为结束变量的执行条件,设定结束工序的条件。
在本变形例中,在生成工序程序P时,指定工业装置30内的本地的执行顺序,因此,在工序的登记时,以成为该指定的执行顺序的方式保存执行条件。在登记了工序之后,指定生产***1整体的执行顺序,因此,变更执行条件,使得成为生产***1整体的执行顺序。
例如,在生成工序程序PA1时,指定在输入了输入输出信号的情况下开始工序A1。工序A1的执行条件为表示输入输出信号的变量“IO1.Input1”。在变量“IO1.Input1”成为预定值的情况下,开始变量“A1.Start”成为预定值,开始工序A1。
此外,例如,在生成工序程序PA2时,指定在工序A1之后执行工序A2。工序A2的执行条件为工序A1的结束变量“A1.End”。在结束变量“A1.End”成为预定值的情况下,开始变量“A2.Start”成为预定值,开始工序A2。
此外,例如,在生成工序程序PA3时,指定在工序A2之后执行工序A3。并且,指定工序A2的变量“A2.S1”也为工序A3的开始条件。因此,工序A3的执行条件为工序A2的结束变量“A2.End”。在变量“A2.S1”与结束变量“A2.End”分别成为预定值的情况下,开始变量“A3.Start”成为预定值,开始工序A3。
在本变形例中,在生成工序程序PB1时,未指定开始工序B1的条件。从进度表画面G1指定在工序A3之后执行工序B1,因此,在接受到该指定的情况下,工序B1的执行条件成为工序A3的结束变量“A3.End”。在结束变量“A3.End”成为预定值的情况下,开始变量“B1.Start”成为预定值,开始工序B1。
例如,在生成工序程序PB2时,指定在工序B1之后执行工序B2。工序B2的执行条件为工序B1的结束变量“B1.End”。在结束变量“B1.End”成为预定值的情况下,开始变量“B2.Start”成为预定值,开始工序B2。
另外,数据存储部100所存储的数据并不限定于上述的例子。例如,数据存储部100存储用于执行***程序Q的构建作业的程序。此外,例如,数据存储部100可以存储显示于进度表画面G1的图像的图像数据,也可以存储工程工具。此外,例如,数据存储部100也可以存储生成完成的工序程序P和***程序Q。
[显示控制部]
显示控制部101显示进度表画面G1,在该进度表画面G1中,包含从工序数据库DB2中获取的多个工序的名称,并且能够指定该多个工序的执行顺序,工序数据库DB2针对多个工序的每一个工序,至少将工序的名称与装置变量和***变量中的至少一者相关联并保存为工序信息。
在本变形例中,对装置变量由工序程序P进行参考和变更的双方的情况进行说明,但也可以仅进行参考或变更中的任一方。各工序的装置变量可以由该工序的工序程序P进行参考和变更,也可以由其他的工序程序P或者***程序Q进行参考和变更。工序的名称与变量相关联是指,它们包含在相同的工序信息中或者它们相互关联。
可以指定执行顺序的进度表画面G1是具有可以指定执行顺序的用户接口的画面。执行顺序可以通过任意的方法指定,进度表画面G1的布局并不限定于图10-图14的例子。例如,进度表画面G1可以不是时序图格式而是表格式的布局。此外,例如,进度表画面G1也可以是流程图格式等的其他布局。
在本变形例中,显示控制部101基于接受部102接受到的执行顺序、以及该执行顺序所包含的各工序的名称以及装置变量,将时序图C显示为进度表画面G1。在本变形例中,执行顺序、工序的名称以及装置变量作为工序信息保存在工序数据库DB2中,因此,显示控制部101基于工序数据库DB2的工序信息显示时序图C。
时序图C是表示工序的执行顺序的流程图。换言之,时序图C是按照时间序列表示工序的执行时刻的流程图。在时序图C中按照时间序列排列识别工序的信息。例如,在时序图C中按照时间序列排列工序的名称。此外,例如,在时序图C中按照时间序列排列表示工序的执行时刻的工序图像I。另外,也可以使用工序的名称及工序图像I以外的图像(图标等)作为识别工序的信息。工序的执行顺序可以由保存在工序信息中的执行顺序的数值确定,也可以由保存在工序信息中的变量以及执行条件确定。
识别工序的信息排列的方向可以为任意的方向,例如为从上到下、从左到右、从下到上或者从右到左的任一个。在本变形例中,对于工序的名称,从上到下按照时间序列排列。对于工序图像I,从左到右按照时间序列排列。例如,显示控制部101参考保存在工序数据库DB2中的工序信息来确定工序的名称和执行顺序,显示从上到下按照执行顺序排列工序的名称、且从左到右按照执行顺序排列工序图像I的时序图C。
在时序图C中,执行顺序所包含的多个工序各自的名称在工序轴上排列配置。工序轴是工序的名称排列的方向。在本变形例中,工序轴是从上到下的方向,但工序轴只要是预先确定的方向即可,例如可以是从左到右、从下到上或者从右到左。工序的名称被配置成在工序轴上按照时间序列排列。在本变形例中,以按照工序A1、A2、A3、B1、B2的顺序执行的方式指定执行顺序,因此,从工序轴的上到下排列这些名称。
此外,例如,在时序图C中,以与工序轴正交的时刻轴上的长度表示多个工序各自的执行的工序图像I配置成在各名称的工序轴上位于大致相同的位置且在时刻轴上成为执行顺序。时刻轴能够称作时间轴。在本变形例中,时刻轴是从左到右的方向,但时刻轴只要与工序轴所成的角度为90°即可,例如可以从右到左。此外,例如,如果工序轴从左到右,则时刻轴也可以从上到下。
各工序的工序图像I与名称配置在工序轴上的大致相同的位置。工序轴上的大致相同的位置是指,没有工序轴方向的偏移或者小到视为没有偏移。偏移小是指偏移小于预定距离,例如小于1厘米或小于10个像素。工序A1、A2、A3、B1、B2各自的工序图像I以与这些工序的名称大致相同高度且在时刻轴上成为执行顺序的方式排列。显示控制部101以在时刻轴方向上按照时间序列排列的方式配置各工序的工序图像I。如本变形例那样,在反复执行相同的工序的情况下,在相同的工序轴上的不同的时刻轴上配置工序图像I。
在本变形例中,各工序的工序信息包含该工序的假定执行时间。显示控制部101将工序图像I的时刻轴上的长度(时刻轴方向的长度)设定为与假定执行时间对应的长度。与假定执行时间对应的长度可以是与假定执行时间成比例的长度,也可以在概念上理解为假定执行时间的长度。例如,假定执行时间越长,工序图像I在时刻轴方向上变得越长。显示控制部101针对每个工序,基于该工序的工序信息所包含的假定执行时间,决定该工序的工序图像I的长度。
另外,假定执行时间与工序图像I的长度的关系并不限定于上述的例子。例如,也可以当设某一工序的假定执行时间为10秒、其他的两个工序分别为2秒、1秒时,1秒与2秒的工序的工序图像I使其长度成比例,10秒的工序使其长度不成比例而缩短显示。由此,能够在概念上理解执行顺序,并且提高执行顺序的一览性。并且,工序图像I可以不是与假定执行时间相应的长度。例如,在省略假定执行时间的情况下,工序图像I可以为固定长度。此外,例如,也可以在固定长度的工序图像I中显示表示假定执行时间的数值。
例如,显示控制部101基于移动指示使时序图C中的工序图像I移动。移动指示是用于使工序图像I移动的指示。在本变形例中,作为移动指示的一例对拖拉进行说明,但移动指示可以是其他的任意操作,例如可以是点击或者轻敲等。此外,例如,移动指示可以不是针对工序图像I的操作,例如可以是点击或轻敲工序图像I的移动目的地的位置等的操作。此外,例如,移动指示也可以是按下键盘的箭头按钮的操作。
在本变形例中,通过工序图像I移动,指定工序的执行顺序,因此,移动指示可以说是用于指定执行顺序的操作。显示控制部101使工序图像I向由移动指示指定的移动目的地移动。工序的执行顺序也根据工序图像I的排列顺序变更。变更各工序的执行顺序,以使时刻轴上的工序图像I的排列顺序与执行顺序一致。执行顺序可以由***程序生成部103变更,也可以由显示控制部101变更。
在本变形例中,在工序数据库DB2中,多个工业装置30的名称与由该工业装置30执行的多个工序的工序信息相关联地保存,显示控制部101使进度表画面G1显示多个工业装置30的名称的列表L1。列表L1中记载的工业装置30是成为控制器20的控制对象的工业装置30的全部或一部分。在本变形例中,在工序数据库DB2中定义了控制对象的工业装置30,因此,显示控制部101参考工序数据库DB2显示工业装置30的列表L1。另外,列表L1是工业装置30的名称的一览,其排列顺序可以是任意的。例如,在列表L1中,工业装置30的名称可以按照单词顺序(例如,字母顺序)排列,也可以按照向工序数据库DB2的登记顺序排列。
用户可以从列表L1中选择工业装置30的名称,显示控制部101进一步将与所选择的工业装置30相关联的多个工序各自的工序图像I在时序图C的工序轴上排列配置。显示控制部101从工序数据库DB2中获取与用户选择的工业装置30相关联的工序信息,确定该工业装置30所执行的工序及其执行顺序。显示控制部101将该确定的工序的工序图像I以按照该确定的执行顺序排列的方式配置在时序图C的工序轴上。
例如,在用户从图10的状态选择了列表L1上的工业装置30A的情况下,显示控制部101基于工业装置30A的工序信息将工序A1、A2、A3各自的工序图像I1、I2、I3在时序图C的工序轴上排列配置。在该情况下,时序图C成为图11的状态,工序图像I1、I2、I3分别在工序轴上从上到下排列。之后,在用户选择了列表L1上的工业装置30B的情况下,显示控制部101基于工业装置30B的工序信息,将工序B1、B2各自的工序图像I4、I5在时序图C的工序轴上排列配置。在该情况下,时序图C成为图12的状态,工序图像I4、I5分别在工序轴上从上到下排列。
[接受部]
接受部102在显示控制部101所显示的进度表画面G1中,接受执行顺序的指定。在本变形例中,接受部102接受用于使时序图C中的工序图像I在时刻轴上移动的移动指示作为执行顺序的指定。另外,执行顺序可以通过任意的操作指定,可以通过移动指示以外的操作指定执行顺序。例如,可以通过在输入表单中输入表示执行顺序的数值的操作或者从下拉菜单中选择执行顺序的操作来指定执行顺序。
接受部102从列表L1中接受工业装置30的名称的选择。接受部102接受从列表L1中选择的工业装置30的工序的执行顺序的指定。在本变形例中,如果在列表L1中显示了工业装置30的名称但用户没有选择工业装置30的名称,则该工业装置30不成为***程序Q的控制对象。接受部102可以接受列表L1中的全部的工业装置30的名称的选择,也可以仅对一部分工业装置30接受选择。在本变形例中,对通过拖拉选择列表L1上的名称的情况进行说明,但也可以通过其他的任意操作选择名称。例如,可以通过点击或者轻敲列表L1上的名称来选择工业装置30的名称。
接受部102在进度表画面G1中接受多个工业装置30各自的反复动作的指定。反复动作是工业装置30的周期性的动作。反复动作的指定是反复动作的执行时刻的指定。在本变形例中,对第2循环的开始时刻的指定相当于反复动作的指定的情况进行说明,但反复动作的指定也可以是第3循环以后的任意的开始时刻的指定。
此外,在本变形例中,对通过指定时序图C上的任意的位置来指定反复动作的情况进行说明,但也可以通过其他的任意的操作指定反复动作。例如,可以通过指定成为第2循环的最初的工序的开始条件的其他的工序(在图12的例子中,为工序图像I4所示的工序B1),指定反复动作。此外,例如,可以通过输入第2循环的开始时刻的数值,指定反复动作。
[***程序生成部]
***程序生成部103基于接受部102接受到的执行顺序以及各工序的装置变量和***变量中的至少一者生成***程序Q。***程序生成部103以按照所指定的执行顺序执行各工序的方式生成控制各工序的变量的***程序Q。
在多个工序各自的装置变量中包含有表示该工序的执行开始的开始装置变量(用装置变量记述的开始变量),***程序生成部103在执行顺序中,至少将对应于在一个工序中被变更的变更装置变量(用装置变量记述的变更变量)的变更***变量(用***变量记述的变更变量)和对应于与一个工序联动地执行的一个以上的其他工序的开始装置变量的开始***变量(用***变量记述的开始变量)相关联地生成***程序Q,以按照执行顺序的工序依次执行。
将变更***变量与开始***变量相关联是指,变更***变量的值成为用于变更开始***变量的值的条件。例如,工序A1的结束***变量“Equip30A.Step1.EN”成为用于变更工序A2的开始***变量“Equip30A.Step2.ST”的条件,因此,在***程序Q中,这些变量相关联。
例如,***程序生成部103将与由显示控制部101移动的工序图像I对应的其他的工序的开始***变量、和与在其他的工序的时刻轴上的紧前存在的工序图像I对应的一个工序的变更***变量相关联地生成***程序Q。在时刻轴上的紧前存在是在时间上最近的工序图像I。在图13的例子中,工序图像I1、I2、I3、I4分别存在于工序图像I2、I3、I4、I5的紧前。
在本变形例中,工序A1是最先被执行的工序,因此,在第1循环中,其他的工序的结束***变量不成为开始的条件。例如,***程序生成部103以在表示预定的输入输出信号的***变量“IO1.Input1”成为预定值的情况下将工序A1的开始***变量设为预定值的方式,生成***程序Q。另外,对于***变量“IO1.Input1”,也可以在转换表T中定义对应的装置变量。
此外,例如,工序A2的工序图像I2存在于工序A1的工序图像I1的紧后,因此,***程序生成部103以在工序A1的结束***变量“Equip30A.Step1.EN”成为预定值的情况下使工序A2的开始***变量“Equip30A.Step2.ST”成为预定值的方式生成***程序Q。此外,例如,工序A3的工序图像I3存在于工序A2的工序图像I2的紧后,因此,***程序生成部103以在工序A2的变量“Equip30A.Step2.S-1”成为预定值且工序A2的结束***变量“Equip30A.Step2.EN”成为预定值的情况下使工序A3的开始***变量“Equip30A.Step3.ST”成为预定值的方式,生成***程序Q。
此外,例如,工序B1的工序图像I4存在于工序A3的工序图像I3的紧后,因此,***程序生成部103以在工序A3的结束***变量“Equip30A.Step3.EN”成为预定值的情况下使工序B1的开始变量“Equip30B.Step4.ST”成为预定值的方式,生成***程序Q。此外,例如,工序B2的工序图像I5存在于工序B1的工序图像I4的紧后,因此,***程序生成部103以在工序B1的结束***变量“Equip30B.Step4.EN”成为预定值的情况下使工序B2的开始***变量“Equip30B.Step5.ST”成为预定值的方式,生成***程序Q。
另外,用于生成***程序Q的程序存储于数据存储部100。例如,***程序生成部103执行构建作业来生成***程序Q。用于实现上述的处理的命令例如可以由梯形图语言中的启动开关或线圈记述,也可以由机器人语言中的条件分支的命令记述。***程序生成部103除了构建以外,还可以利用编译器等生成***程序Q。此外,与开始***变量相关联的变更***变量并不限定于结束变量。例如,可以如工序A3的开始***变量“Equip30A.Step3.ST”那样,不仅与工序A2的结束***变量“Equip30A.Step2.EN”相关联,而且与工序A2的信号的变量“Equip30A.Step2.S-1”相关联。
***程序生成部103基于接受部102接受到的反复动作,生成使各工业装置30以所指定的反复动作动作的***程序Q。例如,***程序生成部103决定第2循环以后的开始时刻,以进行由用户指定的反复动作。
在图14的例子中,***程序生成部103将工序B1的结束***变量与第2循环以后的工序A1的开始***变量相关联。由此,第2循环以后的工序A1在前一个循环的工序B1结束的情况下开始,按照图14的时序图C的执行顺序执行各工序。***程序生成部103以第2循环的工序A1的开始***变量“Equip30A.Step1.ST”在不是输入输出信号的变量“IO1.Input1”而是工序B1的结束***变量“Equip30B.Step4.EN”成为预定值的情况下变化的方式,生成***程序Q。***程序生成部103以关于以下的处理进行与第1循环相同的处理的方式,生成***程序Q。
根据变形例(2),如果从进度表画面G1指定工序的执行顺序,则能够生成***程序Q,因此,能够简化***程序Q的生成。在现有技术中,用户必须逐一生成PLC的梯形图等,但根据本申请发明,用户只要在进度表画面G1上指定工序的执行顺序即可,因此,能够通过更简单的操作生成程序。
此外,能够生成使一个工序与其他的工序联动地执行的***程序Q,以便依次执行按照在进度表画面G1中指定的执行顺序的工序。例如,能够将在之前执行的一个工序中变更的变更变量设为使其他的工序开始的条件。
(3)此外,例如有时工业装置30在执行工序的过程中产生异常。在该情况下,可以将基于用户的修复步骤记录在服务器40中,当再次产生异常时,调出该记录的修复步骤,自动地进行修复。
图17是表示变形例(3)的生产***1的整体结构的图。如图17所示,变形例(3)的生产***1包括控制器20、工业装置30A、30B、服务器40以及用户终端50。另外,在本变形例中,省略程序生成装置10。
用户终端50是用户操作的计算机。例如,用户终端50是个人计算机、便携终端(包括平板型终端)或者便携电话(包括智能手机)。此外,用户终端50并不限定于这些,也可以是操作员终端、编程器或者面板控制器等HMI(Human Machine Interface人机接口)。用户终端50包括CPU51、存储部52、通信部53、操作部54以及显示部55。另外,在图17中省略了线路,但用户终端50也可以与控制器20以及服务器40分别连接。用户终端50包括CPU51、存储部52、通信部53、操作部54以及显示部55。CPU51、存储部52、通信部53、操作部54以及显示部55的物理结构可以分别与CPU11、存储部12、通信部13、操作部14以及显示部15相同。
图18是表示控制器20对工业装置30进行控制的情形的图。在本变形例中,以工业装置30A为机床、工业装置30B为工业用机器人的情况为例进行说明。例如,周期性反复进行工序。在图18中,示出在1个循环内执行的工序。控制器20执行***程序,作为循环的最初的工序,使工业装置30B执行识别工序。识别工序是利用传感器识别工件的工序。
如上所述,在本变形例中,针对每个工序准备变量,根据变量控制工序的开始。如实施方式中说明的那样,可以转换***变量与装置变量,也可以不区分***变量与装置变量而在控制器20与工业装置30中使用通用的变量。在区分***变量与装置变量的情况下,在执行以下说明的工序的情况下,如实施方式中说明的那样转换这些变量。变量的转换如实施方式中说明的那样,在本变形例中,省略转换的详细情况。
首先,控制器20将用于开始识别工序的开始变量变更为预定值。该值是用于开始工序的值,例如是1。在开始变量中设定初始值(例如,0),在开始变量从初始值变为预定值的情况下开始工序。
工业装置30B当检测到识别工序的开始变量变更为预定值时,执行识别工序的工序程序P,开始识别工序。在识别工序正常结束时,工业装置30B将识别工序的结束变量变更为预定值。该值是表示工序的结束的值,例如是1。在结束变量中设定初始值(例如,0),当工序结束时,结束变量从初始值变为预定值。
控制器20当检测到识别工序的结束变量变更为预定值时,将下一把持工序的开始变量变更为预定值。把持工序是用机器人手把持识别出的工件并搬运到预定位置的工序。工业装置30B当检测到把持工序的开始变量变更为预定值时,执行把持工序的工序程序P,开始把持工序。在把持工序正常结束时,工业装置30B将把持工序的结束变量变更为预定值。
控制器20当检测到把持工序的结束变量变更为预定值时,将下一门打开工序的开始变量变更为预定值。门打开工序是为了放入工件而打开工业装置30A的门的工序。工业装置30A当检测到门打开工序的开始变量变更为预定值时,执行门打开工序的工序程序P,开始门打开工序。在门打开工序正常结束时,工业装置30A将门打开工序的结束变量变更为预定值。
控制器20当检测到门打开工序的结束变量变更为预定值时,将下一放置工序的开始变量变更为预定值。放置工序是在打开的门中放置工件的工序。工业装置30B当检测到放置工序的开始变量变更为预定值时,执行放置工序的工序程序P,开始放置工序。在放置工序正常结束时,工业装置30B将放置工序的结束变量变更为预定值。
控制器20当检测到放置工序的结束变量变更为预定值时,将下一卡夹工序的开始变量变更为预定值。卡夹工序是为了进行加工而固定工件的工序。工业装置30A当检测到卡夹工序的开始变量变更为预定值时,执行卡夹工序的工序程序P,开始卡夹工序。在卡夹工序正常结束时,工业装置30A将卡夹工序的结束变量变更为预定值。
控制器20当检测到卡夹工序的结束变量变更为预定值时,将下一加工工序的开始变量变更为预定值。加工工序是加工工件的工序。工业装置30A当检测到加工工序的开始变量变更为预定值时,执行加工工序的工序程序P,开始加工工序。在加工工序正常结束时,工业装置30A将加工工序的结束变量变更为预定值。
根据以上所述,完成1个循环内的全部工序。控制器20当检测到加工工序的结束变量变更为预定值时,将识别工序的开始变量变更为预定值,以便开始下一循环。以下,与第1循环相同,开始下一循环。另外,各工序的开始变量与结束变量在循环结束时等的预定的时刻返回到初始值。
各工业装置30在自身执行的工序中产生了异常的情况下,中断工序的执行,将中断变量变更为预定值。检测异常产生的处理记述在工序程序P中。例如,工业装置30A在门打开工序中门未打开的情况下,将门打开工序的中断变量变更为预定值。此外,例如,工业装置30B在把持工序中无法把持工件的情况下,将把持工序的中断变量变更为预定值。
控制器20当检测到某一工序的中断变量变更为预定值时,向用户终端50发送表示产生了异常的异常产生通知。在本变形例中,对利用电子邮件发送异常产生通知的情况进行说明,但也可以利用其他的介质进行通知。例如,也可以利用推送通知、工程工具内的通知或者消息应用进行异常产生通知。
此外,例如,异常产生通知并不限定于针对用户终端50的信息的输出,也可以通过其他的方法进行。例如,也可以在控制器20设置LED灯等发光部,通过使发光部发光来进行异常产生通知。此外,例如,异常产生通知并不限定于视觉的通知,也可以是听觉或触觉的通知。例如,也可以通过从扬声器输出的警报音或者振动器的振动进行异常产生通知。
用户当确认异常产生通知时,在工业装置30连接用户终端50而使异常修复。用户终端50与工业装置30可以有线连接,也可以无线连接。在本变形例中,以使在工业装置30A的加工工序中产生的异常修复的步骤为例进行说明。例如,当用户启动安装于用户终端50的工程工具时,显示用于使异常修复的修复工序生成画面。
图19是表示修复工序生成画面的一例的图。如图19所示,在修复工序生成画面G2中显示工业装置30能够执行的工序的列表L2。例如,在列表L2中显示工业装置30A以及工业装置30B各自能够执行的全部工序的名称。在列表L2中,并不限定于显示在循环内执行的工序的名称,也显示其他工序的名称。例如,在列表L2中,并不限定于显示为了异常修复而执行的工序的名称,也显示在异常修复中不特别利用的工序的名称。
用户从修复工序生成画面G2中指定至少一个工序,使在工业装置30中产生的异常修复。用户可以指定列表L2中的任意的工序。例如,用户可以指定工业装置30A以及工业装置30B的双方的工序,也可以指定工业装置30A或者工业装置30B中的任意一方的工序。工业装置30A和工业装置30B分别执行用户选择的工序。
图20是表示用户通过手动使异常修复的情形的图。如图20所示,例如,用户从修复工序生成画面G2中选择工业装置30A的门打开工序、工具避让工序、工具退避工序以及卡夹OFF工序。工具避让工序和工具退避工序分别是使工业装置30A所具备的加工用的工具移动的工序。卡夹OFF工序是解除卡夹状态的工序。工业装置30A按照用户指定的顺序执行各工序。
之后,用户从修复工序生成画面G2中选择工业装置30B的移动工序。移动工序是使机器人手移动的工序。工业装置30B按照用户的指示执行移动工序。用户当确认异常已修复时,从修复工序生成画面G2中选择修复完成按钮B。当用户选择修复完成按钮B时,加工工序的中断变量返回到初始值,再次开始循环。在图20的例子中,示出从产生了异常的加工工序的前一个的卡夹工序再次开始的情况。
在本变形例中,当用户通过手动使异常修复时,将此时指定的工序作为修复工序信息记录在服务器40中。详细情况将后述,但本变形例的修复工序信息是用于按照执行顺序执行用户指定的工序的宏。在工业装置30中再次产生了异常的情况下,通过控制器20调出记录在服务器40中的修复工序信息。控制器20基于调出的修复工序信息,按照过去用户指定的步骤执行工序,使异常修复。另外,也可以不自动地修复,而在对用户询问是否修复的基础上执行修复。
图21是表示根据修复工序信息修复异常的情形的图。如图21所示,当在工业装置30A的加工工序中再次产生了异常时,控制器20向服务器40请求修复工序信息。服务器40向控制器20发送过去登记的修复工序信息。控制器20基于从服务器40接收到的修复步骤,使工业装置30A执行门打开工序、工具避让工序、工具退避工序以及卡夹OFF工序,使工业装置30B执行移动工序。之后,控制器20当检测到加工工序的中断变量返回到初始值时,将卡夹工序的开始变量变更为预定值,使循环再次开始。
如以上那样,在本变形例的生产***1中,在服务器40中记录修复工序信息,在工业装置30中再次产生了异常的情况下,控制器20调出修复工序信息,由此能够减少使在工业装置30中产生的异常修复时的麻烦。以下,对本变形例的生产***1的详细情况进行说明。
图22是变形例(3)的功能框图。如图22所示,在变形例(3)中,在控制器20中,实现检测部203和修复部204。此外,在用户终端50中,实现数据存储部500、显示控制部501、接受部502以及记录部503。
[检测部]
检测部203以CPU21为主而实现。检测部203检测在各工业装置30中产生的异常。在本变形例中,当在各工序中产生异常时,工序程序P将该工序的中断变量变更为预定值。检测部203参考各工序的中断变量的值,判定中断变量是否成为预定值。检测部203判定为在中断变量成为预定值的工序中产生了异常。如实施方式中说明的那样,在区分***变量与装置变量的情况下,在将装置变量的中断变量转换为***变量的基础上,检测部203参考该***变量的中断变量的值。
另外,异常的检测方法并不限定于利用了变量的方法。异常的检测方法本身可以应用公知的方法,例如,检测部203可以在某一工序在一定时间的期间未结束的情况下判定为产生了异常,也可以在与控制器20或工业装置30连接的传感器的检测信号表示异常值的情况下判定为产生了异常。
此外,例如,工业装置30也可以在产生了异常的情况下,向控制器20发送预定的异常产生通知。在异常产生通知中包含任意的信息,例如,可以包含产生了异常的工业装置30的名称、产生了异常的工序的名称、产生的异常的种类以及产生异常的日期等。检测部203判定是否从工业装置30接受到异常产生通知。检测部203在接受到异常产生通知的情况下判定为产生了异常。
[修复部]
修复部204以CPU21为主而实现。修复部204在检测部203再次检测到异常的情况下,获取记录部503记录的修复工序信息所示的一个以上的工序,执行该获取的一个以上的工序而使异常修复。在本变形例中,在修复工序信息中表示过去的异常产生时用户指定的工序,因此,修复部204按照修复工序信息中记述的步骤执行工序,使异常修复。修复时的工序与通常的工序相同,根据工序程序P以及变量控制执行,因此,修复部204基于修复工序信息所示的工序的变量执行工序。
例如,在多个工序按照预定的顺序执行的情况下,修复部204向工业装置30发送指示,以便将第1个工序的开始变量变更为预定值。工业装置30当检测到变量的变化时执行第1个工序。在第1个工序正常结束时,工业装置30将该工序的结束变量变更为预定值。修复部204当检测到第1个工序的结束变量成为预定值时,向工业装置30发送指示,以便将第2个修复工序的开始变量变更为预定值。以下同样,直到修复工序信息所示的最后为止依次执行工序。
[数据存储部]
数据存储部400以存储部42为主而实现。数据存储部400存储修复工序信息。例如,数据存储部400存储保存有至少一个修复工序信息的修复工序数据库DB3。服务器40当从用户终端50接收到修复工序信息时,将其保存在修复工序数据库DB3中。
图23是表示修复工序数据库DB3的数据保存例的图。如图23所示,在修复工序数据库DB3中,按照修复工序信息的名称保存修复工序信息。例如,在修复工序信息中,保存有工序的执行顺序、执行工序的工业装置30的名称以及工序的名称。在图23中用表表示修复工序信息的内容,但在本变形例中,修复工序信息被宏化,因此,这些关系被记述为宏的命令。即,在修复工序信息中记述有命令,以便按照门打开工序、工具避让工序、工具退避工序、卡夹OFF工序、移动工序的顺序将开始变量变更为预定值。
[数据存储部]
数据存储部500以存储部52为主而实现。数据存储部500存储在服务器40中记录修复工序信息所需的数据。例如,数据存储部100存储工序数据库DB2。工序数据库DB2也可以与变形例(2)相同,但在本变形例中,对其他的数据保存例进行说明。
图24是表示变形例(3)的工序数据库DB2的数据保存例的图。如图24所示,工序数据库DB2是保存有各工序的工序信息的数据库。例如,在工序数据库DB2中保存有工业装置30的名称、该工业装置30执行的工序的工序信息。在工序信息中保存有工序的名称与变量的名称。在本变形例中,对在工序信息中保存装置变量的名称的情况进行说明,但也可以在工序信息中保存***变量的名称。
另外,数据存储部500所存储的数据并不限定于上述的例子。例如,数据存储部500可以存储显示于修复工序生成画面G2的图像的图像数据,也可以存储工程工具。此外,例如,数据存储部500也可以存储生成完成的工序程序P和***程序Q。此外,例如,数据存储部500也可以在服务器40中存储登记完成的修复工序信息。
[显示控制部]
显示控制部501以CPU51为主而实现。显示控制部501在检测部202检测到异常的情况下,显示修复工序生成画面G2。在本变形例中,在工序数据库中保存各工序的工序信息,因此,显示控制部501基于工序数据库显示修复工序生成画面G2。
修复工序生成画面G2具有接受至少一个工序的指定的用户接口。换言之,修复工序生成画面G2接受修复时执行的至少一个工序的指定。本变形例的修复工序生成画面G2具有图19那样的布局,例如,显示控制部501参考工序数据库DB2,在修复工序生成画面G2中显示表示全部的工序的名称的列表L2。另外,在列表L2中,可以显示在工序数据库中保存有工序信息的全部工序的名称,也可以仅显示一部分工序的名称。
另外,修复工序生成画面G2并不限定于图19的布局,可以是任意的布局。例如,修复工序生成画面G2也可以以下拉格式或者鼓滚动格式接受工序的选择。此外,例如,修复工序生成画面G2可以是以流程图格式按照时间序列排列工序的布局,也可以是以表格式接受工序的名称的输入的布局。此外,例如,修复工序生成画面G2排列有用于输入实际工序的名称的输入格式。
[接受部]
接受部502以CPU52为主而实现。接受部502在检测部检测到异常的情况下,基于针对多个工序的每一个工序至少将工序的名称与装置变量和***变量中的至少一者相关联的工序信息,接受为了修复而执行的一个以上的工序的指定。
接受部502在检测部203检测到异常的情况下,基于针对多个工序的每一个工序至少将工序的名称与表示工业装置30的动作且在工序中执行的工序程序P中进行参考和变更中的至少一者的变量相关联的工序信息,接受为了修复而执行的一个以上的工序的指定。
为了修复而执行的工序是为了修复检测部203检测到的异常而需要的工序。换言之,为了修复而执行的工序是用户通过手动使异常修复时指定的工序。为了修复而执行的工序可以是一个,也可以是多个。为了修复而执行的工序可以存在上限数,也可以不特别存在上限数。接受部502基于操作部14的检测信号接受工序的指定。
在本变形例中,从修复工序生成画面G2中指定工序,因此,接受部502在修复工序生成画面G2中接受一个以上的工序的指定。例如,接受部502从显示于修复工序生成画面G2的列表L2的工序中接受一个以上的工序的指定。接受部502可以反复接受相同的工序的指定。此外,例如,接受部502可以仅接受一个工业装置30的工序的指定,也可以接受多个工业装置30各自的工序的指定。
例如,在用户指定多个工序的情况下,接受部502接受多个工序的执行顺序的指定。在本变形例中,用户反复指定列表L2中的工序,因此,指定了工序的顺序相当于执行顺序。即,接受部502通过反复接受列表L2中的工序的指定,接受执行顺序的指定。接受到工序的指定的顺序直接成为执行顺序。
另外,执行顺序的指定并不限定于本变形例的例子,可以通过任意的操作进行。例如,接受部502也可以通过接受表示执行顺序的数值的输入,接受执行顺序的指定。此外,例如,如果是流程图格式的修复工序生成画面G2,则接受部502可以通过指定工序的排列顺序的操作,接受执行顺序的指定。
在本变形例中,对于产生了异常的工业装置30以外的其他的工业装置30,也可以指定修复时的工序。例如,在修复工序生成画面G2中,也可以指定担当比产生了异常的工业装置30A的加工工序靠前的工序的工业装置30B的工序。接受部502基于检测部203检测到异常的工业装置30A和执行该工业装置30A的前一工序的其他工业装置30B各自的工序信息,接受由工业装置30A以及其他工业装置30B中的至少一者执行的一个以上的工序的指定。接受部502可以接受工业装置30A和工业装置30B的双方的工序的指定,也可以仅接受工业装置30A或工业装置30B中的任意一方的工序的指定。
[记录部]
记录部503以CPU52为主而实现。记录部503记录表示接受部502接受到的一个以上的工序的修复工序信息。修复工序信息是识别异常修复时用户指定的工序的信息。换言之,修复工序信息是表示用于使异常修复的工序的执行结果的信息。在本变形例中,对修复工序信息为宏格式的数据的情况进行说明,但修复工序信息可以是任意的数据格式。例如,修复工序信息可以是文本格式、文档格式或者CSV格式等。此外,例如,可以自动地生成依次变更用户指定的工序的开始变量的程序,将该程序记录为修复工序信息。
在本变形例中,对记录部503在能够与控制工业装置30的控制器20通信的服务器40中记录修复工序信息的情况进行说明,但记录部503也可以在其他的计算机或者信息存储介质中记录修复工序信息。例如,记录部503可以在用户终端50、控制器20或者工业装置30中记录修复工序信息,也可以在未图示的数据库服务器或者模拟服务器等其他的计算机中记录修复工序信息。
例如,在用户指定多个工序的情况下,记录部503基于接受部502接受到的执行顺序,记录修复工序信息。在该情况下,用户指定的执行顺序与各工序的名称相关联地保存在修复工序信息中。即,记录部503记录修复工序信息,以便能够按照用户指定的执行顺序执行用户指定的各工序。
在本变形例中,通过变量控制工序的执行,因此,记录部503生成修复工序信息,以便各工序的开始变量按照用户指定的执行顺序成为预定值。例如,记录部503生成修复工序信息,以使门打开工序的开始变量成为预定值。此外,记录部503生成修复工序信息,以便在门打开工序的结束变量成为预定值的情况下,使下一工具避让工序的开始变量成为预定值。以下同样地,记录部503生成修复工序信息,以便在某一工序的结束变量成为预定值的情况下,将下一工序的开始变量变更为预定值。在本变形例中,生成将用于变更这些变量的值的命令记载为宏的修复工序信息。
此外,例如,记录部503记录表示由工业装置30A和其他工业装置30B中的至少一者执行的一个以上的工序的修复工序信息。即,在用户指定了多个工业装置30各自的工序的情况下,记录部503生成修复工序信息,以便各工业装置30执行用户指定的工序。例如,记录部503生成修复工序信息,以便在工业装置30A执行门打开工序等四个工序之后,工业装置30B执行移动工序。如上所述,在修复工序信息中,用于变更各工序的开始变量的命令记述为宏。
另外,在本变形例中,当通过记录部503记录修复工序信息时,用户终端50变更***程序Q,以便在异常产生时调出该修复工序信息。例如,用户终端50在产生了异常的情况下,在***程序Q的梯形图中追加用于向服务器40请求修复工序信息的启动开关或线圈等或者在***程序Q的源代码中追加表示该请求的命令。通过变更***程序Q,在再次产生了异常的情况下,调出修复工序信息。
根据变形例(3),在检测到在工业装置30中产生的异常的情况下,基于工序信息,接受为了修复而执行的一个以上的工序的指定,并记录为修复工序信息,由此,无需利用梯形图等生成修复程序,能够减少用于使在工业装置中产生的异常修复的麻烦。例如,有时在工业装置产生各种异常,针对每个异常生成修复程序非常麻烦,但通过指定为了异常的修复而执行的工序并记录执行结果,能够省去这样的麻烦。例如,通过按照任意的顺序组合工序,能够应对各种异常。
此外,在再次检测到异常的情况下,获取修复工序信息所示的一个以上的工序,执行该获取的一个以上的工序而使异常修复,由此能够容易地使在工业装置30中产生的异常修复。
(4)此外,例如可以组合上述变形例。
此外,例如,控制器20可以存储用于控制正下方的设备的动作的工序程序P。此外,例如,对在控制器20中存储转换数据的情况进行说明,但转换数据可以存储在工业装置30中,也可以存储在服务器40等其他计算机或者外部信息存储介质中。此外,例如,对转换部202由控制器20实现的情况进行了说明,但转换部202可以由工业装置30实现,也可以由服务器40等其他计算机实现。
此外,例如,以上说明的实施方式作为具体例而示出,在本说明书中公开的发明并不限定于这些具体例的结构、数据保存例本身。本领域技术人员可以对这些公开的实施方式进行各种变形,例如变更物理结构的形状、个数、数据构造、处理的执行顺序。在本说明书中公开的发明的技术范围应当理解为还包括这样进行的变形。
Claims (11)
1.一种生产***,具有:
多个工业装置,执行工序程序,并进行装置变量的参考和变更中的至少一者,所述工序程序用于执行预定工序;以及
控制器,执行***程序,并进行***变量的参考和变更中的至少一者,所述***程序用于使各工业装置按照对多个所述工序指定的执行顺序动作,
所述控制器具有:
转换数据存储部,存储各工业装置的所述装置变量和所述***变量之间的转换数据;以及
转换部,在所述控制器和各工业装置通信的情况下,基于成为所述控制器的通信对象的所述工业装置的所述转换数据进行该工业装置的所述装置变量和所述***变量之间的转换。
2.根据权利要求1所述的生产***,其中,
所述转换部基于成为所述控制器的通信对象的所述工业装置的所述转换数据将所述***变量转换为该工业装置的所述装置变量并发送,
所述转换部基于成为所述控制器的通信对象的所述工业装置的所述转换数据将从该工业装置接收到的所述装置变量转换为所述***变量。
3.根据权利要求1或2所述的生产***,其中,
所述转换数据存储部存储根据每个所述工业装置而不同的转换表作为所述转换数据,
所述转换部基于各工业装置的所述转换表进行该工业装置的所述装置变量和所述***变量之间的转换。
4.根据权利要求1或2所述的生产***,其中,
所述转换数据存储部存储转换数据库,在所述转换数据库中保存有各工业装置的所述转换数据,
所述转换部基于保存于所述转换数据库中的各工业装置的所述转换数据进行该工业装置的所述装置变量和所述***变量之间的转换。
5.根据权利要求1或2所述的生产***,其中,
各工业装置的所述装置变量的名称包含唯一地识别与该装置变量对应的工序的字符串以及与其他工序通用的字符串。
6.根据权利要求1或2所述的生产***,具有:
显示控制部,显示进度表画面,在所述进度表画面中,包含从工序数据库中获取的多个所述工序的名称,并且能够指定该多个工序的执行顺序,所述工序数据库针对所述多个工序的每一个工序,至少将所述装置变量和所述***变量中的至少一者与工序的名称相关联并保存作为工序信息;
接受部,在所述显示控制部所显示的所述进度表画面中,接受所述执行顺序的指定;以及
***程序生成部,基于各工序的所述装置变量和所述***变量中的至少一者与所述接受部接受到的所述执行顺序来生成所述***程序。
7.根据权利要求6所述的生产***,其中,
在所述多个工序各自的装置变量中包含有表示该工序的执行开始的开始装置变量,
所述***程序生成部在所述执行顺序中至少将变更***变量和开始***变量相关联地生成所述***程序,以使按照所述执行顺序的工序被依次执行,所述变更***变量对应于在一个工序中被变更的变更装置变量,所述开始***变量对应于与所述一个工序联动地执行的一个以上其他工序的所述开始装置变量。
8.根据权利要求1或2所述的生产***,具有:
检测部,检测在各工业装置中产生的异常;
接受部,在所述检测部检测到所述异常的情况下,基于针对所述多个工序的每一个工序至少将所述装置变量和所述***变量中的至少一者与工序的名称相关联的工序信息,接受为了修复而执行的一个以上所述工序的指定;以及
记录部,记录修复工序信息,该修复工序信息表示所述接受部接受到的一个以上所述工序。
9.根据权利要求8所述的生产***,其中,
所述生产***还具有修复部,在所述检测部再次检测到所述异常的情况下,所述修复部获取所述记录部记录的所述修复工序信息所示的一个以上所述工序,执行该获取的一个以上所述工序来修复所述异常。
10.一种生产方法,其中,
由多个工业装置执行工序程序,并进行装置变量的参考和变更中的至少一者,所述工序程序用于执行预定工序;
由控制器执行***程序,并进行***变量的参考和变更中的至少一者,所述***程序用于使各工业装置按照对多个所述工序指定的执行顺序动作;
获取转换数据存储部的转换数据,所述转换数据存储部存储各工业装置的所述装置变量和所述***变量之间的所述转换数据;以及
在所述控制器和各工业装置通信的情况下,基于成为所述控制器的通信对象的所述工业装置的所述转换数据进行该工业装置的所述装置变量和所述***变量之间的转换。
11.一种信息存储介质,存储有程序,其中,
在通过控制器控制多个工业装置的情况下,所述程序用于使所述控制器或其他计算机起到转换数据获取部和转换部的功能,
所述多个工业装置执行工序程序,并进行装置变量的参考和变更中的至少一者,所述工序程序用于执行预定工序,
所述控制器执行***程序,并进行***变量的参考和变更中的至少一者,所述***程序用于使各工业装置按照对多个所述工序指定的执行顺序动作,
所述转换数据获取部获取转换数据存储部的转换数据,所述转换数据存储部存储各工业装置的所述装置变量和所述***变量之间的转换数据,
所述转换部在所述控制器和各工业装置通信的情况下,基于成为所述控制器的通信对象的所述工业装置的所述转换数据进行该工业装置的所述装置变量和所述***变量之间的转换。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-226123 | 2019-12-16 | ||
JP2019226123A JP6881557B1 (ja) | 2019-12-16 | 2019-12-16 | 生産システム、生産方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113064376A true CN113064376A (zh) | 2021-07-02 |
CN113064376B CN113064376B (zh) | 2024-05-31 |
Family
ID=76083897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011445323.3A Active CN113064376B (zh) | 2019-12-16 | 2020-12-11 | 生产***、生产方法以及信息存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11520315B2 (zh) |
JP (1) | JP6881557B1 (zh) |
CN (1) | CN113064376B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5369569A (en) * | 1991-11-14 | 1994-11-29 | Nippondenso Co., Ltd. | System for restoring controlled unit from abnormal condition |
US6741905B1 (en) * | 2001-02-24 | 2004-05-25 | Imcs, Inc. | Visual system for programming of simultaneous and synchronous machining operations on lathes |
JP2010282306A (ja) * | 2009-06-03 | 2010-12-16 | Mitsubishi Electric Corp | 制御プログラム開発支援装置、制御プログラム開発支援方法及びプログラム |
JP2010282466A (ja) * | 2009-06-05 | 2010-12-16 | Hitachi Ltd | プラント情報制御システムおよび紐付けプログラム |
WO2013179486A1 (ja) * | 2012-06-01 | 2013-12-05 | 株式会社日立製作所 | プログラム変換方法、プログラム変換システム及びプログラム |
CN106707973A (zh) * | 2015-11-17 | 2017-05-24 | 发那科株式会社 | 时序控制编程装置、时序控制编程方法以及作业*** |
JP2017142767A (ja) * | 2016-02-09 | 2017-08-17 | 富士電機株式会社 | コントローラシステム、変数連携支援装置 |
US20170329315A1 (en) * | 2016-05-16 | 2017-11-16 | Fanuc Corporation | Information processing apparatus for processing machining information between plurality of manufacturing cells |
WO2019102828A1 (ja) * | 2017-11-24 | 2019-05-31 | オムロン株式会社 | 変換情報取得装置、プログラム開発支援装置、変換情報取得方法及び変換情報取得プログラム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0573125A (ja) * | 1991-09-11 | 1993-03-26 | Fanuc Ltd | Nc工作機械の加工監視方式 |
JPH0962324A (ja) * | 1995-08-29 | 1997-03-07 | Fanuc Ltd | 数値制御システム |
US7000191B2 (en) * | 2000-08-07 | 2006-02-14 | Siemens Aktiengesellschaft | Flowchart programming for industrial controllers, in particular motion controllers |
DE112005003519T5 (de) * | 2005-03-31 | 2008-03-06 | Mitsubishi Electric Corp. | Kommunikationstreiber |
US8688258B2 (en) * | 2008-09-11 | 2014-04-01 | Rockwell Automation Technologies, Inc. | Method of controlling a machine tool |
JP2012014498A (ja) * | 2010-07-01 | 2012-01-19 | Yamatake Corp | セル制御プログラム実行方法およびセル制御装置 |
JP5810563B2 (ja) | 2011-03-15 | 2015-11-11 | オムロン株式会社 | 制御プログラム開発支援装置、制御プログラム開発支援用プログラム及び記録媒体 |
JP6105537B2 (ja) * | 2014-09-24 | 2017-03-29 | ファナック株式会社 | アラーム対処履歴を表示する数値制御装置 |
DE102017103830A1 (de) * | 2016-02-29 | 2017-08-31 | Fanuc Corporation | Maschinensystem, maschinensteuercomputer, basissoftwareanwendung, computerlesbares speichermedium, und maschinensteuerungsverfahren für die interkommunikation mit maschinen |
JP6767308B2 (ja) * | 2017-05-23 | 2020-10-14 | ファナック株式会社 | 機械と相互通信可能に接続される機械制御用コンピュータ、機械システム、ベースソフトウェア、コンピュータ読取可能な記録媒体、データ構造、及び機械制御方法 |
-
2019
- 2019-12-16 JP JP2019226123A patent/JP6881557B1/ja active Active
-
2020
- 2020-12-11 CN CN202011445323.3A patent/CN113064376B/zh active Active
- 2020-12-14 US US17/120,286 patent/US11520315B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5369569A (en) * | 1991-11-14 | 1994-11-29 | Nippondenso Co., Ltd. | System for restoring controlled unit from abnormal condition |
US6741905B1 (en) * | 2001-02-24 | 2004-05-25 | Imcs, Inc. | Visual system for programming of simultaneous and synchronous machining operations on lathes |
JP2010282306A (ja) * | 2009-06-03 | 2010-12-16 | Mitsubishi Electric Corp | 制御プログラム開発支援装置、制御プログラム開発支援方法及びプログラム |
JP2010282466A (ja) * | 2009-06-05 | 2010-12-16 | Hitachi Ltd | プラント情報制御システムおよび紐付けプログラム |
WO2013179486A1 (ja) * | 2012-06-01 | 2013-12-05 | 株式会社日立製作所 | プログラム変換方法、プログラム変換システム及びプログラム |
CN106707973A (zh) * | 2015-11-17 | 2017-05-24 | 发那科株式会社 | 时序控制编程装置、时序控制编程方法以及作业*** |
JP2017142767A (ja) * | 2016-02-09 | 2017-08-17 | 富士電機株式会社 | コントローラシステム、変数連携支援装置 |
US20170329315A1 (en) * | 2016-05-16 | 2017-11-16 | Fanuc Corporation | Information processing apparatus for processing machining information between plurality of manufacturing cells |
WO2019102828A1 (ja) * | 2017-11-24 | 2019-05-31 | オムロン株式会社 | 変換情報取得装置、プログラム開発支援装置、変換情報取得方法及び変換情報取得プログラム |
Also Published As
Publication number | Publication date |
---|---|
US11520315B2 (en) | 2022-12-06 |
CN113064376B (zh) | 2024-05-31 |
JP2021096551A (ja) | 2021-06-24 |
US20210181723A1 (en) | 2021-06-17 |
JP6881557B1 (ja) | 2021-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11701772B2 (en) | Operation prediction system and operation prediction method | |
US5177420A (en) | Method of and apparatus for generating control program | |
US11960925B2 (en) | Program generating device, program generating method, and information storage medium | |
CN102246109B (zh) | 自动化***建模中的动态视图 | |
US20190188110A1 (en) | Industrial control system, and assistance apparatus, control assist method, and program thereof | |
JP4877068B2 (ja) | ソフトウェア開発支援プログラム、ソフトウェア開発支援方法 | |
TWI541622B (zh) | 順序程式製作支援裝置 | |
CN111095195A (zh) | 控制器、控制方法以及控制程序 | |
JP6761004B2 (ja) | 工具管理システム、工具管理装置及び工具管理方法 | |
JP5153437B2 (ja) | 制御プログラム作成装置 | |
CN113064376B (zh) | 生产***、生产方法以及信息存储介质 | |
JP2011238041A (ja) | プログラム作成装置及びプログラム作成方法 | |
JP7391571B2 (ja) | 電子機器、その制御方法、プログラム、および記憶媒体 | |
CN112987658A (zh) | 生产***、修复***、生产方法以及信息存储介质 | |
JP2009070181A (ja) | 動作プログラム作成支援システム | |
JP6210108B2 (ja) | フィールド機器管理装置、機器情報表示方法、コンピュータプログラムおよび記録媒体 | |
KR101916771B1 (ko) | 모니터링 장치 관리 방법 | |
JP2021039568A (ja) | 情報処理システム、プログラマブル表示器および情報処理装置 | |
WO2022091571A1 (ja) | 作業手順更新装置、作業手順更新方法及びプログラム | |
WO2020189142A1 (ja) | 制御システム、制御方法、および制御プログラム | |
JP2024014183A (ja) | システム、物品の製造方法、情報処理装置、情報処理方法、プログラム、及び記録媒体 | |
CN1591254A (zh) | 检查装置及编程工具 | |
JP2001265409A (ja) | 信号解析処理装置 | |
JP3823938B2 (ja) | プログラム作成装置 | |
JP2533372B2 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |