KR20220062141A - 제어 프로그램 생성 장치, 제어 프로그램 생성 방법, 프로그램 - Google Patents

제어 프로그램 생성 장치, 제어 프로그램 생성 방법, 프로그램 Download PDF

Info

Publication number
KR20220062141A
KR20220062141A KR1020227014614A KR20227014614A KR20220062141A KR 20220062141 A KR20220062141 A KR 20220062141A KR 1020227014614 A KR1020227014614 A KR 1020227014614A KR 20227014614 A KR20227014614 A KR 20227014614A KR 20220062141 A KR20220062141 A KR 20220062141A
Authority
KR
South Korea
Prior art keywords
chart
numerical
basic
actuator
manufacturing machine
Prior art date
Application number
KR1020227014614A
Other languages
English (en)
Other versions
KR102476169B1 (ko
Inventor
데루아키 요고
히데유키 다나카
도시히로 가니
히데노리 오자키
Original Assignee
가부시키가이샤 옵톤
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from JP2020011386A external-priority patent/JP6787616B1/ja
Priority claimed from JP2020075017A external-priority patent/JP6829505B1/ja
Priority claimed from JP2021006778A external-priority patent/JP2021177371A/ja
Application filed by 가부시키가이샤 옵톤 filed Critical 가부시키가이샤 옵톤
Publication of KR20220062141A publication Critical patent/KR20220062141A/ko
Application granted granted Critical
Publication of KR102476169B1 publication Critical patent/KR102476169B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/4097Numerical 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 using design data to control NC machines, e.g. CAD/CAM
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/4093Numerical 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 part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/4155Numerical 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31368MAP manufacturing automation protocol
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35216Program, generate nc program, code from cad data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36243Convert source, high level code to machine, object code
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36276Program virtual, logical tools, select tool from tables
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36296Order, select, determine, change machining sequence, order

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Mechanical Engineering (AREA)
  • Geometry (AREA)
  • Programmable Controllers (AREA)
  • Feedback Control In General (AREA)

Abstract

자동 제조 기계 (1) 의 동작 개시부터 종료까지의 동작 기간을 복수의 부분 기간으로 분할하고, 또한, 자동 제조 기계의 동작을 복수의 액추에이터의 기본 동작 (206) 으로 분할하여, 기본 동작을 어느 부분 기간에 할당함으로써 자동 제조 기계의 동작을 동작 차트 (200) 에 기술한다. 동작 차트 상의 기본 동작은, 동작을 정성적으로 기술한 동작 기술 (206a) 과, 수치 테이블 (206b) 또는 복수의 수치 파라미터 (206c) 를 사용하여 기재한다. 그리고, 자동 제조 기계의 동작이 기술된 동작 차트를 판독 입력하여, 동작 차트 중의 동작 기술을, 동작 기술에 대응하여 기억해 둔 프로그램 요소로 변환함과 함께, 수치 테이블 또는 복수의 수치 파라미터에 설정된 수치를 프로그램 요소에 설정한 후, 동작 차트 중에서의 부분 기간의 차례에 따라 프로그램 요소를 결합한다.

Description

제어 프로그램 생성 장치, 제어 프로그램 생성 방법, 프로그램
본 발명은, 복수의 액추에이터를 구비한 자동 제조 기계의 제어 프로그램을 생성하는 기술에 관한 것이다.
오늘날에는, 모든 업종에 걸쳐, 공장 등의 제조 현장에서의 생력화가 강하게 요청되고 있다. 이 요청에 응하기 위해서는 자동 제조 기계를 활용하는 것이 필수가 된다. 그래서, 가공 혹은 제조하고자 하는 대상물이나, 가공의 내용 (예를 들어, 절삭 가공이나 굽힘 가공) 등에 따라, 다양한 타입의 자동 제조 기계가 개발되고 있다 (예를 들어, 특허문헌 1, 특허문헌 2).
여기서, 제조 현장은, 제조하고자 하는 대상물의 크기나 형상이나 재질이나, 가공의 내용이나 조건이 상이한 것이 통상이다. 이 때문에, 다른 제조 현장에서 사용되고 있는 자동 제조 기계를 유용하는 것은 곤란하여, 제조 현장마다 전용의 자동 제조 기계를 개발하게 된다. 그리고, 전용의 자동 제조 기계를 개발하면, 그 자동 제조 기계를 제어하기 위한 제어 프로그램도 새롭게 개발할 필요가 발생한다.
그런데, 제어 프로그램을 개발하기 위해서는, 소프트웨어에 관한 전문 지식을 갖는 전문 기술자 (이른바 프로그래머) 가 필요해진다. 게다가, 자동 제조 기계의 기계 설계가 어느 정도까지 진행된 후가 아니면 제어 프로그램의 개발에는 착수할 수 없으므로, 제어 프로그램의 개발에 요하는 기간을 포함하면, 자동 제조 기계의 개발에 긴 기간을 요하게 된다. 이러한 점은, 제조 현장에 자동 제조 기계를 적극적으로 도입하고자 했을 때의 큰 장해가 되고 있다.
그래서 본원의 발명자들은, 자동 제조 기계의 동작을 특수한 동작 차트에 기술 (記述) 하여, 동작 차트로부터 제어 프로그램을 자동 생성함으로써, 이러한 문제점을 단번에 해결하는 기술 (技術) 을 개발하여 이미 출원이 완료된 상태이다 (일본 특허출원 2020-075017호). 또한, 이 특수한 동작 차트는, 본원의 발명자가 개발한 종래에는 존재하지 않는 동작 차트이기 때문에, 이하에서는「YOGO 차트」라고 부르는 경우가 있다. 이 동작 차트 (YOGO 차트) 는, 자동 제조 기계의 동작을 이해하고 있으면 용이하게 작성할 수 있고, 게다가, 이 동작 차트로부터 자동으로 제어 프로그램을 생성할 수 있다. 이 때문에, 자동 제조 기계의 개발에 요하는 기간을 대폭 단축시킬 수 있고, 게다가 프로그래머를 확보할 필요도 없으므로 제조 비용도 억제하는 것이 가능하다.
일본 공개특허공보 2011-245602호 일본 공개특허공보 2018-192570호
그러나, 상기 서술한 출원 중의 기술이어도, 동작 차트 (YOGO 차트) 에 자동 제조 기계의 동작을 기술할 때에 틀려 버리면, 자동 제조 기계를 의도한 대로 동작시킬 수 없게 된다. 이 때문에, 동작 차트 (YOGO 차트) 에 자동 제조 기계의 동작을 기술할 때에 잘못된 내용을 기술하는 사태를 가능한 한 감소시키는 기술의 개발이 요청되고 있다.
이 발명은, 종래의 기술이 갖는 상기 서술한 과제를 해결하기 위해 이루어진 것으로, 동작 차트 (YOGO 차트) 에 자동 제조 기계의 동작을 기술할 때에, 잘못된 내용을 기술하는 사태를 감소시키는 것이 가능한 기술의 제공을 목적으로 한다.
상기 서술한 과제를 해결하기 위해, 본 발명의 제어 프로그램 생성 장치는 다음의 구성을 채용하였다. 즉,
복수의 액추에이터 (10 ∼ 20) 를 구비한 자동 제조 기계 (1) 의 제어 프로그램을 생성하는 제어 프로그램 생성 장치 (100a, 110) 로서,
상기 액추에이터의 자유도마다의 동작을 나타내는 기본 동작 (206) 을, 상기 기본 동작을 실현하는 프로그램 요소와 대응지어 기억하고 있는 기본 동작 기억부 (102) 와,
상기 자동 제조 기계가 동작을 개시하고 나서 종료될 때까지의 동작 기간이 복수의 부분 기간으로 분할되어 있고, 상기 자동 제조 기계의 동작이 복수의 상기 기본 동작으로 분해됨과 함께, 상기 기본 동작이 상기 복수의 부분 기간 중 어느 것에 할당됨으로써 상기 자동 제조 기계의 동작이 기술된 동작 차트 (200) 를 판독 입력하는 동작 차트 판독 입력부 (103) 와,
상기 동작 차트 상의 복수의 상기 부분 기간에 할당된 복수의 상기 기본 동작의 상기 프로그램 요소를, 상기 동작 차트 상에서의 상기 부분 기간의 순서에 따라 결합함으로써, 상기 자동 제조 기계를 동작시키는 상기 제어 프로그램을 생성하는 제어 프로그램 생성부 (105) 를 구비하고,
상기 기본 동작 기억부는, 상기 기본 동작의 내용을, 정성적으로 상기 기본 동작을 기술하기 위한 동작 기술 (206a) 과, 상기 기본 동작의 정량 사항을 수치에 의해 기술하기 위한 수치 기술로 나눈 후에, 상기 기본 동작의 동작 기술에 대응하는 상기 프로그램 요소와, 상기 수치 기술에 대응하는 수치 테이블 (206b) 또는 상기 수치 기술에 대응하는 복수의 수치 파라미터 (206c) 를 기억하고 있고,
상기 동작 차트 판독 입력부는, 상기 기본 동작이, 상기 동작 기술과, 상기 수치 테이블 또는 상기 복수의 수치 파라미터를 사용하여 기재된 상기 동작 차트를 판독 입력하고 있고,
상기 제어 프로그램 생성부는, 복수의 상기 프로그램 요소를 결합할 때에, 상기 프로그램 요소의 상기 동작 기술과 함께 기재된 상기 수치 테이블 또는 상기 복수의 수치 파라미터에 따라, 상기 프로그램 요소에 수치를 설정하는 것을 특징으로 한다.
또, 상기 서술한 제어 프로그램 생성 장치에 대응하는 본 발명의 제어 프로그램 생성 방법은 다음의 구성을 채용하였다. 즉,
복수의 액추에이터 (10 ∼ 20) 를 구비한 자동 제조 기계 (1) 의 제어 프로그램을 컴퓨터에 의해 생성하는 제어 프로그램 생성 방법으로서,
상기 자동 제조 기계가 동작을 개시하고 나서 종료될 때까지의 동작 기간이 복수의 부분 기간으로 분할되어 있고, 상기 자동 제조 기계의 동작이, 상기 액추에이터의 자유도마다의 동작을 나타내는 복수의 기본 동작 (206) 으로 분해됨과 함께, 상기 기본 동작이 상기 복수의 부분 기간 중 어느 것에 할당됨으로써 상기 자동 제조 기계의 동작이 기술된 동작 차트 (200) 를 판독 입력하는 동작 차트 판독 입력 공정 (STEP1) 과,
상기 동작 차트를 해석함으로써, 상기 동작 차트에 포함되는 복수의 상기 기본 동작과, 복수의 상기 기본 동작이 할당된 상기 부분 기간을 추출하는 동작 차트 해석 공정 (STEP2) 과,
상기 기본 동작을 실현하기 위한 프로그램 요소를, 상기 동작 차트 중에서 상기 기본 동작이 할당된 상기 부분 기간의 차례에 따라 결합함으로써, 상기 자동 제조 기계를 동작시키는 상기 제어 프로그램을 생성하는 제어 프로그램 생성 공정 (STEP3) 을 구비하고,
상기 동작 차트 판독 입력 공정은, 상기 동작 차트 중의 상기 기본 동작이, 상기 기본 동작의 내용을 정성적으로 기술하기 위한 동작 기술 (206a) 과, 상기 기본 동작의 정량 사항을 수치에 의해 기술하기 위한 수치 테이블 (206b) 또는 상기 복수의 수치 파라미터 (206c) 를 사용하여 기재된 상기 동작 차트를 판독 입력하는 공정이고,
상기 제어 프로그램 생성 공정은, 상기 기본 동작의 상기 동작 기술과, 상기 동작 기술을 실현하기 위한 프로그램 요소가 대응지어져 기억된 대응 관계를 참조함으로써, 상기 동작 기술을 상기 프로그램 요소로 변환함과 함께, 상기 동작 기술과 함께 기재된 상기 수치 테이블 또는 상기 복수의 수치 파라미터에 따라 상기 프로그램 요소에 수치를 설정한 후, 상기 프로그램 요소를 상기 부분 기간의 차례에 따라 결합함으로써 상기 제어 프로그램을 생성하는 공정인 것을 특징으로 한다.
이러한 본 발명의 제어 프로그램 생성 장치 및 제어 프로그램 생성 방법에서는, 자동 제조 기계의 동작이 동작 차트에 미리 기술되어 있다. 이 동작 차트는 다음과 같은 동작 차트로 되어 있다. 먼저, 자동 제조 기계가 동작을 개시하고 나서 종료될 때까지의 동작 기간이 복수의 부분 기간으로 분할되어 있고, 또, 자동 제조 기계의 동작이, 복수의 액추에이터의 기본 동작으로 분해되어 있다. 그리고, 그들 기본 동작이, 복수의 부분 기간 중 어느 것에 할당됨으로써, 자동 제조 기계의 동작이 기술되어 있다. 또, 동작 차트 중의 기본 동작은, 기본 동작의 정성적인 내용이 동작 기술에 의해 기재되고, 수치에 의해 기술되는 기본 동작의 정량 사항이 수치 테이블 또는 복수의 수치 파라미터에 의해 기재되어 있다. 또한, 동작 기술에는, 그 동작 기술이 나타내는 동작을 실현하는 프로그램 요소가 대응지어져 미리 기억되어 있다. 그리고, 자동 제조 기계의 제어 프로그램을 생성할 때에는, 자동 제조 기계의 동작이 기술된 동작 차트를 판독 입력하여, 동작 차트에 기재된 기본 동작의 동작 기술을 프로그램 요소로 변환함과 함께, 동작 기술과 함께 기재된 수치 테이블 또는 복수의 수치 파라미터로 설정되어 있는 수치를, 프로그램 요소에 설정한다. 그리고, 그들 프로그램 요소를, 부분 기간의 차례에 따라 결합함으로써, 제어 프로그램을 생성한다.
동작 기술은, 액추에이터의 단순한 동작인 기본 동작을 정성적으로 기술한 것이기 때문에, 액추에이터에 동작 기술의 동작을 실시하게 하는 프로그램 요소를 미리 작성해 둘 수 있다. 물론, 프로그램 요소를 사용하여 액추에이터에 동작시키기 위해서는, 예를 들어 동작량이나 동작 속도 등의 정량 사항을 지정할 필요가 발생하는데, 이들 수치는 수치 테이블 또는 복수의 수치 파라미터로서, 동작 기술과는 별도로 설정해 둔다. 이와 같은 동작 차트는, 자동 제조 기계를 설계한 기계 설계 기술자나, 자동 제조 기계의 구조에 대해 충분한 지식을 갖는 기술자이면, 용이하게 작성할 수 있다. 그리고, 작성한 동작 차트를 판독 입력하여, 동작 차트 중의 동작 기술을 프로그램 요소로 변환함과 함께, 동작 기술과 함께 기재되어 있는 수치 테이블에 따라 프로그램 요소에 수치를 설정한 후, 그들 프로그램 요소를 동작 차트에 따라 결합해 주면, 자동 제조 기계의 동작을 제어하는 제어 프로그램을 자동으로 생성하는 것이 가능해진다. 게다가, 동작 차트에 기본 동작을 기재할 때에, 동작 기술과, 수치 테이블 또는 수치 파라미터로 나누어 기재하고 있으므로, 이하의 이유로부터, 동작 차트 (YOGO 차트) 에 잘못된 내용이 기재되는 사태를 대폭 감소시킬 수 있다. 즉, 동작 기술은, 인간이 액추에이터에 시키고자 하는 동작을 순수하게 표현한 것에 불과하기 때문에, 동작 차트 상에 동작 기술을 기재하는 작업은, 인간의 의도를 순수하게 표현하는 작업에 불과하고, 따라서, 잘못된 내용을 기재할 가능성을 대폭 줄일 수 있다. 물론, 동작 기술을 기재한 것만으로는, 구체적인 수치가 설정되어 있지 않으므로 액추에이터를 동작시킬 수는 없지만, 이들은 수치 테이블 또는 수치 파라미터에 설정된 수치를 사용할 수 있다. 그리고, 구체적인 수치를 수정하는 경우에도, 수치 테이블 또는 수치 파라미터에 설정된 수치를 수정하면 되므로, 동작 차트는 수정할 필요가 없다. 이 때문에, 수정시에 동작 차트를 잘못 변경해 버리는 경우도 없다. 그 결과, 동작 차트 (YOGO 차트) 에 잘못된 내용이 기재되는 사태를 대폭 감소시키는 것이 가능해진다.
또, 상기 서술한 본 발명의 제어 프로그램 생성 장치에 있어서는, 수치 테이블 또는 수치 파라미터에는, 기본 동작의 동작량 또는 동작 속도 또는 동작 하중의 적어도 1 개를 포함하는 복수의 수치를 설정하는 것으로 해도 된다.
기본 동작의 동작량 또는 동작 속도 또는 동작 하중 등은, 액추에이터를 의도한 대로 기본 동작시키기 위해서는 필요한 수치이지만, 동작 기술로는 기술할 수 없다. 그래서, 이들을 수치 테이블 또는 수치 파라미터에 설정해 두면, 액추에이터를 의도한 대로 기본 동작시킬 수 있고, 그 결과, 자동 제조 기계를 적절히 동작시키는 것이 가능해진다.
또, 상기 서술한 본 발명의 제어 프로그램 생성 장치에 있어서는, 수치 테이블에 수치가 설정되어 있지 않은 경우에는, 미리 적절한 수치가 설정된 참조 테이블을 참조하도록 해도 된다.
이렇게 하면, 수치 테이블에 수치를 설정해 두지 않아도, 참조 테이블에 설정된 수치를 사용하여 액추에이터를 동작시킬 수 있다. 그리고, 필요에 따라, 수치 테이블에 적절한 수치를 설정해 가면, 자동 제조 기계를 적절히 동작시키는 것이 가능해진다.
또, 상기 서술한 본 발명의 제어 프로그램 생성 장치에 있어서는, 기본 동작의 동작 개시를 대기하는 동작 대기 시간을, 수치 테이블 또는 수치 파라미터에 설정 가능하게 해도 된다.
이렇게 하면, 수치 테이블 또는 수치 파라미터에 동작 대기 시간을 설정해 둠으로써, 동작 대기 시간이 경과하고 나서 액추에이터에 기본 동작시킬 수 있다. 또, 복수의 액추에이터에 기본 동작시키는 경우에는, 각각의 액추에이터의 수치 테이블 또는 수치 파라미터에 설정하는 동작 대기 시간을 조절함으로써, 각 액추에이터가 기본 동작을 개시하는 타이밍을 조금씩 상이하게 하는 것과 같은, 세세한 동작도 간단하게 기술하는 것이 가능해진다.
또, 전술한 본 발명의 제어 프로그램 생성 방법은, 컴퓨터를 사용하여 제어 프로그램 생성 방법을 실현하기 위한 프로그램으로서 파악하는 것도 가능하다. 즉, 본 발명의 프로그램은,
복수의 액추에이터 (10 ∼ 20) 를 구비한 자동 제조 기계 (1) 의 제어 프로그램을 생성하는 방법을, 컴퓨터를 사용하여 실현하는 프로그램으로서,
상기 자동 제조 기계가 동작을 개시하고 나서 종료될 때까지의 동작 기간이 복수의 부분 기간으로 분할되어 있고, 상기 자동 제조 기계의 동작이, 상기 액추에이터의 자유도마다의 동작을 나타내는 복수의 기본 동작 (206) 으로 분해됨과 함께, 상기 기본 동작이 상기 복수의 부분 기간 중 어느 것에 할당됨으로써 상기 자동 제조 기계의 동작이 기술된 동작 차트 (200) 를 판독 입력하는 동작 차트 판독 입력 기능 (STEP1) 과,
상기 동작 차트를 해석함으로써, 상기 동작 차트에 포함되는 복수의 상기 기본 동작과, 복수의 상기 기본 동작이 할당된 상기 부분 기간을 추출하는 동작 차트 해석 기능 (STEP2) 과,
상기 기본 동작을 실현하기 위한 프로그램 요소를, 상기 동작 차트 중에서 상기 기본 동작이 할당된 상기 부분 기간의 차례에 따라 결합함으로써, 상기 자동 제조 기계를 동작시키는 상기 제어 프로그램을 생성하는 제어 프로그램 생성 기능 (STEP3) 을 상기 컴퓨터에 의해 실현시키고 있고,
상기 동작 차트 판독 입력 기능은, 상기 동작 차트 중의 상기 기본 동작이, 상기 기본 동작의 내용을 정성적으로 기술하기 위한 동작 기술 (206a) 과, 상기 기본 동작의 정량 사항을 수치에 의해 기술하기 위한 수치 테이블 (206b) 또는 상기 복수의 수치 파라미터 (206c) 를 사용하여 기재된 상기 동작 차트를 판독 입력하는 기능이고,
상기 제어 프로그램 생성 기능은, 상기 기본 동작의 상기 동작 기술과, 상기 동작 기술을 실현하기 위한 프로그램 요소가 대응지어져 기억된 대응 관계를 참조함으로써, 상기 동작 기술을 상기 프로그램 요소로 변환함과 함께, 상기 동작 기술과 함께 기재된 상기 수치 테이블 또는 상기 복수의 수치 파라미터에 따라 상기 프로그램 요소에 수치를 설정한 후, 상기 프로그램 요소를 상기 부분 기간의 차례에 따라 결합함으로써 상기 제어 프로그램을 생성하는 기능인 것을 특징으로 한다.
이와 같은 프로그램을 컴퓨터에 판독 입력시켜 실행시키면, 자동 제조 기계의 동작을 제어하는 제어 프로그램을 동작 차트로부터 자동으로 생성할 수 있고, 또한, 동작 차트에 잘못된 내용이 기재되어 버리는 사태도 방지하는 것이 가능해진다.
도 1 은, 본 실시예의 자동 제조 기계 제어 장치 (100) 에 의해 제어되는 자동 제조 기계 (1) 의 외관 형상을 나타낸 설명도이다.
도 2 는, 자동 제조 기계 제어 장치 (100) 가, 자동 제조 기계 (1) 에 탑재된 각종 액추에이터 (10 ∼ 20) 의 동작을 제어하는 모습을 개념적으로 나타낸 블록도이다.
도 3 은, 새로운 자동 제조 기계 (1) 를 개발하기 위한 대략적인 공정을 개념적으로 나타낸 설명도이다.
도 4 는, 본 실시예의 자동 제조 기계 제어 장치 (100) 가 자동 제조 기계 (1) 를 동작 차트 (YOGO 차트) 로부터 자동 제조 기계 (1) 의 제어 프로그램을 자동으로 생성하는 기본 원리에 대한 설명도이다.
도 5 는, 본 실시예의 자동 제조 기계 제어 장치 (100) 가 판독 입력하는 자동 제조 기계 (1) 의 동작 차트 (YOGO 차트) 의 일부를 예시한 설명도이다.
도 6 은, 기본 동작의 동작 기술 (206a) 에 대한 설명도이다.
도 7 은,「Ω-AA」라는 동작 기술 (206a) 과 조합하여 사용되는 수치 테이블 (206b) 을 예시한 설명도이다.
도 8 은,「Ω-AB」라는 동작 기술 (206a) 과 조합하여 사용되는 수치 테이블 (206b) 을 예시한 설명도이다.
도 9 는,「Ω-AC」라는 동작 기술 (206a) 에 대한 수치 테이블 (206b) 을 예시한 설명도이다.
도 10 은,「Ω-AA」라는 동작 기술 (206a) 에 대한 수치 테이블 (206b) 의 참조 테이블을 예시한 설명도이다.
도 11 은,「Ω-AB」라는 동작 기술 (206a) 에 대한 수치 테이블 (206b) 의 참조 테이블을 예시한 설명도이다.
도 12 는,「Ω-AC」라는 동작 기술 (206a) 에 대한 수치 테이블 (206b) 의 참조 테이블을 예시한 설명도이다.
도 13 은, 본 실시예의 자동 제조 기계 제어 장치 (100) 가 구비하는 기능을 나타낸 설명도이다.
도 14 는, 본 실시예의 기본 동작 기억부 (102) 에 기억된 대응 관계에 의해, 액추에이터와 동작 기술 (206a) 과 프로그램 요소 번호가 대응지어져 있는 모습을 나타낸 설명도이다.
도 15 는, 본 실시예의 자동 제조 기계 제어 장치 (100) 가 동작 차트 (YOGO 차트) 로부터 제어 프로그램을 생성하는 제어 프로그램 생성 처리의 플로 차트이다.
도 16 은, 제어 프로그램 생성 처리 중에서 실행되는 YOGO 차트 해석 처리의 플로 차트이다.
도 17 은, YOGO 차트 해석 처리에 의해 생성되는 중간 데이터를 예시한 설명도이다.
도 18 은, 중간 데이터를 변환함으로써 생성된 제어 프로그램을 예시한 설명도이다.
도 19 는, 본 실시예의 자동 제조 기계 제어 장치 (100) 가 제어 프로그램 데이터에 기초하여 각 액추에이터의 동작을 제어하는 동작 제어 처리의 플로 차트이다.
도 20 은, 자동 제조 기계 제어 장치 (100) 가 YOGO 차트 처리 장치 (100a) 와 제어 실행 장치 (100b) 에 의해 형성된 변형예에 대한 설명도이다.
도 21 은, 동작 대기 시간을 설정 가능한 수치 테이블 (206b) 을 예시한 설명도이다.
도 22 는, 수치 테이블 (206b) 대신에 복수의 수치 파라미터 (206c) 를 사용하여 기본 동작 (206) 을 기재하는 모습을 예시한 설명도이다.
도 23 은, 수치 테이블 (206b) 또는 수치 파라미터 (206c) 에 다음 동작 허가 위치를 설정한 모습을 예시한 설명도이다.
A. 장치 구성 :
도 1 은, 본 실시예의 자동 제조 기계 (1) 의 대략적인 외관 형상을 나타낸 설명도이다. 본 실시예의 자동 제조 기계 (1) 는, 장척의 파이프재에 대해 자동으로 굽힘 가공을 실시함으로써, 원하는 형상으로 가공하는 공작 기계 (이른바 파이프 벤더) 이다. 물론, 본 실시예의 자동 제조 기계 (1) 는, 복수의 액추에이터를 탑재하여, 대상물에 대해 파지, 반송, 가공, 가열 등의 복수의 동작을 자동으로 실행할 수 있으면, 파이프 벤더 이외의 제조 기계여도 된다. 예를 들어, 식료품을 자동으로 제조하기 위한 제조 기계여도 된다. 혹은, 복수의 관절을 갖는 아암 로봇과 반송 장치를 조합한 제조 시스템이어도 된다.
도 1 에 나타낸 바와 같이, 본 실시예의 자동 제조 기계 (1) 는, 대략적으로는 가로로 긴 직방체 형상으로 되고 있고, 직방체의 상면측에는 길이 방향으로 2 개의 레일 (2) 이 가설되고, 레일 (2) 상의 일단측 (도 1 에서는 좌측) 에는, 가공 대상의 도시되지 않은 파이프재를 파지하여 반송하는 반송 유닛 (3) 이 탑재되어 있다. 또, 반송 유닛 (3) 이 탑재되어 있는 측에 대해 반대측에는, 도시되지 않은 파이프재에 굽힘 등의 가공을 실시하는 가공 유닛 (4) 이 탑재되어 있다. 반송 유닛 (3) 에는, 원기둥 형상의 파지축 (3a) 이 돌출 형성되어 있고, 파지축 (3a) 의 선단에는, 도시되지 않은 파이프재를 파지하는 척 (3b) 이 장착되어 있다. 이 때문에, 척 (3b) 으로 파이프재를 파지한 상태에서 반송 유닛 (3) 을 레일 (2) 상에서 이동시킴으로써, 파이프재를 가공 유닛 (4) 에 공급하고, 그 파이프재에 대해 가공 유닛 (4) 으로 굽힘 가공 등을 실시하는 것이 가능하게 되어 있다.
본 실시예의 자동 제조 기계 (1) 는, 반송 유닛 (3) 의 이동량에 의해 파이프재의 이송량을 제어할 수 있으므로, 파이프재에 굽힘 가공 등을 실시하는 위치를 자유롭게 제어할 수 있다. 또, 척 (3b) 이 장착된 파지축 (3a) 을 축 둘레로 선회 (이른바 비틀림 동작) 시킴으로써, 원하는 방향으로 파이프재를 구부리는 것도 가능하게 되어 있다. 이러한 것을 실현하기 위해, 반송 유닛 (3) 의 내부에는, 척 (3b) 을 개폐시키기 위한 액추에이터 (10) 나, 파지축 (3a) 을 축 둘레로 선회시키기 위한 액추에이터 (11) 나, 파지축 (3a) 을 축 방향으로 진퇴동시키기 위한 액추에이터 (12) 나, 레일 (2) 상에서 반송 유닛 (3) 을 진퇴동시키기 위한 액추에이터 (13) 등이 탑재되어 있다. 본 실시예의 자동 제조 기계 (1) 에서는, 이들 액추에이터 (10 ∼ 13) 는 모두 교류 전원으로 동작하는 서보 모터가 사용되고 있지만, 액추에이터에 요구되는 성능에 따라, 다른 구동 방식의 액추에이터 (예를 들어, 유압 실린더나 솔레노이드나 스테핑 모터 등) 를 채용할 수 있다. 또한, 반송 유닛 (3) 에는, 파지축 (3a) 의 회전 위치나, 반송 유닛 (3) 의 이동 위치를 검출하기 위한 인코더나, 리미트 스위치 등의 센서류도 탑재되어 있지만, 도면이 번잡해지는 것을 회피할 목적에서, 도 1 에서는 도시가 생략되어 있다.
가공 유닛 (4) 의 내부에는, 파이프재를 구부리기 위한 액추에이터 (17) 나, 파이프재를 구부릴 때에, 파이프재에 힘을 가하는 위치를 이동시키기 위한 액추에이터 (18) 나, 가공 유닛 (4) 전체를 상하 방향으로 이동시키기 위한 액추에이터 (19) 나, 파이프재에 대해 플랜지라고 불리는 평단면 (平端面) 을 형성하거나, 벌지라고 불리는 환상의 볼록부를 형성하거나 하기 위한 액추에이터 (20) 등이 탑재되어 있다. 또한, 가공 유닛 (4) 에도, 인코더나, 접점 스위치 등의 스위치·센서류가 탑재되어 있지만, 도면이 번잡해지는 것을 피하기 위해, 이들에 대해서는 도시가 생략되어 있다.
또, 가공 유닛 (4) 의 내부에는, 상기 서술한 각종 액추에이터 (10 ∼ 13, 17 ∼ 20) 를 구동시키기 위한 복수의 드라이버 회로 (도시는 생략) 가 탑재되어 있다. 여기서, 드라이버 회로란, 다음과 같은 기능을 갖는 전기 부품이다. 액추에이터 (10 ∼ 13, 17 ∼ 20) 에 원하는 동작을 시키기 위해서는, 액추에이터 (10 ∼ 13, 17 ∼ 20) 에 적절한 파형의 구동 전류를 공급할 필요가 있다. 그러나, 액추에이터 (10 ∼ 13, 17 ∼ 20) 에 공급해야 하는 구동 전류는, 액추에이터 (10 ∼ 13, 17 ∼ 20) 의 구동 방식에 따라 상이하고, 또한 동일한 방식의 액추에이터여도, 구동 전류의 전류값은 액추에이터에 따라 상이하다. 그래서, 액추에이터 (10 ∼ 13, 17 ∼ 20) 에는 드라이버 회로라고 불리는 전용의 전기 부품이 준비되어 있고, 자동 제조 기계 제어 장치 (100) 가 드라이버 회로에 대해 구동량을 지정하면, 드라이버 회로가 액추에이터 (10 ∼ 13, 17 ∼ 20) 에 대해 적절한 구동 전류를 출력하고, 그 결과, 액추에이터 (10 ∼ 13, 17 ∼ 20) 가 구동되도록 되어 있다.
또한, 도 1 에 나타내는 바와 같이, 2 개의 레일 (2) 의 하방의 공간에도 각종 기계 부품이 탑재되어 있지만, 이 공간은, 가공 유닛 (4) 내에 탑재된 복수의 드라이버 회로 (도시는 생략) 로부터, 반송 유닛 (3) 내의 각종 액추에이터 (10 ∼ 13) 를 향하여 구동 전류를 공급하는 전기 케이블 (도시는 생략) 이나, 반송 유닛 (3) 에 탑재된 각종 스위치·센서류로부터의 신호를, 가공 유닛 (4) 에 전달하기 위한 신호 케이블 (도시는 생략) 등이 배선되는 공간으로 되어 있다. 레일 (2) 상에서 반송 유닛 (3) 이 진퇴동하는 움직임에 수반하여, 이들 전기 케이블이나 신호 케이블이 공간 내에서 이동하면, 서로 얽히거나, 무언가에 걸리거나 할 우려가 생긴다. 그래서, 이러한 사태가 발생하는 것을 피하기 위해, 레일 (2) 의 하방의 공간에는, 전기 케이블이나 신호 케이블에 불필요한 여유가 있는 경우에는 케이블을 끌어당김으로써 불필요한 여유를 해소하고, 전기 케이블이나 신호 케이블이 강한 힘으로 끌려가는 경우에는, 끌어당긴 케이블을 송출함으로써, 케이블에 적당한 여유를 갖게 하기 위한 액추에이터 (14 ∼ 16) 도 탑재되어 있다. 본 실시예의 자동 제조 기계 (1) 에서는, 액추에이터 (14 ∼ 16) 로서 에어 실린더가 채용되어 있고, 이들 에어 실린더의 동작도, 도시되지 않은 드라이버 회로를 통하여 자동 제조 기계 제어 장치 (100) 에 의해 제어되고 있다.
이상으로 설명한 바와 같이, 자동 제조 기계 (1) 에는 다수의 액추에이터 (10 ∼ 20) 가 탑재되어 있다. 그리고, 가공하고자 하는 대상물 (여기서는 파이프재) 을 목적으로 하는 형상으로 자동으로 가공하기 위해서는, 이들 액추에이터 (10 ∼ 20) 를 적절한 타이밍에, 적절히 동작시킬 필요가 있다. 이들 액추에이터 (10 ∼ 20) 를 구동시키는 것은, 각각의 액추에이터 (10 ∼ 20) 의 드라이버 회로이지만, 드라이버 회로가 각각의 액추에이터 (10 ∼ 20) 를 구동시키는 동작은, 후술하는 자동 제조 기계 제어 장치 (100) 가, 미리 판독 입력해 둔 제어 프로그램에 따라 제어하고 있다.
도 2 는, 본 실시예의 자동 제조 기계 제어 장치 (100) 가, 자동 제조 기계 (1) 에 탑재된 액추에이터 (10 ∼ 20) 의 동작을 제어하는 모습을 개념적으로 나타낸 블록도이다. 또한, 도 2 에 있어서도, 제어에 필요한 스위치·센서류에 대해서는 도시가 생략되어 있다. 도시되는 바와 같이, 자동 제조 기계 제어 장치 (100) 와 액추에이터 (10) 사이에는, 액추에이터 (10) 의 구동용의 드라이버 회로 (10d) 가 형성되어 있고, 자동 제조 기계 제어 장치 (100) 는, 직접적으로는 드라이버 회로 (10d) 를 제어하고 있다. 액추에이터 (11 ∼ 20) 에 대해서도 마찬가지로, 자동 제조 기계 제어 장치 (100) 와 액추에이터 (11 ∼ 20) 사이에는, 액추에이터 (11 ∼ 20) 를 구동시키기 위한 드라이버 회로 (11d ∼ 20d) 가 형성되어 있고, 자동 제조 기계 제어 장치 (100) 는, 드라이버 회로 (11d ∼ 20d) 를 통하여, 간접적으로 액추에이터 (10 ∼ 20) 를 제어하고 있다.
또, 도 1 을 사용하여 전술한 바와 같이, 본 실시예의 자동 제조 기계 (1) 에서는, 액추에이터 (10 ∼ 13, 17 ∼ 20) 에 서보 모터가 채용되어 있고, 액추에이터 (14 ∼ 16) 에는 에어 실린더가 채용되어 있다. 여기서, 서보 모터란, 서보 제어된 모터를 말하고, 대표적으로는, 위치 (혹은 각도나 속도 등) 가 목표값이 되도록 모터에 흐르는 전류값을 피드백 제어하는 모터이다. 또, 에어 실린더란, 공기압을 이용하여 가동부를 직선 이동시키는 액추에이터이고, 압축 공기의 공급원에 접속된 포트를 개폐함으로써 동작하도록 되어 있다. 또, 포트의 개폐에는 시퀀스 제어가 사용되고 있다.
이와 같이 본 실시예의 자동 제조 기계 제어 장치 (100) 에는, 서보 제어되는 액추에이터 (10 ∼ 13, 17 ∼ 20) 와, 시퀀스 제어되는 액추에이터 (14 ∼ 16) 가 접속되어 있다. 도면 중에서, 자동 제조 기계 제어 장치 (100) 와 액추에이터 (10 ∼ 13, 17 ∼ 20) 가 실선으로 접속되어 있는 것은, 이들 액추에이터 (10 ∼ 13, 17 ∼ 20) 가 서보 제어되고 있는 것을 나타내고 있다. 또, 자동 제조 기계 제어 장치 (100) 와 액추에이터 (14 ∼ 16) 가 파선으로 접속되어 있는 것은, 이들 액추에이터 (14 ∼ 16) 가 시퀀스 제어되는 것을 나타내고 있다. 물론, 서보 제어나 시퀀스 제어 이외의 방식으로 제어되는 액추에이터를, 자동 제조 기계 제어 장치 (100) 에 접속시키는 것도 가능하다.
자동 제조 기계 제어 장치 (100) 는 제어 프로그램에 따라, 드라이버 회로 (10d ∼ 20d) 를 통하여 액추에이터 (10 ∼ 20) 를 제어하고 있고, 그 제어 프로그램은, 미리 작성하여 자동 제조 기계 제어 장치 (100) 에 판독 입력시켜 둘 필요가 있다. 여기서, 도 2 에 나타낸 바와 같이 다수의 액추에이터 (10 ∼ 20) 를, 적절한 타이밍에 적절히 동작시키기 위한 제어 프로그램을 작성하는 것은 용이한 것은 아니다. 특히, 서보 제어나 시퀀스 제어와 같이, 상이한 제어 방식의 액추에이터가 혼재되어 있는 경우에는, 제어 프로그램의 작성에 긴 기간이 필요해진다. 이 때문에, 새로운 자동 제조 기계 (1) 의 개발 기간 중에서, 절반 이상의 기간이 제어 프로그램의 작성에 소비되어 버리는 것이 현 상황으로 되어 있다.
B. 제어 프로그램의 작성 방법 :
B-1. 개요 :
도 3 은, 새로운 자동 제조 기계 (1) 를 개발하기 위한 대략적인 공정을 개념적으로 나타낸 설명도이다. 도 3(a) 에는, 종래부터 실시되어 온 개발 공정이 나타나 있다. 또, 도 3(b) 에는, 본원의 발명자가 개발하여 이미 출원이 완료된 새로운 개발 공정이 나타나 있다.
종래의 개발 공정에서는, 도 3(a) 에 나타내는 바와 같이, 우선 먼저 기계 설계 기술자가, 자동 제조 기계 (1) 에 요구되는 각종 기능을 파악한 후에, 그들 기능을 실현하기 위한 기구가 조립된 자동 제조 기계 (1) 의 도면을 작성한다. 도면을 작성할 때에 기계 설계 기술자는, 어떠한 가동 부분이 필요한지, 그들 가동 부분이 어떠한 동작을 해야 하는지, 그 동작을 시키기 위해서는, 어느 정도의 토크나 가동량이나 정밀도를 갖는 액추에이터가, 어디에, 얼마나 필요한지와 같은 내용을, 하나 하나 검토하여 결정해 가게 된다. 그리고, 실제로 탑재할 액추에이터를 결정하고, 액추에이터의 탑재성이나 정비성 등도 고려한 후에, 최종적으로 도면을 완성시킨다.
이렇게 하여 자동 제조 기계 (1) 의 기계 설계가 완료되면, 이번에는, 그 자동 제조 기계 (1) 를 제어하기 위한 제어 프로그램의 작성에 착수한다. 제어 프로그램의 작성에는, 소프트웨어에 관한 전문 기술이 필요해지기 때문에, 그 전문 기술을 갖는 기술자 (즉 프로그래머) 가 작성해야 한다. 그래서, 기계 기술자는 기계 설계가 종료되면, 자신이 생각한 자동 제조 기계 (1) 의 동작을 표현하는 플로 차트를 작성한 후에, 프로그래머와 협의를 하여 자동 제조 기계 (1) 의 동작을 설명한다. 여기까지가 기계 설계 기술자에 의한 작업이 된다.
한편, 기계 설계 기술자와 협의한 프로그래머는, 기계 설계 기술자가 작성한 플로 차트나, 필요에 따라 도면이나, 그 밖의 자료를 숙독함으로써 자동 제조 기계 (1) 의 동작을 이해한 후에, 자동 제조 기계 (1) 에 탑재된 각종 액추에이터의 동작을 제어하기 위한 제어 프로그램의 작성을 개시한다. 프로그래머는, 인간이 판독 가능한 고급 프로그램 언어를 사용하여 제어 프로그램을 작성하는 것이 보통이지만, 컴퓨터는 고급 프로그램 언어인 채로는 제어 프로그램을 실행할 수 없다. 그래서, 프로그래머는, 제어 프로그램이 완성되면, 고급 프로그램 언어로 기술된 제어 프로그램을, 컴퓨터가 실행 가능한 기계어의 제어 프로그램으로 변환함으로써, 최종적으로 제어 프로그램을 완성시킨다. 또한, 고급 프로그램 언어의 제어 프로그램을, 컴퓨터가 실행 가능한 프로그램으로 변환하는 작업은, 컴파일이라고 불리고 있으며, 이 작업은, 컴파일러라고 불리는 전용 프로그램을 사용함으로써 단시간에 종료된다.
도 3(a) 에 예시되는 바와 같이, 종래부터 실시되어 온 개발 공정에서는, 기계 설계에 요하는 기간의 1.5 배 ∼ 2.5 배 정도의 기간이, 제어 프로그램의 작성에 소비되는 것이 통상이다. 게다가, 기계 설계와 제어 프로그램의 작성은, 대부분의 공정이 오버랩시켜 진행시키는 것이 곤란하기 때문에, 자동 제조 기계 (1) 의 개발 기간이 길어져 버린다. 게다가, 기계 설계 기술자 및 프로그래머라는 상이한 기술을 갖는 전문가를 확보할 필요가 있으며, 이것도 새로운 자동 제조 기계 (1) 를 개발할 때의 큰 장해가 되고 있다.
한편, 도 3(b) 에는, 본원의 발명자가 제안하는 새로운 방법을 사용하여, 자동 제조 기계 (1) 를 개발하는 공정이 나타나 있다. 새로운 방법을 사용한 경우에도, 기계 설계 자체는, 종래의 방법과 동일하다. 즉, 기계 설계 기술자가, 자동 제조 기계 (1) 에 요구되는 각종 기능을 파악한 후에, 그들 기능을 실현하기 위한 기구가 조립된 자동 제조 기계 (1) 의 도면을 작성한다. 그 때에는, 기능의 실현에 필요한 가동 부분이나, 가동 부분의 동작 내용이나, 가동 부분을 움직이기 위한 액추에이터의 성능 등을 검토하여 액추에이터를 결정한 후에, 액추에이터의 탑재성이나 정비성 등도 고려하여 최종적으로 도면을 완성시킨다.
도면이 완성되면, 새로운 개발 공정에서는, 기계 설계 기술자는, 플로 차트 대신에 동작 차트를 작성한다 (도 3(b) 참조). 이 동작 차트에 대해서는, 나중에 상세하게 설명하지만, 기계 설계 기술자가 기계 설계할 때에 생각한 각 액추에이터의 동작을, 차트의 형식으로 기술한 것이다. 이 동작 차트는, 본원의 발명자가 독자적으로 발안한 것으로, 세상에는 존재하지 않는 차트이기 때문에,「YOGO 차트」라고 명명하기로 하였다. 그래서 이하에서는, 이 새로운 동작 차트를, YOGO 차트로 표기한다. 따라서, 본 실시예의 YOGO 차트는, 본 발명에 있어서의「동작 차트」에 대응한다.
후술하는 바와 같이 YOGO 차트는, 기계 설계할 때에, 기계 설계 기술자가 생각한 각 액추에이터의 동작을, 생각한 대로 써서 나타낸 것에 불과하다. 이 때문에, 기계 설계한 기계 설계 기술자이면, 플로 차트를 작성하는 절반 정도의 기간에 작성할 수 있다 (도 3(b) 참조). 게다가, YOGO 차트는, 전용의 프로그램으로 판독 입력함으로써, 컴퓨터의 CPU 가 실행 가능한 제어 프로그램으로 변환할 수 있다. YOGO 차트를 제어 프로그램으로 변환 가능한 이유에 대해서도 후술한다. 이와 같이, 자동 제조 기계 (1) 의 동작을 YOGO 차트에 기술하도록 하면, YOGO 차트로부터 기계어의 제어 프로그램을 생성할 수 있으므로, 도 3 에 나타낸 바와 같이, 종래의 방법에 비해, 새로운 자동 제조 기계 (1) 의 개발 기간을, 적어도 절반 이하 (대표적으로는 1/3 정도) 로 단축시킬 수 있다. 게다가, YOGO 차트는 기계 설계 기술자가 간단하게 작성할 수 있어, 프로그래머를 확보해 둘 필요도 없다. 이 때문에, 새로운 자동 제조 기계 (1) 를 개발할 때에 큰 장해가 되었던 여러 가지 사항을, 거의 완전히 해소하는 것이 가능해진다. 게다가, 자동 제조 기계 (1) 의 동작을 변경하는 경우나, 자동 제조 기계 (1) 에 새로운 액추에이터를 추가하는 경우에도, YOGO 차트를 다시 써서 전용의 프로그램으로 판독 입력함으로써, 즉시 제어 프로그램을 생성하는 것이 가능해진다. 이하에서는, 이러한 것이 가능해지는 이유에 대해 설명한다.
B-2. YOGO 차트로부터 제어 프로그램을 자동으로 생성하는 원리 :
도 4 는, 동작 차트 (YOGO 차트) 로부터 자동 제조 기계 (1) 의 제어 프로그램을 자동으로 생성하는 원리에 대한 설명도이다. 도 4(a) 에는, 각종 개량을 실시하기 전의 원시적인 YOGO 차트가 나타나 있다. 후술하는 본 실시예의 YOGO 차트는, 도 4(a) 에 나타낸 원시적인 YOGO 차트를 발전시켜 개량한 것으로 되어 있지만, 제어 프로그램을 자동으로 생성하는 원리는 원시적인 YOGO 차트와 동일하다. 그래서, 이해를 용이하게 하기 위해, 도 4(a) 에 나타낸 원시적인 YOGO 차트를 사용하여, YOGO 차트로부터 제어 프로그램을 자동으로 생성하는 원리에 대해 설명한다. 또, 설명이 복잡화되는 것을 피하기 위해, 자동 제조 기계 (1) 에 탑재되어 있는 액추에이터는, 2 개의 모터 A, B, 및 2 개의 실린더 A, B 뿐인 것으로 한다.
도 4(a) 에 나타낸 바와 같이, YOGO 차트에서는, 이들 액추에이터 (여기서는, 모터 A, B, 및 실린더 A, B) 의 기본적인 동작을 조합함으로써, 자동 제조 기계 (1) 의 동작을 표현한다. 여기서, 액추에이터의 기본적인 동작이란, 액추에이터가 갖는 자유도 방향으로의 동작 (이하, 기본 동작) 을 말한다. 예를 들어, 모터와 같은 회전하는 액추에이터이면, 회전 동작이 기본 동작이 되고, 실린더와 같은 진퇴동하는 액추에이터이면, 진퇴동하는 동작이 기본 동작이 된다. 또, 모터에 의해 볼 나사를 회전시킴으로써, 볼 나사에 맞물리는 부재를 진퇴동시키는 액추에이터인 경우에는, 모터의 회전 동작, 혹은 부재가 진퇴동하는 동작 중 어느 것이 기본 동작이 된다. 이와 같이, 액추에이터의 기본 동작은, 액추에이터가 지정된 동작량만큼 액추에이터의 자유도 방향으로 동작한다는 단순한 동작으로 되어 있다.
또, YOGO 차트에서는, 자동 제조 기계 (1) 가 동작을 개시하고 나서 종료될 때까지의 동작 기간이 복수의 부분 기간으로 분할되어 있고, 개개의 액추에이터의 기본 동작은, 이들 복수의 부분 기간 중 어느 부분 기간에 할당되어 있다. 도 4(a) 에 나타낸 예에서는, 자동 제조 기계 (1) 의 동작 기간이 5 개의 부분 기간 1 ∼ 5 로 분할되어 있고, 부분 기간 1 에는, 실린더 A 가 동작량 (a) 로 진퇴동하는 동작이 할당되어 있다. 또, 부분 기간 2 에는, 모터 A 가 동작량 (b) 로 회전하는 동작이 할당되어 있다. 부분 기간에는 복수의 동작을 할당할 수도 있다. 즉, 부분 기간 3 에는, 모터 B 가 동작량 (c) 로 회전하는 동작과, 실린더 B 가 동작량 (d) 로 진퇴동하는 동작의 2 개의 동작이 할당되어 있고, 부분 기간 4 에는, 모터 A 가 동작량 (-b) 로 회전하는 동작과, 모터 B 가 동작량 (-c) 로 회전하는 동작과, 실린더 B 가 동작량 (-d) 로 진퇴동하는 동작의 3 개의 동작이 할당되어 있다. 그리고, 마지막 부분 기간 5 에는, 실린더 A 가 동작량 (-a) 로 진퇴동하는 동작이 할당되어 있다.
이와 같이, 부분 기간에 액추에이터의 기본 동작을 할당함으로써, 자동 제조 기계 (1) 가 실행하는 다음과 같은 동작을 기술할 수 있다. 먼저, 실린더 A 를 동작량 (a) 만큼 진퇴동시키고, 실린더 A 의 동작이 종료되면, 모터 A 를 동작량 (b) 만큼 회전시킨다. 그리고, 모터 A 의 동작이 종료되면, 모터 B 를 동작량 (c) 만큼 회전시킴과 함께, 실린더 B 를 동작량 (d) 만큼 진퇴동시킨다. 모터 B 및 실린더 B 의 동작이 종료되면, 모터 A 및 모터 B 를 각각 동작량 (-a) 및 동작량 (-c) 만큼 회전시킴과 함께, 실린더 B 를 동작량 (-d) 만큼 진퇴동시킨다. 그리고, 모터 A, 모터 B, 및 실린더 B 의 모든 동작이 종료되면, 마지막으로 실린더 A 를 동작량 (-a) 만큼 진퇴동시키고, 모든 동작을 종료한다. 이와 같이, 자동 제조 기계 (1) 에 탑재되어 있는 액추에이터의 기본 동작을 어느 부분 기간에 할당해 주면, 자동 제조 기계 (1) 의 동작을 기술하는 것이 가능해진다.
또한, 이상의 설명으로부터 분명한 바와 같이, 부분 기간은, 할당된 액추에이터가 동작하는 기간을 나타내고 있고, 시간의 길이를 나타내고 있는 것은 아니다. 예를 들어, 부분 기간 1 의 시간의 길이는 실린더 A 가 동작에 요하는 시간이 되고, 부분 기간 2 의 시간의 길이는 모터 A 가 동작에 요하는 시간이 되고, 부분 기간 3 의 시간의 길이는, 모터 B 가 동작에 요하는 시간, 및 실린더 B 가 동작에 요하는 시간의 긴 쪽의 시간이 된다. 따라서, 각각의 부분 기간의 시간의 길이는, 서로 상이한 것이 통상이다.
또, 부분 기간에 할당되는 액추에이터의 기본 동작은, 예를 들어 모터를 일정량만큼 회전시키거나, 혹은 실린더를 일정량만큼 진퇴동시키거나 하는 단순한 동작이다. 따라서, 액추에이터에 기본 동작시키기 위한 작은 프로그램 (이하, 프로그램 요소라고 부른다) 을 미리 작성해 둘 수 있다. 여기서는 자동 제조 기계 (1) 에 탑재되어 있는 액추에이터는, 실린더 A, B, 및 모터 A, B 의 4 개인 것으로 하고 있기 때문에, 도 4(b) 에 나타내는 바와 같이, 모터 A 를 동작시키기 위한 프로그램 요소 prog1 과, 모터 B 를 동작시키기 위한 프로그램 요소 prog2 와, 실린더 A 를 동작시키기 위한 프로그램 요소 prog3 과, 실린더 B 를 동작시키기 위한 프로그램 요소 prog4 를 미리 작성해 둘 수 있다.
그래서, 이들 프로그램 요소를, 도 4(a) 에 나타낸 원시적인 YOGO 차트에 기술된 대로 연결해 주면, 자동 제조 기계 (1) 를 동작시키기 위한 제어 프로그램을 자동으로 생성하는 것이 가능해진다. 즉, 도 4(c) 에 나타낸 바와 같이, 먼저 프로그램 요소 prog3 을 기동시키고, 프로그램 요소 prog3 이 종료되면 프로그램 요소 prog1 을 기동시키고, 프로그램 요소 prog1 이 종료되면 프로그램 요소 prog2 및 프로그램 요소 prog4 를 기동시킨다. 프로그램 요소 prog3, 프로그램 요소 prog1, 프로그램 요소 prog2, 프로그램 요소 prog4 의 동작량은, YOGO 차트 상에서의 지정에 따라, 각각 (a), (b), (c), (d) 를 사용한다. 또한, 프로그램 요소 prog2 및 프로그램 요소 prog4 가 모두 종료되면, 이번에는, 프로그램 요소 prog1 과, 프로그램 요소 prog2 와, 프로그램 요소 prog4 를 기동시킨다. 이 때의 동작량은, YOGO 차트 상에서의 지정에 따라, 각각 (-b), (-c), (-d) 를 사용한다. 이들 프로그램 요소 prog1, prog2, prog4 가 모두 종료되면, 마지막으로 프로그램 요소 prog3 을 기동시킨다. 이 때의 동작량은, YOGO 차트 상에서의 지정에 따라 (-a) 를 사용한다. 그리고, 프로그램 요소 prog3 이 종료되면, 도 4(a) 의 YOGO 차트에 기술한 자동 제조 기계 (1) 의 동작이 종료된 것이 된다.
이상으로 설명한 바와 같이, 자동 제조 기계 (1) 의 동작을, 도 4(a) 에 나타낸 YOGO 차트의 양태로 기술해 두면, 도 4(c) 에 나타낸 제어 프로그램을 생성하여, 자동 제조 기계 (1) 를 동작시킬 수 있다. 다만, 자동 제조 기계 (1) 가 의도한 대로 동작하기 위해서는, YOGO 차트가 올바르게 작성되어 있을 필요가 있다. 이하에 설명하는 본 실시예의 YOGO 차트는, 이러한 관점에서, 도 4(a) 에 예시한 원시적인 YOGO 차트에 대해 여러 가지 개량을 가한 결과로서 얻어진 것이다.
B-3. YOGO 차트 :
도 5 는, 본 실시예의 YOGO 차트 (200) 의 개요를 설명하기 위한 설명도이다. 또한, YOGO 차트 (200) 전체를 표시하기 위해 축척하면, 표시가 깨져 판독 불능이 되어 버리므로, 도 5 에서는 YOGO 차트 (200) 의 일부분 (좌측 상단 구석의 부분) 이 표시되어 있다. 도 5 에 나타내는 바와 같이, YOGO 차트 (200) 는, 복수개의 가로선과 복수개의 세로선이 교차한 큰 표와 같은 형상으로 되어 있다. 이하에서는, 교차하는 복수개의 선 중, 가로선에 대해서는「구획선」(201) 이라고 칭하고, 세로선에 대해서는「트리거선」(202) 이라고 칭하기로 한다.
트리거선 (202) 에는, 1 번부터 시작되는 일련 번호가 부여되어 있다. 도 5 에 나타낸 예에서는, YOGO 차트 (200) 의 상단의 란 내에, 그 아래의 트리거선 (202) 의 일련 번호가 기재되어 있다. 또, 서로 인접하는 트리거선 (202) 사이의 영역은, 도 4 를 사용하여 전술한 부분 기간으로 되어 있고, 부분 기간에도 1 번부터 시작되는 일련 번호 (이하, 부분 기간 번호라고 칭한다) 가 부여되어 있다. 또한, 도 5 에 예시한 YOGO 차트 (200) 에서는, 트리거선 (202) 이 세로 방향으로 그어져 있고, 따라서, 트리거선 (202) 과 트리거선 (202) 사이에 놓인 부분 기간은 가로 방향으로 나열되어 있다. 그러나, 트리거선 (202) 은 가로 방향으로 그어도 되고, 이 경우에는, 복수의 부분 기간이 세로 방향으로 나열되게 된다.
또, 본 실시예의 YOGO 차트 (200) 는, 복수의 구획선 (201) 에 의해 복수의 가로로 긴 영역으로 분할되어 있고, 이들 가로로 긴 영역에는 1 번부터 시작되는 일련 번호 (이하, 액추에이터 번호라고 칭한다) 가 부여되어 있다. 자동 제조 기계 (1) 에 탑재된 액추에이터는, 어느 영역에 할당되어 있다. 도 5 에 나타낸 예에서는, 액추에이터 번호가 1 번인 영역에는, 액추에이터 (10) (도 1 참조) 가 할당되어 있고, 액추에이터 번호가 2 번인 영역에는 액추에이터 (11) (도 1 참조) 가 할당되고, 액추에이터 번호가 3 번인 영역에는 액추에이터 (12) (도 1 참조) 가, 액추에이터 번호가 4 번인 영역에는 액추에이터 (13) (도 1 참조) 가 할당되어 있다. 본 실시예의 자동 제조 기계 (1) 에는 액추에이터 (10 ∼ 20) 의 11 개의 액추에이터가 탑재되어 있기 때문에, 이들 모든 액추에이터에 대해, 이와 같이 가로로 긴 영역이 1 개씩 할당되게 된다.
그리고, 액추에이터 (10 ∼ 20) 의 기본 동작은, 그 액추에이터 (10 ∼ 20) 가 할당된 가로로 긴 영역 상의 적절한 위치에 기재되도록 되어 있다. 예를 들어, 액추에이터 (10) 를 부분 기간 4 에서 기본 동작시킨다면, YOGO 차트 (200) 상에서, 액추에이터 번호가 1 번인 가로로 긴 영역 상에서, 부분 기간 번호가 4 번으로 특정되는 바둑판 눈금상의 좌표 위치에, 액추에이터 (10) 에 시키고자 하는 기본 동작 (206) 을 기재한다. 또, 부분 기간 4 와 부분 기간 8 에서 액추에이터 (10) 에 기본 동작시킨다면, 액추에이터 번호가 1 번인 가로로 긴 영역 상에서, 부분 기간 번호가 4 번인 바둑판 눈금상의 좌표 위치와, 동일한 가로로 긴 영역 상에서 부분 기간 번호가 8 번인 좌표 위치에, 액추에이터 (10) 에 시키고자 하는 기본 동작 (206) 을 기재하게 된다. 이와 같이, 액추에이터 (10) 의 기본 동작 (206) 은, YOGO 차트 (200) 상에서 액추에이터 번호가 1 번인 가로로 긴 영역 상에 기재되고, 액추에이터 (11) 의 기본 동작 (206) 은, 액추에이터 번호가 2 번인 가로로 긴 영역 상에 기재되는 것과 같이, 액추에이터 (10 ∼ 20) 의 기본 동작 (206) 은, YOGO 차트 (200) 상에서 그 액추에이터 (10 ∼ 20) 가 할당된 영역 상에 기재되도록 되어 있다. 본 실시예의 YOGO 차트 (200) 가, 이와 같이 하여 기본 동작을 기재하고 있는 것은, 다음과 같은 이유에 의한다.
먼저, 도 4(a) 에 예시한 원시적인 YOGO 차트에 대해 설명하면, 원시적인 YOGO 차트에서는, 복수의 액추에이터의 동작이 혼재되어 기술되어 있고, 예를 들어, 부분 기간 1 에서 동작한 실린더 A 가, 다음에 어느 동작 기간에서 동작하는지를 바로 인식하는 것이 어렵다. 이 때문에, 각각의 액추에이터가 동작하는 모습을 이미지하는 것이 어렵고, 나아가서는, 각 액추에이터의 동작 횟수를 판독하는 것도 어렵다. 그 결과, 예를 들어, 원래의 위치에 복귀되어 있지 않은 액추에이터가 존재하는 것을 알아차리지 못하거나, 동작을 기술하는 것을 잊어버린 액추에이터가 존재하는 것을 알아차리지 못하거나 할 우려가 있다.
이에 반해, 본 실시예의 YOGO 차트 (200) 는, 도 5 에 나타내는 바와 같이, 액추에이터마다 동작이 기술되는 영역이 분리되어 있으므로, 어느 액추에이터가, 어느 부분 기간에서 동작하는지를 시각에 의해 용이하게 파악할 수 있어, 각 액추에이터의 동작 횟수를 용이하게 인식할 수 있다. 이 때문에, 원래의 위치에 복귀되어 있지 않은 액추에이터가 존재하고 있거나, 동작을 기술하는 것을 잊어버린 액추에이터가 존재하고 있거나 한 경우에도, 그것을 용이하게 인식할 수 있다. 그 결과, 자동 제조 기계 (1) 를 의도한 대로 동작시키는 YOGO 차트 (200) 를 용이하게 작성하는 것이 가능해진다.
또, 본 실시예의 YOGO 차트 (200) 에서는, 다음과 같이 하여 기본 동작을 기술한다. 일례로서, 도 5 의 YOGO 차트 (200) 에서 최초로 동작하는 액추에이터 (13) 의 기본 동작 (206) 에 대해 설명한다. 동작하는 액추에이터는 액추에이터 (13) 이기 때문에, 대응하는 액추에이터 번호는 4 번이고, 또한, 최초로 동작하는 것이기 때문에, 대응하는 부분 기간 번호는 1 번이 된다. 따라서, YOGO 차트 (200) 상에서 기본 동작 (206) 이 기재되는 위치는, 액추에이터 번호가 4 번이고, 부분 기간 번호가 1 번인 바둑판 눈금상의 좌표 위치가 된다. 부분 기간 번호가 1 번인 좌표 위치에 대응하는 바둑판 눈금은, 좌측에 존재하는 1 번의 트리거선 (202) 과, 우측에 존재하는 2 번의 트리거선 (202) 사이에 놓인 바둑판 눈금이기 때문에, 1 번의 트리거선 (202) 으로부터 2 번의 트리거선 (202) 을 향하여, 액추에이터의 동작을 나타내는 동작선 (203) 을 기입한다. 그리고, 동작선 (203) 의 좌단 (따라서 1 번의 트리거선 (202) 상) 에는 동작의 개시를 나타내는 시점 (204) 을 기입하고, 동작선 (203) 의 우단 (따라서 2 번의 트리거선 (202) 상) 에는 동작의 종료를 나타내는 종점 (205) 을 기입한다. 도 5 에 나타낸 예에서는, 동작선 (203) 은 굵은 실선으로 나타내고 있고, 시점 (204) 은 백색의 동그라미표로 나타내고, 종점 (205) 은 검은 동그라미표로 나타내고 있다.
또한, 동작선 (203) 상에는, 액추에이터에 시키고자 하는 기본 동작 (206) 을 기입한다. 여기서, 본 실시예의 YOGO 차트 (200) 에서는, 기본 동작 (206) 을「동작 기술」과「수치 테이블」의 2 개의 요소를 사용하여 기입한다. 도 5 에 나타낸 예에서는, 액추에이터 번호가 4 번이고, 부분 기간 번호가 1 번인 동작선 (203) 상에는,「Ω-AC」와「AC-B11」이라는 2 개의 표시가 기재되어 있는데,「Ω-AC」라는 표시가 동작 기술 (206a) 이고,「AC-B11」이라는 표시가 수치 테이블 (206b) 이다. 동작 기술 (206a) 및 수치 테이블 (206b) 의 상세에 대해서는 후술하지만, 대략적으로 말하면, 동작 기술 (206a) 이란, 기본 동작 (206) 의 정성적인 내용 (예를 들어, 전진, 후퇴, 회전 등) 을 기술한 표시이다. 또, 수치 테이블 (206b) 이란, 기본 동작 (206) 의 정량적인 내용 (예를 들어, 이동량이나 속도나 토크 등) 을 나타내는 수치가 설정된 테이블이다.
따라서, 도 5 의 YOGO 차트 (200) 상에서, 액추에이터 번호가 4 번, 부분 기간 번호가 1 번인 좌표 위치에 기입된「Ω-AC」,「AC-B01」이라는 표시는, 이하와 같은 내용, 즉, 액추에이터 번호가 4 번인 액추에이터 (도 5 의 예에서는 액추에이터 (13)) 를, 부분 기간 번호가 1 번인 타이밍에,「Ω-AC」라는 동작 기술 (206a) 에 따라 기본 동작시키고, 또한, 기본 동작시킬 때에 사용하는 구체적인 수치는,「AC-B01」이라는 수치 테이블 (206b) 에 설정된 수치를 사용하는 것을 나타내고 있다.
또, 도 5 의 YOGO 차트 (200) 에 나타내는 바와 같이, 액추에이터 (10) 에 대해서는「Ω-AA」라는 동작 기술 (206a) 이 기재되어 있지만, 액추에이터 (11) 에 대해서는「Ω-AB」라는 동작 기술 (206a) 이 기재되어 있어, 수치 테이블 (206b) 이 상이하다. 이 이유는, 도 1 을 사용하여 전술한 바와 같이, 액추에이터 (10) 는 척 (3b) 을 개폐시키기 위한 액추에이터이고, 액추에이터 (11) 는 파지축 (3a) 을 축 둘레로 선회 (즉, 비틀림 동작) 시키기 위한 액추에이터이기 때문이다. 즉, 액추에이터 (10) 의 기본 동작의 동작 기술 (206a) 은「개폐 동작」이 되고, 액추에이터 (11) 의 기본 동작의 동작 기술 (206a) 은「회전 동작」이 되기 때문에, 액추에이터 (10) 와 액추에이터 (11) 는, 상이한 동작 기술 (206a) 이 사용된다. 동일한 이유로부터, 액추에이터 (11) 와 액추에이터 (12) 도, 상이한 동작 기술 (206a) 이 사용된다.
이에 반해, 액추에이터 (12) 및 액추에이터 (13) 는「Ω-AC」라는 동일한 동작 기술 (206a) 이 사용된다. 도 1 을 사용하여 전술한 바와 같이, 액추에이터 (12) 는 파지축 (3a) 을 축 방향으로 진퇴동시키기 위한 액추에이터이고, 액추에이터 (13) 는 반송 유닛 (3) 전체를 진퇴동시키기 위한 액추에이터로서, 이동시키는 대상물의 크기나 중량이나 이동량 등은 상이하지만, 대상물을 진퇴동시키는 점에서는 동일하다. 이 때문에, 액추에이터 (12) 및 액추에이터 (13) 는, 동일한 동작 기술 (206a) 을 사용할 수 있다. 또, 액추에이터 (17) 는 가공 유닛 (4) 전체를 상하동시키기 위한 액추에이터이지만, 상하동은 진퇴동의 일종으로 생각할 수 있기 때문에, 액추에이터 (17) 도, 액추에이터 (12) 나 액추에이터 (13) 와 동일하게「Ω-AC」라는 동작 기술 (206a) 을 사용할 수 있다. 또한, 액추에이터 (14 ∼ 16) 는, 모두 에어 실린더를 진퇴동시키는 액추에이터이기 때문에, 이들은 모두「Ω-CA」라는 동작 기술 (206a) 이 사용되고 있다.
이와 같이, 본 실시예의 YOGO 차트 (200) 에서는, 액추에이터의 기본 동작 (206) 을, (원칙적으로) 동작 기술 (206a) 과 수치 테이블 (206b) 을 사용하여 기술한다. 이렇게 하면, 많은 액추에이터에 대해, 동작 기술 (206a) 을 공통화하는 것이 가능해진다. 도 1 에 나타낸 바와 같이, 본 실시예의 자동 제조 기계 (1) 에는 액추에이터 (10 ∼ 20) 의 11 개의 액추에이터가 탑재되어 있지만, YOGO 차트 (200) 에서 사용되는 동작 기술 (206a) 은 4 종류로 되어 있다.
B-4. 동작 기술 :
도 6 은, 본 실시예의 YOGO 차트 (200) 에서 사용되는 동작 기술 (206a) 의 상세에 대한 설명도이다. 「Ω-AA」라는 동작 기술 (206a) 은, 액추에이터에 개폐 동작시키는 것을 나타내는 동작 기술 (206a) 이고, 이 동작 기술 (206a) 은 AC 서보 모터에 척 기구를 조합한 액추에이터를 상정하고 있다. 반대로 말하면, AC 서보 모터에 척 기구를 조합한 액추에이터가 아닌 경우에는, 가령 그 액추에이터의 동작이 개폐 동작인 경우에도,「Ω-AA」라는 동작 기술 (206a) 을 사용할 수는 없다.
또,「Ω-AA」라는 동작 기술 (206a) 은, AC 서보 모터에 척 기구를 조합한 액추에이터에 개폐 동작시킨다는 단순한 동작 내용을 기술한 것이기 때문에, 그 동작 내용을 실현하기 위한 작은 프로그램 (즉, 프로그램 요소) 을 미리 작성해 둘 수 있다. 이 점에서, 동작 기술 (206a) 에는, 그 동작 내용을 실현시키는 프로그램 요소를 특정하기 위한 일련 번호 (이하, 프로그램 요소 번호) 가 대응지어져 기억되어 있다. 또한, 동일하게 개폐 동작하는 액추에이터여도, AC 서보 모터에 척 기구를 조합한 액추에이터가 아닌 경우에는,「Ω-AA」라는 동작 기술 (206a) 을 사용할 수 없는 이유는, 동작 기술 (206a) 에 프로그램 요소 번호가 대응지어져 기억되기 때문이다. 즉, 액추에이터의 구조가 상이하면, 액추에이터를 동작시키기 위한 프로그램 요소는 상이한 것으로 생각되므로, 대응지어지는 프로그램 요소가 상이한 이상, 동작 기술 (206a) 도 상이하게 해 둘 필요가 있기 때문이다.
또, 도 6 에 나타내는 바와 같이,「Ω-AB」라는 동작 기술 (206a) 은, AC 서보 모터에 감속 기구를 조합한 액추에이터를 상정하여, 그 액추에이터에 회전 동작시키는 것을 나타내는 동작 기술 (206a) 이고, 프로그램 요소 번호는 7 번이 대응지어져 기억되어 있다. 마찬가지로,「Ω-AC」라는 동작 기술 (206a) 은, AC 서보 모터에 볼 나사 기구를 조합한 액추에이터를 상정하여, 그 액추에이터에 진퇴 동작시키는 것을 나타내는 동작 기술 (206a) 이고, 프로그램 요소 번호는 4 번이 대응지어져 기억되어 있다. 또한,「Ω-CA」라는 동작 기술 (206a) 은, 에어 실린더를 사용한 액추에이터를 상정하여, 그 액추에이터에 진퇴 동작시키는 것을 나타내는 동작 기술 (206a) 이고, 프로그램 요소 번호는 2 번이 대응지어져 기억되어 있다.
B-5. 수치 테이블 :
또, 동작 기술 (206a) 은, 개폐 동작이나 회전 동작, 진퇴 동작 등과 같이, 동작의 내용을 정성적으로 기술한 것에 불과하므로, 동작 기술 (206a) 은 원칙적으로 수치 테이블 (206b) 과 조합하여 사용된다. 예를 들어, 도 5 를 사용하여 전술한 YOGO 차트 (200) 에서는, 액추에이터 번호가 1 번인 액추에이터 (10) 에 대해 사용되는 동작 기술 (206a) 은「Ω-AA」이지만, 수치 테이블 (206b) 에 대해서는, 부분 기간 번호가 4 번인 타이밍에는「AA-B01」이라는 수치 테이블 (206b) 이 사용되고, 부분 기간 번호가 6 번인 타이밍에는「AA-B01」이라는 수치 테이블 (206b) 이, 부분 기간 번호가 10 번인 타이밍에는「AA-B01」이라는 수치 테이블 (206b) 이 사용되고 있다. 여기서,「AA-B01」이라는 명칭은,「Ω-AA」라는 동작 기술 (206a) 과 조합하여 사용되는「B01」이라는 수치 테이블 (206b) 인 것을 나타내고 있다. 마찬가지로,「AA-B02」라는 명칭은,「Ω-AA」라는 동작 기술 (206a) 과 조합하여 사용되는「B02」라는 수치 테이블 (206b) 인 것을 나타내고 있다.
도 7 은「Ω-AA」라는 동작 기술 (206a) 과 조합하여 사용되는 수치 테이블 (206b) 을 예시한 설명도이다. 도 7(a) 에는「AA-B01」이라는 수치 테이블 (206b) 이 나타나 있고, 도 7(b) 에는「AA-B02」라는 수치 테이블 (206b) 이 나타나 있다. 또한, 도 7 에서는 2 개의 수치 테이블 (206b) 이 예시되어 있지만, 필요에 따라 보다 많은 수치 테이블 (206b) 을 설정할 수 있다. 도 7 에 예시한 수치 테이블 (206b) 에는,「수치 테이블 번호」,「개폐 속도」,「개폐 하중」,「참조 테이블」의 4 개의 항목이 설정되어 있다. 이 중「수치 테이블 번호」는 수치 테이블 (206b) 의 일련 번호이다. 예를 들어, 수치 테이블 번호를 5 번으로 지정하면, 도 7(a) 의「AA-B01」이라는 수치 테이블 (206b) 이 특정되고, 수치 테이블 번호를 6 번으로 지정하면, 도 7(b) 의「AA-B02」라는 수치 테이블 (206b) 이 특정된다. 「참조 테이블」에 대해서는 나중에 설명한다.
또, 도 7 에 예시한 수치 테이블 (206b) 에는 4 개의 항목이 설정되어 있지만, 동작 기술 (206a) 과 조합하여, 기본 동작 (206) 을 기술하기 위해 사용되는 것은,「개폐 속도」와「개폐 하중」이라는 2 개의 항목이다. 여기서,「개폐 속도」와「개폐 하중」이라는 2 개의 항목이 설정되어 있는 이유는, 이 수치 테이블 (206b) 이, 개폐 동작을 나타내는「Ω-AA」라는 동작 기술 (206a) 과 조합하여 사용되기 때문이다. 즉,「Ω-AA」라는 동작 기술 (206a) 만으로는, 개폐 동작시킨다는 정성적인 내용만 알 수 있고, 개폐 동작시키는 속도나 개폐시의 하중과 같은 정량적인 내용에 대해서는 알 수 없다. 그래서, 수치 테이블 (206b) 에「개폐 속도」및「개폐 하중」이라는 항목을 마련하여, 이들 수치를 설정해 두도록 되어 있다. 또한, 수치 테이블 (206b) 의「개폐 속도」에는 플러스의 수치가 설정되어 있는 것은 폐쇄 동작시키는 것을 나타내고 있고 (도 7(a) 참조), 마이너스의 수치가 설정되어 있는 것은 개방 동작시키는 것을 나타내고 있다 (도 7(b) 참조).
또, 도 5 의 YOGO 차트 (200) 에서는, 액추에이터 번호가 2 번인 액추에이터 (11) 에 대해서는「Ω-AB」라는 동작 기술 (206a) 이 사용되지만, 부분 기간 번호가 2 번인 타이밍에는「AB-B01」이라는 수치 테이블 (206b) 이 조합하여 사용되고, 부분 기간 번호가 8 번인 타이밍에는「AB-B02」라는 수치 테이블 (206b) 이 조합하여 사용되고 있다. 「AB-B01」및「AB-B02」라는 명칭은, 각각「Ω-AB」라는 동작 기술 (206a) 과 조합하여 사용되는「B01」및「B02」라는 수치 테이블 (206b) 인 것을 나타내고 있다.
도 8 은「Ω-AB」라는 동작 기술 (206a) 과 조합하여 사용되는 수치 테이블 (206b) 을 예시한 설명도이다. 도 8(a) 에는「AB-B01」이라는 수치 테이블 (206b) 이 나타나 있고, 도 8(b) 에는「AB-B02」라는 수치 테이블 (206b) 이 나타나 있다. 또한, 도 8 에서는 2 개의 수치 테이블 (206b) 이 예시되어 있지만, 필요에 따라 보다 많은 수치 테이블 (206b) 을 설정할 수 있다. 도 8 에 예시한 수치 테이블 (206b) 에는,「수치 테이블 번호」및「참조 테이블」에 더하여,「회전 각도」,「회전 속도」,「회전 토크」의 전부 5 개의 항목이 설정되어 있다. 이들 중에서「회전 각도」,「회전 속도」,「회전 토크」의 항목이, 동작 기술 (206a) 과 조합하여, 기본 동작 (206) 을 기술하기 위해 사용되는 항목이다. 또, 도 8 의 수치 테이블 (206b) 에「회전 각도」,「회전 속도」,「회전 토크」의 항목이 설정되어 있는 이유는, 이 수치 테이블 (206b) 이, 회전 동작을 나타내는「Ω-AB」라는 동작 기술 (206a) 과 조합하여 사용되기 때문이다. 즉,「Ω-AB」라는 동작 기술 (206a) 만으로는 회전 동작시키는 것만 알 수 있으므로, 회전시키는 각도나, 회전시키는 속도, 회전시키는 토크에 대해서는,「회전 각도」,「회전 속도」,「회전 토크」라는 항목에서 수치 테이블 (206b) 에 수치를 설정해 두도록 되어 있다. 또한, 수치 테이블 (206b) 의「회전 각도」에 플러스의 수치가 설정되는 경우와, 마이너스의 수치가 설정되는 경우가 존재하는 것은, 회전 방향이 반대인 것을 나타내고 있다.
또한, 도 5 의 YOGO 차트 (200) 에서는, 액추에이터 번호가 3 번인 액추에이터 (12), 액추에이터 번호가 4 번인 액추에이터 (13), 및 액추에이터 번호가 8 번인 액추에이터 (17) 에 대해서는, 모두「Ω-AC」라는 동작 기술 (206a) 이 사용되고 있다. 그 한편으로, 수치 테이블 (206b) 에 대해서는, 액추에이터 번호가 3 번인 액추에이터 (12) 와, 액추에이터 번호가 4 번인 액추에이터 (13) 와, 액추에이터 번호가 8 번인 액추에이터 (17) 에서, 상이한 수치 테이블 (206b) 이 사용되고 있다. 즉, 액추에이터 번호가 3 번인 액추에이터 (12) 에 대해서는,「AC-B01」혹은「AC-B02」라는 수치 테이블 (206b) 이 조합하여 사용되고, 액추에이터 번호가 4 번인 액추에이터 (13) 에 대해서는,「AC-B11」혹은「AC-B12」라는 수치 테이블 (206b) 이, 액추에이터 번호가 8 번인 액추에이터 (17) 에 대해서는,「AC-B21」혹은「AC-B22」라는 수치 테이블 (206b) 이 조합하여 사용되고 있다. 여기서,「AC-B01」,「AC-B02」,「AC-B11」,「AC-B12」,「AC-B21」,「AC-B22」라는 명칭은, 각각「Ω-AC」라는 동작 기술 (206a) 과 조합하여 사용되는「B01」,「B02」,「B11」,「B12」,「B21」,「B22」라는 수치 테이블 (206b) 인 것을 나타내고 있다.
도 9 는「Ω-AC」라는 동작 기술 (206a) 과 조합하여 사용되는 수치 테이블 (206b) 을 예시한 설명도이다. 또한, 도 9 에서는 6 개의 수치 테이블 (206b) 이 예시되어 있지만, 필요에 따라 보다 많은 수치 테이블 (206b) 을 설정할 수 있다. 도 9 에 예시한 수치 테이블 (206b) 에는,「수치 테이블 번호」및「참조 테이블」에 더하여,「이동량」,「이동 속도」,「이동 하중」의 전부 5 개의 항목이 설정되어 있다. 이들 중에서「이동량」,「이동 속도」,「이동 하중」의 항목이, 동작 기술 (206a) 과 조합하여, 기본 동작 (206) 을 기술하기 위해 사용되는 항목이다. 또, 도 9 의 수치 테이블 (206b) 에「이동량」,「이동 속도」,「이동 하중」의 항목이 설정되어 있는 이유는, 이 수치 테이블 (206b) 이, 진퇴 동작을 나타내는「Ω-AC」라는 동작 기술 (206a) 과 조합하여 사용되기 때문이다. 또한, 수치 테이블 (206b) 의「이동량」에 플러스의 수치가 설정되는 경우와, 마이너스의 수치가 설정되는 경우가 존재하는 것은, 이동 방향이 반대인 것을 나타내고 있다.
또한, 도 5 의 YOGO 차트 (200) 에서, 액추에이터 번호가 5 번인 액추에이터 (14), 액추에이터 번호가 6 번인 액추에이터 (15), 및 액추에이터 번호가 7 번인 액추에이터 (16) 에 대해서는, 모두「Ω-CA」라는 동작 기술 (206a) 이 사용되고 있다. 이것은, 액추에이터 (14 ∼ 16) 가 모두 에어 실린더이고, 기본 동작 (206) 의 내용이「진퇴 동작」인 것에 대응하고 있다. 또,「Ω-CA」라는 동작 기술 (206a) 에 대해서는, 수치 테이블 (206b) 이 조합되어 있지 않다. 이 이유는, 액추에이터 (14 ∼ 16) 가, 2 개의 동작 포트 중에서 공기압을 가하는 동작 포트를 전환함으로써 동작하는 에어 실린더이기 때문에, 동작의 내용을 기술하기 위해 정량적인 수치를 사용할 필요가 없기 때문이다.
이상으로 상세하게 설명한 바와 같이, 본 실시예의 YOGO 차트 (200) 에서는, 부분 기간 번호와 액추에이터 번호의 조합으로 규정되는 좌표 위치에, 기본 동작 (206) 을 기입함으로써, 기본 동작시키는 액추에이터와 기본 동작시키는 타이밍을 특정한다. 또한, 기본 동작 (206) 은, 원칙적으로, 동작 기술 (206a) 과 수치 테이블 (206b) 의 조합에 의해 표현하는 것으로 하고 있다. 이렇게 함으로써, YOGO 차트 (200) 에 잘못된 내용을 기재하는 사태를 회피하는 것이 가능해진다. 이것은 다음과 같은 이유에 의한다.
예를 들어, 어느 액추에이터의 기본 동작 (206) 을 기술하는 경우, 단순히「전진」혹은「회전」이라고 하는 기술에 비하면,「55 ㎜ 만큼 전진」혹은「35 도 만큼 정방향으로 회전」이라고 기술하는 것은 대폭 난이도가 증가한다. 이 이유는,「액추에이터를 전진시킨다」혹은「액추에이터를 회전시킨다」는 정성적인 기술은, 인간이 생각한 내용을 순수하게 표현한 것에 불과한 반면,「55 ㎜ 만큼」혹은「35 도 만큼」이라는 정량적인 내용이 더해지면, 이미 생각한 내용을 순수하게 표현한 것이라고는 할 수 없게 되어 버리기 때문이다. 도 5 에 예시한 바와 같이 YOGO 차트 (200) 에는 다수의 기본 동작 (206) 이 기입되기 때문에, 개개의 기본 동작 (206) 을 기입하기 위한 난이도가 높아지면, YOGO 차트 (200) 전체적으로 잘못된 내용이 기입될 가능성이 높아진다.
이에 반해 본 실시예의 YOGO 차트 (200) 에서는, 기본 동작 (206) 을 동작 기술 (206a) 과 수치 테이블 (206b) 의 조합에 의해 기술하고 있으므로, YOGO 차트 (200) 를 작성할 때에는 동작 기술 (206a) 을 기입하는 것에 집중하고, 수치 테이블 (206b) 에 대해서는 우선 기입해 둘 수 있다. 이렇게 하면, YOGO 차트 (200) 를 작성하는 작업은, 실질적으로는, 인간이 생각한 내용을 순수하게 표현하는 작업과 동일해지므로, YOGO 차트 (200) 에 잘못된 내용을 기입해 버릴 가능성을 대폭 감소시킬 수 있다. 또, 액추에이터의 이동량 등을 수정하는 경우에도, 수치 테이블 (206b) 만을 수정하면 되고, YOGO 차트 (200) 는 수정할 필요가 없다. 이 때문에, YOGO 차트 (200) 자체는 수정할 필요가 없음에도 잘못하여 YOGO 차트 (200) 를 수정해 버리는 사태도 방지할 수 있다.
게다가, 액추에이터의 기본 동작 (206) 을, 동작 기술 (206a) 과 수치 테이블 (206b) 로 나누어 생각하면, 개개의 액추에이터가 취할 수 있는 동작 기술 (206a) 은 스스로 한정된 것이 된다. 예를 들어, 도 5 에 나타낸 예에서는, 액추에이터 (10) 가 취할 수 있는 동작 기술 (206a) 은「Ω-AA」만으로 되어 있지만, 이것은, 액추에이터 (10) 가 척 (3b) 을 개폐시키기 위한 액추에이터이고, 기본 동작 (206) 의 정성적인 기술 내용 (즉, 동작 기술 (206a)) 으로는, 개폐 동작의 1 종류로 충분하기 때문이다. 물론, 척 (3b) 을 복수의 양태로 개폐할 수 있도록 하여, 양태마다 동작 기술 (206a) 을 준비하는 것도 가능하지만, 이와 같은 경우에도 개개의 액추에이터가 취할 수 있는 동작 기술 (206a) 의 종류는, 고작 몇 종류에 불과하다.
이 결과, YOGO 차트 (200) 는, 액추에이터 번호가 동일한 좌표 위치에는, 동일한 동작 기술 (206a) (상이한 경우에도 고작 몇 종류의 동작 기술 (206a)) 이 반복하여 기입되게 된다. 이 때문에, 잘못된 동작 기술 (206a) 이 기입되면, 그 동작 기술 (206a) 만 상이한 동작 기술 (206a) 이 되므로, 잘못을 용이하게 알아차려 수정하는 것이 가능해진다.
B-6. 참조 테이블 :
도 7 ∼ 도 9 에 예시한 바와 같이, 본 실시예의 수치 테이블 (206b) 에는「참조 테이블」이라는 항목도 설정되어 있다. 이 참조 테이블도, YOGO 차트 (200) 를 용이하게 작성할 수 있도록 하기 위한 것이다.
도 10 은, 도 7 에 나타낸 수치 테이블 (206b) 에 설정되어 있는 참조 테이블을 예시한 설명도이다. 도 10(a) 은, 도 7(a) 의 수치 테이블 (206b) (AA-B01) 에 설정된 참조 테이블 (AA-A01) 을 나타내고 있다. 또, 도 10(b) 는, 도 7(b) 의 수치 테이블 (206b) (AA-B02) 에 설정된 참조 테이블 (AA-A02) 을 나타내고 있다. 도 10 에 나타낸 이들 참조 테이블에는,「최대 속도」,「최대 하중」,「개폐 속도 표준값」,「개폐 하중 표준값」,「척 기구 감속비」,「체크 기구 대응 직경 범위」라는 6 개의 항목이 설정되어 있다.
이 중에서「최대 속도」,「최대 하중」,「개폐 속도 표준값」,「개폐 하중 표준값」이라는 항목은, 이들 참조 테이블 (AA-A01, AA-A02) 이, 도 7 에 나타낸 수치 테이블 (206b) (AA-B01, AA-B02) 로부터 참조되는 것에 대응한다. 즉, 수치 테이블 (206b) (AA-B01, AA-B02) 에는,「개폐 속도」및「개폐 하중」의 수치가 설정되는데 (도 7 참조), 설정 가능한 개폐 속도의 최댓값 및 개폐 하중의 최댓값이, 각각「최대 속도」및「최대 하중」으로서 참조 테이블에 설정되어 있다. 또,「개폐 속도 표준값」및「개폐 하중 표준값」은, 수치 테이블 (206b) 의「개폐 속도」및「개폐 하중」에 수치가 설정되어 있지 않은 경우에 사용되는 표준값이다.
그리고, 도 7(a) 의 수치 테이블 (206b) (AA-B01) 을 작성할 때에는,「참조 테이블」이라는 항목에「AA-A01」로 설정해 둔다. 또, 도 7(b) 의 수치 테이블 (206b) (AA-B02) 을 작성할 때에는,「참조 테이블」이라는 항목에「AA-A02」로 설정해 둔다. 이렇게 하면, 수치 테이블 (206b) (AA-B01, AA-B02) 의「개폐 속도」혹은「개폐 하중」이라는 항목의 수치를 설정할 때에, 도 10(a) 혹은 도 10(b) 의 참조 테이블의「최대 속도」혹은「최대 하중」의 항목이 참조되어, 최대 속도나 최대 하중을 초과하는 부적절한 수치가 설정되지 않도록 할 수 있다. 이 때문에, 적절한 수치 테이블 (206b) 을 간단하게 작성할 수 있다.
게다가, 수치 테이블 (206b) (AA-B01, AA-B02) 의 항목에 수치를 설정하지 않은 경우에도, 참조 테이블 중의 대응하는 항목에 설정된 표준값이 유용되므로, 우선 자동 제조 기계 (1) 를 동작시키고, 필요에 따라 수치 테이블 (206b) 의 수치를 수정함으로써, 최종적으로 적절한 YOGO 차트 (200) 를 완성시키는 것도 가능해진다.
또, 도 10(a) 및 도 10(b) 의 참조 테이블에는,「척 기구 감속비」나「척 기구 대응 직경 범위」라는 항목도 설정되어 있다. 이들은, 액추에이터의 기계적인 특성을 기술한 것이다. 즉, 참조 테이블은 수치 테이블 (206b) 로부터 참조되고 있고, 수치 테이블 (206b) 은 구체적인 액추에이터를 상정하여 설정되는 것이다. 따라서, 참조 테이블도 구체적인 액추에이터를 상정하여 설정되어 있게 된다. 예를 들어, 도 10(a) 나 도 10(b) 의 참조 테이블은 도 7(a) 나 도 7(b) 의 수치 테이블 (206b) 로부터 참조되고 있고, 이들 수치 테이블 (206b) 은 액추에이터 (10) 에 대해 사용되기 때문에, 도 10(a) 나 도 10(b) 의 참조 테이블도 액추에이터 (10) 에 대해 사용되게 된다.
이와 같이, 참조 테이블은 각각 고유의 액추에이터에 적용된다. 그래서, 그 액추에이터의 기계적인 특성을 참조 테이블에 설정해 둔다. 도 10 에 예시한 참조 테이블은, AC 서보 모터에 척 기구를 조합하여 척 (3b) 을 개폐시키는 액추에이터 (11) 에 적용된다. 이것에 대응하여, 척 기구의 감속비나, 척 기구로 파지 가능한 부재의 직경 범위 등의 기계적인 특성이, 참조 테이블에 설정되어 있다. 이렇게 하여 참조 테이블에 특성값을 설정해 두면, AC 서보 모터를 제어할 때에 이들 기계적인 특성이 필요해진 경우에도, 참조 테이블을 참조하여 특성값을 판독 출력할 수 있으므로, 잘못된 특성값이 모터의 제어에 사용되어, 액추에이터가 잘못 제어되어 버리는 사태를 회피하는 것이 가능해진다.
도 11 은, 도 8 에 나타낸 2 개의 수치 테이블 (206b) 에 설정되어 있는 참조 테이블을 예시한 설명도이다. 도 11(a) 는, 도 8(a) 의 수치 테이블 (206b) (AB-B01) 에 설정된 참조 테이블 (AB-A01) 을 나타내고 있고, 도 11(b) 는, 도 8(b) 의 수치 테이블 (206b) (AB-B02) 에 설정된 참조 테이블 (AB-A02) 을 나타내고 있다. 이들 참조 테이블에는,「각도 범위」,「최대 회전 속도」,「최대 회전 토크」,「회전 각도 표준값」,「회전 속도 표준값」,「회전 토크 표준값」,「감속비」라는 7 개의 항목이 설정되어 있다.
이 중에서「각도 범위」,「최대 회전 속도」,「최대 회전 토크」,「회전 각도 표준값」,「회전 속도 표준값」,「회전 토크 표준값」이라는 항목은, 이들 참조 테이블 (AB-A01, AB-A02) 이, 도 8 에 나타낸 수치 테이블 (206b) (AB-B01, AB-B02) 로부터 참조되는 것에 대응한다. 즉, 수치 테이블 (206b) (AB-B01, AB-B02) 에는,「회전 각도」,「회전 속도」, 및「회전 토크」의 수치가 설정되는 것에 대응하여 (도 8 참조), 실제로 취할 수 있는 최대의 각도 범위나, 최대 회전 속도, 최대 회전 토크가, 각각 참조 테이블에 설정되어 있다. 또,「회전 각도 표준값」이나「회전 속도 표준값」이나「회전 토크 표준값」은, 수치 테이블 (206b) 의「회전 각도」나「회전 속도」나「회전 토크」에 수치가 설정되어 있지 않은 경우에 사용되는 표준값이다.
도 8(a) 나 도 8(b) 의 수치 테이블 (206b) (AB-B01, AB-B02) 을 작성할 때에는,「참조 테이블」이라는 항목에「AB-A01」혹은「AB-A02」로 설정해 둔다. 이렇게 하면, 수치 테이블 (206b) (AB-B01, AB-B02) 의「회전 각도」의 수치를 설정할 때에, 참조 테이블의「각도 범위」라는 항목이 참조되어, 회전 후의 각도가 ±180 도를 초과하는 수치를 설정할 수 없도록 할 수 있다. 또, 수치 테이블 (206b) (AB-B01, AB-B02) 의「회전 속도」나「회전 토크」의 수치를 설정할 때에도, 참조 테이블의「최대 회전 속도」나「최대 회전 토크」라는 항목이 참조되어, 최대 회전 속도나 최대 회전 토크를 초과하는 부적절한 수치가 설정되지 않도록 할 수 있다.
게다가, 수치 테이블 (206b) (AB-B01, AB-B02) 의 항목에 수치를 설정하지 않은 경우에도, 참조 테이블 중의 대응하는 항목에 설정된 표준값을 유용하는 것이 가능해진다. 또한, 도 11 에 예시한 참조 테이블에도, 참조 테이블이 사용되는 액추에이터 (여기서는, 액추에이터 (11)) 의 기계적인 특성값으로서, 감속 기구의「감속비」가 설정되어 있다.
도 12 는, 도 9 에 나타낸 6 개의 수치 테이블 (206b) 에 설정되어 있는 참조 테이블을 예시한 설명도이다. 도 12(a) 는, 도 9(a) 의 수치 테이블 (206b) (AC-B01) 에 설정된 참조 테이블 (AC-A01) 을 나타내고 있고, 도 12(b) 는, 도 9(b) 의 수치 테이블 (206b) (AC-B02) 에 설정된 참조 테이블 (AC-A02) 을 나타내고 있다. 또한, 도 12(c) 는, 도 9(c) ∼ 도 9(f) 에 나타낸 4 개의 수치 테이블 (206b) (AC-B11, AC-B12, AC-B21, AC-B22) 에 설정된 참조 테이블 (AC-A11, AC-A12, AC-A21, AC-A22) 을 모아서 나타내고 있다. 이들 참조 테이블에는,「이동 범위」,「최대 이동 속도」,「최대 이동 하중」,「이동량 표준값」,「이동 속도 표준값」,「이동 하중 표준값」,「감속비」,「나사 피치」라는 8 개의 항목이 설정되어 있다.
이 중에서「이동 범위」,「최대 이동 속도」,「최대 이동 하중」,「이동량 표준값」,「이동 속도 표준값」,「이동 하중 표준값」이라는 항목은, 이들 참조 테이블이, 도 9 에 나타낸 수치 테이블 (206b) 로부터 참조되는 것에 대응한다. 즉, 도 9 의 수치 테이블 (206b) 에는,「이동량」이나「이동 속도」나「이동 하중」의 수치가 설정되는 것에 대응하여 (도 9 참조), 실제로 취할 수 있는 이동 범위나, 최대 이동 속도, 최대 이동 하중이, 각각 참조 테이블에 설정되어 있다. 또,「이동량 표준값」이나「이동 속도 표준값」이나「이동 하중 표준값」은, 수치 테이블 (206b) 의「이동량」이나「이동 속도」나「이동 하중」에 수치가 설정되어 있지 않은 경우에 사용되는 표준값이다.
도 9 에 예시한 수치 테이블 (206b) 을 작성할 때에도, 각각의 수치 테이블 (206b) 의「참조 테이블」이라는 항목에, 적절한 참조 테이블을 설정해 두면, 수치 테이블 (206b) 에 부적절한 수치가 설정되지 않도록 할 수 있다. 또, 수치 테이블 (206b) 의 항목에 수치를 설정하지 않은 경우에도, 참조 테이블 중의 대응하는 항목에 설정된 표준값을 유용하는 것이 가능해진다. 또한, 도 12 에 예시한 참조 테이블에도, 참조 테이블이 사용되는 액추에이터의 기계적인 특성값으로서, 감속 기구의「감속비」나 볼 나사 기구의「나사 피치」등이 설정되어 있다.
또한, 도 12 중의「AC-A01」및「AC-A02」라는 참조 테이블과,「AC-A11」및「AC-A12」라는 참조 테이블과,「AC-A21」및「AC-A22」라는 참조 테이블은, 액추에이터의 기계적인 특성값을 나타내는「감속비」나「나사 피치」에 설정된 수치가 상이하다. 이 이유는, 참조 테이블이 적용되는 액추에이터가 상이하기 때문이다. 즉, 도 12 중의「AC-A01」및「AC-A02」라는 참조 테이블은 액추에이터 (12) 에 적용되고,「AC-A11」및「AC-A12」라는 참조 테이블은 액추에이터 (13) 에 적용되고,「AC-A21」및「AC-A22」라는 참조 테이블은 액추에이터 (17) 에 적용된다. 이와 같이, 적용되는 액추에이터가 다르면, 액추에이터의 기계적인 특성값도 바뀌므로, 참조 테이블에 설정되는 수치도 상이한 것이 된다.
이상으로 상세하게 설명한 바와 같이, 본 실시예의 YOGO 차트에서는, 액추에이터 번호와, 부분 기간 번호에 의해 특정되는 바둑판 눈금상의 좌표 위치에, 동작 기술 (206a) 및 수치 테이블 (206b) 을 사용하여 액추에이터의 기본 동작을 기입한다. 그리고, 자동 제조 기계 (1) 에 탑재된 모든 액추에이터 (10 ∼ 20) 의 기본 동작을, 이와 같이 하여 YOGO 차트 상에 기재함으로써, 자동 제조 기계 (1) 의 동작을 기술한다. 그리고, 자동 제조 기계 제어 장치 (100) 는, 이와 같은 YOGO 차트로부터 제어 프로그램을 생성하여, 자동 제조 기계 (1) 의 동작을 제어한다.
C. 본 실시예의 자동 제조 기계 제어 장치 (100) :
도 13 은, 본 실시예의 자동 제조 기계 제어 장치 (100) 가 구비하는 기능을 나타낸 설명도이다. 도 13 에 나타내는 바와 같이, 본 실시예의 자동 제조 기계 제어 장치 (100) 는, YOGO 차트 작성부 (101) 나, 기본 동작 기억부 (102) 나, YOGO 차트 판독 입력부 (103) 나, YOGO 차트 해석부 (104) 나, 제어 프로그램 생성부 (105) 나, 제어 실행부 (106) 등을 구비하고 있다. 또한, 이들「부」는, 자동 제조 기계 제어 장치 (100) 를 사용하여 YOGO 차트 (200) 를 작성하고, 그 YOGO 차트 (200) 로부터 제어 프로그램을 생성하여 자동 제조 기계 (1) 의 동작을 제어하기 위해, 자동 제조 기계 제어 장치 (100) 가 구비해 두어야 하는 복수의 기능을 나타낸 추상적인 개념이다. 따라서, 자동 제조 기계 제어 장치 (100) 가, 이들「부」에 상당하는 부품을 조합하여 형성되어 있는 것을 나타내고 있는 것은 아니다. 실제로는, 이들「부」는, CPU 로 실행되는 프로그램의 형태로 실현할 수도 있고, IC 칩이나 LSI 등을 조합한 전자 회로의 형태로 실현할 수도 있고, 나아가서는, 이들이 혼재된 형태 등, 다양한 형태로 실현할 수 있다.
YOGO 차트 작성부 (101) 는, 모니터 화면 (100m) 이나, 조작 입력 버튼 (100s) 등에 접속되어 있고, 자동 제조 기계 (1) 에 대해 충분한 지식을 갖는 기계 기술자 등이, 모니터 화면 (100m) 을 보면서 조작 입력 버튼 (100s) 을 조작함으로써, 도 5 에 예시한 바와 같은 YOGO 차트 (200) 를 작성한다. 전술한 바와 같이, YOGO 차트 (200) 는 자동 제조 기계 (1) 에 탑재되어 있는 복수의 액추에이터의 기본 동작을, 부분 기간 중 어느 것에 할당함으로써, 자동 제조 기계 (1) 의 동작을 기술한 것이다. 기계 설계시에 기계 설계 기술자는, 자동 제조 기계 (1) 의 동작을 실현하기 위해서는, 복수의 액추에이터의 기본 동작을 어떻게 조합하면 좋을지에 대해 충분히 검토하고 있으므로, 기계 설계를 실시한 기계 설계 기술자이면, 자동 제조 기계 (1) 의 동작을 기술한 YOGO 차트 (200) 를 간단하게 작성할 수 있다. 물론, 자동 제조 기계 (1) 의 구조나 동작에 대해 충분한 지식을 갖는 기계 기술자이면, 자동 제조 기계 (1) 를 설계한 기술자가 아니어도, 간단하게 YOGO 차트 (200) 를 작성할 수 있다.
또, 본 실시예에서는, YOGO 차트에 기본 동작 (206) 을 기입할 때에는, 원칙적으로 동작 기술 (206a) 과 수치 테이블 (206b) 을 사용하여 기본 동작을 기입하지만, 액추에이터에 따라 사용 가능한 동작 기술 (206a) 은 정해져 있다 (도 6 참조). 그래서, 기본 동작 기억부 (102) 에는, 액추에이터의 명칭과, 그 액추에이터에서 사용 가능한 동작 기술 (206a) 이 대응지어져 미리 기억되어 있다.
도 14 는, 액추에이터의 명칭과, 사용 가능한 동작 기술 (206a) 이 대응지어져 있는 모습을 나타낸 설명도이다. 이와 같은 대응 관계는, 기본 동작 기억부 (102) 에 기억되어 있다. 도시되는 바와 같이 기본 동작 기억부 (102) 에는, 액추에이터에 대응지어진 상태에서, 그 액추에이터에서 사용 가능한 동작 기술 (206a) 이 기억되어 있고, 또한, 각각의 동작 기술 (206a) 에 대응지어 프로그램 요소 번호가 기억되어 있다. 전술한 바와 같이 프로그램 요소 번호란, 액추에이터를 사용하여 동작 기술 (206a) 의 동작을 실현하기 위한 프로그램 요소를 특정하는 번호이다. 예를 들어, 액추에이터 (18) 나 액추에이터 (19) 에는, 동작의 양태가 상이한 2 개의 동작 기술 (206a) 이 선택 가능하게 되어 있지만, 각각의 동작 기술 (206a) 에 대해 프로그램 요소 번호가 기억되어 있다. 또, 각각의 액추에이터에 대응지어진 상태에서, 액추에이터의 구조나, 액추에이터의 기본 동작의 내용도 함께 기억되어 있다. 또한, 도 7 ∼ 도 9 에 예시한 수치 테이블 (206b) 이나, 도 10 ∼ 도 12 에 예시한 참조 테이블도, 기본 동작 기억부 (102) 에 기억되어 있다.
상기 서술한 기본 동작 기억부 (102) 는, YOGO 차트 작성부 (101) 에 접속되어 있다. 이 때문에 기계 기술자는, YOGO 차트 (200) 를 작성할 때에 기본 동작 기억부 (102) 를 참조할 수 있다. 그리고, 자동 제조 기계 (1) 에 대해 충분한 지식을 갖는 기계 기술자이면, 어떠한 액추에이터를 어떻게 동작시킬지는 충분히 알고 있으므로, 액추에이터에 따라 사용 가능한 동작 기술 (206a) 중에서 적절한 동작 기술 (206a) 을 선택할 수 있다. 게다가, 전술한 바와 같이 동작 기술 (206a) 은, 기본 동작 (206) 의 내용을 정성적으로 기술한 것이기 때문에, YOGO 차트 (200) 에 동작 기술 (206a) 을 기입하는 작업은, 자동 제조 기계 (1) 에 시키고자 하는 동작을 순수하게 기술하는 작업에 불과하여, 잘못된 내용을 기입하는 경우가 없다. 또, 수치 테이블 (206b) 에 대해서는, 임시의 수치 테이블 (206b) 을 설정해 두면 된다. 즉, 도 7 ∼ 도 9 를 사용하여 전술한 바와 같이, 수치 테이블 (206b) 의 명칭은, 조합하여 사용하는 동작 기술 (206a) 의 명칭 중의 소정 부분과 일련 번호가 조합된 것으로 되어 있기 때문에, 우선 수치 테이블 (206b) 의 명칭을 결정하여 YOGO 차트 (200) 에 기입해 두고, 그리고, 나중에 수치 테이블 (206b) 의 수치를 수정하거나, 수치 테이블 (206b) 을 변경하거나 할 수 있다. 또, 새로운 명칭의 수치 테이블 (206b) 을 작성하면, 그 수치 테이블 (206b) 에는 새로운 수치 테이블 번호 (도 7 ∼ 도 9 참조) 가 자동적으로 번호 부여되도록 되어 있다.
YOGO 차트 판독 입력부 (103) 는, YOGO 차트 작성부 (101) 에서 작성한 YOGO 차트 (200) 를 판독 입력하여, YOGO 차트 해석부 (104) 에 출력한다. 또한, 본 실시예에서는, 자동 제조 기계 제어 장치 (100) 로 YOGO 차트 (200) 를 작성하는 것으로 하고 있고, 이것에 대응하여, YOGO 차트 판독 입력부 (103) 는, YOGO 차트 작성부 (101) 로부터 YOGO 차트 (200) 를 판독 입력하고 있다. 이에 반해, 자동 제조 기계 제어 장치 (100) 와는 별체로 형성한 컴퓨터 (50) 로 YOGO 차트 (200) 를 작성해 두고, 그 YOGO 차트를 YOGO 차트 판독 입력부 (103) 가 판독 입력하도록 해도 된다.
YOGO 차트 해석부 (104) 는, YOGO 차트 판독 입력부 (103) 로부터 수취한 YOGO 차트 (200) 를 해석함으로써, 중간 데이터를 생성한 후, 중간 데이터를 제어 프로그램 생성부 (105) 에 출력한다. YOGO 차트로부터 중간 데이터를 생성하는 처리에 대해서는, 나중에 상세하게 설명한다.
제어 프로그램 생성부 (105) 는, 중간 데이터를 수취하면, 기본 동작 기억부 (102) 에 기억되어 있는 대응 관계를 참조함으로써, 중간 데이터로부터 제어 프로그램을 생성한다. 중간 데이터로부터 제어 프로그램을 생성하는 방법에 대해서는, 나중에 상세하게 설명한다. 그리고, 얻어진 제어 프로그램을, 제어 실행부 (106) 에 출력한다.
제어 실행부 (106) 는, 제어 프로그램 생성부 (105) 로부터 제어 프로그램을 수취하면, 제어 프로그램 중의 프로그램 요소 번호에 대응지어 기억되어 있는 프로그램 요소를, 기본 동작 기억부 (102) 로부터 취득한다. 또, 기본 동작 기억부 (102) 를 참조함으로써, 제어 프로그램 중의 수치 테이블 번호에 대응지어 기억되어 있는 수치 테이블 (206b) 을 검색하여, 그 수치 테이블 (206b) 에 설정되어 있는 수치를, 프로그램 요소의 인수로서 취득한다. 이렇게 하여 판독 입력되고, 인수가 설정된 프로그램 요소를 실행함으로써, 액추에이터 (10 ∼ 20) 를 제어한다. 그 결과, 자동 제조 기계 (1) 에 탑재된 액추에이터 (10 ∼ 20) 가, YOGO 차트 (200) 에 기재된 대로 동작하게 된다.
또한, 본 실시예의 YOGO 차트 판독 입력부 (103) 는, 본 발명의「동작 차트 판독 입력부」에 대응하고 있다. 또, 도 13 을 사용하여 전술한 YOGO 차트 판독 입력부 (103) 와, YOGO 차트 해석부 (104) 와, 제어 프로그램 생성부 (105) 는, 이들이 일체가 되어, YOGO 차트 (200) 로부터 제어 프로그램을 생성하는 기능을 실현하고 있다. 따라서, 본 실시예의 자동 제조 기계 제어 장치 (100) 에서는, YOGO 차트 판독 입력부 (103) 와, YOGO 차트 해석부 (104) 와, 및 제어 프로그램 생성부 (105) 가, 본 발명의「제어 프로그램 생성 장치 (110)」에 대응한다.
D. 제어 프로그램 생성 처리 :
도 15 는, 본 실시예의 자동 제조 기계 제어 장치 (100) 중에서, 제어 프로그램 생성 장치 (110) 에 대응하는 부분이 실행하는 제어 프로그램 생성 처리의 개요를 나타낸 플로 차트이다. 도시되는 바와 같이, 제어 프로그램 생성 처리에서는, 우선 먼저 YOGO 차트를 판독 입력한다 (STEP1). 본 실시예에서는, 자동 제조 기계 제어 장치 (100) 가 YOGO 차트를 작성하고 있기 때문에, 작성한 YOGO 차트의 데이터를 판독 입력하게 된다. 물론, 다른 컴퓨터 (50) 로 작성한 YOGO 차트의 데이터를 판독 입력해도 된다.
계속해서, 판독 입력한 YOGO 차트를 해석하여 중간 데이터를 출력한다 (STEP2). 도 16 은, 본 실시예의 자동 제조 기계 제어 장치 (100) 가, YOGO 차트를 해석하여 중간 데이터를 출력하는 처리 (YOGO 차트 해석 처리) 의 플로 차트이다. 이 처리는, 도 13 중에 나타낸 YOGO 차트 해석부 (104) 가 실행하는 처리이다.
도 16 에 나타낸 바와 같이, YOGO 차트 해석 처리를 개시하면, 우선 먼저, 부분 기간 번호 N 및 액추에이터 번호 M 을「1」로 초기화한다 (STEP10). 계속해서, YOGO 차트 (200) 상에서의 좌표 (N, M) 의 위치에, 기본 동작이 기입되어 있는지의 여부를 판단한다 (STEP11). 여기서, YOGO 차트 (200) 상에서의 좌표 (N, M) 란, YOGO 차트 (200) 상에서, 부분 기간 번호 N 과 액추에이터 번호 M 의 조합으로 특정되는 바둑판 눈금상의 좌표 위치를 나타내고 있다. STEP10 에서 부분 기간 번호 N 및 액추에이터 번호 M 을 초기화한 직후에는, N 및 M 은 모두「1」이기 때문에, YOGO 차트 (200) 상의 좌표 (1, 1) 의 위치에 기본 동작이 기입되어 있는지의 여부를 판단하게 된다.
도 5 에 예시한 YOGO 차트 (200) 의 경우에서는, 좌표 (1, 1) 에는 기본 동작은 기입되어 있지 않기 때문에, STEP11 에서는「no」로 판단하여, 액추에이터 번호 M 이 최종값에 도달했는지의 여부를 판단한다 (STEP14). 본 실시예의 자동 제조 기계 (1) 에는 11 개의 액추에이터 (10 ∼ 20) 가 탑재되어 있기 때문에, 액추에이터 번호 M 의 최종값은 11 이 된다. 따라서, 좌표 (1, 1) 의 기본 동작의 유무를 확인한 후의 STEP14 의 판단에서는,「no」로 판단되므로, 액추에이터 번호 M 을 1 개 증가시킨다 (STEP15). 그리고, 증가시킨 액추에이터 번호 M 을 사용하여, 다시, 좌표 위치 (N, M) 에 기본 동작 (206) 이 기입되어 있는지의 여부를 판단한다 (STEP11).
이와 같이, 부분 기간 번호 N 은「1」인 채, 액추에이터 번호 M 을 1 개씩 증가시키면서, 좌표 (1, M) 에 기본 동작이 기입되어 있는지의 여부를 판단해 간다. 그리고, 기본 동작이 기입되어 있는 좌표 (1, M) 에 도달하면, STEP11 에서「yes」로 판단되게 된다.
그리고, STEP11 에서「yes」로 판단된 경우에는, 그 좌표에 기입되어 있는 기본 동작의 동작 기술 (206a) 을 판독 입력하고, 또한, 기본 동작의 수치 테이블 (206b) 도 기입되어 있는 경우에는 수치 테이블 (206b) 을 판독 입력한다 (STEP12). 도 5 에 예시한 YOGO 차트 (200) 에서는, 좌표 (1, 4) 에 도달하면, STEP11 에서「yes」로 판단되어,「Ω-AC」라는 동작 기술 (206a) 과「AC-B11」이라는 수치 테이블 (206b) 을, 기본 동작 (206) 으로서 판독 입력하게 된다.
계속해서, 기본 동작을 판독 입력한 좌표 (N, M) 와, 판독 입력한 기본 동작의 동작 기술 (206a), 및 수치 테이블 (206b) 을 포함한 데이터 (이하, 중간 데이터 (N, M, 동작 기술, 수치 테이블)) 를 메모리에 기억한다 (STEP13). 도 5 에 예시한 YOGO 차트 (200) 의 좌표 (1, 4) 의 경우이면, (1, 4, Ω-AC, AC-B11) 이라는 중간 데이터를 메모리에 기억하게 된다. 따라서, 이 중간 데이터는, YOGO 차트 (200) 상에서 부분 기간 번호가 1 번, 액추에이터 번호 M 이 4 번인 위치에,「Ω-AC」라는 동작 기술 (206a) 과「AC-B11」이라는 수치 테이블 (206b) 에 의해 규정되는 기본 동작 (206) 이 기입되어 있는 것을 나타내고 있다.
이렇게 하여, YOGO 차트 (200) 로부터 판독 출력한 중간 데이터를 메모리에 기억한 후에는 (STEP13), 액추에이터 번호 M 이 최종값 (여기서는 11) 에 도달했는지의 여부를 판단한다 (STEP14). 그 결과, 최종값에 도달해 있지 않은 경우에는 (STEP14 : no), 액추에이터 번호 M 을 1 개 증가시킨 후 (STEP15), STEP11 로 되돌아오고, 다시, YOGO 차트 (200) 상의 좌표 (N, M) 에 기본 동작이 기입되어 있는지의 여부를 판단한다.
이에 반해, 액추에이터 번호 M 이 최종값에 도달해 있었던 경우에는 (STEP14 : yes), 이번에는, 부분 기간 번호 N 이 최종값에 도달했는지의 여부를 판단한다 (STEP16). 예를 들어, YOGO 차트 (200) 상에서, 자동 제조 기계 (1) 의 동작이 100 개의 부분 기간을 사용하여 기술되어 있으면, 부분 기간 번호 N 의 최종값은 100 이 된다.
그 결과, 부분 기간 번호 N 이 최종값에 도달해 있지 않은 경우에는 (STEP16 : no), 부분 기간 번호 N 을 1 개 증가시킴과 함께 (STEP17), 액추에이터 번호 M 을「1」로 초기화한 후 (STEP18), STEP11 로 되돌아오고, 다시, YOGO 차트 (200) 상의 좌표 (N, M) 에 기본 동작이 기입되어 있는지의 여부를 판단한다. 즉, YOGO (200) 차트 상에서 (도 5 참조), 부분 기간 번호 N 이 1 번인 부분 기간을 위에서부터 차례대로 확인해 가고, 가장 아래까지 확인하면, 이번에는, 부분 기간 번호 N 이 2 번인 부분 기간을 위에서부터 차례대로 확인해 가고, 2 번인 부분 기간을 다 확인하면, 부분 기간 번호 N 이 3 번인 부분 기간이라고 하는 것과 같이, 부분 기간 번호 N 이 작은 부분 기간으로부터 큰 부분 기간을 향하여 차례대로, YOGO 차트 (200) 에 기입되어 있는 기본 동작을 판독 출력하여, 중간 데이터를 메모리에 기억해 가는 것이다.
그리고, 이와 같은 조작을 반복해 가고, 최종적으로, 부분 기간 번호 N 이 최종값에 도달한 것으로 판단하면 (STEP16 : yes), YOGO 차트 (200) 에 기입된 모든 기본 동작을 판독 출력한 것이 된다. 그래서, 메모리에 기억해 둔 중간 데이터를 판독 출력하여, 제어 프로그램 생성부 (105) 에 출력한다 (STEP19). 도 17 에는, 도 5 에 예시한 YOGO 차트 (200) 를 해석한 경우에 얻어지는 중간 데이터가 예시되어 있다. 이와 같은 중간 데이터를 출력하면, 도 16 의 YOGO 차트 해석 처리를 종료하고, 도 15 의 제어 프로그램 생성 처리로 복귀한다.
도 15 의 제어 프로그램 생성 처리에서는, 이와 같이 하여 얻어진 중간 데이터에 기초하여, 제어 프로그램을 생성한다 (STEP3). 도 18 에는, 도 17 에 예시한 중간 데이터로부터 생성된 제어 프로그램이 나타나 있다. 도 17 의 중간 데이터와, 도 18 의 제어 프로그램을 비교하면 분명한 바와 같이, 제어 프로그램에서는, 중간 데이터의 동작 기술 (206a) 및 수치 테이블 (206b) 이, 수치로 치환된 것으로 되어 있다. 즉, 제어 프로그램은, 중간 데이터의 동작 기술 (206a) 을, 그 동작 기술 (206a) 을 실현하는 프로그램 요소 번호 (도 14 참조) 로 치환함과 함께, 중간 데이터의 수치 테이블 (206b) 을, 그 수치 테이블 (206b) 의 수치 테이블 번호로 치환함으로써 생성되어 있다.
중간 데이터 중의 동작 기술 (206a) 및 수치 테이블 (206b) 을, 각각 프로그램 요소 번호 및 수치 테이블 번호로 치환하는 조작은, 도 8 중의 제어 프로그램 생성부 (105) 가, 기본 동작 기억부 (102) 를 참조함으로써 실행된다. 즉, 기본 동작 기억부 (102) 에는, 동작 기술 (206a) 이 프로그램 요소 번호와 대응지어져 기억되어 있다 (도 14 참조). 또한, 기본 동작 기억부 (102) 에는, 도 7 ∼ 도 9 에 예시한 수치 테이블 (206b) 이 기억되어 있고, 각각의 수치 테이블 (206b) 에는 수치 테이블 번호가 설정되어 있다. 그래서, 제어 프로그램 생성부 (105) 는, 기본 동작 기억부 (102) 에 기억되어 있는 도 14 의 대응 관계나, 도 7 ∼ 도 9 의 수치 테이블 (206b) 을 참조함으로써, 중간 데이터 중의 동작 기술 (206a) 이나 수치 테이블 (206b) 을, 프로그램 요소 번호 및 수치 테이블 번호로 치환해 간다.
이상과 같이 하여, 중간 데이터로부터 제어 프로그램을 생성하면 (도 15 의 STEP3), 생성된 제어 프로그램을 제어 실행부 (106) 에 출력하고 (STEP4), 도 15 의 제어 프로그램 생성 처리를 종료한다.
또한, 도 18 에 나타내는 바와 같이, 본 실시예의 제어 프로그램은, 부분 기간 번호 N, 액추에이터 번호 M, 프로그램 요소 번호, 수치 테이블 번호가, 이 순서로 나열된 1 세트의 데이터 (이하,「데이터 세트」라고 부른다) 가 모인 것으로 되어 있다. 그래서, 데이터 세트 중에서, 부분 기간 번호 N 을 나타내는 1 번째의 데이터를「제 1 요소」라고 부르고, 액추에이터 번호 M 을 나타내는 2 번째의 데이터를「제 2 요소」라고 부르고, 프로그램 요소 번호를 나타내는 3 번째의 데이터를「제 3 요소」라고 부르고, 수치 테이블 번호를 나타내는 4 번째의 데이터를「제 4 요소」라고 부르기로 한다. 또, 본 실시예의 제어 프로그램은, 복수의 데이터 세트가 연속된 데이터에 불과하다. 그러나, 자동 제조 기계 제어 장치 (100) 의 제어 실행부 (106) 는, 이와 같은 제어 프로그램에 기초하여, 이하와 같이 하여, 자동 제조 기계 제어 장치 (100) 의 액추에이터 (10 ∼ 20) 의 동작을 제어한다.
E. 동작 제어 처리 :
도 19 는, 자동 제조 기계 제어 장치 (100) 의 제어 실행부 (106) 가, 제어 프로그램에 따라 자동 제조 기계 (1) 의 동작을 제어하는 동작 제어 처리의 플로 차트이다. 도 19 에 나타내는 바와 같이, 동작 제어 처리를 개시하면, 우선 먼저, 부분 기간 번호 N 을「1」로 초기화한다 (STEP50). 계속해서, 제어 프로그램 중에서, 제 1 요소가 N 의 데이터 세트를 취득한다 (STEP51). 동작 제어 처리를 개시한 직후이면, 부분 기간 번호 N 은「1」로 설정되어 있기 때문에, 도 18 에 예시한 제어 프로그램으로부터, (1, 4, 4, 19) 라는 데이터 세트를 판독 출력하게 된다.
계속해서, 판독 출력한 데이터 세트의 제 2 요소의 값에 기초하여, 제어 대상이 되는 액추에이터를 특정한다 (STEP52). STEP51 에서 판독 출력한 데이터 세트를 (1, 4, 4, 19) 로 하면 제 2 요소의 값은「4」이기 때문에, 액추에이터 번호 M 이「4」인 액추에이터가 제어 대상의 액추에이터가 된다. 또, STEP51 에서 복수의 데이터 세트를 판독 출력하고 있었던 경우에는, 각각의 데이터 세트의 제 2 요소의 값에 기초하여, 제어 대상이 되는 각각의 액추에이터를 특정한다.
또한, 판독 출력한 데이터 세트의 제 3 요소의 값에 기초하여, 기본 동작 기억부 (102) 에 기억되어 있는 프로그램 요소 번호를 검색함으로써, 액추에이터에 기본 동작시키기 위한 프로그램 요소를 취득한다 (STEP53). STEP51 에서 판독 출력한 데이터 세트를 (1, 4, 4, 19) 로 하면 제 3 요소의 값은「4」이기 때문에, 기본 동작시키기 위한 프로그램 요소는, 프로그램 요소 번호가「4」번인 프로그램 요소가 된다.
마지막으로, 데이터 세트에 제 4 요소가 존재하고 있는 경우에는, 그 값은, 프로그램 요소에 지정하는 파라미터의 수치 테이블 번호를 나타내고 있다. 그래서, 기본 동작 기억부 (102) 에 기억되어 있는 수치 테이블 (206b) 을 검색함으로써, 수치 테이블 번호를 갖는 수치 테이블 (206b) 을 특정한 후, 수치 테이블 (206b) 에 설정되어 있는 수치를, 프로그램 요소에 인수로서 설정한다 (STEP54).
이상의 STEP51 ∼ STEP54 의 조작을 실시함으로써, YOGO 차트 (200) 상의 어느 부분 기간 (동작 제어 처리가 개시된 직후에는, 부분 기간 번호 N 이「1」번인 부분 기간) 에 기입된 기본 동작을, 각각의 액추에이터에 실시하게 할 준비가 갖추어진 것이 된다. 즉, 제어 대상이 되는 액추에이터가 특정되고 (STEP52), 제어에 사용하는 프로그램 요소가 취득되고 (STEP53), 프로그램 요소에 대해 인수가 설정된 (STEP54) 것이 되므로, 그 프로그램 요소를 실행한다 (STEP55). 예를 들어, 액추에이터가 서보 모터이고, 기본 동작의 내용이 모터를 정방향으로 180 도 회전시킨다는 내용인 경우에는, 모터의 회전 각도를 검출하면서, 회전 각도가 180 도가 될 때까지 모터를 구동시키는 동작을, 소정의 제어 주기로 반복하는 프로그램 요소를 실행한다. 또, 복수의 프로그램 요소가 존재하는 경우에는, 그들 프로그램 요소가 병행하여 실행되게 된다.
계속해서, 모든 프로그램 요소의 실행이 종료됐는지의 여부를 판단한다 (STEP56). 즉, STEP55 에서 복수의 프로그램 요소를 실행한 경우에는, 그들 프로그램 요소의 실행이 동시에 종료된다고는 할 수 없으므로, 모든 프로그램 요소의 실행이 종료됐는지의 여부를 판단한다. 물론, STEP55 에서 1 개의 프로그램 요소밖에 실행하고 있지 않은 경우에는, 그 프로그램 요소의 실행이 종료됐는지의 여부를 판단하게 된다.
그 결과, 실행 중인 프로그램 요소가 남아 있는 경우에는, STEP56 에서는「no」로 판단하여, 다시 동일한 판단 (STEP56) 을 반복한다. 이렇게 함으로써, 모든 프로그램 요소의 실행이 종료될 때까지 대기 상태가 된다. 그리고, 모든 프로그램 요소의 실행이 종료되면 (STEP56 : yes), 부분 기간 번호 N 이 최종값에 도달했는지의 여부를 판단한다 (STEP57). 예를 들어, YOGO 차트 (200) 상에서 자동 제조 기계 (1) 의 동작을 기술하기 위해, 100 개의 부분 기간이 사용되고 있었던 경우에는, 부분 기간 번호 N 이「100」에 도달했는지의 여부를 판단한다.
그 결과, 부분 기간 번호 N 이 아직 최종값에 도달해 있지 않은 경우에는 (STEP57 : no), 부분 기간 번호 N 을 1 개 증가시킨다 (STEP58). 그리고, STEP51 로 되돌아오고, 제어 프로그램 중으로부터, 제 1 요소가 새로운 부분 기간 번호 N 에 일치하는 데이터 세트를 판독 출력한 후, 판독 출력한 데이터 세트에 대해 상기 서술한 STEP52 ∼ STEP55 의 조작을 실시한다. 이렇게 함으로써, 앞서 기본 동작을 실행한 부분 기간으로부터 1 개 부분 기간을 진행하여, 새로운 부분 기간에 기입된 모든 기본 동작이 실행되게 된다. 그리고, 새로운 부분 기간의 모든 기본 동작이 종료되어, STEP56 에서「yes」로 판단하면, 그 부분 기간의 부분 기간 번호 N 이 최종값에 도달해 있는지의 여부를 판단한다 (STEP57). 그 결과, 부분 기간 번호 N 이 최종값에 도달해 있지 않은 경우에는 (STEP57 : no), 부분 기간 번호 N 을 1 개 증가시킨 후 (STEP58), STEP51 로 되돌아오고, 새로운 부분 기간 번호 N 에 대해, 상기 서술한 STEP51 ∼ STEP57 의 조작을 반복한다.
이와 같이, 도 19 의 동작 제어 처리에서는, YOGO 차트 (200) 의 선두의 부분 기간 (즉, 부분 기간 번호 N 이 1 번인 부분 기간) 으로부터 마지막 부분 기간 (부분 기간 번호 N 이 최종값인 부분 기간) 을 향하여, 부분 기간을 1 개씩 선택하여, 그 부분 기간에 기재된 기본 동작을 실행하는 동작을 반복한다. 그리고, 마지막 부분 기간의 기본 동작이 종료되면, STEP57 에서「yes」로 판단하여, 동작 제어 처리를 종료한다.
이상으로 상세하게 설명한 바와 같이, 본 실시예의 자동 제조 기계 제어 장치 (100) 에서는, 자동 제조 기계 (1) 의 동작을 YOGO 차트 (200) 에서 기술함으로써, 그 YOGO 차트 (200) 로부터 제어 프로그램을 자동으로 생성하여, 자동 제조 기계 제어 장치 (100) 를 동작시킬 수 있다. 또, YOGO 차트 (200) 는, 자동 제조 기계 (1) 의 구조나 동작을 알고 있으면, 프로그램에 관한 지식이 없어도 간단하게 작성할 수 있으므로, 프로그래머가 제어 프로그램을 작성할 필요가 없다. 이 때문에, 새로운 자동 제조 기계 (1) 를 개발하기 위해 요하는 시간을, 대폭 (적어도 절반 이하로) 단축시킬 수 있고, 게다가, 프로그래머를 확보해 둘 필요도 없어진다. 그 결과, 제조 현장에 새로운 자동 제조 기계를 도입하는 것이 용이해져, 산업계에서의 생력화에 대한 요청에 충분히 대응하는 것이 가능해진다.
게다가, 본 실시예의 YOGO 차트 (200) 에서는, 액추에이터의 기본 동작 (206) 을, 동작 기술 (206a) 과 수치 테이블 (206b) 로 나누어 기입하는 것으로 하고 있다. 동작 기술 (206a) 은 기본 동작 (206) 의 내용을 정성적으로 표현한 것에 불과하기 때문에, YOGO 차트 (200) 에 동작 기술 (206a) 을 기입하는 것뿐이라면, 인간이 생각한 내용을 순수하게 기입하는 작업과 실질적으로 다르지 않다. 이 때문에, YOGO 차트 (200) 에 잘못된 내용을 기입해 버릴 가능성을 대폭 줄일 수 있다. 그리고, YOGO 차트 (200) 에 동작 기술 (206a) 을 올바르게 기입해 두면, 그 후에는 수치 테이블 (206b) 에 설정하는 수치를 수정하면 되어, YOGO 차트 (200) 자체는 변경할 필요가 없다. 그 결과, 액추에이터의 기본 동작이 올바르게 기재된 YOGO 차트 (200) 를 용이하게 얻는 것이 가능해진다.
이상, 본 실시예의 자동 제조 기계 제어 장치 (100) 에 대해 설명했지만, 본 발명은 상기의 실시예에 한정되는 것은 아니고, 그 요지를 일탈하지 않는 범위에 있어서 여러 가지 양태로 실시하는 것이 가능하다.
예를 들어, 전술한 본 실시예의 자동 제조 기계 제어 장치 (100) 에서는, YOGO 차트 (200) 를 작성하여, 그 YOGO 차트 (200) 로부터 제어 프로그램을 생성하는 기능 (도 13 의 YOGO 차트 작성부 (101), 기본 동작 기억부 (102), YOGO 차트 판독 입력부 (103), YOGO 차트 해석부 (104), 제어 프로그램 생성부 (105) 에 대응) 에 더하여, 제어 프로그램에 기초하여 제어를 실행하는 기능 (도 13 의 제어 실행부 (106) 에 대응) 도 구비하고 있는 것으로 하여 설명하였다. 그러나, 이들 복수의 기능의 일부를 탑재한 복수의 장치를 조합함으로써, 전체적으로 자동 제조 기계 제어 장치 (100) 를 형성하도록 해도 된다.
예를 들어, 도 20 에 예시한 바와 같이, 자동 제조 기계 제어 장치 (100) 를, YOGO 차트 처리 장치 (100a) 와, 제어 실행 장치 (100b) 로 분할해도 된다. 그리고, 자동 제조 기계 제어 장치 (100) 에는, YOGO 차트 (200) 의 작성에서 제어 프로그램의 생성까지의 일련의 기능 (즉, YOGO 차트 작성부 (101), 기본 동작 기억부 (102), YOGO 차트 판독 입력부 (103), YOGO 차트 해석부 (104), 제어 프로그램 생성부 (105)) 을 탑재한다. 또, 제어 실행 장치 (100b) 에는, 제어 프로그램에 따라 프로그램 요소를 실행하는 기능 (즉, 제어 실행부 (106), 프로그램 요소 기억부 (107)) 을 탑재하도록 해도 된다.
이렇게 하면, YOGO 차트 (200) 를 작성하거나, 제어 프로그램을 생성하거나 하는 작업은 사무실에 설치해 둔 YOGO 차트 처리 장치 (100a) 로 실시하고, 자동 제조 기계 (1) 의 옆에 설치해 둔 제어 실행 장치 (100b) 에, 생성된 제어 프로그램을 판독 입력시킴으로써, 자동 제조 기계 (1) 를 동작시키는 것이 가능해진다. 또한, 도 20 에 나타낸 예에서는, YOGO 차트 처리 장치 (100a) 가, 본 발명에 있어서의「제어 프로그램 생성 장치」에 대응한다.
또, 도 7 ∼ 도 9 에 예시한 수치 테이블 (206b) 에는, 필요에 따라 여러 가지 항목을 설정할 수도 있다. 예를 들어, 도 7 ∼ 도 9 에 예시한 항목에 더하여,「동작 대기 시간」이라는 항목을 설정해도 된다. 이「동작 대기 시간」에는, 다음과 같은 시간을 설정한다. 먼저, 전술한 바와 같이 수치 테이블 (206b) 은, 동작 기술 (206a) 과 조합되어 기본 동작을 규정하고 있고, 그 기본 동작은 YOGO 차트 (200) 에 기입됨으로써, 동작하는 액추에이터와 동작하는 타이밍을 규정한다. 즉, YOGO 차트 (200) 상에서 좌표 위치 (N, M) 에 기입된 기본 동작은, 액추에이터 번호가 N 인 액추에이터를, 부분 기간 번호가 M 번인 타이밍에, 기본 동작시키는 것을 나타내고 있다. 그러나, 수치 테이블 (206b) 에「동작 대기 시간」이라는 항목이 포함되어 있는 경우에는, 부분 기간 번호가 M 번인 타이밍이 되어도 바로 액추에이터가 동작하기 시작하는 것이 아니라, 동작 대기 시간으로 설정된 시간이 경과한 후에 액추에이터가 동작한다.
도 21 에는,「Ω-AA」라는 동작 기술 (206a) 에 조합하여 사용되는 수치 테이블 (206b) 에,「동작 대기 시간」이라는 항목이 설정되어 있는 모습이 예시되어 있다. 도 21(a) 에 예시한 수치 테이블 (206b) 에는,「동작 대기 시간」에 5 초로 설정되어 있다. 여기서, 동작 기술 (206a) 이 조합되는「Ω-AA」라는 동작 기술 (206a) 은 척의 개폐 동작을 나타내고 있다. 따라서,「Ω-AA」라는 동작 기술 (206a) 에, 도 21(a) 의 수치 테이블 (206b) 을 조합함으로써, 5 초간이 경과하고 나서 척을 닫기 시작하는 동작을 기술하는 것이 가능해진다. 물론, 도 21(b) 에 예시한 수치 테이블 (206b) 과 같이,「동작 대기 시간」의 0 초로 설정해 두면, 바로 척을 닫기 시작하는 동작을 기술하는 것도 가능해진다.
또, 상기 서술한 실시예에서는, YOGO 차트 (200) 의 기본 동작 (206) 은, 동작 기술 (206a) 과, 수치 테이블 (206b) 을 사용하여 기재되는 것으로 하여 설명하였다. 이 때문에, YOGO 차트 (200) 로부터 제어 프로그램을 생성할 때에는, 동작 기술 (206a) 을 프로그램 요소로 변환함과 함께, 수치 테이블 (206b) 의 각 항목에 기억되어 있는 수치를 판독 출력하여, 프로그램 요소의 인수로서 설정하게 된다. 이렇게 하면, YOGO 차트 (200) 의 작성 후에 각 액추에이터의 동작을 조절하는 경우에는, (YOGO 차트 (200) 는 변경하지 않고) 수치 테이블 (206b) 의 내용을 변경하면 되므로, 매우 편리하다. 그러나, 프로그램 요소에 설정하는 인수의 개수가 많아지지 않는 한은 (예를 들어, 10 개 이하이면), 수치 테이블 (206b) 대신에, 복수의 수치 파라미터를 설정하도록 해도 된다. 이 경우에는, 기본 동작 (206) 은, 동작 기술 (206a) 과, 복수의 수치 파라미터를 사용하여 기재되게 된다.
도 22 는, YOGO 차트 (200) 상의 기본 동작 (206) 이, 동작 기술 (206a) 과, 복수의 수치 파라미터 (206c) 를 사용하여 기재된 모습을 예시한 설명도이다. 도 22(a) 에는,「Q-AB」라는 동작 기술 (206a) 과,「Θ1」,「RV1」,「RT1」이라는 수치 파라미터 (206c) 를 사용하여 기본 동작 (206) 이 기재되어 있다. 여기서, 전술한 바와 같이「Q-AB」라는 동작 기술 (206a) 은, AC 서보 모터에 감속 기구를 조합한 액추에이터에 회전 동작시키는 것을 나타내고 있기 때문에 (도 6 참조), 인수로는「회전 각도」와「회전 속도」와「회전 토크」를 설정할 필요가 있다 (도 8 참조). 그래서, 도 22(a) 에 나타낸 예에서는, 이들에 대응하는 3 개의 수치 파라미터 (206c) 가 설정되어 있다. 여기서, 도 22(a) 중에 나타낸「Θ1」은「회전 각도」를 나타내는 수치 파라미터 (206c) 이고,「RV1」은「회전 속도」를 나타내는 수치 파라미터 (206c) 이고,「RT1」은「회전 토크」를 나타내는 수치 파라미터 (206c) 이다. 또, 각각의 수치 파라미터 (206c) (즉,「Θ1」,「RV1」,「RT1」) 의 수치는, 기본 동작 기억부 (102) 에 미리 기억해 둔다.
또, 도 22(b) 에는,「Q-AA」라는 동작 기술 (206a) 과,「OV1」,「OF1」이라는 수치 파라미터 (206c) 를 사용하여 기본 동작 (206) 이 기재되어 있다. 전술한 바와 같이「Q-AA」라는 동작 기술 (206a) 은, AC 서보 모터에 척 기구를 조합한 액추에이터에 개폐 동작시키는 것을 나타내고 있기 때문에 (도 6 참조), 인수로는「개폐 속도」와「개폐 하중」을 설정할 필요가 있다 (도 7 참조). 그래서, 도 22(b) 에 나타낸 예에서는,「개폐 속도」를 나타내는 수치 파라미터 (206c) (「OV1」) 와,「개폐 하중」을 나타내는 수치 파라미터 (206c) (「OF1」) 가 설정되어 있다. 또, 이들 수치 파라미터 (206c) (즉,「OV1」,「OF1」) 의 수치는, 기본 동작 기억부 (102) 에 미리 기억해 둔다.
이와 같이 해도, YOGO 차트 (200) 상의 기본 동작 (206) 을, 동작 기술 (206a) 과 복수의 수치 파라미터 (206c) 를 사용하여 기재할 수 있다. 그리고, YOGO 차트 (200) 의 작성 후에 액추에이터의 동작을 조절하는 경우에는, YOGO 차트 (200) 를 변경하지 않아도, 기본 동작 기억부 (102) 에 기억해 둔 수치를 변경하면 된다.
또, YOGO 차트 (200) 에 기본 동작 (206) 을 기재할 때에는, 동작 기술 (206a) 과 수치 테이블 (206b) 을 사용하여 기재하는 방법과, 동작 기술 (206a) 과 복수의 수치 파라미터 (206c) 를 사용하여 기재하는 방법을 혼재시켜 기재하도록 해도 상관없다.
또, 자동 제조 기계 (1) 의 제어에서는, 제조 효율 (시간당 제조수) 을 가능한 한 높일 것이 요청되는 경우가 있다. 이와 같은 경우에는, 기본 동작 (206) 의 종료 전에, 다음 기본 동작 (206) 의 개시를 허가하는 위치를, 수치 테이블 (206b) 또는 수치 파라미터 (206c) 에 설정 가능하게 해도 된다.
예를 들어, 도 5 에 예시한 YOGO 차트 (200) 에서는, 부분 기간 번호가 1 번인 부분 기간에서 동작하는 액추에이터는 액추에이터 (13) 뿐이고, 부분 기간 번호가 2 번인 부분 기간에서 동작하는 액추에이터는 액추에이터 (11) 뿐으로 되어 있다. 따라서, 액추에이터 (13) 의 동작이 종료되면, 액추에이터 (11) 의 동작이 개시되게 된다. 그러나, 액추에이터 (13) 의 동작이 종료되기 전에, 액추에이터 (11) 의 동작을 개시하면, 액추에이터 (11) 의 동작 종료를 앞당길 수 있다.
예를 들어, 도 5 의 YOGO 차트 (200) 에서는, 액추에이터 (13) 의 기본 동작 (206) 은, 동작 기술 (206a) 이「Ω-AC」이고, 수치 테이블 (206b) 이「AC-B11」로 되어 있다. 「Ω-AC」라는 동작 기술 (206a) 은 액추에이터를 진퇴동시키는 동작을 나타내고 있다 (도 6 참조). 또, 도 9(c) 에 나타낸 예에서는,「AC-B11」이라는 수치 테이블 (206b) 에는, 진퇴동시키는 이동량으로서,「(+)46 ㎜」가 설정되어 있다. 따라서, 액추에이터 (13) 를 46 ㎜ 만큼 전진시키면, 다음 액추에이터 (11) 의 동작을 개시하게 된다. 그러나, 액추에이터 (13) 의 이동량이 46 ㎜ 에 도달하기 전 (예를 들어 이동량이 43 ㎜) 의 시점에서, 다음 액추에이터 (11) 의 동작을 개시하면, 액추에이터 (11) 의 동작 종료를 앞당길 수 있다. 이러한 것을 가능하게 하려면, 전술한 수치 테이블 (206b) 또는 수치 파라미터 (206c) 중에, 다음 기본 동작의 개시를 허가하는 위치 (이하, 다음 동작 허가 위치) 를 설정해 두면 된다.
도 23 은, 수치 테이블 (206b) 또는 수치 파라미터 (206c) 에 다음 동작 허가 위치가 설정된 모습을 예시한 설명도이다. 도 23(a) 에는 수치 테이블 (206b) 중의 항목 중 하나로서, 다음 동작 허가 위치가 설정된 모습을 나타내고 있고, 도 23(b) 에는 복수의 수치 파라미터 (206c) 중 하나로서, 다음 동작 허가 위치가 설정된 모습을 나타내고 있다.
도 23(a) 에 예시한 수치 테이블 (206b) 에서는, 도 9(c) 에 예시한 수치 테이블 (206b) 에 대해,「다음 동작 허가 위치」라는 항목이 추가되어 있고, 이 항목에는「-5 (㎜)」라는 수치가 설정되어 있다. 수치 테이블 (206b) 의「이동량」이라는 항목에 설정되어 있는 수치는「46 (㎜)」이기 때문에, 이동량 41 (㎜) (= 46 - 5) 에 도달하면, 다음 액추에이터의 기본 동작 (206) 이 개시 가능해지는 것을 나타내고 있다.
도 23(b) 에 나타낸 예에서는,「Ω-AC」라는 동작 기술 (206a) 에 대해 설정된 복수의 수치 파라미터 (206c) 중 하나에, 다음 동작 허가 위치가 설정되어 있다. 즉,「LM1」이라는 수치 파라미터 (206c) 는 이동량을 나타내고 있고,「ALM1」이라는 수치 파라미터 (206c) 는 다음 동작 허가 위치를 나타내고 있다. 따라서,「Ω-AC」라는 동작 기술 (206a) 의 기본 동작 (206) 은, 이동량이,「LM1」이라는 수치 파라미터 (206c) 에 설정된 수치에 도달할 때까지 계속되지만,「ALM1」이라는 수치 파라미터 (206c) 에 의해 설정된 수치 (= LM1 - ALM1) 에 이동량이 도달하면, 다음 기본 동작 (206) 을 개시하는 것이 가능해진다.
이상에서는, 도 5 에 예시한 YOGO 차트 (200) 상에서, 부분 기간 번호가 1 번인 부분 기간에 설정되어 있는 액추에이터 (13) 에 대해 설명하였다. 부분 기간 번호가 1 번인 부분 기간에는 액추에이터 (13) 밖에 설정되어 있지 않기 때문에, 액추에이터 (13) 의 이동량이 다음 동작 허가 위치에 도달하면, 다음 부분 기간 (즉, 부분 기간 번호가 2 번인 부분 기간) 에 설정된 액추에이터 (11) 의 기본 동작 (206) 이 개시된다. 또, 액추에이터 (11) 의 기본 동작 (206) 에 대해서도, 동일하게 하여 다음 동작 허가 위치를 설정해 두면, 액추에이터 (11) 의 이동량 (액추에이터 (11) 의 동작 양태는 회전 동작이므로, 실제로는 회전 각도) 이 다음 동작 허가 위치에 도달한 시점에서, 그 다음 부분 기간의 액추에이터 (12) 의 기본 동작 (206) 이 개시된다.
또, 부분 기간 번호가 4 번인 부분 기간에는 액추에이터 (10) 의 기본 동작 (206) 밖에 설정되어 있지 않지만, 다음 부분 기간 (즉 부분 기간 번호가 5 번인 부분 기간) 에는, 3 개의 액추에이터 (14 ∼ 16) 의 기본 동작 (206) 이 설정되어 있다. 따라서, 액추에이터 (10) 의 이동량이 다음 동작 허가 위치에 도달하면, 3 개의 액추에이터 (14 ∼ 16) 의 기본 동작 (206) 이 개시되게 된다. 또한, 액추에이터 (14 ∼ 16) 는 시퀀스 제어되는 액추에이터로서, 이동량이나 회전 각도 등을 지정하여 제어되는 것이 아니므로, 다음 동작 허가 위치가 설정되는 경우는 없다.
또, 부분 기간 번호가 7 번인 부분 기간에는 액추에이터 (12) 의 기본 동작 (206) 밖에 설정되어 있지 않지만, 직전의 부분 기간 (즉 부분 기간 번호가 6 번인 부분 기간) 에는, 액추에이터 (10) 및 액추에이터 (17) 의 2 개의 기본 동작 (206) 이 설정되어 있다. 따라서, 이들 2 개의 액추에이터 (10, 17) 의 이동량이 모두 다음 동작 허가 위치에 도달한 후에, 액추에이터 (12) 의 기본 동작 (206) 이 개시되게 된다.
이와 같이, 서보 제어되는 액추에이터에 대해 다음 동작 허가 위치를 설정해 가면, 자동 제조 기계 (1) 의 동작 종료를 앞당길 수 있으므로, 제조 효율을 높일 수 있다. 또, 다음 동작 허가 위치를 설정할 때에는, 처음에는 수치 0 을 설정해 두고, 자동 제조 기계 (1) 를 동작시키면서, 수치 테이블 (206b) 혹은 수치 파라미터 (206c) 의 설정을 수정하여, 조금씩 다음 동작 허가 위치의 수치를 늘려 가면, 적절한 다음 동작 허가 위치를 용이하게 설정하는 것이 가능해진다.
1 : 자동 제조 기계
2 : 레일
3 : 반송 유닛
3a : 파지축
3b : 척
4 : 가공 유닛
11 ∼ 20 : 액추에이터
10d ∼ 20d : 드라이버 회로
50 : 컴퓨터
100 : 자동 제조 기계 제어 장치
100a : YOGO 차트 처리 장치
100b : 제어 실행 장치
100m : 모니터 화면
100s : 조작 입력 버튼
102 : 기본 동작 기억부
105 : 제어 프로그램 생성부
106 : 제어 실행부
107 : 프로그램 요소 기억부
110 : 제어 프로그램 생성 장치
201 : 구획선
202 : 트리거선
203 : 동작선
204 : 시점
205 : 종점
206 : 기본 동작
206a : 동작 기술
206b : 수치 테이블
206c : 수치 파라미터

Claims (6)

  1. 복수의 액추에이터 (10 ∼ 20) 를 구비한 자동 제조 기계 (1) 의 제어 프로그램을 생성하는 제어 프로그램 생성 장치 (100a, 110) 로서,
    상기 액추에이터의 자유도마다의 동작을 나타내는 기본 동작 (206) 을, 상기 기본 동작을 실현하는 프로그램 요소와 대응지어 기억하고 있는 기본 동작 기억부 (102) 와,
    상기 자동 제조 기계가 동작을 개시하고 나서 종료될 때까지의 동작 기간이 복수의 부분 기간으로 분할되어 있고, 상기 자동 제조 기계의 동작이 복수의 상기 기본 동작으로 분해됨과 함께, 상기 기본 동작이 상기 복수의 부분 기간 중 어느 것에 할당됨으로써 상기 자동 제조 기계의 동작이 기술된 동작 차트 (200) 를 판독 입력하는 동작 차트 판독 입력부 (103) 와,
    상기 동작 차트 상의 복수의 상기 부분 기간에 할당된 복수의 상기 기본 동작의 상기 프로그램 요소를, 상기 동작 차트 상에서의 상기 부분 기간의 순서에 따라 결합함으로써, 상기 자동 제조 기계를 동작시키는 상기 제어 프로그램을 생성하는 제어 프로그램 생성부 (105) 를 구비하고,
    상기 기본 동작 기억부는, 상기 기본 동작의 내용을, 정성적으로 상기 기본 동작을 기술하기 위한 동작 기술 (206a) 과, 상기 기본 동작의 정량 사항을 수치에 의해 기술하기 위한 수치 기술로 나눈 후에, 상기 기본 동작의 동작 기술에 대응하는 상기 프로그램 요소와, 상기 수치 기술에 대응하는 수치 테이블 (206b) 또는 상기 수치 기술에 대응하는 복수의 수치 파라미터 (206c) 를 기억하고 있고,
    상기 동작 차트 판독 입력부는, 상기 기본 동작이, 상기 동작 기술과, 상기 수치 테이블 또는 상기 복수의 수치 파라미터를 사용하여 기재된 상기 동작 차트를 판독 입력하고 있고,
    상기 제어 프로그램 생성부는, 복수의 상기 프로그램 요소를 결합할 때에, 상기 프로그램 요소의 상기 동작 기술과 함께 기재된 상기 수치 테이블 또는 상기 복수의 수치 파라미터에 따라, 상기 프로그램 요소에 수치를 설정하는 것을 특징으로 하는 제어 프로그램 생성 장치.
  2. 제 1 항에 있어서,
    상기 기본 동작 기억부에 기억되어 있는 상기 수치 테이블 또는 상기 복수의 수치 파라미터에는, 상기 기본 동작의 동작량 또는 동작 속도 또는 동작 하중의 적어도 1 개를 포함한 수치가 설정되어 있는 것을 특징으로 하는 제어 프로그램 생성 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 기본 동작 기억부는, 상기 수치 테이블에 수치가 설정되어 있지 않은 경우에 참조되는 참조 테이블을 기억하고 있는 것을 특징으로 하는 제어 프로그램 생성 장치.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 기본 동작 기억부는, 상기 기본 동작의 동작 개시를 대기하는 동작 대기 시간을 포함한 상기 수치 테이블 또는 상기 복수의 수치 파라미터를 기억하고 있는 것을 특징으로 하는 제어 프로그램 생성 장치.
  5. 복수의 액추에이터 (10 ∼ 20) 를 구비한 자동 제조 기계 (1) 의 제어 프로그램을 컴퓨터에 의해 생성하는 제어 프로그램 생성 방법으로서,
    상기 자동 제조 기계가 동작을 개시하고 나서 종료될 때까지의 동작 기간이 복수의 부분 기간으로 분할되어 있고, 상기 자동 제조 기계의 동작이, 상기 액추에이터의 자유도마다의 동작을 나타내는 복수의 기본 동작 (206) 으로 분해됨과 함께, 상기 기본 동작이 상기 복수의 부분 기간 중 어느 것에 할당됨으로써 상기 자동 제조 기계의 동작이 기술된 동작 차트 (200) 를 판독 입력하는 동작 차트 판독 입력 공정 (STEP1) 과,
    상기 동작 차트를 해석함으로써, 상기 동작 차트에 포함되는 복수의 상기 기본 동작과, 복수의 상기 기본 동작이 할당된 상기 부분 기간을 추출하는 동작 차트 해석 공정 (STEP2) 과,
    상기 기본 동작을 실현하기 위한 프로그램 요소를, 상기 동작 차트 중에서 상기 기본 동작이 할당된 상기 부분 기간의 차례에 따라 결합함으로써, 상기 자동 제조 기계를 동작시키는 상기 제어 프로그램을 생성하는 제어 프로그램 생성 공정 (STEP3) 을 구비하고,
    상기 동작 차트 판독 입력 공정은, 상기 동작 차트 중의 상기 기본 동작이, 상기 기본 동작의 내용을 정성적으로 기술하기 위한 동작 기술 (206a) 과, 상기 기본 동작의 정량 사항을 수치에 의해 기술하기 위한 수치 테이블 (206b) 또는 상기 복수의 수치 파라미터 (206c) 를 사용하여 기재된 상기 동작 차트를 판독 입력하는 공정이고,
    상기 제어 프로그램 생성 공정은, 상기 기본 동작의 상기 동작 기술과, 상기 동작 기술을 실현하기 위한 프로그램 요소가 대응지어져 기억된 대응 관계를 참조함으로써, 상기 동작 기술을 상기 프로그램 요소로 변환함과 함께, 상기 동작 기술과 함께 기재된 상기 수치 테이블 또는 상기 복수의 수치 파라미터에 따라 상기 프로그램 요소에 수치를 설정한 후, 상기 프로그램 요소를 상기 부분 기간의 차례에 따라 결합함으로써 상기 제어 프로그램을 생성하는 공정인 것을 특징으로 하는 제어 프로그램 생성 방법.
  6. 복수의 액추에이터 (10 ∼ 20) 를 구비한 자동 제조 기계 (1) 의 제어 프로그램을 생성하는 방법을, 컴퓨터를 사용하여 실현하는 프로그램으로서,
    상기 자동 제조 기계가 동작을 개시하고 나서 종료될 때까지의 동작 기간이 복수의 부분 기간으로 분할되어 있고, 상기 자동 제조 기계의 동작이, 상기 액추에이터의 자유도마다의 동작을 나타내는 복수의 기본 동작 (206) 으로 분해됨과 함께, 상기 기본 동작이 상기 복수의 부분 기간 중 어느 것에 할당됨으로써 상기 자동 제조 기계의 동작이 기술된 동작 차트 (200) 를 판독 입력하는 동작 차트 판독 입력 기능 (STEP1) 과,
    상기 동작 차트를 해석함으로써, 상기 동작 차트에 포함되는 복수의 상기 기본 동작과, 복수의 상기 기본 동작이 할당된 상기 부분 기간을 추출하는 동작 차트 해석 기능 (STEP2) 과,
    상기 기본 동작을 실현하기 위한 프로그램 요소를, 상기 동작 차트 중에서 상기 기본 동작이 할당된 상기 부분 기간의 차례에 따라 결합함으로써, 상기 자동 제조 기계를 동작시키는 상기 제어 프로그램을 생성하는 제어 프로그램 생성 기능 (STEP3) 을 상기 컴퓨터에 의해 실현시키고 있고,
    상기 동작 차트 판독 입력 기능은, 상기 동작 차트 중의 상기 기본 동작이, 상기 기본 동작의 내용을 정성적으로 기술하기 위한 동작 기술 (206a) 과, 상기 기본 동작의 정량 사항을 수치에 의해 기술하기 위한 수치 테이블 (206b) 또는 상기 복수의 수치 파라미터 (206c) 를 사용하여 기재된 상기 동작 차트를 판독 입력하는 기능이고,
    상기 제어 프로그램 생성 기능은, 상기 기본 동작의 상기 동작 기술과, 상기 동작 기술을 실현하기 위한 프로그램 요소가 대응지어져 기억된 대응 관계를 참조함으로써, 상기 동작 기술을 상기 프로그램 요소로 변환함과 함께, 상기 동작 기술과 함께 기재된 상기 수치 테이블 또는 상기 복수의 수치 파라미터에 따라 상기 프로그램 요소에 수치를 설정한 후, 상기 프로그램 요소를 상기 부분 기간의 차례에 따라 결합함으로써 상기 제어 프로그램을 생성하는 기능인 것을 특징으로 하는 프로그램.
KR1020227014614A 2020-01-28 2021-01-26 제어 프로그램 생성 장치, 제어 프로그램 생성 방법, 프로그램 KR102476169B1 (ko)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
JP2020011386A JP6787616B1 (ja) 2020-01-28 2020-01-28 制御プログラム生成装置、制御プログラム生成方法、プログラム
JPJP-P-2020-011386 2020-01-28
JPJP-P-2020-075017 2020-04-20
JP2020075017A JP6829505B1 (ja) 2020-04-20 2020-04-20 制御プログラム生成装置、制御プログラム生成方法、プログラム
JPJP-P-2020-080857 2020-04-30
JP2020080857 2020-04-30
JP2021006778A JP2021177371A (ja) 2020-04-30 2021-01-19 制御プログラム生成装置、制御プログラム生成方法、プログラム
JPJP-P-2021-006778 2021-01-19
JP2021009660A JP7114034B2 (ja) 2020-04-30 2021-01-25 制御プログラム生成装置、制御プログラム生成方法、プログラム
JPJP-P-2021-009660 2021-01-25
PCT/JP2021/002590 WO2021153544A1 (ja) 2020-01-28 2021-01-26 制御プログラム生成装置、制御プログラム生成方法、プログラム

Publications (2)

Publication Number Publication Date
KR20220062141A true KR20220062141A (ko) 2022-05-13
KR102476169B1 KR102476169B1 (ko) 2022-12-08

Family

ID=77078315

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227014614A KR102476169B1 (ko) 2020-01-28 2021-01-26 제어 프로그램 생성 장치, 제어 프로그램 생성 방법, 프로그램

Country Status (5)

Country Link
US (1) US20220326688A1 (ko)
EP (1) EP4099107B1 (ko)
KR (1) KR102476169B1 (ko)
CN (1) CN115023670A (ko)
WO (1) WO2021153544A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102545437B1 (ko) * 2022-10-31 2023-06-20 채상민 사용자 단말의 요청에 기초하여 액추에이터를 추천 및 세팅하는 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230229140A1 (en) * 2022-01-17 2023-07-20 Opton Co. Ltd. Control program generation apparatus, control program generation method, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000153478A (ja) * 1998-09-03 2000-06-06 Ricoh Elemex Corp ロボットシステム
JP2011245602A (ja) 2010-05-28 2011-12-08 Yaskawa Electric Corp ロボット装置及び加工システム並びに加工品の製造方法
WO2015063925A1 (ja) * 2013-10-31 2015-05-07 三菱電機株式会社 プログラム作成装置、プログラム作成方法、およびプログラム
JP2018192570A (ja) 2017-05-18 2018-12-06 ファナック株式会社 工作機械

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03154105A (ja) * 1989-11-10 1991-07-02 Toshiba Mach Co Ltd Ncプログラム作成装置
JPH11202912A (ja) * 1998-01-20 1999-07-30 Takashi Nishikawa シーケンス制御方法
JP2001101258A (ja) * 1999-10-04 2001-04-13 Hitachi Ltd 配線部における有効負荷容量算出方法及び電子回路の遅延時間算出方法
JP4087629B2 (ja) * 2002-03-26 2008-05-21 株式会社ルネサステクノロジ レイアウト設計方法及びデータライブラリの提供方法
JP2009297877A (ja) * 2008-06-17 2009-12-24 Yamatake Corp ロボット教示プログラム作成装置及び作成方法
WO2013099032A1 (ja) * 2011-12-28 2013-07-04 株式会社安川電機 モーションコントローラ及びモータ制御システム
JP5826121B2 (ja) * 2012-06-18 2015-12-02 株式会社安川電機 機械制御プログラム作成装置、機械制御プログラム作成方法、プログラム及び情報記憶媒体
JP7337494B2 (ja) 2018-11-09 2023-09-04 ユニ・チャーム株式会社 吸収性物品用の透液性シート

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000153478A (ja) * 1998-09-03 2000-06-06 Ricoh Elemex Corp ロボットシステム
JP2011245602A (ja) 2010-05-28 2011-12-08 Yaskawa Electric Corp ロボット装置及び加工システム並びに加工品の製造方法
WO2015063925A1 (ja) * 2013-10-31 2015-05-07 三菱電機株式会社 プログラム作成装置、プログラム作成方法、およびプログラム
JP2018192570A (ja) 2017-05-18 2018-12-06 ファナック株式会社 工作機械

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102545437B1 (ko) * 2022-10-31 2023-06-20 채상민 사용자 단말의 요청에 기초하여 액추에이터를 추천 및 세팅하는 방법
WO2024096233A1 (ko) * 2022-10-31 2024-05-10 채상민 사용자 단말의 요청에 기초하여 액추에이터를 추천 및 세팅하는 방법

Also Published As

Publication number Publication date
KR102476169B1 (ko) 2022-12-08
EP4099107B1 (en) 2024-07-17
EP4099107A4 (en) 2024-02-28
WO2021153544A1 (ja) 2021-08-05
EP4099107A1 (en) 2022-12-07
CN115023670A (zh) 2022-09-06
US20220326688A1 (en) 2022-10-13

Similar Documents

Publication Publication Date Title
KR20220062141A (ko) 제어 프로그램 생성 장치, 제어 프로그램 생성 방법, 프로그램
WO2021153521A1 (ja) 制御プログラム生成装置、制御プログラム生成方法、プログラム
US8706302B2 (en) Method for offline programming of an NC-controlled manipulator
JP2020071734A (ja) 数値制御装置
JP6925794B2 (ja) コントローラ、作業制御装置、多軸動作制御装置、及び駆動制御装置
JP7259860B2 (ja) ロボットの経路決定装置、ロボットの経路決定方法、プログラム
JP7074378B2 (ja) 制御プログラム生成装置、制御プログラム生成方法、プログラム
JP7114034B2 (ja) 制御プログラム生成装置、制御プログラム生成方法、プログラム
KR102476171B1 (ko) 동작 제어 장치, 동작 제어 방법, 프로그램
KR102476170B1 (ko) 제어 프로그램 생성 장치, 제어 프로그램 생성 방법, 프로그램
JP7523116B2 (ja) 制御プログラム生成装置
JP7114035B2 (ja) 動作制御装置、動作制御方法、プログラム
JP2008211888A (ja) 電動機制御装置および電動機制御装置のパラメータ設定装置
TWI859399B (zh) 動作控制裝置、動作控制方法、程式
TW202403480A (zh) 控制程式生成裝置、控制程式生成方法、程式
JP2023104873A (ja) 制御プログラム生成装置、制御プログラム生成方法、プログラム
WO2022269927A1 (ja) プログラム作成装置
JP2024110909A (ja) 制御プログラム生成装置、制御プログラム生成方法、プログラム
CN115480749A (zh) 用于设定线性多轴系统的方法和线性多轴系统
KR19980083295A (ko) 수치제어기의 지-코드 확장방법

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant