using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FLY.Thick.FilmCasting.Common
{
    public class FlyADIODefine : FLY.Thick.Base.Common.FlyADIODefine
    {
        public static new FlyADIODefine Instance => (FlyADIODefine)instance;

        /// <summary>
        /// 换卷信号
        /// </summary>
        [Description("换卷信号")]
        public int InNo_Finish { get; protected set; } = 9 - 1;

        /// <summary>
        /// 拉伸前辊信号
        /// </summary>
        [Description("拉伸前辊信号")]
        public int InNo_VBeforeStretching { get; protected set; } = 12 - 1;



        protected override List<string> GetInputPropertyNames()
        {
            return new List<string> {
                nameof(InNo_Scan),
                nameof(InNo_Org),
                nameof(InNo_Limit_Forw),
                nameof(InNo_Limit_Backw),
                nameof(InNo_DataValid),
                nameof(InNo_Manual_Forw),
                nameof(InNo_Manual_Backw),
                nameof(InNo_Roll),
                nameof(InNo_Finish),
                nameof(InNo_VBeforeStretching)
            };
        }
        protected override List<string> GetOutputPropertyNames()
        {
            return new List<string> {
                nameof(OutNo_Scan),
                nameof(OutNo_VF0_Forw),
                nameof(OutNo_VF0_Backw),
                nameof(OutNo_VF0_Slow),
                nameof(OutNo_Alarm)
            };
        }
    }
}
