258 lines
12 KiB
C#
258 lines
12 KiB
C#
using System;
|
|
|
|
namespace AuroraLaser
|
|
{
|
|
public interface IExternalShutter
|
|
{
|
|
void SetExternalShutterOpen(int iLaserNo, bool bOpen);
|
|
bool IsExternalShutterOpened(int iLaserNo);
|
|
void SetDispLaser(bool bOn);
|
|
}
|
|
|
|
public interface IExternalLaserShot
|
|
{
|
|
void SetLaserShot(int iLaserNo, bool bLaserShotOn);
|
|
int GetLaserShot(int iLaserNo);
|
|
}
|
|
|
|
#region Enumerator Definitions
|
|
public enum eLaserType
|
|
{
|
|
ArmLaser,
|
|
TrueDiskLaser,
|
|
TruFiber,
|
|
TruPulse,
|
|
CoherentHyperRapidLaser,
|
|
LaserRapidLX,
|
|
NL202,
|
|
IPG_YLPN,
|
|
IPG_YLS,
|
|
Coherent_Arm_IO,
|
|
Trumpf_IO
|
|
}
|
|
public enum eTruFiberType
|
|
{
|
|
TruFiberP,
|
|
TruFiberS,
|
|
CalPercentToMeasuredVoltage,
|
|
None
|
|
}
|
|
|
|
public enum eLaserStatus { STATUS_NONE = 0, STATUS_LASER_ON_STEP, STATUS_LASER_READY, STATUS_LASER_OFF_STEP, STATUS_LASER_OFF, STATUS_LASER_ERROR, STATUS_LASER_INFO_CHANGE };
|
|
|
|
#endregion
|
|
|
|
#region ArmLaser Definetions
|
|
public struct sNodeInfo
|
|
{
|
|
public int nExist;
|
|
public string strNodeName; // Command Name
|
|
public string strDisplayNodeName; // Display Name
|
|
public string strKey; // Matching key, callback
|
|
|
|
public int nNodeType; // 리턴 타입.
|
|
public int IsCallBack; // Max CallBack 10set.
|
|
public int priority; // 통신 우선 순위. 작을수록 우선. 0부터 시작
|
|
|
|
public int nDigit; // 배율. Pulse Power인 경우 1000 곱해야 한다. 이거 그냥 double로 해서 곱하는걸로?
|
|
|
|
public int nKey; // Coherent용 Write 별로 and할 필요가 있다. 1,2,4,8,16~~~
|
|
public int nSettingValue; // Coherent용 Write 할 값(On/Off)
|
|
|
|
// return data.
|
|
public int nRet;
|
|
public long lRet;
|
|
public UInt16 n16Ret;
|
|
public UInt32 n32Ret;
|
|
public UInt64 n64Ret;
|
|
public bool bRet;
|
|
public double dRet;
|
|
public string strRet;
|
|
}
|
|
public class csNodeType
|
|
{
|
|
public const int INT = 0;
|
|
public const int DOUBLE = 1;
|
|
public const int STRING = 2;
|
|
public const int UINT16 = 3;
|
|
public const int UINT32 = 4;
|
|
public const int UINT64 = 5;
|
|
public const int BYTE = 6;
|
|
public const int BOOL = 7;
|
|
}
|
|
|
|
/// TRUMPF TRUSDISK
|
|
public class csReadNodeNo
|
|
{
|
|
public static readonly int EXT_ACTIVATION_ACTIVE = 0;
|
|
public static readonly int LASER_WARNING_LAMP_IS_ON = 1;
|
|
public static readonly int LASER_READY = 2;
|
|
public static readonly int LASER_IS_ON = 3;
|
|
public static readonly int LASER_ASSIGNED = 4;
|
|
public static readonly int PILOT_LASER_IS_ON = 5;
|
|
public static readonly int PROG_COMPLETED = 6;
|
|
public static readonly int FAULT_LASER = 7;
|
|
public static readonly int PROG_ACTIVE = 8;
|
|
public static readonly int PROG_CANCELLED = 9;
|
|
public static readonly int PROGRAM_NO = 10;
|
|
public static readonly int PROGRAM_LINE_NO = 11;
|
|
|
|
public static readonly int LASER_ON_PHASE = 12;
|
|
public static readonly int LIGHTPATH_BLOCKED = 13;
|
|
public static readonly int LLK_OPEN = 14;
|
|
public static readonly int LLR_OFF = 15;
|
|
public static readonly int MAINTENANCE = 16;
|
|
public static readonly int MONITORING = 17;
|
|
public static readonly int POWER_LIMIT = 18;
|
|
public static readonly int AUXILIARYHEATING_ACTIVE = 19;
|
|
public static readonly int FIRMWAREUPDATE_ACTIVE = 20;
|
|
|
|
public static readonly int SIK_OPEN = 21;
|
|
public static readonly int SLEEPMODE_ACTIVE = 22;
|
|
public static readonly int SYNC_OPEN = 23;
|
|
public static readonly int SYS_READY = 24;
|
|
public static readonly int SYS_LASER_ESTOP_OPEN = 25;
|
|
|
|
#region Pulse Data
|
|
public static readonly int PULSE_POWER = 26; // DOUBLE Currently set pulse power PLC 화면상 생산 -> 펄스 데이터 부분의 펄스 출력
|
|
public static readonly int PULSE_POWER_NOMINAL = 27; // DOUBLE Currently measured pulse power 목표값 펄스 출력.
|
|
public static readonly int CW_POWER = 28; // DOUBLE Laser Power
|
|
public static readonly int POWER = 29; // DOUBLE Currently measured laser power
|
|
public static readonly int ENERGEY = 30; // UINT64 Current Energy of the currently active pulse
|
|
public static readonly int FREQUENCY = 31; // DOUBLE Currently set pulse repetition frequency 목표값 펄스 주파수
|
|
public static readonly int FREQUENCY_NOMINAL = 32; // DOUBLE Currently measured pulse repetition frequency 현재값 펄스 주파수
|
|
public static readonly int PULSE_DURATION = 33; // UINT32 Currently set pulse duration 목표값 펄스 기간
|
|
public static readonly int PULSE_DURATION_NOMINAL = 34; // UINT32 Currently measured pulse duration 현재값 펄스 기간
|
|
public static readonly int PULSE_NUMBER = 35; // UINT16 Currently set pulse number 목표값 펄스 수량
|
|
public static readonly int PULSE_NUMBER_NOMINAL = 36; // UINT16 Currently measured pulse number 현재값 펄스 수량
|
|
#endregion
|
|
|
|
#region Cooling
|
|
public static readonly int COOLING_DI_PRESSURE_DIFF = 37;
|
|
public static readonly int COOLING_DI_RETURN_PRESSURE = 38; // Current pressure of the deionized water
|
|
|
|
//CODE.BY.YIS Laser Cool Parameter Log 추가
|
|
public static readonly int COOLING_PRESSURE_OUT_EXT = 39;
|
|
public static readonly int COOLING_PRESSURE_IN_EXT = 40;
|
|
public static readonly int COOLING_TEMP_WATER_IN_EXT = 41;
|
|
public static readonly int COOLING_PWM_X30_MV = 42;
|
|
public static readonly int COOLING_TEMP_TANK_SET_TRACKING = 43;
|
|
public static readonly int COOLING_TEMP_COOLING_WATER = 44;
|
|
public static readonly int COOLING_PRESSURE_PUMP = 45;
|
|
public static readonly int COOLING_FC_MAX_FREQUENCY = 46;
|
|
public static readonly int COOLING_FC_FREQUENCY_PUMP = 47;
|
|
|
|
public static readonly int COLLING_TEMP_X80 = 48;
|
|
public static readonly int COLLING_PRES_X90 = 49;
|
|
public static readonly int COLLING_SPEED_FAN = 50;
|
|
|
|
#endregion
|
|
|
|
#region TruFiber
|
|
public static readonly int LASER_CONTROL_IS_ON = 51;
|
|
public static readonly int MACHINE_COOLING_READY = 52;
|
|
public static readonly int PROCESS_FAULT = 53;
|
|
public static readonly int PROCESS_MONITORING = 54;
|
|
public static readonly int EMISSION_ON = 55;
|
|
public static readonly int LASER_POWER = 56;
|
|
#endregion
|
|
|
|
#region Output Word
|
|
public static readonly int OW06 = 66;
|
|
public static readonly int OW07 = 67;
|
|
public static readonly int OW08 = 68;
|
|
public static readonly int OW09 = 69;
|
|
public static readonly int OW10 = 70;
|
|
public static readonly int OW11 = 71;
|
|
public static readonly int OW12 = 72;
|
|
public static readonly int OW13 = 73;
|
|
public static readonly int OW14 = 74;
|
|
public static readonly int OW15 = 75;
|
|
#endregion
|
|
|
|
#region
|
|
public static readonly int LASTMESSAGE_TYPE = 90;
|
|
public static readonly int LASTMESSAGE_COMPID = 91;
|
|
public static readonly int LASTMESSAGE_COMPNUM = 92;
|
|
public static readonly int LASTMESSAGE_MSGCODE = 93;
|
|
public static readonly int LASTMESSAGE_SHORTTEXT = 94;
|
|
public static readonly int LASTMESSAGE_TIMESTAMP = 95;
|
|
|
|
|
|
#endregion
|
|
}
|
|
|
|
public class csWriteNodeNo
|
|
{
|
|
public const int EXT_ACTIVATION = 0; // Bool
|
|
public const int LASER_RESET = 1; // Bool
|
|
public const int LASER_ON = 2; // Bool
|
|
public const int PROG_STOP = 3; // Bool
|
|
public const int PSTART_DYN = 4; // Bool
|
|
public const int REQUEST_LASER = 5; // Bool
|
|
public const int PSTART_STATICAL = 6; // Bool
|
|
public const int INQUIRY_1 = 7; // Bool
|
|
public const int INQUIRY_2 = 8; // Bool
|
|
public const int PILOT_LASER_ON = 9; // Bool
|
|
public const int FAULT_EXT = 10; // Bool
|
|
public const int LOCK_OPERATING_PANEL = 11; // Bool
|
|
public const int PROGRAM_NO = 12; // Uint16
|
|
public const int LIGHT_PATH_NO = 13; // Uint16
|
|
public const int IW03 = 14; // Uint16
|
|
public const int IW04 = 15; // Uint16
|
|
public const int IW05 = 16; // Uint16
|
|
public const int IW06 = 17; // Uint16
|
|
public const int IW07 = 18; // Uint16
|
|
public const int IW08 = 19; // Uint16
|
|
public const int IW09 = 20; // Uint16
|
|
public const int IW10 = 21; // Uint16
|
|
public const int IW11 = 22; // Uint16
|
|
public const int IW12 = 23; // Uint16
|
|
public const int IW13 = 24; // Uint16
|
|
public const int IW14 = 25; // Uint16
|
|
public const int IW15 = 26; // Uint16
|
|
public const int IW16 = 27; // Uint16
|
|
public const int IW17 = 28; // Uint16
|
|
public const int IW18 = 29; // Uint16
|
|
public const int IW19 = 30; // Uint16
|
|
public const int IW20 = 31; // Uint16
|
|
}
|
|
|
|
/// COHERENT
|
|
public class csReadCOH
|
|
{
|
|
public const int INIT_COMMUNICATION = 0; // Laser ready for communication. 0=not ready, 1=ready
|
|
public const int EMS_STATUS = 1; // Emission status. 0=off, 1=on
|
|
public const int MAINS_STATUS = 2; // Card Main supply status.start 먹었는지 확인용. start이후 이 값이 1로 변경되어야 사용할 수 있다.
|
|
// public const int SPO = 3; // PSU Output state. 0=off, 1=on. start 이후 이 값이 on되면 레이저 발진 가능. ems로 대체 확인. spo는 0,1,2
|
|
public const int WARNING_STATUS = 3; // Warning Status. 0=no warning, 1=warning in the system.
|
|
public const int ERROR_STATUS = 4; // Error Status. 0=no error, 1=error in the system.
|
|
// public const int FIBER_ERROR_STATUS = 6; // Fiber Error status
|
|
public const int PILOT_LASER_STATE = 5; // Pilot Laser state
|
|
public const int CONTROL_MODE = 6; // Local (1), Remote(2) need Local mode to use pilot laser.
|
|
public const int WATER_FLOW_MAIN = 7; // Water flow state L/m
|
|
public const int WATER_FLOW_MODULE_1 = 8; // Water flow state L/m
|
|
public const int WATER_FLOW_MODULE_2 = 9; // Water flow state L/m
|
|
public const int WATER_TEMP_MAIN = 10; // Water temp 0.1 degree
|
|
public const int WATER_TEMP_MODULE_1 = 11; // Water temp 0.1 degree
|
|
public const int WATER_TEMP_MODULE_2 = 12; // Water temp 0.1 degree
|
|
public const int HUMIDITY_MAIN = 13; // Humidity 0.1%
|
|
public const int HUMIDITY_MODULE_1 = 14; // Humidity 0.1%
|
|
public const int HUMIDITY_MODULE_2 = 15; // Humidity 0.1%
|
|
public const int ERROR_MESSAGE = 16; // Alarm Message.
|
|
public const int LASER_POWER_CENTER = 17; // Laser Power CENTER Analog * ?? (Max 1500)
|
|
public const int LASER_POWER_RING = 18; // Laser Power RING Analog * ?? (Max 2500)
|
|
}
|
|
|
|
public class csWriteCOH
|
|
{
|
|
// return Value OK/ERROR/OK resetting.
|
|
public const int SYSTEM_START = 0; // Bool !start.
|
|
public const int LASER_START = 1; // Bool !spo 1/0
|
|
public const int PILOT_LASER = 2; // Bool !abo 1/0
|
|
public const int LASER_RESET = 3; // Bool !reset
|
|
public const int CONTROL_MODE = 4; // Bool !spm 1(local)/2(remote)
|
|
}
|
|
#endregion
|
|
}
|