KR20010089577A - 재료 이송 시스템용 분산 제어 시스템 구조 및 방법 - Google Patents

재료 이송 시스템용 분산 제어 시스템 구조 및 방법 Download PDF

Info

Publication number
KR20010089577A
KR20010089577A KR1020017007431A KR20017007431A KR20010089577A KR 20010089577 A KR20010089577 A KR 20010089577A KR 1020017007431 A KR1020017007431 A KR 1020017007431A KR 20017007431 A KR20017007431 A KR 20017007431A KR 20010089577 A KR20010089577 A KR 20010089577A
Authority
KR
South Korea
Prior art keywords
message
region
director
area
controller
Prior art date
Application number
KR1020017007431A
Other languages
English (en)
Other versions
KR100437926B1 (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 KR20010089577A publication Critical patent/KR20010089577A/ko
Application granted granted Critical
Publication of KR100437926B1 publication Critical patent/KR100437926B1/ko

Links

Classifications

    • CCHEMISTRY; METALLURGY
    • C23COATING METALLIC MATERIAL; COATING MATERIAL WITH METALLIC MATERIAL; CHEMICAL SURFACE TREATMENT; DIFFUSION TREATMENT OF METALLIC MATERIAL; COATING BY VACUUM EVAPORATION, BY SPUTTERING, BY ION IMPLANTATION OR BY CHEMICAL VAPOUR DEPOSITION, IN GENERAL; INHIBITING CORROSION OF METALLIC MATERIAL OR INCRUSTATION IN GENERAL
    • C23CCOATING METALLIC MATERIAL; COATING MATERIAL WITH METALLIC MATERIAL; SURFACE TREATMENT OF METALLIC MATERIAL BY DIFFUSION INTO THE SURFACE, BY CHEMICAL CONVERSION OR SUBSTITUTION; COATING BY VACUUM EVAPORATION, BY SPUTTERING, BY ION IMPLANTATION OR BY CHEMICAL VAPOUR DEPOSITION, IN GENERAL
    • C23C16/00Chemical coating by decomposition of gaseous compounds, without leaving reaction products of surface material in the coating, i.e. chemical vapour deposition [CVD] processes
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/4182Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell manipulators and conveyor only
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4189Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the transport system
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P80/00Climate change mitigation technologies for sector-wide applications
    • Y02P80/10Efficient use of energy, e.g. using compressed air or pressurized fluid as energy carrier
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Chemical & Material Sciences (AREA)
  • General Chemical & Material Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Materials Engineering (AREA)
  • Mechanical Engineering (AREA)
  • Metallurgy (AREA)
  • Organic Chemistry (AREA)
  • Container, Conveyance, Adherence, Positioning, Of Wafer (AREA)
  • Chemical Vapour Deposition (AREA)
  • Control Of Conveyors (AREA)

Abstract

기판 또는 웨이퍼상에 균일한 필름 또는 층을 증착하는 화학 기상 증착 장치가 제공된다. 상기 장치는 일정 간격을 가진 선형 인젝터를 포함하는 인젝터 어셈블리를 가진 챔버 및 일정간격의 인접한 증착 영역을 형성하도록 상기 인젝터에 화학물질을 전달하는 화학 기상 전달 시스템을 포함한다. 이송 수단은 상기 인접 인젝터의 증착 영역이 균일한 두께의 필름 또는 층을 형성하기 위하여 통합되도록 상기 선형 인젝터 어셈블리의 화학 전달 표면에 평행하고 인접하게 상기 기판 표면을 유지하면서 상기 선형 인젝터의 장축에 수직인 방향으로 상기 기판 또는 웨이퍼를 미리 설정한 간격만큼 왕복운동으로 이동시킨다.

Description

재료 전달 시스템용 분산 제어 시스템 구조 및 방법{DISTRIBUTED CONTROL SYSTEM ARCHITECTURE AND METHOD FOR A MATERIAL TRANSPORT SYSTEM}
자동화된 컨베이어 시스템이 재료를 운반하기 위한 다양한 응용에 사용된다. 재료는 통상적으로 재료의 흐름을 제어하는 자동화된 장비를 이용하여 컨베이어에 로드된다. 자동되는 장비는 또한 출구점에 있는 재료를 제거하는데 사용되고, 컨베이어 및/또는 제거 장비는 인접한 재료 유닛들 사이의 충돌을 방지하면서 수개의 물품들이 접점 근처에 축적되도록 설계된다. 반도체 프로세싱을 포함하는 몇몇 응용에서, 재료는 일시적으로 컨베이어에서 컨베이어 경로를 따라 하나 이상의 위치에 있는 작업위치로 이동되어야 한다. 재료는 나중에 컨베이어로 반환되고, 컨베이어는 그 재료를 다음 작업 위치 또는 출구점으로 전송한다. 컨베이어 상의 재료의 흐름을 그다지 방해하지 않으면서 확실히 전달 되도록 주의가 기울여져야 하는 만큼, 경로를 따라 컨베이어 및 작업위치 사이에서 재료를 이동시키는 것은 복잡할 수 있다. 컨베이어 재료 흐름을 방해하지 않으면서 컨베이어 시스템 및 작업 위치 사이에서 효과적이면서도 또한 편리하게 재료를 전달하기 위한 시스템이 바람직하다.
재료가 중간 위치의 컨베이어에서 일시적으로 제거되는 분야의 예로는 반도체 프로세싱 분야를 들 수 있다. 이 분야에서, 컨베이어는 반도체 웨이퍼 또는 다른 기판들을 수개의 서로 다른 프로세싱 장치로 전달하거나, 또는 주식 거래자에서 스테퍼로 레티클(reticle)을 전달하는데 사용된다. 재료(즉, 웨이퍼 또는 레티클)는 프로세싱을 위한 장치로 전달되어야 하고, 프로세싱이 완료된 후에는, 다음 프로세싱 장치로의 전달을 위해 컨베이어로 반환되어야 한다. 기판의 프로세싱 장치의 외부 환경으로의 노출을 최소화하고 미립자 오염으로부터 재료를 보호하기 위해 재료는 통상적으로 봉함된 전달 포드(pod) 같은 보호 컨테이너에 보존된다. 각 프로세싱 장치의 시작점에 보호 환경의 전달 포드로부터 재료를 자동으로 제거하도록 설계된 로드 포트가 제공된다. 상기 설비가 동작하는 동안, 재료는 로드 포트 및 컨베이어 사이에서 빈번히 이동되어야 한다.
통상적으로, 반도체 생산 설비는 수개의 프로세싱 장치를 각각 포함하는 다수의 베이로 조직된다. 다양한 시스템들(소위 내부-베이 전달 시스템)이 베이 내 장치들 사이에서 재료를 이동시키기 위해 채용된다. 예를 들어, 카트를 이용하여 포트와 포트 사이에서 재료를 전달하기 위해 많은 시스템들은 사람의 노동력에 의존한다. 일꾼들은 통상적으로 재료를 포트로 이동시키고, 프로세싱이 완료된 뒤에는 그 전달 포트를 카트로 반환시키기 위해 수동 로봇 링크 또는 다른 들어올리는 장치를 가동시킨다. 프로세스는 다음 장치에서 반복된다. 또다른 내부-베이 전달 시스템은 장치들 사이에서 포드를 수송하여 포드를 로드 포트 안으로 자동적으로이동시키는 자동 안내 차량(AGV;automatic guided vehicle)에 의존한다. 카트 및 AGV는 자동화된 컨베이어와 관련하여 장점이 없지만, 자동화된 컨베이어는 컨베이어 경로를 따라 물건을 효과적이고 빠르게 이동시킬 수 있으며, 카트 및 AGV 보다 훨씬 더 많은 용량을 갖는다.
반도체 웨이퍼는 섬세하고, 특히 프로세싱의 후반에는 그 가격이 매우 비싸다. 집적회로들은 반도체 웨이퍼 또는 다른 기판 상에 다수의 층들을 형성하므로써 생산된다. 기술이 진보함에 따라, 집적 회로들은 점점 더 복잡해지고 통상적으로 다수의 복잡하게 배선된 층을 포함한다. 한 웨이퍼 상에 위치한 집적회로 수는 집적회로 크기의 감소 때문에 점차 증가했다. 반도체 웨이퍼의 기준 크기는 앞으로 수년 후에는 200㎜에서 300㎜으로 증가할 것이며, 한 웨이퍼 상에 형성되는 집적회로의 수를 더 증가시킬 것이다. 집적회로의 증가된 복잡도 및 감소된 크기의 결과로서, 웨이퍼가 다양한 프로세싱 단계를 거쳐 진행 할수록 반도체 웨이퍼의 가치는 상당히 증가한다. 또한, 300㎜ 웨이퍼의 포드의 증가된 무게는 수동 웨이퍼를 다룸에 있어서 인간공학적(ergonomics) 문제를 일으킨다. 따라서, 손상된 웨이퍼는 상당한 경제적 손실로 이어지므로, 반도체 웨이퍼를 다룰때 특히 후반 프로세싱 단계에 있어서는 상당한 주의를 기울여야 한다. 웨이퍼를 처리하기 위한, 미립자 오염이 거의 없는 클린룸 환경의 필요성은 재료를 전달하는데 사용되는 시스템 상에 추가적인 제한 사항을 부과한다. 클린룸 환경에서의 동작에 적합한, 컨베이어 및 로드 포트 사이에서 재료를 전달하기 위한 시스템이 바람직하다.
반도체 웨이퍼, 반도체 웨이퍼를 수송하는 전달 포드 또는 다른 컨테이너들같은 재료를 컨베이어 및 로드 포드 또는 다른 작업 위치 사이에서 전달하기 위한 전달 시스템이 바람직하다. 제약, 의학 시스템, 평면 디스플레이 및 디스크 드라이브 시스템 같은 컴퓨터 하드웨어를 포함하는 그러나 여기에 한정되지 않는, 반도체 프로세싱 이외의 분야에서 사용되는 전달 시스템 또한 바람직하다.
컨베이어-기초 전달 시스템에서의 재료의 이동은 종종 자동화된 제어 시스템(ACS ; automated control system)에 의해 조절된다. 예를 들면, 그러한 시스템 중 하나는 덴버 국제 공항의 수하물 처리 시스템에서 채용된다. 그러한 또다른 시스템은 캐롤 스트림의 프로세싱 및 분배 센터에서 메일 트레이의 전달을 제어하기 위해 미국 우편서비스에 채용된다(추가적인 정보는 "미국 우편 설비의 동작이 허니웰의 스마트 분배 시스템으로 개선되다"를 참조하기 바람. http://www.honeywell.com/sensing/pressrel/9718.stm에서 볼수 있음.) ACS는 또한 웨이퍼 포드의 이동을 조절하기 위하여 반도체 생산 공정에 사용되는 적어도 하나의 컨베이어-기초 전달 시스템에 채용되어 왔다.
우체국 및 수하물과는 대조적으로, 반도체 생산 공정에서 사용되는 컨베이어-기반 전달 시스템용 ACS는 전달되고 있는 웨이퍼의 포드는 충돌하지 않아야 하며, 초과 가속을 일으키지 않도록 확실히 해야 한다. 추가적으로, ACS는 한 프로세싱 단계에서 다른 단계로 적절한 시기에 웨이퍼 포드의 전달을 확실히 해야 한다. 그러한 종래 ACS인, 도 1에 보여진 "어사이스트(Asyst) 자동화 제어 시스템"은 프로세싱 베이 사이 및 프로세싱 베이 내에서 포드 또는 웨이퍼의 오픈 카세트를 전달하는 전달 시스템과 함께 동작한다. 이 전달 시스템은 그 위로 재료가 이동하는 트랙, 어느 각도를 만족시키는 트랙 세그먼트 사이의 회전을 제공하는 전기 기계 유닛인 디렉터, 포드를 올리거나 내리는 전기 기계 유닛인 엘리베이터를 포함한다. 트랙은 재료를 이동시키는데 사용되는 모터 및 재료의 위치를 감지하는데 사용되는 센서들을 포함한다.
도 1을 참조하면, 어사이스트 자동화 제어 시스템은 다중 PLC를 포함하고, PLC 각각은 시스템 목적에 따라 각 전달 시스템 영역에서 하나 이상의 포드의 이동을 제어한다. 각 PLC는 프로피버스(ProfiBus)를 통해 트랙의 각 영역을 구성하는 센서 및 모터에 연결된다. 프로피버스는 센서 버스이며, 이것은 자율성(autonomy)없이 스마트 제어기(PLC) 및 클라이언트(모터, 센서, 디렉터, 엘리베이터 등) 사이에서 신호를 전달하는데만 사용된다는 것을 의미한다. PLC는 상호연결되어, 포드 이동 및 위치에 대한 정보를 공유할 수 있다. PLC에 의해 제어될 수 있는 센서 및 모터의 수는 제한되어 있다. 이것은 PLC가 스캔에서 동작하는 장치를 폴링(polling)하고 있기 때문이다. 각 스캔에 대해서, PLC는 그 각 관련된 센서의 하나 하나를 판독한다. 그러므로, 센서가 더 많을 수록, 스캔 시간은 더 길어지고, 초당 센서가 더 적을 수록, 대응하는 시스템은 더 적어진다. 이러한 구조에 대한 추가적인 문제점은 PLC는 그와 관련된 장치 각각의 제어 인터페이스를 알아야 한다는 것이다. 결과적으로, PLC는 새 센서 또는 모터 인터페이스들이 전달 시스템에 추가될 때마다 변형될 필요가 있다. 또다른 문제는 PLC가 포드를 충돌없이 그 목적지로 이동시키는 것과 같은 하이-레벨 제어 문제와 모터를 가속시키는 것과 같은 로우-레벨 문제에 동시에 관련되어 있다는 것이다. 결과적으로, PLC 계산 전력은전달 시스템의 성능에 있어서 주요한 원인이 된다. 모든 문제들은 또한 전달 시스템 스케일능력(scalability) 및 재구성(reconfiguration)에 장애가 된다.
그러므로, 스케일가능하며, 컴퓨터 자원을 효과적으로 채용하여 하이레벨 및 로우레벨 제어 동작이 문제를 일으키지 않고 새로운 타입의 모터, 전기 기계 컴포넌트 및 센서를 써포트 하는 전달 시스템(ACS)가 바람직하다.
본 발명은 일반적으로 생산 제어 시스템에 관련된 것이며, 보다 구체적으로는 재료 전달 시스템용 제어 시스템에 관련된 것이다.
도 1은 종래 기술의 프로세싱 위치 사이에서 웨이퍼의 포드를 전달하기 위한 반도체 생산 공정에 채용된 전달 시스템용 ACS에 대한 블록도.
도 2A는 프로세싱 툴 및 로드 영역 사이의 관계를 보여주는 전달 시스템의 개략도.
도 2B는 2개의 포드 포인트를 갖는 프로세싱 툴 및 관련된 로드 영역 사이의 관계를 나타내는 전달 시스템의 개략도.
도 2C는 컨베이어 지역의 센서와 관련된 가능한 로드 영역을 나타내는 단일 지역과 함께 정렬된 로드/언로드 포인트를 갖는 전달 시스템의 영역에 대한 개략도.
도 3A-3E는 각각 레일 지역, 코너, 디렉터 근처의 레일 지역 및 디렉터 각각에 대한 주변을 나타낸다.
도 4는 통상적인 반도체 생산 제어 시스템과 관련하여 ACS 엘리먼트의 구조 및 독창적인 ACS의 위치를 나타내는 바람직한 실시예의 블록도.
도 5는 반도체 웨이퍼 전달 시스템에 대한 본 발명에 따라 구현된 ACS의 엘리먼트들 사이의 상호연결을 보여주는 블록도.
도 5B는 도 5의 전기 기계 장치, CAN 버스 및 제어 로직 컴퓨터를 더 상세하게 나타내는 블록도.
도 6은 본 발명에 따라 구현된 ASC의 엘리먼트들을 통합하는 반도체 제조 설비에 대한 개략도.
도 7은 본 발명에 따라 구현된 ASC의 엘리먼트들을 통합하는 연결된 베이를 갖는 반도체 제조 설비에 대한 개략도.
도 8은 본 발명에 따라 구현된 ASC의 엘리먼트들을 통합하는 별개의 베이를 갖는 반도체 제조 설비에 대한 개략도.
도 9A는 본 발명의 전달 제어기 기능이 구현된 컴퓨터에 대한 블록도.
도 9B는 본 발명의 제어 로직 컴퓨터 기능이 구현된 컴퓨터에 대한 블록도.
도 9C는 본 발명의 실시예에 대한 지역 제어기 기능이 구현된 컴퓨터에 대한 블록도.
도 9D는 본 발명의 실시예에 대한 축 제어기 기능이 구현된 컴퓨터에 대한 블록도.
도 9E는 본 발명의 실시예에 대한 ID 제어기 기능이 구현된 컴퓨터에 대한블록도.
도 9F는 본 발명의 실시예에 대한 긴급 상황 오프(EMO) 제어기 기능이 구현된 컴퓨터에 대한 블록도.
도 9G는 본 발명의 실시예에 대한 핸드쉐이크 제어기 기능이 구현된 컴퓨터에 대한 블록도.
도 10는 도 9A의 전달 제어기에 의해 유지된 내부 토폴로지를 구성하는 목적물에 대한 블록도.
도 11은 본 발명에 따라 구현된 ACS의 실시예로 제어 가능한 단방향 루프 및 양방향 레일을 통합하는 웨이퍼 전달 시스템에 대한 개략도.
도 12A는 도 11의 웨이퍼 전달 시스템에 대응하는 도 9A의 전달 제어기에 의해 유지되는 내부 토폴로지에 대한 블록도.
도 12B는 도 12A에서 사용된 연결의 의미를 설명한다.
도 13은 지역 쓰레드(512)와 관련된 방법 및 데이터 구조에 대한 블록도.
도 14는 이동 동작을 개시하고 조화시키는 TC 및 CLC 의 소프트웨어 컴포넌트에 대한 논리도.
도 15는 이동 동작 및 다른 전달 시스템 동작을 구성하는 하위명령을 수행하는 CLC 및 지능 드라이버의 소프트웨어 컴포넌트에 대한 논리도.
도 16은 본 발명의 자동화된 제어 시스템의 주된 소프트웨어 컴포넌트들 사이의 통신 경로에 대한 다이어그램.
도 17은 하이-레벨 관점에서 본 전달 아토믹 동작에 대한 이벤트도.
도 18-19는 서로 다른 시스템 컴포넌트의 관점에서 본 포착 아토믹 동작에 대한 이벤트도(도 19는 특정 전달 장치 구현에 대한 것이고, 다른 전기 기계 시스템에 대해서는 다를 것이다).
도 20, 21A-21C 및 22A-22B는 서로 다른 제어 시스템 컴포넌트의 관점에서 본 이동 아토믹 동작에 대한 이벤트도.
도 23A, 23B, 24A, 24B는 서로 다른 제어 시스템 컴포넌트의 관점에서 본 보관 아토믹 동작에 대한 이벤트도.
도 25는 재료가 로드 영역이 아닌 트랙 지역에 도달할 때 발한 메시지에 대한 UML 시퀀스도(트랙 지역은 일시적인 정지점이 될수도 있다).
도 26은 Z2 지역의 근처에서 300㎜ 웨이퍼 포드에 대한 좌측 레일 이동에 대한 센서 신호 변화의 타이밍을 보여주는 타이밍도(200㎜ 웨이퍼 포드에 대한 변화는 다를 것이다).
도 27는 지역 사이에서 송신된 메시지 및 단일 컨테이너 X가 지역 ZI 에서 지역 ZA으로 좌측으로 이동된 컨테이너 속도 프로파일을 보여주는 타이밍도.
도 28은 동일한 인접 지역을 점령하는 2개의 컨테이너 X 및 Y가 지역 ZE 및 ZJ에서 ZZ 및 ZD으로 좌측으로 각각 이동되는 상황에 대해 지역들 사이에서 전송된 메시지들을 나타내는 타이밍도.
도 29는 동일한 인접 지역을 점령하는 2개의 인접한 컨테이너 X 및 Y가 지역 ZI 및 ZJ에서 지역 ZZ 및 ZF로 좌측으로 이동되는 상황에 대해 지역들 사이에서 전송된 메시지들을 나타내는 타이밍도.
도 30은 지역 쓰레드에 구체화된 지역 동적 모델/상태 장치를 설명하는 상태도.
도 31은 디렉터 Q, 2개의 교차하는 레일 및 둘다 각각 R1과 R2 방향으로 디렉터를 통해 이동할 필요가 있는 2개의 재료 유닛 P1 및 P2를 포함하는 전달 시스템의 한 영역에 대한 개략도.
도 32A,32B는 지역들 사이에서 전송된 메시지 및 도 31에 나타난 상황에 대한 디렉터를 나타내는 타이밍도.
도 33A-33B는 가능한 디렉터 클러스터 구성을 나타낸다.
도 33C-33D는 도 33A-33B의 디렉터 클러스터 구성에서 발생할 수 있는 잠재적인 교착 상태를 나타낸다.
도 34는 방향기 제어 쓰레드에서 구체화된 루트 발견 원리를 설명하기 위한 전달 시스템의 한 영역에 대한 개략도.
도 35는 업스트림 지역 연결성을 설명하는 루트 발견 원리를 설명하기 위한 전달 시스템의 한 영역에 대한 개략도.
도 36은 추가적인 새로운 디렉터 D9 및 관련된 트랙을 갖는 도 34의 물리적인 레이아웃을 나타낸다.
도 37은 고장난 전달 시스템 노드를 설명하는 루트 발견 원리를 설명하기 위한 전달 시스템의 한 영역에 대한 개략도.
도 38는 고장난 디렉터를 설명하는 루트 발견 원리를 설명하기 위한 전달 시스템의 한 영역에 대한 개략도.
요약해서 말하면, 본 발명은 위에 설명된 요구사항들을 만족하는 재료 전달 시스템을 위한 제어 시스템 구조 및 방법이다. 본 발명은 3레벨의 제어기들을 포함한다. 하이레벨(전달) 제어기는 재료가 어떻게 이동될 것인가를 나타내는 본 제어 시스템으로 제어 명령을 발하는 외부 명령 시스템과 인터페이스된다. 예를 들어, 반도체 공정 설비에서 사용하기 위한 재료 전달 시스템과 관련하여 구현되는 바람직한 실시예에서, 이러한 제어 명령들은 한 프로세싱 위치에서 다른 위치로 재료의 특정 컨테이너를 이동시키기 위한 명령을 포함한다. 전달 제어기(TC;tranport controller)는 제어 명령을 구현하는 일련의 기본 동작을 시퀀싱(sequencing)하므로써 제어 명령을 수행한다. 한 실시예에서, TC는 제어 명령을 적어도 하나의 제2 레벨 제어기(제어 로직 컴퓨터; CLC)에 의해 수행되는 일련의 아토믹(atomic) 포착, 이동 및 보관 명령으로 나누므로써 이것을 수행한다.
분배된 제어 시스템에 적합하기 때문에, TC는 전체 재료 전달 시스템의 물리적 토폴로지를 인식하는 유일한 시스템이다. TC에 의해 저장된 한 토폴로지 표현은 모든 가능한 시스템 목적지 및 전달 시스템 지역 집합 주위에 조직화된다. 각 목적지는 위치에 대한 참조 및 포드가 미리 로드되어 그 목적지로부터 론치(launch)될 수 있는 영역과 관련된 장치 정보를 포함한다. TC는 또한 CLC에 의해 반환된 정보를 사용하여 전달 시스템에 대한 상태정보를 유지한다.
각 제어 로직 컴퓨터(CLC)는 제어기(지능 드라이버)의 제3 집합에 명령을 제공하므로써 하이레벨의 뚜렷한 영역의 물리적 전달 시스템의 실시간 제어 및 조화를 제공하고, 각 제어기는 교대로 CLC의 영역 제어 상태에 있는 하나 이상의 전기 기계 장치의 로우 레벨 제어를 책임진다. 예를 들어, 보다 바람직한 실시예에서, 영역은 64개의 지역을 포함하는데, 각 영역은 센서들 집합(예컨대,2), 트랙 길이(예컨대, 5) 및 드라이브 모터(예컨대,1)를 포함한다. 센서로부터의 정보, 영역의 지형에 대한 지식 및 속도 제어, 라우팅 및 충돌 회피에 대한 규칙을 기초로, CLC는 모터 제어 명령을 그 지능 드라이버로 내려 보내므로써 아토믹 명령을 수행한다.
보다 바람직한 실시예에서, 서로 다른 종류의 전기 기계 장치가 있다. 각각의 서로 다른 타입은 하나 이상의 지능 드라이버 타입에 의해 제어된다. 예를 들어, 반도체 공정 설비에서 사용하기 위한 바람직한 실시예에서, 전기 기계 장치는 한 지역(컨베이어 트랙 세그먼트 및 그 관련된 센서 및 모터), 태그/바코드 판독기, 로드 포트 전달 장치(LPTD), EMO(EMergency Off;긴급 상황 오프) 센서 및 디렉터(회전 능력을 갖는 트랙 장치)를 포함한다. 따라서, 바람직한 실시예는 다음과 같은 종류의 지능 드라이버를 포함한다.
지역 제어기 : 센서 데이터를 CLC에 보고하고, CLC로부터의 명령에 따라 모터를 가속 및 감속 시킨다;
태그 제어기 : 태그/바코드 판독기와의 양방향 통신을 제공한다;
축 제어기 : 임의의 LPTD 축, 엘리베이터 또는 디렉터의 회전을 제어한다;
EMO 제어기 : 전력 공급을 모니터링하고 전력 고장에 대해 CLC에게 통보한다;
핸드쉐이크(handshake) 제어기 ; 개별적으로 제어되는 전기 기계 장치의 동작을 동기화시키는데 사용되는 다중-배선 병렬 인터페이스를 구현한다.
각 지역은 정규 전달 시스템 동작 동안에 그 지역과 함께 상호작용할 n개의 업스트림 지역 및 m개의 다운스트림 지역의 이웃과 관련되어 있다. 이러한 이웃들은 전달 시스템의 토폴로지 내의 지역의 위치에 따라 다르게 정의된다. 예를 들어, 직선 컨베이어 트랙 내의 한 지역은 지역-대-지역 상호작용은 직선 트랙에 제한되어 있기 때문에, 3개의 업스트림 및 3개의 다운 스트림 노드로 구성된 이웃을 가질 수 있다. 3개 부분의 트랙의 교차점에서의 디렉터는 더 많은 지역(예컨대, 20)을 갖는 이웃이 담당하여 더 넓은 범위의 가능한 지역 상호작용을 반영한다. CLC는 CLC 쓰레드(thread; 또는 프로그램)에만 특정 이웃에게 영향을 주는 명령을 수행하기 위한 능력을 분배한다. 이러한 쓰레드는 그들의 동작을 조화시키기 위하여 그들 사이에서 통신하도록 구성된다. 이러한 지역 레벨로의 CLC 능력의 분배는 CLC 작업이 서로다른 멀티프로세서의 프로세서를 통해 분배될 수 있도록 한다. 선택적으로, 전체 CLC는 네트워크 상에 분배된 단일 프로세서 또는 다중 프로세서 상에서 수행될 수 있다.
각 CLC는 그와 관련된 지능 드라이버로부터 상태 정보를 수집한다. CLC는 몇몇 상태 정보를 TC에 보고한다. TC는 또한 그와 관련된 장치에 영향을 미치는 보고 에러 상태 검출 및 조절하기 위해 상태정보를 사용한다. 이러한 에러 조건은 센서 결점, 모터 결점, 로드 포트 고장, 갑작스런 제거 등등을 포함한다.
명령을 발하는 것 외에도, 각 제어층은 그 다음 높은 제어 층으로 상태 정보를 반환한다. 그 다음 높은 층은 이러한 상태 정보를 기초로 공식화 전략을 책임진다.
본 발명의 추가적인 목적 및 특징들이 상세한 설명 및 첨부된 청구범위와 함께 도면으로부터 더 명백해질 것이다.
본 발명을 몇개의 특정 실시예를 참조하여 설명하고자 한다. 본 발명은 다음 용어 설명의 의미를 갖는 용어들을 사용한다.
A. 용어 설명
AMHS: 자동화된 재료 처리 시스템(Automated Material Handling System)
CAN: 제어기 영역 네트워크(Controller Area Network). 네트워킹이 구체화된 장치들에 대한 기준.
운반 장치(Carrier): 컨테이너와 동의어.
CIM: 컴퓨터 통합 생산(Computer Integrated Manufacturing). 이러한 의미에서 이 용어는 전달 시스템과 통신하는 모든 컴퓨터 시스템을 의미한다.
컨테이너(Container): 오픈 카세트, 박스 또는 포드를 가리키는데 사용되는 일반적인 용어. 컨테이너는 전달 시스템에 의해 전달되는 목적물이다.
제어 로직 컴퓨터(Control Logic Computer) : 중간-단계의 소프트웨어 컴포넌트용 하드웨어 플랫폼.
CORBA: 코바(Common Object Request Broker Architecture).
코너(Corner): 코너는 그 유일한 기능이 운반 장치가 코너를 돌도록(90도로 그 방향을 바꾼다) 하는 것인 디렉터이다. 코너는 축 제어기를 가지며, 어느 쪽으로(우측 또는 좌측으로) 회전할 것인가에 대하여 구성할 수 있는 소프트웨어이다. 코너는 다중(3개 까지) 입력을 가질 수 있지만, 오직 하나의 출력만을 가질 수 있다.
디렉터(Director): 컨테이너가 회전을 수행할 수 있도록 하기 위한 기계 장치이다. 2가지의 디렉터 즉, 교차 디렉터 및 코너 디렉터가 있다.
디렉터 제어기(Director controller): 디렉터를 포함하는 컴포넌트의 제어를 담당하는 CLC 상에서 실행되는 응용 소프트웨어이다.
지능 드라이버 보드(Intelligent Driver Board): 장치들을 모니터링 또는 제어하는데 사용되는 지역 마이크로 제어기 및 네트워크 써포트(예컨대, CAN 버스 써포트)를 포함하는 하드웨어 플랫폼.
E23: 반도체 장비 및 재료의 국제(SEMI) 기준. 명세서는 E23을 2개의 장치 사이의 재료 핸드오프를 위한 다중-배선의 병렬 핸드쉐이크으로 정의한다.
E23 능동 파트너(Active Partner): 능동 파트너는 물리적으로 재료를 제거하는 컴포넌트를 갖는 재료 전달에 있어서의 장치이다. 로드 포트 전달 장치는 능동이고, 로드 포트 전달 장치가 서비스하는 로드 포트는 수동이다.
포드 리프터는 수동이고, 오버헤드 호이스트(Hoist)는 능동이다.
E23 수동 파트너(Passive Partner): 능동 파트너는 재료의 로드 또는 언로드를 요구하는 장치이다. 이 장치는 전달에 영향을 미칠 어떠한 메카니즘도 갖지 않는다. 어느 전달 시스템 장치가 능동 및 수동인가에 대한 설명을 위해서는 E23 능동 파트너를 참조할것.
E-스톱(stop): 긴급 상황 스톱. E-스톱은 모든 모터를 즉시 정지시키기 위해 개시되는 액션이다. E-스톱은 임의의 계산 장치로부터 물리적으로 전력을 제거하지 않는다.
엘리베이터(Elevator): 엘리베이터는 플랫폼을 올리고 내리는 트랙 컴포넌트이다. 엘리베이터는 서로 다른 층에 위치한 컨베이어 사이에서 컨테이너를 이동시키거나, 천장에서 동작기 높이까지 이동시키는데(이 경우를 통상적으로 리프트라 함) 사용된다.
엘리베이터 제어기(Elevator Controller): 엘리베이터를 포함하는 컴포넌트의 제어를 담당하는 CLC 상에서 실행되는 응용 소프트웨어.
엔트리 속도(Entry Speed): 들어오는 컨테이너의 앞 에지가 벨트에 접할때 지역의 모터가 가동되어야 하는 속도. 다른 노드로의 지역 업스트림이 가속 또는 감속 프로파일을 실행시키고 있는 경우에는, 엔트리 속도는 지역 속도 및 출구 속도의 중간값이다. 출구 속도 및 지역 속도를 참조할 것.
출구 속도(Exit Speed): 밖으로 나가는 컨테이너의 트레일링 에지가 지역과의 접촉을 끊을때 지역의 모터가 가동되어야 하는 속도. 지역의 출구속도는 다운스트림 지역의 지역 속도와 동일하다.
FOUP: "정면 개구부가 통합된 포드(Front Opening Unified Pod)"-FOUP는 300㎜ 웨이퍼를 포함하고 정면이 개방되어 있는 포드를 가리킨다.
게이트 스탑(Gate Stop): 게이트 스탑은 컨베이어의 끝을 벗어나는 운반 장치의 잠재적인 움직임을 방지하는데 사용되는 장치. 게이트 스탑은 엘리베이터같은 위치에서 사용되어 엘리베이터가 특정 트랙 경로와 같은 라인에 있지 않을때는, 게이트 스탑은 엘리베이터로부터의 지역 업스트림을 벗어나서 운반 장치를 드로핑(dropping)하는 것을 방지할 것이다.
핸드쉐이크 제어기(Handshake Controller): 병렬 I/O 보드 상에서 실행되는 응용 소프트웨어. 또다른 장치(예컨대, LPTD 및 로드 포트)와의 SEMI E23 인터페이스를 구현한다.
인터베이(Interbay): 베이간의 재료를 이동시키는데 사용되는 통상적으로 생산 작업장의 중심을 실행시키는 전달 시스템 루프.
인터섹션 디렉터(Intersection Director): 인터섹션 디렉터는 들어오는 재료를 다중 출력 방향 중 하나로 라우팅되도록 한다. 이 디렉터는 2 또는 3개의 출력 방향 및 1 또는 2개의 입력 방향 중 하나를 갖는다.
인트라베이(Intrabay): 인트라베이는 인터베이에 연결되는 전달 시스템에 일반적으로 적용되는 용어이며, 단일 베이 내의 전달 서비스를 제공한다.
론치 지역(Launch Zone): 론지 지역은 포드가 일단 레일 상에서 움직임을 시작할 지역이다. 다운스트림 로드 지역과 동의어이다.
로드 영역(Load Area): 로드 영역은 다운스트림 로드 지역, 업스트림 로드 지역 및 이전-로드(pre-load) 지역을 포함한다. 업스트림 및 다운스트림 지역은 로드 포인트를 구성한다(즉, 로드 포인트는 2 지역 사이에 걸쳐(straddle) 있을 수 있다). 이전-로드 지역은 컨테이너가 로드 포인트로 이동될 수 있을때까지 고정되어 있는 지역이다. 지역이 다운스트림 지역이냐 업스트림 지역이냐는 컨테이너의 이동 방향에 따라 달라진다(컨테이너는 항상 업스트림 로드 지역에서 다운스트림 로드 지역으로 이동한다).
도 2A-2C는 컨테이너가 로드될 수 있는 다중 지역(42) 및 적어도 하나의툴(46)을 포함하는 서로 다른 지역의 레일(40)에 대한 개략도를 나타낸다. 각 도면은 각 툴(46)의 로드 포인트(44)와 관련된 다운스트림 및 업스트림 로드 지역(54,52) 및 이전 로드 지역(50)의 위치를 나타낸다.
도 2A는 툴(46)이 단일 로드 포인트(44) 및 관련된 로드 영역(48)을 갖는 경우를 나타낸다. 컨테이너가 우측에서 좌측으로 이동하고 있기 때문에, 이전-로드 지역(50) 및 업스트림 로드 지역(52)은 다운스트림 로드 지역(54)의 우측이다.
도 2B는 툴(46)이 2개의 로드 위치(46A,46B)를 갖는 경우를 나타낸다. 각 로드 포인트(46A,46B)는 각각의 로드 영역(48A,48B)을 갖는다. 로드 포인트(46A, 46B)는 지역(42)에 근접하여 위치하기 때문에, 로드 영역(48A,48B)은 오버랩된다. 예를 들어, 로드 영역(48A)의 다운스트림 로드 지역(54A)은 로드 영역(48A)의 업스트림 로드 지역(52B)과 동일하다.
도 2C는 우측 및 좌측 이동 모두에 대해 이전-로드 지역, 업스트림 및 다운스트림 로드 지역을 식별하는 로드 지역에 관련된 로드 포인트의 잠재적 위치를 나타낸다. 이 도면은 실제적인 물리적 구성을 나타내는 것으로 의도된 것이 아니다.
각 로드 포인트(44)는 프로세싱을 위해 레일(업스트림 로드 지역(52))에서 툴(46)로 컨테이너를 이동시키고 프로세싱이 완료되면 그 레일(다운스트림 로드 지역(54))로 다시 이동시키기 위한 로드 포트 전달 장치(LPTD;load port transfer device)와 관련되어 있다. 또한, 한 LPTD는 다수의 로드 포인트들을 서비스할 수 있다.
로트(Lot): 논리적으로 및(선택적으로) 물리적으로 함께 그룹지어진 웨이퍼집합. 몇몇 공정은 로트를 단일 카세트로 제한하는 반면에, 어떤 공정은 로트가 다수의 카세트로 구성되도록 한다. 전달 시스템이 로트를 따라가지는 않을 것이다.
로트 ID: 로트를 식별하는, 인간/기계가 판독가능한 설계자.
마이크로 제어기: 전기 기계 시스템의 제어를 위해 사용되는 컨베이어에 장착된 컴퓨터 모듈.
MMS: 보전 관리 시스템(Maintenance Management System)
보전 관리 시스템(Maintenance Management System): 다른 시스템에 대한 보전 데이터의 수집 및 유지를 담당하는 시스템.
재료(Material): 이와 관련하여, 전달 시스템에서 이동될 수 있는 반도체 WIP이나 레티클 또는 다른 물건을 가리키는 일반 용어.
MCS: 재료 제어 시스템(Material Control System)
MES: 생산 수행 시스템(Manufacturing Execution System)
MOVE: 전달 시스템에 외부적인 컴포넌트에 의해 개시될 수 있는 AMHS 이동 명령.
이동 방향(Movement Direction): 재료는 레일 상의 두방향 중 하나로 이동할 수 있다. 이동의 방향은 그 레일을 마주하는 관측자의 관점에서 정해진다. 즉, 관측자의 좌측으로의 이동은 좌측 이동이고, 관측자의 우측으로의 이동은 우측 이동이다.
인접 지역(Neighborhood): 인접 지역은 주어진 지역을 둘러싸고 잠재적, 물리적 경로를 정의하는 지역들의 집합이다. 인접지역은 주어진 지역으로 부터 n 지역의 업스트림 및 m 지역의 다운스트림으로 구성된다(통상적으로,n=m). 각 지역은 다수의 인접 지역들(통상적으로, n+m 개의 인접 지역들) 중 하나일 것이다. 코너, 엘리베이터 및 디렉터 모두는 2개의 인접 지역들을 갖는다. 예를 들어, 엘리베이터의 2개의 인접 지역들은 각각 상부 위치 및 하부 위치을 위한 것이다. 디렉터 근처의 레일 지역은 명령의 경로를 통한 직선을 기초로 정의된 인접 지역들을 갖는다. 서로 다른 트랙 구성에 대한 가능한 인접 지역 정의가 도 3A-3E에 나타나 있다. 이러한 구성 각각에 대해서, n=m이다.
도 3A는 직선 레일(40) 상에 위치하는 중심 지역(60) 주위의 단일 인접 지역을 구성하는 지역(42)을 나타낸다. 인접 지역을 구성하는 지역들은 "1"로 번호가 매겨진다.
도 3B는 코너(64)에 대해 2개의 인접 지역을 구성하는 지역(42)을 나타낸다. 지역(42)은 그들이 속하는 인접 지역을 나타내는 "1" 또는 "2"로 번호가 매겨진다.
도 3C는 디렉터(66) 근처의 직선 레일(40) 상에 위치한 중심 지역(60)에 대한 단일 인접 지역을 구성하는 지역(42)을 나타낸다. 디렉터를 통한 직선 경로를 가정하면 단 하나의 인접 지역만이 존재한다.
도 3D는 상부 레일(40U) 및 하부 레일(40U)을 연결하는 엘리베이터(68)에 대한 2개의 인접 지역을 구성하는 지역(42)을 나타낸다. 지역(42)은 그들이 속하는 인접 지역을 나타내는 "1" 또는 "2"로 번호가 매겨진다.
도 3E는 인터섹션 디렉터(66)에 대한 2개의 인접 지역을 구성하는 지역(42)을 나타낸다. 지역(42)은 그들이 속하는 인접 지역을 나타내는 "1" 또는 "2"로 번호가 매겨진다.
RF 태그: 전기적으로 판독가능/기록가능하고, (최소한) 유일하게 물리적 카세트를 식별하기 위해 충분한 정보를 포함하는 무선 주파수 자동 응답기.
ORB: 오브젝트 리퀘스트 브로커(Object Request Broker)
병렬 I/O 보드: 8비트 및 선택적으로 16 비트의 디지털 I/O를 써포트하는 하드웨어 플랫폼. 핸드쉐이크 제어기에 대한 SEMI E23 인터페이스를 구현하는데 사용된다.
이전-로드 지역: 이전 로드 지역은 목적지 지역이다. 툴로 전달되는 재료는 툴에 대한 로드 포인트로 이동되기 전에 이전-로드 지역에서 정지할 것이다.
RAM: 신뢰도(Reliability), 가용성(Availability) 및 보존성(Maintainability), 통상적으로 Semi E-10의 보고 집합을 가리킨다.
SEMI E-10: E23 참조
스마트 태그: 포드 또는 박스로 연결될 수 있고 전기적으로 판독/기록 가능한 데이터 저장장치를 제공하는 어사이스트 테크놀로지 자동응답기 생산품.
스마트 태그 제어기: 스마트 태그 프루브(probe)로의 인터페이스를 담당하는 드라이버 보드 상에서 실행되는 어플리케이션(태그 제어기의 한 종류).
SMIF 포드: 표준 기계 인터페이스 포드. 제어된 미니-환경에서 레티클 또는 WIP을 포함할 수 있다. SMIF 포드는 하부 개구부이고, 300㎜ 웨이퍼에 대해서는 사용되지 않는다(FOUP를 참조할 것).
속도 프로파일: 속도 프로파일은 지역을 전환하는 동안 컨테이어의 속도를정의한다. 속도 프로파일은 지역 속도 및 출구 속도로 정의된다. 예를 들어, 3-2의 프로파일은 완전히 지역 상에 있는 경우에는 컨테이너가 속도 S3에서 이동하도록 하고 컨테이너가 지역 벨트와의 접촉을 끊는 경우에는 감속되어 컨테이너가 속도 S2에서 이동하도록 정의한다.
속도 프로파일은 컨테이너가 단일 지역 내에 완전히 포함될 때에만 개시된다. 처음 지역의 벨트에 접촉했을때 컨테이너의 속도는 이전 프로파일에 따라 달라진다는 사실이 주목된다.
태그 제어기(Tag Controller): 태그 판독기와의 인터페이스를 구현하는 드라이버 보드 상에서 실행되는 응용 소프트웨어.
전달 제어기(Transport Controller): 외부 인터페이스 및 컴포넌트간 조합을 포함하는 하이 레벨의, 비 실시간 함수를 담당하는 소프트웨어 시스템.
전달 시스템(Transport System): 제조 공정 내에서 점대점으로 재료를 이동시키는 시스템에 적용되는 일반적인 용어.
WIP: 진행 중인 작업(Work in Process). 통상적으로 반도체 웨이퍼에 적용된다.
지역(Zone): 단일 운반 장치를 출발, 정지 및 전달하는 트랙의 섹션. 지역은 적어도 운반 장치 만큼 길다.. 300㎜ 공정에 대해서, 지역은 500㎜ 정도의 길이가 될 것이다.
지역 주소(Zone Address): 노드 내의 지역의 네트워크 주소. 지역 주소는 8비트이다.
지역 제어기(Zone Controller): 단일 모터 및 관련된 센서의 로우 레벨, 실시간 제어를 담당하는 드라이버 보드 상에서 실행되는 지능 드라이버 응용 소프트웨어.
지역 최대 속도(Zone Max. Speed): 지역 최대 속도는 운반장치가 지역 센서의 종단에 의해 검출되었을때(즉, 운반 장치가 지역 만을 완전히 점유하고 다른 지역은 점유하지 않을때) 낼 수 있는 최대 속도이다.
지역 속도(Zone Speed): 단일 지역 내에 완전히 포함되었을때 컨테이너가 이동하는 속도. 엔트리 속도 및 출구 속도를 참조할 것. 지역의 지역 속도는 업스트림 지역의 출구 속도와 동일하다.
B. 시스템 설명
본 발명에 따라 구현된 전달 시스템은 소스 장치의 로드 포인트에서 목적이 장치와 관련된 로드 포인트로의 신뢰할 수 있으면서도 적절한 이동을 책임진다. 소스 및 목적지는 전달 시스템에 의해 이동되는 재료 상에서 동작하는 저장 시스템, 프로세스 툴, 웨이퍼 정렬기 또는 다른 제조 시스템 중 하나일 수 있다.
전달 시스템은 컨베이어 하드웨어, 제어 컴퓨터 및 제어 컴퓨터에서 실행되는 소프트웨어를 포함한다. 컨베이어 하드웨어는 단방향 또는 양방향 레일, 디렉터, 코너, 로드 포트 전달 장치(LPTD) 또는 엘리베이터일 수 있다. LPTD를 제외하고는, 이들 장치 각각은 "지역들"을 포함하고, 각 지역은 단일 컨테이너를 유지하고 있는 개별적으로 제어되는 컨베이어의 물리적 영역이다.
여기서 설명된 한 실시예에서, 일련의 지역들(및 그들의 제어 컴퓨터, 소위지능 드라이버들)는 네트워크 상에 상주한다. 설명된 실시예에서, 이 네트워크는 제어 영역 네트워크(CAN) 네트워크지만, 임의의 고속 네트워크 기술(예컨대, LonWork, FireWire)도 사용될 수 있을 것이다. 각 지역 CAN 네트워크는 특정 응용 소프트웨어를 실행시키는 제어 로직 컴퓨터(CLC)에 연결된다. 컨베이어 레일과 함께 사용하기 위한 실시예에서, 지역 쓰레드는 하이 레벨 제어를 담당하고, 지역 쓰레드에 의해 제어되는 지역 제어기(ZC)지능 드라이버는 지역의 로우 레벨 제어를 담당한다. 각 지역은 다수의 "인접 지역"에 속하고, 각 인접 지역은 특정 지역으로부터의 업스트림인 n개의 지역 및 특정 지역으로부터의 다운스트림인 m개의 지역들로 구성된다. 인접 지역 내의 모든 CLC 지역 쓰레드는 재료의 적절한 이동 및 식별을 보장하기 위하여 실시간 정보를 공유한다. 인접 지역은 물리적 시스템의 토폴로지에 따라 서로 다른 크기를 갖는다.
전달 시스템은 다양한 저장 장치, 프로세스 툴 및 제조 LAN 상에 상주하는 다른 장치들과 통신할 필요가 있다. 한 실시예에서, (교대로 프로세스 툴과 통신하는)로드 포트와의 통신은 SEMI E23 병렬 인터페이스에 의해 조절된다. 설명된 실시예에서, 전달 시스템(소위 전달 제어기, TC)에 대한 하이 레벨 제어기 및 제조 CIM 시스템(예컨대, MCS) 사이의 통신은 SEMI 인트라베이 특정 장치 모델에 따른 HSMS 연결을 통해 이루어 지며, 상기 모델은 본 명세서에 통합된다. 마찬가지로, TC 및 하이레벨 제어기 사이의 통신은 임의의 적절한 통신 기술 및 프로토콜을 사용하여 구현될 수 있을 것이다. 이것은 본 발명의 동작이 이 통신 메카니즘의 구성과는 독립적이기 때문이다.
안전 시스템 및 방화문 인터로크(interlock)는 직접 CAN 네트워크에 연결되는 직접 I/O 제어기에 의해 조절된다. 이러한 제어기는 시스템 동작 모드에서 자동 변화를 결정하는 것을 돕는다. 이 제어기의 버전은 전력 공급 중단을 알리고 E-스탑 장치를 상호 연결하기 위해 전력 분배 시스템 내에 구축된다. 본 전달 시스템을 도 4를 참조하여 추가적으로 설명하고자 한다.
도 4를 참조하면, 본 발명의 전달 시스템(102) 및 통상적인 자동화된 생산 시스템(110)을 통합하는 자동화된 생산 시스템(100)에 대한 블록도가 나타난다. 이 그림은 전달 하드웨어를 생략하고 제어 시스템 컴포넌트를 강조하는데, 이것들이 본 발명의 초점이다. 통상적인 생산 시스템(110)은 생산 수행 시스템(MES;112) 및 재료 제어 시스템(MCS;114)을 포함한다. 생산 수행 시스템(112)은 제조 공정을 통하여 로트를 따라 다닌다. MCS(114)는 생산 수행 시스템(112)로부터 특정 로트에 대한 다음 프로세스 스텝의 통보를 수신하고, 프로세스 툴을 식별하며 전달 시스템(102)이 그 로트를 툴로 전달하도록 명령한다.
전달 시스템(102)은 전달 제어기(TC;114), 제어 로직 컴퓨터(CLC;106) 및 지능 드라이버(108)를 포함한다. 전달 제어기(TC;104)는 재료 제어 시스템(MCS;114)으로부터 재료가 어디로 이동/처리될 것인지를 나타내는 명령(115)을 수신한다. 예를 들어, 명령(115)은 한 프로세싱 툴로부터 다른 프로세싱 툴로 특정 컨테이너(또는 포드)의 웨이퍼를 전송하기 위한 명령을 포함한다. TC(104)는 명령을 구현하는 일련의 기본적인/아토믹 동작을 시퀀싱하므로써 MCS 명령(115)을 수행한다. 예를 들어, TC(104)는 전달 명령을 적어도 하나의 제어 로직 컴퓨터(CLC;106)에 의해 수행되는 일련의 포착, 이동 및 보관 명령(117)으로 나눈다. MCS(114)는 또한 이러한 원자 동작들을 발할 수 있다.
TC(104)는 토폴로지 데이터베이스(105)에 모든 재료 전달 시스템의 물리적 토폴로지를 저장한다. 토폴로지(105)의 한 표현은 모든 가능한 생산 시스템 목적지의 집합(에컨대, 포트 전달 장치) 근처에서 조직화된다. 각 목적지 표현은 컨테이너가 그 지역으로 이전에 로드될 수 있고 그 목적지로부터 론치될 수 있는 지역들과 관련된 위치 및 장치 정보에 대한 참조를 포함한다. TC(104)는 또한 CLC(106)에 의해 반환된 상태 정보(119)를 사용하여 전달 시스템에 대한 상태 정보(107)를 유지한다.
각 CLC(106)는 물리적 전달 시스템의 구별된 영역을 구성하는 전기 기계 장치의 그룹을 구동하는 지능 드라이버(108)의 각 그룹에 대한 하이 레벨, 실시간 제어 및 조화를 제공한다. 센서로부터의 정보(123), 재료의 움직임에 대한 동적 제한, 인접 지역의 토포그래피(topography)의 맵 및 속도 제어, 라우팅 및 충돌 회로를 위한 규칙들을 기초로, CLC(106)는 로우 레벨 명령(121)을 통해 선택된 지능 드라이버(108)를 조합하므로써 명령(115)을 수행한다. CLC(106)는 재료 전달 시스템의 그와 관련된 영역의 물리적 토폴로지만을 알 필요가 있고, CLC는 그 토폴로지를 지역 토폴로지 데이터베이스(109)에 저장한다. 또한, 각 쓰레드는 그 인접 위치에 대응하는 토폴로지만을 안다.
한 실시예에서, 서로 다른 종류의 전기 기계 장치들이 존재한다. 각각의 다른 종류는 하나 이상의 지능 드라이버(108)에 의해 제어된다. 예를 들어, 한 실시예에서, 전기 기계 장치는 지역(컨베이어 레일 세그먼트 및 그와 관련된 세서 및 모터), 태그/바코드 판독기, 로드 포트 전달 장치(LPTD), EMO(긴급 상황 오프: EMergency Off) 센서, 디렉터(회전 능력을 가진 트랙 장치) 및 엘리베이터를 포함한다. 따라서, 설명된 실시예는 다음과 같은 타입의 지능 드라이버들(108)을 포함한다.
지역 제어기: 센서 데이터를 CLC에 보고하고, CLC로부터의 모터 명령에 따라 모터를 가속 및 감속한다.
태그 제어기: 태그/바코드 판독기와의 양방향 통신을 제공한다.
축 제어기: LPTD의 임의의 축 또는 디렉터의 엘리베이터 또는 회전을 제어한다.
EMO 제어기: 전력 공급을 모니터링하고 전력 실패를 기초로 CLC를 통보한다.
핸드쉐이크 제어기: 별개로 제어되는 전기 기계 장치의 동작을 동기화하는데 사용되는 다중-배선 병렬 인터페이스를 구현한다.
도 5를 참조하면, 제어 시스템(100)의 한 실시예(150)에 대한 확장된 블록도가 나타나 있다. 실시예(150)에서, 이더넷(120)을 통해 다중 CLC(106)로 연결되는 단일 TC(104)가 존재한다. 각 CLC(106)는 교대로 하나 이상의 CAN 버스를 통해 다수의 지능 드라이버(124)에 연결된다. 각 마이크로프로세서(124)는 전달 하드웨어를 구성하는 전기 기계 장치들(160) 중 하나에 대한 능동 드라이버(108)를 수행한다. 예를 들어, 하나의 모터(162) 및 두개의 센서(164)를 갖는 레일 지역(160a)은 지역 제어기(ZC;108a)에 의해 제어된다. 마이크로 프로세서(124)는 일반적이며, 서로 다른 타입의 능동 드라이버들(108)이 수행될 수 있도록 한다.
실시예(150)에서, 단일 CLC(106)에 의해 제어되는 CAN 버스에서 4개의 CAN 버스당 64개의 마이크로프로세서들(124)들이 존재한다. CAN 버스 당 마이크로프로세서의 수, 단일 CLC(106)에 의해 제어되는 CAN 버스의 수 및 마이크로프로세서(124)당 능동 드라이버의 수는 가용한 컴퓨터 하드웨어 및 물리적 레이아웃에 따라 달라질 수 있다. 컨베이어 및 지능 드라이버에 대한 더 자세한 그림이 도 5B에 나타나 있다.
도6 내지 도8을 참조하면, 종래 기술의 엘리먼트와 본 발명의 이송 시스템 양자를 나타내는 상이한 제조 설비 토폴로지(topology)의 구조가 도시되어 있다. 도6은 본 발명에 따른 웨이퍼 저장 시스템(204)을 연결하는 팹(fab) LAN(202), 프로세스 툴(206), 통상의 팹(fab) 제어 시스템(208) 및 이송 제어기(TC; 104)를 포함하는 기본 토폴로지(200)를 나타낸다. 저장 시스템(204)와 팹 툴(206)은 레일(160) 또는 저장 시스템(204) 및 프로세스 툴(206) 각각을 로딩 및 언로딩하기 위한 로드 포트 이송 장치(160b-1,160b-2)를 포함하는 다른 운반 시스템(160)에 의해 연결된다. TC(104)는 베이(bay) 전원(210)을 모니터하며, 위에서 언급한 바와 같이 이더넷 네트워크를 경유하여 CLC(106)를 제어한다. 각 CLC(106)는 하나 이상의 CAN 버스(122)를 경유하여 지능(intelligent) 드라이버(108)를 제어한다. 지능 드라이버(108)는 이송 시스템(160)의 각 컴포넌트들을 차례로 제어한다. 예를들어, 지능 드라이버(108)는 LPTD(160b-1 106b-2)를 위한 LPTD 제어기(108b)를 포함한다. 다른 형태의 지능 드리어버(108)에는 지역(zone) 제어기(ZC) 및 E23 인터페이스(E23)를 포함한다. 각 인트라베이(intrabay) 및 인터베이(interbay)는 다른 인트라베이들 또는 인트라베이와 물리적으로 상호작용(interact)하지 않는 전체적으로 독립적인 시스템으로 간주된다.
도7은 각각 프로세스 툴(206)(도시의 단순화를 위해 단일 프로세스 툴로서 도시됨) 및 인트라베이 이송 시스템(230)을 갖는 일련의 독립적인 베이들을 포함하는 제조 시스템을 도시한다. 베이들은 인터베이 이송 시스템(232)에 결합된 스토커(stocker)에 의해 연결된다. 각 인트라베이 이송 시스템(230) 및 인터베이 이송 시스템(232)은 각각 TC(104), CLC(106) 및 지능 드라이버를 포함한다. 인트라베이 이송 시스템(230)은 서로를 인식하지 못한다.
도8은 일련의 접속된 베이들을 포함하는 제조 시스템을 나타낸다. 이 레이아웃에서, 인트라베이 및 인터베이 이송 시스템(230, 232)은 단일, 상호 접속 시스템으로서 동작한다. 그 결과, 전체 이송 시스템(즉, 인트라베이 및 인터베이 이송 시스템)을 제어하는 단일 TC(104)가 존재한다. 각 인트라베이 시스템(230) 및 인터베이(230) 시스템은 고유의 CLC(106) 및 관련 지능 드라이버(108)를 갖는다. TC(104), CLC(106) 및 지능 드라이버(108)에 대해 추가적으로 도9A-9H를 참조하여 설명하고자 한다.
C. 시스템 설명 및 논리 모델
도9A를 참조하면, 이송 제어기(TC; 104)의 블록도가 도시되어 있다. TC(104)는 프로세서(302); 하드 디스크 또는 플래시 메모리와 같은 비휘발성 메모리(304); 반도체 램(RAM)과 같은 고속 1차 메모리(306); 및 선택적으로디스플레이(310) 및 키보드(312) 및 마우스(314)와 같은 사용자 입력 장치를 포함한다. 주지의 계산 원리에 따라, TC(104)는 운영 시스템(320)의 제어하에 메모리(306)에 프로그램을 수행하고 디스플레이(310) 및 사용자 입력 장치(312, 314)에 의해 사용자 인터랙션을 가능하게 한다. TC(104)는 이더넷(TCP/IP) 접속에 의해 발부된 명령에 의해 그의 영향력 하에서 하나 이상의 CLC(106)를 제어한다. 디스플레이(310) 및 사용자 입력 장치(312, 314)는 사용자 입력 가능성이 요구되지 않는 경우에는 선택적이다.
비휘발성 메모리(304)는 운영 시스템(320), TC 프로그램(322) 및 TC 데이터 구조(340)를 영구적으로 저장한다. TC 프로그램(322)은 이동 디스패쳐 클래스(326), 이동 클래스(328), 포드(pod) 위치기(locator) 클래스(330) 및 토폴로지 매니져 클래스(332)를 포함하는 TC 클래스(324)를 이용하나, 이로 한정되는 것은 아니다. TC 기능성(funcktionality)의 중요 양태를 결정하는 TC 클래스(324)는 이하에서 상세히 설명될 것이다. TC 프로그램은 또한 사용자 입력 가능성이 요구되는 경우에 선택적인 사용자 인터페이스 기능(334)을 포함할 수 있다. TC 프로그램(322), 클래스(326-332) 및 선택적 UI 기능(334)은 소스 코드 및/또는 실행가능(executable)으로 저장될 수 있다.
TC 데이터 구조(340)는 TC(104)가 책임지고 있는 이송 시스템 영역의 물리적 토폴로지를 정의하는데 사용되는 데이터 구조 그룹을 포함한다. 이들 데이터 구조는 다음을 포함한다.
목적지(destination) 리스트(342): 목적지 리스트의 헤더
목적지(344): 이름과 좌측 및 우측 발진(launch) 및 이전 로드(preload) 지역에 대응되는 위치에 대한 포인터를 포함하는 목적지에 대한 정보를 보유
위치(346): 인접 위치에 대한 포인터와 물리적 위치로부터의 좌측 및 우측 이동이 허용되었는지 여부를 나타내는 불리언(boolean)을 포함하는 이송 시스템의 액세스가능 물리 위치를 정의
지역(348): 지역의 장치 이름을 보유하고 지역과 관련된 위치를 수정
디렉터(350) :디렉터와 관련된 상하 인접 지역 위치에 대한 포인터와 상기 디렉터로부터 상하 이동이 허용되는지 여부를 포함하는, 디렉터에 대한 정보를 보유하고, 디렉터와 관련된 위치를 수정
장치(352): 위치와 관련된 각 장치에 대응하여 각 위치와 관련될 수 있는 하나 이상의 CAN 버스 어드레스와 장치 이름을 포함하는 전기기계적 장치에 대한 정보를 보유
파라미터 리스트(354): 수정가능하고 장치를 특징지우는 변수들의 리스트
파라미터(356):특정 이름, 타입(예를들어, 정수, 플로트(float), 긴(long), 등) 및 값을 갖는 데이터 아이템
운영 시스템(320), TC 프로그램(322), 클래스 예들(380)(종종 "객체"로도 명명됨) 및 TC 데이터(390)는 프로세서(302)에 의한 사용을 위해서 1차 메모리(306)으로 로딩된다. 클래스 예들(380)에는 이동 디스패처(382) ,이동 객체(381), 포드 위치기(384) 및 토폴로지 메니져(386)를 포함하며, 이들은 각각 클래스(326-332)의 예가 된다. TC 프로그램은 또한 MCS(재료(material) 제어 시스템)인터페이스(388)을 포함한다. TC 데이터(390)는 링크된 목적지 리스트(392)를 갖는 토폴로지 데이터베이스(392), 목적지(394), 위치(396), 지역(398), 디렉터(400), 장치(402), 파라미터 리스트(404) 및 예를들어 데이터 구조(342,344,346,348,350,352,354,356)를 각각 갖는 파라미터(406)를 포함한다.
이송 제어기(104)는 TC 프로그램(322) 및 TC 데이터(392)를 이용하여 다음과 같은 기능을 수행한다.
영향 범위 내에 모든 노드들의 목록(inventory)을 유지
영향 범위 내에 다른 제어기의 새로운 프로그램과 파라미터들을 다운로드하고 검증(verify)
영향 범위 내에 제어기에 대한 파라미터 및 모든 데이터의 백업 사본을 유지
팹 제어 시스템으로부터의 새로운 재료 이동 요구를 수용
재료 전달 프로세스 도중에 툴의 로드 포트 입수가능성을 검증
재료 획득 프로세스의 일부로서 목적지 정보를 얻음
유지 활동을 위한 다중 사용자 인터페이스에 대한 서비스 제공과 현재 동작 조건을 디스플레이
내부 재료 식별자와 외부, 팹 전체의 재료 식별자 사이에 맵핑(mapping)을 유지
내부 목적지 어드레스와 외부 장치 식별자 사이에 맵핑을 유지
외부 시스템으로부터 수시된 리-라우팅 명령을 수행
재료 이동을 개시, 제어 및 모니터링함
전원 상태를 모니터
시스템의 동작 상태를 제어
TC(104)의 동작에 대하여 이하에서 추가적으로 설명한다.
도10을 참조하면, 토폴로지(392)의 모델이 도시되어 있다. 도10에 사용된 명명방법이 객체 모델링(예를들어, 일체화된 모델링 언어, 또는 UML)에 통상적으로 사용되며 따라서 이하에서는 이에 대해 간략히 설명한다. 각 객체의 타입은 객체의 속성의 리스트를 갖는 박스로서 도시되고; 객체 예들 사이의 관련은 박스들 사이의 라인으로서 도시되어 있다. 각 관련(1 대 1, n 대 n, 1 대 n, 1 대 무(none) 또는 0대 n 등)들이 각 연결 라인을 따라 리스트(list)된다. 예를들어, 도10은 0과 n 사이에 목적지 리스트(394)의 목적지(396)가 존재할 수 있으며 각 목적지(396)가 n개의 관련 위치(398)에 링크될 수 있다는 것을 보여준다. 화살표(410)와 같은 개방(open) 화살표는 속성의 전승(inheritance)을 나타낸다. 예를들어, 화살표(410)는 지역 및 디렉터 데이터 예들(400, 402)이 그들 고유의 속성을 가질 수 있으면서, 이들 양자가 위치 데이터 예(398)의 모든 속성을 전승하는 것을 나타낸다.
각 예들을 나타내는 리스트된 속성들은 본 발명의 일실시예에서 사용되나 본 발명의 범위를 한정하는 것으로 의도되지는 않는다. 또한 도면들은 모든 속성들을 정의하고자 하는 것은 아니며, 단지 중요 속성들에 대해서 정의하는 것을 의도하였다. 각 속성들은속성 이름: 데이터 타입의 형태로 정의된다. 포인터 데이터 타입인 속성들은 별표(*)가 수반된다. 속성좌편 이전 로드 지역(412)는위치(398)에 대한 포인터이다. 설명이 필요한 한 데이터 타입은CORBA 객체 레퍼런스(object reference)이다. 이 데이터 타입은 다른 어드레스 스페이스(동일 또는 상이한 컴퓨터에서)에 남아있는 소프트웨어 객체에 대한 레퍼런스이다. 예를들어, 속성 관련 로드 영역 제어기(414)는 목적지 데이터 예(396)를 대응 이송 시스템 로드 영역을 관리하는 CLC(106)의 로드 영역 제어기(LAC) 쓰레드(thread)(도9B를 참조하여 설명됨)에 매핑한다. 본 발명의 구현이 CORBA 객체 레퍼런스의 이용으로 한정되는 것이 아니며, 상이한 어드레스 공간과 플랫폼 사이에 객체 레퍼런스가 맵핑되도록 하는 다른 미들 웨어(middle ware) 제품들도 이용할 수 있다는 점을 유의하여야 한다. 예를들어, DCOM이 또한 포함될 수 있다.
도11 및 도12를 참조하면, 이송 시스템 구조(420)과 이의 토폴로지(392)로의 표현이 도시되어 있다. 이송 시스템(420)은 일방향 링과 직선 길이의 레일로서 연결된 디렉터(D1-D5)의 집합과 지역(Z1-Z19)을 포함한다. 이송 시스템(420)은 지역(Z16) 및 지역(Z17) 사이의 목적지(DST)와 지역(Z10) 및 지역(Z11) 사이의 목적지(DST2)를 포함한다. 위에서 설명한 바와 같이, 각각의 목적지(DST1, DST2)은 LPTD에 대응된다. 이송 시스템(420)을 설명하는 정보가 MCS(114)(도4)에 의해 TC(104)에 제공된다. TC(104)의 토폴로지 메니져(386)는 실질적으로 이 정보로부터 토폴로지(392)(도12)를 발생시킨다.
도12A는 이송 시스템(420)의 TC 토폴로지(392)로서의 표현을 나타낸다. 이에 대해 상세한 것은 도12B에 참조된다. 도12B를 참조하면, 각 디렉터 데이터 예(402)가 2차원의 디렉터의 가능한 물리적 커넥션에 대응하는, 업 커넥션(430),좌측 커넥션(432), 우측 커넥션(434) 및 다운 커넥션(436)의 네 개의 포인터를 갖는다. 각 목적지 데이터 예(396)는 좌측 이전 로드 지역 포인터(438), 좌측 발진(launch) 지역 포인터(440), 우측 이전 로드 지역 포인터(442), 우측 발진 지역 포인터(444) 및 LPTE 포인터(445)의 5개 포인터를 갖는다. 각 지역 데이터 예(400)는 좌측 커넥션(446) 및 우측 커넥션(448)의 두 개의 포인터를 갖는다. 각 LPTD 예(401)는 동작하는 목적지 리스트로의 포인터(450)를 갖는다. TC (104)는 이들 포인터들을 도12A에 도시된 바와 같이 토폴로지(392)를 완벽하게 나타내도록 설정한다. 예를들어, 목적지 DST2(396-2)는 좌측 이전 로드 지역(Z9)을 지시하는 좌측 이전 로드 포인터(438), 좌측 발진 지역(Z10)을 지시하는 좌측 발진 포인터(440) 및 목적지(DST2)와 관련된 LPTD(401-2)를 지시하는 LPTD 포인터(445-2)를 갖는다. 목적지(DST2)는 우측 이전 로드와 눌(NULL) 값을 갖는 우측 발진 포인터(452,454)를 갖는데, 이는 콘테이터(container)가 목적지(DST2)를 포함하는 루프에서 좌측에서 우측으로만 이동할 수 있기 때문이다(즉, 목적지(DST2)의 우측으로부터의 어떠한 이전 로드 또는 발진이 존재할 수 없다).
도9B를 참조하면, CLC(106)의 블록 다이어그램이 도시된다. CLC(106)는 프로세서(452), 하드디스크 또는 플래시 메모리와 같은 비휘발성 메모리(454), 및 반도체 랜덤 엑세스 메모리와 같은 패스트 1차 메모리(456)를 포함한다. 주지의 계산 원리에 따라, CLC(106)는 운영 시스템의 제어하에 메모리(456)에 프로그램을 수행한다. CLC(106)는 CAN버스 커넥션에 따른 발부된 명령에 의해 영향 범위에서 하나 이상의 지능 드라이버(IntDrv)를 제어한다.
비휘발성 메모리(454)는 운영 시스템(460), CLC 프로그램(462) 및 CLC 데이터 구조(500)를 영구적으로 저장한다. CLC 프로그램(462)은 지역 클래스(466), 로드 영역 제어기(LAC) 클래스(472), 헬스(Heealth) 모니터(HM) 클래스(476), 로드 포트 이송 장치(LPTD) 제어기 클래스(480) 및 디렉터 제어기(DC) 클래스(484) 포함하는 CLC 클래스(464)를 이용하나, 이로 한정되는 것은 아니다. 각 CLC 클래스(464)는 각각의 방법(미도시) 및 데이터 구조(470,474,478,482,486)을 포함한다. CLC 기능성(funcktionality)의 중요 양태를 결정하는 CLC 클래스(464)는 이하에서 상세히 설명될 것이다. CLC 프로그램(462)은 또한 지역 상태 머신(490), LAC 상태 머신(492), HM 상태 머신(494), LPTD 상태 머신(496) 및 디렉터 상태 머신(498)을 포함하는 상태 머신(488)을 포함하나, 이로 한정되는 것은 아니다. CLC 클래스(464)는 특정 타입의 이송 시스템 컴포넌트, 즉을 제어하는데 요구되는 다른 클래스를 포함할 수 있다. 즉, 클래스(464)는 시스템이 엘리베이터(elevator)를 포함하는 경우에는 엘리베이터 제어기(EC) 클래스(미도시)를 포함할 수 있다. CLC 프로그램(462) 및 클래스(464)는 소스 코드 및/또는 실행가능으로서 저장될 수 있다.
CLC 데이터 구조(500)는 CLC(106)가 책임을 갖는 이송 시스템의 인접 지역하는 물리적 토폴로지를 정의하는데 사용되는 데이터 구조(500)의 그룹을 포함한다. 이들 데이터 구조는 다양한 TC 데이터 구조(340)(도9)와 유사한 정보를 포함하나, 반드시 동일한 형태일 필요는 없다.
운영 시스템(460), CLC 프로그램(462), 클래스 예(510)(종종 "객체" 또는 "쓰레드(thread)"로도 불림) 및 CLC 데이터(530)가 프로세서(452)에 의해 사용되기 위해 1차 메모리(456)으로 로드된다. 클래스 예(510)는 지역 쓰레드(512), LAC 쓰레드(514), HM 쓰레드(516), LPTD 제어 쓰레드(518) 및 디렉터 제어 쓰레드(520)를 포함한다. 각각의 쓰레드(510)는 CLC 클래스(464)의 예이며 각각의 CLC 상태 머신(488)에 의해 구체화되는 동작(behavior)을 구현한다. 예를들어, 지역 쓰레드(512)는 지역 클래스(466)의 예이며 지역 상태 머신(490)을 구현한다. 유사하게 LAC, HM, LPTD 제어기 및 DC 쓰레드(514,516,518,520)는 클래스/상태 머신(472/494,476/494,480/494,484/496)로부터 유도된다. CLC 데이터(530)는 CLC의 로컬 토폴로지, 및 CLC 상태(status)(534)를 나타내도록 링크된 토폴로지 구조(502)의 예들을 포함하는 토폴로지 데이터베이스(532)를 포함한다. 다양한 CLC 쓰레드(510)에 대해 이하에서 상세한 레벨에서 설명한다.
본 발명의 일실시예에서, 이송 시스템의 각 지역에 대해 하나의 지역 쓰레드(512)가 존재한다. 지역 쓰레드는 각각의 지역 제어기(ZC)(108a)(도9C)를 제어하며 지역 제어기와 TC(104) 사이에 개재된다. 지역 쓰레드는 다른 지역 쓰레드(512), LAC 쓰레드(514) 및 공통 인접 지역과 관련된 디렉터 제어 쓰레드(520)를 포함하는 다른 CLC 쓰레드(510)과 협동하여 동작한다. 특히, 각 지역 쓰레드(512)는 다음의 기능을 수행한다.
인접 지역(neighborhood) 내의 모든 다른 지역에 대한 정보를 유지
모터 제어를 실행하기 위해 지역 제어기와 통신
센서 데이터를 얻기 우해 지역 제어기와 통신
새로운 파라미터와 프로그램 데이터를 제공하기 위해 지역 제어기와 통신
상기 지역을 통해 안정하고, 효과적인 재료의 이동을 가능케하기 위해 속도 제어 룰에 이격되어 있는 재료을 수행
단일 컨테이터만이 임의의 주어진 시간에 지역을 점유하게 시도하도록 보장하는 지역에 대한 액세스를 제어
지역 쓰레드에 관련된 프로그램과 데이터에 대한 추가 설명에 대하여 도13을 참조하여 설명하고자 한다.
도13을 참조하면, 지역(Z4)를 제어하는 대표 지역 쓰레드(512-4)와 관련된 데이터 구조와 프로그램의 블록도가 도시되어 있다. 도13의 상부에 도시된 바와 같이, 지역(Z4)를 포함하는 인접 지역(neighborhood)들중의 하나는 또한 지역(Z1-Z3) 및 지역(Z5-Z7)를 포함한다. 설명의 편의를 위해서, 인접 지역에서 좌편에서 우편으로 이동하는 두 개의 컨테이너(C1 및 C2)가 존재한다고 가정하자. 지역 쓰레드(512-4)(및 다른 모든 지역 쓰레드도)는 지역 상태 머신(620), 지역 쓰레드 방법(622) 및 지역 쓰레드 데이터(624)를 구현한다. 특히, 지역(Z4)에 대한 지역 쓰레드 데이터(620)는 인접 지역 상태(626), 컨테이너 큐(queue)(642), 최근접 컨테이너 포인터(648), 다운스트림 속도 테이블(670), 업 스트립 속도 명령(또는 프로파일)(672), 최대 속도(674) 및 속도 테이블 룰(676)을 포함한다.
지역 쓰레드 방법(622)은 지역 데이터(626)에 저장된 정보를 이용하여 지역 상태 머신(620)의 제어하에 도9C를 참조하여 위에서 설명한 기능들을 수행한다. 지역 쓰레드 방법(622)의 동작은 도17-도37을 참조하여 보다 상세히 설명된다.
인접 지역 상태(626)는 인접 지역 지역(Z1-Z3, Z5-Z7)의 상태(628-640)를 각각 제공한다. 이들 중에, 하나의 구현에서 각 지역 상태(628-640)는 다음 중 하나를 지적할 수 있다.
운반 장치가 빠져나감(컨테이너가 지역을 빠져나감을 지적)
운반 장치가 빠져나갔음(컨테이너가 지역을 빠져나갔음을 지적)
운반 장치가 정지되었음(컨테이너가 지역에 정지하였음을 지적)
운반 장치가 제거되었음(컨테이너가 지역으로부터 예를들어 LPTD에 의해 언로드되었음을 지적)
지역이 이용가능함(컨테이너가 지역으로 이동할 수 있음을 지적)
지역이 보류되었음(지역이 컨테이너의 이동을 위하여 지역 쓰레드에 의해 보류되었음을 지적)
컨테이너 큐(642)는 컨테이너(C1, C2)의 상태(644,646)를 각각 제공한다. 각 상태 기록(644,646)은 다음을 포함한다.
컨테이너와 관련된 이동 객체(381)의 식별;
컨테이너의 위치;
컨테이너의 이동 방향;
컨테이너의 목적지.
최대근접 컨테이너 포인터(648)는 컨테이너 최근접 지역(Z4)와 관된 컨테이너 큐(642)의 기록을 지적한다.
예들들어, 컨테이너(C1, C2)의 목적지가 Dest1 및 Dest2이고, 이동 객체가각각 381-1 및 381-2라 가정하면, 도11에 나타난 상황에 대한 컨테이너 큐(642)는 다음과 같이 보이게 된다(최근접 컨테이너 포인터(648)는 컨테이너(C1)에 대해 기록(644)를 지적할 것이다).
컨테이너 큐(642)
컨테이너 큐 데이타
C1644(최근접 컨테이너) 이동 ID = 381-1;위치 = 현재 Z2;이동 방향 = 우측;목적지 = Dest1;
C2646 이동 ID = 381-2;위치 = 현재 Z1;이동 방향 = 우측;목적지 = Dest2;
예시적인 실시예에서, 다운스트림 속도 테이블(670)은 컨테이너의 지역 통과를 위해서 현재와 이력(historical) 속도 데이터를 포함한다. 본 발명의 일 실시예에서, 속도 테이블(670)은 현재 노드로부터의 다운스트림인 각 지역에 대한 속도 숫자를 포함한다(즉, 지역(Z4)에 대한 속도 테이블(670)은 지역(Z5,Z6,Z7)에 대한 현재와 이력 속도 숫자를 포함한다). 이력 데이터는 새로운 속도 프로파일이 실행가능하지 않은 경우에 과거 데이터를 복귀시킬 필요가 있는 경우에 제공된다. 다른 실시예에서, 이력 속도 데이터는 유지되지 않는다. 각 지역(512)은 업스트림 지역(512)으로부터 수신된 정보에 근거하여 속도 테이블을 업데이트한다. 예를들어, 지역(Z4)(512-4)은 지역(Z1-Z3)으로부터 수신된 메시지에 근거하여 속도 테이블을 업데이트한다. 속도 테이블에 대하여는 이하에서 상세히 설명한다.
속도 테이블 룰(676)은 어떻게 지역 쓰레드(Z4)가 다음 속도 프로파일이 특정 컨테이너에서 수행되도록 결정하는 속도 테이블 정보(670)를 이용하는지에 대하여 설명한다. 속도 프로파일은 지역(Z4)으로부터 다운스트림인 인접 지역 지역의 컨테이너 속도를 구체화한다. 무엇보다도, 속도 프로파일은 컨테이너의 속도가 인접 지역 다운스트림 지역에서 유지되어야 하는지, 감소 또는 증가 되어야 하는지를 구체화한다. 속도 프로파일은 또한 삼각형일 수 있으며, 이 경우 머터리얼은 속도까지 증가하고 다시 하강한다. 이러한 속도 프로파일은 단일 지역에서 실행되는 0-0 프로파일로서 설계될 수 있다. 본 발명의 일 실시예에서, 속도 테이블 룰(676)은 상기 컨테이너 및 인접 지역의 다른 컨테이너의 현재 및 이력 속도의 함수로서 컨테이너에 대한 속도 프로파일(속도 테이블(670)에서 이용가능한 정보)과 인접 지역의 물리적 구조와 같은 다른 인자를 유도하는지를 정의한다. 이러한 프로파일은 근접되어 있는 포드(pod)의 충돌을 방지하고 부드러운 포드 가속과 감속을 보장하도록 미리 설정된다. 런타임(runtime), 전문가 시스템 타입 속도 룰 및 이들의 조합을 포함하는 속도 테이블 룰(676)의 다른 실시예가 또한 가능하다.
업스트림 속도 명령(672)은 지역(Z4) 쓰레드가 지역(Z4)에 존재하는 경우에 유지, 감속 또는 가속시켜야 하는 컨테이너에서의 속도를 설정하도록 보내진 명령이다. 업스트림 속도 명령(672)는 업스트림, 인접 지역 지역(예를들어 지역(Z3))의 다운 스트림 속도 테이블로부터 유도된다. 최대 속도(674)는 컨테이너가 지역을 통과할 수 있는 최대 속도를 제한하는 오퍼레이터 또는 TC에 의해 플라이(fly) 상에서 프로그램되거나 수정될 수 있는 값이다.
도9B를 참조하면, 본 발명의 일 실시예에는 이송 시스템의 각 로드 영역에 대한 LAC 쓰레드(514)가 존재한다. LAC 쓰레드는 핸드쉐이크(handshake)제어기(108f)(도9H) 및, 선택적으로 태그 제어기(108d)(도9F)를 제어하며 이들 장치와 TC(104) 사이에 위치한다. LAC(514)는 지역 쓰레드(512), 헬스 모니터 쓰레드(516) 및 주어진 로드 영역과 관련된 LPTD 제어 쓰레드(518)와 협동하여 동작한다. 특히, LAC 쓰레드(514)는 다음의 기능을 수행한다.
재료 획득 및 배치 동작 중에 관련된 로드 포트 이송 장치(LPTD)와 조절 및 통신.
재료 배치 중에 관련된 이전 로드 지역으로부터 로드 포인트로의 재료 이동을 조절 및 배열(sequence).
재료 획득 동작 중에 관련된 로드 포인트로부터 다운스트림 로드 지역으로의 재료 이동을 조절 및 배열(sequence).
본 발명의 일시예에는 각 CLC(106) 상에서 움직이는 헬스 모니터(HM)이 존재한다. 각 헬스 모니터 쓰레드는 관련된 지능 드라이버(108)의 헬스를 모니터하고, 드라이버와 TC(104) 사이에 위치하며, 동일한 지능 드라이버(108)과 관련된 동작을 갖는 다른 CLC 쓰레드와 통신한다. 특히, 헬스 모니터 쓰레드(516)은 다음의 동작을 수행한다.
특정 지능 드라이버 응용이 동작하는 것을 보장하기 위해서 연속적으로 모니터함.
관련된 제어 쓰레드에 지역 제어기 동작 상태의 임의의 변화를 통지.
본 발명의 일시예에는, 재료을 이송 시스템 레일로부터 이동시키는 각 이송 메커니즘에 대한 LPTD 제어 쓰레드(518)가 존재한다. 각 LPTD 제어 쓰레드(518)는관련된 이송 메커니즘의 동작을 제어한다. 각 메커니즘 형태에 대하여 특정 형태의 LPTD 제어 쓰레드가 존재한다. 각 LPTD 제어 쓰레드는 특정 LPTD 클래스의 예이다. LPTD 제어 쓰레드의 기능은 다음과 같다:
로드 포트로부터 새로운 위치로 이동해야하는 재료을 얻음.
상기 재료을 선택적으로 식별함.
트랙으로부터 로드 포트로 재료을 이송함.
본 발명의 일실시예에서, 이송 시스템의 각 디렉터에 대한 하나의 디렉터 제어 쓰레드(520)가 존재한다. 각 디렉터 제어 쓰레드(520)는 이송 시스템 토폴로지와 디렉터 근방의 허용된 이동 방향에 따라 관련 디렉터를 따라 하나 이상의 재료의 플로우를 제어한다. 특히, 디렉터 제어 쓰레드(520)는 다음의 기능을 수행한다.
재료이 다중 입력 위치로부터 하나의 다중 출력 위치로 라우팅되는 것을 허용함.
재료의 목적지 지식과 그 목적지로의 디렉터를 통한 가능한 루트(route)에 대한 지식에 근거하여 어떠한 출력 위치가 사용되어야 하는지를 결정함.
도9C-도9H를 참조하여 CLC 쓰레드(510)에 의해 제어되는 지능 드라이버에 대해 설명하고자 한다.
도9C는 본 발명의 일실시예에 대해 지역 제어기 기능이 향상되어있는 컴퓨터의 블록도를 나타낸다. 지역 제어기(108a)는 지역 제어기(ZC) 프로그램(550) 및 ZC 데이터(552)를 포함한다. ZC 프로그램의 지시하에서 지역 제어기(108a)는 지역을 구성하는 하드웨어를 제어하고 모니터한다. ZC 프로그램(550)에 의해 요구되는 정보가 ZC 데이터(552)로서 저장된다. 상기 데이터에는 다음과 같은 것이 포함된다:
재료의 최대 속도,
바퀴 회전 당 이동 센티미터,
센서 되튐(debounce) 카운트,
지역 길이, 및
장치의 네트워크 어드레스.
지역 제어기(108a)는 특정 형태의 지역과 상호작용할 특정 하드웨어 및 소프트웨어를 포함한다. 예들들어, 예시된 지역 제어기(108a) 및 ZC 프로그램(350)는 두 개의 센서(554,556) 및 모터(558)를 포함하는 지역과 상호작용하는 것으로 특정된다. ZC(108a)의 특정 기능에는 다음이 포함된다;
센서(554,556)을 되튀게 하고 모니터함.
CLC(106)의 관련 지역 쓰레드(512)에 대한 센서 상태의 변화를 통신함.
모터(558) 제어 명령을 수신하고 실행함.
도9D는 본 발명의 실시예에 대한 축 제어기 기능이 구현되는 컴퓨터의 블록도가 도시되어 있다. 축 제어기(108c)는 축 제어기(AC) 프로그램(714)와 AC 데이터(720)를 포함한다. AC 프로그램(720)의 지시하에서 축 제어기(108c)는 이송 메커니즘(예를들어, LPTD 축)(564)의 단일 축 모션(x,y,z, 또는 시타(theta))을 동작시킨다. 축 제어기(108c)는 축을 따라 소정 개수의 위치들 사이에 배치시키는 명령을 수신한다. 배치 위치는 센서 또는 기지 위치로부터의 절대값 오프셋에 의해 결정될 수 있다. AC 프로그램(714)에 의해 요구되는 정보는 AC 데이터(720)으로서 저장되며, 이는 다음을 포함한다;
홈(home)으로부터 캐시 위치까지의 마이크로스텝(microstep),
센서의 개수와 타입,
센서 문턱 전압,
전체 축 이동 거리, 및
축 제어기 네트워크 어드레스.
축 제어기는 특정 메커니즘(564)과 상호작용하는 특정 하드웨어 및 소프트웨어(714)를 포함한다.
도9E는 본 발명의 일 실시예의 ID 제어기 기능을 수행하는 컴퓨터의 블록도이다. ID 제어기(108d)는 테그 제어기(TC)(706)와 TC 데이터(572)를 포함한다. TC 프로그램(572)의 제어하에서 ID 제어기(108d)는 포드의 식별 태그로부터 포드 식별 데이터를 판독한다. 각 형태의 태그에 대하여 특정 ID 제어기 응용이 존재한다. 예를들어, Asyst RF 태그, Asyst IR 태그 또는 바코드 태그에 대한 별개 응용들이 존재할 수 있다. TC 프로그램(706)에 의해 요구되는 정보는 다음을 포함하는 TC 데이터(572)로서 저장된다:
태그 형태,
판독 롯(lot) ID(Y/N),
판독 전자적 연속 번호(ESN)(Y/N),
롯 ID 길이,
ESN 길이,
태그의 롯 ID 시작 주소, 및
ID 제어기 네트워크 어드레스.
도9F는 본 발명의 실시예의 긴급 탈출(EMO) 제어기 기능을 구현하는 컴퓨터(108e)의 블록도이다. EMO 제어기(108e)는 EMO 제어기(EMOC) 프로그램(722) 및 EMOC 데이터(582)를 포함한다. EMOC 프로그램(722)의 지시하에서 EMOC(108e)는 이송 시스템 전원과 관련된 EMO 센서(584)로부터의 경보를 모니터한다. 각 타입의 EMO 센서(584)에 대하여 특정 EMOC 프로그램(722)가 존재한다. EMOC 프로그램(722)에 의해 요구되는 정보가 다음을 포함하는 EMO 데이터(582)에 저장된다:
EMO 제어기 네트워크 어드레스,
#EMO 소스(예를들어, 화재 경보, 오퍼레이터, 푸시 버튼, 등), 및
각 EMO 소스에 전달할 메시지.
도9G는 본 발명의 실시예의 핸드쉐이크(handshake) 제어기 기능을 구현하는 컴퓨터(108f)의 블록도이다. 핸드쉐이크 제어기(108f)는 핸드쉐이크 제어기(HC) 프로그램(590)과 HC 데이터(592)를 포함한다. HC 프로그램(590)의 지시하에 HC(108f)는 이송 시스템과 로드 포트 사이에 SEMI E-23 인터페이스를 제공한다. 핸드쉐이크 제어기(108f)에는 이송 시스템이 액티브 또는 패시브 역할을 하는지 여부에 따라, 적절한 핸드쉐이크 프로토콜로 변환시키는 명령이 제공된다. HC 프로그램(590)에 의해 요구되는 정보는 다음을 포함하는 HC 데이터(592)로서 저장된다:
HC 네트워크 어드레스,
물리적 I/O 어드레스에 대한 E2 제어 라인 이름을 매핑하는 테이블.
이상의 설명은 TC, CLC 및 지능 드라이브가 개별 컴퓨터 시스테으로 구현된 특정 하드웨어 구현에 대해 집중되었다. 그러나, 본 발명은 다수의 하드웨어 구조로서 구현될 수 있다. 예를들어, CLC(106) 및 TC(104)는 단일의 파워풀한 컴퓨터 시스템으로 구현되거나 CLC 프로그램(462)이 하나씩 작은 CPU로 분배될 수 있다. 이들 구현들에 대해 공통적인 것은 제어 흐름을 설명하는 발명의 기본 논리 모델과 시스템 소프트웨어 객체들 사이의 상호작용이다. 이들 소프트웨어 객체는 하이-레벨 컴포넌트(예를들어, TC 클래스 예(380)), 중간-레벨 컴포넌트(예를들어, CLC 클래스 예(510)), 및 로우-레벨 컴포넌트(예를들어, 지능 드라이버(108))를 포함한다. 시스템 논리 모델은 도14-도16을 참조하여 설명한다.
도14는 MCS(114)에 의해 발부된 명령에 응답하여 이송 시스템 동작을 개시하고 조정하는 선택된 하이 레벨(TC) 및 중간-레벨(CLC) 소프트웨어 컴포넌느의 논리도이다. 하이-레벨 컴포넌트는 MCS 통신 인터페이스(388), 이동 디스팻쳐(dispatcher; 382), 이동 객체(381), 및 토폴로지 메니져(386)를 포함한다. 중간-레벨 컴포넌트는 LAC 제어기 쓰레드(514), 토폴로지 메니져(386), 및 포드 로케이터(locator)를 포함한다. MCS 통신 인터페이스(388)는 MCS(114)로부터 원격 명령(115)(도4)을 수신하고 재료 이동과 관련된 이들 MCS 명령(389)을 이동 디스팻쳐(382)에 중계한다.
원격 명령(115)는인트라베이(Intrabay) AMHS 이송 특정 장비 모델, Document 2878, Rev A(1998.7.31)과, 반도체 장비 및 재료 인터네셔널, 마운틴 뷰 캘리포니아에 의해 발간된 후속편에 의해 정의되며, 이는 참고자료로서 결합된다. 원격 명령(115)(도4)는 원격 명령 이름, 원격 명령 표현, 및 명열 파라미터 이름(때로 cp이름으로 불림)을 포함하는 란을 갖는 표1로 요약된다. 명령 파라미터는 표2에 설명되어 있다.
표1. MCS 명령(115)
표2. 명령 파라미터
이동 디스팻쳐(382)는 포드 로케이터(384)에 의해 제공된 정보(385)와 토폴로지 메니져(386)를 이용하여 특정 MCS 명령(383(을 수행하는데 요구되는 이송 시스템 동작을 조절하는 이동 객체(381)를 형성한다. 토폴로지 메니져(386)는 동작 루트가 MCS 특정 소스와 목적지 위치 사이에 존재한다는 것을 증명하는 이송 시스템 레이아웃 정보(387)를 갖는 이동 객체(381)를 제공한다. 포드 데이터 베이스(384a)의 각 기록은 이송 시스템 내의 각 포드(운반 장치의 CARRIERID 및 포드에 로드된 관련 이동)에 대해 포함된다.
도14에 도시된 바와 같이, 포드 로케이터(384)는 모든 엑티브 이동객체(384)와 통신할 수 있다. 도10을 참조하여 설명된 토폴로지 데이터베이스(390)로부터 유도된 정보(387)는 MCS 명령(383)에 관련된 레일의 일부에 대한 토폴로지 정보를 제공한다. 이동 객체(381)는 명령과 관련된 소스 및/또는 목적지 로드 포트와 관련된 로드 영역 제어기(LAC) 쓰레드(514)에 일련의 이동 명령(391)을 발부함으로써 MCS 명령(383)을 실행한다.
예를들어, 이동 객체(381)가 다음의 이동 명령(383)을 수행한다고 가정하자.
TRANSFER(COMMANDID = 020,RPIORITY = HIGH,
SOURCEPORT = 37,DESTPORT = 272).
이동 객체(381)는 포드가 이동되어야 하는 특정 목적지 포인트 식별기"272"와 관련된 레일 위치와 위치"37" 사이의 이송 시스템 토폴로지의 정보에 대해 포폴로지 메니져(386)에 질문한다.
이동 객체(381)가 목적지(DESTPORT=272)에 대한 적어도 하나의 동작 루트가 존재하고 재료을 얻는 명령이 위치"37"과 관련된 LAC에 발부되었는지를 검증한다. 위의 예에서, 이 이동 명령은 이를 구현하는 객체에 대한 이 명령을 유일하게 식별하는 020의 COMMANDID에 의해 할당된다. 일단 LAC가 재료이 획득되었음을 지적하면, 재료을 목적지 위치로 이동시키고(다른 LAC의 제어하에서), 다음 재료을 컨베이어 외부와 목적지 위치 상으로 이동시키는 추가 명령이 발부된다. 이러한 시나리오는 이동될 포드가 로드 영역에서 시작된다고 가정한다. 이동될 포드가 초기에 로드 영역(전력 손실에 뒤따라)에 존재하지 않는 경우에, 이동 객체(381)는 포드를 이동시킬 위치에 존재하는 다른 형태의 쓰레드(예를들어, 디렉터 제어 쓰레드 또는지역 쓰레드)와 직접 상호작용한다. 도15를 참조하여, LAC 쓰레드와 분포된 방식으로 수행될 이동 명령(391)을 가능하게 하는 다른 CLC 쓰레드 사이의 접속을 설명한다.
도15는 이동 명령(391)을 구성하는 서브 명령들을 수행하는 지능 드라이버와 중간 레벨 소프트웨어의 논리도이다. 중간 레벨 명령은 드리어버 헬스 모니터(516), LAC 쓰레드(514), LPTD 제어 쓰레드(518), 디렉터 제어 쓰레드(520) 및 지역 쓰레드(512)를 포함한다. 지능 드라이버는 지역 제어기(530), 축 제어기(526), 핸드쉐이크 제어기(524), 태그 제어기(530)를 포함한다.
각 LAC 쓰레드(514)는 LPTD 제어 쓰레드(518)의 동작과 (로드 영역을 형성하는) 다수의 지역 쓰레드(512)의 동작을 조절한다. 단일 로드 포트 이송 장치가 다중 로드 영역을 서비스할 수 있기 때문에, 각 LPTD 제어 쓰레드(518)는 다중 LAC 쓰레드(514)와 상호작용할 수 있다. 각 지역 쓰레드(512)는 하나 또는 다수의 다른 지역 쓰레드(512)에 인접 지역하고 또한 0과 2 사이에서 디렉터 제어 쓰레드(520)(지역 쓰레드의 관련 지역이 디렉터에 인접 지역하는 경우에 지역 쓰레드는 인접 지역으로서 디렉터 제어 쓰레드를 갖는다)에 인접 지역할 수 있다. 지역 쓰레드(512), 디렉터 쓰레드(520), LPTD 제어 쓰레드(518), 및 LAC 쓰레드 (514)를 포함하여, CLC 쓰레드는 통상 하나 이상의 지능 드리이버(108)를 제어한다.
이미 설명한 바와 같이, 지역 쓰레드(512)는 지역 제어기(530)을 제어하고, 디렉터 제어 쓰레드(520)는 지역 제어기(530)와 축 제어기(526)를 제어하며, LPTD제어 쓰레드(518)는 1 내지 3의 축 제어기(526)를 제어하며, LAC 제어기(514)는 신호변환 제어기(524)와 ID/태그 제어기(522)를 제어한다. 각 지능 드라이버(108)는 관련된 제어 객체(381)(도14)로 각 드라이버(108)의 헬스를 보고하는 CLC 드라이버 헬스 모니터 쓰레드(516)에 의해 모니터된다.
도14 및 도15에 도시된 각 접속은 시스템 객체들 간의 통신 경로를 나타낸다. 이들 통신 경로의 다른 도면이 도16에 도시되어 있으며, 이는 다수의 아크(arc) 접속 서클을 갖는 각 인터-객체 통신 경로와 서클을 갖는 인텔리전트 드라이버와 키 CLC 소프트웨어 컴포넌트가 도시되어 있다. TC 컴포넌트(예를들어, 도14의 이동 객체와 이송 디스패치 제어기)가 "Transport Ctlr"로 표시된 단일 서클로 집합적으로 표시되어 있다. 아크 상의 각 숫자는 하나의 통신 경로를 나타낸다. 다수의 참조번호를 갖는 아크는 각 객체 형태의 예들 간에 다중 접속이 존재한다는 것을 나타낸다. 예를들어, 인접 지역하는 7개의 지역을 가정하면, 지역 쓰레드(512)는 각 인접 지역하는 다른 지역 쓰레드(512)를 갖는 개별 통신 경로(6,25,26,27,28,29)를 갖는다.
도15를 다시 참조하면, 포드를 이동시키는 명령을 수신하면, LAC 쓰레드(514)는 포드 이동 서브-명령을 로드 영역을 구성하는 지역 쓰레드에 보냄으로써 이동 명령을 개시한다. 다음, 도9A-9H를 참조하면, 이들 지역 쓰레드는 쓰레드의 능력(capability)에 따라 요구된 동작을 구현하기 위해 인접 지역하는 이들의 지능 드라이버(108)와 다른 CLC 쓰레드(예를들어, 디렉터 제어 쓰레드(520) 및 다른 지역 쓰레드(512))에 서브-명령을 발부한다. 이송 명령(115)와 원자 동작 셋트, 또는 이동 명령(391)을 구현하기 위해 사용되는 활동과 인터-객체 통신의 특정 명령 시퀀스가 도17-도30을 참조하여 설명된다.
D. 시스템 동작 원리
도17-도30은 TC 및 CLC 소프트웨어 컴포넌트와 지능 드라이버의 동작과 통신을 나타내는 시퀀스 다이어그램이다. 시퀀스 다이어그램은 공지되어 있으며 따라서 이에 대해 간략히 설명한다. 각 시퀀스 다이어그램으 상부를 따라서 관련 명령 시퀀스에 포함된 소프트웨어 컴포넌트의 리스트가 존재한다. 다양한 소프트웨어 컴포넌트들 사이의 통신/명령이 수신기에 대한 명령을 발부하는 소프트웨어 컴포넌트로부터의 지시선으로 표시되어 있으며, 대부분의 선들은 관련 명령 또는 메시지 이름이 표시되어 있다. 명령들은 발부된 순서로 시퀀스 다이어그램의 상부에서 하부로 리스트된다. 소프트웨어 컴포넌트에 의해 수행되는 중요 동작은 컴포넌트 바로 아래에 위치하는 표시 박스로 도시되어 있다. 동작은 들어오는 명령에 응답하여 특정 컴포넌트에 의해 수행되며 특정 컴포넌트에 회신 명령를 보내는 것을 야기한다. 이송 명령(115)과 관련된 명령 시퀀스와 일부 원자 동작에 대해 설명하기 전에, 이동 명령을 개시하는 세 개의 상이한 방법에 대해 설명한다.
원자 동작은 컴퓨터 집적 제조(CIM) 시스템(제조 실행 시스템(112), 도4에 대응됨)에 의해서, 또는 CIM을 갖거나 갖지 않는 자동화 재료 핸들링 시스템(AMHS)(재료 제어 시스템(114), 도4에 대응됨)에 의해서 개시될 수 있다. AMHS 개시 명령 시나리오와 CIM 개시 명령 시나리오 간의 차이는 CIM 시스템으로부터 명령이 존재하지 않는 경우에 포드 이동을 개시하는데 이들이 사용된다는 점이다. 이러한 하부에서 비롯된(bottom-up) 능력은 다음과 같은 경우에 이용될 수 있다.
a) CIM 시스템은 다운되거나 오프 라인된다.
b) AMHS 시스템은 CIM 시스템에 접속되지 않는다.
c) CIM 시스템은 하부 메카니즘을 지원한다.
이동 초기화의 3가지 방법이 지금 기술된다.
1. CIM 시스템 이동 초기화
CIM 시스템이 이동을 시작할때, 툴과 통신하도록 CIM 책임이 있어서, 툴이 서비스를 요구할때 통지된다. 이 경우의 이벤트 흐름은 다음과 같다:
(1) MCS는 서비스를 요구하는 툴로부터 통지를 수신한다. MCS는 응답시 트랜스포트 제어기의 디스패쳐(dispatcher)에 대한 호스트 명령을 생성한다. 도시된 실시예에서 보내진 명령은 트랜스퍼(TRANSFER)(상기 테이블에서 요약됨)이어야 한다.
(2) TC 디스패쳐는 새로운 TC 이동 객체를 생성하고 상기 객체를 호스트 명령에게 보낸다.
(3) TC 이동 객체는 명령을 달성하기 위하여 CLC의 적당한 로드 영역 제어기와 통신한다. 일단 완료되면, 이동 객체는 MCS로 다시 호스트 명령 완료 메시지를 보낸다.
2. CIM 참여로 인한 AMHS 이동 시작
이 시나리오에서, MCS(112)는 툴에 의해 시작된 이동에 참여한다. 이런 이벤트의 흐름은 다음과 같다:
(1) LAC는 E23 인터페이스를 통하여 로드 포트로부터 언로드 요구를 수신하고, 트랜스포트 제어기 이동 디스패쳐에 이동_요구(MOVEMENT_REQUEST)를 보낸다.
(2) 이동 디스패쳐는 MCS에 이동 요구를 보낸다.
(3) MCS는 목적지를 포함하는 트랜스포트 제어기 디스패쳐에 대한 호스트 명령을 다시 생성함으로써 응답한다.
(4) 디스패쳐는 새로운 이동 객체를 생성하고 특정 트랜스퍼 명령을 수행하도록 명령한다.
(5) 새롭게 생성된 이동 객체는 이동을 달성하기 위하여 CLC의 소스 및 목적지 로드 영역 제어기에 일련의 명령을 보낸다.
(6) 일단 상기 동작이 완료되면, 이동은 MCS에 다시 완료된 호스트 명령을 보낸다.
3. CIM 참여없이 AMHS 이동 시작
이 시나리오에서, MCS는 이동에 참여하지 않는다. 이런 이벤트의 흐름은 다음과 같다:
(1) LAC는 로드 포트 비아 E23으로부터 언로드 요구를 수신하고, 트랜스포트 제어기 이동 디스패쳐에 이동_요구를 보낸다.
(2) 이동 디스패쳐는 새로운 이동 객체를 생성하고 트랜스퍼 동작을 수행하도록 명령한다. 이런 디스패쳐는 디폴트 목적지 테이블을 참고함으로써 목적지를 얻는다. 테이블은 각각의 소스에 대한 디폴트 목적지를 포함한다.
(3) 새롭게 생성된 이동 객체는 이동을 달성하기 위하여 CLC의 소스 및 목적지 로드 영역 제어기에게 일련의 명령을 보낸다.
TC(104)가 사용자 인터페이스(UI)를 가지는 경우 4가지 이동 시작 방법이 있고, 상기 사용자 인터페이스로부터 오퍼레이터는 소스 및 목적지를 식별하고 TC(104)에게 재료가 소스에서의 목적지이든지 관계없이 이동하는 것을 말한다.
4. 시스템 동작
기술된 4개의 이동 시작에서, 트랜스퍼 및 아토믹(atomic) 동작과 연관된 에시적인 명령 시퀀스가 기술된다. 이들 기술은 이들 명령 시퀀스를 운반하는 시스템 엘리먼트 사이에서 전달되는 여러 메시지, 명령 및 이벤트를 참조할 것이다. 대부분의 경우, 이들 메시지, 명령 및 이벤트는 깊이있게 기술되지는 않는다. 적어도 몇몇의 이들 명령 및 이벤트의 상세한 정보는 각각 외부 이벤트(즉, CIM 및 트랜스포트 제어기 TC 사이에 기록된 이벤트), 인트라-CLC 이벤트(즉, 하나의 CLC 객체에 의해 다른 CLC 객체에 기록된 이벤트) 및 CAN 버스 메시지(즉, CLC 객체 또는 지능적인 드라이버에/의해 지능적인 드라이버에/의해 내려진 메시지)를 기술하는 첨부글(A, B 및 C)에 제공된다. 시스템 동작은 다음 순서로 기술된다.
a. 트랜스퍼 재료;
b. 포착 재료;
c. 이동 재료;
d. 배치 재료.
a. 트랜스퍼 동작
일실시예에서 CIM 시스템(110)(도 4)은 재료를 포인트 투 포인트 방식으로 이동시키는 트랜스퍼 동작을 단일 CIM 시스템 명령(115)(트랜스퍼)을 통해 시작한다. 트랜스포트 제어기(104)(도 4)는 각각의 포착, 이동 및 배치 동작에 트랜스퍼 명령 다운을 차단하고 이들 명령 각각을 순차적으로 실행한다. 이 실시예는 재료 이동 동작에 대한 책임을 트랜스포트 제어기로 이동시킴으로써 비교적 간단한 CIM 시스템 소프트웨어를 유지한다.
다른 실시예에서, CIM 시스템(110)은 명령을 실행하는 TC(104)에 포착, 이동 및 배치 같은 다수의 아토믹 명령을 내림으로써 직접적인 포인트 투 포인트 방식 재료 이동을 수행할 수 있다. 이 실시예는 각각의 오터믹 명령의 실행을 감독하도록 CIM 시스템(110)을 요구하고 대응하여 TC(104)의 동작을 간략화시킨다.
도 17을 참조하여, TC가 트랜스퍼 호스트 명령(700a)을 실행할 때 CIM 시스템(110) 및 TC(104) 사이에서 교환되는 명령의 시퀀스 다이어그램이 도시된다. 트랜스퍼 명령을 시작한후 TC는 "시작된 호스트 명령" 메시지(700b)를 리턴한다. TC가 트랜스퍼를 수행하기 위하여 필요한 아토믹 명령을 시퀀싱할 때, 상기 TC는 트랜스퍼 명령을 구성하는 아토믹 동작의 진행을 가리키는 상태 명령을 리턴한다. 트랜스퍼 동작이 완료될 때, TC는 "완료된 호스트 명령" 메시지(700c)를 리턴한다. 도 17에 도시된 다양한 아토믹 동작 및 상태 명령은 하기에 기술된다.
b. 포착 아토믹 동작
포착 동작은 트랜스포트 시스템이 로드 포트 또는 오버헤드 호이스트 트랜스포트(OHT) 시스템으로부터 재료를 포착하도록 한다. 트랜스포트 제어기로부터, 이들 시나리오의 포착 동작은 동일하다. 그러나, CLC는 소스 시스템의 다른 인터페이스 요구에 따라 각각 다르게 시나리오를 처리한다.
제 1 시나리오에서 트랜스포트 시스템은 로드 포트 트랜스퍼 장치를 사용하여 툴 또는 스토커(stocker)의 로드 포트로부터 재료를 포착한다. 이 경우, 수동적인 로드 포트는 언로딩될 요구를 간단히 신호한다. 응답하여, 능동적인 LPTD는 CLC의 제어하에서 재료 트랜스퍼를 수행한다. 제 2 시나리오에서 트랜스포트 시스템은 재료를 포드 리프터에 배치하는 오버헤드 호이스트 트랜스포트(OHT) 시스템으로부터 재료를 포착한다. 이 경우, 포드 리프터는 로딩될 요구를 신호하는 수동적인 장치이고 OHT는 트랜스퍼를 이루는 능동적인 장치이다.
도 17은 포착 동작의 명령 시퀀스의 하이레벨을 도시한다. 이미 언급된 바와같이, 이 시퀀스는 재료가 포착되더라도(즉, OHT 또는 LPTD로부터) 동일하다. 이런 시퀀스는 다음과 같은 단계를 포함한다.
(1) TC는 포착 동작을 시작한다.
(2) TC는 포착_재료(ACQUIRE_MATERIAL) 명령(702a)을 CLC LAC 쓰레드에게 내린다.
(3) TC는 동작 상태("포착)를 나타내는 이벤트 기록 전달 메시지(702b)를 리턴한다.
(4) CLC LAC는 로드 포트로부터 레일(704a)로 재료를 이동시킴으로써 포착_재료 명령을 수행하고 TC에게 재료_포착(MATERIAL_ACQUIRED) 메시지(702c)를 리턴한다.
(5) TC는 재료가 "포착되었다"는 것을 가리키는 이벤트 기록 전달 메시지(702d, 702e)를 리턴한다.
도 18은 LPTD를 사용하여 수행된 포착 동작의 명령 시퀀스를 CLC의 관점으로부터 도시한다. 다른 명령 시퀀스는 OHT(오버헤드 호이스트 트랜스포트)를 위하여 요구되지만, 이런 시퀀스는 여기에 기술되지 않은 기술과 유사하다. 이런 명령 시퀀스는 포드가 포착될 LPTD가 두 개의 로드 지역(로드 지역 1 및 2)를 가진 로드 영역을 구비하는 것을 가정한다. 재료가 이동할 방향을 CLC가 알지 못하는 것을 로드 포트로부터 재료가 포착되는 시간에서, 두 개의 로드 지역이 앞쪽 또는 뒤쪽인지 알려지지 않는다는 것이 주의된다. 이 시퀀스는 다음 단계를 포함한다.
(1) CLC LAC는 포착_재료 명령(702a)을 TC로부터 수신한다(도 17 참조).
(2) LAC는 언로드 요구 메시지(LP_UNLOAD_REQ)(714a)를 핸드쉐이크 제어기로부터 수신하고, 상기 제어기는 스토커 또는 툴이 LPTD에 의해 언로드되도록 준비시키고-이 메시지는 로드 포트가 언로드될 요구를 신호하는 상기에서 참조된 수동 메시지이다.
(3) LAC는 포착 동작(714b)(즉, 임의의 인입 재료가 지역 앞에서 정지하는 것을 보장함)에 대한 지역을 비축하기 위하여 지역(1)과 관련된 지역 쓰레드에게 비축_지역(RESERVE_ZONE)을 보낸다.
(4) 지역 1과 관련된 지역 쓰레드는 지역 1이 비축된 지역_비축 메시지로 확인한다(714c).
(5) LAC는 포착 동작을 위해 지역을 비축하기 위하여 지역 2와 연관된 지역쓰레드에게 비축_지역 메시지를 보낸다(714d).
(6) 지역 2와 연관된 지역 쓰레드는 지역 1이 비축된 지역_비축 메시지로 확인한다(714e).
(7) LAC는 포착 동작에 대한 LPTD를 비축하기 위하여 LPTD 제어기에게 비축_LPTD 메시지를 보낸다(714f)(다른 LAC가 LPTD를 사용하는 것을 시도하지 못하도록 보장하기 위해).
(8) LPTD 제어기는 LPTD가 비축되었다는 것을 LPTD_비축 메시지로 확인한다(714g).
(9) 지역 1 쓰레드는 인접 지역이 비어있거나 가장 가까운 포드가 정지될때까지(716a) 기다리고 지역 1이 포착 동작(714h)에 사용되는 것을 가리키는 "지역은 안전하다의 통지(ZONE_IS_SAFE_NOTIFICATION)"를 리턴한다(714h).
(10) 지역 2 쓰레드는 인접 지역이 비어있거나 가장 가까운 포드가 정지될때까지 기다리고(716b) 그다음 지역 1이 포착 동작에 이용되는 것을 가리키는 지역이 안전하다의 통지를 리턴한다(714k).
(11) 일단 지역 및 LPTD가 안정하다는 것이 증명되면, LAC 제어기는 만약 관련된 로드 포트가 준비되면 장치는 준비됨(DEVICE_IS_READY) 메시지를 리턴하는 핸드쉐이크 제어기에게 시작_핸드쉐이크 메시지(714j)를 내린다(714k).
(12) 그 다음 LAC 제어기는 로드 포트(LP)에 인터페이스상 비지(BUSY) 비트를 설정하고 LP가 응답할 때 비지_세트(BUSY_SET) 이미지를 보내는 핸드쉐이크 제어기에 세트_비지 메시지(714I)를 보낸다(714m).
(13) LAC 제어기는 LPTD 제어기에게 로드 포트로부터 재료를 포착하고 그것을 레일에 배치하는 포착_재료 메시지(714n)를 내리고(716c), 재료_포착 메시지(714o)를 LAC 쓰레드에게 리턴한다.
(14) LAC 쓰레드 및 핸드쉐이크 제어기는 로드 포트와 상호작용을 종료하도록 완료_핸드쉐이크 및 핸드쉐이크_완료 메시지를 교환하고(714q, 714r) LAC 쓰레드는 재료_포착을 TC(702c)에게 리턴한다(도 17)
도 19는 특정 형태의 LPTD를 사용하여 수행된 포착 동작의 명령 시퀀스를 LPTD 제어기의 관점으로부터 도시한다. 다른 명령 시퀀스는 다른 LPTD를 위해 요구되지만, 이들 시퀀스는 현재 기술과 유사하고 여기에 기술되지 않는다. 도시된 시퀀스는 LPTD 제어기가 독립적인 X, Y 및 Z 축(574x, 574y, 574z)를 포함하는 것을 가정한다. X 축은 트랙의 방향이고, Y 축은 트랙과 동일 평면상에서 수직이고 Z 축은 트랙의 평면과 수직이다.
이 시퀀스는 다음 단계를 포함한다.
(1) 비축_LPTD 명령(714f)를 수신한후(714f) LPTD 제어기는 다른 LAC를 통하여 다른 로드포트를 서비스하지 않는 것을 확인하고 비축 요구에 대해 응답한다(720a).
(2) LPTD 제어기는 LPTD_비축 메시지를 리턴하고(714g) LAC로부터 포착_재료 메시지를 기다린다(714n).
(3) 포착_재료를 수신한후 LPTD 제어기는 각각의 축 제어기가 특정 위치로 그 각각의 축을 따라 포드를 이동시키게 하도록 X, Y 및 Z 축 제어기에게 일련의이동_투(MOVE_TO)(위치) 메시지(714c)를 내린다.
(4) X 및 Y 축 제어기는 이동을 실행함으로써 이동_투 명령(714c)에 대해 응답하고 포드의 사전 이동 위치를 가리키는 이동_투 메시지(714d)를 리턴한다.
(5) Z 축 제어기는 재료 픽업 위치로 이동함으로써 이동_투 명령(714c)에 응답한다. 재료가 픽업된 것을 검출한 후, 축 제어기(AC)는 포드 검출 센서를 위해 센서_상태_변화(SENSOR_STATUS_CHANGE) 메시지를 보내고 포드의 사전 이동 위치를 가리키는 이동_투 메시지(714d)를 리턴한다.
(6) 일단 포드가 픽업되었다는 것이 확인되면, LPTD는 포드가 트랙상에 배치되도록 축 제어기에게 부가적인 명령을 보낸다. 포드가 LPTD에 의해 더 이상 홀딩되지 않을 때 재료 검출 센서는 상태를 변화하여, 센서_상태_변화를 유발한다. 일단 모든 동작이 완료되면 LPTD는 "재료_포착"을 보낸다(714o).
c. 이동 아토믹 동작
이동 아토믹 동작은 소스 로드 포인트에서 목적지의 사전 로드 지역으로 포드를 이동시킨다. 이동 아토믹 동작과 관련된 명령 시퀀스는 TC, CLC 및 지역 쓰레드(양쪽 장치에 대한 가속 및 감속)의 각각을 분석하여 도 17 및 20-22B에 도시된다.
도 17은 이동 동작의 명령 시퀀스의 하이 레벨을 도시한다.
이 시퀀스는 다음 단계를 포함한다.
(1) TC는 재료 소스와 연관된 LAC 쓰레드에게 이동_재료 명령을 내린다(706a).
(2) TC는 재료가 이동중인 것을 가리키는 이벤트리포트보냄 메시지를 리턴한다(706b).
(3) 재료 소스와 연관된 LAC 쓰레드는 이동이 진행중일 때 이동_상태_갱신 메시지(706c)를 보낸다.
(4) TC는 재료가 이동된 것을 가리키는 이벤트기록보냄 메시지(706e)를 리턴한다.
도 20은 이동 동작의 명령 시퀀스를 CLC 서브시스템의 관점에서 도시한다. 이 시퀀스는 다음 단계를 포함한다.
(1) 이동_재료 명령(706a)을 수신한후 소스 로드는 아래쪽 로드 지역 쓰레드에게 보냄_재료 명령(722)을 내린다.
(2) 아래쪽 로드 지역은 종속된 위쪽 로드 지역을 가지는 크립(creep) 프로파일을 진행하도록 준비한다(크립 프로파일은 아래쪽 로드 지역내에서 운송수단을 이동시킨다)-이것은 지역_태스킹_애크(ZONE_TASKING_ACK) 메시지(722d)를 동시작동시키고 리턴하는 지역_태스킹 명령(722c)를 보내는 아래쪽 로드를 포함한다.
(3) 일단 양쪽 지역이 준비되면, 아래쪽 지역은 양쪽 지역이 이동을 시작하도록 실행 명령(722e)을 보낸다.
(4) 일단 포드가 위쪽 로드 지역을 떠나면, 지역은 인접 지역에게 CARRIER_EXITED 명령(722f)을 보내고 지역_이용 메시지(722K)를 LAC에게 보낸다.
(5) 소스 로드 영역 제어기는 현재 이동 상태를 가리키기 위하여 이동을 관리하는 이동 객체에게 이동_상태_갱신 메시지(706c)를 리턴한다.
(6) 이동이 시작된후, 소스 로드 및 목적지 로드 영역 사이의 지역 및 지향와 연관된 지역 쓰레드 및 지향기 제어 쓰레드는 이동 객체로부터 작은 간섭을 이용하여 재료 이동 동작을 조정한다.
(7) 포드가 목적지에 도달할 때, 목적지에서 사전 로드 지역은 재료_도착 메시지(722j)를 목적지 LAC에게 리턴하고, 이동_완료 메시지(706d)를 리턴하고, 도 17을 참조하여 기술된 것처럼 처리된다.
TC 및 CLC 서브 시스템의 하이 레벨 동작은 도 17 및 도 20을 참조하여 기술되었다. 도 21A, 21B, 21C 및 도 22A, 22B는 인접 지역의 지역 제어기가 특정 이동 동작을 수용하도록 포드를 가속 및 감속시키기 위하여 상호작용하는 방법을 도시한다.
도 21A, 21B 및 21C를 참조하여, 지역 쓰레드(ZT)(도면의 좌측) 및 각각의지역 제어기(ZC)(우측) 사이 및 포드가 다중 지역을 가로질러 좌측으로 가속되는 동일한 인접 지역의 지역 쓰레드중에서 상호작용을 설정하는 명령 시퀀스가 도시된다. 특히, 좌측 가속은 지역 제어기(ZC1) 및 지역 쓰레드(ZT1)에 의해 제어되는 지역(Z1)으로부터 지역 제어기(ZC4) 및 지역 쓰레드(ZT4)에 의해 제어된 지역(Z4)으로 발생한다. 도시된 이동 동작에 의해 이루어진 인접 지역은 6개의 지역(Z1 내지 Z6)을 포함한다. 이미 기술된 바와같이, 각각의 지역은 지역안에 있을 때 포드를 가속하는 두 개의 센서(S1 및 S2)를 가지며, 모든 것은 지역 제어기(ZC)에 의해 제어된다. 이동 동작의 몇몇 단계는 도면의 상부에서 하부로 시간 순서로 도시된다. 포드의 현재 위치는 사각형(P1)에 의해 도시된다. 이런 명령 시퀀스는 몇몇기본적인 로우 레벨 제어 명령을 반복적으로 사용한다
설정_프로파일 프로파일(이벤트중, <seq#>) 730
상기 프로파일은 지역 제어기(ZCi)에 의해 이루어질 가속 또는 감속 프로파일을 설정하기 위하여 지역 쓰레드(ZTi)에 의해 관련 지역 제어기(ZCi)에 내려진다. 도시된 실시예에서 프로파일은 고정된 속도 시퀀스로서 정의된다. 예를들어, 도시된 실시예에서 프로파일은 범위 "0-1"로서 설정된다(포드는 속도 영에서 속도 1로 가속하는 것을 나타내고, 여기서 속도 번호는 대응하는 모터 속도로서 지역 제어기에 의해 해석된다). 다른 실시예에서, 지역 쓰레드(ZT)는 각각의 지역에서 포드를 가속 또는 감속하는 임의의 방식으로 지역 제어기(ZC)에게 명령한다(예를들어, 지역 쓰레드 ZT는 실제 타켓 모터 속도 값을 보낼 수 있다). 주어진 프로파일은 하나 이상의 다중 쓰레드를 통해 실행될 수 있다.
설정_프로파일 명령(괄호로 표시됨)의 선택적인 부분은 "온 이벤트" 조건이고, 이것은 지역 쓰레드가 몇몇 미래 이벤트를 가리키고 그 발생중에 프로파일이 실행된다. 도시된 실시에에서 미래 이벤트는 시퀀스 번호<seq#>에 의해 식별된다. "온 이벤트" 조건은 다중 명령이 미래 실행을 위하여 셋업되도록 하여 각각의 명령이 적당한 실행 시간에서 보내지도록 매우 짧은 시간 간격내에서 다른 지역 제어기(ZC)에 의해 연속적으로 실행될 수 있다. 예를들어, 도시된 실시예에서 이벤트는 <seq#>에 의해 식별된 서브 명령이 실행될 때 프로파일이 실행되는 것을 가리키는 "온 실행<seq#>"이다. seq# 및 프로파일은 지역 쓰레드 ZT1에 의해 생성된다. 동일한 시퀀스 번호를 가지는 실행 명령은 모든 장치에 동시에 방송된다. 이런 시퀀스 번호를 가지는 이들 장치는 동시에 실행을 시작한다.
애크 732
상기 애크는 대응 프로파일 명령(ZTi)을 알리기 위하여 지역 제어기(ZCi)에 의해 내려진다.
지역_태스킹 프로파일:<seq#>736
상기 프로파일은 지역 쓰레드(ZTi)에 의해 선행 설정_프로파일 명령에서 지정된 이동 프로파일과 동시에 쓰레드를 배치시키기 위하여 인접 지역하는 지역 쓰레드(ZTj)에 내려진다(즉, 프로파일을 부드럽게 그리고 협동하여 실행한다). 도시된 실시에에서 프로파일은 인덱스로서 정의되지만, 상기 프로파일은 많은 다른 방식으로 지정될 수 있다. 이 명령은 동일 시퀀스 번호를 가지는 한세트의 명령과 상기 명령을 연관시키는 시퀀스 번호<seq#>를 포함할 수 있다.
지역_태스킹_애크 736
상기 애크는 지역 제어기(ZTj)에 의해 대응하는 프로파일 명령(ZTi)를 알리기 위하여 내려진다.
실행<seq#>738
상기 실행은 지역 쓰레드(ZTi)에 의해 시퀀스 식별기 seq#와 연관된 프로파일의 실행을 동시에 시작하기 위하여 다중 지역 제어기(ZCj)에 내려진다.
실행 명령상 및 실행 명령 우측의 "?"가 표시된 우측 화살표는 메시지가 방송을 통해 다수의 수신자에게 전달되는 것을 가리킨다.
센서_상태 우측/좌측 740
상기 상태는 우측 또는 좌측 센서의 상태를 기록하기 위하여 지역 제어기에 의해 내려진다. 상기 상태는 포드가 깨끗한지 또는 우측 또는 좌측 센서와 부합하는지를 가리킨다. 도시된 실시예에서 센서 변화는 명령의 우측에 작고 아래로 향한 화살표에 의해 지시된다. 예를들어, 지역 제어기(ZC1)로부터의 메시지(624-1)는 포드가 지역(Z1)의 우측 센서(S2)로부터 떨어져 이동되는 것을 가리키고, 지역 제어기(ZC2)로부터의 메시지(624-2)는 포드가 지역(Z2)의 우측 센서(S2)와 교차되는 것을 가리키고, 지역 제어기(ZC1)으로부터 메시지(624-3)는 포드가 지역(Z1)의 좌측 센서(S1)으로부터 떨어져 이동되는 것을 가리킨다.
모터_오프 742
상기 오프는 제어기가 모터를 JS 오프하도록 하기 위하여 지역 쓰레드(ZTi)에 의해 제어기(ZCi)에 내려진다. 지역 쓰레드(ZTi)는 포드가 좌측 센서(S1)의 좌측으로 통과되는 것을 지역 제어기(ZCi)로부터의 센서_상태:좌측 메시지가 가리킬 때 좌측 이동에 대한 명령을 내리고 포드가 우측 센서(S2)의 우측으로 통과되는 것을 지역 제어기(ZCi)로부터의 센서_상태:우측 메시지가 가리킬 때 우측 이동에 대한 명령을 내린다.
CARRIER_EXITING 744
상기 출구는 지역 쓰레드(ZTi)에 의해 포드가 각각의 지역(Zi)을 나가는 것을 가리키기 위하여 인접 지역하는 지역 쓰레드에게 내려진다.
CARRIER_EXITED 746
상기 출구는 지역 쓰레드(ZTi)에 의해 포드가 각각의 지역을 벗어난 것을 가리키기 위하여 인접 지역하는 지역 쓰레드에게 내려진다.
따라서, 도 21A, 21B 및 21C를 참조하여, 지역 쓰레드(ZT1)의 제 1 액션은 지역 제어기(ZC1)(612-1)에 의해 알려진 가속 프로파일 "0-1"(610-1)을 설정하는 것이다. 이런 가속 프로파일은 두 개의 지역(Z1-Z2)(즉, 포드가 지역 Z1-Z2의 공간에서 타켓 속도로 가속됨)을 통해 실행된다. 따라서, 지역 쓰레드(ZT1)는 상기 가속 프로파일을 프로파일 "0-1"(614-1)에 대한 태스킹 명령에 보냄으로써 지역 쓰레드(ZT2)를 동시작동시킨다. 지역 쓰레드(ZT2)는 설정_프로파일 명령을 내림으로써 애크(732-2)에 응답하는 각각의 지역 제어기(ZC2)(730-2)에 응답한다. 지역 쓰레드(ZT1)는 명령(730-1, 730-2)에서 이미 설정된 프로파일이 지역 제어기에 의해 협력하여 실행되도록 지역 제어기(ZC1, ZC2)에게 실행 명령(738-1)을 보낸다. 명령이 실행될 때 지역 제어기는 포드의 진행을 가리키기 위하여 센서_상태 메시지(740)를 리턴한다.
포드가 타켓 속도로 가속된후, 아래쪽 지역 쓰레드에 의해 설정된 추후 프로파일은 고정된 속도(예를들어 설정_프로파일 "2-2" 730-3)로 포드를 유지한다. 지역 쓰레드(ZTi)는 CARRIER_EXITING 및 CARRIER_EXITED 메시지(744, 746)를 사용하여 이동중의 인접 지역하는 지역 쓰레드(ZTj)에게 알린다. 지역 쓰레드(ZTi)는 포드가 대응하는 지역(Zi)을 떠날 때 각각의 제어기(ZCi)에 모터_오프 메시지(742)를 보낸다(CARRIER_EXITED 메시지 746으로 표시됨).
도 22A 및 22B를 참조하여, 지역 쓰레드(ZT)(도면의 좌측) 및 그 각각의 지역 제어기(ZC)(우측) 사이 및 포드가 목적지에 도달할때(이 실시에에서, 지역 Z4)다수의 지역(Z1-Z4)를 가로질러 감속되는(예를들어, 속도 2로부터 0으로) 동일한 인접 지역의 지역 쓰레드중에서 상호작용을 설정하는 명령 시퀀스가 도시된다. 쓰레드(ZT1)는 포드가 지역(Z4)에 도달하는 시간까지 속도 0으로 감속되는 것을 가리키는 속도 테이블(670)(도 13)의 정보를 바탕으로 감속이 시작된다. 이런 감속든 상기된 동일한 기본적인 명령을 사용하여 행해진다. 도 22A 및 22B는 지역(Z1)에서 속도 2로 우측에서 좌측으로 이동하는 포드가 지역(Z4)에서 속도 0으로 감속되는 명령 시퀀스를 도시한다. 이런 감속은 지역 쓰레드(ZT2, ZT3, ZT4) 및 각각의 지역 제어기(ZC2, ZC3, ZC4)에 의해 협력되어 수행된다. 도 22A 및 22B는 도 21A, 21B 및 21C의 측면에서 과도한 기술이므로 추가로 기술되지 않는다.
d. 배치 아토믹 동작
배치 동작은 목적지의 프리 로드 지역상에 있는 포드가 로드 포인트로 이동되도록 하고 나서 로드 포트 또는 OHT로 이동되게 한다. 배치 동작의 하이 레벨 측면이 도 17을 참조하여 기술된다.
도 17은 재료가 로드 포트로 전달되는 배치 동작의 명령 시퀀스를 하이레벨 측면에서 도시한다. 트랜스퍼에 대해 책임있는 이동 객체는 딜리버_재료(DELIVER_MATERIAL) 메시지(708a)를 LAC로 전달하고 재료의 상태가 "배치"인 것을 가리키는 이벤트기록 보냄 메시지(708b)를 리턴한다. 응답시, LAC 쓰레드는 트랜스퍼하는 특정 LPTD에 특정한 일련의 명령을 사용하여 레일로부터 로드 포트(710a)로 재료의 이동을 조절한다.
딜리버 동작이 완료될 때 LAC 제어기 쓰레드는 TC에 재료_딜리버메시지(708c)를 리턴한다. 추후에, TC는 CIM 시스템에게 배치 동작이 완료되고(708d), 캐리어(즉, 포드)가 트랙(708e)로부터 제거된 것을 가리키는 메시지를 리턴한다.
팔로 알토 테크놀로지 프러덕트인 패스트로드 LPTD를 사용하여 재료를 배치시키기 위하여 사용되는 일실시예의 명령은 도 23A, 23B 및 24A, 24B에 도시된다.
도 23A 및 23B는 CLC의 측면에서 진행을 도시한다. 도 24A, 24B는 상기 도면을 LPTD 제어 쓰레드 측면에서 제한한다. 지역을 비축하는 것은 다른 이동 포드(다른 방향으로부터) 지역으로 진입하지 않는 것을 보장한다. 비축은 비축_지역_요구를 보냄으로써 달성된다. 지역은 지역_비축됨으로 응답한다. 일단 임의의 인입 포드가 그 앞에서 정지될 것이 결정되면, 지역은 안전하다라는 통지가 보내진다. 이때, LAC는 존재의 독자적인 제어 및 액세스를 가지는 것을 안다. 포착 동작과 동일한 방식으로, 도 18-19를 참조하여, 로드 영역 지역을 비축후 LAC는 LPTD를 비축한다. 일단 LPTD가 비축되면 LAC는 프리로드 및 앞쪽과 뒤쪽 로드 지역에 의해 이루어진 일련의 이동을 사용하여 LPTD에 의해 포착될 위치로 포드를 이동시킨다. 일단 포드가 배치되면 LAC는 로드 포트와 E23 핸드쉐이크을 시작한다. 일단 로드 포트가 수신할 준비를 가리키면, LAC는 딜리버_재료 명령을 LPTD 제어기에게 내리고, LPTD 제어기가 포드를 트랙 및 목적지 툴 또는 OHT(724)에 이동하도록 한다. LPTD는 딜리버를 달성하는 축 제어기에게 일련의 이동 명령을 내린다. LPTD 제어기는 LPTD가 딜리버리를 완료후 재료_딜리버리 명령을 LAC에게 리턴한다. 응답시 LAC는 툴 또는 OHT가 핸드쉐이크을 완료하도록 하는 완료_핸드쉐이크 메시지를 핸드쉐이크 제어기에게 내린다. 일단 배치 동작이 완료되면, LAC 제어기는 LPTD 및 로드 영역 지역을 비운다. 패스트로드 LPTD제어기의 측면에서 배치 동작의 부가적인 설명은 도 24A, 24B를 참조하여 기술된다.
도 24A 및 24B를 참조하여, LPTD 제어 쓰레드는 딜리버 동작(724)을 완료하기 위하여 다음 동작을 수행한다. 이 기술에서, LPTD는 도 19(포착 동작)을 참조하여 기술된 바와같이 동작하는 X, Y 및 Z 축 제어기(574x, 574y, 574z)를 포함한다.
선택적으로 태그 판독 포인트로 이동한다(만약 판독 포인트가 레일이면, 이동은 요구되지 않는다).
선택적으로 식별 데이터를 판독한다(만약 ID 판독기 존재하면).
선택적으로 트랜스포트 제어기로 식별을 증명한다(만약 ID 판독기가 존재하면).
포드를 포착하기 위해 로드 포트 위치로 이동시키기 위하여 X 축 제어기(574x)로 지향시키는 이동_투<1p 위치> 명령 750-1을 내림으로써 로드 포트를 이동시킨다 - X 축 제어기는 이동_투 메시지(752-1) 완료에 응답한다.
레일로부터 포드를 포착하기 위하여 Z 축 제어기(574z)로 지향시키는 이동_투<포드 포착 위치> 명령 750-2를 내림으로써 운송수단/레일로부터 재료를 포착한다 - Z 축 제어기는 포드를 포착하는 것을 가리키는 센서_상태_변화 메시지(754-1)를 내림으로써 응답하고, 포착의 완료후 이동됨_투 메시지(752-2)를 내린다.
(1) 로딩될 툴의 로드 높이에 해당하는 풀업 위치로 이동시키기 위하여 Z 축제어기(574z)로 지향시키는 이동_투(풀업) 명령(750-3)을 내림으로써 재료를 배치시킨다 - Z 축 제어기는 이동됨_투 메시지(752-3)으로 완료후 응답한다; (2) 툴쪽으로 포드를 로딩하기 위하여 확장된 위치로 이동시키도록 Y 축 제어기(574y)로 지향시키는 이동_투(확장 위치) 명령(750-4)를 내린다 - Y 축 제어기는 이동됨_투 메시지(752-4)로 완료후 응답한다; (3) 재료를 배치시키기 위하여 Z 축 제어기(574z)를 지향시키는 이동_투(1p 배치 위치) 명령(750-5)를 내린다 - Z 축 제어기는 센서_상태_변화로 응답한다; 포드는 재료가 배치된 것을 가리키는 메시지(754-2) 및 이동됨_투 메시지(752-5)를 검출하지 않는다.
이동됨_투 메시지(752-6, 752-7)과 각각 응답하는 Y 및 Z 축 제어기(574y, 574z)에게 각각 이동_투(완전히 수축됨) 및 이동_투(완전한 아래 위치) 메시지를 내림으로써 완전히 수축되고 완전히 아래 위치로 LPTD를 리셋한다 ; 및 재료_딜리버됨 메시지(708b)를 사용하여 이동 완료의 다른 시스템을 통지한다.
도 24A, 24B에 도시된 단계는 ID 판독기가 없다는 것을 가정한다.
5. 트랙 도착 시나리오
지금까지, 논의는 포드가 목적지(예를들어, LPTD)에 이동되는 경우의 시나리오에 대해 논의되었다. 포드가 임의의 트랙 위치에서 기다릴 필요가 있는 것같은 다른 상황에서, 이동 명령의 종점은 로드 영역 대신 트랙지역일 수 있다. 이 시나리오는 트랙 도착 시나리오라 불린다.
이 시나리오에서, TC는 타켓 트랙 지역으로 포드를 이동시킨다. 일단 타켓 트랜 지역에서 포드가 트랙으로부터 제거되지 않으면, 여전히 다른 이동 명령이 포드에 대해 내려질때까지 가만히 있는다. 일반적으로, TC는 목적지의 로드 영역과 연관된 LAC를 통한 전달 동작을 실행한다. 그러나, 이 시나리오에서, 포드를 목적지로 이동시키기 위한 의도가 없다. 결과적으로, 트랙 지역이 로드 영역에 있을때조차, TC는 연관된 LAC 쓰레드 대신 타켓 트랙 지역의 지역 쓰레드와 직접적으로 상호작용한다. 트랙 도착 시나리오와 연관된 명령 시퀀스는 도 25를 참조하여 기술된다.
도 25는 트랙 도착 시나리오와 연관된 명령 시퀀스를 도시한다. 이 시나리오에서 지역의 지역 쓰레드는 이동 종점을 느리게 하고 지역에서 포드(752a)를 정지시킨다. 동일한 지역 쓰레드는 CARRIER_정지 메시지(750a)를 인접 지역하는 지역 쓰레드에게 내리고 재료_도착 메시지를 TC(750b)에게 내린다.
다양한 실시에에 의해 실행될 수 있는 몇몇 아토믹 동작과 연관된 명령 시퀀스를 기술하고, 부가적인 설명은 목표된 방향으로 하나 이상의 운송수단을 이동시키기 위하여 지역 쓰레드가 협력하는 방법이 제공된다. 이동 동작과 협력하도록 지역 쓰레드를 돕는 중요 인자는 각각의 지역에 센서에 의해 제공되는 센서 신호이다. 이들 센서 신호는 현재 도 26을 참조하여 기술된다.
도 26은 지역(Z2) 제어 쓰레드(도시되지 않음, ZT2)의 측면에서 3개의 지역(Z1-Z3)과 연관된 6개의 센서(S1-S6)에 의해 생성된 신호를 도시하는 흐름도이다. 지역(Z3)으로부터 지역(Z1)으로 이동하는 300mm 웨이퍼의 포드에 대한 도시된 신호는 센서에 의해 생성된다(200mm 웨이퍼의 포드에 대한 타이밍과 다르다), 얇은 점선으로 도시된 신호는 ZT2 이동 제어 방법에 적당하지 않다. 두꺼운 선으로도시된 신호는 직접적으로 또는 EXITED 및 EXITING(CARRIER_EXITED, CARRIER_EXITING을 의미함) 메시지를 통해 쓰레드(ZT2)에 유용하다. 일반적으로, 임의의 쓰레드에 이용할 수 있는 신호는 자체 센서 및 인접한 지역의 EXIT 센서에 관한 신호이다. 따라서, 지역(Z2)의 경우, 쓰레드(ZT2)에 의해 필요한 정보는 센서(Z5)(EXITING 메시지), 자체 센서(Z4 및 Z3), 및 센서(S1)(EXITING 메시지를 통해)로부터 신호를 포함한다. 일실시예에서, 도시된 각각의 센서 신호는 포드가 상기 센서를 통과할 때 나타난다. 따라서, 좌측 센서 신호의 상승 에지는 수신 지역 쓰레드(ZTi)에게 포드가 관련 지역을 빠져나가기 시작했다는 것을 알리고 떨어지는 에지는 포드가 지역을 빠져나갔다는 것을 나타낸다.
E. 지역 쓰레드에 의한 속도 제어
일실시예의 소프트웨어 객체 및 하드웨어 제어기에 의한 다양한 명령 시퀀스의 협력적인 분류 실행을 기술하면, 보다 상세한 것은 컨베이어 시스템을 통한 하나 이상의 재료 유니트(예를들어, 웨이퍼의 포드)의 이동을 지역 쓰레드가 협력적으로 결정 및 관리하는 방법에 관련하여 도 27-29를 참조하여 제공된다. 3가지 형태의 이동시 지역 쓰레드 역할이 여기에 기술된다.
단일 컨테이너의 좌측 이동.
동일한 인접 지역을 차지하는 두 개의 컨테너이의 좌측 이동.
동일 인접 지역을 차지하는 두 개의 인접한 컨테이너의 좌측 이동.
도시된 시나리오는 지역 쓰레드 사이에서 가능하고 본 발명의 사상을 제한하지 않도록 넓은 범위의 상호작용의 실시예이다.
일반적으로, 지역 쓰레드(512)는 재료를 가속 또는 감속하는 방법을 결정할 때 속도 제어 룰 676(도 13)의 명확한 정의 설정을 따른다. 성능/속도 제어 룰(676)은 정확한 대표적인 실시예가 제공되도록 하는 몇몇 성능 가설을 바탕으로 하기에 기술된다. 이들 가설은 다음을 포함한다.
1. 정지에서 정지 속도로 가속하기 위하여 3 풀 지역이 걸린다.
2. 풀 속도에서 정지 속도로 감속하기 위하여 3 풀 지역이 걸린다.
이들 가설은 특정 실시예이고 본 발명의 다른 실시예 및 다른 재료에 대해 다를 수 있다.
지역 쓰레드(512)는 이동되는 재료의 이동 상태를 가리키는 동일한 인접 지역에서 지역 쓰레드(512)에 의해 교환되는 메시지를 사용하여 협력적으로 속도 제어 방법을 수행한다. 이들 이동 메시지는 다음 지역 이동 메시지 룰에 따라 교환되고, 상기 룰은 각각의 지역 쓰레드(512)의 일부인 지역 상태 머신(620)(도 13)에서 구현된다(다음 논의는 숏핸드(shorthand)로 "지역"을 사용하는 "지역 쓰레드"를 참조하고 - 이런 숏핸드는 본 발명의 실시예중 하나의 특징인 지역 및 지역 쓰레드 사이의 소프트웨어/하드웨어 특성을 흐리게 한다)
1. 지역이 지역의 컨테이너 밖으로 이동할때(아래쪽 지역 센서의 상승 에지에 의해 검출됨), 지역은 CARRIER_EXITING 메시지를 보낸다. 아래쪽 지역은 컨네이너 인입을 알기 위하여 이 정보를 사용할 것이다.
2. 지역이 지역의 운반장치밖으로 이동을 완료할때(아래쪽 지역 센서의 하강 에지에 의해 검출됨), 지역은 CARRIER_ 메시지를 보낸다. 상부쪽 지역은 컨테이너가 계속이동되고 지역의 데이터베이스로부터 제거되는 것을 결정하기 위하여 이 정보를 사용할 것이다.
3. 만약 지역이 지역내의 정지부로 운반장치를 감속시키면, 지역은 CARRIER_정지 메시지를 보낼 것이다.
4. 컨테이너가 목적지에 도달하고 제거된후, CARRIER_제거 또는 지역_이용가능 메시지가 보내진다.
상기된 성능 가설 및 지역 이동 메시징 룰을 제공하면, 지역 쓰레드 방법(622) 및 속도 테이블 룰(676)에서 구현되는 지역 대 지역 속도 제어 룰은 다음과 같다(도 13을 참조한 모든 것)
1. 지역은 속도 프로파일이 위쪽 노드에 의해 어떻게 정의되든 컨테이너를 수용하여야 한다.
2. 각각의 지역 쓰레드(512)는 그 인접 지역내에 컨테이너의 큐(queue)(642)를 유지한다. 각각의 지역(512)은 가장 가까운 컨테이너에 포인터(648)를 가진다.
3. 각각의 지역 쓰레드(512)는 그 하부쪽 지역에 EXITING 속도의 테이블(670)을 유지한다. 일실시에에서 사용된 속도 값은 다음과 같다(실제 속도 번호(1..n)은 정지된 속도로부터 상부 속도로 재료를 가속하고 상부 속도로부터 정지 속도로 재료를 감속시키기 위하여 요구된 지역의 수에 따른다는 것이 주의된다).
3 2 1 0 -1(지역이 이용될수없다는 것을 가리킴) -4(지역이 비축됨을 가리킴)
4. 현재 지역 쓰레드(512)는 이어질 속도 프로파일을 정의하기 위하여 현재 지역에 진입중 컨테이너 속도를 따라 바로 아래쪽 인접 지역의 최대 속도(630)를 사용한다. 프로파일의 측정은 컨테이너가 위쪽 지역을 나가는 것을 지역이 검출할 때 행해진다(상부 지역의 하부 지역 센서의 상승 에지에 의해 검출됨).
5. 현재 지역의 출구 속도는 하부 지역의 진입 속도(630)에 허용되는 최대 속도보다 낮을수있다(예를들어, 만약 컨테이너가 목적지 인접 지역에 있고 정지되려고 하면).
6. 지역에 대한 CARRIER_EXITING 메시지가 수신될 때, 수신 지역 쓰레드(512)는 속도 -1(이용할수없을 가리킴)로 보냄 지역의 하부 인접 지역에 대한 속도 테이블(670) 엔트리를 설정할 것이다.
7. 지역 쓰레드(512)가 CARRIER_EXITED 메시지를 수신할 때, 수신 지역 쓰레드는 보냄 지역에 대하여 속도 0(-1 또는 -4로부터)으로 속도 테이블(670) 엔트리를 설정할 것이다. 모든 보다 가까운 지역은 1씩 속도가 증가될 것이다. 즉, 보냄 지역의 상부쪽 다음 지역은 엔트리 속도 2를 가지며, 그 다음 3을 가지며, 임의의 추후 상부 지역은 역시 3일 것이다. 상기 증가는 가장 먼곳으로부터 가장 가까운 곳으로 순차적으로 행해질 것이다. 만약 -1 또는 -4 속도가 되면, 속도는 증가되지 않고 증가 종료될 것이다.
8. 지역 쓰레드(512)가 비축_지역 메시지를 수신할 때, 지역이 미리 비축되지 않았다면, 비축된 자체를 표시하고 지역_비축됨 다중 캐스트 메시지를 인접 지역에게 보낸다. 만약 이미 비축된 것으로서 표시되거나, 폴트되면, 지역 비축되지않음 포인트 캐스트 메시지를 이니시에이터(initiator)에게 보낸다.
9. 지역 쓰레드(512)가 지역_비축됨 메시지를 수신할 때, 보냄 지역에 대한 속도 테이블(670) 엔트리를 -4로 설정할 것이다. 상부 지역 속도에 대한 속도 테이블(670) 엔트리는 각각 0, 1, 및 2로 변형될 것이다. 수신 지역은 이전 속도 데이터의 백업 카피를 만들 것이다.
10. 지역 쓰레드(512)가 CARRIER_STOPPED 메시지를 수신할 때, 보냄 지역에 대한 속도 테이블(670) 엔트리를 -1로 설정할 것이다. 동일한 속도 테이블(670)의 상부 지역 속도는 0, 1 및 2로 변형될 것이다.
11. 지역 쓰레드(512)가 지역_이용가능 메시지를 수신할 때, 보냄 지역에 대한 속도 테이블(670)을 3으로 설정할 것이다. 상부 지역에 대한 속도 테이블(670)은 3으로 변형될 것이다. 지역에 있는 포드의 기록은 삭제될 것이다.
12. 지역 쓰레드9512)가 CARRIER_REMOVED 메시지를 수신할 때, 특정 포듸 기록은 커테이너 큐(642)로부터 제거될 것이다. 속도 제어 테이블(670)은 갱시되지 않아서, 컨테이너가 제거된 지역은 이용되지 않고 남을 것이다.
13. 지역 쓰레드(512)가 다음 지역에 사용하기 위한 프로파일을 계산할 때, 지역이 프오파일을 수행할수없다는 것을 결정하면(예를들어, 하나의 지역에 프로파일 3-0을 실행하면), 지역은 앞쪽에 비축된 지역이 있는 것을 가리키는 -4 속도에 대하여 테이블을 스캔할 것이다. 만약 하부 지역 비축이 발견되면, 현재 지역은 현재 지역에 정지하기 위한 충분한 공간을 가지지 않기 때문에 그 지역을 통과하여 컨테이너를 이동시켜야 하는 것을 안다. 현재 지역은 처리하기 위해 이전 속도 데이터의 백업 카피를 이용할 것이다.
14. 목적지의 인접 지역에 있을 때, 지역 쓰레드(512)는 허용가능한 최대 속도 프로파일을 도시하는 다음 테이블(테이블 3)의 정보에 따라 포드의 속도 프로파일을 설정한다. 이 테이블의정보는 속도 테이블 룰(676)에서 구현된다. 예를들어, 테이블 3은 주어진 현재 상부 출구 센서 속도 번호 "2"인 컨테이너 목적지로부터 두 개의 지역인 지역에 대하여, 적당한 속도 프로파일이 "2->1"인 것을 가리킨다(컨테이너의속도가 "1"씩 감소됨). 그러나, 만약 동일한 센서에 대하여 출구 센서 속도 번호가 "3"이면, 컨테이너가 지역당 "1" 속도 번호 이상으로 감속되도록 임의의 프로파일이 요구하지 않기 때문에 응용할 수 있는 프로파일("N/A")는 없다.
테이블 3
목적지로부터의 거리(지역)출구 센서에서 현재 속도 1 2 3 4
0 0→0(크립) 0→1 0→1 0→1
1 1→0 1→1 1→2 1→2
2 N/A 2→1 2→2 2→3
3 N/A N/A 3→2 3→3
각각의 도 27-29는 지역 영향 재료 이동 동작(도면의 하부) 및 결과적인 재료 속도 프로파일(도면의 상부)에 의해 보내진 속도 제어 및 다른 메시지를 도시하는 명령 시퀀스 타이밍도이다. 상기된 타이밍 도면에서 각각 도시된 시퀀스는 도면의 상부로부터 하부로 진행한다. 각각의 메시지는 명령 시퀀스에서 메시지 순서를 가리키는 참조 번호가 표시된 화살표와 관련되고 특정 이동 동작의 일반적인 기술을 다음에 기술한다. 몇몇의 메시지 논의는 어떤 속도에서 지역이 인접 지역하는 지역에 진입하기 위한 재료를 가속하도록 허용하는지를 가리키는 각각의 지역쓰레드에 의해 저장된 테이블인 속도 테이블을 참조한다(속도 테이블의 기술에 대한 도 13 참조). 이동 동작이 진행될 때 재료의 위치는 직사각형 모양으로 도시된다. 3개의 명령 시퀀스는 도 27-29를 참조하여 기술된다.
도 27은 재료 X가 지역(ZA)에 이동을 위해 지역(ZI)상에 배치되는 상황에 대한 지역과 컨테이너 속도 프로파일 사이에 보내지는 메시지를 도시하는 타이밍 도면이다. 풀속도로 가속이 3개의 부가적인 지역(H, G 및 F)를 요구하므로, 컨테이너의 앞쪽 에지가 지역(F)의 앞쪽 에지에 도달할 때, 최대 속도에 도달되는 것이 가정된다. 지역(I, H, G 및 F)에서 모터는 지역에서 지역으로 이동이 부드럽도록 동시에 일어난다. 몇몇 또는 모든 이들 지역은 하나의 마이크로 제어기에 의해 제어될수있지만, 지역들은 두 개의 노드에 의해 제어될것이고, 노드 경계는 임의의 지역 경계일수이기 쉽다. 모터 동조는 두 개의 위상에서 발생한다. 첫째, 현재 지역의 아래쪽 두 개의 지역인 지역이 현재 지역으로부터 CARRIER_EXITING 메시지를 들을 것이다. 그것은 등속도에서 운행하는 모터를 시작하기 위한 메시지 프로파일의 종료 속도를 사용할 것이다. 제 2 위상에서, 현재 지역 바로 아래 지역은 CARRIER_EXITING 메시지를 듣고 메시지 프로파일을 매칭하기 위한 현재 속도를 변경할 것이다. 메시지 시퀀스는 다음과 같다.
(1) 지역(I)은 새로운 새료의 로딩을 위한 로드를 포착하기 위하여 메시지 1(지역_비축됨)을 보낸다. 상부 지역은 인접 지역에 없는 인입 컨테이너가 지역 앞에서 정지되는 것을 보장하기 위하여 엔트리 속도 테이블을 조절할 것이다.
(2) 일단 지역(I)이 인접 지역이 안전하다는 것을 결정하면(즉, 컨테이너가안에 없다), 지역은 계속하여 로드 과정을 하며, 결국 컨테이너(X)가 배치된다. 지역은 속도 테이블을 바탕으로 컨테이너의 이동을 시작할 것이다. 지역은 하부 지역(H)가 임의의 속도에서 3으로 진입될수있다는 것을 안다. 지역은 또한 포드가 정지되고, 이용할 수 있는 속도 프로파일이 0-1이라는 것을 안다. 지역은 0-1 프로파일에 대한 식별기를 포함하는 CARRIER_EXITING 메시지를 생성할 것이다. 하부 지역은 이 정보를 비축하고 프로파일과 동조할 것이다. 지역(I)은 지역(H)에 대한 엔트리 속도를 갱신할 것이다.
(3) 일단 컨테이너가 센서의 말미 에지에 의해 지시된 바와같이 지역을 떠났다면, 지역(I)은 CARRIER_EXITED 메시지를 보낼 것이다. 상부 노드는 지역(I)에 대한 엔트리 속도 값을 변형할 것이다.
(4) 지역(H)은 센서의 상승 에지에 의해 운반장치가 떠나가는 것을 검출한다. 이때, 포드는 속도 1에 도달된다. 엔트리 속도 테이블을 조사함으로써, 현재 속도가 G에 대한 최대 허용 엔트리 속도보다 작은지를 결정하여, 1-2 프오파일을 사용한다. 지역(G)에 대한 속도 엔트리를 -1로 설정한다.
(5) 센서의 말미 에지를 관찰중, 지역(H)는 출구 메시지를 보낸다. 지역(I)은 상기 메시지를 수신하고 지역(H)에 대한 속도 엔트리를 변형한다. I는 H가 바로 인접 지역일 때 추가 처리없이 수행할 필요가 있다.
(6) 지역(G)은 운반장치가 센서의 상승 에지에 의해 떠나는 것을 검출한다. 이때 포드는 속도 2에 도달된다. 엔트리 속도 테이블을 조사함으로써 현재 속도가 F에 대한 최대 허용 엔트리 속도보다 작은 것을 결정하고, 2-3 프오파일을 사용한다. 지역(F)에 대한 속도 엔트리를 -1로 설정한다. 지역(H 및 I)은 F에 대한 속도 엔트리를 갱신한다.
(7) 센서의 말미 에지를 관찰중에, 지역(G)은 출구 메시지를 보낸다. 지역(H 및 I)은 상기 메시지를 수신하고 지역(G)에 대한 속도 엔트리를 변형한다. H는 G가 바로 인접 지역일 때 추가 처리없이 수행할 필요가 있다. I는 G에 대한 변화를 바탕으로 지역(H)에 대한 속도 값을 갱신하도록 부가적인 처리를 수행할 필요가 있다.
(8) 지역(F)은 운반장치가 센서의 상승 에지에 의해 떠날때를 검출한다. 이때 포드는 속도 3으로 이동한다. 엔트리 속도 테이블을 조사함으로써, 현재 속도가 E에 대한 최대 허용 엔트리 속도와 같다는 것을 결정하고, 3-3 프로파일로 변화시킨다. 지역(E)에 대한 속도 엔트리를 -1로 설정한다. 지역(G, H 및 I)는 또한 F에 대한 속도 엔트리를 갱신한다.
(9) 센서의 말미 에지를 관찰하는 중에, 지역(F)은 출구 메시지를 보낸다. 지역(G, H 및 I)는 상기 메시지를 수신하고 지역(F)에 대한 속도 엔트리를 변형한다. G는 F가 바로 인접 지역일 때 추가 처리를 수행할 필요가 없다. H 및 I는 F 상부의 지역에 대한 속도 값을 갱신하기 위하여 부가적인 처리를 수행할 필요가 있다.
(10) 지역(E)은 운반장치가 센서의 상승 에지에 의해 떠나가는 것을 검출한다. 포드는 속도 3으로 이동한다. 엔트리 속도 테이블을 조사함으로써, 현재 속도가 D에 대한 최대 허용 엔트리 속도와 같다는 것을 결정하고 현재 프로파일을 계속한다. 그 다음 지정된 목적지가 3개의 지역에서 멀어지고 그러므로 포드를 감속하는 것을 결정한다. 프오파일(3-2)을 가지는 출구 메시지를 보내고 지역(D)에 대한 속도 엔트리를 -1로 설정한다. 지역(F, G, H 및 I)는 E에 대한 속도를 갱신한다.
(11) 센서의 말미 에지를 관찰하는 중에, 지역(E)은 출구 메시지를 보낸다. 지역(F, G, H 및 I)은 상기 메시지를 수신하고 지역(E)에 대한 속도 엔트리를 변형한다. F는 E가 바로 인접 지역일 때 추가 처리를 수행할 필요가 없다. G, H 및 I는 E 상부 지역에 대한 속도 값을 갱신하기 위하여 추가 처리를 수행할 필요가 있다.
(12) 지역(D)은 운반장치가 센서의 상승 에지에 의해 떠나는 것을 검출한다. 포드는 속도 2로 이동한다. D는 목적지 지역(B)이 두 개의 지역에서 멀어지는 것을 안다. B의 현재 속도 및 위치를 바탕으로, D는 출구 메시지를 알리는 2-1의 감속 프로파일로 스위칭할 필요가 있다는 것을 결정한다. 지역(C)에 대한 속도 엔트리를 -1로 설정한다. 지역(D, E, F 및 G)는 C에 대한 속도 엔트리를 갱신한다.
(13) 센서의 말미 에지를 관찰하는 중에, 지역(D)은 출구 메시지를 보낸다. 지역(E, F, G 및 H)는 상기 메시지를 수신하고 지역(D)에 대한 속도 엔트리를 변형한다. E는 D가 바로 인접 지역할 때 추가 처리를 수행할 필요가 없다. F, G 및 H는 D 상부 지역에 대한 속도 값을 갱신하기 위하여 부가적인 처리를 수행할 필요가 있다.
(14) 지역(C)은 운반장치가 센서의 상승 에지에 의해 떠나는 것을 검출한다.속도 1에서, C는 목적지 지역(B)가 하나의 지역에서 멀어지는 것을 안다. 이것을 바탕으로, 프로파일을 1-0으로 설정하고 지역(B)에 대한 속도 엔트리를 -1로 설정한다. 지역(C, D, E 및 F)는 B에 대한 속도 엔트리를 갱신한다.
(15) 센서의 말미 에지를 관찰하는 중에, 지역(C)은 출구 메시지를 보낸다. 지역(D, E, F 및 F)는 상기 메시지를 수신하고 지역(C)에 대한 속도 엔트리를 변혀안다. D는 C가 바로 인접 지역일 때 추가 처리를 수행할 필요가 없다. E, F 및 G는 C 상부 지역에 대한 속도 값을 갱신하기 위하여 추가 처리를 수행할 필요가 있다.
(16) 지역(B_는 지역 센서의 감속 프로파일 종점 및 선행 에지를 검출한다. 그것은 목적지인 것을 알고, 지역은 CARRIER_도착 메시지를 보낸다. 지역(C, D, E 및 F)는 지역(B) 엔트리 속도를 -1로 설정하고 B 상부 지역에 대한 속도를 갱신한다. 지역(B)은 컨테이너의 도착의 보다 놀은 레벨 제어를 통지하고 상기 컨테이너가 제거되는 것을 기다린다.
(17) 일단 컨테이너가 제거되는 것을 지역(B)이 검출하면, 지역_도착 메시지를 보낸다. 지역(C, D, E 및 F)는 지역(B) 엔트리 속도를 -1에서 3으로 변화시키고 B 상부 지역을 속도 3으로 갱신한다.
여기에 기술된 17 단계 각각에 대해 지역에서의 재료 속도는 테이블 4에 도시된다. 각각의 지역에 대한 이런 정보는 각각의 지역 쓰레드(ZT-B 내지 ZT-I)의 속도 테이블(670)에 포함된 정보와 동일하다.
테이블 4
도 28은 로드 지역(D)가 장치로부터 새로운 재료(X)의 수용을 위해 비축되고 컨테이너(Y)가 인입되는 상황에 대하여 지역 사이에 보내지는 메시지를 나타내는 타이밍 도면이다. 만약 컨테이너가 풀 속도로 이동하면, 지역(E)에서 멈추도록 지역(H)에서 감속을 시작하여야 한다. 지역은 새로운 포드가 트랙상에 배치되도록 하기 전에 모든 인입 포드가 정지 또는 통과되는 것을 보장하여야 한다. 이런 상황에서 인입 컨테이너는 속도가 감소되어야 하므로, 가속 컨테이너를 추월하지 않는 것을 주의한다. 그러나, 계산을 바탕으로, 인입 컨테이너는 정지될 필요가 없다. 만약 그렇다면, 결과적인 두 개의 운반장치사이의 간격은 +/- 6 지역이고, 3까지 다시 상승되고, 최종 간격은 3개 이상의 지역이다. 지역 쓰레드는 트랙의 최적 사용을 위하여 상기 사항을 고려한다. 상기 메시지 시퀀스는 다음과 같다.
(1) 지역(E)은 지역_비축 다중 캐스트 메시지를 보낸다. E의 인접 지역에서 모든 지역은 상기 메시지를 득고 지역(E)에 대해 속도 테이블을 -4로 갱신한다. 상부 지역은 0, 1 및 2로 갱신된다.
(2) 일단 E가 정지할 수 없는 내부에 포드가 없다는 것을 결정하면, 포드(X)가 트랙에 배치되도록 한다. 하부 지역(D)이 속도 테이블 엔트리에서 3을 가질 때, E는 포드를 가속하기 쉽다. 포드가 정지될 때, 단지 이용 가능한 프로파일은 0-1이다. 출구 메시지가 이 프로파일로 보내진다.
(3) 바로 그후, 등속도(3)로 이동중인 포드(Y)가 지역(J)에서 하부 센서를 시동시킨다. J는 속도 테이블을 조사하고 속도 3으로 I에 진입할 수 있는 것을 프로파일(3-3)을 가진 출구 메시지에게 보낸다. 모든 인접 지역 지역은 I은 J의 하부에 있고, 이용할 수 없는 (-1)로서 I를 표시한다.
(4) 포드(Y)는 지역을 떠나고 출구 메시지를 보낸다. J의 상부 지역은 그 속도 테이블을 갱신할 것이다.
(5) 속도 3으로 이동하는 포드(Y)는 지역(I)의 하부 센서를 시동시킨다. I는 속도 테이블을 조사하고 H에 대한 속도가 2라는 것을 발견한다. I는 프로파일(3-2)로 스위칭하고 출구 메시지를 보낸다. 하부 지역은 H가 I 하부에 있다는 것을 알고 이용할 수 없는 것으로 H를 표시한다.
(6) 포드(Y)는 지역(I)를 떠나고 출구 메시지를 보낸다. 상부 지역은 -1로부터 0으로 지역에 대한 엔트리를 변경한다.
(7) 속도 2로 이동하는 포드(Y)는 지역(H)의 하부 센서를 시동시킨다. H는 속도 테이블을 조사하고 G에 대한 속도가 1인 것을 찾는다. H는 프로파일(2-1)로 변화하고 출구 메시지에 상기 프로파일을 보낸다. 지역은 G가 H 하부에 있다는 것을 알고, 이용할 수 없는 것으로 표시한다. 이때 X는 D에 거의 중간에 있다는 것이 주의된다.
(8) 포드(X)는 지역(E)의 이동을 완료하고 출구 메시지를 보낸다. 비축된(-4)로서 표시된 E를 가지는 모든 지역은 0으로 그 필드를 갱신하고 상부 지역 각각을 증가시킨다.
(9) 속도 1로 이동하는 포드(X)는 지역(D)의 하부 센서를 교차한다. D는 C에 대한 속도 테이블 엔트리를 조사하고, 3까지 임의의 속도를 사용할 수 있는 것을 관찰한다. 현재 속도 1일 때, 단지 이용할 수 있는 액셀(accel) 프로파일은 출구 메시지에 알리는 1-2이다. 인접 지역 지역은 d의 하부 지역이 c이고 이용할 수 없는 것으로서 c를 표시한다.
(10) 속도 1로 이동하는 포드(Y)는 H의 이동을 완료하고 출구 메시지를 보낸다. 인접 지역하는 지역은 H에 대한 -1을 0으로 변화시키고 상부 지역을 최대 3으로 증가한다.
(11) 속도 1로 이동하는 포드(Y)는 G의 하부 센서에 도달하고 속도 테이블에서 F에 대한 엔트리를 조사한다. 테이블은 1의속도를 가리키고, 지역은 프로파일(1-1)로 변화하고 이것은 출구 메시지에 알린다. 모든 인접 지역하는 지역은 F에 대한 엔트리를 -1로 설정한다.
(12) 속도 2로 이동하는 포드(X)는 지역(D)을 떠나고 출구 메시지를 보낸다. 상부 지역은 D에 대한 엔트리를 -1에서 0으로 변화시키고, D의 상부 지역에 대한 값을 증가시킨다.
(13) 포드(X)는 속도 2로 C의 하부 센서를 교차하고, 지역(B)에 대한 속도 테이블 엔트리를 조사한다. 값이 3일 때, 지역은 2-3의 프로파일로 변화하고 출구 메시지를 보낸다. 인접 지역하는 지역은 B에 대한 속도 테이블 엔트리를 -1로 설정한다.
(14) 속도 1로 이동하는 포드(Y)는 지역(G)의 이동을 완료하고 출구 메시지를 보낸다. 인접 지역 지역은 G에 대한 엔트리를 -1에서 0으로 변화시키고 상부 지역에 대한 엔트리를 증가시킨다.
(15) 속도 1로 이동하는 포드(Y)는 지역(F)의 하부 센서를 시동시킨다. 지역은 지역(E)에 대한 속도 테이블 엔트리를 조사하고 1의 속도 세팅을 발견한다. 지역은 프로파일(1-1)을 가지는 출구 메시지를 보낸다. 상부 지역은 지역(E)에 대한 속도 엔트리를 -1로 변화시킨다.
(16) 포드(X)는 지역(C)의 이동을 완료하고 출구 메시지를 보낸다. 상부 지역은 -1에서 0으로 C의 속도 테이블 엔트리를 변화시키고, C의 상부 지역에 대한 속도를 증가시킨다.
(17) 속도 3으로 이동하지 않는 포드(X)는 지역(B)의 하부 센서를 시동시키고 A에 대한 속도 테이블 엔트리를 조사한다. 엔트리가 3이고 포드가 3으로 이동할 때, 일정한 3-3 프로파일로 스위칭하고 이것을 출구 메시지에 알린다. 상부 지역은 A가 B의 하부에 있다는 것을 알고 A의 속도 값을 -1로 설정한다.
(18) 포드(X)는 지역(B)의 이동을 완료하고 출구 메시지를 보낸다. 상부 지역은 B의 속도를 0으로 설정하고 상부 지역을 증가시킨다.
(19) 포드(X)는 A의 하부 센서를 시동시키고, 속도 테이블을 조사하고, 프로파일(3-3)에 대한 출구 메시지를 보낸다. 하부 지역은 이용할 수 없는 것으로 Z를 표시한다.
(20) 포드(Y)는 지역(F)의 이동을 완료하고 출구 메시지를 보낸다. 상부 지역은 F의 속도를 -1에서 0으로 변화시키고, 그것의 상부 지역을 증가시킨다.
(21) 속도 1로 이동하는 포드(Y)는 지역(E)의 하부 센서를 시동시킨다. E는 D에 대한 속도 테이블을 조사하고 2를 발견한다. E는 프로파일(1-2)를 가지는 출구 메시지를 보낸다. 상부 지역은 지역(D)를 -1로 설정한다.
(22) 포드(X)는 지역(A)의 이동을 완료하고 출구 메시지를 보낸다. 상부 지역은 속도 0을 가지는 A를 표시하고 그것의 상부 지역을 증가시킨다.
(23) 속도 3으로 이동하는 포드(Y)는 지역(Z)상 하부 센서를 시동시킨다. Z는 프로파일(3-3)을 가지는 출구 메시지를 보낸다.
(24) 속도-2로 이동하는 포드(Y)는 E의 이동을 완료하고 출구 메시지를 보낸다. 상부 지역은 속도 0에서 이용할 수 있는 것으로서 E를 표시하고, 그것의 상부 지역을 증가시킨다.
(25) 속도 2로 이동하는 포드(Y)는 D의 하부 센서를 시동시킨다. 지역 D의 속도 테이블은 조사되고, 2의 값은 발견되고, Y는 출구 메시지에 2-2의 프로파일을알린다.
이 실시예에서, 속도 2 및 3 사이의 차이는 충분히 작고, 그것은 풀 속도로 다시 오를때까지 Y에 대하여 다수의 지역이 요구된다(X 및 Y 사이의 간격은 매우 느리게 감소한다).
상기된 25 단계 각각에 대한 지역의 재료의 속도는 테이블 5에 도시된다. 각각의 지역에 대해 제공된 이런 정보는 각각의 지역 쓰레드(ZT-A 내지 ZT-J)의 속도 테이블(670)에 포함되는 정보와 같다.
테이블 5
도 29는 두 개의 인접한 컨테이너(X 및 Y) 양쪽이 이동하기 시작하고 결과적인 컨테이너가 간격지는 상황에서 지역 사이에 보내진 메시지를 도시하는 타이밍 도면이다. 이런 상황에 대한 초기 조건은 포드(Y)가 지역(J)에서 정지되어 포드(X)가 지역(I)상에 배치되는 것이다. 이것은 포드(Y)의 이동을 트리거한다. 메시지 시퀀스는 다음과 같다.
(1) 지역(I)는 속도 테이블을 조사하고 임의의 속도에서 최대 속도로 지역(H)가 진입할 수 있는 것을 발견한다. 포드가 정지될 때, 0-1 프로파일을 사용하여야 하고, 출구 메시지에게 상기 프로파일을 알린다. 인접 지역하는 지역은 상기 메시지를 수신하고 이용할 수 없는 것으로서(-1) 지역(H)를 표시한다.
(2) 일단 X가 출구 지역(I)을 가지면, I는 출구 메시지를 보낼 것이다. 상부 인접 지역 지역은 속도 테이블에서 이용할 수 있는 것으로서 I를 표시한다.
(3) 속도 테이블을 갱신한후 지역(J)는 포드(Y)를 이동하기 시작하는 것을 결정할 것이다. 정지된 포드, 및 0인 I의 속도 테이블 엔트리를 바탕으로, J는 프로파일(0-0)(크립 속도)에서 포드를 이동할 수 있다.
(4) 지역(H)는 하부 센서를 통하여 포드를 검출한다. 포드(X)는 속도 1로 이동한다. H는 지역(G)에 대한 속도 테이블을 참고한다. H는 1-2의 프로파일을 사용하는 것을 결정하고 이것을 출구 메시지에게 알린다. 상부 인접 지역 지역은 G에 대한 속도 테이블 엔트리를 조절한다.
(5) H는 X가 지역 이동을 완료하고 출구 메시지를 보내는 것을 검출한다. 상부 인접 지역은 H가 이용 가능한 것으로 표시하고 H의 상부 지역에 대한 엔트리를 갱신한다.
(6) 지역(G)은 X가 속도 2로 떠나는 것을 검출한다. 속도 테이블을 참조후, G는 2-3 프로파일로 스위칭하고 출구 메시지를 보낸다. 상부 지역은 F가 이용될 수 없는 것으로서 표시한다.
(7) X는 지역(G)를 비운다. 지역(G)는 출구 메시지를 보낸다. 상부 인접 지역은 이용 가능한 것으로 G를 표시하고 G의 상부 지역에 대한 속도 엔트리를 갱신한다.
(8) 지역(F)는 X가 속도 3으로 떠나는 것을 검출한다. F는 속도 테이블을 참고하고 E가 3으로 진입될 수 있는 것을 발견하고, 3-3 프로파일로 스위칭하고 이것을 출구 메시지에게 알린다. 따라서 상부 인접 지역 지역은 속도 테이블 엔트리를 조절한다.
(9) 지역(F)은 출구 센서의 하강 에지를 관찰하고 출구 메시지를 보낸다. 상부 인접 지역은 F가 이용 가능한 것으로 만들도록 속도 테이블을 조절한다.
(10) 지역(E)는 출구 메시지의 상승 에지를 관찰하고 속도 테이블을 참조한다. E는 3-3 프롸일을 뒤따라야 하고 출구 메시지를 보내는 것을 결정한다. 상부 인접 지역은 D가 이용되지 않는 것으로 표시한다.
(11) 지역(E)는 출구 센서의 하강 에지를 관찰하고 출구 메시지를 보낸다. 상부 인접 지역은 E가 이용 가능한 것으로 표시하도록 속도 테이블을 조절한다.
(12) 지역(D)는 출구 센서의 상승 에지를 관찰하고 속도 테이블을 참고한다. D는 3-3 프로파일을 뒤따르고 출구 메시지를 보내는 것을 결정한다. 상부 인접 지역은 C가 이용 가능하지 않은 것으로 표시한다.
(13) 지역(D)는 출구 센서의 하강 에지를 관찰하고 출구 메시지를 보낸다. 상부 인접 지역은 D가 이용 가능하도록 속도 테이블을 조절한다.
(14) 지역(C)는 출구 센서의 상승 에지를 관찰하고 속도 테이블을 참조한다. C는 303 프로파일을 뒤따르고 출구 메시지를 보내는 것을 결정한다. 상부 인접 지역은 지역(B)가 이용 가능하지 않은 것으로 표시한다.
(15) 지역(I)는 포드(Y)가 크립 속도로 출구 센서를 시동한 것을 검출한다. I는 속도 테이블을 참조하고 속도 3으로 진입할 수 있는 것을 발견한다. 그러나 포드가 속도 0-0으로 이동할 때, 0-1의 프로파일을 사용하여야 한다. I는 프로파일을 가진 출구 메시지를 보낸다. 상부 인접 지역은 H가 이용 가능하지 않으로서 표시한다.
(16) C는 포드(X)가 지역을 떠났고 출구 메시지를 보내는 것을 검출한다. 상부 인접 지역은 C가 이용 가능한 것으로 표시하고 C의 상부 인접 지역에 대한 속도를 갱신한다.
(17) 지역(B)는 출구 센서의 상승 에지를 관찰하고 속도 테이블을 참고한다. B는 3-3 프로파일을 뒤따르고 출구 메시지를 보낸다. 상부 인접 지역은 A가 이용 가능하지 않으로 표시한다.
(18) 지역(B)는 출구 센서의 하강 에지를 관찰하고 출구 메시지를 보낸다. 상부 인접 지역은 B가 이용 가능하도록 속도 테이블을 조절한다.
(19) 지역(A)는 출구 센서의 상승 에지를 관찰하고 속도 테이블을 참고한다.결정은 3-3 프로파일을 뒤따르고 출구 메시지를 보내는 것이다. 상부 인접 지역은 지역(Z)이 이용 가능한 것으로 표시한다.
(20) 지역(A)는 출구 센서의 하강 에지를 관찰하고 출구 메시지를 보낸다. 상부 인접 지역은 A가 이용 가능하도록 속도 테이블을 조절한다.
(21) 지역(Z)는 출구 센서의 상승 에지를 관찰하고 속도 테이블을 참고한다. Z는 3-3 프로파일을 뒤따르고 출구 메시지를 보내야 한다. 상부 인접 지역은 지역(Y)가 이용 가능하지 않으로서 표시한다.
(22) 지역(I)는 출구 센서의 하강 에지를 관찰하고 Y가 지역을 떠났다는 것을 결정한다. I는 출구 메시지를 보낸다. 상부 인접 지역은 Y가 이용 가능한 것으로 표시하고 Y의 상부 인접 지역에 대한 속도 엔트리를 갱신한다.
(23) 지역(H)는 출구 센서의 상승 에지를 관찰한다. 포드(Y)는 속도 1로 이동한다. H는 속도 테이블을 참조하고 프로파일(1-2)로 스위칭하는 것을 결정한다. H는 출구 메시지에 상기 프로파일을 보낸다. 상부 인접 지역은 G가 이용 가능하지 않으로서 표시한다.
(24) 지역(H)는 출구 센서의 하강 에지를 관찰하고 출구 메시지를 보낸다. 상부 인접 지역은 H가 이용 가능하도록 속도 테이블을 조절한다.
(25) 지역(G)는 출구 센서의 상승 에지를 관찰한다. Y는 속도 2로 이동한다. G는 2-3 프로파일로 스위칭할 수 있고 이것을 출구 메시지에 알린다. 상부 지역은 이용 가능한 것으로 F를 표시한다.
(26) 지역(G)는 출구 센서의 하강 에지를 관찰하고 Y가 지역을 떠났다는 것을 결정한다. G는 출구 메시지를 보낸다.
(27) 지역(F)는 출구 센서의 상승 에지를 관찰한다. Y는 속도 3으로 이동한다.F는 속도 테이블을 참고하고 3-3 프로파일을 사용하는 것을 결정한다. F는 이 정보를 출구 메시지에 보낸다.
상기된 27 단계 각각에 대해 지역에서 재료의 속도는 테이블 6에 도시된다. 각각의 지역에 제공된 이런 정보는 각각의 지역 쓰레드(ZT-A 내지 ZT-J)의 속도 테이블(670)에 포함된 정보와 동일하다.
테이블 6
다른 실시예에서, 속도 테이블(670)은 지역이 차있는지 또는 비어있는지만을 가리킨다(즉, 속도 데이터는 테이블 670에서 포함되지 않는다). 지역 쓰레드(512)(도 13)는 하부 지역의 차지된 및 비축된 상태를 사용하고 속도 테이블 룰 676의 보다 간단한 실시예에 따라 컨테이너의 출구/최종 속도 수를 계산하기 위하여 컨테이너의 엔트리 속도를 사용한다. 이런 실시에에서, 지역 쓰레드(512)는 0, 1, 2 또는 3으로부터 선택된 속도 수로 최종 속도를 설정한다. 특히, 하나 이상의 하부 지역이 점유될 때, 지역 쓰레드(512)는 대응하는 속도 테이블 값이 -1로 설정되는 상황에 대한 상기된 바와같이 컨테이너 최종 속도 수를 설정한다. 하나 이상의 하부 지역이 비축될 때, 지역 쓰레드(512)는 대응하는 속도 테이블 값이 -4로 설정되는 상황에 대해 상기된 바와 같이 컨테이너 최종 속도 수를 설정한다. 하부 지역의 어느 것도 점유되거나 비축되지 않을 때, 지역 쓰레드(512)는 컨테이너 이동에 제한을 주는 임으의 속도로 컨테이너 최종 속도를 자유롭게 설정할 수 있다. 예를들어, 하부 지역이 점유되지도 비축되지 않을 때, 만약 바로 하부 지역이 목적지 이면, 지역 쓰레드(512)는 컨테이너의 출구/최종 속도를 0으로 설정하도록 제한된다.
F. 지역 쓰레드 동적 모델
각각의 지역 쓰레드는 가능한 지역 동작/상태의 동적 모델을 바탕으로 상태 머신(620)(도 13)을 실행한다. 상부 레벨에서, 이들 상태는 다음을 포함한다.
시작 지역이 시작 재료일 때
정지 지역이 정지 재료일 때
이동 지역이 현재 경로를 따라 재료를 이동할 때
차단 지역이 재료의 이동을 방지할 때
공전 지역이 재료 이동(지역-태스킹)에 참여하지 않을 때
준비 지역이 아래와 같이 준비된 상태일 때
1. 재료가 지역에서 정지하려고 올때(정지로부터 이동)
2. 재료가 지역에 배치되고 이동을 시작하기 위해 기다릴때.
이런 동적 모델은 도 30을 참조하여 기술된다.
도 30은 UML(단일화된 모델링 언어)과 일치하는 상태 도표 표기법을 사용하여 본 발명의 일실시에의 동적 모델을 도시한다. 특히, 각각의 지역 쓰레드 상태 및 서브 상태, 또는 동작은 박스로 표시된다; 예를들어, 도 39의 박스 "정지"는 지역 쓰레드의 정지 상태를 나타내고 대응하는 지역이 지역에서 정지한 포드에 의해 점유되는 지역 쓰레드와 연관된 동작, 또는 서브 상태를 포함한다. 각각의 상태 및 서브 상태는 상태 또는 서브 상태의 연관된 활동을 수행하는 일련의 명령에 해당한다. UML의 보다 많은 정보를 위하여 : 켄달 스코트, 켄달 스코트, UML 분류(1997)를 참조하고, 이 문헌은 참조로써 여기에 통합되었다.
UML에 따라, 각각의메시지/이벤트는 메시지/이벤트에 의해 트리거된 이동을 가리키는 화살표상 라벨로서 도시된다. 예를들어, 도 30을 참조하여, 이벤트 "CARRIER_EXITING : 상부("상부"는 상부 노드를 나타내는 메시지에 포함된 데이터이다)는 공전 상태로부터 이동 상태로 변화를 유발한다. 이들 도면을 참조하여 다양한 이벤트 및 메시지는 첨부물 A-C에 기술된다. 내부 메시지(즉, 준비 객체 812 같은 상태 객체내의 메시지)는 객체 박스의 경계내에 포함된 메시지이다.
외부 메시지는 객체 박스의 주변부를 통해 객체로부터 결합된다. 예를들어, 공전 상태/객체(816)에 의해 내려진 CARRIER_EXITING: 상부 이벤트(817d)는 이동 상태/객체로의 변화를 유발한다. 이들 메시지의 적어도 몇몇은 도 17-25에 도시된 명령 시퀀스를 참조하여 기술된다. 변화를 유발하는 이벤트와 연관된 테스트는 이동 목적ID가 현재 지역(이런 노드)의 ID와 동일한지 C 언어 문장법; 예를들어 "목적지ID=이노드"(817a)을 사용하여 표시된다.
도 30은 지역 쓰레드에 구현된 지역 동적 모델/상태 머신을 나타내는 상태도이다. 이 도면은 각각의 숨겨진 슈퍼스테이트 서브스테이트(superstate substate)의 정보와 슈퍼스테이트 사이의 상호작용을 도시한다. 도시된 상태는 : 상기된 정지(810), 준비(812), 시작(814), 공전(816), 이동(820) 및 차단(818)을 포함한다. 레스매니저(ResManager) 상태(822)(비축 매니저에 대한 축약)는 로드 포트 또는 스토커로부터 LPTD를 통하여 트랙으로 전달될 필요가 있는 포드에 대한 관련 지역을 비축한다. 레스매니저(822)는 LPTD가 재료를 배치할 지역을 통하여 포드가 이동하도록 할 필요가 없는 것을 보장한다. 정지로부터 준비 상태로 지역 쓰레드 이동(811a)은 포드가 지역내에 완전히 정지할 때 발생한다. 준비 상태로부터 시작 상태(814)로 지역 쓰레드 이동(813a)은 지역내의 포드가 새로운 이동 명령 또는 제거될 하부 차단의 결과로서 이동하기 시작할 때 발생한다. 준비 상태로부터 공전 상태(814)로 지역 쓰레드 이동(813b)은 포드가 LPTD에 의해 지역으로부터 제거될 때 발생한다. 시작 상태로부터 공전 상태(814)로 지역 쓰레드 이동(815)는 제자리에 있는 포드가 이동하고 지역에서 벗어날 때 발생한다. 차단 상태(818)로부터 공전 상태(814)로 지역 쓰레드 이동(819)은 차단물이 지역으로부터 제거될대 발생한다. 공전 상태(816)로부터 정지 상태(810)로 지역 쓰레드 이동(817a)는 재료가 이동 목적지(목적지ID)인 지역에 도달할 때 발생한다 ; 재료_도착 메시지는 이런 이동을 수반한다. 공전 상태(816)로부터 준비 상태(812)로 지역 쓰레드 이동(817b)은 지역이 준비되었다는 메시지에 의해 표시된 이벤트가 지역이 비축되는 것을 가리킬 때 발생한다. 공전 상태(816)로부터 차단 상태(818)로 지역 쓰레드 이동(817c)은 지역의 엔트리 또는 출구 센서가 1을 보낼 때 발생하면, 상기 1은 지역 폴트를 가리킨다. 지역_폴트는 이런 이동을 수반한다. 공전 상태(816)로부터 이동 상태(820)로 지역 쓰레드 이동(817d)은 CARRIER_EXITING: 상부 메시지가 수신될 때 발생한다. 상기 메시지는 운반장치가 지역의 바로 옆 상부 지역을 떠난 것을 가리킨다.
G. 디렉터 동작
디렉터는 트랙 코너 또는 접합부를 포함하는 이동 경로에서 재료에 의해 얻어진 루트를 결정한다. 대조하여, 이동을 조절하는 이동 객체는 이동을 시작하기전에 재료 소스 및 목적지 사이의 몇몇 루트가 있는지 결정하고, 이동을 달성하는 각각의 지역 쓰레드는 단순히 재료의 현재 이동 방향에서 직선을 따라 재료를 단순히 가속 또는 감속시킨다. 중요한 재료 루팅 능력외에, 디렉터는 근접하여 지역 또는 로드 포트의 결함을 바탕으로 동적으로 재료를 재루팅할 수 있다.
일실시예에서 각각의 디렉터는 디렉터를 통한 유효한 루팅 및 회전 각도를 나타내는 루팅 테이블을 포함한다. 루팅 테이블은 시스템 초기화후에 만들어지고 몇몇의 초기 루트는 구성요소를 제어하는 지능적인 드라이버 또는 전기 기계적 컨베이어 구성요소의 결함으로 인해 이용할 수 없는 것을 발견한후 디렉터에 의해 변경된다. 루팅 테이블 및 그 생성물의 기술은 도 34 및 도 35를 참조하여 하기에 기술된다. 이런 논의를 위하여, 루팅 테이블을 사용하는 각각의 디렉터가 그것을통과하는 각각의 재료 유니트에 대한 유효 루트를 동적을 결정하는 것은 충분하다.
디렉터의 동작을 도시하는 시나리오는 도 31 및 32A, 32B를 참조하여 기술된다. 이 시나리오는 디렉터를 통하여 루팅될 두 개의 재료 유니트의 디렉터 인접 지역에 동시 도착을 포함한다. 도시된 실시예에서, 디렉터는 사각형 지역보다 큰 인접 지역 크기를 가진다(디렉터의 어느 한쪽상 3개의 지역과 대비되는 4). 인접 지역의 부가적인 지역 또는 지역들은 디렉터가 인입 재료를 검출하도록 하고 디렉터가 이용되지 않아야 하는 디렉터의 상부 지역에서 0으로 감소시킨다(상부 속도에서 0으로 감소시키기 위하여 재료 유니트에 대해 3개의 지역이 걸린다). 이런 시나리오는 단순히 예시적이고 HS 발명의 범위를 제한하도록 구성되지 않는다.
도 31은 디렉터(Q), 두 개의 교차 레일, 및 두 개의 재료 유니트(P1 및 P2)를 포함하는 트랜스포트 시스템 지역의 개략도이고, 상기 재료 유니트는 R1, R2로 지시된 방향으로 이동할 필요가 있다. 디렉터는 두 개의 인접 지역(Z, Y, X, W, V, U, T, S) 및 (A, B, C, D, E, F, G, H)를 가진다. 디렉터는 동시에 하나의 인접 지역에게만 메시지를 보낸다. 이것은 인접 지역(Z, Y, X, W, V, Y, T, S)에 메시지가 보내진 것을 가리키는 메시지 이름(예를들어, CARRIER_EXITED Qvw)에 대한 디렉터의 어느 한 측면상 인접 지역하는 지역에 문자를 부가함으로써 도 32A, 32B의 시퀀스 다이어그램을 나타낸다.
이 경우, 재료(P1)는 재료(P2) 전에 제어 디렉터 범위에 진입한다. P1은 좌측으로 턴하여야 하고 P2는 직선을 따를 필요가 있다. 도 32A, 32B에 도시된 이벤트의 시퀀스는 다음과 같다.
지역(A)는 P1에 대한 CARRIER_EXITING 메시지(830-1)를 생성한다. 디렉터를 이 메시지를 수신하고, P1이 832에 진입한후 회전하여야 하는 가를 결정한다.
지역(S)는 P2에 대한 CARRIER_EXITING 메시지(830-2)를 생성한다. 디렉터는 이 메시지를 수신하고 서비스 큐(832)상에 P2를 배치한다.
디렉터는 지역_비축됨 메시지(834-1)를 지역(B, C 및 D)에 보내서 포드가 Q상에서 정지하도록 감소될 필요가 있는 것을 가리킨다. 이 메시지는 상부 지역(B, C 및 D)가 P1을 감소하는 것을 시작하도록 한다. P1은 디렉터상에서 정지하도록 감속된다. 한편, P2는 지역(V)상에서 정지하도록 감속된다(CARRIER_정지됨 메시지 836-1 참조). (이것은 Qvw가 이용되지 않는 것을 가리키는 시작부로서 디렉터가 가리킬 때 발생한다. 이것은 R, S, T, U, V를 따라 인입하는 임의의 재료가 디렉터 앞에서 정지하도록 한다.
P1이 정지되는 것을 디렉터가 결정할 때, P1이 지역(W)(838)위로 떠나도록 하는 위치로 회전한다.
P1이 디렉터를 떠날 때, CARRIER_EXITING Qvw 메시지(840)는 외부로 보내진다. 일단 P1이 디렉터를 떠나면, CARRIER_EXITED Qvw 메시지(842)가 보내진다. CARRIER_EXITED 메시지(842)는 V에서 W로 이동을 위해 디렉터가 이용되게 한다.
일단 P1이 디렉터에서 떠나면, 디렉터는 인입 포즈(P2) 및 단지 P2가 정지없이 디렉터를 통하여 통과할 수 있는 것을 가리키는 지역_비축됨 메시지(834-2)를 지역(V, Y 및 X)에게 보낸다(왜냐하면 디렉터를 통한 루트가 직선이기 때문에). 지역(W)은 일단 포드가 지역(W)에 진입되면 안전한 회전 메시지(848)를 보낸다.
P2가 이동하기 시작하는 것을 일단 지역(V)이 결정하면(상기된 이동 룰을 바탕으로), P2는 풀 속도로 가속되어 V, Q, W 등으로 통과한다. 일단 포드(P2)가 디렉터를 떠나면, CARRIER_EXITING: Qvw 및 CARRIER_EXITED: Qvw 메시지는 디렉터에 의해 지역(W)으로 보내진다.
디렉터는 포드가 디렉에서 완전히 떠난 것을 가리키는 안전한 회전 메시지를 하부 지역으로부터 수신한다. 디렉터는 서비스 큐를 조사하고, 다른 재료를 발견하지 못하고, 홈 위치로 다시 회전한다.
일단 회전이 완료되면, 지역_이용가능 메시지(846)는 D 내지 Q로부터 E로 통과할 수 있는 임의의 인입 재료에게 신호하는 인접 지역(A, B, C, D, E, F, G, H)에게 보내진다.
상기된 디렉터 시나리오외에, 다른 디렉터 시나리오는 가능하다.
2. 디렉터 클러스터
몇몇 경우, 다수의 디렉터는 클러스를 형성하여 직접적으로 함게 접속될 수 있다. 디렉터 클러스터는 컨테이너가 데드록(deadlock) 상황없이 필요한 모든 디렉터를 통하여 통과할 수 있는 것을 보장하기 위하여 부가적인 통신을 요구한다.
도 33A-33B는 가능한 디렉터 클러스터 구조를 도시하고 도 33C-33D는 잠재적인 데드록 상황을 도시한다. 도 33A-33B에서 디렉터는 A, B, C 및 D이고, 각각의 디렉터를 통하여 허용된 엔트리 및 떠난 방향은 음영진 화살표로 도시되고 몇몇 가능한 클러스터를 통한 재료의 경로는 얇고, 굵은 화살표로 도시된다.
이런 형태의 디렉터 클러스터에서 재료 유니트가 U 턴할 필요가 있을 때, 상기 턴은 두 개 대신 4개의 디렉터를 포함한다는 것이 주의된다. 만약 단지 두 개의 디렉터가 U 턴을 위하여 필요하면, 단지 두 개의 재료 유니트를 가지는 데드록을 형성하는 것이 가능하다. 모두 4개의 디렉터의 사용을 요구함으로써 데드록은 재료가 모두 4개의 디렉터에 있을 때만 발생할 수 있다. 도 33C-33D는 잠재적인 데드록 조건을 도시한다.
도 33C에서 데드록은 재료가 반대 방향으로 동시에 도달하고 각각의 재료 유니트가 이동을 계속하기 위하여 다수의 방향을 사용할 필요가 있을 때 발생한다(예를들어, 양쪽 재료 유니트가 직선 경로를 따르기를 원할 때). 도 33D에서 데드록은 만약 남쪽으로 이동하는 두 개의 컨테이너가 디렉터 클러스터에 진입하면 발생하고, 여기서 첫 번째는 서쪽으로 나아간다. 이들 조건이 희귀하지만, 디렉터 제어기는 이들 조건이 발생하지 않는 것을 보장하도록 구성된다. 이들 데드록을 방지하기 위하여 디렉터 제어기에 의해 사용된 하나의 방법은 다음과 같다.
(1) 디렉터가 접근하는 컨테이너를 검출할 때, 얻어질 출력 방향을 결정할 것이다.
(2) 만약 출력 방향이 다른 디렉터에 접속되면, 제 1 디렉터는 독자적인 액세스를 요구하는 제 2 디렉터에 메시지를 보내야 한다.
(3) 만약 제 2 디렉터가 즉각적으로 독자적인 액세스를 허용할수없으면, 제 1 디렉터는 컨테이너가 진입하지 못하게 할 것이다.
(4) 만약 컨테이너의 출력 방향이 다른 디렉터쪽인 것을 제 2 디렉터가 결정하면, 제 1 디렉터에 응답하기전에 제 3 디렉터로부터 독자적인 액세스를 요구할것이다.
(5) 제 3 디렉터는 제 4 디렉터에 대한 독자적인 액세스도 요구할 수 있다.
(6) 제 1 디렉터가 제 2 디렉터로부터 액세스 허가를 수신하면, 제 2 디렉터 너머 임의의 부가적인 디렉터가 액세스되는 것이 보장된다.
F. 운반장치 라우팅
디렉터는 다수의 잠재적인 경로를 따라 운반장치의 루팅을 지원한다. 하기된 루팅 메카니즘은 다음 목적을 부합하도록 설계된다.
(1) 지역이 임의의적으로 표시되록 한다. 어시스트(Asyst) 자동 컨베이어 시스템은 복잡하고 유지하기 어려운 어드레싱 방법을 요구한다. 이런 어드레싱 방법은 컨베이어 구성이 변화할 때 물리적 레이아웃 및 요구된 갱신을 반영한다. 하기 메카니즘은 이들 제한을 제거한다.
(2) 목적지에 대한 루트의 자동 발견을 제공한다. 어이스트 자동 컨베이어 시스템에서 임의의 목적지에 대한 루트는 목적지 어드레스에 의해 내재된다. 결정 포인트는 운반장치를 루팅하기 위한 방향을 선택하기 위하여 간단한 수치 비교를 수행하여야 한다. 그러나, 이것은 목적지가 부가될때마다 수동으로 갱신되는 제어 시스템내의 데이터 베이스를 요구한다. 하기 알고리듬은 시스템이 데이터베이스를 자동을 갱신하도록 한다.
(3) 새로운 목적지 지역 또는 디렉터가 설치될 때, 그것들이 시스템의 자리와 자동적으로 통합되도록 메카니즘을 제공한다.
경로 길이 설정
루팅 기능을 수행하는 디렉터는 목적지에 대한 하나 이상의 경로를 가질 수 있다. 다중 떠난 방향의 경우, 디렉터는 최적 루트가 선택될 수 있는 몇몇 미터법을 가진다.
이런 거리 데이터를 얻기 위하여, 디렉터는 경로_길이 메시지를 모든 떠난 방향의 바로 하부 인접 지역 지역에 보낸다. 정상적인 지역이 메시지를 수신할 때, 그것은 지역 카운트 필드를 증가시키고 바로 아래 인접 지역에 상기 메시지를 전달한다. 결국, 메시지는 하부 디렉터에 도착하고, 카운트를 증가시키고 초기 디렉터에 다시 메시지를 전달한다. 이 정보는 본래 디렉터에 의해 루팅 테이블에 부가된다.
이 프로세스는 또한 ROUTE_CONT 메시지가 감독자로부터 수신될때 수행되거나, 어플리케이션이 시작되고 다운스트림 디렉터까지의 거리 정보를 갖고 있지 않다는 사실을 발견했을때 수행된다.
디렉터가 그 뒤쪽에 있는 디렉터까지의 거리(distance) 정보를 수신할 때까지, ROUTE_ANNOUNCE 메세지가 발생되지 않는다.
루트 발견
본 발명에 따라 달성되는 전송 시스템은 시스템내에서 로드/언로드 영역으로부터 임의의 다른 로드/언로드 영역으로의 루트(들)를 발견할 수 있다. 로드/언로드 영역이 활성화(예를 들어, 제 1 시간 동안 관련된 노드에 이르게 되면)될 때, 앞쪽 노드로의 영역 경보는 DEST_ANNOUNCE 메세지를 경유하여 지정된다. 만약 앞쪽 노드가 디렉터가 아닌 경우, 디렉터가 도달할 때까지 그 앞쪽 노드로DEST_ANNOUNCE가 전달된다. 각 시간마다 이러한 메세지가 뒤로 전달되어, 영역 카운터가 증가한다. 따라서 영역 카운터의 값은 디렉터로부터 로드 영역의 거리을 나타낸다.
DEST_ANNOUNCE 메세지를 수신함에 따라 디렉터는 수신지(destination)를 포함하도록 라우팅 테이블을 갱신한다. 다음 디렉터는 목적지를 알려주는 그 앞쪽 디렉터 밖으로 메세지를 보낸다. 결국 이러한 데이터는 모든 디렉터를 통해 전달되고 발신(originating) 디렉터에게로 돌아가게 된다. 발신 디렉터는 메세지를 전송하지 않는다. 영역 메세지가 수신지로부터 앞쪽에 있는 노드마다 노드로부터 노드로 디렉터에 이르도록 전달됨으로써 수신국이 가깝게 있도록 결정할 수 있다. 따라서, 임의의 영역이 수신지가 결과적으로 장애를 일으켜 이용불가능하게 되었다는 것을 그 앞쪽 디렉터로 통지할 수 있다(이러한 동작을 이하 상세히 설명한다.).
디렉터가 활성화될 때마다, 그 뒤쪽 디렉터로 경로 길이가 설정되고 루트 정보가 수집되고 전달된다. 이렇게 행해지는 방법의 몇가지 예를 도 34-36을 참조로 설명한다. 장애가 있는 시스템 요소에도 불구하고 그의 루트 정보를 디렉터가 변조시키는 방법의 예는 도 37-38을 참조로 설명한다. 이들 도면의 각각은 일반적인 전송 시스템의 물리적 레이아웃을 나타내며, 여기서;
·코너는 서클로서 라벨 "C"로 나타낸다;
·디렉터는 서클로서 라벨 "Di"로 표시하며, "i"는 인덱스이다;
·영역은 비어있는 박스에 의해 또는 박스로서 라벨 Zi로 표시되며, "i"는 인덱스이다;
·수신지 로드/언로드 영역은 라벨 "L/U"로 표시된다;
·허용된 이동 방향은 얇은, 화살표로 도시된다.
특히, 도 34는 단일의 로드/언로드 영역(L/U), 2개의 상류 영역(Z1, Z2) 및 몇개의 디렉터(D1,D2,D4,D6,D8)를 갖춘 물리적 레이아웃을 나타낸다. 일반적으로 루트 발견에 사용되는 메세지는 상류를 흐름다. 이러한 메세지의 흐름을 보다 상세히 설명하기 위해, 도 35는 영역(L/U)의 관점에 도 34의 엘리먼트 사이를 연결하여 상류에 도시한다. 도 34에 도시된 레이아웃을 참조로, 영역(L/U)이 제 1 시간에 이르러 전력이 가해진다. 이러한 영역은 그 구성 정보를 심사하고 로드/언로드 수신지에 있는지를 검사한다. 제 1 전력 상승됨에 따라, 비휘발성 메모리 내에 플래그가 제거되고, 영역(L/U)이 수신지로서 아직 등록되지 않았음을 나타낸다.
플래그상에서의 테스트에 따라, 영역(L/U)은 자체가 수신지임을 알린다. 이하 메세지를 야기시킬 수 있다:
(1) L/U는 거리(1)으로 바로 위쪽 네이버(neighbor)(Z1)로 DEST_ANNOUNCE 메세지를 전송한다.
(2) Z1은 L/U의 어드레스와 거리을 기록한다. Z1은 바로 위쪽 네이버(Z2)로 거리(2) 시간으로 DEST_ANNOUNCE 메세지를 전송한다.
(3) Z2는 L/U의 어드레스와 거리을 기록한다. Z2는 바로 위쪽 네이버(D8)로 DEST_ANNOUNCE 메세지를 전송한다.
(4) D8은 디렉트 루트로서 라우팅 테이블에 L/U를 부가한다.
(5) 다음 D8은 L/U로 다시 DEST_ANNOUNCE 메세지를 전송한다. L/U는 상기정보를 수신하고 등록 플래그를 변조시켜 다음 어플리케이션 개시에 따라 DEST_ANNOUNCE 메세지를 전송하지 않는다. 미리조절한 시간 주기 후에 다시 DEST_REGISTERED 메세지가 수신되지 않는다면, 노드는 랜덤한 시간 주기를 기다리고 또다른 DEST_ANNOUNCE를 전송한다. 이는 응답이 수신될 때까지 계속된다.
(6) 일단 D8이 D2,D4 및 D6로의 거리을 예정하면, 이들에게 ROUTE_ANNOUNCE를 전송한다. 메세지는 거리이 합산된 디렉트 경로로부터 각각의 디렉터로의 거리을 포함한다. D2,D6, 및 D6는 인디렉트 루트 또는 "비아(via)"로서 L/U를 포함하도록 이들의 경로표를 갱신한다. 출구 방향은 D8로의 연결의 물리적 발신의 디렉터의 지식에 기초하여 설정된다.
(7) 다음 D6가 상류 디렉터(D8)로 ROUTE_ANNOUNCE 메세지를 전송한다. D8이 L/U로의 디렉트 루트를 갖게됨에 따라, 비아 루트를 한정하는 메세지가 폐기된다.
(8) D4가 L/U로 전체 거리을 갖는 디렉터(D2)로 메세지를 전송한다. D2는 D4를 통한 루트가 D8 루트와 상이한 출구 방향을 갖고, 테이블에 새로운 루트를 저장하게 한다.
(9) D2는 D8로부터 메세지를 수신함에 따라 D1 메세지를 전송하고, D2로부터 메세지를 수신함에 따라 다른 메세지를 전송한다. 먼저 전송될 것이 상호결정된다. 제 1 메세지를 수신함에 따라, D1은 메세지로부터 계산된 경로 길이 및 D2로의 알려진 거리을 갖는 2개의 루트(D2로의 각각 출구 방향)를 부가한다. 제 2 메세지가 도달하게 되면, D1은 미리 루트 출구를 결정하나, 새로운 거리이 작은 경우 거리을 재계산하고 테이블을 변조시킨다. 결과적으로 어떠한 메세지도 제 2 메세지 세트로 전송되지 않는다.
(10) D1은 D4 및 D6로 ROUTE_ANNOUNCE 메세지를 전송한다. D4 및 D6는 새로운 루트를 인식하고 이들의 테이블에 루트를 저장한다.
(11) D4는 D2로 루트 메세지를 전송한다. D2는 이미 루트, 거리의 재계산을 결정하고, 필요한 경우 라우팅 테이블을 변조시킨다. 결과적으로 어떠한 메세지도 제 2 메세지 세트로 전송되지 않는다.
(12) 또한 D6는 D1을 통하는 루트로서 D8로 메시지를 전송한다. D8은 디렉트 루트를 갖춤으로써 비아 루트에 대한 메세지를 폐기한다.
이러한 동작의 결과로서, 디렉터(D1,D2,D4,D6,D8)의 라우팅 테이블은 표 9에 도시된 것처럼 갱신된다. 이 표에서, "수신지" 컬럼은 "디렉터" 컬럼에 나열된 디렉터를 통해 도달할 수 있는 루트 수신지의 ID를 나타내며, "경로 타입"은 "비아"(수신지가 다른 디렉터를 통해 도달하는 경우) 또는 "디렉트"(수신지가 다른 디렉터를 통하지 않고 도달할 수 있는 경우)이고 "디렉터 출구 방향" 컬럼은 디렉터의 각각의 "비아" 루트 및 루트를 지나야하는 출구 방향 및 출구 방향만의 각각에 대한 "디렉트" 루트를 부여한다.
테이블 9
경로 정보
디렉터 수신지 루트 타입 디렉터 출구 방향
D1 L/UL/U 비아비아 D2:90°D2:180°
D2 L/UL/U 비아비아 D4:0°D8:90°
D4 L/UL/U 비아비아 D8:0°D1:270°
D6 L/UL/U 비아비아 D8:90°D1:180°
D8 L/U 디렉트
주목할 것은, 임의의 부여된 수신지에 대해, 디렉터 루트의 수는 수신지가 디렉터가 갖는 출구 경로의 수와 같아야 한다는 것이다.
새로운 디렉터가 시스템에 부가되는 경우 제 2 시나리오가 존재한다. 이는 장애가 있는 디렉터의 교체를 야기시킬 수 있고, 또는 트렉의 새로운 세그먼트를 부가할 수 있다. 2가지 경우는 다소 상이하게 처리되기 때문에, 개별적으로 설명한다.
존재하는 디렉터가 이하의 디렉터 요구사항에 따라 교체된다;
·경로 길이 발견,
·뒤쪽 수신지가 이들자체에 경보 야기. 이는 노드에 의해 전달된 노드에 있는 메세지가 시스템내의 수신지 마다 자체 재알림되는 것을 방지하는데 요구된다.
·뒤쪽 디렉터로부터 모든 다른 루트의 언로드.
새로운 디렉터가 부가되는 경우, 트렉의 새로운 섹션으로, 앞서 설명된 방식으로 경로 길이를 추가로 발견하기 위해, 존재하는 디렉터에 의해 저장된 루트 정보의 적어도 서브세트가 갱신될 필요가 있다. 이러한 상황에서 리루트의 예를 도 36을 참조로 설명한다.
도 36은 새로운 디렉터(D9) 및 관련된 트랙을 부가한 도 34의 물리적 레이아웃을 나타낸다. 디렉터(D9)의 부가로, 디렉터(D1)는 180°루트를 따라 디렉터(D2)에 더이상 연결되지 않으며, 이는 라우팅 테이블이 더이상 유효하지 않다는 것을 의미한다. 마지막으로, D9는 빈 경로표를 갖는다. 일단 이러한 변화를 처리하는 방법을 이하 설명한다.
주목할 것은 새로운 트랙 섹션을 기계적으로 논리적으로 부가하기 위해서, 디렉터(D1)은 180°경로의 불연속 사용을 위해 ROUTE_DISCON을 통해 슈퍼바이저에 의해 알려져야 한다는 것이다. 일단 새로운 트랙 섹션에 전원이 가해지면, 디렉터(D9)는 그 라우팅 테이블을 검사하여 빈 곳을 찾는다. 그 결과, 디렉터(D9)는 우선 0° 및 90° 출구를 통해 디렉터(D2)에 경로 길이를 형성한다. 다음으로 디렉터(D9)는 그 하부 디렉터(D2)에 ROUTE_TABLE_REQ 메시지를 전송한다. 디렉터(D2)가 디렉터(D9)로부터 메시지를 수신할 때 몇 가지 이유로 라우팅 테이블을 갖지 않는다면, 응답하지 않을 것이다. 그 다음에 디렉터(D9)는 타임-아웃될 것이고 메시지를 다시 전송할 것이다. 이것은 디렉터(D2)가 디렉터(D9)에 라우팅 테이블을 전송할 때까지 지속된다(이 전체 시스템은 처음 시작할 때, D2로부터 수신된 라우팅 테이블은 모든 수신지 영역 정보가 네트워크를 통해 전파되지 않을 때 불완전해질 수 있다. 나머지 정보는 네트워크를 통해서 전파된 루트 정보로서 결구 D9에 도달한다). 접속된 디렉터의 디렉터(D1) 리스트는 또한 D9을 포함하도록업데이트되야 한다. D1은 또한 그 180o 출구에 대한 라우팅 테이블 업데이트를 필요로 한다.
라우팅 테이블
전술한 바와 같이, 각 디렉터가 라우팅 테이블을 유지하는 설명된 실시 형태에서, 각 디렉터는 출력 방향으로 콘테이너가 라우팅되도록 출력 방향을 결정하는데 사용된다. 라우팅 테이블은 모든 근거리 수신지(즉, 다른 디렉터를 통과하지 않고 직접 도달될 수 있는 이러한 영역) 및 원격 수신지(즉, 다른 디렉터를 통해서 도달될 수만 있는 영역)에 대한 엔트리를 포함한다. 일 실시 형태에서 라우팅 테이블은 다음의 정보를 포함한다:
·수신지
·출구 방향
·루트가 디렉트인가 또는 "비아"인가의 여부
·루트 길이(이것은 현재 디렉터로부터 최종 목표까지의 영역의 수이다). 루트 길이는 더욱 일반적으로는 특정 목표에 2개의 루트의 상대적 "장점"을 나타내는 "장점 요소"이다. 가장 간단한 장점 요소는 거리이지만, 트래픽 조건(즉, 상대 속도) 등의 다른 알고리즘도 사용될 수 있다.
·루트 상태
라우팅 데이터는 부여된 수신지를 향한 모든 루트가 연속되도록 조직화된다. 하나의 가능한 조직화에서 디렉트 루트가 우선되고, 다음으로 비아 루트이며, 비아 루트는 증가된 거리에 의해 순서가 정해진다.
라우팅의 변화
루트 추가에 대해 전술한 시나리오 이외에, 루트의 변화는 일시적으로 사용할 수 없게 되는 루트 때문에 발생할 수 있다. 루트는 다음의 이유로 사용할 수 없게 될 수 있다.
(F1) 수신지 영역은 기계적 오류를 검출한다.
(F2) 수신지 영역의 접점에 오류가 발생한다.
(F3) 상부 디렉터와 수신지 사이의 영역은 기계적 오류를 검출한다.
(F4) 상부 디렉터와 수신지 노드 사이의 노드에 오류가 발생한다.
(F5) 수신지로부터의 상부 디렉터는 기계적 오류를 검출한다.
(F6) 수신지로부터의 상부 디렉터에 오류가 발생한다.
(F7) 슈퍼바이저는 디스에이블 루트에 명령을 전송한다.
시나리오 F7 : 슈퍼바이저 루트 디스에이블 상태
시나리오(F7)에서, 디렉터에 대한 슈퍼바이저는 특정 세트의 루트가 디스에이블되는 디렉터를 알려준다. 슈퍼바이저는 디스에이블되는 디렉터의 출력 방향을 PATH_DISCON 메시지에서 지정한다. 다음으로 출력 방향과 관련된 모든 루트는 사용할 수 없게 된다. 이런 타입의 디스에이블 상태는 트랙 오프-라인의 부분을 취하는 과정에서, 가능하다면 미리 유지 또는 트랙 수정하는 과정에서 행해질 수 있다.
시나리오 F4 : 전체 접점 오류
시나리오(F4)에서, 노드에 오류가 발생할 때(즉, 전력 손실 또는 CPU 오류가원인), 노드은 더 이상 캐리어를 이동시킬 수 없거나 심지어는 그 상부 디렉터에 그 상태를 전송할 수 없을 것이다. 이 조건은 다른 노드에 의해 검출될 필요가 있다. 노드가 하부 노드의 전체 오류를 검출할 수 있도록, 각 노드는 주기적으로 NODE_PING 메시지를 임시 하부 노드에 전송한다. 수신 노드가 핑(ping)에 대한 응답을 수신하지 못하면, 전송 노드는 하부 노드에 오류가 발생한 것으로 판단한다. 이 때 전송 노드은 NODE_FAULT 메시지를 오류 노드의 어드레스를 포함하는 위쪽의 이웃하는 노드 및 그 자체 노드에서 가장 가까운 수신지로 전송한다(이것은 수신지에 도달할 수 없게된 디렉터를 지칭한다). 이 메시지는 디렉터로 다시 전송된다. 디렉터는 슈퍼바이저에 NODE_FAULT 메시지를 전송하며, 오류가 존재하는 출구 방향을 이용하여 모든 목표를 위치시키며, 그리고 이러한 목표로 루트를 디스에이블 시킨다. 일단 하부 노드가 오류가 있다는 것이 검출되면, 노드가 핑(ping)되도록 시도가 계속된다. 잘못된 핑 각각에 대해, 노드는 다시 위쪽으로 NOTE_FAULT 메세지를 전송한다.
결국, 뒤쪽 노드는 복구 또는 교체로 인해 핑 메세지에 응답한다. 다음 핑을 발신한 노드가 다시 위쪽에 NODE_RESTORED 메세지를 전송하여 디렉터에 도달한다. 노드가 교체되는 경우, 상기 설명된 방식으로 자체 통보가 이루어지나, 뒤쪽 수신지는 여전히 다시 부가될 필요가 있다. 노드가 복구되는 경우, 다시 자체 통보는 이루어지지 않는다.
도 37은 오류가 있는 노드("X"표시)에 대한 시스템 프로세스에 의해 수행되는 프로세싱을 나타내기 위한 예시적 물리적 레이아웃을 나타낸다. 노드의 오류이전에 이러한 레이 아웃에 대한 초기 루트 정보를 표 10에 도시한다. 이 표에서의 컬럼은 뒤쪽 디렉터가 수신지 앞에 최종 디렉터인지 또는 아닌지를 나타내는 "최종 디렉터" 컬럼을 제외하고는 표 9에서와 동일하다.
테이블 10
초기 루트 정보
디렉터 수신지 루트 타입 디렉터 출구 방향 최종 디렉터
D1 L/U1L/U1L/U2L/U2L/U3L/U3 비아비아비아비아비아비아 D2 : 90°D2 :180°D2 :90°D2 : 180°D2 :90°D2 :180° FTTTTT
D2 L/U2L/U3L/U1L/U1 디렉트디렉트비아비아 90°90°D4 : 0°D8 :90° --FT
D4 L/U1L/U1L/U2L/U2L/U3L/U3 비아비아비아비아비아비아 D8 : 0°D1 : 270°D8 : 0°D1 : 270°D8 : 0°D1 : 270° TFFFFF
D6 L/U1L/U1L/U2L/U2L/U3L/U3 비아비아비아비아비아비아 D8 : 90°D1 : 180°D8 : 180°D1 : 90°D8 : 180°D1 : 90° TFFFFF
D8 L/U1L/U2L/U2L/U3L/U3 디렉트비아비아비아비아 0°D6 : 90°D6 : 270°D6 :0°D6 : 270° -FFFF
X로 표시된 노드는 오류가 있는 것으로 가정한다. 그 결과 프로세싱은 다음과 같다:
(1) 노드 DN은 그 뒤쪽 노드로 NODE_PING를 전송하고 어떠한 응답도 수신하지 않는다.
(2) 노드 DN은 그 위쪽 노드로 NODE_FAILED 메세지를 전송한다. 메세지는오류가 있는 어드레스 및 L/U3 어드레스(수신지가 자체적으로 공지된 경우 알게된 정보), 노드 DN에서 가장 가까운 수신지를 포함한다.
(3) 위쪽 노드는 디렉터(D2)에 의해 메세지가 수신될 때까지 메세지 전송을 계속한다. D2는 루트 표에서 L/U3를 발견하고 더 멀리 있고 90°출구를 통해 액서스되는 모든 다른 디렉트 수신지(즉, L/U2)와 함께 루트를 삭제한다. D2는 90°에서 D8을 통해 L/U1로의 루트를 삭제한다. ROUTE_DISCON 메세지는 L/U2 및 L/U3가 라우팅 테이블로부터 제거되는 경우 D1으로 전송된다. 0°출구를 통해 L/U1으로의 루트가 여전히 존재함에 따라 L/U1으로의 비아 루트를 위해 어떠한 ROUTE_DISCON 메세지도 전송되지 않는다.(오류가 있는 노드인 경우, 최종 디렉터 플래그는 사용되지 않는다).
(4) D1은 불연속한 루트 L/U2를 위한 메세지를 수신한다. 라우팅 테이블로부터 L/U2를 위한 양쪽 엔트리를 제거하고 D4 및 D6로 L/U2를 위한 ROUTE_DISCON 메세지를 전송한다. 유사하게, L/U3를 위한 루트는 삭제되고 D3로 ROUTH_DISCON 메세지를 전송한다.
(5) D4 및 D6는 L/U2 및 L/U3를 위한 ROUTE_DISCON 메세지를 수신하고 이들의 루트 테이블로부터의 엔트리를 삭제한다.
(6) D4는 D6 및 D8로 ROUTE_DISCON 메세지를 전송한다. 루트가 테이블에서 발견되지 않기 때문에(이미 삭제되었음) D6은 메시지를 버릴 것이다. D6은 어떠한 메시지도 전송하지 않은 것이다. D8은 자신의 테이블에서 루트를 삭제하여 D6 및 D4에 메시지를 전송한다. 이들 모두 메지시를 제거할 것이다.
(7) D6은 ROUTE_DISCON 메시지를 D8에 전송할 것이다. D8은 루트가 더 이상 존재하지 않기 때문에 이러한 메시지를 제거할 것이다. 이러한 과정에 뒤이어, 디렉터에 의해 저장된 라우팅 정보는 테이블 11에 도시된 것과 같을 것이다. 테이블에서 열은 테이블 9에서와 같다.
테이블 11
최종 라우팅 정보
디렉터 목적지 전달 타입 디렉터 출구 방향
D1 L/U1L/U1 경유경유 D2 : 90°D2 : 180°
D2 L/U1 경유 D4 : 0°
D4 L/U1L/U1 경유경유 D8 : 0°D1 : 180°
D6 L/U1L/U1 경유경유 D8 : 90°D1 : 180°
D8 L/U1 직접
시나리오 F2 : 지역의 기계적 결함
만일 지역이 캐리어의 움직임을 단축시키는 기계적 결합에 직면하면, 지역은 결함의 업스트림 노드 및 ZONE_FAULT 메시지를 갖는 가장 가까운 다운스트림 목표 어드레스의 업스트림 노드를 통보할 것이다. 메시지는 업스트림 디렉터로 역으로 전달된다. 디렉터는 목표 및 사용 불가능한 것 이상의 모든 목표로 루트를 만들기 위해 ZONE_FAULT 메시지로부터 목표 어드레스를 사용한다. 이어 디렉터는 사용 불가능하게 된 각각의 루트에 대해 업스트림 디렉터로 ROUTE_DISCON 메시지를 전송한다.
시나리오 F5/F6 : 디렉터 결함 프로세싱
이하의 예는 도 38을 참조하여 디렉터가 결합일 경우 발생하는 프로세싱을 설명한다. 이 예에서, 디렉터(D8)는 손상되었다. 결함에 앞서 이러한 배치에 대한 초기 라우팅은 테이블 5에 도시된 것과 같다. 시스템은 이 경우 이하의 프로세싱을 실행한다.
(1) 디렉터(D8)가 손상당한 경우, NODE_PING 메시지에 대해 더 이상 응답하지 않을 것이다.
(2) NODE_FAILED 메시지는 업스트림 코너로부터 D6 및 D4로 전달될 것이다. 이 정보는 D2의 90°경로를 따르는 노드를 통해 D2에 역전달될 것이다.
(3) 디렉터(D2)가 통보되면, D8을 통해 루트를 위해 자신의 라우팅 테이블을 찾을 것이며, 루트 A 및 L/U1을 찾을 것이다. D8을 거쳐 A로의 루트는 라우팅 테이블에서 제거될 것이다. A로의 다른 루트가 존재하기 때문에, ROUTE_DISCON 메시지를 전달하지 않은 것이다. D8을 통해 L/U1을 검사할 것이다. 루트는 플래깅 마킹된 최종 디렉터를 갖기 때문에 D8 결함은 효과적으로 모든 루트를 종결시킨다. D2는 L/U1으로의 두 루트를 제거하며 업스트림 디렉터(D1)로 ROUTE_DISCON 메시지를 전달할 것이다.
(4) D1은 L/U1을 위해 ROUTE_DISCON 메시지를 수신하여 라우팅 테이블에서 두 루트를 제거할 것이다. 모든 루트가 제거되므로 업스트림 디렉터(D4 및 D6)로 ROUTE_DISCON 메시지를 전달할 것이다.
(5) D6은 자신의 업스트림 노드로부터 NODE_FAULT 메시지 및 D1으로부터 ROUTE_DISCON 메시지를 수신할 것이다. 만일 NODE_FAULT 메시지를 우선 수신한 경우, (D8 루트가 최종 디렉터 플래그 세트를 가지므로) 두 경로 모드를 제거하며, (업스트림 디렉터가 손상된 것 중 하나이므로) 어떠한 ROUTE_DISCON 메시지도 전달하지 않을 것이다. 만일 ROUTE _DISCON 메시지를 우선 수신한 경우, (최종 디렉터 플래그를 검사하지 않고) 두 루트 모두를 제거할 것이며, 업스트림 디렉터가 손상당하였으므로 ROUTE_DISCON 메시지를 전달할 필요가 없다고 결정할 것이다. 제 2 메시지가 입력된 경우, 루트는 즉시 제거되며 어떠한 프로세싱도 발생하지 않을 것이다.
(6) D4는 업스트림 노드로부터 노드-결함 메시지를 수신할 것이다. D4는 D8을 거쳐 L/U1으로의 루트를 정할 것이며 최종 디렉터 플래그를 체킹할 것이다. 플래그에 기초하여, 노드는 L/U1으로의 두 루트를 제거할 것이며 업스트림 디렉터(D2)로 ROUTE_DISCON 메시지를 전달할 것이다. 또한 D8을 거쳐 A로의 루트를 제거할 것이다.
(7) 만일 D2가 L/U1으로의 루트를 제거하였다면, D4로부터의 ROUTE_DISCON 메시지는 상기 루트를 제거하게 할 것이다.
본 발명이 특정 실시예를 참조하여 설명되었지만, 본 발명을 한정하지 않고 설명하였다. 다양한 변경이 덧붙인 청구항에 한정된 발명의 사상을 벗어나지 않고 당업자에 의해 실시될 수도 있다.
부록 A : 외부 이벤트
전달 시스템 외부 이벤트
이벤트 소오스 데스트 설명
CARRIER_INSTALLED 전달 제어기 CIM 머티리얼이 로드 포트로부터 레일로 전송된 경우 전달 제어기에 의해 전달됨. 인트러 베이(SEM)에 의해 한정됨
CARRIER_REMOVED 전달 제어기 CIM 머티리얼이 레일로부터 로드 포트로 전송된 경우 전달 제어기에 의해 전달됨. 인트러 베이(SEM)에 의해 한정됨
HOST_COMMEND CIM 전달 제어기 이벤트는 머티리얼 움직임 명령을 초기화하기 위해 CIM 시스템으로부터 전달된다. 가능한 명령 값은 트랜스퍼이다.
HOST_COMMEND_INITIATED 전달 제어기 CIM 전달 제어기를 나타내는 HOST_COMMAND 메시지에 대한 응답이 명령을 수신하고 실행한다.
REMOVE_COMMEND_SEND 전달 제어기 CIM 인트러 베이(SEM)는 메시지를 한정. 이러한 메시지는 움직임 상태 머신에서의 상태 변화에 대해 전달됨.
HOST_COMMEND_COMPLETE 전달 제어기 CIM 앞서 수신된 HOST_COMMAND가 완성된 경우 전달됨.
Event Report Send 전달 제어기 CIM 국부 동작의 초기화 및 완성을 나타내기 위해 전달기에 의해 전달됨.가능한 이벤트는 Acquiring, Acquired, Moving, Moved, Deposing, Deposit Complete, Carrier Installed, Carrier Removed를 포함한다.
부록 B : 내부-CLC 이벤트
내부-CLC 이벤트
이벤트 소오스 데스트 멀티 또는 포인트 캐스트 설 명
ACQUIRE_MATERIAL LAC 쓰레드 LPTD 쓰레드 포인트 이 이벤트는 특정 로드 포트로부터 특정 로드 포인트로 머티리얼을 전송하는 프로세스를 시작하도록 LPTD 쓰레드를 지시하기 위해 LCA 쓰레드에 의해 전달된다.메시지내의 정보:소오스 LCA 어드레스로드 포트 ID(또는 LPTD 위치1)로드 포인트 ID(또는 LPTD 위치2)
ALARM 멀티 알람 이벤트는 결함을 다른 시스템에 알리기 위해 생성된다.알람 이벤트는 이하의 정보를 포함한다:알람 보기주알람 코드부알람 코드응답 옵션:중단재시도무시응답없음알람 특정 정보
1. 위치는 LPTD가 물리적 위치를 암시하기 위해 이해하는 단순한 숫자이다. 이 경우 두 로드 포트 및 레일 위치는 1,2,3과 같은 정수로 열거될 수도 있다.
2. 각주
이벤트 소오스 데스트 멀티 또는 포인트 캐스트 설명
ALARM_RESPONSE 이 이벤트는 응답을 요구하는 알람에 응답하여 생성된다. 이벤트는 이하의 내용을 포함한다:알람 보기응답 옵션:중단재시도움직임 방향을 무시
CARRIER_EXITED 지역 쓰레드 인접 지역 쓰레드, LCA 쓰레드 멀티 이벤트는 컨테이너가 전류 지역을 회수한 다른 지역을 말하며 다운스트림 영역에 있을 것이다.메시지에서의 정보:소오스 지역 어드레스컨테이너 식별자
CARRIER_EXITING 지역 쓰레드 인접 지역 쓰레드 멀티 이벤트는 전류 지역에서 컨테이너가 전류 지역을 회수했음을 알린다. 적절한 다운스트림 노드가 수령에 대해 이하의 프로파일을 시작할 것으로 기대된다.메시지에서의 정보:소오스 지역 어드레스컨테이너 목표 지역 어드레스내부 머티리얼 ID속도 프로파일
CARRIER_REMOVED 지역 쓰레드 인접 지역 쓰레드 멀티 이 이벤트는 머티리얼이 레일로부터 제거된 경우 전류 지역에 의해 전달된다. 이는 인접 지역이 트래킹 테이블로부터 캐리어를 제거했음을 말하며 메시지에서 한정된 속도에 기초하여 속도 제어 테이블을 업데이트함을 의미한다.메시지에서의 정보:소오스 지역 어드레스내부 머티리얼 ID지역 최대 속도지역 최대 속도 필드는 머티리얼이 제고된 반면 지역이 여전히 사용 불가는함을 나타내는데 사용될 수 있다.
이벤트 소오스 데스트 멀티 또는 포인트 캐스트 설명
CARRIE_STOPPED 지역 쓰레드 인접 지역 쓰레드 멀티 이 이벤트는 머티리얼이 메시지를 초기화하는 지역에 대해 정지를 선언했음을 나타낸다. 메시지는 소정의 내부 지역 타이밍을 정지시키거나 스피드 테이블을 업데이트하는데 사용될 수도 있다.메시지에서의 정보는소오스 지역 어드레스내부 머티리얼 ID 이다.
DELIVER_MATERIAL LAC LPTD 이 이벤트는 LPTD 제어 쓰레드가 레일로부터 로드 포트로 포드를 이동시키기 위해 지시하도록 생성된다. 이 이벤트는 이하의 정보를 포함한다:내부 움직임 ID로드 포트 식별자머티리얼 위치 식별자
DEPOSIT_MATERIAL R.C. S.C. 이 이벤트는 머티리얼을 레일로 배치시키도록 셔틀을 지시하기 위해 생성된다.
DEST_ANNOUNCE 목표 지역 임의의 지역 이 메시지는 목표로서 구성된 지역에 의해 전달된다. 메시지는 지역 업스트림으로 즉시 전달되며, 디렉터에 도달할 때까지 지역 사이에서 전달된다. 메시지는 원래 메지시를 전송하는 목표 지역의 어드레스 및 각 지역이 증가할 수도 있는 코트 필드를 포함한다. 만일 지역이 한정된 시간 주기 내에서 응답을 수신하지 못하면, 임의 시간 주기를 기다려서 메시지를 재전송할 것이다.
DEST_REGISTERED 디렉터 목표 지역 이 메시지는 디렉터에 의해 목표 알림 메시지를 수신한 경우 목표 지역으로 전달될 것이다. 메시지는 디렉터의 라우팅 테이블에서 래지스터링된 목표 지역을 말한다.
FREE_LPTD LAC LPTD 이 이벤트는 LPTD를 포함하는 전달기가 완성되면 생성되고, 메카니즘이 다른 것에 의해 사용될 수 있다는 LPTD 제어 쓰레드를 신호 전송한다.
FREE_ZONE LAC 지역 쓰레드 포인트 이 이벤트는 지역이 스스로 자유롭다고 표시하도록 지시하기 위해 전달된다.
이벤트 소오스 데스트 멀티 또는 포인트 캐스트 설 명
LPTD_NOT_RESERVED LPTD 쓰레드 LAC 쓰레드 포인트 이 이벤트는 LPTD가 리퀘스터에 의해 예약될 수 없다는 것을 나타내기 위해 LPTD 쓰레드에 의해 생성된다.
LPTD_ RESERVED
MATERIAL_ ACQUIRED LPTD 쓰레드 LAC 쓰레드 포인트 이 이벤트는 일단 LTPD 쓰레드가 레일로 머티리얼의 전송을 완료하면 전달된다.
MATERIAL_ARRIVED 지역 쓰레드 또는 LAC 쓰레드 TC 또는 R.C. 이 이벤트는 전달 제어기에 머티리얼이 목적한 예비-로드 지역에 도달했음을 알리기 위해 생성된다.이벤트에서의 정보:내부 머티리얼 ID목표 어드레스이벤트는 지역 쓰레드에 의해 트랙 도달을 위해 TC로 생성되며, LAC 쓰레드에 의해 전달을 위해 SC로 생성된다.
MATERIAL_DELIVERED LPTD LAC 이 이벤트는 일단 LPTD가 머티리얼을 로드 포트로 성공적으로 전달한다면 생성된다.
MATERIAL_NOT_DELIVERED LPTD LAC 이 이벤트는 DELIVER_MATERIAL 명령이 성공적으로 완료되지 않았음을 나타내기 위해 전달된다.
MATERIAL_MOVED S.C. R.C. 이 이벤트는 움직임의 성공적인 완료에 대해 전달될 것이다. 머티리얼 획득에 대해 이벤트는 머티리얼이 업포지션에서 셔틀을 가진 셔틀의 레일 단부에 있음을 나타낸다.
MATERIAL_NOT_SENT 로드 영역 제어 쓰레드 S.C. 포인트 이 이벤트는 만일 전류 지역으로부터 목표로 머티리얼의 움직임을 초기화하지 못하면 레일 제어기에 의해 전달된다. 이벤트는 이하의 내용을 포함할 것이다:소오스 지역 어드레스내부 머티리얼 식별에러 코드
MATERIAL_SENT 로드 영역 제어 쓰레드 S.C. 포인트 이 이벤트는 목표를 향해 머티리얼을 성공적으로 전달했음을 나타내기 위해 레일 제어기에 의해 전달된다.이벤트는 이하의 내용을 포함한다:소오스 지역 어드레스내부 머티리얼 ID
이벤트 소오스 데스트 멀티 또는 포인트 캐스트 설명
MOVE_STATUS_UPDATE S.C. LAC 쓰레드 T.C. 이 이벤트는 특정 움직임의 상태에 대해 업데이트를 제공하기 위해 T.C.로 전달된다. 이벤트는 이하를 포함한다:전달자 어드레스내부 머티리얼 식별자상태
NODE_FAULT 임의의 노드 인접 업스트림 노드 노드는 이 메시지를 노드가 손상되었음을 알리기 위해 (디렉터에 의해 수신될 때까지) 인접 업스트림 노드에 전달할 것이다. 메시지는 손상된 노드의 주소 및 손상을 보고하는 노드에 가장 인접한 다운스트림 목표를 포함할 것이다.
PATH_LENGTH 임의 임의 디렉터는 이 메시지를 인접한 다운스트림 인접 지역에 전달할 것이다. 메시지는 다음 디렉터에 도달하기까지 지역에서 지역으로 전달될 것이다. 각 지역은 메시지를 전달함에 따라 경로 길이를 증가시킬 것이다. 수신 디렉터는 카운트를 증가시키며 메시지를 방향 디렉터로 다시 전달할 것이다.
POSITION_TO LAC 쓰레드 업스트림 및 다운스트림 로드 지역 쓰레드 포인트 LAC는 두 지역이 포드를 로드 포인트에서 다운스트림 로드 지역으로 이동시켜서 양 센서가 포드를 검출하도록 지시하기 위해 이 이벤트를 전달한다.
POSITIONED_TO 지역 쓰레드 LAC 쓰레드 포인트 지역은 일단 배치를 완료하면 이 이벤트를 전달한다.
RESERVE_LPTD LAC 쓰레드 LPTD 쓰레드 포인트 이 이벤트는 머티리얼 전달을 위해 LPTD를 보유하도록 시도하기 위해 LAC 에 의해 전달된다. 이 이벤트는 LPTD가 복수의 로드 포트를 편리하게 할 수도 있어서 하나 이상의 LPTD에 의해 잠재적으로 요구된 경우 포함된다.
RESERVE_ZONE LAC 쓰레드 LAC 쓰레드 이 이벤트는 지역이 보유되도록 레일 제어기에 의해 생성된다. 이벤트는 로드 영역 제어기 프로세스에 의해 생성된다. 만일 지역이 LAC로서 동일한 RC 의 제어아래 있다면, 통신은 상호 프로세스이다. 만일 지역이 LAC로서 상이한 RC의 제어에 있다면, 통신은 상호 프로세서이다.
이벤트 소오스 데스트 멀티 또는 포인트 캐스트 설 명
ROUTE_ANNOUNCE 디렉터 디렉터 디렉터가 새로운 목표 알람을 수신하고 자신의 라우팅 테이블을 업데이트 한 후, 업스트림 디렉터로부터 이 메시지를 전달할 것이다. 메시지는 루트가 이미 라우팅 테이블에 존재한 경우는 전달되지 않을 것이다.
ROUTE_CONT 전달 제어기 디렉터 이 메시지는 새로운 활성으로서 이미 활성화 제거된 디렉터의 출구 경로를 마크하기 위해 전달될 것이다.
ROUTE_DISCON 전달 제어기 디렉터 이 메시지는 사용 불가능으로서의 디렉터의 출구 경로를 마크하기 위해 전달 제어기로부터 디렉터로 전달될 것이다.
ROUTE_TABLE 디렉터 디렉터 이 메시지는 디렉터로부터 ROUTE_TABLE_REQ 메시지에서 식별된 업스트림 디렉터로 전달된다. 메시지는 전달 디렉터를 위해 완료 라우팅 테이블을 포함할 것이다.
ROUTE_TABLE_REQ 디렉터 디렉터 이 메시지는 상기 디렉터가 자신의 라우팅 테이블을 전달했는지를 요청하기 위해 디렉터로부터 다운스트림 디렉터로 전달된다. 만일 한정된 시간 주기 후에 어떠한 응답도 메시지에 수신되지 않으면, 디렉터는 임의 시간 주기를 기다려서 메시지를 재전송할 것이다.
SEND_MATERIAL LAC 지역 포인트 이 이벤트는 포드가 움직임을 시작하기 위해 상주하는 지역에 명령하기 위해 전달된다. 이벤트는 이하를 포함한다:내부 움직임 ID목표 어드레스움직임 방향(좌 또는 우)
SET_PARAMETER 전달 제어기 제어기 새로운 값으로 제어기의 전류 셋업 파라미터를 대체하기 위한 전달 제어기로부터 제어기로의 명령. 제어기에 존재하지 않는 파라미터 이름은 추가될 것이다. 존재하는 파라미터 이름은 변화된 값을 가질 것이다. NULL 의 새로운 값을 갖는 존재하는 파라미터는 제어기로부터 제거될 것이다.
SHUTDOWN_CMD 전달 제어기 제어기 이벤트는 0의 속도로 모든 컨테이너를 감소시키기 위한 모든 제어기를 말한다.
SHUTDOWN_STATUS 전달 제어기 전달 제어기 이벤트는 제어기의 정지 프로세스에 대한 상태 정보를 제공한다.
이벤트 소오스 데스트 멀티 또는 포인트 캐스트 설명
ZONE_AVAILABLE 지역 쓰레드 인접 지역 쓰레드, LAC 쓰레드 멀티 지역 쓰레드는 자신의 이웃에 대해 유용성 및 최대 엔트리 속도를 알리기 위해 이 메시지를 전달한다. 만일 지역이 포드를 갖는다면, 이 이벤트는 수신기가 자신의 데이터 베이스에서 포드를 삭제하도록 지시한다.
ZONE_FAULT 임의의 지역 쓰레드 인접 업스트림 노드 노드를 갖는 결함 상태의 검출시 노드는 업스트림 노드로 이 메시지를 전달한다. 이 메시지는 디렉터를 향할 것이다. 메시지는 결함 코드, 결함 코드의 어드레스 및 이 노드에 대해 가장 인접한 다운스트림 목표를 포함할 것이다. (이 메시지는 NODE_FAULT 메시지에 대한 동일하게 실행될 수도 있다)
ZONE_IS_SAFE_NOTIFICATION 지역 쓰레드 LAC 쓰레드 포인트 이 이벤트는 일단 지역이 '안전'하다고 결정되면 NOTIFY_WHEN_SAFE_REQ 이벤트에 응답하여 전달된다.
ZONE_RESERVED Cur. 지역 쓰레드 인접 지역 쓰레드, LAC 쓰레드 멀티 이 이벤트는 지역에 의해 예약되었음을 알리기 위해 생성된다. 이벤트는 소오스 지역 어드레스를 포함할 것이다.
부록C: 국부 CAN 버스 메시지
다음 약자는 국부 CAN 버스 메시지/이벤트를 나타내는 다음 설명에 이용된다.
ZC: 지역 제어기
AC: 축 제어기
IC: ID 제어기
HC: (E23) 핸드쉐이크 제어기
XC: SECS 제어기
TC: 이송 제어기
이들 설명은 4개 타입의 메시지/이벤트로 분할된다: 즉, 일반 메시지/이벤트, 지역 제어기 메시지/이벤트, 핸드쉐이크 메시지/이벤트, 및 축 제어기 메시지/이벤트.
1. 일반 메시지/이벤트
1.1 ACK(확인응답)
ACK 메시지는 확인응답을 요구하는 명령(예를 들어, 실행 Execute ID를 포함하는 SET_PROFILE 명령)에 응답하여 지능형 드라이버 보드에 의하여 전송된다.
1.2 알람(ALARM)
알람 메시지는 주코드, 부코드 및 선택적인 주석 데이터 필드를 포함한다. 주코드는 시스템 폭, 16-비트값이다. 부코드는 주코드 내에서만 독특하며, 따라서 8비트값으로 표시될 수 있다. 선택적인 데이터 필드는 특정 알람을 기초로 가변된다.
1.3 CONTROLLER_STATUS_REQUEST(제어기_상태_요구)
CONTROLLER_STATUS_REQUEST는 현재 상태에 대하여 제어기에 문의하기 위하여 전송된다. 제어기는 각각의 개별 제어기에 대하여 섹션으로 한정된 상태 메시지로 응답하는데, 예를 들어 지역 제어기는 ZONE_STATUS 메시지로 응답한다.
1.4 FORCE_RESET(강제_리세트)
FORCE_RESET는 제어기를 강제로 재부팅하기 위하여 전송된다. 강제 리세트 명령과 관련된 데이터는 제어기가 디폴트값을 이용하여 리세트될 것인지 아닌지를 결정한다; 즉 비휘발성 메모리, 특히 CAN 버스 어드레스에 저장된 이들 제어 파라미터.
1.5 GET_PARAMETER
GET_PARAMETER 는 지능형 드라이버, 예를 들어 드라이버 보드의 CAN 버스 어드레스에 의하여 저장된 여러 가지 제어 파라미터를 독출하기 위하여 CLC에 의하여 전송된다. 이 명령을 통하여 독출될 수 있는 파라미터는 제어기 보드 타입에 의지역한다. 독출될 파라미터는 독특한 2-바이트 번호에 의하여 식별된다. 이 번호는 첫 번째 두 개의 데이터 바이트에 주어지며, 이는 SET_PARAMETER 명령에 이용되는 값에 대응한다. 지능형 드라이버는 파라미터 ID의 유효성을 체크하고, 만약 파라미터 ID값이 제어기에 적합하지 않으면 알람 메시지로 응답할 것이다.
1.6 I_AM_ALIVE
I_AM_ALIVE 메시지는 브트스트랩 동작 후에 또는 PING 또는 FORCE_RESET 메시지에 응답하여 지능형 드라이버 보드가 초기화를 완료했을 때는 언제나 전송된다. 브트스트랩은 파워온 리세트, 수동 리세트, 와치독 타이머 리세트 또는 명령에 의한 강제 리세트 때문에 발생될 수 있다. 와치독 타임아웃은 지역 제어기 보드에 대하여 630밀리초이다.
1.7 PARAMETER_RESPONSE(파라미터_응답)
PARAMETER_RESPONSE 메시지는 CLC로부터의 이전 GET_PARAMETER 명령에 응답하여 제어기에 의하여 전송된다. 복귀되는 파라미터는 첫 번째 2데이터 바이트로 주어지는 독특한 2바이트 번호로 식별된다. 파라미터의 현재값은 다음 6바이트로 주어진다. 6바이트 이하의 값들은 최하위 바이트로 복귀된다. ASCII 데이터는 이 메시지로 복귀될 수 있다. 최고 6개의 ASCII 문자가 복귀될 수 있다. 6개 이하의 문자가 복귀되면, 스트링은 널로 종료될 것이다. 6개의 문자가 복귀되면, 요구하는 애플리케이션은 스트링의 널 종료에 관련된다. 파라미터ID 값은 SET_PARAMETER 명령에 주어지는 것과 동일하다.
1.8 PING
PING 메시지는 주어진 네트워크 어드레스를 가지는 지능형 드라이버 보드의 존재를 빠르게 문의하기 위하여 CLC로부터 전송된다. 드라이버 보드가 존재하고 기능하고 있다면, 이는 I_AM_ALIVE 메시지로 응답한다.
1.9 SELF_TEST(자가_테스트)
SELF_TEST 메시지는 내장된 진단 기능을 지능형 드라이버 보드가 강제로 수행하도록 하기 위하여 CLC에 의하여 전송된다. Self-test는 시스템 오프 라인에서관리 중에, 또는 문제 제거 기간 중에 시스템 설치 프로세서의 일부로서 수행된다. 이들 테스트는 일반적으로 상당한 시간(컴퓨터 측면에서 보았을 때)을 소모하며 테스트되는 보드 타입에 따라 그 길이가 가변된다. SELF_TEST 메시지는 테스트에 따라 의미가 변동되는 6개의 파라미터를 가진다. 사용되지 않는 파라미터는 항상 전송되어 메시지가 항상 8바이트 데이터를 가지도록 한다.
1.10 SELF_TEST_RESULTS(자가_테스트_결과)
SELF_TEST_RESULTS 메시지는 SELF_TEST 메시지에 응답하여 지능형 드라이버 보드에 의하여 전송된다.
1.11 SENSOR_STATUS(센서_상태)
SENSOR_STATUS는 SENSOR_STATUS_REQUEST 명령에 응답하여 제어기에 의하여 전송된다. 또한, 대부분의 제어기는 이들 센서중 일부가 상태를 변경할 때 이들 메시지를 자동으로 발생시킨다. 예를 들어, 지역 제어기는 좌측 또는 우측 센서가 상태를 변경할 때는 언제나 이들 메시지중 하나를 발생시킨다.
1.12 SENSOR_STATUS_REQUEST(센서_상태_요구)
이 명령은 센서중 하나의 현재 상태에 대하여 제어기에 문의하기 위하여 전송된다. 제어기는 SENSOR_STATUS 메시지로 응답한다.
1.13 SET_PARAMETER
SET_PARAMETER 는 지능형 드라이버, 예를 들어 드라이버 보드의 CAN 버스 어드레스에 대하여 여러 제어 파라미터를 세트 또는 리세트시키기 위하여 CLC에 의하여 전송된다. 이 명령을 통하여 세트될 수 있는 파라미터는 제어기 보드 타입에따른다. 대부분의 이들 파라미터는 제어기의 비휘발성 메모리에 저장된다. 전송될 파라미터는 첫 번째 2데이터 바이트로 주어지는 독특한 2바이트 번호로 식별되며 전송될 값은 다음 6바이트에 주어진다. 지능형 드라이버는 파라미터가 적당한지를 체크하며, a) 파라미터ID값이 제어기에 대하여 적당하지 않거나 또는 b) 파라미터값이 범위에서 벗어나면 알람 메시지로 응답한다.
2. 지역 제어기 메시지
2.1 실행(EXECUTE)
실행 메시지는 최고 두 개의 가능한 모터 프로필을 실행하는 지역 제어기를 가리킨다. 모든 진행중인 프로필은 지역 제어기 큐로부터 발생된다. 이 명령은 다수의 지역 제어기를 동기화하기 위하여 이용되어, 이들이 모두 동일 속도에서 동일 프로필을 동작시키도록 한다.
실행 명령은 실행 메시지 헤더의 목적지 어드레스 부분의 SET_PROFILE에 이미 전송되었던 실행 ID 번호를 결합시킴으로써 지역 제어기 세트에 어드레싱된다.
2.2 EMERGENCY_DECEL(비상_감속)
EMERGENCY_DECEL 메시지는 현재의 속도에 가능한 빨리 모터를 감속시켜 부드럽게 중지하도록 한다. 이는 정상 속도의 3배에서 모터를 감소시키도록 한다.
2.3 FLUSH_QUEUE(플러쉬_큐)
FLUSH_QUEUE 명령은 지역 제어기의 명령 큐로부터 모든 존재하는 SET_PROFILE 명령(실행 명령을 대기하는 것을 포함)을 삭제하기 위하여 이용된다. 프로필이 현재 동작하고 있는 것은 언제나 계속 동작하며; 아직 실행되지 않은 프로필만이 삭제된다. CLC는 모터를 정지시키기 위하여 이 명령을 사용할 수 없다. 수행될 것을 기다리는 프로필이 없으면, 이 명령은 아무런 효과가 없다.
2.4 MOTOR_IS_OFF
MOTOR_IS_OFF 메시지는 모터가 정지되거나 또는 모터가 턴오프될 때는 언제나(자유회전, 전류를 가지고 있지 않음) CLC로 전송된다. 이 메시지는 일반적으로 MOTOR_OFF 명령의 완성을 나타낸다. 이 메시지는 다음 조건하에서 전송된다:
MOTOR_OFF 명령에 응답하여.
모터가 0으로 감속되었을 때.
모터가 모터 정지 프로필 때문에 정지되었을 때.
2.5 MOTOR_OFF
MOTOR_OFF 명령은 현재 동작하는 모든 프로필을 정지시키고, 모든 큐잉된 프로필을 플러쉬시키고 그리고 모터가 자유 회전하도록 한다(즉, 모터에 전류가 흐르지 않음). 이 명령은 수신되자마자 실행된다. 명령이 현재 프로필의 완료 후에 실행되면, 모터 정지 프로필을 규정하는 SET_PROFILE 명령이 대신 전송되어야 한다. MOTOR_IS_OFF 메시지는 이 명령이 실행된 후에 전송된다.
2.6 MOVE_N
MOVE_N 메시지는 모터가 지정된 수십 밀리미터를 이동하도록 지역 제어기 보드에 전달된다. 이 메시지는 포드(pod)를 정확하게 배치하기 위하여 이용되며; 일반적으로 두 개의 지역 사이에 배치된 부하포트 앞에 배치되도록 한다.
2.7 MOVE_N_DONE
MOVE_N_DONE 메시지는 MOVE_N 동작을 완료했을 때 지역 제어기에 의하여 전송된다.
2.8 POSITION_REQUEST(위치_요구)
POSITION_REQUEST 명령은 지역의 센서중 어느 하나의 마지막 전이에 대하여 지역 내의 포드의 현재 위치를 얻기 위하여 이용된다. 제어기는 POSITION_RESPONSE 메시지로 응답한다.
2.9 POSITION_RESPONSE(위치_응답)
POSITION_RESPONSE 메시지는 이전 POSITION_REQUEST 명령의 결과로서 전송된다. 응답시의 데이터 필드는 가장 최근에 변경된 센서(즉, 좌측 또는 우측 센서)의 마지막 전이에 대하여 포드의 현재 위치를 제공한다. 위치는 10밀리미터의 정수값으로서 주어진다. 포드가 지역에서 좌측으로 이동중이면, 값은 네가티브이다.
2.10 ROTATION_UPDATE(회전_업데이트)
ROTATION_UPDATE 메시지는 지역 제어기의 바퀴가 이전의 SET_PARAMETER 메시지에서 특정된 양만큼 회전될 때는 언제나 전송된다. 지역 제어기는 매 5센티미터에 대응하는 디폴트값을 가진다. 모터가 정지되면, 이들 메시지 역시 중지된다.
지역 제어기는 바퀴가 회전을 중지하거나 또는 지역 제어기가 명령한 속도를 기초로 예상 속도에서 회전하지 못할 경우 알람 메시지를 전송한다.
2.11 SET_CONSTANT_SPEED
SET_CONSTANT_SPEED 명령은 지역 제어기에게 초당 밀리미터로 주어진 특정 속도, 에서 모터를 동작시키라고 지시하는데; 예를 들어, 56.7cps에 대하여, 이 값은 567일 수 있다. 이 명령의 실행은 SET_PROFILE 명령과 동일한 방식으로 트리거될 수 있는바; 즉 "실행 트리거" 필드는 SET_PROFILE 설명에서와 동일한 값을 가질 수 있다.
2.12 SET_PROFILE _PARAM
SET_PROFILE _PARAM 메시지는 CAN 메시지에 의하여 표시되는 특정 값에 대한 현재 프로필 주기, a0 및 a1을 리세트시킨다.
2.13 GET_PROFILE _PARAM
GET_PROFILE _PARAM 메시지는 지역 제어기로부터 중요 파라미터 값을 요구한다.
2.14 PROFILE _PARAM_RESP
PROFILE _PARAM_RESP는 GET_PROFILE _PARAM 다음에 전송된다. 이 메시지는 요구된 프로필에 대한 중요 값을 포함한다.
2.15 SET_PROFILE
SET_PROFILE 메시지는 지역 제어기에게 어느 모터 프로필이 수행될 것인지 또는 이 프로필이 실행을 시작해야될 때를 알려준다.
2.16 ZONE_STATUS
ZONE_STATUS 메시지는 CONTROLLER_STATUS_REQUEST 명령에 응답하여 지역 제어기에 의하여 전송된다.
3.1 핸드쉐이크 제어기
3.1.1 BUSY_SET
이는 E23비지 라인이 설정되었다는 것을 나타내는 CLC에 대한 응답 메시지이다.
3.1.2 COMPLETE_HANDSHAKE
CLC로부터의 이 명령은 제어기가 현재 진행중인 핸드쉐이크를 완료(즉, 종료)하도록 명령한다.
3.1.3 HANDSHAKE_COMPLETE
이 메시지는 진행중인 핸드쉐이크가 성공적으로 완료될 때 제어기로부터 전송된다.
3.1.4 INITIATE_HANDSHAKE
이 명령은 CLC로부터 전송되어 로드 포트 또는 다른 접속된 디바이스와의 핸드쉐이크를 형성하도록 제어기에게 지시한다.
3.1.5 LP_INIT_LOAD_REQ
이 메시지는 로드 포트 또는 다른 접속된 디바이스가 새로운 재료에 의하여 로딩될 것을 요구하기 시작할 때는 언제나 제어기에서 CLC로 전송된다.
3.1.6 LP_UNLOAD_REQ
이 메시지는 로드 포트 또는 다른 접속된 디바이스가 현재 재료가 이로부터 컨베어로 언로딩될 것을 요구하기 시작하는 것을 검출했을 때는 언제나 제어기에 의하여 CLC로 전달된다.
3.1.7 SET_BUSY
이 명령은 CLC로부터 제어기로 전송되어 제어기가 비지 라인을 접속된 디바이스로 설정하라고 지시하여 이송이 진행되는 것을 나타내도록 한다.
3.2 축 제어기 메시지/이벤트
3.2.1 AXIS_STATUS
축 제어기로부터의 요구 상태 정보
3.2.1.1 DEFINE_LOCATION
이 메시지는 CLC로부터 축 제어기로 전달되어 축의 현재 위치를 특정 위치로 한정하도록 한다. 다음 GOTO 명령이 이 위치로 이동시키기 위하여 발생될 수 있다.
3.2.2 FIND_HOME
FIND_HOME 명령은 회전자가 그의 홈위치 센서를 탐색하도록 하기 위하여 전송된다.
3.2.3 FIND_POSITION
FIND_POSITION 명령은 현재 축의 위치가 알려지지 않았을 경우 CLC에 의하여 전송된다. 이는 축이 센서 사이에 있도록 하는 회전 중에 전력 결함에 의하여 발생될 수 있다. CLC는 위치를 찾기 위하여 첫 번째로 이용될 모터 위치를 지정하여야 한다. 이동할 전체 거리는 지정된 FIND_POSITION일 수 있다. FIND_POSITION 명령은 이전에 한정된 수에 대하여 탐색할 것이다. 축은 명령이 실행되기 전에 홈위치에 있어야 한다.
3.2.4 GOTO
GOTO 명령은 회전 제어기를 현재의 미지의 위치에서 지정된 센서 위치로 이동시키도록 한다. 회전 제어기는 이동할 필요가 있는 마이크로스텝의 수를 계산하고 최고 속도로 급격하게 상승시키고, 순항하고 낮은 속도로 급격하게 속도를 낮추고, 그리고 센서를 찾는다(희망적으로, 센서 바로 위에 정지할 경우 탐색이 요구되지 않는다).
3.2.5 MOTOR_IS_OFF
이 메시지는 모터가 턴오프될 때는 언제나 명확한 명령 또는 프로필의 종료에 의하여 전송된다.
3.2.6 MOTOR_OFF
이 메시지는 모터를 즉시 턴오프시키기 위하여 전송된다.
3.2.7 MOVE_N
이 명령은 특정 거리(1/10 밀리미터 증분)로 지시기를 이동시킨다. 포맷은 지역 제어기의 MOVE_N과 동일하다(데이터는 다른 의미를 가짐).
3.2.8 MOVE_N_DONE
MOVE_N의 완료시 전송됨. 포맷은 지역 제어기와 동일함.
3.2.9 POSITION_REQUEST
이 메시지는 위치 센서가 독출되고 다시 보고될 때 한정되는 센서를 요구한다.
3.2.10 POSITION_RESPONSE
이 메시지는 POSITION_REQUEST에 응답하여 전송된다. 위치 센서의 상태는 비트 맵 필드에서 다시 보고될 것이다(다수의 센서가 판독 폐쇄되는 고장 상태를허용하기 위하여).

Claims (25)

  1. 사각 증착 영역을 형성하도록 화학 증기를 유입하는 다수의 일정 간격을 가진 선형 인젝터를 가지는 화학 기상 증착 챔버를 포함하는 형태의 화학 기상 증착 장치에 있어서,
    상기 선형 인젝터 어셈블리에 인접하게 코팅될 기판을 지지하는 수단 및 인접한 증착 영역이 통합되도록 상기 증착 영역의 장축에 수직인 방향으로 상기 기판지지 수단을 선형으로 왕복운동시키는 수단을 포함하는 화학 기상 증착 장치.
  2. 제 1항에 있어서, 상기지지 수단은 상기 사각 증착 영역의 중심 라인들 사이의 거리와 동일한 거리를 통하여 왕복운동하는 것을 특징으로 하는 화학 기상 증착 장치.
  3. 제 1항에 있어서, 상기 왕복운동 사이클과 동일한 포인트에서 소정의 균일한 두께의 필름의 증착을 위한 화학 증기의 유입이 시작되고 종료하는 것을 특징으로 하는 화학 기상 증착 장치.
  4. 제 3항에 있어서, 상기 증착은 상기 기판지지 수단의 이동 속도에 대하여 신속한 타임 스케일로 시작되고 종료되는 것을 특징으로 하는 화학 기상 증착 장치.
  5. 제 3항에 있어서, 상기 가스 흐름 및 웨이퍼 속도는 균일한 두께의 필름의 증착 중에 일정하게 유지되는 것을 특징으로 하는 화학 기상 증착 장치.
  6. 일정 간격의 선형 인젝터를 가진 챔버, 상기 선형 인젝터에 대하여 화학물질을 전달하는 시스템 및 상기 인젝터의 장축에 수직인 방향으로 증착 영역을 지나 상기 기판 또는 웨이퍼를 선형으로 이동시키는 수단을 포함하는, 기판 또는 웨이퍼 상에 균일한 필름 또는 층을 증착하는 화학 기상 증착 장치에 있어서,
    상기 기판을 선형으로 이동시키는 수단은 상기 인젝터의 중심 라인 사이의 간격과 유사한 미리 설정된 간격으로 상기 기판을 왕복운동시켜 균일한 두께의 필름 또는 층을 형성시키도록 인접한 인젝터의 증착 영역을 통합시키는 것을 특징으로 하는 화학 기상 증착 장치.
  7. 제 6항에 있어서, 상기 균일한 필름의 이동 방향에서 원하는 길이는 Lsub이며, 상기 증착 영역의 폭은 W이며, 상기 인젝터사이의 간격은 적어도 Linj=(Lsub+2W)/n이며, 여기서 n은 인젝터의 수인 것을 특징으로 하는 화학 기상 증착 장치.
  8. 제 6항에 있어서, 상기 미리 설정된 두께의 필름의 증착을 위한 화학물질의 전달은 상기 왕복운동 사이클에서의 동일 포인트에서 시작되고 종료되는 것을 특징으로 하는 화학 기상 증착 장치.
  9. 제 7항에 있어서, 상기 미리 설정된 두께의 필름의 증착을 위한 화학물질의 전달은 상기 왕복운동 사이클에서의 동일 포인트에서 시작되고 종료되는 것을 특징으로 하는 화학 기상 증착 장치.
  10. 제 8 또는 9항에 있어서, 상기 증착은 상기 기판지지 수단의 이동 속도에 대하여 신속한 타임 스케일로 시작되고 종료되는 것을 특징으로 하는 화학 기상 증착 장치.
  11. 제 8 또는 9항에 있어서, 상기 가스 흐름 및 웨이퍼 속도는 균일한 두께의 필름의 증착 중에 일정하게 유지되는 것을 특징으로 하는 화학 기상 증착 장치.
  12. 제 6 또는 7항에 있어서, 상기 선형 인젝터는 유사한 증착 영역을 제공하도록 구성되는 것을 특징으로 하는 화학 기상 증착 장치.
  13. 제 1, 6 또는 7항에 있어서, 상기 필름 두께상의 기판 지지부의 가속 및 감속의 효과는 이동 방향의 반전 바로 전에 가스 흐름을 종료함으로써 보상되고 이동의 반전 바로 후에 재시작되는 것을 특징으로 하는 화학 기상 증착 장치.
  14. 제 1, 2, 6 또는 7항에 있어서, 상기 필름 두께상의 기판 지지부의 가속 및감속의 효과는 이동 거리를 제어함으로써 보상되는 것을 특징으로 하는 화학 기상 증착 장치.
  15. 제 14항에 있어서, 상기 이동 거리dL의 조정은 2v2/A와 동일하며, 여기서 "v"는 이동 속도이고, "A"는 기판 지지부의 이동 거리의 감속/가속 cm/sec2인 것을 특징으로 하는 화학 기상 증착 장치.
  16. 기판 또는 웨이퍼 상에 균일한 필름 또는 층을 증착하는 화학 기상 증착 장치로서,
    증착 챔버;
    상기 챔버내의 다수의 일정간격을 가진 사각 증착 영역에 기체 화학물질을 전달하도록 배치된 다수의 기체 화학물질 인젝터;
    상기 사각 필름 영역이 기판 상에 증착되도록 상기 기체 화학물질 인젝터와 합동으로 기판을 지지하는 척; 및
    상기 사각 필름 영역이 균일한 두께의 필름을 형성하기 위하여 통합되도록 상기 선형 인젝터의 장축에 수직인 방향으로 상기 척을 미리 설정된 간격만큼 선형으로 왕복 이동시키는 수단을 포함하는 것을 특징으로 하는 화학 기상 증착 장치.
  17. 제 16항에 있어서, 상기 척에 대향하는 상기 챔버로 웨이퍼를 유입시키는 수단, 상기 웨이퍼를 받아들여 웨이퍼를 척의 표면쪽으로 낮추는 상기 척내의 핀 수단 및 상기 인젝터와 합동으로 상기 웨이퍼를 나르기 위하여 상기 척을 상승시키는 수단을 포함하는 것을 특징으로 하는 화학 기상 증착 장치.
  18. 제 17항에 있어서, 상기 균일한 필름의 이동 방향에서 원하는 길이는 Lsub이며, 상기 증착 영역의 폭은 W이며, 상기 인젝터사이의 간격은 적어도 Linj=(Lsub+2W)/n이며, 여기서 n은 인젝터의 수인 것을 특징으로 하는 화학 기상 증착 장치.
  19. 제 18항에 있어서, 상기 미리 설정된 두께의 필름의 증착을 위한 화학물질의 전달은 상기 왕복운동 사이클에서의 동일 포인트에서 시작되고 종료되는 것을 특징으로 하는 화학 기상 증착 장치.
  20. 제 19항에 있어서, 상기 증착은 상기 기판지지 수단의 이동 속도에 대하여 신속한 타임 스케일로 시작되고 종료되는 것을 특징으로 하는 화학 기상 증착 장치.
  21. 제 19항에 있어서, 상기 가스 흐름 및 웨이퍼 속도는 균일한 두께의 필름의 증착 중에 일정하게 유지되는 것을 특징으로 하는 화학 기상 증착 장치.
  22. 제 16항에 있어서, 상기 선형 인젝터는 유사한 증착 영역을 제공하도록 구성되는 것을 특징으로 하는 화학 기상 증착 장치.
  23. 제 16항에 있어서, 상기 필름 두께상의 기판 지지부의 가속 및 감속의 효과는 이동 방향의 반전 바로 전에 가스 흐름을 종료함으로써 보상되고 이동의 반전 바로 후에 재시작되는 것을 특징으로 하는 화학 기상 증착 장치.
  24. 제 16항에 있어서, 상기 필름 두께상의 기판 지지부의 가속 및 감속의 효과는 이동 거리를 제어함으로써 보상되는 것을 특징으로 하는 화학 기상 증착 장치.
  25. 제 24항에 있어서, 상기 이동 거리dL의 조정은 2v2/A와 동일하며, 여기서 "v"는 이동 속도이고, "A"는 기판 지지부의 이동 거리의 감속/가속 cm/sec2인 것을 특징으로 하는 화학 기상 증착 장치.
KR10-2001-7007431A 1998-12-14 1999-12-14 재료 이송 시스템용 분산 제어 시스템 구조 및 방법 KR100437926B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/212,002 1998-12-14
US09/212,002 US6240335B1 (en) 1998-12-14 1998-12-14 Distributed control system architecture and method for a material transport system

Publications (2)

Publication Number Publication Date
KR20010089577A true KR20010089577A (ko) 2001-10-06
KR100437926B1 KR100437926B1 (ko) 2004-06-30

Family

ID=22789151

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-7007431A KR100437926B1 (ko) 1998-12-14 1999-12-14 재료 이송 시스템용 분산 제어 시스템 구조 및 방법

Country Status (10)

Country Link
US (2) US6240335B1 (ko)
EP (1) EP1141439B1 (ko)
JP (1) JP3989683B2 (ko)
KR (1) KR100437926B1 (ko)
CN (1) CN1247423C (ko)
AU (1) AU2183400A (ko)
CA (1) CA2354624A1 (ko)
HK (1) HK1039162A1 (ko)
TW (1) TW452564B (ko)
WO (1) WO2000035782A2 (ko)

Families Citing this family (156)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4040377C1 (ko) * 1990-12-17 1992-02-06 Thermoselect Ag, Vaduz, Li
SE512647C2 (sv) * 1998-01-22 2000-04-17 Sunds Defibrator Ind Ab Förfarande och styrsystem för att styra ett transportörsystem samt en anläggning för balning av pappersmassa
US7269475B1 (en) * 1998-03-02 2007-09-11 Xerox Corporation Distributed control system with global contraints for controlling object motion with smart matter
US6240335B1 (en) * 1998-12-14 2001-05-29 Palo Alto Technologies, Inc. Distributed control system architecture and method for a material transport system
US6389494B1 (en) * 1998-12-30 2002-05-14 Emc Corporation System for interfacing a data storage system to a host utilizing a plurality of busses for carrying end-user data and a separate bus for carrying interface state data
US7117275B1 (en) 1999-01-04 2006-10-03 Emc Corporation Data storage system having separate data transfer section and message network
US7073020B1 (en) 1999-01-04 2006-07-04 Emc Corporation Method for message transfer in computer storage system
US6662076B1 (en) * 1999-02-10 2003-12-09 Advanced Micro Devices, Inc. Management of move requests from a factory system to an automated material handling system
US6507945B1 (en) * 1999-05-05 2003-01-14 Symyx Technologies, Inc. Synthesizing combinatorial libraries of materials
DE19930660A1 (de) * 1999-07-02 2001-01-11 Siemens Ag Verfahren zur Überwachung oder zur Installation neuer Programmcodes in einer industriellen Anlage
US6615274B1 (en) * 1999-12-09 2003-09-02 International Business Machines Corporation Computer network control systems and methods
US6711450B1 (en) * 2000-02-02 2004-03-23 Advanced Micro Devices, Inc. Integration of business rule parameters in priority setting of wafer processing
US20020045956A1 (en) * 2000-02-18 2002-04-18 Kapitan Brian A. Network distributed motion control system
US7003601B1 (en) 2000-03-31 2006-02-21 Emc Corporation Data storage system having separate data transfer section and message network with plural directions on a common printed circuit board
US7010575B1 (en) 2000-03-31 2006-03-07 Emc Corporation Data storage system having separate data transfer section and message network having bus arbitration
US7007194B1 (en) 2000-06-29 2006-02-28 Emc Corporation Data storage system having point-to-point configuration
US6993621B1 (en) 2000-03-31 2006-01-31 Emc Corporation Data storage system having separate data transfer section and message network with plural directors on a common printed circuit board and redundant switching networks
US6779071B1 (en) * 2000-04-28 2004-08-17 Emc Corporation Data storage system having separate data transfer section and message network with status register
EP1303729B1 (en) 2000-07-06 2007-11-21 Brooks Automation, Inc. Item storage and retrieval system
US6591162B1 (en) * 2000-08-15 2003-07-08 Asyst Technologies, Inc. Smart load port with integrated carrier monitoring and fab-wide carrier management system
US6351684B1 (en) * 2000-09-19 2002-02-26 Advanced Micro Devices, Inc. Mask identification database server
JP3508130B2 (ja) * 2000-09-21 2004-03-22 村田機械株式会社 搬送システム
WO2002059738A1 (en) * 2001-01-26 2002-08-01 Asyst Technologies, Inc. Control system for transfer and buffering
US6854583B1 (en) * 2001-02-06 2005-02-15 Middlesex General Industries, Inc. Conveyorized storage and transportation system
US6678566B2 (en) * 2001-05-02 2004-01-13 Taiwan Semiconductor Manufacturing Co., Ltd. Backup control system (BCS) for optimizing utilization of multiple fabrication facilities
US7640582B2 (en) 2003-04-16 2009-12-29 Silicon Graphics International Clustered filesystem for mix of trusted and untrusted nodes
US7617292B2 (en) 2001-06-05 2009-11-10 Silicon Graphics International Multi-class heterogeneous clients in a clustered filesystem
EP1395887A2 (en) * 2001-06-07 2004-03-10 Siemens Aktiengesellschaft Tiered control architecture for material handling
EP1433726B1 (en) * 2001-06-20 2007-07-25 Itoh Electric Company Limited Zone controller
US20030093555A1 (en) * 2001-11-09 2003-05-15 Harding-Jones William Paul Method, apparatus and system for routing messages within a packet operating system
US6848933B1 (en) * 2001-11-13 2005-02-01 Rockwell Automation Technologies, Inc. System and methodology providing coordinated and modular conveyor zone control
TWI256372B (en) * 2001-12-27 2006-06-11 Tokyo Electron Ltd Carrier system of polishing processing body and conveying method of polishing processing body
US20030125817A1 (en) * 2001-12-31 2003-07-03 Scharwat Frank E. Multiple action controller system
US20030130774A1 (en) 2002-01-03 2003-07-10 Tripathi Pradeep R. Vehicle inspection enforcement system and method offering multiple data transmissions on the road
US6970953B2 (en) * 2002-01-04 2005-11-29 Hewlett-Packard Development Company, L.P. System and method for terminating a bus
US7925376B2 (en) * 2002-01-14 2011-04-12 Walgreen Co. Dump station apparatus and method for filling stock orders
US7280889B2 (en) * 2002-03-08 2007-10-09 Humphrey Products Company Networkable zone control modules and method and coveyor system incorporating the same
US6832139B2 (en) * 2002-03-21 2004-12-14 Rapistan Systems Advertising Corp. Graphical system configuration program for material handling
US7627631B2 (en) 2002-05-02 2009-12-01 Bea Systems, Inc. Systems and methods for collaborative business plug-ins
EP1535143A4 (en) 2002-06-19 2010-05-05 Brooks Automation Inc AUTOMATED MATERIAL HANDLING SYSTEM FOR SEMICONDUCTOR MANUFACTURING BASED ON A COMBINATION OF VERTICAL CAROUSELS AND OVERHEAD HOISTS
US7380654B2 (en) * 2002-07-26 2008-06-03 Abbott Laboratories Conveyor track drive
US7487099B2 (en) * 2002-09-10 2009-02-03 International Business Machines Corporation Method, system, and storage medium for resolving transport errors relating to automated material handling system transaction
KR101446511B1 (ko) * 2002-10-11 2014-10-07 무라다기카이가부시끼가이샤 자동 재료 핸들링 시스템
US20070092359A1 (en) * 2002-10-11 2007-04-26 Brooks Automation, Inc. Access to one or more levels of material storage shelves by an overhead hoist transport vehicle from a single track position
US20040118659A1 (en) * 2002-12-20 2004-06-24 Clinton Haris Method and system for operating a semiconductor factory
US7221993B2 (en) * 2003-01-27 2007-05-22 Applied Materials, Inc. Systems and methods for transferring small lot size substrate carriers between processing tools
US7778721B2 (en) * 2003-01-27 2010-08-17 Applied Materials, Inc. Small lot size lithography bays
US7584474B2 (en) * 2003-02-25 2009-09-01 Bea Systems, Inc. Systems and methods for transaction chaining
US7260441B2 (en) * 2003-07-03 2007-08-21 Honda Giken Kogyo Kabushiki Kaisha Method of inspecting a workpiece during a production run in which workpieces are supplied to workstations by an autoloader
CN100353270C (zh) * 2003-08-29 2007-12-05 神钢电机株式会社 传送系统
US20070003396A1 (en) * 2003-09-03 2007-01-04 Siemens Aktiengesellschaft System and method for extracting articles from a slot
JP4584556B2 (ja) * 2003-09-08 2010-11-24 株式会社エヌ・ティ・ティ・ドコモ プログラム制御装置及びプログラム制御方法
US7440932B2 (en) 2003-10-02 2008-10-21 International Business Machines Corporation Method and system for automating issue resolution in manufacturing execution and material control systems
US20050094343A1 (en) * 2003-10-31 2005-05-05 Mintz Richard C.Jr. Decentralized control of motors
US7720557B2 (en) * 2003-11-06 2010-05-18 Applied Materials, Inc. Methods and apparatus for enhanced operation of substrate carrier handlers
US7218983B2 (en) 2003-11-06 2007-05-15 Applied Materials, Inc. Method and apparatus for integrating large and small lot electronic device fabrication facilities
US20050209721A1 (en) * 2003-11-06 2005-09-22 Applied Materials, Inc. Methods and apparatus for enhanced operation of substrate carrier handlers
US20050065633A1 (en) * 2003-11-14 2005-03-24 Michael Wynblatt Systems and methods for relative control of load motion actuators
US20050107911A1 (en) * 2003-11-14 2005-05-19 Siemens Technology-To-Business Center Llc Systems and methods for controlling load motion actuators
US20050107909A1 (en) * 2003-11-14 2005-05-19 Siemens Technology-To-Business Center Llc Systems and methods for programming motion control
TWI316044B (en) * 2004-02-28 2009-10-21 Applied Materials Inc Methods and apparatus for material control system interface
TWI290875B (en) * 2004-02-28 2007-12-11 Applied Materials Inc Methods and apparatus for transferring a substrate carrier within an electronic device manufacturing facility
US7274971B2 (en) 2004-02-28 2007-09-25 Applied Materials, Inc. Methods and apparatus for electronic device manufacturing system monitoring and control
US7184852B2 (en) * 2004-04-07 2007-02-27 Taiwan Semiconductor Manufacturing Company, Ltd. System and method for integrating a dispatching system with multiple process lines in a semiconductor manufacturing environment
US7010377B2 (en) * 2004-04-29 2006-03-07 International Business Machines Corporation Method, system, and storage medium for facilitating a transport scheme in an automated material handling system environment
EP1617326A1 (en) * 2004-07-14 2006-01-18 Sap Ag Technique for handling hierarchical application data
US7123975B2 (en) * 2004-07-22 2006-10-17 Taiwan Semiconductor Manufacturing Co., Ltd. Manufacturing management system and method
JP4229020B2 (ja) * 2004-07-27 2009-02-25 ブラザー工業株式会社 制御装置、搬送制御装置、搬送システム及び画像形成システム
WO2006017617A2 (en) * 2004-08-04 2006-02-16 Siemens Energy & Automation, Inc. Integrated control card for conveying systems
US7142938B2 (en) * 2004-10-13 2006-11-28 Taiwan Semiconductor Manufacturing Co., Ltd. Manufacturing management system and method
US20060095153A1 (en) * 2004-11-04 2006-05-04 Chang Yung C Wafer carrier transport management method and system thereof
US8497761B2 (en) 2005-01-13 2013-07-30 Rite-Hite Holding Corporation System and method for remotely controlling docking station components
US8819103B2 (en) * 2005-04-08 2014-08-26 Palo Alto Research Center, Incorporated Communication in a distributed system
US7791741B2 (en) * 2005-04-08 2010-09-07 Palo Alto Research Center Incorporated On-the-fly state synchronization in a distributed system
US7873962B2 (en) * 2005-04-08 2011-01-18 Xerox Corporation Distributed control systems and methods that selectively activate respective coordinators for respective tasks
US7774243B1 (en) * 2005-03-11 2010-08-10 Amazon Technologies, Inc. Method and system for predestination item transfer among agents within a materials handling facility
US7751928B1 (en) 2005-03-11 2010-07-06 Amazon Technologies, Inc. Method and system for agent exchange-based materials handling
US7706007B2 (en) * 2005-04-08 2010-04-27 Palo Alto Research Center Incorporated Synchronization in a distributed system
US7823021B2 (en) * 2005-05-26 2010-10-26 United Parcel Service Of America, Inc. Software process monitor
US7558986B2 (en) * 2005-05-26 2009-07-07 United Parcel Service Of America, Inc. Software process monitor
US8332826B2 (en) * 2005-05-26 2012-12-11 United Parcel Service Of America, Inc. Software process monitor
US7289867B1 (en) * 2005-06-08 2007-10-30 Advanced Micro Devices, Inc. Automated integrated circuit device manufacturing facility using distributed control
US7904182B2 (en) * 2005-06-08 2011-03-08 Brooks Automation, Inc. Scalable motion control system
KR20080038336A (ko) * 2005-07-11 2008-05-06 어사이스트 테크놀로지스, 인코포레이티드 반도체 컨테이너를 사용하는 벨트 컨베이어
US7596435B1 (en) 2005-08-03 2009-09-29 Systech International, Llc Vehicle communication system and method with mobile data collection
EP1815972B1 (en) * 2006-02-06 2013-12-18 ABB Research Ltd. Press line system and method
US7672748B2 (en) * 2006-04-17 2010-03-02 Chartered Semiconductor Manufacturing, Ltd. Automated manufacturing systems and methods
US8376130B2 (en) * 2006-07-10 2013-02-19 Muratec Automation Co., Ltd. Direct drive modular belt conveyor, cartridge, and quick connect-disconnect constant velocity drive shaft, for high speed FOUP transport
WO2008042294A2 (en) * 2006-09-28 2008-04-10 Yaskawa Electric America, Inc. Automated conveying system
JPWO2008075404A1 (ja) * 2006-12-19 2010-04-02 株式会社システムブイマネジメント 半導体製造システム
US8160736B2 (en) * 2007-01-31 2012-04-17 Globalfoundries Singapore Pte. Ltd. Methods and apparatus for white space reduction in a production facility
US7684888B2 (en) * 2007-05-08 2010-03-23 Taiwan Semiconductor Manufacturing Company, Ltd. Extendable MES for Cross-AMHS Transportation
US7816617B2 (en) 2007-05-21 2010-10-19 Lockheed Martin Corporation Configurable intelligent conveyor system and method
DE112008001754T5 (de) * 2007-07-09 2010-05-20 Middlesex General Industries, Inc., Woburn System und Verfahren zur Verbesserung des Durchsatzes und der Vehikelauslastung von Einschienenbahnfabriktransportsystemen
US7847683B2 (en) * 2007-09-12 2010-12-07 International Business Machines Corporation Emergency machine off feature with safety control interface
JP2009087282A (ja) * 2007-10-03 2009-04-23 Fuji Xerox Co Ltd 並列計算システムおよび並列計算方法
US20090248190A1 (en) * 2008-03-28 2009-10-01 Spangler John M Portable modular manufacturing system
US8201681B2 (en) * 2008-07-14 2012-06-19 Siemens Industry, Inc. Method for gapping for sortation rate maximization
WO2010033527A1 (en) * 2008-09-19 2010-03-25 Fenner Dunlop Americas, Inc. Conveyor belt condition monitoring system
US8055373B2 (en) * 2008-09-19 2011-11-08 Inotera Memories, Inc. Automatic wafer storage system and a method for controlling the system
US20100082145A1 (en) * 2008-09-30 2010-04-01 Rockwell Automation Technologies, Inc. Routing manager
DE102008059529A1 (de) * 2008-11-28 2010-06-02 Karlsruher Institut für Technologie Dezentral gesteuerte Materialförderung
US8315802B2 (en) * 2009-02-11 2012-11-20 Telogis, Inc. Systems and methods for analyzing the use of mobile resources
US20100234983A1 (en) * 2009-03-12 2010-09-16 Piovan Spa Control system for granular material transport system
US8275478B2 (en) * 2009-03-13 2012-09-25 Globalfoundries Inc. Method and apparatus for routing wafer pods to allow parallel processing
WO2012100180A1 (en) 2011-01-20 2012-07-26 Atronix Engineering, Inc. Control system for a material handling application
US8757363B2 (en) 2011-05-09 2014-06-24 Insight Automation, Inc. Conveyor controllers
DE102011105794A1 (de) * 2011-06-24 2012-12-27 Knapp Ag Anordnung und Verfahren zur Pufferung und Beförderung von Gebinden auf Förderstrecken
EP2586712B2 (de) * 2011-10-31 2018-02-14 Veltru AG Verfahren und Vorrichtung zum Einlegen von Produkten in Behälter in einer Roboterstrasse
ITMI20112082A1 (it) * 2011-11-16 2013-05-17 Inpeco Ip Ltd Stazione di processo di dispositivi di trasporto di contenitori di prodotti biologici.
US8577585B2 (en) * 2012-01-03 2013-11-05 The Boeing Company Transport and handling system and methods of transporting a commodity
US9304510B2 (en) * 2012-02-13 2016-04-05 Ipeg, Inc. Method and process of verifying physical connections within a material handling system
US9558978B2 (en) 2012-05-04 2017-01-31 Kla-Tencor Corporation Material handling with dedicated automated material handling system
DE102012010844A1 (de) * 2012-05-31 2013-12-05 Multivac Sepp Haggenmüller Gmbh & Co. Kg Verfahren für Pickerstraße und Verpackungsanlage
RU2507566C1 (ru) * 2012-06-15 2014-02-20 Федеральный научно-производственный центр Открытое акционерное общество "Научно-производственное объединение "Марс" Способ распределенного автоматизированного управления боевыми средствами и операционный пункт для его реализации
US8881297B2 (en) * 2012-09-06 2014-11-04 Brooks Automation, Inc. Access arbitration module and system for semiconductor fabrication equipment and methods for using and operating the same
MX2015006898A (es) 2012-11-30 2016-01-25 Intelligrated Headquarters Llc Control de acumulacion.
US9733638B2 (en) * 2013-04-05 2017-08-15 Symbotic, LLC Automated storage and retrieval system and control system thereof
JP6044467B2 (ja) * 2013-06-26 2016-12-14 株式会社ダイフク 保管システム
KR20150020757A (ko) * 2013-08-19 2015-02-27 삼성전자주식회사 기판 처리 시스템 및 이의 제어 방법
JP6335603B2 (ja) * 2014-04-15 2018-05-30 キヤノン株式会社 台車搬送システム
DE102014107591A1 (de) * 2014-05-28 2015-12-03 Artur Küpper GmbH & Co. KG Förderbandanlage mit dezentralem Förderbandantrieb und Verfahren zum Betrieb der Förderbandanlage
WO2015184539A1 (en) * 2014-06-02 2015-12-10 Ats Automation Tooling Systems Inc. System and method for controlling a moving element in a linear motor conveyor
DE102014222171A1 (de) 2014-10-30 2016-05-04 Interroll Holding Ag Fördereinrichtung für Förderanlagen, modulares System und Verfahren zum Herstellen einer solchen Fördereinrichtung
DE102015106034A1 (de) * 2015-04-20 2016-10-20 Interroll Holding Ag Installationsverfahren zum Einrichten von Fördervorrichtungen
DE102015106026B3 (de) 2015-04-20 2016-08-25 Interroll Holding Ag Verfahren zum Austausch einer Steuerungseinheit in einer Fördervorrichtung
DE102015106024B4 (de) * 2015-04-20 2023-06-07 Interroll Holding Ag Fördervorrichtung mit Konfigurationsänderung
DE102015107167A1 (de) 2015-05-07 2016-11-10 Interroll Holding Ag Steuerungseinheit für eine Fördervorrichtung mit Hardware-Erkennung
US10146439B2 (en) * 2016-04-13 2018-12-04 Samsung Electronics Co., Ltd. System and method for high performance lockless scalable target
DE102016112054B4 (de) 2016-06-30 2021-08-12 Interroll Holding Ag Trommelmotor mit alternativer Getriebeaufnahme
DE102016112036A1 (de) 2016-06-30 2018-01-04 Interroll Holding Ag Antriebseinheit für einen Trommelmotor, Trommelmotor, Hinterflansch und Herstellungsverfahren
DE102016112051B4 (de) 2016-06-30 2024-01-04 Interroll Holding Ag Modulsystem für motorbetriebene Förderrollen
DE102016114524B4 (de) 2016-08-05 2020-09-03 Interroll Holding Ag Trommelmotor mit Frequenzumrichter und optionalem Bandspannungssensor
DE102016114672A1 (de) 2016-08-08 2018-02-08 Interroll Holding Ag Elektrische Steckverbindung für Motorrollen
WO2018049119A1 (en) 2016-09-09 2018-03-15 The Procter & Gamble Company Methods for simultaneously producing different products on a single production line
MX2019002780A (es) 2016-09-09 2019-09-04 Procter & Gamble Sistema y método para llenar simultáneamente recipientes de formas y/o tamaños diferentes.
WO2018049121A2 (en) 2016-09-09 2018-03-15 The Procter & Gamble Company System and method for producing products based upon demand
JP6898436B2 (ja) 2016-09-09 2021-07-07 ザ プロクター アンド ギャンブル カンパニーThe Procter & Gamble Company 異なる流動性組成物を容器に同時に充填するためのシステム及び方法
EP3510459A2 (en) 2016-09-09 2019-07-17 The Procter and Gamble Company System and method for independently routing container-loaded vehicles to create different finished products
EP3509979B1 (en) 2016-09-09 2023-06-14 The Procter & Gamble Company System and method for independently routing vehicles and delivering containers and closures to unit operation stations
ES2967910T3 (es) 2016-09-09 2024-05-06 Procter & Gamble Sistema de pistas para crear productos terminados
US10696489B2 (en) 2016-12-01 2020-06-30 Packsize Llc Balancing load among operational system zones
US10930535B2 (en) 2016-12-02 2021-02-23 Applied Materials, Inc. RFID part authentication and tracking of processing components
JP6269793B1 (ja) * 2016-12-05 2018-01-31 千住金属工業株式会社 搬送装置
EP3373232B1 (en) 2017-03-09 2020-12-09 Interroll Holding AG Intralogistic arrangement
US11185954B2 (en) * 2017-11-30 2021-11-30 Canon Kabushiki Kaisha Transport system, transport method, and article manufacturing method
DE102017129460A1 (de) * 2017-12-11 2019-06-13 Interroll Holding Ag Vorrichtung zur Untersuchung einer Förderanlage sowie Steuereinheit, Motorrolle und Förderanlage und Verfahren
JP6448836B2 (ja) * 2018-05-02 2019-01-09 キヤノン株式会社 台車搬送システム
JP7179488B2 (ja) * 2018-05-11 2022-11-29 キヤノン株式会社 搬送システムおよびその制御方法
US11407597B2 (en) * 2018-09-27 2022-08-09 Siemens Logistics Llc System and method for processing irregular parcels
DE102019114469A1 (de) * 2019-05-29 2020-12-03 Deutsche Post Ag Verfahren zur Überwachung und/oder Instandhaltung einer Förderanlage und Förderanlage
IT201900019550A1 (it) * 2019-10-22 2021-04-22 Mecal Machinery S R L Unità di carico e scarico per profilati
CN111285048B (zh) * 2020-02-28 2022-03-18 歌尔股份有限公司 一种线性传送系统及其控制方法
CN111708607A (zh) * 2020-06-18 2020-09-25 哈工大机器人(合肥)国际创新研究院 基于web的在线仿真智能agv仿真调度方法及装置
US11731169B2 (en) 2021-06-29 2023-08-22 Aegis Sortation, LLC System and method for automated sortation
US20240059327A1 (en) * 2022-08-16 2024-02-22 Rockwell Automation Technologies, Inc. System and Method for Mover Self-Navigation in an Independent Cart System

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4728863A (en) * 1985-12-04 1988-03-01 Wertheimer Michael R Apparatus and method for plasma treatment of substrates
US4829445A (en) * 1987-03-11 1989-05-09 National Semiconductor Corporation Distributed routing unit for fully-automated flexible manufacturing system
KR0170391B1 (ko) * 1989-06-16 1999-03-30 다카시마 히로시 피처리체 처리장치 및 처리방법
US5078257A (en) * 1989-11-21 1992-01-07 Donald W. Carter, Jr. Lattice production line and method of operating such a line
US5324386A (en) * 1991-03-19 1994-06-28 Fujitsu Limited Method of growing group II-IV mixed compound semiconductor and an apparatus used therefor
US5228558A (en) * 1991-12-23 1993-07-20 Interroll Holding A.G. Control system for an accumulating conveyor
EP0613730A3 (en) * 1993-03-01 1995-06-28 Philips Nv Sorting device with a field of transport units.
TW359943B (en) * 1994-07-18 1999-06-01 Silicon Valley Group Thermal Single body injector and method for delivering gases to a surface
US6039316A (en) * 1998-03-02 2000-03-21 Xerox Corporation Multi-hierarchical control system for controlling object motion with smart matter
US6223886B1 (en) 1998-06-24 2001-05-01 Asyst Technologies, Inc. Integrated roller transport pod and asynchronous conveyor
US6240335B1 (en) 1998-12-14 2001-05-29 Palo Alto Technologies, Inc. Distributed control system architecture and method for a material transport system

Also Published As

Publication number Publication date
CN1247423C (zh) 2006-03-29
JP2002532892A (ja) 2002-10-02
EP1141439B1 (en) 2012-12-26
US6240335B1 (en) 2001-05-29
JP3989683B2 (ja) 2007-10-10
CA2354624A1 (en) 2000-06-22
CN1342214A (zh) 2002-03-27
HK1039162A1 (zh) 2002-04-12
KR100437926B1 (ko) 2004-06-30
EP1141439A2 (en) 2001-10-10
US6853876B2 (en) 2005-02-08
WO2000035782A2 (en) 2000-06-22
US20010023377A1 (en) 2001-09-20
WO2000035782A3 (en) 2000-10-12
EP1141439A4 (en) 2008-06-04
TW452564B (en) 2001-09-01
AU2183400A (en) 2000-07-03

Similar Documents

Publication Publication Date Title
KR100437926B1 (ko) 재료 이송 시스템용 분산 제어 시스템 구조 및 방법
US20040111339A1 (en) Distributed control system architecture and method for a material transport system
WO2023165189A1 (zh) 基于晶圆传送监管控制方法、系统、计算机设备和存储介质
US6308107B1 (en) Realtime decision making system for reduction of time delays in an automated material handling system
Mayer Development of a completely decentralized control system for modular continuous conveyors
CN113472822A (zh) 数据分流方法、装置、设备及介质
WO2021024113A1 (en) Software defined manufacturing in a cellular network
KR20210020081A (ko) Ic 팩토리 처리량 및 사이클 시간을 개선하기 위한 고 용량 자율 자재 핸들링 시스템
Reith et al. Evaluating automated guided vehicle system characteristics in semiconductor fab automated material handling systems
Park et al. A distributed, event-driven control architecture for flexibly automated manufacturing systems
Kiba et al. Simulation of a full 300mm semiconductor manufacturing plant with material handling constraints
Weyns et al. Exploiting a virtual environment in a real-world application
US20240012429A1 (en) Safety network for a mobile robot fleet
TW202331892A (zh) 一種分區管理方法、裝置、電腦設備和存儲介質
Ch’ng et al. An efficient multi-AMR control framework for parcel sorting centers
CN115239056A (zh) 自动导引运输车的调度方法、装置及系统
Kuo et al. Behavior modeling and control of 300 mm fab intrabays using distributed agent oriented Petri net
Liao Automation and integration in semiconductor manufacturing
TWI836849B (zh) 運輸系統及其操作方法
CN220382064U (zh) 运输装置及用于跨厂区运输的装置
Gausemeier et al. Intelligent material flow by decentralizedcontrol networks
Zaera et al. Real-time scheduling and guidance of mobile robots on factory floors using monte carlo methods under windows nt
Hwang et al. Q-learning-based route-guidance and vehicle assignment for OHT systems in semiconductor fabs
Lee Locating idle vehicles in tandem-loop automated guided vehicle systems to minimize the maximum response time
CN116954168A (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: 20100617

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee