Example #1
0
 /// <summary>Event AlarmResetFail(014)</summary>
 /// <param name="rtnFromServer"></param>
 /// <remarks>異常恢復失敗</remarks>
 public void AlarmResetFail(ReturnFromServer rtnFromServer)
 {
     if (OnAlarmResetFailHandler != null)
     {
         OnAlarmResetFailHandler.Invoke(this, EventArgs.Empty);
     }
 }
Example #2
0
 /// <summary>Event  DockPODComplete_Empty(010)</summary>
 /// <param name="rtnFromServer"></param>
 /// <remarks>
 /// <para>1. StageDock完畢後</para>
 /// <para>2. 收到AskReticleExistStatus</para>
 /// </remarks>
 public void DockPODComplete_Empty(ReturnFromServer rtnFromServer)
 {
     if (OnDockPODComplete_EmptyHandler != null)
     {
         OnDockPODComplete_EmptyHandler.Invoke(this, EventArgs.Empty);
     }
 }
Example #3
0
 /// <summary>Alarm StageMotorAbnormality(210)</summary>
 /// <param name="rtnFromServer"></param>
 /// <remarks>Stage升降馬達驅動器異常</remarks>
 public void StageMotorAbnormality(ReturnFromServer rtnFromServer)
 {
     if (OnStageMotorAbnormalityHandler != null)
     {
         OnStageMotorAbnormalityHandler.Invoke(this, EventArgs.Empty);
     }
 }
Example #4
0
 /// <summary>Event AlarmResetFirst (016)</summary>
 /// <param name="rtnFromServer"></param>
 /// <remarks>提示進行異常復歸動作</remarks>
 public void ExecuteAlarmResetFirst(ReturnFromServer rtnFromServer)
 {
     if (OnExecuteAlarmResetFirstHandler != null)
     {
         OnExecuteAlarmResetFirstHandler.Invoke(this, EventArgs.Empty);
     }
 }
Example #5
0
 /// <summary>Alarm ClamperLockPositionFailed(207)</summary>
 /// <param name="rtnFromServer"></param>
 /// <remarks>ClamerLock完成後位置錯誤</remarks>
 public void ClamperLockPositionFailed(ReturnFromServer rtnFromServer)
 {
     if (OnClamperLockPositionFailedHandler != null)
     {
         OnClamperLockPositionFailedHandler.Invoke(this, EventArgs.Empty);
     }
 }
Example #6
0
 /// <summary>Event  DockPODStart(008)</summary>
 /// <param name="rtnFromServer"></param>
 /// <remarks>收到DockRequest後, 開始移動Stage前</remarks>
 public void DockPODStart(ReturnFromServer rtnFromServer)
 {
     if (OnDockPODStartHandler != null)
     {
         OnDockPODStartHandler.Invoke(this, EventArgs.Empty);
     }
 }
Example #7
0
 /// <summary>Alarm StageOverDownLimitation(205)</summary>
 /// <param name="rtnFromServer"></param>
 /// <remarks>Stage下位限制Sensor觸發</remarks>
 public void StageOverDownLimitation(ReturnFromServer rtnFromServer)
 {
     if (OnStageOverDownLimitationHandler != null)
     {
         OnStageOverDownLimitationHandler.Invoke(this, EventArgs.Empty);
     }
 }
Example #8
0
 /// <summary>Alarm ReticlePositionAbnormality(206)</summary>
 /// <param name="rtnFromServer"></param>
 ///<remarks>Dock/Undock時, 光罩滑出POD</remarks>
 public void ReticlePositionAbnormality(ReturnFromServer rtnFromServer)
 {
     if (OnReticlePositionAbnormalityHandler != null)
     {
         OnReticlePositionAbnormalityHandler.Invoke(this, EventArgs.Empty);
     }
 }
Example #9
0
 /// <summary>Alarm ClamperActionTimeOut(200)</summary>
 /// <param name="rtnFromServer"></param>
 /// <remarks>Clamper馬達運動超時</remarks>
 public void ClamperActionTimeOut(ReturnFromServer rtnFromServer)
 {
     if (OnClamperActionTimeOutHandler != null)
     {
         OnClamperActionTimeOutHandler.Invoke(this, EventArgs.Empty);
     }
 }
Example #10
0
 /// <summary>Alarm StageMotionTimeout(203)</summary>
 /// <param name="rtnFromServer"></param>
 /// <remarks>Stage運動超時</remarks>
 public void StageMotionTimeout(ReturnFromServer rtnFromServer)
 {
     if (OnStageMotionTimeoutHandler != null)
     {
         OnStageMotionTimeoutHandler.Invoke(this, EventArgs.Empty);
     }
 }
Example #11
0
 /// <summary>Event PODNotPutProperly(023)</summary>
 /// <remarks>2020/06/11 new</remarks>
 public void PODNotPutProperly(ReturnFromServer rtnFromServer)
 {
     if (OnPODNotPutProperlyHandler != null)
     {
         OnPODNotPutProperlyHandler.Invoke(this, EventArgs.Empty);
     }
 }
Example #12
0
 /// <summary>Event ClamperNotLock(022)</summary>
 /// <param name="rtnFromServer"></param>
 public void ClamperNotLock(ReturnFromServer rtnFromServer)
 {
     if (OnClamperNotLockHandler != null)
     {
         OnClamperNotLockHandler.Invoke(this, EventArgs.Empty);
     }
 }
Example #13
0
 //~021,MustInManualMode@
 public void MustInManualMode(ReturnFromServer rtnFromServer)
 {
     if (OnMustInManualModeHandler != null)
     {
         OnMustInManualModeHandler.Invoke(this, EventArgs.Empty);
     }
 }
Example #14
0
 /// <summary>Event ClamperUnlockComplete(012)</summary>
 /// <param name="rtnFromServer"></param>
 public void ClamperUnlockComplete(ReturnFromServer rtnFromServer)
 {
     if (OnClamperUnlockCompleteHandler != null)
     {
         OnClamperUnlockCompleteHandler.Invoke(this, EventArgs.Empty);
     }
 }
Example #15
0
 /// <summary>Alarm PODPresentAbnormality(208)</summary>
 /// <param name="rtnFromServer"></param>
 /// <remarks>POD上下蓋脫離定位</remarks>
 public void PODPresentAbnormality(ReturnFromServer rtnFromServer)
 {
     if (OnPODPresentAbnormalityHandler != null)
     {
         OnPODPresentAbnormalityHandler.Invoke(this, EventArgs.Empty);
     }
 }
Example #16
0
        public void InitialComplete(ReturnFromServer rtnFromServer)
        {
            /*[d20220113] 名稱必須為 InitialComple, 這是 Gudeng Load Port 回傳的字串*/

            if (OnInitialCompleteHandler != null)
            {
                OnInitialCompleteHandler.Invoke(this, EventArgs.Empty);
            }
        }
Example #17
0
        /// <summary>Event LoadportStatus(018)</summary>
        /// <param name="rtnFromServer"></param>
        /// <remarks>
        /// <para>1. Loadport內部狀態改變</para>
        /// <para>2. 收到AskLoadportStatus</para>
        /// </remarks>
        public void LoadportStatus(ReturnFromServer rtnFromServer)
        {
            var rtnCode = (EventLoadportStatusCode)(Convert.ToInt32(rtnFromServer.ReturnCode));

            if (OnLoadportStatusHandler != null)
            {
                var eventArgs = new OnLoadportStatusEventArgs(rtnCode);
                OnLoadportStatusHandler.Invoke(this, eventArgs);
            }
        }
Example #18
0
        /// <summary>Event Present(002)</summary>
        /// <param name="rtnFromServer"></param>
        /// <remarks>
        /// <para>1. Present狀態改變</para>
        /// <para>2. 收到 AskPresentStatus</para>
        /// </remarks>
        public void Present(ReturnFromServer rtnFromServer)
        {
            // rtnCode: 有無Present訊息
            var rtnCode = (EventPresentCode)(Convert.ToInt32(rtnFromServer.ReturnCode));

            if (OnPresentHandler != null)
            {
                var eventArgs = new OnPresentEventArgs(rtnCode);
                OnPresentHandler.Invoke(this, eventArgs);
            }
        }
Example #19
0
        /// <summary>Event VacummComplete(007)</summary>
        /// <param name="rtnFromServer"></param>
        /// <remarks>
        /// <para>1. Load貨完成後底盤吸住</para>
        /// <para>2. 收到AskVacuumStatus</para>
        /// <para>3. 底座真空狀態改變</para>
        /// </remarks>
        public void VacuumComplete(ReturnFromServer rtnFromServer)
        {
            // rtnCode: 是否建立真空
            var rtnCode = (EventVacuumCompleteCode)(Convert.ToInt32(rtnFromServer.ReturnCode));

            if (OnVacuumCompleteHandler != null)
            {
                var eventArgs = new OnVacuumCompleteEventArgs(rtnCode);
                OnVacuumCompleteHandler.Invoke(this, eventArgs);
            }
        }
Example #20
0
        /// <summary>Event ClamperLockComplete(006)</summary>
        /// <param name="rtnFromServer"></param>
        /// <remarks>
        /// <para>1. Load貨完成後開啟Clamper</para>
        /// <para>2. 收到AskClamperStatus</para>
        /// </remarks>
        public void ClamperLockComplete(ReturnFromServer rtnFromServer)
        {
            // rtnCode: Clamper 關閉/開啟
            var rtnCode = (EventClamperLockCompleteCode)(Convert.ToInt32(rtnFromServer.ReturnCode));

            if (OnClamperLockCompleteHandler != null)
            {
                var eventArgs = new OnClamperLockCompleteEventArgs(rtnCode);
                OnClamperLockCompleteHandler.Invoke(this, eventArgs);
            }
        }
Example #21
0
        /// <summary>Event Clamper(003)</summary>
        /// <param name="rtnFromServer"></param>
        /// <remarks>
        /// <para>1. Clamper 狀態改變</para>
        /// <para>2. 收到 AskClamperStatus</para>
        /// </remarks>
        public void Clamper(ReturnFromServer rtnFromServer)
        {
            //rtnCode: Clamper狀態(關閉, 開啟, 不在定位需復歸)
            var rtnCode = (EventClamperCode)(Convert.ToInt32(rtnFromServer.ReturnCode));

            if (OnClamperHandler != null)
            {
                var eventArgs = new OnClamperEventArgs(rtnCode);
                OnClamperHandler.Invoke(this, eventArgs);
            }
        }
Example #22
0
        /// <summary>Event StagePosition (017)</summary>
        /// <param name="rtnFromServer"></param>
        /// <remarks>
        /// <para>1. Stage位置改變</para>
        /// <para>2. 收到AskStagePosition</para>
        /// </remarks>
        public void StagePosition(ReturnFromServer rtnFromServer)
        {
            // rtnCode: Stage 位置
            var rtnCode = (EventStagePositionCode)(Convert.ToInt32(rtnFromServer.ReturnCode));

            if (OnStagePositionHandler != null)
            {
                var eventArgs = new OnStagePositionEventArgs(rtnCode);
                OnStagePositionHandler.Invoke(this, eventArgs);
            }
        }
Example #23
0
        /// <summary>Event RFID(004)</summary>
        /// <param name="rtnFromServer"></param>
        /// <remarks>
        /// <para>1. Load貨, 完成讀取RFID後</para>
        /// <para>2. 收到AskRFIDStatus</para>
        /// </remarks>
        public void RFID(ReturnFromServer rtnFromServer)
        {   // rfID: 讀取的 RFID
            var rfID = rtnFromServer.ReturnCode;

            if (OnRFIDHandler != null)
            {
                var eventArgs = new OnRFIDEventArgs(rfID);
                if (OnRFIDHandler != null)
                {
                    OnRFIDHandler.Invoke(this, eventArgs);
                }
            }
        }
Example #24
0
        /// <summary>Event Barcode ID (005)</summary>
        /// <param name="rtnFromServer"></param>
        /// <remarks>
        /// <para>1. Load貨完成讀取Barcode後</para>
        /// <para>2. 收到AskBarcodeStatus</para>
        /// </remarks>
        public void Barcode_ID(ReturnFromServer rtnFromServer)
        {
            // rtnCode: 讀取成功或失敗
            var rtnCode = (EventBarcodeIDCode)(Convert.ToInt32(rtnFromServer.ReturnCode));
            // barcodeID: 讀取成功時的 barcode ID
            var barcodeID = rtnFromServer.ReturnValue;

            if (OnBarcode_IDHandler != null)
            {
                var eventArgs = new OnBarcode_IDEventArgs(rtnCode, barcodeID);
                OnBarcode_IDHandler.Invoke(this, eventArgs);
            }
        }
Example #25
0
        /// <summary>Client(本地)端 Listen 收到 Server 端回傳資料後引發的事件程序</summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        private void ReceiveMessageFromServer(object sender, EventArgs args)
        {
            var eventArgs = (OnReceviceRtnFromServerEventArgs)args;
            ReturnFromServer rtnContent = new ReturnFromServer(eventArgs.RtnContent);
            var methodName = rtnContent.StringContent.Replace(" ", "_");//.Replace("\0", "");

            try
            {
                var method = typeof(MvGudengLoadPortLdd).GetMethod(methodName);
                method.Invoke(this, new object[] { rtnContent });
            }
            catch (Exception ex)
            {
                MvaLog.WarnNs(this, ex);
            }
        }
Example #26
0
 /// <summary>Event Initial Complete(019)</summary>
 /// <remarks>初始化完畢後</remarks>
 /// <param name="rtnFromServer"></param>
 public void InitialComple(ReturnFromServer rtnFromServer)
 {
     /*[d20220113] 名稱必須為 InitialComple, 這是 Gudeng Load Port 回傳的字串*/
     this.InitialComplete(rtnFromServer);
 }
Example #27
0
 public void LoadportStatu2(ReturnFromServer rtnFromServer)
 {
     this.LoadportStatus(rtnFromServer);
 }
Example #28
0
 public void VacuumComplet0(ReturnFromServer rtnFromServer)
 {
     this.VacuumComplete(rtnFromServer);
 }