Common.cs 5.8 KB

namespace Asa.IOModule
{
    /// <summary>
    /// IO模块寄存器
    /// </summary>
    public class Reg
    {
        /// <summary>
        /// 标识
        /// </summary>
        public int ID;
        /// <summary>
        /// 文本,仅用于显示
        /// </summary>
        public string Text;
        /// <summary>
        /// 寄存器地址
        /// </summary>
        public Box_Addr Address;
        /// <summary>
        /// 当前的状态
        /// </summary>
        public Box_Sta Status;

        /// <summary>
        /// 寄存器,文本空,状态OFF
        /// </summary>
        /// <param name="address">地址</param>
        public Reg(Box_Addr address) : this(0, "", address, Box_Sta.Off)
        {
        }

        /// <summary>
        /// 寄存器,状态OFF
        /// </summary>
        /// <param name="text">文本</param>
        /// <param name="addr">地址</param>
        public Reg(string text, Box_Addr addr) : this(0, text, addr, Box_Sta.Off)
        {
        }

        /// <summary>
        /// 寄存器,状态OFF
        /// </summary>
        /// <param name="id">标志</param>
        /// <param name="text">文本</param>
        /// <param name="addr">地址</param>
        public Reg(int id, string text, Box_Addr addr) : this(id, text, addr, Box_Sta.Off)
        {
        }

        /// <summary>
        /// 寄存器
        /// </summary>
        /// <param name="text">文本</param>
        /// <param name="addr">地址</param>
        /// <param name="status">状态</param>
        public Reg(string text, Box_Addr addr, Box_Sta status) : this(0, text, addr, status)
        {
        }

        /// <summary>
        /// 寄存器
        /// </summary>
        /// <param name="id">标志</param>
        /// <param name="text">文本</param>
        /// <param name="address">地址</param>
        /// <param name="status">状态</param>
        public Reg(int id, string text, Box_Addr address, Box_Sta status)
        {
            ID = id;
            Text = text;
            Address = address;
            Status = status;
        }
    }

    /// <summary>
    /// IO模块寄存器地址
    /// </summary>
    public enum Box_Addr : int
    {
        /// <summary>
        /// 输入点,DI01
        /// </summary>
        DI_1,
        /// <summary>
        /// 输入点,DI02
        /// </summary>
        DI_2,
        /// <summary>
        /// 输入点,DI03
        /// </summary>
        DI_3,
        /// <summary>
        /// 输入点,DI04
        /// </summary>
        DI_4,
        /// <summary>
        /// 输入点,DI05
        /// </summary>
        DI_5,
        /// <summary>
        /// 输入点,DI06
        /// </summary>
        DI_6,
        /// <summary>
        /// 输入点,DI07
        /// </summary>
        DI_7,
        /// <summary>
        /// 输入点,DI08
        /// </summary>
        DI_8,
        /// <summary>
        /// 输入点,DI09
        /// </summary>
        DI_9,
        /// <summary>
        /// 输入点,DI10
        /// </summary>
        DI_10,
        /// <summary>
        /// 输入点,DI11
        /// </summary>
        DI_11,
        /// <summary>
        /// 输入点,DI12
        /// </summary>
        DI_12,
        /// <summary>
        /// 输入点,DI13
        /// </summary>
        DI_13,
        /// <summary>
        /// 输入点,DI14
        /// </summary>
        DI_14,
        /// <summary>
        /// 输入点,DI15
        /// </summary>
        DI_15,
        /// <summary>
        /// 输入点,DI16
        /// </summary>
        DI_16,
        /// <summary>
        /// 输出点,DO01
        /// </summary>
        DO_1,
        /// <summary>
        /// 输出点,DO02
        /// </summary>
        DO_2,
        /// <summary>
        /// 输出点,DO03
        /// </summary>
        DO_3,
        /// <summary>
        /// 输出点,DO04
        /// </summary>
        DO_4,
        /// <summary>
        /// 输出点,DO05
        /// </summary>
        DO_5,
        /// <summary>
        /// 输出点,DO06
        /// </summary>
        DO_6,
        /// <summary>
        /// 输出点,DO07
        /// </summary>
        DO_7,
        /// <summary>
        /// 输出点,DO08
        /// </summary>
        DO_8,
        /// <summary>
        /// 输出点,DO09
        /// </summary>
        DO_9,
        /// <summary>
        /// 输出点,DO10
        /// </summary>
        DO_10,
        /// <summary>
        /// 输出点,DO11
        /// </summary>
        DO_11,
        /// <summary>
        /// 输出点,DO12
        /// </summary>
        DO_12,
        /// <summary>
        /// 输出点,DO13
        /// </summary>
        DO_13,
        /// <summary>
        /// 输出点,DO14
        /// </summary>
        DO_14,
        /// <summary>
        /// 输出点,DO15
        /// </summary>
        DO_15,
        /// <summary>
        /// 输出点,DO16
        /// </summary>
        DO_16,
        /// <summary>
        /// 无
        /// </summary>
        NONE = 255
    }

    /// <summary>
    /// IO模块类型
    /// </summary>
    public enum Box_Type : int
    {
        /// <summary>
        /// 16位,8DI + 8DO
        /// </summary>
        DIO_16,
        /// <summary>
        /// 32位,16DI + 16DO
        /// </summary>
        DIO_32,
        /// <summary>
        /// 16位DO
        /// </summary>
        DO_16,
        /// <summary>
        /// 32位,24DI + 8DO
        /// </summary>
        DI24_DO8,
    }

    /// <summary>
    /// IO模块寄存器状态
    /// </summary>
    public enum Box_Sta : int
    {
        /// <summary>
        /// 断开,关闭,低电平
        /// </summary>
        Off = 0,
        /// <summary>
        /// 闭合,打开,高电平
        /// </summary>
        On = 255
    }

}