„DAQMX kártya példaprogram” változatai közötti eltérés
A Fizipedia wikiből
Fuge (vitalap | szerkesztései) |
Fuge (vitalap | szerkesztései) (Visszavontam Fuge (vita | szerkesztései) szerkesztését (oldid: 8472)) |
||
34. sor: | 34. sor: | ||
private AnalogSingleChannelReader reader; | private AnalogSingleChannelReader reader; | ||
+ | double Minimumvoltage = 0; | ||
+ | double Maximumvoltage = 5; | ||
public Form1() | public Form1() | ||
{ | { | ||
52. sor: | 54. sor: | ||
OutTask = new Task(); //Task konstruktora | OutTask = new Task(); //Task konstruktora | ||
//Kimeneti csatorna letrehozasa: | //Kimeneti csatorna letrehozasa: | ||
− | OutTask.AOChannels.CreateVoltageChannel("Dev1/ao0", "", | + | OutTask.AOChannels.CreateVoltageChannel("Dev1/ao0", "", |
+ | Minimumvoltage, Maximumvoltage, | ||
AOVoltageUnits.Volts); | AOVoltageUnits.Volts); | ||
writer = new AnalogSingleChannelWriter(OutTask.Stream); | writer = new AnalogSingleChannelWriter(OutTask.Stream); | ||
59. sor: | 62. sor: | ||
//Bemeneti csatorna letrehozasa: | //Bemeneti csatorna letrehozasa: | ||
InTask.AIChannels.CreateVoltageChannel("Dev1/ai0", "", | InTask.AIChannels.CreateVoltageChannel("Dev1/ai0", "", | ||
− | AITerminalConfiguration.Rse, | + | AITerminalConfiguration.Rse, Minimumvoltage, Maximumvoltage, |
AIVoltageUnits.Volts); | AIVoltageUnits.Volts); | ||
reader = new AnalogSingleChannelReader(InTask.Stream); | reader = new AnalogSingleChannelReader(InTask.Stream); |
A lap 2013. április 8., 14:39-kori változata
A Form tartalma:
- Button startButton;
- Button readButton;
- TextBox inputBox;
Megjegyzés: a kártya azonosítója ("DevXX") a MAX listájában ellenőrizhető. Az alábbi kódban a "Dev1" stringet át kell írni a megfelelő értékre, amennyiben szükséges.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; //a kovetkezo harom using direktivat hozza kell adni a fejlechez //az NI es ZedGraph referenciat hozza kell adni a projecthez using ZedGraph; using NationalInstruments.DAQmx; using System.IO; namespace DAQMX { public partial class Form1 : Form { //Global valtozok private Task OutTask; //kimeneti Task: Dev1/ao0 private AnalogSingleChannelWriter writer; private Task InTask; //bemeneti Task: Dev1/ai0 private AnalogSingleChannelReader reader; double Minimumvoltage = 0; double Maximumvoltage = 5; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { //a masodik gomb le van tiltva, amig nem nyomjuk meg a felsot readButton.Enabled=false; } //Inicializalas a meres megkezdese elott //peldaul gombnyomasra private void startButton_Click(object sender, System.EventArgs e) { //Kimenet OutTask = new Task(); //Task konstruktora //Kimeneti csatorna letrehozasa: OutTask.AOChannels.CreateVoltageChannel("Dev1/ao0", "", Minimumvoltage, Maximumvoltage, AOVoltageUnits.Volts); writer = new AnalogSingleChannelWriter(OutTask.Stream); //Bemenet InTask = new Task(); //Task konstruktora //Bemeneti csatorna letrehozasa: InTask.AIChannels.CreateVoltageChannel("Dev1/ai0", "", AITerminalConfiguration.Rse, Minimumvoltage, Maximumvoltage, AIVoltageUnits.Volts); reader = new AnalogSingleChannelReader(InTask.Stream); //miutan inicializaltuk a merest, megnyomhatjuk a masodik gombot is readButton.Enabled=true; } private void readButton_Click(object sender, System.EventArgs e) { Double input = 0; //a feszultseg kiadasat es visszaolvasasat az alabbi fuggveny vegzi input=write_And_Read(); //az eredmeny kiirasa inputBox.Text=input.ToString("0.000"); } //data nagysagu feszultseg kiadasa //es a bemenet beolvasasa private Double write_And_Read() { Double data=0.2; //mindig 0 es 5V kozott! writer.WriteSingleSample(true,data); //a fuggveny a beolvasott ertekkel ter vissza return reader.ReadSingleSample(); } private void Form1_FormClosed(object sender, FormClosedEventArgs e) { destroy(); } //eroforrasok felszabaditasa //Form bezarasakor hivjuk meg! private void destroy() { OutTask.Dispose(); InTask.Dispose(); } } }