From 89e9a02ed0807bbe95ee369c78d8a0346e905f70 Mon Sep 17 00:00:00 2001 From: NohDoyeon241104 Date: Thu, 18 Jun 2026 17:12:25 +0900 Subject: [PATCH] =?UTF-8?q?feat=20:=20PLCController.Address=20=ED=86=B5?= =?UTF-8?q?=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Devices/PLC/PLCController.Address.cs | 347 +++++------------- 1 file changed, 83 insertions(+), 264 deletions(-) diff --git a/WeldingComponents/WeldingCommon/Devices/PLC/PLCController.Address.cs b/WeldingComponents/WeldingCommon/Devices/PLC/PLCController.Address.cs index 90fac33..971ca49 100644 --- a/WeldingComponents/WeldingCommon/Devices/PLC/PLCController.Address.cs +++ b/WeldingComponents/WeldingCommon/Devices/PLC/PLCController.Address.cs @@ -10,214 +10,8 @@ namespace WeldingCommon.Devices { public partial class PLCController { - #region - // PLC -> PC [INPUT] - //public enum eCommonBitInput : int - //{ - // LIVESTATUS = 0X00, - // AUTOSTATUS, - // AUTOCOMPLETE, - // MANUALCOMPLETE, - // LIGHT_ALSTATUS, - // HEAVY_ALSTATUS, - // EMPTY_6, - // EMPTY_7, - // PAGE_CHGCOMPLETE, - // EMPTY_9, - // EMPTY_10, - // EMPTY_11, - // EMPTY_12, - // EMPTY_13, - // EMPTY_14, - // EMPTY_15, - // WELD_01READYACK, - // WELD_01BUSY, - // WELD_01COMPLETE, - // EMPTY_19, - // EMPTY_20, - // 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, - // EMPTY_37, - // 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, - // EMPTY_60, - // EMPTY_61, - // EMPTY_62, - // EMPTY_63, - // EMPTY_64, - // EMPTY_65, - // EMPTY_66, - // EMPTY_67, - // EMPTY_68, - // EMPTY_69, - // EMPTY_70, - // EMPTY_71, - // EMPTY_72, - // EMPTY_73, - // EMPTY_74, - // EMPTY_75, - // EMPTY_76, - // EMPTY_77, - // EMPTY_78, - // EMPTY_79, - // EMPTY_80, - // EMPTY_81, - // EMPTY_82, - // EMPTY_83, - // EMPTY_84, - // EMPTY_85, - // EMPTY_86, - // EMPTY_87, - // EMPTY_88, - // EMPTY_89, - // EMPTY_90, - // EMPTY_91, - // EMPTY_92, - // EMPTY_93, - // EMPTY_94, - // EMPTY_95, - // EMPTY_96, - // EMPTY_97, - // EMPTY_98, - // EMPTY_99, - // EMPTY_100, - // AUTOSTATUS_A, - // AUTOCOMPLETE_A, - // MANUALCOMPLETE_A, - // LIGHT_ALSTATUS_A, - // HEAVY_ALSTATUS_A, - // EMPTY_106, - // EMPTY_107, - // PAGE_CHGCOMPLETE_A, - // EMPTY_109, - // EMPTY_110, - // EMPTY_111, - // EMPTY_112, - // EMPTY_113, - // EMPTY_114, - // EMPTY_115, - // WELD_01READYACK_A, - // WELD_01BUSY_A, - // WELD_01COMPLETE_A, - // WELD_02READYACK, - // WELD_02BUSY, - // WELD_02COMPLETE, - // EMPTY_122, - // EMPTY_123, - // WELDMONICOMPLETE, - // WELD_CH2READYACK, - // WELD_CH2BUSY, - // WELD_CH2COMPLETE, - // WELD_CH2MONICOMPLETE, - // EMPTY_129, - // EMPTY_130, - // EMPTY_131, - // EMPTY_132, - // M_POWERACK, - // M_POWERBUSY, - // M_POWERCOMPLETE, - // EMPTY_136, - // PLC_PARA_READ_ACK, - // PLC_PARA_SET_ACK, - // PLC_PARA_CHG_REQ, - // EMPTY_140, - // EMPTY_141, - // EMPTY_142, - // EMPTY_143, - // EMPTY_144, - // EMPTY_145, - // EMPTY_146, - // EMPTY_147, - // EMPTY_148, - // EMPTY_149, - // EMPTY_150, - // EMPTY_151, - // EMPTY_152, - // EMPTY_153, - // EMPTY_154, - // EMPTY_155, - // EMPTY_156, - // EMPTY_157, - // EMPTY_158, - // EMPTY_159, - // EMPTY_160, - // EMPTY_161, - // EMPTY_162, - // EMPTY_163, - // EMPTY_164, - // EMPTY_165, - // EMPTY_166, - // EMPTY_167, - // EMPTY_168, - // EMPTY_169, - // EMPTY_170, - // EMPTY_171, - // EMPTY_172, - // EMPTY_173, - // EMPTY_174, - // EMPTY_175, - // EMPTY_176, - // EMPTY_177, - // EMPTY_178, - // EMPTY_179, - // EMPTY_180, - // EMPTY_181, - // EMPTY_182, - // EMPTY_183, - // EMPTY_184, - // EMPTY_185, - // EMPTY_186, - // EMPTY_187, - // EMPTY_188, - // EMPTY_189, - // EMPTY_190, - // EMPTY_191, - // EMPTY_192, - // EMPTY_193, - // EMPTY_194, - // EMPTY_195, - // EMPTY_196, - // EMPTY_197, - // EMPTY_198, - // EMPTY_199, - //} - #endregion - // PLC -> PC [INPUT] - public enum eCommonBitInput : int + // 최신화 된 메모리 맵 정보 + public enum eBitInput : int { PLC_LIVE_STATUS = 0x00, PLC_AUTO_STATUS = 0x01, @@ -229,7 +23,8 @@ namespace WeldingCommon.Devices PLC_EMO_STATUS = 0x07, PLC_PAGE_CHANGE_REQ = 0x08, - PLC_RMS_USED = 0x09, + // 260618: M70509 Recipe 변경 요청 (구 PLC_RMS_USED, RMS 미사용으로 폐기 후 재정의) + PLC_RECIPE_CHANGE_REQ = 0x09, // 0x0A ~ 0x0F PLC_WELD_READY_REQ = 0x10, PLC_WELD_WAIT = 0x11, @@ -252,9 +47,8 @@ namespace WeldingCommon.Devices PLC_WELD_P_WAIT = 0x75, PLC_WELD_P_COMP_ACK = 0x76, } - // PC -> PLC [OUTPUT] - // PC -> PLC [OUTPUT] - public enum eCommonBitOutput : int + + public enum eBitOutput : int { PC_LIVE_STATUS = 0x00, PC_AUTO_STATUS = 0x01, @@ -265,7 +59,8 @@ namespace WeldingCommon.Devices PC_DOOR_INTERLOCK = 0x06, PC_EMO_STATUS = 0x07, PC_PAGE_CHANGE_COMPLETE = 0x08, - PC_RECIPE_CHANGE_COMPLETE = 0x09, // 260618: PTOP enum과 동기화 (RestoreDeviceStatus가 common enum 사용) + // 260618: M70009 Recipe 변경 완료 응답 (구 PC_EMPTY01, 미사용 → 재정의) + PC_RECIPE_CHANGE_COMPLETE = 0x09, // 0x0A ~ 0x0F PC_WELD_READY_ACK = 0x10, PC_WELD_BUSY = 0x11, @@ -284,60 +79,14 @@ namespace WeldingCommon.Devices PC_WELD_P_BUSY = 0x75, PC_WELD_P_COMP_ACK = 0x76, } - #region - //public enum eCommonBitOutput : 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, // ng(vision Compensation fail) 발생 시 살림 - // 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, - //} - #endregion - public enum eCommonWordInput : int + public enum eWordInput : int { PLC_ERROR_CODE = 0X00, PLC_PAGE_NO, - PLC_STEP_NO, - EMPTY_03, + PLC_RECIPE_NO, // 260618: D70502 Recipe No (구 PLC_STEP_NO, index 2 유지) PLC_CURRENT_SLOT_NO, // EL / CLEAN 사용 + EMPTY_04, EMPTY_05, EMPTY_06, EMPTY_07, @@ -371,13 +120,39 @@ namespace WeldingCommon.Devices 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 eCommonWordOutput : int + public enum eWordOutput : int { PC_ERROR_CODE = 0X00, PC_PAGE_NO, - EMPTY_02, + PC_RECIPE_NO, // 260618: D70002 Recipe No 에코 (구 EMPTY_02, index 2 유지) EMPTY_03, EMPTY_04, EMPTY_05, @@ -395,6 +170,50 @@ namespace WeldingCommon.Devices 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, } // PLC 주소 초기화