Step-By-Step: Starting a C#.NET Data Acquisition solution using the Universal Library

Last Modified: 3rd Jan 2013
Category: Data Acquisition > Universal Library
Platform: Windows
Version: All
Article Ref.: BEB2
»Return to previous search
»Print friendly version of this article.
1 out of 1 people have found this article useful.

Universal Library BEB2 Open C#.NET, and start a new Windows Application Add a reference to MccDaq Go to your Solution Explorer window Expand the References folder (if it is not already expanded) Right mouse click on References folder, and select Add Reference The Add Reference dialog box appears Scroll down to MccDaq, click on it, click on the Select button at the right Then click on the OK button at the bottom of the dialog box Add the namespace to the project Go to your Solution Explorer window click on Form1.vb then press F7 to activate the code window Locate the line using System.Data; Just after that add using MccDaq; Add Project variables Locate the line public class Form1 : System.Windows.Forms.Form After the opening parenthesis add (paste in ) the following code: //Here's where we declare our variables for the project private MccDaq.MccBoard DaqBoard; private MccDaq.ErrorInfo ULStat; private MccDaq.Range Range; Add the Initialization to Form1 procedure Locate public Form1() procedure Locate InitializeComponent(); Just after that add the following // 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 ULStat = MccDaq.MccService.ErrHandling(MccDaq.ErrorReporting.PrintAll, MccDaq.ErrorHandling.StopAll); Add a new instance of a board object Go to your Solution Explorer window click on Form1.vb then press Shift + F7 to activate the Form Designer Double click on the form to activate the Form1_Load event Just after that add int BoardNum; BoardNum = 1; //board number assigned by InstaCal DaqBoard = new MccDaq.MccBoard(BoardNum); Thats it. From here you can add code and procedures to things such as: Analog input: DaqBoard.AIn Analog InScan: DaqBoard.AInScan Digital In: DaqBoard.DIn Digital Out: DaqBoard.DOut Digital Bit In : DaqBoard.DBitIn Digital Bit Out: DaqBoard.DBitOut Analog Out: DaqBoard.AOut Analog Out Scan: DaqBoardAOutScan Please see the Universal Library function reference guide or C:\MCC\Unilib.chm for more information. For example, you could add a command button and 2 labels to the form, then paste in the follow to the code window: private void button1_Click(object sender, System.EventArgs e) { float EngUnits; System.UInt16 DataValue; int Chan; // Collect the data by calling AIn memeber function of MccBoard object // Parameters: // Chan :the input channel number // Range :the Range for the board. // DataValue :the name for the value collected Range = Range.Bip10Volts; // select Bip10Volts (member of Range enumeration) Chan = 0; // set input channel ULStat = DaqBoard.AIn( Chan, Range, out DataValue); if (ULStat.Value == MccDaq.ErrorInfo.ErrorCode.BadRange) { MessageBox.Show( "Change the Range argument to one supported by this board.", "Unsupported Range", MessageBoxButtons.OK); Application.Exit(); } // Convert raw data to Volts by calling ToEngUnits (member function of MccBoard class) ULStat = DaqBoard.ToEngUnits( Range, DataValue, out EngUnits); label1.Text = DataValue.ToString(); // print the counts label2.Text = EngUnits.ToString("F4") + " Volts"; // print the voltage } Note: This will only work for MCC hardware that has an A/D converter with a Bipolar 10 volt range. UniversalLibrary Windows All en

If you can't find a solution on the Knowledge Base then please contact us on the Technical Support Request Form or by email or by telephone on +44 (0) 203 695 7810

For the time being we are unable to offer the following product ranges although we are currently working hard to increase the number of products we can offer in the future. Please contact us to talk about alternative products that we may be able to offer you.