public SharedFolderWatcher(string target, eAssignedLane_Printer laneID, string path = "") { Target = target; LaneID = laneID; //WatchedFiles = new MutexFileQueue<string>(target); WatchedFiles.Clear(); Watcher = new DirectoryWatcher(target); Watcher.AddOnCreatedEventHandler(OnCreateFileInWatchedFolder); Watcher.AddOnRenamedEventHandler(OnRenameFileInWatchedFolder); if (laneID == eAssignedLane_Printer.Lane1) { ViewModelLocator.Atom.FlowHostVM.IsLane1WFExist = true; ViewModelLocator.Atom.FlowHostVM.Lane1WFDisk = target; ViewModelLocator.Atom.FlowHostVM.Lane1WFPath = path; } else if (laneID == eAssignedLane_Printer.Lane2) { ViewModelLocator.Atom.FlowHostVM.IsLane2WFExist = true; ViewModelLocator.Atom.FlowHostVM.Lane1WFDisk = target; ViewModelLocator.Atom.FlowHostVM.Lane2WFPath = path; } Watcher.BeginWatching(); }
/// <summary> /// Adds the watcher. /// </summary> /// <param name="target">網路磁碟映射</param> /// <param name="laneID">The lane identifier.</param> /// <param name="des">描述</param> /// <returns></returns> /*public Queue<string> AddWatcher(string target, eAssignedLane_Printer laneID, string des ="") * { * if(!IsAlreadyExistWatcher(target)) * { * var add = new SharedFolderWatcher(target,laneID,des); * MonitorFolders.Add(add); * return add.WatchedFiles; * }else * { * var watched = MonitorFolders.FirstOrDefault(x => x.Target == target); * return watched.WatchedFiles; * } * }*/ public SharedFolderWatcher AddWatcher(string target, eAssignedLane_Printer laneID, string des = "") { if (!IsAlreadyExistWatcher(target)) { var add = new SharedFolderWatcher(target, laneID, des); MonitorFolders.Add(add); return(add); } else { var watched = MonitorFolders.FirstOrDefault(x => x.Target == target); return(watched); } }
public PrinterBase(ePrinterVendor vendor, eAssignedLane_Printer laneID) { LaneID = laneID; Vendor = vendor; InspectedPanels.Clear(); PrinterCommonSetting = new CommonSettingVM(); PrinterSFSetting = new SharedFolderSettingVM(); DxHistory = new ObservableCollection <KeyValuePair <double, double> >(); DyHistory = new ObservableCollection <KeyValuePair <double, double> >(); ThetaHistory = new ObservableCollection <KeyValuePair <double, double> >(); DxHistory.Clear(); DyHistory.Clear(); ThetaHistory.Clear(); //Accumulation = 0;//= AccDx = AccDy = AccTheta = 0; }
public MPMPrinter(eAssignedLane_Printer lane) : base(ePrinterVendor.MPM, lane) { string errStr = ""; string section = String.Format("MPM_{0}", lane.ToString()); //ulong inspectedLow = (ulong)((DateTime.Now.AddHours(-8) - new DateTime(1970, 1, 1, 0, 0, 0)).TotalSeconds);//Test //取得RPC參數 using (IniFile ini = new IniFile()) { _RPCPara.SideIP = ini.Read(section, "SideIP"); _RPCPara.SidePort = ini.Read(section, "SidePort"); _RPCPara.SideComputerName = ini.Read(section, "SideComputerName"); _RPCPara.RPCServerPort = ini.Read(section, "RPCServerPort"); var path = ini.Read(section, "WorkingPath"); if (!String.IsNullOrEmpty(path)) { Log4.PrinterLogger.InfoFormat("Override WorkingPath ={0}", path); _RPCPara.WorkingPath = path; } if (lane == eAssignedLane_Printer.Lane2) { _RPCPara.ClientDualLaneEanbled = "1"; } else { _RPCPara.ClientDualLaneEanbled = "0"; } bool bShow; Boolean.TryParse(ini.Read(section, "bShowRPCWindow"), out bShow); _RPCPara.bShowRPCWindow = bShow; } _IsConnect = Connect(ref errStr); if (!_IsConnect) { TRMessageBox.Show("請確認MPM RPC連線"); } }
public void MarkWatchedFileCheckBox(eAssignedLane_Printer lane, string file) { switch (lane) { case eAssignedLane_Printer.Lane1: foreach (var f in Lane1WFList) { if (f.Value == file) { f.IsChecked = true; if (_IsDeleteMatchedFile) { System.IO.File.Delete(Lane1WFPath + "\\" + file); } break; } } break; case eAssignedLane_Printer.Lane2: foreach (var f in Lane2WFList) { if (f.Value == file) { f.IsChecked = true; if (_IsDeleteMatchedFile) { System.IO.File.Delete(Lane2WFPath + "\\" + file); } break; } } break; case eAssignedLane_Printer.None: break; } }
/// <summary> /// Fuji EasyLink /// </summary> /// <param name="Lane">The lane.</param> /// <returns> /// <c>true</c> if [is need write comp image] [the specified lane]; otherwise, <c>false</c>. /// </returns> public bool IsNeedWriteCompImage(eAssignedLane_Printer Lane) { if (PrinterManager.getInstance() == null) { return(false); } else { Log4.PrinterLogger.InfoFormat("[SOA]IsNeedWriteCompImage({0})", Lane.ToString()); switch (Lane) { case eAssignedLane_Printer.None: return(false); case eAssignedLane_Printer.Lane1: return(PrinterManager.getInstance().RemotePrinter[0].Printer.IsNeedWriteCompImage()); case eAssignedLane_Printer.Lane2: return(PrinterManager.getInstance().RemotePrinter[1].Printer.IsNeedWriteCompImage()); } return(false); } }
public string GetWriteCompImagePath(eAssignedLane_Printer Lane) { if (PrinterManager.getInstance() == null) { return(string.Empty); } else { Log4.PrinterLogger.InfoFormat("[SOA]GetWriteCompImagePath({0})", Lane.ToString()); switch (Lane) { case eAssignedLane_Printer.None: return(string.Empty); case eAssignedLane_Printer.Lane1: return(PrinterManager.getInstance().RemotePrinter[0].Printer.GetWriteCompImagePath()); case eAssignedLane_Printer.Lane2: return(PrinterManager.getInstance().RemotePrinter[1].Printer.GetWriteCompImagePath()); } return(string.Empty); } }
/// <summary> /// Fuji Changover /// </summary> /// <param name="Lane">The lane.</param> /// <returns></returns> public bool CheckCurrentSharedFolder(eAssignedLane_Printer Lane) { if (PrinterManager.getInstance() == null) { return(false); } else { Log4.PrinterLogger.InfoFormat("[SOA]CheckCurrentSharedFolder({0})", Lane.ToString()); switch (Lane) { case eAssignedLane_Printer.None: return(false); case eAssignedLane_Printer.Lane1: return(PrinterManager.getInstance().RemotePrinter[0].Printer.CheckCurrentSharedFolder()); case eAssignedLane_Printer.Lane2: return(PrinterManager.getInstance().RemotePrinter[1].Printer.CheckCurrentSharedFolder()); } return(false); } }
/// <summary> /// Fuji Changover /// </summary> /// <param name="Lane">The lane.</param> /// <returns></returns> //Fuji Changover //public bool NeedCreateTheDataToNext(eAssignedLane_Printer Lane, int size) //{ // if (PrinterManager.getInstance() == null) // return false; // else // { // InspectedPanel panel = new InspectedPanel(); // try // { // #region MMF // using (var mmf = MemoryMappedFile.CreateOrOpen("PrinterCenter_" + Lane.ToString(), size, MemoryMappedFileAccess.ReadWrite)) // { // using (var mmvStream = mmf.CreateViewStream(0, size)) // { // BinaryFormatter binFormatter = new BinaryFormatter(); // byte[] buffer = new byte[size]; // mmvStream.Read(buffer, 0, size); // panel = (InspectedPanel)binFormatter.Deserialize(new MemoryStream(buffer)); // } // } // #endregion MMF // } // catch (Exception e) // { // Log4.PrinterLogger.ErrorFormat("NeedCreate MMF Exception"); // Log4.PrinterLogger.ErrorFormat(e.Message); // return false; // } // Log4.PrinterLogger.InfoFormat("NeedCreateTheDataToNext({0},{1})", Lane.ToString(), size); // switch (Lane) // { // case eAssignedLane_Printer.None: // break; // case eAssignedLane_Printer.Lane1: // ViewModelLocator.Atom.FlowHostVM.spiInspectedData.Add("[" + eAssignedLane_Printer.Lane1.ToString() + "]" + panel.InspectStartTime); // Log4.PrinterLogger.InfoFormat(" -Push [{0}] NeedCreate CurrentInspectModeTemp.InspectMode={1} .InspectResult={2}", Lane.ToString(), panel.InspectMode, panel.InspectResult); // PrinterManager.getInstance().CurrentInspectModeTemp[0].InspectMode = panel.InspectMode; // PrinterManager.getInstance().CurrentInspectModeTemp[0].InspectResult = panel.InspectResult; // Log4.PrinterLogger.InfoFormat(" -Enqueue [{0}] NeedCreate SPI Data InspectTime = {1}", Lane.ToString(), panel.InspectStartTime); // PrinterManager.getInstance().RemotePrinter[0].Printer.InspectedPanels.Enqueue(panel); // //PrinterManager.getInstance().RemotePrinter[0].Printer.StartProcess(); // break; // case eAssignedLane_Printer.Lane2: // ViewModelLocator.Atom.FlowHostVM.spiInspectedData.Add("[" + eAssignedLane_Printer.Lane2.ToString() + "]" + panel.InspectStartTime); // Log4.PrinterLogger.InfoFormat(" -Push [{0}] NeedCreate CurrentInspectModeTemp.InspectMode={1} .InspectResult={2}", Lane.ToString(), panel.InspectMode, panel.InspectResult); // PrinterManager.getInstance().CurrentInspectModeTemp[1].InspectMode = panel.InspectMode; // PrinterManager.getInstance().CurrentInspectModeTemp[1].InspectResult = panel.InspectResult; // Log4.PrinterLogger.InfoFormat(" -Enqueue [{0}] NeedCreate SPI Data InspectTime = {1}", Lane.ToString(), panel.InspectStartTime); // PrinterManager.getInstance().RemotePrinter[1].Printer.InspectedPanels.Enqueue(panel); // //PrinterManager.getInstance().RemotePrinter[1].Printer.StartProcess(); // break; // } // return true; // } //} //*/ public bool SendCurrentInspectedPanelData(eAssignedLane_Printer Lane, int size) { if (PrinterManager.getInstance() == null) { return(false); } else { InspectedPanel panel = new InspectedPanel(); try { #region MMF using (var mmf = MemoryMappedFile.CreateOrOpen("PrinterCenter_" + Lane.ToString(), size, MemoryMappedFileAccess.ReadWrite)) { using (var mmvStream = mmf.CreateViewStream(0, size)) { BinaryFormatter binFormatter = new BinaryFormatter(); byte[] buffer = new byte[size]; mmvStream.Read(buffer, 0, size); panel = (InspectedPanel)binFormatter.Deserialize(new MemoryStream(buffer)); } } #endregion MMF } catch (Exception e) { Log4.PrinterLogger.ErrorFormat("MMF Exception"); Log4.PrinterLogger.ErrorFormat(e.Message); return(false); } Log4.PrinterLogger.InfoFormat("[D]SendCurrentInspectedPanelData({0},{1})", Lane.ToString(), size); switch (Lane) { case eAssignedLane_Printer.None: break; case eAssignedLane_Printer.Lane1: ViewModelLocator.Atom.FlowHostVM.spiInspectedData.Add("[" + eAssignedLane_Printer.Lane1.ToString() + "]" + panel.InspectStartTime); Log4.PrinterLogger.InfoFormat(" -Push [{0}] CurrentInspectModeTemp.InspectMode={1} .InspectResult={2}", Lane.ToString(), panel.InspectMode, panel.InspectResult); PrinterManager.getInstance().CurrentInspectModeTemp[0].InspectMode = panel.InspectMode; PrinterManager.getInstance().CurrentInspectModeTemp[0].InspectResult = panel.InspectResult; Log4.PrinterLogger.InfoFormat(" -Enqueue [{0}] SPI Data InspectTime = {1}", Lane.ToString(), panel.InspectStartTime); PrinterManager.getInstance().RemotePrinter[0].Printer.InspectedPanels.Enqueue(panel); //PrinterManager.getInstance().RemotePrinter[0].Printer.StartProcess(); break; case eAssignedLane_Printer.Lane2: ViewModelLocator.Atom.FlowHostVM.spiInspectedData.Add("[" + eAssignedLane_Printer.Lane2.ToString() + "]" + panel.InspectStartTime); Log4.PrinterLogger.InfoFormat(" -Push [{0}] CurrentInspectModeTemp.InspectMode={1} .InspectResult={2}", Lane.ToString(), panel.InspectMode, panel.InspectResult); PrinterManager.getInstance().CurrentInspectModeTemp[1].InspectMode = panel.InspectMode; PrinterManager.getInstance().CurrentInspectModeTemp[1].InspectResult = panel.InspectResult; Log4.PrinterLogger.InfoFormat(" -Enqueue [{0}] SPI Data InspectTime = {1}", Lane.ToString(), panel.InspectStartTime); PrinterManager.getInstance().RemotePrinter[1].Printer.InspectedPanels.Enqueue(panel); //PrinterManager.getInstance().RemotePrinter[1].Printer.StartProcess(); break; } return(true); } }
public INOTISPrinter(eAssignedLane_Printer lane) : this(ePrinterVendor.INOTIS, lane) { //WatchedFiles.Clear(); }
public INOTISPrinter(ePrinterVendor vendor, eAssignedLane_Printer lane) : base(vendor, lane) { //InspectedPanels.EnqueueEvent += new EventQueueHandler<InspectedPanel>(InspectedPanelsEnqueue<InspectedPanel>); }
public HanwhaPrinter(eAssignedLane_Printer lane) : base(ePrinterVendor.HANWHA, lane) { }
//private DefectStatisticResult _DefectStatisticResult; public HtgdPrinter(eAssignedLane_Printer lane) : base(ePrinterVendor.HTGD, lane) { }
public ePrinterVendor GetPrinterCurrentVendor(eAssignedLane_Printer Lane) { Log4.PrinterLogger.InfoFormat("[SOA]GetPrinterCurrentVendor({0})", Lane.ToString()); return(PrinterManager.getInstance().RemotePrinter[(int)Lane - 1].Printer.Vendor); }
public EsePrinter(eAssignedLane_Printer lane) : base(ePrinterVendor.ESE, lane) { }
public void StartProcess(eAssignedLane_Printer Lane, string filename) { if (PrinterManager.getInstance() == null) { return; } else { Log4.PrinterLogger.InfoFormat("[SOA]StartProcess({0},{1})", Lane.ToString(), filename); //如果檔案是用XML則需要enqueue if (PrinterManager.getInstance().ExchangeMethod == SFCData.eSFCDataExchangeMethod.XML) { InspectedPanel panel = null; while (panel == null) { panel = null; try { panel = IPCHelper.DeserializeFromXML <InspectedPanel>(filename); } catch (Exception ex) { //Log4.SFCLogger.InfoFormat("Pause {0} ms", iPause); //Thread.Sleep(iPause); //Log4.SFCLogger.ErrorFormat("DeserializeFromXML File {0} Exception:{1}", AssemblyPath + "\\DataExchange\\" + e.Name, ex.Message); } } switch (Lane) { case eAssignedLane_Printer.None: break; case eAssignedLane_Printer.Lane1: ViewModelLocator.Atom.FlowHostVM.spiInspectedData.Add("[" + eAssignedLane_Printer.Lane1.ToString() + "]" + panel.InspectStartTime); Log4.PrinterLogger.InfoFormat(" -Push [{0}] CurrentInspectModeTemp.InspectMode={1} .InspectResult={2}", Lane.ToString(), panel.InspectMode, panel.InspectResult); PrinterManager.getInstance().CurrentInspectModeTemp[0].InspectMode = panel.InspectMode; PrinterManager.getInstance().CurrentInspectModeTemp[0].InspectResult = panel.InspectResult; Log4.PrinterLogger.InfoFormat(" -Enqueue [{0}] SPI Data InspectTime = {1}", Lane.ToString(), panel.InspectStartTime); PrinterManager.getInstance().RemotePrinter[0].Printer.InspectedPanels.Enqueue(panel); break; case eAssignedLane_Printer.Lane2: ViewModelLocator.Atom.FlowHostVM.spiInspectedData.Add("[" + eAssignedLane_Printer.Lane2.ToString() + "]" + panel.InspectStartTime); Log4.PrinterLogger.InfoFormat(" -Push [{0}] CurrentInspectModeTemp.InspectMode={1} .InspectResult={2}", Lane.ToString(), panel.InspectMode, panel.InspectResult); PrinterManager.getInstance().CurrentInspectModeTemp[1].InspectMode = panel.InspectMode; PrinterManager.getInstance().CurrentInspectModeTemp[1].InspectResult = panel.InspectResult; Log4.PrinterLogger.InfoFormat(" -Enqueue [{0}] SPI Data InspectTime = {1}", Lane.ToString(), panel.InspectStartTime); PrinterManager.getInstance().RemotePrinter[1].Printer.InspectedPanels.Enqueue(panel); break; } } switch (Lane) { case eAssignedLane_Printer.None: break; case eAssignedLane_Printer.Lane1: PrinterManager.getInstance().RemotePrinter[0].Printer.StartProcess(); break; case eAssignedLane_Printer.Lane2: PrinterManager.getInstance().RemotePrinter[1].Printer.StartProcess(); break; } } }
public DekPrinter(eAssignedLane_Printer lane) : base(ePrinterVendor.DEK, lane) { }
public PrinterEntity(eAssignedLane_Printer lane, ePrinterVendor vendor) { Lane = lane; PrinterVendor = vendor; }
public GKGPrinter(eAssignedLane_Printer lane) : base(ePrinterVendor.GKG, lane) { }
public YamahaPrinter(eAssignedLane_Printer lane) : base(ePrinterVendor.YAMAHA, lane) { }
public MinamiPrinter(eAssignedLane_Printer lane) : base(ePrinterVendor.MINAMI, lane) { }
public DesenPrinter(eAssignedLane_Printer lane) : base(ePrinterVendor.DESEN, lane) { }
public EkraPrinter(eAssignedLane_Printer lane) : base(ePrinterVendor.EKRA, lane) { }