910

download 910

of 17

description

910

Transcript of 910

  • Pg. 1

    GRUPO: ___________ FECHA: _______________________

    ALUMNO 1: ___________________ ALUMNO2:_________________________ EQUIPOS ELECTRICOS DE MEDIDA 4 GRADUADO E IGEIERA MECICA

    SESI 9 DE GRUPO REDUCIDO

    COTROL DE MDULOS ICP-CO CO MODBUS

    Introduccin: En esta sesin el alumno se familiarizar con el funcionamiento de los mdulos en modo MODBUS. Para ello se probarn comandos MODBUS que permitiran cambiar los

    mdulos por otros, incluso de distinto modelo y fabricante sin necesidad de modificar el

    programa.

    Caso planteado : Esta prctica se realizar con mdulos ICP-CON M-7011. (Se estudiarn los comandos del

    7011 y del 7018 por razones que se vern). En primer lugar, utilizando la aplicacin ICPCON

    Utility, se comprobar que el mdulo est en modo Modbus RTU (de no estarlo se

    programar en este modo). As mismo, desde la misma ICPCON Utility, utilizando el modo

    terminal, se enviarn comandos manualmente y se comprobarn las respuestas. En otra sesin

    se utilizar el LabVIEW y la librera Modbus, que se instalar si no lo est, para comprobar el

    uso de sta.

    OTA: Aunque existe en la web del fabricante una nota (release_note_m7011_ver11.pdf) con las direcciones de los registros en modo MODBUS y en el manual del M-7018 hay un

    captulo referido a las mismas, segn se desprende del manual del M-7018, estas direcciones

    son vlidas a partir de una determinada versin de firmware. La documentacin disponible

    actualmente para el 7011 no es completa en modo MODBUS y slo se dispone de un mapa de

    direcciones.

    Las direcciones son las que se detallan en las tablas de los comandos respectivos. Por

    ejemplo, en la relacin de direcciones se especifica la direccin 30001 para la(s) entrada(s)

    analgica(s) (input register), sin embargo en los mdulos del laboratorio dicha direccin es la

    0 (tamao 1 para el M-7011 y tamao 8 para el 7018) como se ver en esta sesin ms

    adelante.

    Esto se debe a que hay que tener cuidado con que en algunos puntos se nos da la direccin en

    decimal (30129) y en otros en hexadecimal (0x80). En este ejemplo es la misma direccin

    (ms adelante se ver). Slo adelantar que el primer 3 es un mapeo de tabla y no se considera

    fsicamente, as nos quedara la 129 a la que se resta uno (segn aplicaciones) y nos queda

    128 = 0x80.

    Las siguientes figuras muestran lo comentado en el apartado anterior:

  • Pg. 2

    Segn la descripcin del comando, la direccin de comienzo de los registros de entrada es la cero, y la 80 hex

    para la lectura de la temperatura de compensacin de termopares.

    En la tabla de mapeo de direcciones posterior, esta direccin pasa a representase como la 30001

    Para ms informacin puede consultarse el tutorial de NI sobre MODBUS (NI-Tutorial-4722-

    en.pdf que se puede obtener en la web de National Instruments)

  • Pg. 3

    Sesin 9: Desarrollo:

    Configuracin y pruebas manuales

    Conectar los mdulos (que tengan algn M-7011)

    Lanzar la aplicacin DCON-Utility y comprobar que el mismo est en modo MOD-Bus y

    datos en complemento a 2. Si no lo est, seguir los pasos para ponerlo en dicho modo.

    Conectar la entrada analgica y la entrada digital para realizar pruebas. Verificar el

    funcionamiento utilizando la utilidad:

    Podemos observar que el valor de la entrada analgica es 7FFF (Word de 16 bits)

    correspondiendo a un registro modbus. En el rango elegido (+/-2.5V) este valor se

    corresponde con +2.5V. El valor 8000 se correspondera con -2.5V.

  • Pg. 4

    Utilizacin del 7011 con MODBUS:

    El protocolo MODBUS especifica comandos y tipos de datos que luego cada fabricante asocia a su dispositivo:

    Inicialmente esta nomenclatura puede prestarse a confusin dado que tiene su origen en la

    utilizacin de PLCs que bsicamente eran controladores lgicos programables destinados al

    control de cuadros de maniobras (de ah nomenclatura de coils (rels), entradas discretas,

    registros, ). Al extenderse el uso a sistemas de adquisicin de datos la interpretacin de

    estos conceptos no resulta inmediata y podemos aceptar que Discrete Input se asocie a

    entradas digitales (slo lectura) y Coils se asocie a salidas digitales (escritura/lectura). Por

    otra parte, el concepto de Register ira asociado a registros de 16 bits (inicialmente

    digitales). Esta anchura nos permite utilizarlos para registrar informacin convertida (ADC)

    as, en nuestros mdulos Input Registers se asocia a las entradas analgicas cuyos valores

    nos vendrn en una word de 16 bits (slo lectura) como hemos visto anteriormente. Por su

    parte Holding Registers tendra una equivalencia en salidas analgicas (no aplicable en

    nuestro mdulo), de ah que sea escritura/lectura. Para complicarnos ms las cosas en esta

    introduccin, las direcciones pueden venir mapeadas en tablas que distribuyan los tipos de

    datos:

    Si observamos la tabla de direcciones utilizada por ICP-CON vemos que utiliza el quinto

    dgito de tabla de registro. En su momento lo ignoraremos en nuestra aplicacin discreta o con

    LabVIEW. Es recomendable hacer pruebas previas para asegurarnos del modelo utilizado por

    nuestro dispositivo concreto. Adems hemos de restarle uno a la cifra obtenida.

    Utilizar las tablas siguientes, el anexo modbus del manual del 7011 (y la versin del 7018

    que incluye los comandos Modbus) y/o el documento Modbus_Application_Protocol

    (utilizado en las transparencias de teora) para enviar diversos comandos y comprobar las respuestas:

  • Pg. 5

    1.- Escritura de salida digital del 7011:

    En este caso, para nuestro mdulo, se utilizar la funcin 05:

    Al igual que para el comando 01 (lectura) y segn hemos visto antes, la direccin base es la

    32 en nuestro mdulo:

    La DO_0 ser la 32 (0x20) y la DO_1 ser la 31 (0x21):

    Para probar este comando podemos combinarlo con el siguiente de lectura de coils (comando

    01). Tambin podemos ver la salida con un osciloscopio, con un diodo led, con un polmetro.

    (Atencin, la salida es colector abierto, es decir habr que poner un pull-up si no no veremos

    nada con el polmetro o con el osciloscopio)

    Obsrvese el comando, para escribir un 0 hay que poner 0x0000 en el campo valor y para

    escribir un 1 hay que poner 0xFF00.

  • Pg. 6

    2.- Lectura de la salida digital (coils) del 7011:

    Aunque sean salidas digitales, podemos leer su valor. En el 7011 el comando que

    procede es el 01:

    Como hemos visto, la direccin de las salidas digitales comenzara en 32 y la de las entradas

    digitales la 0. El comando para leer salidas digitales sera el 01:

    Probar comandos de escritura y de lectura de las salidas digitales del 7011.

    (LAS PREGUTAS SE RESPODE E EL AEXO, O AQU.)

    Pregunta 1: Cul es la direccin de la salida DO_1 del 7011?

    Pregunta 2: Qu obtenemos si enviamos el comando 02 05 00 21 03 00? Justificar la respuesta.

    Pregunta 3: Qu tienen en comn los cdigos de error devueltos por las funciones MODBUS? (Ver el apartado 4.5 Define MODBUS Transaction del documento Modbus_Application_Protocol_V1_1b3)

  • Pg. 7

    3.- Lectura de entradas discretas (digital):

    En este caso el comando sera el 02:

    Desde el punto de vista de ste mdulo

    podemos probar comandos como 02 02 00

    00 00 01 (ms el checksum que calcula la

    aplicacin)

    Probar, desde el terminal de la utilidad ICP-

    CON, a enviar un comando para leer la

    seal DI_0 del mdulo:

    02 01 00 00 00 01 (el checksum lo calcula

    y aade la aplicacin)

    Pregunta 4:

    Justificar los bytes que enviamos y razonar la respuesta.

  • Pg. 8

    Pregunta 5:

    a) Qu son el primer y el segundo 02 del comando?

    b) Qu respuesta obtenemos?

    c) Qu respuesta obtenemos si enviamos un 02 02 00 10 00 01? Porqu?

    4.- Lectura de registros de entrada (entrada analgica):

    Los mdulos ICP-CON utilizan el tipo registro para entregar la informacin analgica.

    En este sentido utilizaremos el comando 04:

    De nuevo podemos probar este comando conectando la entrada diferencial analgica a una

    fuente de alimentacin (tener la precaucin de que la entrada debe mantenerse entre 0V y 2,5V).

    Desde la aplicacin ICP-CON, en la barra de men de la utilidad, seleccionar el modo

    Terminal:

    Elegir protocolo Modbus (en este caso no tenemos que calcular el Checksum, la aplicacin lo

    pone directamente porque no es opcional)

    Segn lo visto anteriormente y las especificaciones del mdulo la direccin base de la entrada

    analgica sera la 0 y el nmero de canales 1 (el 7011) slo tiene 1 entrada analgica. (El

    7018 tiene 8 canales). El resultado ser una word (2 bytes) que, en complemento a 2, nos dar

    el resultado. (Como el que aparece en la utilidad de ICP-CON).

  • Pg. 9

    Probar a enviar el comando de lectura y obtener distintas respuestas a distintas entradas de

    tensin:

    Pregunta 6:

    Qu valor tiene la entrada analgica para los

    tres comandos de la figura? (Ver la

    configuracin en la figura anterior)

    Primer comando, Vi =

    Segundo comando, Vi =

    Tercer comando, Vi =

    Razonar las respuestas:

    (Redondear sin entrar en detalles de dcima,

    slo el orden del dato)

    (El rango es +/- 2.5V)

    5.- Escritura de registro simple (salida analgica):

    Pregunta 7:

    Porqu no podemos probar esta funcin con el mdulo 7011?

  • Pg. 10

    6.- Varios:

    Pregunta 8: En qu grupo de funciones del protocolo

    MODBUS se englobara la

    funcin 70 (0x46) del

    manual del M-7018?,

    porqu?

    Pregunta 9: Razonar la respuesta recibida al enviar el comando

    02 46 00 a nuestro 7011.

    Resultados:

    Durante la sesin se mostrar el funcionamiento al profesor y, acabada la prctica, se entregar el anexo con los datos del grupo y las respuestas, no es necesario entregar el resto de la memoria.

    OBSERVACIOES / COMETARIOS:

    LAS PREGUTAS SE RESPODE E EL AEXO A ETREGAR, O E LA MEMORIA.

    __________________________________________________________________________________________

  • Pg. 11

    AEXO RESPUESTAS:

    GRUPO: ___________ FECHA: _______________________

    ALUMNO 1: ___________________ ALUMNO2:_________________________

    EQUIPOS ELECTRICOS DE MEDIDA 4 GRADUADO E IGEIERA MECICA

    SESI 9 DE GRUPO REDUCIDO

    COTROL DE MDULOS ICP-CO CO MODBUS

    Pregunta 1: Cul es la direccin de la salida DO_1 del 7011?

    Pregunta 2: Qu obtenemos si enviamos el comando 02 05 00 21 03 00? Justificar la respuesta.

    Pregunta 3: Qu tienen en comn los cdigos de error devueltos por las funciones MODBUS? (Ver el apartado 4.5 Define MODBUS Transaction del documento Modbus_Application_Protocol_V1_1b3)

    Pregunta 4: Justificar los bytes que enviamos y razonar la respuesta.

  • Pg. 12

    Pregunta 5:

    a) Qu son el primer y el segundo 02 del comando?

    b) Qu respuesta obtenemos?

    c) Qu respuesta obtenemos si enviamos un 02 02 00 10 00 01? Porqu?

    Pregunta 6:

    Qu valor tiene la entrada analgica para los tres comandos de la figura? (Ver la

    configuracin en la figura anterior)

    Primer comando, Vi =

    Segundo comando, Vi =

    Tercer comando, Vi =

    Razonar las respuestas:

    (Redondear sin entrar en detalles de dcima, slo el orden del dato)

    (El rango es +/- 2.5V)

    Pregunta 7:

    Porqu no podemos probar esta funcin con el mdulo 7011?

    Pregunta 8: En qu grupo de funciones del protocolo MODBUS se englobara la funcin 70 (0x46) del manual del M-7018?, porqu?

    Pregunta 9: Razonar la respuesta recibida al enviar el comando

    02 46 00 a nuestro 7011.

  • GRUPO: ___________ FECHA: _______________________

    ALUMNO 1: ___________________ ALUMNO2:_________________________

    EQUIPOS ELECTRNICOS DE MEDIDA 4 GRADUADO EN INGENIERA MECNICA

    SESIN 10 DE GRUPO REDUCIDO

    CONTROL DE MDULOS ICP-CON CON LabVIEW y MODBUS

    Introduccin:

    Una vez familiarizados con el MODBUS el objetivo de esta sesin es realizar una aplicacin con mdulos de adquisicin que utilicen este protocolo. Si bien podramos implementar este protocolo a travs del bus serie y enviando y recibiendo las tramas adecuadas, LabVIEW incluye una librera para este protocolo que nos facilitar la generacin de las tramas y el tratamiento de errores. Esta librera, si no est incluida en la versin que tengamos, la podemos descargar de la web de National Instruments. En la misma tendremos tambin las instrucciones para incluirla en nuestro programa LabVIEW.

    Aplicacin MODBUS con LabVIEW:

    Objetivo:

    Familiarizarse con la librera MODBUS e implementar una aplicacin bsica en LabVIEW que lea la entrada analgica utilizando comandos MODBUS. La aplicacin deber incluir tambin el uso de entrada y/o salida digital.

    Desarrollo:

    Cuando tenemos la librera de MODBUS instalada en LabVIEW disponemos de dos posibilidades para acceder a sus funciones y ejemplos. Una es mediante el fichero NI Modbus.llb que podemos invocar desde Select a vi:

  • En la misma disponemos de una serie de funciones y ejemplos para el manejo de dispositivos MODBUS. Tambin observamos que tenemos las mismas para MODBUS Ethernet y para Serie. Si utilizamos estas funciones sueltas tendremos que incluir la inicializacin previa.

    La otra posibilidad es recurrir a la librera MODBUS que se habr incluido al completar la instalacin:

    En este caso observamos que tenemos las dos implementaciones de MODBUS (Ethernet y Serie) pero, en principio menos opciones. En realidad disponemos del mismo orden de funciones, lo que sucede es que la funcin MB Serial Master Query se puede implementar con distintos comandos autoadoptando la misma distintas implementaciones:

    (Es lo que se llama un selector vi polimrfico)

    Adems tambin se pueden abrir ejemplos demostracin que podemos probar con nuestro mdulo.

    (En el ejemplo MB Serial Example Master.vi hemos de cambiar la direccin base en Coils to write de 0 que est a 32 que es la que usa nuestro mdulo para las salidas digitales. La entrada digital funciona con la opcin por defecto. Tambin hemos de evitar (no usar) la opcin Registers to write porque nuestro mdulo no tiene salidas analgicas.)

  • El resultado quedar as:

    Hemos de seleccionar y programar el puerto COM nuestro

    Podemos actuar sobre las salidas digitales (Slo tenemos 2)

    No usar registros de salida (salida analgica)

    Podemos visualizar el Estado de la entrada digital (slo tenemos 1)

    Podemos ver el valor de la entrada analgica

    Qu ocurre si intentamos escribir en los registros de salida?

    Aplicacin:

    Podemos comenzar realizando un pequeo programa (sin ni siquiera bucle infinito) que nos permita comprobar distintas funciones como las vistas en la prctica 9:

    Primero configuramos el puerto serie y a continuacin implementamos la funcin a realizar. (Recordar que es la misma pero tiene pestaa de seleccin (polimrfica))

  • Implementacin LabVIEW:

    Se pueden probar distintas funciones MODBUS con slo cambiar la funcin en la pestaa. (NOTA: cuando se cambie la pestaa es muy probable que los indicadores y controles que tengamos conectados nos provoquen error porque no sern adecuados. Por ejemplo, si tenamos la funcin leer coil, el indicador sera digital, si la cambiamos por leer registro el indicador tendr que ser numrico)

    Ejemplos para probar:

    Read Coils:

    Read Input Register:

    Cmo podemos leer la temperatura de la unin CJC?

    Read Input Register con error: (cul es el error?) (no es que falten las constantes del puerto serie, si no ponemos nada toma los valores por defecto, que nos valen)

  • Write multiple coils:

    Qu error hay en la imagen si va destinado a nuestro mdulo ICP-CON 7011?

    Y si fuera al 7018?

    Montaje final (opcional):

    Una vez cogida la soltura con las funciones en LabVIEW, se puede implementar un control que tenga una variable (que leeremos en MODBUS del 7011), un punto de ajuste (virtual) que compararemos con la variable. Si la variable supera al punto de ajuste activaremos una alarma que ser un led virtual en el panel y, simultneamente, la salida DO_0 del mdulo.

    La variable leda deber ajustarse al rango de 0 a 2,5V.

    Resultados:

    Entregar el fascculo relleno y enviar el fichero .vi (DONDE SE PONDR ALGUNA IDENTIFICACIN DEL GRUPO Y SUS MIEMBROS) al campus virtual a la tarea que se habilitar para ello.

    OBSERVACIONES / COMENTARIOS: