using AuroraPLC; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ILSOS_PrismaticScanner.Device { partial class PLCControllerPrismaticScanner { // 최신화 된 메모리 맵 정보 public enum eBitInput : int { PLC_LIVE_STATUS = 0X00, PLC_AUTO_STATUS, PLC_AUTO_REQ, PLC_MANUAL_REQ, PLC_LIGHT_ALARM_STATUS, PLC_HEAVY_ALARM_STATUS, PLC_DOOR_INTERLOCK, PLC_EMO_STATUS, PLC_PAGE_CHANGE_REQ, PLC_RMS_USED, EMPTY_10, EMPTY_11, EMPTY_12, EMPTY_13, EMPTY_14, EMPTY_15, PLC_WELD_READY_REQ, PLC_WELD_WAIT, PLC_WELD_COMPLETE_ACK, EMPTY_19, EMPTY_20, // ng(vision Compensation fail) 발생 시 살림 EMPTY_21, EMPTY_22, EMPTY_23, EMPTY_24, EMPTY_25, EMPTY_26, EMPTY_27, EMPTY_28, EMPTY_29, PLC_ALARM_RESET, EMPTY_31, EMPTY_32, EMPTY_33, EMPTY_34, EMPTY_35, EMPTY_36, PLC_RMS_PARAMETER_READ_REQUEST, EMPTY_38, EMPTY_39, EMPTY_40, EMPTY_99 } public enum eBitOutput : int { PC_LIVE_STATUS = 0X00, PC_AUTO_STATUS, PC_AUTO_COMPLETE, PC_MANUAL_COMPLETE, PC_LIGHT_ALARM_STATUS, PC_HEAVY_ALARM_STATUS, EMPTY_06, EMPTY_07, PC_PAGE_CHANGE_COMPLETE, EMPTY_09, EMPTY_10, EMPTY_11, EMPTY_12, EMPTY_13, EMPTY_14, EMPTY_15, PC_WELD_READY_ACK, PC_WELD_BUSY, PC_WELD_COMPLETE, EMPTY_19, PC_WELD_NG_JUDGE, // NG = 1 G = 0 EMPTY_21, EMPTY_22, EMPTY_23, EMPTY_24, EMPTY_25, EMPTY_26, EMPTY_27, EMPTY_28, EMPTY_29, EMPTY_30, EMPTY_31, EMPTY_32, EMPTY_33, EMPTY_34, EMPTY_35, EMPTY_36, PC_RMS_PARAMETER_READ_REQUEST_ACK, EMPTY_38, EMPTY_39, EMPTY_40, } public enum eWordInput : int { PLC_ERROR_CODE = 0X00, PLC_PAGE_NO, PLC_STEP_NO, PLC_CURRENT_SLOT_NO, // EL / CLEAN 사용 EMPTY_04, EMPTY_05, EMPTY_06, EMPTY_07, EMPTY_08, EMPTY_09, EMPTY_10, EMPTY_11, EMPTY_12, EMPTY_13, EMPTY_14, EMPTY_15, EMPTY_16, EMPTY_17, EMPTY_18, EMPTY_19, PLC_CELL_ID_01, PLC_CELL_ID_02, PLC_CELL_ID_03, PLC_CELL_ID_04, PLC_CELL_ID_05, PLC_CELL_ID_06, PLC_CELL_ID_07, PLC_CELL_ID_08, PLC_CELL_ID_09, PLC_CELL_ID_10, PLC_LOT_ID_01, PLC_LOT_ID_02, PLC_LOT_ID_03, PLC_LOT_ID_04, PLC_LOT_ID_05, PLC_LOT_ID_06, PLC_LOT_ID_07, PLC_LOT_ID_08, EMPTY_38, EMPTY_39, EMPTY_40, EMPTY_41, EMPTY_42, EMPTY_43, EMPTY_44, EMPTY_45, EMPTY_46, EMPTY_47, EMPTY_48, EMPTY_49, EMPTY_50, EMPTY_51, EMPTY_52, EMPTY_53, EMPTY_54, EMPTY_55, EMPTY_56, EMPTY_57, EMPTY_58, EMPTY_59, PC_RMS_ALLOC_START, PC_RMS_ALLOC_END = 97, EMPTY_98, EMPTY_99, } public enum eWordOutput : int { PC_ERROR_CODE = 0X00, PC_PAGE_NO, EMPTY_02, EMPTY_03, EMPTY_04, EMPTY_05, EMPTY_06, EMPTY_07, PC_WELD_OFFSET_X, EMPTY_09, PC_WELD_OFFSET_Y, EMPTY_11, PC_DISPLACEMENT1_MEASUREMENT, EMPTY_13, PC_DISPLACEMENT2_MEASUREMENT = 0X0E, EMPTY_15, EMPTY_16, EMPTY_17, EMPTY_18, EMPTY_19, PC_CELL_ID_01, PC_CELL_ID_02, PC_CELL_ID_03, PC_CELL_ID_04, PC_CELL_ID_05, PC_CELL_ID_06, PC_CELL_ID_07, PC_CELL_ID_08, PC_CELL_ID_09, PC_CELL_ID_10, PC_LOT_ID_01, PC_LOT_ID_02, PC_LOT_ID_03, PC_LOT_ID_04, PC_LOT_ID_05, PC_LOT_ID_06, PC_LOT_ID_07, PC_LOT_ID_08, EMPTY_38, EMPTY_39, PC_FDC_PAGE1_POWER, PC_FDC_PAGE1_VELOCITY, PC_FDC_PAGE2_POWER, PC_FDC_PAGE2_VELOCITY, PC_FDC_PAGE3_POWER, PC_FDC_PAGE3_VELOCITY, EMPTY_46, EMPTY_47, EMPTY_48, EMPTY_49, EMPTY_50, EMPTY_51, EMPTY_52, EMPTY_53, EMPTY_54, EMPTY_55, EMPTY_56, EMPTY_57, EMPTY_58, EMPTY_59, PC_RMS_ALLOC_START, PC_RMS_ALLOC_END = 97, EMPTY_98, EMPTY_99, } internal string CellId() { StringBuilder sb = new StringBuilder(); var item = ReadWords(eWordInput.PLC_CELL_ID_01, eWordInput.PLC_CELL_ID_05); foreach (var word in item.datas) sb.Append(Conv_ReadData(PLCBase.eDataType.Type_Ascii, word, 0, false, false)); return sb.ToString(); } internal string LotId() { StringBuilder sb = new StringBuilder(); var item = ReadWords(eWordInput.PLC_LOT_ID_01, eWordInput.PLC_LOT_ID_08); foreach (var word in item.datas) sb.Append(Conv_ReadData(PLCBase.eDataType.Type_Ascii, word, 0, false, false)); return sb.ToString(); } } }