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}); }
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(); } }
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 }); }
///******************************************************************************************************* ///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 { } }
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); }
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(); } }
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(); } }
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(); } }
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); }
/// <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) { } }
private void btnInterfaz_Click(object sender, EventArgs e) { MccDaq.ErrorInfo ULstat; interfaz = new MccDaq.MccBoard(Convert.ToInt16(txtInterfaz.Text)); ULstat = interfaz.DConfigPort(puerto, direccion); }
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); }
public DAQBoardInterface(int boardNumber, int channel) { board = new MccDaq.MccBoard(boardNumber); range = MccDaq.Range.Bip10Volts; chan = channel; }
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; }