示例#1
0
        public void LoadPortUnDock()
        {
            MacHalContext        halContext     = null;
            MacHalLoadPort       loportAssembly = null;
            MacHalLoadPortGudeng TestLoadport   = null;

            try
            {
                halContext = new MacHalContext("GenCfg/Manifest/Manifest.xml.real");
                halContext.MvCfLoad();

                loportAssembly = halContext.HalDevices[MacEnumDevice.loadportA_assembly.ToString()] as MacHalLoadPort;
                TestLoadport   = loportAssembly.Hals[MacEnumDevice.loadport_1.ToString()] as MacHalLoadPortGudeng;
                TestLoadport.HalConnect();

                BindLoadPortEvent(TestLoadport);
                TestLoadport.CommandUndockRequest();
                Repeat();
            }
            catch (Exception ex)
            {
            }
            finally
            {
                if (halContext != null)
                {
                    halContext.Dispose();
                }
            }
        }
        public void LoadportInitial()
        {
            MacHalContext        halContext     = null;
            MacHalLoadPort       loportAssembly = null;
            MacHalLoadPortGudeng TestLoadport   = null;

            try
            {
                halContext = new MacHalContext("GenCfg/Manifest/Manifest.xml.real");
                halContext.MvaCfLoad();

                loportAssembly = halContext.HalDevices[EnumMacDeviceId.loadportA_assembly.ToString()] as MacHalLoadPort;
                TestLoadport   = loportAssembly.Hals[EnumMacDeviceId.loadport_1.ToString()] as MacHalLoadPortGudeng;
                TestLoadport.HalConnect();
                BindLoadPortEvent(TestLoadport);
                TestLoadport.CommandInitialRequest();
                Repeat();
            }
            catch (Exception ex)            { MvaLog.WarnNs(this, ex); }
            finally
            {
                if (halContext != null)
                {
                    halContext.Dispose();
                }
            }
        }
示例#3
0
        public void InSideLoadToOutSideUnload()
        {
            // [假設 Tray 移到 Out, 並已放入 盒子]
            // 1. Tray 移到 Home,
            // 2. 檢查有沒有 Box,
            // 3. (1) 沒有盒子=> 退回Out 並 警示
            //    (2) 有盒子=> 移到 In
            MacHalDrawerKjMachine testDrawer = null;
            MacHalCabinet         cabinet    = null;
            MacHalContext         halContext = null;

            try
            {
                halContext = new MacHalContext("GenCfg/Manifest/Manifest.xml.real");
                halContext.MvaCfLoad();
                cabinet    = halContext.HalDevices[EnumMacDeviceId.cabinet_assembly.ToString()] as MacHalCabinet;
                testDrawer = cabinet.Hals[EnumMacDeviceId.cabinet_drawer_01_01.ToString()] as MacHalDrawerKjMachine;
                testDrawer.HalConnect();
                testDrawer.OnTrayMotionFailedHandler += (sender, e) =>
                {
                    IMacHalDrawer drawer = (IMacHalDrawer)sender;

                    // vs 2013
                    //Debug.WriteLine($"Index={drawer.DeviceIndex}, 觸發 {nameof(drawer.OnTrayMotionFailedHandler)} 事件");
                    Debug.WriteLine("Index=" + drawer.DeviceId + ", 觸發 drawer.OnTrayMotionFailedHandler 事件");
                };
                testDrawer.OnTrayMotionOKHandler += (sender, e) =>
                {
                    IMacHalDrawer drawer = (IMacHalDrawer)sender;
                    // vs 2013
                    //Debug.WriteLine($"Index={drawer.DeviceIndex}, 觸發 {nameof(drawer.OnTrayMotionOKHandler)} 事件");
                    Debug.WriteLine("Index= " + drawer.DeviceId + ", 觸發 drawer.OnTrayMotionOKHandler 事件");
                };
                testDrawer.OnTrayMotionSensorOFFHandler += (sender, e) =>
                {
                    IMacHalDrawer drawer = (IMacHalDrawer)sender;
                    // vs 2013
                    //Debug.WriteLine($"Index={drawer.DeviceIndex}, 觸發 {nameof(drawer.OnTrayMotionSensorOFFHandler)} 事件");
                    Debug.WriteLine("Index=" + drawer.DeviceId + ", 觸發 drawer.OnTrayMotionSensorOFFHandler 事件");
                };
                testDrawer.OnERRORErrorHandler += (sender, e) =>
                {
                    IMacHalDrawer drawer = (IMacHalDrawer)sender;
                    // vs 2013
                    // Debug.WriteLine($"Index={drawer.DeviceIndex}, 觸發 {nameof(drawer.OnERRORErrorHandler)} 事件");
                    Debug.WriteLine("Index=" + drawer.DeviceId + ", 觸發 drawer.OnERRORErrorHandler 事件");
                };
                testDrawer.OnERRORREcoveryHandler += (sender, e) =>
                {
                    IMacHalDrawer drawer = (IMacHalDrawer)sender;

                    // vs 2013
                    // Debug.WriteLine($"Index={drawer.DeviceIndex}, 觸發 {nameof(drawer.OnERRORREcoveryHandler)} 事件");
                    Debug.WriteLine("Index=" + drawer.DeviceId + ", 觸發 drawer.OnERRORREcoveryHandler 事件");
                };
                testDrawer.OnTrayMotioningHandler += (sender, e) =>
                {
                    IMacHalDrawer drawer = (IMacHalDrawer)sender;
                    // vs 2013
                    // Debug.WriteLine($"Index={drawer.DeviceIndex}, 觸發 {nameof(drawer.OnTrayMotioningHandler)} 事件");
                    Debug.WriteLine("Index=" + drawer.DeviceId + ", 觸發 drawer.OnTrayMotioningHandler 事件");
                };
                /**到逹 Home*/
                testDrawer.OnTrayArriveHomeHandler += (sender, e) =>
                {
                    IMacHalDrawer drawer = (IMacHalDrawer)sender;
                    // vs 2013
                    //Debug.WriteLine($"Index={drawer.DeviceIndex}, 檢查有沒有放盒子");
                    Debug.WriteLine("Index=" + drawer.DeviceId + ", 檢查有沒有放盒子");
                    drawer.CommandBoxDetection();
                };
                /**檢查沒有盒子 */
                testDrawer.OnDetectedEmptyBoxHandler += (sender, e) =>
                {
                    IMacHalDrawer drawer = (IMacHalDrawer)sender;

                    /** // vs 2013
                     * Debug.WriteLine($"Index={drawer.DeviceIndex}, 沒有盒子");
                     * Debug.WriteLine($"Index={drawer.DeviceIndex}, 將 Drawer 送回 Out");
                     */

                    Debug.WriteLine("Index=" + drawer.DeviceId + ", 沒有盒子");
                    Debug.WriteLine("Index=" + drawer.DeviceId + ", 將 Drawer 送回 Out");
                    drawer.CommandTrayMotionOut();
                };
                /**檢查有盒子 */
                testDrawer.OnDetectedHasBoxHandler += (sender, e) =>
                {
                    IMacHalDrawer drawer = (IMacHalDrawer)sender;
                    // vs 2013
                    //Debug.Write($"Index={drawer.DeviceIndex}, 有放盒子, 將 Drawer 送往 In");
                    Debug.Write("Index=" + drawer.DeviceId + ", 有放盒子, 將 Drawer 送往 In");
                    drawer.CommandTrayMotionIn();
                };
                testDrawer.OnTrayArriveInHandler += (sender, e) =>
                {
                    IMacHalDrawer drawer = (IMacHalDrawer)sender;
                    // vs 2013
                    // Debug.WriteLine($"Index={drawer.DeviceIndex}, 已經到達 In ");
                    Debug.WriteLine("Index=" + drawer.DeviceId + ", 已經到達 In ");
                };
                testDrawer.OnTrayArriveOutHandler += (sender, e) =>
                {
                    IMacHalDrawer drawer = (IMacHalDrawer)sender;
                    // vs 2013
                    //Debug.Write($"Index={drawer.DeviceIndex}, Drawer沒有盒子, 已經退回 Out , 請重新裝入盒子");
                    Debug.Write("Index=" + drawer.DeviceId + ", Drawer沒有盒子, 已經退回 Out , 請重新裝入盒子");
                };
                testDrawer.CommandTrayMotionHome();
                Repeat();
            }
            catch (Exception ex)
            {
                var deviceIndex = testDrawer == null ? "" : testDrawer.DeviceId;
                // vs 2013
                // Debug.WriteLine($"Index={deviceIndex},  Exception={ex.Message}");
                Debug.WriteLine("Index=" + deviceIndex + ",  Exception=" + ex.Message);
            }
            finally
            {
                if (halContext != null)
                {
                    halContext.Dispose();
                }
            }
        }