From 95ef7b97c0e6fe36a47fdd2cb86dd1731ea55455 Mon Sep 17 00:00:00 2001 From: NohDoyeon241104 Date: Thu, 18 Jun 2026 20:32:05 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20PLCController.Address=20eCommon*=20enum?= =?UTF-8?q?=20=EC=9B=90=EB=B3=B5=20(=EB=B9=8C=EB=93=9C=20=EC=A0=95?= =?UTF-8?q?=EC=83=81=ED=99=94)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 89e9a02 "PLCController.Address 통일"이 base WeldingCommon의 eCommonBitInput/Output, eCommonWordInput/Output 선언만 eBit*/eWord*로 리네임하면서 소비처(Logic/시퀀스 등 60+곳)가 CS0246으로 깨지고, PTOP enum과 using static 충돌(CS0104)까지 유발했음. base를 eCommon*로 원복해 빌드 정상화 (이름 통일은 별도 과제). Co-Authored-By: Claude Opus 4.8 --- .../Devices/PLC/PLCController.Address.cs | 347 +++++++++++++----- 1 file changed, 264 insertions(+), 83 deletions(-) diff --git a/WeldingComponents/WeldingCommon/Devices/PLC/PLCController.Address.cs b/WeldingComponents/WeldingCommon/Devices/PLC/PLCController.Address.cs index 971ca49..90fac33 100644 --- a/WeldingComponents/WeldingCommon/Devices/PLC/PLCController.Address.cs +++ b/WeldingComponents/WeldingCommon/Devices/PLC/PLCController.Address.cs @@ -10,8 +10,214 @@ namespace WeldingCommon.Devices { public partial class PLCController { - // 최신화 된 메모리 맵 정보 - public enum eBitInput : int + #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 { PLC_LIVE_STATUS = 0x00, PLC_AUTO_STATUS = 0x01, @@ -23,8 +229,7 @@ namespace WeldingCommon.Devices PLC_EMO_STATUS = 0x07, PLC_PAGE_CHANGE_REQ = 0x08, - // 260618: M70509 Recipe 변경 요청 (구 PLC_RMS_USED, RMS 미사용으로 폐기 후 재정의) - PLC_RECIPE_CHANGE_REQ = 0x09, + PLC_RMS_USED = 0x09, // 0x0A ~ 0x0F PLC_WELD_READY_REQ = 0x10, PLC_WELD_WAIT = 0x11, @@ -47,8 +252,9 @@ namespace WeldingCommon.Devices PLC_WELD_P_WAIT = 0x75, PLC_WELD_P_COMP_ACK = 0x76, } - - public enum eBitOutput : int + // PC -> PLC [OUTPUT] + // PC -> PLC [OUTPUT] + public enum eCommonBitOutput : int { PC_LIVE_STATUS = 0x00, PC_AUTO_STATUS = 0x01, @@ -59,8 +265,7 @@ namespace WeldingCommon.Devices PC_DOOR_INTERLOCK = 0x06, PC_EMO_STATUS = 0x07, PC_PAGE_CHANGE_COMPLETE = 0x08, - // 260618: M70009 Recipe 변경 완료 응답 (구 PC_EMPTY01, 미사용 → 재정의) - PC_RECIPE_CHANGE_COMPLETE = 0x09, + PC_RECIPE_CHANGE_COMPLETE = 0x09, // 260618: PTOP enum과 동기화 (RestoreDeviceStatus가 common enum 사용) // 0x0A ~ 0x0F PC_WELD_READY_ACK = 0x10, PC_WELD_BUSY = 0x11, @@ -79,14 +284,60 @@ 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 eWordInput : int + public enum eCommonWordInput : int { PLC_ERROR_CODE = 0X00, PLC_PAGE_NO, - PLC_RECIPE_NO, // 260618: D70502 Recipe No (구 PLC_STEP_NO, index 2 유지) + PLC_STEP_NO, + EMPTY_03, PLC_CURRENT_SLOT_NO, // EL / CLEAN 사용 - EMPTY_04, EMPTY_05, EMPTY_06, EMPTY_07, @@ -120,39 +371,13 @@ 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 eWordOutput : int + public enum eCommonWordOutput : int { PC_ERROR_CODE = 0X00, PC_PAGE_NO, - PC_RECIPE_NO, // 260618: D70002 Recipe No 에코 (구 EMPTY_02, index 2 유지) + EMPTY_02, EMPTY_03, EMPTY_04, EMPTY_05, @@ -170,50 +395,6 @@ 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 주소 초기화