2026-06-05 13:44:39 +09:00

261 lines
6.5 KiB
C#

using AuroraPLC;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ILSOS_PrismaticScanner.Device
{
partial class PLCControllerPrismaticScanner
{
// 최신화 된 메모리 맵 정보
public enum eBitInput : int
{
PLC_LIVE_STATUS = 0X00,
PLC_AUTO_STATUS,
PLC_AUTO_REQ,
PLC_MANUAL_REQ,
PLC_LIGHT_ALARM_STATUS,
PLC_HEAVY_ALARM_STATUS,
PLC_DOOR_INTERLOCK,
PLC_EMO_STATUS,
PLC_PAGE_CHANGE_REQ,
PLC_RMS_USED,
EMPTY_10,
EMPTY_11,
EMPTY_12,
EMPTY_13,
EMPTY_14,
EMPTY_15,
PLC_WELD_READY_REQ,
PLC_WELD_WAIT,
PLC_WELD_COMPLETE_ACK,
EMPTY_19,
EMPTY_20, // ng(vision Compensation fail) 발생 시 살림
EMPTY_21,
EMPTY_22,
EMPTY_23,
EMPTY_24,
EMPTY_25,
EMPTY_26,
EMPTY_27,
EMPTY_28,
EMPTY_29,
PLC_ALARM_RESET,
EMPTY_31,
EMPTY_32,
EMPTY_33,
EMPTY_34,
EMPTY_35,
EMPTY_36,
PLC_RMS_PARAMETER_READ_REQUEST,
EMPTY_38,
EMPTY_39,
EMPTY_40,
EMPTY_99
}
public enum eBitOutput : int
{
PC_LIVE_STATUS = 0X00,
PC_AUTO_STATUS,
PC_AUTO_COMPLETE,
PC_MANUAL_COMPLETE,
PC_LIGHT_ALARM_STATUS,
PC_HEAVY_ALARM_STATUS,
EMPTY_06,
EMPTY_07,
PC_PAGE_CHANGE_COMPLETE,
EMPTY_09,
EMPTY_10,
EMPTY_11,
EMPTY_12,
EMPTY_13,
EMPTY_14,
EMPTY_15,
PC_WELD_READY_ACK,
PC_WELD_BUSY,
PC_WELD_COMPLETE,
EMPTY_19,
PC_WELD_NG_JUDGE, // NG = 1 G = 0
EMPTY_21,
EMPTY_22,
EMPTY_23,
EMPTY_24,
EMPTY_25,
EMPTY_26,
EMPTY_27,
EMPTY_28,
EMPTY_29,
EMPTY_30,
EMPTY_31,
EMPTY_32,
EMPTY_33,
EMPTY_34,
EMPTY_35,
EMPTY_36,
PC_RMS_PARAMETER_READ_REQUEST_ACK,
EMPTY_38,
EMPTY_39,
EMPTY_40,
}
public enum eWordInput : int
{
PLC_ERROR_CODE = 0X00,
PLC_PAGE_NO,
PLC_STEP_NO,
PLC_CURRENT_SLOT_NO, // EL / CLEAN 사용
EMPTY_04,
EMPTY_05,
EMPTY_06,
EMPTY_07,
EMPTY_08,
EMPTY_09,
EMPTY_10,
EMPTY_11,
EMPTY_12,
EMPTY_13,
EMPTY_14,
EMPTY_15,
EMPTY_16,
EMPTY_17,
EMPTY_18,
EMPTY_19,
PLC_CELL_ID_01,
PLC_CELL_ID_02,
PLC_CELL_ID_03,
PLC_CELL_ID_04,
PLC_CELL_ID_05,
PLC_CELL_ID_06,
PLC_CELL_ID_07,
PLC_CELL_ID_08,
PLC_CELL_ID_09,
PLC_CELL_ID_10,
PLC_LOT_ID_01,
PLC_LOT_ID_02,
PLC_LOT_ID_03,
PLC_LOT_ID_04,
PLC_LOT_ID_05,
PLC_LOT_ID_06,
PLC_LOT_ID_07,
PLC_LOT_ID_08,
EMPTY_38,
EMPTY_39,
EMPTY_40,
EMPTY_41,
EMPTY_42,
EMPTY_43,
EMPTY_44,
EMPTY_45,
EMPTY_46,
EMPTY_47,
EMPTY_48,
EMPTY_49,
EMPTY_50,
EMPTY_51,
EMPTY_52,
EMPTY_53,
EMPTY_54,
EMPTY_55,
EMPTY_56,
EMPTY_57,
EMPTY_58,
EMPTY_59,
PC_RMS_ALLOC_START,
PC_RMS_ALLOC_END = 97,
EMPTY_98,
EMPTY_99,
}
public enum eWordOutput : int
{
PC_ERROR_CODE = 0X00,
PC_PAGE_NO,
EMPTY_02,
EMPTY_03,
EMPTY_04,
EMPTY_05,
EMPTY_06,
EMPTY_07,
PC_WELD_OFFSET_X,
EMPTY_09,
PC_WELD_OFFSET_Y,
EMPTY_11,
PC_DISPLACEMENT1_MEASUREMENT,
EMPTY_13,
PC_DISPLACEMENT2_MEASUREMENT = 0X0E,
EMPTY_15,
EMPTY_16,
EMPTY_17,
EMPTY_18,
EMPTY_19,
PC_CELL_ID_01,
PC_CELL_ID_02,
PC_CELL_ID_03,
PC_CELL_ID_04,
PC_CELL_ID_05,
PC_CELL_ID_06,
PC_CELL_ID_07,
PC_CELL_ID_08,
PC_CELL_ID_09,
PC_CELL_ID_10,
PC_LOT_ID_01,
PC_LOT_ID_02,
PC_LOT_ID_03,
PC_LOT_ID_04,
PC_LOT_ID_05,
PC_LOT_ID_06,
PC_LOT_ID_07,
PC_LOT_ID_08,
EMPTY_38,
EMPTY_39,
PC_FDC_PAGE1_POWER,
PC_FDC_PAGE1_VELOCITY,
PC_FDC_PAGE2_POWER,
PC_FDC_PAGE2_VELOCITY,
PC_FDC_PAGE3_POWER,
PC_FDC_PAGE3_VELOCITY,
EMPTY_46,
EMPTY_47,
EMPTY_48,
EMPTY_49,
EMPTY_50,
EMPTY_51,
EMPTY_52,
EMPTY_53,
EMPTY_54,
EMPTY_55,
EMPTY_56,
EMPTY_57,
EMPTY_58,
EMPTY_59,
PC_RMS_ALLOC_START,
PC_RMS_ALLOC_END = 97,
EMPTY_98,
EMPTY_99,
}
internal string CellId()
{
StringBuilder sb = new StringBuilder();
var item = ReadWords(eWordInput.PLC_CELL_ID_01, eWordInput.PLC_CELL_ID_05);
foreach (var word in item.datas)
sb.Append(Conv_ReadData(PLCBase.eDataType.Type_Ascii, word, 0, false, false));
return sb.ToString();
}
internal string LotId()
{
StringBuilder sb = new StringBuilder();
var item = ReadWords(eWordInput.PLC_LOT_ID_01, eWordInput.PLC_LOT_ID_08);
foreach (var word in item.datas)
sb.Append(Conv_ReadData(PLCBase.eDataType.Type_Ascii, word, 0, false, false));
return sb.ToString();
}
}
}