KR20090037393A - 비-텍스트 사용자 인터페이스를 채용한 자동 프로그래밍 시스템 - Google Patents

비-텍스트 사용자 인터페이스를 채용한 자동 프로그래밍 시스템 Download PDF

Info

Publication number
KR20090037393A
KR20090037393A KR1020087029441A KR20087029441A KR20090037393A KR 20090037393 A KR20090037393 A KR 20090037393A KR 1020087029441 A KR1020087029441 A KR 1020087029441A KR 20087029441 A KR20087029441 A KR 20087029441A KR 20090037393 A KR20090037393 A KR 20090037393A
Authority
KR
South Korea
Prior art keywords
input
programming
user interface
module
programming system
Prior art date
Application number
KR1020087029441A
Other languages
English (en)
Other versions
KR101404207B1 (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
Application filed by 데이터 아이/오 코포레이션 filed Critical 데이터 아이/오 코포레이션
Publication of KR20090037393A publication Critical patent/KR20090037393A/ko
Application granted granted Critical
Publication of KR101404207B1 publication Critical patent/KR101404207B1/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/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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/10Programme control other than numerical control, i.e. in sequence controllers or logic controllers using selector switches
    • G05B19/106Programme control other than numerical control, i.e. in sequence controllers or logic controllers using selector switches for selecting a programme, variable or parameter
    • 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
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23168Display progress of program
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23258GUI graphical user interface, icon, function bloc editor, labview
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23377Touch screen, with representation of buttons, machine on screen
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/977Dynamic icon, e.g. animated or live action

Landscapes

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

Abstract

본 발명에 따르면 자동 프로그래밍 시스템(100)이 제공되는바, 이는 입력 모듈(108), 프로그래밍 모듈(112), 및 출력 모듈(110)을 포함하는 자동 프로그래밍 시스템(100)을 형성하는 단계; 및 상기 입력 모듈(108), 프로그래밍 모듈(112), 및 출력 모듈(110)에 대한 실시간 표현을 위해서 비-텍스트 사용자 인터페이스 시스템(232)을 채용하는 단계를 포함한다.
자동 프로그래밍 시스템, 비-텍스트 사용자 인터페이스, 실시간 표현

Description

비-텍스트 사용자 인터페이스를 채용한 자동 프로그래밍 시스템{AUTOMATED PROGRAMMING SYSTEM EMPLOYING NON-TEXT USER INTERFACE}
관련 출원(들)에 대한 상호 참조
본 출원은 2006년 5월 3일자로 미국에 가출원된 미국 가특허출원(가출원번호 60/797,462)의 우선권을 주장한다.
또한, 본 출원은 2006년 8월 24일자로 미국에 출원된 미국특허출원(출원번호 11/467,087)의 우선권을 주장하는바, 상기 미국특허출원(출원번호 11/467,087)은 DATA I/O Corporation 에 양도되었다.
본 출원은 또한, 미국 특허출원(출원번호 11/676,733)과 관련된 주제를 포함하고 있으며, 상기 관련 미국 특허출원(출원번호 11/676,733)은 DATA I/O Corporation 에 양도되었다.
본 출원은 또한, 미국 특허출원(출원번호 11/381,696)과 관련된 주제를 포함하고 있으며, 상기 관련 미국 특허출원(출원번호 11/381,696)은 DATA I/O Corporation 에 양도되었다.
본 출원은 또한, 미국 특허출원(출원번호 11/381,532)과 관련된 주제를 포함하고 있으며, 상기 관련 미국 특허출원(출원번호 11/381,532)은 DATA I/O Corporation 에 양도되었다.
일반적으로, 본 발명은 자동 시스템에 관한 것이며, 좀더 상세하게는 자동 프로그래밍 시스템에 관한 것이다.
현존하는 사용자 인터페이스 프로그래밍 시스템들은, 자동 프로그래밍 시스템들과의 매우 양호한 통합을 제공하고 있지는 못하다. 기존의 사용자 인터페이스 프로그래밍 시스템들은, 수동 프로그래밍 시스템들 또는 자동 처리기들(automatic handler)을 목표로한 산업 표준들에 기반하여 만들어졌는바, 이들은 프로그래밍 태스크들을 처리 및 통합하도록 설계되어 있지 않았다. 따라서, 기존의 사용자 인터페이스 프로그래밍 시스템들은, 프로그래밍 동작들을 효율적으로 제어할 수 있는 능력, 작업을 포괄적으로 관리할 수 있는 능력, 및 프로그래밍 장비와 사용자 입력 인터페이스 간의 결점없는(seamless) 통신 통합을 제공할 수 있는 능력이 부족하다.
기존의 사용자 인터페이스 프로그래밍 시스템들에 관한 또 다른 문제점들은, 문자 언어(textual language)의 도움 없이는 프로그래밍 시스템들의 동작을 허용하지 못한다는 점과 그래픽적인 에러 메시지를 나타내기 위하여 작업공간(workspace)과 오류(failure)의 실제상황들을 반영하는, 프로그래밍 시스템의 실시간 표현을 디스플레이할 수 없다는 점이다. 예를 들면, 문자 언어(예컨대, 영어)에 기반하는 사용자 인터페이스 프로그래밍 시스템은, 번역이 없다면, 모든 나라에서(globally) 효과적으로 작동하지는 않는다. 또한, 상기 프로그래밍 시스템이 작업공간에 대한 실시간 표현을 디스플레이할 수 없다는 점은, 사용자 인터페이스를 쓸모없 게(obsolete) 만들고 있는데, 이는 상기 사용자 인터페이스가 부정확한 정보를 디스플레이할 수도 있기 때문이다.
이상적으로는, 프로그래밍 시스템의 사용자 인터페이스는, 프로그래밍 작업공간의 실시간 표현에 의해 지지되는 비-텍스트(non-text) 사용자 인터페이스를 통해 필수적인 동작 정보를 유지 및 통신함으로써, 디바이스 핸들링 및 자동 프로그래밍 시스템의 프로그래밍 동작들을 효과적으로 관리 및 제어할 수 있어야 한다.
따라서, 프로그래밍 작업공간의 실시간 표현에 의해 지지되는 비-텍스트(non-text) 사용자 인터페이스에 대한 요구가 여전히 존재한다. 비용을 절감하고 효율을 개선하고자 하는 끊임없는 요구를 감안하면, 이들 문제점들에 대한 해법을 찾는 것이 점점 더 중요해지고 있다.
이러한 문제들에 대한 해결책은 오랫동안 탐구되어 왔지만, 종래의 개발 노력들은 그 어떤 해결책을 가르치거나 또는 제시하지 못했는바, 해당 기술분야의 당업자들은 이들 문제들에 대한 해결책들을 오랫동안 밝혀낼 수 없었다.
본 발명에 따르면 자동 프로그래밍 시스템이 제공되는바, 이는 입력 모듈, 프로그래밍 모듈, 그리고 출력 모듈을 포함하는 자동 프로그래밍 시스템을 형성하는 단계, 그리고 상기 입력 모듈, 프로그래밍 모듈, 그리고 출력 모듈의 실시간 표현을 위해 비-텍스트 사용자 인터페이스 시스템을 채용하는 단계를 포함한다.
본 발명의 소정 실시예들은 언급된 실시예들을 대체하거나 또는 이에 추가되는 다른 실시태양을 갖는다. 본 발명의 실시태양들은, 첨부된 도면들을 참조하여 후술될 발명의 상세한 설명부분을 읽음으로서 해당 기술분야의 당업자들에게 명확해질 것이다.
도1은 본 발명의 일실시예에 따른 자동 프로그래밍 시스템을 도시한 도면이다.
도2는 본 발명의 일실시예에 따라, 모니터 상에 워킹 엔벨로프의 표현을 갖는 자동 프로그래밍 시스템을 도시한 도면이다.
도3은 본 발명의 일실시예에 따른 사용자 인터페이스 고-레벨 아키텍처를 도시한 도면이다.
도4는 본 발명의 일실시예에 따른 자동 프로그래밍 시스템에 대한 순서도를 도시한 도면이다.
도5는 본 발명의 일실시예에 따른 자동 프로그래밍 시스템을 이용하기 위한 자동 프로그래밍 시스템의 순서도이다.
다음의 실시예들은, 해당기술 분야의 당업자들이 본 발명을 만들고 이용할 수 있도록 충분히 자세하게 설명된다. 본 명세서에 개시된 바에 근거하여 다른 실시예들도 분명하다는 것이 이해되어야만 하며, 본 발명의 기술적 사상의 범위를 벗어남이 없이도, 프로세스 변경 또는 기계적 변경들이 만들어질 수도 있다는 것이 이해되어야만 한다.
후술될 발명의 상세한 설명에서, 수많은 특정한 세부사항들이 본 발명을 완 전히 이해하도록 제공된다. 하지만, 본 발명은 이러한 특정한 세부사항들이 없이도 실시될 수도 있음은 명백할 것이다. 본 발명을 불명료하게 만드는 것을 회피하기 위해서, 잘 알려진 시스템 구성들, 및 공정 단계들은 상세히 설명되지 않는다. 마찬가지로, 본 발명의 실시예들을 도시하고 있는 도면들은 어느 정도 개략적인 도면들이며 축적대로 그려진 것은 아니다. 특히, 몇몇 치수들은, 명확한 표현을 위해서, 도면에서 매우 과장되게 표현되었다. 또한, 공통된 구성들을 갖는 다수의 실시예들이 개시 및 설명되었는바, 설명, 서술 및 비교의 간결 명확성을 위해서, 서로 간에 유사한 구성들은 유사한 참조번호로 통상적으로 서술될 것이다.
설명을 위한 목적으로, 본 명세서에서 사용된 "수평(horizontal)" 이라는 용어는, 그 방향에 상관없이, 자동 프로그래밍 시스템의 평면(또는 표면)에 평행한 평면으로 정의된다. 용어 "수직(vertical)" 은, 앞서 정의된 "수평"에 수직한 방향을 일컫는다. 가령, 상에(on), 위에(above), 밑에(below), 바닥(bottom), 탑(top), 사이드(side) (sidewall 에서의 사이드), 위쪽(higher), 아래쪽(lower), 상부(upper), 위로(over) 및 아래에(under)와 같은 용어들은 수평면에 대해서 정의된다.
이제 도1을 참조하면, 본 발명의 일실시예에 따른 자동 프로그래밍 시스템(100)이 도시되어 있다. 상기 자동 프로그래밍 시스템(100)은, 프레임(102), 모니터(104), 커버(106), 입력 모듈(108), 출력 모듈(110), 프로그래밍 모듈들(112), 제어 전자회로(114), 상태 표시기(116)를 포함한다. 예시적인 일례로서, 상기 자동 프로그래밍 시스템(100)은, 휴대용 자동 프로그래밍 시스템인 데스크탑 핸들러 시 스템(desktop handler system)을 포함할 수도 있다. 상기 데스크탑 핸들러 시스템의 휴대성을 높이기 위해서, 손잡이(118)가 내장(built-in) 될 수도 있다.
프레임(102)은, 모든 구성요소들을 수용하고 있으며 구조적인 지지를 제공하는 주요 하우징(main housing) 이다. 모니터(104)는 커버(106)의 고정 부분(fixed portion)에 마운트될 수 있다. 본 발명을 제한하고자 하는 것이 아닌 단지 일례로서, 상기 모니터(104)는, 시각적인 피드백을 조작자에게 제공하는 터치 스크린 사용자 인터페이스 시스템을 포함할 수도 있다.
커버(106)는 프레임(102)에 마운트되며 그리고 머신(machine)의 작업공간을 커버한다. 상기 커버(106)는 작업 환경(working environment) 내의 먼지 및 파편(debris)으로부터 입력 모듈(108), 출력 모듈(110), 프로그래밍 모듈들(112)을 보호한다. 또한, 상기 커버(106)는 예상치 못한 작동 위험으로부터 조작자를 보호한다.
디바이스들 및/또는 매체(media)는 가령, 입력 모듈(108) 또는 출력 모듈(110)과 같은 제거가능한 모듈들을 통해서, 상기 자동 프로그래밍 시스템(100)으로 들어가거나(enter) 또는 나온다(exit). 대안적으로는, 합동 전자 장치 엔지니어링 협의회(Joint Electron Device Engineering Council : JEDEC)의 표준을 따르는 트레이들(trays) 또는 다른 리셉터클들(receptacles)을 적용함으로써, 자동 프로그래밍 시스템(100)으로부터 상기 입력 모듈(108) 및 출력 모듈(110)을 제거함이 없이도, 상기 디바이스들 및/또는 매체(media)는, 자동 프로그래밍 시스템(100) 내에 위치될 수도 있으며 또는 자동 프로그래밍 시스템(100)으로부터 제거될 수도 있다. 하지만, 본 발명은 이러한 구성들에 의해 제한되지 않는다는 점을 유의해야 한다. 본 발명의 일실시예에 따르면, 상기 입력 모듈(108)과 상기 출력 모듈(110)은 임의의 디바이스 리셉터클을 수용할 수도 있다.
프로그래밍 모듈들(112)은 자동 프로그래밍 시스템(100)에 대해 코어-프로세싱(core-processing) 인터페이스를 제공한다. 상기 프로그래밍 모듈들(112)은, 자동 프로그래밍 시스템(100)에 인터페이스하는 하나 이상의 제거가능한 모듈들을 포함한다. 프로그래밍 모듈(112)들 각각은, 디바이스들을 받아들이기 위해서, 소켓 어댑터들(도2에서 상세히 설명됨), 액츄에이터(들)(actuator(s))(도2에서 상세히 설명됨), 및 리젝트 빈(reject bin)(도2에서 상세히 설명됨)을 포함할 수 있다. 가령, 프로그래밍가능한 매체(프로그램되지 않은)와 같은 디바이스들이 소켓 어댑터들 내에 위치한 이후에, 상기 액츄에이터들은 소켓들을 폐쇄하며 따라서, 상기 디바이스들은 자동 프로그래밍 시스템(100)의 프로그래밍 모듈들(112)에 적절히 연결된다. 또한, 상기 프로그래밍 모듈들(112)은 자동 프로그래밍 시스템(100)에 의해서 제어될 수 있는바, 이는 프로그래밍가능한 매체의 놓음 및 제거(placing and removing)와 같은, 구성 셋업(configuration setup) 및 수동 조작들을 용이하게 하기 위함이다.
또한, 도시되어 있지는 않지만, 상기 자동 프로그래밍 시스템(100)은, 가령, 마킹 모듈(marking module), 테이프 인 모듈(tape in module) 및 테이프 아웃 모듈(tape out module)과 같은 추가 모듈들을 포함할 수도 있다.
또한, 일례로서, 자동 프로그래밍 시스템(100) 내의 각각의 모듈들은 모듈 제어기를 포함할 수도 있는데, 이는 프로그래밍, 구성(configuration), 및 식별을 위해서, 각 모듈들이 셋업되는 것을 허용한다. 상기 모듈 제어 시스템 및 그 기능은, 모니터(104)에 디스플레이되는 터치 스크린 사용자 인터페이스 시스템의 일부로서 통합될 수도 있다.
또한, 제어 전자회로(114)는 프레임(102) 상에 마운트된다. 제어 전자회로(114)는 자동 프로그래밍 시스템(100)에 대해 전기적인 인터페이스를 제공한다. 예를 들어, 제어 전자회로(114)는 파워 온/오프(ON/OFF) 스위치, 및/또는 디지털 입력/출력 보드들(boards)을 구비할 수 있다. 상기 디지털 입/출력 보드들은, 자동 프로그래밍 시스템(100) 내에 있는 표시기들(indicators), 펌프들, 발광기(lights), 등의 활성화(activation)에 대한 인터페이스를 제공할 수도 있다. 또한, 디지털 입/출력 보드들은 다양한 센서들의 상태를 감지하기 위한 인터페이스를 제공할 수도 있다. 또한, 제어 전자회로(114)는 가령, USB 디바이스, 키보드, 마우스, 등등과 같은 주변 디바이스들에 대한 인터페이스를 제공한다.
특히, 상기 자동 프로그래밍 시스템(100)은 외부의 에어, 공기압 또는 진공 시스템(air, pneumatic or vacuum system)에 의존하지 않는바, 이는 머신(machine)의 휴대성과 설치 용이성을 크게 증대시킨다. 자동 프로그래밍 시스템(100)은, 전기 전류에 의해 전원공급되는 온-보드 진공/에어 시스템을 구비하는바, 따라서, 상기 자동 프로그래밍 시스템(100)은 작동을 위해서 전기적인 전력을 오직 필요로 하는 자급형(self-sufficient system) 시스템이다. 또한, 자동 프로그래밍 시스템(100)의 뒷면(back)은 추가 전력 모듈을 구비할 수도 있다.
또한, 상태 표시기(116)는 프레임(102) 상에 마운트된다. 상태 표시기(116)는 머신의 상태에 대해서, 비-텍스트(non-text) 에러 신호를 통해 시각적인 피드백을 사용자에게 제공한다. 설명을 위한 일례로서, 상기 상태 표시기(116)는 하나 이상의 발광 조합이 적용된 다색 체계를 이용할 수도 있다. 예를 들어, 초록불은 머신이 동작중임을 나타내고, 노란불은 조만간 주의가 필요할 수도 있음을 나타내며, 빨간불은 문제가 있을 수도 있음을 나타내거나, 그리고 머신이 중단되었음을 나타내거나 또는 작업이 정상적으로 종료했음을 나타내는 식으로, 특정한 조합이 만들어질 수 있다. 하지만, 동작-준비, 주의가 조만간 필요할 수도 있음, 그리고 동작-종료 라는 개념들을 전달하기 위해서, 임의의 색 체계가 이용될 수도 있다는 점을 유의해야 한다.
이제 도2를 참조하면, 본 발명의 일실시예에 따라, 모니터(104) 상에 워킹 엔벨로프의 표현을 갖는 자동 프로그래밍 시스템(100)이 도시되어 있다. 상기 자동 프로그래밍 시스템(100)은, 프레임(102), 모니터(104), 커버(106), 입력 모듈(108), 출력 모듈(110), 프로그래밍 모듈들(112), 제어 전자회로(114), 상태 표시기(116), 로보틱스 암(robotics arm)(202), 입력 디바이스 리셉터클(input device receptacle)(204), 소켓 어댑터들(socket adapters)(206, 208, 210, 212), 액츄에이터들(actuators)(214), 출력 디바이스 리셉터클(216), 입력 디바이스 리셉터클 이미지(218), 소켓 어댑터 이미지들(220, 222, 224, 226), 출력 디바이스 리셉터클 이미지(228), 작업 정보 영역(job information area )(230), 비-텍스트 사용자 인터페이스 시스템(232), 및 리젝트 빈(reject bin)(234)을 포함한다. 비록, 도시되어 있지는 않지만, 액츄에이터들(214)은 소켓 어댑터들(socket adapters)(206, 208, 210, 212)에 근접하게 위치한다.
동작하는 동안에, 로보틱스 암(202)은, 입력 모듈(108) 위에 위치한 입력 디바이스 리셉터클(204)로부터 하나 이상의 디바이스들을 검색한다. 다음으로 상기 로보틱스 암(202)은 디바이스(들)을 프로그래밍 모듈들(112) 쪽으로 운반하는바, 프로그래밍 모듈들(112)은 소켓 어댑터들(206, 208, 210, 212) 및 액츄에이터들(214)을 구비한다. 일단, 상기 소켓 어댑터들(206, 208, 210, 212)에 의해 디바이스들이 맞물리면(engage), 프로그래밍이 개시될 수 있다. 프로그래밍이 완료되면, 상기 로보틱스 암(202)은, 양호한 디바이스들은 출력 모듈(110) 위에 위치한 출력 디바이스 리셉터클(216) 쪽으로 운반하고, 그리고 불량한 디바이스들은 리젝트 빈(234) 쪽으로 운반한다.
또한, 자동 프로그래밍 시스템(100)이 동작하는 동안에, 상기 모니터(104)는, 비-텍스트 사용자 인터페이스 시스템(232)을 통해서 워킹 엔벨로프의 실시간 이미지를 제공한다. 워킹 엔벨로프는, 입력 모듈(108), 출력 모듈(110), 프로그래밍 모듈들(112), 입력 디바이스 리셉터클(204), 소켓 어댑터들(206, 208, 210, 212), 출력 디바이스 리셉터클(216)을 포함한다. 상기 비-텍스트 사용자 인터페이스 시스템(232)은, 입력 디바이스 리셉터클 이미지(218)는 입력 디바이스 리셉터클(204)의 실시간 표현을 반영하고, 소켓 어댑터 이미지들(220, 222, 224, 226)은 소켓 어댑터들(206, 208, 210, 212)의 실시간 표현을 각각 반영하고, 그리고 출력 디바이스 리셉터클 이미지(228)는 출력 디바이스 리셉터클(216)의 실시간 표현을 반영하는 식으로 워킹 엔벨로프의 실시간 표현을 모델링한다.
워킹 엔벨로프의 실시간 표현을 모델링함으로써, 상기 비-텍스트 사용자 인터페이스 시스템(232)은, 자동 프로그래밍 시스템(100)을 셋업하는 동안에 조작자의 실수를 제거하는데 도움을 준다. 또한, 비-텍스트 사용자 인터페이스 시스템(232)에 의해 제공되는 실시간 이미지는, 조작자의 생산성을 높일 수 있는바, 이는 워킹 엔벨로프에 대한 정확한 실시간 이미지 표현 때문이다.
상기 비-텍스트 사용자 인터페이스 시스템(232)은 워킹 엔벨로프에 대한 실시간 이미지를 디스플레이 할 뿐만 아니라, 많은 기능들을 구비한 작업 정보 영역(job information area )(230)도 또한 제공하는데, 작업 정보 영역의 기능들로는, 작업 상태 문의(job status inquires), 작업 제어(job control), 작업 툴들, 소켓 사용(socket use), 작업 선택, 리셉터클 맵(receptacle map), 및 측정 리셉터클(measure receptacle) 등을 들 수 있다. 자동 프로그래밍 시스템(100)을 위한 사용자 인터페이스의 일부인 이들 기능들은, 문자적인 표현(textual representation)을 요구하지 않으며, 따라서 이러한 사용자 인터페이스가 전세계적으로 적용되는 것을 허용한다.
이제 도3을 참조하면, 본 발명의 일실시예에 따른 사용자 인터페이스의 고-레벨 구조(300)가 도시되어 있다. 사용자 인터페이스 고-레벨 구조(300)는 가령, 도2의 비-텍스트 사용자 인터페이스 시스템(232)과 같은, 사용자 인터페이스 시스템의 조작자에게 이용가능한 다양한 기능들 및/또는 입력들을 포함하는바, 이는 조작자가 지령들(instructions)을 통신하는 것을 허용하며 그리고 프로세싱 시스템을 셋업에서부터 프로그래밍까지 제어하는 것을 허용한다. 각각의 기능들 및/또는 입력들은 저장된 정보에 관계되는바, 이는 도1 및 도2의 자동 프로그래밍 시스템(100) 이전에 프로그래밍되었던 것을 검색하기 위한 것이다. 상기 저장된 정보는, 자동 프로그래밍 시스템(100)의 프로세싱 시스템에 의해서 생성될 수도 있다.
특히, 상기 사용자 인터페이스 고-레벨 구조(300)는, 비-텍스트 인터페이스(즉, 글로 쓰여진 것이 아닌)를 통해 조작자와 통신 및 상호작용한다. 이러한 비-텍스트 통신 표현들은 임의의 언어를 사용하는 임의의 조작자에게 정보를 전달하는바, 따라서 본 발명이 전세계적으로 적용되는 것을 가능케 한다. 본 발명의 기술적 사상에 따르면, 상기 비-텍스트 사용자 인터페이스 시스템(232)은 오직, 숫자(numbers), 문자(characters), 그림화된 표현들(pictorial representations) 및 국제적인 기호(international symbols) 만을 이용하여 조작자와 정보를 통신하며, 글로 쓰여진 것들(written words)을 이용하지는 않는다. 더 나아가, 언어에 독립적인 이러한 사용자 인터페이스 시스템은, 시각적인 또는 청각적인 자극들을 통해서 조작자에게 피드백을 제공할 수 있다. 결과적으로, 언어에 독립적인 이러한 직관적인(intuitive) 사용자 인터페이스 시스템은, 사실상 조작자에 대한 교육(operator training)을 필요로 하지 않는다.
예를 들면, 사용자 인터페이스 고-레벨 구조(300)는, 도2의 모니터(104) 상의 사용자 인터페이스 시스템을 통해 조작자에게 디스플레이될 수 있는데, 이는 자동 프로그래밍 시스템(100)을 제어한다. 사용자 인터페이스 시스템은, 사용가능한 모든 기능들 및 입력들을 스크린 상에 디스플레이할 수도 있다. 대안적으로는, 상 기 사용자 인터페이스 시스템은 기능들만을 디스플레이할 수도 있으며, 기능이 선택되면 입력들의 목록이 이용가능해진다.
일반적으로, 본 발명의 사용자 인터페이스 시스템은 프로그래밍 시스템을 제어하기 위해서 다음의 기능들 및/또는 입력들을 포함한다: 작업 선택(job selection), 프로그래밍, 디바이스 및 하드웨어 검출, 통계적인 작업 피드백, 그리고 도움말(help).
예를 들어, 작업 선택(job selection)은, 조작자가 하드 드라이브에 액세스하고 그리고 프로그래밍 작업을 가진 파일들을 파티션(partition)하는 것을 허용하며, 선택된 작업에 대한 프로그래밍 프로세스를 디스플레이하며, 선택된 작업에 필요한 프로그래밍 하드웨어를 디스플레이하며, 작업 이름을 디스플레이하며, 작업 체크섬(checksum)을 디스플레이하며, 그리고 작업 다운로드 진행상황(job download progress)을 디스플레이한다. 설명을 위한 일례로서, 작업 다운로드를 그림화한 표현은, 설치된 프로그래머들 쪽으로 전송되고 있는 작업 데이터의 진행상황을 나타낼 수 있다. 그리고 그림화한 진행상황 바(progress bar)는, 남아있는 상대적인(relative) 작업 셋업 시간을 나타내기 위해서 이용될 수 있다.
예를 들어, 프로그래밍은, 프로그래밍 시스템의 시작(start), 중단(stop), 정지(pause) 및 재시작(restart)을 제어하며, 프로그래밍이 진행하는 동안 진행상황을 디스플레이하며, 프로그래밍될 작업 카운트(job count)를 디스플레이하며, 작업이 종료된 후에 카운터 리셋 버튼을 디스플레이하며, 그리고 워킹 엔벨로프 내의 모든 디바이스들의 실시간 표현 및 상태를 디스플레이한다.
예를 들어, 디바이스 및 하드웨어 검출은, 시스템 내에 설치된 모듈들을 검출하고 그 결과를 디스플레이하며, 설치된 디바이스 리셉터클들을 검출하고 그 결과를 디스플레이하며, 미싱(missing) 모듈들을 검출하고 그 결과를 디스플레이하며, 미싱(missing) 디바이스 리셉터클들을 검출하고 그 결과를 디스플레이하며, 모듈들과 디바이스 리셉터클들을 측정하는 동안에 진행상황 바(progress bar) 또는 스캔된 실시간 이미지를 디스플레이하며, 그리고 디바이스 리셉터클들 상의 포켓 카운트들(pocket counts)을 디스플레이한다.
예를 들어, 통계적인 작업 피드백은, 작업이 완료될 때까지 남아있는 추정시간에 대한 정보를 제공하며, 실시간 작업 진행상황 바를 디스플레이하며, 실시간 작업 수율(job yield)을 디스플레이하며, 시간당 실시간 작업 부품들(real-time job parts per hour)을 디스플레이하며, 소켓 설정들을 디스플레이한다.
예를 들어, 도움말(help)은 조작자를 지원해 주는바 가령, 소정 오류가 왜 발생했으며 그리고 이 오류를 해결하기 위해서는 어떤 단계를 거쳐야 하는지 등과 같은 것을 언어 독립적인 사용자 인터페이스 시스템을 통해 알려준다.
도3은 자동 프로그래밍 시스템(100)에 대한 사용자 인터페이스 구조의 일례를 도시하고 있는바, 이는 단지 예시적인 것일 뿐이며, 본 발명을 이에 제한하고자 함이 아님을 유의해야 한다.
본 발명의 일실시예에 따르면, 사용자 인터페이스 고-레벨 구조(300)는, 다음의 기능들을 구비한 메인 스크린(302)을 포함할 수 있다: 작업 상태 및 정보 기능(304), 작업 제어 기능(306), 작업 툴 기능(308), 소켓 사용 기능(310), 작업 선 택 기능(312), 리셉터클 맵 기능(314), 그리고 측정 리셉터클 기능(380). 각각의 기능들에는, 조작자가 프로그래밍 프로세스를 한번에 한 단계씩 시각화하는 것을 허용하는 유용한 많은 입력들이 존재하는바, 이는 자동 프로그래밍 시스템(100)을 빨리 배워서 익히는데 도움을 준다. 또한, 사용자 인터페이스 고-레벨 구조(300)는, 조작자가 올바른 일련의 단계들(작업을 셋업하기 위한)을 선택하게끔 강요하며, 이는 작업 프로그램이 오류없이 진행되게 한다.
작업 상태 및 정보 기능(304) 하에서의 입력들은 다음을 포함한다: 입력-리셉터클 입력(input-receptacle input)(316), 출력-리셉터클 입력(output-receptacle input)(318), 프로그래밍-모듈 입력(320), 작업-진행상황 입력(322), 잔여시간 입력(time-remaining input)(324), 퍼센트-패스 입력(percent-pass input)(326), 시간당 디바이스 입력(devices-per-hour input)(328), 실패 횟수 입력(number-of-failures input)(330), 작업-이름 입력(332), 작업-체크섬 입력(334), 모듈 존재/부재 입력(modules-present/missing input)(336), 소켓 어댑터 존재/부재 입력(338), 커버-상태 입력(340), 리젝트-빈 입력(342), 그리고 그림화된 상태 입력(pictorial status input)(343). 조작자에 의해 입력이 선택되면, 정보가 이용가능해진다.
예를 들어, 입력-리셉터클 입력(input-receptacle input)(316)은, 도2의 입력 디바이스 리셉터클(204)이 얼마나 많은 로우들(rows)과 컬럼들(columns)을 포함하고 있는지를 도식적으로 디스플레이할 수도 있으며 및/또는 입력 디바이스 리셉터클(204)의 위치를 디스플레이할 수도 있다. 또한, 출력-리셉터클 입력(output- receptacle input)(318)은, 도2의 출력 디바이스 리셉터클(216)이 얼마나 많은 로우들(rows)과 컬럼들(columns)을 포함하고 있는지를 도식적으로 디스플레이할 수도 있으며 및/또는 출력 디바이스 리셉터클(216)의 위치를 디스플레이할 수도 있다. 또한, 입력-리셉터클 입력(316)은, 입력 디바이스 리셉터클(204)의 점유되었거나 비어있는 포켓들의 개수를 나타낼 수 있다. 그리고 출력-리셉터클 입력(318)은, 출력 디바이스 리셉터클(216)의 점유되었거나 비어있는 포켓들의 개수를 나타낼 수 있다. 이러한 피드백은, 조만간 수동 트레이 교환(manual tray exchange)이 수행될 필요가 있다라는 것에 대한 정보를 제공할 수 있다.
프로그래밍-모듈 입력(320)은, 얼마나 많은 프로그래밍 모듈들(112)이 자동 프로그래밍 시스템(100) 내에 설치되었는지와 이들이 어디에 위치하고 있는지를 도식적으로 디스플레이한다. 상기 자동 프로그래밍 시스템(100)은, 작업 요구조건들에 따라, 1개 내지 3개의 프로그래밍 모듈들(112)을 수용할 수 있다. 하지만, 자동 프로그래밍 시스템(100)이 4개 이상의 프로그래밍 모듈들(112)을 수용할 수도 있음을 유의해야 한다. 본 발명에 따르면, 프로그래밍 모듈들(112)의 개수는, 자동 프로그래밍 시스템(100)의 설계 사양에만 오직 의존한다.
작업-진행상황 입력(322)은 가령, 바 그래프(bar graph)와 같은 시각적인 표현인바, 이는 작업 진행상황을 상세히 나타낸다. 작업-진행상황 입력(322) 때문에, 조작자는 작업의 어떤 부분이 완료되었는지를 매우 용이하게 판별할 수 있다. 작업-진행상황 입력(322)은, 워킹 엔벨로프에 대한 동적인 실시간 표현을 제공하는바 따라서, 상기 작업-진행상황 입력은, 이미 프로그래밍된 디바이스들의 개수를 어떤 순간에도 디스플레이 할 수 있다.
잔여시간 입력(time-remaining input)(324)은, 작업이 완료될 때까지 남아있는 추정 시간을 디스플레이 한다. 퍼센트-패스 입력(326)은, 프로그래밍 작업을 통과한(즉, 성공적으로 프로그래밍된) 디바이스들의 퍼센트 수율(percent yield)을 디스플레이한다. 시간당 디바이스 입력(devices-per-hour input)(328)은, 한 시간동안 프로그래밍된 프로그램가능한 매체와 같은 디바이스들의 추정 개수를 통해 시스템의 생산량(throughput)을 디스플레이 한다. 실패 횟수 입력(number-of-failures input)(330)은 가령, 프로그래밍 불가능과 같은 여러 가지 이유로 인해 자동 프로그래밍 시스템에 의해서 거부된 디바이스들(예컨대, 프로그램가능 매체)의 개수를 디스플레이한다.
작업-이름 입력(332)은, 초기 프로그래밍 작업을 디스플레이하며 그리고 작업-체크섬 입력(334)은 작업 설정 값을 검증한다. 예컨대, 작업-체크섬 입력(334)은, 셋업 동안에 주어진 조작자의 입력 값을 평가하고 그리고 셋업이 완료된 이후에 자동 프로그래밍 시스템(100)에 의해 판별된 값과 이것을 비교한다. 만일, 상기 값들이 매칭된다면, 셋업은 제대로 된 것이다.
모듈 존재/부재 입력(modules-present/missing input)(336)은, 어떤 모듈들이 자동 프로그래밍 시스템(100) 내에 설치되어 있는지 그리고 어떤 모듈들이 설치되어 있지 않은지를 조작자에게 디스플레이한다. 소켓 어댑터 존재/부재 입력(338)은 도2의 소켓 어댑터들(206, 208, 210, 212) 중 어떤 것들이 존재하고 있는지, 어떤 것들이 부재중인지를 디스플레이한다. 커버-상태 입력(340)은, 도1 및 도2의 커 버(106)가 개방 또는 폐쇄되어 있는지를 디스플레이하며, 그리고 리젝트-빈 입력(342)은 도2의 리젝트 빈(234)이 설치되었는지 또는 설치되어 있지 않은지를 조작자에게 디스플레이한다.
또한, 그림화된 상태 입력(pictorial status input)(343)은, 블랭크(blank) 디바이스, 처리된(processed) 디바이스, 및 거부된(rejected) 디바이스에 대한 정보를, 그림화된 표현을 통해서 제공할 수 있다. 예를 들어, 블랭크 디바이스는 도2의 입력 디바이스 리셉터클 이미지(218)의 일부로서 표현될 수 있으며, 그리고 회색(gray)이 될 수 있다. 처리된 디바이스는, 도2의 출력 디바이스 리셉터클 이미지(228)의 일부로서 표현될 수 있으며, 그리고 성공적으로 프로그래밍된 경우 녹색(green)이 될 수 있다. 그리고, 거부된 디바이스는 리젝트 빈(234)의 일부로서 표현될 수 있으며 붉은색이 될 수 있다.
작업 제어 기능(306)에서, 입력들은 다음을 포함한다: 시작 입력(344), 중단 입력(stop input)(346), 정지 입력(pause input)(348), 리셋 입력(350). 시작 입력(344)은 작업을 개시하며, 중단 입력(stop input)(346)은 작업을 완전히 종료시킨다. 정지 입력(pause input)(348)은 조작자가 작업을 정지시키고 나중에 작업을 재개하는 것을 허용한다. 리셋 입력(350)은 조작자가 이전의 작업을 취소하는 것을 허용하며 그리고 또 다른 작업을 실행하거나 또는 동일한 작업을 다시 한번 실행하는 것을 허용한다.
작업 툴 기능(308)에서, 입력들은 다음을 포함한다: 디바이스-파트-번호 입력(device-part-number input)(352), 소켓-어댑터-번호 입력(354), 리셉터클-맵 파 일 입력(355). 디바이스-파트-번호 입력(352)과 소켓-어댑터-번호 입력(354)은, 자동 프로그래밍 시스템(100)이 식별할 수 있는 고유 식별 번호들이거나 또는 조작자에 의해 수동으로 입력되는 값들이 될 수 있다. 프로그래밍 작업이 셋업되면, 작업을 진행하기 위해서는, 프로그램 작업 정보가 디바이스 파트 번호와 소켓 어댑터 번호와 매칭되어야만 한다. 상기 디바이스-파트-번호 입력(352)은 자동 프로그래밍 시스템(100) 내에 설치된 매체 또는 디바이스의 유형을 식별하며, 그리고 상기 소켓-어댑터-번호 입력(354)은, 올바른 소켓 어댑터 세팅을 자동 프로그래밍 시스템(100)에게 알려준다.
리셉터클-맵 파일 입력(355)은, 현재 선택된 작업이 상기 작업과 같이 저장된 리셉터클-맵 파일을 가지고 있는지를 나타낸다. 이전에 저장된 리셉터클-맵 파일은 현재 작업에 대해서 이용될 수 있으며, 따라서 시스템의 셋업을 용이하게 한다.
소켓 사용 기능(310)에서, 입력들은, 삽입횟수 입력(number-of insertions input)(356)과 예상-수명 입력(expected-life input)(358)을 포함한다. 삽입횟수 입력(356)은, 도2의 소켓 어댑터들(204)에 대해 얼마나 여러번 삽입이 이루어졌는가를 디스플레이하며, 그리고 예상-수명 입력(358)은, 생산성 수율에 있어서의 감소가 예상되기 전에, 소켓 어댑터가 견딜 수 있는 추정 삽입 횟수를 디스플레이한다.
작업 선택 기능(312)에서는, 입력들은 다음을 포함한다: 드라이브 입력(360), 작업-목록 입력(362), 작업-량 입력(job-quantity input)(364), 및 작업- 기능 입력(job-functions input)(366). 드라이브 입력(360)은, 작업을 읽고(reading) 및 쓰기(writing) 위한 이용가능한 드라이브 옵션들(options)을 디스플레이한다. 예를 들어, 조작자는 자동 프로그래밍 시스템(100)의 프로세싱 시스템, 가령 USB 플래시 드라이브와 같은 제거가능한 매체에 작업을 읽고 쓸수 있거나, 또는 이것은, 이더넷/인터넷 연결을 통해 원격 위치로/로부터 작업을 읽고 쓸수 있다. 작업-목록 입력(362)은 상이한 작업들의 잠재적인 목록을 디스플레이하는바, 작업들은 이로부터 선택된다.
작업-량 입력(364)은, 프로그래밍되어야할 되어야 할 매체들 또는 디바이스들이 얼마나 많은지와 같은 정보를 디스플레이한다. 작업-기능 입력(366)은, 다양한 프로그래밍 기능들을 디스플레이한다. 예를 들어, 작업-기능 입력(366)은 미리-선택된 프로그래밍 기능들의 상태를 디스플레이할 수 있다.
리셉터클-맵 기능(314)에서는 다음과 같은 입력들을 포함한다: 로우 입력(rows input)(368), 컬럼 입력(columns input)(370), 로우-옵셋 입력(372), 로우-피치 입력(row-pitch input)(374), 컬럼-옵셋 입력(376), 컬럼-피치 입력(378). 리셉터클-맵 기능(314)은, 리셉터클의 물리적인 특성들 및 지오메트리를 조작자가 수동으로 입력하는 것을 허용한다. 예를 들어, 리셉터클의 로우 및 컬럼 갯수는 로우 입력(368)과 컬럼 입력(370)에 각각 입력될 수 있다. 설명의 편의를 위해서, 각각의 리셉터클들은 2차원 다이어그램으로 도시될 수 있는바, 여기서 로우들 간의 거리는 수직 거리이고, 컬럼들 간의 거리는 수평 거리이다. 로우-옵셋 입력(372)은, 디바이스 리셉터클의 탑-좌측(top-left) 코너와 제 1 포켓(pocket) 사이의 수 직 거리를 조작자가 입력하는 것을 허용하며, 그리고 로우 피치 입력(374)은, 인접한 로우 포켓 중심점들 간의 수직 거리를 조작자가 입력하는 것을 허용한다. 이와 유사하게, 컬럼-옵셋 입력(376)은 디바이스 리셉터클의 탑-좌측(top-left) 코너와 제 1 포켓(pocket) 사이의 수평 거리를 조작자가 입력하는 것을 허용하며, 그리고 컬럼 피치 입력(378)은, 인접한 컬럼 포켓 중심점들 간의 수평 거리를 조작자가 입력하는 것을 허용한다. 특히, 리셉터클-맵 기능(314)은 리셉터클-맵 파일을 생성할 수 있는바, 상기 리셉터클-맵 파일은 조작자가 리셉터클의 물리적인 특성들을 수동으로 입력한 이후에, 현재 작업과 같이 저장된다.
측정 리셉터클 기능(380)에서 입력들은 다음을 포함한다. 자동-측정 로우 입력(382), 자동-측정 컬럼 입력(384), 자동-측정-로우-옵셋 입력(386), 자동-측정-로우-피치 입력(388), 자동-측정-컬럼-옵셋 입력(390), 자동-측정-컬럼-피치 입력(392), 자동-측정-컬럼-스캔 입력(394), 자동-측정-로우-스캔 입력(396), 및 자동-측정 입력(398)을 포함한다. 측정 리셉터클 기능(380)은 조작자가 자동-측정 입력(398)을 선택하는 것을 허용하는바, 이는 디바이스 리셉터클의 물리적인 특성들 및 지오메트리를 자동적으로 측정할 것이다. 자동-측정 입력(398)은, 자동 측정 시스템을 가능케하는바, 자동 측정 시스템은 상태의 변화에 기초한 광학 방법들을 채용하며, 그리고 리셉터클 위치, 지오메트리 및 물리적인 특성들을 계산하기 위해 특별하게 설계된 알고리즘을 채용한다.
예를 들어, 측정 리셉터클 기능(380)은, 로우와 컬럼의 개수가 수동으로 입력된 이후에, 로우 및 컬럼, 로우 옵셋 및 피치와 컬럼 옵셋 및 피치를 자동적으로 측정할 것이다. 이는, 자동-측정-컬럼-스캔 입력(394)과 자동-측정-로우-스캔 입력(396)을 선택함으로써 달성될 수 있다. 자동-측정 피쳐는, 상대적인 좌표 시스템을 결정하기 위해서 반사성(reflective) 및 비-반사성(non-reflective) 표면들을 적용할 수 있는바, 여기서, 디바이스 리셉터클의 포켓들은 상대적인 좌표 시스템 내에 위치한다.
자동-측정 피쳐는 3개의 기본 기능들을 갖는다. 포켓 중심을 알아내는 것; 로우를 따라 포켓들의 위치를 결정하는 것; 그리고 컬럼을 따라 포켓들의 위치를 결정하는 것. 자동-측정 피쳐는 포켓 위치들을 일련의 X와 Y의 좌표로서 저장하는바, 여기서 포켓 "n"의 위치는 XnYn에 의해 정해진다. 일단, 모든 포켓의 위치가 X와 Y 테이블 내에 맵핑 아웃되면, 상기 X와 Y 테이블로부터의 평균들로 로우 및 컬럼 옵셋이 계산된다.
자동-측정 피쳐는, 조작자의 시간을 절약하고 에러를 방지하도록 설계되었는바, 이는 수동 측정에서의 시도들이 불량한 픽 앤 플레이스(pick and place) 동작을 야기하기 때문이다. 수동으로 측정하는 동안에 초래된 사소한 라운딩 에러(rounding error)는, 픽-앤-플레이스 헤드가 상기 포인트에서 옮겨지기 때문에 매우 커질 수 있다. 상기 자동-측정 피처의 결과들은 리셉터클-맵 파일에 저장될 수 있는데, 리셉터클-맵 파일은 현재 작업과 함께 저장된다.
이제 도4를 참조하면, 본 발명의 일실시예에 따른, 도1의 자동 프로그래밍 시스템(100)에 대한 순서도(400)가 도시되어 있다. 상기 순서도(400)는, 시스템 셋업 블록(402), 프로그래밍-작업-셋업 블록(404), 그리고 작업-실행(run-job) 블 록(406)을 포함한다. 일반적으로, 시스템-셋업 블록(402)은 자동 프로그래밍 시스템(100)의 물리적인 셋업 또는 표현(representation)이라고 정의된다. 예를 들어, 조작자는, 가령, 도2의 입력 모듈(108), 도2의 출력 모듈(110), 도2의 프로그래밍 모듈(112), 도2의 입력 디바이스 리셉터클(204), 도2의 소켓 어댑터들(206, 208, 210, 212), 도2의 액츄에이터들(214), 그리고 도2의 출력 디바이스 리셉터클(216)과 같은 구성요소들을 설치할 수 있다.
물리적인 셋업이 완료되면, 조작자는 프로그래밍-작업-셋업 블록(404)을 통해 프로그래밍을 개시할 수 있다. 상기 조작자는, 도3의 사용자 인터페이스 고-레벨 구조(300) 또는 이와 대등한 사용자 인터페이스 구조를 채용함으로써 작업 셋업을 프로그램할 수도 있다. 프로그램 작업 셋업이 완료된 이후에, 조작자는, 작업-실행 블록(406)을 통해 프로그래밍을 개시할 수 있다.
이제 도5를 참조하면, 본 발명의 일실시예에 따른 자동 프로그래밍 시스템(100)을 사용하기 위한 자동 프로그래밍 시스템(500)의 순서도가 도시되어 있다. 자동 프로그래밍 시스템(500)은, 입력 모듈, 프로그래밍 모듈, 및 출력 모듈을 포함하는 자동 프로그래밍 시스템을 형성하는 단계(블록 502); 상기 입력 모듈, 프로그래밍 모듈, 및 출력 모듈에 대한 실시간 표현을 위해서 비-텍스트 사용자 인터페이스 시스템을 채용하는 단계(블록 504)를 포함한다.
전술한바로부터, 본 발명은 "디바이스" 또는 "매체(media)" 라고 명명될 수 있는 임의의 것에 적용될 수 있음을 유의해야 한다. 디바이스들 및/또는 매체(media)는, 넓은 범위의 전자 디바이스들과 기계 디바이스들을 포함한다. 본 발 명의 최적 실시예들은 디바이스들 및/또는 매체를 프로그래밍하는 것을 서술하고 있는바, 상기 디바이스들 및/또는 매체는 플래시 메모리들(Flash), 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리(Electrically Erasable Programmable Read Only Memory : EEPROM), 프로그래밍가능한 로직 디바이스(PLDs), 필드 프로그래밍가능 게이트 어레이(FPGAs), 및 마이크로콘트롤러를 포함하지만, 이에 한정되는 것은 아니다. 하지만, 본 발명은 테스팅, 디바이스 특성들의 측정, 계측(calibration) 및 여타의 프로그래밍 동작들을 요구하는, 모든 전자 디바이스, 기계 디바이스, 하이브리드 디바이스, 및 여타의 디바이스들 및 매체들에 대한 프로그래밍을 포함한다. 예를 들어, 이러한 유형들의 디바이스들 및/또는 매체들은, 마이크로프로세서, 집적회로(IC), 주문형 반도체(ASIC), 미소 기계 머신(micro mechanical machine), 미소-전자-기계(micro-electro-mechanical : MEM) 디바이스, 마이크로 모듈들, 및 유체(fluidic) 시스템을 포함하지만, 이에 한정되는 것은 아니다.
본 발명은 유용한 양상들을 많이 가지고 있는 것으로 밝혀졌다. 본 발명의 기본적인 유용한 양상은, 자동 프로그래밍 시스템에 적용된 비-텍스트 사용자 인터페이스 시스템의 등장이다. 설명을 위한 일례로서, 상기 비-텍스트 사용자 인터페이스 시스템은, 자동 프로그래밍 시스템에 대해, 모듈 인식, 작업 선택, 작업 셋업, 로봇 제어, 작업 상태, 작업 제어, 및 작업 통계를 처리할 수 있다.
본 발명의 또 다른 유용한 양상은, 사용자 인터페이스 시스템에 의해서 워킹 엔벨로프에 대한 실시간 표현이 가능하다는 점이다. 워킹 엔벨로프의 실시간 표현 을 모방함으로써, 조작자 에러의 발생빈도를 감소시킬 수 있다.
본 발명의 또 다른 유용한 양상은, 상기 사용자 인터페이스 시스템이 조작자에게 비-텍스트 에러 메시지들을 전송할 수 있다라는 점이다. 비-텍스트 에러 메시지의 사용은, 팝업 대화들(popup dialogs)를 채용함에 의해서 자동 프로그래밍 시스템을 더욱 쉽게 조작할 수 있게 하는바, 상기 팝업 대화들은, 비-텍스트 사용자 인터페이스 시스템 내의 그림화된 포맷으로 정보를 전송한다. 예를 들어, 입력 디바이스 리셉터클이 빈 것을 구동하고(run empty) 그리고 상태 표시기가 붉은색을 나타내고 있으면, 팝업 대화는 입력 디바이스 리셉터클의 수동 제거 및 교체를 표시할 수 있다.
본 발명의 이와같은 유용한 양상들 및 또 다른 양상들은 결과적으로, 기술수준을 적어도 다음 레벨로 향상시킬 수 있다.
따라서, 본 발명에 따른 자동 프로그래밍 시스템은, 중요하고 그리고 지금까지 알려지지 않았으며 또한 이용가능하지 않았던 해결책들, 성능들 및 기능적 양상들을 제공한다. 예컨대, 본 발명에 따른 자동 프로그래밍 시스템은, 비-텍스트 사용자 인터페이스 시스템, 비-텍스트 에러 메시지들, 그리고 워킹 엔벨로프의 실시간 표현을 채용하고 있는바, 이는 자동 프로그래밍 시스템에 대한 사용자 조작을 용이하게 하기 위함이다. 결과적인 프로세스들 및 구성들은, 직접적이며(straightforward), 비용면에서 효과적이며, 복잡하지 않으며, 응용가능성이 높으며, 효과적인바, 공지된 기술들을 적용함으로서 용이하게 구현될 수 있다. 따라서, 이들 결과적인 프로세스들 및 구성들은 효율적 및 경제적인 제조에 용이하게 적용될 수 있다.
비록, 특정한 최적 실시모드에 관하여 본 발명이 설명되었지만, 앞서 설명된 내용을 참조한다면, 수많은 대체예들, 수정예들 및 변형예들이 가능함은 해당 기술분야의 당업자에게 명백할 것이다. 따라서, 본 발명은 첨부된 청구항들의 범위내에 속하는 이러한 모든 대체예들, 수정예들 및 변형예들을 포괄하도록 의도된다. 본 명세서에서 이제까지 설명된 모든 내용들 또는 첨부된 도면에서 도시된 모든 내용들은, 예시적이며 비제한적인 의미로 해석되어야만 한다.

Claims (10)

  1. 자동 프로그래밍 시스템(100)으로서,
    입력 모듈(108), 프로그래밍 모듈(112), 및 출력 모듈(110)을 포함하는 자동 프로그래밍 시스템(100)을 형성하는 단계; 및
    상기 입력 모듈(108), 프로그래밍 모듈(112), 및 출력 모듈(110)에 대한 실시간 표현을 위해서 비-텍스트 사용자 인터페이스 시스템(232)을 채용하는 단계
    를 포함하는 자동 프로그래밍 시스템.
  2. 제1항에 있어서,
    상기 비-텍스트 사용자 인터페이스 시스템(232)으로 상기 자동 프로그래밍 시스템(100)을 제어하는 단계
    를 더 포함하는 것을 특징으로 하는 자동 프로그래밍 시스템.
  3. 제1항에 있어서,
    실시간 표현을 위해서 비-텍스트 사용자 인터페이스 시스템(232)을 채용하는 상기 단계는,
    입력 디바이스 리셉터클(204)을 입력 디바이스 리셉터클 이미지(218)로 모델링하는 단계를 포함하는 것을 특징으로 하는 자동 프로그래밍 시스템.
  4. 제1항에 있어서,
    실시간 표현을 위해서 비-텍스트 사용자 인터페이스 시스템(232)을 채용하는 상기 단계는,
    소켓 어댑터들(206, 208, 210, 212)을 소켓 어댑터 이미지들(220, 222, 224, 226)로 모델링하는 단계를 포함하는 것을 특징으로 하는 자동 프로그래밍 시스템.
  5. 실시간 표현을 위해서 비-텍스트 사용자 인터페이스 시스템(232)을 채용하는 상기 단계는,
    출력 디바이스 리셉터클(216)을 출력 디바이스 리셉터클 이미지(228)로 모델링하는 단계를 포함하는 것을 특징으로 하는 자동 프로그래밍 시스템.
  6. 자동 프로그래밍 시스템(100)으로서,
    디바이스들을 프로그래밍하기 위한 자동 프로그래밍 시스템(100)과; 그리고
    입력 모듈(108), 프로그래밍 모듈(112), 및 출력 모듈(110)의 실시간 표현들을 모델링하기 위한 비-텍스트 사용자 인터페이스 시스템(232)
    을 포함하는 것을 특징으로 하는 자동 프로그래밍 시스템.
  7. 제6항에 있어서,
    상기 비-텍스트 사용자 인터페이스 시스템(232)은, 상기 자동 프로그래밍 시스템(100)을 제어하는 것을 특징으로 하는 자동 프로그래밍 시스템.
  8. 제6항에 있어서,
    상기 실시간 표현들은,
    입력 디바이스 리셉터클 이미지(218)에 의해 모델링된 입력 모듈(108)을 포함하는 것을 특징으로 하는 자동 프로그래밍 시스템.
  9. 제6항에 있어서,
    상기 실시간 표현들은,
    소켓 어댑터 이미지들(220, 222, 224, 226)에 의해 모델링된 상기 프로그래밍 모듈(112)을 포함하는 것을 특징으로 하는 자동 프로그래밍 시스템.
  10. 제6항에 있어서,
    상기 실시간 표현들은,
    출력 디바이스 리셉터클 이미지(228)에 의해 모델링된 출력 모듈(110)을 포함하는 것을 특징으로 하는 자동 프로그래밍 시스템.
KR1020087029441A 2006-05-03 2007-03-30 비-텍스트 사용자 인터페이스를 채용한 자동 프로그래밍 시스템 KR101404207B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US79746206P 2006-05-03 2006-05-03
US60/797,462 2006-05-03
US11/467,087 2006-08-24
US11/467,087 US7818075B2 (en) 2006-05-03 2006-08-24 Automated programming system employing non-text user interface
PCT/US2007/065724 WO2007130767A2 (en) 2006-05-03 2007-03-30 Automated programming system employing non-text user interface

Publications (2)

Publication Number Publication Date
KR20090037393A true KR20090037393A (ko) 2009-04-15
KR101404207B1 KR101404207B1 (ko) 2014-06-05

Family

ID=38662133

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087029441A KR101404207B1 (ko) 2006-05-03 2007-03-30 비-텍스트 사용자 인터페이스를 채용한 자동 프로그래밍 시스템

Country Status (7)

Country Link
US (2) US7818075B2 (ko)
JP (1) JP2009535741A (ko)
KR (1) KR101404207B1 (ko)
CN (1) CN101432670B (ko)
DE (1) DE112007001115T5 (ko)
TW (1) TWI438592B (ko)
WO (1) WO2007130767A2 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818075B2 (en) * 2006-05-03 2010-10-19 Data I/O Corporation Automated programming system employing non-text user interface
JP6019968B2 (ja) * 2012-09-10 2016-11-02 株式会社リコー レポート作成システム、レポート作成装置及びプログラム
US9870487B2 (en) * 2014-12-30 2018-01-16 Data I/O Corporation Automated manufacturing system with adapter security mechanism and method of manufacture thereof

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4413277A (en) * 1981-01-23 1983-11-01 Instant Replay Systems Instant replay productivity motivation system
ES2106254T3 (es) * 1993-11-18 1997-11-01 Siemens Ag Procedimiento de diseño asistido por ordenador para un sistema de automatizacion programable.
US6085407A (en) * 1997-08-21 2000-07-11 Micron Technology, Inc. Component alignment apparatuses and methods
KR100635954B1 (ko) * 1998-08-04 2006-10-19 사이버옵틱스 코포레이션 개선된 기능을 갖는 센서
US6587743B1 (en) * 1999-01-29 2003-07-01 B P Microsystems, Inc. Pick and place teaching method and apparatus for implementing the same
US6487623B1 (en) * 1999-04-30 2002-11-26 Compaq Information Technologies Group, L.P. Replacement, upgrade and/or addition of hot-pluggable components in a computer system
US6140926A (en) * 1999-07-21 2000-10-31 Hewlett-Packard Company Redundant status indicators for fault tolerance
US6695205B1 (en) * 1999-09-23 2004-02-24 Datacard Corporation Integrated circuit card programming modules, systems and methods
US6647303B1 (en) * 1999-10-15 2003-11-11 Data I/O Corporation Feeder/programming/buffer control system and control method
US6449523B1 (en) * 1999-10-15 2002-09-10 Data I/O Corporation Feeder/programming/buffer operating system
US6538244B1 (en) * 1999-11-03 2003-03-25 Cyberoptics Corporation Pick and place machine with improved vision system including a linescan sensor
US6671564B1 (en) * 2000-10-03 2003-12-30 Data I/O Corporation Portable programming system and control method therefor
JP2003022139A (ja) 2001-07-06 2003-01-24 Nippon Telegr & Teleph Corp <Ntt> プログラムモジュール導入方法およびシステムおよびプログラム
TWI286785B (en) * 2002-03-29 2007-09-11 Tokyo Electron Ltd Method for interaction with status and control apparatus
EP1388769A1 (de) * 2002-08-05 2004-02-11 Peter Renner System zur Automatisierung, Überwachung, Steuerung, Messwerterfassung von technischen Prozessen
US20050235259A1 (en) * 2004-04-15 2005-10-20 Hermann Lueckhoff Designing a rule for automated computer process
US7720570B2 (en) * 2004-10-01 2010-05-18 Redzone Robotics, Inc. Network architecture for remote robot with interchangeable tools
DE102005061211B4 (de) * 2004-12-22 2023-04-06 Abb Schweiz Ag Verfahren zum Erzeugen einer Mensch-Maschine-Benutzer-Oberfläche
US7818075B2 (en) * 2006-05-03 2010-10-19 Data I/O Corporation Automated programming system employing non-text user interface

Also Published As

Publication number Publication date
DE112007001115T5 (de) 2009-04-30
CN101432670A (zh) 2009-05-13
US20110029104A1 (en) 2011-02-03
TW200821783A (en) 2008-05-16
CN101432670B (zh) 2011-02-09
US20070260339A1 (en) 2007-11-08
JP2009535741A (ja) 2009-10-01
US8718801B2 (en) 2014-05-06
TWI438592B (zh) 2014-05-21
US7818075B2 (en) 2010-10-19
KR101404207B1 (ko) 2014-06-05
WO2007130767A2 (en) 2007-11-15

Similar Documents

Publication Publication Date Title
US11511415B2 (en) System and method for robotic bin picking
CN110536783B (zh) 编程支持装置、机器人系统、编程支持方法以及存储介质
US6035243A (en) System for handling defects produced during the automated assembly of palletized elements
US20070293986A1 (en) Robot simulation apparatus
US11185984B2 (en) Method and apparatus for controlling robot
US20070143076A1 (en) Identifying and visualizing faults in PLC-based manufacturing systems
US8028100B2 (en) Automated processing system employing intelligent module automatic recognition
US20230153486A1 (en) Method and device for simulation
KR101404207B1 (ko) 비-텍스트 사용자 인터페이스를 채용한 자동 프로그래밍 시스템
KR20090023595A (ko) 스마트 인터페이스를 채용한 자동 프로그래밍 시스템
US20070260420A1 (en) Automated calibration system
CN101432672A (zh) 自动训练系统
US20070260406A1 (en) Automated location system
Brecher et al. Development and programming of portable robot systems for material handling tasks
US20230321815A1 (en) General fixture for robotic assembly processes
KR101303866B1 (ko) 기판 처리 장치의 모니터링 방법
JP2022116346A (ja) 加工システム、加工機、加工機の制御方法及びプログラム
CN115401694A (zh) 三轴机械手的控制方法、装置、终端设备及存储介质
CN101432669A (zh) 采用智能型模块的自动化处理系统

Legal Events

Date Code Title Description
A201 Request for 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: 20170502

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180515

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190528

Year of fee payment: 6