교육 내용 OMRON SYSMAC Gateway(SGW) 설치 INDEX 제어 프로그램 설치

Slides:



Advertisements
Similar presentations
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
Advertisements

프로젝트 보고서 학과 : 임학과 학번 : 성명 : 조성환 Windows 프로그래밍.
키보드 보안 순천향대학교 정보보호학과 임강빈 교수.
- SW_Desing Study Group -
SoC 로봇워 참가자 교육.
서울시 ‘찾아가는 동 주민센터’ 사업 시행 이후 지역사회의 변화
장애인을 위한 공공화장실 개선 광명북중학교 윤정환.
(HiveMall Work Process)
Sequence Control -Introduction-
AMBA BUS Protocol의 이해 (AMBA 2.0 Specification)
ThingPlug_SDK_Android
몰랑이의 햄버거 만들기大 작전 click!.
C++ Espresso 제1장 기초 사항.
제 4 장 프로세스 Section 1 프로세스의 개념 Section 2 프로세스 스케줄링
바코드프린터 사용자매뉴얼 ( Z- 4M Plus /Z-6M Plus)
㈜디알디 코리아 ㈜드림유비인터내셔날 지 명 원.
01 화일의 기본 개념 02 화일 저장장치 03 화일 입출력 제어 04 순차화일 05 화일의 정렬 06 화일의 합병
Lab 3 Guide: 교재 4장 대화상자 예제. - 프로파일 입력 ( 쪽)
MelOn WP8 Developer Guide
각각의 공정별 물류 이송 흐름도, 공정시간, 속도 시뮬레이션 프로그램 개발
10장 주변장치 (PIO) Slide 1 (of 28).
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
목 차 1. 기 업 현 황 회 사 개 요 2. Finger Police System 개요
논리회로 및 실험 C++을 이용한 논리회로 기초 실습
전원설비 포인트연결어댑터 교육자료 주식회사 필 트 론.
12 장 점 대 점 접근 : PPP 12.1 점 대 점 프로토콜 12.2 PPP 스택 12.3 요약.
AVR - Chapter 15 황 지 연.
11장 데이터 링크 제어 (DLC: Data Link Control)
DataScience Lab. 박사과정 김희찬 (월)
ASP.NET Mobile Controls
Z- 4M User’s Guide 메뉴얼 Maximum Print Area Width : 4.09”/104mm
커널 모듈 프로그래밍 (Kernel Module Programming)
스택(Stack) 김진수
통신 프로그램의 구조와 설정 방법.
제 4주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
기업지원 제도 주요 내용 안산고용센터 기업지원팀.
TinyOS Tutorial Network lab. 김인태
MA1356T ▶ 제품개요 *. 사용 스마트 카드 : ISO A Type And Mifair 호환 .
SYSMAC GATEWAY 간이 매뉴얼.
가민GPS 세계측지계 TM 좌표계 설정 종이지도의 데이텀 확인 WGS84 좌표계 사용 시 1. 메인메뉴 – 설정 - 단위 엔터
DataScience Lab. 박사과정 김희찬 (월)
강의 소개, 자료구조의 개념, SW 개발과 자료구조
알고리즘(Algorithm)  알고리즘 개요 (효율, 분석, 차수) Part 년 봄학기
연습 문제 풀이 헥사 값의 의미 FTP 응답 코드의 의미 분석 (a) D 0A (b)
[CPA340] Algorithms and Practice Youn-Hee Han
SpringFramework 중간고사 요약 REST by SpringFramework.
Stocker Controller System 소개
컴퓨터공학실습(I) 3주 인공지능연구실.
프로그래머를 위한 첫걸음 JDBC Lecture 001 BY MINIO
교육 내용 OMRON SYSMAC Gateway(SGW) 설치 INDEX 제어 프로그램 설치
자바 5.0 프로그래밍.
Operating System Multiple Access Chatting Program using Multithread
Internet Computing KUT Youn-Hee Han
Lua script cpp서 사용하기 Lua 버전
The Party-State (1) 영 어 학 부 강물결 영 어 학 부 박우인
제 11장. 템플릿과 STL 학기 프로그래밍언어및실습 (C++).
장애인단체 간담회 마스터 제목 스타일 편집 마스터 제목 스타일 편집 장애인 단체 간담회 마스터 부제목 스타일 편집
3장,4장 발표 서정우.
자바 5.0 프로그래밍.
ISO규격에의 대응과 도입 Know-how ㈜드림힐
그래픽스 및 웹 응용 설계 학번: 학과: 멀티미디어학과 이름: 문 동 민.
미세먼지 실험 성동초등학교 이도은.
제 14 장 응용 계층과 클라이언트-서버 모델 클라이언트-서버 모델 14.2 동시성 14.3 프로세스 14.4 요약.
민 법 국제무역학과 김종석 교수.
Python Tutorial 4: Data Structures
房思琪的初恋乐园 ‘팡쓰치’로 보는 문학의 힘 정은비.
C++ 언어의 특징
물류정보시스템 - RFID -.
ADLAD System MANUAL [ ] SEM. Digital Appliance ADLAD System ?
Presentation transcript:

교육 내용 OMRON SYSMAC Gateway(SGW) 설치 INDEX 제어 프로그램 설치 GUI 소개 TM Module 확장 스케줄러 확장

인덱스 제어 표준화 Development Guide 2010년 12월 15일 인덱스 제어 표준화 Development Guide 오픈에스지닷넷

Table of Contents Scheduler Overview Workflow 로봇 5개 단위 동작 Framework 활용 Scheduler Class ReadyList 클래스 구조 Scheduler_CoreEngine.cs Scheduler_SlotChecker.cs Scheduler_PathChecker.cs Scheduler_StepManager.cs Config 구성

I Scheduler Overview CTCTask ReadyList CTCTask Scheduler Class TM PM 생성 실행 참조 Scheduler Class 메서드1 메서드2 메서드3 … TM PM CM Workflow ReadyList Workflow Scheduler Class TM Class PM Class CM Class

Workflow 실행, ReadyList 작성 I Scheduler Overview CTCTask Workflow 실행, ReadyList 작성 ReadyList 작업 목록 Workflow Scheduler 기능을 활용한 ReadyList 처리 로직 Scheduler Class 단위 Rule 메서드와 이벤트를 포함한 클래스 TM Class Arm의 상태, 로봇 제어 및 명령 송/수신 클래스 PM Class PM PIO 신호확인 CM Class PORT및 Slot 상태확인 모든 객체는 AppContext를 통해서 접근 가능함 현재의 AppContext 얻는 방법 AppContext.Current m_AppContext

I Scheduler Overview : Workflow 기본작업

I Scheduler Overview : Workflow 작업 가능여부 확인

I Scheduler Overview : Workflow PM 신호처리

I Scheduler Overview : 로봇 5개 단위 동작 A: Port -> Arm , Get B: Arm -> Stage , Put C: State -> Arm , Get D: Arm -> Port , Put *Prep *Loading Stop *로봇 단위 동작별 실시간 경로 계산 CM1 CM2 CM3 CM4 A D TM B C PM1 PM2

I Scheduler Overview : Framework 활용 Scheduler에서 PM Tag Data Access ① PM Tag Data Read ② PM Tag Data Write

I Scheduler Overview : Framework 활용 Scheduler에서 TM Slot Data Access ① TM Arm Glass 유무 체크 ② TM Arm Glass Step 체크 ③ TM Arm Glass Step 완료 체크 및 기타 체크 ④ TM Arm 상태 체크

I Scheduler Overview : Framework 활용 Scheduler에서 CM Data Access ① CM Port Type 및 상태 Check ② Ready List(JobItem)를 통한 CM Data Access

II Scheduler Class :ReadyList CTCTask.cs ReadyList : Member ◈ 생성 - Host로 부터 JobStart Message(S2F41 : RCMD : 1)를 받을때 - Operator에 의해서 UI(Panel)에서 [Manual Start] 클릭시 - Unload Type의 Index가 설비로 부터 Sandable 신호를 받을때 PanelContentUserControl.cs GUITask.cs CTCTask.cs Manual Start : Button Click JobStartDoAction (moduleID, STIFList) ProcessCTCMessage() HostJobStart() DoIndexStartReqAction() ManualStart (moduleID, STIFList, PanelList) CreateReadyList() Host : JobStart StartWorkflow() DoUnloadJobStartReqAction()

II Scheduler Class :클래스 구조 상속 관계 수평 관계 class SchedulerBase Scheduler_CoreEngine.cs Scheduler_PathChecker.cs class StandardScheduler : SchedulerBase Scheduler_SlotChecker.cs Scheduler_StepManager.cs

II Scheduler Class :클래스 구조 OpenSG Framework class SchedulerBase class StandardScheduler : SchedulerBase 업체별 확장 class SFAScheduler : StandardScheduler class ToptecScheduler : StandardScheduler class RorzeScheduler : StandardScheduler class EverScheduler : StandardScheduler

II Scheduler Class :클래스 구조 Scheduler 확장(Method Override) Override 설명 ◈ 최상의 class SchedulerBase의 FindSlotToPorcess ()는 가상함수로 선언됨. ◈ 업체에서 확장시킨 class가 없는 경우 INDEX 프로그램이 진행 중 해당 함수를 호출 할 경우 최상위 class인 SchedulerBase를 상속받은 중간 class StandardScheduler의 FindSlotToPorcess()이 호출 됨. ◈ 업체에서 확장한 최하위 class SFAScheduler가 추가 될 경우 중간 class인 StandardScheduler의 FindSlotToProcess()는 가려지게 되고 업체에서 확장된 최하의 class인 SFAScheduler의 FindSlotToProcess()가 호출됨. class SchedulerBase public virtual JobItem FindSlotToProcess(PMModuleBase PM) class StandardScheduler public override JobItem FindSlotToProcess(PMModuleBase PM) class SchedulerBase public virtual JobItem FindSlotToProcess(PMModuleBase PM) class StandardScheduler public override JobItem FindSlotToProcess(PMModuleBase PM) class SFAScheduler public override JobItem FindSlotToProcess(PMModuleBase PM)

II Scheduler Class :Scheduler_CoreEngine.cs // 메뉴얼작업 public virtual void DoRobotActionManualStep(RobotCmd Cmd, ModuleBase Module, eManualGlassMoveTypeList glassMoveType, bool bCheckOnly) { } public virtual void OnRobotActionManual(ModuleBase FromModule, int FromSlot, ModuleBase ToModule, int ToSlot, bool useUpperArm, eManualGlassMoveTypeList glassMoveType){ } public virtual void OnRobotActionPrepManual(ModuleBase ToModule, int ToSlot, bool useUpperArm, bool getAction){ } // 로봇 동작 수행- 메인 public virtual void OnRobotAction(){} public virtual void OnProcessPrep() { } public virtual void OnProcessCM() { } public virtual void OnProcessPM() { } public virtual void OnProcessBackToCM() { } // 로봇 동작 - 명령 Send  public virtual ResultStep SendRobotAction(RobotCmd cmd) {} // 로봇 동작 완료 대기 상태 public virtual ResultStep WaitRobotActionDone(RobotCmd cmd) {} // 로봇 동작 시작 public virtual void OnRobotActionStarted(RobotCmd cmd){} // 로봇 동작 완료 public virtual void OnRobotActionFinished(RobotCmd cmd){} // 로봇 Arm의 Panel 상태 업데이트 public virtual void OnRobotPanelUpdated(RobotPanelUpdatedArgs UpdatedArgs){} // PIO 데이터 검증 public virtual void SetPanelDataRefuseInfo(PanelData PanelItem) { } // Glass Cancel public virtual void CancelGlass(JobItem jobItem){}

II Scheduler Class :Scheduler_CoreEngine.cs 클래스 주요 구성

II Scheduler Class : Scheduler_SlotChecker.cs ⑴ FindSlotToProcess Scheduler_PathChecker.cs Scheduler_SlotChecker.cs CheckCMGet(PM) FindSlotToProcess(PMModuleBase PM) CheckCMGetInterlock(Item) FindSlotToProcess(PM) CheckPMStep(PM) JobItem ◈ CM에서 Glass를 Get 하기 위한 Slot(JobItem) 찾아 Return - ReadyList(JobItemList)에서 Get 하기위한 Slot탐색 - CM Get 가능 여부 체크 - Slot내 Glass의 FlowStep 체크

II Scheduler Class : Scheduler_SlotChecker.cs ⑵ FindOuputToReturn Scheduler_StepManager.cs Scheduler_SlotChecker.cs GetStep10_ReadData() FindOuputToReturn (PMModuleBase PM) FindOuputToReturn (CurrentPM) Slot ◈ 설비에서 배출되는 Glass가 적재 될 Port의 Slot Return - 배출되는 Glass의 Judgement, FlowID를 읽어서 UI에서 설정된 PortMode검색 PortMode(X) => OPCall, PortMode(O) => PortMode로 운영되고 있는 CM(Port)및 Slot 유무체크 CM(Port)(X) => Output & Wait Port중 Sorting Rule정보를 설정 및 Panel정보를 설정 Slot return

II Scheduler Class : Scheduler_SlotChecker.cs ⑶ ClearFUPCount, ProcessUnloaderFUP Rule CMModuleBase.cs Scheduler_SlotChecker.cs PortState 변경시 ClearFUPCount(this) ClearFUPCount(CMModuleBase CM) ProcessUnloaderFUPRule (this.PortMode) ProcessUnloaderFUPRule (PortModeItem PortModeitem) ◈ ClearFUPCount - CM의 PortState이 변경되는 시점에 Output Port에 대해서 설정 - PortState이 Wait, Complete로 변경되는 시점에 호출 ◈ ProcessUnloaderFUPRule - CM의 PortState이 변경되는 시점에 Output Port에 대해서 (FUP) 강제 배출 룰 처리 - PortModeItem의 FUP 설정정보와 동일한 Port(Output) & Busy & DumpMode.BPCC > BPSC 보다 클 경우 해당 Port를 강제로 Complete 처리해서 배출

II Scheduler Class : Scheduler_SlotChecker.cs ⑷ UpdateFUPCount PanelData.cs Scheduler_SlotChecker.cs PanelState 변경시 UpdateFUPCount(CMModuleBase CM) UpdateFUPCount(CM) ◈ PanelData의 PanelState이 변경되는 시점에 호출됨 - Output Port & Busy & PortMode가 동일한 Port에 대해서 배출을 위한 Count정보를 Update한다. 요청된 CM의 정보는 초기화하고, 다른 Port는 Count는 증가 한다.

II Scheduler Class : Scheduler_PathChecker.cs ⑴ CM에서 Get 할 수 있는 조건 CM ① CM Glass Get 조건 PM 작업용 CM Ready List 존재 CM Port Pause 상태 아님 L/U Arm Glass 없음 PM Receive/Send Able On PM Receive/Send PreAction On PM Loading Stop Off 사양에 의해 UArm Get도 가능 ① TM L U PM1 PM2

II Scheduler Class : Scheduler_PathChecker.cs ⑵ CM → Arm Sequence Method 설명 ◈ CalcCMGetState - 내역 : PIO에 의한 CM Get - L/U Arm Glass 없음 - PM H/S 가능 신호 체크 (Receive Able/PreAction On) (Send Able/PreAction On) - PM Loading Stop Off ◈ CalcDefaultCMGetState - 내역 : 미리 대기에 의한 CM Get ◈ FindSlotToProcess - 내역 : 전체 ReadyList를 검사 - Port의 Get 작업 가능여부 체크 (Port, Slot, Glass 유무 등의 상태) - ReadyList의 Step 체크 (해당 Glass의 작업 범위 체크) ◈ GenerateCMGetCmd - CM Get Command 생성 SchedulerBase.cs Scheduler_PathChecker.cs CheckCMGet() CheckCMGet(CurrentPM) CheckCMGet(PMModuleBase PM) CalcCMGetState(PM) CalcDefaultCMGetState(PM) FindSlotToProcess(PM) GenerateCMGetCmd(_item)

II Scheduler Class : Scheduler_PathChecker.cs ⑶ PM에 Put 할 수 있는 조건 CM ③ PM1 Glass Put 조건 LArm Glass 유 UArm Glass 유무 관계 없음 PM1 Receive Able On PM1 Loading Stop Off LArm Glass 진행 모듈이 PM1 TM L ⑧ PM2 Glass Put 조건 LArm Glass 유 UArm Glass 유무 관계 없음 PM2 Receive Able On PM2 Loading Stop Off LArm Glass 진행 모듈이 PM2 ③ ⑧ PM1 PM2

II Scheduler Class : Scheduler_PathChecker.cs ⑷ Arm → PM Sequence SchedulerBase.cs Scheduler_PathChecker.cs Method 설명 ◈ CalcPMPutState - 내역 : PIO에 의한 PM Put - L/U Arm 중 Glass 한 장은 있음 - PM Receive PIO 체크 (Receive Able/PreAction On) - PM Loading Stop Off - Arm Glass Step 체크 (해당 Glass의 작업 범위 체크) ◈ GeneratePMPutCmd - 내역 : PM Put Command 생성 CheckPMPut() CheckPMPut(CurrentPM) CheckPMPut(PMModuleBase PM) CalcPMPutState(PM) GeneratePMPutCmd()

II Scheduler Class : Scheduler_PathChecker.cs ⑸ PM에서 Get 할 수 있는 조건 CM ② PM1 Glass Get 조건 UArm Glass 무 PM1 Send Able On LArm Glass 유무에 따른 조건 a. Glass가 없다면 PM1 Get 진행 b. Glass가 있다면 - PM1로 갈 Glass라면 PM1 Get 진행 - PM2로 갈 Glass라면 Get 안함 - CM으로 갈 Glass라면 Get 안함 TM U ⑦ PM2 Glass Get 조건(병렬) UArm Glass 무 PM2 Send Able On LArm Glass 유무에 따른 조건 a. Glass가 없다면 PM2 Get 진행 b. Glass가 있다면 - PM2로 갈 Glass라면 PM2 Get 진행 - PM1로 갈 Glass라면 Get 안함 - CM으로 갈 Glass라면 Get 안함 ⑦ ② PM1 PM2

II Scheduler Class : Scheduler_PathChecker.cs ⑹ PM → Arm Sequence SchedulerBase.cs Scheduler_PathChecker.cs Method 설명 ◈ CalcPMExState - 내역 : PIO에 의한 PM Exchange - L/U Arm 중 Glass 한 장만 있음 - PM Send PIO 체크 (Send Able/PreAction On) - PM은 Exchange 사용으로 설정됨. - Arm Glass Step 체크 (해당 Glass의 작업 범위 체크) ◈ CalcPMGetState - 내역 : PIO에 의한 PM Get - L/U Arm에 Glass가 없거나 한 장 있음 ◈ GeneratePMGetCmd - 내역 : PM Get Command 생성 CheckPMGet() CheckPMGet(CurrentPM) CheckPMGet(PMModuleBase PM) CalcPMExState(PM) CalcPMGetState(PM) GeneratePMGetCmd()

II Scheduler Class : Scheduler_PathChecker.cs ⑺ CM에 Put 할 수 있는 조건 CM ⑨ CM Glass Put 조건(병렬) UArm Glass 있음 UArm의 Glass 다음 Step이 없음 LArm Glass 유무에 따른 조건 a. Glass가 없다면 CM Put진행 b. Glass가 있다면 - PM1로 갈 Glass라면 PM1 Put 대기 - PM2로 갈 Glass라면 PM2 Put 대기 - CM으로 갈 Glass 일 경우에 조건 ⓐ L_Stop인 경우 U/LArm 모두 Put ⓑ BackMode인 경우 UArm만 Put ⑨ TM TM U U PM1 PM2

II Scheduler Class : Scheduler_PathChecker.cs ⑻ Arm → CM Sequence SchedulerBase.cs Scheduler_PathChecker.cs Method 설명 ◈ CalcCMPutState - 내역 : Done Glass CM Put - L/U Arm 한 장 이상의 Glass있음 - Glass가 한 장 있는 경우 해당 Glass의 Step 완료 체크 - Glass가 두 장 있는 경우 해당 Glass의 Step 완료 체크 및 설비의 Loading Stop 상태 체크 ◈ CheckCMPutInterlock - 내역 : CM Put 가능 여부 체크 - Port, Slot, Glass 유무 등 CM Put 가능 상태를 체크 ◈ GenerateCMPutCmd - 내역 : CM Get Command 생성 CheckCMPut() CheckCMPut(CurrentPM) CheckCMPut(PMModuleBase PM) CalcCMPutState(PM) CheckCMPutInterlock() GenerateCMPutCmd()

II Scheduler Class : Scheduler_StepManager.cs ⑴ Get Step Method GetStep00_Start() GetRecovery_Wait_TMAlarmClear() GetStep10_ReadData() GetRecovery00_Start() GetStep20_Wait_SendStart_On() GetRecovery10_ActiveResume() GetStep30_DoRobotAction() GetRecovery20_ActiveInitial() GetStep40_Wait_RobotAction_Done() GetRecovery20_HSSkipInitial() GetStep50_Wait_SendComplete_On() GetRecovery30_PassiveResume() GetStep60_Wait_SendComplete_Off() GetRecovery40_PassiveInitial() GetWait_ImmPauseReq_Off() GetDataRefuse_Wait_RefuseOrSendStart_Off() Get Normal Step Get Abnormal Step

II Scheduler Class : Scheduler_StepManager.cs ① Get Normal Step Method GetStep00_Start() Get H/S 작업 시작 GetStep10_ReadData() EQ Send Data Read GetStep20_Wait_SendStart_On() 설비 Send Start 대기 GetStep30_DoRobotAction() Contact Point Check 및 Get 또는 Exchange 명령 Robot 전송 GetStep40_Wait_RobotAction_Done() Robot Request 명령에 대한 완료 Reply 대기 GetStep50_Wait_SendComplete_On() EQ Send Complete On 대기 GetStep60_Wait_SendComplete_Off() EQ Send PIO All Off 대기 GetWait_ImmPauseReq_Off() EQ Get 작업중 발생한 Imm'pause Request에 대한 Off 대기 GetDataRefuse_Wait_RefuseOrSendStart_Off() EQ 배출 Glass의 이상 Data에 대한 처리를 대기

II Scheduler Class : Scheduler_StepManager.cs ② Get Abnormal Step Method GetRecovery_Wait_TMAlarmClear() Robot Alarm 발생에 대한 조치를 대기 GetRecovery00_Start() Get 작업에 대한 Recovery 대기 GetRecovery10_ActiveResume() Active Resume에 대한 Reply 대기(INDEX Request ⇒ EQ Reply) GetRecovery20_ActiveInitial() Active Initial에 대한 Reply대기(INDEX Initial) GetRecovery20_HSSkipInitial() Initial을 INDEX, EQ간에 진행하지 않고 INDEX 단독으로 진행(CF Only) GetRecovery30_PassiveResume() Passive Resume에 대한 Reply 대기(EQ Request ⇒ INDEX Reply) GetRecovery40_PassiveInitial() Passive Initial 대기

II Scheduler Class : Scheduler_StepManager.cs ⑵ Put Step Method PutStep00_Start() PutRecovery_Wait_TMAlarmClear() PutStep10_WriteData() PutRecovery00_Start() PutStep20_Wait_RcvStart_On() PutRecovery10_ActiveResume() PutStep30_DoRobotAction() PutRecovery20_ActiveInitial() PutStep40_Wait_RobotAction_Done() PutRecovery20_HSSkipInitial() PutStep50_Wait_RcvComplete_On() PutRecovery30_PassiveResume() PutStep60_Wait_RcvComplete_Off() PutRecovery40_PassiveInitial() PutWait_ImmPauseReq_Off() PutDataRefuse_CheckDataUpdateFlag() PutDataRefuse_Wait_Refuse_Off() Put Normal Step Put Abnormal Step

II Scheduler Class : Scheduler_StepManager.cs ① Put Normal Step Method PutStep00_Start() Put H/S 시작 PutStep10_WriteData() INDEX Put Glass Data Write PutStep20_Wait_RcvStart_On() 설비의 Receive Start On 대기 PutStep30_DoRobotAction() Contact Point Check 및 Put 명령 Robot 전송 PutStep40_Wait_RobotAction_Done() Robot Request 명령에 대한 완료 Reply 대기 PutStep50_Wait_RcvComplete_On() EQ Receive Complete On 대기 PutStep60_Wait_RcvComplete_Off() EQ Receive PIO All Off 대기 PutWait_ImmPauseReq_Off() EQ Put 작업중 발생한 Imm'pause Request에 대한 Off 대기 PutDataRefuse_CheckDataUpdateFlag() INDEX 투입 Glass의 이상 Data에 대한 처리를 대기 PutDataRefuse_Wait_Refuse_Off() EQ의 Receive Refuse Bit Off 대기

II Scheduler Class : Scheduler_StepManager.cs ② Put Abnormal Step Method PutRecovery_Wait_TMAlarmClear() Robot Alarm 발생에 대한 조치를 대기 PutRecovery00_Start() Put 작업에 대한 Recovery 대기 PutRecovery10_ActiveResume() Active Resume에 대한 Reply 대기(INDEX Request ⇒ EQ Reply) PutRecovery20_ActiveInitial() Active Initial에 대한 Reply대기(INDEX Initial) PutRecovery20_HSSkipInitial() Initial을 INDEX, EQ간에 진행하지 않고 INDEX 단독으로 진행(CF Only) PutRecovery30_PassiveResume() Passive Resume에 대한 Reply 대기(EQ Request ⇒ INDEX Reply) PutRecovery40_PassiveInitial() Passive Initial 대기

II Scheduler Class : Config 구성 Scheduler Config 구성 <Scheduler SchedulerLStopBackMode="true" SchedulerWaitPosition="PM1" SchedulerWaitWithPanel="true" SchedulerCount2Enable="false" SchedulerHSInitialSkipEnable="true" assemblyName="CTCFx.Scheduler.SFA.dll" typeName="CTCFx.Scheduler.SFA.SFAScheduler" > </Scheduler> - SchedulerLStopBackMode : Loading Stop시 Back Mode 여부 설정(true : Back 함, false : Back 안 함) - SchedulerWaitPosition : Robot의 Default Position 설정 (Ex :"PM1", "none") - SchedulerWaitWithPanel : Wait Position 이동 시 Glass 유무를 설정(true : Glass 유 대기, false : Glass 무 대기) - SchedulerCount2Enable : Count2 설정에 의한 연속 반송 여부 체크(true : 사용 함, false : 사용 안 함) - SchedulerHSInitialSkipEnable : H/S Initial 시 EQ와 연동 여부 설정(true : 단독 진행, false : 연동 진행) - assemblyName :Main Scheduler에 자식 Class로 사용될 DLL 이름 - typeName : Main Scheduler에 자식 Class의 Namespace

감사합니다.