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(); } } }
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(); } } }