Beispiel #1
0
        void ISignalCard.Start(SignalCardStartArgs args)
        {
            this.m_IsRunning  = false;
            this.m_Channels   = args.Channels;
            this.m_ScanBuffer = new ushort[args.FrameSize, args.Channels];
            ((ISignalCard)this).Stop();
            this.m_Mode = args.Mode;
            this.m_Logger.DebugFormat("{0} > {1}", base.GetType().Name, "Setup card...");
            this.m_Session = new Session();
            this.m_Logger.DebugFormat("{0} > {1}", base.GetType().Name, "Create output channels");
            this.m_Session.CreateAOChannel($"pwrdaq://dev{this.m_DeviceIndex}/Ao0:{7}", -10.0, 10.0);
            switch (this.m_Mode)
            {
            case SignalCardModeEnum.BufferedOut:
                this.m_Logger.DebugFormat("{0} > {1}", base.GetType().Name, "Configure timing for buffered output");
                this.m_Session.ConfigureTimingForBufferedIO(args.FrameSize, TimingClockSource.Internal, (double)args.Rate, DigitalEdge.Rising, TimingDuration.Continuous);
                this.m_Session.GetTiming().SetTimeout(args.Timeout);
                this.m_Session.GetDataStream().SetNumberOfFrames(args.BufferFrames);
                this.m_Session.GetDataStream().SetNumberOfScans(args.FrameSize);
                this.m_Session.GetDataStream().SetOverUnderRun(0);
                this.m_Session.GetDataStream().SetRegenerate(0);
                break;

            case SignalCardModeEnum.SingleOut:
                this.m_Logger.DebugFormat("{0} > {1}", base.GetType().Name, "Configure timing for simple io");
                this.m_Session.ConfigureTimingForSimpleIO();
                break;
            }
            this.m_Writer = new AnalogRawWriter(this.m_Session.GetDataStream());
            this.m_Logger.DebugFormat("{0} > {1}", base.GetType().Name, "Setup card done!");
        }
Beispiel #2
0
        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);
        }