KR101415657B1 - 모션 제어 방법 및 장치 - Google Patents

모션 제어 방법 및 장치 Download PDF

Info

Publication number
KR101415657B1
KR101415657B1 KR1020130122925A KR20130122925A KR101415657B1 KR 101415657 B1 KR101415657 B1 KR 101415657B1 KR 1020130122925 A KR1020130122925 A KR 1020130122925A KR 20130122925 A KR20130122925 A KR 20130122925A KR 101415657 B1 KR101415657 B1 KR 101415657B1
Authority
KR
South Korea
Prior art keywords
motion control
execution
condition
event
script
Prior art date
Application number
KR1020130122925A
Other languages
English (en)
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
Application filed by 주식회사 파익스 filed Critical 주식회사 파익스
Priority to KR1020130122925A priority Critical patent/KR101415657B1/ko
Application granted granted Critical
Publication of KR101415657B1 publication Critical patent/KR101415657B1/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
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/33Director till display
    • G05B2219/33116Configuration of motion control
    • 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/34Director, elements to supervisory
    • G05B2219/34208Motion controller
    • 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/35585Motion command profile

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

본 발명은 모션 제어 방법 및 장치에 관한 것으로, 본 발명에 따른 방법은 모션 제어 이벤트에 대한 정보를 수행 조건 테이블에 설정하는 단계, 모션 제어 이벤트가 발생되면, 모션 제어 이벤트에 대한 정보가 수행 조건 테이블에 있는 복수의 수행 조건 중에서 어느 수행 조건을 만족하는지를 판단하는 단계, 판단된 수행 조건에 대응하는 수행 번지를 추출하는 단계, 추출된 수행 번지에 대응하는 스크립트 정보를 읽어 스크립트 정보에 따라 스크립트를 수행하여 발생된 모션 제어 이벤트를 처리하는 단계, 그리고 수행된 스크립트에 대한 결과를 피드백 하여 모션 제어 이벤트로서 입력하는 단계를 포함한다. 본 발명에 의하면, 모션 제어 칩에 이벤트에 따른 스크립트 수행 기능을 내장하여 이벤트의 처리 속도를 향상시킬 수 있다.

Description

모션 제어 방법 및 장치{Method and Apparatus for Controlling Motion}
본 발명은 모션 제어 방법 및 장치에 관한 것으로, 보다 자세하게는 기기에 장착되어 있는 모터를 이용하여 기기의 움직임을 제어할 수 있는 모션 제어 방법 및 장치에 관한 것이다.
일반적으로 모션 제어 장치는 기기에 장착되어 있는 모터를 제어하여 기기를 움직이고자 하는 방향으로 이동시키는 제어 장치로, 각종 전용기기, 공작기기 또는 반도체 장비 등과 같은 기기 장비에 설치되어 기기의 동작을 제어할 수 있다.
모션 제어 장치는 모터의 제어를 전담하는 모션 제어 칩(Motion Control Chip) 및 모션 제어 칩과 외부에 있는 사용자 단말이 상호 작용할 수 있도록 통신하는 인터페이스 CPU(Interface Central Processing Unit)로 이루어질 수 있다.
종래에는 모터의 위치나 속도를 제어하기 위한 이벤트가 발생되면, 모션 제어 칩에서 모터의 현재 위치와 설정된 위치를 비교하여 인터럽트(INT) 신호를 발생시키고, 발생된 인터럽트 신호를 인터페이스 CPU에서 감지하여 인터럽트의 상황을 판단할 수 있도록 하였다.
그러나, 인터페이스 CPU는 인터럽트 신호가 어느 축에서 발생하였는지를 모션 제어 칩을 통해 조회한 후, 출력 신호를 제어해야 하기 때문에 이벤트를 실시간으로 처리하기 어려운 문제점이 있었다. 즉, 인터페이스 CPU의 처리 속도나 작업 스케줄링에 따라 이벤트의 처리 속도가 좌우되는 문제점이 있었다.
그리고, 모션 제어 장치의 특성상 하나의 이벤트가 종료된 후, 다음 이벤트를 처리하는 구조가 빈번하므로 종래에는 인터페이스 CPU에서 특정한 이벤트가 종료되는지 감시하고 있다가 이벤트를 종료해야 하는 비효율적인 문제점이 있으며, 이에 따른 시간 지연이 발생하는 문제점이 있었다.
또한, 복수의 모션 제어 칩을 이용하여 이벤트를 수행해야 하는 경우, 인터페이스 CPU에서는 복수의 모션 제어 칩들이 유기적으로 동작하는 것을 중재해야 하기 때문에 이벤트의 처리 속도가 지연되는 문제점이 있었다.
KR 2009-0021894 A
따라서 본 발명이 해결하고자 하는 과제는 모션 제어 칩에 이벤트에 따른 스크립트 수행 기능을 내장하여 이벤트의 처리 속도를 향상시킬 수 있는 모션 제어 방법 및 장치를 제공하는 것이다.
상기한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 모션 제어 방법은 모션 제어 이벤트에 대한 정보를 수행 조건 테이블에 설정하는 단계, 상기 모션 제어 이벤트가 발생되면, 상기 모션 제어 이벤트에 대한 정보가 상기 수행 조건 테이블에 있는 복수의 수행 조건 중에서 어느 수행 조건을 만족하는지를 판단하는 단계, 상기 판단된 수행 조건에 대응하는 수행 번지를 추출하는 단계, 상기 추출된 수행 번지에 대응하는 스크립트 정보를 읽어 상기 스크립트 정보에 따라 스크립트를 수행하여 상기 발생된 모션 제어 이벤트를 처리하는 단계, 그리고 상기 수행된 스크립트에 대한 결과를 피드백 하여 상기 모션 제어 이벤트로서 입력하는 단계를 포함한다.
상기 판단 단계는 상기 모션 제어 이벤트가 제1 조건과 제2 조건이 조합된 이벤트인 경우, 상기 복수의 수행 조건 중에서 상기 제1 조건에 대응하는 제1 수행 조건을 판단하고, 상기 제2 조건에 대응하는 제2 수행 조건을 판단할 수 있다.
상기 추출 단계는 상기 제1 및 제2 수행 조건을 AND 조합하는 경우, 상기 제1 및 제2 수행 조건을 OR 조합하는 경우나 상기 제1 및 제2 수행 조건을 XOR 조합하는 경우에 대응하는 수행 번지를 추출할 수 있다.
상기 수행 조건 테이블은 상기 제1 수행 조건의 변수 메모리 번지, 상기 변수 메모리 번지의 설정값과 모션 제어 장치에서 사용되는 지령값, 엔코더값 및 속도 프로파일값 중 적어도 어느 하나와의 비교 판단 기준, 상기 제1 수행 조건과 조합할 제2 수행 조건의 테이블 번호 및 상기 제1 수행 조건과 상기 제2 수행 조건의 조합 방식을 포함할 수 있다.
상기 이벤트 수행 단계는 웨이퍼 맵핑 센서가 이동을 하면서 웨이퍼의 유무나 겹침을 확인하는 경우, 상기 웨이퍼 맵핑 센서의 출력값이 변동되면, 엔코더 위치를 FIFO(First In First Out) 메모리에 푸시(Push)하는 단계를 포함하고, 상기 웨이퍼 맵핑 센서의 이동이 완료되면, 상기 FIFO 메모리의 내용을 외부로 전송하는 단계를 더 포함할 수 있다.
한편, 본 발명의 다른 실시예에 의한 제1 모션 제어 칩과 제2 모션 제어 칩을 포함하는 모션 제어 장치의 모션 제어 방법에 있어서, 모션 제어 이벤트에 대한 정보를 상기 제1 모션 제어 칩의 제1 수행 조건 테이블에 설정하는 단계, 상기 모션 제어 이벤트에 대한 정보를 상기 제2 모션 제어 칩의 제2 수행 조건 테이블에 설정하는 단계, 상기 모션 제어 이벤트가 발생되면, 상기 제1 및 제2 수행 조건 테이블에 있는 복수의 수행 조건 중에서 어느 수행 조건을 만족하는지 판단하는 단계, 상기 판단된 수행 조건에 대응하는 제1 및 제2 수행 번지를 추출하는 단계, 상기 추출된 제1 및 제2 수행 번지에 대응하는 제1 및 제2 스크립트 정보를 읽어 상기 제1 및 제2 스크립트 정보에 따라 스크립트를 수행하여 상기 발생된 모션 제어 이벤트를 처리하는 단계, 그리고 상기 제1 및 제2 모션 제어 칩 중 스크립트가 수행된 어느 모션 제어 칩이 상기 수행된 스크립트에 대한 결과를 다른 모션 제어 칩에 전송하고, 상기 다른 모션 제어 칩이 수신된 상기 스크립트를 수행하는 단계를 포함할 수 있다.
상기 판단 단계는 상기 모션 제어 이벤트가 제1 조건과 제2 조건이 조합된 이벤트인 경우, 상기 복수의 수행 조건 중에서 상기 제1 조건에 대응하는 제1 수행 조건을 판단하고, 상기 제2 조건에 대응하는 제2 수행 조건을 판단할 수 있다.
상기 추출 단계는 상기 제1 및 제2 수행 조건을 AND 조합하는 경우, 상기 제1 및 제2 수행 조건을 OR 조합하는 경우나 상기 제1 및 제2 수행 조건을 XOR 조합하는 경우에 대응하는 수행 번지를 추출할 수 있다.
한편, 본 발명의 일 실시예에 따른 모션 제어 장치는 모션 제어 이벤트에 대한 정보를 수행 조건 테이블에 설정하고, 상기 모션 제어 이벤트가 발생되면, 상기 모션 제어 이벤트에 대한 정보가 상기 수행 조건 테이블에 있는 복수의 수행 조건 중에서 어느 수행 조건을 만족하는지를 판단하고, 상기 판단된 수행 조건에 대응하는 수행 번지를 추출하고, 상기 추출된 수행 번지에 대응하는 스크립트 정보를 읽어 상기 스크립트 정보에 따라 스크립트를 수행하여 상기 발생된 모션 제어 이벤트를 처리하고, 상기 수행된 스크립트에 대한 결과를 피드백 하여 상기 모션 제어 이벤트로서 입력하는 모션 제어 칩을 포함할 수 있다.
상기 모션 제어 칩은 상기 모션 제어 이벤트가 제1 조건과 제2 조건이 조합된 이벤트인 경우, 상기 복수의 수행 조건 중에서 상기 제1 조건에 대응하는 제1 수행 조건을 판단하고, 상기 제2 조건에 대응하는 제2 수행 조건을 판단할 수 있다.
상기 모션 제어 칩은 상기 제1 및 제2 수행 조건을 AND 조합하는 경우, 상기 제1 및 제2 수행 조건을 OR 조합하는 경우나 상기 제1 및 제2 수행 조건을 XOR 조합하는 경우에 대응하는 수행 번지를 추출할 수 있다.
상기 수행 조건 테이블은 상기 제1 수행 조건의 변수 메모리 번지, 상기 변수 메모리 번지의 설정값과 모션 제어 장치에서 사용되는 지령값, 엔코더값 및 속도 프로파일값 중 적어도 어느 하나와의 비교 판단 기준, 상기 제1 수행 조건과 조합할 제2 수행 조건의 테이블 번호 및 상기 제1 수행 조건과 상기 제2 수행 조건의 조합 방식을 포함할 수 있다.
상기 모션 제어 칩은 웨이퍼 맵핑 센서가 이동을 하면서 웨이퍼의 유무나 겹침을 확인하는 경우, 상기 웨이퍼 맵핑 센서의 출력값이 변동되면, 엔코더 위치를 FIFO(First In First Out) 메모리에 푸시(Push)하고, 상기 웨이퍼 맵핑 센서의 이동이 완료되면, 상기 FIFO 메모리의 내용을 외부로 전송할 수 있다.
본 발명의 다른 실시예에 의한 모션 제어 장치는 모션 제어 이벤트에 대한 정보를 상기 제1 모션 제어 칩의 제1 수행 조건 테이블에 설정하는 제1 모션 제어 칩, 그리고 상기 모션 제어 이벤트에 대한 정보를 상기 제2 모션 제어 칩의 제2 수행 조건 테이블에 설정하는 제2 모션 제어 칩을 포함하고, 상기 제1 및 제2 모션 제어 칩은 상기 모션 제어 이벤트가 발생되면, 상기 제1 및 제2 수행 조건 테이블에 있는 복수의 수행 조건 중에서 어느 수행 조건을 만족하는지 판단하고, 상기 판단된 수행 조건에 대응하는 제1 및 제2 수행 번지를 추출하고, 상기 추출된 제1 및 제2 수행 번지에 대응하는 제1 및 제2 스크립트 정보를 읽어 상기 제1 및 제2 스크립트 정보에 따라 스크립트를 수행하여 상기 발생된 모션 제어 이벤트를 처리하고, 상기 제1 및 제2 모션 제어 칩 중 스크립트가 수행된 어느 모션 제어 칩이 상기 수행된 스크립트에 대한 결과를 다른 모션 제어 칩에 전송하고, 상기 다른 모션 제어 칩이 수신된 상기 스크립트를 수행한다.
상기 제1 및 제2 모션 제어 칩은 상기 모션 제어 이벤트가 제1 조건과 제2 조건이 조합된 이벤트인 경우, 상기 복수의 수행 조건 중에서 상기 제1 조건에 대응하는 제1 수행 조건을 판단하고, 상기 제2 조건에 대응하는 제2 수행 조건을 판단할 수 있다.
상기 제1 및 제2 모션 제어 칩은 상기 제1 및 제2 수행 조건을 AND 조합하는 경우, 상기 제1 및 제2 수행 조건을 OR 조합하는 경우나 상기 제1 및 제2 수행 조건을 XOR 조합하는 경우에 대응하는 수행 번지를 추출할 수 있다.
이와 같이 본 발명의 실시예에 따른 모션 제어 방법 및 장치에 따르면, 모션 제어 칩에 이벤트에 따른 스크립트 수행 기능을 내장하여 이벤트의 처리 속도를 향상시킬 수 있는 장점이 있다. 즉, 인터페이스 CPU의 처리 속도나 작업 스케줄링에 따라 모션 제어 칩의 처리 속도가 좌우되지 않으며, 이에 따라 이벤트를 즉각적으로 처리할 수 있는 장점이 있다.
또한, 이벤트와 다른 이벤트 간의 처리 능력을 향상시킬 수 있는 장점이 있다.
그리고, 모션 제어 칩과 다른 모션 제어 칩 간의 유기적 실행을 도모할 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 모션 제어 시스템의 구성도이다.
도 2는 도 1에 도시한 모션 제어 장치의 상세 구성도이다.
도 3은 수행 조건 테이블의 예이다.
도 4는 엔코더 위치에 대한 수행 조건의 예이다.
도 5는 지령 위치에 대한 수행 조건의 예이다.
도 6은 속도 프로파일 구간에 대한 수행 조건의 예이다.
도 7은 리미트 신호에 대한 수행 조건의 예이다.
도 8은 타이머에 대한 수행 조건의 예이다.
도 9는 범용 입력 신호에 대한 수행 조건의 예이다.
도 10은 칩간 통신에서 스크립트 실행 명령 수신 시에 대한 수행 조건의 예이다.
도 11은 수행 번지 테이블의 예이다.
도 12는 스크립트 저장 테이블의 예이다.
도 13은 수행 결과 테이블의 예이다.
도 14는 제1 및 제2 조건이 조합된 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 수행 조건 테이블의 예이다.
도 15는 제1 및 제2 조건이 조합된 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 변수 메모리의 예이다.
도 16은 제1 및 제2 조건이 조합된 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 수행 번지 테이블의 예이다.
도 17은 제1 및 제2 조건이 조합된 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 스크립트 저장 테이블의 예이다.
도 18은 웨이퍼 맵핑 센서가 이동을 하면서 웨이퍼의 유무나 겹침을 확인하는 모션 제어 이벤트 시나리오의 예이다.
도 19는 도 18에 도시한 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 수행 조건 테이블의 예이다.
도 20은 도 18에 도시한 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 변수 메모리의 예이다.
도 21은 도 18에 도시한 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 수행 번지 테이블의 예이다.
도 22는 도 18에 도시한 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 스크립트 저장 테이블의 예이다.
도 23은 제품의 감지 유무에 따라 제품의 이송을 제어하는 모션 제어 이벤트 시나리오의 예이다.
도 24는 제1 및 제2 모션 제어 칩에서 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 제1 수행 조건 테이블의 예이다.
도 25는 제1 및 제2 모션 제어 칩에서 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 변수 메모리의 예이다.
도 26은 제1 및 제2 모션 제어 칩에서 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 수행 번지 테이블의 예이다.
도 27은 제1 및 제2 모션 제어 칩에서 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 제1 스크립트 저장 테이블의 예이다.
도 28은 제1 및 제2 모션 제어 칩에서 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 제2 수행 조건 테이블의 예이다.
도 29는 제1 및 제2 모션 제어 칩에서 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 제2 스크립트 저장 테이블의 예이다.
도 30은 본 발명의 일 실시예에 따른 모션 제어 과정을 보여주는 동작 흐름도이다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 모션 제어 시스템의 구성도를 나타낸다.
도 1에 도시한 바와 같이, 모션 제어 시스템(1)은 사용자 단말(100), 모션 제어 장치(200) 및 드라이버(300)를 포함하여 구성된다.
사용자 단말(100)은 모터(20)에 대한 위치 및 속도 제어 신호를 포함하는 제어 명령을 생성하여 모션 제어 장치(200)로 전달할 수 있다.
엔코더(40)는 모터(20)의 회전각을 감지하여 펄스수로 출력함으로써 모터(20)의 회전 상태를 감시할 수 있다.
축 관련 센서(60)는 모터(20)의 축에 관련된 센서로, 리미트(Limit) 센서나 홈(Home) 센서 등으로 이루어질 수 있다. 이 중에서 리미트 센서는 이동부가 기구부 양단의 끝 이상으로 움직이지 않도록 전기적으로 막아주는 역할을 수행하고, 홈 센서는 축의 모션 구동의 기준점이 될 수 있다.
모션 제어 장치(200)는 엔코더(40)로부터 모터(20)에 대한 회전 상태 데이터를 전달 받고, 모터에 대한 회전 상태 데이터를 통해 모터(20)의 위치 및 속도를 판별할 수 있다.
그리고, 모션 제어 장치(200)는 사용자 단말(100)로부터 전달 받은 제어 명령에 포함된 모터(20)에 대한 위치 및 속도 제어 신호에 따라 모터(20)의 위치 및 속도가 제어되도록 펄스 신호를 생성하여 드라이버(300)로 전달할 수 있다.
드라이버(300)는 모션 제어 장치(200)로부터 펄스 신호를 전달받아 모터(20)에 실제 전류를 전달할 수 있는 PWM(Pulse Width Modulation) 신호를 전달하여 모터(20)를 동작시킬 수 있다.
도 2는 도 1에 도시한 모션 제어 장치의 상세 구성도를 나타낸다.
도 2에 도시한 바와 같이, 모션 제어 장치(200)는 인터페이스 CPU(220) 및 모션 제어 칩(240)으로 이루어질 수 있다.
인터페이스 CPU(220)는 사용자 단말(100)과 모션 제어 칩(240)을 상호 연결할 수 있도록 사용자 단말(100)로부터 제어 명령을 입력 받아 모션 제어 칩(240)으로 전달하거나 이에 상응하는 응답을 모션 제어 칩(240)으로부터 전달 받아 사용자 단말(100)로 출력하는 기능을 수행할 수 있다.
모션 제어 칩(240)은 프로그래머블 펄스 발생기(Programmable Pulse Generator) 또는 프로그래머블 모터 제어 IC(Integrated Circuit)라고도 하며, 모션 제어부(242), 메모리(244) 및 통신 처리부(246)를 포함할 수 있다.
모션 제어부(242)는 모션 제어 이벤트에 대한 정보를 수행 조건 테이블(244a)에 설정할 수 있다.
여기서, 모션 제어 이벤트는 크게 축 이벤트, 스크립트 수행 결과 이벤트, 공통 이벤트 및 타이머 이벤트로 이루어질 수 있다.
축 이벤트는 엔코더 위치와 설정된 값의 비교에 대한 이벤트, 지령 위치와 설정된 값의 비교에 대한 이벤트, 속도 프로파일의 구간 즉, 가속 구간 시작, 드라이브(정속) 구간 시작, 감속 구간 시작, 종료(지령 펄스 출력이 종료 시) 구간에 대한 이벤트 또는 각종 축에 관련된 신호의 상태 변경에 따른 이벤트를 포함할 수 있다. 각종 축에 관련된 신호의 상태 변경에 따른 이벤트는 리미트(Limit) 센서가 온(ON)/오프(OFF)된 경우, 인포지션(Inposition) 신호가 온(ON)/오프(OFF)된 경우, ORG 신호가 온(ON)/오프(OFF)된 경우, Emergency 신호가 온(ON)/오프(OFF)된 경우, 알람(Alarm) 신호가 온(ON)/오프(OFF)된 경우와 같이 축에 관련된 신호의 상태가 변경된 경우에 해당하는 이벤트를 포함할 수 있다.
스크립트 수행 결과 이벤트는 스크립트의 수행 결과에 따른 실행 조건 이벤트를 포함할 수 있다. 예컨대, 스크립트가 실행되면, 진실(True) 또는 거짓(False)의 결과를 생성하는데, 이 결과가 다시 이벤트의 조건이 되어 다양한 조건 처리를 가능하게 할 수 있다. 이와 같이, 복수의 이벤트가 연계되어 수행되기 때문에 이벤트와 다른 이벤트 간의 시간 지연을 줄일 수 있다.
공통 이벤트는 동기 시작/정지 신호, 사용자 정의 입력/출력 신호, 변수 비교 및 증가감에 대한 이벤트를 포함할 수 있다.
타이머 이벤트는 모션 제어 칩(240)의 내부에 구현된 타이머가 지정된 시간이 된 경우에 발생되는 이벤트로 이루어질 수 있다.
모션 제어부(242)는 모션 제어 이벤트가 발생되면, 모션 제어 이벤트에 대한 정보가 수행 조건 테이블(244a)에 있는 복수의 이벤트 수행 조건 중에서 어느 이벤트 수행 조건을 만족하는지 판단한다.
상술한 모션 제어부(242)의 동작에 대하여 설명하기 전에 메모리(244)에 저장되는 수행 조건 테이블에 대하여 보다 자세하게 설명하도록 한다.
도 3은 수행 조건 테이블의 예, 도 4는 엔코더 위치에 대한 수행 조건의 예, 도 5는 지령 위치에 대한 수행 조건의 예, 도 6은 속도 프로파일 구간에 대한 수행 조건의 예, 도 7은 리미트 신호에 대한 수행 조건의 예, 도 8은 타이머에 대한 수행 조건의 예, 도 9는 범용 입력 신호에 대한 수행 조건의 예 및 도 10은 칩간 통신에서 스크립트 실행 명령 수신 시에 대한 수행 조건의 예를 나타낸다.
도 3에 도시한 바와 같이, 수행 조건 테이블(244a)은 이벤트가 수행될 다양한 조건에 대한 테이블로, 각 축마다 설정될 부분과 공통으로 설정될 부분을 포함할 수 있으며, 이를 연속된 테이블 번호로 설정할 수 있다. 각 축마다 설정될 부분은 엔코더 위치, 지령 위치, 속도 프로파일 구간, 리미트(Limit) 신호, 타이머, 이벤트 실행 결과에 따른 수행 조건을 포함할 수 있으며, 공통으로 설정될 부분은 동기 시작신호, 동기 정지신호, 범용 입력(General Input) 신호, 변수 메모리에 대한 수행 조건을 포함할 수 있다. 이외에, 칩간 통신에서 스크립트 실행 명령 수신 시에 대한 수행 조건을 포함할 수 있다.
수행 조건은 이벤트마다 32 비트를 도 4 내지 도 10과 같이 설정할 수 있으며, 다른 수행 조건과 조합될 수 있다.
보다 구체적으로 설명하면, 엔코더 위치 및 지령 위치에 대한 수행 조건은 도 4 및 도 5와 같이, 0~15 비트는 변수 메모리 번지, 16~17 비트는 변수 메모리 번지의 설정값과 모션 제어 장치에서 사용되는 지령값, 엔코더값 및 속도 프로파일값 중 적어도 어느 하나와의 비교 판단 기준, 18~25 비트는 조합하고자 하는 수행 조건의 테이블 번호, 26~27 비트는 현재 조건과 조합하고자 하는 수행 조건의 조합 방식, 28~31 비트는 예약 또는 예비 비트로, 설정하고자 하는 수행 조건에 따라 추가될 수 있다.
이 중에서 변수 메모리 번지는 변수를 저장한 메모리의 주소를 나타내며, 비교 판단 기준은 변수 메모리 번지의 설정값과 엔코더 및 지령 위치값이 같은 경우는 00으로 나타내고, 변수보다 엔코더 및 지령 위치값이 큰 경우는 01로 나타내고, 변수보다 엔코더 및 지령 위치값이 작은 경우는 10으로 나타내고, 변수와 엔코더 및 지령 위치값이 같지 않은 경우는 11로 나타낼 수 있다. 현재 조건과 조합하고자 하는 수행 조건의 조합 방식은 현재 조건으로만 이벤트를 실행하는 경우는 00으로 나타내고, 현재 조건과 조합하고자 하는 수행 조건을 AND 연산하여 실행하는 경우는 01로 나타내고, 현재 조건과 조합하고자 하는 수행 조건을 OR 연산하여 실행하는 경우는 10으로 나타내고, 현재 조건과 조합하고자 하는 수행 조건을 XOR 연산하여 실행하는 경우는 11로 나타낼 수 있다.
속도 프로파일에 대한 수행 조건은 도 6과 같이, 조합하고자 하는 수행 조건의 테이블 번호 및 현재 조건과 조합하고자 하는 수행 조건의 조합 방식을 포함할 수 있다.
리미트(Limit) 신호에 대한 수행 조건은 도 7과 같이, 0~1 비트는 리미트 신호의 상태 즉, 오프인 경우에는 00으로 설정하고, 온인 경우에는 01로 설정할 수 있다. 2~17 비트는 카운트 증가할 변수 메모리 번지, 18~25 비트는 조합하고자 하는 수행 조건의 테이블 번호 및 26~27 비트는 현재 조건과 조합하고자 하는 수행 조건의 조합 방식을 포함할 수 있다.
타이머에 대한 수행 조건은 도 8과 같이, 0~15 비트는 카운트 증가할 변수 메모리 번지, 16~23 비트는 조합하고자 하는 수행 조건의 테이블 번호, 24~25 비트는 현재 조건과 조합하고자 하는 수행 조건의 조합 방식을 포함할 수 있다.
범용 입력 신호(General Input)에 대한 수행 조건은 도 9와 같이, 0~15 비트는 카운트 증가할 변수 메모리 번지, 16~17 비트는 신호의 상태 변화에 따른 조건을 나타내는 것으로, 온에서 오프로 상태가 변화되면 00으로 나타내고, 오프에서 온으로 상태가 변화되면 01로 나타내고, 온에서 오프로, 오프에서 온으로 두 가지 모두 상태가 변화하는 경우는 11로 나타낼 수 있다. 17~25 비트는 조합하고자 하는 수행 조건의 테이블 번호 및 26~27 비트는 현재 조건과 조합하고자 하는 수행 조건의 조합 방식을 포함할 수 있다.
칩간 통신에서 스크립트 실행 명령 수신 시 수행 조건은 도 10과 같이, 0~15 비트는 칩간 통신에서 수신된 스크립트 수행 번지, 16~17비트는 예비, 17~25 비트는 조합하고자 하는 수행 조건의 테이블 번호 및 26~27 비트는 현재 조건과 조합하고자 하는 수행 조건의 조합 방식을 포함할 수 있다.
이와 같이, 모션 제어부(242)는 모션 제어 이벤트가 발생되면, 수행 조건 테이블(244a)에 있는 복수의 수행 조건 중에서 발생된 모션 제어 이벤트가 어느 수행 조건을 만족하는지 판단하여 발생된 모션 제어 이벤트를 만족하는 수행 조건을 추출할 수 있다.
도 11은 수행 번지 테이블의 예로, 도 11을 참조하면, 모션 제어부(242)는 추출된 수행 조건에 대응하는 수행 번지를 추출할 수 있다. 수행 번지 테이블(244b)은 수행 조건을 만족하였을 경우, 수행될 스크립트 정보의 수행 번지가 기록된 테이블로, 수행 조건의 테이블 번호에 대응한 수행 번지를 저장할 수 있다.
이에 따라, 모션 제어부(242)는 수행 조건 테이블(244a)로부터 모션 제어 이벤트에 대한 정보를 만족하는 수행 조건의 테이블 번호를 검출하고, 검출된 수행 조건의 테이블 번호를 이용하여 수행 번지를 추출할 수 있다.
그리고, 모션 제어부(242)는 모션 제어 이벤트가 제1 조건과 제2 조건이 조합된 이벤트인 경우, 복수의 수행 조건 중에서 제1 조건에 대응하는 제1 수행 조건을 판단하고, 제2 조건에 대응하는 제2 수행 조건을 판단한 후, 제1 및 제2 수행 조건을 AND 조합하는 경우(제1 및 제2 수행 조건을 모두 만족하는 경우), 제1 및 제2 수행 조건을 OR 조합하는 경우(제1 및 제2 수행 조건을 어느 하나라도 만족하는 경우)나 제1 및 제2 수행 조건을 XOR 조합하는 경우(제1 및 제2 수행 조건이 서로 다를 경우)에 대응하는 수행 번지를 추출할 수 있다.
모션 제어부(242)는 추출된 수행 번지에 대응하는 스크립트 저장 테이블(244c)로부터 스크립트 정보를 읽어 스크립트 내용에 따라 스크립트를 수행할 수 있다.
도 12는 스크립트 저장 테이블의 예로, 도 12에서와 같이, 스크립트 저장 테이블(244c)은 수행 번지에 따른 명령어 즉, 수행하고자 하는 이벤트에 대한 실제 수행될 스크립트 정보가 저장될 수 있다. 스크립트 정보는 스크립트 작성기로 작성되어 컴파일 후 1차원적인 메모리 공간에 순서대로 다운로드 될 수 있으며, 각 이벤트 테이블 별 어드레스 매칭 정보는 수행 번지 테이블(244b)에 기록되도록 한다.
모션 제어부(242)는 스크립트 저장 테이블(244c)에서 수행 번지에 대응하는 스크립트 정보를 추출하여 스크립트 정보에 따라 이벤트를 수행할 수 있도록 한다. 예를 들어, 도 12와 같이, 수행 번지 2000에 대응하는 스크립트 정보가 TimerInterval, 2, 20인 경우, 이는 Timer 2를 20㎲ 간격으로 설정하라는 이벤트를 나타내므로 이에 따라 Timer 2가 20㎲ 간격으로 동작할 수 있도록 제어한다.
그리고, 모션 제어부(242)는 수행된 스크립트의 수행 결과가 다시 이벤트의 실행 조건이 되어 반복 수행될 수 있도록 한다.
도 13은 수행 결과 테이블의 예로, 수행 결과 테이블(244d)은 도 13과 같이 스크립트의 실행 결과가 저장될 수 있다. 예를 들어, 테이블 번호에 따른 실행 결과인 정상 수행 완료, 알람 신호 이상, 비상 정지 등이 저장될 수 있다.
메모리(244)는 앞서 설명한 수행 조건 테이블(244a), 수행 번지 테이블(244b), 스크립트 저장 테이블(244c), 수행 결과 테이블(244d) 외에 FIFO(First In First Out) 메모리(244e), 변수 메모리(244f)를 더 포함할 수 있다.
FIFO 메모리(244e)는 스크립트 명령에서 사용할 메모리로, FIFO라는 용어는 시간과 우선 순위와 관련된 데이터를 정리하고 이용하는 방식을 줄여 말한다. 즉, 선입선처리 행위에 따라 순서대로 처리함으로써 기술을 처리하거나 수요 충돌을 관리하는 대기의 원칙을 말한다. 다시 말해, 먼저 온 것은 먼저 처리되고 처리가 끝날 때까지 다음 것은 대기 상태에 놓이는 것으로, FIFO 메모리(244e)는 시간과 우선 순위에 따라 데이터가 저장될 수 있다.
변수 메모리(244f)는 변수가 저장되는 메모리로, 모션 제어 장치에서 사용되는 지령값, 엔코더값 및 속도 프로파일값(모션 제어 칩에서 운용되는 각종 값) 중 적어도 어느 하나와 비교하고자 하는 설정값이 저장될 수 있다.
한편, 본 발명의 실시예에서는 메모리(244)가 모션 제어 칩(240)에 내장되도록 구성되어 있으나, 모션 제어 칩(240)의 외부에 설치될 수 있음은 물론이다.
통신 처리부(246)는 복수의 모션 제어 칩 간에 통신을 수행할 수 있도록 한다.
하기에서는 모션 제어 이벤트를 수행하는 과정에 대하여 다양한 예를 들어 설명하도록 한다.
우선, 제1 모션 제어 이벤트가 “0번 축의 엔코더 위치가 2000을 초과하고, 1번 축의 엔코더 위치가 4000이 되면, 외부 기기에 제공할 트리거 신호를 온(ON) 시키고, 10㎲가 지난 후, 트리거 신호를 오프(OFF)한다.”인 경우를 가정하여 설명하도록 한다.
종래에는 제1 모션 제어 이벤트를 수행하기 위하여 모션 제어 칩에 있는 비교 레지스터를 통해 엔코더의 현재 위치와 설정된 위치를 비교하여 트리거 신호를 출력하였다. 하지만, 출력된 트리거 신호의 오프 시점은 설정할 수 없는 즉, 고정된 기능을 사용하여야 하는 문제점이 있었다.
또한, 모션 제어 칩에서 출력된 신호를 인터페이스 CPU로부터 전달 받아 어느 축에서 인터럽트가 발생하였는지 모션 제어 칩을 통해 조회한 후, 트리거 신호를 오프 하므로 이벤트를 실시간으로 처리하기 어려운 문제점이 있었다.
그리고, 인터페이스 CPU의 처리 속도나 작업 스케줄링에 따라 이벤트의 처리 속도가 좌우되기 때문에 정확하게 10㎲를 감지한 다음에 트리거 신호를 오프할 수 없으며, 0번 축의 엔코더 위치가 2000을 초과하는 제1 조건과 1번 축의 엔코더 위치가 4000이 되는 제2 조건을 모두 만족할 때 트리거 신호를 출력하는 것은 구현할 수 없는 문제점이 있었다.
이러한 문제점을 해결하기 위하여 모션 제어부(242)는 제1 및 제2 조건이 조합된 모션 제어 이벤트에 대하여 수행 조건 테이블에 있는 복수의 수행 조건 중에서 제1 및 제2 조건에 대응하는 제1 및 제2 수행 조건을 판단하고, 제1 및 제2 수행 조건에 대응하는 수행 번지를 추출하여 추출된 수행 번지의 스크립트 정보에 따라 이벤트를 수행하도록 한다.
도 14는 제1 및 제2 조건이 조합된 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 수행 조건 테이블의 예, 도 15는 제1 및 제2 조건이 조합된 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 변수 메모리의 예, 도 16은 제1 및 제2 조건이 조합된 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 수행 번지 테이블의 예 및 도 17은 제1 및 제2 조건이 조합된 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 스크립트 저장 테이블의 예로, 도 14 내지 도 17을 참조하여 보다 상세하게 설명하도록 한다.
도 14를 참조하면, 모션 제어부(242)는 0번 축의 엔코더 위치 조건(제1 조건)에 대응하는 제1 수행 조건을 수행 조건 테이블에 설정하고, 1번 축의 엔코더 위치 조건(제2 조건)에 대응하는 제2 수행 조건을 수행 조건 테이블에 설정한다.
그리고, 모션 제어부(242)는 제1 및 제2 조건이 조합된 모션 제어 이벤트가 발생되면, 수행 조건 테이블에서 제1 조건에 대응하는 제1 수행 조건인 테이블 번호 120에 해당하는 0번 축의 엔코더 위치에 대한 수행 조건을 판단하고, 제2 조건에 대응하는 제2 수행 조건인 테이블 번호 238에 해당하는 1번 축의 엔코더 위치에 대한 수행 조건을 판단한다. 여기서, 수행 조건 테이블에 있는 제1 및 제2 수행 조건의 0~15 비트에는 변수가 저장된 변수 메모리 번지가 저장되는데, 도 15에서와 같이, 변수 메모리의 37번지에는 0번 축 엔코더의 위치 조건에 대한 변수인 2000이 저장되고, 변수 메모리의 38번지에는 1번 축 엔코더의 위치 조건에 대한 변수인 4000이 저장될 수 있다. 제1 및 제2 수행 조건의 16~17 비트에는 엔코더 위치와 변수와의 비교 판단 기준이 저장되고, 제1 수행 조건의 18~25 비트에는 제1 수행 조건과 조합하고자 하는 제2 수행 조건의 테이블 번호인 238, 제2 수행 조건의 18~25 비트에는 제2 수행 조건과 조합하고자 하는 제1 수행 조건의 테이블 번호인 120이 저장될 수 있다. 그리고, 제1 및 제2 수행 조건의 26~27 비트에는 제1 수행 조건과 제2 수행 조건의 조합 방식인 AND 조합 방식(01)이 저장될 수 있다.
다음으로, 모션 제어부(242)는 도 16의 수행 번지 테이블을 참조하여 제1 및 제2 수행 조건의 AND 조합 방식에 대응하는 수행 번지인 1001 번지를 추출할 수 있고, 도 17에 도시한 스크립트 저장 테이블을 참조하여 1001 번지에 대응하는 스크립트 정보인 ‘DO, 1, 1’을 읽어 올 수 있다. 여기서, 스크립트 정보인 ‘DO, 1, 1’은 트리거 신호(출력 신호)를 1(ON)로 설정하라는 명령어로, 스크립트 정보에 따라 이벤트를 수행하도록 모션 제어부(242)는 트리거 신호를 온 하고, 타이머 1번을 10㎲ 간격으로 설정하여 타이머 1번이 실행되면 다시 트리거 신호가 오프 되도록 제어할 수 있다.
이와 같이, 모션 제어 칩(240)에 이벤트에 따른 스크립트 수행 기능을 내장하여 트리거 신호의 오프 시점을 설정할 수 있기 때문에 이벤트의 수행이 제한되는 문제점을 해결할 수 있으며, 이벤트를 실시간으로 처리할 수 있는 장점이 있다.
도 18은 웨이퍼 맵핑 센서가 이동을 하면서 웨이퍼의 유무나 겹침을 확인하는 모션 제어 이벤트 시나리오의 예를 나타낸다.
도 18에서와 같이, 제2 모션 제어 이벤트가 “웨이퍼 맵핑 센서가 이동하면서 웨이퍼 맵핑 센서의 출력값이 변동(센서 신호가 하이(High)->로우(Low), 로우(Low)->하이(High))될 경우, 엔코더의 위치를 기억하여 각 웨이퍼(W)의 위치가 스캔되도록 한다”인 경우를 가정하여 설명하도록 한다.
종래에는 웨이퍼 맵핑 센서가 축을 따라 이동을 하면서 센서 신호를 출력하면, 인터페이스 CPU에서 모션 제어 칩으로부터 센서 신호의 상태를 읽어오고, 센서 신호의 상태가 변동될 경우, 그에 대응하는 위치 데이터를 읽어 와 웨이퍼의 유무나 겹침을 확인하였다.
그러나, 종래의 방식은 모션 제어 칩과 인터페이스 CPU가 반복적으로 통신을 수행하여 센서 상태 및 이동 완료 정보를 가져와야 하기 때문에 이벤트와 이벤트 간에 시간 지연이 발생하며, 실시간 처리 능력이 저하되는 문제점이 있었다.
도 19는 도 18에 도시한 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 수행 조건 테이블의 예, 도 20은 도 18에 도시한 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 변수 메모리의 예, 도 21은 도 18에 도시한 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 수행 번지 테이블의 예 및 도 22는 도 18에 도시한 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 스크립트 저장 테이블의 예로, 도 19 내지 도 22를 참조하여 보다 자세하게 설명하도록 한다.
이러한 문제점을 해결하기 위하여 모션 제어부(242)는 웨이퍼 맵핑 센서(S)의 출력값이 변동될 때마다 수행되어야 하는 조건을 수행 조건 테이블에 설정한다. 즉, 모션 제어부(242)는 웨이퍼 맵핑 센서(S)의 신호가 온(ON)에서 오프(OFF)로 변경되고, 오프(OFF)에서 온(ON)으로 변경될 때마다 수행되어야 하는 조건을 수행 조건 테이블에 설정할 수 있다.
그리고, 모션 제어부(242)는 제2 모션 제어 이벤트가 발생하면, 제2 모션 제어 이벤트에 대한 정보가 수행 조건 테이블에 있는 복수의 수행 조건 중에서 어느 수행 조건을 만족하는지 판단할 수 있다. 즉, 모션 제어부(242)는 도 19에 도시한 제2 모션 제어 이벤트인 테이블 번호 90 번지에 대응하는 수행 조건을 판단하고, 도 21에 도시한 테이블 번호 90 번지의 수행 조건에 대응하는 수행 번지인 1001 번지를 추출할 수 있다.
그리고, 모션 제어부(242)는 도 22의 스크립트 저장 테이블에 있는 1001 번지에 대응하는 스크립트 정보를 읽어 와 스크립트 정보에 따라 엔코더 위치가 FIFO 메모리(244e)에 푸시(Push)되도록 제어할 수 있다.
다음으로, 웨이퍼 맵핑 센서(S)의 이동이 완료되면, FIFO 메모리(244e)에 있는 내용을 외부로 전송하여 웨이퍼(W)의 유무나 겹침을 확인할 수 있도록 한다.
이와 같이, 모션 제어 칩(240)과 인터페이스 CPU(220)가 반복적으로 통신하여 센서 상태 및 이동 완료 정보를 가져오는 방식 대신에 웨이퍼 맵핑 센서(S)의 센서 신호 변동에 따른 엔코더 위치를 모두 저장한 다음에 이동이 완료되면, 저장된 엔코더 위치에 대응하는 웨이퍼(W)의 위치를 한꺼번에 계산하는 방식을 사용하기 때문에 이벤트와 이벤트 간의 처리 능력을 향상시킬 수 있다.
도 23은 제품의 감지 유무에 따라 제품의 이송을 제어하는 모션 제어 이벤트 시나리오의 예이다.
도 23을 참조하면, 6축 모션 제어를 수행하기 위해서 4축 모션 제어 칩 2개를 사용한 시스템에서 제1 모션 제어 칩은 제품 가공에 필요한 기능을 수행하고 제2 모션 제어 칩에서는 제품 이송에 필요한 기능을 수행하도록 한 경우, 제3 모션 제어 이벤트는 “제1 모션 제어 칩에서 가공이 모두 완료되어 제1 모션 제어 칩에서 입력 받는 제품의 감지 신호가 “제품 없음” 상태이면, 제2 모션 제어 칩에서 제품 이송을 수행한다.” 인 경우를 예를 들어 설명하도록 한다.
제1 모션 제어 칩(240a)은 a, b, c, d 방향인 4축에 대한 기능을 수행하고, 제2 모션 제어 칩(240b)은 e, f 방향인 2축에 대한 기능을 수행할 수 있다. 제1 모션 제어 칩(240a)은 4축을 이용하여 제품을 가공하고, 가공이 완료되면, 제품 감지센서에서 제품의 유무를 감지하여 제품이 있는 상태이면 제2 모션 제어 칩(240b)을 이용하여 제품을 배출하고, 제품이 없는 상태이면 제품을 투입하도록 한다.
종래에는 인터페이스 CPU가 제1 모션 제어 칩으로부터 센서 신호의 상태를 입력 받아 제품의 유무를 감지하고, 감지된 제품의 유무에 따라 제2 모션 제어 칩을 제어하여 제품을 배출하거나 투입하였다.
그러나, 종래의 방식은 제1 모션 제어 칩과 제2 모션 제어 칩 간에 유기적인 실행이 결여되어 있으므로 인터페이스 CPU의 제어에 의한 시간 지연과 인터페이스 CPU를 사용함에 따른 장비 원가가 상승되는 문제점이 있었다.
도 24는 제1 및 제2 모션 제어 칩에서 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 제1 수행 조건 테이블의 예, 도 25는 제1 및 제2 모션 제어 칩에서 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 변수 메모리의 예, 도 26은 제1 및 제2 모션 제어 칩에서 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 수행 번지 테이블의 예, 도 27은 제1 및 제2 모션 제어 칩에서 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 제1 스크립트 저장 테이블의 예, 도 28은 제1 및 제2 모션 제어 칩에서 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 제2 수행 조건 테이블의 예 및 도 29는 제1 및 제2 모션 제어 칩에서 모션 제어 이벤트를 수행하기 위해 메모리에 저장되는 제2 스크립트 저장 테이블의 예로, 도 24 내지 도 29를 참조하여 보다 구체적으로 설명하도록 한다.
이러한 문제점을 해결하기 위하여 제1 모션 제어 칩(240a)은 제3 모션 제어 이벤트에 대한 정보를 제1 수행 조건 테이블에 설정하고, 제2 모션 제어 칩(240b)은 제3 모션 제어 이벤트에 대한 정보를 제2 수행 조건 테이블에 설정한다.
제1 및 제2 모션 제어 칩(240a)(240b)은 제3 모션 제어 이벤트가 발생되면, 제1 및 제2 수행 조건 테이블에 있는 복수의 수행 조건 중에서 어느 수행 조건을 만족하는지 판단한다.
보다 자세하게 설명하면, 도 24에서와 같이, 제1 모션 제어 칩(240a)은 제품 감지 센서(P)에서 감지되는 제품의 유무에 따른 복수의 제1 수행 조건인 테이블 번호 90 번지 및 91 번지의 수행 조건을 판단하고, 제2 모션 제어 칩(240b)은 도 28에서와 같이, 제품의 투입 및 배출에 따른 복수의 제2 수행 조건인 테이블 번호 23 번지 및 24 번지의 수행 조건을 판단할 수 있다. 여기서, 제1 수행 조건의 0~15 비트는 입력 신호가 수행된 횟수이고, 16~ 17 비트는 센서 신호의 변화로, 입력 신호가 오프에서 온으로 변하면, 제품이 있는 경우로 판단하고 입력 신호가 온에서 오프로 변하면, 제품이 없는 경우로 판단할 수 있다.
그리고, 제1 모션 제어 칩(240a)은 도 26에서와 같이, 판단된 수행 조건에 대응하는 제1 수행 번지를 추출하는데, 수행 조건이 제품이 있는 테이블 번호 90 번지에 해당하는 경우, 배출에 대한 2001 번지의 제1 수행 번지를 추출하고, 수행 조건이 제품이 없는 테이블 번호 91 번지에 해당하는 경우, 투입에 대한 3001 번지의 제1 수행 번지를 추출할 수 있다.
다음으로, 도 27에서와 같이, 제1 모션 제어 칩(240a)은 제1 수행 번지에 대응하는 제1 스크립트 저장 테이블로부터 제1 스크립트 정보를 읽어 제1 스크립트 정보에 따라 이벤트를 수행할 수 있다. 즉, 제1 모션 제어 칩(240a)은 수행 번지가 2001 번지일 경우, 제2 모션 제어 칩(240b)에 800번지를 시작으로 배출을 위한 스크립트 전송을 시작할 수 있다.
그러면, 제2 모션 제어 칩(240b)에서는 스크립트 전송 및 실행 명령에 따라 모션을 수행할 수 있으며, 제2 모션 제어 칩(240b)에서 배출 모션을 완료한 후, 제1 모션 제어 칩(240a)에 가공 명령이 저장된 어느 수행 번지부터 실행하라는 명령을 전송 받아 반복 수행할 수 있도록 구성된다. 즉, 제1 및 제2 모션 제어 칩(240a)(240b) 중 이벤트가 수행된 어느 모션 제어 칩이 수행된 이벤트에 대한 결과를 다른 모션 제어 칩에 전송하고, 다른 모션 제어 칩이 상기 수행된 이벤트에 연속하여 스크립트를 수행할 수 있다.
이와 같이 구성하여 제1 모션 제어 칩과 제2 모션 제어 칩 간의 유기적 실행을 도모할 수 있다.
이하에서는 본 발명의 일 실시예에 의한 모션 제어 과정에 대하여 설명하도록 한다.
도 30은 본 발명의 일 실시예에 따른 모션 제어 과정을 보여주는 동작 흐름도를 나타낸다.
도 30을 참조하면, 모션 제어 이벤트에 대한 정보를 수행 조건 테이블에 설정한다(S100). 여기서, 모션 제어 이벤트는 크게 축 이벤트, 스크립트 수행 결과 이벤트, 공통 이벤트 및 타이머 이벤트로 이루어질 수 있다.
축 이벤트는 엔코더 위치와 설정된 값의 비교에 대한 이벤트, 지령 위치와 설정된 값의 비교에 대한 이벤트, 속도 프로파일의 구간 즉, 가속 구간 시작, 드라이브(정속) 구간 시작, 감속 구간 시작, 종료(지령 펄스 출력이 종료 시) 구간에 대한 이벤트 또는 각종 축에 관련된 신호의 상태 변경에 따른 이벤트를 포함할 수 있다. 각종 축에 관련된 신호의 상태 변경에 따른 이벤트는 리미트(Limit) 센서가 온(ON)/오프(OFF)된 경우, 인포지션(Inposition) 신호가 온(ON)/오프(OFF)된 경우, ORG 신호가 온(ON)/오프(OFF)된 경우, Emergency 신호가 온(ON)/오프(OFF)된 경우, 알람(Alarm) 신호가 온(ON)/오프(OFF)된 경우와 같이 축에 관련된 신호의 상태가 변경된 경우에 해당하는 이벤트를 포함할 수 있다.
스크립트 수행 결과 이벤트는 스크립트의 수행 결과에 따른 실행 조건 이벤트를 포함할 수 있다. 예컨대, 스크립트가 실행되면, 진실(True) 또는 거짓(False)의 결과를 생성하는데, 이 결과가 다시 이벤트의 조건이 되어 다양한 조건 처리를 가능하게 할 수 있다. 이와 같이, 복수의 이벤트가 연계되어 수행되기 때문에 이벤트와 다른 이벤트 간의 시간 지연을 줄일 수 있다.
공통 이벤트는 동기 시작/정지 신호, 사용자 정의 입력/출력 신호, 변수 비교 및 증가감에 대한 이벤트를 포함할 수 있다.
타이머 이벤트는 모션 제어 칩(240)의 내부에 구현된 타이머가 지정된 시간이 된 경우에 발생되는 이벤트로 이루어질 수 있다.
다음으로, 모션 제어 이벤트가 발생되는지 판단(S110)하여 모션 제어 이벤트가 발생되면(S110-Y), 모션 제어 이벤트에 대한 정보가 수행 조건 테이블에 있는 복수의 수행 조건 중에서 어느 수행 조건을 만족하는지 판단한다(S120). 도 3에 도시한 바와 같이, 수행 조건 테이블(244a)은 이벤트가 수행될 다양한 조건에 대한 테이블로, 각 축마다 설정될 부분과 공통으로 설정될 부분을 포함할 수 있으며, 이를 연속된 테이블 번호로 설정할 수 있다. 각 축마다 설정될 부분은 엔코더 위치, 지령 위치, 속도 프로파일 구간, 리미트(Limit) 신호, 타이머, 이벤트 실행 결과에 따른 수행 조건을 포함할 수 있으며, 공통으로 설정될 부분은 동기 시작신호, 동기 정지신호, 범용 입력(General Input) 신호, 변수 메모리에 대한 수행 조건을 포함할 수 있다. 이외에, 칩간 통신에서 스크립트 실행 명령 수신 시에 대한 수행 조건을 포함할 수 있다.
수행 조건은 이벤트마다 32 비트를 도 4 내지 도 10과 같이 설정할 수 있으며, 다른 수행 조건과 조합될 수 있다.
보다 구체적으로 설명하면, 엔코더 위치 및 지령 위치에 대한 수행 조건은 도 4 및 도 5와 같이, 0~15 비트는 변수 메모리 번지, 16~17 비트는 변수 메모리 번지의 설정값과 모션 제어 장치에서 사용되는 지령값, 엔코더값 및 속도 프로파일값 중 적어도 어느 하나와의 비교 판단 기준, 18~25 비트는 조합하고자 하는 수행 조건의 테이블 번호, 26~27 비트는 현재 조건과 조합하고자 하는 수행 조건의 조합 방식, 28~31 비트는 예약 또는 예비 비트로, 설정하고자 하는 수행 조건에 따라 추가될 수 있다.
이 중에서 변수 메모리 번지는 변수를 저장한 메모리의 주소를 나타내며, 비교 판단 기준은 변수 메모리 번지의 설정값과 엔코더 및 지령 위치값이 같은 경우는 00으로 나타내고, 변수보다 엔코더 및 지령 위치값이 큰 경우는 01로 나타내고, 변수보다 엔코더 및 지령 위치값이 작은 경우는 10으로 나타내고, 변수와 엔코더 및 지령 위치값이 같지 않은 경우는 11로 나타낼 수 있다. 현재 조건과 조합하고자 하는 수행 조건의 조합 방식은 현재 조건으로만 이벤트를 실행하는 경우는 00으로 나타내고, 현재 조건과 조합하고자 하는 수행 조건을 AND 연산하여 실행하는 경우는 01로 나타내고, 현재 조건과 조합하고자 하는 수행 조건을 OR 연산하여 실행하는 경우는 10으로 나타내고, 현재 조건과 조합하고자 하는 수행 조건을 XOR 연산하여 실행하는 경우는 11로 나타낼 수 있다.
속도 프로파일에 대한 수행 조건은 도 6과 같이, 조합하고자 하는 수행 조건의 테이블 번호 및 현재 조건과 조합하고자 하는 수행 조건의 조합 방식을 포함할 수 있다.
리미트(Limit) 신호에 대한 수행 조건은 도 7과 같이, 0~1 비트는 리미트 신호의 상태 즉, 오프인 경우에는 00으로 출력하고, 온인 경우에는 01로 출력할 수 있다. 2~17 비트는 카운트 증가할 변수 메모리 번지, 18~25 비트는 조합하고자 하는 수행 조건의 테이블 번호 및 26~27 비트는 현재 조건과 조합하고자 하는 수행 조건의 조합 방식을 포함할 수 있다.
타이머에 대한 수행 조건은 도 8과 같이, 0~15 비트는 카운트 증가할 변수 메모리 번지, 16~23 비트는 조합하고자 하는 수행 조건의 테이블 번호, 24~25 비트는 현재 조건과 조합하고자 하는 수행 조건의 조합 방식을 포함할 수 있다.
범용 입력 신호(General Input)에 대한 수행 조건은 도 9와 같이, 0~15 비트는 카운트 증가할 변수 메모리 번지, 16~17 비트는 신호의 상태 변화에 따른 조건을 나타내는 것으로, 온에서 오프로 상태가 변화되면 00으로 나타내고, 오프에서 온으로 상태가 변화되면 01로 나타내고, 온에서 오프로, 오프에서 온으로 두 가지 모두 상태가 변화하는 경우는 11로 나타낼 수 있다. 17~25 비트는 조합하고자 하는 수행 조건의 테이블 번호 및 26~27 비트는 현재 조건과 조합하고자 하는 수행 조건의 조합 방식을 포함할 수 있다.
칩간 통신에서 스크립트 실행 명령 수신 시 수행 조건은 도 10과 같이, 0~15 비트는 칩간 통신에서 수신된 스크립트 수행 번지, 16~17비트는 예비, 17~25 비트는 조합하고자 하는 수행 조건의 테이블 번호 및 26~27 비트는 현재 조건과 조합하고자 하는 수행 조건의 조합 방식을 포함할 수 있다.
그리고, 모션 제어 이벤트가 제1 조건과 제2 조건이 조합된 이벤트인 경우, 복수의 수행 조건 중에서 제1 조건에 대응하는 제1 수행 조건을 판단하고, 제2 조건에 대응하는 제2 수행 조건을 판단할 수 있다.
다음으로, 판단된 수행 조건에 대응하는 수행 번지를 추출한다(S130). 수행 번지 테이블(244b)은 수행 조건을 만족하였을 경우, 수행될 스크립트 정보의 수행 번지가 기록된 테이블로, 수행 조건의 테이블 번호에 대응한 수행 번지를 저장할 수 있다.
이에 따라, 수행 조건 테이블(244a)로부터 모션 제어 이벤트에 대한 정보를 만족하는 수행 조건의 테이블 번호를 검출하고, 검출된 수행 조건의 테이블 번호를 이용하여 수행 번지를 추출할 수 있다.
그리고, 모션 제어 이벤트가 제1 조건과 제2 조건이 조합된 이벤트인 경우, 복수의 수행 조건 중에서 제1 조건에 대응하는 제1 수행 조건을 판단하고, 제2 조건에 대응하는 제2 수행 조건을 판단한 후, 제1 및 제2 수행 조건을 AND 조합하는 경우(제1 및 제2 수행 조건을 모두 만족하는 경우), 제1 및 제2 수행 조건을 OR 조합하는 경우(제1 및 제2 수행 조건을 어느 하나라도 만족하는 경우)나 제1 및 제2 수행 조건을 XOR 조합하는 경우(제1 및 제2 수행 조건이 서로 다른 경우)에 대응하는 수행 번지를 추출할 수 있다.
그리고, 추출된 수행 번지에 대응하는 스크립트 저장 테이블로부터 스크립트 정보를 읽어 스크립트 정보에 따라 스크립트를 수행한다(S140). 도 12에서와 같이, 스크립트 저장 테이블(244c)은 수행 번지에 따른 명령어 즉, 수행하고자 하는 이벤트에 대한 실제 수행될 스크립트 정보가 저장될 수 있다. 스크립트 정보는 스크립트 작성기로 작성되어 컴파일 후 1차원적인 메모리 공간에 순서대로 다운로드 될 수 있으며, 각 이벤트 테이블 별 어드레스 매칭 정보는 수행 번지 테이블(244b)에 기록되도록 한다.
즉, 스크립트 저장 테이블(244c)에서 수행 번지에 대응하는 스크립트 정보를 추출하여 스크립트 정보에 따라 스크립트를 수행함으로써 발생된 모션 제어 이벤트를 처리할 수 있도록 한다. 예를 들어, 도 12와 같이, 수행 번지 2000에 대응하는 스크립트 정보가 TimerInterval, 2, 20인 경우, 이는 Timer 2를 20㎲ 간격으로 설정하라는 이벤트를 나타내므로 이에 따라 Timer 2가 20㎲ 간격으로 동작할 수 있도록 제어한다.
그 다음, 수행된 이벤트에 대한 결과를 피드백 하여 모션 제어 이벤트로서 입력한다(S150).
한편, 제1 모션 제어 칩과 제2 모션 제어 칩을 포함하는 모션 제어 장치의 모션 제어 과정에 대해 설명하도록 한다.
우선, 모션 제어 이벤트에 대한 정보를 제1 모션 제어 칩의 제1 수행 조건 테이블에 설정하고, 모션 제어 이벤트에 대한 정보를 제2 모션 제어 칩의 제2 수행 조건 테이블에 설정한다.
다음으로, 모션 제어 이벤트가 발생되면, 제1 및 제2 수행 조건 테이블에 있는 복수의 수행 조건 중에서 어느 수행 조건을 만족하는지 판단하고, 판단된 수행 조건에 대응하는 제1 및 제2 수행 번지를 추출할 수 있다.
그 다음, 추출된 제1 및 제2 수행 번지에 대응하는 제1 및 제2 스크립트 정보를 읽어 제1 및 제2 스크립트 정보에 따라 스크립트를 수행하여 발생된 모션 제어 이벤트를 처리할 수 있다.
그리고, 제1 및 제2 모션 제어 칩 중 스크립트가 수행된 어느 모션 제어 칩이 수행된 스크립트에 대한 결과를 다른 모션 제어 칩에 전송하고, 다른 모션 제어 칩이 수신된 스크립트를 수행할 수 있다.
본 발명의 실시예는 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터로 읽을 수 있는 매체를 포함한다. 이 매체는 앞서 설명한 모션 제어 방법을 실행시키기 위한 프로그램을 기록한다. 이 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 이러한 매체의 예에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기 매체, CD 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 자기-광 매체, 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치 등이 있다. 또는 이러한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
1: 모션 제어 시스템
100: 사용자 단말
200: 모션 제어 장치
220: 인터페이스 CPU
240: 모션 제어 칩
300: 드라이버

Claims (16)

  1. 삭제
  2. 삭제
  3. 모터의 모션을 제어하는 방법으로서,
    모션 제어 이벤트에 대한 정보를 수행 조건 테이블에 설정하는 단계,
    상기 모션 제어 이벤트가 발생되면, 상기 모션 제어 이벤트에 대한 정보가 상기 수행 조건 테이블에 있는 복수의 수행 조건 중에서 어느 수행 조건을 만족하는지를 판단하는 단계,
    상기 판단된 수행 조건에 대응하는 수행 번지를 추출하는 단계,
    상기 추출된 수행 번지에 대응하는 스크립트 정보를 읽어 상기 스크립트 정보에 따라 스크립트를 수행하여 상기 발생된 모션 제어 이벤트를 처리하는 단계, 그리고
    상기 수행된 스크립트에 대한 결과를 피드백 하여 상기 모션 제어 이벤트로서 입력하는 단계를 포함하며,
    상기 판단 단계는, 상기 모션 제어 이벤트가 제1 조건과 제2 조건이 조합된 이벤트인 경우, 상기 복수의 수행 조건 중에서 상기 제1 조건에 대응하는 제1 수행 조건을 판단하고, 상기 제2 조건에 대응하는 제2 수행 조건을 판단하며,
    상기 추출 단계는, 상기 제1 및 제2 수행 조건을 AND 조합하는 경우, 상기 제1 및 제2 수행 조건을 OR 조합하는 경우나 상기 제1 및 제2 수행 조건을 XOR 조합하는 경우에 대응하는 수행 번지를 추출하는 모션 제어 방법.
  4. 모터의 모션을 제어하는 방법으로서,
    모션 제어 이벤트에 대한 정보를 수행 조건 테이블에 설정하는 단계,
    상기 모션 제어 이벤트가 발생되면, 상기 모션 제어 이벤트에 대한 정보가 상기 수행 조건 테이블에 있는 복수의 수행 조건 중에서 어느 수행 조건을 만족하는지를 판단하는 단계,
    상기 판단된 수행 조건에 대응하는 수행 번지를 추출하는 단계,
    상기 추출된 수행 번지에 대응하는 스크립트 정보를 읽어 상기 스크립트 정보에 따라 스크립트를 수행하여 상기 발생된 모션 제어 이벤트를 처리하는 단계, 그리고
    상기 수행된 스크립트에 대한 결과를 피드백 하여 상기 모션 제어 이벤트로서 입력하는 단계를 포함하며,
    상기 판단 단계는, 상기 모션 제어 이벤트가 제1 조건과 제2 조건이 조합된 이벤트인 경우, 상기 복수의 수행 조건 중에서 상기 제1 조건에 대응하는 제1 수행 조건을 판단하고, 상기 제2 조건에 대응하는 제2 수행 조건을 판단하며,
    상기 수행 조건 테이블은, 상기 제1 수행 조건의 변수 메모리 번지, 상기 변수 메모리 번지의 설정값과 모션 제어 장치에서 사용되는 지령값, 엔코더값 및 속도 프로파일값 중 적어도 어느 하나와의 비교 판단 기준, 상기 제1 수행 조건과 조합할 제2 수행 조건의 테이블 번호 및 상기 제1 수행 조건과 상기 제2 수행 조건의 조합 방식을 포함하는 모션 제어 방법.
  5. 모터의 모션을 제어하는 방법으로서,
    모션 제어 이벤트에 대한 정보를 수행 조건 테이블에 설정하는 단계,
    상기 모션 제어 이벤트가 발생되면, 상기 모션 제어 이벤트에 대한 정보가 상기 수행 조건 테이블에 있는 복수의 수행 조건 중에서 어느 수행 조건을 만족하는지를 판단하는 단계,
    상기 판단된 수행 조건에 대응하는 수행 번지를 추출하는 단계,
    상기 추출된 수행 번지에 대응하는 스크립트 정보를 읽어 상기 스크립트 정보에 따라 스크립트를 수행하여 상기 발생된 모션 제어 이벤트를 처리하는 단계, 그리고
    상기 수행된 스크립트에 대한 결과를 피드백 하여 상기 모션 제어 이벤트로서 입력하는 단계를 포함하며,
    상기 모션 제어 이벤트 처리 단계는, 상기 스크립트 정보에 따라 상기 모터에 의하여 이동을 하는 웨이퍼 맵핑 센서가 웨이퍼의 유무나 겹침을 확인하는 경우, 상기 웨이퍼 맵핑 센서의 출력값이 변동되면, 상기 모터의 엔코더 위치를 FIFO(First In First Out) 메모리에 푸시(Push)하는 단계를 포함하고,
    상기 웨이퍼 맵핑 센서의 이동이 완료되면, 상기 FIFO 메모리의 내용을 외부로 전송하는 단계를 더 포함하는 모션 제어 방법.
  6. 삭제
  7. 삭제
  8. 모터의 모션을 제어하기 위한 제1 모션 제어 칩과 제2 모션 제어 칩을 포함하는 모션 제어 장치의 모션 제어 방법에 있어서,
    모션 제어 이벤트에 대한 정보를 상기 제1 모션 제어 칩의 제1 수행 조건 테이블에 설정하는 단계,
    상기 모션 제어 이벤트에 대한 정보를 상기 제2 모션 제어 칩의 제2 수행 조건 테이블에 설정하는 단계,
    상기 모션 제어 이벤트가 발생되면, 상기 제1 및 제2 수행 조건 테이블에 있는 복수의 수행 조건 중에서 어느 수행 조건을 만족하는지를 판단하는 단계,
    상기 판단된 수행 조건에 대응하는 제1 및 제2 수행 번지를 추출하는 단계,
    상기 추출된 제1 및 제2 수행 번지에 대응하는 제1 및 제2 스크립트 정보를 읽어 상기 제1 및 제2 스크립트 정보에 따라 스크립트를 수행하여 상기 발생된 모션 제어 이벤트를 처리하는 단계, 그리고
    상기 제1 및 제2 모션 제어 칩 중 스크립트가 수행된 어느 모션 제어 칩이 상기 수행된 스크립트에 대한 결과를 다른 모션 제어 칩에 전송하고, 상기 다른 모션 제어 칩이 수신된 상기 스크립트를 수행하는 단계를 포함하며,
    상기 판단 단계는, 상기 모션 제어 이벤트가 제1 조건과 제2 조건이 조합된 이벤트인 경우, 상기 복수의 수행 조건 중에서 상기 제1 조건에 대응하는 제1 수행 조건을 판단하고, 상기 제2 조건에 대응하는 제2 수행 조건을 판단하며,
    상기 추출 단계는, 상기 제1 및 제2 수행 조건을 AND 조합하는 경우, 상기 제1 및 제2 수행 조건을 OR 조합하는 경우나 상기 제1 및 제2 수행 조건을 XOR 조합하는 경우에 대응하는 수행 번지를 추출하는
    모션 제어 방법.
  9. 삭제
  10. 삭제
  11. 모터의 모션을 제어하는 장치로서,
    모션 제어 이벤트에 대한 정보를 수행 조건 테이블에 설정하고,
    상기 모션 제어 이벤트가 발생되면, 상기 모션 제어 이벤트에 대한 정보가 상기 수행 조건 테이블에 있는 복수의 수행 조건 중에서 어느 수행 조건을 만족하는지를 판단하고,
    상기 판단된 수행 조건에 대응하는 수행 번지를 추출하고,
    상기 추출된 수행 번지에 대응하는 스크립트 정보를 읽어 상기 스크립트 정보에 따라 스크립트를 수행하여 상기 발생된 모션 제어 이벤트를 처리하고,
    상기 수행된 스크립트에 대한 결과를 피드백 하여 상기 모션 제어 이벤트로서 입력하는 모션 제어 칩을 포함하며,
    상기 모션 제어 칩은, 상기 모션 제어 이벤트가 제1 조건과 제2 조건이 조합된 이벤트인 경우, 상기 복수의 수행 조건 중에서 상기 제1 조건에 대응하는 제1 수행 조건을 판단하고, 상기 제2 조건에 대응하는 제2 수행 조건을 판단하며,
    상기 모션 제어 칩은, 상기 제1 및 제2 수행 조건을 AND 조합하는 경우, 상기 제1 및 제2 수행 조건을 OR 조합하는 경우나 상기 제1 및 제2 수행 조건을 XOR 조합하는 경우에 대응하는 수행 번지를 추출하는 모션 제어 장치.
  12. 모터의 모션을 제어하는 장치로서,
    모션 제어 이벤트에 대한 정보를 수행 조건 테이블에 설정하고,
    상기 모션 제어 이벤트가 발생되면, 상기 모션 제어 이벤트에 대한 정보가 상기 수행 조건 테이블에 있는 복수의 수행 조건 중에서 어느 수행 조건을 만족하는지를 판단하고,
    상기 판단된 수행 조건에 대응하는 수행 번지를 추출하고,
    상기 추출된 수행 번지에 대응하는 스크립트 정보를 읽어 상기 스크립트 정보에 따라 스크립트를 수행하여 상기 발생된 모션 제어 이벤트를 처리하고,
    상기 수행된 스크립트에 대한 결과를 피드백 하여 상기 모션 제어 이벤트로서 입력하는 모션 제어 칩을 포함하며,
    상기 모션 제어 칩은, 상기 모션 제어 이벤트가 제1 조건과 제2 조건이 조합된 이벤트인 경우, 상기 복수의 수행 조건 중에서 상기 제1 조건에 대응하는 제1 수행 조건을 판단하고, 상기 제2 조건에 대응하는 제2 수행 조건을 판단하며,
    상기 수행 조건 테이블은, 상기 제1 수행 조건의 변수 메모리 번지, 상기 변수 메모리 번지의 설정값과 모션 제어 장치에서 사용되는 지령값, 엔코더값 및 속도 프로파일값 중 적어도 어느 하나와의 비교 판단 기준, 상기 제1 수행 조건과 조합할 제2 수행 조건의 테이블 번호 및 상기 제1 수행 조건과 상기 제2 수행 조건의 조합 방식을 포함하는 모션 제어 장치.
  13. 모터의 모션을 제어하는 장치로서,
    모션 제어 이벤트에 대한 정보를 수행 조건 테이블에 설정하고,
    상기 모션 제어 이벤트가 발생되면, 상기 모션 제어 이벤트에 대한 정보가 상기 수행 조건 테이블에 있는 복수의 수행 조건 중에서 어느 수행 조건을 만족하는지를 판단하고,
    상기 판단된 수행 조건에 대응하는 수행 번지를 추출하고,
    상기 추출된 수행 번지에 대응하는 스크립트 정보를 읽어 상기 스크립트 정보에 따라 스크립트를 수행하여 상기 발생된 모션 제어 이벤트를 처리하고,
    상기 수행된 스크립트에 대한 결과를 피드백 하여 상기 모션 제어 이벤트로서 입력하는 모션 제어 칩을 포함하며,
    상기 모션 제어 칩은, 상기 모터에 의해 이동을 하는 웨이퍼 맵핑 센서가 웨이퍼의 유무나 겹침을 확인하는 경우, 상기 웨이퍼 맵핑 센서의 출력값이 변동되면, 상기 모터의 엔코더 위치를 FIFO(First In First Out) 메모리에 푸시(Push)하고, 상기 웨이퍼 맵핑 센서의 이동이 완료되면, 상기 FIFO 메모리의 내용을 외부로 전송하는 모션 제어 장치.
  14. 삭제
  15. 삭제
  16. 모터의 모션을 제어하는 장치로서,
    모션 제어 이벤트에 대한 정보를 제1 수행 조건 테이블에 설정하는 제1 모션 제어 칩, 그리고
    상기 모션 제어 이벤트에 대한 정보를 제2 수행 조건 테이블에 설정하는 제2 모션 제어 칩을 포함하고,
    상기 제1 및 제2 모션 제어 칩은,
    상기 모션 제어 이벤트가 발생되면, 상기 제1 및 제2 수행 조건 테이블에 있는 복수의 수행 조건 중에서 어느 수행 조건을 만족하는지를 판단하고,
    상기 판단된 수행 조건에 대응하는 제1 및 제2 수행 번지를 추출하고,
    상기 추출된 제1 및 제2 수행 번지에 대응하는 제1 및 제2 스크립트 정보를 읽어 상기 제1 및 제2 스크립트 정보에 따라 스크립트를 수행하여 상기 발생된 모션 제어 이벤트를 처리하고,
    상기 제1 및 제2 모션 제어 칩 중 스크립트가 수행된 어느 모션 제어 칩이 상기 수행된 스크립트에 대한 결과를 다른 모션 제어 칩에 전송하고, 상기 다른 모션 제어 칩이 수신된 상기 스크립트를 수행하며,
    상기 제1 및 제2 모션 제어 칩은, 상기 모션 제어 이벤트가 제1 조건과 제2 조건이 조합된 이벤트인 경우, 상기 복수의 수행 조건 중에서 상기 제1 조건에 대응하는 제1 수행 조건을 판단하고, 상기 제2 조건에 대응하는 제2 수행 조건을 판단하며,
    상기 제1 및 제2 모션 제어 칩은, 상기 제1 및 제2 수행 조건을 AND 조합하는 경우, 상기 제1 및 제2 수행 조건을 OR 조합하는 경우나 상기 제1 및 제2 수행 조건을 XOR 조합하는 경우에 대응하는 수행 번지를 추출하는
    모션 제어 장치.
KR1020130122925A 2013-10-15 2013-10-15 모션 제어 방법 및 장치 KR101415657B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130122925A KR101415657B1 (ko) 2013-10-15 2013-10-15 모션 제어 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130122925A KR101415657B1 (ko) 2013-10-15 2013-10-15 모션 제어 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101415657B1 true KR101415657B1 (ko) 2014-07-09

Family

ID=51741272

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130122925A KR101415657B1 (ko) 2013-10-15 2013-10-15 모션 제어 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101415657B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09101900A (ja) * 1995-10-04 1997-04-15 Fujitsu Ltd スクリプト処理装置
JP2009244952A (ja) * 2008-03-28 2009-10-22 Toray Eng Co Ltd モーションコントローラ、シミュレーション方法及びシミュレーションプログラム
KR20110034714A (ko) * 2009-09-29 2011-04-06 홍익대학교 산학협력단 모션캡쳐를 이용한 다관절 로봇 행위 모델링 도구 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09101900A (ja) * 1995-10-04 1997-04-15 Fujitsu Ltd スクリプト処理装置
JP2009244952A (ja) * 2008-03-28 2009-10-22 Toray Eng Co Ltd モーションコントローラ、シミュレーション方法及びシミュレーションプログラム
KR20110034714A (ko) * 2009-09-29 2011-04-06 홍익대학교 산학협력단 모션캡쳐를 이용한 다관절 로봇 행위 모델링 도구 및 방법

Similar Documents

Publication Publication Date Title
US11567462B2 (en) Data collection system, processing system, and storage medium
JP2008027376A (ja) 数値制御装置
JP6272599B1 (ja) 制御装置およびモータ制御システム
JP2005229668A (ja) 機械制御装置
CN112154048A (zh) 基于机器人的工件插装
KR101415657B1 (ko) 모션 제어 방법 및 장치
US20220402121A1 (en) Control and monitoring of a machine arrangement
US20200409329A1 (en) Plc device and control device
JP6205206B2 (ja) 多軸制御システム
EP3418829A1 (en) Method of logging process data in a plc controlled equipment
CN111958587B (zh) 一种多机械臂协同作业的方法及系统
WO2021147037A1 (en) Method and electronic device, system and computer readable medium for calibration
JP2005071086A (ja) モーションコントロールシステム
CN108270447A (zh) 键盘消抖方法、扫描控制器、主控制器及测量仪器
EP0649077B1 (en) Multiple-task controller
JP6390468B2 (ja) 製造ラインの作業指示システム
US9905264B2 (en) Servo control system having function of switching learning memory
US20160139586A1 (en) Numerical control device and control system
JPH11149308A (ja) 自動機械のモータ制御装置
CN112384337A (zh) 用于分析和/或配置工业设备的方法和系统
JPH10240330A (ja) 数値制御装置
US9904277B2 (en) Numerical controller configured for operation based on tabular data
KR101371594B1 (ko) 공작기계용 제어장치
CN113721618B (zh) 一种平面确定方法、装置、设备和存储介质
JP7127292B2 (ja) センサユニット、制御方法、プログラム、および記録媒体

Legal Events

Date Code Title Description
A201 Request for examination
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
FPAY Annual fee payment

Payment date: 20170417

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180425

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190417

Year of fee payment: 6