Post on 29-Oct-2015
transcript
PRCTICA I
Elaboracin de una tarea digital de entrada en el MAX
1. Conecte la tarjeta DAQ USB 6009 a la computadora.
2. Abra el software Automation Xplorer, MAX.
3. Asegrese de que el MAX reconozca a la tarjeta USB 6009 en el men
Devices and Interfases ---- NI-DAQmx Devices.
4. Seleccione la tarjeta que se encuentra en el men del paso 3.
5. Oprima el botn derecho del mouse y seleccione crear una tarea: Create
New Task.
6. Seleccione Generate Signal --- Digital Input --- Port Input.
7. Escoja Port0.
8. Elija un nombre que identifique a la tarea digital que se esta elaborando.
9. Grabe la tarea. Si no esta habilitada la funcin de grabar habilite Invert
All Lines y enseguida deshabilite la misma opcin.
10. Si realiza todo este procedimiento, esta lista la tarea para usarla en
Visual Studio o Labview.
PRCTICA II
Adquisicin de seales digitales
1. Seleccione un nuevo proyecto en Visual Studio.
2. Elija Measurement Studio ---- NI Window Application.
3. Asegrese de que este activada la opcin NI DAQmx Library.
4. Oprima finalizar.
5. Redimensione el panel frontal o form1.
6. Del men de herramientas elija 8 leds individuales.
7. Cambie el color de modo ON y Off de los leds.
8. Del men de herramientas seleccione un botn y cambie la propiedad
texto a la siguiente palabra: SALIR.
9. Doble click en el botn de salir y escriba
This.Close();
10. Del men de herramientas seleccione un botn y cambie la propiedad
texto a la siguiente palabra: ADQUIRIR.
11. Doble click en el botn y escriba el siguiente cdigo, respetando las
palabras reservadas.
string taskName = "aqu va el nombre de la tarea creada en el MAX";
using (Task digitalReadTask = DaqSystem.Local.LoadTask(taskName)
{
DigitalSingleChannelReader reader = new
DigitalSingleChannelReader(digitalReadTask.Stream);
int dataValueRead = reader.ReadSingleSamplePortInt32();
bool[] dataArray = new bool[8];
for (int i = 0; i < 8; i++)
{
if (((dataValueRead >> i) & 1) == 1)
dataArray[i] = true;
}
led1.Value = dataArray[0];
led2.Value = dataArray[1];
led3.Value = dataArray[2];
led4.Value = dataArray[3];
led5.Value = dataArray[4];
led6.Value = dataArray[5];
led7.Value = dataArray[6];
led8.Value = dataArray[7];
}
12. Conecte el circuito de 8 interruptores armado en el protoboard.
13. Ejecute el programa, de ser necesario corrija los errores.
14. Mueva hacia la posicin ON un interruptor, oprima el botn de adquirir.
15. Observe lo que ocurre en el panel frontal o forma.
16. Repita el paso 15 con diferentes interruptores.
17. Observe y comente lo que ocurre.
PRCTICA III
Elaboracin de una tarea digital de salida en el MAX
11. Conecte la tarjeta DAQ USB 6009 a la computadora.
12. Abra el software Automation Xplorer, MAX.
13. Asegrese de que el MAX reconozca a la tarjeta USB 6009 en el men
Devices and Interfases ---- NI-DAQmx Devices.
14. Seleccione la tarjeta que se encuentra en el men del paso 3.
15. Oprima el botn derecho del mouse y seleccione crear una tarea: Create
New Task.
16. Seleccione la opcin mostrada por la siguiente figura.
17. Generate Signal --- Digital Output --- Port Output.
18. Seleccione Port0.
19. Elija un nombre que identifique a la tarea digital que se esta elaborando.
20. Grabe la tarea. Si no esta habilitada la funcin de grabar habilite Invert
All Lines y enseguida deshabilite la misma opcin.
21. Si realiza todo este procedimiento, esta lista la tarea para usarla en
Visual Studio o Labview.
PRCTICA IV
Adquisicin de seales digitales
18. Seleccione un nuevo proyecto en Visual Studio.
19. Elija Measurement Studio ---- NI Window Application.
20. Asegrese de que este activada la opcin NI DAQmx Library.
21. Oprima finalizar.
22. Redimensione el panel frontal o form1.
23. Del men de herramientas elija 8 interruptores individuales localizado en
Measurement Studio.
24. Cambie el color de los interruptores, si lo desea.
25. Del men de herramientas seleccione un botn y cambie la propiedad
texto a la siguiente palabra: SALIR.
26. Doble click en el botn de salir y escriba
This.Close();
27. Haga doble click en cada uno de los interruptores y verifique que se
inicialize el evento mostrado para cada uno de los interruptores.
private void switch1_StateChanged_1(object sender, ActionEventArgs e)
{
}
28. Escriba el siguiente cdigo para cada uno de los eventos creados por los
interruptores
private void switch1_StateChanged_1(object sender, ActionEventArgs e)
{
string taskName = "MyDigitalOutTask";
using (Task digitalWriteTask =
DaqSystem.Local.LoadTask(taskName))
{
DigitalSingleChannelWriter writer = new
DigitalSingleChannelWriter(digitalWriteTask.Stream);
writer.WriteSingleSamplePort(true, 1);
}
}
private void switch2_StateChanged(object sender,
ActionEventArgs e)
{
string taskName = "MyDigitalOutTask";
using (Task digitalWriteTask =
DaqSystem.Local.LoadTask(taskName))
{
DigitalSingleChannelWriter writer = new
DigitalSingleChannelWriter(digitalWriteTask.Stream);
writer.WriteSingleSamplePort(true, 2);
}
}
private void switch3_StateChanged(object sender,
ActionEventArgs e)
{
string taskName = "MyDigitalOutTask";
using (Task digitalWriteTask =
DaqSystem.Local.LoadTask(taskName))
{
DigitalSingleChannelWriter writer = new
DigitalSingleChannelWriter(digitalWriteTask.Stream);
writer.WriteSingleSamplePort(true, 4);
}
}
private void switch4_StateChanged(object sender,
ActionEventArgs e)
{
string taskName = "MyDigitalOutTask";
using (Task digitalWriteTask =
DaqSystem.Local.LoadTask(taskName))
{
DigitalSingleChannelWriter writer = new
DigitalSingleChannelWriter(digitalWriteTask.Stream);
writer.WriteSingleSamplePort(true, 8);
}
}
private void switch5_StateChanged(object sender,
ActionEventArgs e)
{
string taskName = "MyDigitalOutTask";
using (Task digitalWriteTask =
DaqSystem.Local.LoadTask(taskName))
{
DigitalSingleChannelWriter writer = new
DigitalSingleChannelWriter(digitalWriteTask.Stream);
writer.WriteSingleSamplePort(true, 16);
}
}
private void switch6_StateChanged(object sender,
ActionEventArgs e)
{
string taskName = "MyDigitalOutTask";
using (Task digitalWriteTask =
DaqSystem.Local.LoadTask(taskName))
{
DigitalSingleChannelWriter writer = new
DigitalSingleChannelWriter(digitalWriteTask.Stream);
writer.WriteSingleSamplePort(true, 32);
}
}
private void switch7_StateChanged(object sender,
ActionEventArgs e)
{
string taskName = "MyDigitalOutTask";
using (Task digitalWriteTask =
DaqSystem.Local.LoadTask(taskName))
{
DigitalSingleChannelWriter writer = new
DigitalSingleChannelWriter(digitalWriteTask.Stream);
writer.WriteSingleSamplePort(true, 64);
}
}
private void switch8_StateChanged(object sender,
ActionEventArgs e)
{
string taskName = "MyDigitalOutTask";
using (Task digitalWriteTask =
DaqSystem.Local.LoadTask(taskName))
{
DigitalSingleChannelWriter writer = new
DigitalSingleChannelWriter(digitalWriteTask.Stream);
writer.WriteSingleSamplePort(true, 128);
}
}
29. Conecte el circuito de cada terminal del puerto 0 a cada uno de los leds
implementados en el protoboard.
30. Ejecute el programa, de ser necesario corrija los errores.
31. Mueva hacia la posicin ON cada interruptor y observe el led
correspondiente.
32. Observe y comente lo que ocurre.
PRCTICA V
Elaboracin de un programa de lectura y escritura digital
1. Elabore una tarea de entrada y otra de salida en el MAX, configurando al
Port0 con 4 bits de salida y al Port1 con 4 bits de entrada.
2. Seleccione 4 interruptores individuales del men de Measurement Studio
localizado en la paleta de herramientas, personalice cada uno de estos
objetos.
3. Seleccione 4 leds individuales del men de Measurement Studio
localizado en la paleta de herramientas, personalice cada uno de estos
objetos.
4. Doble click con el botn derecho del Mouse en cada interruptor y escriba
el siguiente cdigo para cada uno de los interruptores, en la parte
correspondiente a la declaracin de la tarea, ponga el nombre que le di
a la tarea creada en el MAX.
Private void switch1_StateChanged_1(object sender, ActionEventArgs e)
{
string taskName = aqu va el nombre de la tarea creada en el MAX;
using (Task digitalWriteTask =
DaqSystem.Local.LoadTask(taskName))
{
DigitalSingleChannelWriter writer = new
DigitalSingleChannelWriter(digitalWriteTask.Stream);
writer.WriteSingleSamplePort(true, 1);
}
}
private void switch2_StateChanged(object sender,
ActionEventArgs e)
{
string taskName = aqu va el nombre de la tarea creada en el MAX;
using (Task digitalWriteTask =
DaqSystem.Local.LoadTask(taskName))
{
DigitalSingleChannelWriter writer = new
DigitalSingleChannelWriter(digitalWriteTask.Stream);
writer.WriteSingleSamplePort(true, 2);
}
}
private void switch3_StateChanged(object sender,
ActionEventArgs e)
{
string taskName = aqu va el nombre de la tarea creada en el MAX;
using (Task digitalWriteTask =
DaqSystem.Local.LoadTask(taskName))
{
DigitalSingleChannelWriter writer = new
DigitalSingleChannelWriter(digitalWriteTask.Stream);
writer.WriteSingleSamplePort(true, 4);
}
}
private void switch4_StateChanged(object sender,
ActionEventArgs e)
{
string taskName = aqu va el nombre de la tarea creada en el MAX;
using (Task digitalWriteTask =
DaqSystem.Local.LoadTask(taskName))
{
DigitalSingleChannelWriter writer = new
DigitalSingleChannelWriter(digitalWriteTask.Stream);
writer.WriteSingleSamplePort(true, 8);
}
}
5. Ponga un botn y cambie la propiedad text a la palabra LEER. Doble
click con el botn derecho del mouse y escriba el siguiente cdigo
correspondiente a la lectura digital, en la parte de declaracin de la
tarea. Ponga el nombre de la tarea que usted creo en el MAX.
String taskName = aqu va el nombre de la tarea creada en el MAX;
using (Task digitalReadTask = DaqSystem.Local.LoadTask(taskName)
{
DigitalSingleChannelReader reader = new
DigitalSingleChannelReader(digitalReadTask.Stream);
int dataValueRead = reader.ReadSingleSamplePortInt32();
bool[] dataArray = new bool[8];
for (int i = 0; i < 4; i++)
{
if (((dataValueRead >> i) & 1) == 1)
dataArray[i] = true;
}
led1.Value = dataArray[0];
led2.Value = dataArray[1];
led3.Value = dataArray[2];
led4.Value = dataArray[3];
}
6. Conecte las terminales de salida del Port0 a las terminales de entrada
del Port1.
7. Ponga un botn para salir del modo de ejecucin del programa, escriba
el cdigo adecuado para cumplir con esta funcin.
8. Ejecute el programa y observe.
PRCTICA VI
Elaboracin de una tarea analgica de entrada en el MAX
1. Conecte la tarjeta DAQ USB 6009 a la computadora.
2. Abra el software Automation Xplorer, MAX.
3. Asegrese de que el MAX reconozca a la tarjeta USB 6009 en el men
Devices and Interfases ---- NI-DAQmx Devices.
4. Seleccione la tarjeta que se encuentra en el men del paso 3.
5. Oprima el botn derecho del mouse y seleccione crear una tarea: Create
New Task.
6. Seleccione Acquire Signal --- Analog Input --- Voltage.
7. Seleccione ai0.
8. Elija un nombre que identifique a la tarea analgica que se esta
elaborando.
9. Configure la tarea en la opcin Single Input Range a 10 Volts.
10. Configura la opcin Scaled Unit a Volts.
11. Seleccione en Terminal Configuration: Differential.
12. La opcin Acquisition Mode a Continuos Samples.
13. Grabe la tarea.
14. En la parte inferior de la pantalla de configuracin de la tarea seleccione
Conection Diagram. Observe la forma de conectar la tarjeta a la fuente
de voltaje en las terminales seleccionadas.
15. Si realiza todo este procedimiento, esta lista la tarea para usarla en
Visual Studio o Labview.
PRCTICA VII
Adquisicin de seales analgicas
1. Seleccione un nuevo proyecto en Visual Studio.
2. Elija Measurement Studio ---- NI Window Application.
3. Asegrese de que este activada la opcin NI DAQmx Library.
4. Oprima finalizar.
5. Redimensione el panel frontal o form1.
6. Del men de herramientas elija un botn.
7. Del men de herramientas seleccione un botn y cambie la propiedad
texto a la siguiente palabra: SALIR.
8. Doble click en el botn de salir y escriba
This.Close();
9. Del cuadro de herramientas elija una textbox, nmbrela textbox1
10. Del men de herramientas seleccione un botn y cambie la propiedad
texto a la siguiente palabra: ADQUIRIR SEAL.
11. Doble click en el botn y escriba el siguiente cdigo, respetando las
palabras reservadas.
string taskName = "Nombre de la tarea analgica de entrada";
using (Task analogReadTask =
DaqSystem.Local.LoadTask(taskName))
{
analogSingleChannelReader reader = new
analogSingleChannelReader(analogReadTask.Stream);
int dataValueRead = reader.ReadSingleSamplePortInt32();
textBox1.Text = Convert.ToString(dataValueRead);
}
12. Conecte una fuente de voltaje en las terminales de entrada analgica
configurada en la tarea hecha en el MAX. Ponga la salida de voltaje de la
fuente al mnimo.
13. Ejecute el programa, de ser necesario corrija los errores.
14. Incremente despacio el valor de voltaje de la fuente. Cada vez que haga
esto oprima el botn de adquirir seal.
15. Observe los valores que se presentan en el textbox.
16. Repita desde el paso 14, cuidando de no pasarse del voltaje mximo que
acepta la tarjeta DAQ.
17. Observe y comente lo que ocurre.
PRCTICA VIII
Elaboracin de una tarea analgica de salida en el MAX
1. Conecte la tarjeta DAQ USB 6009 a la computadora.
2. Abra el software Automation Xplorer, MAX.
3. Asegrese de que el MAX reconozca a la tarjeta USB 6009 en el men
Devices and Interfases ---- NI-DAQmx Devices.
4. Seleccione la tarjeta que se encuentra en el men del paso 3.
5. Oprima el botn derecho del mouse y seleccione crear una tarea: Create
New Task.
6. Seleccione Generate Signal --- Analog Output --- Voltage.
7. Seleccione ao0.
8. Elija un nombre que identifique a la tarea analgica que se esta
elaborando.
9. Configure la tarea en la opcin Single Output Range de 0 a 5 Volts.
10. Configura la opcin Scaled Unit a Volts.
11. Seleccione en Terminal Configuration: RSE
12. La opcin Generation Mode a Continuous Samples.
13. Grabe la tarea.
14. Si realiza todo este procedimiento, esta lista la tarea para usarla en
Visual Studio o Labview.
PRCTICA IX
Generacin de seales analgicas
1. Seleccione un nuevo proyecto en Visual Studio.
2. Elija Measurement Studio ---- NI Window Application.
3. Asegrese de que este activada la opcin NI DAQmx Library.
4. Oprima finalizar.
5. Redimensione el panel frontal o form1.
6. Del men de herramientas elija un botn.
7. Del men de herramientas seleccione un botn y cambie la propiedad
texto a la siguiente palabra: SALIR.
8. Doble click en el botn de salir y escriba
This.Close();
9. Del cuadro de herramientas elija una textbox, nmbrela textbox1
10. Del men de herramientas seleccione un botn y cambie la propiedad
texto a la siguiente palabra: GENERAR SEAL.
11. Doble click en el botn y escriba el siguiente cdigo, respetando las
palabras reservadas.
{
float dato = Single.Parse(textBox1.Text);
string taskName = "MyVoltageOutTask";
using (Task AnalogWriteTask = DaqSystem.Local.LoadTask(taskName))
{
AnalogSingleChannelWriter writer = new
AnalogSingleChannelWriter(AnalogWriteTask.Stream);
writer.WriteSingleSample(true, dato);
}
}
12. Conecte voltmetro en la salida correspondiente; terminal positivo a la
terminal 14 de la DAQ y terminal negativo a la terminal 13 de la DAQ.
13. Ejecute el programa, de ser necesario corrija los errores.
14. Escriba un valor de voltaje entre 0 y 5 Volts en la caja de texto, utilize la
coma como el punto decimal.
15. Observe el voltmetro.
16. Repita desde el paso 14, cuidando de no pasarse del voltaje mximo
configurado en la tarea de la tarjeta DAQ.
17. Observe y comente lo que ocurre.
PRCTICA X
Elaboracin de una tarea de entrada configurada como
contador de pulsos en el MAX
1. Conecte la tarjeta DAQ USB 6009 a la computadora.
2. Abra el software Automation Xplorer, MAX.
3. Asegrese de que el MAX reconozca a la tarjeta USB 6009 en el men
Devices and Interfases ---- NI-DAQmx Devices.
4. Seleccione la tarjeta que se encuentra en el men del paso 3.
5. Oprima el botn derecho del mouse y seleccione crear una tarea: Create
New Task.
6. Seleccione Acquire Signals --- Counter Input --- Edge Count.
7. Escoja ctr0.
8. Elija un nombre que identifique a la tarea digital que se esta elaborando.
9. Revise que la configuracin este de acuerdo a los datos que muestra la
siguiente ventana.
10. Grabe la tarea. Si no esta habilitada la funcin de grabar active en la
opcin Count direction Count down y luego vuelva a seleccionar Count
Up.
11. Si realiza todo este procedimiento, esta lista la tarea para usarla en
Visual Studio o Labview.
PRCTICA XI
Adquisicin de seales digitales
1. Seleccione un nuevo proyecto en Visual Studio.
2. Elija Measurement Studio ---- NI Window Application.
3. Asegrese de que este activada la opcin NI DAQmx Library.
4. Oprima finalizar.
5. Redimensione el panel frontal o form1.
6. Del men de herramientas seleccione un ComboBox.
7. Del men de herramientas seleccione una caja de texto.
8. Ponga un botn que muestre la leyenda Iniciar cuenta de pulsos.
9. Haga doble click en el botn y escriba el siguiente cdigo.
myTask = new Task();
myTask.CIChannels.CreateCountEdgesChannel(comboBox1.Text,
"Nombre de la tarea",
CICountEdgesActiveEdge.Falling, 0,
CICountEdgesCountDirection.Up);
myCounterReader = new CounterReader(myTask.Stream);
myTask.Start();
loopTimer.Start();
10. Ponga un botn que muestre la leyenda Parar la cuenta de pulsos.
myTask.Stop();
11. Del men de herramientas escoja un Timer.
12. Haga doble click sobre el timer y escriba el siguiente cdigo.
uint reading = myCounterReader.ReadSingleSampleUInt32();
textBox1.Text = Convert.ToString(reading);
13. Haga doble click en el form1 y escriba este cdigo.
comboBox1.Items.AddRange(DaqSystem.Local.GetPhysicalChannels(PhysicalC
hannelTypes.CI, PhysicalChannelAccess.External));
if (comboBox1.Items.Count > 0)
comboBox1.SelectedIndex = 0;
14. Doble click en el botn de salir y escriba
This.Close();
15. Ejecute el programa, de ser necesario corrija los errores.
16. Si el programa al ejecutarlo no muestra ningn error, preguntele a su
profesor cual es el hardware que se va a conectar.
17. Observe y comente lo que ocurre.