using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
using FLY.Thick.Base.Common;
using System.ComponentModel;

namespace FLY.Thick.Base.IService
{
    public interface IDynAreaService : INotifyPropertyChanged
    {
        int Thick { get; }
        int Position { get; }
        int BoltIndex { get; }
        int BoltNo { get; }
        int AD { get; }
        int ADMax { get; }

        ObservableCollection<int> OrgAD { get; }//3
        ObservableCollection<int> SampleAD { get; }//3
        bool TempState { get; }
        bool DataValid { get; }
        int RollDown { get; }//废弃
        Misc.DIRECTION Direction { get; }

        #region 运行状态
        CTRL_STATE ControllerState { get; }
        #endregion



        #region IO
        UInt16 IStatus { get; }
        UInt16 OStatus { get; }
        #endregion

        #region 系统
        int Hrs { get; }
        string Version { get; }
        bool FLYADIsConnect { get; }
        bool SecuteLock { get; }
        #endregion

        #region PROFILE 运行参数
        string ProductName { get; }
        int Target { get; }
        int Alarm { get; }
        int YRange { get; }
        double Comp { get; }
        int Shift { get; }
        int DataBoltNoBegin { get; }
        int DataBoltNoEnd { get; }
        int ScanBoltNoBegin { get; }
        int ScanBoltNoEnd { get; }
        #endregion

        #region BOLTMAP
        int NBolts { get; }
        int FirstBoltNo { get; }
        #endregion

    }
}
