113 lines
4.0 KiB
C#
113 lines
4.0 KiB
C#
using Aurora.Api;
|
|
using Aurora.Api.Devices;
|
|
using PropertyTools.DataAnnotations;
|
|
|
|
namespace AuroraLaser
|
|
{
|
|
public class LaserConfig : IDeviceConfig
|
|
{
|
|
protected Logger Log = new Logger("Laser");
|
|
[DisplayName("Simulation Mode (this device)")]
|
|
public bool IsSimul { get; set; } = false;
|
|
public IConnConfig ConnConfig { get; set; }
|
|
|
|
[VisibleBy("SocketConfig", false)]
|
|
public SocketConnConfig SocketConfig { get; set; }
|
|
[VisibleBy("SerialConfig", false)]
|
|
public SerialConnConfig SerialConfig { get; set; }
|
|
|
|
public eLaserType Type { get; set; }
|
|
|
|
|
|
|
|
public LaserConfig()
|
|
{
|
|
SocketConfig = new SocketConnConfig();
|
|
SerialConfig = new SerialConnConfig();
|
|
|
|
// 초기값을 넣을것인지 setting 에서 받아올것인지는 테스트해서 결정하자.
|
|
switch (Type) {
|
|
case eLaserType.ArmLaser: // UDP
|
|
ConnConfig = SocketConfig;
|
|
//ConnConfig = new SocketConnConfig();
|
|
//var config = ConnConfig as SocketConnConfig;
|
|
//config.Address = new SocketAddress()
|
|
//{
|
|
// IpAddress = "10.10.16.80",
|
|
// PortNumber = 5022
|
|
//};
|
|
//config.Protocol = SocketProtocol.UDP;
|
|
//config.ResponseTimeMS = 1000;
|
|
break;
|
|
case eLaserType.TrueDiskLaser: // TCPIP
|
|
ConnConfig = SocketConfig;
|
|
|
|
break;
|
|
case eLaserType.CoherentHyperRapidLaser:
|
|
ConnConfig = SerialConfig;
|
|
//ConnConfig = new SerialConnConfig()
|
|
//{
|
|
// BaudRate = 19200,
|
|
// DataBits = 8,
|
|
// StopBits = StopBits.One,
|
|
// Parity = Parity.None,
|
|
// PortNum = 1,
|
|
// NewLine = "\r\n"
|
|
//};
|
|
break;
|
|
case eLaserType.LaserRapidLX:
|
|
ConnConfig = SocketConfig;
|
|
break;
|
|
case eLaserType.NL202:
|
|
ConnConfig = SerialConfig;
|
|
break;
|
|
case eLaserType.IPG_YLPN:
|
|
ConnConfig = SerialConfig;
|
|
//ConnConfig = new SerialConnConfig()
|
|
//{
|
|
// PortNum = 1,
|
|
// BaudRate = 57600,
|
|
// Parity = Parity.None,
|
|
// StopBits = StopBits.One,
|
|
// DataBits = 8,
|
|
// ReadTimeout = 1000,
|
|
//};
|
|
break;
|
|
case eLaserType.IPG_YLS:
|
|
ConnConfig = SocketConfig;
|
|
break;
|
|
default:
|
|
Log.E(string.Format("Check Laser Type Setting"));
|
|
ConnConfig = SerialConfig;
|
|
//ConnConfig = new SerialConnConfig()
|
|
//{
|
|
// PortNum = 8,
|
|
// BaudRate = 9600,
|
|
// Parity = System.IO.Ports.Parity.Odd,
|
|
// StopBits = System.IO.Ports.StopBits.One,
|
|
// DataBits = 8,
|
|
// NewLine = "\n",
|
|
// ReadRetryCount = 5
|
|
//};
|
|
break;
|
|
}
|
|
}
|
|
|
|
// Laser Config 에 추가할 property 는 아래에 추가
|
|
// [Category("TitleName")] 의 양식으로 묶을것
|
|
//
|
|
|
|
public PowerProfileParam powerProfileParam { get; set; } = new PowerProfileParam();
|
|
|
|
[Category("Trumpf_IO")]
|
|
public string Program_No { get; set; } = "1";
|
|
|
|
[Category("TruFiber")]
|
|
public eTruFiberType TruFiberType { get; set; }
|
|
|
|
[Category("Trumpf_OPC")]
|
|
public string Opcua_Slot_No { get; set; } = "1";
|
|
|
|
}
|
|
}
|