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

90 lines
4.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AuroraLaser.Coherent.Arm
{
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;
}
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_TEMP_MAIN = 8; // Water temp 0.1 degree
//public const int HUMIDITY_MAIN = 9; // Humidity 0.1%
public const int ERROR_MESSAGE = 7; // Alarm Message.
public const int LASER_POWER_CENTER = 8; // Laser Power CENTER Analog * ?? (Max 1500)
public const int LASER_POWER_RING = 9; // Laser Power RING Analog * ?? (Max 2500)
public const int SYSTEM_CONTROL_STATUS = 10;
public const int DC_VOLTAGE = 11;
public const int WARNING_MESSAGE = 12;
//public const int LAST_ERROR_LOG = 15;
//public const int FAN_CONTROLLER_FREQUENCY = 16;
//public const int FAN_SPEED = 17;
public const int LASER_START = 13;
public const int MAX = 14;
}
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)
public const int CLEAR_FAULT = 5;
public const int POWER_LEVEL = 6;
public const int POWER_CENTER = 7;
public const int POWER_RING = 8;
public const int MAX = 9;
}
}