2026-01-26 18:56:53 +09:00

769 lines
90 KiB
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexAttach.Devices
{
public static class DIN
{
public static void Init()
{
LoadIO();
}
private static string _path = "DIN.cfg";
private static void LoadIO()
{
if (!File.Exists(_path)) {
List<string> list = new List<string>();
var props = typeof(DIN).GetProperties();
foreach (var pi in props) {
AddrInfo addrInfo = (AddrInfo)pi.GetValue(null);
addrInfo.Name = pi.Name;
addrInfo.Init();
list.Add($"{pi.Name}:0x{addrInfo.Addr:X}:{addrInfo.On}");
}
File.WriteAllLines(_path, list.ToArray());
} else {
var lines = File.ReadAllLines(_path);
foreach (var line in lines) {
var items = line.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).ToArray();
var name = items[0];
var addr = int.Parse(items[1].Substring(2), System.Globalization.NumberStyles.HexNumber);
var on = int.Parse(items[2]);
var off = (on + 1) & 1;
var pi = typeof(DIN).GetProperty(name);
if (pi != null) {
var addrInfo = (AddrInfo)pi.GetValue(null);
addrInfo.On = on;
addrInfo.Off = off;
addrInfo.Addr = addr;
addrInfo.Name = name;
addrInfo.Init();
//pi.SetValue(null, new AddrInfo(on, off) { Addr = addr, Name = name });
}
}
}
}
public static List<AddrInfo> GetAllInfo()
{
List<AddrInfo> info = new List<AddrInfo>();
var props = typeof(DIN).GetProperties();
foreach (var pi in props) {
AddrInfo item = (AddrInfo)pi.GetValue(null);
item.Name = pi.Name;
info.Add(item);
}
return info;
}
#region ADDRESS
public static AddrInfo EQP_MAIN_POWER_STATE { get; private set; } = new AddrInfo() { Addr = 0x0, AlarmCode = 1 };
public static AddrInfo EQP_MAIN_AIR_STATE { get; private set; } = new AddrInfo() { Addr = 0x1, AlarmCode = 2 };
public static AddrInfo EQP_MAIN_HEATER_MC_STATE { get; private set; } = new AddrInfo() { Addr = 0x2, AlarmCode = 3 };
public static AddrInfo EQP_MAIN_SERVO_MC_STATE { get; private set; } = new AddrInfo() { Addr = 0x3, AlarmCode = 4 };
public static AddrInfo EQP_COV_SERVO_MC_STATE { get; private set; } = new AddrInfo() { Addr = 0x4, AlarmCode = 5 };
public static AddrInfo X_SPARE_0005 { get; private set; } = new AddrInfo() { Addr = 0x5, AlarmCode = 6 };
public static AddrInfo EQP_FRONT_LEFT_EMO_SWITCH { get; private set; } = new AddrInfo() { Addr = 0x6, AlarmCode = 7 };
public static AddrInfo EQP_FRONT_RIGHT_EMO_SWITCH { get; private set; } = new AddrInfo() { Addr = 0x7, AlarmCode = 8 };
public static AddrInfo EQP_REAR_LEFT_EMO_SWITCH { get; private set; } = new AddrInfo() { Addr = 0x100, AlarmCode = 9 };
public static AddrInfo EQP_REAR_RIGHT_EMO_SWITCH { get; private set; } = new AddrInfo() { Addr = 0x101, AlarmCode = 10 };
public static AddrInfo EQP_SAFETY_PLC_MAIN_ALARM { get; private set; } = new AddrInfo() { Addr = 0x102, AlarmCode = 11 };
public static AddrInfo EQP_SAFETY_PLC_CONVEYOR_ALARM { get; private set; } = new AddrInfo() { Addr = 0x103, AlarmCode = 12 };
public static AddrInfo EQP_SAFETY_PLC_SP_01 { get; private set; } = new AddrInfo() { Addr = 0x104, AlarmCode = 13 };
public static AddrInfo EQP_SAFETY_PLC_SP_02 { get; private set; } = new AddrInfo() { Addr = 0x105, AlarmCode = 14 };
public static AddrInfo EQP_FRONT_MAIN_SAFETY_KEY_AUTO { get; private set; } = new AddrInfo() { Addr = 0x106, AlarmCode = 15 };
public static AddrInfo EQP_FRONT_MAIN_SAFETY_KEY_MANUAL { get; private set; } = new AddrInfo() { Addr = 0x107, AlarmCode = 16 };
public static AddrInfo EQP_REAR_MAIN_SAFETY_KEY_AUTO { get; private set; } = new AddrInfo() { Addr = 0x200, AlarmCode = 17 };
public static AddrInfo EQP_REAR_MAIN_SAFETY_KEY_MANUAL { get; private set; } = new AddrInfo() { Addr = 0x201, AlarmCode = 18 };
public static AddrInfo EQP_FRONT_CONVEYOR_SAFETY_KEY_AUTO { get; private set; } = new AddrInfo() { Addr = 0x202, AlarmCode = 19 };
public static AddrInfo EQP_FRONT_CONVEYOR_SAFETY_KEY_MANUAL { get; private set; } = new AddrInfo() { Addr = 0x203, AlarmCode = 20 };
public static AddrInfo EQP_REAR_CONVEYOR_SAFETY_KEY_AUTO { get; private set; } = new AddrInfo() { Addr = 0x204, AlarmCode = 21 };
public static AddrInfo EQP_REAR_CONVEYOR_SAFETY_KEY_MANUAL { get; private set; } = new AddrInfo() { Addr = 0x205, AlarmCode = 22 };
public static AddrInfo EQP_FRONT_BUZZER_STOP_SWITCH { get; private set; } = new AddrInfo() { Addr = 0x206, AlarmCode = 23 };
public static AddrInfo EQP_FRONT_START_SWITCH { get; private set; } = new AddrInfo() { Addr = 0x207, AlarmCode = 24 };
public static AddrInfo EQP_FRONT_STOP_SWITCH { get; private set; } = new AddrInfo() { Addr = 0x300, AlarmCode = 25 };
public static AddrInfo EQP_FRONT_RESET_SWITCH { get; private set; } = new AddrInfo() { Addr = 0x301, AlarmCode = 26 };
public static AddrInfo EQP_REAR_START_SWITCH { get; private set; } = new AddrInfo() { Addr = 0x302, AlarmCode = 27 };
public static AddrInfo EQP_REAR_STOP_SWITCH { get; private set; } = new AddrInfo() { Addr = 0x303, AlarmCode = 28 };
public static AddrInfo EQP_REAR_RESET_SWITCH { get; private set; } = new AddrInfo() { Addr = 0x304, AlarmCode = 29 };
public static AddrInfo EQP_MAGAZINE_MUTE_OFF_SWITCH { get; private set; } = new AddrInfo() { Addr = 0x305, AlarmCode = 30 };
public static AddrInfo EQP_MAGAZINE_MUTE_ON_SWITCH { get; private set; } = new AddrInfo() { Addr = 0x306, AlarmCode = 31 };
public static AddrInfo EQP_MAGAZINE_LIGHT_CURTAIN_SAFE_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x307, AlarmCode = 32 };
public static AddrInfo EQP_FRONT_DOOR_CLOSE_CHECK { get; private set; } = new AddrInfo() { Addr = 0x400, AlarmCode = 33 };
public static AddrInfo EQP_FRONT_DOOR_LOCK_CHECK { get; private set; } = new AddrInfo() { Addr = 0x401, AlarmCode = 34 };
public static AddrInfo EQP_REAR_MAIN_DOOR_CLOSE_CHECK { get; private set; } = new AddrInfo() { Addr = 0x402, AlarmCode = 35 };
public static AddrInfo EQP_REAR_MAIN_DOOR_LOCK_CHECK { get; private set; } = new AddrInfo() { Addr = 0x403, AlarmCode = 36 };
public static AddrInfo EQP_REAR_CONVEYOR_DOOR_CLOSE_CHECK { get; private set; } = new AddrInfo() { Addr = 0x404, AlarmCode = 37 };
public static AddrInfo EQP_REAR_CONVEYOR_DOOR_LOCK_CHECK { get; private set; } = new AddrInfo() { Addr = 0x405, AlarmCode = 38 };
public static AddrInfo EQP_MAGAZINE_LEFT_INPUT_COMPLETE_ON_SWITCH { get; private set; } = new AddrInfo() { Addr = 0x406, AlarmCode = 39 };
public static AddrInfo EQP_MAGAZINE_RIGHT_INPUT_COMPLETE_ON_SWITCH { get; private set; } = new AddrInfo() { Addr = 0x407, AlarmCode = 40 };
//public static AddrInfo EQP_MAIN_PROCESS_AREA_INSPIRATION_PAN_ALARM { get; private set; } = new AddrInfo() { Addr = 0x500, AlarmCode = 41 };
//public static AddrInfo EQP_MAIN_PROCESS_AREA_EXHAUST_PAN_ALARM { get; private set; } = new AddrInfo() { Addr = 0x501, AlarmCode = 42 };
//public static AddrInfo EQP_MAIN_PROCESS_TEMPERATURE_ALARM { get; private set; } = new AddrInfo() { Addr = 0x502, AlarmCode = 43 };
public static AddrInfo WRAPPING_BASE_TRANFER_RIGHT_PICKER_GUIDE_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x500, AlarmCode = 41 };
public static AddrInfo WRAPPING_BASE_TRANFER_RIGHT_PICKER_BASE_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x501, AlarmCode = 42 };
public static AddrInfo WRAPPING_BASE_TRANFER_LEFT_PICKER_GUIDE_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x502, AlarmCode = 43 };
public static AddrInfo WRAPPING_BASE_TRANFER_LEFT_PICKER_BASE_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x503, AlarmCode = 44 };
public static AddrInfo EQP_MAIN_CONTROL_AREA_INSPIRATION_PAN_ALARM { get; private set; } = new AddrInfo() { Addr = 0x504, AlarmCode = 45 };
public static AddrInfo EQP_MAIN_CONTROL_AREA_EXHAUST_PAN_ALARM { get; private set; } = new AddrInfo() { Addr = 0x505, AlarmCode = 46 };
public static AddrInfo EQP_FRONT_CONTROL_AREA_INSPIRATION_PAN_ALARM { get; private set; } = new AddrInfo() { Addr = 0x506, AlarmCode = 47 };
public static AddrInfo EQP_FRONT_CONTROL_AREA_EXHAUST_PAN_ALARM { get; private set; } = new AddrInfo() { Addr = 0x507, AlarmCode = 48 };
public static AddrInfo EQP_REAR_CONTROL_AREA_INSPIRATION_PAN_ALARM { get; private set; } = new AddrInfo() { Addr = 0x600, AlarmCode = 49 };
public static AddrInfo EQP_REAR_CONTROL_AREA_EXHAUST_PAN_ALARM { get; private set; } = new AddrInfo() { Addr = 0x601, AlarmCode = 50 };
public static AddrInfo X_SPARE_0602 { get; private set; } = new AddrInfo() { Addr = 0x602, AlarmCode = 51 };
public static AddrInfo X_SPARE_0603 { get; private set; } = new AddrInfo() { Addr = 0x603, AlarmCode = 52 };
public static AddrInfo X_SPARE_0604 { get; private set; } = new AddrInfo() { Addr = 0x604, AlarmCode = 53 };
public static AddrInfo X_SPARE_0605 { get; private set; } = new AddrInfo() { Addr = 0x605, AlarmCode = 54 };
public static AddrInfo X_SPARE_0606 { get; private set; } = new AddrInfo() { Addr = 0x606, AlarmCode = 55 };
public static AddrInfo X_SPARE_0607 { get; private set; } = new AddrInfo() { Addr = 0x607, AlarmCode = 56 };
public static AddrInfo EQP_HEATER_01_CONTROL_ALARM { get; private set; } = new AddrInfo() { Addr = 0x700, AlarmCode = 57 };
public static AddrInfo EQP_HEATER_01_SSR_DISCONNECTION_ALARM { get; private set; } = new AddrInfo() { Addr = 0x701, AlarmCode = 58 };
public static AddrInfo EQP_HEATER_01_SSR_OVERLOAD_ALARM { get; private set; } = new AddrInfo() { Addr = 0x702, AlarmCode = 59 };
//public static AddrInfo X_SPARE_0703 { get; private set; } = new AddrInfo() { Addr = 0x703, AlarmCode = 60 };
public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_CLAMP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x703, AlarmCode = 60 };
public static AddrInfo EQP_HEATER_02_CONTROL_ALARM { get; private set; } = new AddrInfo() { Addr = 0x704, AlarmCode = 61 };
public static AddrInfo EQP_HEATER_02_SSR_DISCONNECTION_ALARM { get; private set; } = new AddrInfo() { Addr = 0x705, AlarmCode = 62 };
public static AddrInfo EQP_HEATER_02_SSR_OVERLOAD_ALARM { get; private set; } = new AddrInfo() { Addr = 0x706, AlarmCode = 63 };
//public static AddrInfo X_SPARE_0707 { get; private set; } = new AddrInfo() { Addr = 0x707, AlarmCode = 64 };
public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_UNCLAMP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x707, AlarmCode = 64 };
public static AddrInfo EQP_HEATER_03_CONTROL_ALARM { get; private set; } = new AddrInfo() { Addr = 0x800, AlarmCode = 65 };
public static AddrInfo EQP_HEATER_03_SSR_DISCONNECTION_ALARM { get; private set; } = new AddrInfo() { Addr = 0x801, AlarmCode = 66 };
public static AddrInfo EQP_HEATER_03_SSR_OVERLOAD_ALARM { get; private set; } = new AddrInfo() { Addr = 0x802, AlarmCode = 67 };
//public static AddrInfo X_SPARE_0803 { get; private set; } = new AddrInfo() { Addr = 0x803, AlarmCode = 68 };
public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_PIN_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x803, AlarmCode = 68 };
public static AddrInfo EQP_HEATER_04_CONTROL_ALARM { get; private set; } = new AddrInfo() { Addr = 0x804, AlarmCode = 69 };
public static AddrInfo EQP_HEATER_04_SSR_DISCONNECTION_ALARM { get; private set; } = new AddrInfo() { Addr = 0x805, AlarmCode = 70 };
public static AddrInfo EQP_HEATER_04_SSR_OVERLOAD_ALARM { get; private set; } = new AddrInfo() { Addr = 0x806, AlarmCode = 71 };
//public static AddrInfo X_SPARE_0807 { get; private set; } = new AddrInfo() { Addr = 0x807, AlarmCode = 72 };
public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_PIN_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x807, AlarmCode = 72 };
public static AddrInfo EQP_HEATER_05_CONTROL_ALARM { get; private set; } = new AddrInfo() { Addr = 0x900, AlarmCode = 73 };
public static AddrInfo EQP_HEATER_05_SSR_DISCONNECTION_ALARM { get; private set; } = new AddrInfo() { Addr = 0x901, AlarmCode = 74 };
public static AddrInfo EQP_HEATER_05_SSR_OVERLOAD_ALARM { get; private set; } = new AddrInfo() { Addr = 0x902, AlarmCode = 75 };
public static AddrInfo PBI_COMPLETE_ZONE_FORWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x903, AlarmCode = 76 };
public static AddrInfo EQP_HEATER_06_CONTROL_ALARM { get; private set; } = new AddrInfo() { Addr = 0x904, AlarmCode = 77 };
public static AddrInfo EQP_HEATER_06_SSR_DISCONNECTION_ALARM { get; private set; } = new AddrInfo() { Addr = 0x905, AlarmCode = 78 };
public static AddrInfo EQP_HEATER_06_SSR_OVERLOAD_ALARM { get; private set; } = new AddrInfo() { Addr = 0x906, AlarmCode = 79 };
public static AddrInfo PBI_COMPLETE_ZONE_BACKWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x907, AlarmCode = 80 };
public static AddrInfo EQP_UPPER_EQUIPMENT_INTERFACE_MACHINE_RUN { get; private set; } = new AddrInfo() { Addr = 0xA00, AlarmCode = 81 };
public static AddrInfo EQP_UPPER_EQUIPMENT_INTERFACE_EMERGENCY { get; private set; } = new AddrInfo() { Addr = 0xA01, AlarmCode = 82 };
public static AddrInfo EQP_UPPER_EQUIPMENT_INTERFACE_INTERLOCK { get; private set; } = new AddrInfo() { Addr = 0xA02, AlarmCode = 83 };
public static AddrInfo EQP_UPPER_EQUIPMENT_INTERFACE_DOOR_CLOSE { get; private set; } = new AddrInfo() { Addr = 0xA03, AlarmCode = 84 };
public static AddrInfo EQP_UPPER_EQUIPMENT_INTERFACE_ABLE { get; private set; } = new AddrInfo() { Addr = 0xA04, AlarmCode = 85 };
public static AddrInfo EQP_UPPER_EQUIPMENT_INTERFACE_START { get; private set; } = new AddrInfo() { Addr = 0xA05, AlarmCode = 86 };
public static AddrInfo EQP_UPPER_EQUIPMENT_INTERFACE_COMPLETE { get; private set; } = new AddrInfo() { Addr = 0xA06, AlarmCode = 87 };
public static AddrInfo EQP_UPPER_EQUIPMENT_INTERFACE_SPARE { get; private set; } = new AddrInfo() { Addr = 0xA07, AlarmCode = 88 };
public static AddrInfo EQP_LOWER_EQUIPMENT_INTERFACE_MACHINE_RUN { get; private set; } = new AddrInfo() { Addr = 0xB00, AlarmCode = 89 };
public static AddrInfo EQP_LOWER_EQUIPMENT_INTERFACE_EMERGENCY { get; private set; } = new AddrInfo() { Addr = 0xB01, AlarmCode = 90 };
public static AddrInfo EQP_LOWER_EQUIPMENT_INTERFACE_INTERLOCK { get; private set; } = new AddrInfo() { Addr = 0xB02, AlarmCode = 91 };
public static AddrInfo EQP_LOWER_EQUIPMENT_INTERFACE_DOOR_CLOSE { get; private set; } = new AddrInfo() { Addr = 0xB03, AlarmCode = 92 };
public static AddrInfo EQP_LOWER_EQUIPMENT_INTERFACE_ABLE { get; private set; } = new AddrInfo() { Addr = 0xB04, AlarmCode = 93 };
public static AddrInfo EQP_LOWER_EQUIPMENT_INTERFACE_START { get; private set; } = new AddrInfo() { Addr = 0xB05, AlarmCode = 94 };
public static AddrInfo EQP_LOWER_EQUIPMENT_INTERFACE_COMPLETE { get; private set; } = new AddrInfo() { Addr = 0xB06, AlarmCode = 95 };
public static AddrInfo EQP_LOWER_EQUIPMENT_INTERFACE_SPARE { get; private set; } = new AddrInfo() { Addr = 0xB07, AlarmCode = 96 };
public static AddrInfo BASE_HND_PICKER_MAIN_VACUUM_ON_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xC00, AlarmCode = 97 };
public static AddrInfo BASE_HND_PICKER_SUB_VACUUM_ON_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xC01, AlarmCode = 98 };
public static AddrInfo FLEX_HND_PICKER_VACUUM_ON_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xC02, AlarmCode = 99 };
public static AddrInfo FLEX_SHUTTLE_STAGE_VACUUM_ON_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xC03, AlarmCode = 100 };
//public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_MAIN_VACUUM_ON_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xC04, AlarmCode = 101 };
//public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_SUB_VACUUM_ON_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xC05, AlarmCode = 102 };
public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_CYLINDER_CLAMP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xC04, AlarmCode = 101 };
public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_CYLINDER_UNCLAMP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xC05, AlarmCode = 102 };
public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_PIN_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xC06, AlarmCode = 103 };
public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_PIN_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xC07, AlarmCode = 104 };
public static AddrInfo X_SPARE_0D00 { get; private set; } = new AddrInfo() { Addr = 0xD00, AlarmCode = 105 };
public static AddrInfo X_SPARE_0D01 { get; private set; } = new AddrInfo() { Addr = 0xD01, AlarmCode = 106 };
public static AddrInfo BASE_FRAME_BUFFER_SHUTTLE_LEFT_BASE_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xD02, AlarmCode = 107 };
public static AddrInfo X_SPARE_0D03 { get; private set; } = new AddrInfo() { Addr = 0xD03, AlarmCode = 108 };
public static AddrInfo X_SPARE_0D04 { get; private set; } = new AddrInfo() { Addr = 0xD04, AlarmCode = 109 };
public static AddrInfo BASE_FRAME_BUFFER_SHUTTLE_RIGHT_BASE_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xD05, AlarmCode = 110 };
public static AddrInfo FLEX_SHUTTLE_STAGE_FLEX_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xD06, AlarmCode = 111 };
// public static AddrInfo X_SPARE_0D07 { get; private set; } = new AddrInfo() { Addr = 0xD07, AlarmCode = 112 };
public static AddrInfo BASE_FRAME_BUFFER_SAHUTTLE_RIGHT_VACUUM_ON_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xD07, AlarmCode = 112 };
public static AddrInfo FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_MAIN_VACUUM_ON_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xE00, AlarmCode = 113 };
public static AddrInfo FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_SUB_VACUUM_ON_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xE01, AlarmCode = 114 };
public static AddrInfo FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xE02, AlarmCode = 115 };
public static AddrInfo FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xE03, AlarmCode = 116 };
public static AddrInfo X_SPARE_0E04 { get; private set; } = new AddrInfo() { Addr = 0xE04, AlarmCode = 117 };
public static AddrInfo X_SPARE_0E05 { get; private set; } = new AddrInfo() { Addr = 0xE05, AlarmCode = 118 };
public static AddrInfo FLEX_BASE_FRAME_INSP_SHUTTLE_INSPECTION_BASE_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xE06, AlarmCode = 119 };
//public static AddrInfo X_SPARE_0E07 { get; private set; } = new AddrInfo() { Addr = 0xE07, AlarmCode = 120 };
public static AddrInfo BASE_FRAME_BUFFER_SAHUTTLE_LEFT_VACUUM_ON_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xE07, AlarmCode = 120 };
//public static AddrInfo X_SPARE_0F00 { get; private set; } = new AddrInfo() { Addr = 0xF00, AlarmCode = 121 };
public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_OVERLOAD_ON_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xF00, AlarmCode = 121 };
public static AddrInfo FLEX_BASE_FRAME_INSP_SHUTTLE_COMPLETE_BASE_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xF01, AlarmCode = 122 };
//public static AddrInfo X_SPARE_0F02 { get; private set; } = new AddrInfo() { Addr = 0xF02, AlarmCode = 123 };
public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_OVERLOAD_ON_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xF02, AlarmCode = 123 };
public static AddrInfo X_ATTACH_VCM_TOOL_03_CYLINDER_FORWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xF03, AlarmCode = 124 };
public static AddrInfo X_ATTACH_VCM_TOOL_03_CYLINDER_BACKWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0xF04, AlarmCode = 125 };
public static AddrInfo X_SPARE_0F05 { get; private set; } = new AddrInfo() { Addr = 0xF05, AlarmCode = 126 };
public static AddrInfo X_SPARE_0F06 { get; private set; } = new AddrInfo() { Addr = 0xF06, AlarmCode = 127 };
public static AddrInfo X_SPARE_0F07 { get; private set; } = new AddrInfo() { Addr = 0xF07, AlarmCode = 128 };
public static AddrInfo FLEX_TILT_SHUTTLE_1ST_PRE_BENDING_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1000, AlarmCode = 129 };
public static AddrInfo FLEX_TILT_SHUTTLE_1ST_PRE_BENDING_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1001, AlarmCode = 130 };
public static AddrInfo FLEX_TILT_SHUTTLE_2ST_PRE_BENDING_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1002, AlarmCode = 131 };
public static AddrInfo FLEX_TILT_SHUTTLE_2ST_PRE_BENDING_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1003, AlarmCode = 132 };
public static AddrInfo DISPENSER_UTILITY_MODULE_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1004, AlarmCode = 133 };
public static AddrInfo DISPENSER_UTILITY_MODULE_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1005, AlarmCode = 134 };
public static AddrInfo ATTACH_SECOND_GRIPPER_CYLINDER_FORWARE_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1006, AlarmCode = 135 };
public static AddrInfo ATTACH_SECOND_GRIPPER_CYLINDER_BACKWARE_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1007, AlarmCode = 136 };
public static AddrInfo DISPENSER_TURN_TABLE_SIDE_ROTATION_01_BASE_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1100, AlarmCode = 137 };
public static AddrInfo DISPENSER_TURN_TABLE_SIDE_ROTATION_01_BASE_LOCK_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1101, AlarmCode = 138 };
public static AddrInfo X_SPARE_1102 { get; private set; } = new AddrInfo() { Addr = 0x1102, AlarmCode = 139 };
public static AddrInfo X_SPARE_1103 { get; private set; } = new AddrInfo() { Addr = 0x1103, AlarmCode = 140 };
public static AddrInfo DISPENSER_NEEDLE_CLEANER_CYLINDER_OPEN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1104, AlarmCode = 141 };
public static AddrInfo DISPENSER_NEEDLE_CLEANER_CYLINDER_CLOSE_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1105, AlarmCode = 142 };
public static AddrInfo DISPENSER_NEEDLE_LVDT_ON_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1106, AlarmCode = 143 };
//public static AddrInfo X_SPARE_1107 { get; private set; } = new AddrInfo() { Addr = 0x1107, AlarmCode = 144 };
public static AddrInfo WRAPPING_BASE_TRANS_GUIDE_BUFFER_ON_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1107, AlarmCode = 144 };
public static AddrInfo ATTACH_COIL_ALIGNER_PICKER_VACUUM_ON_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1200, AlarmCode = 145 };
public static AddrInfo ATTACH_COIL_ALIGNER_PICKER_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1201, AlarmCode = 146 };
public static AddrInfo ATTACH_COIL_ALIGNER_PICKER_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1202, AlarmCode = 147 };
public static AddrInfo ATTACH_COIL_ALIGNER_PICKER_CYLINDER_OPEN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1203, AlarmCode = 148 };
public static AddrInfo ATTACH_COIL_ALIGNER_PICKER_CYLINDER_CLOSE_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1204, AlarmCode = 149 };
public static AddrInfo ATTACH_FLEX_ALIGN_GRIPPER_CYLINDER_OPEN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1205, AlarmCode = 150 };
public static AddrInfo ATTACH_FLEX_ALIGN_GRIPPER_CYLINDER_CLOSE_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1206, AlarmCode = 151 };
public static AddrInfo ATTACH_BASE_CYLINDER_LOCK_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1207, AlarmCode = 152 };
public static AddrInfo ATTACH_SECOND_GRIPPER_CYLINDER_CLOSE_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1300, AlarmCode = 153 };
public static AddrInfo ATTACH_BASE_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1301, AlarmCode = 154 };
public static AddrInfo ATTACH_BASE_GUIDE_PRESSURE_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1302, AlarmCode = 155 };
public static AddrInfo ATTACH_SECOND_GRIPPER_CYLINDER_OPEN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1303, AlarmCode = 156 };
public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1304, AlarmCode = 157 };
public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1305, AlarmCode = 158 };
public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1306, AlarmCode = 159 };
public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1307, AlarmCode = 160 };
public static AddrInfo ATTACH_VCM_TOOL_01_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1400, AlarmCode = 161 };
public static AddrInfo ATTACH_VCM_TOOL_01_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1401, AlarmCode = 162 };
public static AddrInfo ATTACH_VCM_TOOL_02_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1402, AlarmCode = 163 };
public static AddrInfo ATTACH_VCM_TOOL_02_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1403, AlarmCode = 164 };
public static AddrInfo ATTACH_VCM_TOOL_03_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1404, AlarmCode = 165 };
public static AddrInfo ATTACH_VCM_TOOL_03_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1405, AlarmCode = 166 };
public static AddrInfo ATTACH_VCM_TOOL_04_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1406, AlarmCode = 167 };
public static AddrInfo ATTACH_VCM_TOOL_04_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1407, AlarmCode = 168 };
public static AddrInfo ATTACH_VCM_TOOL_05_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1500, AlarmCode = 169 };
public static AddrInfo ATTACH_VCM_TOOL_05_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1501, AlarmCode = 170 };
public static AddrInfo ATTACH_VCM_TOOL_06_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1502, AlarmCode = 171 };
public static AddrInfo ATTACH_VCM_TOOL_06_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1503, AlarmCode = 172 };
public static AddrInfo ATTACH_VCM_TOOL_05_CYLINDER_FORWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1504, AlarmCode = 173 };
public static AddrInfo ATTACH_VCM_TOOL_05_CYLINDER_BACKWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1505, AlarmCode = 174 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_UPHOLD_CARRIER_ALIGNER_CYLINDER_RIGHT_FORWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1506, AlarmCode = 175 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_UPHOLD_CARRIER_ALIGNER_CYLINDER_RIGHT_BACKWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1507, AlarmCode = 176 };
public static AddrInfo MAGAZINE_WORK_POSITION_MOVING_CYLINDER_RIGHT_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1600, AlarmCode = 177 };
public static AddrInfo MAGAZINE_WORK_POSITION_MOVING_CYLINDER_LEFT_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1601, AlarmCode = 178 };
public static AddrInfo MAGAZINE_LEFT_SLIDE_DOOR_CYLINDER_LOCK_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1602, AlarmCode = 179 };
public static AddrInfo MAGAZINE_LEFT_SLIDE_DOOR_CYLINDER_UNLOCK_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1603, AlarmCode = 180 };
public static AddrInfo MAGAZINE_RIGHT_SLIDE_DOOR_CYLINDER_LOCK_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1604, AlarmCode = 181 };
public static AddrInfo MAGAZINE_RIGHT_SLIDE_DOOR_CYLINDER_UNLOCK_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1605, AlarmCode = 182 };
public static AddrInfo MAGAZINE_WORK_POSITION_CLAMP_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1606, AlarmCode = 183 };
public static AddrInfo MAGAZINE_WORK_POSITION_CLAMP_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1607, AlarmCode = 184 };
public static AddrInfo MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1700, AlarmCode = 185 };
public static AddrInfo MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1701, AlarmCode = 186 };
public static AddrInfo MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_FORWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1702, AlarmCode = 187 };
public static AddrInfo MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_BACKWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1703, AlarmCode = 188 };
public static AddrInfo MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_TURN_OPEN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1704, AlarmCode = 189 };
public static AddrInfo MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_TURN_CLOSE_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1705, AlarmCode = 190 };
public static AddrInfo MAGAZINE_LEFT_SLIDE_DOOR_CLOSE_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1706, AlarmCode = 191 };
public static AddrInfo MAGAZINE_RIGHT_SLIDE_DOOR_CLOSE_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1707, AlarmCode = 192 };
public static AddrInfo MAGAZINE_LEFT_TILT_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1800, AlarmCode = 193 };
public static AddrInfo MAGAZINE_RIGHT_TILT_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1801, AlarmCode = 194 };
public static AddrInfo MAGAZINE_WORK_POSITION_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1802, AlarmCode = 195 };
public static AddrInfo MAGAZINE_LEFT_POSITION_SIDE_CARRIER_LOCKING_OPEN_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1803, AlarmCode = 196 };
public static AddrInfo MAGAZINE_RIGHT_POSITION_SIDE_CARRIER_LOCKING_OPEN_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1804, AlarmCode = 197 };
public static AddrInfo MAGAZINE_WORK_POSITION_CARRIER_ESCAPE_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1805, AlarmCode = 198 };
public static AddrInfo MAGAZINE_LEFT_EXIST_BOTTOM_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1806, AlarmCode = 199 };
public static AddrInfo MAGAZINE_RIGHT_EXIST_BOTTOM_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1807, AlarmCode = 200 };
public static AddrInfo FLEX_CARRIER_HND_CYLINDER_CLAMP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1900, AlarmCode = 201 };
public static AddrInfo FLEX_CARRIER_HND_CYLINDER_UNCLAMP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1901, AlarmCode = 202 };
public static AddrInfo X_SPARE_1902 { get; private set; } = new AddrInfo() { Addr = 0x1902, AlarmCode = 203 };
public static AddrInfo FLEX_CARRIER_HND_CARRIER_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1903, AlarmCode = 204 };
public static AddrInfo FLEX_CARRIER_HND_SAFE_OVERLOAD_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1904, AlarmCode = 205 };
public static AddrInfo FLEX_CARRIER_HND_MAGAZINE_INSIDE_CARRIER_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1905, AlarmCode = 206 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_UPHOLD_CARRIER_ALIGNER_CYLINDER_LEFT_FORWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1906, AlarmCode = 207 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_UPHOLD_CARRIER_ALIGNER_CYLINDER_LEFT_BACKWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1907, AlarmCode = 208 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_UPHOLD_CYLINDER_LEFT_FORWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1A00, AlarmCode = 209 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_UPHOLD_CYLINDER_LEFT_BACKWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1A01, AlarmCode = 210 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_RFID_CYLINDER_FORWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1A02, AlarmCode = 211 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_RFID_CYLINDER_BACKWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1A03, AlarmCode = 212 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1A04, AlarmCode = 213 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_UPHOLD_CYLINDER_RIGHT_FORWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1A05, AlarmCode = 214 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_UPHOLD_CYLINDER_RIGHT_BACKWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1A06, AlarmCode = 215 };
public static AddrInfo X_SPARE_1A07 { get; private set; } = new AddrInfo() { Addr = 0x1A07, AlarmCode = 216 };
public static AddrInfo CONVEYOR_BASE_CARRIER_RIGHT_STOPPER_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1B00, AlarmCode = 217 };
public static AddrInfo CONVEYOR_BASE_CARRIER_RIGHT_STOPPER_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1B01, AlarmCode = 218 };
public static AddrInfo CONVEYOR_BASE_CARRIER_LEFT_STOPPER_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1B02, AlarmCode = 219 };
public static AddrInfo CONVEYOR_BASE_CARRIER_LEFT_STOPPER_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1B03, AlarmCode = 220 };
public static AddrInfo CONVEYOR_BASE_CARRIER_RIGHT_POPUP_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1B04, AlarmCode = 221 };
public static AddrInfo CONVEYOR_BASE_CARRIER_RIGHT_POPUP_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1B05, AlarmCode = 222 };
public static AddrInfo CONVEYOR_BASE_CARRIER_LEFT_POPUP_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1B06, AlarmCode = 223 };
public static AddrInfo CONVEYOR_BASE_CARRIER_LEFT_POPUP_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1B07, AlarmCode = 224 };
public static AddrInfo CONVEYOR_BASE_CARRIER_SEND_OUT_PUSHER_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1C00, AlarmCode = 225 };
public static AddrInfo CONVEYOR_BASE_CARRIER_SEND_OUT_PUSHER_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1C01, AlarmCode = 226 };
public static AddrInfo CONVEYOR_BASE_CARRIER_SEND_OUT_PUSHER_CYLINDER_FORWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1C02, AlarmCode = 227 };
public static AddrInfo CONVEYOR_BASE_CARRIER_SEND_OUT_PUSHER_CYLINDER_BACKWARD_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1C03, AlarmCode = 228 };
public static AddrInfo CONVEYOR_UPPER_EQP_CARRIER_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1C04, AlarmCode = 229 };
public static AddrInfo CONVEYOR_LOWER_EQP_CARRIER_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1C05, AlarmCode = 230 };
public static AddrInfo CONVEYOR_BASE_CARRIER_RIGHT_SLOW_DETECTION_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1C06, AlarmCode = 231 };
public static AddrInfo CONVEYOR_BASE_CARRIER_RIGHT_STOP_DETECTION_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1C07, AlarmCode = 232 };
public static AddrInfo CONVEYOR_BASE_CARRIER_RIGHT_UP_SAFE_INPUT_CARRIER_EXIST_DETECTION_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1D00, AlarmCode = 233 };
public static AddrInfo CONVEYOR_BASE_CARRIER_RIGHT_UP_SAFE_OUTPUT_CARRIER_EXIST_DETECTION_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1D01, AlarmCode = 234 };
public static AddrInfo CONVEYOR_BASE_CARRIER_RIGHT_UP_POSITION_CARRIER_EXIST_DETECTION_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1D02, AlarmCode = 235 };
public static AddrInfo CONVEYOR_BASE_CARRIER_LEFT_SLOW_DETECTION_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1D03, AlarmCode = 236 };
public static AddrInfo CONVEYOR_BASE_CARRIER_LEFT_STOP_DETECTION_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1D04, AlarmCode = 237 };
public static AddrInfo CONVEYOR_BASE_CARRIER_LEFT_UP_SAFE_INPUT_CARRIER_EXIST_DETECTION_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1D05, AlarmCode = 238 };
public static AddrInfo CONVEYOR_BASE_CARRIER_LEFT_UP_SAFE_OUTPUT_CARRIER_EXIST_DETECTION_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1D06, AlarmCode = 239 };
public static AddrInfo CONVEYOR_BASE_CARRIER_LEFT_UP_POSITION_CARRIER_EXIST_DETECTION_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1D07, AlarmCode = 240 };
public static AddrInfo CONVEYOR_PUSHER_UP_SAFE_CARRIER_EXIST_DETECTION_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1E00, AlarmCode = 241 };
public static AddrInfo CONVEYOR_BASE_CARRIER_WAIT_DETECTION_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1E01, AlarmCode = 242 };
public static AddrInfo ATTACH_SECOND_GRIPPER_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1E02, AlarmCode = 243 };
public static AddrInfo DISPENSER_ELECTRONIC_SCALE_CYLINDER_UP_SENSER { get; private set; } = new AddrInfo() { Addr = 0x1E03, AlarmCode = 244 };
public static AddrInfo DISPENSER_ELECTRONIC_SCALE_CYLINDER_BIG_DOWN_SENSER { get; private set; } = new AddrInfo() { Addr = 0x1E04, AlarmCode = 245 };
public static AddrInfo DISPENSER_ELECTRONIC_SCALE_CYLINDER_FORWARD_SENSER { get; private set; } = new AddrInfo() { Addr = 0x1E05, AlarmCode = 246 };
public static AddrInfo DISPENSER_ELECTRONIC_SCALE_CYLINDER_BACKWARD_SENSER { get; private set; } = new AddrInfo() { Addr = 0x1E06, AlarmCode = 247 };
public static AddrInfo ATTACH_SECOND_GRIPPER_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1E07, AlarmCode = 248 };
public static AddrInfo DISPENSER_X_MOTOR_TEMP_ALARM { get; private set; } = new AddrInfo() { Addr = 0x1F00, AlarmCode = 249 };
public static AddrInfo DISPENSER_Y_MOTOR_TEMP_ALARM { get; private set; } = new AddrInfo() { Addr = 0x1F01, AlarmCode = 250 };
public static AddrInfo DISPENSER_Z_MOTOR_TEMP_ALARM { get; private set; } = new AddrInfo() { Addr = 0x1F02, AlarmCode = 251 };
public static AddrInfo DISPENSER_ELECTRONIC_SCALE_CYLINDER_DOWN_SENSER { get; private set; } = new AddrInfo() { Addr = 0x1F03, AlarmCode = 252 };
public static AddrInfo DISPENSER_BASE_TRANS_Y_SAFE_POS_DETECTION_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1F04, AlarmCode = 253, On = 0, Off = 1 }; // 0 :Safe , 1 : Unsafe
public static AddrInfo X_SPARE_1F05 { get; private set; } = new AddrInfo() { Addr = 0x1F05, AlarmCode = 254 };
public static AddrInfo FLEX_TRANS_PRE_BENDING_FLEX_PUSH_CYLINDER_UP_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1F06, AlarmCode = 255 };
public static AddrInfo FLEX_TRANS_PRE_BENDING_FLEX_PUSH_CYLINDER_DOWN_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1F07, AlarmCode = 256 };
#endregion
}
public class DOUT
{
public static void Init()
{
LoadIO();
}
private static string _path = "DOUT.cfg";
static void LoadIO()
{
if (!File.Exists(_path)) {
List<string> list = new List<string>();
var props = typeof(DOUT).GetProperties();
foreach (var pi in props) {
AddrInfo item = (AddrInfo)pi.GetValue(null);
item.Name = pi.Name;
item.Init();
list.Add($"{pi.Name}:0x{item.Addr:X}:{item.On}");
}
File.WriteAllLines(_path, list.ToArray());
} else {
var lines = File.ReadAllLines(_path);
foreach (var line in lines) {
var items = line.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).ToArray();
var name = items[0];
var addr = int.Parse(items[1].Substring(2), System.Globalization.NumberStyles.HexNumber);
var on = int.Parse(items[2]);
var off = (on + 1) & 1;
var pi = typeof(DOUT).GetProperty(name);
if (pi != null) {
var addrInfo = (AddrInfo)pi.GetValue(null);
addrInfo.On = on;
addrInfo.Off = off;
addrInfo.Addr = addr;
addrInfo.Name = name;
addrInfo.Init();
//pi.SetValue(null, new AddrInfo(on, off) { Addr = addr, Name = name });
}
}
}
}
public static List<AddrInfo> GetAllInfo()
{
List<AddrInfo> info = new List<AddrInfo>();
var props = typeof(DOUT).GetProperties();
foreach (var pi in props) {
AddrInfo item = (AddrInfo)pi.GetValue(null);
item.Name = pi.Name;
info.Add(item);
}
return info;
}
#region ADDRESS
public static AddrInfo EQP_SIGNAL_TOWER_LAMP_RED { get; private set; } = new AddrInfo() { Addr = 0x0, AlarmCode = 501 };
public static AddrInfo EQP_SIGNAL_TOWER_LAMP_YELLOW { get; private set; } = new AddrInfo() { Addr = 0x1, AlarmCode = 502 };
public static AddrInfo EQP_SIGNAL_TOWER_LAMP_GREEN { get; private set; } = new AddrInfo() { Addr = 0x2, AlarmCode = 503 };
public static AddrInfo Y_SPARE_0003 { get; private set; } = new AddrInfo() { Addr = 0x3, AlarmCode = 504 };
public static AddrInfo EQP_SIGNAL_TOWER_BUZZER_00 { get; private set; } = new AddrInfo() { Addr = 0x4, AlarmCode = 505 };
public static AddrInfo EQP_SIGNAL_TOWER_BUZZER_01 { get; private set; } = new AddrInfo() { Addr = 0x5, AlarmCode = 506 };
public static AddrInfo EQP_SIGNAL_TOWER_BUZZER_02 { get; private set; } = new AddrInfo() { Addr = 0x6, AlarmCode = 507 };
public static AddrInfo EQP_SIGNAL_TOWER_BUZZER_03 { get; private set; } = new AddrInfo() { Addr = 0x7, AlarmCode = 508 };
public static AddrInfo EQP_START_SWITCH_LAMP_ON { get; private set; } = new AddrInfo() { Addr = 0x100, AlarmCode = 509 };
public static AddrInfo EQP_STOP_SWITCH_LAMP_ON { get; private set; } = new AddrInfo() { Addr = 0x101, AlarmCode = 510 };
public static AddrInfo EQP_RESET_SWITCH_LAMP_ON { get; private set; } = new AddrInfo() { Addr = 0x102, AlarmCode = 511 };
public static AddrInfo Y_SPARE_0103 { get; private set; } = new AddrInfo() { Addr = 0x103, AlarmCode = 512 };
public static AddrInfo EQP_FRONT_MAIN_SAFETY_KEY_LOCK { get; private set; } = new AddrInfo() { Addr = 0x104, AlarmCode = 513 };
public static AddrInfo EQP_REAR_MAIN_SAFETY_KEY_LOCK { get; private set; } = new AddrInfo() { Addr = 0x105, AlarmCode = 514 };
public static AddrInfo EQP_FRONT_CONVEYOR_SAFETY_KEY_LOCK { get; private set; } = new AddrInfo() { Addr = 0x106, AlarmCode = 515 };
public static AddrInfo EQP_REAR_CONVEYOR_SAFETY_KEY_LOCK { get; private set; } = new AddrInfo() { Addr = 0x107, AlarmCode = 516 };
//public static AddrInfo Y_SPARE_0200 { get; private set; } = new AddrInfo() { Addr = 0x200 , AlarmCode = 517 };
//public static AddrInfo Y_SPARE_0201 { get; private set; } = new AddrInfo() { Addr = 0x201 , AlarmCode = 518 };
public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_CYLINDER_CLAMP { get; private set; } = new AddrInfo() { Addr = 0x200, AlarmCode = 519 };
public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_CYLINDER_UNCLAMP { get; private set; } = new AddrInfo() { Addr = 0x201, AlarmCode = 520 };
public static AddrInfo EQP_SAFE_PLC_DOOR_OPEN { get; private set; } = new AddrInfo() { Addr = 0x202, AlarmCode = 521 };
public static AddrInfo EQP_SAFE_PLC_MAGAZINE_MUTE_ON_1 { get; private set; } = new AddrInfo() { Addr = 0x203, AlarmCode = 522 };
public static AddrInfo EQP_SAFE_PLC_MAGAZINE_MUTE_ON_2 { get; private set; } = new AddrInfo() { Addr = 0x204, AlarmCode = 523 };
public static AddrInfo EQP_SAFE_PLC_SP_01 { get; private set; } = new AddrInfo() { Addr = 0x205, AlarmCode = 524 };
public static AddrInfo EQP_SAFE_PLC_SP_02 { get; private set; } = new AddrInfo() { Addr = 0x206, AlarmCode = 525 };
public static AddrInfo EQP_SAFE_PLC_SP_03 { get; private set; } = new AddrInfo() { Addr = 0x207, AlarmCode = 526 };
public static AddrInfo EQP_FRONT_DOOR_LOCK { get; private set; } = new AddrInfo() { Addr = 0x300, AlarmCode = 527 };
public static AddrInfo EQP_REAR_MAIN_DOOR_LOCK { get; private set; } = new AddrInfo() { Addr = 0x301, AlarmCode = 528 };
public static AddrInfo EQP_REAR_CONVEYOR_DOOR_LOCK { get; private set; } = new AddrInfo() { Addr = 0x302, AlarmCode = 529 };
public static AddrInfo Y_SPARE_0303 { get; private set; } = new AddrInfo() { Addr = 0x303, AlarmCode = 530 };
public static AddrInfo EQP_MAGAZINE_LEFT_INPUT_COMPLETE_SWITCH_LAMP_ON { get; private set; } = new AddrInfo() { Addr = 0x304, AlarmCode = 531 };
public static AddrInfo EQP_MAGAZINE_RIGHT_INPUT_COMPLETE_SWITCH_LAMP_ON { get; private set; } = new AddrInfo() { Addr = 0x305, AlarmCode = 532 };
//public static AddrInfo Y_SPARE_0306 { get; private set; } = new AddrInfo() { Addr = 0x306 , AlarmCode = 533 };
//public static AddrInfo Y_SPARE_0307 { get; private set; } = new AddrInfo() { Addr = 0x307 , AlarmCode = 534 };
public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_CLAMP { get; private set; } = new AddrInfo() { Addr = 0x306, AlarmCode = 535 };
public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_UNCLAMP { get; private set; } = new AddrInfo() { Addr = 0x307, AlarmCode = 536 };
public static AddrInfo EQP_UPPER_EQUIPMENT_INTERFACE_MACHINE_RUN { get; private set; } = new AddrInfo() { Addr = 0x400, AlarmCode = 537 };
public static AddrInfo EQP_UPPER_EQUIPMENT_INTERFACE_EMERGENCY { get; private set; } = new AddrInfo() { Addr = 0x401, AlarmCode = 538 };
public static AddrInfo EQP_UPPER_EQUIPMENT_INTERFACE_INTERLOCK { get; private set; } = new AddrInfo() { Addr = 0x402, AlarmCode = 539 };
public static AddrInfo EQP_UPPER_EQUIPMENT_INTERFACE_DOOR_CLOSE { get; private set; } = new AddrInfo() { Addr = 0x403, AlarmCode = 540 };
public static AddrInfo EQP_UPPER_EQUIPMENT_INTERFACE_ABLE { get; private set; } = new AddrInfo() { Addr = 0x404, AlarmCode = 541 };
public static AddrInfo EQP_UPPER_EQUIPMENT_INTERFACE_START { get; private set; } = new AddrInfo() { Addr = 0x405, AlarmCode = 542 };
public static AddrInfo EQP_UPPER_EQUIPMENT_INTERFACE_COMPLETE { get; private set; } = new AddrInfo() { Addr = 0x406, AlarmCode = 543 };
public static AddrInfo EQP_UPPER_EQUIPMENT_INTERFACE_SPARE { get; private set; } = new AddrInfo() { Addr = 0x407, AlarmCode = 544 };
public static AddrInfo EQP_LOWER_EQUIPMENT_INTERFACE_MACHINE_RUN { get; private set; } = new AddrInfo() { Addr = 0x500, AlarmCode = 545 };
public static AddrInfo EQP_LOWER_EQUIPMENT_INTERFACE_EMERGENCY { get; private set; } = new AddrInfo() { Addr = 0x501, AlarmCode = 546 };
public static AddrInfo EQP_LOWER_EQUIPMENT_INTERFACE_INTERLOCK { get; private set; } = new AddrInfo() { Addr = 0x502, AlarmCode = 547 };
public static AddrInfo EQP_LOWER_EQUIPMENT_INTERFACE_DOOR_CLOSE { get; private set; } = new AddrInfo() { Addr = 0x503, AlarmCode = 548 };
public static AddrInfo EQP_LOWER_EQUIPMENT_INTERFACE_ABLE { get; private set; } = new AddrInfo() { Addr = 0x504, AlarmCode = 549 };
public static AddrInfo EQP_LOWER_EQUIPMENT_INTERFACE_START { get; private set; } = new AddrInfo() { Addr = 0x505, AlarmCode = 550 };
public static AddrInfo EQP_LOWER_EQUIPMENT_INTERFACE_COMPLETE { get; private set; } = new AddrInfo() { Addr = 0x506, AlarmCode = 551 };
public static AddrInfo EQP_LOWER_EQUIPMENT_INTERFACE_SPARE { get; private set; } = new AddrInfo() { Addr = 0x507, AlarmCode = 552 };
public static AddrInfo BASE_HND_PICKER_MAIN_VACUUM_ON { get; private set; } = new AddrInfo() { Addr = 0x600, AlarmCode = 553 };
public static AddrInfo BASE_HND_PICKER_MAIN_BLOW_ON { get; private set; } = new AddrInfo() { Addr = 0x601, AlarmCode = 554 };
public static AddrInfo BASE_HND_PICKER_MAIN_VACUUM_BLOW_OFF { get; private set; } = new AddrInfo() { Addr = 0x602, AlarmCode = 555 };
public static AddrInfo BASE_HND_PICKER_SUB_VACUUM_ON { get; private set; } = new AddrInfo() { Addr = 0x603, AlarmCode = 556 };
public static AddrInfo BASE_HND_PICKER_SUB_BLOW_ON { get; private set; } = new AddrInfo() { Addr = 0x604, AlarmCode = 557 };
public static AddrInfo BASE_HND_PICKER_SUB_VACUUM_BLOW_OFF { get; private set; } = new AddrInfo() { Addr = 0x605, AlarmCode = 558 };
public static AddrInfo Y_SPARE_0606 { get; private set; } = new AddrInfo() { Addr = 0x606, AlarmCode = 559 };
public static AddrInfo Y_SPARE_0607 { get; private set; } = new AddrInfo() { Addr = 0x607, AlarmCode = 560 };
public static AddrInfo FLEX_HND_PICKER_VACUUM_ON { get; private set; } = new AddrInfo() { Addr = 0x700, AlarmCode = 561 };
public static AddrInfo FLEX_HND_PICKER_BLOW_ON { get; private set; } = new AddrInfo() { Addr = 0x701, AlarmCode = 562 };
public static AddrInfo FLEX_HND_PICKER_VACUUM_BLOW_OFF { get; private set; } = new AddrInfo() { Addr = 0x702, AlarmCode = 563 };
public static AddrInfo FLEX_SHUTTLE_STAGE_VACUUM_ON { get; private set; } = new AddrInfo() { Addr = 0x703, AlarmCode = 564 };
public static AddrInfo FLEX_SHUTTLE_STAGE_BLOW_ON { get; private set; } = new AddrInfo() { Addr = 0x704, AlarmCode = 565 };
public static AddrInfo FLEX_SHUTTLE_STAGE_VACUUM_BLOW_OFF { get; private set; } = new AddrInfo() { Addr = 0x705, AlarmCode = 566 };
public static AddrInfo Y_SPARE_0706 { get; private set; } = new AddrInfo() { Addr = 0x706, AlarmCode = 567 };
public static AddrInfo Y_SPARE_0707 { get; private set; } = new AddrInfo() { Addr = 0x707, AlarmCode = 568 };
//public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_MAIN_VACUUM_ON { get; private set; } = new AddrInfo() { Addr = 0x800 , AlarmCode = 569 };
//public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_MAIN_BLOW_ON { get; private set; } = new AddrInfo() { Addr = 0x801 , AlarmCode = 570 };
//public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_MAIN_VACUUM_BLOW_OFF { get; private set; } = new AddrInfo() { Addr = 0x802 , AlarmCode = 571 };
//public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_SUB_VACUUM_ON { get; private set; } = new AddrInfo() { Addr = 0x803 , AlarmCode = 572 };
public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_PIN_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x800, AlarmCode = 573 };
public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_PIN_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x801, AlarmCode = 574 };
public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_PIN_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x802, AlarmCode = 575 };
public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_PIN_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x803, AlarmCode = 576 };
//public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_SUB_VACUUM_BLOW_OFF { get; private set; } = new AddrInfo() { Addr = 0x805 , AlarmCode = 577 };
public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x806, AlarmCode = 578 };
public static AddrInfo WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x807, AlarmCode = 579 };
//public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_MAIN_VACUUM_ON { get; private set; } = new AddrInfo() { Addr = 0x900 , AlarmCode = 580 };
//public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_MAIN_BLOW_ON { get; private set; } = new AddrInfo() { Addr = 0x901 , AlarmCode = 581 };
//public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_MAIN_VACUUM_BLOW_OFF { get; private set; } = new AddrInfo() { Addr = 0x902 , AlarmCode = 582 };
//public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_SUB_VACUUM_ON { get; private set; } = new AddrInfo() { Addr = 0x903 , AlarmCode = 583 };
//public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_SUB_BLOW_ON { get; private set; } = new AddrInfo() { Addr = 0x904 , AlarmCode = 584 };
//public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_SUB_VACUUM_BLOW_OFF { get; private set; } = new AddrInfo() { Addr = 0x905 , AlarmCode = 585 };
public static AddrInfo BASE_FRAME_BUFFER_SHUTTLE_RIGHT_VACUUM_ON { get; private set; } = new AddrInfo() { Addr = 0x900, AlarmCode = 586 };
public static AddrInfo BASE_FRAME_BUFFER_SHUTTLE_RIGHT_BLOW_ON { get; private set; } = new AddrInfo() { Addr = 0x901, AlarmCode = 587 };
public static AddrInfo BASE_FRAME_BUFFER_SHUTTLE_RIGHT_VACUMM_BLOW_OFF { get; private set; } = new AddrInfo() { Addr = 0x902, AlarmCode = 588 };
public static AddrInfo BASE_FRAME_BUFFER_SHUTTLE_LEFT_VACUUM_ON { get; private set; } = new AddrInfo() { Addr = 0x903, AlarmCode = 589 };
public static AddrInfo BASE_FRAME_BUFFER_SHUTTLE_LEFT_BLOW_ON { get; private set; } = new AddrInfo() { Addr = 0x904, AlarmCode = 590 };
public static AddrInfo BASE_FRAME_BUFFER_SHUTTLE_LEFT_VACUMM_BLOW_OFF { get; private set; } = new AddrInfo() { Addr = 0x905, AlarmCode = 591 };
public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x906, AlarmCode = 592 };
public static AddrInfo WRAPPING_BASE_TRANS_RIGHT_PICKER_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x907, AlarmCode = 593 };
public static AddrInfo BASE_FRAME_BUFFER_SHUTTLE_LEFT_BASE_CYLINDER_LOCK { get; private set; } = new AddrInfo() { Addr = 0xA00, AlarmCode = 594 };
public static AddrInfo Y_SPARE_0A01 { get; private set; } = new AddrInfo() { Addr = 0xA01, AlarmCode = 595 };
public static AddrInfo BASE_FRAME_BUFFER_SHUTTLE_RIGHT_BASE_CYLINDER_LOCK { get; private set; } = new AddrInfo() { Addr = 0xA02, AlarmCode = 596 };
public static AddrInfo Y_SPARE_0A03 { get; private set; } = new AddrInfo() { Addr = 0xA03, AlarmCode = 597 };
public static AddrInfo FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0xA04, AlarmCode = 598 };
public static AddrInfo FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0xA05, AlarmCode = 599 };
public static AddrInfo FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_MAIN_VACUUM_ON { get; private set; } = new AddrInfo() { Addr = 0xA06, AlarmCode = 600 };
public static AddrInfo FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_MAIN_BLOW_ON { get; private set; } = new AddrInfo() { Addr = 0xA07, AlarmCode = 601 };
public static AddrInfo FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_MAIN_VACUUM_BLOW_OFF { get; private set; } = new AddrInfo() { Addr = 0xB00, AlarmCode = 602 };
public static AddrInfo FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_SUB_VACUUM_ON { get; private set; } = new AddrInfo() { Addr = 0xB01, AlarmCode = 603 };
public static AddrInfo FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_SUB_BLOW_ON { get; private set; } = new AddrInfo() { Addr = 0xB02, AlarmCode = 604 };
public static AddrInfo FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_SUB_VACUUM_BLOW_OFF { get; private set; } = new AddrInfo() { Addr = 0xB03, AlarmCode = 605 };
public static AddrInfo FLEX_BASE_FRAME_INSP_SHUTTLE_INSPECTION_BASE_CYLINDER_LOCK { get; private set; } = new AddrInfo() { Addr = 0xB04, AlarmCode = 606 };
public static AddrInfo Y_ATTACH_VCM_TOOL_03_CYLINDER_FORWARD { get; private set; } = new AddrInfo() { Addr = 0xB05, AlarmCode = 607 };
public static AddrInfo Y_ATTACH_VCM_TOOL_03_CYLINDER_BACKWARD { get; private set; } = new AddrInfo() { Addr = 0xB06, AlarmCode = 608 };
public static AddrInfo FLEX_TRANS_PRE_BENDING_FLEX_PUSH_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0xB07, AlarmCode = 609 };
public static AddrInfo DISPENSER_FAD_EPOXY_P_SHOT { get; private set; } = new AddrInfo() { Addr = 0xC00, AlarmCode = 610 };
public static AddrInfo DISPENSER_FAD_EPOXY_B_SHOT { get; private set; } = new AddrInfo() { Addr = 0xC01, AlarmCode = 611 };
public static AddrInfo DISPENSER_TURN_TABLE_SIDE_ROTATION_01_BASE_CYLINDER_LOCK { get; private set; } = new AddrInfo() { Addr = 0xC02, AlarmCode = 612 };
public static AddrInfo DISPENSER_TURN_TABLE_SIDE_ROTATION_02_BASE_CYLINDER_LOCK { get; private set; } = new AddrInfo() { Addr = 0xC03, AlarmCode = 613 };
public static AddrInfo DISPENSER_TURN_TABLE_SIDE_ROTATION_03_BASE_CYLINDER_LOCK { get; private set; } = new AddrInfo() { Addr = 0xC04, AlarmCode = 614 };
public static AddrInfo DISPENSER_TURN_TABLE_SIDE_ROTATION_04_BASE_CYLINDER_LOCK { get; private set; } = new AddrInfo() { Addr = 0xC05, AlarmCode = 615 };
public static AddrInfo Y_SPARE_0C06 { get; private set; } = new AddrInfo() { Addr = 0xC06, AlarmCode = 616 };
public static AddrInfo FLEX_TRANS_PRE_BENDING_FLEX_PUSH_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0xC07, AlarmCode = 617 };
public static AddrInfo DISPENSER_NEEDLE_CLEANER_CYLINDER_OPEN { get; private set; } = new AddrInfo() { Addr = 0xD00, AlarmCode = 618 };
public static AddrInfo DISPENSER_NEEDLE_CLEANER_CYLINDER_CLOSE { get; private set; } = new AddrInfo() { Addr = 0xD01, AlarmCode = 619 };
public static AddrInfo DISPENSER_UTILITY_MODULE_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0xD02, AlarmCode = 620 };
public static AddrInfo DISPENSER_UTILITY_MODULE_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0xD03, AlarmCode = 621 };
public static AddrInfo Y_SPARE_1D04 { get; private set; } = new AddrInfo() { Addr = 0xD04, AlarmCode = 622 };
public static AddrInfo Y_SPARE_1D05 { get; private set; } = new AddrInfo() { Addr = 0xD05, AlarmCode = 623 };
public static AddrInfo ATTACH_PISMO_HAND_CYLINDER_FORWARD { get; private set; } = new AddrInfo() { Addr = 0xD06, AlarmCode = 624 };
public static AddrInfo ATTACH_COIL_ALIGNER_PICKER_VACUUM_ON { get; private set; } = new AddrInfo() { Addr = 0xD07, AlarmCode = 625 };
public static AddrInfo ATTACH_COIL_ALIGNER_PICKER_BLOW_ON { get; private set; } = new AddrInfo() { Addr = 0xE00, AlarmCode = 626 };
public static AddrInfo ATTACH_COIL_ALIGNER_PICKER_VACUUM_BLOW_OFF { get; private set; } = new AddrInfo() { Addr = 0xE01, AlarmCode = 627 };
public static AddrInfo ATTACH_COIL_ALIGNER_PICKER_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0xE02, AlarmCode = 628 };
public static AddrInfo ATTACH_COIL_ALIGNER_PICKER_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0xE03, AlarmCode = 629 };
public static AddrInfo ATTACH_COIL_ALIGNER_PICKER_CYLINDER_OPEN { get; private set; } = new AddrInfo() { Addr = 0xE04, AlarmCode = 630 };
public static AddrInfo ATTACH_COIL_ALIGNER_PICKER_CYLINDER_CLOSE { get; private set; } = new AddrInfo() { Addr = 0xE05, AlarmCode = 631 };
public static AddrInfo ATTACH_FLEX_ALIGN_GRIPPER_CYLINDER_OPEN { get; private set; } = new AddrInfo() { Addr = 0xE06, AlarmCode = 632 };
public static AddrInfo ATTACH_FLEX_ALIGN_GRIPPER_CYLINDER_CLOSE { get; private set; } = new AddrInfo() { Addr = 0xE07, AlarmCode = 633 };
public static AddrInfo ATTACH_BASE_CYLINDER_LOCK { get; private set; } = new AddrInfo() { Addr = 0xF00, AlarmCode = 634 };
public static AddrInfo ATTACH_BASE_CYLINDER_UNLOCK { get; private set; } = new AddrInfo() { Addr = 0xF01, AlarmCode = 635 };
public static AddrInfo ATTACH_VCM_TOOL_01_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0xF02, AlarmCode = 636 };
public static AddrInfo ATTACH_VCM_TOOL_01_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0xF03, AlarmCode = 637 };
public static AddrInfo ATTACH_VCM_TOOL_02_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0xF04, AlarmCode = 638 };
public static AddrInfo ATTACH_VCM_TOOL_02_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0xF05, AlarmCode = 639 };
public static AddrInfo ATTACH_VCM_TOOL_03_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0xF06, AlarmCode = 640 };
public static AddrInfo ATTACH_VCM_TOOL_03_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0xF07, AlarmCode = 641 };
public static AddrInfo ATTACH_VCM_TOOL_04_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x1000, AlarmCode = 642 };
public static AddrInfo ATTACH_VCM_TOOL_04_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x1001, AlarmCode = 643 };
public static AddrInfo ATTACH_VCM_TOOL_05_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x1002, AlarmCode = 644 };
public static AddrInfo ATTACH_VCM_TOOL_05_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x1003, AlarmCode = 645 };
public static AddrInfo ATTACH_VCM_TOOL_06_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x1004, AlarmCode = 646 };
public static AddrInfo ATTACH_VCM_TOOL_06_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x1005, AlarmCode = 647 };
public static AddrInfo ATTACH_VCM_TOOL_05_CYLINDER_FORWARD { get; private set; } = new AddrInfo() { Addr = 0x1006, AlarmCode = 648 };
public static AddrInfo ATTACH_VCM_TOOL_05_CYLINDER_BACKWARD { get; private set; } = new AddrInfo() { Addr = 0x1007, AlarmCode = 649 };
public static AddrInfo MAGAZINE_WORK_POSITION_MOVING_CYLINDER_LEFT { get; private set; } = new AddrInfo() { Addr = 0x1100, AlarmCode = 650 };
public static AddrInfo MAGAZINE_WORK_POSITION_MOVING_CYLINDER_RIGHT { get; private set; } = new AddrInfo() { Addr = 0x1101, AlarmCode = 651 };
public static AddrInfo MAGAZINE_LEFT_SLIDE_DOOR_CYLINDER_LOCK { get; private set; } = new AddrInfo() { Addr = 0x1102, AlarmCode = 652 };
public static AddrInfo MAGAZINE_LEFT_SLIDE_DOOR_CYLINDER_UNLOCK { get; private set; } = new AddrInfo() { Addr = 0x1103, AlarmCode = 653 };
public static AddrInfo MAGAZINE_RIGHT_SLIDE_DOOR_CYLINDER_LOCK { get; private set; } = new AddrInfo() { Addr = 0x1104, AlarmCode = 654 };
public static AddrInfo MAGAZINE_RIGHT_SLIDE_DOOR_CYLINDER_UNLOCK { get; private set; } = new AddrInfo() { Addr = 0x1105, AlarmCode = 655 };
public static AddrInfo MAGAZINE_WORK_POSITION_CLAMP_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x1106, AlarmCode = 656 };
public static AddrInfo MAGAZINE_WORK_POSITION_CLAMP_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x1107, AlarmCode = 657 };
public static AddrInfo MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x1200, AlarmCode = 658 };
public static AddrInfo MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x1201, AlarmCode = 659 };
public static AddrInfo MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_FORWARD { get; private set; } = new AddrInfo() { Addr = 0x1202, AlarmCode = 660 };
public static AddrInfo MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_BACKWARD { get; private set; } = new AddrInfo() { Addr = 0x1203, AlarmCode = 661 };
public static AddrInfo MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_TURN_OPEN { get; private set; } = new AddrInfo() { Addr = 0x1204, AlarmCode = 662 };
public static AddrInfo MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_TURN_CLOSE { get; private set; } = new AddrInfo() { Addr = 0x1205, AlarmCode = 663 };
public static AddrInfo ATTACH_SECOND_GRIPPER_CYLINDER_FORWARE { get; private set; } = new AddrInfo() { Addr = 0x1206, AlarmCode = 664 };
public static AddrInfo ATTACH_SECOND_GRIPPER_CYLINDER_BACKWARE { get; private set; } = new AddrInfo() { Addr = 0x1207, AlarmCode = 665 };
public static AddrInfo FLEX_CARRIER_HND_CYLINDER_CLAMP { get; private set; } = new AddrInfo() { Addr = 0x1300, AlarmCode = 666 };
public static AddrInfo FLEX_CARRIER_HND_CYLINDER_UNCLAMP { get; private set; } = new AddrInfo() { Addr = 0x1301, AlarmCode = 667 };
public static AddrInfo Y_SPARE_1302 { get; private set; } = new AddrInfo() { Addr = 0x1302, AlarmCode = 668 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_UPHOLD_CYLINDER_FORWARD { get; private set; } = new AddrInfo() { Addr = 0x1303, AlarmCode = 669 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_UPHOLD_CYLINDER_BACKWARD { get; private set; } = new AddrInfo() { Addr = 0x1304, AlarmCode = 670 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_RFID_CYLINDER_FORWARD { get; private set; } = new AddrInfo() { Addr = 0x1305, AlarmCode = 671 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_RFID_CYLINDER_BACKWARD { get; private set; } = new AddrInfo() { Addr = 0x1306, AlarmCode = 672 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_EXIST_DETECTED_SENSOR { get; private set; } = new AddrInfo() { Addr = 0x1307, AlarmCode = 673 };
public static AddrInfo CONVEYOR_BASE_CARRIER_RIGHT_STOPPER_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x1400, AlarmCode = 674 };
public static AddrInfo CONVEYOR_BASE_CARRIER_RIGHT_STOPPER_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x1401, AlarmCode = 675 };
public static AddrInfo CONVEYOR_BASE_CARRIER_LEFT_STOPPER_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x1402, AlarmCode = 676 };
public static AddrInfo CONVEYOR_BASE_CARRIER_LEFT_STOPPER_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x1403, AlarmCode = 677 };
public static AddrInfo CONVEYOR_BASE_CARRIER_RIGHT_POPUP_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x1404, AlarmCode = 678 };
public static AddrInfo CONVEYOR_BASE_CARRIER_RIGHT_POPUP_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x1405, AlarmCode = 679 };
public static AddrInfo CONVEYOR_BASE_CARRIER_LEFT_POPUP_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x1406, AlarmCode = 680 };
public static AddrInfo CONVEYOR_BASE_CARRIER_LEFT_POPUP_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x1407, AlarmCode = 681 };
public static AddrInfo CONVEYOR_BASE_CARRIER_SEND_OUT_PUSHER_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x1500, AlarmCode = 682 };
public static AddrInfo CONVEYOR_BASE_CARRIER_SEND_OUT_PUSHER_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x1501, AlarmCode = 683 };
public static AddrInfo CONVEYOR_BASE_CARRIER_SEND_OUT_PUSHER_CYLINDER_FORWARD { get; private set; } = new AddrInfo() { Addr = 0x1502, AlarmCode = 684 };
public static AddrInfo CONVEYOR_BASE_CARRIER_SEND_OUT_PUSHER_CYLINDER_BACKWARD { get; private set; } = new AddrInfo() { Addr = 0x1503, AlarmCode = 685 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_UPHOLD_CARRIER_ALIGNER_CYLINDER_FORWARD { get; private set; } = new AddrInfo() { Addr = 0x1504, AlarmCode = 686 };
public static AddrInfo FLEX_CARRIER_WORK_ZONE_UPHOLD_CARRIER_ALIGNER_CYLINDER_BACKWARD { get; private set; } = new AddrInfo() { Addr = 0x1505, AlarmCode = 687 };
public static AddrInfo ATTACH_SECOND_GRIPPER_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x1506, AlarmCode = 688 };
public static AddrInfo ATTACH_SECOND_GRIPPER_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x1507, AlarmCode = 689 };
public static AddrInfo VISION_BASE_HND_HW_TRIGGER { get; private set; } = new AddrInfo() { Addr = 0x1600, AlarmCode = 690 };
public static AddrInfo VISION_BASE_WRAPPING_BASE_TRANS_HW_TRIGGER { get; private set; } = new AddrInfo() { Addr = 0x1601, AlarmCode = 691 };
public static AddrInfo VISION_FLEX_HND_HW_TRIGGER { get; private set; } = new AddrInfo() { Addr = 0x1602, AlarmCode = 692 };
public static AddrInfo VISION_DISPENSER_HW_TRIGGER { get; private set; } = new AddrInfo() { Addr = 0x1603, AlarmCode = 693 };
public static AddrInfo VISION_ATTACH_ALIGNER_HW_TRIGGER { get; private set; } = new AddrInfo() { Addr = 0x1604, AlarmCode = 694 };
public static AddrInfo VISION_EPOXY_INSPECTION_HW_TRIGGER { get; private set; } = new AddrInfo() { Addr = 0x1605, AlarmCode = 695 };
public static AddrInfo VISION_ATTACH_INSPECTION_HW_TRIGGER { get; private set; } = new AddrInfo() { Addr = 0x1606, AlarmCode = 696 };
public static AddrInfo Y_SPARE_1607 { get; private set; } = new AddrInfo() { Addr = 0x1607, AlarmCode = 697 };
public static AddrInfo Y_SPARE_1700 { get; private set; } = new AddrInfo() { Addr = 0x1700, AlarmCode = 698 };
public static AddrInfo HEATER_POWER_00 { get; private set; } = new AddrInfo() { Addr = 0x1701, AlarmCode = 699 };
public static AddrInfo HEATER_POWER_01 { get; private set; } = new AddrInfo() { Addr = 0x1702, AlarmCode = 700 };
public static AddrInfo HEATER_POWER_02 { get; private set; } = new AddrInfo() { Addr = 0x1703, AlarmCode = 701 };
public static AddrInfo HEATER_POWER_03 { get; private set; } = new AddrInfo() { Addr = 0x1704, AlarmCode = 702 };
public static AddrInfo HEATER_POWER_04 { get; private set; } = new AddrInfo() { Addr = 0x1705, AlarmCode = 703 };
public static AddrInfo HEATER_POWER_05 { get; private set; } = new AddrInfo() { Addr = 0x1706, AlarmCode = 704 };
public static AddrInfo PBI_COMPLETE_ZONE_FORWARD { get; private set; } = new AddrInfo() { Addr = 0x1707, AlarmCode = 705 };
public static AddrInfo DISPENSER_BASE_TRANS_AXIS_TT_AMP_RESET { get; private set; } = new AddrInfo() { Addr = 0x1800, AlarmCode = 706 };
public static AddrInfo FLEX_HND_AXIS_T_AMP_RESET { get; private set; } = new AddrInfo() { Addr = 0x1801, AlarmCode = 707 };
public static AddrInfo ATTACH_FLEX_GRIPPER_AXIS_T_AMP_RESET { get; private set; } = new AddrInfo() { Addr = 0x1802, AlarmCode = 708 };
public static AddrInfo ATTACH_BASE_GUIDE_AXIS_T_AMP_RESET { get; private set; } = new AddrInfo() { Addr = 0x1803, AlarmCode = 709 };
public static AddrInfo FLEX_TILT_SHUTTLE_AXIS_TT_AMP_RESET { get; private set; } = new AddrInfo() { Addr = 0x1804, AlarmCode = 710 };
public static AddrInfo ATTACH_SECOND_GRIPPER_CYLINDER_CLOSE { get; private set; } = new AddrInfo() { Addr = 0x1805, AlarmCode = 711 };
public static AddrInfo ATTACH_SECOND_GRIPPER_CYLINDER_OPEN { get; private set; } = new AddrInfo() { Addr = 0x1806, AlarmCode = 712 };
public static AddrInfo PBI_COMPLETE_ZONE_BACKWARD { get; private set; } = new AddrInfo() { Addr = 0x1807, AlarmCode = 713 };
public static AddrInfo DISPENSER_ELECTRONIC_SCALE_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x1900, AlarmCode = 714 };
public static AddrInfo DISPENSER_ELECTRONIC_SCALE_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x1901, AlarmCode = 715 };
public static AddrInfo DISPENSER_ELECTRONIC_SCALE_CYLINDER_FORWARD { get; private set; } = new AddrInfo() { Addr = 0x1902, AlarmCode = 716 };
public static AddrInfo DISPENSER_ELECTRONIC_SCALE_CYLINDER_BACKWARD { get; private set; } = new AddrInfo() { Addr = 0x1903, AlarmCode = 717 };
public static AddrInfo FLEX_TILT_SHUTTLE_1ST_PRE_BENDING_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x1904, AlarmCode = 718 };
public static AddrInfo FLEX_TILT_SHUTTLE_1ST_PRE_BENDING_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x1905, AlarmCode = 719 };
public static AddrInfo FLEX_TILT_SHUTTLE_2ST_PRE_BENDING_CYLINDER_UP { get; private set; } = new AddrInfo() { Addr = 0x1906, AlarmCode = 720 };
public static AddrInfo FLEX_TILT_SHUTTLE_2ST_PRE_BENDING_CYLINDER_DOWN { get; private set; } = new AddrInfo() { Addr = 0x1907, AlarmCode = 721 };
#endregion
}
public class IOPair
{
private static IOPair _instance = null;
public static IOPair GetInstance()
{
if (_instance == null) {
_instance = new IOPair();
}
return _instance;
}
private readonly Dictionary<int, List<int>> _dictIOPair = new Dictionary<int, List<int>>() { // output addr, input addrList
// Dispenser
{ DOUT.DISPENSER_NEEDLE_CLEANER_CYLINDER_OPEN.Addr, new List<int>() { DIN.DISPENSER_NEEDLE_CLEANER_CYLINDER_OPEN_SENSOR.Addr } },
{ DOUT.DISPENSER_NEEDLE_CLEANER_CYLINDER_CLOSE.Addr, new List<int>() { DIN.DISPENSER_NEEDLE_CLEANER_CYLINDER_CLOSE_SENSOR.Addr } },
{ DOUT.DISPENSER_UTILITY_MODULE_CYLINDER_UP.Addr, new List<int>(){DIN.DISPENSER_UTILITY_MODULE_CYLINDER_UP_SENSOR.Addr} },
{ DOUT.DISPENSER_UTILITY_MODULE_CYLINDER_DOWN.Addr, new List<int>(){DIN.DISPENSER_UTILITY_MODULE_CYLINDER_DOWN_SENSOR.Addr} },
// Attach
{ DOUT.ATTACH_VCM_TOOL_01_CYLINDER_UP.Addr, new List<int>(){ DIN.ATTACH_VCM_TOOL_01_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.ATTACH_VCM_TOOL_02_CYLINDER_UP.Addr, new List<int>(){ DIN.ATTACH_VCM_TOOL_02_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.ATTACH_VCM_TOOL_03_CYLINDER_UP.Addr, new List<int>(){ DIN.ATTACH_VCM_TOOL_03_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.ATTACH_VCM_TOOL_04_CYLINDER_UP.Addr, new List<int>(){ DIN.ATTACH_VCM_TOOL_04_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.ATTACH_VCM_TOOL_05_CYLINDER_UP.Addr, new List<int>(){ DIN.ATTACH_VCM_TOOL_05_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.ATTACH_VCM_TOOL_06_CYLINDER_UP.Addr, new List<int>(){ DIN.ATTACH_VCM_TOOL_06_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.ATTACH_VCM_TOOL_01_CYLINDER_DOWN.Addr, new List<int>(){ DIN.ATTACH_VCM_TOOL_01_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.ATTACH_VCM_TOOL_02_CYLINDER_DOWN.Addr, new List<int>(){ DIN.ATTACH_VCM_TOOL_02_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.ATTACH_VCM_TOOL_03_CYLINDER_DOWN.Addr, new List<int>(){ DIN.ATTACH_VCM_TOOL_03_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.ATTACH_VCM_TOOL_04_CYLINDER_DOWN.Addr, new List<int>(){ DIN.ATTACH_VCM_TOOL_04_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.ATTACH_VCM_TOOL_05_CYLINDER_DOWN.Addr, new List<int>(){ DIN.ATTACH_VCM_TOOL_05_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.ATTACH_VCM_TOOL_06_CYLINDER_DOWN.Addr, new List<int>(){ DIN.ATTACH_VCM_TOOL_06_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.Y_ATTACH_VCM_TOOL_03_CYLINDER_FORWARD.Addr, new List<int>(){ DIN.X_ATTACH_VCM_TOOL_03_CYLINDER_FORWARD_SENSOR.Addr } },
{ DOUT.Y_ATTACH_VCM_TOOL_03_CYLINDER_BACKWARD.Addr, new List<int>(){ DIN.X_ATTACH_VCM_TOOL_03_CYLINDER_BACKWARD_SENSOR.Addr } },
{ DOUT.ATTACH_VCM_TOOL_05_CYLINDER_FORWARD.Addr, new List<int>(){ DIN.ATTACH_VCM_TOOL_05_CYLINDER_FORWARD_SENSOR.Addr } },
{ DOUT.ATTACH_VCM_TOOL_05_CYLINDER_BACKWARD.Addr, new List<int>(){ DIN.ATTACH_VCM_TOOL_05_CYLINDER_BACKWARD_SENSOR.Addr } },
{ DOUT.ATTACH_BASE_CYLINDER_LOCK.Addr, new List<int>(){ DIN.ATTACH_BASE_CYLINDER_LOCK_SENSOR.Addr } },
{ DOUT.ATTACH_COIL_ALIGNER_PICKER_CYLINDER_OPEN.Addr, new List<int>(){ DIN.ATTACH_COIL_ALIGNER_PICKER_CYLINDER_OPEN_SENSOR.Addr } },
{ DOUT.ATTACH_COIL_ALIGNER_PICKER_CYLINDER_CLOSE.Addr, new List<int>(){ DIN.ATTACH_COIL_ALIGNER_PICKER_CYLINDER_CLOSE_SENSOR.Addr } },
{ DOUT.ATTACH_COIL_ALIGNER_PICKER_CYLINDER_UP.Addr, new List<int>(){ DIN.ATTACH_COIL_ALIGNER_PICKER_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.ATTACH_COIL_ALIGNER_PICKER_CYLINDER_DOWN.Addr, new List<int>(){ DIN.ATTACH_COIL_ALIGNER_PICKER_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.ATTACH_FLEX_ALIGN_GRIPPER_CYLINDER_OPEN.Addr, new List<int>(){ DIN.ATTACH_FLEX_ALIGN_GRIPPER_CYLINDER_OPEN_SENSOR.Addr } },
{ DOUT.ATTACH_FLEX_ALIGN_GRIPPER_CYLINDER_CLOSE.Addr, new List<int>(){ DIN.ATTACH_FLEX_ALIGN_GRIPPER_CYLINDER_CLOSE_SENSOR.Addr } },
{ DOUT.ATTACH_SECOND_GRIPPER_CYLINDER_OPEN.Addr, new List<int>(){ DIN.ATTACH_SECOND_GRIPPER_CYLINDER_OPEN_SENSOR.Addr } },
{ DOUT.ATTACH_SECOND_GRIPPER_CYLINDER_CLOSE.Addr, new List<int>(){ DIN.ATTACH_SECOND_GRIPPER_CYLINDER_CLOSE_SENSOR.Addr } },
{ DOUT.ATTACH_SECOND_GRIPPER_CYLINDER_UP.Addr, new List<int>(){ DIN.ATTACH_SECOND_GRIPPER_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.ATTACH_SECOND_GRIPPER_CYLINDER_DOWN.Addr, new List<int>(){ DIN.ATTACH_SECOND_GRIPPER_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.ATTACH_SECOND_GRIPPER_CYLINDER_FORWARE.Addr, new List<int>(){ DIN.ATTACH_SECOND_GRIPPER_CYLINDER_FORWARE_SENSOR.Addr } },
{ DOUT.ATTACH_SECOND_GRIPPER_CYLINDER_BACKWARE.Addr, new List<int>(){ DIN.ATTACH_SECOND_GRIPPER_CYLINDER_BACKWARE_SENSOR.Addr } },
// Dispenser Base Transfer
{ DOUT.BASE_HND_PICKER_MAIN_VACUUM_ON.Addr, new List<int>(){ DIN.BASE_HND_PICKER_MAIN_VACUUM_ON_SENSOR.Addr } },
{ DOUT.BASE_HND_PICKER_SUB_VACUUM_ON.Addr, new List<int>(){ DIN.BASE_HND_PICKER_SUB_VACUUM_ON_SENSOR.Addr } },
// Wrapping Base Transfer
{ DOUT.WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_UP.Addr, new List<int>(){ DIN.WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_DOWN.Addr, new List<int>(){ DIN.WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.WRAPPING_BASE_TRANS_RIGHT_PICKER_CYLINDER_UP.Addr, new List<int>(){ DIN.WRAPPING_BASE_TRANS_RIGHT_PICKER_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.WRAPPING_BASE_TRANS_RIGHT_PICKER_CYLINDER_DOWN.Addr, new List<int>(){ DIN.WRAPPING_BASE_TRANS_RIGHT_PICKER_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_CLAMP.Addr, new List<int>(){ DIN.WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_CLAMP_SENSOR.Addr } },
{ DOUT.WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_UNCLAMP.Addr, new List<int>(){ DIN.WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_UNCLAMP_SENSOR.Addr } },
{ DOUT.WRAPPING_BASE_TRANS_RIGHT_PICKER_CYLINDER_CLAMP.Addr, new List<int>(){ DIN.WRAPPING_BASE_TRANS_RIGHT_PICKER_CYLINDER_CLAMP_SENSOR.Addr } },
{ DOUT.WRAPPING_BASE_TRANS_RIGHT_PICKER_CYLINDER_UNCLAMP.Addr, new List<int>(){ DIN.WRAPPING_BASE_TRANS_RIGHT_PICKER_CYLINDER_UNCLAMP_SENSOR.Addr } },
{ DOUT.WRAPPING_BASE_TRANS_LEFT_PICKER_PIN_CYLINDER_DOWN.Addr, new List<int>(){ DIN.WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_PIN_DOWN_SENSOR.Addr } },
{ DOUT.WRAPPING_BASE_TRANS_LEFT_PICKER_PIN_CYLINDER_UP.Addr, new List<int>(){ DIN.WRAPPING_BASE_TRANS_LEFT_PICKER_CYLINDER_PIN_UP_SENSOR.Addr } },
//{ DOUT.WRAPPING_BASE_TRANS_LEFT_PICKER_MAIN_VACUUM_ON.Addr, new List<int>() { DIN.WRAPPING_BASE_TRANS_LEFT_PICKER_MAIN_VACUUM_ON_SENSOR.Addr } },
//{ DOUT.WRAPPING_BASE_TRANS_LEFT_PICKER_SUB_VACUUM_ON.Addr, new List<int>() { DIN.WRAPPING_BASE_TRANS_LEFT_PICKER_SUB_VACUUM_ON_SENSOR.Addr } },
//{ DOUT.WRAPPING_BASE_TRANS_RIGHT_PICKER_MAIN_VACUUM_ON.Addr, new List<int>() { DIN.WRAPPING_BASE_TRANS_RIGHT_PICKER_MAIN_VACUUM_ON_SENSOR.Addr } },
//{ DOUT.WRAPPING_BASE_TRANS_RIGHT_PICKER_SUB_VACUUM_ON.Addr, new List<int>() { DIN.WRAPPING_BASE_TRANS_RIGHT_PICKER_SUB_VACUUM_ON_SENSOR.Addr } },
{ DOUT.WRAPPING_BASE_TRANS_RIGHT_PICKER_PIN_CYLINDER_UP.Addr, new List<int>() { DIN.WRAPPING_BASE_TRANS_RIGHT_PICKER_PIN_UP_SENSOR.Addr } },
{ DOUT.WRAPPING_BASE_TRANS_RIGHT_PICKER_PIN_CYLINDER_DOWN.Addr, new List<int>() { DIN.WRAPPING_BASE_TRANS_RIGHT_PICKER_PIN_DOWN_SENSOR.Addr } },
{ DOUT.BASE_FRAME_BUFFER_SHUTTLE_RIGHT_VACUUM_ON.Addr, new List<int>() { DIN.BASE_FRAME_BUFFER_SAHUTTLE_RIGHT_VACUUM_ON_SENSOR.Addr } },
{ DOUT.BASE_FRAME_BUFFER_SHUTTLE_LEFT_VACUUM_ON.Addr, new List<int>() { DIN.BASE_FRAME_BUFFER_SAHUTTLE_LEFT_VACUUM_ON_SENSOR.Addr } },
// Flex Transfer
{ DOUT.FLEX_TRANS_PRE_BENDING_FLEX_PUSH_CYLINDER_UP.Addr, new List<int>(){ DIN.FLEX_TRANS_PRE_BENDING_FLEX_PUSH_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.FLEX_TRANS_PRE_BENDING_FLEX_PUSH_CYLINDER_DOWN.Addr, new List<int>(){ DIN.FLEX_TRANS_PRE_BENDING_FLEX_PUSH_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.FLEX_HND_PICKER_VACUUM_ON.Addr, new List<int>(){ DIN.FLEX_HND_PICKER_VACUUM_ON_SENSOR.Addr } },
// Flex Tilt Shuttle
{ DOUT.FLEX_TILT_SHUTTLE_1ST_PRE_BENDING_CYLINDER_UP.Addr, new List<int>(){ DIN.FLEX_TILT_SHUTTLE_1ST_PRE_BENDING_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.FLEX_TILT_SHUTTLE_1ST_PRE_BENDING_CYLINDER_DOWN.Addr, new List<int>(){ DIN.FLEX_TILT_SHUTTLE_1ST_PRE_BENDING_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.FLEX_TILT_SHUTTLE_2ST_PRE_BENDING_CYLINDER_UP.Addr, new List<int>(){ DIN.FLEX_TILT_SHUTTLE_2ST_PRE_BENDING_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.FLEX_TILT_SHUTTLE_2ST_PRE_BENDING_CYLINDER_DOWN.Addr, new List<int>(){ DIN.FLEX_TILT_SHUTTLE_2ST_PRE_BENDING_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.FLEX_SHUTTLE_STAGE_VACUUM_ON.Addr, new List<int>() { DIN.FLEX_SHUTTLE_STAGE_VACUUM_ON_SENSOR.Addr } },
// Flex Base Frame Inspection Shuttle
{ DOUT.FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_CYLINDER_UP.Addr, new List<int>(){ DIN.FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_CYLINDER_DOWN.Addr, new List<int>(){ DIN.FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_MAIN_VACUUM_ON.Addr, new List<int>(){ DIN.FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_MAIN_VACUUM_ON_SENSOR.Addr } },
{ DOUT.FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_SUB_VACUUM_ON.Addr, new List<int>(){ DIN.FLEX_BASE_FRAME_INSP_SHUTTLE_TURN_PICKER_SUB_VACUUM_ON_SENSOR.Addr } },
// Magazine Carrier
{ DOUT.FLEX_CARRIER_HND_CYLINDER_CLAMP.Addr, new List<int>(){ DIN.FLEX_CARRIER_HND_CYLINDER_CLAMP_SENSOR.Addr } },
{ DOUT.FLEX_CARRIER_HND_CYLINDER_UNCLAMP.Addr, new List<int>(){ DIN.FLEX_CARRIER_HND_CYLINDER_UNCLAMP_SENSOR.Addr } },
{ DOUT.FLEX_CARRIER_WORK_ZONE_UPHOLD_CYLINDER_FORWARD.Addr, new List<int>(){ DIN.FLEX_CARRIER_WORK_ZONE_UPHOLD_CYLINDER_LEFT_FORWARD_SENSOR.Addr } },
{ DOUT.FLEX_CARRIER_WORK_ZONE_UPHOLD_CYLINDER_BACKWARD.Addr, new List<int>(){ DIN.FLEX_CARRIER_WORK_ZONE_UPHOLD_CYLINDER_RIGHT_FORWARD_SENSOR.Addr } },
{ DOUT.FLEX_CARRIER_WORK_ZONE_UPHOLD_CARRIER_ALIGNER_CYLINDER_FORWARD.Addr, new List<int>(){ DIN.FLEX_CARRIER_WORK_ZONE_UPHOLD_CARRIER_ALIGNER_CYLINDER_LEFT_FORWARD_SENSOR.Addr } },
{ DOUT.FLEX_CARRIER_WORK_ZONE_UPHOLD_CARRIER_ALIGNER_CYLINDER_BACKWARD.Addr, new List<int>(){ DIN.FLEX_CARRIER_WORK_ZONE_UPHOLD_CARRIER_ALIGNER_CYLINDER_RIGHT_FORWARD_SENSOR.Addr } },
{ DOUT.FLEX_CARRIER_WORK_ZONE_RFID_CYLINDER_FORWARD.Addr, new List<int>(){ DIN.FLEX_CARRIER_WORK_ZONE_RFID_CYLINDER_FORWARD_SENSOR.Addr } },
{ DOUT.FLEX_CARRIER_WORK_ZONE_RFID_CYLINDER_BACKWARD.Addr, new List<int>(){ DIN.FLEX_CARRIER_WORK_ZONE_RFID_CYLINDER_BACKWARD_SENSOR.Addr } },
{ DOUT.MAGAZINE_WORK_POSITION_MOVING_CYLINDER_LEFT.Addr, new List<int>(){ DIN.MAGAZINE_WORK_POSITION_MOVING_CYLINDER_LEFT_SENSOR.Addr } },
{ DOUT.MAGAZINE_WORK_POSITION_MOVING_CYLINDER_RIGHT.Addr, new List<int>(){ DIN.MAGAZINE_WORK_POSITION_MOVING_CYLINDER_RIGHT_SENSOR.Addr } },
{ DOUT.MAGAZINE_WORK_POSITION_CLAMP_CYLINDER_UP.Addr, new List<int>(){ DIN.MAGAZINE_WORK_POSITION_CLAMP_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.MAGAZINE_WORK_POSITION_CLAMP_CYLINDER_DOWN.Addr, new List<int>(){ DIN.MAGAZINE_WORK_POSITION_CLAMP_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_UP.Addr, new List<int>(){ DIN.MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_DOWN.Addr, new List<int>(){ DIN.MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_FORWARD.Addr, new List<int>(){ DIN.MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_FORWARD_SENSOR.Addr } },
{ DOUT.MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_BACKWARD.Addr, new List<int>(){ DIN.MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_BACKWARD_SENSOR.Addr } },
{ DOUT.MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_TURN_OPEN.Addr, new List<int>(){ DIN.MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_TURN_OPEN_SENSOR.Addr } },
{ DOUT.MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_TURN_CLOSE.Addr, new List<int>(){ DIN.MAGAZINE_WORK_POSITION_SIDE_CARRIER_LOCKING_CYLINDER_TURN_CLOSE_SENSOR.Addr } },
{ DOUT.MAGAZINE_LEFT_SLIDE_DOOR_CYLINDER_LOCK.Addr, new List<int>(){ DIN.MAGAZINE_LEFT_SLIDE_DOOR_CYLINDER_LOCK_SENSOR.Addr } },
{ DOUT.MAGAZINE_LEFT_SLIDE_DOOR_CYLINDER_UNLOCK.Addr, new List<int>(){ DIN.MAGAZINE_LEFT_SLIDE_DOOR_CYLINDER_UNLOCK_SENSOR.Addr } },
{ DOUT.MAGAZINE_RIGHT_SLIDE_DOOR_CYLINDER_LOCK.Addr, new List<int>(){ DIN.MAGAZINE_RIGHT_SLIDE_DOOR_CYLINDER_LOCK_SENSOR.Addr } },
{ DOUT.MAGAZINE_RIGHT_SLIDE_DOOR_CYLINDER_UNLOCK.Addr, new List<int>(){ DIN.MAGAZINE_RIGHT_SLIDE_DOOR_CYLINDER_UNLOCK_SENSOR.Addr } },
// Conveyor
{ DOUT.CONVEYOR_BASE_CARRIER_LEFT_POPUP_CYLINDER_UP.Addr, new List<int>(){ DIN.CONVEYOR_BASE_CARRIER_LEFT_POPUP_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.CONVEYOR_BASE_CARRIER_LEFT_POPUP_CYLINDER_DOWN.Addr, new List<int>(){ DIN.CONVEYOR_BASE_CARRIER_LEFT_POPUP_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.CONVEYOR_BASE_CARRIER_LEFT_STOPPER_CYLINDER_UP.Addr, new List<int>(){ DIN.CONVEYOR_BASE_CARRIER_LEFT_STOPPER_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.CONVEYOR_BASE_CARRIER_LEFT_STOPPER_CYLINDER_DOWN.Addr, new List<int>(){ DIN.CONVEYOR_BASE_CARRIER_LEFT_STOPPER_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.CONVEYOR_BASE_CARRIER_RIGHT_POPUP_CYLINDER_UP.Addr, new List<int>(){ DIN.CONVEYOR_BASE_CARRIER_RIGHT_POPUP_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.CONVEYOR_BASE_CARRIER_RIGHT_POPUP_CYLINDER_DOWN.Addr, new List<int>(){ DIN.CONVEYOR_BASE_CARRIER_RIGHT_POPUP_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.CONVEYOR_BASE_CARRIER_RIGHT_STOPPER_CYLINDER_UP.Addr, new List<int>(){ DIN.CONVEYOR_BASE_CARRIER_RIGHT_STOPPER_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.CONVEYOR_BASE_CARRIER_RIGHT_STOPPER_CYLINDER_DOWN.Addr, new List<int>(){ DIN.CONVEYOR_BASE_CARRIER_RIGHT_STOPPER_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.CONVEYOR_BASE_CARRIER_SEND_OUT_PUSHER_CYLINDER_UP.Addr, new List<int>(){ DIN.CONVEYOR_BASE_CARRIER_SEND_OUT_PUSHER_CYLINDER_UP_SENSOR.Addr } },
{ DOUT.CONVEYOR_BASE_CARRIER_SEND_OUT_PUSHER_CYLINDER_DOWN.Addr, new List<int>(){ DIN.CONVEYOR_BASE_CARRIER_SEND_OUT_PUSHER_CYLINDER_DOWN_SENSOR.Addr } },
{ DOUT.CONVEYOR_BASE_CARRIER_SEND_OUT_PUSHER_CYLINDER_FORWARD.Addr, new List<int>(){ DIN.CONVEYOR_BASE_CARRIER_SEND_OUT_PUSHER_CYLINDER_FORWARD_SENSOR.Addr } },
{ DOUT.CONVEYOR_BASE_CARRIER_SEND_OUT_PUSHER_CYLINDER_BACKWARD.Addr, new List<int>(){ DIN.CONVEYOR_BASE_CARRIER_SEND_OUT_PUSHER_CYLINDER_BACKWARD_SENSOR.Addr } },
{ DOUT.ATTACH_COIL_ALIGNER_PICKER_VACUUM_ON.Addr, new List<int>() { DIN.ATTACH_COIL_ALIGNER_PICKER_VACUUM_ON_SENSOR.Addr } },
//
};
/// <summary>
///
/// </summary>
/// <param name="outAddr"></param>
/// <returns>result is empty list if not found</returns>
public List<int> GetInAddr(int outAddr)
{
return _dictIOPair.ContainsKey(outAddr) ? _dictIOPair[outAddr] : new List<int>();
}
}
}