示例#1
1
文件: ULAO03.cs 项目: otoauler/sdkpub
        public frmAOut()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //  Initiate error handling
            //   activating error handling will trap errors like
            //   bad channel numbers and non-configured conditions.
            //   Parameters:
            //     MccDaq.ErrorReporting.PrintAll :all warnings and errors encountered will be printed
            //     MccDaq.ErrorHandling.StopAll   :if an error is encountered, the program will stop

            MccDaq.ErrorInfo ULStat = MccDaq.MccService.ErrHandling(MccDaq.ErrorReporting.PrintAll, MccDaq.ErrorHandling.StopAll);

            // Create a new MccBoard object for Board 0
            _bd = new MccDaq.MccBoard(0);

            // Initialize outputs to update on command
            // Parameters
            //	 channel	: D/A channel whose update mode is to be configured. Note
            //				  that negative values selects all channels
            //   DACUpdate.OnCommand : delay D/A output updates from AOut or AOutScan until
            //                         DACUpdate command is issued.
            int channel = AllChannels;
            _bd.BoardConfig.SetDACUpdateMode(channel, (int)MccDaq.DACUpdate.OnCommand);

            //  This gives us access to text boxes via an indexed array
            _txtAOVolts = (new TextBox[] {this.txtAOVolts0, this.txtAOVolts1, this.txtAOVolts2, this.txtAOVolts3});
        }
示例#2
1
        public void StartReading()
        {
            //We always want to read SCAN_RATE samples per channel
            int scanRate = _daqs.Length * SCAN_RATE;
            int iteration = 0;
            while (_continueReading)
            {
                int memHandle = MccDaq.MccService.WinBufAlloc(scanRate);
                MccDaq.MccBoard theBoard = new MccDaq.MccBoard(0);
                ushort[] buffer = new ushort[scanRate];
                float[] outVal = new float[(int)scanRate];
                MccDaq.ErrorInfo stat = new MccDaq.ErrorInfo();
                int scannedRate = 1000;
                stat = theBoard.AInScan(0, _daqs.Length - 1, scanRate, ref scannedRate, MccDaq.Range.Bip5Volts, memHandle, MccDaq.ScanOptions.Default);
                stat = MccDaq.MccService.WinBufToArray(memHandle, out buffer[0], 0, scanRate);
                for (int i = 0; i < buffer.Length; i++)
                {
                    theBoard.ToEngUnits(MccDaq.Range.Bip5Volts, buffer[i], out outVal[i]);
                }
                MccDaq.MccService.WinBufFree(memHandle);

                Dictionary<IDAQ, IDAQPoint[]> readingDictionary = new Dictionary<IDAQ, IDAQPoint[]>();
                foreach (IDAQ daq in _daqs)
                {
                    readingDictionary.Add(daq, new IDAQPoint[SCAN_RATE]);
                }

                for (int i = 0; i < scanRate;)
                {
                    foreach (IDAQ daq in _daqs)
                    {
                        DAQChannel chDaq = (DAQChannel)daq;
                        ReadingDetail rd = new ReadingDetail();
                        int currentIndex = i / _daqs.Length;
                        rd.ParentChannel = chDaq;
                        rd.Time = currentIndex + (iteration * SCAN_RATE);
                        rd.Reading = outVal[i];
                        readingDictionary[daq][currentIndex] = rd;
                        chDaq.ReadingDetails.Add(rd);
                        i++;
                    }
                }
                iteration++;
                _dataRetrieved(readingDictionary);
            }
            lock (this)
            {
                _stopFinishedCallback();
            }
        }
示例#3
0
文件: ULAO03.cs 项目: r4forth/sdkpub
        const int AllChannels = -1;          //negative values specify all available devices/channels

        public frmAOut()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //  Initiate error handling
            //   activating error handling will trap errors like
            //   bad channel numbers and non-configured conditions.
            //   Parameters:
            //     MccDaq.ErrorReporting.PrintAll :all warnings and errors encountered will be printed
            //     MccDaq.ErrorHandling.StopAll   :if an error is encountered, the program will stop

            MccDaq.ErrorInfo ULStat = MccDaq.MccService.ErrHandling(MccDaq.ErrorReporting.PrintAll, MccDaq.ErrorHandling.StopAll);


            // Create a new MccBoard object for Board 0
            _bd = new MccDaq.MccBoard(0);

            // Initialize outputs to update on command
            // Parameters
            //	 channel	: D/A channel whose update mode is to be configured. Note
            //				  that negative values selects all channels
            //   DACUpdate.OnCommand : delay D/A output updates from AOut or AOutScan until
            //                         DACUpdate command is issued.
            int channel = AllChannels;

            _bd.BoardConfig.SetDACUpdateMode(channel, (int)MccDaq.DACUpdate.OnCommand);

            //  This gives us access to text boxes via an indexed array
            _txtAOVolts = (new TextBox[] { this.txtAOVolts0, this.txtAOVolts1, this.txtAOVolts2, this.txtAOVolts3 });
        }
示例#4
0
        ///*******************************************************************************************************
        ///NOMBRE_FUNCIÓN: Btn_Entrar_Click
        ///DESCRIPCIÓN: Manejador del evento click sobre el botón Entrar: se valida que el texto en txt_acceso
        ///             esté registrado en Ope_Accesos
        ///PARÁMETROS: N/A
        ///CREO: Roberto González Oseguera
        ///FECHA_CREO: 14-oct-2013
        ///MODIFICÓ:
        ///FECHA_MODIFICÓ:
        ///CAUSA_MODIFICACIÓN:
        ///*******************************************************************************************************
        public void Activar_Relevador(MccDaq.DigitalLogicState Estado, Int32 Puerto)
        {
            int FirstBit;
            int PortType;
            int NumPorts;
            int ProgAbility;
            int NumBits;

            MccDaq.DigitalPortType   PortNum;
            MccDaq.DigitalPortType   BitPort;
            MccDaq.DigitalLogicState BitValue;
            MccDaq.MccBoard          DaqBoard = new MccDaq.MccBoard(0);
            DigitalIO.clsDigitalIO   DioProps = new DigitalIO.clsDigitalIO();

            try
            {
                PortType = DigitalIO.clsDigitalIO.PORTOUT;
                NumPorts = DioProps.FindPortsOfType(DaqBoard, PortType, out ProgAbility,
                                                    out PortNum, out NumBits, out FirstBit);

                BitValue = Estado;
                BitPort  = MccDaq.DigitalPortType.AuxPort;

                if (PortNum > MccDaq.DigitalPortType.AuxPort)
                {
                    BitPort = MccDaq.DigitalPortType.FirstPortA;
                }

                MccDaq.ErrorInfo ULStat = DaqBoard.DBitOut(BitPort, FirstBit + Puerto, BitValue);
            }
            catch
            {
            }
        }
示例#5
0
        private void InitUL()
        {
            int FirstPoint;

            MccDaq.ErrorInfo ULStat;

            // Initiate error handling
            //  activating error handling will trap errors like
            //  bad channel numbers and non-configured conditions.
            //  Parameters:
            //    MccDaq.ErrorReporting.PrintAll :all warnings and errors encountered will be printed
            //    MccDaq.ErrorHandling.StopAll   :if any error is encountered, the program will stop

            ULStat = MccDaq.MccService.ErrHandling(MccDaq.ErrorReporting.PrintAll, MccDaq.ErrorHandling.StopAll);

            MemHandle = MccDaq.MccService.WinBufAlloc(Count);             // set aside memory to hold data
            if (MemHandle == 0)
            {
                Application.Exit();
            }

            DaqBoard = new MccDaq.MccBoard(0);

            // output (low)
            DAData[0] = 0;
            DAData[1] = 0;

            // output (high))
            DAData[2] = 65535;
            DAData[3] = 65535;

            FirstPoint = 0;

            ULStat = MccDaq.MccService.WinArrayToBuf(ref DAData[0], MemHandle, FirstPoint, Count);
        }
示例#6
0
        public Probador()
        {
            InitializeComponent();

            MccDaq.ErrorInfo ULstat = MccDaq.MccService.ErrHandling(MccDaq.ErrorReporting.PrintAll, MccDaq.ErrorHandling.StopFatal);

            interfaz = new MccDaq.MccBoard(0);

            ULstat = interfaz.DConfigPort(puerto, direccion);
        }
        public Double[] StartSingleReadingWindow(double time, string output_fmt = "OD")
        {
            DaqBoard = new MccDaq.MccBoard(0);

            MccDaq.ErrorInfo ULStat;
            int   FirstPoint, NumChans = HighChan - LowChan + 1, CurIndex, CurCount;
            short Status;

            NumPoints = (int)(time) * Rate * NumChans;
            MemHandle = MccDaq.MccService.WinBufAllocEx(10 * NumPoints);

            Thread.Sleep(100);
            MccDaq.ScanOptions Options = MccDaq.ScanOptions.ConvertData;
            ULStat = DaqBoard.AInScan(LowChan, HighChan, NumPoints, ref Rate,
                                      MccDaq.Range.Bip10Volts, MemHandle, Options);
            DaqBoard.GetStatus(out Status, out CurCount,
                               out CurIndex, MccDaq.FunctionType.AiFunction);
            FirstPoint = CurIndex;

            // recently collected data
            int N = FirstPoint + NumChans;

            ushort[] addata = new ushort[N];
            MccDaq.MccService.WinBufToArray(MemHandle, addata, 0, N);

            List <float> channel_data = new List <float>();

            for (int i = 0; i <= HighChan; ++i)
            {
                //sum = 0;
                channel_data.RemoveRange(0, channel_data.Count);
                for (int j = i; j < N; j += NumChans)
                {
                    //sum += addata[j];
                    channel_data.Add(addata[j]);
                }
                // take median voltage value
                channel_data.Sort();
                ADData[i] = channel_data[(Int32)(channel_data.Count / 2)];
                // convert from int to double precision voltage value
                ADData[i] = (ADData[i] - 32768) / (float)3276.8;
            }

            DaqBoard.StopBackground(MccDaq.FunctionType.AiFunction);
            MccDaq.MccService.WinBufFreeEx(MemHandle);
            if (output_fmt == "OD")
            {
                return(convertADtoOD(ADData));
            }
            else
            {
                return(ADData);
            }
        }
        public void initialise()
        {
            currentStateOfDevice = new List<string>();
              newDeviceState = new List<string>();

              //First Lets make sure there's a USB-3101FS plugged in,
              System.Int16 BoardNum;
              System.Boolean Boardfound = false;
              for (BoardNum = 0; BoardNum < 99; BoardNum++)
              {
            DaqBoard = new MccDaq.MccBoard(BoardNum);
            try
            {
                if (DaqBoard.BoardName.Contains("3105"))
                {
                    //we found a valid board, let's print that out.
                    Boardfound = true;
                    //DaqBoard.FlashLED();
                    System.Console.WriteLine("MagnetController: Just found a device. Here is the result of its .getType() method: " + DaqBoard.GetType());
                    System.Console.WriteLine("MagnetController: Here is the board number of the device found: " + BoardNum);
                    break;
                }
            }
            catch (Exception e)
            {
                System.Console.WriteLine("MagnetController: An exception occurred");
            }
              }

              if (Boardfound == false)
              {
              System.Console.WriteLine("MagnetController: No USB-3105 found in system.  Please run InstaCal.", "No Board detected");
              }

              //print out how many channels this device has
              System.Int32 NumDAChans;
              DaqBoard.BoardConfig.GetNumDaChans(out NumDAChans);
              if (NumDAChans < 1)
              {
              System.Console.WriteLine("MagnetController: No Analog Outputs on this USB-3105.  To run this program you must have a USB-3105.", "No DACs detected");
              }
              System.Console.WriteLine("MagnetController: The detected board has " + NumDAChans + " DA channels.");

              while (true)
              {
            readInConfigFile();
            updateCurrentListAndExecuteChanges();
              }
        }
示例#9
0
        public void initialise()
        {
            currentStateOfDevice = new List <string>();
            newDeviceState       = new List <string>();

            //First Lets make sure there's a USB-3101FS plugged in,
            System.Int16   BoardNum;
            System.Boolean Boardfound = false;
            for (BoardNum = 0; BoardNum < 99; BoardNum++)
            {
                DaqBoard = new MccDaq.MccBoard(BoardNum);
                try
                {
                    if (DaqBoard.BoardName.Contains("3105"))
                    {
                        //we found a valid board, let's print that out.
                        Boardfound = true;
                        //DaqBoard.FlashLED();
                        System.Console.WriteLine("MagnetController: Just found a device. Here is the result of its .getType() method: " + DaqBoard.GetType());
                        System.Console.WriteLine("MagnetController: Here is the board number of the device found: " + BoardNum);
                        break;
                    }
                }
                catch (Exception e)
                {
                    System.Console.WriteLine("MagnetController: An exception occurred");
                }
            }

            if (Boardfound == false)
            {
                System.Console.WriteLine("MagnetController: No USB-3105 found in system.  Please run InstaCal.", "No Board detected");
            }

            //print out how many channels this device has
            System.Int32 NumDAChans;
            DaqBoard.BoardConfig.GetNumDaChans(out NumDAChans);
            if (NumDAChans < 1)
            {
                System.Console.WriteLine("MagnetController: No Analog Outputs on this USB-3105.  To run this program you must have a USB-3105.", "No DACs detected");
            }
            System.Console.WriteLine("MagnetController: The detected board has " + NumDAChans + " DA channels.");

            while (true)
            {
                readInConfigFile();
                updateCurrentListAndExecuteChanges();
            }
        }
示例#10
0
        public frmLEDTest()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //  Initiate error handling
            //   activating error handling will trap errors like
            //   bad channel numbers and non-configured conditions.
            //   Parameters:
            //     MccDaq.ErrorReporting.PrintAll :all warnings and errors encountered will be printed
            //     MccDaq.ErrorHandling.StopAll   :if an error is encountered, the program will stop

            MccDaq.ErrorInfo ULStat = MccDaq.MccService.ErrHandling(MccDaq.ErrorReporting.PrintAll, MccDaq.ErrorHandling.StopAll);

            // Create a new MccBoard object for Board 0
            DaqBoard = new MccDaq.MccBoard(0);
        }
示例#11
0
文件: ULFL01.cs 项目: otoauler/sdkpub
        public frmLEDTest()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //  Initiate error handling
            //   activating error handling will trap errors like
            //   bad channel numbers and non-configured conditions.
            //   Parameters:
            //     MccDaq.ErrorReporting.PrintAll :all warnings and errors encountered will be printed
            //     MccDaq.ErrorHandling.StopAll   :if an error is encountered, the program will stop

            MccDaq.ErrorInfo ULStat = MccDaq.MccService.ErrHandling(MccDaq.ErrorReporting.PrintAll, MccDaq.ErrorHandling.StopAll);

            // Create a new MccBoard object for Board 0
            DaqBoard = new MccDaq.MccBoard(0);
        }
        public MCC_AnalogInput(int mcc_index)
        {
            DaqBoard = new MccDaq.MccBoard(0);

            ADData    = new Double[HighChan - LowChan + 1];
            MemHandle = MccDaq.MccService.WinBufAllocEx(NumPoints);

            //tmrContinuousRead = new System.Timers.Timer();
            //tmrContinuousRead.Interval = 5000;
            //tmrContinuousRead.Elapsed += tmrContinuousRead_Tick;
            //tmrContinuousRead.AutoReset = true;


            // initialize
            p0 = new Double[HighChan + 1]; p1 = new Double[HighChan + 1];
            for (int i = 0; i <= HighChan; i++)
            {
                p1[i] = 1; p0[i] = 0;
            }
        }
        private void InitUL()
        {
            //			short i;
            MccDaq.ErrorInfo ULStat;

            // Initiate error handling
            //  activating error handling will trap errors like
            //  bad channel numbers and non-configured conditions.
            //  Parameters:
            //    MccDaq.ErrorReporting.PrintAll :all warnings and errors encountered will be printed
            //    MccDaq.ErrorHandling.StopAll   :if any error is encountered, the program will stop

            ULStat = MccDaq.MccService.ErrHandling(MccDaq.ErrorReporting.PrintAll, MccDaq.ErrorHandling.StopAll);

            DaqBoard = new MccDaq.MccBoard(BoardNum);

            MemHandle = MccDaq.MccService.WinBufAllocEx(NumElements);             // set aside memory to hold data
            if (MemHandle == IntPtr.Zero)
            {
                Application.Exit();
            }
        }
示例#14
0
        public double[] ReadDyno()
        {
            //Initialize Error Handling
            ULStat = MccDaq.MccService.ErrHandling(MccDaq.ErrorReporting.PrintAll, MccDaq.ErrorHandling.StopAll);

            //Create an object for board 0
            DaqBoard = new MccDaq.MccBoard(0);

            //Set the range
            Range = MccDaq.Range.Bip10Volts;

            //Put in initial values in ForceVal
            ForceVal[0] = 0;
            ForceVal[1] = 0;
            ForceVal[2] = 0;
            ForceVal[3] = 0;
            ForceVal[4] = 0;

            //read in data from DaqBoard
            DaqBoard.AIn(0, Range, out DatVal[0]);
            DaqBoard.AIn(1, Range, out DatVal[1]);
            DaqBoard.AIn(2, Range, out DatVal[2]);
            DaqBoard.AIn(3, Range, out DatVal[3]);

            //Convert data to voltage
            DaqBoard.ToEngUnits(Range, DatVal[0], out VoltVal[0]);
            DaqBoard.ToEngUnits(Range, DatVal[1], out VoltVal[1]);
            DaqBoard.ToEngUnits(Range, DatVal[2], out VoltVal[2]);
            DaqBoard.ToEngUnits(Range, DatVal[3], out VoltVal[3]);


            //New Sheet
            ForceVal[0] = 487.33 * (double)VoltVal[0];
            ForceVal[1] = 479.85 * (double)VoltVal[1];
            ForceVal[2] = 2032.52 * (double)VoltVal[2];
            ForceVal[3] = 18.91 * (double)VoltVal[3];

            return(ForceVal);
        }
示例#15
0
        /// <summary>
        ///
        /// </summary>
        public void Activar_Relevador()
        {
            int FirstBit;
            int PortType;
            int NumPorts;
            int ProgAbility;
            int NumBits;

            MccDaq.DigitalPortType PortNum;
            MccDaq.MccBoard        DaqBoard = new MccDaq.MccBoard(0);
            DigitalIO.clsDigitalIO DioProps = new DigitalIO.clsDigitalIO();

            try
            {
                PortType = DigitalIO.clsDigitalIO.PORTOUT;
                NumPorts = DioProps.FindPortsOfType(DaqBoard, PortType, out ProgAbility,
                                                    out PortNum, out NumBits, out FirstBit);

                string Aux = string.Empty;
            }
            catch (Exception)
            {
            }
        }
示例#16
0
 private void btnInterfaz_Click(object sender, EventArgs e)
 {
     MccDaq.ErrorInfo ULstat;
     interfaz = new MccDaq.MccBoard(Convert.ToInt16(txtInterfaz.Text));
     ULstat = interfaz.DConfigPort(puerto, direccion);
 }
示例#17
0
        private void InitUL()
        {
            int FirstPoint;
            MccDaq.ErrorInfo ULStat;

            // Initiate error handling
            //  activating error handling will trap errors like
            //  bad channel numbers and non-configured conditions.
            //  Parameters:
            //    MccDaq.ErrorReporting.PrintAll :all warnings and errors encountered will be printed
            //    MccDaq.ErrorHandling.StopAll   :if any error is encountered, the program will stop

            ULStat = MccDaq.MccService.ErrHandling(MccDaq.ErrorReporting.PrintAll, MccDaq.ErrorHandling.StopAll);

            MemHandle = MccDaq.MccService.WinBufAlloc(Count); // set aside memory to hold data
            if (MemHandle == 0)
                Application.Exit();

            DaqBoard = new MccDaq.MccBoard(0);

            // output (low)
            DAData[0] = 0;
            DAData[1] = 0;

            // output (high))
            DAData[2] = 65535;
            DAData[3] = 65535;

            FirstPoint = 0;

            ULStat = MccDaq.MccService.WinArrayToBuf(ref DAData[0], MemHandle, FirstPoint, Count);
        }
示例#18
0
 public DAQBoardInterface(int boardNumber, int channel)
 {
     board = new MccDaq.MccBoard(boardNumber);
     range = MccDaq.Range.Bip10Volts;
     chan = channel;
 }
示例#19
0
        private void InitUL()
        {
            //			short i;
            MccDaq.ErrorInfo ULStat;

            // Initiate error handling
            //  activating error handling will trap errors like
            //  bad channel numbers and non-configured conditions.
            //  Parameters:
            //    MccDaq.ErrorReporting.PrintAll :all warnings and errors encountered will be printed
            //    MccDaq.ErrorHandling.StopAll   :if any error is encountered, the program will stop

            ULStat = MccDaq.MccService.ErrHandling(MccDaq.ErrorReporting.PrintAll, MccDaq.ErrorHandling.StopAll);

            DaqBoard = new MccDaq.MccBoard(BoardNum);

            MemHandle = MccDaq.MccService.WinBufAlloc(NumElements); // set aside memory to hold data
            if (MemHandle == 0)
                Application.Exit();
        }
 public TestFixtureDAQ(ref MccDaq.MccBoard aDaqBoard)
 {
     DaqBoard = aDaqBoard;
 }