using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.ComponentModel; namespace Project { public enum StepResult { Wait = 0, Complete, Error, } public enum eWorkPort { Left = 0, Right } public enum eNormalResult { True = 0, False, Error, } public enum eSMStep : byte { NOTSET = 0, INIT = 1, IDLE = 10, RUN = 50, RUN_ROOT_SEQUENCE_L, RUN_ROOT_SEQUENCE_R, RUN_KEYENCE_READ_L, RUN_KEYENCE_READ_R, RUN_PICKER_ON_L, RUN_PICKER_ON_R, RUN_PICKER_OFF_L, RUN_PICKER_OFF_R, RUN_PRINTER_F, RUN_PRINTER_R, RUN_PRINTER_ON_F, RUN_PRINTER_ON_R, RUN_PRINTER_OFF_F, RUN_PRINTER_OFF_R, RUN_QRVALID_F, RUN_QRVALID_R, RUN_COM_PT0, RUN_COM_PT1, RUN_COM_PT2, RUN_PICK_RETRY, //이후에 사용자 런 코드용 스텝을 추가한다. EMERGENCY = 200, HOME_FULL = 201, HOME_DELAY, HOME_CONFIRM, HOME_QUICK, CLOSING = 250, CLOSEWAIT = 251, CLOSED = 252, //사용자영역 FINISH = 100, PAUSE, WAITSTART, ERROR, SAFTY, CLEAR, } public enum eWaitMessage { PX = 0, PZ, LMOVE, LUPDN, RMOVE, RUPDN, LPRINT, RPRINT, VIS0, VIS1, VIS2, } //public enum eJobResult //{ // None = 0, // Error, // ErrorOut, // MaxCount, // NotExistSID, // DisableUnloader, // MatchFail, // NoBarcode //} public enum eCartSize { None = 0, Inch7 = 7, Inch13 = 13 } public enum ePrintPutPos { None = 0, Top, Middle, Bottom, } public enum ePrintVac { inhalation = 0, exhaust, off, } public enum eJobType : byte { Sorter = 0, Dryrun, } public enum eHeaderHandler { Ping = 0, RequestData, RequstSeqNo, RequstInputReel, JobEnd, JobDelete, } public struct sVisionDMResult { public Boolean iSystemErr { get; set; } public Boolean isError { get; set; } public string DM { get; set; } public System.Drawing.Rectangle ROS { get; set; } public System.Drawing.PointF DMCenter { get; set; } public List DMCorner { get; set; } public string DMMessage { get; set; } } public struct sObjectDetectResult { public string Message { get; set; } public List Rect { get; set; } public List Areas { get; set; } public Boolean OK { get { if (Areas == null || Areas.Count < 1) return false; else return true; } } } public enum eGridValue { /// /// 아직 처리 전(기본 초기화된 상태) /// NotSet = 0, /// /// 원점검사에서 오류 발생 /// OrientError, /// /// 아이템검출에서 실패됨 /// NoItem, /// /// 아이템검출성공, 데이터매트릭스 검출 실패 /// NewItem, /// /// 데이터매트릭스 읽기 실패 /// DMReadError, /// /// 데이터매트릭스 관리 횟수가 기준횟수(10) 미만 (아직 정상) /// DMNotmalCount, /// /// 데이터매트릭스 관리 횟수가 기준횟수(10)를 초과한 경우 /// DMOverCount, } public enum eRoiSeq { Area = 0, DataMatrix, Orient, DetectUnit, DetectDM } public enum eWaitType : byte { TryLock = 0, TryUnLock, AirBlowOn, AirBlowOff, AirBlowDustOn, AirBlowDustOff, PrintPickLOff, PrintPickLOn, PrintPickROff, PrintPickROn, PickOff, PickOn, AirBlowCoverDn, AirBlowCoverUp, UnloaderUp, UnloaderDn, LiftUp, LiftDn, } public enum eSensorState : byte { Off = 0, On = 1, InComplete = 2, } public enum eIOCheckResult { Wait = 0, Complete, Timeout } public enum ePort { Left = 0, Right, } enum eResultStringType { Nomal = 0, Attention, Error, } public enum eMotDir { Stop = 0, CW = 1, CCW = 2 } /// /// RUN중일 때 사용되는 세부 시퀀스 /// public enum eRunStep : byte { NOTSET = 0, /// /// 프로그램 체크 /// STARTCHKSW, /// /// 하드웨어 체크 /// STARTCHKHW, /// /// 기계장치를 작업 시작 전 상태로 이동합니다 /// INITIALHW, /// /// 안전지대(비활성화된경우 발생) /// SAFTYZONE_GO, SAFTYZONE_RDY, BEGINLOAD, /// /// 트레이를 로딩하기 위한 로더 이동 및 트레이 추출 /// PORTLOAD, /// /// 비젼촬영을위한 위치로 이동 /// BEGINPICK, ENDPICK, OVERLOAD, SAVEDATA, /// /// 모션 원위치 /// BARCODE, /// /// AIR/BLOW 위치 이동 및 작업 /// AIRBLOW, REELOUT, TRAYOUT, /// /// 언로드위치로 셔틀을 이동 /// BEGINUNLOADER, /// /// 트레이 언로드 작업 /// TRAYUNLOAD, /// /// 언로딩하고 다시 로딩존으로 이동하는 시퀀스 /// MOVE_TO_LOAD, } public enum ePLCIPin : byte { X00, X01, X02, X03, X04, X05, X06, X07, X08, X09, X0A, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X1A } public enum ePLCOPin : byte { Y00, Y01, Y02, Y03, Y04, Y05, Y06, Y07, Y08, Y09, Y0A, Y10, Y11, Y12, Y13, Y14, Y15, Y16, Y17, Y18, Y19, Y1A } public enum ePLCITitle : byte { Run, Cart_Status_01, Cart_Status_02, Cart_Status_03, Cart_Status_04, Machine_Confirm = 19 } public enum ePLCOTitle : byte { Cart_No_Setting = 0, Handler_Confirm = 19, } public enum eResult : byte { NOERROR, EMERGENCY, SAFTY, DEVELOP, SETUP, HARDWARE, SENSOR, MOTION, OPERATION, COMMUNICATION, TIMEOUT, UNLOADER, } public enum eECode : byte { NOTSET = 0, EMERGENCY = 1, NOMODELV = 2,//작업모델 NOMODELM = 3,//모션모델 DOORSAFTY = 6, AREASAFTY = 7, VIS_LICENSE = 8, HOME_TIMEOUT = 9, AIRNOOUT = 10, NOFUNCTION = 11, AIRNOTDETECT = 12, DOOFF = 27,//출력 off DOON = 28,//출력 on DIOFF = 29,//입력off DION = 30,//입력 on MESSAGE_INFO = 32, MESSAGE_ERROR = 33, VISION_NOTREADY = 34, VISION_NOCONN = 35, VISION_TRIGERROR = 36, VISION_COMMERROR = 37, VISION_NORECV = 38, AZJINIT = 39, //DIO 혹은 모션카드 초기화 X MOT_HSET = 41, MOT_SVOFF = 42, MOT_HSEARCH = 43, MOT_CMD = 71, USER_STOP = 72, USER_STEP = 73, POSITION_ERROR = 86, MOTIONMODEL_MISSMATCH = 96, //여기서부터는 전용코드로한다(소켓은 조금 섞여 있음) VISCONF = 100, NEED_AIROFF_L, NEED_AIROFF_R, PORTOVERLOAD, NOPRINTLDATA, NOPRINTRDATA, PRINTL, PRINTR, CAM_LEFT, CAM_RIGHT, INCOMPLETE_LOADERDATA, INCOMPLETE_INFOSELECT, NOPUTPOSITION, NOREELSIZE, PRINTER, QRDATAMISSMATCHL, QRDATAMISSMATCHR, MOTX_SAFETY, NO_PAPER_DETECT_L, NO_PAPER_DETECT_R, CART_SIZE_ERROR_L, CART_SIZE_ERROR_R, PRE_USE_REELID_L, PRE_USE_REELID_R, NEED_JOBCANCEL, LCONVER_REEL_DECTECT_ALL =150, RCONVER_REEL_DECTECT_ALL, LCONVER_REEL_DECTECT_IN, RCONVER_REEL_DECTECT_IN, LCONVER_MOVING, RCONVER_MOVING, NOREADY_KEYENCE, PRINTER_LPICKER_NOBW, PRINTER_RPICKER_NOBW, NOBYPASSSID, CONFIG_KEYENCE, PRINTER_LPRINTER_NOUP, PRINTER_RPRINTER_NOUP, NOECSDATA, PICKER_LCYL_NODOWN, PICKER_RCYL_NODOWN, PICKER_LCYL_NOUP, PICKER_RCYL_NOUP, NOSIDINFOFROMDB, INBOUNDWEBAPIERROR, SIDINFORDUP, NOECSDATAACTIVE, NOTSELECTMULTISID, } public enum eNextStep : byte { NOTHING = 0, PAUSE, PAUSENOMESAGE, ERROR } public enum eILock { EMG = 0, PAUSE, HOMESET, DOOR, SAFTYAREA, DISABLE, XMOVE, YMOVE, ZMOVE, X_POS, Y_POS, Z_POS, PY_POS, PZ_POS, CYL_FORWARD, MPrint, } //public enum eILockPKX //{ // EMG = 0, // PAUSE, // HOMESET, // DOOR, // Disable, // ZL_POS, // ZR_POS, // ZMOVE, // PKZPOS, //} //public enum eILockPKZ //{ // EMG = 0, // PAUSE, // HOMESET, // DOOR, // Disable, // Y_POS, // YMOVE, // PORTRUN0, // PORTRUN1, // PORTRUN2 //} //public enum eILockPKT //{ // EMG = 0, // PAUSE, // HOMESET, // DOOR, // Disable, // Y_POS, // Y_MOVE, // PortRun //} ///// ///// PRINT MOVE AXIS (L+R) ///// //public enum eILockPRM //{ // Emergency = 0, // Pause, // HomeSet, // Safty, // Disable, // ZMOVE, // FORWARD, // ITEMON, // PKXPOS, // PRNZPOS, //} //public enum eILockPRZ //{ // EMG = 0, // PAUSE, // HOMESET, // DOOR, // Disable, // YMOVE, // ITEMON, // PRNYPOS, //} public enum eILockPRL { EMG = 0, PAUSE, HOMESET, DOOR, SAFTYAREA, DISABLE, PRNYPOS, PRNZPOS, } public enum eILockPRR { EMG = 0, PAUSE, HOMESET, DOOR, SAFTYAREA, DISABLE, PRNYPOS, PRNZPOS, } public enum eILockVS0 { EMG = 0, PAUSE, HOMESET, DOOR, SAFTYAREA, DISABLE, PORTRDY, PKXPOS, //피커의 위치 PRNYPOS, //프린터Y축 위치 } public enum eILockVS1 { EMG = 0, PAUSE, HOMESET, DOOR, SAFTYAREA, DISABLE, PORTRDY, PKXPOS, } public enum eILockVS2 { EMG = 0, PAUSE, HOMESET, DOOR, SAFTYAREA, DISABLE, PORTRDY, PKXPOS, //피커의 위치 PRNYPOS, //프린터Y축 위치 } public enum eILockCV { EMG = 0, PAUSE, HOMESET, DOOR, SAFTYAREA, /// /// 포트를 사용하지 않는경우 /// DISABLE, /// /// 카트모드 /// CARTMODE, /// /// 업체컨이어의 ready 신호 /// EXTBUSY, /// /// 나의 작업 신호 /// BUSY, VISION, } }