Compare commits
2 Commits
f1908696b5
...
8da54264f7
| Author | SHA1 | Date | |
|---|---|---|---|
| 8da54264f7 | |||
|
|
4b7b9cf9cd |
BIN
Doc/OC2_Welder2170_관리파일_260326.xlsx
Normal file
BIN
Doc/OC2_Welder2170_관리파일_260326.xlsx
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
External/Aurora/bin/Aurora.exe
vendored
BIN
External/Aurora/bin/Aurora.exe
vendored
Binary file not shown.
BIN
External/Aurora/bin/hi-IN/Aurora.resources.dll
vendored
BIN
External/Aurora/bin/hi-IN/Aurora.resources.dll
vendored
Binary file not shown.
BIN
External/Aurora/bin/ko-KR/Aurora.resources.dll
vendored
BIN
External/Aurora/bin/ko-KR/Aurora.resources.dll
vendored
Binary file not shown.
BIN
External/Aurora/bin/zh-CN/Aurora.resources.dll
vendored
BIN
External/Aurora/bin/zh-CN/Aurora.resources.dll
vendored
Binary file not shown.
BIN
External/Aurora/lib/x64-Debug/AuroraNative.dll
vendored
BIN
External/Aurora/lib/x64-Debug/AuroraNative.dll
vendored
Binary file not shown.
BIN
External/Aurora/lib/x64-Debug/AuroraNative.exp
vendored
BIN
External/Aurora/lib/x64-Debug/AuroraNative.exp
vendored
Binary file not shown.
BIN
External/Aurora/lib/x64-Debug/AuroraNative.lib
vendored
BIN
External/Aurora/lib/x64-Debug/AuroraNative.lib
vendored
Binary file not shown.
BIN
External/Aurora/lib/x64-Debug/x64-Debug/AuroraNative.dll
vendored
Normal file
BIN
External/Aurora/lib/x64-Debug/x64-Debug/AuroraNative.dll
vendored
Normal file
Binary file not shown.
BIN
External/Aurora/lib/x64-Debug/x64-Release/AuroraNative.dll
vendored
Normal file
BIN
External/Aurora/lib/x64-Debug/x64-Release/AuroraNative.dll
vendored
Normal file
Binary file not shown.
BIN
External/Aurora/lib/x64-Release/AuroraNative.dll
vendored
BIN
External/Aurora/lib/x64-Release/AuroraNative.dll
vendored
Binary file not shown.
BIN
External/Aurora/lib/x64-Release/AuroraNative.exp
vendored
BIN
External/Aurora/lib/x64-Release/AuroraNative.exp
vendored
Binary file not shown.
BIN
External/Aurora/lib/x64-Release/AuroraNative.lib
vendored
BIN
External/Aurora/lib/x64-Release/AuroraNative.lib
vendored
Binary file not shown.
@ -176,8 +176,6 @@ namespace ILSOS_CCW_H52A.Device
|
|||||||
PC_WELD_COMPLETE_14, //지그 14번 용접완료 여부
|
PC_WELD_COMPLETE_14, //지그 14번 용접완료 여부
|
||||||
PC_WELD_COMPLETE_15, //지그 15번 용접완료 여부
|
PC_WELD_COMPLETE_15, //지그 15번 용접완료 여부
|
||||||
PC_WELD_COMPLETE_16 //지그 16번 용접완료 여부
|
PC_WELD_COMPLETE_16 //지그 16번 용접완료 여부
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum eWordInput : int
|
public enum eWordInput : int
|
||||||
@ -189,95 +187,154 @@ namespace ILSOS_CCW_H52A.Device
|
|||||||
PLC_CURRENT_POS_1, // 현재 Rotary 절대엔코더값 1
|
PLC_CURRENT_POS_1, // 현재 Rotary 절대엔코더값 1
|
||||||
PLC_CURRENT_POS_2, // 현재 Rotary 절대엔코더값 2
|
PLC_CURRENT_POS_2, // 현재 Rotary 절대엔코더값 2
|
||||||
PLC_NUM_OF_REVOLUTIONS, // 현재 Rotary 회전수
|
PLC_NUM_OF_REVOLUTIONS, // 현재 Rotary 회전수
|
||||||
//PLC_SCANNER_Z_AXIS_1 = 0x08, // 현재 Scanner Z축 위치 1
|
|
||||||
//PLC_SCANNER_Z_AXIS_2, // 현재 Scanner Z축 위치 2
|
|
||||||
|
|
||||||
//// WON : 2170 RMS 대비 enum 추가 추후 해당 주소 영역 확인 후 주소 매핑 필요
|
|
||||||
//PLC_WELDING_RECIPE_NO = 48, // 설정할 PLC Recipe 번호
|
|
||||||
//PLC_WELDING_LASER_POWER = 50,
|
|
||||||
//PLC_WELDING_DRAW_SPEED = 52,
|
|
||||||
//PLC_WELDING_JUMP_SPEED = 54,
|
|
||||||
//PLC_SCANNER_X_AXIS = 56, // 현재 Scanner X축 위치
|
|
||||||
//PLC_WELDING_FOCAL_LENGTH = 58, // 현재 Scanner Z축 위치
|
|
||||||
//PLC_WELDING_LASER_ON_DELAY = 60,
|
|
||||||
//PLC_WELDING_LASER_OFF_DELAY = 62,
|
|
||||||
//PLC_WELDING_JUMP_DELAY = 64,
|
|
||||||
//PLC_WELDING_MARK_DELAY = 66,
|
|
||||||
//PLC_WELDING_POLYGON_DELAY = 68,
|
|
||||||
//PLC_WELDING_RAMPING_START_A_POWER_1 = 70,
|
|
||||||
//PLC_WELDING_RAMPING_START_A_POWER_2 = 72,
|
|
||||||
//PLC_WELDING_RAMPING_START_A_DISTANCE = 74,
|
|
||||||
//PLC_WELDING_RAMPING_START_B_POWER_1 = 76,
|
|
||||||
//PLC_WELDING_RAMPING_START_B_POWER_2 = 78,
|
|
||||||
//PLC_WELDING_RAMPING_START_B_DISTANCE = 80,
|
|
||||||
//PLC_WELDING_RAMPING_END_POWER_1 = 82,
|
|
||||||
//PLC_WELDING_RAMPING_END_POWER_2 = 84,
|
|
||||||
//PLC_WELDING_RAMPING_END_DISTANCE = 86,
|
|
||||||
//PLC_EQUIPMENT_SPEED = 88,
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//// WON : 2170 RMS 대비 enum 추가 추후 해당 주소 영역 확인 후 주소 매핑 필요, 하기 영역은 2word 로 구성되어야 할 것으로 보이므로 매핑 간격을 2word로
|
|
||||||
// List에 제외 되어 있음 - 확인 필요 (CMY - 26.01.09)
|
|
||||||
//PLC_WELDING_LASER_OFF_DELAY = 62,
|
|
||||||
//PLC_WELDING_MARK_DELAY = 66,
|
|
||||||
//PLC_WELDING_POLYGON_DELAY = 66,
|
|
||||||
|
|
||||||
|
|
||||||
// RMS 최종 버전
|
// RMS 최종 버전
|
||||||
PLC_WELDING_RECIPE_NO = 48, // 설정할 PLC Recipe 번호
|
PLC_WELDING_RECIPE_NO = 48,
|
||||||
PLC_SCANNER_X_AXIS = 50, // 현재 Scanner X축 위치
|
PLC_WELDING_RECIPE_NO_2WORD,
|
||||||
PLC_WELDING_FOCAL_LENGTH = 52, // 현재 Scanner Z축 위치
|
|
||||||
PLC_EQUIPMENT_SPEED = 54,
|
|
||||||
|
|
||||||
PLC_PARAM_1_WELDING_LASER_POWER = 56,
|
PLC_SCANNER_X_AXIS,
|
||||||
PLC_PARAM_1_WELDING_DRAW_SPEED = 58,
|
PLC_SCANNER_X_AXIS_2WORD,
|
||||||
PLC_PARAM_1_WELDING_JUMP_SPEED = 60,
|
|
||||||
PLC_PARAM_1_WELDING_LASER_ON_DELAY = 62,
|
|
||||||
PLC_PARAM_1_WELDING_JUMP_DELAY = 64,
|
|
||||||
PLC_PARAM_1_WELDING_RAMPING_START_A_POWER_1 = 66,
|
|
||||||
PLC_PARAM_1_WELDING_RAMPING_START_A_POWER_2 = 68,
|
|
||||||
PLC_PARAM_1_WELDING_RAMPING_START_A_DISTANCE = 70,
|
|
||||||
PLC_PARAM_1_WELDING_RAMPING_START_B_POWER_1 = 72,
|
|
||||||
PLC_PARAM_1_WELDING_RAMPING_START_B_POWER_2 = 74,
|
|
||||||
PLC_PARAM_1_WELDING_RAMPING_START_B_DISTANCE = 76,
|
|
||||||
PLC_PARAM_1_WELDING_RAMPING_END_POWER_1 = 78,
|
|
||||||
PLC_PARAM_1_WELDING_RAMPING_END_POWER_2 = 80,
|
|
||||||
PLC_PARAM_1_WELDING_RAMPING_END_DISTANCE = 82,
|
|
||||||
|
|
||||||
PLC_PARAM_2_WELDING_LASER_POWER = 84,
|
PLC_WELDING_FOCAL_LENGTH,
|
||||||
PLC_PARAM_2_WELDING_DRAW_SPEED = 86,
|
PLC_WELDING_FOCAL_LENGTH_2WORD,
|
||||||
PLC_PARAM_2_WELDING_JUMP_SPEED = 88,
|
|
||||||
PLC_PARAM_2_WELDING_LASER_ON_DELAY = 90,
|
|
||||||
PLC_PARAM_2_WELDING_JUMP_DELAY = 92,
|
|
||||||
PLC_PARAM_2_WELDING_RAMPING_START_A_POWER_1 = 94,
|
|
||||||
PLC_PARAM_2_WELDING_RAMPING_START_A_POWER_2 = 96,
|
|
||||||
PLC_PARAM_2_WELDING_RAMPING_START_A_DISTANCE = 98,
|
|
||||||
PLC_PARAM_2_WELDING_RAMPING_START_B_POWER_1 = 100,
|
|
||||||
PLC_PARAM_2_WELDING_RAMPING_START_B_POWER_2 = 102,
|
|
||||||
PLC_PARAM_2_WELDING_RAMPING_START_B_DISTANCE = 104,
|
|
||||||
PLC_PARAM_2_WELDING_RAMPING_END_POWER_1 = 106,
|
|
||||||
PLC_PARAM_2_WELDING_RAMPING_END_POWER_2 = 108,
|
|
||||||
PLC_PARAM_2_WELDING_RAMPING_END_DISTANCE = 110,
|
|
||||||
|
|
||||||
PLC_PARAM_3_WELDING_LASER_POWER = 112,
|
PLC_EQUIPMENT_SPEED,
|
||||||
PLC_PARAM_3_WELDING_DRAW_SPEED = 114,
|
PLC_EQUIPMENT_SPEED_2WORD,
|
||||||
PLC_PARAM_3_WELDING_JUMP_SPEED = 116,
|
|
||||||
PLC_PARAM_3_WELDING_LASER_ON_DELAY = 118,
|
|
||||||
PLC_PARAM_3_WELDING_JUMP_DELAY = 120,
|
|
||||||
PLC_PARAM_3_WELDING_RAMPING_START_A_POWER_1 = 122,
|
|
||||||
PLC_PARAM_3_WELDING_RAMPING_START_A_POWER_2 = 124,
|
|
||||||
PLC_PARAM_3_WELDING_RAMPING_START_A_DISTANCE = 126,
|
|
||||||
PLC_PARAM_3_WELDING_RAMPING_START_B_POWER_1 = 128,
|
|
||||||
PLC_PARAM_3_WELDING_RAMPING_START_B_POWER_2 = 130,
|
|
||||||
PLC_PARAM_3_WELDING_RAMPING_START_B_DISTANCE = 132,
|
|
||||||
PLC_PARAM_3_WELDING_RAMPING_END_POWER_1 = 134,
|
|
||||||
PLC_PARAM_3_WELDING_RAMPING_END_POWER_2 = 136,
|
|
||||||
PLC_PARAM_3_WELDING_RAMPING_END_DISTANCE = 138,
|
|
||||||
|
|
||||||
PLC_PARAM_1_WELDING_LASER_POWER_RING = 140,
|
PLC_PARAM_1_WELDING_LASER_POWER_CORE,
|
||||||
PLC_PARAM_2_WELDING_LASER_POWER_RING = 142,
|
PLC_PARAM_1_WELDING_LASER_POWER_CORE_2WORD,
|
||||||
PLC_PARAM_3_WELDING_LASER_POWER_RING = 144,
|
|
||||||
|
PLC_PARAM_1_WELDING_LASER_POWER_RING,
|
||||||
|
PLC_PARAM_1_WELDING_LASER_POWER_RING_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_1_WELDING_DRAW_SPEED,
|
||||||
|
PLC_PARAM_1_WELDING_DRAW_SPEED_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_1_WELDING_JUMP_SPEED,
|
||||||
|
PLC_PARAM_1_WELDING_JUMP_SPEED_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_1_WELDING_LASER_ON_DELAY,
|
||||||
|
PLC_PARAM_1_WELDING_LASER_ON_DELAY_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_1_WELDING_JUMP_DELAY,
|
||||||
|
PLC_PARAM_1_WELDING_JUMP_DELAY_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_START_A_POWER_1,
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_START_A_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_START_A_POWER_2,
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_START_A_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_START_A_DISTANCE,
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_START_A_DISTANCE_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_START_B_POWER_1,
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_START_B_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_START_B_POWER_2,
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_START_B_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_START_B_DISTANCE,
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_START_B_DISTANCE_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_END_POWER_1,
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_END_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_END_POWER_2,
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_END_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_END_DISTANCE,
|
||||||
|
PLC_PARAM_1_WELDING_RAMPING_END_DISTANCE_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_2_WELDING_LASER_POWER_CORE,
|
||||||
|
PLC_PARAM_2_WELDING_LASER_POWER_CORE_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_2_WELDING_LASER_POWER_RING,
|
||||||
|
PLC_PARAM_2_WELDING_LASER_POWER_RING_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_2_WELDING_DRAW_SPEED,
|
||||||
|
PLC_PARAM_2_WELDING_DRAW_SPEED_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_2_WELDING_JUMP_SPEED,
|
||||||
|
PLC_PARAM_2_WELDING_JUMP_SPEED_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_2_WELDING_LASER_ON_DELAY,
|
||||||
|
PLC_PARAM_2_WELDING_LASER_ON_DELAY_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_2_WELDING_JUMP_DELAY,
|
||||||
|
PLC_PARAM_2_WELDING_JUMP_DELAY_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_START_A_POWER_1,
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_START_A_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_START_A_POWER_2,
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_START_A_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_START_A_DISTANCE,
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_START_A_DISTANCE_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_START_B_POWER_1,
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_START_B_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_START_B_POWER_2,
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_START_B_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_START_B_DISTANCE,
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_START_B_DISTANCE_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_END_POWER_1,
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_END_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_END_POWER_2,
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_END_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_END_DISTANCE,
|
||||||
|
PLC_PARAM_2_WELDING_RAMPING_END_DISTANCE_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_3_WELDING_LASER_POWER_CORE,
|
||||||
|
PLC_PARAM_3_WELDING_LASER_POWER_CORE_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_3_WELDING_LASER_POWER_RING,
|
||||||
|
PLC_PARAM_3_WELDING_LASER_POWER_RING_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_3_WELDING_DRAW_SPEED,
|
||||||
|
PLC_PARAM_3_WELDING_DRAW_SPEED_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_3_WELDING_JUMP_SPEED,
|
||||||
|
PLC_PARAM_3_WELDING_JUMP_SPEED_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_3_WELDING_LASER_ON_DELAY,
|
||||||
|
PLC_PARAM_3_WELDING_LASER_ON_DELAY_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_3_WELDING_JUMP_DELAY,
|
||||||
|
PLC_PARAM_3_WELDING_JUMP_DELAY_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_START_A_POWER_1,
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_START_A_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_START_A_POWER_2,
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_START_A_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_START_A_DISTANCE,
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_START_A_DISTANCE_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_START_B_POWER_1,
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_START_B_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_START_B_POWER_2,
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_START_B_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_START_B_DISTANCE,
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_START_B_DISTANCE_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_END_POWER_1,
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_END_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_END_POWER_2,
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_END_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_END_DISTANCE,
|
||||||
|
PLC_PARAM_3_WELDING_RAMPING_END_DISTANCE_2WORD,
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum eWordOutput : int
|
public enum eWordOutput : int
|
||||||
@ -321,94 +378,154 @@ namespace ILSOS_CCW_H52A.Device
|
|||||||
PC_DISPLACEMETNT_SENSOR_14, //PC 변위센서 결과값(#지그14번) RESET 값 0, OK이면 1, NG이면 2
|
PC_DISPLACEMETNT_SENSOR_14, //PC 변위센서 결과값(#지그14번) RESET 값 0, OK이면 1, NG이면 2
|
||||||
PC_DISPLACEMETNT_SENSOR_15, //PC 변위센서 결과값(#지그15번) RESET 값 0, OK이면 1, NG이면 2
|
PC_DISPLACEMETNT_SENSOR_15, //PC 변위센서 결과값(#지그15번) RESET 값 0, OK이면 1, NG이면 2
|
||||||
PC_DISPLACEMETNT_SENSOR_16, //PC 변위센서 결과값(#지그16번) RESET 값 0, OK이면 1, NG이면 2
|
PC_DISPLACEMETNT_SENSOR_16, //PC 변위센서 결과값(#지그16번) RESET 값 0, OK이면 1, NG이면 2
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//// WON : 2170 RMS 대비 enum 추가 추후 해당 주소 영역 확인 후 주소 매핑 필요, 하기 영역은 2word 로 구성되어야 할 것으로 보이므로 매핑 간격을 2word로
|
|
||||||
//PC_WELDING_RECIPE_NO = 48, //설정된 PC Recipe 번호
|
|
||||||
//PC_WELDING_LASER_POWER = 50, //PC 용접 레이저 파워
|
|
||||||
//PC_WELDING_DRAW_SPEED = 52,
|
|
||||||
//PC_WELDING_JUMP_SPEED = 54,
|
|
||||||
//PC_WELDING_X_AXIS = 56,
|
|
||||||
//PC_WELDING_FOCAL_LENGTH = 58,
|
|
||||||
//PC_WELDING_LASER_ON_DELAY = 60,
|
|
||||||
//PC_WELDING_LASER_OFF_DELAY = 62,
|
|
||||||
//PC_WELDING_JUMP_DELAY = 64,
|
|
||||||
//PC_WELDING_MARK_DELAY = 66,
|
|
||||||
//PC_WELDING_POLYGON_DELAY = 68,
|
|
||||||
//PC_WELDING_RAMPING_START_A_POWER_1 = 70,
|
|
||||||
//PC_WELDING_RAMPING_START_A_POWER_2 = 72,
|
|
||||||
//PC_WELDING_RAMPING_START_A_DISTANCE = 74,
|
|
||||||
//PC_WELDING_RAMPING_START_B_POWER_1 = 76,
|
|
||||||
//PC_WELDING_RAMPING_START_B_POWER_2 = 78,
|
|
||||||
//PC_WELDING_RAMPING_START_B_DISTANCE = 80,
|
|
||||||
//PC_WELDING_RAMPING_END_POWER_1 = 82,
|
|
||||||
//PC_WELDING_RAMPING_END_POWER_2 = 84,
|
|
||||||
//PC_WELDING_RAMPING_END_DISTANCE = 86,
|
|
||||||
//PC_EQUIPMENT_SPEED = 88,
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//// WON : 2170 RMS 대비 enum 추가 추후 해당 주소 영역 확인 후 주소 매핑 필요, 하기 영역은 2word 로 구성되어야 할 것으로 보이므로 매핑 간격을 2word로
|
|
||||||
// List에 제외 되어 있음 - 확인 필요 (CMY - 26.01.09)
|
|
||||||
//PLC_WELDING_LASER_OFF_DELAY = 62,
|
|
||||||
//PLC_WELDING_MARK_DELAY = 66,
|
|
||||||
//PLC_WELDING_POLYGON_DELAY = 66,
|
|
||||||
|
|
||||||
// RMS 최종 버전
|
// RMS 최종 버전
|
||||||
PC_WELDING_RECIPE_NO = 48, // 설정할 PLC Recipe 번호
|
PC_WELDING_RECIPE_NO = 48,
|
||||||
PC_SCANNER_X_AXIS = 50, // 현재 Scanner X축 위치
|
PC_WELDING_RECIPE_NO_2WORD,
|
||||||
PC_WELDING_FOCAL_LENGTH = 52, // 현재 Scanner Z축 위치
|
|
||||||
PC_EQUIPMENT_SPEED = 54,
|
|
||||||
|
|
||||||
PC_PARAM_1_WELDING_LASER_POWER = 56,
|
PC_SCANNER_X_AXIS,
|
||||||
PC_PARAM_1_WELDING_DRAW_SPEED = 58,
|
PC_SCANNER_X_AXIS_2WORD,
|
||||||
PC_PARAM_1_WELDING_JUMP_SPEED = 60,
|
|
||||||
PC_PARAM_1_WELDING_LASER_ON_DELAY = 62,
|
|
||||||
PC_PARAM_1_WELDING_JUMP_DELAY = 64,
|
|
||||||
PC_PARAM_1_WELDING_RAMPING_START_A_POWER_1 = 66,
|
|
||||||
PC_PARAM_1_WELDING_RAMPING_START_A_POWER_2 = 68,
|
|
||||||
PC_PARAM_1_WELDING_RAMPING_START_A_DISTANCE = 70,
|
|
||||||
PC_PARAM_1_WELDING_RAMPING_START_B_POWER_1 = 72,
|
|
||||||
PC_PARAM_1_WELDING_RAMPING_START_B_POWER_2 = 74,
|
|
||||||
PC_PARAM_1_WELDING_RAMPING_START_B_DISTANCE = 76,
|
|
||||||
PC_PARAM_1_WELDING_RAMPING_END_POWER_1 = 78,
|
|
||||||
PC_PARAM_1_WELDING_RAMPING_END_POWER_2 = 80,
|
|
||||||
PC_PARAM_1_WELDING_RAMPING_END_DISTANCE = 82,
|
|
||||||
|
|
||||||
PC_PARAM_2_WELDING_LASER_POWER = 84,
|
PC_WELDING_FOCAL_LENGTH,
|
||||||
PC_PARAM_2_WELDING_DRAW_SPEED = 86,
|
PC_WELDING_FOCAL_LENGTH_2WORD,
|
||||||
PC_PARAM_2_WELDING_JUMP_SPEED = 88,
|
|
||||||
PC_PARAM_2_WELDING_LASER_ON_DELAY = 90,
|
|
||||||
PC_PARAM_2_WELDING_JUMP_DELAY = 92,
|
|
||||||
PC_PARAM_2_WELDING_RAMPING_START_A_POWER_1 = 94,
|
|
||||||
PC_PARAM_2_WELDING_RAMPING_START_A_POWER_2 = 96,
|
|
||||||
PC_PARAM_2_WELDING_RAMPING_START_A_DISTANCE = 98,
|
|
||||||
PC_PARAM_2_WELDING_RAMPING_START_B_POWER_1 = 100,
|
|
||||||
PC_PARAM_2_WELDING_RAMPING_START_B_POWER_2 = 102,
|
|
||||||
PC_PARAM_2_WELDING_RAMPING_START_B_DISTANCE = 104,
|
|
||||||
PC_PARAM_2_WELDING_RAMPING_END_POWER_1 = 106,
|
|
||||||
PC_PARAM_2_WELDING_RAMPING_END_POWER_2 = 108,
|
|
||||||
PC_PARAM_2_WELDING_RAMPING_END_DISTANCE = 110,
|
|
||||||
|
|
||||||
PC_PARAM_3_WELDING_LASER_POWER = 112,
|
PC_EQUIPMENT_SPEED,
|
||||||
PC_PARAM_3_WELDING_DRAW_SPEED = 114,
|
PC_EQUIPMENT_SPEED_2WORD,
|
||||||
PC_PARAM_3_WELDING_JUMP_SPEED = 116,
|
|
||||||
PC_PARAM_3_WELDING_LASER_ON_DELAY = 118,
|
|
||||||
PC_PARAM_3_WELDING_JUMP_DELAY = 120,
|
|
||||||
PC_PARAM_3_WELDING_RAMPING_START_A_POWER_1 = 122,
|
|
||||||
PC_PARAM_3_WELDING_RAMPING_START_A_POWER_2 = 124,
|
|
||||||
PC_PARAM_3_WELDING_RAMPING_START_A_DISTANCE = 126,
|
|
||||||
PC_PARAM_3_WELDING_RAMPING_START_B_POWER_1 = 128,
|
|
||||||
PC_PARAM_3_WELDING_RAMPING_START_B_POWER_2 = 130,
|
|
||||||
PC_PARAM_3_WELDING_RAMPING_START_B_DISTANCE = 132,
|
|
||||||
PC_PARAM_3_WELDING_RAMPING_END_POWER_1 = 134,
|
|
||||||
PC_PARAM_3_WELDING_RAMPING_END_POWER_2 = 136,
|
|
||||||
PC_PARAM_3_WELDING_RAMPING_END_DISTANCE = 138,
|
|
||||||
|
|
||||||
// 260227 Laser 개조 후 파라미터 추가
|
PC_PARAM_1_WELDING_LASER_POWER_CORE,
|
||||||
PC_PARAM_1_WELDING_LASER_POWER_RING = 140,
|
PC_PARAM_1_WELDING_LASER_POWER_CORE_2WORD,
|
||||||
PC_PARAM_2_WELDING_LASER_POWER_RING = 142,
|
|
||||||
PC_PARAM_3_WELDING_LASER_POWER_RING = 144,
|
PC_PARAM_1_WELDING_LASER_POWER_RING,
|
||||||
|
PC_PARAM_1_WELDING_LASER_POWER_RING_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_1_WELDING_DRAW_SPEED,
|
||||||
|
PC_PARAM_1_WELDING_DRAW_SPEED_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_1_WELDING_JUMP_SPEED,
|
||||||
|
PC_PARAM_1_WELDING_JUMP_SPEED_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_1_WELDING_LASER_ON_DELAY,
|
||||||
|
PC_PARAM_1_WELDING_LASER_ON_DELAY_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_1_WELDING_JUMP_DELAY,
|
||||||
|
PC_PARAM_1_WELDING_JUMP_DELAY_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_START_A_POWER_1,
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_START_A_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_START_A_POWER_2,
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_START_A_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_START_A_DISTANCE,
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_START_A_DISTANCE_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_START_B_POWER_1,
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_START_B_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_START_B_POWER_2,
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_START_B_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_START_B_DISTANCE,
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_START_B_DISTANCE_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_END_POWER_1,
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_END_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_END_POWER_2,
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_END_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_END_DISTANCE,
|
||||||
|
PC_PARAM_1_WELDING_RAMPING_END_DISTANCE_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_2_WELDING_LASER_POWER_CORE,
|
||||||
|
PC_PARAM_2_WELDING_LASER_POWER_CORE_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_2_WELDING_LASER_POWER_RING,
|
||||||
|
PC_PARAM_2_WELDING_LASER_POWER_RING_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_2_WELDING_DRAW_SPEED,
|
||||||
|
PC_PARAM_2_WELDING_DRAW_SPEED_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_2_WELDING_JUMP_SPEED,
|
||||||
|
PC_PARAM_2_WELDING_JUMP_SPEED_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_2_WELDING_LASER_ON_DELAY,
|
||||||
|
PC_PARAM_2_WELDING_LASER_ON_DELAY_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_2_WELDING_JUMP_DELAY,
|
||||||
|
PC_PARAM_2_WELDING_JUMP_DELAY_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_START_A_POWER_1,
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_START_A_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_START_A_POWER_2,
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_START_A_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_START_A_DISTANCE,
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_START_A_DISTANCE_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_START_B_POWER_1,
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_START_B_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_START_B_POWER_2,
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_START_B_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_START_B_DISTANCE,
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_START_B_DISTANCE_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_END_POWER_1,
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_END_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_END_POWER_2,
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_END_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_END_DISTANCE,
|
||||||
|
PC_PARAM_2_WELDING_RAMPING_END_DISTANCE_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_3_WELDING_LASER_POWER_CORE,
|
||||||
|
PC_PARAM_3_WELDING_LASER_POWER_CORE_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_3_WELDING_LASER_POWER_RING,
|
||||||
|
PC_PARAM_3_WELDING_LASER_POWER_RING_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_3_WELDING_DRAW_SPEED,
|
||||||
|
PC_PARAM_3_WELDING_DRAW_SPEED_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_3_WELDING_JUMP_SPEED,
|
||||||
|
PC_PARAM_3_WELDING_JUMP_SPEED_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_3_WELDING_LASER_ON_DELAY,
|
||||||
|
PC_PARAM_3_WELDING_LASER_ON_DELAY_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_3_WELDING_JUMP_DELAY,
|
||||||
|
PC_PARAM_3_WELDING_JUMP_DELAY_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_START_A_POWER_1,
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_START_A_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_START_A_POWER_2,
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_START_A_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_START_A_DISTANCE,
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_START_A_DISTANCE_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_START_B_POWER_1,
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_START_B_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_START_B_POWER_2,
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_START_B_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_START_B_DISTANCE,
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_START_B_DISTANCE_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_END_POWER_1,
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_END_POWER_1_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_END_POWER_2,
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_END_POWER_2_2WORD,
|
||||||
|
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_END_DISTANCE,
|
||||||
|
PC_PARAM_3_WELDING_RAMPING_END_DISTANCE_2WORD,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,5 +49,5 @@ using System.Windows;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.0.0.2")]
|
[assembly: AssemblyVersion("1.0.0.5")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.2")]
|
[assembly: AssemblyFileVersion("1.0.0.5")]
|
||||||
|
|||||||
@ -33,7 +33,8 @@ namespace ILSOS_CCW_H52A.Recipes
|
|||||||
|
|
||||||
#region PLC Upload Parameter 1
|
#region PLC Upload Parameter 1
|
||||||
ScannerParam _LineParam_1 = ScannerCanvasUserCtrl.ScannerParams[0];
|
ScannerParam _LineParam_1 = ScannerCanvasUserCtrl.ScannerParams[0];
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_LASER_POWER, (int)(_LineParam_1.LaserPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_LASER_POWER.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_LASER_POWER_CORE, (int)(_LineParam_1.LaserPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_LASER_POWER_CORE.ToString())));
|
||||||
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_LASER_POWER_RING, (int)(_LineParam_1.LaserPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_LASER_POWER_RING.ToString())));
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_DRAW_SPEED, (int)(_LineParam_1.MarkSpeed * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_DRAW_SPEED.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_DRAW_SPEED, (int)(_LineParam_1.MarkSpeed * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_DRAW_SPEED.ToString())));
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_JUMP_SPEED, (int)(_LineParam_1.JumpSpeed * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_JUMP_SPEED.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_JUMP_SPEED, (int)(_LineParam_1.JumpSpeed * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_JUMP_SPEED.ToString())));
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_LASER_ON_DELAY, (int)(_LineParam_1.LaserOnDelay * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_LASER_ON_DELAY.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_LASER_ON_DELAY, (int)(_LineParam_1.LaserOnDelay * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_LASER_ON_DELAY.ToString())));
|
||||||
@ -47,14 +48,12 @@ namespace ILSOS_CCW_H52A.Recipes
|
|||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_1, (int)(_LineParam_1.RampingEndPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_1.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_1, (int)(_LineParam_1.RampingEndPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_1.ToString())));
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_2, (int)(_LineParam_1.RampingEndPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_2.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_2, (int)(_LineParam_1.RampingEndPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_2.ToString())));
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_DISTANCE, (int)(_LineParam_1.RampingEndDist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_DISTANCE.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_DISTANCE, (int)(_LineParam_1.RampingEndDist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_DISTANCE.ToString())));
|
||||||
// 260227 Laser 개조 후 파라미터 추가
|
|
||||||
if(param.UseRingPowerRMS)
|
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_LASER_POWER_RING, (int)(_LineParam_1.LaserPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_LASER_POWER_RING.ToString())));
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region PLC Upload Parameter 2
|
#region PLC Upload Parameter 2
|
||||||
ScannerParam _LineParam_2 = ScannerCanvasUserCtrl.ScannerParams[1];
|
ScannerParam _LineParam_2 = ScannerCanvasUserCtrl.ScannerParams[1];
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_LASER_POWER, (int)(_LineParam_2.LaserPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_LASER_POWER.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_LASER_POWER_CORE, (int)(_LineParam_2.LaserPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_LASER_POWER_CORE.ToString())));
|
||||||
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_LASER_POWER_RING, (int)(_LineParam_2.LaserPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_LASER_POWER_RING.ToString())));
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_DRAW_SPEED, (int)(_LineParam_2.MarkSpeed * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_DRAW_SPEED.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_DRAW_SPEED, (int)(_LineParam_2.MarkSpeed * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_DRAW_SPEED.ToString())));
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_JUMP_SPEED, (int)(_LineParam_2.JumpSpeed * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_JUMP_SPEED.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_JUMP_SPEED, (int)(_LineParam_2.JumpSpeed * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_JUMP_SPEED.ToString())));
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_LASER_ON_DELAY, (int)(_LineParam_2.LaserOnDelay * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_LASER_ON_DELAY.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_LASER_ON_DELAY, (int)(_LineParam_2.LaserOnDelay * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_LASER_ON_DELAY.ToString())));
|
||||||
@ -68,14 +67,12 @@ namespace ILSOS_CCW_H52A.Recipes
|
|||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_POWER_1, (int)(_LineParam_2.RampingEndPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_POWER_1.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_POWER_1, (int)(_LineParam_2.RampingEndPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_POWER_1.ToString())));
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_POWER_2, (int)(_LineParam_2.RampingEndPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_POWER_2.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_POWER_2, (int)(_LineParam_2.RampingEndPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_POWER_2.ToString())));
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_DISTANCE, (int)(_LineParam_2.RampingEndDist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_DISTANCE.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_DISTANCE, (int)(_LineParam_2.RampingEndDist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_DISTANCE.ToString())));
|
||||||
// 260227 Laser 개조 후 파라미터 추가
|
|
||||||
if (param.UseRingPowerRMS)
|
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_LASER_POWER_RING, (int)(_LineParam_2.LaserPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_LASER_POWER_RING.ToString())));
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region PLC Upload Parameter 3
|
#region PLC Upload Parameter 3
|
||||||
ScannerParam _LineParam_3 = ScannerCanvasUserCtrl.ScannerParams[2];
|
ScannerParam _LineParam_3 = ScannerCanvasUserCtrl.ScannerParams[2];
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_LASER_POWER, (int)(_LineParam_3.LaserPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_LASER_POWER.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_LASER_POWER_CORE, (int)(_LineParam_3.LaserPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_LASER_POWER_CORE.ToString())));
|
||||||
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_LASER_POWER_RING, (int)(_LineParam_3.LaserPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_LASER_POWER_RING.ToString())));
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_DRAW_SPEED, (int)(_LineParam_3.MarkSpeed * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_DRAW_SPEED.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_DRAW_SPEED, (int)(_LineParam_3.MarkSpeed * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_DRAW_SPEED.ToString())));
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_JUMP_SPEED, (int)(_LineParam_3.JumpSpeed * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_JUMP_SPEED.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_JUMP_SPEED, (int)(_LineParam_3.JumpSpeed * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_JUMP_SPEED.ToString())));
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_LASER_ON_DELAY, (int)(_LineParam_3.LaserOnDelay * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_LASER_ON_DELAY.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_LASER_ON_DELAY, (int)(_LineParam_3.LaserOnDelay * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_LASER_ON_DELAY.ToString())));
|
||||||
@ -89,9 +86,6 @@ namespace ILSOS_CCW_H52A.Recipes
|
|||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_POWER_1, (int)(_LineParam_3.RampingEndPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_POWER_1.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_POWER_1, (int)(_LineParam_3.RampingEndPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_POWER_1.ToString())));
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_POWER_2, (int)(_LineParam_3.RampingEndPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_POWER_2.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_POWER_2, (int)(_LineParam_3.RampingEndPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_POWER_2.ToString())));
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_DISTANCE, (int)(_LineParam_3.RampingEndDist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_DISTANCE.ToString())));
|
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_DISTANCE, (int)(_LineParam_3.RampingEndDist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_DISTANCE.ToString())));
|
||||||
// 260227 Laser 개조 후 파라미터 추가
|
|
||||||
if (param.UseRingPowerRMS)
|
|
||||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_LASER_POWER_RING, (int)(_LineParam_3.LaserPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_LASER_POWER_RING.ToString())));
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
Log.I(string.Format($"SET PC_RECIPE_PARAM_UPLOAD_COMPLETE True"));
|
Log.I(string.Format($"SET PC_RECIPE_PARAM_UPLOAD_COMPLETE True"));
|
||||||
@ -117,7 +111,8 @@ namespace ILSOS_CCW_H52A.Recipes
|
|||||||
|
|
||||||
#region Scanner Upload Parameter 1
|
#region Scanner Upload Parameter 1
|
||||||
ScannerParam _LineParam_1 = ScannerCanvasUserCtrl.ScannerParams[0];
|
ScannerParam _LineParam_1 = ScannerCanvasUserCtrl.ScannerParams[0];
|
||||||
_LineParam_1.LaserPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_LASER_POWER);
|
_LineParam_1.LaserPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_LASER_POWER_CORE);
|
||||||
|
_LineParam_1.LaserPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_LASER_POWER_RING);
|
||||||
_LineParam_1.MarkSpeed = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_DRAW_SPEED);
|
_LineParam_1.MarkSpeed = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_DRAW_SPEED);
|
||||||
_LineParam_1.JumpSpeed = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_JUMP_SPEED);
|
_LineParam_1.JumpSpeed = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_JUMP_SPEED);
|
||||||
_LineParam_1.LaserOnDelay = (int)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_LASER_ON_DELAY);
|
_LineParam_1.LaserOnDelay = (int)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_LASER_ON_DELAY);
|
||||||
@ -131,13 +126,11 @@ namespace ILSOS_CCW_H52A.Recipes
|
|||||||
_LineParam_1.RampingEndPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_RAMPING_END_POWER_1);
|
_LineParam_1.RampingEndPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_RAMPING_END_POWER_1);
|
||||||
_LineParam_1.RampingEndPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_RAMPING_END_POWER_2);
|
_LineParam_1.RampingEndPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_RAMPING_END_POWER_2);
|
||||||
_LineParam_1.RampingEndDist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_RAMPING_END_DISTANCE);
|
_LineParam_1.RampingEndDist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_RAMPING_END_DISTANCE);
|
||||||
// 260227 Laser 개조 후 파라미터 추가
|
|
||||||
if (param.UseRingPowerRMS)
|
|
||||||
_LineParam_1.LaserPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_LASER_POWER_RING);
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Scanner Upload Parameter 2
|
#region Scanner Upload Parameter 2
|
||||||
ScannerParam _LineParam_2 = ScannerCanvasUserCtrl.ScannerParams[1];
|
ScannerParam _LineParam_2 = ScannerCanvasUserCtrl.ScannerParams[1];
|
||||||
_LineParam_2.LaserPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_LASER_POWER);
|
_LineParam_2.LaserPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_LASER_POWER_CORE);
|
||||||
|
_LineParam_2.LaserPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_LASER_POWER_RING);
|
||||||
_LineParam_2.MarkSpeed = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_DRAW_SPEED);
|
_LineParam_2.MarkSpeed = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_DRAW_SPEED);
|
||||||
_LineParam_2.JumpSpeed = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_JUMP_SPEED);
|
_LineParam_2.JumpSpeed = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_JUMP_SPEED);
|
||||||
_LineParam_2.LaserOnDelay = (int)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_LASER_ON_DELAY);
|
_LineParam_2.LaserOnDelay = (int)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_LASER_ON_DELAY);
|
||||||
@ -151,12 +144,11 @@ namespace ILSOS_CCW_H52A.Recipes
|
|||||||
_LineParam_2.RampingEndPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_RAMPING_END_POWER_1);
|
_LineParam_2.RampingEndPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_RAMPING_END_POWER_1);
|
||||||
_LineParam_2.RampingEndPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_RAMPING_END_POWER_2);
|
_LineParam_2.RampingEndPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_RAMPING_END_POWER_2);
|
||||||
_LineParam_2.RampingEndDist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_RAMPING_END_DISTANCE);
|
_LineParam_2.RampingEndDist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_RAMPING_END_DISTANCE);
|
||||||
if (param.UseRingPowerRMS)
|
|
||||||
_LineParam_2.LaserPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_LASER_POWER_RING);
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Scanner Upload Parameter 3
|
#region Scanner Upload Parameter 3
|
||||||
ScannerParam _LineParam_3 = ScannerCanvasUserCtrl.ScannerParams[2];
|
ScannerParam _LineParam_3 = ScannerCanvasUserCtrl.ScannerParams[2];
|
||||||
_LineParam_3.LaserPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_LASER_POWER);
|
_LineParam_3.LaserPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_LASER_POWER_CORE);
|
||||||
|
_LineParam_3.LaserPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_LASER_POWER_RING);
|
||||||
_LineParam_3.MarkSpeed = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_DRAW_SPEED);
|
_LineParam_3.MarkSpeed = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_DRAW_SPEED);
|
||||||
_LineParam_3.JumpSpeed = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_JUMP_SPEED);
|
_LineParam_3.JumpSpeed = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_JUMP_SPEED);
|
||||||
_LineParam_3.LaserOnDelay = (int)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_LASER_ON_DELAY);
|
_LineParam_3.LaserOnDelay = (int)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_LASER_ON_DELAY);
|
||||||
@ -170,8 +162,6 @@ namespace ILSOS_CCW_H52A.Recipes
|
|||||||
_LineParam_3.RampingEndPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_RAMPING_END_POWER_1);
|
_LineParam_3.RampingEndPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_RAMPING_END_POWER_1);
|
||||||
_LineParam_3.RampingEndPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_RAMPING_END_POWER_2);
|
_LineParam_3.RampingEndPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_RAMPING_END_POWER_2);
|
||||||
_LineParam_3.RampingEndDist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_RAMPING_END_DISTANCE);
|
_LineParam_3.RampingEndDist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_RAMPING_END_DISTANCE);
|
||||||
if (param.UseRingPowerRMS)
|
|
||||||
_LineParam_3.LaserPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_LASER_POWER_RING);
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
//TODO: Recipe 저장 되어지면 안될꺼 같은데, 확인 필요함.
|
//TODO: Recipe 저장 되어지면 안될꺼 같은데, 확인 필요함.
|
||||||
|
|||||||
@ -43,8 +43,10 @@ using static ILSOS_CCW_H52A.Device.IOController_CCW_H52A;
|
|||||||
using static ILSOS_CCW_H52A.Device.PLCControllerCCWH52A;
|
using static ILSOS_CCW_H52A.Device.PLCControllerCCWH52A;
|
||||||
using static ILSOS_CCW_H52A.Device.ScannerListCCWH52A;
|
using static ILSOS_CCW_H52A.Device.ScannerListCCWH52A;
|
||||||
|
|
||||||
namespace ILSOS_CCW_H52A.Sequences {
|
namespace ILSOS_CCW_H52A.Sequences
|
||||||
class SeqAutoRunCCWH52A {
|
{
|
||||||
|
class SeqAutoRunCCWH52A
|
||||||
|
{
|
||||||
static readonly Logger Log = new Logger("SeqAutoRunCCWH52A");
|
static readonly Logger Log = new Logger("SeqAutoRunCCWH52A");
|
||||||
|
|
||||||
const string SEQ_ENTER = "[SeqAutoRunCCWH52A] SEQ_ENTER"; // inputParam 으로 받자.
|
const string SEQ_ENTER = "[SeqAutoRunCCWH52A] SEQ_ENTER"; // inputParam 으로 받자.
|
||||||
@ -87,7 +89,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
const string SEQ_INIT_CONDITION_ERROR = "[SeqAutoRunCCWH52A] Init Condition Error";
|
const string SEQ_INIT_CONDITION_ERROR = "[SeqAutoRunCCWH52A] Init Condition Error";
|
||||||
const string SEQ_COMPLETE = "[SeqAutoRunCCWH52A] SEQ_COMPLETE"; // 완료
|
const string SEQ_COMPLETE = "[SeqAutoRunCCWH52A] SEQ_COMPLETE"; // 완료
|
||||||
|
|
||||||
static class ContextKey {
|
static class ContextKey
|
||||||
|
{
|
||||||
public const string KEY_SEQUENCE_RESULT = "KEY_SEQUENCE_RESULT_SeqAutoRunCCWH52A";
|
public const string KEY_SEQUENCE_RESULT = "KEY_SEQUENCE_RESULT_SeqAutoRunCCWH52A";
|
||||||
public const string KEY_SEQUENCE_START_TIME = "KEY_SEQUENCE_START_TIME_SeqAutoRunCCWH52A";
|
public const string KEY_SEQUENCE_START_TIME = "KEY_SEQUENCE_START_TIME_SeqAutoRunCCWH52A";
|
||||||
public const string KEY_SEQUENCE_ERROR_CODE = "KEY_SEQUENCE_ERROR_CODE_SeqAutoRunCCWH52A";
|
public const string KEY_SEQUENCE_ERROR_CODE = "KEY_SEQUENCE_ERROR_CODE_SeqAutoRunCCWH52A";
|
||||||
@ -142,7 +145,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
private bool UsePlcShotThemAll { get; set; } = false;
|
private bool UsePlcShotThemAll { get; set; } = false;
|
||||||
private bool UsePlcPositionCompensation { get; set; } = false;
|
private bool UsePlcPositionCompensation { get; set; } = false;
|
||||||
private string RecipeFileName { get; set; } = "";
|
private string RecipeFileName { get; set; } = "";
|
||||||
private enum InitErrorList {
|
private enum InitErrorList
|
||||||
|
{
|
||||||
SUCCESS = 0,
|
SUCCESS = 0,
|
||||||
LBAD_CLIENT_ACTIVATE_FAILED,
|
LBAD_CLIENT_ACTIVATE_FAILED,
|
||||||
LBAD_SUB_ACTIVATE_FAILED,
|
LBAD_SUB_ACTIVATE_FAILED,
|
||||||
@ -151,7 +155,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
MOTF_OFF,
|
MOTF_OFF,
|
||||||
PLC_ALARM,
|
PLC_ALARM,
|
||||||
}
|
}
|
||||||
public SequenceBuilder Builder() {
|
public SequenceBuilder Builder()
|
||||||
|
{
|
||||||
var sb = new SequenceBuilder(1000, true);
|
var sb = new SequenceBuilder(1000, true);
|
||||||
|
|
||||||
sb.AddAction(SEQ_ENTER, Sequence_Enter);
|
sb.AddAction(SEQ_ENTER, Sequence_Enter);
|
||||||
@ -252,7 +257,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
return sb;
|
return sb;
|
||||||
}
|
}
|
||||||
|
|
||||||
private SequenceActionResult Sequence_Enter(SequenceContext context, string id, SequenceActionResult param) {
|
private SequenceActionResult Sequence_Enter(SequenceContext context, string id, SequenceActionResult param)
|
||||||
|
{
|
||||||
Log.I("SeqAutoRunCCWH52A Start");
|
Log.I("SeqAutoRunCCWH52A Start");
|
||||||
Status.SetWorkingPosition(eWorkingPosition.CHECKING_CONDITION);
|
Status.SetWorkingPosition(eWorkingPosition.CHECKING_CONDITION);
|
||||||
|
|
||||||
@ -273,7 +279,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
return SequenceAction.Ok();
|
return SequenceAction.Ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool InitSequenceVariable(SequenceContext context) {
|
private bool InitSequenceVariable(SequenceContext context)
|
||||||
|
{
|
||||||
_AutoRunStartTime = DateTime.Now;
|
_AutoRunStartTime = DateTime.Now;
|
||||||
|
|
||||||
var ActivateRecipeName = _RecipeManager.ActivatedRecipe();
|
var ActivateRecipeName = _RecipeManager.ActivatedRecipe();
|
||||||
@ -292,7 +299,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitDev(SequenceContext context) {
|
private void InitDev(SequenceContext context)
|
||||||
|
{
|
||||||
//Device Init
|
//Device Init
|
||||||
_Scanner = context.GetLaserScanner();
|
_Scanner = context.GetLaserScanner();
|
||||||
_Laser = context.GetLaser();
|
_Laser = context.GetLaser();
|
||||||
@ -309,7 +317,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool CheckDeviceReady(SequenceContext context) {
|
private bool CheckDeviceReady(SequenceContext context)
|
||||||
|
{
|
||||||
List<string> deviceListToCheck = new List<string>() { CommonDeviceIds.Scanner, CommonDeviceIds.Laser, CommonDeviceIds.PLCDevice, CommonDeviceIds.IODevice };
|
List<string> deviceListToCheck = new List<string>() { CommonDeviceIds.Scanner, CommonDeviceIds.Laser, CommonDeviceIds.PLCDevice, CommonDeviceIds.IODevice };
|
||||||
|
|
||||||
if (_InitParam.UseStream) {
|
if (_InitParam.UseStream) {
|
||||||
@ -327,7 +336,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
return isAllDeviceActivated;
|
return isAllDeviceActivated;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool CheckCondition(SequenceContext context) {
|
private bool CheckCondition(SequenceContext context)
|
||||||
|
{
|
||||||
int InitializeCode = InitializeDeviceStatus(context);
|
int InitializeCode = InitializeDeviceStatus(context);
|
||||||
if (InitializeCode == (int)InitErrorList.SUCCESS)
|
if (InitializeCode == (int)InitErrorList.SUCCESS)
|
||||||
return true;
|
return true;
|
||||||
@ -336,7 +346,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int InitializeDeviceStatus(SequenceContext context) {
|
private int InitializeDeviceStatus(SequenceContext context)
|
||||||
|
{
|
||||||
// PLC Interface AutoStatus Start
|
// PLC Interface AutoStatus Start
|
||||||
// Won : PC의 AutoStatus 가 True 되는 순간 Rotary가 돌기 시작한다.
|
// Won : PC의 AutoStatus 가 True 되는 순간 Rotary가 돌기 시작한다.
|
||||||
// Rotary 돌기 시작 한 후 Encoder 값을 읽으면 안 되므로 정지상태에서 읽은 후 AutoStatus true 하도록
|
// Rotary 돌기 시작 한 후 Encoder 값을 읽으면 안 되므로 정지상태에서 읽은 후 AutoStatus true 하도록
|
||||||
@ -466,7 +477,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private double GetRotaryCurrentPosition() {
|
private double GetRotaryCurrentPosition()
|
||||||
|
{
|
||||||
try {
|
try {
|
||||||
//double finalValue = Convert.ToDouble(_plc.GetLongAIValue("PLC_CURRENT_POS_1") / 100000f);
|
//double finalValue = Convert.ToDouble(_plc.GetLongAIValue("PLC_CURRENT_POS_1") / 100000f);
|
||||||
double finalValue = Convert.ToDouble(_PLC.ReadDWord((int)eWordInput.PLC_CURRENT_POS_1).data / 100000f);
|
double finalValue = Convert.ToDouble(_PLC.ReadDWord((int)eWordInput.PLC_CURRENT_POS_1).data / 100000f);
|
||||||
@ -496,7 +508,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
/// <param name="rotaryJigCount">Rotary 내 지그 갯수임. 장비 및 T/T에 따라서, 360도 당 지그의 개수는 다를 수 있으므로.</param>
|
/// <param name="rotaryJigCount">Rotary 내 지그 갯수임. 장비 및 T/T에 따라서, 360도 당 지그의 개수는 다를 수 있으므로.</param>
|
||||||
/// <param name="weldingCount">Rotary Welding Count. 30도 구간 하나가 지나갈 때마다 +1</param>
|
/// <param name="weldingCount">Rotary Welding Count. 30도 구간 하나가 지나갈 때마다 +1</param>
|
||||||
/// <param name="weldingJigNo">현재 '용접 중' 구간에 들어가 있는 지그 번호</param>
|
/// <param name="weldingJigNo">현재 '용접 중' 구간에 들어가 있는 지그 번호</param>
|
||||||
public void InitRotaryOnTheFlyWeldingCount(double rotaryAngleOffset, int rotaryJigCount, out int weldingCount, out int weldingJigNo) {
|
public void InitRotaryOnTheFlyWeldingCount(double rotaryAngleOffset, int rotaryJigCount, out int weldingCount, out int weldingJigNo)
|
||||||
|
{
|
||||||
// 현재 로터리 엔코더 값을 기준으로 현재 카운트, 지그 번호를 확인
|
// 현재 로터리 엔코더 값을 기준으로 현재 카운트, 지그 번호를 확인
|
||||||
double anglePerOneJig = 360 / (double)rotaryJigCount; //double로 바꿔서 계산해야 22가 아닌 22.5로 anglePerOneJig가 계산됨 25.08.02
|
double anglePerOneJig = 360 / (double)rotaryJigCount; //double로 바꿔서 계산해야 22가 아닌 22.5로 anglePerOneJig가 계산됨 25.08.02
|
||||||
weldingCount = (int)((rotaryAngleOffset + anglePerOneJig / 2) / anglePerOneJig); // _WeldingCount = 0, 1, 2, ...
|
weldingCount = (int)((rotaryAngleOffset + anglePerOneJig / 2) / anglePerOneJig); // _WeldingCount = 0, 1, 2, ...
|
||||||
@ -505,7 +518,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
Log.I($"Angle Per One Jig : {anglePerOneJig}");
|
Log.I($"Angle Per One Jig : {anglePerOneJig}");
|
||||||
}
|
}
|
||||||
|
|
||||||
private string CheckInitCondition(SequenceContext context, string id, ICollection<string> branches, SequenceActionResult param) {
|
private string CheckInitCondition(SequenceContext context, string id, ICollection<string> branches, SequenceActionResult param)
|
||||||
|
{
|
||||||
if (!CheckCondition(context)) {
|
if (!CheckCondition(context)) {
|
||||||
//AlarmManager.Alarm(AlarmCode.ALARM_SEQUENCE_AutoRun_CheckInitCondition);
|
//AlarmManager.Alarm(AlarmCode.ALARM_SEQUENCE_AutoRun_CheckInitCondition);
|
||||||
Log.E("Condition is not in state to start sequence.");
|
Log.E("Condition is not in state to start sequence.");
|
||||||
@ -524,7 +538,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 지그 상태 확인
|
// 지그 상태 확인
|
||||||
private SequenceActionResult CheckLoadComplete(SequenceContext context, string id, SequenceActionResult param) {
|
private SequenceActionResult CheckLoadComplete(SequenceContext context, string id, SequenceActionResult param)
|
||||||
|
{
|
||||||
Status.SetWorkingPosition(eWorkingPosition.LOADING_CELL);
|
Status.SetWorkingPosition(eWorkingPosition.LOADING_CELL);
|
||||||
|
|
||||||
// MOTF WaitScannerLoadListEnable
|
// MOTF WaitScannerLoadListEnable
|
||||||
@ -542,7 +557,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
return SequenceAction.Ok();
|
return SequenceAction.Ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
private SequenceActionResult CheckScannerListComplete(SequenceContext context, string id, SequenceActionResult param) {
|
private SequenceActionResult CheckScannerListComplete(SequenceContext context, string id, SequenceActionResult param)
|
||||||
|
{
|
||||||
// Prefetch1 = 2회 전 업로드된 지그 = 현재 물리적으로 레이저 통과 중 = 완료 체크 대상.
|
// Prefetch1 = 2회 전 업로드된 지그 = 현재 물리적으로 레이저 통과 중 = 완료 체크 대상.
|
||||||
// Shift()는 이 메서드 이후 ReadyScannerList에서 실행되므로, 이 시점의 Prefetch1이
|
// Shift()는 이 메서드 이후 ReadyScannerList에서 실행되므로, 이 시점의 Prefetch1이
|
||||||
// 원본 코드의 InputScannerList[(listNo-1)]과 동일 대상이다.
|
// 원본 코드의 InputScannerList[(listNo-1)]과 동일 대상이다.
|
||||||
@ -649,7 +665,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="startAngle"> 현재 지그의 시작 각도 </param>
|
/// <param name="startAngle"> 현재 지그의 시작 각도 </param>
|
||||||
/// <returns> 지나갔으면 True </returns>
|
/// <returns> 지나갔으면 True </returns>
|
||||||
public bool CheckInsideWeldPosition(double startAngle) {
|
public bool CheckInsideWeldPosition(double startAngle)
|
||||||
|
{
|
||||||
double encoderX, currentAngle;
|
double encoderX, currentAngle;
|
||||||
_Scanner.GetEncoder(out encoderX, out currentAngle, true);
|
_Scanner.GetEncoder(out encoderX, out currentAngle, true);
|
||||||
|
|
||||||
@ -670,7 +687,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private string ReadyScannerList(SequenceContext context, string id, ICollection<string> branches, SequenceActionResult param) {
|
private string ReadyScannerList(SequenceContext context, string id, ICollection<string> branches, SequenceActionResult param)
|
||||||
|
{
|
||||||
Status.SetWorkingPosition(eWorkingPosition.UPLOADING_WELD_LIST);
|
Status.SetWorkingPosition(eWorkingPosition.UPLOADING_WELD_LIST);
|
||||||
|
|
||||||
//_SelectedDrawObjectList = _ScannerCanvasUserCtrl.Model.Layers[0].Objects;
|
//_SelectedDrawObjectList = _ScannerCanvasUserCtrl.Model.Layers[0].Objects;
|
||||||
@ -790,7 +808,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
private ScannerParam GetSelectedDrawObjectData(IDrawObject DrawObj) {
|
private ScannerParam GetSelectedDrawObjectData(IDrawObject DrawObj)
|
||||||
|
{
|
||||||
if (DrawObj is Line lineItem)
|
if (DrawObj is Line lineItem)
|
||||||
return WeldingRecipeManager.GetScannerParam(lineItem.ScannerParamNo);
|
return WeldingRecipeManager.GetScannerParam(lineItem.ScannerParamNo);
|
||||||
else if (DrawObj is Arc arcItem)
|
else if (DrawObj is Arc arcItem)
|
||||||
@ -801,7 +820,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WaitForEncoderNextRotarySection(int weldingCount, int rotaryJigCount, double rotaryAngleOffset, double encoderResetOffset, out double sectionStartAngle) {
|
public void WaitForEncoderNextRotarySection(int weldingCount, int rotaryJigCount, double rotaryAngleOffset, double encoderResetOffset, out double sectionStartAngle)
|
||||||
|
{
|
||||||
// 한 바퀴당 지그 숫자에 따른 변경
|
// 한 바퀴당 지그 숫자에 따른 변경
|
||||||
double encoderAllowedMinDegree = Int32.MinValue / _Scanner.Config.MarkingOnTheFlyEncoderResolutionRotate * 360.0;
|
double encoderAllowedMinDegree = Int32.MinValue / _Scanner.Config.MarkingOnTheFlyEncoderResolutionRotate * 360.0;
|
||||||
double encoderAllowedMaxDegree = Int32.MaxValue / _Scanner.Config.MarkingOnTheFlyEncoderResolutionRotate * 360.0;
|
double encoderAllowedMaxDegree = Int32.MaxValue / _Scanner.Config.MarkingOnTheFlyEncoderResolutionRotate * 360.0;
|
||||||
@ -830,14 +850,16 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
_Scanner.WaitForEncoderRotateRange(encoderAllowedMinDegree, encoderAllowedMaxDegree, sectionStartAngle, sectionEndAngle);
|
_Scanner.WaitForEncoderRotateRange(encoderAllowedMinDegree, encoderAllowedMaxDegree, sectionStartAngle, sectionEndAngle);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool GetRotaryCanExist(int jigNo) {
|
public bool GetRotaryCanExist(int jigNo)
|
||||||
|
{
|
||||||
if (jigNo <= _RotaryJigCount)
|
if (jigNo <= _RotaryJigCount)
|
||||||
return _PLC.ReadBit((int)eBitInput.PLC_USE_WELD_JIG_1 + (jigNo - 1)).data;
|
return _PLC.ReadBit((int)eBitInput.PLC_USE_WELD_JIG_1 + (jigNo - 1)).data;
|
||||||
else
|
else
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private SequenceActionResult SetUploadWeldingList_SeqParams(SequenceContext context, string id, SequenceActionResult param) {
|
private SequenceActionResult SetUploadWeldingList_SeqParams(SequenceContext context, string id, SequenceActionResult param)
|
||||||
|
{
|
||||||
//현재 시퀀스에서 LoadList를 해주기 때문에 Sub 시퀀스에 IncludeListStartEnd를 false로 넘겨줘야 함
|
//현재 시퀀스에서 LoadList를 해주기 때문에 Sub 시퀀스에 IncludeListStartEnd를 false로 넘겨줘야 함
|
||||||
SeqUploadWeldingList_InitParam seqParams = new SeqUploadWeldingList_InitParam() {
|
SeqUploadWeldingList_InitParam seqParams = new SeqUploadWeldingList_InitParam() {
|
||||||
NeedSetLaserTiming = _ModulationMode,
|
NeedSetLaserTiming = _ModulationMode,
|
||||||
@ -852,7 +874,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
return SequenceAction.Ok(seqParams);
|
return SequenceAction.Ok(seqParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
private SequenceActionResult GetUploadWeldingList_SeqResult(SequenceContext context, string id, SequenceActionResult param) {
|
private SequenceActionResult GetUploadWeldingList_SeqResult(SequenceContext context, string id, SequenceActionResult param)
|
||||||
|
{
|
||||||
var resultOutParam = param.Param as SeqUploadWeldingList_OutParam;
|
var resultOutParam = param.Param as SeqUploadWeldingList_OutParam;
|
||||||
if (resultOutParam.Success == false) {
|
if (resultOutParam.Success == false) {
|
||||||
//AlarmManager.Alarm(AlarmCode.ALARM_SEQUENCE_UploadWeldingList_ResultFailed);
|
//AlarmManager.Alarm(AlarmCode.ALARM_SEQUENCE_UploadWeldingList_ResultFailed);
|
||||||
@ -894,7 +917,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
// return SequenceAction.Ok();
|
// return SequenceAction.Ok();
|
||||||
//}
|
//}
|
||||||
|
|
||||||
private SequenceActionResult ExecuteWelding(SequenceContext context, string id, SequenceActionResult param) {
|
private SequenceActionResult ExecuteWelding(SequenceContext context, string id, SequenceActionResult param)
|
||||||
|
{
|
||||||
Status.SetWorkingPosition(eWorkingPosition.EXECUTING_WELD);
|
Status.SetWorkingPosition(eWorkingPosition.EXECUTING_WELD);
|
||||||
|
|
||||||
// MOTF Welding
|
// MOTF Welding
|
||||||
@ -918,12 +942,14 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
return SequenceAction.Ok();
|
return SequenceAction.Ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
private SequenceActionResult RequestUnloadCell(SequenceContext context, string id, SequenceActionResult param) {
|
private SequenceActionResult RequestUnloadCell(SequenceContext context, string id, SequenceActionResult param)
|
||||||
|
{
|
||||||
Status.SetWorkingPosition(eWorkingPosition.UNLOADING_CELL);
|
Status.SetWorkingPosition(eWorkingPosition.UNLOADING_CELL);
|
||||||
|
|
||||||
return SequenceAction.Ok();
|
return SequenceAction.Ok();
|
||||||
}
|
}
|
||||||
private SequenceActionResult EncoderMonitor(SequenceContext context, string id, SequenceActionResult param) {
|
private SequenceActionResult EncoderMonitor(SequenceContext context, string id, SequenceActionResult param)
|
||||||
|
{
|
||||||
double send_time_offset = 0.1;
|
double send_time_offset = 0.1;
|
||||||
|
|
||||||
while (!context.Stopped) {
|
while (!context.Stopped) {
|
||||||
@ -958,8 +984,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var LaserIO = _IO._iOUnit.ReadDiBit(Convert.ToInt32(eADIAddress.LaserOn));
|
var LaserIO = _IO._iOUnit.ReadDiBit(Convert.ToInt32(eADIAddress.LaserOn));
|
||||||
//var IsLaserOn = ChangeChecker.IsChangedBoolMonitoring("LaserOn", LaserIO, true);
|
var IsLaserOn = ChangeChecker.IsChangedBoolMonitoring("LaserOn", LaserIO, true);
|
||||||
if (true) {
|
if (IsLaserOn) {
|
||||||
if (executeTarget != null && executeTarget.IsCanExist && executeTarget.WeldStartTime == DateTime.MinValue) {
|
if (executeTarget != null && executeTarget.IsCanExist && executeTarget.WeldStartTime == DateTime.MinValue) {
|
||||||
executeTarget.WeldStartTime = DateTime.Now;
|
executeTarget.WeldStartTime = DateTime.Now;
|
||||||
executeTarget.WeldComplete = true;
|
executeTarget.WeldComplete = true;
|
||||||
@ -993,7 +1019,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
return SequenceAction.Ok();
|
return SequenceAction.Ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
private SequenceActionResult ReportCellResult(SequenceContext context, string id, SequenceActionResult param) {
|
private SequenceActionResult ReportCellResult(SequenceContext context, string id, SequenceActionResult param)
|
||||||
|
{
|
||||||
Status.SetWorkingPosition(eWorkingPosition.REPORTING_RESULT);
|
Status.SetWorkingPosition(eWorkingPosition.REPORTING_RESULT);
|
||||||
|
|
||||||
string strDate = DateTime.Now.Date.ToString("yyyyMMdd");
|
string strDate = DateTime.Now.Date.ToString("yyyyMMdd");
|
||||||
@ -1076,7 +1103,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
// return SequenceAction.Ok();
|
// return SequenceAction.Ok();
|
||||||
//}
|
//}
|
||||||
|
|
||||||
private static string CheckCycleStop(SequenceContext context, string id, ICollection<string> branches, SequenceActionResult param) {
|
private static string CheckCycleStop(SequenceContext context, string id, ICollection<string> branches, SequenceActionResult param)
|
||||||
|
{
|
||||||
Status.SetWorkingPosition(eWorkingPosition.CHECKING_CYCLE);
|
Status.SetWorkingPosition(eWorkingPosition.CHECKING_CYCLE);
|
||||||
|
|
||||||
// TODO: 확인 필요, CybleStop 에 대한 내용, cycle stop 여부 가져오기
|
// TODO: 확인 필요, CybleStop 에 대한 내용, cycle stop 여부 가져오기
|
||||||
@ -1093,7 +1121,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private string CheckCanWelded(SequenceContext context, string id, ICollection<string> branches, SequenceActionResult param) {
|
private string CheckCanWelded(SequenceContext context, string id, ICollection<string> branches, SequenceActionResult param)
|
||||||
|
{
|
||||||
// ── 재시작 전 미완료 보고 우선 처리 ─────────────────────────────────────────
|
// ── 재시작 전 미완료 보고 우선 처리 ─────────────────────────────────────────
|
||||||
// SavePendingComplete()로 보존된 슬롯이 있으면 정상 파이프라인(Complete)보다 우선.
|
// SavePendingComplete()로 보존된 슬롯이 있으면 정상 파이프라인(Complete)보다 우선.
|
||||||
if (_CellScheduler.HasPendingComplete) {
|
if (_CellScheduler.HasPendingComplete) {
|
||||||
@ -1112,7 +1141,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
return SEQ_CHECK_CYCLE_STOP;
|
return SEQ_CHECK_CYCLE_STOP;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SaveCellAPD() {
|
private void SaveCellAPD()
|
||||||
|
{
|
||||||
if (Status.GetProcessingWeldingData().APD.Count > 0) {
|
if (Status.GetProcessingWeldingData().APD.Count > 0) {
|
||||||
string directoryPath = "D:\\ILSOSConfig\\APD_History";
|
string directoryPath = "D:\\ILSOSConfig\\APD_History";
|
||||||
string fileName = DateTime.Now.ToString("HH") + "_CellAPD";
|
string fileName = DateTime.Now.ToString("HH") + "_CellAPD";
|
||||||
@ -1120,19 +1150,22 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
Status.GetProcessingWeldingData().APD.CreateFiles(fullPath);
|
Status.GetProcessingWeldingData().APD.CreateFiles(fullPath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private SequenceActionResult SaveResultData(SequenceContext context, string id, SequenceActionResult param) {
|
private SequenceActionResult SaveResultData(SequenceContext context, string id, SequenceActionResult param)
|
||||||
|
{
|
||||||
context.PutValue(ContextKey.KEY_SEQUENCE_RESULT, true);
|
context.PutValue(ContextKey.KEY_SEQUENCE_RESULT, true);
|
||||||
return SequenceAction.Ok();
|
return SequenceAction.Ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
private SequenceActionResult WriteCompletionPLCBit(SequenceContext context, string id, SequenceActionResult param) {
|
private SequenceActionResult WriteCompletionPLCBit(SequenceContext context, string id, SequenceActionResult param)
|
||||||
|
{
|
||||||
// 완료 비트 write 하는 Node 추가 필요. format 유지, ReceiveCellInfo 없음
|
// 완료 비트 write 하는 Node 추가 필요. format 유지, ReceiveCellInfo 없음
|
||||||
Log.D("AutoRun Sequence WriteCompletionPLCBit");
|
Log.D("AutoRun Sequence WriteCompletionPLCBit");
|
||||||
|
|
||||||
return SequenceAction.Ok();
|
return SequenceAction.Ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
private SequenceActionResult InitConditionError(SequenceContext context, string id, SequenceActionResult param) {
|
private SequenceActionResult InitConditionError(SequenceContext context, string id, SequenceActionResult param)
|
||||||
|
{
|
||||||
context.TryGetValue(ContextKey.KEY_SEQUENCE_ERROR_CODE, out int InitializeCode);
|
context.TryGetValue(ContextKey.KEY_SEQUENCE_ERROR_CODE, out int InitializeCode);
|
||||||
switch (InitializeCode) {
|
switch (InitializeCode) {
|
||||||
case (int)InitErrorList.PLC_AUTORUN_BIT_OFF:
|
case (int)InitErrorList.PLC_AUTORUN_BIT_OFF:
|
||||||
@ -1159,7 +1192,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private SequenceActionResult Complete(SequenceContext context, string id, SequenceActionResult param) {
|
private SequenceActionResult Complete(SequenceContext context, string id, SequenceActionResult param)
|
||||||
|
{
|
||||||
RestoreDeviceStatus();
|
RestoreDeviceStatus();
|
||||||
|
|
||||||
context.Settings.Save(CommonSettingIds.SystemParameter, _SystemParameter, "SeqAutoRunCCWH52A");
|
context.Settings.Save(CommonSettingIds.SystemParameter, _SystemParameter, "SeqAutoRunCCWH52A");
|
||||||
@ -1176,7 +1210,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
return SequenceAction.Ok(result);
|
return SequenceAction.Ok(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool RestoreDeviceStatus() {
|
private bool RestoreDeviceStatus()
|
||||||
|
{
|
||||||
//PLC All BIT OFF
|
//PLC All BIT OFF
|
||||||
for (int i = 0; i < _RotaryJigCount; i++) {
|
for (int i = 0; i < _RotaryJigCount; i++) {
|
||||||
_PLC.WriteBit((int)eBitOutput.PC_WELD_COMPLETE_1 + i, false);
|
_PLC.WriteBit((int)eBitOutput.PC_WELD_COMPLETE_1 + i, false);
|
||||||
@ -1215,7 +1250,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnForceError(SequenceContext context, string arg2) {
|
private void OnForceError(SequenceContext context, string arg2)
|
||||||
|
{
|
||||||
context.Settings.Save(CommonSettingIds.SystemParameter, _SystemParameter, "SeqAutoRunCCWH52A");
|
context.Settings.Save(CommonSettingIds.SystemParameter, _SystemParameter, "SeqAutoRunCCWH52A");
|
||||||
|
|
||||||
OnSeqActionStop();
|
OnSeqActionStop();
|
||||||
@ -1223,7 +1259,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
Log.I("SequenceAction Ok : OnForceError");
|
Log.I("SequenceAction Ok : OnForceError");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnStopped(SequenceContext context) {
|
private void OnStopped(SequenceContext context)
|
||||||
|
{
|
||||||
context.Settings.Save(CommonSettingIds.SystemParameter, _SystemParameter, "SeqAutoRunCCWH52A");
|
context.Settings.Save(CommonSettingIds.SystemParameter, _SystemParameter, "SeqAutoRunCCWH52A");
|
||||||
|
|
||||||
OnSeqActionStop();
|
OnSeqActionStop();
|
||||||
@ -1231,7 +1268,8 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
Log.I("SequenceAction Ok : OnStopped");
|
Log.I("SequenceAction Ok : OnStopped");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnSeqActionStop() {
|
private void OnSeqActionStop()
|
||||||
|
{
|
||||||
Status.EquipmentMode = eEquipmentMode.MANUAL;
|
Status.EquipmentMode = eEquipmentMode.MANUAL;
|
||||||
|
|
||||||
foreach (var info in ProcessManager.Instance.ReceivedCellInfoQueue.Select((value, index) => (value, index))) {
|
foreach (var info in ProcessManager.Instance.ReceivedCellInfoQueue.Select((value, index) => (value, index))) {
|
||||||
@ -1280,20 +1318,23 @@ namespace ILSOS_CCW_H52A.Sequences {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// For CSV 저장용
|
// For CSV 저장용
|
||||||
public class CenterPositionData : NotifyPropertyChangedBase {
|
public class CenterPositionData : NotifyPropertyChangedBase
|
||||||
|
{
|
||||||
private double _CenterX;
|
private double _CenterX;
|
||||||
public double CenterX { get => _CenterX; set => SetProperty(ref _CenterX, value); }
|
public double CenterX { get => _CenterX; set => SetProperty(ref _CenterX, value); }
|
||||||
private double _CenterY;
|
private double _CenterY;
|
||||||
public double CenterY { get => _CenterY; set => SetProperty(ref _CenterY, value); }
|
public double CenterY { get => _CenterY; set => SetProperty(ref _CenterY, value); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SeqAutoRunCCWH52A_InitParam : InitParam {
|
public class SeqAutoRunCCWH52A_InitParam : InitParam
|
||||||
|
{
|
||||||
public ScoutSeqParams ScoutSeqParams { get; set; }
|
public ScoutSeqParams ScoutSeqParams { get; set; }
|
||||||
public bool UseStream { get; set; }
|
public bool UseStream { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SeqAutoRunCCWH52A_OutParam : OutParam {
|
public class SeqAutoRunCCWH52A_OutParam : OutParam
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -112,7 +112,7 @@
|
|||||||
<usercontrols:UCKeyValueString Height="30" KeyText="Welding Time (ms)" ValueText="{Binding CurrentWeldingData.WeldingSpanTimeMilliseconds}" KeyHorizontalAlignment="Right" KeyTextWidth="0.8*" IsReadOnly="True"/>
|
<usercontrols:UCKeyValueString Height="30" KeyText="Welding Time (ms)" ValueText="{Binding CurrentWeldingData.WeldingSpanTimeMilliseconds}" KeyHorizontalAlignment="Right" KeyTextWidth="0.8*" IsReadOnly="True"/>
|
||||||
<usercontrols:UCKeyValueString Height="30" KeyText="Lot ID" ValueText="{Binding CurrentWeldingData.LotId}" KeyHorizontalAlignment="Right" KeyTextWidth="0.8*" IsReadOnly="True"/>
|
<usercontrols:UCKeyValueString Height="30" KeyText="Lot ID" ValueText="{Binding CurrentWeldingData.LotId}" KeyHorizontalAlignment="Right" KeyTextWidth="0.8*" IsReadOnly="True"/>
|
||||||
<usercontrols:UCKeyValueString Height="30" KeyText="Cell ID" ValueText="{Binding CurrentWeldingData.CellId}" KeyHorizontalAlignment="Right" KeyTextWidth="0.8*" ValueTextSize="11" IsReadOnly="True"/>
|
<usercontrols:UCKeyValueString Height="30" KeyText="Cell ID" ValueText="{Binding CurrentWeldingData.CellId}" KeyHorizontalAlignment="Right" KeyTextWidth="0.8*" ValueTextSize="11" IsReadOnly="True"/>
|
||||||
<usercontrols:UCKeyValueString Height="30" KeyText="Head No" ValueText="{Binding CurrentWeldingData.JigNo}" KeyHorizontalAlignment="Right" KeyTextWidth="0.8*" ValueTextSize="11" IsReadOnly="True"/>
|
<usercontrols:UCKeyValueString Height="30" KeyText="Head No" ValueText="{Binding CurrentWeldingData.JigNo}" KeyHorizontalAlignment="Right" KeyTextWidth="0.8*" IsReadOnly="True"/>
|
||||||
</UniformGrid>
|
</UniformGrid>
|
||||||
</Grid>
|
</Grid>
|
||||||
</GroupBox>
|
</GroupBox>
|
||||||
|
|||||||
@ -25,7 +25,6 @@ using System.Windows.Controls;
|
|||||||
using Aurora.Api.Manager;
|
using Aurora.Api.Manager;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using WeldingCommon.Recipes;
|
using WeldingCommon.Recipes;
|
||||||
using System.Threading;
|
|
||||||
|
|
||||||
namespace ILSOS_CCW_H52A.Views
|
namespace ILSOS_CCW_H52A.Views
|
||||||
{
|
{
|
||||||
@ -116,6 +115,7 @@ namespace ILSOS_CCW_H52A.Views
|
|||||||
CurrentWeldingData.WeldingSpanTimeMilliseconds = "0";
|
CurrentWeldingData.WeldingSpanTimeMilliseconds = "0";
|
||||||
CurrentWeldingData.LotId = "Default_Lot_Id";
|
CurrentWeldingData.LotId = "Default_Lot_Id";
|
||||||
CurrentWeldingData.CellId = "Default_Cell_Id";
|
CurrentWeldingData.CellId = "Default_Cell_Id";
|
||||||
|
CurrentWeldingData.JigNo = "0";
|
||||||
}
|
}
|
||||||
|
|
||||||
private void VisibleChanged(object obj)
|
private void VisibleChanged(object obj)
|
||||||
@ -148,28 +148,28 @@ namespace ILSOS_CCW_H52A.Views
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void PerformCmdRunSequenceAutoRun(object obj)
|
private void PerformCmdRunSequenceAutoRun(object obj)
|
||||||
{
|
{
|
||||||
var result = MessageUtil.ShowYesNoMessageDialog("AutoRun Sequence", "Start AutoRun Sequence?");
|
var result = MessageUtil.ShowYesNoMessageDialog("AutoRun Sequence", "Start AutoRun Sequence?");
|
||||||
if (result == false)
|
if (result == false) {
|
||||||
{
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (VisionRecipeManager.GetFovInfos().Count == 0)
|
if (VisionRecipeManager.GetFovInfos().Count == 0) {
|
||||||
{
|
|
||||||
MessageUtil.ShowWarningToast(string.Format("Please check the Vision Recipe of the currently active Recipe."));
|
MessageUtil.ShowWarningToast(string.Format("Please check the Vision Recipe of the currently active Recipe."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_SeqAutoRun.RunState == SequenceRunState.Running)
|
if (_SeqAutoRun.RunState == SequenceRunState.Running) {
|
||||||
{
|
|
||||||
MessageUtil.ShowWarningToast(string.Format("이미 시퀀스가 Start 상태입니다.", "SeqAutoRunCCWH52A"));
|
MessageUtil.ShowWarningToast(string.Format("이미 시퀀스가 Start 상태입니다.", "SeqAutoRunCCWH52A"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
RunSequenceAutoRun();
|
RunSequenceAutoRun();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnAutoRunStartRequest()
|
private void OnAutoRunStartRequest()
|
||||||
{
|
{
|
||||||
RunSequenceAutoRun();
|
RunSequenceAutoRun();
|
||||||
|
|||||||
@ -1032,7 +1032,7 @@ namespace CoreUnit.Control.UserControl.Canvas
|
|||||||
EnableCanvasColor = org.EnableCanvasColor;
|
EnableCanvasColor = org.EnableCanvasColor;
|
||||||
EnableCanvasGrid = org.EnableCanvasGrid;
|
EnableCanvasGrid = org.EnableCanvasGrid;
|
||||||
Layers = (ICanvasLayer[])org.Layers.Clone();
|
Layers = (ICanvasLayer[])org.Layers.Clone();
|
||||||
|
m_activeLayer = m_layers[0];
|
||||||
//var thisDrawing = ActiveLayer as DrawingLayer;
|
//var thisDrawing = ActiveLayer as DrawingLayer;
|
||||||
//var orgDrawing = org.ActiveLayer as DrawingLayer;
|
//var orgDrawing = org.ActiveLayer as DrawingLayer;
|
||||||
//thisDrawing.Copy(orgDrawing, true);
|
//thisDrawing.Copy(orgDrawing, true);
|
||||||
|
|||||||
@ -64,7 +64,7 @@ namespace WeldingCommon.Data
|
|||||||
if (fullPathNoExt == null)
|
if (fullPathNoExt == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (format == ExportFormat.CSV)
|
if(format == ExportFormat.CSV)
|
||||||
CSV_Manager.GetInstance().Save_DataTableToCsv(fullPathNoExt, table);
|
CSV_Manager.GetInstance().Save_DataTableToCsv(fullPathNoExt, table);
|
||||||
|
|
||||||
Clear();
|
Clear();
|
||||||
@ -109,19 +109,6 @@ namespace WeldingCommon.Data
|
|||||||
|
|
||||||
table.Rows.Add(values.ToArray());
|
table.Rows.Add(values.ToArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//DataRow row = table.NewRow();
|
|
||||||
|
|
||||||
// for (int i = 0; i < item.ParamAPD.Count; i++)
|
|
||||||
// {
|
|
||||||
// table.Rows.Add(item.Date.ToString("yyyy-MM-dd"), item.Date.ToString("HH:mm:ss.fff"), item.LotID, item.CellID, item.HeadNo, item.WeldType, item.EncoderCheck,
|
|
||||||
// item.ParamAPD[0].StartPointX, item.ParamAPD[0].StartPointY, item.ParamAPD[0].EndPointX, item.ParamAPD[0].EndPointY,
|
|
||||||
// item.ParamAPD[0].WeldCondition, item.ParamAPD[0].LaserOnDelay, item.ParamAPD[0].LaserOffDelay, item.ParamAPD[0].JumpDelay, item.ParamAPD[0].MarkDelay,
|
|
||||||
// item.ParamAPD[0].PolygonDelay, item.ParamAPD[0].PowerCore, item.ParamAPD[0].PowerRing, item.ParamAPD[0].JumpSpeed, item.ParamAPD[0].MarkSpeed, item.ParamAPD[0].JumpX,
|
|
||||||
// item.ParamAPD[0].JumpY);
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
public void UpdateHeadNo(string headNo)
|
public void UpdateHeadNo(string headNo)
|
||||||
{
|
{
|
||||||
foreach (var item in this)
|
foreach (var item in this)
|
||||||
|
|||||||
@ -123,6 +123,7 @@ namespace WeldingCommon.Data
|
|||||||
this.WeldTime = string.Empty;
|
this.WeldTime = string.Empty;
|
||||||
this.WorkCellId = string.Empty;
|
this.WorkCellId = string.Empty;
|
||||||
this.WorkLotId = string.Empty;
|
this.WorkLotId = string.Empty;
|
||||||
|
this.WorkJigNo = string.Empty;
|
||||||
this.LBAD_Judge = string.Empty;
|
this.LBAD_Judge = string.Empty;
|
||||||
this.LDD_Judge = string.Empty;
|
this.LDD_Judge = string.Empty;
|
||||||
this.LaserPowerCore = string.Empty;
|
this.LaserPowerCore = string.Empty;
|
||||||
@ -151,6 +152,7 @@ namespace WeldingCommon.Data
|
|||||||
clone._WeldTime = _WeldTime;
|
clone._WeldTime = _WeldTime;
|
||||||
clone._WorkCellId = _WorkCellId;
|
clone._WorkCellId = _WorkCellId;
|
||||||
clone._WorkLotId = _WorkLotId;
|
clone._WorkLotId = _WorkLotId;
|
||||||
|
clone._WorkJigNo = _WorkJigNo;
|
||||||
clone._LBAD_Judge = _LBAD_Judge;
|
clone._LBAD_Judge = _LBAD_Judge;
|
||||||
clone._LDD_Judge = _LDD_Judge;
|
clone._LDD_Judge = _LDD_Judge;
|
||||||
clone._LaserPowerCore = _LaserPowerCore;
|
clone._LaserPowerCore = _LaserPowerCore;
|
||||||
|
|||||||
@ -478,13 +478,6 @@ namespace WeldingCommon.Settings
|
|||||||
[Category("CellPosMeasure")]
|
[Category("CellPosMeasure")]
|
||||||
[DisplayName("CellCenterOffsetY")]
|
[DisplayName("CellCenterOffsetY")]
|
||||||
public double CellPosMeasureCenterOffsetY { get; set; } = 0;
|
public double CellPosMeasureCenterOffsetY { get; set; } = 0;
|
||||||
|
|
||||||
// 260227 Laser 개조 후 파라미터 추가
|
|
||||||
[Browsable(true)]
|
|
||||||
[ReadOnly(false)]
|
|
||||||
[Category("RMS")]
|
|
||||||
[DisplayName("Use RingPower RMS")]
|
|
||||||
public bool UseRingPowerRMS { get; set; } = false;
|
|
||||||
}
|
}
|
||||||
public class ILSOSSizeF
|
public class ILSOSSizeF
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user