146 lines
4.1 KiB
C#
146 lines
4.1 KiB
C#
|
|
using System;
|
|||
|
|
using System.ComponentModel.DataAnnotations;
|
|||
|
|
|
|||
|
|
namespace Aitex.Core.RT.Device.PmDevices
|
|||
|
|
{
|
|||
|
|
public enum FlowMode
|
|||
|
|
{
|
|||
|
|
Purge,
|
|||
|
|
Vent,
|
|||
|
|
Run,
|
|||
|
|
Close,
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public enum ArH2Switch
|
|||
|
|
{
|
|||
|
|
Ar,
|
|||
|
|
H2,
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 2704每通道工作模式
|
|||
|
|
/// </summary>
|
|||
|
|
public enum TCModes
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 自动模式
|
|||
|
|
/// </summary>
|
|||
|
|
Auto,
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 手动模式
|
|||
|
|
/// </summary>
|
|||
|
|
Manual
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 温度控制策略。
|
|||
|
|
/// </summary>
|
|||
|
|
public enum HeatStrategy
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 功率控制
|
|||
|
|
/// </summary>
|
|||
|
|
[Display(Name = "Power")]
|
|||
|
|
Power,
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 对于PSU:L2自动控温;L1、L3功率控制,输出功率按比例跟随L2
|
|||
|
|
/// 对于SCR:L3自动控温;L1、L2功率控制,输出功率按比例跟随L2
|
|||
|
|
/// </summary>
|
|||
|
|
[Display(Name = "Follow")]
|
|||
|
|
PyroFollow,
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// L2、L3自动控温;L1功率控制,输出功率按比例跟随L1
|
|||
|
|
/// </summary>
|
|||
|
|
[Display(Name = "Auto")]
|
|||
|
|
PyroAuto
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 加热控制单元。
|
|||
|
|
/// <para>
|
|||
|
|
/// TC1即PSU;TC2即SCR
|
|||
|
|
/// </para>
|
|||
|
|
/// </summary>
|
|||
|
|
public enum TCUnits
|
|||
|
|
{
|
|||
|
|
PSU,
|
|||
|
|
SCR,
|
|||
|
|
TC1, // PSU
|
|||
|
|
TC2 // SCR
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
public class DicMode
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 检查指定名称的设备是否为PSU。
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="name">设备名称</param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static bool IsPSU(string name)
|
|||
|
|
{
|
|||
|
|
return name == TCUnits.PSU.ToString() || name == TCUnits.TC1.ToString();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 检查类型为<see cref="TCUnits"/>的设备是否为PSU。
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="tc">设备类型</param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static bool IsPSU(TCUnits tc)
|
|||
|
|
{
|
|||
|
|
return tc is TCUnits.PSU or TCUnits.TC1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 检查指定名称的设备是否为SCR。
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="name">设备名称</param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static bool IsSCR(string name)
|
|||
|
|
{
|
|||
|
|
return name == TCUnits.SCR.ToString() || name == TCUnits.TC2.ToString();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 检查类型为<see cref="TCUnits"/>的设备是否为SCR。
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="tc">设备类型</param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static bool IsSCR(TCUnits tc)
|
|||
|
|
{
|
|||
|
|
return tc is TCUnits.SCR or TCUnits.TC2;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 将指定的数字转换为<see cref="TCModes"/>枚举。
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="mode"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static TCModes ConvertToTcModes(int mode)
|
|||
|
|
{
|
|||
|
|
if (Enum.IsDefined(typeof(TCModes), mode))
|
|||
|
|
return (TCModes)mode;
|
|||
|
|
|
|||
|
|
return TCModes.Manual;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 将指定的数字转换为<see cref="HeatStrategy"/>枚举。
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="mode"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static HeatStrategy ConvertToHeatStrategy(int mode)
|
|||
|
|
{
|
|||
|
|
var strategy = HeatStrategy.Power;
|
|||
|
|
if (Enum.IsDefined(typeof(HeatStrategy), mode))
|
|||
|
|
strategy = (HeatStrategy)mode;
|
|||
|
|
|
|||
|
|
return strategy;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|