MoS2/Framework/MECF.Framework.RT.EquipmentLibrary/PmDevices/DicMode.cs
2026-06-15 10:56:30 +08:00

146 lines
4.1 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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>
/// 对于PSUL2自动控温L1、L3功率控制输出功率按比例跟随L2
/// 对于SCRL3自动控温L1、L2功率控制输出功率按比例跟随L2
/// </summary>
[Display(Name = "Follow")]
PyroFollow,
/// <summary>
/// L2、L3自动控温L1功率控制输出功率按比例跟随L1
/// </summary>
[Display(Name = "Auto")]
PyroAuto
}
/// <summary>
/// 加热控制单元。
/// <para>
/// TC1即PSUTC2即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;
}
}
}