Está en la página 1de 24

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.

También podría gustarte