| | |
| | | |
| | | SA_LTT Program |
| | | |
| | | ========== |
| | | SA_LTT í´ë |
| | | - íë¡ê·¸ë¨ ì¤ì ë° Parameter íì¼ë¤. |
| | | - ìì¹ : C ëë¼ì´ë¸ |
| | | |
| | | SA_LTT_UI |
| | | - ì¤ë¹ SW íë¡ê·¸ë¨. |
»õ ÆÄÀÏ |
| | |
| | | AL_0000_,None,Heavy,True,2022.11.15 10:01:42.811 |
| | | AL_0001_EMO_STOP_1,None,Heavy,True,2022.11.16 09:00:54.716 |
| | | AL_0002_EMO_STOP_2,None,Heavy,True,2022.11.16 09:00:54.716 |
| | | AL_0003_EMO_STOP_3,None,Heavy,True,2022.11.16 09:00:54.716 |
| | | AL_0004_EMO_STOP_4,None,Heavy,True,2022.11.16 09:00:54.716 |
| | | AL_0005_SMOKE_DETECTOR_ON,None,Heavy,True,2022.11.16 09:00:54.716 |
| | | AL_0006_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0007_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0008_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0009_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0010_DOOR_OPEN_1,None,Heavy,False,2023.02.23 14:31:22.274 |
| | | AL_0011_DOOR_OPEN_2,None,Heavy,False,2023.02.23 14:31:22.274 |
| | | AL_0012_DOOR_OPEN_3,None,Heavy,False,2023.02.23 14:31:22.274 |
| | | AL_0013_DOOR_OPEN_4,None,Heavy,False,2023.02.23 14:31:22.274 |
| | | AL_0014_DOOR_OPEN_CP,None,Heavy,False,2022.11.16 09:00:54.716 |
| | | AL_0015_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0016_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0017_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0018_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0019_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0020_SERVO_MC_OFF,None,Heavy,True,2022.11.16 09:00:56.094 |
| | | AL_0021_VACUUM_MC_OFF,None,Heavy,True,2022.11.16 09:00:54.716 |
| | | AL_0022_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0023_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0024_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0025_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0026_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0027_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0028_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0029_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0030_LASER_WATER_LEAK,None,Heavy,True,2022.11.16 09:00:56.094 |
| | | AL_0031_CHILLER_WATER_LEAK,None,Heavy,True,2022.11.16 09:00:56.094 |
| | | AL_0032_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0033_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0034_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0035_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0036_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0037_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0038_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0039_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0040_MAIN_CDA_PRESSURE,Main Valve를 ì´ì´ 주ì¸ì.,Heavy,True,2022.11.16 17:33:55.314 |
| | | AL_0041_MAIN_VAC_PRESSURE,Main Valve를 ì´ì´ 주ì¸ì.,Heavy,False,2022.11.16 17:33:55.413 |
| | | AL_0042_MAIN_CDA_FLOW,None,Heavy,True,2022.11.16 09:00:54.716 |
| | | AL_0043_CMB_VAC_PRESSURE,None,Heavy,True,2022.11.16 09:00:56.094 |
| | | AL_0044_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0045_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0046_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0047_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0048_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0049_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0050_CREVIS_DISCONNECTED,None,Heavy,True,2022.11.16 09:00:54.716 |
| | | AL_0051_PRE_ALIGNER_DISCONNECTED,None,Heavy,True,2022.11.16 09:00:54.716 |
| | | AL_0052_ROBOT_DISCONNECTED,None,Heavy,True,2022.11.16 09:00:54.716 |
| | | AL_0053_ATTENUATOR_DISCONNECTED,None,Heavy,True,2022.11.16 09:00:54.716 |
| | | AL_0054_TEMPCONTROLER_DISCONNECTED,None,Heavy,True,2022.11.16 09:00:54.716 |
| | | AL_0055_FFU_DISCONNECTED,None,Light,True,2022.11.23 09:10:30.116 |
| | | AL_0056_POWER_PMAC_DISCONNECTED,None,Heavy,True,2022.11.16 09:00:54.716 |
| | | AL_0057_UV_LASER_DISCONNECTED,None,Heavy,True,2022.11.16 09:00:54.716 |
| | | AL_0058_GR200_DISCONNECTED,None,Heavy,True,2022.11.16 09:00:54.716 |
| | | AL_0059_POWERMETER_DISCONNECTED,None,Heavy,False,2022.11.17 15:28:24.238 |
| | | AL_0060_POWER_PMAC_DISCONNECTED,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0061_CHILLER_DISCONNECTED,None,Heavy,True,2022.11.30 13:13:00.173 |
| | | AL_0062_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0063_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0064_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0065_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0066_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0067_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0068_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0069_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0070_PORT1_IS_NOT_DETECTED,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0071_PORT2_IS_NOT_DETECTED,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0072_PREALIGNER_HAS_NOT_WAFER,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0073_CHAMBER_HAS_NOT_WAFER,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0074_ROBOT_HAS_NOT_WAFER,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0075_PREALIGNER_HAS_WAFER,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0076_CHAMBER_HAS_WAFER,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0077_ROBOT_HAS_WAFER,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0078_LDD_IS_NOT_ON,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0079_SHUTTER_IS_NOT_OPEN,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0080_SET_CURRENT_IS_NOT_ZERO,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0081_ENERGY_MEASUREMENT_FAIL,None,Heavy,True,2022.12.19 14:19:31.570 |
| | | AL_0082_,None,Heavy,True,2022.12.19 14:19:31.570 |
| | | AL_0083_,None,Heavy,True,2022.12.19 14:19:31.570 |
| | | AL_0084_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0085_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0086_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0087_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0088_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0089_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0090_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0091_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0092_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0093_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0094_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0095_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0096_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0097_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0098_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0099_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0100_LASER_SOFT_FAULT_HFSYNC,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0101_LASER_SOFT_FAULT_LDD_INTERLOCK,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0102_LASER_SOFT_FAULT_SHUTTER_INTERLOCK,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0103_LASER_SOFT_FAULT_LOW_EXT_FREQUENCY,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0104_LASER_BOARD_FAULT_MAIN,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0105_LASER_BOARD_FAULT_COMMON,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0106_LASER_BOARD_FAULT_TEMPERATURE,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0107_LASER_BOARD_FAULT_SENSOR,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0108_LASER_BOARD_FAULT_POWER_MONITOR,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0109_LASER_BOARD_FAULT_PULSE,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0110_LASER_BOARD_FAULT_LDD,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0111_LASER_BOARD_FAULT_MOTOR,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0112_LASER_SYSTEM_FAULT_MEMORY,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0113_LASER_SYSTEM_FAULT_SDCARD,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0114_LASER_SYSTEM_FAULT_BOARD_COMMUNICATION,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0115_LASER_SYSTEM_FAULT_BOARD_STATE,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0116_LASER_GENERAL_ALARM_LDD1,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0117_LASER_GENERAL_ALARM_LDD2,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0118_LASER_GENERAL_ALARM_QSW,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0119_LASER_GENERAL_ALARM_FLOW,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0120_LASER_GENERAL_ALARM_WET,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0121_LASER_GENERAL_ALARM_HUMIDITY,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0122_LASER_GENERAL_ALARM_HFSYNC,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0123_LASER_TEMPERATURE_FAULT_0,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0124_LASER_TEMPERATURE_FAULT_1,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0125_LASER_TEMPERATURE_FAULT_2,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0126_LASER_TEMPERATURE_FAULT_3,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0127_LASER_TEMPERATURE_FAULT_4,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0128_LASER_TEMPERATURE_FAULT_5,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0129_LASER_TEMPERATURE_FAULT_6,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0130_LASER_TEMPERATURE_FAULT_7,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0131_LASER_SOFT_FAULT,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0132_LASER_HARD_FAULT,None,Heavy,True,2023.02.09 15:54:06.609 |
| | | AL_0133_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0134_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0135_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0136_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0137_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0138_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0139_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0140_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0141_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0142_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0143_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0144_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0145_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0146_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0147_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0148_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0149_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0150_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0151_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0152_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0153_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0154_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0155_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0156_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0157_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0158_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0159_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0160_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0161_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0162_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0163_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0164_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0165_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0166_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0167_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0168_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0169_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0170_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0171_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0172_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0173_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0174_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0175_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0176_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0177_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0178_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0179_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0180_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0181_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0182_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0183_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0184_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0185_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0186_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0187_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0188_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0189_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0190_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0191_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0192_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0193_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0194_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0195_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0196_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0197_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0198_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0199_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0200_ROBOT_ALARM_OCCURED,None,Heavy,True,2022.11.17 13:55:10.855 |
| | | AL_0201_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0202_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0203_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0204_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0205_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0206_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0207_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0208_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0209_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0210_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0211_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0212_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0213_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0214_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0215_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0216_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0217_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0218_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0219_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0220_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0221_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0222_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0223_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0224_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0225_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0226_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0227_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0228_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0229_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0230_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0231_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0232_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0233_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0234_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0235_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0236_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0237_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0238_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0239_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0240_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0241_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0242_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0243_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0244_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0245_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0246_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0247_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0248_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0249_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0250_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0251_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0252_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0253_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0254_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0255_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0256_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0257_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0258_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0259_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0260_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0261_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0262_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0263_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0264_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0265_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0266_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0267_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0268_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0269_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0270_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0271_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0272_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0273_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0274_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0275_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0276_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0277_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0278_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0279_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0280_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0281_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0282_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0283_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0284_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0285_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0286_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0287_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0288_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0289_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0290_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0291_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0292_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0293_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0294_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0295_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0296_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0297_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0298_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0299_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0300_POWER_PMAC_NOT_CONNECTED,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0301_POWER_PMAC_INVALID_DEVICE,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0302_POWER_PMAC_INVALID_COMMAND,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0303_POWER_PMAC_INVALID_RESPONSE,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0304_POWER_PMAC_DATA_REAMINS,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0305_POWER_PMAC_CMD_LENGTH_EXCEEDS,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0306_POWER_PMAC_RES_LENGTH_EXCEEDS,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0307_POWER_PMAC_RUNNING_DOWNLOAD,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0308_POWER_PMAC_ERROR,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0309_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0310_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0311_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0312_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0313_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0314_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0315_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0316_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0317_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0318_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0319_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0320_MOTOR_Y_NEGATIVE_LIMIT,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0321_MOTOR_Y_POSITIVE_LIMIT,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0322_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0323_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0324_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0325_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0326_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0327_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0328_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0329_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0330_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0331_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0332_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0333_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0334_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0335_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0336_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0337_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0338_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0339_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0340_MOTOR_X_NEGATIVE_LIMIT,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0341_MOTOR_X_POSITIVE_LIMIT,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0342_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0343_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0344_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0345_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0346_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0347_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0348_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0349_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0350_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0351_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0352_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0353_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0354_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0355_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0356_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0357_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0358_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0359_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0360_MOTOR_T_NEGATIVE_LIMIT,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0361_MOTOR_T_POSITIVE_LIMIT,None,Heavy,True,2022.11.16 14:12:51.185 |
| | | AL_0362_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0363_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0364_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0365_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0366_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0367_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0368_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0369_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0370_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0371_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0372_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0373_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0374_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0375_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0376_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0377_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0378_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0379_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0380_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0381_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0382_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0383_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0384_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0385_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0386_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0387_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0388_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0389_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0390_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0391_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0392_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0393_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0394_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0395_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0396_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0397_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0398_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0399_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0400_CHILLER_LOW_LEVEL_IN_TANK,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0401_CHILLER_HIGH_CIRCULATING_FLUID_DISCHARGE_TEMP,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0402_CHILLER_CIRCULATING_FLUID_DISCHARGE_TEMP_RISE,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0403_CHILLER_CIRCULATING_FLUID_DISCHARGE_TEMP_DROP,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0404_CHILLER_HIGH_CIRCULATING_FLUID_RETURN_TEMP,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0405_CHILLER_HIGH_CIRCULATING_FLUID_DISCHARGE_PRESSURE,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0406_CHILLER_ABNORMAL_PUMP_OPERATION,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0407_CHILLER_CIRCULATING_FLUID_DISCHARGE_PRESSURE_RISE,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0408_CHILLER_CIRCULATING_FLUID_DISCHARGE_PRESSURE_DROP,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0409_CHILLER_HIGH_COMPRESSOR_INTANK_TEMP,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0410_CHILLER_LOW_COMPRESSOR_INTANK_TEMP,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0411_CHILLER_LOW_SUPER_HEAT_TEMPERATURE,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0412_CHILLER_HIGH_COMPRESSOR_DISCHARGE_PRESSURE,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0413_CHILLER_REFRIGERANT_CIRCUIT_HIGH_PRESSURE_DROP,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0414_CHILLER_REFRIGERANT_CIRCUIT_LOW_PRESSURE_RISE,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0415_CHILLER_REFRIGERANT_CIRCUIT_LOW_PRESSURE_DROP,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0416_CHILLER_COMPRESSOR_OVER_LOAD,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0417_CHILLER_COMMUNICATION_ERROR,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0418_CHILLER_MEMORY_ERROR,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0419_CHILLER_DC_LINE_FUSE_CUT,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0420_CHILLER_CIRCULATING_FLUID_DISCHARGE_TEMP_SENSOR_FAILURE,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0421_CHILLER_CIRCULATING_FLUID_TEMP_SENSOR_FAILURE,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0422_CHILLER_COMPRESSOR_INTANK_TEMP_SENSOR_FAILURE,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0423_CHILLER_CIRCULATING_FLUID_DISCHARGE_PRESSURE_SENSOR_FAILURE,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0424_CHILLER_COMPRESSOR_DISCHARGE_PRESSURE_SENSOR_FAILURE,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0425_CHILLER_COMPRESSOR_INTANK_PRESSURE_SENSOR_FAILURE,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0426_CHILLER_MAINTENANCE_OF_PUMP,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0427_CHILLER_MAINTENENCE_OF_FAN_MOTOR,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0428_CHILLER_MAINTENENCE_OF_COMPRESSOR,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0429_CHILLER_CONTACT_INPUT_1_SIGNAL_DETECTION_ALARM,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0430_CHILLER_CONTACT_INPUT_2_SIGNAL_DETECTION_ALARM,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0431_CHILLER_WATER_LEAKAGE,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0432_CHILLER_ELECTRIC_RESISTIVITY_COMDUCTIVITY_LEVEL_RISE,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0433_CHILLER_ELECTRIC_RESISTIVITY_COMDUCTIVITY_LEVEL_DROP,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0434_CHILLER_ELECTRIC_RESISTIVITY_COMDUCTIVITY_SENSOR_ERROR,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0435,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0436,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0437,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0438,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0439,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0440,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0441,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0442,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0443,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0444,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_0445_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0446_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0447_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0448_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0449_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0450_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0451_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0452_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0453_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0454_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0455_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0456_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0457_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0458_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0459_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0460_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0461_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0462_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0463_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0464_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0465_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0466_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0467_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0468_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0469_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0470_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0471_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0472_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0473_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0474_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0475_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0476_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0477_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0478_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0479_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0480_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0481_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0482_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0483_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0484_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0485_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0486_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0487_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0488_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0489_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0490_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0491_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0492_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0493_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0494_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0495_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0496_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0497_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0498_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0499_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0500_PREALIGNER_PIN_UP_ERROR,None,Heavy,True,2022.11.15 10:01:42.811 |
| | | AL_0501_PREALIGNER_PIN_DOWN_ERROR,None,Heavy,True,2022.11.15 10:01:42.811 |
| | | AL_0502_PREALIGNER_VACCUM_ERROR,None,Heavy,True,2022.11.15 10:01:42.811 |
| | | AL_0503_PREALIGNER_NO_WAFER,None,Heavy,True,2022.11.15 10:01:42.811 |
| | | AL_0504_PREALIGNER_WAFER_LIMIT_ERROR_AFTER_ALIGN,None,Heavy,True,2022.11.15 10:01:42.811 |
| | | AL_0505_PREALIGNER_NOT_FOUND_NOTCH,None,Heavy,True,2022.11.15 10:01:42.811 |
| | | AL_0506_PREALIGNER_STAGE_LIMIT_ERROR,None,Heavy,True,2022.11.15 10:01:42.811 |
| | | AL_0507_PREALIGNER_INVALID_ALIGN_COMMAND,None,Heavy,True,2022.11.15 10:01:42.811 |
| | | AL_0508_PREALIGNER_CHUCK_ARRANGE_ERROR,None,Heavy,True,2022.11.15 10:01:42.811 |
| | | AL_0509_PREALIGNER_WAFER_ALIGN_CCD_OVER,None,Heavy,True,2022.11.15 10:01:42.811 |
| | | AL_0510_PREALIGNER_WAFER_LIMIT_ERROR_BEFORE_ALIGN,None,Heavy,True,2022.11.15 10:01:42.811 |
| | | AL_0511_PREALIGNER_RETRACT_HOME,None,Heavy,True,2022.11.15 10:01:42.811 |
| | | AL_0512_PREALIGNER_WAFER_EXIST,None,Heavy,True,2022.11.15 10:01:42.811 |
| | | AL_0513_PREALIGNER_CCD_MODULE_ERROR,None,Heavy,True,2022.11.15 10:01:42.811 |
| | | AL_0514_PREALIGNER_ALIGNER_TYPE_ERROR,None,Heavy,True,2022.11.15 10:01:42.811 |
| | | AL_0515_PREALIGNER_COMMAND_ERROR,None,Heavy,True,2022.11.15 10:01:42.811 |
| | | AL_0516_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0517_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0518_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0519_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0520_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0521_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0522_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0523_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0524_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0525_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0526_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0527_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0528_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0529_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0530_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0531_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0532_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0533_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0534_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0535_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0536_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0537_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0538_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0539_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0540_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0541_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0542_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0543_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0544_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0545_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0546_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0547_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0548_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0549_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0550_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0551_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0552_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0553_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0554_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0555_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0556_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0557_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0558_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0559_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0560_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0561_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0562_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0563_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0564_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0565_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0566_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0567_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0568_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0569_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0570_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0571_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0572_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0573_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0574_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0575_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0576_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0577_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0578_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0579_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0580_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0581_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0582_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0583_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0584_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0585_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0586_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0587_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0588_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0589_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0590_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0591_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0592_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0593_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0594_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0595_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0596_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0597_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0598_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0599_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0600_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0601_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0602_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0603_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0604_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0605_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0606_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0607_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0608_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0609_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0610_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0611_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0612_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0613_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0614_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0615_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0616_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0617_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0618_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0619_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0620_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0621_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0622_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0623_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0624_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0625_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0626_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0627_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0628_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0629_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0630_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0631_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0632_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0633_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0634_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0635_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0636_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0637_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0638_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0639_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0640_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0641_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0642_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0643_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0644_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0645_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0646_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0647_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0648_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0649_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0650_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0651_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0652_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0653_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0654_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0655_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0656_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0657_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0658_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0659_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0660_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0661_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0662_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0663_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0664_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0665_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0666_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0667_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0668_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0669_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0670_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0671_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0672_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0673_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0674_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0675_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0676_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0677_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0678_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0679_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0680_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0681_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0682_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0683_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0684_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0685_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0686_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0687_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0688_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0689_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0690_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0691_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0692_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0693_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0694_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0695_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0696_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0697_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0698_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0699_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0700_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0701_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0702_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0703_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0704_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0705_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0706_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0707_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0708_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0709_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0710_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0711_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0712_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0713_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0714_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0715_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0716_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0717_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0718_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0719_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0720_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0721_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0722_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0723_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0724_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0725_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0726_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0727_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0728_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0729_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0730_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0731_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0732_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0733_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0734_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0735_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0736_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0737_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0738_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0739_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0740_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0741_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0742_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0743_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0744_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0745_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0746_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0747_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0748_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0749_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0750_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0751_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0752_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0753_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0754_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0755_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0756_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0757_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0758_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0759_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0760_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0761_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0762_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0763_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0764_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0765_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0766_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0767_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0768_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0769_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0770_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0771_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0772_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0773_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0774_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0775_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0776_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0777_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0778_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0779_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0780_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0781_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0782_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0783_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0784_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0785_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0786_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0787_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0788_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0789_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0790_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0791_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0792_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0793_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0794_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0795_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0796_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0797_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0798_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0799_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0800_RTC5_NO_BOARD_FOUND,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0801_RTC5_ACCESS_DENIED,None,Heavy,True,2022.11.11 14:26:32.000 |
| | | AL_0802_RTC5_COMMAND_NOT_FORWARDED,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0803_RTC5_NO_RESPONSE_FROM_BOARD,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0804_RTC5_INVALID_PARAMETER,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0805_RTC5_LIST_PROCESSING_IS_NOT_ACTIVE,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0806_RTC5_LIST_COMMAND_REJECTED,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0807_RTC5_LIST_COMMAND_HAS_BEEN_COVERTED,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0808_RTC5_VERSION_ERROR_RTC5_DLL_VERSION,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0809_RTC5_VERIFY_ERROR_RTC5_DLL_VERSION,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0809_RTC5_VERIFY_ERROR_DOWNLOAD_VERIFICATION,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0810_RTC5_DSP_VERSION_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0811_RTC5_DLL_INTERNAL_WINDOWS_MEMORY_REQUEST_FAIL,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0812_RTC5_EEPROM_READ_OR_WRITE_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0813_RTC5_ERROR_READING_PCI_CONFIGURATION_REGISTER,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0814_RTC5_RESET_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0815_RTC5_UNRESET_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0816_RTC5_FILE_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0817_RTC5_FORMAT_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0818_RTC5_SYSTEM_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0819_RTC5_ACCESS_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0820_RTC5_VERSION_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0821_RTC5_SYSTEM_DRIVER_NOT_FOUND,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0822_RTC5_DRIVER_CALL_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0823_RTC5_CONFIGURATION_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0824_RTC5_FPGA_FIRMWARE_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0825_RTC5_PCI_DOWNLOAD_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0826_RTC5_BUSY_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0827_RTC5_DSP_MEMORY_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0828_RTC5_VERIFY_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0829_RTC5_PCI_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0830_RTC5_FILE_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0831_RTC5_MEMORY_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0832_RTC5_FILE_OPEN_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0833_RTC5_DSP_MEMORY_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0834_RTC5_PCI_DOWNLOAD_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0835_RTC5_SYSTEM_DRIVER_NOT_FOUND,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0836_RTC5_PARAMETER_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0837_RTC5_ACCESS_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0838_RTC5_WARNING_3D_CORRECTION_TABLE,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0839_RTC5_BUSY_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0840_RTC5_PCI_UPLOAD_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0841_RTC5_VERIFY_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0842_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0843_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0844_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0845_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0846_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0847_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0848_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0849_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0850_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0851_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0852_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0853_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0854_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0855_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0856_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0857_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0858_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0859_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0860_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0861_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0862_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0863_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0864_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0865_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0866_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0867_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0868_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0869_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0870_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0871_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0872_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0873_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0874_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0875_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0876_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0877_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0878_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0879_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0880_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0881_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0882_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0883_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0884_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0885_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0886_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0887_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0888_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0889_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0890_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0891_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0892_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0893_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0894_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0895_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0896_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0897_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0898_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0899_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0900_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0901_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0902_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0903_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0904_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0905_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0906_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0907_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0908_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0909_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0910_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0911_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0912_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0913_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0914_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0915_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0916_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0917_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0918_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0919_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0920_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0921_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0922_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0923_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0924_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0925_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0926_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0927_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0928_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0929_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0930_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0931_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0932_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0933_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0934_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0935_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0936_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0937_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0938_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0939_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0940_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0941_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0942_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0943_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0944_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0945_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0946_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0947_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0948_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0949_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0950_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0951_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0952_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0953_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0954_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0955_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0956_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0957_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0958_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0959_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0960_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0961_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0962_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0963_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0964_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0965_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0966_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0967_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0968_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0969_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0970_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0971_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0972_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0973_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0974_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0975_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0976_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0977_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0978_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0979_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0980_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0981_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0982_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0983_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0984_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0985_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0986_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0987_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0988_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0989_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0990_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0991_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0992_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0993_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0994_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0995_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0996_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0997_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0998_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_0999_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1000_ERR_NOT_HOMED,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1001_ERR_EMERGENCY,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1002_ERR_MOTOR_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1003_ERR_WAIT_TIMEOUT,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1004_ENCODER_RESET_TIMEOUT,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1005_ERR_INTERLOCK,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1006_ERR_DATA_RANGE,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1007_ERR_WAFER_BEFORE_GET,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1008_ERR_NO_WAFER_BEFORE_PUT,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1009_ERR_NO_WAFER_AFTER_GET,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1010_ERR_WAFER_AFTER_PUT,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1011_ERR_NO_WAFER_DURING_GET,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1012_ERR_WAFER_DURING_PUT,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1013_ERR_NOT_HOMED,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1014_ERR_NOT_SUPPORTED_FUNC,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1015_ERR_WAFER_OUT,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1016_ERR_WAFER_SLIP,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1017_OVER_WAFER_DURING_GET,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1018_ERR_PLATE_CHECK,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1019_ERR_PUSHER_SPEED_HIGH,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1020_ERR_NOT_CORRECT_BLADE_POS,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1021_ERR_MAPPING_IS_NOT_PERFORMED,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1022_ERR_NO_MAPPING_DATA,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1023_ALREADY_LATCH_BLOCKED,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1024_ERR_CANNOT_UNGRIP,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1025_ERR_INVALID_COMMAND,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1026_ERR_INVALID_DATA,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1027_ERR_INVALID_STATION,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1028_ERR_INVALID_HAND,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1029_ERR_INVALID_SLOT,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1030_ERR_INVALID_TEACHING_INDEX,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1031_ERR_INVALID_PD_INDEX,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1032_ERR_INVALID_HAND_TYPE,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1033_ERR_BOX_NOEXIT_ERORR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1034_ERR_INVALID_OFFSET,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1035_ERR_INVALID_COORDINATE_TYPE,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1036_ERR_INVALID_ARGUMENT,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1037_ERR_INVALID_FORMAT,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1038_ERR_INVALID_LOCATION_FORMAT,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1039_ERR_INVALID_PROFILE_FORMAT,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1040_ERR_WRONG_PD_COMMAND,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1041_ERR_WRONG_AWC_DATA,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1042_ERR_NO_AWC_STATION,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1043_ERR_WRONG_LATCH_DATA,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1044_ERR_NO_LATCH_DATA,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1045_ERR_NO_DATA,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1046_ERR_NOT_HOME,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1047_ERR_CANNOT_RETRACT_ARM,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1048_ERR_VACUUM_DETECTING_ERORR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1049_ERR_NO_BOX,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1050_ERR_UPGRIP,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1051_ERR_DOUBLEBOXCHECH,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1052_ERR_ORIGINMANUALLY,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1053_ERR_NOTSUPPLY_AIR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1054_ERR_NOW_ON_MOVE,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1055_ERR_NOT_READYPOS,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1056_Z_POSITION_ERR_DETECTED,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1057_ERR_FLIP_TURN_INTERLOCK,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1058_ERR_CONTROL_BOX_FAN,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1059_ERR_ROBOT_FAN,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1060_ERR_AIRSTOP_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1061_ERR_RECEIVEBUF_FULL,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1062_ERR_SENDBUF_FULL,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1063_IO_RECEIVE_ERROR,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1064_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1065_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1066_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1067_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1068_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1069_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1070_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1071_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1072_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1073_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1074_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1075_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1076_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1077_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1078_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1079_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1080_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1081_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1082_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1083_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1084_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1085_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1086_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1087_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1088_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1089_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1090_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1091_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1092_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1093_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1094_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1095_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1096_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1097_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1098_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1099_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1100_ENERGY_DROP_CHECK_WRONG,None,Heavy,True,2022.12.13 10:42:05.686 |
| | | AL_1101_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1102_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1103_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1104_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1105_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1106_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1107_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1108_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1109_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1110_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1111_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1112_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1113_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1114_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1115_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1116_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1117_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1118_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1119_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1120_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1121_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1122_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1123_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1124_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1125_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1126_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1127_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1128_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1129_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1130_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1131_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1132_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1133_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1134_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1135_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1136_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1137_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1138_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1139_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1140_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1141_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1142_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1143_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1144_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1145_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1146_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1147_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1148_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1149_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1150_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1151_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1152_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1153_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1154_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1155_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1156_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1157_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1158_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1159_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1160_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1161_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1162_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1163_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1164_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1165_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1166_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1167_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1168_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1169_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1170_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1171_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1172_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1173_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1174_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1175_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1176_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1177_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1178_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1179_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1180_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1181_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1182_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1183_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1184_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1185_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1186_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1187_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1188_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1189_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1190_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1191_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1192_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1193_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1194_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1195_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1196_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1197_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1198_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1199_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1200_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1201_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1202_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1203_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1204_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1205_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1206_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1207_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1208_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1209_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1210_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1211_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1212_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1213_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1214_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1215_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1216_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1217_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1218_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1219_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1220_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1221_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1222_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1223_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1224_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1225_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1226_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1227_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1228_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1229_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1230_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1231_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1232_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1233_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1234_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1235_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1236_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1237_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1238_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1239_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1240_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1241_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1242_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1243_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1244_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1245_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1246_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1247_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1248_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1249_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1250_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1251_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1252_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1253_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1254_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1255_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1256_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1257_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1258_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1259_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1260_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1261_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1262_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1263_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1264_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1265_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1266_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1267_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1268_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1269_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1270_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1271_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1272_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1273_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1274_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1275_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1276_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1277_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1278_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1279_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1280_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1281_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1282_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1283_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1284_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1285_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1286_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1287_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1288_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1289_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1290_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1291_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1292_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1293_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1294_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1295_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1296_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1297_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1298_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1299_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1300_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1301_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1302_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1303_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1304_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1305_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1306_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1307_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1308_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1309_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1310_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1311_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1312_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1313_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1314_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1315_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1316_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1317_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1318_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1319_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1320_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1321_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1322_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1323_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1324_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1325_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1326_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1327_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1328_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1329_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1330_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1331_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1332_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1333_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1334_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1335_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1336_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1337_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1338_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1339_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1340_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1341_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1342_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1343_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1344_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1345_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1346_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1347_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1348_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1349_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1350_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1351_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1352_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1353_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1354_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1355_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1356_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1357_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1358_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1359_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1360_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1361_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1362_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1363_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1364_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1365_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1366_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1367_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1368_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1369_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1370_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1371_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1372_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1373_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1374_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1375_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1376_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1377_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1378_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1379_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1380_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1381_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1382_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1383_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1384_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1385_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1386_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1387_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1388_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1389_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1390_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1391_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1392_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1393_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1394_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1395_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1396_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1397_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1398_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1399_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1400_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1401_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1402_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1403_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1404_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1405_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1406_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1407_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1408_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1409_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1410_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1411_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1412_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1413_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1414_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1415_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1416_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1417_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1418_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1419_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1420_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1421_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1422_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1423_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1424_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1425_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1426_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1427_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1428_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1429_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1430_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1431_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1432_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1433_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1434_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1435_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1436_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1437_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1438_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1439_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1440_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1441_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1442_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1443_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1444_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1445_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1446_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1447_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1448_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1449_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1450_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1451_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1452_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1453_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1454_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1455_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1456_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1457_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1458_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1459_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1460_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1461_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1462_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1463_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1464_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1465_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1466_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1467_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1468_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1469_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1470_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1471_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1472_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1473_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1474_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1475_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1476_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1477_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1478_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1479_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1480_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1481_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1482_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1483_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1484_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1485_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1486_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1487_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1488_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1489_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1490_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1491_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1492_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1493_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1494_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1495_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1496_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1497_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1498_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1499_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1500_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1501_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1502_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1503_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1504_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1505_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1506_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1507_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1508_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1509_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1510_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1511_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1512_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1513_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1514_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1515_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1516_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1517_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1518_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1519_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1520_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1521_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1522_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1523_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1524_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1525_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1526_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1527_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1528_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1529_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1530_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1531_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1532_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1533_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1534_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1535_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1536_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1537_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1538_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1539_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1540_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1541_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1542_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1543_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1544_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1545_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1546_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1547_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1548_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1549_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1550_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1551_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1552_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1553_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1554_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1555_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1556_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1557_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1558_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1559_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1560_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1561_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1562_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1563_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1564_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1565_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1566_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1567_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1568_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1569_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1570_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1571_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1572_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1573_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1574_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1575_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1576_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1577_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1578_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1579_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1580_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1581_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1582_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1583_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1584_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1585_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1586_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1587_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1588_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1589_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1590_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1591_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1592_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1593_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1594_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1595_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1596_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1597_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1598_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1599_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1600_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1601_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1602_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1603_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1604_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1605_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1606_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1607_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1608_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1609_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1610_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1611_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1612_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1613_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1614_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1615_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1616_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1617_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1618_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1619_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1620_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1621_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1622_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1623_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1624_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1625_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1626_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1627_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1628_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1629_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1630_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1631_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1632_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1633_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1634_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1635_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1636_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1637_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1638_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1639_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1640_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1641_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1642_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1643_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1644_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1645_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1646_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1647_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1648_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1649_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1650_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1651_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1652_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1653_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1654_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1655_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1656_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1657_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1658_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1659_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1660_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1661_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1662_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1663_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1664_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1665_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1666_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1667_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1668_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1669_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1670_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1671_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1672_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1673_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1674_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1675_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1676_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1677_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1678_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1679_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1680_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1681_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1682_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1683_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1684_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1685_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1686_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1687_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1688_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1689_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1690_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1691_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1692_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1693_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1694_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1695_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1696_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1697_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1698_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1699_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1700_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1701_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1702_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1703_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1704_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1705_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1706_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1707_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1708_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1709_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1710_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1711_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1712_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1713_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1714_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1715_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1716_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1717_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1718_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1719_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1720_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1721_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1722_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1723_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1724_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1725_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1726_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1727_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1728_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1729_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1730_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1731_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1732_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1733_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1734_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1735_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1736_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1737_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1738_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1739_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1740_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1741_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1742_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1743_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1744_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1745_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1746_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1747_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1748_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1749_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1750_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1751_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1752_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1753_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1754_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1755_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1756_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1757_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1758_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1759_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1760_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1761_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1762_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1763_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1764_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1765_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1766_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1767_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1768_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1769_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1770_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1771_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1772_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1773_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1774_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1775_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1776_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1777_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1778_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1779_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1780_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1781_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1782_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1783_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1784_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1785_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1786_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1787_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1788_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1789_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1790_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1791_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1792_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1793_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1794_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1795_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1796_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1797_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1798_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1799_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1800_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1801_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1802_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1803_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1804_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1805_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1806_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1807_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1808_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1809_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1810_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1811_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1812_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1813_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1814_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1815_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1816_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1817_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1818_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1819_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1820_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1821_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1822_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1823_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1824_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1825_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1826_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1827_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1828_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1829_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1830_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1831_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1832_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1833_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1834_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1835_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1836_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1837_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1838_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1839_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1840_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1841_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1842_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1843_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1844_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1845_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1846_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1847_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1848_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1849_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1850_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1851_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1852_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1853_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1854_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1855_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1856_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1857_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1858_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1859_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1860_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1861_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1862_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1863_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1864_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1865_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1866_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1867_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1868_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1869_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1870_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1871_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1872_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1873_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1874_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1875_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1876_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1877_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1878_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1879_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1880_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1881_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1882_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1883_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1884_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1885_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1886_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1887_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1888_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1889_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1890_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1891_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1892_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1893_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1894_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1895_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1896_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1897_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1898_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1899_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1900_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1901_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1902_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1903_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1904_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1905_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1906_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1907_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1908_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1909_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1910_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1911_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1912_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1913_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1914_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1915_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1916_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1917_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1918_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1919_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1920_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1921_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1922_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1923_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1924_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1925_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1926_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1927_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1928_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1929_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1930_,None,Heavy,True,2022.09.15 13:21:17.809 |
| | | AL_1931_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1932_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1933_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1934_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1935_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1936_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1937_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1938_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1939_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1940_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1941_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1942_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1943_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1944_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1945_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1946_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1947_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1948_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1949_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1950_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1951_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1952_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1953_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1954_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1955_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1956_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1957_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1958_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1959_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1960_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1961_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1962_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1963_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1964_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1965_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1966_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1967_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1968_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1969_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1970_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1971_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1972_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1973_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1974_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1975_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1976_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1977_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1978_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1979_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1980_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1981_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1982_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1983_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1984_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1985_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1986_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1987_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1988_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1989_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1990_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1991_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1992_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1993_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1994_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1995_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1996_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1997_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1998_,None,Heavy,True,2022.09.15 13:21:17.810 |
| | | AL_1999_,None,Heavy,True,2022.09.15 13:21:17.810 |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0"?> |
| | | <ArrayOfAxisInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <AxisInfo> |
| | | <EnumAxisNo>0</EnumAxisNo> |
| | | <AxisNo>1</AxisNo> |
| | | <AxisType>SERVO</AxisType> |
| | | <Name>Y_AXIS</Name> |
| | | <HommingCmd>P30</HommingCmd> |
| | | <HomeEndCmd>P31</HomeEndCmd> |
| | | <Scale>10000</Scale> |
| | | <SWPlusLimit>920</SWPlusLimit> |
| | | <SWMinusLimit>-48</SWMinusLimit> |
| | | <Timeout>20000</Timeout> |
| | | <HommingTimeout>1200000</HommingTimeout> |
| | | <HommingSpeed>10</HommingSpeed> |
| | | <TeachList> |
| | | <Teach_Data> |
| | | <Name>Y Load Pos</Name> |
| | | <Position>400</Position> |
| | | <Speed>200</Speed> |
| | | <Accel>250</Accel> |
| | | </Teach_Data> |
| | | <Teach_Data> |
| | | <Name>Y Center Pos</Name> |
| | | <Position>240</Position> |
| | | <Speed>200</Speed> |
| | | <Accel>250</Accel> |
| | | </Teach_Data> |
| | | <Teach_Data> |
| | | <Name>Y BeamProfile Pos</Name> |
| | | <Position>225</Position> |
| | | <Speed>200</Speed> |
| | | <Accel>250</Accel> |
| | | </Teach_Data> |
| | | <Teach_Data> |
| | | <Name>Y PowerMeter Pos</Name> |
| | | <Position>180.8896</Position> |
| | | <Speed>200</Speed> |
| | | <Accel>250</Accel> |
| | | </Teach_Data> |
| | | <Teach_Data> |
| | | <Name>Y Align Pos</Name> |
| | | <Position>268.4253</Position> |
| | | <Speed>200</Speed> |
| | | <Accel>250</Accel> |
| | | </Teach_Data> |
| | | <Teach_Data> |
| | | <Name>Y Test Pos</Name> |
| | | <Position>173</Position> |
| | | <Speed>200</Speed> |
| | | <Accel>250</Accel> |
| | | </Teach_Data> |
| | | </TeachList> |
| | | </AxisInfo> |
| | | <AxisInfo> |
| | | <EnumAxisNo>1</EnumAxisNo> |
| | | <AxisNo>2</AxisNo> |
| | | <AxisType>SERVO</AxisType> |
| | | <Name>X_AXIS</Name> |
| | | <HommingCmd>P20</HommingCmd> |
| | | <HomeEndCmd>P21</HomeEndCmd> |
| | | <Scale>10000</Scale> |
| | | <SWPlusLimit>550</SWPlusLimit> |
| | | <SWMinusLimit>0</SWMinusLimit> |
| | | <Timeout>10000</Timeout> |
| | | <HommingTimeout>1200000</HommingTimeout> |
| | | <HommingSpeed>30</HommingSpeed> |
| | | <TeachList> |
| | | <Teach_Data> |
| | | <Name>X Load Pos</Name> |
| | | <Position>173</Position> |
| | | <Speed>100</Speed> |
| | | <Accel>250</Accel> |
| | | </Teach_Data> |
| | | <Teach_Data> |
| | | <Name>X Center Pos</Name> |
| | | <Position>178</Position> |
| | | <Speed>200</Speed> |
| | | <Accel>250</Accel> |
| | | </Teach_Data> |
| | | <Teach_Data> |
| | | <Name>X BeamProfile Pos</Name> |
| | | <Position>173</Position> |
| | | <Speed>200</Speed> |
| | | <Accel>250</Accel> |
| | | </Teach_Data> |
| | | <Teach_Data> |
| | | <Name>X PowerMeter Pos</Name> |
| | | <Position>-10.5846</Position> |
| | | <Speed>200</Speed> |
| | | <Accel>250</Accel> |
| | | </Teach_Data> |
| | | <Teach_Data> |
| | | <Name>X Align Pos</Name> |
| | | <Position>-20.8701</Position> |
| | | <Speed>100</Speed> |
| | | <Accel>250</Accel> |
| | | </Teach_Data> |
| | | <Teach_Data> |
| | | <Name>X Test Pos</Name> |
| | | <Position>173</Position> |
| | | <Speed>200</Speed> |
| | | <Accel>250</Accel> |
| | | </Teach_Data> |
| | | </TeachList> |
| | | </AxisInfo> |
| | | <AxisInfo> |
| | | <EnumAxisNo>2</EnumAxisNo> |
| | | <AxisNo>5</AxisNo> |
| | | <AxisType>SERVO</AxisType> |
| | | <Name>T_AXIS</Name> |
| | | <HommingCmd>P40</HommingCmd> |
| | | <HomeEndCmd>P41</HomeEndCmd> |
| | | <Scale>4062.7</Scale> |
| | | <SWPlusLimit>5</SWPlusLimit> |
| | | <SWMinusLimit>-5</SWMinusLimit> |
| | | <Timeout>20000</Timeout> |
| | | <HommingTimeout>1200000</HommingTimeout> |
| | | <HommingSpeed>1</HommingSpeed> |
| | | <TeachList> |
| | | <Teach_Data> |
| | | <Name>T Load Pos</Name> |
| | | <Position>0</Position> |
| | | <Speed>1</Speed> |
| | | <Accel>200</Accel> |
| | | </Teach_Data> |
| | | <Teach_Data> |
| | | <Name>T Center Pos</Name> |
| | | <Position>0</Position> |
| | | <Speed>1</Speed> |
| | | <Accel>200</Accel> |
| | | </Teach_Data> |
| | | <Teach_Data> |
| | | <Name>T BeamProfile Pos</Name> |
| | | <Position>0</Position> |
| | | <Speed>1</Speed> |
| | | <Accel>200</Accel> |
| | | </Teach_Data> |
| | | <Teach_Data> |
| | | <Name>T PowerMeter Pos</Name> |
| | | <Position>0</Position> |
| | | <Speed>1</Speed> |
| | | <Accel>200</Accel> |
| | | </Teach_Data> |
| | | <Teach_Data> |
| | | <Name>T Align Pos</Name> |
| | | <Position>0</Position> |
| | | <Speed>1</Speed> |
| | | <Accel>200</Accel> |
| | | </Teach_Data> |
| | | <Teach_Data> |
| | | <Name>T Test Pos</Name> |
| | | <Position>0</Position> |
| | | <Speed>1</Speed> |
| | | <Accel>200</Accel> |
| | | </Teach_Data> |
| | | </TeachList> |
| | | </AxisInfo> |
| | | </ArrayOfAxisInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0"?> |
| | | <ArrayOfAxisInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <AxisInfo> |
| | | <EnumAxisNo>0</EnumAxisNo> |
| | | <AxisNo>1</AxisNo> |
| | | <AxisType>SERVO</AxisType> |
| | | <Name>Y_AXIS</Name> |
| | | <HommingCmd>P30</HommingCmd> |
| | | <HomeEndCmd>P31</HomeEndCmd> |
| | | <Scale>10000</Scale> |
| | | <SWPlusLimit>920</SWPlusLimit> |
| | | <SWMinusLimit>-48</SWMinusLimit> |
| | | <Timeout>20000</Timeout> |
| | | <HommingTimeout>1200000</HommingTimeout> |
| | | <HommingSpeed>10</HommingSpeed> |
| | | <TeachList> |
| | | <Teach_Data> |
| | | <Name>Y Load Pos</Name> |
| | | <Position>0</Position> |
| | | <Speed>10</Speed> |
| | | <Accel>250</Accel> |
| | | </Teach_Data> |
| | | </TeachList> |
| | | </AxisInfo> |
| | | <AxisInfo> |
| | | <EnumAxisNo>1</EnumAxisNo> |
| | | <AxisNo>2</AxisNo> |
| | | <AxisType>SERVO</AxisType> |
| | | <Name>X_AXIS</Name> |
| | | <HommingCmd>P20</HommingCmd> |
| | | <HomeEndCmd>P21</HomeEndCmd> |
| | | <Scale>10000</Scale> |
| | | <SWPlusLimit>550</SWPlusLimit> |
| | | <SWMinusLimit>0</SWMinusLimit> |
| | | <Timeout>10000</Timeout> |
| | | <HommingTimeout>1200000</HommingTimeout> |
| | | <HommingSpeed>30</HommingSpeed> |
| | | <TeachList> |
| | | <Teach_Data> |
| | | <Name>X Load Pos</Name> |
| | | <Position>0</Position> |
| | | <Speed>10</Speed> |
| | | <Accel>250</Accel> |
| | | </Teach_Data> |
| | | </TeachList> |
| | | </AxisInfo> |
| | | <AxisInfo> |
| | | <EnumAxisNo>2</EnumAxisNo> |
| | | <AxisNo>5</AxisNo> |
| | | <AxisType>SERVO</AxisType> |
| | | <Name>T_AXIS</Name> |
| | | <HommingCmd>P40</HommingCmd> |
| | | <HomeEndCmd>P41</HomeEndCmd> |
| | | <Scale>40627</Scale> |
| | | <SWPlusLimit>5</SWPlusLimit> |
| | | <SWMinusLimit>-5</SWMinusLimit> |
| | | <Timeout>20000</Timeout> |
| | | <HommingTimeout>1200000</HommingTimeout> |
| | | <HommingSpeed>1</HommingSpeed> |
| | | <TeachList> |
| | | <Teach_Data> |
| | | <Name>T Load Pos</Name> |
| | | <Position>0</Position> |
| | | <Speed>1</Speed> |
| | | <Accel>200</Accel> |
| | | </Teach_Data> |
| | | </TeachList> |
| | | </AxisInfo> |
| | | </ArrayOfAxisInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <ModeParameter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <EnergyDropCheckUse>false</EnergyDropCheckUse> |
| | | <AttenuatorCalUse>false</AttenuatorCalUse> |
| | | <EnergyMeasurementUse>false</EnergyMeasurementUse> |
| | | <ShutterAlwaysUse>false</ShutterAlwaysUse> |
| | | <AlignUse>false</AlignUse> |
| | | </ModeParameter> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <SettingParameter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <EnergyDropCheckCycle>8</EnergyDropCheckCycle> |
| | | <EnergyDropCheckMeasurementTime>10</EnergyDropCheckMeasurementTime> |
| | | <EnergyDropCheckTargetAngle>40</EnergyDropCheckTargetAngle> |
| | | <EnergyDropCheckTargetEnergy>3.879</EnergyDropCheckTargetEnergy> |
| | | <EnergyDropCheckErrorOccuredRange>3</EnergyDropCheckErrorOccuredRange> |
| | | <AttenuatorCalCycle>10</AttenuatorCalCycle> |
| | | <AttenuatorCalMeasurementTime>10</AttenuatorCalMeasurementTime> |
| | | <AttenuatorCalCoolingTime>10</AttenuatorCalCoolingTime> |
| | | <AttenuatorCalStartAngle>2</AttenuatorCalStartAngle> |
| | | <AttenuatorCalEndAngle>43</AttenuatorCalEndAngle> |
| | | <AttenuatorCalAngleStep>2</AttenuatorCalAngleStep> |
| | | <EnergyMeasurementCycle>180</EnergyMeasurementCycle> |
| | | <EnergyMeasurementWaferCountCycle>5</EnergyMeasurementWaferCountCycle> |
| | | <EnergyMeasurementErrorOccuredRange>5</EnergyMeasurementErrorOccuredRange> |
| | | <EnergyMeasurementTime>10</EnergyMeasurementTime> |
| | | <EnergyMeasurmentStepAngle>0.5</EnergyMeasurmentStepAngle> |
| | | <EnergyMeasurementRetryCount>15</EnergyMeasurementRetryCount> |
| | | <EnergyMeterHeatingTime>5</EnergyMeterHeatingTime> |
| | | <BeamHeight>0.59</BeamHeight> |
| | | <BeamWidth>0.59</BeamWidth> |
| | | <CenterToVisionPositionX>28.425</CenterToVisionPositionX> |
| | | <CenterToVisionPositionY>-198.87</CenterToVisionPositionY> |
| | | <VisionTimeOut>5</VisionTimeOut> |
| | | <VisionHeartBeatTimeOut>3</VisionHeartBeatTimeOut> |
| | | </SettingParameter> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <SystemParameter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <ScannerFOV>0</ScannerFOV> |
| | | <BitsPerMM>0</BitsPerMM> |
| | | <EncoderCountPerMmX>0</EncoderCountPerMmX> |
| | | <EncoderCountPerMmY>0</EncoderCountPerMmY> |
| | | <HalfPeriod>0</HalfPeriod> |
| | | <PulseLength>0</PulseLength> |
| | | <TimeBase>0</TimeBase> |
| | | <JumpDelay>0</JumpDelay> |
| | | <MarkDelay>0</MarkDelay> |
| | | <PolygonDelay>0</PolygonDelay> |
| | | <LaserOnDelay>0</LaserOnDelay> |
| | | <LaserOffDelay>0</LaserOffDelay> |
| | | <JumpSpeed>0</JumpSpeed> |
| | | <MarkSpeed>0</MarkSpeed> |
| | | </SystemParameter> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <Scanner xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <CorrectionFilePath>C:\SA_LTT\Config\Cor1746.ct5</CorrectionFilePath> |
| | | <IsInitialized>true</IsInitialized> |
| | | <IsBusy>false</IsBusy> |
| | | <Encoder0>0</Encoder0> |
| | | <Encoder1>0</Encoder1> |
| | | <EncoderCountPerMmX>0</EncoderCountPerMmX> |
| | | <EncoderCountPerMmY>10000</EncoderCountPerMmY> |
| | | <FOV>84.842</FOV> |
| | | <HalfPeriod>32000</HalfPeriod> |
| | | <PulseLength1>5</PulseLength1> |
| | | <TimeBase>0</TimeBase> |
| | | <JumpDelay>10</JumpDelay> |
| | | <MarkDelay>10</MarkDelay> |
| | | <PolygonDelay>10</PolygonDelay> |
| | | <LaserOnDelay>-775</LaserOnDelay> |
| | | <LaserOffDelay>100</LaserOffDelay> |
| | | <IsPosition>14</IsPosition> |
| | | <XGain>1</XGain> |
| | | <YGain>1</YGain> |
| | | <IsLaserOn>false</IsLaserOn> |
| | | </Scanner> |
»õ ÆÄÀÏ |
| | |
| | | 0, 0 |
| | | 2, 0 |
| | | 4, 0.0007 |
| | | 6, 0.0012 |
| | | 8, 0.0017 |
| | | 10, 0.0024 |
| | | 12, 0.0032 |
| | | 14, 0.004 |
| | | 16, 0.005 |
| | | 18, 0.006 |
| | | 20, 0.0071 |
| | | 22, 0.0081 |
| | | 24, 0.0092 |
| | | 26, 0.0103 |
| | | 28, 0.0114 |
| | | 30, 0.0123 |
| | | 32, 0.0132 |
| | | 34, 0.014 |
| | | 36, 0.0146 |
| | | 38, 0.0151 |
| | | 40, 0.0155 |
| | | 42, 0.0156 |
| | | 43, 0.0157 |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <AttenuatorCalInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <_attenuatorCalDatas> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>2</AttenuatorAngle> |
| | | <Energy>0</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>4</AttenuatorAngle> |
| | | <Energy>0.000646</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>6</AttenuatorAngle> |
| | | <Energy>0.0010116</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>8</AttenuatorAngle> |
| | | <Energy>0.0014726</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>10</AttenuatorAngle> |
| | | <Energy>0.0019965</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>12</AttenuatorAngle> |
| | | <Energy>0.0026162</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>14</AttenuatorAngle> |
| | | <Energy>0.0032963</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>16</AttenuatorAngle> |
| | | <Energy>0.0040097</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>18</AttenuatorAngle> |
| | | <Energy>0.0047834</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>20</AttenuatorAngle> |
| | | <Energy>0.0055615</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>22</AttenuatorAngle> |
| | | <Energy>0.0063731</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>24</AttenuatorAngle> |
| | | <Energy>0.0071533</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>26</AttenuatorAngle> |
| | | <Energy>0.0079236</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>28</AttenuatorAngle> |
| | | <Energy>0.0086652</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>30</AttenuatorAngle> |
| | | <Energy>0.0093515</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>32</AttenuatorAngle> |
| | | <Energy>0.0099759</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>34</AttenuatorAngle> |
| | | <Energy>0.0105088</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>36</AttenuatorAngle> |
| | | <Energy>0.0109515</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>38</AttenuatorAngle> |
| | | <Energy>0.0112964</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>40</AttenuatorAngle> |
| | | <Energy>0.0115174</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>42</AttenuatorAngle> |
| | | <Energy>0.0116034</Energy> |
| | | </AttenuatorCalData> |
| | | <AttenuatorCalData> |
| | | <AttenuatorAngle>43</AttenuatorAngle> |
| | | <Energy>0.0116261</Energy> |
| | | </AttenuatorCalData> |
| | | </_attenuatorCalDatas> |
| | | </AttenuatorCalInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <EquipmentInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <EnergyDropCheckDate>2023-01-20T01:29:46.7296286+09:00</EnergyDropCheckDate> |
| | | <AttenuatorCalDate>2023-03-14T11:10:11.1635543+09:00</AttenuatorCalDate> |
| | | </EquipmentInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <FoupRecipe xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <Name>TEST</Name> |
| | | <RecipeNames> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string>AAA</string> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | <string xsi:nil="true" /> |
| | | </RecipeNames> |
| | | </FoupRecipe> |
»õ ÆÄÀÏ |
ºñ±³Çϱ⿡ ³Ê¹« Å |
»õ ÆÄÀÏ |
ºñ±³Çϱ⿡ ³Ê¹« Å |
»õ ÆÄÀÏ |
ºñ±³Çϱ⿡ ³Ê¹« Å |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <Recipe xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <Name>AA</Name> |
| | | <Radius>75</Radius> |
| | | <DistanceFromCenterToPrimaryFlat>30</DistanceFromCenterToPrimaryFlat> |
| | | <ProcessInfoList /> |
| | | </Recipe> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <Recipe xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <Name>AAA</Name> |
| | | <Radius>75</Radius> |
| | | <DistanceFromCenterToPrimaryFlat>70</DistanceFromCenterToPrimaryFlat> |
| | | <EdgeRound>0</EdgeRound> |
| | | <BeamWidth>0.53</BeamWidth> |
| | | <BeamHeight>0.53</BeamHeight> |
| | | <ProcessInfoList> |
| | | <ProcessInfo> |
| | | <Radius>75</Radius> |
| | | <DistanceFromCenterToPrimaryFlat>70</DistanceFromCenterToPrimaryFlat> |
| | | <EdgeRound>0</EdgeRound> |
| | | <StartX>21.375</StartX> |
| | | <StartY>33.375</StartY> |
| | | <Width>24.75</Width> |
| | | <Height>22.2599983</Height> |
| | | <ProcessStartX>21.375</ProcessStartX> |
| | | <ProcessStartY>33.375</ProcessStartY> |
| | | <ProcessEndX>46.125</ProcessEndX> |
| | | <ProcessEndY>11.115</ProcessEndY> |
| | | <BeamWidth>0.53</BeamWidth> |
| | | <BeamHeight>0.53</BeamHeight> |
| | | <BeamHeightOverlap>0</BeamHeightOverlap> |
| | | <BeamWidthOverlap>0</BeamWidthOverlap> |
| | | <Energy>0.2</Energy> |
| | | <IsProcessEnable>true</IsProcessEnable> |
| | | <ProcessLength>1080.53</ProcessLength> |
| | | <AccTime>0</AccTime> |
| | | <ProcessList> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>21.375</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>21.375</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>21.905</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>21.905</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>22.435</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>22.435</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>22.965</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>22.965</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>23.495</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>23.495</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>24.025</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>24.025</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>24.555</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>24.555</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>25.085</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>25.085</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>25.615</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>25.615</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>26.145</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>26.145</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>26.675</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>26.675</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>27.205</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>27.205</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>27.735</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>27.735</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>28.265</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>28.265</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>28.795</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>28.795</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>29.325</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>29.325</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>29.855</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>29.855</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>30.385</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>30.385</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>30.915</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>30.915</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>31.445</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>31.445</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>31.975</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>31.975</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>32.505</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>32.505</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>33.035</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>33.035</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>33.565</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>33.565</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>34.095</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>34.095</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>34.625</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>34.625</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>35.155</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>35.155</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>35.685</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>35.685</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>36.215</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>36.215</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>36.745</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>36.745</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>37.275</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>37.275</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>37.805</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>37.805</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>38.335</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>38.335</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>38.865</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>38.865</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>39.395</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>39.395</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>39.925</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>39.925</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>40.455</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>40.455</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>40.985</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>40.985</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>41.515</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>41.515</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>42.045</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>42.045</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>42.575</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>42.575</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>43.105</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>43.105</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>43.635</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>43.635</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>44.165</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>44.165</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>44.695</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>44.695</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>45.225</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>45.225</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>45.755</X> |
| | | <Y>33.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>45.755</X> |
| | | <Y>11.115</Y> |
| | | </Coord> |
| | | </ProcessList> |
| | | </ProcessInfo> |
| | | <ProcessInfo> |
| | | <Radius>75</Radius> |
| | | <DistanceFromCenterToPrimaryFlat>70</DistanceFromCenterToPrimaryFlat> |
| | | <EdgeRound>0</EdgeRound> |
| | | <StartX>-39.75</StartX> |
| | | <StartY>34.875</StartY> |
| | | <Width>23.625</Width> |
| | | <Height>21.1999989</Height> |
| | | <ProcessStartX>-39.75</ProcessStartX> |
| | | <ProcessStartY>34.875</ProcessStartY> |
| | | <ProcessEndX>-16.125</ProcessEndX> |
| | | <ProcessEndY>13.675</ProcessEndY> |
| | | <BeamWidth>0.53</BeamWidth> |
| | | <BeamHeight>0.53</BeamHeight> |
| | | <BeamHeightOverlap>0</BeamHeightOverlap> |
| | | <BeamWidthOverlap>0</BeamWidthOverlap> |
| | | <Energy>0.2</Energy> |
| | | <IsProcessEnable>true</IsProcessEnable> |
| | | <ProcessLength>986.85</ProcessLength> |
| | | <AccTime>0</AccTime> |
| | | <ProcessList> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-39.75</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-39.75</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-39.22</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-39.22</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-38.69</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-38.69</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-38.16</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-38.16</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-37.63</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-37.63</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-37.1</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-37.1</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-36.57</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-36.57</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-36.04</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-36.04</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-35.51</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-35.51</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-34.98</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-34.98</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-34.45</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-34.45</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-33.92</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-33.92</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-33.39</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-33.39</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-32.86</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-32.86</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-32.33</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-32.33</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-31.8</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-31.8</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-31.27</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-31.27</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-30.74</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-30.74</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-30.21</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-30.21</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-29.68</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-29.68</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-29.15</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-29.15</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-28.62</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-28.62</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-28.09</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-28.09</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-27.56</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-27.56</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-27.03</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-27.03</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-26.5</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-26.5</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-25.97</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-25.97</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-25.44</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-25.44</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-24.91</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-24.91</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-24.38</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-24.38</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-23.85</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-23.85</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-23.32</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-23.32</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-22.79</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-22.79</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-22.26</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-22.26</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-21.73</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-21.73</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-21.2</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-21.2</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-20.67</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-20.67</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-20.14</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-20.14</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-19.61</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-19.61</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-19.08</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-19.08</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-18.55</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-18.55</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-18.02</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-18.02</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-17.49</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-17.49</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-16.96</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-16.96</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-16.43</X> |
| | | <Y>34.875</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-16.43</X> |
| | | <Y>13.675</Y> |
| | | </Coord> |
| | | </ProcessList> |
| | | </ProcessInfo> |
| | | <ProcessInfo> |
| | | <Radius>75</Radius> |
| | | <DistanceFromCenterToPrimaryFlat>70</DistanceFromCenterToPrimaryFlat> |
| | | <EdgeRound>0</EdgeRound> |
| | | <StartX>-39.75</StartX> |
| | | <StartY>-28.5</StartY> |
| | | <Width>22.125</Width> |
| | | <Height>19.6099987</Height> |
| | | <ProcessStartX>-39.75</ProcessStartX> |
| | | <ProcessStartY>-28.5</ProcessStartY> |
| | | <ProcessEndX>-17.625</ProcessEndX> |
| | | <ProcessEndY>-48.11</ProcessEndY> |
| | | <BeamWidth>0.53</BeamWidth> |
| | | <BeamHeight>0.53</BeamHeight> |
| | | <BeamHeightOverlap>0</BeamHeightOverlap> |
| | | <BeamWidthOverlap>0</BeamWidthOverlap> |
| | | <Energy>0.2</Energy> |
| | | <IsProcessEnable>true</IsProcessEnable> |
| | | <ProcessLength>854.28</ProcessLength> |
| | | <AccTime>0</AccTime> |
| | | <ProcessList> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-39.75</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-39.75</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-39.22</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-39.22</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-38.69</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-38.69</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-38.16</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-38.16</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-37.63</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-37.63</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-37.1</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-37.1</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-36.57</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-36.57</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-36.04</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-36.04</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-35.51</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-35.51</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-34.98</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-34.98</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-34.45</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-34.45</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-33.92</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-33.92</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-33.39</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-33.39</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-32.86</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-32.86</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-32.33</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-32.33</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-31.8</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-31.8</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-31.27</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-31.27</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-30.74</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-30.74</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-30.21</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-30.21</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-29.68</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-29.68</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-29.15</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-29.15</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-28.62</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-28.62</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-28.09</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-28.09</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-27.56</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-27.56</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-27.03</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-27.03</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-26.5</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-26.5</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-25.97</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-25.97</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-25.44</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-25.44</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-24.91</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-24.91</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-24.38</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-24.38</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-23.85</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-23.85</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-23.32</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-23.32</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-22.79</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-22.79</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-22.26</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-22.26</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-21.73</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-21.73</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-21.2</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-21.2</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-20.67</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-20.67</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-20.14</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-20.14</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-19.61</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-19.61</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-19.08</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-19.08</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-18.55</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-18.55</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-18.02</X> |
| | | <Y>-48.11</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-18.02</X> |
| | | <Y>-28.5</Y> |
| | | </Coord> |
| | | </ProcessList> |
| | | </ProcessInfo> |
| | | <ProcessInfo> |
| | | <Radius>75</Radius> |
| | | <DistanceFromCenterToPrimaryFlat>70</DistanceFromCenterToPrimaryFlat> |
| | | <EdgeRound>0</EdgeRound> |
| | | <StartX>14.625</StartX> |
| | | <StartY>-15.375</StartY> |
| | | <Width>21</Width> |
| | | <Height>18.55</Height> |
| | | <ProcessStartX>14.625</ProcessStartX> |
| | | <ProcessStartY>-15.375</ProcessStartY> |
| | | <ProcessEndX>35.625</ProcessEndX> |
| | | <ProcessEndY>-33.925</ProcessEndY> |
| | | <BeamWidth>0.53</BeamWidth> |
| | | <BeamHeight>0.53</BeamHeight> |
| | | <BeamHeightOverlap>0</BeamHeightOverlap> |
| | | <BeamWidthOverlap>0</BeamWidthOverlap> |
| | | <Energy>0.2</Energy> |
| | | <IsProcessEnable>true</IsProcessEnable> |
| | | <ProcessLength>771.2</ProcessLength> |
| | | <AccTime>0.036377360400291311</AccTime> |
| | | <ProcessList> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>14.625</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>14.625</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>15.155</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>15.155</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>15.685</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>15.685</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>16.215</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>16.215</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>16.745</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>16.745</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>17.275</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>17.275</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>17.805</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>17.805</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>18.335</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>18.335</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>18.865</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>18.865</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>19.395</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>19.395</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>19.925</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>19.925</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>20.455</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>20.455</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>20.985</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>20.985</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>21.515</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>21.515</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>22.045</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>22.045</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>22.575</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>22.575</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>23.105</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>23.105</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>23.635</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>23.635</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>24.165</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>24.165</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>24.695</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>24.695</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>25.225</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>25.225</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>25.755</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>25.755</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>26.285</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>26.285</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>26.815</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>26.815</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>27.345</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>27.345</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>27.875</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>27.875</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>28.405</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>28.405</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>28.935</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>28.935</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>29.465</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>29.465</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>29.995</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>29.995</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>30.525</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>30.525</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>31.055</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>31.055</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>31.585</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>31.585</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>32.115</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>32.115</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>32.645</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>32.645</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>33.175</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>33.175</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>33.705</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>33.705</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>34.235</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>34.235</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>34.765</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>34.765</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>35.295</X> |
| | | <Y>-33.925</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>35.295</X> |
| | | <Y>-15.375</Y> |
| | | </Coord> |
| | | </ProcessList> |
| | | </ProcessInfo> |
| | | </ProcessInfoList> |
| | | </Recipe> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <Recipe xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <Name>BB</Name> |
| | | <Radius>75</Radius> |
| | | <DistanceFromCenterToPrimaryFlat>70</DistanceFromCenterToPrimaryFlat> |
| | | <EdgeRound>0</EdgeRound> |
| | | <BeamWidth>0.7</BeamWidth> |
| | | <BeamHeight>0.7</BeamHeight> |
| | | <ProcessInfoList> |
| | | <ProcessInfo> |
| | | <Radius>75</Radius> |
| | | <DistanceFromCenterToPrimaryFlat>70</DistanceFromCenterToPrimaryFlat> |
| | | <EdgeRound>0</EdgeRound> |
| | | <StartX>-49.125</StartX> |
| | | <StartY>38.25</StartY> |
| | | <Width>100</Width> |
| | | <Height>30.1</Height> |
| | | <ProcessStartX>-49.125</ProcessStartX> |
| | | <ProcessStartY>38.25</ProcessStartY> |
| | | <ProcessEndX>50.875</ProcessEndX> |
| | | <ProcessEndY>8.15</ProcessEndY> |
| | | <BeamWidth>0.7</BeamWidth> |
| | | <BeamHeight>0.7</BeamHeight> |
| | | <BeamHeightOverlap>0.35</BeamHeightOverlap> |
| | | <BeamWidthOverlap>0.35</BeamWidthOverlap> |
| | | <Energy>1</Energy> |
| | | <IsProcessEnable>true</IsProcessEnable> |
| | | <ProcessLength>8765.9</ProcessLength> |
| | | <AccTime>0</AccTime> |
| | | <ProcessList> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-49.125</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-49.125</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-48.775</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-48.775</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-48.425</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-48.425</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-48.075</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-48.075</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-47.725</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-47.725</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-47.375</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-47.375</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-47.025</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-47.025</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-46.675</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-46.675</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-46.325</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-46.325</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-45.975</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-45.975</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-45.625</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-45.625</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-45.275</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-45.275</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-44.925</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-44.925</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-44.575</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-44.575</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-44.225</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-44.225</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-43.875</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-43.875</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-43.525</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-43.525</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-43.175</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-43.175</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-42.825</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-42.825</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-42.475</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-42.475</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-42.125</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-42.125</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-41.775</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-41.775</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-41.425</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-41.425</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-41.075</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-41.075</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-40.725</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-40.725</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-40.375</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-40.375</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-40.025</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-40.025</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-39.675</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-39.675</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-39.325</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-39.325</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-38.975</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-38.975</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-38.625</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-38.625</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-38.275</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-38.275</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-37.925</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-37.925</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-37.575</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-37.575</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-37.225</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-37.225</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-36.875</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-36.875</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-36.525</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-36.525</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-36.175</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-36.175</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-35.825</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-35.825</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-35.475</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-35.475</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-35.125</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-35.125</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-34.775</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-34.775</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-34.425</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-34.425</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-34.075</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-34.075</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-33.725</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-33.725</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-33.375</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-33.375</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-33.025</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-33.025</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-32.675</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-32.675</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-32.325</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-32.325</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-31.975</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-31.975</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-31.625</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-31.625</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-31.275</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-31.275</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-30.925</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-30.925</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-30.575</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-30.575</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-30.225</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-30.225</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-29.875</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-29.875</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-29.525</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-29.525</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-29.175</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-29.175</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-28.825</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-28.825</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-28.475</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-28.475</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-28.125</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-28.125</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-27.775</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-27.775</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-27.425</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-27.425</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-27.075</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-27.075</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-26.725</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-26.725</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-26.375</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-26.375</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-26.025</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-26.025</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-25.675</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-25.675</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-25.325</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-25.325</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-24.975</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-24.975</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-24.625</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-24.625</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-24.275</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-24.275</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-23.925</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-23.925</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-23.575</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-23.575</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-23.225</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-23.225</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-22.875</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-22.875</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-22.525</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-22.525</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-22.175</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-22.175</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-21.825</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-21.825</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-21.475</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-21.475</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-21.125</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-21.125</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-20.775</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-20.775</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-20.425</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-20.425</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-20.075</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-20.075</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-19.725</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-19.725</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-19.375</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-19.375</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-19.025</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-19.025</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-18.675</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-18.675</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-18.325</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-18.325</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-17.975</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-17.975</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-17.625</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-17.625</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-17.275</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-17.275</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-16.925</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-16.925</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-16.575</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-16.575</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-16.225</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-16.225</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-15.875</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-15.875</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-15.525</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-15.525</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-15.175</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-15.175</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-14.825</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-14.825</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-14.475</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-14.475</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-14.125</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-14.125</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-13.775</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-13.775</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-13.425</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-13.425</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-13.075</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-13.075</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-12.725</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-12.725</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-12.375</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-12.375</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-12.025</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-12.025</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-11.675</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-11.675</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-11.325</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-11.325</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-10.975</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-10.975</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-10.625</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-10.625</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-10.275</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-10.275</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-9.925</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-9.925</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-9.575</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-9.575</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-9.225</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-9.225</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-8.875</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-8.875</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-8.525</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-8.525</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-8.175</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-8.175</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-7.825</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-7.825</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-7.475</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-7.475</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-7.125</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-7.125</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-6.775</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-6.775</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-6.425</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-6.425</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-6.075</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-6.075</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-5.725</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-5.725</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-5.375</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-5.375</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-5.025</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-5.025</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-4.675</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-4.675</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-4.325</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-4.325</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-3.975</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-3.975</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-3.625</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-3.625</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-3.275</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-3.275</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-2.925</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-2.925</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-2.575</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-2.575</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-2.225</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-2.225</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-1.875</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-1.875</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-1.525</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-1.525</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-1.175</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-1.175</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-0.825</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-0.825</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-0.475</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-0.475</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>-0.125</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>-0.125</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>0.225</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>0.225</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>0.575</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>0.575</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>0.925</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>0.925</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>1.275</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>1.275</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>1.625</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>1.625</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>1.975</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>1.975</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>2.325</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>2.325</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>2.675</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>2.675</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>3.025</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>3.025</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>3.375</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>3.375</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>3.725</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>3.725</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>4.075</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>4.075</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>4.425</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>4.425</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>4.775</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>4.775</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>5.125</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>5.125</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>5.475</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>5.475</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>5.825</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>5.825</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>6.175</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>6.175</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>6.525</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>6.525</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>6.875</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>6.875</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>7.225</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>7.225</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>7.575</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>7.575</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>7.925</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>7.925</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>8.275</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>8.275</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>8.625</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>8.625</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>8.975</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>8.975</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>9.325</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>9.325</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>9.675</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>9.675</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>10.025</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>10.025</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>10.375</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>10.375</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>10.725</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>10.725</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>11.075</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>11.075</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>11.425</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>11.425</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>11.775</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>11.775</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>12.125</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>12.125</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>12.475</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>12.475</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>12.825</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>12.825</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>13.175</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>13.175</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>13.525</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>13.525</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>13.875</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>13.875</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>14.225</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>14.225</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>14.575</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>14.575</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>14.925</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>14.925</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>15.275</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>15.275</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>15.625</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>15.625</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>15.975</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>15.975</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>16.325</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>16.325</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>16.675</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>16.675</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>17.025</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>17.025</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>17.375</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>17.375</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>17.725</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>17.725</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>18.075</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>18.075</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>18.425</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>18.425</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>18.775</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>18.775</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>19.125</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>19.125</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>19.475</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>19.475</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>19.825</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>19.825</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>20.175</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>20.175</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>20.525</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>20.525</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>20.875</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>20.875</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>21.225</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>21.225</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>21.575</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>21.575</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>21.925</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>21.925</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>22.275</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>22.275</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>22.625</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>22.625</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>22.975</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>22.975</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>23.325</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>23.325</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>23.675</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>23.675</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>24.025</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>24.025</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>24.375</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>24.375</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>24.725</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>24.725</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>25.075</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>25.075</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>25.425</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>25.425</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>25.775</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>25.775</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>26.125</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>26.125</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>26.475</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>26.475</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>26.825</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>26.825</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>27.175</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>27.175</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>27.525</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>27.525</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>27.875</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>27.875</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>28.225</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>28.225</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>28.575</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>28.575</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>28.925</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>28.925</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>29.275</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>29.275</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>29.625</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>29.625</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>29.975</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>29.975</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>30.325</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>30.325</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>30.675</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>30.675</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>31.025</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>31.025</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>31.375</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>31.375</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>31.725</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>31.725</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>32.075</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>32.075</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>32.425</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>32.425</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>32.775</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>32.775</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>33.125</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>33.125</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>33.475</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>33.475</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>33.825</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>33.825</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>34.175</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>34.175</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>34.525</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>34.525</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>34.875</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>34.875</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>35.225</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>35.225</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>35.575</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>35.575</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>35.925</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>35.925</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>36.275</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>36.275</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>36.625</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>36.625</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>36.975</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>36.975</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>37.325</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>37.325</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>37.675</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>37.675</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>38.025</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>38.025</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>38.375</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>38.375</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>38.725</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>38.725</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>39.075</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>39.075</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>39.425</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>39.425</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>39.775</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>39.775</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>40.125</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>40.125</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>40.475</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>40.475</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>40.825</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>40.825</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>41.175</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>41.175</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>41.525</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>41.525</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>41.875</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>41.875</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>42.225</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>42.225</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>42.575</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>42.575</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>42.925</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>42.925</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>43.275</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>43.275</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>43.625</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>43.625</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>43.975</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>43.975</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>44.325</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>44.325</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>44.675</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>44.675</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>45.025</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>45.025</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>45.375</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>45.375</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>45.725</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>45.725</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>46.075</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>46.075</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>46.425</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>46.425</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>46.775</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>46.775</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>47.125</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>47.125</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>47.475</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>47.475</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>47.825</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>47.825</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>48.175</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>48.175</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>48.525</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>48.525</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>48.875</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>48.875</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>49.225</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>49.225</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>49.575</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>49.575</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>49.925</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>49.925</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>50.275</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>50.275</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>JUMP</ScanMode> |
| | | <X>50.625</X> |
| | | <Y>8.15</Y> |
| | | </Coord> |
| | | <Coord> |
| | | <ScanMode>MARK</ScanMode> |
| | | <X>50.625</X> |
| | | <Y>38.25</Y> |
| | | </Coord> |
| | | </ProcessList> |
| | | </ProcessInfo> |
| | | </ProcessInfoList> |
| | | </Recipe> |
»õ ÆÄÀÏ |
ºñ±³Çϱ⿡ ³Ê¹« Å |
»õ ÆÄÀÏ |
ºñ±³Çϱ⿡ ³Ê¹« Å |
»õ ÆÄÀÏ |
ºñ±³Çϱ⿡ ³Ê¹« Å |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <User xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <Name>1</Name> |
| | | <Password>1</Password> |
| | | <Level>Engineer</Level> |
| | | </User> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <User xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <Name>DIT</Name> |
| | | <Password>1234</Password> |
| | | <Level>Master</Level> |
| | | </User> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <User xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <Name>Operator</Name> |
| | | <Password>1234</Password> |
| | | <Level>Operator</Level> |
| | | </User> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A1</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A10</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A11</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A12</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A13</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A14</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A15</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A16</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A17</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A18</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A19</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A2</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A20</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A21</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A22</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A23</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A24</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A25</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A3</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A4</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A5</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>A1</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A7</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A8</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <SourceNumber>A9</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B1</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B10</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B11</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B12</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B13</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B14</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B15</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B16</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B17</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B18</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B19</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B2</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B20</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B21</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B22</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B23</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B24</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B25</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B3</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B4</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B5</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B6</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B7</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B8</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>B9</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>true</IsFlip> |
| | | <IsProcessComplete>true</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName>AAA</RecipeName> |
| | | <SourceNumber>A6</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Exist</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Leaning</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Leaning</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>A1</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <WaferInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | | <IsStatus>Empty</IsStatus> |
| | | <IsFlip>false</IsFlip> |
| | | <IsProcessComplete>false</IsProcessComplete> |
| | | <CarrierID /> |
| | | <LotID /> |
| | | <RecipeName /> |
| | | <SourceNumber>A1</SourceNumber> |
| | | </WaferInfo> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| | | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> |
| | | <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> |
| | | <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> |
| | | <security> |
| | | <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> |
| | | <requestedExecutionLevel level="asInvoker" uiAccess="false"/> |
| | | </requestedPrivileges> |
| | | </security> |
| | | </trustInfo> |
| | | </assembly> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| | | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> |
| | | <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> |
| | | <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> |
| | | <security> |
| | | <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> |
| | | <requestedExecutionLevel level="asInvoker" uiAccess="false"/> |
| | | </requestedPrivileges> |
| | | </security> |
| | | </trustInfo> |
| | | </assembly> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| | | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> |
| | | <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> |
| | | <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> |
| | | <security> |
| | | <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> |
| | | <requestedExecutionLevel level="asInvoker" uiAccess="false"/> |
| | | </requestedPrivileges> |
| | | </security> |
| | | </trustInfo> |
| | | </assembly> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| | | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> |
| | | <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> |
| | | <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> |
| | | <security> |
| | | <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> |
| | | <requestedExecutionLevel level="asInvoker" uiAccess="false"/> |
| | | </requestedPrivileges> |
| | | </security> |
| | | </trustInfo> |
| | | </assembly> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| | | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> |
| | | <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> |
| | | <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> |
| | | <security> |
| | | <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> |
| | | <requestedExecutionLevel level="asInvoker" uiAccess="false"/> |
| | | </requestedPrivileges> |
| | | </security> |
| | | </trustInfo> |
| | | </assembly> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| | | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> |
| | | <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> |
| | | <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> |
| | | <security> |
| | | <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> |
| | | <requestedExecutionLevel level="asInvoker" uiAccess="false"/> |
| | | </requestedPrivileges> |
| | | </security> |
| | | </trustInfo> |
| | | </assembly> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| | | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> |
| | | <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> |
| | | <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> |
| | | <security> |
| | | <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> |
| | | <requestedExecutionLevel level="asInvoker" uiAccess="false"/> |
| | | </requestedPrivileges> |
| | | </security> |
| | | </trustInfo> |
| | | </assembly> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| | | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> |
| | | <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> |
| | | <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> |
| | | <security> |
| | | <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> |
| | | <requestedExecutionLevel level="asInvoker" uiAccess="false"/> |
| | | </requestedPrivileges> |
| | | </security> |
| | | </trustInfo> |
| | | </assembly> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| | | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> |
| | | <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> |
| | | <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> |
| | | <security> |
| | | <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> |
| | | <requestedExecutionLevel level="asInvoker" uiAccess="false"/> |
| | | </requestedPrivileges> |
| | | </security> |
| | | </trustInfo> |
| | | </assembly> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| | | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> |
| | | <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> |
| | | <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> |
| | | <security> |
| | | <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> |
| | | <requestedExecutionLevel level="asInvoker" uiAccess="false"/> |
| | | </requestedPrivileges> |
| | | </security> |
| | | </trustInfo> |
| | | </assembly> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| | | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> |
| | | <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> |
| | | <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> |
| | | <security> |
| | | <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> |
| | | <requestedExecutionLevel level="asInvoker" uiAccess="false"/> |
| | | </requestedPrivileges> |
| | | </security> |
| | | </trustInfo> |
| | | </assembly> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| | | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> |
| | | <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> |
| | | <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> |
| | | <security> |
| | | <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> |
| | | <requestedExecutionLevel level="asInvoker" uiAccess="false"/> |
| | | </requestedPrivileges> |
| | | </security> |
| | | </trustInfo> |
| | | </assembly> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| | | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> |
| | | <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> |
| | | <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> |
| | | <security> |
| | | <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> |
| | | <requestedExecutionLevel level="asInvoker" uiAccess="false"/> |
| | | </requestedPrivileges> |
| | | </security> |
| | | </trustInfo> |
| | | </assembly> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| | | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> |
| | | <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> |
| | | <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> |
| | | <security> |
| | | <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> |
| | | <requestedExecutionLevel level="asInvoker" uiAccess="false"/> |
| | | </requestedPrivileges> |
| | | </security> |
| | | </trustInfo> |
| | | </assembly> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8" ?> |
| | | <configuration> |
| | | <startup> |
| | | <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> |
| | | </startup> |
| | | </configuration> |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| | | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> |
| | | <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> |
| | | <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> |
| | | <security> |
| | | <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> |
| | | <requestedExecutionLevel level="asInvoker" uiAccess="false"/> |
| | | </requestedPrivileges> |
| | | </security> |
| | | </trustInfo> |
| | | </assembly> |
»õ ÆÄÀÏ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace SA_LTT.Alarm |
| | | { |
| | | public class Alarm |
| | | { |
| | | public Alarm() |
| | | { |
| | | |
| | | } |
| | | |
| | | AlarmCode _code; |
| | | string _description; |
| | | AlarmLevel _level; |
| | | bool _use; |
| | | DateTime _occurredTime; |
| | | |
| | | public AlarmCode Code |
| | | { |
| | | get |
| | | { |
| | | return _code; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _code = value; |
| | | } |
| | | } |
| | | |
| | | public string Description |
| | | { |
| | | get |
| | | { |
| | | return _description; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _description = value; |
| | | } |
| | | } |
| | | |
| | | public bool Heavy |
| | | { |
| | | get |
| | | { |
| | | return _level == AlarmLevel.Heavy; |
| | | } |
| | | set |
| | | { |
| | | if (value == true) |
| | | { |
| | | _level = AlarmLevel.Heavy; |
| | | } |
| | | else |
| | | { |
| | | _level = AlarmLevel.Light; |
| | | } |
| | | } |
| | | } |
| | | |
| | | public bool Light |
| | | { |
| | | get |
| | | { |
| | | return _level == AlarmLevel.Light; |
| | | } |
| | | set |
| | | { |
| | | if (value == true) |
| | | { |
| | | _level = AlarmLevel.Light; |
| | | } |
| | | else |
| | | { |
| | | _level = AlarmLevel.Heavy; |
| | | } |
| | | } |
| | | } |
| | | |
| | | public AlarmLevel Level |
| | | { |
| | | get |
| | | { |
| | | return _level; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _level = value; |
| | | } |
| | | } |
| | | |
| | | public bool Use |
| | | { |
| | | get |
| | | { |
| | | return _use; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _use = value; |
| | | } |
| | | } |
| | | |
| | | public DateTime OccurredTime |
| | | { |
| | | get |
| | | { |
| | | return _occurredTime; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _occurredTime = value; |
| | | } |
| | | } |
| | | |
| | | public Alarm Clone() |
| | | { |
| | | Alarm clone = new Alarm(); |
| | | |
| | | clone.Code = this.Code; |
| | | clone.Description = this.Description; |
| | | clone.Level = this.Level; |
| | | clone.Use = this.Use; |
| | | clone.OccurredTime = this.OccurredTime; |
| | | |
| | | return clone; |
| | | } |
| | | |
| | | public static bool operator == (Alarm alarm1, Alarm alarm2) |
| | | { |
| | | bool result = true; |
| | | |
| | | result &= alarm1.Code == alarm2.Code; |
| | | result &= alarm1.Description == alarm2.Description; |
| | | result &= alarm1.Heavy == alarm2.Heavy; |
| | | result &= alarm1.Light == alarm2.Light; |
| | | result &= alarm1.Level == alarm2.Level; |
| | | result &= alarm1.Use == alarm2.Use; |
| | | |
| | | return result; |
| | | } |
| | | |
| | | public static bool operator != (Alarm alarm1, Alarm alarm2) |
| | | { |
| | | bool result = true; |
| | | |
| | | result &= alarm1.Code == alarm2.Code; |
| | | result &= alarm1.Description == alarm2.Description; |
| | | result &= alarm1.Heavy == alarm2.Heavy; |
| | | result &= alarm1.Light == alarm2.Light; |
| | | result &= alarm1.Level == alarm2.Level; |
| | | result &= alarm1.Use == alarm2.Use; |
| | | |
| | | return !result; |
| | | } |
| | | |
| | | public override bool Equals(object obj) |
| | | { |
| | | return base.Equals(obj); |
| | | } |
| | | |
| | | public override int GetHashCode() |
| | | { |
| | | return base.GetHashCode(); |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace SA_LTT |
| | | { |
| | | public enum AlarmCode |
| | | { |
| | | AL_0000_, |
| | | AL_0001_EMO_STOP_1, |
| | | AL_0002_EMO_STOP_2, |
| | | AL_0003_EMO_STOP_3, |
| | | AL_0004_EMO_STOP_4, |
| | | AL_0005_SMOKE_DETECTOR_ON, |
| | | AL_0006_, |
| | | AL_0007_, |
| | | AL_0008_, |
| | | AL_0009_, |
| | | AL_0010_DOOR_OPEN_1, |
| | | AL_0011_DOOR_OPEN_2, |
| | | AL_0012_DOOR_OPEN_3, |
| | | AL_0013_DOOR_OPEN_4, |
| | | AL_0014_DOOR_OPEN_CP, |
| | | AL_0015_, |
| | | AL_0016_, |
| | | AL_0017_, |
| | | AL_0018_, |
| | | AL_0019_, |
| | | AL_0020_SERVO_MC_OFF, |
| | | AL_0021_VACUUM_MC_OFF, |
| | | AL_0022_, |
| | | AL_0023_, |
| | | AL_0024_, |
| | | AL_0025_, |
| | | AL_0026_, |
| | | AL_0027_, |
| | | AL_0028_, |
| | | AL_0029_, |
| | | AL_0030_LASER_WATER_LEAK, |
| | | AL_0031_CHILLER_WATER_LEAK, |
| | | AL_0032_, |
| | | AL_0033_, |
| | | AL_0034_, |
| | | AL_0035_, |
| | | AL_0036_, |
| | | AL_0037_, |
| | | AL_0038_, |
| | | AL_0039_, |
| | | AL_0040_MAIN_CDA_PRESSURE, |
| | | AL_0041_MAIN_VAC_PRESSURE, |
| | | AL_0042_MAIN_CDA_FLOW, |
| | | AL_0043_CMB_VAC_PRESSURE, |
| | | AL_0044_, |
| | | AL_0045_, |
| | | AL_0046_, |
| | | AL_0047_, |
| | | AL_0048_, |
| | | AL_0049_, |
| | | AL_0050_CREVIS_DISCONNECTED, |
| | | AL_0051_PRE_ALIGNER_DISCONNECTED, |
| | | AL_0052_ROBOT_DISCONNECTED, |
| | | AL_0053_ATTENUATOR_DISCONNECTED, |
| | | AL_0054_TEMPCONTROLER_DISCONNECTED, |
| | | AL_0055_FFU_DISCONNECTED, |
| | | AL_0056_POWER_PMAC_DISCONNECTED, |
| | | AL_0057_UV_LASER_DISCONNECTED, |
| | | AL_0058_GR200_DISCONNECTED, |
| | | AL_0059_POWERMETER_DISCONNECTED, |
| | | AL_0060_POWER_PMAC_DISCONNECTED, |
| | | AL_0061_CHILLER_DISCONNECTED, |
| | | AL_0062_, |
| | | AL_0063_, |
| | | AL_0064_, |
| | | AL_0065_, |
| | | AL_0066_, |
| | | AL_0067_, |
| | | AL_0068_, |
| | | AL_0069_, |
| | | AL_0070_PORT1_IS_NOT_DETECTED, |
| | | AL_0071_PORT2_IS_NOT_DETECTED, |
| | | AL_0072_PREALIGNER_HAS_NOT_WAFER, |
| | | AL_0073_CHAMBER_HAS_NOT_WAFER, |
| | | AL_0074_ROBOT_HAS_NOT_WAFER, |
| | | AL_0075_PREALIGNER_HAS_WAFER, |
| | | AL_0076_CHAMBER_HAS_WAFER, |
| | | AL_0077_ROBOT_HAS_WAFER, |
| | | AL_0078_LDD_IS_NOT_ON, |
| | | AL_0079_SHUTTER_IS_NOT_OPEN, |
| | | AL_0080_SET_CURRENT_IS_NOT_ZERO, |
| | | AL_0081_ENERGY_MEASUREMENT_FAIL, |
| | | AL_0082_, |
| | | AL_0083_, |
| | | AL_0084_, |
| | | AL_0085_, |
| | | AL_0086_, |
| | | AL_0087_, |
| | | AL_0088_, |
| | | AL_0089_, |
| | | AL_0090_, |
| | | AL_0091_, |
| | | AL_0092_, |
| | | AL_0093_, |
| | | AL_0094_, |
| | | AL_0095_, |
| | | AL_0096_, |
| | | AL_0097_, |
| | | AL_0098_, |
| | | AL_0099_, |
| | | AL_0100_LASER_SOFT_FAULT_HFSYNC, |
| | | AL_0101_LASER_SOFT_FAULT_LDD_INTERLOCK, |
| | | AL_0102_LASER_SOFT_FAULT_SHUTTER_INTERLOCK, |
| | | AL_0103_LASER_SOFT_FAULT_LOW_EXT_FREQUENCY, |
| | | AL_0104_LASER_BOARD_FAULT_MAIN, |
| | | AL_0105_LASER_BOARD_FAULT_COMMON, |
| | | AL_0106_LASER_BOARD_FAULT_TEMPERATURE, |
| | | AL_0107_LASER_BOARD_FAULT_SENSOR, |
| | | AL_0108_LASER_BOARD_FAULT_POWER_MONITOR, |
| | | AL_0109_LASER_BOARD_FAULT_PULSE, |
| | | AL_0110_LASER_BOARD_FAULT_LDD, |
| | | AL_0111_LASER_BOARD_FAULT_MOTOR, |
| | | AL_0112_LASER_SYSTEM_FAULT_MEMORY, |
| | | AL_0113_LASER_SYSTEM_FAULT_SDCARD, |
| | | AL_0114_LASER_SYSTEM_FAULT_BOARD_COMMUNICATION, |
| | | AL_0115_LASER_SYSTEM_FAULT_BOARD_STATE, |
| | | AL_0116_LASER_GENERAL_ALARM_LDD1, |
| | | AL_0117_LASER_GENERAL_ALARM_LDD2, |
| | | AL_0118_LASER_GENERAL_ALARM_QSW, |
| | | AL_0119_LASER_GENERAL_ALARM_FLOW, |
| | | AL_0120_LASER_GENERAL_ALARM_WET, |
| | | AL_0121_LASER_GENERAL_ALARM_HUMIDITY, |
| | | AL_0122_LASER_GENERAL_ALARM_HFSYNC, |
| | | AL_0123_LASER_TEMPERATURE_FAULT_0, |
| | | AL_0124_LASER_TEMPERATURE_FAULT_1, |
| | | AL_0125_LASER_TEMPERATURE_FAULT_2, |
| | | AL_0126_LASER_TEMPERATURE_FAULT_3, |
| | | AL_0127_LASER_TEMPERATURE_FAULT_4, |
| | | AL_0128_LASER_TEMPERATURE_FAULT_5, |
| | | AL_0129_LASER_TEMPERATURE_FAULT_6, |
| | | AL_0130_LASER_TEMPERATURE_FAULT_7, |
| | | AL_0131_LASER_SOFT_FAULT, |
| | | AL_0132_LASER_HARD_FAULT, |
| | | AL_0133_, |
| | | AL_0134_, |
| | | AL_0135_, |
| | | AL_0136_, |
| | | AL_0137_, |
| | | AL_0138_, |
| | | AL_0139_, |
| | | AL_0140_, |
| | | AL_0141_, |
| | | AL_0142_, |
| | | AL_0143_, |
| | | AL_0144_, |
| | | AL_0145_, |
| | | AL_0146_, |
| | | AL_0147_, |
| | | AL_0148_, |
| | | AL_0149_, |
| | | AL_0150_, |
| | | AL_0151_, |
| | | AL_0152_, |
| | | AL_0153_, |
| | | AL_0154_, |
| | | AL_0155_, |
| | | AL_0156_, |
| | | AL_0157_, |
| | | AL_0158_, |
| | | AL_0159_, |
| | | AL_0160_, |
| | | AL_0161_, |
| | | AL_0162_, |
| | | AL_0163_, |
| | | AL_0164_, |
| | | AL_0165_, |
| | | AL_0166_, |
| | | AL_0167_, |
| | | AL_0168_, |
| | | AL_0169_, |
| | | AL_0170_, |
| | | AL_0171_, |
| | | AL_0172_, |
| | | AL_0173_, |
| | | AL_0174_, |
| | | AL_0175_, |
| | | AL_0176_, |
| | | AL_0177_, |
| | | AL_0178_, |
| | | AL_0179_, |
| | | AL_0180_, |
| | | AL_0181_, |
| | | AL_0182_, |
| | | AL_0183_, |
| | | AL_0184_, |
| | | AL_0185_, |
| | | AL_0186_, |
| | | AL_0187_, |
| | | AL_0188_, |
| | | AL_0189_, |
| | | AL_0190_, |
| | | AL_0191_, |
| | | AL_0192_, |
| | | AL_0193_, |
| | | AL_0194_, |
| | | AL_0195_, |
| | | AL_0196_, |
| | | AL_0197_, |
| | | AL_0198_, |
| | | AL_0199_, |
| | | AL_0200_ROBOT_ALARM_OCCURED, |
| | | AL_0201_, |
| | | AL_0202_, |
| | | AL_0203_, |
| | | AL_0204_, |
| | | AL_0205_, |
| | | AL_0206_, |
| | | AL_0207_, |
| | | AL_0208_, |
| | | AL_0209_, |
| | | AL_0210_, |
| | | AL_0211_, |
| | | AL_0212_, |
| | | AL_0213_, |
| | | AL_0214_, |
| | | AL_0215_, |
| | | AL_0216_, |
| | | AL_0217_, |
| | | AL_0218_, |
| | | AL_0219_, |
| | | AL_0220_, |
| | | AL_0221_, |
| | | AL_0222_, |
| | | AL_0223_, |
| | | AL_0224_, |
| | | AL_0225_, |
| | | AL_0226_, |
| | | AL_0227_, |
| | | AL_0228_, |
| | | AL_0229_, |
| | | AL_0230_, |
| | | AL_0231_, |
| | | AL_0232_, |
| | | AL_0233_, |
| | | AL_0234_, |
| | | AL_0235_, |
| | | AL_0236_, |
| | | AL_0237_, |
| | | AL_0238_, |
| | | AL_0239_, |
| | | AL_0240_, |
| | | AL_0241_, |
| | | AL_0242_, |
| | | AL_0243_, |
| | | AL_0244_, |
| | | AL_0245_, |
| | | AL_0246_, |
| | | AL_0247_, |
| | | AL_0248_, |
| | | AL_0249_, |
| | | AL_0250_, |
| | | AL_0251_, |
| | | AL_0252_, |
| | | AL_0253_, |
| | | AL_0254_, |
| | | AL_0255_, |
| | | AL_0256_, |
| | | AL_0257_, |
| | | AL_0258_, |
| | | AL_0259_, |
| | | AL_0260_, |
| | | AL_0261_, |
| | | AL_0262_, |
| | | AL_0263_, |
| | | AL_0264_, |
| | | AL_0265_, |
| | | AL_0266_, |
| | | AL_0267_, |
| | | AL_0268_, |
| | | AL_0269_, |
| | | AL_0270_, |
| | | AL_0271_, |
| | | AL_0272_, |
| | | AL_0273_, |
| | | AL_0274_, |
| | | AL_0275_, |
| | | AL_0276_, |
| | | AL_0277_, |
| | | AL_0278_, |
| | | AL_0279_, |
| | | AL_0280_, |
| | | AL_0281_, |
| | | AL_0282_, |
| | | AL_0283_, |
| | | AL_0284_, |
| | | AL_0285_, |
| | | AL_0286_, |
| | | AL_0287_, |
| | | AL_0288_, |
| | | AL_0289_, |
| | | AL_0290_, |
| | | AL_0291_, |
| | | AL_0292_, |
| | | AL_0293_, |
| | | AL_0294_, |
| | | AL_0295_, |
| | | AL_0296_, |
| | | AL_0297_, |
| | | AL_0298_, |
| | | AL_0299_, |
| | | AL_0300_POWER_PMAC_NOT_CONNECTED, |
| | | AL_0301_POWER_PMAC_INVALID_DEVICE, |
| | | AL_0302_POWER_PMAC_INVALID_COMMAND, |
| | | AL_0303_POWER_PMAC_INVALID_RESPONSE, |
| | | AL_0304_POWER_PMAC_DATA_REAMINS, |
| | | AL_0305_POWER_PMAC_CMD_LENGTH_EXCEEDS, |
| | | AL_0306_POWER_PMAC_RES_LENGTH_EXCEEDS, |
| | | AL_0307_POWER_PMAC_RUNNING_DOWNLOAD, |
| | | AL_0308_POWER_PMAC_ERROR, |
| | | AL_0309_, |
| | | AL_0310_, |
| | | AL_0311_, |
| | | AL_0312_, |
| | | AL_0313_, |
| | | AL_0314_, |
| | | AL_0315_, |
| | | AL_0316_, |
| | | AL_0317_, |
| | | AL_0318_, |
| | | AL_0319_, |
| | | AL_0320_MOTOR_Y_NEGATIVE_LIMIT, |
| | | AL_0321_MOTOR_Y_POSITIVE_LIMIT, |
| | | AL_0322_, |
| | | AL_0323_, |
| | | AL_0324_, |
| | | AL_0325_, |
| | | AL_0326_, |
| | | AL_0327_, |
| | | AL_0328_, |
| | | AL_0329_, |
| | | AL_0330_, |
| | | AL_0331_, |
| | | AL_0332_, |
| | | AL_0333_, |
| | | AL_0334_, |
| | | AL_0335_, |
| | | AL_0336_, |
| | | AL_0337_, |
| | | AL_0338_, |
| | | AL_0339_, |
| | | AL_0340_MOTOR_X_NEGATIVE_LIMIT, |
| | | AL_0341_MOTOR_X_POSITIVE_LIMIT, |
| | | AL_0342_, |
| | | AL_0343_, |
| | | AL_0344_, |
| | | AL_0345_, |
| | | AL_0346_, |
| | | AL_0347_, |
| | | AL_0348_, |
| | | AL_0349_, |
| | | AL_0350_, |
| | | AL_0351_, |
| | | AL_0352_, |
| | | AL_0353_, |
| | | AL_0354_, |
| | | AL_0355_, |
| | | AL_0356_, |
| | | AL_0357_, |
| | | AL_0358_, |
| | | AL_0359_, |
| | | AL_0360_MOTOR_T_NEGATIVE_LIMIT, |
| | | AL_0361_MOTOR_T_POSITIVE_LIMIT, |
| | | AL_0362_, |
| | | AL_0363_, |
| | | AL_0364_, |
| | | AL_0365_, |
| | | AL_0366_, |
| | | AL_0367_, |
| | | AL_0368_, |
| | | AL_0369_, |
| | | AL_0370_, |
| | | AL_0371_, |
| | | AL_0372_, |
| | | AL_0373_, |
| | | AL_0374_, |
| | | AL_0375_, |
| | | AL_0376_, |
| | | AL_0377_, |
| | | AL_0378_, |
| | | AL_0379_, |
| | | AL_0380_, |
| | | AL_0381_, |
| | | AL_0382_, |
| | | AL_0383_, |
| | | AL_0384_, |
| | | AL_0385_, |
| | | AL_0386_, |
| | | AL_0387_, |
| | | AL_0388_, |
| | | AL_0389_, |
| | | AL_0390_, |
| | | AL_0391_, |
| | | AL_0392_, |
| | | AL_0393_, |
| | | AL_0394_, |
| | | AL_0395_, |
| | | AL_0396_, |
| | | AL_0397_, |
| | | AL_0398_, |
| | | AL_0399_, |
| | | AL_0400_CHILLER_LOW_LEVEL_IN_TANK, |
| | | AL_0401_CHILLER_HIGH_CIRCULATING_FLUID_DISCHARGE_TEMP, |
| | | AL_0402_CHILLER_CIRCULATING_FLUID_DISCHARGE_TEMP_RISE, |
| | | AL_0403_CHILLER_CIRCULATING_FLUID_DISCHARGE_TEMP_DROP, |
| | | AL_0404_CHILLER_HIGH_CIRCULATING_FLUID_RETURN_TEMP, |
| | | AL_0405_CHILLER_HIGH_CIRCULATING_FLUID_DISCHARGE_PRESSURE, |
| | | AL_0406_CHILLER_ABNORMAL_PUMP_OPERATION, |
| | | AL_0407_CHILLER_CIRCULATING_FLUID_DISCHARGE_PRESSURE_RISE, |
| | | AL_0408_CHILLER_CIRCULATING_FLUID_DISCHARGE_PRESSURE_DROP, |
| | | AL_0409_CHILLER_HIGH_COMPRESSOR_INTANK_TEMP, |
| | | AL_0410_CHILLER_LOW_COMPRESSOR_INTANK_TEMP, |
| | | AL_0411_CHILLER_LOW_SUPER_HEAT_TEMPERATURE, |
| | | AL_0412_CHILLER_HIGH_COMPRESSOR_DISCHARGE_PRESSURE, |
| | | AL_0413_CHILLER_REFRIGERANT_CIRCUIT_HIGH_PRESSURE_DROP, |
| | | AL_0414_CHILLER_REFRIGERANT_CIRCUIT_LOW_PRESSURE_RISE, |
| | | AL_0415_CHILLER_REFRIGERANT_CIRCUIT_LOW_PRESSURE_DROP, |
| | | AL_0416_CHILLER_COMPRESSOR_OVER_LOAD, |
| | | AL_0417_CHILLER_COMMUNICATION_ERROR, |
| | | AL_0418_CHILLER_MEMORY_ERROR, |
| | | AL_0419_CHILLER_DC_LINE_FUSE_CUT, |
| | | AL_0420_CHILLER_CIRCULATING_FLUID_DISCHARGE_TEMP_SENSOR_FAILURE, |
| | | AL_0421_CHILLER_CIRCULATING_FLUID_TEMP_SENSOR_FAILURE, |
| | | AL_0422_CHILLER_COMPRESSOR_INTANK_TEMP_SENSOR_FAILURE, |
| | | AL_0423_CHILLER_CIRCULATING_FLUID_DISCHARGE_PRESSURE_SENSOR_FAILURE, |
| | | AL_0424_CHILLER_COMPRESSOR_DISCHARGE_PRESSURE_SENSOR_FAILURE, |
| | | AL_0425_CHILLER_COMPRESSOR_INTANK_PRESSURE_SENSOR_FAILURE, |
| | | AL_0426_CHILLER_MAINTENANCE_OF_PUMP, |
| | | AL_0427_CHILLER_MAINTENENCE_OF_FAN_MOTOR, |
| | | AL_0428_CHILLER_MAINTENENCE_OF_COMPRESSOR, |
| | | AL_0429_CHILLER_CONTACT_INPUT_1_SIGNAL_DETECTION_ALARM, |
| | | AL_0430_CHILLER_CONTACT_INPUT_2_SIGNAL_DETECTION_ALARM, |
| | | AL_0431_CHILLER_WATER_LEAKAGE, |
| | | AL_0432_CHILLER_ELECTRIC_RESISTIVITY_COMDUCTIVITY_LEVEL_RISE, |
| | | AL_0433_CHILLER_ELECTRIC_RESISTIVITY_COMDUCTIVITY_LEVEL_DROP, |
| | | AL_0434_CHILLER_ELECTRIC_RESISTIVITY_COMDUCTIVITY_SENSOR_ERROR, |
| | | AL_0435, |
| | | AL_0436, |
| | | AL_0437, |
| | | AL_0438, |
| | | AL_0439, |
| | | AL_0440, |
| | | AL_0441, |
| | | AL_0442, |
| | | AL_0443, |
| | | AL_0444, |
| | | AL_0445_, |
| | | AL_0446_, |
| | | AL_0447_, |
| | | AL_0448_, |
| | | AL_0449_, |
| | | AL_0450_, |
| | | AL_0451_, |
| | | AL_0452_, |
| | | AL_0453_, |
| | | AL_0454_, |
| | | AL_0455_, |
| | | AL_0456_, |
| | | AL_0457_, |
| | | AL_0458_, |
| | | AL_0459_, |
| | | AL_0460_, |
| | | AL_0461_, |
| | | AL_0462_, |
| | | AL_0463_, |
| | | AL_0464_, |
| | | AL_0465_, |
| | | AL_0466_, |
| | | AL_0467_, |
| | | AL_0468_, |
| | | AL_0469_, |
| | | AL_0470_, |
| | | AL_0471_, |
| | | AL_0472_, |
| | | AL_0473_, |
| | | AL_0474_, |
| | | AL_0475_, |
| | | AL_0476_, |
| | | AL_0477_, |
| | | AL_0478_, |
| | | AL_0479_, |
| | | AL_0480_, |
| | | AL_0481_, |
| | | AL_0482_, |
| | | AL_0483_, |
| | | AL_0484_, |
| | | AL_0485_, |
| | | AL_0486_, |
| | | AL_0487_, |
| | | AL_0488_, |
| | | AL_0489_, |
| | | AL_0490_, |
| | | AL_0491_, |
| | | AL_0492_, |
| | | AL_0493_, |
| | | AL_0494_, |
| | | AL_0495_, |
| | | AL_0496_, |
| | | AL_0497_, |
| | | AL_0498_, |
| | | AL_0499_, |
| | | AL_0500_PREALIGNER_PIN_UP_ERROR, |
| | | AL_0501_PREALIGNER_PIN_DOWN_ERROR, |
| | | AL_0502_PREALIGNER_VACCUM_ERROR, |
| | | AL_0503_PREALIGNER_NO_WAFER, |
| | | AL_0504_PREALIGNER_WAFER_LIMIT_ERROR_AFTER_ALIGN, |
| | | AL_0505_PREALIGNER_NOT_FOUND_NOTCH, |
| | | AL_0506_PREALIGNER_STAGE_LIMIT_ERROR, |
| | | AL_0507_PREALIGNER_INVALID_ALIGN_COMMAND, |
| | | AL_0508_PREALIGNER_CHUCK_ARRANGE_ERROR, |
| | | AL_0509_PREALIGNER_WAFER_ALIGN_CCD_OVER, |
| | | AL_0510_PREALIGNER_WAFER_LIMIT_ERROR_BEFORE_ALIGN, |
| | | AL_0511_PREALIGNER_RETRACT_HOME, |
| | | AL_0512_PREALIGNER_WAFER_EXIST, |
| | | AL_0513_PREALIGNER_CCD_MODULE_ERROR, |
| | | AL_0514_PREALIGNER_ALIGNER_TYPE_ERROR, |
| | | AL_0515_PREALIGNER_COMMAND_ERROR, |
| | | AL_0516_, |
| | | AL_0517_, |
| | | AL_0518_, |
| | | AL_0519_, |
| | | AL_0520_, |
| | | AL_0521_, |
| | | AL_0522_, |
| | | AL_0523_, |
| | | AL_0524_, |
| | | AL_0525_, |
| | | AL_0526_, |
| | | AL_0527_, |
| | | AL_0528_, |
| | | AL_0529_, |
| | | AL_0530_, |
| | | AL_0531_, |
| | | AL_0532_, |
| | | AL_0533_, |
| | | AL_0534_, |
| | | AL_0535_, |
| | | AL_0536_, |
| | | AL_0537_, |
| | | AL_0538_, |
| | | AL_0539_, |
| | | AL_0540_, |
| | | AL_0541_, |
| | | AL_0542_, |
| | | AL_0543_, |
| | | AL_0544_, |
| | | AL_0545_, |
| | | AL_0546_, |
| | | AL_0547_, |
| | | AL_0548_, |
| | | AL_0549_, |
| | | AL_0550_, |
| | | AL_0551_, |
| | | AL_0552_, |
| | | AL_0553_, |
| | | AL_0554_, |
| | | AL_0555_, |
| | | AL_0556_, |
| | | AL_0557_, |
| | | AL_0558_, |
| | | AL_0559_, |
| | | AL_0560_, |
| | | AL_0561_, |
| | | AL_0562_, |
| | | AL_0563_, |
| | | AL_0564_, |
| | | AL_0565_, |
| | | AL_0566_, |
| | | AL_0567_, |
| | | AL_0568_, |
| | | AL_0569_, |
| | | AL_0570_, |
| | | AL_0571_, |
| | | AL_0572_, |
| | | AL_0573_, |
| | | AL_0574_, |
| | | AL_0575_, |
| | | AL_0576_, |
| | | AL_0577_, |
| | | AL_0578_, |
| | | AL_0579_, |
| | | AL_0580_, |
| | | AL_0581_, |
| | | AL_0582_, |
| | | AL_0583_, |
| | | AL_0584_, |
| | | AL_0585_, |
| | | AL_0586_, |
| | | AL_0587_, |
| | | AL_0588_, |
| | | AL_0589_, |
| | | AL_0590_, |
| | | AL_0591_, |
| | | AL_0592_, |
| | | AL_0593_, |
| | | AL_0594_, |
| | | AL_0595_, |
| | | AL_0596_, |
| | | AL_0597_, |
| | | AL_0598_, |
| | | AL_0599_, |
| | | AL_0600_, |
| | | AL_0601_, |
| | | AL_0602_, |
| | | AL_0603_, |
| | | AL_0604_, |
| | | AL_0605_, |
| | | AL_0606_, |
| | | AL_0607_, |
| | | AL_0608_, |
| | | AL_0609_, |
| | | AL_0610_, |
| | | AL_0611_, |
| | | AL_0612_, |
| | | AL_0613_, |
| | | AL_0614_, |
| | | AL_0615_, |
| | | AL_0616_, |
| | | AL_0617_, |
| | | AL_0618_, |
| | | AL_0619_, |
| | | AL_0620_, |
| | | AL_0621_, |
| | | AL_0622_, |
| | | AL_0623_, |
| | | AL_0624_, |
| | | AL_0625_, |
| | | AL_0626_, |
| | | AL_0627_, |
| | | AL_0628_, |
| | | AL_0629_, |
| | | AL_0630_, |
| | | AL_0631_, |
| | | AL_0632_, |
| | | AL_0633_, |
| | | AL_0634_, |
| | | AL_0635_, |
| | | AL_0636_, |
| | | AL_0637_, |
| | | AL_0638_, |
| | | AL_0639_, |
| | | AL_0640_, |
| | | AL_0641_, |
| | | AL_0642_, |
| | | AL_0643_, |
| | | AL_0644_, |
| | | AL_0645_, |
| | | AL_0646_, |
| | | AL_0647_, |
| | | AL_0648_, |
| | | AL_0649_, |
| | | AL_0650_, |
| | | AL_0651_, |
| | | AL_0652_, |
| | | AL_0653_, |
| | | AL_0654_, |
| | | AL_0655_, |
| | | AL_0656_, |
| | | AL_0657_, |
| | | AL_0658_, |
| | | AL_0659_, |
| | | AL_0660_, |
| | | AL_0661_, |
| | | AL_0662_, |
| | | AL_0663_, |
| | | AL_0664_, |
| | | AL_0665_, |
| | | AL_0666_, |
| | | AL_0667_, |
| | | AL_0668_, |
| | | AL_0669_, |
| | | AL_0670_, |
| | | AL_0671_, |
| | | AL_0672_, |
| | | AL_0673_, |
| | | AL_0674_, |
| | | AL_0675_, |
| | | AL_0676_, |
| | | AL_0677_, |
| | | AL_0678_, |
| | | AL_0679_, |
| | | AL_0680_, |
| | | AL_0681_, |
| | | AL_0682_, |
| | | AL_0683_, |
| | | AL_0684_, |
| | | AL_0685_, |
| | | AL_0686_, |
| | | AL_0687_, |
| | | AL_0688_, |
| | | AL_0689_, |
| | | AL_0690_, |
| | | AL_0691_, |
| | | AL_0692_, |
| | | AL_0693_, |
| | | AL_0694_, |
| | | AL_0695_, |
| | | AL_0696_, |
| | | AL_0697_, |
| | | AL_0698_, |
| | | AL_0699_, |
| | | AL_0700_, |
| | | AL_0701_, |
| | | AL_0702_, |
| | | AL_0703_, |
| | | AL_0704_, |
| | | AL_0705_, |
| | | AL_0706_, |
| | | AL_0707_, |
| | | AL_0708_, |
| | | AL_0709_, |
| | | AL_0710_, |
| | | AL_0711_, |
| | | AL_0712_, |
| | | AL_0713_, |
| | | AL_0714_, |
| | | AL_0715_, |
| | | AL_0716_, |
| | | AL_0717_, |
| | | AL_0718_, |
| | | AL_0719_, |
| | | AL_0720_, |
| | | AL_0721_, |
| | | AL_0722_, |
| | | AL_0723_, |
| | | AL_0724_, |
| | | AL_0725_, |
| | | AL_0726_, |
| | | AL_0727_, |
| | | AL_0728_, |
| | | AL_0729_, |
| | | AL_0730_, |
| | | AL_0731_, |
| | | AL_0732_, |
| | | AL_0733_, |
| | | AL_0734_, |
| | | AL_0735_, |
| | | AL_0736_, |
| | | AL_0737_, |
| | | AL_0738_, |
| | | AL_0739_, |
| | | AL_0740_, |
| | | AL_0741_, |
| | | AL_0742_, |
| | | AL_0743_, |
| | | AL_0744_, |
| | | AL_0745_, |
| | | AL_0746_, |
| | | AL_0747_, |
| | | AL_0748_, |
| | | AL_0749_, |
| | | AL_0750_, |
| | | AL_0751_, |
| | | AL_0752_, |
| | | AL_0753_, |
| | | AL_0754_, |
| | | AL_0755_, |
| | | AL_0756_, |
| | | AL_0757_, |
| | | AL_0758_, |
| | | AL_0759_, |
| | | AL_0760_, |
| | | AL_0761_, |
| | | AL_0762_, |
| | | AL_0763_, |
| | | AL_0764_, |
| | | AL_0765_, |
| | | AL_0766_, |
| | | AL_0767_, |
| | | AL_0768_, |
| | | AL_0769_, |
| | | AL_0770_, |
| | | AL_0771_, |
| | | AL_0772_, |
| | | AL_0773_, |
| | | AL_0774_, |
| | | AL_0775_, |
| | | AL_0776_, |
| | | AL_0777_, |
| | | AL_0778_, |
| | | AL_0779_, |
| | | AL_0780_, |
| | | AL_0781_, |
| | | AL_0782_, |
| | | AL_0783_, |
| | | AL_0784_, |
| | | AL_0785_, |
| | | AL_0786_, |
| | | AL_0787_, |
| | | AL_0788_, |
| | | AL_0789_, |
| | | AL_0790_, |
| | | AL_0791_, |
| | | AL_0792_, |
| | | AL_0793_, |
| | | AL_0794_, |
| | | AL_0795_, |
| | | AL_0796_, |
| | | AL_0797_, |
| | | AL_0798_, |
| | | AL_0799_, |
| | | |
| | | AL_0800_RTC5_NO_BOARD_FOUND, |
| | | AL_0801_RTC5_ACCESS_DENIED, |
| | | AL_0802_RTC5_COMMAND_NOT_FORWARDED, |
| | | AL_0803_RTC5_NO_RESPONSE_FROM_BOARD, |
| | | AL_0804_RTC5_INVALID_PARAMETER, |
| | | AL_0805_RTC5_LIST_PROCESSING_IS_NOT_ACTIVE, |
| | | AL_0806_RTC5_LIST_COMMAND_REJECTED, |
| | | AL_0807_RTC5_LIST_COMMAND_HAS_BEEN_COVERTED, |
| | | AL_0808_RTC5_VERSION_ERROR_RTC5_DLL_VERSION, |
| | | AL_0809_RTC5_VERIFY_ERROR_RTC5_DLL_VERSION, |
| | | AL_0809_RTC5_VERIFY_ERROR_DOWNLOAD_VERIFICATION, |
| | | AL_0810_RTC5_DSP_VERSION_ERROR, |
| | | AL_0811_RTC5_DLL_INTERNAL_WINDOWS_MEMORY_REQUEST_FAIL, |
| | | AL_0812_RTC5_EEPROM_READ_OR_WRITE_ERROR, |
| | | AL_0813_RTC5_ERROR_READING_PCI_CONFIGURATION_REGISTER, |
| | | |
| | | AL_0814_RTC5_RESET_ERROR, |
| | | AL_0815_RTC5_UNRESET_ERROR, |
| | | AL_0816_RTC5_FILE_ERROR, |
| | | AL_0817_RTC5_FORMAT_ERROR, |
| | | AL_0818_RTC5_SYSTEM_ERROR, |
| | | AL_0819_RTC5_ACCESS_ERROR, |
| | | AL_0820_RTC5_VERSION_ERROR, |
| | | AL_0821_RTC5_SYSTEM_DRIVER_NOT_FOUND, |
| | | AL_0822_RTC5_DRIVER_CALL_ERROR, |
| | | AL_0823_RTC5_CONFIGURATION_ERROR, |
| | | AL_0824_RTC5_FPGA_FIRMWARE_ERROR, |
| | | AL_0825_RTC5_PCI_DOWNLOAD_ERROR, |
| | | AL_0826_RTC5_BUSY_ERROR, |
| | | AL_0827_RTC5_DSP_MEMORY_ERROR, |
| | | AL_0828_RTC5_VERIFY_ERROR, |
| | | AL_0829_RTC5_PCI_ERROR, |
| | | |
| | | AL_0830_RTC5_FILE_ERROR, |
| | | AL_0831_RTC5_MEMORY_ERROR, |
| | | AL_0832_RTC5_FILE_OPEN_ERROR, |
| | | AL_0833_RTC5_DSP_MEMORY_ERROR, |
| | | AL_0834_RTC5_PCI_DOWNLOAD_ERROR, |
| | | AL_0835_RTC5_SYSTEM_DRIVER_NOT_FOUND, |
| | | AL_0836_RTC5_PARAMETER_ERROR, |
| | | AL_0837_RTC5_ACCESS_ERROR, |
| | | AL_0838_RTC5_WARNING_3D_CORRECTION_TABLE, |
| | | AL_0839_RTC5_BUSY_ERROR, |
| | | AL_0840_RTC5_PCI_UPLOAD_ERROR, |
| | | AL_0841_RTC5_VERIFY_ERROR, |
| | | AL_0842_, |
| | | AL_0843_, |
| | | AL_0844_, |
| | | AL_0845_, |
| | | AL_0846_, |
| | | AL_0847_, |
| | | AL_0848_, |
| | | AL_0849_, |
| | | AL_0850_, |
| | | AL_0851_, |
| | | AL_0852_, |
| | | AL_0853_, |
| | | AL_0854_, |
| | | AL_0855_, |
| | | AL_0856_, |
| | | AL_0857_, |
| | | AL_0858_, |
| | | AL_0859_, |
| | | AL_0860_, |
| | | AL_0861_, |
| | | AL_0862_, |
| | | AL_0863_, |
| | | AL_0864_, |
| | | AL_0865_, |
| | | AL_0866_, |
| | | AL_0867_, |
| | | AL_0868_, |
| | | AL_0869_, |
| | | AL_0870_, |
| | | AL_0871_, |
| | | AL_0872_, |
| | | AL_0873_, |
| | | AL_0874_, |
| | | AL_0875_, |
| | | AL_0876_, |
| | | AL_0877_, |
| | | AL_0878_, |
| | | AL_0879_, |
| | | AL_0880_, |
| | | AL_0881_, |
| | | AL_0882_, |
| | | AL_0883_, |
| | | AL_0884_, |
| | | AL_0885_, |
| | | AL_0886_, |
| | | AL_0887_, |
| | | AL_0888_, |
| | | AL_0889_, |
| | | AL_0890_, |
| | | AL_0891_, |
| | | AL_0892_, |
| | | AL_0893_, |
| | | AL_0894_, |
| | | AL_0895_, |
| | | AL_0896_, |
| | | AL_0897_, |
| | | AL_0898_, |
| | | AL_0899_, |
| | | AL_0900_, |
| | | AL_0901_, |
| | | AL_0902_, |
| | | AL_0903_, |
| | | AL_0904_, |
| | | AL_0905_, |
| | | AL_0906_, |
| | | AL_0907_, |
| | | AL_0908_, |
| | | AL_0909_, |
| | | AL_0910_, |
| | | AL_0911_, |
| | | AL_0912_, |
| | | AL_0913_, |
| | | AL_0914_, |
| | | AL_0915_, |
| | | AL_0916_, |
| | | AL_0917_, |
| | | AL_0918_, |
| | | AL_0919_, |
| | | AL_0920_, |
| | | AL_0921_, |
| | | AL_0922_, |
| | | AL_0923_, |
| | | AL_0924_, |
| | | AL_0925_, |
| | | AL_0926_, |
| | | AL_0927_, |
| | | AL_0928_, |
| | | AL_0929_, |
| | | AL_0930_, |
| | | AL_0931_, |
| | | AL_0932_, |
| | | AL_0933_, |
| | | AL_0934_, |
| | | AL_0935_, |
| | | AL_0936_, |
| | | AL_0937_, |
| | | AL_0938_, |
| | | AL_0939_, |
| | | AL_0940_, |
| | | AL_0941_, |
| | | AL_0942_, |
| | | AL_0943_, |
| | | AL_0944_, |
| | | AL_0945_, |
| | | AL_0946_, |
| | | AL_0947_, |
| | | AL_0948_, |
| | | AL_0949_, |
| | | AL_0950_, |
| | | AL_0951_, |
| | | AL_0952_, |
| | | AL_0953_, |
| | | AL_0954_, |
| | | AL_0955_, |
| | | AL_0956_, |
| | | AL_0957_, |
| | | AL_0958_, |
| | | AL_0959_, |
| | | AL_0960_, |
| | | AL_0961_, |
| | | AL_0962_, |
| | | AL_0963_, |
| | | AL_0964_, |
| | | AL_0965_, |
| | | AL_0966_, |
| | | AL_0967_, |
| | | AL_0968_, |
| | | AL_0969_, |
| | | AL_0970_, |
| | | AL_0971_, |
| | | AL_0972_, |
| | | AL_0973_, |
| | | AL_0974_, |
| | | AL_0975_, |
| | | AL_0976_, |
| | | AL_0977_, |
| | | AL_0978_, |
| | | AL_0979_, |
| | | AL_0980_, |
| | | AL_0981_, |
| | | AL_0982_, |
| | | AL_0983_, |
| | | AL_0984_, |
| | | AL_0985_, |
| | | AL_0986_, |
| | | AL_0987_, |
| | | AL_0988_, |
| | | AL_0989_, |
| | | AL_0990_, |
| | | AL_0991_, |
| | | AL_0992_, |
| | | AL_0993_, |
| | | AL_0994_, |
| | | AL_0995_, |
| | | AL_0996_, |
| | | AL_0997_, |
| | | AL_0998_, |
| | | AL_0999_, |
| | | AL_1000_ERR_NOT_HOMED, |
| | | AL_1001_ERR_EMERGENCY, |
| | | AL_1002_ERR_MOTOR_ERROR, |
| | | AL_1003_ERR_WAIT_TIMEOUT, |
| | | AL_1004_ENCODER_RESET_TIMEOUT, |
| | | AL_1005_ERR_INTERLOCK, |
| | | AL_1006_ERR_DATA_RANGE, |
| | | AL_1007_ERR_WAFER_BEFORE_GET, |
| | | AL_1008_ERR_NO_WAFER_BEFORE_PUT, |
| | | AL_1009_ERR_NO_WAFER_AFTER_GET, |
| | | AL_1010_ERR_WAFER_AFTER_PUT, |
| | | AL_1011_ERR_NO_WAFER_DURING_GET, |
| | | AL_1012_ERR_WAFER_DURING_PUT, |
| | | AL_1013_ERR_NOT_HOMED, |
| | | AL_1014_ERR_NOT_SUPPORTED_FUNC, |
| | | AL_1015_ERR_WAFER_OUT, |
| | | AL_1016_ERR_WAFER_SLIP, |
| | | AL_1017_OVER_WAFER_DURING_GET, |
| | | AL_1018_ERR_PLATE_CHECK, |
| | | AL_1019_ERR_PUSHER_SPEED_HIGH, |
| | | AL_1020_ERR_NOT_CORRECT_BLADE_POS, |
| | | AL_1021_ERR_MAPPING_IS_NOT_PERFORMED, |
| | | AL_1022_ERR_NO_MAPPING_DATA, |
| | | AL_1023_ALREADY_LATCH_BLOCKED, |
| | | AL_1024_ERR_CANNOT_UNGRIP, |
| | | AL_1025_ERR_INVALID_COMMAND, |
| | | AL_1026_ERR_INVALID_DATA, |
| | | AL_1027_ERR_INVALID_STATION, |
| | | AL_1028_ERR_INVALID_HAND, |
| | | AL_1029_ERR_INVALID_SLOT, |
| | | AL_1030_ERR_INVALID_TEACHING_INDEX, |
| | | AL_1031_ERR_INVALID_PD_INDEX, |
| | | AL_1032_ERR_INVALID_HAND_TYPE, |
| | | AL_1033_ERR_BOX_NOEXIT_ERORR, |
| | | AL_1034_ERR_INVALID_OFFSET, |
| | | AL_1035_ERR_INVALID_COORDINATE_TYPE, |
| | | AL_1036_ERR_INVALID_ARGUMENT, |
| | | AL_1037_ERR_INVALID_FORMAT, |
| | | AL_1038_ERR_INVALID_LOCATION_FORMAT, |
| | | AL_1039_ERR_INVALID_PROFILE_FORMAT, |
| | | AL_1040_ERR_WRONG_PD_COMMAND, |
| | | AL_1041_ERR_WRONG_AWC_DATA, |
| | | AL_1042_ERR_NO_AWC_STATION, |
| | | AL_1043_ERR_WRONG_LATCH_DATA, |
| | | AL_1044_ERR_NO_LATCH_DATA, |
| | | AL_1045_ERR_NO_DATA, |
| | | AL_1046_ERR_NOT_HOME, |
| | | AL_1047_ERR_CANNOT_RETRACT_ARM, |
| | | AL_1048_ERR_VACUUM_DETECTING_ERORR, |
| | | AL_1049_ERR_NO_BOX, |
| | | AL_1050_ERR_UPGRIP, |
| | | AL_1051_ERR_DOUBLEBOXCHECH, |
| | | AL_1052_ERR_ORIGINMANUALLY, |
| | | AL_1053_ERR_NOTSUPPLY_AIR, |
| | | AL_1054_ERR_NOW_ON_MOVE, |
| | | AL_1055_ERR_NOT_READYPOS, |
| | | AL_1056_Z_POSITION_ERR_DETECTED, |
| | | AL_1057_ERR_FLIP_TURN_INTERLOCK, |
| | | AL_1058_ERR_CONTROL_BOX_FAN, |
| | | AL_1059_ERR_ROBOT_FAN, |
| | | AL_1060_ERR_AIRSTOP_ERROR, |
| | | AL_1061_ERR_RECEIVEBUF_FULL, |
| | | AL_1062_ERR_SENDBUF_FULL, |
| | | AL_1063_IO_RECEIVE_ERROR, |
| | | AL_1064_, |
| | | AL_1065_, |
| | | AL_1066_, |
| | | AL_1067_, |
| | | AL_1068_, |
| | | AL_1069_, |
| | | AL_1070_, |
| | | AL_1071_, |
| | | AL_1072_, |
| | | AL_1073_, |
| | | AL_1074_, |
| | | AL_1075_, |
| | | AL_1076_, |
| | | AL_1077_, |
| | | AL_1078_, |
| | | AL_1079_, |
| | | AL_1080_, |
| | | AL_1081_, |
| | | AL_1082_, |
| | | AL_1083_, |
| | | AL_1084_, |
| | | AL_1085_, |
| | | AL_1086_, |
| | | AL_1087_, |
| | | AL_1088_, |
| | | AL_1089_, |
| | | AL_1090_, |
| | | AL_1091_, |
| | | AL_1092_, |
| | | AL_1093_, |
| | | AL_1094_, |
| | | AL_1095_, |
| | | AL_1096_, |
| | | AL_1097_, |
| | | AL_1098_, |
| | | AL_1099_, |
| | | AL_1100_ENERGY_DROP_CHECK_WRONG, |
| | | AL_1101_, |
| | | AL_1102_, |
| | | AL_1103_, |
| | | AL_1104_, |
| | | AL_1105_, |
| | | AL_1106_, |
| | | AL_1107_, |
| | | AL_1108_, |
| | | AL_1109_, |
| | | AL_1110_, |
| | | AL_1111_, |
| | | AL_1112_, |
| | | AL_1113_, |
| | | AL_1114_, |
| | | AL_1115_, |
| | | AL_1116_, |
| | | AL_1117_, |
| | | AL_1118_, |
| | | AL_1119_, |
| | | AL_1120_, |
| | | AL_1121_, |
| | | AL_1122_, |
| | | AL_1123_, |
| | | AL_1124_, |
| | | AL_1125_, |
| | | AL_1126_, |
| | | AL_1127_, |
| | | AL_1128_, |
| | | AL_1129_, |
| | | AL_1130_, |
| | | AL_1131_, |
| | | AL_1132_, |
| | | AL_1133_, |
| | | AL_1134_, |
| | | AL_1135_, |
| | | AL_1136_, |
| | | AL_1137_, |
| | | AL_1138_, |
| | | AL_1139_, |
| | | AL_1140_, |
| | | AL_1141_, |
| | | AL_1142_, |
| | | AL_1143_, |
| | | AL_1144_, |
| | | AL_1145_, |
| | | AL_1146_, |
| | | AL_1147_, |
| | | AL_1148_, |
| | | AL_1149_, |
| | | AL_1150_, |
| | | AL_1151_, |
| | | AL_1152_, |
| | | AL_1153_, |
| | | AL_1154_, |
| | | AL_1155_, |
| | | AL_1156_, |
| | | AL_1157_, |
| | | AL_1158_, |
| | | AL_1159_, |
| | | AL_1160_, |
| | | AL_1161_, |
| | | AL_1162_, |
| | | AL_1163_, |
| | | AL_1164_, |
| | | AL_1165_, |
| | | AL_1166_, |
| | | AL_1167_, |
| | | AL_1168_, |
| | | AL_1169_, |
| | | AL_1170_, |
| | | AL_1171_, |
| | | AL_1172_, |
| | | AL_1173_, |
| | | AL_1174_, |
| | | AL_1175_, |
| | | AL_1176_, |
| | | AL_1177_, |
| | | AL_1178_, |
| | | AL_1179_, |
| | | AL_1180_, |
| | | AL_1181_, |
| | | AL_1182_, |
| | | AL_1183_, |
| | | AL_1184_, |
| | | AL_1185_, |
| | | AL_1186_, |
| | | AL_1187_, |
| | | AL_1188_, |
| | | AL_1189_, |
| | | AL_1190_, |
| | | AL_1191_, |
| | | AL_1192_, |
| | | AL_1193_, |
| | | AL_1194_, |
| | | AL_1195_, |
| | | AL_1196_, |
| | | AL_1197_, |
| | | AL_1198_, |
| | | AL_1199_, |
| | | AL_1200_, |
| | | AL_1201_, |
| | | AL_1202_, |
| | | AL_1203_, |
| | | AL_1204_, |
| | | AL_1205_, |
| | | AL_1206_, |
| | | AL_1207_, |
| | | AL_1208_, |
| | | AL_1209_, |
| | | AL_1210_, |
| | | AL_1211_, |
| | | AL_1212_, |
| | | AL_1213_, |
| | | AL_1214_, |
| | | AL_1215_, |
| | | AL_1216_, |
| | | AL_1217_, |
| | | AL_1218_, |
| | | AL_1219_, |
| | | AL_1220_, |
| | | AL_1221_, |
| | | AL_1222_, |
| | | AL_1223_, |
| | | AL_1224_, |
| | | AL_1225_, |
| | | AL_1226_, |
| | | AL_1227_, |
| | | AL_1228_, |
| | | AL_1229_, |
| | | AL_1230_, |
| | | AL_1231_, |
| | | AL_1232_, |
| | | AL_1233_, |
| | | AL_1234_, |
| | | AL_1235_, |
| | | AL_1236_, |
| | | AL_1237_, |
| | | AL_1238_, |
| | | AL_1239_, |
| | | AL_1240_, |
| | | AL_1241_, |
| | | AL_1242_, |
| | | AL_1243_, |
| | | AL_1244_, |
| | | AL_1245_, |
| | | AL_1246_, |
| | | AL_1247_, |
| | | AL_1248_, |
| | | AL_1249_, |
| | | AL_1250_, |
| | | AL_1251_, |
| | | AL_1252_, |
| | | AL_1253_, |
| | | AL_1254_, |
| | | AL_1255_, |
| | | AL_1256_, |
| | | AL_1257_, |
| | | AL_1258_, |
| | | AL_1259_, |
| | | AL_1260_, |
| | | AL_1261_, |
| | | AL_1262_, |
| | | AL_1263_, |
| | | AL_1264_, |
| | | AL_1265_, |
| | | AL_1266_, |
| | | AL_1267_, |
| | | AL_1268_, |
| | | AL_1269_, |
| | | AL_1270_, |
| | | AL_1271_, |
| | | AL_1272_, |
| | | AL_1273_, |
| | | AL_1274_, |
| | | AL_1275_, |
| | | AL_1276_, |
| | | AL_1277_, |
| | | AL_1278_, |
| | | AL_1279_, |
| | | AL_1280_, |
| | | AL_1281_, |
| | | AL_1282_, |
| | | AL_1283_, |
| | | AL_1284_, |
| | | AL_1285_, |
| | | AL_1286_, |
| | | AL_1287_, |
| | | AL_1288_, |
| | | AL_1289_, |
| | | AL_1290_, |
| | | AL_1291_, |
| | | AL_1292_, |
| | | AL_1293_, |
| | | AL_1294_, |
| | | AL_1295_, |
| | | AL_1296_, |
| | | AL_1297_, |
| | | AL_1298_, |
| | | AL_1299_, |
| | | AL_1300_, |
| | | AL_1301_, |
| | | AL_1302_, |
| | | AL_1303_, |
| | | AL_1304_, |
| | | AL_1305_, |
| | | AL_1306_, |
| | | AL_1307_, |
| | | AL_1308_, |
| | | AL_1309_, |
| | | AL_1310_, |
| | | AL_1311_, |
| | | AL_1312_, |
| | | AL_1313_, |
| | | AL_1314_, |
| | | AL_1315_, |
| | | AL_1316_, |
| | | AL_1317_, |
| | | AL_1318_, |
| | | AL_1319_, |
| | | AL_1320_, |
| | | AL_1321_, |
| | | AL_1322_, |
| | | AL_1323_, |
| | | AL_1324_, |
| | | AL_1325_, |
| | | AL_1326_, |
| | | AL_1327_, |
| | | AL_1328_, |
| | | AL_1329_, |
| | | AL_1330_, |
| | | AL_1331_, |
| | | AL_1332_, |
| | | AL_1333_, |
| | | AL_1334_, |
| | | AL_1335_, |
| | | AL_1336_, |
| | | AL_1337_, |
| | | AL_1338_, |
| | | AL_1339_, |
| | | AL_1340_, |
| | | AL_1341_, |
| | | AL_1342_, |
| | | AL_1343_, |
| | | AL_1344_, |
| | | AL_1345_, |
| | | AL_1346_, |
| | | AL_1347_, |
| | | AL_1348_, |
| | | AL_1349_, |
| | | AL_1350_, |
| | | AL_1351_, |
| | | AL_1352_, |
| | | AL_1353_, |
| | | AL_1354_, |
| | | AL_1355_, |
| | | AL_1356_, |
| | | AL_1357_, |
| | | AL_1358_, |
| | | AL_1359_, |
| | | AL_1360_, |
| | | AL_1361_, |
| | | AL_1362_, |
| | | AL_1363_, |
| | | AL_1364_, |
| | | AL_1365_, |
| | | AL_1366_, |
| | | AL_1367_, |
| | | AL_1368_, |
| | | AL_1369_, |
| | | AL_1370_, |
| | | AL_1371_, |
| | | AL_1372_, |
| | | AL_1373_, |
| | | AL_1374_, |
| | | AL_1375_, |
| | | AL_1376_, |
| | | AL_1377_, |
| | | AL_1378_, |
| | | AL_1379_, |
| | | AL_1380_, |
| | | AL_1381_, |
| | | AL_1382_, |
| | | AL_1383_, |
| | | AL_1384_, |
| | | AL_1385_, |
| | | AL_1386_, |
| | | AL_1387_, |
| | | AL_1388_, |
| | | AL_1389_, |
| | | AL_1390_, |
| | | AL_1391_, |
| | | AL_1392_, |
| | | AL_1393_, |
| | | AL_1394_, |
| | | AL_1395_, |
| | | AL_1396_, |
| | | AL_1397_, |
| | | AL_1398_, |
| | | AL_1399_, |
| | | AL_1400_, |
| | | AL_1401_, |
| | | AL_1402_, |
| | | AL_1403_, |
| | | AL_1404_, |
| | | AL_1405_, |
| | | AL_1406_, |
| | | AL_1407_, |
| | | AL_1408_, |
| | | AL_1409_, |
| | | AL_1410_, |
| | | AL_1411_, |
| | | AL_1412_, |
| | | AL_1413_, |
| | | AL_1414_, |
| | | AL_1415_, |
| | | AL_1416_, |
| | | AL_1417_, |
| | | AL_1418_, |
| | | AL_1419_, |
| | | AL_1420_, |
| | | AL_1421_, |
| | | AL_1422_, |
| | | AL_1423_, |
| | | AL_1424_, |
| | | AL_1425_, |
| | | AL_1426_, |
| | | AL_1427_, |
| | | AL_1428_, |
| | | AL_1429_, |
| | | AL_1430_, |
| | | AL_1431_, |
| | | AL_1432_, |
| | | AL_1433_, |
| | | AL_1434_, |
| | | AL_1435_, |
| | | AL_1436_, |
| | | AL_1437_, |
| | | AL_1438_, |
| | | AL_1439_, |
| | | AL_1440_, |
| | | AL_1441_, |
| | | AL_1442_, |
| | | AL_1443_, |
| | | AL_1444_, |
| | | AL_1445_, |
| | | AL_1446_, |
| | | AL_1447_, |
| | | AL_1448_, |
| | | AL_1449_, |
| | | AL_1450_, |
| | | AL_1451_, |
| | | AL_1452_, |
| | | AL_1453_, |
| | | AL_1454_, |
| | | AL_1455_, |
| | | AL_1456_, |
| | | AL_1457_, |
| | | AL_1458_, |
| | | AL_1459_, |
| | | AL_1460_, |
| | | AL_1461_, |
| | | AL_1462_, |
| | | AL_1463_, |
| | | AL_1464_, |
| | | AL_1465_, |
| | | AL_1466_, |
| | | AL_1467_, |
| | | AL_1468_, |
| | | AL_1469_, |
| | | AL_1470_, |
| | | AL_1471_, |
| | | AL_1472_, |
| | | AL_1473_, |
| | | AL_1474_, |
| | | AL_1475_, |
| | | AL_1476_, |
| | | AL_1477_, |
| | | AL_1478_, |
| | | AL_1479_, |
| | | AL_1480_, |
| | | AL_1481_, |
| | | AL_1482_, |
| | | AL_1483_, |
| | | AL_1484_, |
| | | AL_1485_, |
| | | AL_1486_, |
| | | AL_1487_, |
| | | AL_1488_, |
| | | AL_1489_, |
| | | AL_1490_, |
| | | AL_1491_, |
| | | AL_1492_, |
| | | AL_1493_, |
| | | AL_1494_, |
| | | AL_1495_, |
| | | AL_1496_, |
| | | AL_1497_, |
| | | AL_1498_, |
| | | AL_1499_, |
| | | AL_1500_, |
| | | AL_1501_, |
| | | AL_1502_, |
| | | AL_1503_, |
| | | AL_1504_, |
| | | AL_1505_, |
| | | AL_1506_, |
| | | AL_1507_, |
| | | AL_1508_, |
| | | AL_1509_, |
| | | AL_1510_, |
| | | AL_1511_, |
| | | AL_1512_, |
| | | AL_1513_, |
| | | AL_1514_, |
| | | AL_1515_, |
| | | AL_1516_, |
| | | AL_1517_, |
| | | AL_1518_, |
| | | AL_1519_, |
| | | AL_1520_, |
| | | AL_1521_, |
| | | AL_1522_, |
| | | AL_1523_, |
| | | AL_1524_, |
| | | AL_1525_, |
| | | AL_1526_, |
| | | AL_1527_, |
| | | AL_1528_, |
| | | AL_1529_, |
| | | AL_1530_, |
| | | AL_1531_, |
| | | AL_1532_, |
| | | AL_1533_, |
| | | AL_1534_, |
| | | AL_1535_, |
| | | AL_1536_, |
| | | AL_1537_, |
| | | AL_1538_, |
| | | AL_1539_, |
| | | AL_1540_, |
| | | AL_1541_, |
| | | AL_1542_, |
| | | AL_1543_, |
| | | AL_1544_, |
| | | AL_1545_, |
| | | AL_1546_, |
| | | AL_1547_, |
| | | AL_1548_, |
| | | AL_1549_, |
| | | AL_1550_, |
| | | AL_1551_, |
| | | AL_1552_, |
| | | AL_1553_, |
| | | AL_1554_, |
| | | AL_1555_, |
| | | AL_1556_, |
| | | AL_1557_, |
| | | AL_1558_, |
| | | AL_1559_, |
| | | AL_1560_, |
| | | AL_1561_, |
| | | AL_1562_, |
| | | AL_1563_, |
| | | AL_1564_, |
| | | AL_1565_, |
| | | AL_1566_, |
| | | AL_1567_, |
| | | AL_1568_, |
| | | AL_1569_, |
| | | AL_1570_, |
| | | AL_1571_, |
| | | AL_1572_, |
| | | AL_1573_, |
| | | AL_1574_, |
| | | AL_1575_, |
| | | AL_1576_, |
| | | AL_1577_, |
| | | AL_1578_, |
| | | AL_1579_, |
| | | AL_1580_, |
| | | AL_1581_, |
| | | AL_1582_, |
| | | AL_1583_, |
| | | AL_1584_, |
| | | AL_1585_, |
| | | AL_1586_, |
| | | AL_1587_, |
| | | AL_1588_, |
| | | AL_1589_, |
| | | AL_1590_, |
| | | AL_1591_, |
| | | AL_1592_, |
| | | AL_1593_, |
| | | AL_1594_, |
| | | AL_1595_, |
| | | AL_1596_, |
| | | AL_1597_, |
| | | AL_1598_, |
| | | AL_1599_, |
| | | AL_1600_, |
| | | AL_1601_, |
| | | AL_1602_, |
| | | AL_1603_, |
| | | AL_1604_, |
| | | AL_1605_, |
| | | AL_1606_, |
| | | AL_1607_, |
| | | AL_1608_, |
| | | AL_1609_, |
| | | AL_1610_, |
| | | AL_1611_, |
| | | AL_1612_, |
| | | AL_1613_, |
| | | AL_1614_, |
| | | AL_1615_, |
| | | AL_1616_, |
| | | AL_1617_, |
| | | AL_1618_, |
| | | AL_1619_, |
| | | AL_1620_, |
| | | AL_1621_, |
| | | AL_1622_, |
| | | AL_1623_, |
| | | AL_1624_, |
| | | AL_1625_, |
| | | AL_1626_, |
| | | AL_1627_, |
| | | AL_1628_, |
| | | AL_1629_, |
| | | AL_1630_, |
| | | AL_1631_, |
| | | AL_1632_, |
| | | AL_1633_, |
| | | AL_1634_, |
| | | AL_1635_, |
| | | AL_1636_, |
| | | AL_1637_, |
| | | AL_1638_, |
| | | AL_1639_, |
| | | AL_1640_, |
| | | AL_1641_, |
| | | AL_1642_, |
| | | AL_1643_, |
| | | AL_1644_, |
| | | AL_1645_, |
| | | AL_1646_, |
| | | AL_1647_, |
| | | AL_1648_, |
| | | AL_1649_, |
| | | AL_1650_, |
| | | AL_1651_, |
| | | AL_1652_, |
| | | AL_1653_, |
| | | AL_1654_, |
| | | AL_1655_, |
| | | AL_1656_, |
| | | AL_1657_, |
| | | AL_1658_, |
| | | AL_1659_, |
| | | AL_1660_, |
| | | AL_1661_, |
| | | AL_1662_, |
| | | AL_1663_, |
| | | AL_1664_, |
| | | AL_1665_, |
| | | AL_1666_, |
| | | AL_1667_, |
| | | AL_1668_, |
| | | AL_1669_, |
| | | AL_1670_, |
| | | AL_1671_, |
| | | AL_1672_, |
| | | AL_1673_, |
| | | AL_1674_, |
| | | AL_1675_, |
| | | AL_1676_, |
| | | AL_1677_, |
| | | AL_1678_, |
| | | AL_1679_, |
| | | AL_1680_, |
| | | AL_1681_, |
| | | AL_1682_, |
| | | AL_1683_, |
| | | AL_1684_, |
| | | AL_1685_, |
| | | AL_1686_, |
| | | AL_1687_, |
| | | AL_1688_, |
| | | AL_1689_, |
| | | AL_1690_, |
| | | AL_1691_, |
| | | AL_1692_, |
| | | AL_1693_, |
| | | AL_1694_, |
| | | AL_1695_, |
| | | AL_1696_, |
| | | AL_1697_, |
| | | AL_1698_, |
| | | AL_1699_, |
| | | AL_1700_, |
| | | AL_1701_, |
| | | AL_1702_, |
| | | AL_1703_, |
| | | AL_1704_, |
| | | AL_1705_, |
| | | AL_1706_, |
| | | AL_1707_, |
| | | AL_1708_, |
| | | AL_1709_, |
| | | AL_1710_, |
| | | AL_1711_, |
| | | AL_1712_, |
| | | AL_1713_, |
| | | AL_1714_, |
| | | AL_1715_, |
| | | AL_1716_, |
| | | AL_1717_, |
| | | AL_1718_, |
| | | AL_1719_, |
| | | AL_1720_, |
| | | AL_1721_, |
| | | AL_1722_, |
| | | AL_1723_, |
| | | AL_1724_, |
| | | AL_1725_, |
| | | AL_1726_, |
| | | AL_1727_, |
| | | AL_1728_, |
| | | AL_1729_, |
| | | AL_1730_, |
| | | AL_1731_, |
| | | AL_1732_, |
| | | AL_1733_, |
| | | AL_1734_, |
| | | AL_1735_, |
| | | AL_1736_, |
| | | AL_1737_, |
| | | AL_1738_, |
| | | AL_1739_, |
| | | AL_1740_, |
| | | AL_1741_, |
| | | AL_1742_, |
| | | AL_1743_, |
| | | AL_1744_, |
| | | AL_1745_, |
| | | AL_1746_, |
| | | AL_1747_, |
| | | AL_1748_, |
| | | AL_1749_, |
| | | AL_1750_, |
| | | AL_1751_, |
| | | AL_1752_, |
| | | AL_1753_, |
| | | AL_1754_, |
| | | AL_1755_, |
| | | AL_1756_, |
| | | AL_1757_, |
| | | AL_1758_, |
| | | AL_1759_, |
| | | AL_1760_, |
| | | AL_1761_, |
| | | AL_1762_, |
| | | AL_1763_, |
| | | AL_1764_, |
| | | AL_1765_, |
| | | AL_1766_, |
| | | AL_1767_, |
| | | AL_1768_, |
| | | AL_1769_, |
| | | AL_1770_, |
| | | AL_1771_, |
| | | AL_1772_, |
| | | AL_1773_, |
| | | AL_1774_, |
| | | AL_1775_, |
| | | AL_1776_, |
| | | AL_1777_, |
| | | AL_1778_, |
| | | AL_1779_, |
| | | AL_1780_, |
| | | AL_1781_, |
| | | AL_1782_, |
| | | AL_1783_, |
| | | AL_1784_, |
| | | AL_1785_, |
| | | AL_1786_, |
| | | AL_1787_, |
| | | AL_1788_, |
| | | AL_1789_, |
| | | AL_1790_, |
| | | AL_1791_, |
| | | AL_1792_, |
| | | AL_1793_, |
| | | AL_1794_, |
| | | AL_1795_, |
| | | AL_1796_, |
| | | AL_1797_, |
| | | AL_1798_, |
| | | AL_1799_, |
| | | AL_1800_, |
| | | AL_1801_, |
| | | AL_1802_, |
| | | AL_1803_, |
| | | AL_1804_, |
| | | AL_1805_, |
| | | AL_1806_, |
| | | AL_1807_, |
| | | AL_1808_, |
| | | AL_1809_, |
| | | AL_1810_, |
| | | AL_1811_, |
| | | AL_1812_, |
| | | AL_1813_, |
| | | AL_1814_, |
| | | AL_1815_, |
| | | AL_1816_, |
| | | AL_1817_, |
| | | AL_1818_, |
| | | AL_1819_, |
| | | AL_1820_, |
| | | AL_1821_, |
| | | AL_1822_, |
| | | AL_1823_, |
| | | AL_1824_, |
| | | AL_1825_, |
| | | AL_1826_, |
| | | AL_1827_, |
| | | AL_1828_, |
| | | AL_1829_, |
| | | AL_1830_, |
| | | AL_1831_, |
| | | AL_1832_, |
| | | AL_1833_, |
| | | AL_1834_, |
| | | AL_1835_, |
| | | AL_1836_, |
| | | AL_1837_, |
| | | AL_1838_, |
| | | AL_1839_, |
| | | AL_1840_, |
| | | AL_1841_, |
| | | AL_1842_, |
| | | AL_1843_, |
| | | AL_1844_, |
| | | AL_1845_, |
| | | AL_1846_, |
| | | AL_1847_, |
| | | AL_1848_, |
| | | AL_1849_, |
| | | AL_1850_, |
| | | AL_1851_, |
| | | AL_1852_, |
| | | AL_1853_, |
| | | AL_1854_, |
| | | AL_1855_, |
| | | AL_1856_, |
| | | AL_1857_, |
| | | AL_1858_, |
| | | AL_1859_, |
| | | AL_1860_, |
| | | AL_1861_, |
| | | AL_1862_, |
| | | AL_1863_, |
| | | AL_1864_, |
| | | AL_1865_, |
| | | AL_1866_, |
| | | AL_1867_, |
| | | AL_1868_, |
| | | AL_1869_, |
| | | AL_1870_, |
| | | AL_1871_, |
| | | AL_1872_, |
| | | AL_1873_, |
| | | AL_1874_, |
| | | AL_1875_, |
| | | AL_1876_, |
| | | AL_1877_, |
| | | AL_1878_, |
| | | AL_1879_, |
| | | AL_1880_, |
| | | AL_1881_, |
| | | AL_1882_, |
| | | AL_1883_, |
| | | AL_1884_, |
| | | AL_1885_, |
| | | AL_1886_, |
| | | AL_1887_, |
| | | AL_1888_, |
| | | AL_1889_, |
| | | AL_1890_, |
| | | AL_1891_, |
| | | AL_1892_, |
| | | AL_1893_, |
| | | AL_1894_, |
| | | AL_1895_, |
| | | AL_1896_, |
| | | AL_1897_, |
| | | AL_1898_, |
| | | AL_1899_, |
| | | AL_1900_, |
| | | AL_1901_, |
| | | AL_1902_, |
| | | AL_1903_, |
| | | AL_1904_, |
| | | AL_1905_, |
| | | AL_1906_, |
| | | AL_1907_, |
| | | AL_1908_, |
| | | AL_1909_, |
| | | AL_1910_, |
| | | AL_1911_, |
| | | AL_1912_, |
| | | AL_1913_, |
| | | AL_1914_, |
| | | AL_1915_, |
| | | AL_1916_, |
| | | AL_1917_, |
| | | AL_1918_, |
| | | AL_1919_, |
| | | AL_1920_, |
| | | AL_1921_, |
| | | AL_1922_, |
| | | AL_1923_, |
| | | AL_1924_, |
| | | AL_1925_, |
| | | AL_1926_, |
| | | AL_1927_, |
| | | AL_1928_, |
| | | AL_1929_, |
| | | AL_1930_, |
| | | AL_1931_, |
| | | AL_1932_, |
| | | AL_1933_, |
| | | AL_1934_, |
| | | AL_1935_, |
| | | AL_1936_, |
| | | AL_1937_, |
| | | AL_1938_, |
| | | AL_1939_, |
| | | AL_1940_, |
| | | AL_1941_, |
| | | AL_1942_, |
| | | AL_1943_, |
| | | AL_1944_, |
| | | AL_1945_, |
| | | AL_1946_, |
| | | AL_1947_, |
| | | AL_1948_, |
| | | AL_1949_, |
| | | AL_1950_, |
| | | AL_1951_, |
| | | AL_1952_, |
| | | AL_1953_, |
| | | AL_1954_, |
| | | AL_1955_, |
| | | AL_1956_, |
| | | AL_1957_, |
| | | AL_1958_, |
| | | AL_1959_, |
| | | AL_1960_, |
| | | AL_1961_, |
| | | AL_1962_, |
| | | AL_1963_, |
| | | AL_1964_, |
| | | AL_1965_, |
| | | AL_1966_, |
| | | AL_1967_, |
| | | AL_1968_, |
| | | AL_1969_, |
| | | AL_1970_, |
| | | AL_1971_, |
| | | AL_1972_, |
| | | AL_1973_, |
| | | AL_1974_, |
| | | AL_1975_, |
| | | AL_1976_, |
| | | AL_1977_, |
| | | AL_1978_, |
| | | AL_1979_, |
| | | AL_1980_, |
| | | AL_1981_, |
| | | AL_1982_, |
| | | AL_1983_, |
| | | AL_1984_, |
| | | AL_1985_, |
| | | AL_1986_, |
| | | AL_1987_, |
| | | AL_1988_, |
| | | AL_1989_, |
| | | AL_1990_, |
| | | AL_1991_, |
| | | AL_1992_, |
| | | AL_1993_, |
| | | AL_1994_, |
| | | AL_1995_, |
| | | AL_1996_, |
| | | AL_1997_, |
| | | AL_1998_, |
| | | AL_1999_, |
| | | } |
| | | |
| | | public enum AlarmLevel |
| | | { |
| | | Light, |
| | | Heavy, |
| | | } |
| | | } |
| | | |
»õ ÆÄÀÏ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading; |
| | | using System.Threading.Tasks; |
| | | using System.Windows.Forms; |
| | | |
| | | namespace SA_LTT.Alarm |
| | | { |
| | | public delegate void AlarmOccurredEvent(Alarm occurredAlarm); |
| | | |
| | | public delegate void AlarmClearedEvent(); |
| | | |
| | | public class AlarmManager |
| | | { |
| | | public AlarmManager() |
| | | { |
| | | _alarms.Clear(); |
| | | OccurredAlarms.Clear(); |
| | | |
| | | ReadAlarmFile(); |
| | | } |
| | | |
| | | private string fileName = "Alarms.csv"; |
| | | |
| | | private Dictionary<AlarmCode, Alarm> _alarms = new Dictionary<AlarmCode, Alarm>(); |
| | | |
| | | public List<Alarm> OccurredAlarms = new List<Alarm>(); |
| | | |
| | | public event AlarmOccurredEvent Occurred; |
| | | |
| | | public event AlarmClearedEvent Cleared; |
| | | |
| | | /// <summary> |
| | | /// ìë íì¼ ì½ê¸°. |
| | | /// </summary> |
| | | private void ReadAlarmFile() |
| | | { |
| | | string path = Equipment.settingFilePath + fileName; |
| | | |
| | | // íì¼ ëë í 리 ìì¼ë©´ ìì±. |
| | | if (Directory.Exists(Equipment.settingFilePath) == false) |
| | | { |
| | | Directory.CreateDirectory(Equipment.settingFilePath); |
| | | } |
| | | |
| | | // íì¼ ìì¼ë©´ Alarm list ìì± í ë°í. |
| | | if (File.Exists(path) == false) |
| | | { |
| | | _alarms.Clear(); |
| | | |
| | | foreach (AlarmCode code in Enum.GetValues(typeof(AlarmCode))) |
| | | { |
| | | Alarm alarm = new Alarm(); |
| | | alarm.Code = code; |
| | | alarm.Level = AlarmLevel.Heavy; |
| | | alarm.Use = true; |
| | | alarm.Description = "None"; |
| | | alarm.OccurredTime = DateTime.Now; |
| | | |
| | | _alarms.Add(code, alarm); |
| | | } |
| | | |
| | | WriteAlarmFile(); |
| | | } |
| | | |
| | | string fileAlarmData = string.Empty; |
| | | |
| | | //íì¼ ì´ë ¤ìì´ë ì½ì ì ìëë¡ ì ì. |
| | | using (FileStream fs = File.Open(path, FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite)) |
| | | { |
| | | using (StreamReader sr = new StreamReader(fs, Encoding.Default)) |
| | | { |
| | | fileAlarmData = sr.ReadToEnd(); |
| | | sr.Close(); |
| | | } |
| | | |
| | | fs.Close(); |
| | | } |
| | | |
| | | string[] fileAlarms = fileAlarmData.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); |
| | | |
| | | // íì¼ìì Alarm ì ë³´ ì½ì´ì´. |
| | | foreach (var line in fileAlarms) |
| | | { |
| | | Alarm alarm = new Alarm(); |
| | | |
| | | string[] items = line.Split(','); |
| | | |
| | | if (items.Length < 5) |
| | | { |
| | | continue; |
| | | } |
| | | |
| | | AlarmCode code; |
| | | string description; |
| | | AlarmLevel level; |
| | | bool use; |
| | | DateTime time; |
| | | |
| | | if (Enum.TryParse(items[0], out code) == false) |
| | | { |
| | | continue; |
| | | } |
| | | |
| | | description = items[1]; |
| | | |
| | | if (Enum.TryParse(items[2], out level) == false) |
| | | { |
| | | level = AlarmLevel.Heavy; |
| | | } |
| | | |
| | | if(Boolean.TryParse(items[3], out use) == false) |
| | | { |
| | | use = true; |
| | | } |
| | | |
| | | if (DateTime.TryParse(items[4], out time) == false) |
| | | { |
| | | time = DateTime.Now; |
| | | } |
| | | |
| | | alarm.Code = code; |
| | | alarm.Description = description; |
| | | alarm.Level = level; |
| | | alarm.Use = use; |
| | | alarm.OccurredTime = time; |
| | | |
| | | if(_alarms.ContainsKey(code) == false) |
| | | { |
| | | _alarms.Add(code, alarm); |
| | | } |
| | | } |
| | | |
| | | // íì¼ìì ì½ì´ì¨ Alarm ê°¯ìì ì¤ì ìë ê°¯ìì ë§ì§ ìì¼ë©´ Alarm ìì±. |
| | | if (_alarms.Count != Enum.GetValues(typeof(AlarmCode)).Length) |
| | | { |
| | | // íì¼ìì ì½ì´ì¨ Alarmì ìë Alarm ìì±. |
| | | foreach (AlarmCode code in Enum.GetValues(typeof(AlarmCode))) |
| | | { |
| | | if (_alarms.ContainsKey(code) == false) |
| | | { |
| | | Alarm alarm = new Alarm(); |
| | | alarm.Code = code; |
| | | alarm.Description = "None"; |
| | | alarm.Level = AlarmLevel.Heavy; |
| | | alarm.Use = true; |
| | | alarm.OccurredTime = DateTime.Now; |
| | | |
| | | _alarms.Add(code, alarm); |
| | | } |
| | | } |
| | | |
| | | // ìë Keyê° ì¤ë¦ì°¨ì ì ë ¬ |
| | | _alarms = _alarms.OrderBy(i => i.Key).ToDictionary(i => i.Key, i => i.Value); |
| | | } |
| | | |
| | | // ìë ì ë³´ íì¼ ì ì¥. |
| | | WriteAlarmFile(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ìë íì¼ ì°ê¸°. |
| | | /// </summary> |
| | | private void WriteAlarmFile() |
| | | { |
| | | string path = Equipment.settingFilePath + fileName; |
| | | |
| | | if (Directory.Exists(Equipment.settingFilePath) == false) |
| | | { |
| | | Directory.CreateDirectory(Equipment.settingFilePath); |
| | | } |
| | | |
| | | StringBuilder sb = new StringBuilder(); |
| | | |
| | | foreach (Alarm alarm in _alarms.Values) |
| | | { |
| | | sb.AppendLine($"{alarm.Code},{alarm.Description},{alarm.Level},{alarm.Use},{alarm.OccurredTime.ToString("yyyy.MM.dd HH:mm:ss.fff")}"); |
| | | } |
| | | |
| | | try |
| | | { |
| | | File.WriteAllText(path, sb.ToString(), Encoding.Default); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | } |
| | | } |
| | | |
| | | public void Occur(AlarmCode code) |
| | | { |
| | | if (OccurredAlarms.Exists(x => x.Code == code) == false) |
| | | { |
| | | Alarm alarm = _alarms[code]; |
| | | |
| | | alarm.OccurredTime = DateTime.Now; |
| | | |
| | | if (alarm.Use == true) |
| | | { |
| | | Alarm copiedAlarm = alarm.Clone(); |
| | | OccurredAlarms.Add(copiedAlarm); |
| | | EquipmentLogManager.Instance.WriteAlarmOccurredLog($"{$"{copiedAlarm.Code},{copiedAlarm.Description},{copiedAlarm.Level}"}"); |
| | | Occurred?.Invoke(copiedAlarm); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void Clear() |
| | | { |
| | | OccurredAlarms.Clear(); |
| | | |
| | | Cleared?.Invoke(); |
| | | } |
| | | |
| | | public void Save(List<Alarm> alarms) |
| | | { |
| | | DateTime dt = DateTime.Now; |
| | | foreach (Alarm alarm in alarms) |
| | | { |
| | | if(alarm != _alarms[alarm.Code]) |
| | | { |
| | | Alarm oldAlarm = _alarms[alarm.Code]; |
| | | |
| | | //Alarm ë³ê²½ì ë¡ê·¸ ì´ë»ê² ë¨ê¸¸ì§ ê³ ë¯¼ì°. |
| | | |
| | | string differenceInfo = string.Empty; |
| | | |
| | | if(oldAlarm.Description != alarm.Description) |
| | | differenceInfo += $"{oldAlarm.Description} -> {alarm.Description},"; |
| | | else |
| | | differenceInfo += $"{alarm.Description},"; |
| | | |
| | | if (oldAlarm.Level != alarm.Level) |
| | | differenceInfo += $"{oldAlarm.Level} -> {alarm.Level},"; |
| | | else |
| | | differenceInfo += $"{alarm.Level},"; |
| | | |
| | | if (oldAlarm.Use != alarm.Use) |
| | | differenceInfo += $"{oldAlarm.Use} -> {alarm.Use}"; |
| | | else |
| | | differenceInfo += $"{alarm.Use}"; |
| | | |
| | | //ë³ê²½ ìë ë¡ê·¸. |
| | | EquipmentLogManager.Instance.WriteAlarmChangedLog($"{oldAlarm.Code},{differenceInfo}"); |
| | | } |
| | | |
| | | _alarms[alarm.Code] = alarm; |
| | | } |
| | | |
| | | TimeSpan ts = DateTime.Now - dt; |
| | | |
| | | WriteAlarmFile(); |
| | | } |
| | | |
| | | public SortedList<AlarmCode, Alarm> GetAlarms() |
| | | { |
| | | SortedList<AlarmCode, Alarm> list = new SortedList<AlarmCode, Alarm>(); |
| | | |
| | | foreach (Alarm alarm in _alarms.Values) |
| | | { |
| | | Alarm data = alarm.Clone(); |
| | | list.Add(data.Code, data); |
| | | } |
| | | |
| | | return list; |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using System; |
| | | using System.IO.Ports; |
| | | using System.Threading; |
| | | |
| | | namespace SA_LTT.Module |
| | | { |
| | | public abstract class ComPort |
| | | { |
| | | private object thisLock; |
| | | |
| | | private bool lockCheck; |
| | | |
| | | protected SerialPort serialPort; |
| | | |
| | | private string _terminator; |
| | | |
| | | private string _receivedData; |
| | | |
| | | private double _receiveWaitSeconds; |
| | | |
| | | public bool IsOpen |
| | | { |
| | | get |
| | | { |
| | | if (serialPort == null) |
| | | return false; |
| | | |
| | | return serialPort.IsOpen; |
| | | } |
| | | } |
| | | |
| | | public string PortName |
| | | { |
| | | get |
| | | { |
| | | return serialPort.PortName; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ì¢
ê²°ì ì¤ì . |
| | | /// </summary> |
| | | public string Terminator |
| | | { |
| | | get |
| | | { |
| | | return _terminator; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _terminator = value; |
| | | } |
| | | } |
| | | |
| | | public double ReceiveWaitSeconds |
| | | { |
| | | get |
| | | { |
| | | return _receiveWaitSeconds; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _receiveWaitSeconds = value; |
| | | } |
| | | } |
| | | |
| | | public ComPort(string portName = "COM1") |
| | | { |
| | | thisLock = new object(); |
| | | |
| | | serialPort = new SerialPort(); |
| | | |
| | | serialPort.PortName = portName; |
| | | serialPort.BaudRate = 9600; |
| | | serialPort.DataBits = 8; |
| | | serialPort.Parity = Parity.None; |
| | | serialPort.StopBits = StopBits.One; |
| | | serialPort.Handshake = Handshake.None; |
| | | serialPort.ReadTimeout = 500; |
| | | serialPort.WriteTimeout = 500; |
| | | Terminator = "\r\n"; |
| | | } |
| | | |
| | | public static string[] GetExistPortNames() |
| | | { |
| | | return SerialPort.GetPortNames(); |
| | | } |
| | | |
| | | public bool Open() |
| | | { |
| | | try |
| | | { |
| | | serialPort.Open(); |
| | | return true; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public bool Close() |
| | | { |
| | | try |
| | | { |
| | | serialPort.Close(); |
| | | return true; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | protected string WriteRead(string command) |
| | | { |
| | | string receivedData = string.Empty; |
| | | |
| | | lock (thisLock) |
| | | { |
| | | while (lockCheck) |
| | | Monitor.Wait(thisLock); |
| | | |
| | | try |
| | | { |
| | | lockCheck = true; |
| | | _receivedData = string.Empty; |
| | | if (serialPort.BytesToRead > 0) serialPort.ReadExisting(); |
| | | |
| | | serialPort.BaseStream.Flush(); |
| | | |
| | | serialPort.Write(command); |
| | | |
| | | DateTime check = DateTime.Now; |
| | | |
| | | while (true) |
| | | { |
| | | if ((DateTime.Now - check).TotalSeconds > ReceiveWaitSeconds) |
| | | { |
| | | check = DateTime.Now; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | while (true) |
| | | { |
| | | if (serialPort.BytesToRead > 0) |
| | | { |
| | | receivedData = serialPort.ReadExisting(); |
| | | |
| | | if(CheckTerminator(receivedData)) |
| | | { |
| | | if(Terminator == null) |
| | | { |
| | | if (serialPort.BytesToRead > 0) |
| | | continue; |
| | | } |
| | | receivedData = _receivedData; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if ((DateTime.Now - check).TotalMilliseconds > serialPort.ReadTimeout) |
| | | { |
| | | throw new TimeoutException($"receieve timeout"); |
| | | } |
| | | } |
| | | |
| | | return receivedData; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog($"{e.StackTrace}\r\n{serialPort.PortName} port, command : {command}, received data : {receivedData}, {e.Message}" ); |
| | | return receivedData; |
| | | } |
| | | finally |
| | | { |
| | | lockCheck = false; |
| | | Monitor.Pulse(thisLock); |
| | | } |
| | | } |
| | | } |
| | | |
| | | protected void Write(string command) |
| | | { |
| | | |
| | | lock (thisLock) |
| | | { |
| | | while (lockCheck) |
| | | Monitor.Wait(thisLock); |
| | | |
| | | try |
| | | { |
| | | lockCheck = true; |
| | | |
| | | serialPort.Write(command); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | } |
| | | finally |
| | | { |
| | | lockCheck = false; |
| | | Monitor.Pulse(thisLock); |
| | | } |
| | | } |
| | | } |
| | | |
| | | protected string WriteRead(byte[] command) |
| | | { |
| | | string receivedData = string.Empty; |
| | | |
| | | lock (thisLock) |
| | | { |
| | | while (lockCheck) |
| | | Monitor.Wait(thisLock); |
| | | |
| | | try |
| | | { |
| | | lockCheck = true; |
| | | _receivedData = string.Empty; |
| | | if (serialPort.BytesToRead > 0) serialPort.ReadExisting(); |
| | | |
| | | serialPort.BaseStream.Flush(); |
| | | |
| | | serialPort.Write(command, 0, command.Length); |
| | | |
| | | DateTime check = DateTime.Now; |
| | | |
| | | while(true) |
| | | { |
| | | if ((DateTime.Now - check).TotalSeconds > ReceiveWaitSeconds) |
| | | { |
| | | check = DateTime.Now; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | while (true) |
| | | { |
| | | if (serialPort.BytesToRead > 0) |
| | | { |
| | | receivedData = serialPort.ReadExisting(); |
| | | |
| | | if (CheckTerminator(receivedData)) |
| | | { |
| | | double aa = (DateTime.Now - check).TotalMilliseconds; |
| | | receivedData = _receivedData; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if ((DateTime.Now - check).TotalMilliseconds > serialPort.ReadTimeout) |
| | | { |
| | | throw new TimeoutException($"{serialPort.PortName} Port Receieve Timeout"); |
| | | } |
| | | } |
| | | |
| | | return receivedData; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | return receivedData; |
| | | } |
| | | finally |
| | | { |
| | | lockCheck = false; |
| | | Monitor.Pulse(thisLock); |
| | | } |
| | | } |
| | | } |
| | | |
| | | protected void Write(byte[] command) |
| | | { |
| | | |
| | | lock (thisLock) |
| | | { |
| | | while (lockCheck) |
| | | Monitor.Wait(thisLock); |
| | | |
| | | try |
| | | { |
| | | lockCheck = true; |
| | | |
| | | serialPort.Write(command, 0, command.Length); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | } |
| | | finally |
| | | { |
| | | lockCheck = false; |
| | | Monitor.Pulse(thisLock); |
| | | } |
| | | } |
| | | } |
| | | |
| | | protected string Read(double timeOutSec) |
| | | { |
| | | string receivedData = string.Empty; |
| | | DateTime check = DateTime.Now; |
| | | |
| | | lock (thisLock) |
| | | { |
| | | while (lockCheck) |
| | | Monitor.Wait(thisLock); |
| | | |
| | | try |
| | | { |
| | | lockCheck = true; |
| | | |
| | | while (true) |
| | | { |
| | | if (serialPort.BytesToRead > 0) |
| | | { |
| | | receivedData = serialPort.ReadExisting(); |
| | | |
| | | if (CheckTerminator(receivedData)) |
| | | { |
| | | receivedData = _receivedData; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if ((DateTime.Now - check).TotalSeconds > timeOutSec) |
| | | { |
| | | throw new TimeoutException($"{serialPort.PortName} Port Receieve Timeout"); |
| | | } |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | return receivedData; |
| | | } |
| | | finally |
| | | { |
| | | lockCheck = false; |
| | | Monitor.Pulse(thisLock); |
| | | } |
| | | } |
| | | |
| | | return receivedData; |
| | | } |
| | | |
| | | private bool CheckTerminator(string receivedData) |
| | | { |
| | | if (Terminator == null) |
| | | { |
| | | _receivedData += receivedData; |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | if (receivedData.Contains(Terminator) || _receivedData.Contains(Terminator)) |
| | | { |
| | | int terminatorLocation = receivedData.IndexOf(Terminator); |
| | | |
| | | if (receivedData.Length == terminatorLocation + Terminator.Length) |
| | | { |
| | | _receivedData += receivedData; |
| | | } |
| | | else |
| | | { |
| | | _receivedData += receivedData.Remove(terminatorLocation + Terminator.Length); |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | _receivedData += receivedData; |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using System.Diagnostics; |
| | | |
| | | namespace SA_LTT |
| | | { |
| | | public class SequenceTimer |
| | | { |
| | | #region Property |
| | | public double Seconds |
| | | { |
| | | get |
| | | { |
| | | return _stopwatch.Elapsed.TotalSeconds; |
| | | } |
| | | } |
| | | |
| | | public double Minute |
| | | { |
| | | get |
| | | { |
| | | return _stopwatch.Elapsed.TotalMinutes; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region Field |
| | | private Stopwatch _stopwatch; |
| | | #endregion |
| | | |
| | | #region Construct |
| | | public SequenceTimer() |
| | | { |
| | | _stopwatch = new Stopwatch(); |
| | | } |
| | | #endregion |
| | | |
| | | #region Fuction |
| | | public void Start() |
| | | { |
| | | if (_stopwatch.IsRunning == false) |
| | | { |
| | | _stopwatch.Start(); |
| | | } |
| | | } |
| | | |
| | | public void ReStart() |
| | | { |
| | | _stopwatch.Restart(); |
| | | } |
| | | |
| | | public void Stop() |
| | | { |
| | | if (_stopwatch.IsRunning == true) |
| | | { |
| | | _stopwatch.Stop(); |
| | | } |
| | | } |
| | | |
| | | public void Reset() |
| | | { |
| | | _stopwatch.Reset(); |
| | | } |
| | | #endregion |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using System; |
| | | using System.Collections; |
| | | using System.Net; |
| | | using System.Text; |
| | | using System.Threading; |
| | | using System.Net.Sockets; |
| | | |
| | | namespace SA_LTT.Base |
| | | { |
| | | public class SocketClient |
| | | { |
| | | #region Property |
| | | /// <summary> |
| | | /// Client socket |
| | | /// </summary> |
| | | private Socket sock; |
| | | |
| | | /// <summary> |
| | | /// Receive event handler |
| | | /// </summary> |
| | | private ReceiveEventHandler RecevedHandler; |
| | | |
| | | /// <summary> |
| | | /// Server ip to be connected |
| | | /// </summary> |
| | | public IPAddress Ip { get; private set; } |
| | | |
| | | /// <summary> |
| | | /// Server port to be connected |
| | | /// </summary> |
| | | public int Port { get; private set; } |
| | | |
| | | /// <summary> |
| | | /// Client name |
| | | /// </summary> |
| | | public string Name { get; private set; } |
| | | |
| | | public bool isConnected { get { return sock == null ? false : sock.Connected; } } |
| | | #endregion |
| | | |
| | | #region Construct |
| | | /// <summary> |
| | | /// Socket client construct |
| | | /// </summary> |
| | | /// <param name="ip"> Server ip to be connected</param> |
| | | /// <param name="port"> Server port to be connected</param> |
| | | public SocketClient() |
| | | { |
| | | this.Ip = IPAddress.Parse("127.0.0.1"); |
| | | this.Port = 8000; |
| | | this.Name = string.Empty; |
| | | |
| | | RecevedHandler = new ReceiveEventHandler(); |
| | | } |
| | | #endregion |
| | | |
| | | #region Fuction |
| | | public void ChangeAddress(IPAddress ip, int port) |
| | | { |
| | | if (isConnected) |
| | | { |
| | | Disconnect(); |
| | | } |
| | | |
| | | this.Ip = ip; |
| | | this.Port = port; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Connect to server |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public bool Connect() |
| | | { |
| | | try |
| | | { |
| | | if (sock == null) |
| | | sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); |
| | | else if (sock.Connected) |
| | | throw new Exception("socket is already connected."); |
| | | else |
| | | { |
| | | sock.Close(); |
| | | sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); |
| | | } |
| | | |
| | | IPEndPoint ipep = new IPEndPoint(Ip, Port); |
| | | |
| | | IAsyncResult async_result = sock.BeginConnect(ipep, new AsyncCallback(ConnectedCallback), sock); |
| | | |
| | | if (async_result.AsyncWaitHandle.WaitOne(5000, false)) |
| | | { |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | sock.Close(); |
| | | sock = null; |
| | | return false; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Add received Event |
| | | /// </summary> |
| | | /// <param name="Received_event">Received event</param> |
| | | /// <returns></returns> |
| | | public bool Add_received_event(ReceivedEvent Received_event) |
| | | { |
| | | try |
| | | { |
| | | RecevedHandler.ReceiveEvent += Received_event; |
| | | return true; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Disconnect to server |
| | | /// </summary> |
| | | public void Disconnect() |
| | | { |
| | | try |
| | | { |
| | | if (sock == null) |
| | | throw new Exception("socket is already disconnected"); |
| | | |
| | | this.sock.Close(); |
| | | |
| | | sock.Dispose(); |
| | | sock = null; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Async connected call back |
| | | /// </summary> |
| | | /// <param name="ar"></param> |
| | | private void ConnectedCallback(IAsyncResult ar) |
| | | { |
| | | try |
| | | { |
| | | Socket client = (Socket)ar.AsyncState; |
| | | |
| | | if (!client.Connected) return; |
| | | |
| | | client.EndConnect(ar); |
| | | sock = client; |
| | | |
| | | StateObject so = new StateObject(sock); |
| | | |
| | | so.workSocket.BeginReceive(so.buffer, 0, StateObject.BufferSize, 0, new AsyncCallback(RecieveCallback), so); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Async receieve call back |
| | | /// </summary> |
| | | /// <param name="ar"></param> |
| | | private void RecieveCallback(IAsyncResult ar) |
| | | { |
| | | try |
| | | { |
| | | StateObject so = (StateObject)ar.AsyncState; |
| | | |
| | | if (!so.workSocket.Connected) return; |
| | | |
| | | int byteread = so.workSocket.EndReceive(ar); |
| | | |
| | | if (byteread > 0) |
| | | { |
| | | so.Received_data.Append(Encoding.ASCII.GetString(so.buffer, 0, byteread)); |
| | | RecevedHandler.OnReceived(so); |
| | | StateObject so2 = new StateObject(so.workSocket); |
| | | so.workSocket.BeginReceive(so2.buffer, 0, StateObject.BufferSize, 0, new AsyncCallback(RecieveCallback), so2); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Send data |
| | | /// </summary> |
| | | /// <param name="data"></param> |
| | | /// <param name="clientid"></param> |
| | | /// <param name="sock"></param> |
| | | public bool SendData(string data) |
| | | { |
| | | try |
| | | { |
| | | byte[] buffer = Encoding.Default.GetBytes(data); |
| | | sock.BeginSend(buffer, 0, buffer.Length, 0, new AsyncCallback(SendCallback), sock); |
| | | return true; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Send data |
| | | /// </summary> |
| | | /// <param name="data"></param> |
| | | /// <returns></returns> |
| | | public bool SendData(byte[] data) |
| | | { |
| | | try |
| | | { |
| | | sock.BeginSend(data, 0, data.Length, 0, new AsyncCallback(SendCallback), sock); |
| | | return true; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Async Send call back |
| | | /// </summary> |
| | | /// <param name="ar"></param> |
| | | public void SendCallback(IAsyncResult ar) |
| | | { |
| | | try |
| | | { |
| | | Socket sock = (Socket)ar.AsyncState; |
| | | |
| | | int byteSent = sock.EndSend(ar); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | } |
| | | } |
| | | #endregion |
| | | } |
| | | |
| | | public delegate void ReceivedEvent(object obj, ReceiveEventArgs e); |
| | | |
| | | public class ReceiveEventHandler |
| | | { |
| | | /// <summary> |
| | | /// Recevied event |
| | | /// </summary> |
| | | public event ReceivedEvent ReceiveEvent; |
| | | |
| | | /// <summary> |
| | | /// Invoke an ReceiveEvent |
| | | /// </summary> |
| | | /// <param name="so">StateObject after received</param> |
| | | public virtual void OnReceived(StateObject so) |
| | | { |
| | | if (ReceiveEvent != null) |
| | | { |
| | | ReceiveEvent(this, new ReceiveEventArgs(so)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public class ReceiveEventArgs : EventArgs |
| | | { |
| | | public StateObject stateobject { get; private set; } |
| | | |
| | | /// <summary> |
| | | /// Socketì´ Received ëììë ì¬ì© |
| | | /// </summary> |
| | | /// <param name="so">Received ë íì StateObject ê°</param> |
| | | public ReceiveEventArgs(StateObject stateobject) |
| | | { |
| | | this.stateobject = stateobject; |
| | | } |
| | | } |
| | | |
| | | public class StateObject |
| | | { |
| | | /// <summary> |
| | | /// Received Sockect |
| | | /// </summary> |
| | | public Socket workSocket = null; |
| | | |
| | | /// <summary> |
| | | /// Maximum size that can be received |
| | | /// </summary> |
| | | public const int BufferSize = 256; |
| | | |
| | | /// <summary> |
| | | /// Received buffer |
| | | /// </summary> |
| | | public byte[] buffer = new byte[BufferSize]; |
| | | |
| | | /// <summary> |
| | | /// Received data string |
| | | /// </summary> |
| | | public StringBuilder Received_data = new StringBuilder(); |
| | | |
| | | public StateObject(Socket sock) |
| | | { |
| | | workSocket = sock; |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using System; |
| | | using System.IO; |
| | | using System.Reflection; |
| | | using System.Xml.Serialization; |
| | | |
| | | |
| | | namespace SA_LTT.Base |
| | | { |
| | | public abstract class XmlManager<T> where T : class |
| | | { |
| | | string _extension = ".xml"; |
| | | |
| | | public XmlManager() |
| | | { |
| | | |
| | | } |
| | | |
| | | protected void SaveFile(string filePath, T data) |
| | | { |
| | | try |
| | | { |
| | | XmlSerializer xmlSerializer = new XmlSerializer(typeof(T)); |
| | | |
| | | using (TextWriter textWriter = new StreamWriter(filePath)) |
| | | { |
| | | xmlSerializer.Serialize(textWriter, data); |
| | | textWriter.Close(); |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | } |
| | | } |
| | | |
| | | protected bool TrySaveFile(string filePath, T data) |
| | | { |
| | | try |
| | | { |
| | | XmlSerializer xmlSerializer = new XmlSerializer(typeof(T)); |
| | | |
| | | using (TextWriter textWriter = new StreamWriter(filePath)) |
| | | { |
| | | xmlSerializer.Serialize(textWriter, data); |
| | | textWriter.Close(); |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | protected T ReadFile(string filePath) |
| | | { |
| | | try |
| | | { |
| | | T data; |
| | | XmlSerializer xmlSerializer = new XmlSerializer(typeof(T)); |
| | | |
| | | using (TextReader textReader = new StreamReader(filePath)) |
| | | { |
| | | data = (T)xmlSerializer.Deserialize(textReader); |
| | | textReader.Close(); |
| | | } |
| | | |
| | | return data; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | protected bool TryReadFile(string filePath, out T data) |
| | | { |
| | | try |
| | | { |
| | | XmlSerializer xmlSerializer = new XmlSerializer(typeof(T)); |
| | | |
| | | using (TextReader textReader = new StreamReader(filePath)) |
| | | { |
| | | data = (T)xmlSerializer.Deserialize(textReader); |
| | | textReader.Close(); |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | data = null; |
| | | |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | protected void DeleteFile(string filePath) |
| | | { |
| | | FileInfo fileInfo = new FileInfo(filePath); |
| | | |
| | | if(fileInfo.Exists) |
| | | { |
| | | fileInfo.Delete(); |
| | | } |
| | | } |
| | | |
| | | public void Copy(T value) |
| | | { |
| | | foreach (PropertyInfo propertyInfo in this.GetType().GetProperties()) |
| | | { |
| | | // Set Method ê° ìì¼ë©´ ë°ë¡ ê°ì ë£ì§ ìì. |
| | | if(propertyInfo.GetSetMethod() != null) |
| | | { |
| | | propertyInfo.SetValue(this, propertyInfo.GetValue(value, null), null); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public T Clone() |
| | | { |
| | | T Tvalue = (T)this.MemberwiseClone(); |
| | | |
| | | return Tvalue; |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using SA_LTT.Alarm; |
| | | using SA_LTT.Info.AttenuatorCalInfo; |
| | | using SA_LTT.Info.EquipmentInfo; |
| | | using SA_LTT.Info.FoupInfo; |
| | | using SA_LTT.Info.RecipeInfo; |
| | | using SA_LTT.Info.WaferInfo; |
| | | using SA_LTT.Module; |
| | | using SA_LTT.Parameter; |
| | | using SA_LTT.UserInfo; |
| | | using System; |
| | | using System.Reflection; |
| | | using System.Threading; |
| | | using static SA_LTT.Info.WaferInfo.WaferInfoManager; |
| | | using static SA_LTT.Sequence; |
| | | |
| | | namespace SA_LTT |
| | | { |
| | | //ì¬ê¸°ìë ìì (Auto Keyê° ìì) ;; ê·¸ë¥ Maintì¼ ë Teachë¡.. |
| | | public enum EquipmentMode |
| | | { |
| | | Auto, |
| | | /// <summary> |
| | | /// Key teach mode |
| | | /// </summary> |
| | | Teach, |
| | | } |
| | | |
| | | public enum EquipmentStatus |
| | | { |
| | | /// <summary> |
| | | /// ì¥ë¹ ì´ì ìì. |
| | | /// </summary> |
| | | Nomal, |
| | | /// <summary> |
| | | /// ì¥ë¹ Heavy ìë ìí. |
| | | /// </summary> |
| | | Fault, |
| | | /// <summary> |
| | | /// ì¥ë¹ Light ìë ìí. |
| | | /// </summary> |
| | | Warning, |
| | | /// <summary> |
| | | /// ì¥ë¹ PM ìí |
| | | /// </summary> |
| | | PM, |
| | | } |
| | | |
| | | public enum ProcessStatus |
| | | { |
| | | /// <summary> |
| | | /// ë기ìí, (sequence ë기) |
| | | /// </summary> |
| | | Idle, |
| | | /// <summary> |
| | | /// ëììí, (sequence ëìì¤) |
| | | /// </summary> |
| | | Execute, |
| | | /// <summary> |
| | | /// ì ì§ ìí, (sequence ì¼ìì ì§) |
| | | /// </summary> |
| | | Pause, |
| | | /// <summary> |
| | | /// ì ì§ ë기 ìí, (sequence ì¼ìì ì§, Step ì§í ì¤.) |
| | | /// </summary> |
| | | PauseWait, |
| | | } |
| | | |
| | | public delegate void UserChangedEvnet(User changedUser); |
| | | |
| | | public class Equipment : IDisposable |
| | | { |
| | | /* |
| | | =========== Hardware ëª©ë¡ ================ |
| | | Laser |
| | | PreAligner |
| | | LED <- ? |
| | | GR200 |
| | | Temp |
| | | EFU |
| | | Robot // ì§ -ing |
| | | Chiller |
| | | Scanner // ì |
| | | Motor |
| | | IO |
| | | Attenuator // ì |
| | | ============================================ |
| | | |
| | | ============= Software ëª©ë¡ ================= |
| | | Alarm // ì |
| | | Recipe |
| | | |
| | | Mode(Teach/Auto) |
| | | EquipmentStatus(Nomal/Fault/PM) |
| | | ProcessStatus(Idle/Execute/Pause) |
| | | |
| | | UserParameter -> 미ì |
| | | SystemParameter -> 미ì |
| | | InterlockParameter -> 미ì |
| | | |
| | | UserInfo // ì |
| | | ============================================= |
| | | |
| | | */ |
| | | |
| | | /// <summary> |
| | | /// ì¤ì íì¼ ì ì¥ / parameter, alarm ë±. |
| | | /// </summary> |
| | | public const string settingFilePath = @"C:\SA_LTT\Config\"; |
| | | |
| | | /// <summary> |
| | | /// ì ë³´ íì¼ ì ì¥ / user, recipe ë±. |
| | | /// </summary> |
| | | public const string infoFilePath = @"C:\SA_LTT\Info\"; |
| | | |
| | | public const string Version = "001.000.000"; |
| | | |
| | | public static string UpdateDate; |
| | | |
| | | private EquipmentStatus _equipmentStatus = EquipmentStatus.Nomal; |
| | | private ProcessStatus _processStatus = ProcessStatus.Idle; |
| | | private EquipmentMode _equipmentMode = EquipmentMode.Teach; |
| | | |
| | | private bool CheckCST1Removed; |
| | | private bool CheckCST2Removed; |
| | | private bool _isRunStop; |
| | | private bool _isAutoRun; |
| | | |
| | | public EquipmentInfo equipmentInfo; |
| | | public AttenuatorCalInfo attenuatorCalInfo; |
| | | public ModeParameterManager modeParameterManager; |
| | | public SettingParameterManager settingParameterManager; |
| | | |
| | | public Crevis crevis; |
| | | public Scanner scanner; |
| | | public PreAligner preAligner; |
| | | public Robot robot; |
| | | public AlarmManager alarmManager; |
| | | public Attenuator attenuator; |
| | | public E5CC tempControl; |
| | | public FFU ffu; |
| | | public GR200 gr200; |
| | | public PowerPmacCtrl powerPmac; |
| | | public PiLaser piLaser; |
| | | public PowerMeter powerMeter; |
| | | public Chiller chiller; |
| | | |
| | | public Chamber chamber; |
| | | public UserManager userManager; |
| | | private User _user; |
| | | |
| | | public WaferInfoManager waferInfoManager; |
| | | public RecipeManager recipeManager; |
| | | public FoupRecipeManager foupRecipeManager; |
| | | public VisionControl visionControl; |
| | | |
| | | private Sequence _sequence; |
| | | private Thread t_ModuleUpdate; |
| | | private Thread t_Sequence; |
| | | private Thread t_UpdateTowerLamp; |
| | | |
| | | public event UserChangedEvnet UserChanged; |
| | | |
| | | public Foup port1Foup; |
| | | public Foup port2Foup; |
| | | |
| | | public bool SequencePause |
| | | { |
| | | get; |
| | | private set; |
| | | } |
| | | |
| | | public bool IsDisposed |
| | | { |
| | | get; |
| | | private set; |
| | | } |
| | | |
| | | public PmcSteps PmcStep |
| | | { |
| | | get |
| | | { |
| | | return _sequence.PmcStep; |
| | | } |
| | | } |
| | | |
| | | public TmcSteps TmcStep |
| | | { |
| | | get |
| | | { |
| | | return _sequence.TmcStep; |
| | | } |
| | | } |
| | | |
| | | public bool IsEnergyDropCheckRun |
| | | { |
| | | get |
| | | { |
| | | if (PmcSteps.EnergyDropCheckStart <= PmcStep && PmcStep <= PmcSteps.EnergyDropCheckEnd) |
| | | { |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| | | public bool IsAttenuatorCalRun |
| | | { |
| | | get |
| | | { |
| | | if (PmcSteps.AttenuatorCalStart <= PmcStep && PmcStep <= PmcSteps.AttenuatorCalEnd) |
| | | { |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| | | public double ProcessTactTimeSeconds |
| | | { |
| | | get |
| | | { |
| | | return _sequence.ProcessTactTimeSeconds; |
| | | } |
| | | } |
| | | |
| | | public EquipmentStatus EquipmentStatus |
| | | { |
| | | get |
| | | { |
| | | return _equipmentStatus; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _equipmentStatus = value; |
| | | } |
| | | } |
| | | |
| | | public ProcessStatus ProcessStatus |
| | | { |
| | | get |
| | | { |
| | | return _processStatus; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _processStatus = value; |
| | | } |
| | | } |
| | | |
| | | public EquipmentMode EquipmentMode |
| | | { |
| | | get |
| | | { |
| | | return _equipmentMode; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _equipmentMode = value; |
| | | } |
| | | } |
| | | |
| | | public bool IsLampOn |
| | | { |
| | | get |
| | | { |
| | | if(crevis.Connected) |
| | | { |
| | | return crevis.DigitalOutputs[Crevis.DigitalOutput.FLUORESCENT_LAMP_OFF] ? false : true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| | | public User User |
| | | { |
| | | get |
| | | { |
| | | return _user; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _user = value; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ë§ì§ë§ Wafer ì§í í ì¢
ë£. |
| | | /// </summary> |
| | | public bool IsRunStop |
| | | { |
| | | get |
| | | { |
| | | return _isRunStop; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _isRunStop = value; |
| | | } |
| | | } |
| | | |
| | | public bool IsAutoRun |
| | | { |
| | | get |
| | | { |
| | | return _isAutoRun; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _isAutoRun = value; |
| | | } |
| | | } |
| | | |
| | | private bool checkCycle = false; |
| | | |
| | | private System.Windows.Forms.Timer t_UiView = new System.Windows.Forms.Timer(); |
| | | private MessageBoxPad messageBoxPad = new MessageBoxPad(); |
| | | private string message; |
| | | bool messageboxPadShowBit; |
| | | |
| | | public Equipment() |
| | | { |
| | | InitializeParameter(); |
| | | InitializeData(); |
| | | InitializeModule(); |
| | | |
| | | Assembly assembly = Assembly.GetExecutingAssembly(); |
| | | DateTime buildTime = System.IO.File.GetLastWriteTime(assembly.Location); |
| | | UpdateDate = $"{buildTime.Year}-{buildTime.Month:D2}-{buildTime.Day:D2}"; |
| | | |
| | | _sequence = new Sequence(this); |
| | | |
| | | t_ModuleUpdate = new Thread(ModuleUpdate); |
| | | t_ModuleUpdate.Start(); |
| | | |
| | | t_Sequence = new Thread(SequenceRun); |
| | | t_Sequence.Start(); |
| | | |
| | | t_UpdateTowerLamp = new Thread(UpdateTowerLamp); |
| | | t_UpdateTowerLamp.Start(); |
| | | |
| | | while (checkCycle == false) ; |
| | | |
| | | EquipmentLogManager.Instance.WriteProcessLog($"Program start !!"); |
| | | |
| | | t_UiView.Tick += T_UiView_Tick; |
| | | t_UiView.Interval = 2000; |
| | | t_UiView.Start(); |
| | | } |
| | | |
| | | private void T_UiView_Tick(object sender, EventArgs e) |
| | | { |
| | | if(messageboxPadShowBit) |
| | | { |
| | | messageboxPadShowBit = false; |
| | | messageBoxPad.SetMessage(message); |
| | | messageBoxPad.Show(); |
| | | } |
| | | } |
| | | |
| | | public void SetMessageBox(string message = "") |
| | | { |
| | | this.message = message; |
| | | messageboxPadShowBit = true; |
| | | } |
| | | |
| | | private void InitializeParameter() |
| | | { |
| | | equipmentInfo = new EquipmentInfo(); |
| | | equipmentInfo.Refresh(); |
| | | |
| | | attenuatorCalInfo = new AttenuatorCalInfo(); |
| | | attenuatorCalInfo.Refresh(); |
| | | |
| | | attenuatorCalInfo.SetAttenuatorCalData(attenuatorCalInfo.GetAttenuatorCalData()); |
| | | modeParameterManager = new ModeParameterManager(); |
| | | settingParameterManager = new SettingParameterManager(); |
| | | |
| | | modeParameterManager.Refresh(); |
| | | settingParameterManager.Refresh(); |
| | | } |
| | | |
| | | private void InitializeData() |
| | | { |
| | | EquipmentMode = EquipmentMode.Auto; |
| | | EquipmentStatus = EquipmentStatus.Nomal; |
| | | ProcessStatus = ProcessStatus.Idle; |
| | | SequencePause = true; |
| | | |
| | | User = new User(); |
| | | |
| | | alarmManager = new AlarmManager(); |
| | | alarmManager.Occurred += AlarmManager_Occurred; |
| | | alarmManager.Cleared += AlarmManager_Cleared; |
| | | userManager = new UserManager(this); |
| | | waferInfoManager = new WaferInfoManager(this); |
| | | recipeManager = new RecipeManager(this); |
| | | foupRecipeManager = new FoupRecipeManager(this); |
| | | visionControl = new VisionControl(this); |
| | | |
| | | port1Foup = new Foup(this); |
| | | port1Foup.portNumber = 1; |
| | | |
| | | port2Foup = new Foup(this); |
| | | port2Foup.portNumber = 2; |
| | | } |
| | | |
| | | private void AlarmManager_Cleared() |
| | | { |
| | | |
| | | } |
| | | |
| | | private void AlarmManager_Occurred(Alarm.Alarm occurredAlarm) |
| | | { |
| | | //ìì, ë¶ì ì¬ì© ìí¨. |
| | | //crevis.WriteOutput(Crevis.DigitalOutput.BUZZER_1, true); |
| | | } |
| | | |
| | | private void InitializeModule() |
| | | { |
| | | crevis = new Crevis(this); |
| | | scanner = new Scanner(this); |
| | | scanner.Initialize(); |
| | | |
| | | preAligner = new PreAligner(this); |
| | | robot = new Robot(this); |
| | | attenuator = new Attenuator(this); |
| | | tempControl = new E5CC(this); |
| | | ffu = new FFU(this); |
| | | gr200 = new GR200(this); |
| | | powerPmac = new PowerPmacCtrl(this); |
| | | piLaser = new PiLaser(this); |
| | | chamber = new Chamber(this); |
| | | powerMeter = new PowerMeter(this); |
| | | chiller = new Chiller(this); |
| | | } |
| | | |
| | | private void ModuleUpdate() |
| | | { |
| | | while (IsDisposed == false) |
| | | { |
| | | Thread.Sleep(10); |
| | | |
| | | try |
| | | { |
| | | ScannerUpdate(); |
| | | UpdateWaferInfo(); |
| | | UpdateFoupInfo(); |
| | | CheckAlarm(); |
| | | UpdateEquipmentStatus(); |
| | | |
| | | if (checkCycle == false) |
| | | { |
| | | checkCycle = true; |
| | | } |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private void CheckAlarm() |
| | | { |
| | | bool check = false; |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.EMO_SW_1]) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0001_EMO_STOP_1); |
| | | check = true; |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.EMO_SW_2]) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0002_EMO_STOP_2); |
| | | check = true; |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.EMO_SW_3]) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0003_EMO_STOP_3); |
| | | check = true; |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.EMO_SW_4]) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0004_EMO_STOP_4); |
| | | check = true; |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.SMOKE_DETECTOR_CP_BOX]) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0005_SMOKE_DETECTOR_ON); |
| | | check = true; |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.SERVO_MC_STATUS] == false) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0020_SERVO_MC_OFF); |
| | | check = true; |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.VACUUM_MC_STATUS]) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0021_VACUUM_MC_OFF); |
| | | check = true; |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.WATER_LEAK_LASER] == false) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0030_LASER_WATER_LEAK); |
| | | check = true; |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.WATER_LEAK_CHILLER] == false) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0031_CHILLER_WATER_LEAK); |
| | | check = true; |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.MAIN_CDA_PRESSURE] == false) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0040_MAIN_CDA_PRESSURE); |
| | | check = true; |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.MAIN_VAC_PRESSURE] == false) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0041_MAIN_VAC_PRESSURE); |
| | | check = true; |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.MAIN_CDA_FLOW]) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0042_MAIN_CDA_FLOW); |
| | | check = true; |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.CMB_VACUUM_PRESSURE]) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0043_CMB_VAC_PRESSURE); |
| | | check = true; |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.DOOR_LOCK_OPEN_1]) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0010_DOOR_OPEN_1); |
| | | check = true; |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.DOOR_LOCK_OPEN_2]) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0011_DOOR_OPEN_2); |
| | | check = true; |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.DOOR_LOCK_OPEN_3]) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0012_DOOR_OPEN_3); |
| | | check = true; |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.DOOR_LOCK_OPEN_4]) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0013_DOOR_OPEN_4); |
| | | check = true; |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.CP_BOX_OPEN]) |
| | | { |
| | | alarmManager.Occur(AlarmCode.AL_0014_DOOR_OPEN_CP); |
| | | check = true; |
| | | } |
| | | } |
| | | |
| | | private void UpdateTowerLamp() |
| | | { |
| | | /* |
| | | * ========== RED (Equipment status)========== |
| | | * ì ë± : Fault ìí ì¤ë¹ ì´ì ë¶ê°. (Heavy Alarm) |
| | | * ì 멸 : Warning ìí ì¤ë¹ ì¬ì© ê°ë¥. (Light Alarm) |
| | | * ìë± : ì¬ì© ê°ë¥ |
| | | * ========== YELLOW (Equipment Mode)========== |
| | | * ì ë± : Teach Mode |
| | | * ì 멸 : X |
| | | * ìë± : Atuo Mode |
| | | * ========== GREEN (Process status)========== |
| | | * ì ë± : Sequence ëì ì¤ |
| | | * ì 멸 : Sequence ì¼ì ì ì§ |
| | | * ìë± : Sequence ì ì§ ìí. |
| | | */ |
| | | while (IsDisposed == false) |
| | | { |
| | | Thread.Sleep(500); |
| | | |
| | | try |
| | | { |
| | | // Red |
| | | if (alarmManager.OccurredAlarms.Count > 0) |
| | | { |
| | | if (alarmManager.OccurredAlarms.Exists(x => x.Level == AlarmLevel.Heavy)) |
| | | { |
| | | if (crevis.DigitalOutputs[Crevis.DigitalOutput.SIGNAL_TOWER_RED] == false) |
| | | crevis.WriteOutput(Crevis.DigitalOutput.SIGNAL_TOWER_RED, true); |
| | | } |
| | | else |
| | | { |
| | | crevis.WriteOutput(Crevis.DigitalOutput.SIGNAL_TOWER_RED, !crevis.DigitalOutputs[Crevis.DigitalOutput.SIGNAL_TOWER_RED]); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (crevis.DigitalOutputs[Crevis.DigitalOutput.SIGNAL_TOWER_RED]) |
| | | crevis.WriteOutput(Crevis.DigitalOutput.SIGNAL_TOWER_RED, false); |
| | | } |
| | | |
| | | //Yellow |
| | | if (EquipmentMode == EquipmentMode.Auto) |
| | | { |
| | | if (crevis.DigitalOutputs[Crevis.DigitalOutput.SIGNAL_TOWER_YELLOW]) |
| | | crevis.WriteOutput(Crevis.DigitalOutput.SIGNAL_TOWER_YELLOW, false); |
| | | } |
| | | else |
| | | { |
| | | if (crevis.DigitalOutputs[Crevis.DigitalOutput.SIGNAL_TOWER_YELLOW] == false) |
| | | crevis.WriteOutput(Crevis.DigitalOutput.SIGNAL_TOWER_YELLOW, true); |
| | | } |
| | | |
| | | //Green |
| | | if (ProcessStatus == ProcessStatus.Execute) |
| | | { |
| | | if (crevis.DigitalOutputs[Crevis.DigitalOutput.SIGNAL_TOWER_GREEN] == false) |
| | | crevis.WriteOutput(Crevis.DigitalOutput.SIGNAL_TOWER_GREEN, true); |
| | | } |
| | | else if (ProcessStatus == ProcessStatus.Idle) |
| | | { |
| | | if (crevis.DigitalOutputs[Crevis.DigitalOutput.SIGNAL_TOWER_GREEN]) |
| | | crevis.WriteOutput(Crevis.DigitalOutput.SIGNAL_TOWER_GREEN, false); |
| | | } |
| | | else |
| | | { |
| | | crevis.WriteOutput(Crevis.DigitalOutput.SIGNAL_TOWER_GREEN, !crevis.DigitalOutputs[Crevis.DigitalOutput.SIGNAL_TOWER_GREEN]); |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private bool IsInterlock() |
| | | { |
| | | bool check = false; |
| | | |
| | | // Robot ì¸í°ë½ |
| | | if(robot.IsError) |
| | | { |
| | | check = true; |
| | | } |
| | | |
| | | // Vision Interlock |
| | | if (modeParameterManager.ModeParameter.AlignUse) |
| | | { |
| | | if(crevis.DigitalOutputs[Crevis.DigitalOutput.FLUORESCENT_LAMP_OFF] == false) |
| | | { |
| | | SetMessageBox("Align ì¬ì©ì Lamp를 꺼주ì¸ì."); |
| | | check = true; |
| | | } |
| | | } |
| | | |
| | | // PreAligner ì¸í°ë½ |
| | | //if(preAligner.IsHome == false) // Home ìíê° ê³ì offë¡ ë¤ì´ì´; |
| | | //{ |
| | | // check = true; |
| | | //} |
| | | |
| | | // ì¥ë¹ ìí ì¸í°ë½ |
| | | |
| | | if (EquipmentMode == EquipmentMode.Teach) //ì¥ë¹ Mode íì¸ |
| | | { |
| | | check = true; |
| | | } |
| | | |
| | | if (EquipmentStatus == EquipmentStatus.Fault) //ì¥ë¹ ìí íì¸ |
| | | { |
| | | check = true; |
| | | } |
| | | |
| | | return check; |
| | | } |
| | | |
| | | private void SequenceRun() |
| | | { |
| | | while (IsDisposed == false) |
| | | { |
| | | Thread.Sleep(50); |
| | | |
| | | try |
| | | { |
| | | /* |
| | | * Auto -> Sequence ëì ì§í ì¤. |
| | | * PauseWait -> Sequence ëì ì¤ ì¼ìì ì§ ë기. |
| | | * Pause -> Sequence ëì ì¤ ì¼ì ì ì§. |
| | | * Idle -> Sequence ë기 ìí. |
| | | */ |
| | | |
| | | if (IsInterlock()) // Interlock ë°ì. |
| | | { |
| | | ProcessPause(); |
| | | |
| | | if (_sequence.IsTmcStepPauseEnable == false) |
| | | { |
| | | _sequence.TmcSequence(); |
| | | } |
| | | |
| | | if (_sequence.IsPmcStepPauseEnable == false) |
| | | { |
| | | _sequence.PmcSequence(); |
| | | } |
| | | } |
| | | else // Interlock ë°ì ìí¨. |
| | | { |
| | | if(SequencePause) // Pause ìí |
| | | { |
| | | if (_sequence.IsTmcStepPauseEnable == false) |
| | | { |
| | | _sequence.TmcSequence(); |
| | | } |
| | | |
| | | if(_sequence.IsPmcStepPauseEnable == false) |
| | | { |
| | | _sequence.PmcSequence(); |
| | | } |
| | | } |
| | | else // Excute ìí |
| | | { |
| | | //Todo. Shutter always useë ìê´ ìì´ Energy drop check, attenuator cal ëë íì ì´ì´ëìê¹ ..? |
| | | if (modeParameterManager.ModeParameter.ShutterAlwaysUse) |
| | | { |
| | | if (PmcStep != PmcSteps.Wait) |
| | | { |
| | | if (crevis.DigitalOutputs[Crevis.DigitalOutput.LASER_SHUTTER_OPEN_SOL] == false) |
| | | { |
| | | crevis.WriteOutput(Crevis.DigitalOutput.LASER_SHUTTER_OPEN_SOL, true); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (IsEnergyDropCheckTime()) |
| | | { |
| | | //Tmc ì§í ì¤ ì¼ ëë§ ì¤í. |
| | | if (_sequence.TmcStep != TmcSteps.Wait) |
| | | { |
| | | _sequence.EnergyDropCheckStart(); |
| | | } |
| | | } |
| | | |
| | | if(IsAttenuatorCalTime()) |
| | | { |
| | | //Tmc ì§í ì¤ ì¼ ëë§ ì¤í. |
| | | if (_sequence.TmcStep != TmcSteps.Wait) |
| | | { |
| | | _sequence.AttenuatorCalStart(); |
| | | } |
| | | } |
| | | |
| | | _sequence.PmcSequence(); |
| | | _sequence.TmcSequence(); |
| | | } |
| | | } |
| | | |
| | | UpdateProcessStatus(); |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public bool IsEnergyDropCheckTime() |
| | | { |
| | | if (modeParameterManager.ModeParameter.EnergyDropCheckUse) |
| | | { |
| | | if ((DateTime.Now - equipmentInfo.EnergyDropCheckDate).TotalHours > settingParameterManager.SettingParameter.EnergyDropCheckCycle) |
| | | { |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public bool IsAttenuatorCalTime() |
| | | { |
| | | if (modeParameterManager.ModeParameter.AttenuatorCalUse) |
| | | { |
| | | if ((DateTime.Now - equipmentInfo.AttenuatorCalDate).TotalHours > settingParameterManager.SettingParameter.AttenuatorCalCycle) |
| | | { |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | private void UpdateEquipmentStatus() |
| | | { |
| | | if(alarmManager.OccurredAlarms.Count > 0) |
| | | { |
| | | if(alarmManager.OccurredAlarms.Exists(x=>x.Level == AlarmLevel.Heavy)) |
| | | { |
| | | EquipmentStatus = EquipmentStatus.Fault; |
| | | } |
| | | else |
| | | { |
| | | EquipmentStatus = EquipmentStatus.Warning; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (EquipmentMode == EquipmentMode.Teach) |
| | | { |
| | | EquipmentStatus = EquipmentStatus.PM; |
| | | } |
| | | else |
| | | { |
| | | EquipmentStatus = EquipmentStatus.Nomal; |
| | | } |
| | | } |
| | | } |
| | | |
| | | private void UpdateProcessStatus() |
| | | { |
| | | if (SequencePause == false && _sequence.PmcStep == Sequence.PmcSteps.Wait && _sequence.TmcStep == Sequence.TmcSteps.Wait) |
| | | { |
| | | ProcessStatus = ProcessStatus.Idle; |
| | | ProcessPause(); |
| | | } |
| | | else if (SequencePause) |
| | | { |
| | | if (_sequence.IsTmcStepPauseEnable && _sequence.IsPmcStepPauseEnable) |
| | | { |
| | | if(_sequence.PmcStep == Sequence.PmcSteps.Wait && _sequence.TmcStep == Sequence.TmcSteps.Wait) |
| | | { |
| | | ProcessStatus = ProcessStatus.Idle; |
| | | } |
| | | else |
| | | { |
| | | ProcessStatus = ProcessStatus.Pause; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | ProcessStatus = ProcessStatus.PauseWait; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | ProcessStatus = ProcessStatus.Execute; |
| | | } |
| | | } |
| | | |
| | | private void ScannerUpdate() |
| | | { |
| | | if(scanner.IsInitialized) |
| | | { |
| | | scanner.GetBusy(); |
| | | scanner.GetLaserOn(); |
| | | } |
| | | |
| | | //Laser Onì¼ ë Board On |
| | | if(scanner.IsLaserOn) |
| | | { |
| | | if (crevis.DigitalOutputs[Crevis.DigitalOutput.LASER_LED_BOARD_ON] == false) |
| | | crevis.WriteOutput(Crevis.DigitalOutput.LASER_LED_BOARD_ON, true); |
| | | } |
| | | else |
| | | { |
| | | if (crevis.DigitalOutputs[Crevis.DigitalOutput.LASER_LED_BOARD_ON] == true) |
| | | crevis.WriteOutput(Crevis.DigitalOutput.LASER_LED_BOARD_ON, false); |
| | | } |
| | | } |
| | | |
| | | private void UpdateWaferInfo() |
| | | { |
| | | //CST 1ë² ì ê±° ë ì Port1 Wafer Info ì´ê¸°í. |
| | | if(crevis.DigitalInputs[Crevis.DigitalInput.CST_DETECTOR_1]) |
| | | { |
| | | CheckCST1Removed = false; |
| | | } |
| | | else |
| | | { |
| | | if (CheckCST1Removed == false) |
| | | { |
| | | WaferInfo waferInfo = new WaferInfo(); |
| | | WaferNumbers waferNumber = WaferNumbers.A1; |
| | | |
| | | for (int i = 0; i < 25; i++) |
| | | { |
| | | waferInfo.SourceNumber = waferNumber + i; |
| | | waferInfoManager.SetWaferInfo(waferNumber + i, waferInfo.Clone()); |
| | | } |
| | | |
| | | CheckCST1Removed = true; |
| | | } |
| | | } |
| | | |
| | | //CST 2ë² ì ê±° ë ì Port2 Wafer Info ì´ê¸°í. |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.CST_DETECTOR_2]) |
| | | { |
| | | CheckCST2Removed = false; |
| | | } |
| | | else |
| | | { |
| | | if (CheckCST2Removed == false) |
| | | { |
| | | WaferInfo waferInfo = new WaferInfo(); |
| | | WaferNumbers waferNumber = WaferNumbers.B1; |
| | | |
| | | for (int i = 0; i < 25; i++) |
| | | { |
| | | waferInfo.SourceNumber = waferNumber + i; |
| | | waferInfoManager.SetWaferInfo(waferNumber + i, waferInfo.Clone()); |
| | | } |
| | | |
| | | CheckCST2Removed = true; |
| | | } |
| | | } |
| | | |
| | | //ë¡ë´ ëì ìí ë |
| | | if(robot.IsRunEnable && robot.IsPutGetRun == false) |
| | | { |
| | | //Robot Wafer info ë기í, ì 매ì°... |
| | | if (robot.IsWaferExist) |
| | | { |
| | | WaferInfo waferInfo = waferInfoManager.GetWaferInfo(WaferNumbers.Robot); |
| | | |
| | | if (waferInfo.IsStatus == WaferInfo.WaferStatus.Empty) |
| | | { |
| | | //ìí Error ìë? |
| | | waferInfo.IsStatus = WaferInfo.WaferStatus.Exist; |
| | | waferInfoManager.SetWaferInfo(WaferNumbers.Robot, waferInfo); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | WaferInfo waferInfo = waferInfoManager.GetWaferInfo(WaferNumbers.Robot); |
| | | |
| | | if (waferInfo.IsStatus != WaferInfo.WaferStatus.Empty) |
| | | { |
| | | //ìí Error ìë? |
| | | waferInfo.IsStatus = WaferInfo.WaferStatus.Empty; |
| | | waferInfoManager.SetWaferInfo(WaferNumbers.Robot, waferInfo); |
| | | } |
| | | } |
| | | |
| | | //Aligner Wafer info ë기í, ì 매ì°... |
| | | if (preAligner.IsWaferExist) |
| | | { |
| | | WaferInfo waferInfo = waferInfoManager.GetWaferInfo(WaferNumbers.PreAligner); |
| | | |
| | | if (waferInfo.IsStatus == WaferInfo.WaferStatus.Empty) |
| | | { |
| | | //ìí Error ìë? |
| | | waferInfo.IsStatus = WaferInfo.WaferStatus.Exist; |
| | | waferInfoManager.SetWaferInfo(WaferNumbers.PreAligner, waferInfo); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | WaferInfo waferInfo = waferInfoManager.GetWaferInfo(WaferNumbers.PreAligner); |
| | | |
| | | if (waferInfo.IsStatus != WaferInfo.WaferStatus.Empty) |
| | | { |
| | | //ìí Error ìë? |
| | | waferInfo.IsStatus = WaferInfo.WaferStatus.Empty; |
| | | waferInfoManager.SetWaferInfo(WaferNumbers.PreAligner, waferInfo); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | private void UpdateFoupInfo() |
| | | { |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.CST_DETECTOR_1] == false) |
| | | { |
| | | port1Foup.status = FoupStatus.Empty; |
| | | } |
| | | else |
| | | { |
| | | if(port1Foup.status == FoupStatus.Empty) |
| | | { |
| | | port1Foup.status = FoupStatus.Ready; |
| | | } |
| | | } |
| | | |
| | | if (crevis.DigitalInputs[Crevis.DigitalInput.CST_DETECTOR_2] == false) |
| | | { |
| | | port2Foup.status = FoupStatus.Empty; |
| | | } |
| | | else |
| | | { |
| | | if (port2Foup.status == FoupStatus.Empty) |
| | | { |
| | | port2Foup.status = FoupStatus.Ready; |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void Dispose() |
| | | { |
| | | EquipmentLogManager.Instance.WriteProcessLog($"Program end !!"); |
| | | IsDisposed = true; |
| | | } |
| | | |
| | | public bool ChangeUser(string userName) |
| | | { |
| | | if (userManager.ExistsUser(userName)) |
| | | { |
| | | User = userManager.GetUser(userName); |
| | | UserChanged?.Invoke(User.Clone()); |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public void LogOut() |
| | | { |
| | | User user = new User(); |
| | | user.Name = string.Empty; |
| | | user.Level = UserLevel.Operator; |
| | | user.Password = "1234"; |
| | | |
| | | User = user; |
| | | |
| | | UserChanged?.Invoke(User.Clone()); |
| | | } |
| | | |
| | | public void BuzzerStop() |
| | | { |
| | | crevis.WriteOutput(Crevis.DigitalOutput.BUZZER_1, false); |
| | | crevis.WriteOutput(Crevis.DigitalOutput.BUZZER_2, false); |
| | | crevis.WriteOutput(Crevis.DigitalOutput.BUZZER_3, false); |
| | | crevis.WriteOutput(Crevis.DigitalOutput.BUZZER_4, false); |
| | | } |
| | | |
| | | public void LampOn() |
| | | { |
| | | crevis.WriteOutput(Crevis.DigitalOutput.FLUORESCENT_LAMP_OFF, false); |
| | | } |
| | | |
| | | public void LampOff() |
| | | { |
| | | crevis.WriteOutput(Crevis.DigitalOutput.FLUORESCENT_LAMP_OFF, true); |
| | | } |
| | | |
| | | public void EmoStop() |
| | | { |
| | | /* |
| | | Process stop 목ë¡========= |
| | | process pause |
| | | Motor ì ì§. |
| | | Scanner ì ì§, laser off |
| | | |
| | | IO off 목ë¡====== |
| | | N2 MFC Valve on sol off |
| | | N2 CHB valve on sol off |
| | | CHB bypass on sol on |
| | | */ |
| | | if(ProcessStatus == ProcessStatus.Execute) |
| | | { |
| | | ProcessPause(); |
| | | } |
| | | |
| | | if(chamber.IsInposition == false) |
| | | { |
| | | chamber.AllStop(); |
| | | } |
| | | |
| | | if(scanner.IsBusy) |
| | | { |
| | | scanner.Stop(); |
| | | } |
| | | |
| | | if(scanner.IsLaserOn) |
| | | { |
| | | scanner.LaserOff(); |
| | | } |
| | | |
| | | if(crevis.DigitalOutputs[Crevis.DigitalOutput.N2_MFC_VALVE_ON_SOL] != false) |
| | | { |
| | | crevis.WriteOutput(Crevis.DigitalOutput.N2_MFC_VALVE_ON_SOL, false); |
| | | } |
| | | |
| | | if (crevis.DigitalOutputs[Crevis.DigitalOutput.N2_CHAMBER_VALVE_ON_SOL] != false) |
| | | { |
| | | crevis.WriteOutput(Crevis.DigitalOutput.N2_CHAMBER_VALVE_ON_SOL, false); |
| | | } |
| | | |
| | | if (crevis.DigitalOutputs[Crevis.DigitalOutput.CMB_BYPASS_ON_SOL] != true) |
| | | { |
| | | crevis.WriteOutput(Crevis.DigitalOutput.CMB_BYPASS_ON_SOL, true); |
| | | } |
| | | } |
| | | |
| | | public void ProcessStartCheck() |
| | | { |
| | | if(User.Level == UserLevel.Operator) |
| | | { |
| | | // door close ìíìì ê°ë¥. |
| | | } |
| | | else if (User.Level == UserLevel.Engineer) |
| | | { |
| | | // door close ìíìì ê°ë¥. |
| | | } |
| | | else if (User.Level == UserLevel.Master) |
| | | { |
| | | // Interlock í´ì . |
| | | } |
| | | } |
| | | |
| | | public bool ChangeMode(EquipmentMode mode) |
| | | { |
| | | if(EquipmentMode == mode) |
| | | { |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | //ëì¤ì ì¸í°ë½ 걸기; |
| | | if(ProcessStatus == ProcessStatus.Idle) |
| | | { |
| | | EquipmentMode = mode; |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| | | public bool ChangeEquipementStatus(EquipmentStatus status) |
| | | { |
| | | if(EquipmentStatus == status) |
| | | { |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | if (EquipmentStatus == EquipmentStatus.Nomal) |
| | | { |
| | | if (status == EquipmentStatus.Fault || status == EquipmentStatus.Warning) |
| | | { |
| | | if (alarmManager.OccurredAlarms.Count == 0) |
| | | { |
| | | EquipmentStatus = status; |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | |
| | | } |
| | | } |
| | | } |
| | | else if (EquipmentStatus == EquipmentStatus.Fault) |
| | | { |
| | | if(status == EquipmentStatus.Nomal) |
| | | { |
| | | if(alarmManager.OccurredAlarms.Count == 0) |
| | | { |
| | | EquipmentStatus = status; |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | |
| | | } |
| | | } |
| | | } |
| | | else if (EquipmentStatus == EquipmentStatus.Warning) |
| | | { |
| | | |
| | | } |
| | | else if (EquipmentStatus == EquipmentStatus.PM) |
| | | { |
| | | EquipmentStatus = status; |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | public bool ProcessStart() |
| | | { |
| | | //Teach or Fault |
| | | if (EquipmentMode == EquipmentMode.Teach || EquipmentStatus == EquipmentStatus.Fault) |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | if(TmcStep == TmcSteps.Wait && PmcStep == PmcSteps.Wait) |
| | | { |
| | | for (int i = (int)WaferNumbers.B25 + 1; i < Enum.GetValues(typeof(WaferNumbers)).Length; i++) |
| | | { |
| | | if (waferInfoManager.GetWaferInfo((WaferNumbers)i).IsStatus != WaferInfo.WaferStatus.Empty) |
| | | { |
| | | SetMessageBox("ë´ë¶ì Waferê° ì¡´ì¬í©ëë¤."); |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| | | _sequence.ProcessStart(); |
| | | SequencePause = false; |
| | | return true; |
| | | } |
| | | |
| | | public bool ProcessStartInterlock() |
| | | { |
| | | if (piLaser.CurrentPiLaserStatus.EnableLdd == false) |
| | | { |
| | | SetMessageBox("LDD ê° ì´ë ¤ìì§ ììµëë¤."); |
| | | return false; |
| | | } |
| | | |
| | | if (piLaser.CurrentPiLaserStatus.EnableShutter == false) |
| | | { |
| | | SetMessageBox("Laser shutterê° ì´ë ¤ìì§ ììµëë¤."); |
| | | return false; |
| | | } |
| | | |
| | | if (piLaser.CurrentPiLaserStatus.SetCurrent != piLaser.CurrentPiLaserStatus.MaxCurrent) |
| | | { |
| | | SetMessageBox("Laser set currentê° maxê°ì´ ìëëë¤."); |
| | | return false; |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | |
| | | public bool ManualProcessStart() |
| | | { |
| | | //Teach or Fault |
| | | if (EquipmentMode == EquipmentMode.Teach || EquipmentStatus == EquipmentStatus.Fault || ProcessStatus != ProcessStatus.Idle) |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | if (_sequence.ManualProcessStart()) |
| | | { |
| | | SequencePause = false; |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public bool ManualEnergyDropCheckStart() |
| | | { |
| | | if (EquipmentMode == EquipmentMode.Teach || EquipmentStatus == EquipmentStatus.Fault || ProcessStatus != ProcessStatus.Idle) |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | if (_sequence.EnergyDropCheckStart()) |
| | | { |
| | | SequencePause = false; |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public bool EnergyDropCheckStop() |
| | | { |
| | | SequencePause = false; |
| | | return _sequence.EnergyDropCheckStop(); |
| | | } |
| | | |
| | | public bool ManualAttenuatorCalStart() |
| | | { |
| | | if (EquipmentMode == EquipmentMode.Teach || EquipmentStatus == EquipmentStatus.Fault || ProcessStatus != ProcessStatus.Idle) |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | if (_sequence.AttenuatorCalStart()) |
| | | { |
| | | SequencePause = false; |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public bool AttenuatorCalStop() |
| | | { |
| | | SequencePause = false; |
| | | return _sequence.AttenuatorCalStop(); |
| | | } |
| | | |
| | | public void ProcessPause() |
| | | { |
| | | if(SequencePause == false) |
| | | { |
| | | EquipmentLogManager.Instance.WriteProcessLog($"Process pause"); |
| | | SequencePause = true; |
| | | } |
| | | } |
| | | |
| | | public bool ProcessStop() |
| | | { |
| | | if(ProcessStatus == ProcessStatus.Execute) |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | if(_sequence.ProcessStop()) |
| | | { |
| | | SequencePause = false; |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | //íë²ë§ ì¬ì©í ê². BeginInvoke ì¬ì©ì¤. |
| | | public void AddRecipeExcutedEvent(RecipeExcuteEvent recipeExcuteEvent) |
| | | { |
| | | _sequence.RecipeExcuted += recipeExcuteEvent; |
| | | } |
| | | |
| | | //íë²ë§ ì¬ì©í ê². BeginInvoke ì¬ì©ì¤. |
| | | public void AddProcessInfoExcutedEvent(ProcessInfoExcuteEvent processInfoExcuteEvent) |
| | | { |
| | | _sequence.ProcessInfoExcuted += processInfoExcuteEvent; |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace SA_LTT.Info.AttenuatorCalInfo |
| | | { |
| | | public class AttenuatorCalData |
| | | { |
| | | float _attenuatorAngle; |
| | | double _energy; |
| | | |
| | | public float AttenuatorAngle |
| | | { |
| | | get |
| | | { |
| | | return _attenuatorAngle; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _attenuatorAngle = value; |
| | | } |
| | | } |
| | | |
| | | public double Energy |
| | | { |
| | | get |
| | | { |
| | | return _energy; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _energy = value; |
| | | } |
| | | } |
| | | |
| | | public AttenuatorCalData() |
| | | { |
| | | AttenuatorAngle = 0; |
| | | Energy = 0; |
| | | } |
| | | |
| | | public AttenuatorCalData Clone() |
| | | { |
| | | AttenuatorCalData clone = new AttenuatorCalData(); |
| | | |
| | | clone.AttenuatorAngle = this.AttenuatorAngle; |
| | | clone.Energy = this.Energy; |
| | | |
| | | return clone; |
| | | } |
| | | |
| | | public bool IsEqual(AttenuatorCalData data) |
| | | { |
| | | if(data.AttenuatorAngle == this.AttenuatorAngle && data.Energy == this.Energy) |
| | | { |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using SA_LTT.Base; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace SA_LTT.Info.AttenuatorCalInfo |
| | | { |
| | | public class AttenuatorCalInfo : XmlManager<AttenuatorCalInfo> |
| | | { |
| | | readonly string _fileName = "AttenuatorCalInfo.xml"; |
| | | readonly string _filePath = @"AttenuatorCalInfo\"; |
| | | |
| | | public List<AttenuatorCalData> _attenuatorCalDatas { get; set; } |
| | | |
| | | public AttenuatorCalInfo() |
| | | { |
| | | _attenuatorCalDatas = new List<AttenuatorCalData>(); |
| | | } |
| | | |
| | | public void Refresh() |
| | | { |
| | | DirectoryInfo directoryInfo = new DirectoryInfo(Equipment.infoFilePath + _filePath); |
| | | |
| | | if (directoryInfo.Exists == false) |
| | | { |
| | | directoryInfo.Create(); |
| | | } |
| | | |
| | | FileInfo fileInfo = new FileInfo(directoryInfo.FullName + _fileName); |
| | | |
| | | if (fileInfo.Exists == false) |
| | | { |
| | | SaveFile(fileInfo.FullName, this); |
| | | } |
| | | else |
| | | { |
| | | AttenuatorCalInfo equipmentInfo = new AttenuatorCalInfo(); |
| | | |
| | | equipmentInfo = ReadFile(fileInfo.FullName); |
| | | |
| | | Copy(equipmentInfo); |
| | | } |
| | | } |
| | | |
| | | public float GetAttenuatorAngleForEnergy(double energy) |
| | | { |
| | | float attenuatorAngle = 0; |
| | | |
| | | int i = 0; |
| | | |
| | | for (; i< _attenuatorCalDatas.Count; i++) |
| | | { |
| | | if(_attenuatorCalDatas[i].Energy >= energy) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if(i == 0) |
| | | { |
| | | attenuatorAngle = _attenuatorCalDatas[i].AttenuatorAngle; |
| | | } |
| | | else |
| | | { |
| | | AttenuatorCalData beforeData = _attenuatorCalDatas[i - 1]; |
| | | AttenuatorCalData afterData = _attenuatorCalDatas[i]; |
| | | |
| | | double energyValue = (afterData.Energy - beforeData.Energy) / 10; |
| | | float angleValue = (afterData.AttenuatorAngle - beforeData.AttenuatorAngle) / 10f; |
| | | |
| | | for(i = 1; i < 11; i++) |
| | | { |
| | | if((beforeData.Energy + energyValue * i) >= energy) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | |
| | | attenuatorAngle = beforeData.AttenuatorAngle + angleValue * i; |
| | | } |
| | | |
| | | return attenuatorAngle; |
| | | } |
| | | |
| | | public double GetMaxEnergy() |
| | | { |
| | | double energy = 0; |
| | | |
| | | foreach (AttenuatorCalData data in _attenuatorCalDatas) |
| | | { |
| | | if(data.Energy > energy) |
| | | { |
| | | energy = data.Energy; |
| | | } |
| | | } |
| | | |
| | | return energy; |
| | | } |
| | | |
| | | public double GetMinEnergy() |
| | | { |
| | | double energy = double.MaxValue; |
| | | |
| | | foreach (AttenuatorCalData data in _attenuatorCalDatas) |
| | | { |
| | | if (data.Energy < energy) |
| | | { |
| | | energy = data.Energy; |
| | | } |
| | | } |
| | | |
| | | if (_attenuatorCalDatas.Count == 0) |
| | | { |
| | | energy = 0; |
| | | } |
| | | |
| | | return energy; |
| | | } |
| | | |
| | | public double GetEnergyPer1Degree() |
| | | { |
| | | if(_attenuatorCalDatas.Count < 2) |
| | | { |
| | | return 0; |
| | | } |
| | | |
| | | double maxEnergy = GetMaxEnergy(); |
| | | double minEnergy = GetMinEnergy(); |
| | | |
| | | float minAngle = _attenuatorCalDatas[0].AttenuatorAngle; |
| | | float maxAngle = _attenuatorCalDatas[_attenuatorCalDatas.Count - 1].AttenuatorAngle; |
| | | |
| | | double energy = double.Parse($"{(maxEnergy - minEnergy) / (maxAngle - minAngle):F4}"); |
| | | return energy; |
| | | } |
| | | |
| | | public void SetAttenuatorCalData(AttenuatorCalData[] attenuatorCalDatas) |
| | | { |
| | | if(attenuatorCalDatas.Length != 0) |
| | | { |
| | | _attenuatorCalDatas.Clear(); |
| | | _attenuatorCalDatas.AddRange(attenuatorCalDatas); |
| | | SaveFile(Equipment.infoFilePath + _filePath + _fileName, this); |
| | | |
| | | try |
| | | { |
| | | DateTime dt = DateTime.Now; |
| | | string path = $"{EquipmentLogManager.s_attenuatorCalLogPath}AttenuatorCalData_{dt.ToString("yyMMdd_HHmmss")}.csv"; |
| | | |
| | | using (FileStream fs = File.Open(path, FileMode.CreateNew, FileAccess.Write, FileShare.ReadWrite)) |
| | | { |
| | | using (StreamWriter sw = new StreamWriter(fs)) |
| | | { |
| | | foreach (AttenuatorCalData attenuatorCalData in attenuatorCalDatas) |
| | | { |
| | | sw.WriteLine($"{attenuatorCalData.AttenuatorAngle}, {attenuatorCalData.Energy}", Encoding.Default); |
| | | } |
| | | |
| | | sw.Close(); |
| | | } |
| | | |
| | | fs.Close(); |
| | | } |
| | | |
| | | } |
| | | catch(Exception ex) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(ex.StackTrace + "\r\n" + ex.Message); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public AttenuatorCalData[] GetAttenuatorCalData() |
| | | { |
| | | List<AttenuatorCalData> datas = new List<AttenuatorCalData>(); |
| | | |
| | | foreach(AttenuatorCalData data in _attenuatorCalDatas) |
| | | { |
| | | datas.Add(data.Clone()); |
| | | } |
| | | |
| | | return datas.ToArray(); |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using SA_LTT.Base; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace SA_LTT.Info.EquipmentInfo |
| | | { |
| | | public class EquipmentInfo : XmlManager<EquipmentInfo> |
| | | { |
| | | readonly string _fileName = "EquipmentInfo.xml"; |
| | | readonly string _filePath = @"Equipment\"; |
| | | |
| | | public DateTime EnergyDropCheckDate { get; set; } |
| | | public DateTime AttenuatorCalDate { get; set; } |
| | | |
| | | public EquipmentInfo() |
| | | { |
| | | EnergyDropCheckDate = DateTime.Now; |
| | | AttenuatorCalDate = DateTime.Now; |
| | | } |
| | | |
| | | public void Refresh() |
| | | { |
| | | DirectoryInfo directoryInfo = new DirectoryInfo(Equipment.infoFilePath + _filePath); |
| | | |
| | | if (directoryInfo.Exists == false) |
| | | { |
| | | directoryInfo.Create(); |
| | | } |
| | | |
| | | FileInfo fileInfo = new FileInfo(directoryInfo.FullName + _fileName); |
| | | |
| | | if (fileInfo.Exists == false) |
| | | { |
| | | SaveFile(fileInfo.FullName, this); |
| | | } |
| | | else |
| | | { |
| | | EquipmentInfo equipmentInfo = new EquipmentInfo(); |
| | | |
| | | equipmentInfo = ReadFile(fileInfo.FullName); |
| | | |
| | | Copy(equipmentInfo); |
| | | } |
| | | } |
| | | |
| | | public void SetEnergyDropCheckDate() |
| | | { |
| | | EnergyDropCheckDate = DateTime.Now; |
| | | |
| | | SaveFile(Equipment.infoFilePath + _filePath + _fileName, this); |
| | | } |
| | | |
| | | public void SetAttenuatorCalDate() |
| | | { |
| | | AttenuatorCalDate = DateTime.Now; |
| | | SaveFile(Equipment.infoFilePath + _filePath + _fileName, this); |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using SA_LTT.Info.RecipeInfo; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace SA_LTT.Info.FoupInfo |
| | | { |
| | | public enum FoupStatus |
| | | { |
| | | Empty, |
| | | Ready, |
| | | Process, |
| | | Complete, |
| | | } |
| | | |
| | | public class Foup |
| | | { |
| | | Equipment _equipment; |
| | | public FoupStatus status; |
| | | public FoupRecipe foupRecipe; |
| | | public int portNumber; |
| | | |
| | | public Foup(Equipment equipment) |
| | | { |
| | | _equipment = equipment; |
| | | |
| | | portNumber = 1; |
| | | status = FoupStatus.Empty; |
| | | foupRecipe = new FoupRecipe(); |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | namespace SA_LTT.Info.RecipeInfo |
| | | { |
| | | public class FoupRecipe |
| | | { |
| | | public string Name { get; set; } |
| | | |
| | | public string[] RecipeNames { get; set; } |
| | | |
| | | public FoupRecipe() |
| | | { |
| | | RecipeNames = new string[25]; |
| | | } |
| | | |
| | | public FoupRecipe Clone() |
| | | { |
| | | FoupRecipe clone = new FoupRecipe(); |
| | | |
| | | clone.Name = this.Name; |
| | | |
| | | for(int i =0; i< 25; i++) |
| | | { |
| | | clone.RecipeNames[i] = this.RecipeNames[i]; |
| | | } |
| | | |
| | | return clone; |
| | | } |
| | | |
| | | public static bool IsEquals(FoupRecipe recipe1, FoupRecipe recipe2) |
| | | { |
| | | bool check = true; |
| | | |
| | | if (recipe1 == null && recipe2 == null) |
| | | { |
| | | check = true; |
| | | } |
| | | else if ((recipe1 == null && recipe2 != null) || (recipe1 != null && recipe2 == null)) |
| | | { |
| | | check = false; |
| | | } |
| | | else |
| | | { |
| | | check &= recipe1.Name == recipe2.Name; |
| | | |
| | | for (int i = 0; i < 25; i++) |
| | | { |
| | | check &= recipe1.RecipeNames[i] == recipe2.RecipeNames[i]; |
| | | } |
| | | } |
| | | |
| | | return check; |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using SA_LTT.Base; |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | | |
| | | namespace SA_LTT.Info.RecipeInfo |
| | | { |
| | | public class FoupRecipeManager : XmlManager<FoupRecipe> |
| | | { |
| | | Equipment _equipment; |
| | | readonly string _extension = ".xml"; |
| | | readonly string _filePath = @"FoupRecipe\"; |
| | | |
| | | private Dictionary<string, FoupRecipe> _recipes = new Dictionary<string, FoupRecipe>(); |
| | | |
| | | public Dictionary<string, FoupRecipe> Recipes |
| | | { |
| | | get |
| | | { |
| | | return _recipes; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _recipes = value; |
| | | } |
| | | } |
| | | |
| | | public FoupRecipeManager(Equipment equipment) |
| | | { |
| | | _equipment = equipment; |
| | | RefreshRecipes(); |
| | | } |
| | | |
| | | public void RefreshRecipes() |
| | | { |
| | | DirectoryInfo directoryInfo = new DirectoryInfo(Equipment.infoFilePath + _filePath); |
| | | |
| | | if (directoryInfo.Exists == false) |
| | | { |
| | | directoryInfo.Create(); |
| | | } |
| | | |
| | | foreach (FileInfo fileInfo in directoryInfo.GetFiles("*.xml")) |
| | | { |
| | | FoupRecipe recipe = new FoupRecipe(); |
| | | |
| | | if (TryReadFile(fileInfo.FullName, out recipe)) |
| | | { |
| | | if (Recipes.ContainsKey(recipe.Name)) |
| | | { |
| | | Recipes[recipe.Name] = recipe.Clone(); |
| | | } |
| | | else |
| | | { |
| | | Recipes.Add(recipe.Name, recipe.Clone()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void SaveOrCreate(FoupRecipe recipe) |
| | | { |
| | | SaveFile(Equipment.infoFilePath + _filePath + recipe.Name + _extension, recipe); |
| | | |
| | | if (Recipes.ContainsKey(recipe.Name)) |
| | | { |
| | | Recipes[recipe.Name] = recipe.Clone(); |
| | | } |
| | | else |
| | | { |
| | | Recipes.Add(recipe.Name, recipe.Clone()); |
| | | } |
| | | } |
| | | |
| | | public void Delete(string recipeName) |
| | | { |
| | | DeleteFile(Equipment.infoFilePath + _filePath + recipeName + _extension); |
| | | |
| | | if (Recipes.ContainsKey(recipeName)) |
| | | { |
| | | Recipes.Remove(recipeName); |
| | | } |
| | | } |
| | | |
| | | public bool ExistsRecipe(string recipeName) |
| | | { |
| | | if (Recipes.ContainsKey(recipeName)) |
| | | { |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public FoupRecipe GetRecipe(string recipeName) |
| | | { |
| | | if (ExistsRecipe(recipeName)) |
| | | { |
| | | return Recipes[recipeName].Clone(); |
| | | } |
| | | else |
| | | { |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | public FoupRecipe[] GetRecipeList() |
| | | { |
| | | List<FoupRecipe> recipeList = new List<FoupRecipe>(); |
| | | |
| | | foreach (FoupRecipe recipe in Recipes.Values) |
| | | { |
| | | recipeList.Add(recipe.Clone()); |
| | | } |
| | | |
| | | return recipeList.ToArray(); |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using SA_LTT.Module; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | |
| | | namespace SA_LTT.Info.RecipeInfo |
| | | { |
| | | public class Recipe |
| | | { |
| | | public string Name { get; set; } |
| | | public float Radius { get; set; } |
| | | public float DistanceFromCenterToPrimaryFlat { get; set; } |
| | | public float EdgeRound { get; set; } |
| | | |
| | | public float BeamWidth { get; set; } |
| | | public float BeamHeight { get; set; } |
| | | |
| | | public List<ProcessInfo> ProcessInfoList { get; set; } |
| | | |
| | | public Recipe() |
| | | { |
| | | Name = string.Empty; |
| | | ProcessInfoList = new List<ProcessInfo>(); |
| | | ProcessInfoList.Clear(); |
| | | Radius = 75; |
| | | DistanceFromCenterToPrimaryFlat = 30; |
| | | EdgeRound = 0; |
| | | |
| | | BeamWidth = 0.1f; |
| | | BeamHeight = 0.1f; |
| | | } |
| | | |
| | | public void AddProcessInfo(ProcessInfo processInfo) |
| | | { |
| | | processInfo.Radius = Radius; |
| | | processInfo.DistanceFromCenterToPrimaryFlat = DistanceFromCenterToPrimaryFlat; |
| | | processInfo.EdgeRound = EdgeRound; |
| | | processInfo.BeamWidth = BeamWidth; |
| | | |
| | | ProcessInfoList.Add(processInfo.Clone()); |
| | | } |
| | | |
| | | public Recipe Clone() |
| | | { |
| | | Recipe clone = new Recipe(); |
| | | |
| | | clone.Name = this.Name; |
| | | clone.Radius = this.Radius; |
| | | clone.DistanceFromCenterToPrimaryFlat = this.DistanceFromCenterToPrimaryFlat; |
| | | clone.EdgeRound = this.EdgeRound; |
| | | |
| | | clone.BeamWidth = this.BeamWidth; |
| | | clone.BeamHeight = this.BeamHeight; |
| | | |
| | | clone.ProcessInfoList.AddRange(this.ProcessInfoList); |
| | | |
| | | return clone; |
| | | } |
| | | |
| | | public static bool IsEquals(Recipe recipe1, Recipe recipe2) |
| | | { |
| | | bool check = true; |
| | | |
| | | if (recipe1 == null && recipe2 == null) |
| | | { |
| | | check = true; |
| | | } |
| | | else if ((recipe1 == null && recipe2 != null) || (recipe1 != null && recipe2 == null)) |
| | | { |
| | | check = false; |
| | | } |
| | | else |
| | | { |
| | | check &= recipe1.Name == recipe2.Name; |
| | | check &= recipe1.Radius == recipe2.Radius; |
| | | check &= recipe1.DistanceFromCenterToPrimaryFlat == recipe2.DistanceFromCenterToPrimaryFlat; |
| | | check &= recipe1.EdgeRound == recipe2.EdgeRound; |
| | | |
| | | check &= recipe1.BeamWidth == recipe2.BeamWidth; |
| | | check &= recipe1.BeamHeight == recipe2.BeamHeight; |
| | | |
| | | if (recipe1.ProcessInfoList.Count == recipe2.ProcessInfoList.Count) |
| | | { |
| | | for (int i = 0; i < recipe1.ProcessInfoList.Count; i++) |
| | | { |
| | | check &= ProcessInfo.IsEquals(recipe1.ProcessInfoList[i], recipe2.ProcessInfoList[i]); |
| | | |
| | | if (check == false) |
| | | break; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | check = false; |
| | | } |
| | | } |
| | | |
| | | return check; |
| | | } |
| | | } |
| | | |
| | | public struct Coord |
| | | { |
| | | public ScanMode ScanMode { get; set; } |
| | | public double X { get; set; } |
| | | public double Y { get; set; } |
| | | |
| | | public Coord(ScanMode scanMode, double x, double y) |
| | | { |
| | | this.ScanMode = scanMode; |
| | | this.X = x; |
| | | this.Y = y; |
| | | } |
| | | } |
| | | |
| | | public class ProcessInfo |
| | | { |
| | | public double Radius { get; set; } |
| | | public double DistanceFromCenterToPrimaryFlat { get; set; } |
| | | public double EdgeRound { get; set; } |
| | | |
| | | public float StartX { get; set; } |
| | | public float StartY { get; set; } |
| | | |
| | | public float Width { get; set; } |
| | | public float Height { get; set; } |
| | | |
| | | public float ProcessStartX { get; set; } |
| | | public float ProcessStartY { get; set; } |
| | | public float ProcessEndX { get; set; } |
| | | public float ProcessEndY { get; set; } |
| | | |
| | | public float BeamWidth { get; set; } |
| | | public float BeamHeight { get; set; } |
| | | |
| | | public float BeamHeightOverlap { get; set; } |
| | | |
| | | public float BeamWidthOverlap { get; set; } |
| | | |
| | | public double ScannerProcessSpeed |
| | | { |
| | | get |
| | | { |
| | | return (BeamHeight - BeamHeightOverlap) * 1000; |
| | | } |
| | | } |
| | | |
| | | public double Energy { get; set; } |
| | | |
| | | public bool IsProcessEnable { get; set; } |
| | | |
| | | public double ProcessLength { get; set; } |
| | | |
| | | public double AccTime { get; set; } |
| | | public List<Coord> ProcessList { get; set; } |
| | | |
| | | public ProcessInfo() |
| | | { |
| | | ProcessList = new List<Coord>(); |
| | | |
| | | Radius = 75; |
| | | DistanceFromCenterToPrimaryFlat = 70; |
| | | EdgeRound = 0; |
| | | |
| | | StartX = 0; |
| | | StartY = 0; |
| | | Height = 0; |
| | | Width = 0; |
| | | |
| | | BeamWidth = 0.1f; |
| | | BeamHeight = 0.1f; |
| | | AccTime = 100; |
| | | SetProcessData(); |
| | | } |
| | | |
| | | public void SetRecipeData(Recipe recipe) |
| | | { |
| | | Radius = recipe.Radius; |
| | | DistanceFromCenterToPrimaryFlat = recipe.DistanceFromCenterToPrimaryFlat; |
| | | EdgeRound = recipe.EdgeRound; |
| | | |
| | | BeamWidth = recipe.BeamWidth; |
| | | BeamHeight = recipe.BeamHeight; |
| | | } |
| | | |
| | | //ê°ê³µ ìì±, ì¸ì í ì§ ì 매 ... ë°ì´í ë³ê²½ ë ë§ë¤ í´ì¼ëë ¤ë ... |
| | | public void SetProcessData() |
| | | { |
| | | float beamHeight = BeamHeight - BeamHeightOverlap; |
| | | beamHeight = float.Parse($"{beamHeight:F4}"); |
| | | |
| | | if (Height % beamHeight != 0) //ê°ê³µ ëì´ê° beamHeightê³¼ ë§ê² ìë¨ì´ì§ë©´ ë± ë§ê² ë¨ì´ì§ëë¡ ë³ê²½. |
| | | { |
| | | int beamCount = (int)(Height / beamHeight); |
| | | |
| | | if (Height % beamHeight > beamHeight / 2) |
| | | { |
| | | Height = (beamCount + 1) * beamHeight; |
| | | } |
| | | else |
| | | { |
| | | Height = beamCount * beamHeight; |
| | | } |
| | | } |
| | | |
| | | if(IsProcessingAreaContainWafer()) |
| | | { |
| | | if(GetProcessStartEndCoords()) |
| | | { |
| | | CreateProcessLines(); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | ProcessStartX = 0; |
| | | ProcessStartY = 0; |
| | | ProcessEndX = 0; |
| | | ProcessEndY = 0; |
| | | ProcessList.Clear(); |
| | | } |
| | | } |
| | | |
| | | //ê°ê³µ ë²ìê° ì¨ì´í¼ ìì ìëì§ íì¸. |
| | | private bool IsProcessingAreaContainWafer() |
| | | { |
| | | bool isContainsEllipse = true; |
| | | |
| | | //ì¨ì´í¼ ì¤ì¬ê³¼ ì¬ê°í ì¤ì¬ ì¬ì´ì 거리. |
| | | |
| | | double left = StartX; |
| | | double top = StartY; |
| | | double right = left + Width; |
| | | double bottom = top - Height; |
| | | |
| | | // 0, 0 <- ì¤ì¬. |
| | | if ((left <= 0 && 0 <= right) || |
| | | (bottom <= 0 && 0 <= top)) |
| | | { |
| | | double processsRadius = Radius - EdgeRound; |
| | | |
| | | //ì¬ê°í ë°ì§ë¦ ë§í¼ íì¥ |
| | | double extendRectLeft = left - processsRadius; |
| | | double extendRectTop = top + processsRadius; |
| | | double extendRectRight = right + processsRadius; |
| | | double extendRectBottom = bottom - processsRadius; |
| | | |
| | | //íì¥ë ì¬ê°í ìì ì¤ì¬ì´ ì¤ë©´ ì¶©ë |
| | | if ((extendRectLeft < 0 && 0 < extendRectRight) && |
| | | (extendRectBottom < 0 && 0 < extendRectTop)) |
| | | { |
| | | if (top < -DistanceFromCenterToPrimaryFlat) |
| | | { |
| | | isContainsEllipse = false; |
| | | } |
| | | else |
| | | { |
| | | isContainsEllipse = true; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | isContainsEllipse = false; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //ì¬ê°íì ê¼ì§ì ì´ ì ìì ì¤ë©´ ì¶©ë |
| | | if (IsCoordInWafer(left, top) || |
| | | IsCoordInWafer(right, top) || |
| | | IsCoordInWafer(left, bottom) || |
| | | IsCoordInWafer(right, bottom)) |
| | | { |
| | | if (top < -(DistanceFromCenterToPrimaryFlat - EdgeRound)) |
| | | { |
| | | isContainsEllipse = false; |
| | | } |
| | | else |
| | | { |
| | | isContainsEllipse = true; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | isContainsEllipse = false; |
| | | } |
| | | } |
| | | |
| | | IsProcessEnable = isContainsEllipse; |
| | | |
| | | return isContainsEllipse; |
| | | } |
| | | |
| | | //ê°ê³µ ë²ìê° ì¨ì´í¼ ìì ìì¼ë©´ ê°ê³µ ìì ì¢
ë£ ìì¹ ì»ì. |
| | | private bool GetProcessStartEndCoords() |
| | | { |
| | | if (IsProcessEnable == false) //ê°ê³µ ë²ìê° ì¨ì´í¼ ìì ìì¼ë©´ false ë°í. |
| | | return false; |
| | | |
| | | double processsRadius = Radius - EdgeRound; |
| | | |
| | | double startX, startY; |
| | | double endX, endY; |
| | | |
| | | double left = StartX; |
| | | double top = StartY; |
| | | double right = left + Width; |
| | | double bottom = top - Height; |
| | | |
| | | startX = 0; |
| | | startY = 0; |
| | | endX = 0; |
| | | endY = 0; |
| | | |
| | | //=================== Start X, Y 구í기 ========================= |
| | | if (top >= 0) |
| | | { |
| | | if (top - Height > 0) |
| | | { |
| | | startX = -Math.Sqrt(Math.Pow(processsRadius, 2) - Math.Pow(top - Height, 2)); |
| | | } |
| | | else |
| | | { |
| | | startX = -Math.Sqrt(Math.Pow(processsRadius, 2)); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | startX = -Math.Sqrt(Math.Pow(processsRadius, 2) - Math.Pow(top, 2)); |
| | | } |
| | | |
| | | //Start X |
| | | if (left < 0 && startX < left) |
| | | { |
| | | startX = left; |
| | | } |
| | | else if (left >= 0 && startX < left) |
| | | { |
| | | startX = left; |
| | | } |
| | | |
| | | //Start Y |
| | | if (top > processsRadius) |
| | | { |
| | | startY = processsRadius; |
| | | } |
| | | else |
| | | { |
| | | startY = top; |
| | | } |
| | | |
| | | //================================================== |
| | | |
| | | //=================== End X, Y 구í기 ========================= |
| | | if (top >= 0) |
| | | { |
| | | if (top - Height > 0) |
| | | { |
| | | //startY = top - Height; |
| | | endX = Math.Sqrt(Math.Pow(processsRadius, 2) - Math.Pow(top - Height, 2)); |
| | | } |
| | | else |
| | | { |
| | | endX = Math.Sqrt(Math.Pow(processsRadius, 2)); |
| | | } |
| | | |
| | | //startY = top; |
| | | } |
| | | else |
| | | { |
| | | endX = Math.Sqrt(Math.Pow(processsRadius, 2) - Math.Pow(top, 2)); |
| | | } |
| | | |
| | | //End X |
| | | if (right <= processsRadius && right < endX) |
| | | { |
| | | endX = right; |
| | | } |
| | | |
| | | //End Y |
| | | if ( (top - Height) >= processsRadius) |
| | | { |
| | | endY = processsRadius; |
| | | } |
| | | else |
| | | { |
| | | endY = top - Height; |
| | | } |
| | | |
| | | if (endY < -(DistanceFromCenterToPrimaryFlat - EdgeRound)) |
| | | { |
| | | double beamHeightSize = BeamHeight - BeamHeightOverlap; |
| | | |
| | | double endHeight = top + (DistanceFromCenterToPrimaryFlat - EdgeRound); |
| | | |
| | | int beamCount = (int)(endHeight / beamHeightSize); |
| | | |
| | | if (endHeight % beamHeightSize > beamHeightSize / 2) |
| | | { |
| | | beamCount++; |
| | | } |
| | | |
| | | endY = top - (beamCount * beamHeightSize); |
| | | } |
| | | |
| | | ProcessStartX = float.Parse($"{startX:F4}"); |
| | | ProcessStartY = float.Parse($"{startY:F4}"); |
| | | ProcessEndX = float.Parse($"{endX:F4}"); |
| | | ProcessEndY = float.Parse($"{endY:F4}"); |
| | | |
| | | return true; |
| | | } |
| | | |
| | | //ì¢íê° ì¨ì´í¼ ìì ìëì§ íì¸ |
| | | private bool IsCoordInWafer(double x, double y) |
| | | { |
| | | return Math.Pow(x, 2) + Math.Pow(y, 2) <= Math.Pow(Radius - EdgeRound, 2); |
| | | } |
| | | |
| | | //Xì¶ì 기ì ì¼ë¡ ì¨ì´í¼ ì ì Yìì¹ ë°í. |
| | | private double GetPointYOfContactOfEllips(double x, double y) |
| | | { |
| | | double position = 0; |
| | | |
| | | x = double.Parse($"{x:F4}"); |
| | | y = double.Parse($"{y:F4}"); |
| | | |
| | | position = Math.Sqrt(Math.Pow(Radius - EdgeRound, 2) - Math.Pow(x, 2)); |
| | | |
| | | position = y < 0 ? -position : position; |
| | | |
| | | position = double.Parse($"{position:F4}"); |
| | | return position; |
| | | } |
| | | |
| | | //ê°ê³µ ì¢í List ìì± |
| | | private bool CreateProcessLines() |
| | | { |
| | | if (IsProcessEnable == false) //ê°ê³µ ë²ìê° ì¨ì´í¼ ìì ìì¼ë©´ false ë°í. |
| | | return false; |
| | | |
| | | int oddCheck = 0; |
| | | ProcessLength = 0; |
| | | |
| | | double jumpY = 0; |
| | | double markY = 0; |
| | | |
| | | float beamHeightSize = BeamHeight - BeamHeightOverlap; |
| | | beamHeightSize = float.Parse($"{beamHeightSize:F4}"); |
| | | |
| | | ProcessList.Clear(); // 기존 ë°ì´í° ì´ê¸°í |
| | | bool _accLengthCheck = true; |
| | | |
| | | for (double i = ProcessStartX; i <= ProcessEndX; i += (BeamWidth - BeamWidthOverlap)) // Xì¶ ë°©í¥ íì |
| | | { |
| | | //ê°ê³µ ìì ê¸°ì¤ |
| | | if (ProcessEndY >= 0) // ê°ê³µ End ê° 0ë³´ë¤ ìì¼ ë, Endìì¹ ê¸°ì¤ì¼ë¡. |
| | | { |
| | | if (oddCheck % 2 == 0) // ì§ì (left top, start ìì¹ìì ìì) |
| | | { |
| | | //Jump |
| | | if (IsCoordInWafer(i, ProcessEndY + Height)) |
| | | { |
| | | jumpY = ProcessEndY + Height; |
| | | } |
| | | else |
| | | { |
| | | jumpY = GetPointYOfContactOfEllips(i, ProcessEndY + Height); |
| | | |
| | | if((jumpY % beamHeightSize) >= (beamHeightSize / 2)) |
| | | { |
| | | jumpY = ProcessEndY + (beamHeightSize * Math.Floor((jumpY - ProcessEndY) / beamHeightSize)); |
| | | } |
| | | else |
| | | { |
| | | jumpY = ProcessEndY + (beamHeightSize * Math.Ceiling((jumpY - ProcessEndY) / beamHeightSize)); |
| | | } |
| | | } |
| | | |
| | | //Mark |
| | | if (IsCoordInWafer(i, ProcessEndY)) |
| | | { |
| | | markY = ProcessEndY; |
| | | } |
| | | else |
| | | { |
| | | markY = GetPointYOfContactOfEllips(i, ProcessEndY); |
| | | |
| | | if ((markY % beamHeightSize) >= (beamHeightSize / 2)) |
| | | { |
| | | markY = ProcessEndY + (beamHeightSize * Math.Floor((markY - ProcessEndY) / beamHeightSize)); |
| | | } |
| | | else |
| | | { |
| | | markY = ProcessEndY + (beamHeightSize * Math.Ceiling((markY - ProcessEndY) / beamHeightSize)); |
| | | } |
| | | } |
| | | } |
| | | else // íì (right bottom, ìì¹ìì ìì) |
| | | { |
| | | //Jump |
| | | if (IsCoordInWafer(i, ProcessEndY)) |
| | | { |
| | | jumpY = ProcessEndY; |
| | | } |
| | | else |
| | | { |
| | | jumpY = GetPointYOfContactOfEllips(i, ProcessEndY); |
| | | |
| | | if ((jumpY % beamHeightSize) >= (beamHeightSize / 2)) |
| | | { |
| | | jumpY = ProcessEndY + (beamHeightSize * Math.Floor((jumpY - ProcessEndY) / beamHeightSize)); |
| | | } |
| | | else |
| | | { |
| | | jumpY = ProcessEndY + (beamHeightSize * Math.Ceiling((jumpY - ProcessEndY) / beamHeightSize)); |
| | | } |
| | | } |
| | | |
| | | //Mark |
| | | if (IsCoordInWafer(i, ProcessEndY + Height)) |
| | | { |
| | | markY = ProcessEndY + Height; |
| | | } |
| | | else |
| | | { |
| | | markY = GetPointYOfContactOfEllips(i, ProcessEndY + Height); |
| | | |
| | | if ((markY % beamHeightSize) >= (beamHeightSize / 2)) |
| | | { |
| | | markY = ProcessEndY + (beamHeightSize * Math.Floor((markY - ProcessEndY) / beamHeightSize)); |
| | | } |
| | | else |
| | | { |
| | | markY = ProcessEndY + (beamHeightSize * Math.Ceiling((markY - ProcessEndY) / beamHeightSize)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if(_accLengthCheck && jumpY >= ProcessStartY) |
| | | { |
| | | _accLengthCheck = false; |
| | | AccTime = ProcessLength / ScannerProcessSpeed; |
| | | } |
| | | } |
| | | else // ê°ê³µ Endê° 0ë³´ë¤ ë°ì¼ ë |
| | | { |
| | | if (oddCheck % 2 == 0) // ì§ì (left top, start ìì¹ìì ìì) |
| | | { |
| | | //Jump |
| | | if (IsCoordInWafer(i, ProcessStartY)) |
| | | { |
| | | jumpY = ProcessStartY; |
| | | } |
| | | else |
| | | { |
| | | jumpY = GetPointYOfContactOfEllips(i, ProcessStartY); |
| | | |
| | | if ((jumpY % beamHeightSize) >= (beamHeightSize / 2)) |
| | | { |
| | | jumpY = ProcessStartY - (beamHeightSize * Math.Floor((ProcessStartY - jumpY) / beamHeightSize)); |
| | | } |
| | | else |
| | | { |
| | | jumpY = ProcessStartY - (beamHeightSize * Math.Ceiling((ProcessStartY - jumpY) / beamHeightSize)); |
| | | } |
| | | } |
| | | |
| | | //Mark |
| | | if (IsCoordInWafer(i, ProcessStartY - Height)) |
| | | { |
| | | markY = ProcessStartY - Height; |
| | | } |
| | | else |
| | | { |
| | | markY = GetPointYOfContactOfEllips(i, ProcessStartY - Height); |
| | | |
| | | if ((jumpY % beamHeightSize) >= (beamHeightSize / 2)) |
| | | { |
| | | markY = ProcessStartY - (beamHeightSize * Math.Floor((ProcessStartY - markY) / beamHeightSize)); |
| | | } |
| | | else |
| | | { |
| | | markY = ProcessStartY - (beamHeightSize * Math.Ceiling((ProcessStartY - markY) / beamHeightSize)); |
| | | } |
| | | } |
| | | } |
| | | else // íì (right bottom, ìì¹ìì ìì) |
| | | { |
| | | //Jump |
| | | if (IsCoordInWafer(i, ProcessStartY - Height)) |
| | | { |
| | | jumpY = ProcessStartY - Height; |
| | | } |
| | | else |
| | | { |
| | | jumpY = GetPointYOfContactOfEllips(i, ProcessStartY - Height); |
| | | |
| | | if ((jumpY % beamHeightSize) >= (beamHeightSize / 2)) |
| | | { |
| | | jumpY = ProcessStartY - (beamHeightSize * Math.Floor((ProcessStartY - jumpY) / beamHeightSize)); |
| | | } |
| | | else |
| | | { |
| | | jumpY = ProcessStartY - (beamHeightSize * Math.Ceiling((ProcessStartY - jumpY) / beamHeightSize)); |
| | | } |
| | | } |
| | | |
| | | //Mark |
| | | if (IsCoordInWafer(i, ProcessStartY)) |
| | | { |
| | | markY = ProcessStartY; |
| | | } |
| | | else |
| | | { |
| | | markY = GetPointYOfContactOfEllips(i, ProcessStartY); |
| | | |
| | | if ((markY % beamHeightSize) >= (beamHeightSize / 2)) |
| | | { |
| | | markY = ProcessStartY - (beamHeightSize * Math.Floor((ProcessStartY - markY) / beamHeightSize)); |
| | | } |
| | | else |
| | | { |
| | | markY = ProcessStartY - (beamHeightSize * Math.Ceiling((ProcessStartY - markY) / beamHeightSize)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (_accLengthCheck && jumpY <= ProcessEndY) |
| | | { |
| | | _accLengthCheck = false; |
| | | AccTime = ProcessLength / ScannerProcessSpeed; |
| | | } |
| | | } |
| | | |
| | | if (jumpY < ProcessEndY) |
| | | { |
| | | jumpY = ProcessEndY; |
| | | } |
| | | |
| | | if (markY < ProcessEndY) |
| | | { |
| | | markY = ProcessEndY; |
| | | } |
| | | |
| | | jumpY = double.Parse($"{jumpY:F4}"); |
| | | markY = double.Parse($"{markY:F4}"); |
| | | i = double.Parse($"{i:F4}"); |
| | | |
| | | ProcessList.Add(new Coord(ScanMode.JUMP, i, jumpY)); |
| | | ProcessList.Add(new Coord(ScanMode.MARK, i, markY)); |
| | | |
| | | ProcessLength += Math.Abs(markY - jumpY); |
| | | //ProcessLength += Math.Abs(ProcessStartY - ProcessEndY); |
| | | ProcessLength += 0.1 + 0.1; // JumpDelay + MarkDelay; |
| | | ProcessLength += beamHeightSize; |
| | | |
| | | oddCheck++; |
| | | } |
| | | |
| | | // Process y - y = 3950.64 |
| | | // mark y -y = 3723.49 |
| | | ProcessLength = double.Parse($"{ProcessLength:F3}"); |
| | | return true; |
| | | } |
| | | |
| | | public ProcessInfo Clone() |
| | | { |
| | | ProcessInfo processInfo = new ProcessInfo(); |
| | | |
| | | processInfo.Radius = Radius; |
| | | processInfo.DistanceFromCenterToPrimaryFlat = DistanceFromCenterToPrimaryFlat; |
| | | processInfo.EdgeRound = EdgeRound; |
| | | |
| | | processInfo.StartX = StartX; |
| | | processInfo.StartY = StartY; |
| | | processInfo.Height = Height; |
| | | processInfo.Width = Width; |
| | | |
| | | processInfo.ProcessStartX = ProcessStartX; |
| | | processInfo.ProcessStartY = ProcessStartY; |
| | | processInfo.ProcessEndX = ProcessEndX; |
| | | processInfo.ProcessEndY = ProcessEndY; |
| | | |
| | | processInfo.BeamWidth = BeamWidth; |
| | | processInfo.BeamHeight = BeamHeight; |
| | | |
| | | processInfo.BeamHeightOverlap = BeamHeightOverlap; |
| | | processInfo.BeamWidthOverlap = BeamWidthOverlap; |
| | | processInfo.Energy = Energy; |
| | | |
| | | processInfo.IsProcessEnable = IsProcessEnable; |
| | | |
| | | foreach(Coord coord in ProcessList) |
| | | { |
| | | Coord copy = new Coord(coord.ScanMode, coord.X, coord.Y); |
| | | |
| | | processInfo.ProcessList.Add(copy); |
| | | } |
| | | |
| | | return processInfo; |
| | | } |
| | | |
| | | public static bool IsEquals(ProcessInfo info1, ProcessInfo info2) |
| | | { |
| | | bool check = true; |
| | | |
| | | if (info1 == null && info2 == null) |
| | | { |
| | | check = true; |
| | | } |
| | | else if ((info1 == null && info2 != null) || (info1 != null && info2 == null)) |
| | | { |
| | | check = false; |
| | | } |
| | | else |
| | | { |
| | | check &= info1.Radius == info2.Radius; |
| | | check &= info1.DistanceFromCenterToPrimaryFlat == info2.DistanceFromCenterToPrimaryFlat; |
| | | |
| | | check &= info1.StartX == info2.StartX; |
| | | check &= info1.StartY == info2.StartY; |
| | | check &= info1.Height == info2.Height; |
| | | check &= info1.Width == info2.Width; |
| | | |
| | | check &= info1.ProcessStartX == info2.ProcessStartX; |
| | | check &= info1.ProcessStartY == info2.ProcessStartY; |
| | | check &= info1.ProcessEndX == info2.ProcessEndX; |
| | | check &= info1.ProcessEndY == info2.ProcessEndY; |
| | | |
| | | check &= info1.BeamWidth == info2.BeamWidth; |
| | | |
| | | check &= info1.BeamHeightOverlap == info2.BeamHeightOverlap; |
| | | check &= info1.BeamWidthOverlap == info2.BeamWidthOverlap; |
| | | |
| | | check &= info1.IsProcessEnable == info2.IsProcessEnable; |
| | | |
| | | check &= info1.Energy == info2.Energy; |
| | | |
| | | if (info1.ProcessList.Count == info2.ProcessList.Count) |
| | | { |
| | | for (int i = 0; i < info1.ProcessList.Count; i++) |
| | | { |
| | | check &= info1.ProcessList[i].ScanMode == info2.ProcessList[i].ScanMode; |
| | | check &= info1.ProcessList[i].X == info2.ProcessList[i].X; |
| | | check &= info1.ProcessList[i].Y == info2.ProcessList[i].Y; |
| | | |
| | | if (check == false) |
| | | break; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | check = false; |
| | | } |
| | | } |
| | | return check; |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using SA_LTT.Base; |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | | |
| | | namespace SA_LTT.Info.RecipeInfo |
| | | { |
| | | public class RecipeManager : XmlManager<Recipe> |
| | | { |
| | | Equipment _equipment; |
| | | readonly string _extension = ".xml"; |
| | | readonly string _filePath = @"Recipe\"; |
| | | |
| | | private Dictionary<string, Recipe> _recipes = new Dictionary<string, Recipe>(); |
| | | |
| | | public Dictionary<string, Recipe> Recipes |
| | | { |
| | | get |
| | | { |
| | | return _recipes; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _recipes = value; |
| | | } |
| | | } |
| | | |
| | | public RecipeManager(Equipment equipment) |
| | | { |
| | | _equipment = equipment; |
| | | RefreshRecipes(); |
| | | } |
| | | |
| | | public void RefreshRecipes() |
| | | { |
| | | DirectoryInfo directoryInfo = new DirectoryInfo(Equipment.infoFilePath + _filePath); |
| | | |
| | | if (directoryInfo.Exists == false) |
| | | { |
| | | directoryInfo.Create(); |
| | | } |
| | | |
| | | foreach (FileInfo fileInfo in directoryInfo.GetFiles("*.xml")) |
| | | { |
| | | Recipe recipe = new Recipe(); |
| | | |
| | | if (TryReadFile(fileInfo.FullName, out recipe)) |
| | | { |
| | | if (Recipes.ContainsKey(recipe.Name)) |
| | | { |
| | | Recipes[recipe.Name] = recipe.Clone(); |
| | | } |
| | | else |
| | | { |
| | | Recipes.Add(recipe.Name, recipe.Clone()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void SaveOrCreate(Recipe recipe) |
| | | { |
| | | SaveFile(Equipment.infoFilePath + _filePath + recipe.Name + _extension, recipe); |
| | | |
| | | if (Recipes.ContainsKey(recipe.Name)) |
| | | { |
| | | Recipes[recipe.Name] = recipe.Clone(); |
| | | } |
| | | else |
| | | { |
| | | Recipes.Add(recipe.Name, recipe.Clone()); |
| | | } |
| | | } |
| | | |
| | | public void Delete(string recipeName) |
| | | { |
| | | DeleteFile(Equipment.infoFilePath + _filePath + recipeName + _extension); |
| | | |
| | | if (Recipes.ContainsKey(recipeName)) |
| | | { |
| | | Recipes.Remove(recipeName); |
| | | } |
| | | } |
| | | |
| | | public bool ExistsRecipe(string recipeName) |
| | | { |
| | | if (Recipes.ContainsKey(recipeName)) |
| | | { |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public Recipe GetRecipe(string recipeName) |
| | | { |
| | | if (ExistsRecipe(recipeName)) |
| | | { |
| | | return Recipes[recipeName].Clone(); |
| | | } |
| | | else |
| | | { |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | public Recipe[] GetRecipeList() |
| | | { |
| | | List<Recipe> recipeList = new List<Recipe>(); |
| | | |
| | | foreach (Recipe recipe in Recipes.Values) |
| | | { |
| | | recipeList.Add(recipe.Clone()); |
| | | } |
| | | |
| | | return recipeList.ToArray(); |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | namespace SA_LTT.UserInfo |
| | | { |
| | | public enum UserLevel |
| | | { |
| | | Operator, |
| | | Engineer, |
| | | Master, |
| | | } |
| | | |
| | | public class User |
| | | { |
| | | string _name; |
| | | string _password; |
| | | UserLevel _level; |
| | | |
| | | public string Name |
| | | { |
| | | get |
| | | { |
| | | return _name; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _name = value; |
| | | } |
| | | } |
| | | |
| | | public string Password |
| | | { |
| | | get |
| | | { |
| | | return _password; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _password = value; |
| | | } |
| | | } |
| | | |
| | | public UserLevel Level |
| | | { |
| | | get |
| | | { |
| | | return _level; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _level = value; |
| | | } |
| | | } |
| | | |
| | | public User() |
| | | { |
| | | Name = string.Empty; |
| | | Password = string.Empty; |
| | | Level = UserLevel.Operator; |
| | | } |
| | | |
| | | public User Clone() |
| | | { |
| | | User user = (User)this.MemberwiseClone(); |
| | | |
| | | return user; |
| | | } |
| | | |
| | | public bool Equals(User user) |
| | | { |
| | | bool check = true; |
| | | |
| | | check &= this.Name == user.Name; |
| | | check &= this.Password == user.Password; |
| | | check &= this.Level == user.Level; |
| | | |
| | | return check; |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using SA_LTT.Base; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace SA_LTT.UserInfo |
| | | { |
| | | public delegate void UserInfoChanged(); |
| | | public class UserManager : XmlManager<User> |
| | | { |
| | | Equipment _equipment; |
| | | readonly string _extension = ".xml"; |
| | | readonly string _filePath = @"User\"; |
| | | |
| | | public event UserInfoChanged Changed; |
| | | |
| | | private Dictionary<string, User> _users = new Dictionary<string, User>(); |
| | | |
| | | private Dictionary<string, User> Users |
| | | { |
| | | get |
| | | { |
| | | return _users; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _users = value; |
| | | } |
| | | } |
| | | |
| | | public UserManager(Equipment equipment) |
| | | { |
| | | _equipment = equipment; |
| | | RefreshUsers(); |
| | | } |
| | | |
| | | public void RefreshUsers() |
| | | { |
| | | DirectoryInfo directoryInfo = new DirectoryInfo(Equipment.infoFilePath + _filePath); |
| | | |
| | | if(directoryInfo.Exists == false) |
| | | { |
| | | directoryInfo.Create(); |
| | | } |
| | | |
| | | foreach (FileInfo fileInfo in directoryInfo.GetFiles("*.xml")) |
| | | { |
| | | User user = new User(); |
| | | |
| | | if(TryReadFile(fileInfo.FullName, out user)) |
| | | { |
| | | if (Users.ContainsKey(user.Name)) |
| | | { |
| | | Users[user.Name] = user.Clone(); |
| | | } |
| | | else |
| | | { |
| | | Users.Add(user.Name, user.Clone()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // DIT ê³ì ìì ì ìì±. |
| | | if (Users.ContainsKey("DIT") == false) |
| | | { |
| | | User user = new User(); |
| | | user.Name = "DIT"; |
| | | user.Password = "1234"; |
| | | user.Level = UserLevel.Master; |
| | | |
| | | SaveOrCreate(user); |
| | | } |
| | | |
| | | // Operator ê³ì ìì ì ìì±. |
| | | if (Users.ContainsKey("Operator") == false) |
| | | { |
| | | User user = new User(); |
| | | user.Name = "Operator"; |
| | | user.Password = "1234"; |
| | | user.Level = UserLevel.Operator; |
| | | |
| | | SaveOrCreate(user); |
| | | } |
| | | } |
| | | |
| | | public void SaveOrCreate(User user) |
| | | { |
| | | SaveFile(Equipment.infoFilePath + _filePath + user.Name + _extension, user); |
| | | |
| | | if (Users.ContainsKey(user.Name)) |
| | | { |
| | | Users[user.Name] = user.Clone(); |
| | | } |
| | | else |
| | | { |
| | | Users.Add(user.Name, user.Clone()); |
| | | } |
| | | |
| | | Changed?.Invoke(); |
| | | } |
| | | |
| | | public void Delete(string userName) |
| | | { |
| | | DeleteFile(Equipment.infoFilePath + _filePath + userName + _extension); |
| | | |
| | | if (Users.ContainsKey(userName)) |
| | | { |
| | | Users.Remove(userName); |
| | | } |
| | | |
| | | Changed?.Invoke(); |
| | | } |
| | | |
| | | public bool ExistsUser(string userName) |
| | | { |
| | | if(_users.ContainsKey(userName)) |
| | | { |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public User GetUser(string userName) |
| | | { |
| | | if(ExistsUser(userName)) |
| | | { |
| | | return _users[userName].Clone(); |
| | | } |
| | | else |
| | | { |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | public User[] GetUserList() |
| | | { |
| | | List<User> userList = new List<User>(); |
| | | |
| | | foreach(User user in Users.Values) |
| | | { |
| | | userList.Add(user.Clone()); |
| | | } |
| | | |
| | | return userList.ToArray(); |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using SA_LTT.Base; |
| | | using static SA_LTT.Info.WaferInfo.WaferInfoManager; |
| | | |
| | | namespace SA_LTT.Info.WaferInfo |
| | | { |
| | | //Foup idë ë°ë¡ ìì. |
| | | public class WaferInfo |
| | | { |
| | | public enum WaferStatus |
| | | { |
| | | //ìì |
| | | Empty = 0, |
| | | //ìì |
| | | Exist, |
| | | //ì¨ì´í¼ 기ì¸ì´ì§ |
| | | Leaning, |
| | | //ì¨ì´í¼ 겹침 |
| | | Overlap, |
| | | } |
| | | |
| | | // Recipeë í목 ë§ë¤ì´ ëê³ ì§í... |
| | | //private Recipe _recipeInfo; |
| | | |
| | | public WaferStatus IsStatus { get; set; } |
| | | |
| | | public bool IsFlip { get; set; } |
| | | |
| | | public bool IsProcessComplete { get; set; } |
| | | |
| | | public string CarrierID { get; set; } |
| | | |
| | | public string LotID { get; set; } |
| | | |
| | | public string RecipeName { get; set; } |
| | | |
| | | public WaferNumbers SourceNumber { get; set; } |
| | | |
| | | public WaferInfo() |
| | | { |
| | | IsStatus = WaferStatus.Empty; |
| | | IsFlip = false; |
| | | IsProcessComplete = false; |
| | | |
| | | LotID = string.Empty; |
| | | CarrierID = string.Empty; |
| | | |
| | | RecipeName = string.Empty; |
| | | SourceNumber = WaferNumbers.A1; |
| | | } |
| | | |
| | | public WaferInfo Clone() |
| | | { |
| | | WaferInfo info = (WaferInfo)this.MemberwiseClone(); |
| | | |
| | | return info; |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using SA_LTT.Base; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace SA_LTT.Info.WaferInfo |
| | | { |
| | | public class WaferInfoManager : XmlManager<WaferInfo> |
| | | { |
| | | public enum WaferNumbers |
| | | { |
| | | A1, |
| | | A2, |
| | | A3, |
| | | A4, |
| | | A5, |
| | | A6, |
| | | A7, |
| | | A8, |
| | | A9, |
| | | A10, |
| | | A11, |
| | | A12, |
| | | A13, |
| | | A14, |
| | | A15, |
| | | A16, |
| | | A17, |
| | | A18, |
| | | A19, |
| | | A20, |
| | | A21, |
| | | A22, |
| | | A23, |
| | | A24, |
| | | A25, |
| | | |
| | | B1, |
| | | B2, |
| | | B3, |
| | | B4, |
| | | B5, |
| | | B6, |
| | | B7, |
| | | B8, |
| | | B9, |
| | | B10, |
| | | B11, |
| | | B12, |
| | | B13, |
| | | B14, |
| | | B15, |
| | | B16, |
| | | B17, |
| | | B18, |
| | | B19, |
| | | B20, |
| | | B21, |
| | | B22, |
| | | B23, |
| | | B24, |
| | | B25, |
| | | |
| | | Robot, |
| | | PreAligner, |
| | | Chamber, |
| | | } |
| | | |
| | | Equipment _equipment; |
| | | readonly string _filePath = @"Wafer\"; |
| | | |
| | | private Dictionary<WaferNumbers, WaferInfo> _waferInfos; |
| | | |
| | | public WaferInfoManager(Equipment equipement) |
| | | { |
| | | equipement = _equipment; |
| | | |
| | | _waferInfos = new Dictionary<WaferNumbers, WaferInfo>(); |
| | | |
| | | foreach(WaferNumbers info in Enum.GetValues(typeof(WaferNumbers))) |
| | | { |
| | | _waferInfos.Add(info, new WaferInfo()); |
| | | } |
| | | |
| | | RefreshWaferInfo(); |
| | | } |
| | | |
| | | public void RefreshWaferInfo() |
| | | { |
| | | DirectoryInfo directoryInfo = new DirectoryInfo(Equipment.infoFilePath + _filePath); |
| | | |
| | | if (directoryInfo.Exists == false) |
| | | { |
| | | directoryInfo.Create(); |
| | | } |
| | | |
| | | WaferInfo waferinfo = new WaferInfo(); |
| | | |
| | | //LoadPort1, 2 |
| | | for (int i = 0; i < 25; i++) |
| | | { |
| | | if (TryReadFile(directoryInfo.FullName + $"{WaferNumbers.A1 + i}.xml", out waferinfo)) |
| | | { |
| | | _waferInfos[WaferNumbers.A1 + i] = waferinfo; |
| | | } |
| | | else |
| | | { |
| | | waferinfo = new WaferInfo(); |
| | | SaveFile(directoryInfo.FullName + $"{WaferNumbers.A1 + i}.xml", waferinfo); |
| | | } |
| | | |
| | | if (TryReadFile(directoryInfo.FullName + $"{WaferNumbers.B1 + i}.xml", out waferinfo)) |
| | | { |
| | | _waferInfos[WaferNumbers.B1 + i] = waferinfo; |
| | | } |
| | | else |
| | | { |
| | | waferinfo = new WaferInfo(); |
| | | SaveFile(directoryInfo.FullName + $"{WaferNumbers.B1 + i}.xml", waferinfo); |
| | | } |
| | | } |
| | | |
| | | //Robot |
| | | if (TryReadFile(directoryInfo.FullName + $"Robot.xml", out waferinfo)) |
| | | { |
| | | _waferInfos[WaferNumbers.Robot] = waferinfo; |
| | | } |
| | | else |
| | | { |
| | | waferinfo = new WaferInfo(); |
| | | SaveFile(directoryInfo.FullName + $"Robot.xml", waferinfo); |
| | | } |
| | | |
| | | //Pre align |
| | | if (TryReadFile(directoryInfo.FullName + $"PreAligner.xml", out waferinfo)) |
| | | { |
| | | _waferInfos[WaferNumbers.PreAligner] = waferinfo; |
| | | } |
| | | else |
| | | { |
| | | waferinfo = new WaferInfo(); |
| | | SaveFile(directoryInfo.FullName + $"PreAligner.xml", waferinfo); |
| | | } |
| | | |
| | | //Chamber |
| | | if (TryReadFile(directoryInfo.FullName + $"Chamber.xml", out waferinfo)) |
| | | { |
| | | _waferInfos[WaferNumbers.Chamber] = waferinfo; |
| | | } |
| | | else |
| | | { |
| | | waferinfo = new WaferInfo(); |
| | | SaveFile(directoryInfo.FullName + $"Chamber.xml", waferinfo); |
| | | } |
| | | } |
| | | |
| | | public void MoveWaferInfo(WaferNumbers source, WaferNumbers destination) |
| | | { |
| | | _waferInfos[destination] = _waferInfos[source].Clone(); |
| | | |
| | | _waferInfos[source] = new WaferInfo(); |
| | | |
| | | SetWaferInfo(source, _waferInfos[source]); |
| | | SetWaferInfo(destination, _waferInfos[destination]); |
| | | } |
| | | |
| | | public WaferInfo GetWaferInfo(WaferNumbers waferNumber) |
| | | { |
| | | return _waferInfos[waferNumber].Clone(); |
| | | } |
| | | |
| | | public void SetWaferInfo(WaferNumbers waferNumber, WaferInfo waferInfo) |
| | | { |
| | | lock(this) |
| | | { |
| | | _waferInfos[waferNumber] = waferInfo; |
| | | |
| | | SaveFile(Equipment.infoFilePath + _filePath + $"{waferNumber.ToString()}.xml", waferInfo); |
| | | } |
| | | } |
| | | |
| | | public static bool TryParse(int stageNum, int slotNum, out WaferNumbers waferNumber) |
| | | { |
| | | waferNumber = WaferNumbers.A1; |
| | | WaferNumbers waferNum = WaferNumbers.A1; |
| | | if (stageNum == 1) |
| | | { |
| | | //port 1 |
| | | if(1 <= slotNum && slotNum <= 25) |
| | | { |
| | | waferNumber = waferNum + (slotNum - 1); |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | else if (stageNum == 2) |
| | | { |
| | | //port 2 |
| | | waferNum = WaferNumbers.B1; |
| | | |
| | | if (1 <= slotNum && slotNum <= 25) |
| | | { |
| | | waferNumber = waferNum + (slotNum - 1); |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | else if (stageNum == 3 || stageNum == 4) |
| | | { |
| | | //Aligner |
| | | if (slotNum == 1) |
| | | { |
| | | waferNumber = WaferNumbers.PreAligner; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | else if (stageNum == 5) |
| | | { |
| | | //Chamber |
| | | if (slotNum == 1) |
| | | { |
| | | waferNumber = WaferNumbers.Chamber; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using System; |
| | | using System.Text; |
| | | using log4net; |
| | | using log4net.Appender; |
| | | using log4net.Layout; |
| | | using log4net.Repository.Hierarchy; |
| | | |
| | | namespace SA_LTT |
| | | { |
| | | /* ë¡ê·¸ íì¼ê²½ë¡ íìì 모ë ëê°ì´ í´ì¼ í¨. |
| | | * íì : rootPath\yyyy\mm\fileName_dd.log |
| | | * íì¥ìë ë³ê²½ í´ë 무ê´. |
| | | */ |
| | | public class EquipmentLogManager |
| | | { |
| | | public delegate void AddProcessLogEvent(string logData); |
| | | private static readonly Lazy<EquipmentLogManager> _instatnce = new Lazy<EquipmentLogManager>(() => new EquipmentLogManager()); |
| | | |
| | | public static EquipmentLogManager Instance |
| | | { |
| | | get |
| | | { |
| | | return _instatnce.Value; |
| | | } |
| | | } |
| | | |
| | | LogCreater _exceptionLog = new LogCreater("Exception", s_exceptionLogPath); |
| | | LogCreater _alarmOccurredLog = new LogCreater("AlarmOccurred", s_alarmOccurredLogPath); |
| | | LogCreater _alarmChangedLog = new LogCreater("AlarmChanged", s_alarmChangedLogPath); |
| | | LogCreater _tmcSequenceLog = new LogCreater("TmcSequence", s_tmcSequenceLogPath); |
| | | LogCreater _pmcSequenceLog = new LogCreater("PmcSequence", s_pmcSequenceLogPath); |
| | | LogCreater _buttonLog = new LogCreater("Button", s_buttonLogPath); |
| | | LogCreater _energyDropCheckLog = new LogCreater("EnergyDropCheck", s_energyDropCheckLogPath); |
| | | LogCreater _attenuatorCalLog = new LogCreater("AttenuatorCal", s_attenuatorCalLogPath); |
| | | LogCreater _porecessLog = new LogCreater("Process", s_processLogPath); |
| | | LogCreater _preAlignLog = new LogCreater("PreAlign", s_preAlignLogPath); |
| | | LogCreater _energyMeterLog = new LogCreater("EnergyMeter", s_energyMeterLogPath); |
| | | LogCreater _energyMeasureLog = new LogCreater("EnergyMeasure", s_energyMeasureLogPath); |
| | | |
| | | |
| | | private EquipmentLogManager() |
| | | { |
| | | |
| | | } |
| | | |
| | | public event AddProcessLogEvent ProcessLogAdded; |
| | | |
| | | public static readonly string s_exceptionLogPath = $@"D:\Log\Exception\"; |
| | | public static readonly string s_alarmOccurredLogPath = $@"D:\Log\AlarmOccurred\"; |
| | | public static readonly string s_alarmChangedLogPath = $@"D:\Log\AlarmChanged\"; |
| | | public static readonly string s_tmcSequenceLogPath = $@"D:\Log\TmcSequence\"; |
| | | public static readonly string s_pmcSequenceLogPath = $@"D:\Log\PmcSequence\"; |
| | | public static readonly string s_buttonLogPath = $@"D:\Log\Button\"; |
| | | public static readonly string s_energyDropCheckLogPath = $@"D:\Log\EnergyDropCheck\"; |
| | | public static readonly string s_attenuatorCalLogPath = $@"D:\Log\AttenuatorCal\"; |
| | | public static readonly string s_processLogPath = $@"D:\Log\Process\"; |
| | | public static readonly string s_preAlignLogPath = $@"D:\Log\PreAlign\"; |
| | | public static readonly string s_energyMeterLogPath = $@"D:\Log\EnergyMeter\"; |
| | | public static readonly string s_energyMeasureLogPath = $@"D:\Log\EnergyMeasure\"; |
| | | |
| | | public void WriteExceptionLog(string message) |
| | | { |
| | | _exceptionLog.WriteLog(message); |
| | | } |
| | | |
| | | public void WriteAlarmOccurredLog(string message) |
| | | { |
| | | _alarmOccurredLog.WriteLog(message); |
| | | } |
| | | |
| | | public void WriteAlarmChangedLog(string message) |
| | | { |
| | | _alarmChangedLog.WriteLog(message); |
| | | } |
| | | |
| | | public void WriteTmcSequenceLog(string message) |
| | | { |
| | | _tmcSequenceLog.WriteLog(message); |
| | | } |
| | | |
| | | public void WritePmcSequenceLog(string message) |
| | | { |
| | | _pmcSequenceLog.WriteLog(message); |
| | | } |
| | | |
| | | public void WriteButtonLog(string message) |
| | | { |
| | | _buttonLog.WriteLog(message); |
| | | } |
| | | |
| | | public void WriteEnergyDropCheckLog(string message) |
| | | { |
| | | _energyDropCheckLog.WriteLog(message); |
| | | } |
| | | |
| | | public void WriteAttenuatorCalLog(string message) |
| | | { |
| | | _attenuatorCalLog.WriteLog(message); |
| | | } |
| | | |
| | | public void WriteProcessLog(string message) |
| | | { |
| | | _porecessLog.WriteLog(message); |
| | | ProcessLogAdded?.Invoke(message); |
| | | } |
| | | |
| | | public void WritePreAlignLog(string message) |
| | | { |
| | | _preAlignLog.WriteLog(message); |
| | | } |
| | | |
| | | public void WriteEnergyMeterLog(string message) |
| | | { |
| | | _energyMeterLog.WriteLog(message); |
| | | } |
| | | |
| | | public void WriteEnergyMeasureLog(string message) |
| | | { |
| | | _energyMeasureLog.WriteLog(message); |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using System.Text; |
| | | using log4net; |
| | | using log4net.Appender; |
| | | using log4net.Layout; |
| | | using log4net.Repository.Hierarchy; |
| | | |
| | | namespace SA_LTT |
| | | { |
| | | public class LogCreater |
| | | { |
| | | private string _logName; |
| | | |
| | | private string _logPath; |
| | | |
| | | private ILog _log = LogManager.GetLogger("Button"); |
| | | |
| | | public LogCreater(string logName, string logPath = @"D:\Log\") |
| | | { |
| | | _logName = logName; |
| | | _logPath = logPath; |
| | | _log = LogManager.GetLogger($"{_logName}"); |
| | | |
| | | CreateLogger(); |
| | | } |
| | | |
| | | private void CreateLogger() |
| | | { |
| | | Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository(); |
| | | RollingFileAppender rollingAppender = new RollingFileAppender(); |
| | | |
| | | PatternLayout layout = new PatternLayout(); |
| | | hierarchy.Configured = true; |
| | | |
| | | rollingAppender.Name = $"{_logName}_RoolingFile"; |
| | | rollingAppender.LockingModel = new RollingFileAppender.MinimalLock(); |
| | | rollingAppender.File = $@"{_logPath}\"; |
| | | rollingAppender.AppendToFile = true; |
| | | rollingAppender.DatePattern = $"yyyy\\\\MM\\\\'{_logName}'_dd'.log'"; |
| | | rollingAppender.RollingStyle = RollingFileAppender.RollingMode.Composite; |
| | | rollingAppender.MaxSizeRollBackups = 10; |
| | | rollingAppender.MaximumFileSize = "100MB"; |
| | | rollingAppender.StaticLogFileName = false; |
| | | rollingAppender.Encoding = Encoding.UTF8; |
| | | rollingAppender.PreserveLogFileNameExtension = true; |
| | | layout = new PatternLayout("%d{yyyy/MM/dd HH:mm:ss.fff}, %m%n"); |
| | | layout.ActivateOptions(); |
| | | rollingAppender.Layout = layout; |
| | | rollingAppender.ActivateOptions(); |
| | | |
| | | hierarchy.GetLogger($"{_logName}"); |
| | | ILog log = LogManager.GetLogger($"{_logName}"); |
| | | Logger l = (Logger)log.Logger; |
| | | l.Level = log4net.Core.Level.Debug; |
| | | l.AddAppender(rollingAppender); |
| | | |
| | | _log = LogManager.GetLogger($"{_logName}"); |
| | | } |
| | | |
| | | public void WriteLog(string message) |
| | | { |
| | | _log.Debug(message); |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | namespace SA_LTT |
| | | { |
| | | partial class MessageBoxPad |
| | | { |
| | | /// <summary> |
| | | /// Required designer variable. |
| | | /// </summary> |
| | | private System.ComponentModel.IContainer components = null; |
| | | |
| | | /// <summary> |
| | | /// Clean up any resources being used. |
| | | /// </summary> |
| | | /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> |
| | | protected override void Dispose(bool disposing) |
| | | { |
| | | if (disposing && (components != null)) |
| | | { |
| | | components.Dispose(); |
| | | } |
| | | base.Dispose(disposing); |
| | | } |
| | | |
| | | #region Windows Form Designer generated code |
| | | |
| | | /// <summary> |
| | | /// Required method for Designer support - do not modify |
| | | /// the contents of this method with the code editor. |
| | | /// </summary> |
| | | private void InitializeComponent() |
| | | { |
| | | this.btn_Close = new System.Windows.Forms.Button(); |
| | | this.tb_Message = new System.Windows.Forms.TextBox(); |
| | | this.SuspendLayout(); |
| | | // |
| | | // btn_Close |
| | | // |
| | | this.btn_Close.Location = new System.Drawing.Point(198, 192); |
| | | this.btn_Close.Name = "btn_Close"; |
| | | this.btn_Close.Size = new System.Drawing.Size(187, 41); |
| | | this.btn_Close.TabIndex = 3; |
| | | this.btn_Close.Text = "Close"; |
| | | this.btn_Close.UseVisualStyleBackColor = true; |
| | | this.btn_Close.Click += new System.EventHandler(this.btn_Close_Click); |
| | | // |
| | | // tb_Message |
| | | // |
| | | this.tb_Message.Font = new System.Drawing.Font("Gulim", 15F); |
| | | this.tb_Message.Location = new System.Drawing.Point(12, 12); |
| | | this.tb_Message.Multiline = true; |
| | | this.tb_Message.Name = "tb_Message"; |
| | | this.tb_Message.ReadOnly = true; |
| | | this.tb_Message.Size = new System.Drawing.Size(588, 152); |
| | | this.tb_Message.TabIndex = 2; |
| | | this.tb_Message.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; |
| | | // |
| | | // MessageBoxPad |
| | | // |
| | | this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); |
| | | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; |
| | | this.ClientSize = new System.Drawing.Size(612, 245); |
| | | this.Controls.Add(this.btn_Close); |
| | | this.Controls.Add(this.tb_Message); |
| | | this.Name = "MessageBoxPad"; |
| | | this.Text = "MessageBox"; |
| | | this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MessageBoxPad_FormClosing); |
| | | this.ResumeLayout(false); |
| | | this.PerformLayout(); |
| | | |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | private System.Windows.Forms.Button btn_Close; |
| | | private System.Windows.Forms.TextBox tb_Message; |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel; |
| | | using System.Data; |
| | | using System.Drawing; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using System.Windows.Forms; |
| | | |
| | | namespace SA_LTT |
| | | { |
| | | public partial class MessageBoxPad : Form |
| | | { |
| | | public MessageBoxPad(string message = "") |
| | | { |
| | | InitializeComponent(); |
| | | tb_Message.Text = message; |
| | | } |
| | | |
| | | private void btn_Close_Click(object sender, EventArgs e) |
| | | { |
| | | this.Close(); |
| | | } |
| | | |
| | | public void SetMessage(string message) |
| | | { |
| | | tb_Message.Text = message; |
| | | } |
| | | |
| | | private void MessageBoxPad_FormClosing(object sender, FormClosingEventArgs e) |
| | | { |
| | | e.Cancel = true; |
| | | this.Hide(); |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <root> |
| | | <!-- |
| | | Microsoft ResX Schema |
| | | |
| | | Version 2.0 |
| | | |
| | | The primary goals of this format is to allow a simple XML format |
| | | that is mostly human readable. The generation and parsing of the |
| | | various data types are done through the TypeConverter classes |
| | | associated with the data types. |
| | | |
| | | Example: |
| | | |
| | | ... ado.net/XML headers & schema ... |
| | | <resheader name="resmimetype">text/microsoft-resx</resheader> |
| | | <resheader name="version">2.0</resheader> |
| | | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
| | | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
| | | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
| | | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
| | | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
| | | <value>[base64 mime encoded serialized .NET Framework object]</value> |
| | | </data> |
| | | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
| | | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
| | | <comment>This is a comment</comment> |
| | | </data> |
| | | |
| | | There are any number of "resheader" rows that contain simple |
| | | name/value pairs. |
| | | |
| | | Each data row contains a name, and value. The row also contains a |
| | | type or mimetype. Type corresponds to a .NET class that support |
| | | text/value conversion through the TypeConverter architecture. |
| | | Classes that don't support this are serialized and stored with the |
| | | mimetype set. |
| | | |
| | | The mimetype is used for serialized objects, and tells the |
| | | ResXResourceReader how to depersist the object. This is currently not |
| | | extensible. For a given mimetype the value must be set accordingly: |
| | | |
| | | Note - application/x-microsoft.net.object.binary.base64 is the format |
| | | that the ResXResourceWriter will generate, however the reader can |
| | | read any of the formats listed below. |
| | | |
| | | mimetype: application/x-microsoft.net.object.binary.base64 |
| | | value : The object must be serialized with |
| | | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter |
| | | : and then encoded with base64 encoding. |
| | | |
| | | mimetype: application/x-microsoft.net.object.soap.base64 |
| | | value : The object must be serialized with |
| | | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
| | | : and then encoded with base64 encoding. |
| | | |
| | | mimetype: application/x-microsoft.net.object.bytearray.base64 |
| | | value : The object must be serialized into a byte array |
| | | : using a System.ComponentModel.TypeConverter |
| | | : and then encoded with base64 encoding. |
| | | --> |
| | | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
| | | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> |
| | | <xsd:element name="root" msdata:IsDataSet="true"> |
| | | <xsd:complexType> |
| | | <xsd:choice maxOccurs="unbounded"> |
| | | <xsd:element name="metadata"> |
| | | <xsd:complexType> |
| | | <xsd:sequence> |
| | | <xsd:element name="value" type="xsd:string" minOccurs="0" /> |
| | | </xsd:sequence> |
| | | <xsd:attribute name="name" use="required" type="xsd:string" /> |
| | | <xsd:attribute name="type" type="xsd:string" /> |
| | | <xsd:attribute name="mimetype" type="xsd:string" /> |
| | | <xsd:attribute ref="xml:space" /> |
| | | </xsd:complexType> |
| | | </xsd:element> |
| | | <xsd:element name="assembly"> |
| | | <xsd:complexType> |
| | | <xsd:attribute name="alias" type="xsd:string" /> |
| | | <xsd:attribute name="name" type="xsd:string" /> |
| | | </xsd:complexType> |
| | | </xsd:element> |
| | | <xsd:element name="data"> |
| | | <xsd:complexType> |
| | | <xsd:sequence> |
| | | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
| | | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
| | | </xsd:sequence> |
| | | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> |
| | | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
| | | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
| | | <xsd:attribute ref="xml:space" /> |
| | | </xsd:complexType> |
| | | </xsd:element> |
| | | <xsd:element name="resheader"> |
| | | <xsd:complexType> |
| | | <xsd:sequence> |
| | | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
| | | </xsd:sequence> |
| | | <xsd:attribute name="name" type="xsd:string" use="required" /> |
| | | </xsd:complexType> |
| | | </xsd:element> |
| | | </xsd:choice> |
| | | </xsd:complexType> |
| | | </xsd:element> |
| | | </xsd:schema> |
| | | <resheader name="resmimetype"> |
| | | <value>text/microsoft-resx</value> |
| | | </resheader> |
| | | <resheader name="version"> |
| | | <value>2.0</value> |
| | | </resheader> |
| | | <resheader name="reader"> |
| | | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
| | | </resheader> |
| | | <resheader name="writer"> |
| | | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
| | | </resheader> |
| | | </root> |
»õ ÆÄÀÏ |
| | |
| | | using SA_LTT.Base; |
| | | using System; |
| | | using System.Threading; |
| | | |
| | | namespace SA_LTT.Module |
| | | { |
| | | public class Attenuator : ComPort |
| | | { |
| | | public enum MotorRunState |
| | | { |
| | | Stopped, |
| | | Accelerating, |
| | | Decelerating, |
| | | Running, |
| | | } |
| | | |
| | | public enum MicroSteppingResolution : int |
| | | { |
| | | /// <summary> |
| | | /// 1 Motor is driven in full steps mode.Waveplate holder turns once in 15600 steps. |
| | | /// </summary> |
| | | FullStep = 1, |
| | | /// <summary> |
| | | /// 2 Half step mode.Waveplate holder turns once in 31200 steps. |
| | | /// </summary> |
| | | HalfStep = 2 , |
| | | /// <summary> |
| | | /// 4 Quarter step mode.Waveplate holder turns once in 62400 steps. |
| | | /// </summary> |
| | | QuaterStep = 4, |
| | | /// <summary> |
| | | /// 8 Eight step mode.Waveplate holder turns once in 124800 steps. |
| | | /// </summary> |
| | | EightStep = 8, |
| | | /// <summary> |
| | | /// 16 Sixteen step mode.Waveplate holder turns once in 249600 steps. |
| | | /// </summary> |
| | | SixteenStep = 16, |
| | | } |
| | | |
| | | private MotorRunState _motorState; |
| | | private int _position; |
| | | private int _speed; |
| | | private int _accelerationValue; |
| | | private int _decelerationValue; |
| | | private MicroSteppingResolution _steppingResolution; |
| | | private bool _motorEnable; |
| | | |
| | | private Equipment _equipment; |
| | | private Thread t_statusUpdate; |
| | | |
| | | public double DegreePerSecondFromSpeed |
| | | { |
| | | get |
| | | { |
| | | return 14400000 / (78 * (int)SteppingResolution * (65535 - Speed)); |
| | | } |
| | | } |
| | | |
| | | public int Position |
| | | { |
| | | get |
| | | { |
| | | return _position; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _position = value; |
| | | } |
| | | } |
| | | |
| | | public double Degree |
| | | { |
| | | get |
| | | { |
| | | return Math.Round(Position * GetDegreefromSteppingResolution(), 3); |
| | | } |
| | | } |
| | | |
| | | public int Speed |
| | | { |
| | | get |
| | | { |
| | | return _speed; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _speed = value; |
| | | } |
| | | } |
| | | |
| | | public int AccelerationValue |
| | | { |
| | | get |
| | | { |
| | | return _accelerationValue; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _accelerationValue = value; |
| | | } |
| | | } |
| | | |
| | | public int DecelerationValue |
| | | { |
| | | get |
| | | { |
| | | return _decelerationValue; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _decelerationValue = value; |
| | | } |
| | | } |
| | | |
| | | public MicroSteppingResolution SteppingResolution |
| | | { |
| | | get |
| | | { |
| | | return _steppingResolution; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _steppingResolution = value; |
| | | } |
| | | } |
| | | |
| | | public bool MotorEnable |
| | | { |
| | | get |
| | | { |
| | | return _motorEnable; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _motorEnable = value; |
| | | } |
| | | } |
| | | |
| | | public MotorRunState MotorState |
| | | { |
| | | get |
| | | { |
| | | return _motorState; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _motorState = value; |
| | | } |
| | | } |
| | | |
| | | public Attenuator(Equipment equipment) |
| | | { |
| | | serialPort.PortName = "COM11"; |
| | | serialPort.BaudRate = 38400; |
| | | serialPort.Parity = System.IO.Ports.Parity.None; |
| | | serialPort.DataBits = 8; |
| | | serialPort.StopBits = System.IO.Ports.StopBits.One; |
| | | serialPort.ReadTimeout = 500; |
| | | ReceiveWaitSeconds = 0.5; |
| | | Terminator = "\n\r"; |
| | | |
| | | _steppingResolution = MicroSteppingResolution.FullStep; |
| | | |
| | | _equipment = equipment; |
| | | |
| | | t_statusUpdate = new Thread(statusUpdate); |
| | | t_statusUpdate.Start(); |
| | | } |
| | | |
| | | public void statusUpdate() |
| | | { |
| | | while (_equipment.IsDisposed == false) |
| | | { |
| | | try |
| | | { |
| | | Thread.Sleep(50); |
| | | |
| | | if (IsOpen) |
| | | { |
| | | ReadSettings(); |
| | | ReadStatus(); |
| | | } |
| | | else |
| | | { |
| | | if (_equipment.alarmManager.OccurredAlarms.Exists(x => x.Code == AlarmCode.AL_0053_ATTENUATOR_DISCONNECTED)) |
| | | { |
| | | |
| | | } |
| | | else |
| | | { |
| | | if (Open() == false) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0053_ATTENUATOR_DISCONNECTED); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void Home() |
| | | { |
| | | Write("zp"); |
| | | } |
| | | |
| | | public void Stop() |
| | | { |
| | | Write("st"); |
| | | } |
| | | |
| | | public void MoveAbsolute(float angle) |
| | | { |
| | | int position = (int)(angle / GetDegreefromSteppingResolution()); |
| | | |
| | | Write($"g {position}"); |
| | | } |
| | | |
| | | public void MoveAbsolute(int position) |
| | | { |
| | | Write($"g {position}"); |
| | | } |
| | | |
| | | public void MoveRelative(double angle) |
| | | { |
| | | int position = (int)(angle / GetDegreefromSteppingResolution()); |
| | | |
| | | Write($"m {position}"); |
| | | } |
| | | |
| | | public void MoveRelative(int position) |
| | | { |
| | | Write($"m {position}"); |
| | | } |
| | | |
| | | public void JogPositive() |
| | | { |
| | | Write($"m 2147483646"); |
| | | } |
| | | |
| | | public void JogNegative() |
| | | { |
| | | Write($"m -2147483646"); |
| | | } |
| | | |
| | | public bool IsAttenuatorAngleCorrect(float angle) |
| | | { |
| | | if (Position == (int)(angle / GetDegreefromSteppingResolution())) |
| | | { |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public void SetMicroSteppingResolution(MicroSteppingResolution steppingResolution) |
| | | { |
| | | if (steppingResolution == MicroSteppingResolution.SixteenStep) |
| | | { |
| | | Write($"r 6"); |
| | | } |
| | | else |
| | | { |
| | | Write($"r {(int)steppingResolution}"); |
| | | } |
| | | } |
| | | |
| | | public double GetDegreefromSteppingResolution() |
| | | { |
| | | double degree = 360.0 / (78 * (int)SteppingResolution * 200); |
| | | |
| | | return degree; |
| | | } |
| | | |
| | | public double GetDegreePerSecondFromSpeed(int speed) |
| | | { |
| | | double degreePerSecond = 14400000 / (78 * (int)SteppingResolution * (65535 - speed)); |
| | | |
| | | return degreePerSecond; |
| | | } |
| | | |
| | | public int GetSpeedFromDegreePerSecond(double degreePerSecond) |
| | | { |
| | | int speed = (int)Math.Ceiling(65535 - 14400000 / (degreePerSecond * 78 * (int)SteppingResolution)); |
| | | |
| | | return speed; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 0 is turn off. |
| | | /// </summary> |
| | | /// <param name="acceleration"></param> |
| | | public void SetAcceleration(int acceleration) |
| | | { |
| | | if(acceleration > 255) |
| | | { |
| | | acceleration = 255; |
| | | } |
| | | else if (acceleration < 0) |
| | | { |
| | | acceleration = 0; |
| | | } |
| | | |
| | | Write($"a {acceleration}"); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 0 is turn off |
| | | /// </summary> |
| | | /// <param name="deceleration"></param> |
| | | public void SetDeceleration(int deceleration) |
| | | { |
| | | if (deceleration > 255) |
| | | { |
| | | deceleration = 255; |
| | | } |
| | | else if (deceleration < 0) |
| | | { |
| | | deceleration = 0; |
| | | } |
| | | |
| | | Write($"d {deceleration}"); |
| | | } |
| | | |
| | | public void SetSpeed(int speed) |
| | | { |
| | | if (speed > 65000) |
| | | { |
| | | speed = 65000; |
| | | } |
| | | else if (speed < 1) |
| | | { |
| | | speed = 1; |
| | | } |
| | | |
| | | Write($"s {speed}"); |
| | | } |
| | | |
| | | public void SaveSetting() |
| | | { |
| | | Write("ss"); |
| | | } |
| | | |
| | | public void ReadStatus() |
| | | { |
| | | string receivedData; |
| | | |
| | | if (WriteRead("o", out receivedData)) |
| | | { |
| | | string[] status = receivedData.Split(';'); |
| | | |
| | | if (status.Length < 2) return; |
| | | |
| | | MotorState = (MotorRunState)Enum.Parse(typeof(MotorRunState), status[0]); |
| | | int position; |
| | | |
| | | int.TryParse(status[1], out position); |
| | | |
| | | this.Position = position; |
| | | } |
| | | else |
| | | { |
| | | |
| | | } |
| | | } |
| | | |
| | | public void ReadSettings() |
| | | { |
| | | try |
| | | { |
| | | string receivedData; |
| | | |
| | | if (WriteRead("pc", out receivedData)) |
| | | { |
| | | string[] settings = receivedData.Split(';'); |
| | | |
| | | if (settings.Length < 25) return; |
| | | |
| | | bool operatingMode = settings[0] == "1" ? true : false; |
| | | MotorState = (MotorRunState)Enum.Parse(typeof(MotorRunState), settings[1]); |
| | | AccelerationValue = int.Parse(settings[2]); |
| | | DecelerationValue = int.Parse(settings[3]); |
| | | Speed = int.Parse(settings[4]); |
| | | int motionCurrentValue = int.Parse(settings[5]); |
| | | int idleCurrentValue = int.Parse(settings[6]); |
| | | int stepDirCurrentvalue = int.Parse(settings[7]); |
| | | |
| | | if (settings[8] == "6") |
| | | { |
| | | SteppingResolution = MicroSteppingResolution.SixteenStep; |
| | | } |
| | | else |
| | | { |
| | | SteppingResolution = (MicroSteppingResolution)Enum.Parse(typeof(MicroSteppingResolution), settings[8]); |
| | | } |
| | | |
| | | MotorEnable = settings[9] == "1" ? true : false; |
| | | |
| | | // settings[11] íì ììë¯. |
| | | // settings[12] íì ììë¯. Zero position ì¬ ëë§ë¤ zp:[integerValue] 리í´í´ 주ëê±°. êµ³ì´ ..? |
| | | // settings[13] Reserved |
| | | // settings[14] Reserved |
| | | // settings[15] Reserved |
| | | // settings[16] íì ììë¯. |
| | | |
| | | // settings[21] Reserved |
| | | // settings[22] Reserved |
| | | // settings[23] Reserved |
| | | } |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | } |
| | | } |
| | | |
| | | public new bool Write(string command) |
| | | { |
| | | lock (this) |
| | | { |
| | | //base.Write(command + '\r'); |
| | | |
| | | //return true; |
| | | |
| | | Terminator = null; |
| | | string data = base.WriteRead(command + '\r'); |
| | | |
| | | if (data.StartsWith(command.Split(' ')[0])) |
| | | { |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| | | public bool WriteRead(string command, out string receivedData) |
| | | { |
| | | lock (this) |
| | | { |
| | | Terminator = "\n\r"; |
| | | string data = base.WriteRead(command + '\r'); |
| | | |
| | | if (data.StartsWith(command.Split(' ')[0])) |
| | | { |
| | | receivedData = data.Remove(0, command.Split(' ')[0].Length).Replace("\n\r", ""); |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | receivedData = string.Empty; |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using SA_LTT.Info.WaferInfo; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace SA_LTT.Module |
| | | { |
| | | public class Chamber |
| | | { |
| | | private Equipment _equipment; |
| | | |
| | | public bool IsGateOpen |
| | | { |
| | | get |
| | | { |
| | | return _equipment.crevis.DigitalInputs[Crevis.DigitalInput.CMB_GATE_OPEN]; |
| | | } |
| | | } |
| | | |
| | | public bool IsGateClose |
| | | { |
| | | get |
| | | { |
| | | return _equipment.crevis.DigitalInputs[Crevis.DigitalInput.CMB_GATE_CLOSE]; |
| | | } |
| | | } |
| | | public bool IsGateOpenValve |
| | | { |
| | | get |
| | | { |
| | | return _equipment.crevis.DigitalOutputs[Crevis.DigitalOutput.CMB_GATE_OPEN_VALVE]; |
| | | } |
| | | } |
| | | |
| | | public bool IsGateCloseValve |
| | | { |
| | | get |
| | | { |
| | | return _equipment.crevis.DigitalOutputs[Crevis.DigitalOutput.CMB_GATE_CLOSE_VALVE]; |
| | | } |
| | | } |
| | | |
| | | public bool IsLiftPinUp |
| | | { |
| | | get |
| | | { |
| | | return _equipment.crevis.DigitalInputs[Crevis.DigitalInput.WAFER_UP_CYLINDER]; |
| | | } |
| | | } |
| | | |
| | | public bool IsLiftPinDown |
| | | { |
| | | get |
| | | { |
| | | return _equipment.crevis.DigitalInputs[Crevis.DigitalInput.WAFER_DOWN_CYLINDER]; |
| | | } |
| | | } |
| | | |
| | | public bool IsChuckVacuumOn |
| | | { |
| | | get |
| | | { |
| | | return _equipment.crevis.DigitalOutputs[Crevis.DigitalOutput.VAC_CHUCK_ON]; |
| | | } |
| | | } |
| | | |
| | | public bool IsChuckVacuumSensorOn |
| | | { |
| | | get |
| | | { |
| | | return _equipment.crevis.DigitalInputs[Crevis.DigitalInput.CMB_VACUUM_PRESSURE]; |
| | | } |
| | | } |
| | | |
| | | public bool IsN2ChamberValveOn |
| | | { |
| | | get |
| | | { |
| | | return _equipment.crevis.DigitalOutputs[Crevis.DigitalOutput.N2_CHAMBER_VALVE_ON_SOL]; |
| | | } |
| | | } |
| | | |
| | | public bool IsInposition |
| | | { |
| | | get |
| | | { |
| | | bool isInposition = true; |
| | | |
| | | isInposition &= _equipment.powerPmac.GetAxisStatus(PmacAxis.Y_Axis, AxisStatus.InPos); |
| | | isInposition &= _equipment.powerPmac.GetAxisStatus(PmacAxis.X_Axis, AxisStatus.InPos); |
| | | isInposition &= _equipment.powerPmac.GetAxisStatus(PmacAxis.T_Axis, AxisStatus.InPos); |
| | | |
| | | return isInposition; |
| | | } |
| | | } |
| | | |
| | | public bool IsN2MFCValveOn |
| | | { |
| | | get |
| | | { |
| | | return _equipment.crevis.DigitalOutputs[Crevis.DigitalOutput.N2_MFC_VALVE_ON_SOL]; |
| | | } |
| | | } |
| | | |
| | | public bool IsByPassValveOn |
| | | { |
| | | get |
| | | { |
| | | return _equipment.crevis.DigitalOutputs[Crevis.DigitalOutput.CMB_BYPASS_ON_SOL]; |
| | | } |
| | | } |
| | | |
| | | public bool IsAirBlowOn |
| | | { |
| | | get |
| | | { |
| | | return _equipment.crevis.DigitalOutputs[Crevis.DigitalOutput.AIR_BLOW_ON]; |
| | | } |
| | | } |
| | | |
| | | public double MFCFlow |
| | | { |
| | | get |
| | | { |
| | | return _equipment.crevis.AnalogInputs[Crevis.AnalogInput.MFC_FLOW_OUT]; |
| | | } |
| | | } |
| | | |
| | | public double MFCSetPoint |
| | | { |
| | | get |
| | | { |
| | | return _equipment.crevis.AnalogOutputs[Crevis.AnalogOutput.MFC_SET_POINT]; |
| | | } |
| | | } |
| | | |
| | | public float MainCDAPressure |
| | | { |
| | | get |
| | | { |
| | | return _equipment.gr200.MainCDAPressure; |
| | | } |
| | | } |
| | | |
| | | public float MainVacuumPressure |
| | | { |
| | | get |
| | | { |
| | | return _equipment.gr200.MainVacuumPressure; |
| | | } |
| | | } |
| | | |
| | | public float N2PTPressure |
| | | { |
| | | get |
| | | { |
| | | return _equipment.gr200.N2PTPressure; |
| | | } |
| | | } |
| | | |
| | | public float MainCDAFlow |
| | | { |
| | | get |
| | | { |
| | | return _equipment.gr200.MainCDAFlow; |
| | | } |
| | | } |
| | | |
| | | public float ChamberVacuumPressure |
| | | { |
| | | get |
| | | { |
| | | return _equipment.gr200.ChamberVacuumPressure; |
| | | } |
| | | } |
| | | |
| | | public bool IsLoadPosition |
| | | { |
| | | get |
| | | { |
| | | return _equipment.powerPmac.IsLoadPosition(); |
| | | } |
| | | } |
| | | |
| | | public bool IsCenterPosition |
| | | { |
| | | get |
| | | { |
| | | return _equipment.powerPmac.IsCenterPosition(); |
| | | } |
| | | } |
| | | |
| | | public bool IsPowerMeterPosition |
| | | { |
| | | get |
| | | { |
| | | return _equipment.powerPmac.IsPowerMeterPosition(); |
| | | } |
| | | } |
| | | |
| | | public bool IsAlignPosition |
| | | { |
| | | get |
| | | { |
| | | return _equipment.powerPmac.IsAlignPosition(); |
| | | } |
| | | } |
| | | public bool IsBeamProfilePosition |
| | | { |
| | | get |
| | | { |
| | | return _equipment.powerPmac.IsBeamProfilePosition(); |
| | | } |
| | | } |
| | | |
| | | public WaferInfo WaferInfo |
| | | { |
| | | get |
| | | { |
| | | return _equipment.waferInfoManager.GetWaferInfo(WaferInfoManager.WaferNumbers.Chamber); |
| | | } |
| | | } |
| | | |
| | | public Chamber(Equipment equipment) |
| | | { |
| | | _equipment = equipment; |
| | | } |
| | | |
| | | public void GateOpen() |
| | | { |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.CMB_GATE_CLOSE_VALVE, false); |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.CMB_GATE_OPEN_VALVE, true); |
| | | } |
| | | |
| | | public void GateClose() |
| | | { |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.CMB_GATE_OPEN_VALVE, false); |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.CMB_GATE_CLOSE_VALVE, true); |
| | | } |
| | | |
| | | public void LiftPinUp() |
| | | { |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.WAFER_DOWN_SOL, false); |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.WAFER_UP_SOL, true); |
| | | } |
| | | |
| | | public void LiftPinDown() |
| | | { |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.WAFER_UP_SOL, false); |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.WAFER_DOWN_SOL, true); |
| | | } |
| | | |
| | | public void ChuckVacuumOn() |
| | | { |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.VAC_CHUCK_ON, true); |
| | | } |
| | | |
| | | public void ChuckVacuumOff() |
| | | { |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.VAC_CHUCK_ON, false); |
| | | } |
| | | |
| | | public void SetMFCFlow(double flow) |
| | | { |
| | | _equipment.crevis.WriteAnalog(Crevis.AnalogOutput.MFC_SET_POINT, flow); |
| | | } |
| | | |
| | | public void N2ChamberValveOn() |
| | | { |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.N2_CHAMBER_VALVE_ON_SOL, true); |
| | | } |
| | | |
| | | public void N2ChamberValveOff() |
| | | { |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.N2_CHAMBER_VALVE_ON_SOL, false); |
| | | } |
| | | |
| | | public void N2MFCValveOn() |
| | | { |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.N2_MFC_VALVE_ON_SOL, true); |
| | | } |
| | | |
| | | public void N2MFCValveOff() |
| | | { |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.N2_MFC_VALVE_ON_SOL, false); |
| | | } |
| | | |
| | | public void ByPassValveOn() |
| | | { |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.CMB_BYPASS_ON_SOL, true); |
| | | } |
| | | |
| | | public void ByPassValveOff() |
| | | { |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.CMB_BYPASS_ON_SOL, false); |
| | | } |
| | | |
| | | public void AirBlowOn() |
| | | { |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.AIR_BLOW_ON, true); |
| | | } |
| | | |
| | | public void AirBlowOff() |
| | | { |
| | | _equipment.crevis.WriteOutput(Crevis.DigitalOutput.AIR_BLOW_ON, false); |
| | | } |
| | | |
| | | public bool MoveLoadPosition() |
| | | { |
| | | double loadPositionX = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.X_Axis].TeachList[(int)EnTeachData.LoadPosX].Position; |
| | | double loadPositionY = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.Y_Axis].TeachList[(int)EnTeachData.LoadPosY].Position; |
| | | double loadPositionT = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.T_Axis].TeachList[(int)EnTeachData.LoadPosT].Position; |
| | | |
| | | double speedX = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.X_Axis].TeachList[(int)EnTeachData.LoadPosX].Speed; |
| | | double speedY = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.Y_Axis].TeachList[(int)EnTeachData.LoadPosY].Speed; |
| | | double speedT = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.T_Axis].TeachList[(int)EnTeachData.LoadPosT].Speed; |
| | | |
| | | double accX = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.X_Axis].TeachList[(int)EnTeachData.LoadPosX].Accel; |
| | | double accY = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.Y_Axis].TeachList[(int)EnTeachData.LoadPosY].Accel; |
| | | double accT = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.T_Axis].TeachList[(int)EnTeachData.LoadPosT].Accel; |
| | | |
| | | bool result = _equipment.powerPmac.MoveAbs(PmacAxis.X_Axis, loadPositionX, speedX, accX); |
| | | result &= _equipment.powerPmac.MoveAbs(PmacAxis.Y_Axis, loadPositionY, speedY, accY); |
| | | result &= _equipment.powerPmac.MoveAbs(PmacAxis.T_Axis, loadPositionT, speedT, accT); |
| | | |
| | | return result; |
| | | } |
| | | |
| | | public bool MoveCenterPosition() |
| | | { |
| | | double loadPositionX = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.X_Axis].TeachList[(int)EnTeachData.CenterPosX].Position; |
| | | double loadPositionY = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.Y_Axis].TeachList[(int)EnTeachData.CenterPosY].Position; |
| | | double loadPositionT = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.T_Axis].TeachList[(int)EnTeachData.CenterPosT].Position; |
| | | |
| | | double speedX = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.X_Axis].TeachList[(int)EnTeachData.CenterPosX].Speed; |
| | | double speedY = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.Y_Axis].TeachList[(int)EnTeachData.CenterPosY].Speed; |
| | | double speedT = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.T_Axis].TeachList[(int)EnTeachData.CenterPosT].Speed; |
| | | |
| | | double accX = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.X_Axis].TeachList[(int)EnTeachData.CenterPosX].Accel; |
| | | double accY = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.Y_Axis].TeachList[(int)EnTeachData.CenterPosY].Accel; |
| | | double accT = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.T_Axis].TeachList[(int)EnTeachData.CenterPosT].Accel; |
| | | |
| | | bool result = _equipment.powerPmac.MoveAbs(PmacAxis.X_Axis, loadPositionX, speedX, accX); |
| | | result &= _equipment.powerPmac.MoveAbs(PmacAxis.Y_Axis, loadPositionY, speedY, accY); |
| | | result &= _equipment.powerPmac.MoveAbs(PmacAxis.T_Axis, loadPositionT, speedT, accT); |
| | | |
| | | return result; |
| | | } |
| | | |
| | | public bool MovePowerMeterPosition() |
| | | { |
| | | double powerMeterPositionX = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.X_Axis].TeachList[(int)EnTeachData.PowerMeterX].Position; |
| | | double powerMeterPositionY = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.Y_Axis].TeachList[(int)EnTeachData.PowerMeterY].Position; |
| | | double powerMeterPositionT = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.T_Axis].TeachList[(int)EnTeachData.PowerMeterT].Position; |
| | | |
| | | double speedX = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.X_Axis].TeachList[(int)EnTeachData.PowerMeterX].Speed; |
| | | double speedY = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.Y_Axis].TeachList[(int)EnTeachData.PowerMeterY].Speed; |
| | | double speedT = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.T_Axis].TeachList[(int)EnTeachData.PowerMeterT].Speed; |
| | | |
| | | double accX = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.X_Axis].TeachList[(int)EnTeachData.PowerMeterX].Accel; |
| | | double accY = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.Y_Axis].TeachList[(int)EnTeachData.PowerMeterY].Accel; |
| | | double accT = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.T_Axis].TeachList[(int)EnTeachData.PowerMeterT].Accel; |
| | | |
| | | bool result = _equipment.powerPmac.MoveAbs(PmacAxis.X_Axis, powerMeterPositionX, speedX, accX); |
| | | result &= _equipment.powerPmac.MoveAbs(PmacAxis.Y_Axis, powerMeterPositionY, speedY, accY); |
| | | result &= _equipment.powerPmac.MoveAbs(PmacAxis.T_Axis, powerMeterPositionT, speedT, accT); |
| | | |
| | | return result; |
| | | } |
| | | |
| | | |
| | | public bool MoveAlignPosition() |
| | | { |
| | | double AlignPositionX = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.X_Axis].TeachList[(int)EnTeachData.AlignX].Position; |
| | | double AlignPositionY = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.Y_Axis].TeachList[(int)EnTeachData.AlignY].Position; |
| | | double AlignPositionT = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.T_Axis].TeachList[(int)EnTeachData.AlignT].Position; |
| | | |
| | | double speedX = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.X_Axis].TeachList[(int)EnTeachData.AlignX].Speed; |
| | | double speedY = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.Y_Axis].TeachList[(int)EnTeachData.AlignY].Speed; |
| | | double speedT = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.T_Axis].TeachList[(int)EnTeachData.AlignT].Speed; |
| | | |
| | | double accX = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.X_Axis].TeachList[(int)EnTeachData.AlignX].Accel; |
| | | double accY = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.Y_Axis].TeachList[(int)EnTeachData.AlignY].Accel; |
| | | double accT = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.T_Axis].TeachList[(int)EnTeachData.AlignT].Accel; |
| | | |
| | | bool result = _equipment.powerPmac.MoveAbs(PmacAxis.X_Axis, AlignPositionX, speedX, accX); |
| | | result &= _equipment.powerPmac.MoveAbs(PmacAxis.Y_Axis, AlignPositionY, speedY, accY); |
| | | result &= _equipment.powerPmac.MoveAbs(PmacAxis.T_Axis, AlignPositionT, speedT, accT); |
| | | |
| | | return result; |
| | | } |
| | | |
| | | public bool MoveBeamProfilePosition() |
| | | { |
| | | double beamProfilePositionX = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.X_Axis].TeachList[(int)EnTeachData.BeamProfileX].Position; |
| | | double beamProfilePositionY = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.Y_Axis].TeachList[(int)EnTeachData.BeamProfileY].Position; |
| | | double beamProfilePositionT = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.T_Axis].TeachList[(int)EnTeachData.BeamProfileT].Position; |
| | | |
| | | double speedX = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.X_Axis].TeachList[(int)EnTeachData.BeamProfileX].Speed; |
| | | double speedY = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.Y_Axis].TeachList[(int)EnTeachData.BeamProfileY].Speed; |
| | | double speedT = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.T_Axis].TeachList[(int)EnTeachData.BeamProfileT].Speed; |
| | | |
| | | double accX = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.X_Axis].TeachList[(int)EnTeachData.BeamProfileX].Accel; |
| | | double accY = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.Y_Axis].TeachList[(int)EnTeachData.BeamProfileY].Accel; |
| | | double accT = _equipment.powerPmac.m_AxisAllList[(int)PmacAxis.T_Axis].TeachList[(int)EnTeachData.BeamProfileT].Accel; |
| | | |
| | | bool result = _equipment.powerPmac.MoveAbs(PmacAxis.X_Axis, beamProfilePositionX, speedX, accX); |
| | | result &= _equipment.powerPmac.MoveAbs(PmacAxis.Y_Axis, beamProfilePositionY, speedY, accY); |
| | | result &= _equipment.powerPmac.MoveAbs(PmacAxis.T_Axis, beamProfilePositionT, speedT, accT); |
| | | |
| | | return result; |
| | | } |
| | | |
| | | public bool AllStop() |
| | | { |
| | | bool result = _equipment.powerPmac.MoveStop(PmacAxis.X_Axis); |
| | | result &= _equipment.powerPmac.MoveStop(PmacAxis.Y_Axis); |
| | | result &= _equipment.powerPmac.MoveStop(PmacAxis.T_Axis); |
| | | |
| | | return result; |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using System; |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using System.Globalization; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace SA_LTT.Module |
| | | { |
| | | public class Chiller : ComPort |
| | | { |
| | | public struct StatusFlag1 |
| | | { |
| | | private bool[] _datas; |
| | | private bool _runFlag; |
| | | private bool _operationStopAlarmFlag; |
| | | private bool _operationContinuedAlarmFlag; |
| | | private bool _reserve3; |
| | | private bool _pressUnitFlag; |
| | | private bool _remoteStatusFlag; |
| | | private bool _reserve6; |
| | | private bool _reserve7; |
| | | private bool _reserve8; |
| | | private bool _completionOfPreparationFlag; |
| | | private bool _temperatureUnitFlag; |
| | | private bool _runTimerFlag; |
| | | private bool _stopTimerFlag; |
| | | private bool _resetAfterPowerFailureFlag; |
| | | private bool _antiFreezingFlag; |
| | | private bool _automaticFluidFillingFlag; |
| | | |
| | | public bool[] Datas |
| | | { |
| | | get |
| | | { |
| | | if (_datas == null) |
| | | { |
| | | _datas = new bool[16]; |
| | | } |
| | | |
| | | return _datas; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _datas = value; |
| | | } |
| | | } |
| | | |
| | | public bool RunFlag |
| | | { |
| | | get |
| | | { |
| | | return _runFlag; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _runFlag = value; |
| | | } |
| | | } |
| | | |
| | | public bool OperationStopAlarmFlag |
| | | { |
| | | get |
| | | { |
| | | return _operationStopAlarmFlag; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _operationStopAlarmFlag = value; |
| | | } |
| | | } |
| | | |
| | | public bool OperationContinuedAlarmFlag |
| | | { |
| | | get |
| | | { |
| | | return _operationContinuedAlarmFlag; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _operationContinuedAlarmFlag = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve3 |
| | | { |
| | | get |
| | | { |
| | | return _reserve3; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve3 = value; |
| | | } |
| | | } |
| | | |
| | | public bool PressUnitFlag |
| | | { |
| | | get |
| | | { |
| | | return _pressUnitFlag; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _pressUnitFlag = value; |
| | | } |
| | | } |
| | | |
| | | public bool RemoteStatusFlag |
| | | { |
| | | get |
| | | { |
| | | return _remoteStatusFlag; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _remoteStatusFlag = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve6 |
| | | { |
| | | get |
| | | { |
| | | return _reserve6; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve6 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve7 |
| | | { |
| | | get |
| | | { |
| | | return _reserve7; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve7 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve8 |
| | | { |
| | | get |
| | | { |
| | | return _reserve8; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve8 = value; |
| | | } |
| | | } |
| | | |
| | | public bool CompletionOfPreparationFlag |
| | | { |
| | | get |
| | | { |
| | | return _completionOfPreparationFlag; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _completionOfPreparationFlag = value; |
| | | } |
| | | } |
| | | |
| | | public bool TemperatureUnitFlag |
| | | { |
| | | get |
| | | { |
| | | return _temperatureUnitFlag; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _temperatureUnitFlag = value; |
| | | } |
| | | } |
| | | |
| | | public bool RunTimerFlag |
| | | { |
| | | get |
| | | { |
| | | return _runTimerFlag; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _runTimerFlag = value; |
| | | } |
| | | } |
| | | |
| | | public bool StopTimerFlag |
| | | { |
| | | get |
| | | { |
| | | return _stopTimerFlag; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _stopTimerFlag = value; |
| | | } |
| | | } |
| | | |
| | | public bool ResetAfterPowerFailureFlag |
| | | { |
| | | get |
| | | { |
| | | return _resetAfterPowerFailureFlag; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _resetAfterPowerFailureFlag = value; |
| | | } |
| | | } |
| | | |
| | | public bool AntiFreezingFlag |
| | | { |
| | | get |
| | | { |
| | | return _antiFreezingFlag; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _antiFreezingFlag = value; |
| | | } |
| | | } |
| | | |
| | | public bool AutomaticFluidFillingFlag |
| | | { |
| | | get |
| | | { |
| | | return _automaticFluidFillingFlag; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _automaticFluidFillingFlag = value; |
| | | } |
| | | } |
| | | |
| | | public void SetData(byte[] bytes) |
| | | { |
| | | var bit = new BitArray(bytes); |
| | | |
| | | if (bit.Length < 16) return; |
| | | |
| | | for (int i = 0; i < 16; i++) |
| | | { |
| | | Datas[i] = bit[i]; |
| | | } |
| | | |
| | | RunFlag = bit[0]; |
| | | OperationStopAlarmFlag = bit[1]; |
| | | OperationContinuedAlarmFlag = bit[2]; |
| | | Reserve3 = bit[3]; |
| | | PressUnitFlag = bit[4]; |
| | | RemoteStatusFlag = bit[5]; |
| | | Reserve6 = bit[6]; |
| | | Reserve7 = bit[7]; |
| | | Reserve8 = bit[8]; |
| | | CompletionOfPreparationFlag = bit[9]; |
| | | TemperatureUnitFlag = bit[10]; |
| | | RunTimerFlag = bit[11]; |
| | | StopTimerFlag = bit[12]; |
| | | ResetAfterPowerFailureFlag = bit[13]; |
| | | AntiFreezingFlag = bit[14]; |
| | | AutomaticFluidFillingFlag = bit[15]; |
| | | } |
| | | } |
| | | |
| | | public struct AlarmFlag1 |
| | | { |
| | | private bool[] _datas; |
| | | private bool _lowLevelInTank; |
| | | private bool _highCirculatingFluidDischargeTemp; |
| | | private bool _circulatingFluidDischargeTempRise; |
| | | private bool _circulatingFluidDischargeTempDrop; |
| | | private bool _highCirculatingFluidReturnTemp; |
| | | private bool _highCirculatingFluidDischargePressure; |
| | | private bool _abnormalPumpOperation; |
| | | private bool _circulatingFluidDischargePressureRise; |
| | | private bool _circulatingFluidDischargePressureDrop; |
| | | private bool _highCompressorIntakeTemp; |
| | | private bool _lowCompressorIntakeTemp; |
| | | private bool _lowSuperHeatTemperature; |
| | | private bool _highCompressorDischargePressure; |
| | | private bool _reserve13; |
| | | private bool _refrigerantCircuitHighPressureDrop; |
| | | private bool _refrigerantCircuitLowPressureRise; |
| | | |
| | | public bool[] Datas |
| | | { |
| | | get |
| | | { |
| | | if (_datas == null) |
| | | { |
| | | _datas = new bool[16]; |
| | | } |
| | | |
| | | return _datas; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _datas = value; |
| | | } |
| | | } |
| | | |
| | | public bool LowLevelInTank |
| | | { |
| | | get |
| | | { |
| | | return _lowLevelInTank; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _lowLevelInTank = value; |
| | | } |
| | | } |
| | | |
| | | public bool HighCirculatingFluidDischargeTemp |
| | | { |
| | | get |
| | | { |
| | | return _highCirculatingFluidDischargeTemp; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _highCirculatingFluidDischargeTemp = value; |
| | | } |
| | | } |
| | | |
| | | public bool CirculatingFluidDischargeTempRise |
| | | { |
| | | get |
| | | { |
| | | return _circulatingFluidDischargeTempRise; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _circulatingFluidDischargeTempRise = value; |
| | | } |
| | | } |
| | | |
| | | public bool CirculatingFluidDischargeTempDrop |
| | | { |
| | | get |
| | | { |
| | | return _circulatingFluidDischargeTempDrop; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _circulatingFluidDischargeTempDrop = value; |
| | | } |
| | | } |
| | | |
| | | public bool HighCirculatingFluidReturnTemp |
| | | { |
| | | get |
| | | { |
| | | return _highCirculatingFluidReturnTemp; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _highCirculatingFluidReturnTemp = value; |
| | | } |
| | | } |
| | | |
| | | public bool HighCirculatingFluidDischargePressure |
| | | { |
| | | get |
| | | { |
| | | return _highCirculatingFluidDischargePressure; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _highCirculatingFluidDischargePressure = value; |
| | | } |
| | | } |
| | | |
| | | public bool AbnormalPumpOperation |
| | | { |
| | | get |
| | | { |
| | | return _abnormalPumpOperation; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _abnormalPumpOperation = value; |
| | | } |
| | | } |
| | | |
| | | public bool CirculatingFluidDischargePressureRise |
| | | { |
| | | get |
| | | { |
| | | return _circulatingFluidDischargePressureRise; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _circulatingFluidDischargePressureRise = value; |
| | | } |
| | | } |
| | | |
| | | public bool CirculatingFluidDischargePressureDrop |
| | | { |
| | | get |
| | | { |
| | | return _circulatingFluidDischargePressureDrop; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _circulatingFluidDischargePressureDrop = value; |
| | | } |
| | | } |
| | | |
| | | public bool HighCompressorIntakeTemp |
| | | { |
| | | get |
| | | { |
| | | return _highCompressorIntakeTemp; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _highCompressorIntakeTemp = value; |
| | | } |
| | | } |
| | | |
| | | public bool LowCompressorIntakeTemp |
| | | { |
| | | get |
| | | { |
| | | return _lowCompressorIntakeTemp; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _lowCompressorIntakeTemp = value; |
| | | } |
| | | } |
| | | |
| | | public bool LowSuperHeatTemperature |
| | | { |
| | | get |
| | | { |
| | | return _lowSuperHeatTemperature; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _lowSuperHeatTemperature = value; |
| | | } |
| | | } |
| | | |
| | | public bool HighCompressorDischargePressure |
| | | { |
| | | get |
| | | { |
| | | return _highCompressorDischargePressure; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _highCompressorDischargePressure = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve13 |
| | | { |
| | | get |
| | | { |
| | | return _reserve13; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve13 = value; |
| | | } |
| | | } |
| | | |
| | | public bool RefrigerantCircuitHighPressureDrop |
| | | { |
| | | get |
| | | { |
| | | return _refrigerantCircuitHighPressureDrop; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _refrigerantCircuitHighPressureDrop = value; |
| | | } |
| | | } |
| | | |
| | | public bool RefrigerantCircuitLowPressureRise |
| | | { |
| | | get |
| | | { |
| | | return _refrigerantCircuitLowPressureRise; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _refrigerantCircuitLowPressureRise = value; |
| | | } |
| | | } |
| | | |
| | | public void SetData(byte[] bytes) |
| | | { |
| | | if (_datas == null) |
| | | { |
| | | _datas = new bool[16]; |
| | | } |
| | | |
| | | var bit = new BitArray(bytes); |
| | | |
| | | if (bit.Length < 16) return; |
| | | |
| | | for (int i = 0; i < 16; i++) |
| | | { |
| | | _datas[i] = bit[i]; |
| | | } |
| | | |
| | | LowLevelInTank = bit[0]; |
| | | HighCirculatingFluidDischargeTemp = bit[1]; |
| | | CirculatingFluidDischargeTempRise = bit[2]; |
| | | CirculatingFluidDischargeTempDrop = bit[3]; |
| | | HighCirculatingFluidReturnTemp = bit[4]; |
| | | HighCirculatingFluidDischargePressure = bit[5]; |
| | | AbnormalPumpOperation = bit[6]; |
| | | CirculatingFluidDischargePressureRise = bit[7]; |
| | | CirculatingFluidDischargePressureDrop = bit[8]; |
| | | HighCompressorIntakeTemp = bit[9]; |
| | | LowCompressorIntakeTemp = bit[10]; |
| | | LowSuperHeatTemperature = bit[11]; |
| | | HighCompressorDischargePressure = bit[12]; |
| | | Reserve13 = bit[13]; |
| | | RefrigerantCircuitHighPressureDrop = bit[14]; |
| | | RefrigerantCircuitLowPressureRise = bit[15]; |
| | | } |
| | | } |
| | | |
| | | public struct AlarmFlag2 |
| | | { |
| | | private bool[] _datas; |
| | | private bool _refrigerantCircuitLowPressureDrop; |
| | | private bool _compressorOverload; |
| | | private bool _communicationError; |
| | | private bool _memoryError; |
| | | private bool _dcLineFuseCut; |
| | | private bool _circulatingFluidDischargeTempSensorFailure; |
| | | private bool _circulatingFluidReturnTempSensorFailure; |
| | | private bool _compressorIntankTempSensorFailure; |
| | | private bool _circulatingFluidDischargePressureSensorFailure; |
| | | private bool _compressorDischargePressureSensorFailure; |
| | | private bool _compressorIntankPressureSensorFailure; |
| | | private bool _maintenanceOfPump; |
| | | private bool _maintenanceOfFanMotor; |
| | | private bool _maintenanceOfCompressor; |
| | | private bool _contactInput1SignalDetectionAlarm; |
| | | private bool _contactInput2SignalDetectionAlarm; |
| | | |
| | | public bool[] Datas |
| | | { |
| | | get |
| | | { |
| | | if (_datas == null) |
| | | { |
| | | _datas = new bool[16]; |
| | | } |
| | | |
| | | return _datas; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _datas = value; |
| | | } |
| | | } |
| | | |
| | | public bool RefrigerantCircuitLowPressureDrop |
| | | { |
| | | get |
| | | { |
| | | return _refrigerantCircuitLowPressureDrop; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _refrigerantCircuitLowPressureDrop = value; |
| | | } |
| | | } |
| | | |
| | | public bool CompressorOverload |
| | | { |
| | | get |
| | | { |
| | | return _compressorOverload; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _compressorOverload = value; |
| | | } |
| | | } |
| | | |
| | | public bool CommunicationError |
| | | { |
| | | get |
| | | { |
| | | return _communicationError; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _communicationError = value; |
| | | } |
| | | } |
| | | |
| | | public bool MemoryError |
| | | { |
| | | get |
| | | { |
| | | return _memoryError; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _memoryError = value; |
| | | } |
| | | } |
| | | |
| | | public bool DcLineFuseCut |
| | | { |
| | | get |
| | | { |
| | | return _dcLineFuseCut; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _dcLineFuseCut = value; |
| | | } |
| | | } |
| | | |
| | | public bool CirculatingFluidDischargeTempSensorFailure |
| | | { |
| | | get |
| | | { |
| | | return _circulatingFluidDischargeTempSensorFailure; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _circulatingFluidDischargeTempSensorFailure = value; |
| | | } |
| | | } |
| | | |
| | | public bool CirculatingFluidReturnTempSensorFailure |
| | | { |
| | | get |
| | | { |
| | | return _circulatingFluidReturnTempSensorFailure; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _circulatingFluidReturnTempSensorFailure = value; |
| | | } |
| | | } |
| | | |
| | | public bool CompressorIntankTempSensorFailure |
| | | { |
| | | get |
| | | { |
| | | return _compressorIntankTempSensorFailure; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _compressorIntankTempSensorFailure = value; |
| | | } |
| | | } |
| | | |
| | | public bool CirculatingFluidDischargePressureSensorFailure |
| | | { |
| | | get |
| | | { |
| | | return _circulatingFluidDischargePressureSensorFailure; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _circulatingFluidDischargePressureSensorFailure = value; |
| | | } |
| | | } |
| | | |
| | | public bool CompressorDischargePressureSensorFailure |
| | | { |
| | | get |
| | | { |
| | | return _compressorDischargePressureSensorFailure; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _compressorDischargePressureSensorFailure = value; |
| | | } |
| | | } |
| | | |
| | | public bool CompressorIntankPressureSensorFailure |
| | | { |
| | | get |
| | | { |
| | | return _compressorIntankPressureSensorFailure; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _compressorIntankPressureSensorFailure = value; |
| | | } |
| | | } |
| | | |
| | | public bool MaintenanceOfPump |
| | | { |
| | | get |
| | | { |
| | | return _maintenanceOfPump; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _maintenanceOfPump = value; |
| | | } |
| | | } |
| | | |
| | | public bool MaintenanceOfFanMotor |
| | | { |
| | | get |
| | | { |
| | | return _maintenanceOfFanMotor; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _maintenanceOfFanMotor = value; |
| | | } |
| | | } |
| | | |
| | | public bool MaintenanceOfCompressor |
| | | { |
| | | get |
| | | { |
| | | return _maintenanceOfCompressor; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _maintenanceOfCompressor = value; |
| | | } |
| | | } |
| | | |
| | | public bool ContactInput1SignalDetectionAlarm |
| | | { |
| | | get |
| | | { |
| | | return _contactInput1SignalDetectionAlarm; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _contactInput1SignalDetectionAlarm = value; |
| | | } |
| | | } |
| | | |
| | | public bool ContactInput2SignalDetectionAlarm |
| | | { |
| | | get |
| | | { |
| | | return _contactInput2SignalDetectionAlarm; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _contactInput2SignalDetectionAlarm = value; |
| | | } |
| | | } |
| | | |
| | | public void SetData(byte[] bytes) |
| | | { |
| | | var bit = new BitArray(bytes); |
| | | |
| | | if (bit.Length < 16) return; |
| | | |
| | | for (int i = 0; i < 16; i++) |
| | | { |
| | | Datas[i] = bit[i]; |
| | | } |
| | | |
| | | RefrigerantCircuitLowPressureDrop = bit[0]; |
| | | CompressorOverload = bit[1]; |
| | | CommunicationError = bit[2]; |
| | | MemoryError = bit[3]; |
| | | DcLineFuseCut = bit[4]; |
| | | CirculatingFluidDischargeTempSensorFailure = bit[5]; |
| | | CirculatingFluidReturnTempSensorFailure = bit[6]; |
| | | CompressorIntankTempSensorFailure = bit[7]; |
| | | CirculatingFluidDischargePressureSensorFailure = bit[8]; |
| | | CompressorDischargePressureSensorFailure = bit[9]; |
| | | CompressorIntankPressureSensorFailure = bit[10]; |
| | | MaintenanceOfPump = bit[11]; |
| | | MaintenanceOfFanMotor = bit[12]; |
| | | MaintenanceOfCompressor = bit[13]; |
| | | ContactInput1SignalDetectionAlarm = bit[14]; |
| | | ContactInput2SignalDetectionAlarm = bit[15]; |
| | | } |
| | | } |
| | | |
| | | public struct AlarmFlag3 |
| | | { |
| | | private bool[] _datas; |
| | | private bool _waterLeakage; |
| | | private bool _electricResistivityConductivityLevelRise; |
| | | private bool _electricResistivityConductivityLevelDrop; |
| | | private bool _electricResistivityConductivitySensorError; |
| | | private bool _reserve4; |
| | | private bool _reserve5; |
| | | private bool _reserve6; |
| | | private bool _reserve7; |
| | | private bool _reserve8; |
| | | private bool _reserve9; |
| | | private bool _reserve10; |
| | | private bool _reserve11; |
| | | private bool _reserve12; |
| | | private bool _reserve13; |
| | | private bool _reserve14; |
| | | private bool _reserve15; |
| | | |
| | | public bool[] Datas |
| | | { |
| | | get |
| | | { |
| | | if (_datas == null) |
| | | { |
| | | _datas = new bool[16]; |
| | | } |
| | | |
| | | return _datas; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _datas = value; |
| | | } |
| | | } |
| | | |
| | | public bool WaterLeakage |
| | | { |
| | | get |
| | | { |
| | | return _waterLeakage; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _waterLeakage = value; |
| | | } |
| | | } |
| | | |
| | | public bool ElectricResistivityConductivityLevelRise |
| | | { |
| | | get |
| | | { |
| | | return _electricResistivityConductivityLevelRise; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _electricResistivityConductivityLevelRise = value; |
| | | } |
| | | } |
| | | |
| | | public bool ElectricResistivityConductivityLevelDrop |
| | | { |
| | | get |
| | | { |
| | | return _electricResistivityConductivityLevelDrop; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _electricResistivityConductivityLevelDrop = value; |
| | | } |
| | | } |
| | | |
| | | public bool ElectricResistivityConductivitySensorError |
| | | { |
| | | get |
| | | { |
| | | return _electricResistivityConductivitySensorError; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _electricResistivityConductivitySensorError = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve4 |
| | | { |
| | | get |
| | | { |
| | | return _reserve4; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve4 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve5 |
| | | { |
| | | get |
| | | { |
| | | return _reserve5; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve5 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve6 |
| | | { |
| | | get |
| | | { |
| | | return _reserve6; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve6 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve7 |
| | | { |
| | | get |
| | | { |
| | | return _reserve7; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve7 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve8 |
| | | { |
| | | get |
| | | { |
| | | return _reserve8; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve8 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve9 |
| | | { |
| | | get |
| | | { |
| | | return _reserve9; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve9 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve10 |
| | | { |
| | | get |
| | | { |
| | | return _reserve10; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve10 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve11 |
| | | { |
| | | get |
| | | { |
| | | return _reserve11; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve11 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve12 |
| | | { |
| | | get |
| | | { |
| | | return _reserve12; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve12 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve13 |
| | | { |
| | | get |
| | | { |
| | | return _reserve13; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve13 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve14 |
| | | { |
| | | get |
| | | { |
| | | return _reserve14; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve14 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve15 |
| | | { |
| | | get |
| | | { |
| | | return _reserve15; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve15 = value; |
| | | } |
| | | } |
| | | |
| | | public void SetData(byte[] bytes) |
| | | { |
| | | var bit = new BitArray(bytes); |
| | | |
| | | if (bit.Length < 16) return; |
| | | |
| | | for (int i = 0; i < 16; i++) |
| | | { |
| | | Datas[i] = bit[i]; |
| | | } |
| | | |
| | | WaterLeakage = bit[0]; |
| | | ElectricResistivityConductivityLevelRise = bit[1]; |
| | | ElectricResistivityConductivityLevelDrop = bit[2]; |
| | | ElectricResistivityConductivitySensorError = bit[3]; |
| | | Reserve4 = bit[4]; |
| | | Reserve5 = bit[5]; |
| | | Reserve6 = bit[6]; |
| | | Reserve7 = bit[7]; |
| | | Reserve8 = bit[8]; |
| | | Reserve9 = bit[9]; |
| | | Reserve10 = bit[10]; |
| | | Reserve11 = bit[11]; |
| | | Reserve12 = bit[12]; |
| | | Reserve13 = bit[13]; |
| | | Reserve14 = bit[14]; |
| | | Reserve15 = bit[15]; |
| | | } |
| | | } |
| | | |
| | | public struct StatusFlag2 |
| | | { |
| | | private bool[] _datas; |
| | | |
| | | private bool _electricResistivityConductivitySettingFlag1; |
| | | private bool _electricResistivityConductivitySettingFlag2; |
| | | private bool _reserve2; |
| | | private bool _reserve3; |
| | | private bool _reserve4; |
| | | private bool _reserve5; |
| | | private bool _reserve6; |
| | | private bool _reserve7; |
| | | private bool _reserve8; |
| | | private bool _reserve9; |
| | | private bool _reserve10; |
| | | private bool _reserve11; |
| | | private bool _reserve12; |
| | | private bool _reserve13; |
| | | private bool _reserve14; |
| | | private bool _reserve15; |
| | | |
| | | public bool[] Datas |
| | | { |
| | | get |
| | | { |
| | | if (_datas == null) |
| | | { |
| | | _datas = new bool[16]; |
| | | } |
| | | |
| | | return _datas; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _datas = value; |
| | | } |
| | | } |
| | | |
| | | public bool ElectricResistivityConductivitySettingFlag1 |
| | | { |
| | | get |
| | | { |
| | | return _electricResistivityConductivitySettingFlag1; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _electricResistivityConductivitySettingFlag1 = value; |
| | | } |
| | | } |
| | | |
| | | public bool ElectricResistivityConductivitySettingFlag2 |
| | | { |
| | | get |
| | | { |
| | | return _electricResistivityConductivitySettingFlag2; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _electricResistivityConductivitySettingFlag2 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve2 |
| | | { |
| | | get |
| | | { |
| | | return _reserve2; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve2 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve3 |
| | | { |
| | | get |
| | | { |
| | | return _reserve3; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve3 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve4 |
| | | { |
| | | get |
| | | { |
| | | return _reserve4; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve4 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve5 |
| | | { |
| | | get |
| | | { |
| | | return _reserve5; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve5 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve6 |
| | | { |
| | | get |
| | | { |
| | | return _reserve6; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve6 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve7 |
| | | { |
| | | get |
| | | { |
| | | return _reserve7; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve7 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve8 |
| | | { |
| | | get |
| | | { |
| | | return _reserve8; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve8 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve9 |
| | | { |
| | | get |
| | | { |
| | | return _reserve9; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve9 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve10 |
| | | { |
| | | get |
| | | { |
| | | return _reserve10; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve10 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve11 |
| | | { |
| | | get |
| | | { |
| | | return _reserve11; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve11 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve12 |
| | | { |
| | | get |
| | | { |
| | | return _reserve12; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve12 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve13 |
| | | { |
| | | get |
| | | { |
| | | return _reserve13; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve13 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve14 |
| | | { |
| | | get |
| | | { |
| | | return _reserve14; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve14 = value; |
| | | } |
| | | } |
| | | |
| | | public bool Reserve15 |
| | | { |
| | | get |
| | | { |
| | | return _reserve15; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _reserve15 = value; |
| | | } |
| | | } |
| | | |
| | | public void SetData(byte[] bytes) |
| | | { |
| | | var bit = new BitArray(bytes); |
| | | |
| | | if (bit.Length < 16) return; |
| | | |
| | | for (int i = 0; i < 16; i++) |
| | | { |
| | | Datas[i] = bit[i]; |
| | | } |
| | | |
| | | ElectricResistivityConductivitySettingFlag1 = bit[0]; |
| | | ElectricResistivityConductivitySettingFlag2 = bit[1]; |
| | | Reserve2 = bit[2]; |
| | | Reserve3 = bit[3]; |
| | | Reserve4 = bit[4]; |
| | | Reserve5 = bit[5]; |
| | | Reserve6 = bit[6]; |
| | | Reserve7 = bit[7]; |
| | | Reserve8 = bit[8]; |
| | | Reserve9 = bit[9]; |
| | | Reserve10 = bit[10]; |
| | | Reserve11 = bit[11]; |
| | | Reserve12 = bit[12]; |
| | | Reserve13 = bit[13]; |
| | | Reserve14 = bit[14]; |
| | | Reserve15 = bit[15]; |
| | | } |
| | | } |
| | | |
| | | Equipment _equipment; |
| | | |
| | | public StatusFlag1 statusFlag1 = new StatusFlag1(); |
| | | public AlarmFlag1 alarmFlag1 = new AlarmFlag1(); |
| | | public AlarmFlag2 alarmFlag2 = new AlarmFlag2(); |
| | | public AlarmFlag3 alarmFlag3 = new AlarmFlag3(); |
| | | public StatusFlag2 statusFlag2 = new StatusFlag2(); |
| | | |
| | | private float _circulatingFluidDischargeTemperature; |
| | | private float _circulatingFluidDischargePressure; |
| | | private float _electricResistivity; |
| | | private float _circulatingFluidSetTemperature; |
| | | |
| | | private Thread t_statusUpdate; |
| | | |
| | | public float CirculatingFluidDischargeTemperature |
| | | { |
| | | get |
| | | { |
| | | return _circulatingFluidDischargeTemperature; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _circulatingFluidDischargeTemperature = value; |
| | | } |
| | | } |
| | | |
| | | public float CirculatingFluidDischargePressure |
| | | { |
| | | get |
| | | { |
| | | return _circulatingFluidDischargePressure; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _circulatingFluidDischargePressure = value; |
| | | } |
| | | } |
| | | |
| | | public float ElectricResistivity |
| | | { |
| | | get |
| | | { |
| | | return _electricResistivity; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _electricResistivity = value; |
| | | } |
| | | } |
| | | |
| | | public float CirculatingFluidSetTemperature |
| | | { |
| | | get |
| | | { |
| | | return _circulatingFluidSetTemperature; |
| | | } |
| | | |
| | | private set |
| | | { |
| | | _circulatingFluidSetTemperature = value; |
| | | } |
| | | } |
| | | |
| | | public Chiller(Equipment equipment) |
| | | { |
| | | _equipment = equipment; |
| | | |
| | | serialPort.PortName = "COM10"; |
| | | serialPort.BaudRate = 19200; |
| | | serialPort.Parity = System.IO.Ports.Parity.Even; |
| | | serialPort.DataBits = 7; |
| | | serialPort.StopBits = System.IO.Ports.StopBits.One; |
| | | serialPort.ReadTimeout = 500; |
| | | ReceiveWaitSeconds = 0.1; |
| | | |
| | | Terminator = "\r\n"; |
| | | |
| | | t_statusUpdate = new Thread(statusUpdate); |
| | | t_statusUpdate.Start(); |
| | | } |
| | | |
| | | public void statusUpdate() |
| | | { |
| | | while (_equipment.IsDisposed == false) |
| | | { |
| | | try |
| | | { |
| | | Thread.Sleep(500); |
| | | |
| | | if (IsOpen) |
| | | { |
| | | // Todo. Command ì¤ì . |
| | | GetStatus(); |
| | | AlarmCheck(); |
| | | } |
| | | else |
| | | { |
| | | if (_equipment.alarmManager.OccurredAlarms.Exists(x => x.Code == AlarmCode.AL_0061_CHILLER_DISCONNECTED)) |
| | | { |
| | | |
| | | } |
| | | else |
| | | { |
| | | if (Open() == false) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0061_CHILLER_DISCONNECTED); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void Run() |
| | | { |
| | | string command = ":0106000C0001EC\r\n"; |
| | | |
| | | string data = WriteRead(command); |
| | | } |
| | | |
| | | public void Stop() |
| | | { |
| | | string command = ":0106000C0000EB\r\n"; |
| | | |
| | | string data = WriteRead(command); |
| | | } |
| | | |
| | | public void GetStatus() |
| | | { |
| | | // Todo. Read Registryê° ì´ìí¨;; ì¬íì¸ íì. |
| | | // 0000 ë¶í° 000C ê¹ì§ ì½ì. |
| | | string command = ":01030000000DEF\r\n"; |
| | | |
| | | string data = WriteRead(command); |
| | | |
| | | if(data == string.Empty) |
| | | { |
| | | return; |
| | | } |
| | | data = data.Replace(":", ""); |
| | | //data = "01031A00B4000000180000000100000000000000000000000000B4000160"; |
| | | string code = data.Substring(0, 2); |
| | | string function = data.Substring(2, 2); |
| | | |
| | | //ìì |
| | | string byteCount = data.Substring(4, 2); |
| | | |
| | | string dischargeTemperature = data.Substring(6, 4); |
| | | string reserved1 = data.Substring(10, 4); |
| | | string dischargePressure = data.Substring(14, 4); |
| | | string electricResistivityFluid = data.Substring(18, 4); |
| | | string statusFlag1 = data.Substring(22, 4); |
| | | string alarmFlag1 = data.Substring(26, 4); |
| | | string alarmFlag2 = data.Substring(30, 4); |
| | | string alarmFlag3 = data.Substring(34, 4); |
| | | string reserved2 = data.Substring(38, 4); |
| | | string statusFlag2 = data.Substring(42, 4); |
| | | string reserved3 = data.Substring(46, 4); |
| | | string circulatingTemperature = data.Substring(50, 4); |
| | | string commandToRun = data.Substring(54, 4); |
| | | |
| | | int fluidDischargeTemperature = int.Parse(dischargeTemperature, NumberStyles.HexNumber); |
| | | int fluidDischargePressure = int.Parse(dischargePressure, NumberStyles.HexNumber); |
| | | int electricResistivity = int.Parse(electricResistivityFluid, NumberStyles.HexNumber); |
| | | int fluidSetTemperature = int.Parse(circulatingTemperature, NumberStyles.HexNumber); |
| | | int dd = int.Parse(reserved1, NumberStyles.HexNumber); |
| | | |
| | | CirculatingFluidDischargeTemperature = fluidDischargeTemperature * 0.1f; |
| | | CirculatingFluidDischargePressure = fluidDischargePressure * 0.01f; |
| | | ElectricResistivity = electricResistivity * 0.1f; |
| | | CirculatingFluidSetTemperature = fluidSetTemperature * 0.1f; |
| | | |
| | | SetStatusFlag1(statusFlag1); |
| | | SetStatusFlag2(statusFlag2); |
| | | |
| | | SetAlarmFlag1(alarmFlag1); |
| | | SetAlarmFlag2(alarmFlag2); |
| | | SetAlarmFlag3(alarmFlag3); |
| | | } |
| | | |
| | | private void SetStatusFlag1(string statusFlag1) |
| | | { |
| | | int integerStatusFlag = int.Parse(statusFlag1, NumberStyles.HexNumber); |
| | | byte[] status = BitConverter.GetBytes(integerStatusFlag); |
| | | |
| | | this.statusFlag1.SetData(status); |
| | | } |
| | | |
| | | private void SetStatusFlag2(string statusFlag2) |
| | | { |
| | | int integerStatusFlag = int.Parse(statusFlag2, NumberStyles.HexNumber); |
| | | byte[] status = BitConverter.GetBytes(integerStatusFlag); |
| | | |
| | | this.statusFlag2.SetData(status); |
| | | } |
| | | |
| | | private void SetAlarmFlag1(string alarmFlag1) |
| | | { |
| | | int integerAlarmFlag = int.Parse(alarmFlag1, NumberStyles.HexNumber); |
| | | byte[] alarms = BitConverter.GetBytes(integerAlarmFlag); |
| | | |
| | | this.alarmFlag1.SetData(alarms); |
| | | } |
| | | |
| | | private void SetAlarmFlag2(string alarmFlag2) |
| | | { |
| | | int integerAlarmFlag = int.Parse(alarmFlag2, NumberStyles.HexNumber); |
| | | byte[] alarms = BitConverter.GetBytes(integerAlarmFlag); |
| | | |
| | | this.alarmFlag2.SetData(alarms); |
| | | } |
| | | |
| | | private void SetAlarmFlag3(string alarmFlag3) |
| | | { |
| | | int integerAlarmFlag = int.Parse(alarmFlag3, NumberStyles.HexNumber); |
| | | byte[] alarms = BitConverter.GetBytes(integerAlarmFlag); |
| | | |
| | | this.alarmFlag3.SetData(alarms); |
| | | } |
| | | |
| | | public void AlarmCheck() |
| | | { |
| | | // Alarm 1 |
| | | if(alarmFlag1.LowLevelInTank) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0400_CHILLER_LOW_LEVEL_IN_TANK); |
| | | } |
| | | if (alarmFlag1.HighCirculatingFluidDischargeTemp) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0401_CHILLER_HIGH_CIRCULATING_FLUID_DISCHARGE_TEMP); |
| | | } |
| | | if (alarmFlag1.CirculatingFluidDischargeTempRise) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0402_CHILLER_CIRCULATING_FLUID_DISCHARGE_TEMP_RISE); |
| | | } |
| | | if (alarmFlag1.CirculatingFluidDischargeTempDrop) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0403_CHILLER_CIRCULATING_FLUID_DISCHARGE_TEMP_DROP); |
| | | } |
| | | if (alarmFlag1.HighCirculatingFluidReturnTemp) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0404_CHILLER_HIGH_CIRCULATING_FLUID_RETURN_TEMP); |
| | | } |
| | | if (alarmFlag1.HighCirculatingFluidDischargePressure) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0405_CHILLER_HIGH_CIRCULATING_FLUID_DISCHARGE_PRESSURE); |
| | | } |
| | | if (alarmFlag1.AbnormalPumpOperation) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0406_CHILLER_ABNORMAL_PUMP_OPERATION); |
| | | } |
| | | if (alarmFlag1.CirculatingFluidDischargePressureRise) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0407_CHILLER_CIRCULATING_FLUID_DISCHARGE_PRESSURE_RISE); |
| | | } |
| | | if (alarmFlag1.CirculatingFluidDischargePressureDrop) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0408_CHILLER_CIRCULATING_FLUID_DISCHARGE_PRESSURE_DROP); |
| | | } |
| | | if (alarmFlag1.HighCompressorIntakeTemp) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0409_CHILLER_HIGH_COMPRESSOR_INTANK_TEMP); |
| | | } |
| | | if (alarmFlag1.LowCompressorIntakeTemp) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0410_CHILLER_LOW_COMPRESSOR_INTANK_TEMP); |
| | | } |
| | | if (alarmFlag1.LowSuperHeatTemperature) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0411_CHILLER_LOW_SUPER_HEAT_TEMPERATURE); |
| | | } |
| | | if (alarmFlag1.HighCompressorDischargePressure) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0412_CHILLER_HIGH_COMPRESSOR_DISCHARGE_PRESSURE); |
| | | } |
| | | if (alarmFlag1.RefrigerantCircuitHighPressureDrop) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0413_CHILLER_REFRIGERANT_CIRCUIT_HIGH_PRESSURE_DROP); |
| | | } |
| | | if (alarmFlag1.RefrigerantCircuitLowPressureRise) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0414_CHILLER_REFRIGERANT_CIRCUIT_LOW_PRESSURE_RISE); |
| | | } |
| | | |
| | | // Alarm 2 |
| | | if(alarmFlag2.RefrigerantCircuitLowPressureDrop) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0415_CHILLER_REFRIGERANT_CIRCUIT_LOW_PRESSURE_DROP); |
| | | } |
| | | if (alarmFlag2.CompressorOverload) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0416_CHILLER_COMPRESSOR_OVER_LOAD); |
| | | } |
| | | if (alarmFlag2.CommunicationError) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0417_CHILLER_COMMUNICATION_ERROR); |
| | | } |
| | | if (alarmFlag2.MemoryError) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0418_CHILLER_MEMORY_ERROR); |
| | | } |
| | | if (alarmFlag2.DcLineFuseCut) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0419_CHILLER_DC_LINE_FUSE_CUT); |
| | | } |
| | | if (alarmFlag2.CirculatingFluidDischargeTempSensorFailure) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0420_CHILLER_CIRCULATING_FLUID_DISCHARGE_TEMP_SENSOR_FAILURE); |
| | | } |
| | | if (alarmFlag2.CirculatingFluidReturnTempSensorFailure) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0421_CHILLER_CIRCULATING_FLUID_TEMP_SENSOR_FAILURE); |
| | | } |
| | | if (alarmFlag2.CompressorIntankTempSensorFailure) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0422_CHILLER_COMPRESSOR_INTANK_TEMP_SENSOR_FAILURE); |
| | | } |
| | | if (alarmFlag2.CirculatingFluidDischargePressureSensorFailure) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0423_CHILLER_CIRCULATING_FLUID_DISCHARGE_PRESSURE_SENSOR_FAILURE); |
| | | } |
| | | if (alarmFlag2.CompressorDischargePressureSensorFailure) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0424_CHILLER_COMPRESSOR_DISCHARGE_PRESSURE_SENSOR_FAILURE); |
| | | } |
| | | if (alarmFlag2.CompressorIntankPressureSensorFailure) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0425_CHILLER_COMPRESSOR_INTANK_PRESSURE_SENSOR_FAILURE); |
| | | } |
| | | if (alarmFlag2.MaintenanceOfPump) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0426_CHILLER_MAINTENANCE_OF_PUMP); |
| | | } |
| | | if (alarmFlag2.MaintenanceOfFanMotor) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0427_CHILLER_MAINTENENCE_OF_FAN_MOTOR); |
| | | } |
| | | if (alarmFlag2.MaintenanceOfCompressor) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0428_CHILLER_MAINTENENCE_OF_COMPRESSOR); |
| | | } |
| | | if (alarmFlag2.ContactInput1SignalDetectionAlarm) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0429_CHILLER_CONTACT_INPUT_1_SIGNAL_DETECTION_ALARM); |
| | | } |
| | | if (alarmFlag2.ContactInput2SignalDetectionAlarm) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0430_CHILLER_CONTACT_INPUT_2_SIGNAL_DETECTION_ALARM); |
| | | } |
| | | |
| | | // Alarm 3 |
| | | if(alarmFlag3.WaterLeakage) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0431_CHILLER_WATER_LEAKAGE); |
| | | } |
| | | if (alarmFlag3.ElectricResistivityConductivityLevelRise) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0432_CHILLER_ELECTRIC_RESISTIVITY_COMDUCTIVITY_LEVEL_RISE); |
| | | } |
| | | if (alarmFlag3.ElectricResistivityConductivityLevelDrop) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0433_CHILLER_ELECTRIC_RESISTIVITY_COMDUCTIVITY_LEVEL_DROP); |
| | | } |
| | | if (alarmFlag3.ElectricResistivityConductivitySensorError) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0434_CHILLER_ELECTRIC_RESISTIVITY_COMDUCTIVITY_SENSOR_ERROR); |
| | | } |
| | | } |
| | | |
| | | public byte GetLRC(byte[] datas) |
| | | { |
| | | byte LRC = 0x05; |
| | | |
| | | return LRC; |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using EasyModbus; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Threading; |
| | | |
| | | namespace SA_LTT.Module |
| | | { |
| | | /* |
| | | * AI AO DI*7 DO*5 |
| | | */ |
| | | public class Crevis : ModbusClient |
| | | { |
| | | //ST-1228 / 8 |
| | | public enum DigitalInput : int |
| | | { |
| | | SPARE_00, |
| | | CP_BOX_OPEN, |
| | | SPARE_02, |
| | | SPARE_03, |
| | | EMO_SW_1, |
| | | EMO_SW_2, |
| | | EMO_SW_3, |
| | | EMO_SW_4, |
| | | DOOR_LOCK_OPEN_1, |
| | | DOOR_LOCK_OPEN_2, |
| | | DOOR_LOCK_OPEN_3, |
| | | DOOR_LOCK_OPEN_4, |
| | | SERVO_MC_STATUS, |
| | | VACUUM_MC_STATUS, |
| | | SPARE_14, |
| | | SPARE_15, |
| | | CST_DETECTOR_1, |
| | | CST_DETECTOR_2, |
| | | WATER_LEAK_LASER, |
| | | WATER_LEAK_CHILLER, |
| | | SMOKE_DETECTOR_CP_BOX, |
| | | SPARE_21, |
| | | SPARE_22, |
| | | SPARE_23, |
| | | CMB_GATE_OPEN, |
| | | CMB_GATE_CLOSE, |
| | | WAFER_UP_CYLINDER, |
| | | WAFER_DOWN_CYLINDER, |
| | | LASER_SHUTTER_OPEN, |
| | | LASER_SHUTTER_CLOSE, |
| | | SPARE_30, |
| | | SPARE_31, |
| | | MAIN_CDA_PRESSURE, |
| | | MAIN_VAC_PRESSURE, |
| | | SPARE_34, |
| | | MAIN_CDA_FLOW, |
| | | CMB_VACUUM_PRESSURE, |
| | | SPARE_37, |
| | | SPARE_38, |
| | | SPARE_39, |
| | | FAN_1_RUN_CP_BOX_IN, |
| | | FAN_2_RUN_CP_BOX_IN, |
| | | FAN_3_RUN_CP_BOX_IN, |
| | | SPARE_43, |
| | | FAN_4_RUN_CP_BOX_OUT, |
| | | FAN_5_RUN_CP_BOX_OUT, |
| | | FAN_6_RUN_CP_BOX_OUT, |
| | | SPARE_47, |
| | | FAN_1_RUN_CHILLER_OUT, |
| | | FAN_2_RUN_CHILLER_OUT, |
| | | FAN_3_RUN_CHILLER_OUT, |
| | | SPARE_51, |
| | | SPARE_52, |
| | | SPARE_53, |
| | | SPARE_54, |
| | | SPARE_55, |
| | | } |
| | | |
| | | //ST-2318 / 8 |
| | | public enum DigitalOutput : int |
| | | { |
| | | SPARE_00, |
| | | SIGNAL_TOWER_RED, |
| | | SIGNAL_TOWER_YELLOW, |
| | | SIGNAL_TOWER_GREEN, |
| | | BUZZER_1, |
| | | BUZZER_2, |
| | | BUZZER_3, |
| | | BUZZER_4, |
| | | FLUORESCENT_LAMP_OFF, |
| | | SERVO_CONTROL_OFF, |
| | | LASER_LED_BOARD_ON, |
| | | SPARE_11, |
| | | VACUUM_PUMP_MC_ON, |
| | | DOOR_OPEN_RELEASE_1, |
| | | DOOR_OPEN_RELEASE_2, |
| | | SPARE_15, |
| | | CMB_GATE_OPEN_VALVE, |
| | | CMB_GATE_CLOSE_VALVE, |
| | | N2_CHAMBER_VALVE_ON_SOL, |
| | | N2_MFC_VALVE_ON_SOL, |
| | | CMB_BYPASS_ON_SOL, |
| | | WAFER_UP_SOL, |
| | | WAFER_DOWN_SOL, |
| | | LASER_SHUTTER_OPEN_SOL, |
| | | AIR_BLOW_ON, |
| | | SPARE_26, |
| | | SPARE_27, |
| | | VAC_CHUCK_ON, |
| | | SPARE_28, |
| | | SPARE_29, |
| | | SPARE_30, |
| | | SPARE_31, |
| | | SPARE_32, |
| | | SPARE_33, |
| | | SPARE_34, |
| | | SPARE_35, |
| | | SPARE_36, |
| | | SPARE_37, |
| | | SPARE_38, |
| | | SPARE_39, |
| | | } |
| | | |
| | | //ST-3444 (Analog input : 0 ~ 10V, Resolution 14bit, 0.6mV/Bit) / 4 |
| | | public enum AnalogInput : int |
| | | { |
| | | MFC_FLOW_OUT = 0, |
| | | SPARE_01 = 10, |
| | | SPARE_02 = 20, |
| | | SPARE_03 = 30, |
| | | } |
| | | |
| | | //ST-4424 (Analog output : 0 ~ 10V, Resolution 12bit, 2.44mV/Bit) / 4 |
| | | public enum AnalogOutput : int |
| | | { |
| | | MFC_SET_POINT = 0, |
| | | SPARE_01 = 10, |
| | | SPARE_02 = 20, |
| | | SPARE_03 = 30, |
| | | } |
| | | |
| | | private int _digitalInputStartAddress = 0x0040; |
| | | private int _digitalOutputStartAddress = 0x1040; |
| | | |
| | | private int _analogInputStartAddress = 0x0000; |
| | | private int _analogOutputStartAddress = 0x0800; |
| | | |
| | | public Dictionary<DigitalInput, bool> DigitalInputs = new Dictionary<DigitalInput, bool>(); |
| | | public Dictionary<DigitalOutput, bool> DigitalOutputs = new Dictionary<DigitalOutput, bool>(); |
| | | public Dictionary<AnalogInput, double> AnalogInputs = new Dictionary<AnalogInput, double>(); |
| | | public Dictionary<AnalogOutput, double> AnalogOutputs = new Dictionary<AnalogOutput, double>(); |
| | | |
| | | private Equipment _equipment; |
| | | private Thread t_statusUpdate; |
| | | |
| | | object dataLock = new object(); |
| | | |
| | | public Crevis(Equipment equipment) |
| | | { |
| | | IPAddress = "192.168.123.1"; |
| | | |
| | | foreach (DigitalInput input in Enum.GetValues(typeof(DigitalInput))) |
| | | { |
| | | DigitalInputs.Add(input, false); |
| | | } |
| | | |
| | | foreach (DigitalOutput output in Enum.GetValues(typeof(DigitalOutput))) |
| | | { |
| | | DigitalOutputs.Add(output, false); |
| | | } |
| | | |
| | | foreach (AnalogInput inputs in Enum.GetValues(typeof(AnalogInput))) |
| | | { |
| | | AnalogInputs.Add(inputs, 0); |
| | | } |
| | | |
| | | foreach (AnalogOutput output in Enum.GetValues(typeof(AnalogOutput))) |
| | | { |
| | | AnalogOutputs.Add(output, 0); |
| | | } |
| | | |
| | | _equipment = equipment; |
| | | |
| | | t_statusUpdate = new Thread(statusUpdate); |
| | | t_statusUpdate.Start(); |
| | | } |
| | | |
| | | public void statusUpdate() |
| | | { |
| | | while (_equipment.IsDisposed == false) |
| | | { |
| | | try |
| | | { |
| | | Thread.Sleep(10); |
| | | |
| | | if (Connected) |
| | | { |
| | | if(ReadDigitalInputs() == false) |
| | | { |
| | | Disconnect(); |
| | | continue; |
| | | } |
| | | if(ReadDigitalOutputs() == false) |
| | | { |
| | | Disconnect(); |
| | | continue; |
| | | } |
| | | if (ReadAnalogInputs() == false) |
| | | { |
| | | Disconnect(); |
| | | continue; |
| | | } |
| | | if (ReadAnalogOutputs() == false) |
| | | { |
| | | Disconnect(); |
| | | continue; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (_equipment.alarmManager.OccurredAlarms.Exists(x => x.Code == AlarmCode.AL_0050_CREVIS_DISCONNECTED)) |
| | | { |
| | | |
| | | } |
| | | else |
| | | { |
| | | if (Connect() == false) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0050_CREVIS_DISCONNECTED); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public new bool Connect() |
| | | { |
| | | try |
| | | { |
| | | base.Connect(); |
| | | return true; |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public bool ReadDigitalInputs() |
| | | { |
| | | lock (dataLock) |
| | | { |
| | | try |
| | | { |
| | | bool[] readValue = ReadCoils(_digitalInputStartAddress, Enum.GetValues(typeof(DigitalInput)).Length); |
| | | |
| | | for (int i = 0; i < readValue.Length; i++) |
| | | { |
| | | DigitalInputs[(DigitalInput)i] = readValue[i]; |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| | | public bool ReadDigitalOutputs() |
| | | { |
| | | lock (dataLock) |
| | | { |
| | | try |
| | | { |
| | | bool[] readValue = ReadCoils(_digitalOutputStartAddress, Enum.GetValues(typeof(DigitalOutput)).Length); |
| | | |
| | | for (int i = 0; i < readValue.Length; i++) |
| | | { |
| | | DigitalOutputs[(DigitalOutput)i] = readValue[i]; |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| | | public bool ReadAnalogInputs() |
| | | { |
| | | lock (dataLock) |
| | | { |
| | | try |
| | | { |
| | | int[] serverResponse = ReadInputRegisters(_analogInputStartAddress, AnalogInputs.Keys.Count); |
| | | |
| | | int i = 0; |
| | | foreach (AnalogInput input in Enum.GetValues(typeof(AnalogInput))) |
| | | { |
| | | AnalogInputs[input] = Math.Round(serverResponse[i] / 1638.0, 2); |
| | | i++; |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| | | public bool ReadAnalogOutputs() |
| | | { |
| | | lock (dataLock) |
| | | { |
| | | try |
| | | { |
| | | int[] serverResponse = ReadInputRegisters(_analogOutputStartAddress, AnalogOutputs.Keys.Count); |
| | | |
| | | int i = 0; |
| | | foreach (AnalogOutput output in Enum.GetValues(typeof(AnalogOutput))) |
| | | { |
| | | AnalogOutputs[output] = Math.Round(serverResponse[i] / 410.0, 2); |
| | | i++; |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void WriteOutput(DigitalOutput digitalOutput, bool value) |
| | | { |
| | | lock (dataLock) |
| | | { |
| | | if (Connected) |
| | | { |
| | | WriteSingleCoil(_digitalOutputStartAddress + (int)digitalOutput, value); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | public void WriteAnalog(AnalogOutput analogOutput, double value) |
| | | { |
| | | lock (dataLock) |
| | | { |
| | | if (Connected) |
| | | { |
| | | if(analogOutput == AnalogOutput.MFC_SET_POINT) |
| | | { |
| | | WriteSingleRegister(_analogOutputStartAddress + (int)analogOutput, Convert.ToInt32(value * 1000 / 2.44)); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using System; |
| | | using System.Globalization; |
| | | using System.Text; |
| | | using System.Threading; |
| | | |
| | | namespace SA_LTT.Module |
| | | { |
| | | /// <summary> |
| | | /// Omron temp controller |
| | | /// </summary> |
| | | public class E5CC : ComPort |
| | | { |
| | | private struct VariableArea |
| | | { |
| | | public string Node; |
| | | public string slaveAddress; |
| | | public string functionCode; |
| | | public string MRC; |
| | | public string SRC; |
| | | public string responseCode; |
| | | public string readData; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Start of text |
| | | /// </summary> |
| | | private char STX = Convert.ToChar(2); |
| | | |
| | | /// <summary> |
| | | /// End of text |
| | | /// </summary> |
| | | private char EXT = Convert.ToChar(3); |
| | | |
| | | private int _temperature; |
| | | private Equipment _equipment; |
| | | private Thread t_statusUpdate; |
| | | |
| | | public int Temperature |
| | | { |
| | | get |
| | | { |
| | | return _temperature; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _temperature = value; |
| | | } |
| | | } |
| | | |
| | | public E5CC(Equipment equipment) |
| | | { |
| | | serialPort.PortName = "COM6"; |
| | | serialPort.BaudRate = 9600; |
| | | serialPort.Parity = System.IO.Ports.Parity.Even; |
| | | serialPort.DataBits = 7; |
| | | serialPort.StopBits = System.IO.Ports.StopBits.Two; |
| | | serialPort.Handshake = System.IO.Ports.Handshake.RequestToSend; |
| | | serialPort.ReadTimeout = 1000; |
| | | ReceiveWaitSeconds = 0.1; |
| | | Terminator = null; |
| | | |
| | | _equipment = equipment; |
| | | t_statusUpdate = new Thread(statusUpdate); |
| | | t_statusUpdate.Start(); |
| | | } |
| | | |
| | | public void statusUpdate() |
| | | { |
| | | while (_equipment.IsDisposed == false) |
| | | { |
| | | try |
| | | { |
| | | Thread.Sleep(500); |
| | | |
| | | if (IsOpen) |
| | | { |
| | | // Todo. Command ì¤ì . |
| | | ReadCurrentTemperature(); |
| | | } |
| | | else |
| | | { |
| | | if (_equipment.alarmManager.OccurredAlarms.Exists(x => x.Code == AlarmCode.AL_0054_TEMPCONTROLER_DISCONNECTED)) |
| | | { |
| | | |
| | | } |
| | | else |
| | | { |
| | | if (Open() == false) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0054_TEMPCONTROLER_DISCONNECTED); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private char GetCyclicRedundancyCheck(string command) |
| | | { |
| | | byte[] commandBytes = Encoding.Default.GetBytes(command); |
| | | string formmatedCommand = string.Empty; |
| | | |
| | | for (int i = 1; i < commandBytes.Length; i++) |
| | | { |
| | | formmatedCommand += $"{commandBytes[i]:X2}"; |
| | | |
| | | if (i != commandBytes.Length - 1) |
| | | formmatedCommand += ","; |
| | | } |
| | | |
| | | string[] BCC_HexData = formmatedCommand.Split(','); |
| | | |
| | | int blockCheckCharacter = int.Parse(BCC_HexData[0], NumberStyles.HexNumber); |
| | | |
| | | for (int i = 1; i < BCC_HexData.Length; i++) |
| | | { |
| | | blockCheckCharacter ^= int.Parse(BCC_HexData[i], NumberStyles.HexNumber); |
| | | } |
| | | |
| | | return Convert.ToChar(blockCheckCharacter); |
| | | } |
| | | |
| | | private bool ReadVariableArea(int node, string variableType, string readStartAddress, string numberOfElements, out string receivedData) |
| | | { |
| | | receivedData = string.Empty; |
| | | |
| | | string command = $"{STX}{node:X2}0000101{variableType}{readStartAddress}00{numberOfElements}{EXT}"; |
| | | |
| | | char blockCheckCharacter = GetCyclicRedundancyCheck(command); |
| | | command += blockCheckCharacter; |
| | | |
| | | char[] bytes; |
| | | VariableArea variableArea = new VariableArea(); |
| | | if (WriteRead(command, out bytes)) |
| | | { |
| | | GetVariableArea(bytes, out variableArea); |
| | | receivedData = variableArea.readData; |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | private void GetVariableArea(char[] commandFrame, out VariableArea variableArea) |
| | | { |
| | | variableArea = new VariableArea(); |
| | | |
| | | char[] node = new char[2]; |
| | | char[] slaveAddress = new char[2]; |
| | | char[] functionCode = new char[2]; |
| | | char[] mrc = new char[2]; |
| | | char[] src = new char[2]; |
| | | char[] responseCode = new char[4]; |
| | | char[] readData = new char[commandFrame.Length - 17]; |
| | | |
| | | Array.Copy(commandFrame, 1, node, 0, 2); |
| | | Array.Copy(commandFrame, 3, slaveAddress, 0, 2); |
| | | Array.Copy(commandFrame, 5, functionCode, 0, 2); |
| | | Array.Copy(commandFrame, 7, mrc, 0, 2); |
| | | Array.Copy(commandFrame, 9, src, 0, 2); |
| | | Array.Copy(commandFrame, 11, responseCode, 0, 4); |
| | | Array.Copy(commandFrame, 15, readData, 0, commandFrame.Length - 15 - 2); |
| | | |
| | | variableArea.Node = new string(node); |
| | | variableArea.slaveAddress = new string(slaveAddress); |
| | | variableArea.functionCode = new string(functionCode); |
| | | variableArea.MRC = new string(mrc); |
| | | variableArea.SRC = new string(src); |
| | | variableArea.responseCode = new string(responseCode); |
| | | variableArea.readData = new string(readData); |
| | | } |
| | | |
| | | public int ReadCurrentTemperature() |
| | | { |
| | | int temperature = 0; |
| | | |
| | | string receivedData; |
| | | |
| | | if (ReadVariableArea(1, "C0", "0000", $"{1:X4}", out receivedData)) |
| | | { |
| | | temperature = int.Parse(receivedData, NumberStyles.HexNumber); |
| | | } |
| | | Temperature = temperature; |
| | | return temperature; |
| | | } |
| | | |
| | | public bool WriteRead(string command, out char[] receivedData) |
| | | { |
| | | receivedData = null; |
| | | |
| | | string data = WriteRead(command); |
| | | |
| | | //data = "\u00020200000101000000000190\u0003\t"; |
| | | if (data != string.Empty) |
| | | { |
| | | char blockCheckCharacter = GetCyclicRedundancyCheck(data.Remove(data.Length - 1, 1)); |
| | | if (blockCheckCharacter == data[data.Length-1]) |
| | | { |
| | | receivedData = data.ToCharArray(); |
| | | |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace SA_LTT.Module |
| | | { |
| | | public class FFU : ComPort |
| | | { |
| | | #region define Packet |
| | | |
| | | /// <summary> |
| | | /// Start |
| | | /// </summary> |
| | | public readonly byte STX = 0x02; |
| | | |
| | | /// <summary> |
| | | /// Read Mode |
| | | /// </summary> |
| | | public readonly byte MODE_Read = 0x8a; |
| | | |
| | | /// <summary> |
| | | /// Control Mode |
| | | /// </summary> |
| | | public readonly byte MODE_Control = 0x89; |
| | | |
| | | /// <summary> |
| | | /// Default |
| | | /// </summary> |
| | | public readonly byte MODE2 = 0x9f; |
| | | |
| | | /// <summary> |
| | | /// MCUL32 ì IDê° |
| | | /// </summary> |
| | | public byte MCUL_ID = 0x81; |
| | | |
| | | /// <summary> |
| | | /// Defualt |
| | | /// </summary> |
| | | public readonly byte DPU_ID = 0x9f; |
| | | |
| | | /// <summary> |
| | | /// FFU Controller(LCU)ì 첫ë²ì§¸ ID ê° |
| | | /// IDê° 1ì¸ ê²½ì° 10000001 (0x81) |
| | | /// </summary> |
| | | public byte Start_LCU_ID = 0x81; |
| | | |
| | | /// <summary> |
| | | /// FFU Controller(LCU)ì ë§ì§ë§ ID ê° |
| | | /// IDê° 5ì¸ ê²½ì° 10000101 (0x85) |
| | | /// </summary> |
| | | public byte End_LCU_ID = 0x81; |
| | | |
| | | /// <summary> |
| | | /// {MODE1+MODE2+ ⦠+ mmAq HSV} => íìë°ì´í¸ |
| | | /// </summary> |
| | | //public byte Check_Sum { get; set; } |
| | | |
| | | /// <summary> |
| | | /// End |
| | | /// </summary> |
| | | public readonly byte EXT = 0x03; |
| | | |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// Channel, FFU Status |
| | | /// </summary> |
| | | public Dictionary<int, FFUStatus> FFU_Status { get; } |
| | | |
| | | private Equipment _equipment; |
| | | private Thread t_statusUpdate; |
| | | public FFU(Equipment equipment) |
| | | { |
| | | serialPort.PortName = "COM8"; |
| | | serialPort.BaudRate = 9600; |
| | | serialPort.Parity = System.IO.Ports.Parity.None; |
| | | serialPort.DataBits = 8; |
| | | serialPort.StopBits = System.IO.Ports.StopBits.One; |
| | | Terminator = null; |
| | | |
| | | FFU_Status = new Dictionary<int, FFUStatus>(); |
| | | FFU_Status.Add(1, new FFUStatus(1)); |
| | | |
| | | _equipment = equipment; |
| | | t_statusUpdate = new Thread(statusUpdate); |
| | | t_statusUpdate.Start(); |
| | | } |
| | | |
| | | public void statusUpdate() |
| | | { |
| | | while (_equipment.IsDisposed == false) |
| | | { |
| | | try |
| | | { |
| | | Thread.Sleep(50); |
| | | |
| | | if (IsOpen) |
| | | { |
| | | foreach(int key in FFU_Status.Keys) |
| | | { |
| | | // Todo. Command ì¤ì . |
| | | ReadFFUStatus(key); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (_equipment.alarmManager.OccurredAlarms.Exists(x => x.Code == AlarmCode.AL_0055_FFU_DISCONNECTED)) |
| | | { |
| | | |
| | | } |
| | | else |
| | | { |
| | | if (Open() == false) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0055_FFU_DISCONNECTED); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public bool ReadFFUStatus(int address) |
| | | { |
| | | try |
| | | { |
| | | if (!FFU_Status.ContainsKey(address)) |
| | | return false; |
| | | |
| | | byte Start_LCU_ID = (byte)(address | 0x80); |
| | | byte End_LCU_ID = (byte)(address | 0x80); |
| | | |
| | | List<byte> datas = new List<byte>(); |
| | | datas.Clear(); |
| | | |
| | | datas.Add(MODE_Control); |
| | | datas.Add(MODE2); |
| | | datas.Add(MCUL_ID); |
| | | datas.Add(DPU_ID); |
| | | datas.Add(Start_LCU_ID); |
| | | datas.Add(End_LCU_ID); |
| | | datas.Add(GetCheckSum(datas.ToArray())); |
| | | datas.Insert(0, STX); |
| | | datas.Add(EXT); |
| | | |
| | | byte[] rcvData; |
| | | |
| | | //Todo. Write read ë°í ê° Test í´ì¼ ë. |
| | | //if (WriteRead(datas.ToArray(), out rcvData)) |
| | | //{ |
| | | // FFU_Status[address].SetData_PV(rcvData[6]); |
| | | // FFU_Status[address].ChangeStatus(rcvData[7]); |
| | | // FFU_Status[address].SetData_SV(rcvData[8]); |
| | | // FFU_Status[address].SetmmAq(rcvData[9], rcvData[10]); |
| | | |
| | | // return true; |
| | | //} |
| | | //else |
| | | // return false; |
| | | |
| | | return true; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public bool WritemmAqSV(double mmAq) |
| | | { |
| | | mmAq *= 100; |
| | | |
| | | try |
| | | { |
| | | if (!FFU_Status.ContainsKey(1)) |
| | | return false; |
| | | |
| | | int a = (int)(mmAq); |
| | | |
| | | string data = a.ToString("x"); |
| | | |
| | | byte daH, daL; |
| | | |
| | | if (data.Length > 4) |
| | | return false; |
| | | |
| | | if (data.Length == 4) |
| | | { |
| | | daH = Convert.ToByte(data.Substring(0, 2), 16); |
| | | daL = Convert.ToByte(data.Substring(2, 2), 16); |
| | | } |
| | | else if (data.Length == 3) |
| | | { |
| | | daH = Convert.ToByte(data.Substring(0, 1), 16); |
| | | daL = Convert.ToByte(data.Substring(1, 2), 16); |
| | | } |
| | | else |
| | | { |
| | | daH = 0x00; |
| | | daL = Convert.ToByte(data, 16); |
| | | } |
| | | |
| | | List<byte> datas = new List<byte>(); |
| | | datas.Clear(); |
| | | |
| | | datas.Add(MODE_Control); //89 |
| | | datas.Add(MODE2); //9f |
| | | datas.Add(MCUL_ID); //81 |
| | | datas.Add(DPU_ID); //9f |
| | | datas.Add(Start_LCU_ID); //81 |
| | | datas.Add(End_LCU_ID); //82 |
| | | datas.Add(daL); //01 |
| | | datas.Add(daH); //00 |
| | | datas.Add(daL); //00 |
| | | datas.Add(daH); //00 |
| | | datas.Add(daL); //32 |
| | | datas.Add(daH); //00 |
| | | datas.Add(GetCheckSum(datas.ToArray())); //7e |
| | | datas.Insert(0, STX); //02 |
| | | datas.Add(EXT); //03 |
| | | |
| | | string recvData; |
| | | |
| | | if (WriteRead(datas.ToArray(), out recvData)) |
| | | { |
| | | byte[] bytesData = Encoding.Default.GetBytes(recvData); |
| | | foreach (byte bb in recvData) |
| | | { |
| | | if (bb == 0xb9) |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Check Sum ê³ì° Method |
| | | /// </summary> |
| | | /// <param name="datas">Command byte ë°°ì´</param> |
| | | /// <returns></returns> |
| | | public byte GetCheckSum(byte[] datas) |
| | | { |
| | | int sum = 0; |
| | | |
| | | foreach (byte data in datas) |
| | | { |
| | | sum += data; |
| | | } |
| | | |
| | | string proc_data = sum.ToString("x"); |
| | | |
| | | proc_data = proc_data.Substring(proc_data.Length - 2, 2); |
| | | |
| | | byte value = Convert.ToByte(proc_data, 16); |
| | | |
| | | return value; |
| | | } |
| | | |
| | | public bool WriteRead(string command, out string receivedData) |
| | | { |
| | | string data = base.WriteRead(command + '\r'); |
| | | |
| | | if (data.StartsWith(command.Split(' ')[0])) |
| | | { |
| | | receivedData = data.Remove(0, command.Split(' ')[0].Length).Replace("\n\r", ""); |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | receivedData = string.Empty; |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public bool WriteRead(byte[] command, out string receivedData) |
| | | { |
| | | string data = base.WriteRead(command); |
| | | |
| | | receivedData = data; |
| | | |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// MCUL32ì ì°ê²°ëì´ ìë FFU Status |
| | | /// </summary> |
| | | public class FFUStatus |
| | | { |
| | | public enum AL_ST_Datas |
| | | { |
| | | Remote_Control_Mode = 0x80, |
| | | Local_Control_Mode = 0x81, |
| | | Thermal_Relay_Alarm = 0x82,//Not used |
| | | Open_the_door = 0x84,//Not used |
| | | Setting_Alarm = 0x88,//(SV>Max or SV<Min) - LIU MODE |
| | | RPM_Alarm = 0x90,//(PV>HSV or PV<LSV) - LIU MODE |
| | | Auto_controlling_for_Over_Current = 0xA0, //ê³¼ì ë¥ |
| | | Over_Current_Alarm = 0xC0, //Motor Alarm |
| | | No_Connection_LCU = 0x00, //íµì Alarm |
| | | } |
| | | |
| | | public FFUStatus(int LCU_ID) |
| | | { |
| | | this.LCU_ID = LCU_ID; |
| | | } |
| | | |
| | | #region Status |
| | | public bool Remote_Control_Mode { get; private set; } |
| | | public bool Local_Control_Mode { get; private set; } |
| | | public bool Thermal_Relay_Alarm { get; private set; } //Not used |
| | | public bool Open_the_door { get; private set; } //Not used |
| | | public bool Setting_Alarm { get; private set; } //LIU MODE |
| | | public bool RPM_Alarm { get; private set; } //LIU MODE |
| | | public bool Auto_controlling_for_Over_Current { get; private set; } |
| | | public bool Over_Current_Alarm { get; private set; } |
| | | public bool No_Connection_LCU { get; private set; } |
| | | #endregion |
| | | |
| | | #region Setting Parameter |
| | | |
| | | /// <summary> |
| | | /// FFU Controller(LCU)ì ID ê° |
| | | /// </summary> |
| | | public int LCU_ID { get; private set; } |
| | | |
| | | /// <summary> |
| | | /// LCUì ì§ë ¹ ìë ê°(RPM) 0 ~ 1400RPM (0x00 ~ 0x8C) |
| | | /// </summary> |
| | | public int Data_SV { get; private set; } |
| | | |
| | | /// <summary> |
| | | /// LCUì íì¬ ìë ê°(RPM) |
| | | /// </summary> |
| | | public int Data_PV { get; private set; } |
| | | |
| | | /// <summary> |
| | | /// ìë ¥ì¼ì ê° (ë¨ì : mmAq) |
| | | /// </summary> |
| | | public double mmAq { get; private set; } |
| | | |
| | | /// <summary> |
| | | /// ìë ¥ì¼ì ê° Low |
| | | /// </summary> |
| | | public byte mmAqLSV { get; private set; } |
| | | |
| | | /// <summary> |
| | | /// ìë ¥ì¼ì ê° High |
| | | /// </summary> |
| | | public byte mmAqHSV { get; private set; } |
| | | #endregion |
| | | |
| | | #region Change Datas |
| | | |
| | | /// <summary> |
| | | /// Alarm, Status ë³ê²½ Method |
| | | /// </summary> |
| | | /// <param name="AL_ST">AL_ST byte Data</param> |
| | | public void ChangeStatus(byte AL_ST) |
| | | { |
| | | try |
| | | { |
| | | if ((AL_ST & (byte)AL_ST_Datas.Remote_Control_Mode) == (byte)AL_ST_Datas.Remote_Control_Mode) Remote_Control_Mode = true; |
| | | else Remote_Control_Mode = false; |
| | | |
| | | if ((AL_ST & (byte)AL_ST_Datas.Local_Control_Mode) == (byte)AL_ST_Datas.Local_Control_Mode) Local_Control_Mode = true; |
| | | else Local_Control_Mode = false; |
| | | |
| | | if ((AL_ST & (byte)AL_ST_Datas.Thermal_Relay_Alarm) == (byte)AL_ST_Datas.Thermal_Relay_Alarm) Thermal_Relay_Alarm = true; |
| | | else Thermal_Relay_Alarm = false; |
| | | |
| | | if ((AL_ST & (byte)AL_ST_Datas.Open_the_door) == (byte)AL_ST_Datas.Open_the_door) Open_the_door = true; |
| | | else Open_the_door = false; |
| | | |
| | | if ((AL_ST & (byte)AL_ST_Datas.Setting_Alarm) == (byte)AL_ST_Datas.Setting_Alarm) Setting_Alarm = true; |
| | | else Setting_Alarm = false; |
| | | |
| | | if ((AL_ST & (byte)AL_ST_Datas.RPM_Alarm) == (byte)AL_ST_Datas.RPM_Alarm) RPM_Alarm = true; |
| | | else RPM_Alarm = false; |
| | | |
| | | if ((AL_ST & (byte)AL_ST_Datas.Auto_controlling_for_Over_Current) == (byte)AL_ST_Datas.Auto_controlling_for_Over_Current) Auto_controlling_for_Over_Current = true; |
| | | else Auto_controlling_for_Over_Current = false; |
| | | |
| | | if ((AL_ST & (byte)AL_ST_Datas.Over_Current_Alarm) == (byte)AL_ST_Datas.Over_Current_Alarm) Over_Current_Alarm = true; |
| | | else Over_Current_Alarm = false; |
| | | |
| | | if ((AL_ST & (byte)AL_ST_Datas.No_Connection_LCU) == (byte)AL_ST_Datas.No_Connection_LCU) No_Connection_LCU = true; |
| | | else No_Connection_LCU = false; |
| | | } |
| | | catch (Exception) |
| | | { |
| | | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Data SV ë³ê²½. |
| | | /// </summary> |
| | | /// <param name="Data_SV">Data_SV byte Data</param> |
| | | public void SetData_SV(byte Data_SV) |
| | | { |
| | | this.Data_SV = Data_SV * 10; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Data PV ë³ê²½. |
| | | /// </summary> |
| | | /// <param name="Data_PV">Data_PV byte Data</param> |
| | | public void SetData_PV(byte Data_PV) |
| | | { |
| | | this.Data_PV = Data_PV * 10; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// mmAq Data ë³ê²½ |
| | | /// </summary> |
| | | /// <param name="mmAqLSV">ìë ¥ì¼ì ê°(íì ë°ì´í¸)</param> |
| | | /// <param name="mmAqHSV">ìë ¥ì¼ì ê°(ìì ë°ì´í¸)</param> |
| | | public void SetmmAq(byte mmAqLSV, byte mmAqHSV) |
| | | { |
| | | try |
| | | { |
| | | this.mmAqHSV = mmAqHSV; |
| | | this.mmAqLSV = mmAqLSV; |
| | | string proc_mmAq = $"{mmAqHSV.ToString("x")}{mmAqLSV.ToString("x")}"; |
| | | |
| | | this.mmAq = Convert.ToInt32(proc_mmAq, 16) / 100.0; |
| | | } |
| | | catch (Exception) |
| | | { |
| | | |
| | | } |
| | | } |
| | | #endregion |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace SA_LTT.Module |
| | | { |
| | | public class GR200 : ComPort |
| | | { |
| | | private char STX = Convert.ToChar(2); |
| | | private char EXT = '\n'; |
| | | private Dictionary<int, float> _measuredValues; |
| | | |
| | | public float MainCDAPressure |
| | | { |
| | | get |
| | | { |
| | | return _measuredValues[1]; |
| | | } |
| | | } |
| | | |
| | | public float MainVacuumPressure |
| | | { |
| | | get |
| | | { |
| | | return _measuredValues[2]; |
| | | } |
| | | } |
| | | |
| | | public float N2PTPressure |
| | | { |
| | | get |
| | | { |
| | | return _measuredValues[3]; |
| | | } |
| | | } |
| | | |
| | | public float MainCDAFlow |
| | | { |
| | | get |
| | | { |
| | | return _measuredValues[4]; |
| | | } |
| | | } |
| | | |
| | | public float ChamberVacuumPressure |
| | | { |
| | | get |
| | | { |
| | | return _measuredValues[5]; |
| | | } |
| | | } |
| | | |
| | | private Equipment _equipment; |
| | | private Thread t_statusUpdate; |
| | | |
| | | public GR200(Equipment equipment) |
| | | { |
| | | serialPort.PortName = "COM7"; |
| | | serialPort.BaudRate = 57600; |
| | | serialPort.Parity = System.IO.Ports.Parity.None; |
| | | serialPort.DataBits = 7; |
| | | serialPort.StopBits = System.IO.Ports.StopBits.One; |
| | | serialPort.Handshake = System.IO.Ports.Handshake.RequestToSend; |
| | | Terminator = "\r\n"; |
| | | |
| | | _measuredValues = new Dictionary<int, float>(); |
| | | |
| | | for (int i = 1; i <= 12; i++) |
| | | { |
| | | _measuredValues.Add(i, 0f); |
| | | } |
| | | |
| | | _equipment = equipment; |
| | | |
| | | t_statusUpdate = new Thread(statusUpdate); |
| | | t_statusUpdate.Start(); |
| | | } |
| | | |
| | | public void statusUpdate() |
| | | { |
| | | while (_equipment.IsDisposed == false) |
| | | { |
| | | try |
| | | { |
| | | Thread.Sleep(100); |
| | | |
| | | if (IsOpen) |
| | | { |
| | | ReadMeasuredValue(1); |
| | | } |
| | | else |
| | | { |
| | | if (_equipment.alarmManager.OccurredAlarms.Exists(x => x.Code == AlarmCode.AL_0058_GR200_DISCONNECTED)) |
| | | { |
| | | |
| | | } |
| | | else |
| | | { |
| | | if (Open() == false) |
| | | { |
| | | _equipment.alarmManager.Occur(AlarmCode.AL_0058_GR200_DISCONNECTED); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private string GetCommand(int channel, int bitsCount, int registerNumber) |
| | | { |
| | | return $"{channel:D2}DRS,{(bitsCount):D2},{registerNumber:D4}"; |
| | | } |
| | | |
| | | public void ReadMeasuredValue(int channel) |
| | | { |
| | | string command = GetCommand(channel, 24, 16); |
| | | string receivedData = string.Empty; |
| | | |
| | | if(WriteRead(command, out receivedData)) |
| | | { |
| | | string[] datas = receivedData.Split(','); |
| | | |
| | | int register = 1; |
| | | |
| | | if (!datas[0].Contains("NG") && datas[0].Contains("DRS")) |
| | | { |
| | | for (int i = 2; i < datas.Length; i = i + 2) |
| | | { |
| | | float fl = BitConverter.ToSingle(BitConverter.GetBytes(Convert.ToInt64(datas[i] + datas[i + 1], 16)), 0); |
| | | |
| | | if (_measuredValues.ContainsKey(register)) |
| | | { |
| | | _measuredValues[register] = fl; |
| | | } |
| | | else |
| | | { |
| | | _measuredValues.Add(register, fl); |
| | | } |
| | | |
| | | register++; |
| | | } |
| | | } |
| | | else if (datas[0].Contains("NG")) |
| | | throw new Exception($"Command NG, Address : {channel}, Command : DRS , Recv Data ="); |
| | | else |
| | | throw new Exception($"Error, Address : {channel}, Command : DRS , Recv Data ="); |
| | | } |
| | | } |
| | | |
| | | public bool WriteRead(string command, out string receivedData) |
| | | { |
| | | string data = base.WriteRead($"{STX}{command}\r{EXT}"); |
| | | |
| | | if (data.StartsWith($"{STX}")) |
| | | { |
| | | receivedData = data.Replace(STX, ' ').Replace("\r\n", ""); |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | receivedData = string.Empty; |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | } |
»õ ÆÄÀÏ |
| | |
| | | using SA_LTT.Base; |
| | | using System; |
| | | using System.IO.Ports; |
| | | using System.Linq; |
| | | using System.Threading; |
| | | |
| | | namespace SA_LTT.Module |
| | | { |
| | | public class ModuleBase : XmlManager<ModuleBase> |
| | | { |
| | | public string filePath = @"C:\Equipment\"; |
| | | public string fileName = "ModuleBase.xml"; |
| | | |
| | | protected SerialPort serialPort; |
| | | private XmlManager<ModuleBase> _xmlManager; |
| | | |
| | | private object _thisLock; |
| | | private bool _lockCheck; |
| | | private string _receivedData; |
| | | |
| | | private string _portName; |
| | | private int _baudRate; |
| | | private int _dataBits; |
| | | private Parity _parity; |
| | | private StopBits _stopBits; |
| | | private Handshake _handshake; |
| | | private int _readTimeout; |
| | | private int _writeTimeout; |
| | | private double _receiveWaitTime; |
| | | private string _terminator; |
| | | |
| | | public string PortName |
| | | { |
| | | get |
| | | { |
| | | return _portName; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _portName = value; |
| | | serialPort.PortName = _portName; |
| | | } |
| | | } |
| | | |
| | | public int BaudRate |
| | | { |
| | | get |
| | | { |
| | | return _baudRate; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _baudRate = value; |
| | | serialPort.BaudRate = _baudRate; |
| | | } |
| | | } |
| | | |
| | | public int DataBits |
| | | { |
| | | get |
| | | { |
| | | return _dataBits; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _dataBits = value; |
| | | serialPort.DataBits = _dataBits; |
| | | } |
| | | } |
| | | |
| | | public Parity Parity |
| | | { |
| | | get |
| | | { |
| | | return _parity; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _parity = value; |
| | | serialPort.Parity = _parity; |
| | | } |
| | | } |
| | | |
| | | public StopBits StopBits |
| | | { |
| | | get |
| | | { |
| | | return _stopBits; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _stopBits = value; |
| | | serialPort.StopBits = _stopBits; |
| | | } |
| | | } |
| | | |
| | | public Handshake Handshake |
| | | { |
| | | get |
| | | { |
| | | return _handshake; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _handshake = value; |
| | | serialPort.Handshake = _handshake; |
| | | } |
| | | } |
| | | |
| | | public int ReadTimeout |
| | | { |
| | | get |
| | | { |
| | | return _readTimeout; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _readTimeout = value; |
| | | serialPort.ReadTimeout = _readTimeout; |
| | | } |
| | | } |
| | | |
| | | public int WriteTimeout |
| | | { |
| | | get |
| | | { |
| | | return _writeTimeout; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _writeTimeout = value; |
| | | serialPort.WriteTimeout = _writeTimeout; |
| | | } |
| | | } |
| | | |
| | | public double ReceiveWaitTime |
| | | { |
| | | get |
| | | { |
| | | return _receiveWaitTime; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _receiveWaitTime = value; |
| | | } |
| | | } |
| | | |
| | | public string Terminator |
| | | { |
| | | get |
| | | { |
| | | return _terminator; |
| | | } |
| | | |
| | | set |
| | | { |
| | | _terminator = value; |
| | | } |
| | | } |
| | | |
| | | public ModuleBase(string filePath = @"C:\Equipment\", string fileName = "ModuleBase.xml") |
| | | { |
| | | this.filePath = filePath; |
| | | this.fileName = fileName; |
| | | |
| | | _thisLock = new object(); |
| | | |
| | | serialPort = new SerialPort(); |
| | | |
| | | PortName = "COM1"; |
| | | BaudRate = 9600; |
| | | DataBits = 8; |
| | | Parity = Parity.None; |
| | | StopBits = StopBits.One; |
| | | Handshake = Handshake.None; |
| | | ReadTimeout = 500; |
| | | WriteTimeout = 500; |
| | | } |
| | | |
| | | public static string[] GetExistPortNames() |
| | | { |
| | | return SerialPort.GetPortNames(); |
| | | } |
| | | |
| | | public bool Open() |
| | | { |
| | | try |
| | | { |
| | | serialPort.Open(); |
| | | return true; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public bool Close() |
| | | { |
| | | try |
| | | { |
| | | serialPort.Close(); |
| | | return true; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | protected string WriteRead(string command) |
| | | { |
| | | string receivedData = string.Empty; |
| | | |
| | | lock (_thisLock) |
| | | { |
| | | while (_lockCheck) |
| | | Monitor.Wait(_thisLock); |
| | | |
| | | try |
| | | { |
| | | _lockCheck = true; |
| | | _receivedData = string.Empty; |
| | | if (serialPort.BytesToRead > 0) serialPort.ReadExisting(); |
| | | |
| | | serialPort.BaseStream.Flush(); |
| | | |
| | | serialPort.Write(command); |
| | | |
| | | DateTime check = DateTime.Now; |
| | | |
| | | while (true) |
| | | { |
| | | if ((DateTime.Now - check).TotalMilliseconds > ReceiveWaitTime) |
| | | { |
| | | check = DateTime.Now; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | while (true) |
| | | { |
| | | if (serialPort.BytesToRead > 0) |
| | | { |
| | | receivedData = serialPort.ReadExisting(); |
| | | |
| | | if (CheckTerminator(receivedData)) |
| | | { |
| | | if (Terminator == null) |
| | | { |
| | | if (serialPort.BytesToRead > 0) |
| | | continue; |
| | | } |
| | | receivedData = _receivedData; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if ((DateTime.Now - check).TotalMilliseconds > serialPort.ReadTimeout) |
| | | { |
| | | throw new TimeoutException($"{serialPort.PortName} Port Receieve Timeout"); |
| | | } |
| | | } |
| | | |
| | | return receivedData; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace + "\r\n" + e.Message); |
| | | return receivedData; |
| | | } |
| | | finally |
| | | { |
| | | _lockCheck = false; |
| | | Monitor.Pulse(_thisLock); |
| | | } |
| | | } |
| | | } |
| | | |
| | | protected void Write(string command) |
| | | { |
| | | |
| | | lock (_thisLock) |
| | | { |
| | | while (_lockCheck) |
| | | Monitor.Wait(_thisLock); |
| | | |
| | | try |
| | | { |
| | | _lockCheck = true; |
| | | |
| | | serialPort.Write(command); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | } |
| | | finally |
| | | { |
| | | _lockCheck = false; |
| | | Monitor.Pulse(_thisLock); |
| | | } |
| | | } |
| | | } |
| | | |
| | | protected string WriteRead(byte[] command) |
| | | { |
| | | string receivedData = string.Empty; |
| | | |
| | | lock (_thisLock) |
| | | { |
| | | while (_lockCheck) |
| | | Monitor.Wait(_thisLock); |
| | | |
| | | try |
| | | { |
| | | _lockCheck = true; |
| | | _receivedData = string.Empty; |
| | | if (serialPort.BytesToRead > 0) serialPort.ReadExisting(); |
| | | |
| | | serialPort.BaseStream.Flush(); |
| | | |
| | | serialPort.Write(command, 0, command.Length); |
| | | |
| | | DateTime check = DateTime.Now; |
| | | |
| | | while (true) |
| | | { |
| | | if ((DateTime.Now - check).TotalMilliseconds > ReceiveWaitTime) |
| | | { |
| | | check = DateTime.Now; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | while (true) |
| | | { |
| | | if (serialPort.BytesToRead > 0) |
| | | { |
| | | receivedData = serialPort.ReadExisting(); |
| | | |
| | | if (CheckTerminator(receivedData)) |
| | | { |
| | | double aa = (DateTime.Now - check).TotalMilliseconds; |
| | | receivedData = _receivedData; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if ((DateTime.Now - check).TotalMilliseconds > serialPort.ReadTimeout) |
| | | { |
| | | throw new TimeoutException($"{serialPort.PortName} Port Receieve Timeout"); |
| | | } |
| | | } |
| | | |
| | | return receivedData; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | return receivedData; |
| | | } |
| | | finally |
| | | { |
| | | _lockCheck = false; |
| | | Monitor.Pulse(_thisLock); |
| | | } |
| | | } |
| | | } |
| | | |
| | | protected void Write(byte[] command) |
| | | { |
| | | |
| | | lock (_thisLock) |
| | | { |
| | | while (_lockCheck) |
| | | Monitor.Wait(_thisLock); |
| | | |
| | | try |
| | | { |
| | | _lockCheck = true; |
| | | |
| | | serialPort.Write(command, 0, command.Length); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | } |
| | | finally |
| | | { |
| | | _lockCheck = false; |
| | | Monitor.Pulse(_thisLock); |
| | | } |
| | | } |
| | | } |
| | | |
| | | protected string Read(int timeout) |
| | | { |
| | | string receivedData = string.Empty; |
| | | DateTime check = DateTime.Now; |
| | | |
| | | lock (_thisLock) |
| | | { |
| | | while (_lockCheck) |
| | | Monitor.Wait(_thisLock); |
| | | |
| | | try |
| | | { |
| | | _lockCheck = true; |
| | | |
| | | while (true) |
| | | { |
| | | if (serialPort.BytesToRead > 0) |
| | | { |
| | | receivedData = serialPort.ReadExisting(); |
| | | |
| | | if (CheckTerminator(receivedData)) |
| | | { |
| | | receivedData = _receivedData; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if ((DateTime.Now - check).TotalMilliseconds > timeout) |
| | | { |
| | | throw new TimeoutException($"{serialPort.PortName} Port Receieve Timeout"); |
| | | } |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | EquipmentLogManager.Instance.WriteExceptionLog(e.StackTrace); |
| | | return receivedData; |
| | | } |
| | | finally |
| | | { |
| | | _lockCheck = false; |
| | | Monitor.Pulse(_thisLock); |
| | | } |
| | | } |
| | | |
| | | return receivedData; |
| | | } |
| | | |
| | | private bool CheckTerminator(string receivedData) |
| | | { |
| | | if (Terminator == null) |
| | | { |
| | | _receivedData += receivedData; |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | if (receivedData.Contains(Terminator)) |
| | | { |
| | | int terminatorLocation = receivedData.IndexOf(Terminator); |
| | | |
| | | if (receivedData.Length == terminatorLocation + Terminator.Length) |
| | | { |
| | | _receivedData += receivedData; |
| | | } |
| | | else |
| | | { |
| | | _receivedData += receivedData.Remove(terminatorLocation + Terminator.Length); |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | _receivedData += receivedData; |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
SA_LTT_UI/SA_LTT/Module/Motor.cs
SA_LTT_UI/SA_LTT/Module/PiLaser.cs
SA_LTT_UI/SA_LTT/Module/PowerMeter.cs
SA_LTT_UI/SA_LTT/Module/PowerPmacCtrl.cs
SA_LTT_UI/SA_LTT/Module/PreAligner.cs
SA_LTT_UI/SA_LTT/Module/RTC5/RTC5Wrap.cs
SA_LTT_UI/SA_LTT/Module/Robot.cs
SA_LTT_UI/SA_LTT/Module/Scanner.cs
SA_LTT_UI/SA_LTT/Module/VisionControl.cs
SA_LTT_UI/SA_LTT/Parameter/ModeParameter.cs
SA_LTT_UI/SA_LTT/Parameter/ModeParameterManager.cs
SA_LTT_UI/SA_LTT/Parameter/SettingParameter.cs
SA_LTT_UI/SA_LTT/Parameter/SettingParameterManager.cs
SA_LTT_UI/SA_LTT/Properties/AssemblyInfo.cs
SA_LTT_UI/SA_LTT/SA_LTT.csproj
SA_LTT_UI/SA_LTT/Sequence.cs
SA_LTT_UI/SA_LTT/bin/Debug/EasyModbus.dll
SA_LTT_UI/SA_LTT/bin/Debug/SA_LTT.dll
SA_LTT_UI/SA_LTT/bin/Debug/SA_LTT.pdb
SA_LTT_UI/SA_LTT/bin/Debug/log4net.dll
SA_LTT_UI/SA_LTT/obj/Debug/DesignTimeResolveAssemblyReferences.cache
SA_LTT_UI/SA_LTT/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
SA_LTT_UI/SA_LTT/obj/Debug/SA_LTT.MessageBoxPad.resources
SA_LTT_UI/SA_LTT/obj/Debug/SA_LTT.csproj.CopyComplete
SA_LTT_UI/SA_LTT/obj/Debug/SA_LTT.csproj.CoreCompileInputs.cache
SA_LTT_UI/SA_LTT/obj/Debug/SA_LTT.csproj.FileListAbsolute.txt
SA_LTT_UI/SA_LTT/obj/Debug/SA_LTT.csproj.GenerateResource.cache
SA_LTT_UI/SA_LTT/obj/Debug/SA_LTT.csproj.ResolveComReference.cache
SA_LTT_UI/SA_LTT/obj/Debug/SA_LTT.csprojAssemblyReference.cache
SA_LTT_UI/SA_LTT/obj/Debug/SA_LTT.dll
SA_LTT_UI/SA_LTT/obj/Debug/SA_LTT.pdb
SA_LTT_UI/SA_LTT/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
SA_LTT_UI/SA_LTT/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
SA_LTT_UI/SA_LTT/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
SA_LTT_UI/SA_LTT_UI.sln
SA_LTT_UI/SA_LTT_UI/App.config
SA_LTT_UI/SA_LTT_UI/MainFrame.Designer.cs
SA_LTT_UI/SA_LTT_UI/MainFrame.cs
SA_LTT_UI/SA_LTT_UI/MainFrame.resx
SA_LTT_UI/SA_LTT_UI/Program.cs
SA_LTT_UI/SA_LTT_UI/Properties/AssemblyInfo.cs
SA_LTT_UI/SA_LTT_UI/Properties/Resources.Designer.cs
SA_LTT_UI/SA_LTT_UI/Properties/Resources.resx
SA_LTT_UI/SA_LTT_UI/Properties/Settings.Designer.cs
SA_LTT_UI/SA_LTT_UI/Properties/Settings.settings
SA_LTT_UI/SA_LTT_UI/Resources/Alarm.png
SA_LTT_UI/SA_LTT_UI/Resources/Aligner.png
SA_LTT_UI/SA_LTT_UI/Resources/BuzzerOff.png
SA_LTT_UI/SA_LTT_UI/Resources/Chamber.png
SA_LTT_UI/SA_LTT_UI/Resources/DIT_Logo.png
SA_LTT_UI/SA_LTT_UI/Resources/Lamp.png
SA_LTT_UI/SA_LTT_UI/Resources/LoadPort.png
SA_LTT_UI/SA_LTT_UI/Resources/RecipeImage.PNG
SA_LTT_UI/SA_LTT_UI/Resources/Robot_Arm.png
SA_LTT_UI/SA_LTT_UI/Resources/Robot_Arm1.png
SA_LTT_UI/SA_LTT_UI/Resources/Robot_Arm2.png
SA_LTT_UI/SA_LTT_UI/Resources/Robot_Arm_Body.png
SA_LTT_UI/SA_LTT_UI/Resources/Robot_Arm_Hand.png
SA_LTT_UI/SA_LTT_UI/Resources/Robot_Body.png
SA_LTT_UI/SA_LTT_UI/SA_LTT_UI.csproj
SA_LTT_UI/SA_LTT_UI/SA_LTT_UI.csproj.user
SA_LTT_UI/SA_LTT_UI/SA_LTT_UI_k5iwqdhu_wpftmp.csproj
SA_LTT_UI/SA_LTT_UI/Screen/AnalogBar.Designer.cs
SA_LTT_UI/SA_LTT_UI/Screen/AnalogBar.cs
SA_LTT_UI/SA_LTT_UI/Screen/AnalogBar.resx
SA_LTT_UI/SA_LTT_UI/Screen/AnimationEquipment.xaml
SA_LTT_UI/SA_LTT_UI/Screen/AnimationEquipment.xaml.cs
SA_LTT_UI/SA_LTT_UI/Screen/ChamberStatus.xaml
SA_LTT_UI/SA_LTT_UI/Screen/ChamberStatus.xaml.cs
SA_LTT_UI/SA_LTT_UI/Screen/IoBar.Designer.cs
SA_LTT_UI/SA_LTT_UI/Screen/IoBar.cs
SA_LTT_UI/SA_LTT_UI/Screen/IoBar.resx
SA_LTT_UI/SA_LTT_UI/Screen/RecipeView.xaml
SA_LTT_UI/SA_LTT_UI/Screen/RecipeView.xaml.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenAlarmSetting.Designer.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenAlarmSetting.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenAlarmSetting.resx
SA_LTT_UI/SA_LTT_UI/Screen/ScreenIO.Designer.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenIO.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenIO.resx
SA_LTT_UI/SA_LTT_UI/Screen/ScreenLaser.Designer.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenLaser.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenLaser.resx
SA_LTT_UI/SA_LTT_UI/Screen/ScreenLog.Designer.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenLog.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenLog.resx
SA_LTT_UI/SA_LTT_UI/Screen/ScreenMain.Designer.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenMain.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenMain.resx
SA_LTT_UI/SA_LTT_UI/Screen/ScreenMaintenance.Designer.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenMaintenance.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenMaintenance.resx
SA_LTT_UI/SA_LTT_UI/Screen/ScreenMotionMaintenance.Designer.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenMotionMaintenance.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenMotionMaintenance.resx
SA_LTT_UI/SA_LTT_UI/Screen/ScreenParameter.Designer.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenParameter.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenParameter.resx
SA_LTT_UI/SA_LTT_UI/Screen/ScreenRecipe.Designer.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenRecipe.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenRecipe.resx
SA_LTT_UI/SA_LTT_UI/Screen/ScreenSetting.Designer.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenSetting.cs
SA_LTT_UI/SA_LTT_UI/Screen/ScreenSetting.resx
SA_LTT_UI/SA_LTT_UI/Screen/WaferProcessPointView.xaml
SA_LTT_UI/SA_LTT_UI/Screen/WaferProcessPointView.xaml.cs
SA_LTT_UI/SA_LTT_UI/Viewer/AlarmViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/AlarmViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/AlarmViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/AttenuatorCalViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/AttenuatorCalViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/AttenuatorCalViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/AttenuatorViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/AttenuatorViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/AttenuatorViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/ChamberViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/ChamberViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/ChamberViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/ChillerViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/ChillerViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/ChillerViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/CreateUserViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/CreateUserViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/CreateUserViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/EnergyDropCheckViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/EnergyDropCheckViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/EnergyDropCheckViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/EquipmentInfoViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/EquipmentInfoViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/EquipmentInfoViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/FoupRecipeCreateViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/FoupRecipeCreateViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/FoupRecipeCreateViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/FoupRecipeSelectViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/FoupRecipeSelectViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/FoupRecipeSelectViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/LogInViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/LogInViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/LogInViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/MaintenanceViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/MaintenanceViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/MaintenanceViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/MessageBoxPad.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/MessageBoxPad.cs
SA_LTT_UI/SA_LTT_UI/Viewer/MessageBoxPad.resx
SA_LTT_UI/SA_LTT_UI/Viewer/ModifyUserViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/ModifyUserViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/ModifyUserViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/PiLaserViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/PiLaserViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/PiLaserViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/PowerMeterViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/PowerMeterViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/PowerMeterViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/PreAlignViwer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/PreAlignViwer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/PreAlignViwer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/RecipeCreateViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/RecipeCreateViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/RecipeCreateViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/RobotViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/RobotViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/RobotViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/ScannerViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/ScannerViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/ScannerViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/SequenceViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/SequenceViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/SequenceViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/VisionViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/VisionViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/VisionViewer.resx
SA_LTT_UI/SA_LTT_UI/Viewer/WaferInfoViewer.Designer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/WaferInfoViewer.cs
SA_LTT_UI/SA_LTT_UI/Viewer/WaferInfoViewer.resx
SA_LTT_UI/SA_LTT_UI/bin/Debug/Cor1746.ct5
SA_LTT_UI/SA_LTT_UI/bin/Debug/Cor_1to1.ct5
SA_LTT_UI/SA_LTT_UI/bin/Debug/Cor_1to1_old.ct5
SA_LTT_UI/SA_LTT_UI/bin/Debug/EasyModbus.dll
SA_LTT_UI/SA_LTT_UI/bin/Debug/RTC5DAT.dat
SA_LTT_UI/SA_LTT_UI/bin/Debug/RTC5DLL.dll
SA_LTT_UI/SA_LTT_UI/bin/Debug/RTC5DLLx64.dll
SA_LTT_UI/SA_LTT_UI/bin/Debug/RTC5OUT.out
SA_LTT_UI/SA_LTT_UI/bin/Debug/RTC5RBF.rbf
SA_LTT_UI/SA_LTT_UI/bin/Debug/Resources/Aligner.png
SA_LTT_UI/SA_LTT_UI/bin/Debug/Resources/Chamber.png
SA_LTT_UI/SA_LTT_UI/bin/Debug/Resources/RecipeImage.PNG
SA_LTT_UI/SA_LTT_UI/bin/Debug/Resources/Robot_Arm.png
SA_LTT_UI/SA_LTT_UI/bin/Debug/Resources/Robot_Arm1.png
SA_LTT_UI/SA_LTT_UI/bin/Debug/Resources/Robot_Arm2.png
SA_LTT_UI/SA_LTT_UI/bin/Debug/Resources/Robot_Body.png
SA_LTT_UI/SA_LTT_UI/bin/Debug/SA_LTT.dll
SA_LTT_UI/SA_LTT_UI/bin/Debug/SA_LTT.pdb
SA_LTT_UI/SA_LTT_UI/bin/Debug/SA_LTT_UI.exe
SA_LTT_UI/SA_LTT_UI/bin/Debug/SA_LTT_UI.exe.config
SA_LTT_UI/SA_LTT_UI/bin/Debug/SA_LTT_UI.pdb
SA_LTT_UI/SA_LTT_UI/bin/Debug/SA_LTT_UI.vshost.exe
SA_LTT_UI/SA_LTT_UI/bin/Debug/SA_LTT_UI.vshost.exe.config
SA_LTT_UI/SA_LTT_UI/bin/Debug/SA_LTT_UI.vshost.exe.manifest
SA_LTT_UI/SA_LTT_UI/bin/Debug/log4net.dll
SA_LTT_UI/SA_LTT_UI/bin/Debug/padDLLBW.dll
SA_LTT_UI/SA_LTT_UI/bin/Debug/pp.vshost.exe.config
SA_LTT_UI/SA_LTT_UI/bin/Debug/pp.vshost.exe.manifest
SA_LTT_UI/SA_LTT_UI/obj/Debug/DesignTimeResolveAssemblyReferences.cache
SA_LTT_UI/SA_LTT_UI/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.MainFrame.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Properties.Resources.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Screen.AnalogBar.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Screen.IoBar.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Screen.ScreenAlarmSetting.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Screen.ScreenIO.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Screen.ScreenLaser.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Screen.ScreenLog.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Screen.ScreenMain.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Screen.ScreenMaintenance.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Screen.ScreenMotionMaintenance.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Screen.ScreenParameter.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Screen.ScreenRecipe.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Screen.ScreenSetting.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.AlarmViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.AttenuatorCalViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.AttenuatorViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.ChamberViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.ChillerViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.CreateUserViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.EnergyDropCheckViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.EnergyMeterViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.EquipmentInfoViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.FoupRecipeCreateViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.FoupRecipeSelectViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.LogInViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.MaintenanceViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.MessageBoxPad.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.ModifyUserViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.PiLaserViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.PreAlignViwer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.RecipeCreateViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.RobotViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.ScannerViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.SequenceViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.VisionViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.Viewer.WaferInfoViewer.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.csproj.CopyComplete
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.csproj.CoreCompileInputs.cache
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.csproj.FileListAbsolute.txt
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.csproj.GenerateResource.cache
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.csproj.ResolveComReference.cache
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.csprojAssemblyReference.cache
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.exe
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.g.resources
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI.pdb
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI_Content.g.cs
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI_Content.g.i.cs
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI_MarkupCompile.cache
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI_MarkupCompile.i.cache
SA_LTT_UI/SA_LTT_UI/obj/Debug/SA_LTT_UI_MarkupCompile.lref
SA_LTT_UI/SA_LTT_UI/obj/Debug/Screen/AnimationEquipment.baml
SA_LTT_UI/SA_LTT_UI/obj/Debug/Screen/AnimationEquipment.g.cs
SA_LTT_UI/SA_LTT_UI/obj/Debug/Screen/AnimationEquipment.g.i.cs
SA_LTT_UI/SA_LTT_UI/obj/Debug/Screen/ChamberStatus.baml
SA_LTT_UI/SA_LTT_UI/obj/Debug/Screen/ChamberStatus.g.cs
SA_LTT_UI/SA_LTT_UI/obj/Debug/Screen/ChamberStatus.g.i.cs
SA_LTT_UI/SA_LTT_UI/obj/Debug/Screen/RecipeView.baml
SA_LTT_UI/SA_LTT_UI/obj/Debug/Screen/RecipeView.g.cs
SA_LTT_UI/SA_LTT_UI/obj/Debug/Screen/RecipeView.g.i.cs
SA_LTT_UI/SA_LTT_UI/obj/Debug/Screen/WaferProcessPointView.baml
SA_LTT_UI/SA_LTT_UI/obj/Debug/Screen/WaferProcessPointView.g.cs
SA_LTT_UI/SA_LTT_UI/obj/Debug/Screen/WaferProcessPointView.g.i.cs
SA_LTT_UI/SA_LTT_UI/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll
SA_LTT_UI/SA_LTT_UI/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
SA_LTT_UI/SA_LTT_UI/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
SA_LTT_UI/SA_LTT_UI/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
SA_LTT_UI/SA_LTT_UI/obj/Debug/pp_Content.g.i.cs
SA_LTT_UI/SA_LTT_UI/obj/Debug/pp_MarkupCompile.i.cache
SA_LTT_UI/SA_LTT_UI/obj/Debug/pp_MarkupCompile.i.lref
SA_LTT_UI/가공 설명 Program/TestRec.exe
SA_LTT_UI/가공 설명 Program/TestRec.exe.config
SA_LTT_UI/가공 설명 Program/TestRec.pdb
SA_LTT_UI/가공 설명 Program/TestRec.vshost.exe
SA_LTT_UI/가공 설명 Program/TestRec.vshost.exe.config
SA_LTT_UI/가공 설명 Program/TestRec.vshost.exe.manifest |