using System.Linq; namespace SHARP_CLAS_UI { public class Sequence_Unloader { #region Property public bool Is_Home_Complete { get { return ConveyorIn.IsHomeComplete && ConveyorOut.IsHomeComplete && LiftIn.IsHomeComplete && LiftOk.IsHomeComplete && LiftNg.IsHomeComplete && TrayTransfer.IsHomeComplete && Handler1.IsHomeComplete; } } public bool Panel_Exist { get { return Handler1.IsExist; } } public UnloaderConveyorIn ConveyorIn { get { return _conveyorIn; } set { _conveyorIn = value; } } public UnloaderConveyorOut ConveyorOut { get { return _conveyorOut; } set { _conveyorOut = value; } } public UnloaderLiftIn LiftIn { get { return _liftIn; } set { _liftIn = value; } } public UnloaderLiftNg LiftNg { get { return _liftNg; } set { _liftNg = value; } } public UnloaderLiftOk LiftOk { get { return liftOk; } set { liftOk = value; } } public UnloaderTrayTransfer TrayTransfer { get { return _trayTransfer; } set { _trayTransfer = value; } } public ULD_Handler_1 Handler1 { get { return _handler1; } set { _handler1 = value; } } public SequenceTimer TactTime { get { return _tactTime; } set { _tactTime = value; } } #endregion #region Field Equipment _equip; private UnloaderConveyorIn _conveyorIn; private UnloaderConveyorOut _conveyorOut; private UnloaderLiftIn _liftIn; private UnloaderLiftOk liftOk; private UnloaderLiftNg _liftNg; private UnloaderTrayTransfer _trayTransfer; private ULD_Handler_1 _handler1; private SequenceTimer _tactTime = new SequenceTimer(); //210811 HSLEE double dTactTimeOK = 0; double dTactTimeNG = 0; #endregion #region Construct public Sequence_Unloader(Equipment _equip) { this._equip = _equip; Handler1 = new ULD_Handler_1(_equip); LiftIn = new UnloaderLiftIn(_equip); LiftOk = new UnloaderLiftOk(_equip); LiftNg = new UnloaderLiftNg(_equip); ConveyorIn = new UnloaderConveyorIn(_equip); ConveyorOut = new UnloaderConveyorOut(_equip); TrayTransfer = new UnloaderTrayTransfer(_equip); } #endregion #region Function public void Seq_Logic() { ConveyorIn.ExecuteProcess(); ConveyorOut.ExecuteProcess(); Handler1.ExecuteProcess(); LiftIn.ExecuteProcess(); LiftOk.ExecuteProcess(); LiftNg.ExecuteProcess(); TrayTransfer.ExecuteProcess(); } //210811 HSLEE public void TactTimeOK(double dSecond) { dTactTimeOK = dSecond; } public void TactTimeNG(double dSecond) { dTactTimeNG = dSecond; } public double TactTimeOK() { return dTactTimeOK; } public double TactTimeNG() { return dTactTimeNG; } #endregion } }