public void RunSingleOut(bool bUseCalibrate, IBeamScan beamScan, ushort focusADD) { if (_beamScan != null) { _beamScan.X = beamScan.X; _beamScan.Y = beamScan.Y; _beamScan.BeamCurrent = beamScan.BeamCurrent; if (bUseCalibrate) { _beamScan.Astig1 = (ushort)StaticTool.CaculateLinerVal(beamScan.X, beamScan.Y, true); _beamScan.Astig2 = (ushort)StaticTool.CaculateLinerVal(beamScan.X, beamScan.Y, false); _beamScan.Focus = (ushort)(StaticTool.CaculateFocus((uint)StaticTool.GetRadius(beamScan.X, beamScan.Y)) + focusADD); } else { _beamScan.Astig1 = beamScan.Astig1; _beamScan.Astig2 = beamScan.Astig2; _beamScan.Focus = beamScan.Focus; } BeamStart(SignalCardModeEnum.SingleOut); OnPowerOn?.Invoke(null, null); OnOperation?.Invoke("直流下束..."); _isDirecStop = false; } }
private BeamScanSingleton(IBeamSetup beamSetup, IBeamScan beamScan, IBeamState beamState) { _beamScan = beamScan; // _beamSetup = beamSetup; // _beamState = beamState; // _pdao32Card = new PowerDaq32AO(); // SignalCardStartArgs _cardArgs = new SignalCardStartArgs(SignalCardModeEnum.BufferedOut, 40000, 8, 500000, 8, 100); this.m_PackageManager.OnPackageCompleted += new PackageOfficeEvent(this.OnPackageManagerCompleted); }
public void SetBeamScan(IBeamScan beamScan) { try { if (beamScan != null) { this._beamScan = beamScan; return; } } catch (Exception) { throw new Exception("beamScan is null"); } }
public static BeamScanSingleton GetInstance(IBeamSetup beamSetup, IBeamScan beamScan, IBeamState beamState) { if (_instance == null) { lock (_lock) { if (_instance == null) { _instance = new BeamScanSingleton(beamSetup, beamScan, beamState); } } } return(_instance); }
public EBMBeamScan() { _iDummySweep = new BeamSetupDummySweep(); _beamScan = new SanxinBeamScan(); // _beamSetup = new BeamSetup(); // _beamState = new SanxinBeamState(); // _iDummySweep.Speed = 100000; _beamSetup.NumberOfFrames = 8; _beamSetup.Rate = 40000; _beamSetup.ReadTimeout = 2000; _beamSetup.WriteTimeout = 2000; _beamSetup.BufferFrameSize = 8000; _beamSetup.DummySweep = _iDummySweep; beamScanFactory = BeamScanSingleton.GetInstance(_beamSetup, _beamScan, _beamState); }
public SanXinBeam(IBeamScan _Scan, IBeamState _State, IBeamSetup _Setup) { Scan = _Scan; State = _State; Setup = _Setup; }