• No se han encontrado resultados

Estudio, análisis e implementación de mejoras en el laboratorio de Instrumentación y Medidas utilizando un sistema de supervisión, control y adquisición de datos

N/A
N/A
Protected

Academic year: 2020

Share "Estudio, análisis e implementación de mejoras en el laboratorio de Instrumentación y Medidas utilizando un sistema de supervisión, control y adquisición de datos"

Copied!
206
0
0

Texto completo

(1)

Universidad ORT Uruguay

Facultad de Ingeniería

Estudio, análisis e implementación de mejoras

en el laboratorio de Instrumentación y Medidas

utilizando un sistema de Supervisión, Control y

Adquisición de datos.

Entregado como requisito para la obtención del título de

Ingeniero en Electrónica

Ariel Peña – 109786

Mariana Derderian – 154560

Tutor

:

Claudio Misail

(2)

2

Declaración de autoría

Nosotros, Ariel Peña y Mariana Derderian, declaramos que el trabajo que se presenta en esa obra es de nuestra propia mano. Podemos asegurar que:

 La obra fue producida en su totalidad mientras realizábamos la tesis de grado para obtención del título de Ing. en Electrónica.

 Cuando hemos consultado el trabajo publicado por otros, lo hemos atribuido con claridad;

 Cuando hemos citado obras de otros, hemos indicado las fuentes. Con excepción de estas citas, la obra es enteramente nuestra;

 En la obra, hemos acusado recibo de las ayudas recibidas;

 Cuando la obra se basa en trabajo realizado conjuntamente con otros, hemos explicado claramente qué fue contribuido por otros, y qué fue contribuido por nosotros;

 Ninguna parte de este trabajo ha sido publicada previamente a su entrega, excepto donde se han realizado las aclaraciones correspondientes.

Mariana Derderian Ariel Peña

(3)

3

Abstract

En el presente documento se expone el estudio, análisis e implementación de mejoras para los laboratorios de la materia Instrumentación y Medidas de Universidad ORT.

Se buscó mostrar a los estudiantes la aplicación de nuevos conceptos, no solo para ser aplicados en la materia mencionada, sino también en otros cursos de la carrera de Ingeniería Electrónica como lo son Diseño de Sistemas de Control y Electrónica de Potencia.

Partiendo de las maquetas que se encontraban en el curso de Instrumentación y Medidas, se diseñaron las modificaciones necesarias para permitir la visualización de las medidas obtenidas de manera práctica en un PC mediante un software de Supervisión, Control y Adquisición de Datos (SCADA).

Para lograr implementar lo mencionado, se estudiaron las maquetas de los laboratorios con sus respectivos sensores, se realizaron las modificaciones necesarias en las mismas y se diseñó un sistema de comunicación y digitalización conformado por un microcontrolador como componente principal para establecer la comunicación con el software SCADA. Este último es lo que permite visualizar gráficamente en la computadora las modificaciones que se realizan en las maquetas del curso. La comunicación entre el bloque denominado comunicación y digitalización con el software en la PC se logra a través de la utilización del protocolo Modbus.

A modo de utilizar el SCADA como herramienta de control y visualización, se diseñó un nuevo sistema de medida como práctica ilustrativa, en donde se mide la velocidad angular de un motor de corriente continua, comandado desde la interface de usuario.

(4)

4

Palabras claves

(5)

5

Glosario

AD620AN: Amplificador de instrumentación.

Char: Denota un byte de datos, 8 bits.

Conversor A/D: Conversor analógico digital.

CRC: Chequeo de redundancia cíclica.

EAGLE: Easily Applicable Graphical Layout Editor.Programa para el diseño de placas de

circuito impreso (PCB layout).

Esclavo: Denota la funcionalidad de servidor en el protocolo Modbus.

Frame: Mensaje o paquete de datos.

FTDI: Conversor Serie-USB (TTL) que permite conectar dispositivos TTL por USB.

Function Code 03: Describe la función de lectura de registro, a realizar en el protocolo Modbus.

Function Code 10: Describe la función de escritura de registro, a realizar en el protocolo Modbus.

Galga extensiométrica: Sensor resistivo utilizado en la medida de esfuerzos mecánicos.

Inkscape: Editor de gráficos vectoriales en formato SVG.

IntegraXor: Software SCADA.

I/O: Entrada y Salida.

LM324: Amplificador operacional cuádruple.

LM741: Amplificador operacional simple.

Maestro: Denota la funcionalidad de cliente en el protocolo Modbus.

Microcontrolador: Circuito integrado programable, capaz de ejecutar las órdenes grabadas

en su memoria.

Modbus: Protocolo de comunicación serial.

Mplab: Editor IDE gratuito, destinado a productos de la marca Microchip.

NTC: Sensor de temperatura.

(6)

6

PDU: Unidad de Datos del Protocolo, en este documento refiere al protocolo Modbus.

PIC16F876A: Microcontrolador utilizado en este proyecto.

Potenciómetro: Resistencia es variable.

RPM: Revoluciones por minuto.

SCADA: Supervisory Control and Data Acquisition.

Script:Fragmento del código de un programa.

Slave Address:Dirección de esclavo.

Tags: Denominación que se le da, en el ámbito industrial, a las variables definidas en el Software SCADA.

Timer: Dispositivo para medir tiempo (Contador).

USB: Estándar industrial, bus universal serie.

(7)

7

Contenido

1. Introducción ... 11

1.1. Objetivo de la asignatura Instrumentación y Medidas ... 11

1.2. Descripción de los laboratorios actuales de la materia ... 11

1.3. Presentación del proyecto... 11

2. Objetivos del proyecto ... 13

3. Seguimiento y planificación del proyecto... 14

3.1. Seguimiento ... 14

3.2. Planificación ... 14

4. SCADA ... 16

4.1. Descripción de un sistema SCADA ... 16

5. Descripción del sistema a implementar ... 17

5.1. Bloque Sistema de Medida ... 17

5.2. Bloque Comunicación y Digitalización ... 18

5.3. Bloque Software SCADA ... 18

6. Software SCADA... 20

6.1. Requerimientos... 20

6.2. Selección de Software ... 20

6.2.1. DAQFactory SCADA software... 20

6.2.2. Integraxor SCADA Software ... 22

6.2.3. WinLog SCADA Software ... 24

6.2.4. Tabla comparativa de programas SCADA ... 25

6.3. Descripción General ... 26

6.3.1. Sistema de Comunicación ... 26

6.3.1.1. Descripción del Protocolo Modbus ... 26

6.3.1.1.1. Trama Modbus Serial ... 26

6.3.1.1.2. Comunicación Maestro-Esclavo ... 27

6.3.1.1.3. Modo de Transmisión RTU ... 29

6.3.1.1.4. Descripción del Mensaje Modbus ... 31

6.3.1.2. Modbus en Integraxor ... 32

6.3.1.2.1. Configuración ... 32

6.3.1.2.2. Lectura de Registros ... 34

6.3.1.2.3. Escritura de Registros ... 36

6.3.2. Interfaz Gráfica ... 38

(8)

8

6.3.3.1. Descripción de Variables en Integraxor ... 39

6.3.3.2. Comunicación de las Variables según su tipo ... 40

6.3.3.3. Descripción de Variables Definidas en Pantalla de Práctica1 ... 40

6.3.3.4. Descripción de Variables Definidas en Pantalla de Práctica2 ... 45

6.3.3.5. Descripción de Variables Definidas en Pantalla de Práctica3 ... 46

6.3.3.6. Descripción de Variables Definidas en Pantalla del Nuevo Sistema de Medida. 48 6.3.4. Scripts ... 53

6.3.5. Pruebas de detección de maquetas ... 53

7. Módulo de Comunicación y Digitalización ... 57

7.1. Requerimientos... 57

7.2. Hardware a utilizar ... 57

7.3. Esquema del Circuito ... 58

7.3.1. Microcontrolador PIC 16F876A ... 58

7.3.2. Conversor USB/Serie TTL ... 60

7.3.3. Software del microcontrolador ... 61

7.3.3.1. Nivel de Comunicación basado en Estados... 61

7.3.3.2. Descripción de las Funciones más Importantes ... 62

7.3.3.2.1. Función Principal (Main): ... 62

7.3.3.2.2. Detalle Función Procesar Respuesta Modbus: ... 63

7.3.3.2.3. Funcionamiento Conversión A/D ... 67

7.3.3.2.4. Variación de Duty Cycle ... 69

7.3.3.2.5. Variación de RPM ... 69

7.3.3.2.6. Servicio de Atención de Interrupciones ... 69

8. Laboratorios a estudiar ... 73

8.1. Medida de posición angular: Sensor Potenciométrico ... 73

8.1.1. Descripción de la práctica ... 74

8.1.2. Objetivos ... 75

8.1.3. Descripción del circuito a trabajar ... 75

8.1.4. Medidas a obtener ... 79

8.1.5. Variables definidas en el software IntegraXor ... 80

8.1.6. Cálculos de la práctica ... 82

8.1.7. Acondicionamiento necesario para la comunicación con PIC ... 89

8.1.8. Cálculo de errores de cuantificación ... 94

8.1.9. Pruebas realizadas ... 95

(9)

9

8.1.11. Placa implementada: Esquemático, PCB y maqueta ... 102

8.2. Medidas de Peso: Galga extensiométrica ... 103

8.2.1. Descripción de la práctica ... 105

8.2.2. Objetivos ... 105

8.2.3. Descripción del circuito a trabajar ... 105

8.2.4. Medidas a obtener ... 111

8.2.5. Variables definidas en el software IntegraXor ... 112

8.2.6. Cálculos de la práctica ... 114

8.2.7. Acondicionamiento necesario para la comunicación con PIC ... 119

8.2.8. Cálculo de errores ... 121

8.2.9. Pruebas realizadas ... 122

8.2.10. Resultados obtenidos ... 124

8.2.11. Placa implementada: Esquemático, PCB y maqueta ... 125

8.3. Medidas de temperatura: Termistor NTC ... 127

8.3.1. Descripción de la práctica ... 128

8.3.2. Objetivos ... 128

8.3.3. Descripción del circuito a trabajar ... 128

8.3.4. Medidas a obtener ... 133

8.3.5. Variables definidas en el software IntegraXor ... 133

8.3.6. Cálculos de la práctica ... 135

8.3.7. Acondicionamiento necesario para la comunicación con PIC ... 139

8.3.8. Cálculo de errores ... 142

8.3.9. Pruebas realizadas ... 143

8.3.10. Resultados obtenidos ... 145

8.3.11. Placa implementada: Esquemático, PCB y maqueta ... 147

9. Nuevo Sistema de Medida. ... 149

9.1. Objetivos ... 149

9.2. Motor de Corriente Continua ... 149

9.2.1. Codificador Incremental ... 152

9.2.2. Tacómetro ... 155

9.3. Descripción del Nuevo Sistema de Medida realizado ... 157

9.3.1. Diseño del Driver ... 158

9.3.2. Control del Driver ... 165

9.3.3. Control de Sentido de Giro ... 166

9.3.4. Medidor de Velocidad Angular ... 167

9.3.4.1. Tacómetro Digital y Detector de Sentido ... 167

(10)

10

9.3.5. Acondicionamiento PIC ... 172

9.4. Descripción de Variables Definidas en el Maestro SCADA ... 174

9.5. Pruebas realizadas ... 175

9.6. Placa implementada: Esquemático y PCB ... 183

10. Protección diseñada para las placas ... 185

10.1. Aislación Galvánica ... 185

10.2. Protección contra sobretensión ... 186

11. Diseño de las placas impresas ... 187

12. Conclusiones ... 188

13. Posibles mejores y posibilidades de crecimiento del trabajo ... 189

Referencias bibliográficas ... 190

A. Apéndice ... 192

A.1. Listado de componentes ... 192

A.1.1. Práctica: Medida de posición angular ... 192

A.1.2. Práctica: Medida de peso ... 193

A.1.3. Práctica: Medida de temperatura... 194

A.1.4. Práctica: Sistema de Medida de Velocidad Angular ... 195

A.2. Marco Teórico y desarrollo de las prácticas a desarrollar en el curso práctico de la asignatura ... 195

A.2.1. Práctica: Medida de posición angular ... 195

A.2.2. Práctica: Medida de peso ... 199

A.2.3. Práctica: Medida de temperatura... 202

(11)

11

1.

Introducción

En este capítulo se presenta el objetivo de la asignatura Instrumentación y Medidas, una descripción de los laboratorios actuales junto con la presentación del proyecto.

1.1.Objetivo de la asignatura Instrumentacio n y Medidas

La materia Instrumentación y Medidas forma parte del plan de estudios de la carrera Ingeniería en Electrónica. El curso tiene como objetivo trasmitir los conceptos básicos de los sistemas utilizados en la medida de variables físicas y de las técnicas de acondicionamiento de señales, profundizar el conocimiento de manejo y funcionamiento del instrumental utilizado en las clases prácticas mediante la realización de los laboratorios, así como también proporcionar al estudiante los conocimientos generales para el análisis y selección del sistema a utilizar en un problema real de ingeniería.

1.2.Descripcio n de los laboratorios actuales de la materia

En las clases prácticas de la materia, se estudian 3 sistemas de medida los cuales son: posición angular, peso y temperatura, en los cuales el docente es quien entrega la descripción y el procedimiento de la práctica a realizar, en donde el estudiante debe analizar el circuito, realizar una serie de cálculos requeridos, que le permitan obtener el valor de ciertos componentes que no se encuentran en la maqueta entregada por el docente y que forman parte del diseño de la misma. Una vez completado el circuito, debe efectuar las mediciones solicitadas las cuales le permitirán realizar un análisis sobre los resultados obtenidos, así como también poder llegar a ciertas conclusiones.

Los laboratorios abordan los siguientes temas:

 Medida angular, utilizando un sensor potenciométrico.

 Medida de peso, utilizando una célula de carga.

 Medida de temperatura, utilizando un termistor NTC.

1.3. Presentacio n del proyecto

(12)

12 proyecto que es a través del software SCADA, en donde las medidas se podrán visualizar en la interface de usuario que se diseñó.

En primera instancia, se estudiaron las maquetas de los laboratorios con sus respectivos sensores para determinar las características de las señales que se deberían visualizar en pantalla. Se diseñaron e implementaron modificaciones a los circuitos actuales para mejorar la performance y adaptar las señales que se digitalizarán, para poder ingresar al software.

A modo de utilizar el Software SCADA como herramienta de control, se diseñó una nueva maqueta, donde el SCADA actúa como controlador de acciones, enviando directivas que permiten variar la velocidad de giro de un motor de corriente continua y como receptor de información, midiendo las RPM de dos formas: mediante un tacómetro analógico y mediante un tacómetro digital.

Se definió el software SCADA a utilizar. Este se configuró y programó para oficiar de Maestro Modbus detectando automáticamente la maqueta conectada y permitiendo enviar y recibir datos para control y visualización.

Conociendo las señales a digitalizar y el software SCADA a utilizar, se diseñó el bloque central de digitalización y adquisición de datos, el cual debe permitir:

1) La conversión de las señales analógicas de las maquetas en un valor digital.

2) La comunicación mediante protocolo Modbus RTU con el Software SCADA para trasmitir los valores digitalizados y recibir las directivas del Maestro.

Este bloque se resolvió con un Microcontrolador, cuyo software se diseñó de manera que sea el mismo para todas las maquetas, con la implementación del protocolo Modbus RTU para comunicarse con elMaestro SCADA, la digitalización y demás funcionalidades necesarias.

El sistema se define en tres grandes bloques y se implementa físicamente en dos:

1) Software SCADA.

2) Digitalización y adquisición de datos. 3) Dispositivo de Medida:

a) Medida Angular b) Medida de Masa

c) Medida de Temperatura

d) Nuevo sistema de medida: Medida de velocidad angular Implementación:

1) Software SCADA, corre en un PC.

2) Maqueta: incluye el bloque Digitalización y Adquisición de Datos y el bloque del Dispositivo de Medida, es decir cada maqueta tiene su propio circuito de medida con su bloque de digitalización y adquisición de datos.

(13)

13

2.

Objetivos del proyecto

Los objetivos del proyecto son los siguientes:

 Acondicionar las maquetas que se utilizan en el curso práctico de Instrumentación y Medidas para que pudieran funcionar bajo la plataforma SCADA.

 Utilizar el software SCADA en su totalidad, tanto como panel de visualización, como de control.

 Brindarles a los estudiantes la posibilidad de utilizar nuevas herramientas de trabajo a través de la aplicación de conceptos estudiados en diversas materias de la carrera y adquiriendo nuevos.

Las características que debía cumplir el hardware implementado son las siguientes:

o Compacto: Se desea que sea fácil de trasladar y de conectar, tanto la parte relacionada con la comunicación maqueta-computadora, como el conectado de los componentes por parte del estudiante.

o Bajo costo: Se utilizaron componentes económicos ya que es para uso

académico.

o Componentes disponibles: Los componentes utilizados se encuentran con

facilidad en plaza.

o Protección: El circuito implementado debe ser capaz de tolerar posibles errores de los estudiantes sin sufrir alteraciones.

Las características que debía cumplir el software son las siguientes:

(14)

14

3.

Seguimiento y planificación del proyecto

Es importante para proyectos de larga duración, y en donde hay un grupo de trabajo, contar con herramientas que faciliten la organización y planificación de las tareas, así como también que permita que los integrantes obtengan de manera rápida y eficaz las últimas versiones de los trabajos.

3.1.Seguimiento

Para obtener un seguimiento constante y preciso sobre los avances del proyecto, se decidió tener reuniones semanales, en las cuales se comentaba sobre los avances logrados así como también para definir las tareas a realizar en los días posteriores.

En cada una de estas reuniones se construyó una bitácora, en donde se realizaba una breve descripción de lo conversado en la reunión. De esta manera se fue generando una carpeta con archivos en los cuales se tenía toda la información sobre el estado y la situación del proyecto.

Esta carpeta junto con las últimas versiones del trabajo, se fueron guardando en google drive, permitiendo de esta manera que los integrantes del equipo tengan acceso a todo lo realizado hasta el momento.

3.2.Planificacio n

Al comienzo de un proyecto es fundamental poder realizar una planificación sobre las tareas a realizar, así como también asignar un estimativo del tiempo que llevará cada una de ellas. Al inicio, las tareas definidas son más generales, debido a que no se tiene el conocimiento suficiente como para conocerlas en detalle, ni se conoce con exactitud el periodo de tiempo adecuado para la realización de las mismas. Es por ello que en nuestro caso, decidimos realizar una planificaron general al comienzo del proyecto, y luego se realizaron planificaciones a corto plazo, las cuales tenían una duración entre 1 semana y 20 días.

Para construir la planificación, realizamos un diagrama de Gantt, el cual fue implementado en el software Proyect Libre.

(15)

15

(16)

16

4.

SCADA

4.1.Descripcio n de un sistema SCADA

El termino SCADA proviene de las siglas en Ingles Supervisory Control and Data Acquisition (Adquisición de datos y supervisión de control).

Un software SCADA permite supervisar una planta o proceso por medio de una estación central (Master) y una o varias unidades remotas (Esclavos), por medio de las cuales se hace el control y/o adquisición de datos desde o hacia el campo.

Un esquema representativo de un sistema SCADA es el siguiente:

Figura-4.1- Diagrama de bloques del software SCADA

Uno o varios sensores miden una determinada magnitud, esta pasa por una etapa de conversión A/D y/o adaptación de señal, se realiza el procesamiento digital de la señal y se envía la información para visualizarla.

Dependiendo de la condición establecida en el software y el valor de un dato almacenado, se pude tomar una acción de activar o desactivar un actuador.

(17)

17

5.

Descripción del sistema a implementar

Partimos de la especificación de utilizar un software SCADA para la visualización de las medidas obtenidas a partir de las maquetas.

Por su parte las medidas obtenidas de las maquetas son una tensión de corriente continua de diferentes magnitudes.

Lo antes dicho nos conduce a definir un tercer bloque necesario para comunicarnos con el software SCADA y poder transmitir el valor de la medida obtenida.

El sistema queda definido entonces en tres bloques bien diferenciados, uno que comprende a la maqueta propiamente dicha, otro es el software SCADA que oficiará de Maestro y un tercer bloque denominado Comunicación y Digitalización que tendrá como principal objetivo ser el encargado de la comunicación con el software SCADA y de la digitalización de las señales analógicas provenientes de la maqueta entre otras que se detallarán más adelante.

Figura-5.1- Diagrama de bloques del sistema a implementar

5.1.Bloque Sistema de Medida

Este bloque está compuesto por el circuito del sistema de medida, ya sea medida de posición angular, medida de peso, medida de temperatura o la nueva práctica ilustrativa.

Se definió que todos los voltajes de cada una de las señales a medir, que van a ser visualizadas en SCADA, deben estar comprendidos dentro de un mismo rango de tensión limitado al rango de tensión admisible por el conversor que las digitalizará. Por este motivo, todas las señales que no están en este rango son acondicionadas.

(18)

18

5.2. Bloque Comunicacio n y Digitalizacio n

Este bloque comprende la implementación de un sistema de comunicación y digitalización de datos para todas las maquetas y funcionalidades extras para el Nuevo Sistema de Medida que se detallarán.

Como criterio de diseño se decidió que cada maqueta tendrá un sistema de Comunicación y Digitalización.

Como primer requerimiento tenemos cuatro medidas en la maqueta que queremos visualizar, lo cual implica contar como mínimo con cuatro conversores A/D. Dado que el software SCADA admite comunicación serie y se necesitan como mínimo, cuatro conversores A/D, sumado a que el sistema será para uso académico institucional, lo cual implica componentes de fácil adquisición y bajo costo, se decidió utilizar un microcontrolador PIC para implementar este bloque.

Por otro lado decidimos utilizar protocolo de comunicación Modbus RTU, por ser muy utilizado en sistemas de comunicación industriales, por permitir la funcionalidad Maestro-Esclavo y por ser manejado también por el software SCADA.

Como criterio de diseño se decidió que el software del microcontrolador será el mismo para todas las maquetas, por lo tanto se realizó un algoritmo interno para posibilitar esto.

Si bien el microcontrolador se comunica en forma serial con el software SCADA, se decidió instalar un conversor USB a serial TTL en la maqueta de forma tal que se pueda conectar la maqueta con un cable USB a un puerto USB de la PC.

Además se decidió realizar un aislamiento galvánico entre la PC y la maqueta, lo cual se diseñó e implementó en el sistema de comunicación, única conexión existente entre ambos bloques.

5.3.Bloque Software SCADA

Este bloque contempla el software SCADA propiamente dicho, el cual oficia de Maestro Modbus.

El primer criterio de diseño fue utilizar el protocolo Modbus, ya que lo admite el software SCADA elegido. Lo siguiente que se definió fue la comunicación; dentro de las opciones del software SCADA tenemos Ethernet, OPC o Serial, pero dado que los modelos de PIC clasificados para nuestra necesidad solo manejan comunicación serial, se eligió finalmente comunicación Serial.

(19)

19 será detectada y las medidas obtenidas de la nueva maqueta se mostrarán en la pantalla correspondiente.

Se decidió configurar el Maestro SCADA, para que cada maqueta conectada sea un dispositivo esclavo diferente. Por lo tanto cada uno tiene una dirección de esclavo diferente que lo identificará. También se decidió que cada dispositivo configurado dentro del software SCADA tenga sus variables en un rango de dirección de registro diferente.

(20)

20

6.

Software SCADA

6.1.Requerimientos

El primer y más importante requerimiento era encontrar un software que no significara un costo para la Universidad, no adquiriendo un compromiso de licencia a futuro. El software debe tener las mínimas prestaciones necesarias que posibiliten implementar las funcionalidades de un Maestro SCADA. Debe permitir personalizar y programar, parte o totalmente, la solución a implementar, posibilitando la comunicación con el bloque Comunicación y Digitalización.

El diseño del módulo de Comunicación y Digitalización fue realizando en paralelo con la búsqueda del software SCADA, dado que el diseño de la misma debía contemplar la utilización de un dispositivo de comunicación de bajo costo y de fácil reposición en plaza.

Se definió la utilización de un microcontrolador PIC, cuya comunicación es serial, por lo tanto el software SCADA deberá también cumplir este requerimiento.

6.2.Seleccio n de Software

Se buscaron programas que cumplieran con los requerimientos mencionados anteriormente (sección 6.1.). Entre ellos se analizaron tres para evaluar los requerimientos técnicos: DAQFactory, Integraxor y WinLog software SCADA.

6.2.1. DAQFactory SCADA software

Este programa permite en forma limitada la programación de subrutinas.

(21)

21

Figura-6.1- Pantalla de edición del software DAQFactory

Permite la definición y configuración de dispositivos con comunicación Serie o Ethernet y protocolo Modbus RTU entre otras:

Figura-6.2- Pantalla de configuración del software DAQFactory

(22)

22

Figura-6.3- Pantalla de editor de interface gráfica del software DAQFactory

El fabricante ofrece una versión demo que tiene limitantes como la descripta arriba y que luego de 10 días se deberá comprar la licencia definitiva para tener toda la potencialidad del programa.

Figura-6.4- Aviso de licencia del software

6.2.2. Integraxor SCADA Software

(23)

23

Figura-6.5- Pantalla del Software Integraxor

La interfaz gráfica se realiza por intermedio de otro software que se vincula a este llamado Inkscape, en el cual se diseñará la pantalla con las variables y objetos a animar. Inkscape contempla algunas imágenes prediseñadas, pero su principal potencial es el diseño de objetos que serán configurados a necesidad del cliente.

Figura-6.6- Pantalla del Software Inkscape, que permite desarrollar la interface gráfica del software Integraxor

(24)

24

6.2.3. WinLog SCADA Software

Este software permite la configuración de dispositivos a conectar vía comunicación serie y protocolo Modbus RTU.

Figura-6.7- Pantalla del Software WinLog

La interface de visualización se realiza diseñando diferentes archivos de imágenes que son asociados a una misma pantalla para finalmente formar parte de la interfaz gráfica.

Al igual que el software DAQFactory, las imágenes están limitadas al uso del primer componente de cada sección de figuras.

Figura-6.8- Pantalla de editor de interface gráfica del software WinLog

Este software ofrece tres opciones de ejecución con diferentes limitaciones:

(25)

25 2) WinLog Lite puede ser ejecutado en dos modos:

a) Modo Full, requiere comprar una licencia para registrarse y esta es válida sólo en la máquina que se instala. Ofrece las funcionalidades de la versión Pro pero limita la cantidad de variables (Tags) a 24 y no incluye la librería de símbolos predefinidos. b) Modo Demo, no necesita registro, mantiene las limitaciones de la versión Lite y

además el tiempo de uso está limitado a 15minutos. Cumplido este tiempo debe reiniciarse la aplicación.

6.2.4. Tabla comparativa de programas SCADA

Característica DACFactory Integraxor WinLog

Licencia Full Paga Paga Paga

Licencia Libre

alternativa que

permita personalizar.

Si Si Si

Caducidad Licencia Libre

10 días Sin límite Sin límite

Tiempo máximo

admitido para la ejecución luego de

ejecutado el

programa.

Sin límite 2 horas 15 minutos

Comunicación Serie Admite Admite Admite

Protocolo Modbus Admite Admite Admite

Capacidad de

Configurar dispositivos

Si Si Si

Diseño Gráfico Limitado en la

versión libre

Alta capacidad e diseño

personalizado.

Limitado en la

versión libre

Tabla-6.1- Tabla comparativa de diferentes Software SCADA

(26)

26

6.3. Descripcio n General

Como se comentó anteriormente, la palabra SCADA proviene de las siglas cuyo significado en español es control supervisor y adquisición de datos.

Integraxor se configuró y programó para oficiar de Maestro SCADA. En su estructura interna se crearon y definieron dispositivos que se comunican vía serie bajo el mismo protocolo Modbus RTU; cada dispositivo representa el sistema de medida conectado, definido en el protocolo como Esclavo Modbus y tiene una dirección propia que lo identifica.

A cada uno de los dispositivos virtuales, creados dentro de Integraxor, se le definen variables con una dirección de registro que las identifica. Cada una de estas variables tendrá un registro asociado en el Esclavo Modbus (sistema de medida o maqueta) con idéntica dirección. El valor contenido en cada variable del Maestro SCADA, asociada a un registro en el Esclavo, será mostrado en pantalla para su visualización.

Cuando se ejecuta el software Integraxor, este comienza a enviar una trama Modbus RTU, con Function Code 03, por cada variable definida en el dispositivo1, siendo que cada trama enviada va dirigida a una dirección de registro interno al dispositivo. Cuando termina de enviar todas las tramas de este, pasa a enviar todas las del dispositivo2 y así sucesivamente hasta completar los cuatro. Se actualiza la información de todas las variables de lectura de los cuatro dispositivos, se espera el tiempo especificado (por ejemplo 1 segundo) y se repite el ciclo (período configurable).

En Inkscape, se definen las variables a mostrar que pueden ser relacionadas directa o indirectamente con las variables definidas en los dispositivos. Cuando la variable a mostrar en pantalla debe cumplir una determinada condición, esta puede ser programada en un Script. Los script son ejecutados cada un determinado tiempo configurable.

6.3.1. Sistema de Comunicacio n

Dentro de los protocolos de comunicación que admite el software, se eligió comunicación Serial con protocolo Modbus y modo de transmisión RTU.

Se adecuó el uso del protocolo y de las funcionalidades de SCADA con el fin de obtener ventajas en el desarrollo del proyecto. Estas se detallaran más adelante en este capítulo y en la descripción del funcionamiento del bloque de comunicación y digitalización.

6.3.1.1. Descripcio n del Protocolo Modbus

6.3.1.1.1. Trama Modbus Serial

(27)

27 independiente de la capa de comunicación utilizada por debajo.

Figura-6.9- Modbus RTU

El protocolo agrega campos adicionales a la PDU, como son el campo de dirección y el Chequeo de Redundancia Cíclica CRC (Cyclic Redundancy Check).

Figura-6.10- Trama Modbus Serial

El Address field contiene la dirección del esclavo con el cual se establecerá la comunicación y el CRC contiene el chequeo de redundancia cíclica.

La trama completa forma lo que se denomina Unidad de Datos de Aplicación ADU (Aplication Data Unit).

6.3.1.1.2. Comunicacio n Maestro-Esclavo

Se implementó un sistema de comunicación basado en Diagrama de estados.

Diagrama de Estados del Maestro:

(28)

28 Descripción del funcionamiento del diagrama del Maestro:

El sistema enciende en estado Inicial, siendo el único estado del cual se envía una petición (envío de una trama Modbus al esclavo). Luego de enviada una trama, el Maestro sale del estado Inicial y no puede enviar otra trama hasta regresar a este estado, por tanto no puede enviar dos tramas consecutivas sin recibir respuesta o vencer el Time out.

Cuando se envía una petición al esclavo, el maestro pasa al estado Esperando Respuesta y se inicia un temporizador (Time out de respuesta). En caso de no recibir respuesta desde el esclavo, el Time out expira y evita que el maestro permanezca indefinidamente en estado Esperando Respuesta.

Cuando el maestro recibe una respuesta del esclavo, verifica que no hubo errores antes de procesar los datos. Luego de procesados vuelve a Inicial y envía otra petición. Si hubo errores, pasa al estado Procesando Error, se procesa y vuelve a Inicial enviando otra petición. Si no hay respuesta del Esclavo, el tiempo Time out expira, pasa al estado Procesando Error, lo procesa y vuelve al estado Inicial.

La relación Cliente-Servidor entre el Maestro y el Esclavo estipula una comunicación donde el maestro envía peticiones y el esclavo responde a ellas. Bajo esta situación el maestro puede recibir una respuesta sin errores o una respuesta de excepción como se muestra a continuación en los dos esquemas de transición:

Figura-6.12- Diagrama de transición sin errores

(29)

29 Diagrama de Estados del Esclavo:

Figura-6.14- Diagrama de estados del Esclavo Modbus

Descripción del funcionamiento del diagrama del Esclavo:

Cuando se enciende el sistema, el Esclavo (maqueta) inicia en el estado Inicial.Al recibir una petición del Maestro, se chequea la trama Modbus y si hubo errores envía la respuesta con el código de error de excepción.

En caso de una petición con dirección de esclavo equivocada, no se envía respuesta, se va al estado Inicial directamente y por su parte el Maestro saldrá del estado Esperando Respuesta por expiración del Time out.

Si no hubo errores, se pasa al estado Procesando Acción de Petición, se completa la acción solicitada por el Maestro, se pasa al estado Procesando Respuesta Normal, se conforma la trama de respuesta y se envía.

Si hubo errores se envía la trama de respuesta con el código de excepción.

6.3.1.1.3. Modo de Transmisio n RTU

(30)

30 La trama se forma:

1 bit de Start 8 bits de Datos 1 bit de paridad 1 bit de Stop

Los ocho bits de datos son enviados en orden, siendo el menos significativo el primero en enviarse.

En nuestro caso se utilizó paridad par.

Figura-6.15- Descripción de bits en modo RTU

Los paquetes en modo RTU tienen la siguiente estructura:

Figura-6.16- Descripción de estructura de paquetes en modo RTU

El primer byte, es la dirección del esclavo, el segundo es el Function Code, los siguientes byte son los datos enviados y los últimos dos son para chequeo de errores.

En nuestro caso vamos a aprovechar la doble funcionalidad que nos ofrece el Maestro SCADA, enviando tramas para control y tramas para visualización. Siguiendo el protocolo Modbus, vamos a utilizar el Function Code 03 para la lectura de Registros (visualización) y el Function Code 10 para la escritura de Registros (control).

Cuando el Maestro envía una trama con Function code 03 (Lectura de Registros) a un Esclavo, implica la petición de información contenida en un determinado registro del Esclavo. El esclavo recibe la trama, verifica la petición y devuelve al Maestro el valor contenido en el registro solicitado.

Cuando el Maestro envía una trama con Function code 10 (Escritura de Registros) a un Esclavo, implica el envío de un valor que determina una acción por parte del esclavo.

(31)

31 correspondiente para que tenga efecto la acción solicitada.

6.3.1.1.4. Descripcio n del Mensaje Modbus

Cada mensaje Modbus contiene varios bytes. Cuando se envía un mensaje desde o hacia el Maestro se debe identificar el comienzo y el fin del mismo.

Los mensajes son transmitidos con límites de tiempos conocidos para que el receptor pueda detectarlos y verificar errores. Para ellos se estipula un tiempo mínimo de espera antes del comienzo de un nuevo mensaje y un tiempo máximo para establecer el fin del mismo tal como se muestra en las siguientes figuras.

Figura-6.17- Transmisión OK de mensaje Modbus especificando los tiempos

Figura-6.18- Transmisión OK de mensaje Modbus especificando los tiempos

Además, cada trama de un mensaje debe enviarse en forma continua con una cadencia de tiempo menor a 1.5 char, siendo 1 char el tiempo de transmisión de 8 bits. Si el tiempo entre tramas de un mensaje es mayor a 1.5 char, todo el paquete es descartado por el receptor.

(32)

32

6.3.1.2. Modbus en Integraxor

El protocolo Modbus nos da la base del funcionamiento de nuestro Maestro SCADA, Integraxor.

6.3.1.2.1. Configuracio n

Dentro de Integraxor, se definió el tipo de comunicación, en nuestro caso Comunicación Serie, y se eligió el puerto COM o conversor USB/Serie disponible en el PC como se muestra en la figura.

Figura-6.20- Selección de comunicación

Luego de elegido el driver de comunicación se definieron y configuraron los dispositivos que se conectarán al Maestro.

En nuestro proyecto tenemos cuatro sistemas de medida, que denominamos Práctica, que oficiaran de Esclavos y se comunicaran con el Maestro.

Se definió como criterio de diseño crear cuatro dispositivos diferentes, uno por cada sistema de medida y cada una de ellas con una dirección de Esclavo diferente que la identifica.

Basados en la metodología de trabajo en los laboratorios de la materia, donde el alumno realiza el análisis de una práctica por vez, se tomó la decisión de que el sistema permita la comunicación con uno de los sistema de medida a la vez. Por esta razón se decidió utilizar comunicación Serie y un conversor a USB, permitiéndonos intercambiar directamente cualquier maqueta y, mediante un algoritmo, detectar automáticamente la maqueta conectada.

El protocolo Modbus establece que si la dirección de esclavo en la trama enviada por el Maestro, no corresponde al esclavo conectado en ese momento, este no debe responder y se debe esperar un tiempo especificado (Time out) para salir del estado Esperando Respuesta.

(33)

33 las variables, se personalizó el protocolo Modbus en el software de los Esclavos para que respondan cuando la petición no va dirigida a ellos.

Hay que tener presente que el software de los cuatro dispositivos esclavos es el mismo. Cuando Integraxor se está ejecutando, envía tramas a cada uno de los dispositivos que se han instalado y configurado independientemente que estén o no conectados.

El dispositivo conectado en ese momento recibe las tramas y responde acorde al protocolo Modbus cuando la petición está dirigida a él. Cuando la petición no está dirigida a él, igualmente responde. Pero en lugar de hacerlo con la misma dirección de esclavo recibida, lo hace con la propia y agrega en los bytes de datos la dirección del esclavo actualmente conectado. Cuando un dispositivo es conectado al puerto USB de la PC, el Maestro lo detecta automáticamente y muestra en pantalla a que práctica corresponde el sistema de medida conectado, deshabilitando el resto de las tres pantallas de las prácticas. Si por error alguien se posiciona sobre la pantalla incorrecta un cartel indicativo le informará qué maqueta está conectada.

A cada dispositivo se le especifica un Timer para establecer el tiempo en que las variables asociadas a ese dispositivo serán actualizadas. Se ha configurado un Timer de SEC01, con actualización cada 1 segundo.

Figura-6.21- Selección de Timer para cada dispositivo

Se configuró a cada dispositivo el protocolo Modbus RTU con la siguiente configuración del puerto de comunicación:

Baud Rate 9600 bits/s

Tamaño del Byte 8 bits

Paridad Par

Bit de Parada 1

Control DTR Deshabilitado

Control RTS Deshabilitado

Tabla-6.2- Configuración del protocolo Modbus RTU

(34)

34

Figura-6.22- Pantalla de configuración de puerto y dispositivos

6.3.1.2.2. Lectura de Registros

La lectura de registros está asociada al envío de una trama Modbus con Function Code 03.

Durante la ejecución del programa se van actualizando las variables de lectura en forma cíclica secuencial según establece el protocolo Modbus RTU en su diagrama de estados. Tomando como referencia una comunicación de datos exitosa, sin errores, Integraxor en su función de Maestro, envía una trama de petición al Esclavo pidiendo los datos correspondientes a la dirección del registro de la primera variable. Luego que recibe la respuesta del Esclavo procede a enviar la trama de la siguiente variable y así sucesivamente hasta completar todas las variables. El ciclo se repite según la configuración del temporizador especificado. En nuestro caso se repite cada 1 segundo.

Function Code 03, formato de trama de petición enviada por el Maestro Integraxor:

Tal como lo indica el protocolo Modbus RTU, el Maestro envía una trama de 8 bytes con la petición de información, como se muestra en el siguiente esquema:

Formato de trama Enviada por el Maestro Function Code 3

1 byte 1byte 1byte 1byte 1byte 1byte 1byte 1byte

01 03 9C AF 00 01 9A 7B

Dirección de

Esclavo Function Code Msb, Dirección del Registro

Lsb, Dirección del Registro

Msb, cantidad de registros a leer

Lsb, cantidad de registros a leer

Msb del

CRC Lsb CRC del

(35)

35 El primer byte corresponde a la dirección del esclavo, el segundo es el Function Code, los dos siguientes corresponden a la dirección del registro a leer, en este caso 9CAF en hexadecimal, correspondiente a la dirección 40111 en decimal, los dos siguientes corresponden al número de registros que se van a leer a partir de la dirección anterior, los últimos dos corresponden al chequeo de error CRC.

Function Code 03, formato de la trama recibida por el Maestro:

El esclavo recibe la petición y responde enviando una trama de 7 bytes con el dato contenido en la dirección del registro antes de quedar a la espera de una nueva trama. El formato de la trama recibida por el Maestro se muestra en el siguiente esquema:

Formato de trama Recibida por el Maestro Function Code 3

1 byte 1byte 1byte 1byte 1byte 1byte 1byte

01 03 02 00 1D 79 DD

Dirección de

Esclavo Function Code Cantidad bytes de datos de Msb, Dato del registro leído Lsb, Dato del registro leído Msb del CRC Lsb del CRC

Figura-6.24- Formato de trama recibida por el maestro con Function Code 3

El primer byte es la dirección de esclavo, el segundo corresponde al Function Code, el siguiente indica la cantidad de bytes de datos que se recibirán a continuación, los dos bytes siguientes corresponden al dato propiamente dicho, siendo el primero el Msb y el segundo el Lsb y los dos últimos corresponden al chequeo de error CRC.

Como se comentó antes, cada un segundo se actualiza la información de todas las variables, o sea, se actualiza la información del Maestro con la información contenida en los registros del Esclavo conectado en ese momento. Todas los Esclavos se comunican y actualizan de igual forma aunque con diferentes direcciones de registros.

(36)

36

Nombre del Registro Dirección Registro

Decimal

Dirección Registro en

Hexadecimal

Voltaje Salida 7805 40111 9CAF

Voltaje Vo 40101 9CA5

Voltaje Sensor 40131 9CC3

Voltaje P1 offset 40121 9CB9

Tabla-6.3- Información sobre las variables definidas en la práctica de sistema de medida angular

Las cuatro variables son actualizadas una vez por segundo, el proceso se realiza en forma secuencial hasta que todas son actualizadas. El Maestro envía una nueva trama luego de recibir la respuesta de la anterior tal como se puede ver en la siguiente imagen:

Figura-6.25- Tramas de envío y recepción de tramas Modbus

6.3.1.2.3. Escritura de Registros

Cuando se presiona un botón en pantalla, el cual fue configurado como variable de ingreso de texto, se genera un evento de escritura de registro.

Al ingresar el texto, el Maestro envía una trama Modbus de escritura de registro codificada con el Function Code 10 en hexadecimal.

Function Code 10, formato de la trama generada y envida por el Maestro Integraxor:

(37)

37

Formato de trama enviada por Maestro Function Code 10

1 byte 1byte 1byte 1byte 1byte 1byte 1byte 1byte 1byte 1byte 1byte

04 10 9E 2E 00 01 02 00 01 21 47

Dirección de Esclavo Function Code Msb, Dirección del Registro Lsb, Dirección del Registro Msb, cantidad de registros a escribir Lsb, cantidad de registros a escribir Cantidad de bytes = 2*cantidad de registros

Msb, Valor del registro

Lsb, Valor del registro

Msb del CRC

Lsb del CRC

Figura-6.26- Formato de trama enviada por el maestro con Function Code 3

El primeo es el número de esclavo, el segundo es el Function Code, los siguientes dos bytes son la dirección del registro a escribir (9EDE en hexadecimal, 40670 decimal), los dos siguientes indican la cantidad de registros a escribir, el siguiente indica la cantidad de bytes que contienen el valor del registro, equivalente a 2*N (donde N son los registros que contienen el valor a escribir), los dos que le siguen contienen el valor del registro a escribir y los últimos son el control de error CRC.

Function Code 10, formato de trama recibida por el Maestro:

Cuando la petición es procesada por el esclavo, este responde enviando una trama conteniendo, la dirección de esclavo, el FunctionCode, dos bytes con la dirección del registro, dos bytes con la cantidad de registros escritos y los dos del chequeo de error.

Formato de trama Recibida por el Maestro Function Code 10

1 byte 1byte 1byte 1byte 1byte 1byte 1byte 1byte

04 10 9E 2E 00 01 4E 7D

Dirección de Esclavo Function Code Msb, Dirección del Registro Lsb, Dirección del Registro Msb, cantidad de registros escritos

Lsb, cantidad de registros escritos

Msb del CRC

Lsb del CRC

(38)

38

6.3.2. Interfaz Gra fica

Para la interfaz gráfica, Integraxor se vale de un software adicional llamado Inkscape que permite el diseño de las pantallas a visualizar como así de las variables a mostrar, pudiendo además crear imágenes animadas.

Hemos desarrollado la interfaz donde cada una de las cuatro prácticas, tendrá su propia pantalla con sus respectivas variables a mostrar, lo cual implica que dentro de Integraxor cada una de las prácticas tendrá asociado un archivo Inkscape tal como se puede observar en la siguiente imagen:

Figura-6.28- Pantalla de edición de Inkscape

Durante la ejecución del software SCADA, la visualización gráfica se realiza por intermedio de una página web con cuatro ventanas en solapas seleccionables, cada una representa una práctica y contendrá los parámetros a mostrar cómo se puede ver en la imagen a continuación.

(39)

39

6.3.3. Sistema de Variables

6.3.3.1. Descripcio n de Variables en Integraxor

Integraxor permite la creación de diferentes variables denominadas en la terminología de programación industrial como Tag, que pueden ser:

1) Internas o Virtuales:

Son actualizadas dentro del maestro en forma directa o condicionada por el estado o valor de otra. Deben estar definidas en la tabla de Variables Virtuales.

2) Externas I/O:

Son las que están asociadas a un dispositivo y por tanto serán actualizadas, durante la comunicación, al valor del registro correspondiente en el esclavo. Deben estar definidas en la tabla de variables del dispositivo.

3) Run Time:

Son las utilizadas durante la ejecución del programa, son borradas al reiniciar las sentencias y son cargadas en memoria al modificar su valor. Estas no son definidas en ninguna tabla.

Las variables Virtuales y las Externas I/O pueden ser configuradas como:

1) Cuadro de texto que contendrá:

a) Valor numérico representativo de una determinada magnitud de medida:

b) Valor digital “0” o “1” representando el estado lógico de un registro.

2) Objeto gráfico que puede obtener una determinada animación:

a) Rotación de entre 0° y 360°.

b) Desplazamiento vertical u horizontal.

c) Opacidad total o parcial.

3) Objeto gráfico con efecto sobre aplicación del mouse:

a) El evento del mouse dispara el envío de un valor numérico fijo predefinido:

i) Se envía al registro correspondiente en el Esclavo si la variable es Externa.

(40)

40 b) Cuadro de ingreso de texto:

i) El nuevo valor se envía al registro correspondiente en el esclavo si la variable es Externa.

ii) El nuevo valor entrado modifica otra variable o genera una condición si la variable es Virtual.

6.3.3.2. Comunicacio n de las Variables segu n su tipo

Las variables Externas I/O de tipo Cuadro de texto o de tipo Animación, están asociadas a una función de lectura de registros, correspondiente en Modbus al Function Code 03.

Los datos digitales de respuesta que se reciben desde el Esclavo y que refieren a una conversión A/D, tendrán un valor máximo de 1023 decimal, debido a que el conversor A/D del PIC es de 10 bits.

Por otra parte, las variables Externas I/O que se configuran para una acción por presión o superposición del mouse están asociadas a una función de escritura de registros, correspondiente en Modbus al Function Code 10.

6.3.3.3. Descripcio n de Variables Definidas en Pantalla de Pra ctica1

En la pantalla de la práctica 1, correspondiente al sistema de medida de posición angular, se muestran las variables que hemos creado para visualización de los parámetros de la maqueta, alguna de las cuales el alumno debe verificar midiendo directamente en la maqueta luego de realizado el análisis teórico.

(41)

41 Para mostrar la unidad de medida original en las variables de las diferentes prácticas se aplican ecuaciones de acondicionamiento en archivos denominados Sripts que se actualizan cada un determinado período de tiempo configurable.

Las variables Voltaje Salida 7805, Voltaje Sensor y Voltaje P1 offset indican valores de tensión de continua y se actualizan directamente con el valor recibido desde el esclavo, previo acondicionamiento para restituir al valor analógico original medido en la maqueta. El voltaje original se obtiene:

𝑉𝑜𝑟𝑖𝑔𝑖𝑛𝑎𝑙(𝑉) = 𝑉𝑎𝑙𝑜𝑟𝑑𝑖𝑔𝑖𝑡𝑎𝑙 𝑟𝑒𝑐𝑖𝑏𝑖𝑑𝑜∗ 5

1023 ( 6.1)

La variable Voltaje Vo muestra el voltaje de salida del circuito, mide valores negativos y positivos en un rango aproximado que varía entre -9V y 9V dependiendo de la configuración de resistencias colocadas por el alumno en la maqueta.

Se calcula el valor de Vo a partir del valor digital recibido:

𝑉𝑜(𝑉)= (𝑉𝑜𝑣𝑎𝑙𝑜𝑟 𝑑𝑖𝑔𝑖𝑡𝑎𝑙 𝑟𝑒𝑐𝑖𝑏𝑖𝑑𝑜∗ 5

1023) ∗ 5.95 − 14.8 (6. 2)

Con esta ecuación se deshace el acondicionamiento de la señal de entrada al conversor A/D del PIC.

A la variable Voltaje Vo se le agregó la funcionalidad de auto rango, para valores de la tensión entre 0 y 1V o entre 0 y -1V, la escala se cambia a mV (milivoltios).

Las variables Ángulo Sin Calibrar y Ángulo Calibrado muestran los grados que está midiendo el sensor de posición angular en la maqueta.

El objeto animado, denominado Barra de Rotación, que se muestra en rojo sobre una grilla angular con divisiones fue realizado para mostrar gráficamente el movimiento real que realiza el sensor de posición angular en la maqueta.

Figura-6.31- Objeto animado, medida de posición angular

(42)

42 movimiento de rotación que la posiciona en el ángulo deseado.

El sensor, en la maqueta, es ajustado en 0° para obtener 0V de tensión de salida, con una sensibilidad de 100mV por grado.

El valor de las variables que muestran la posición angular en grados se obtiene a partir de la tensión de salida Vo según la siguiente ecuación:

Á𝑛𝑔𝑢𝑙𝑜(𝑔𝑟𝑎𝑑𝑜𝑠) = ((𝑉𝑜𝑣𝑎𝑙𝑜𝑟 𝑑𝑖𝑔𝑖𝑡𝑎𝑙 𝑟𝑒𝑐𝑖𝑏𝑖𝑑𝑜 ∗ 5

1023) ∗ 5.95 − 14.8) ∗ 10 (6. 3)

Dentro de los objetivos de la práctica, el alumno deberá determinar la relación entre la posición angular y la tensión de salida, llegando a una relación de no linealidad que se debe a la alinealidad del propio sensor potenciométrico.

Figura-6.32- Tabla de calibración en la pantalla de sistema de medida angular

Por este motivo hemos agregado una tabla de calibración que permita linealizar la posición angular del sensor y mostrar la diferencia de la medida en grados entre el ángulo sin calibrar y el calibrado.

El alumno presiona el botón calibrar, se habilita la tabla de calibración, se va posicionando el sensor potenciométrico en la maqueta, desde -100° hasta +100°, tomando medidas cada 10 grados, en cada posición se presiona el botón en la tabla, correspondiente al valor en la maqueta, de esta forma se van guardando los voltajes de salida asociados a cada posición hasta completar la tabla.

(43)

43 Al completar la tabla y presionar el botón Guardar, el sistema aplica la tabla de calibración a la variable Ángulo Calibrado y a la variable de posición rotacional pudiendo observar la diferencia entre el valor sin calibrar y el obtenido a partir de la linealización.

Linealización:

A partir de la ecuación de Recta por dos puntos 𝑃1(𝑥1, 𝑦1) y 𝑃2(𝑥2, 𝑦2):

Si 𝑥1 ≠ 𝑥2 => 𝑦 − 𝑦1 = 𝑦2;𝑦1

𝑥2;𝑥1∗ (𝑥 − 𝑥1) ( 6.4)

Donde 𝑦 será nuestra posición angular incógnita, 𝑥 es el nuevo valor medido de la tensión de salida 𝑉𝑜, los puntos 𝑃1(𝑥1, 𝑦1) y 𝑃2(𝑥2, 𝑦2) son conocidos y estarán guardados en la tabla de

calibración.

Figura-6.33- Gráfico: Recta por dos puntos

(44)

44

Figura-6.34- Gráfico: Curva de linealización a tramos

La posición sin calibración, en grados, se obtiene a partir:

Á𝑛𝑔𝑢𝑙𝑜(𝑔𝑟𝑎𝑑𝑜𝑠) = ((𝑉𝑜𝑣𝑎𝑙𝑜𝑟 𝑑𝑖𝑔𝑖𝑡𝑎𝑙 𝑟𝑒𝑐𝑖𝑏𝑖𝑑𝑜 ∗ 5

1023) ∗ 5.95 − 14.8) ∗ 10 ( 6.5)

Luego de almacenar las tensiones de salida para cada posición angular de a 10° desde -100° a +100°, se verifica entre que par de valores de calibración, en la tabla, se encuentra la tensión de Salida 𝑉𝑜 instantánea (que denominamos con la letra 𝑥 ) según la posición del potenciómetro elegida y de la ecuación de recta por dos puntos despejamos la posición angular incógnita que llamaremos 𝑦𝑓 como se muestra a continuación:

𝑦𝑓(𝑔𝑟𝑎𝑑𝑜𝑠)= 𝑦2;𝑦1

𝑥2 − 𝑥1∗ (𝑥 − 𝑥1) + 𝑦1 (6. 6)

Donde 𝑦2e 𝑦1 son las posiciones angulares en grados, 𝑥2 y 𝑥1 son las tensiones de Salida 𝑉𝑜

en voltios correspondientes a los puntos 𝑃2(𝑥2, 𝑦2) y 𝑃1(𝑥1, 𝑦1) guardadas en la tabla y 𝑥 es

la tensión 𝑉𝑜 en voltios instantánea como se indica a continuación:

Ejemplo cálculo de Linealización entre 90° y 80°

𝑦2 = 90°

(45)

45

𝑥2(𝑉) = (𝑉𝑜𝑑𝑖𝑔90° ∗ 5

1023) ∗ 5.95 − 14.8

𝑥1(𝑉)= (𝑉𝑜𝑑𝑖𝑔80° ∗ 5

1023) ∗ 5.95 − 14.8

𝑥(𝑉) = (𝑉𝑜𝑑𝑖𝑔 𝐼𝑛𝑠𝑡𝑎𝑛𝑡á𝑛𝑒𝑜 𝑒𝑛𝑡𝑟𝑒 𝑥2 𝑦 𝑥1∗

5

1023) ∗ 5.95 − 14.8

𝑦𝑓(𝑔𝑟𝑎𝑑𝑜𝑠)= 𝑦2;𝑦1

𝑥2− 𝑥1∗ (𝑥 − 𝑥1) + 𝑦1 (6. 7)

6.3.3.4. Descripcio n de Variables Definidas en Pantalla de Pra ctica2

La pantalla de la Práctica 2, correspondiente al sistema de medida de peso, tiene ocho variables, un botón de ajuste del Cero del peso de la balanza y una balanza analógica con indicador rotatorio del peso:

Figura-6.35- Pantalla de la práctica de sistema de medida de peso

Además de la referencia a tierra, en esta práctica se toma una tensión de referencia adicional equivalente a 𝑉𝑠

2 con referencia a tierra.

La variable Voltaje Ref, Voltaje Vo 620AN a tierra y Voltaje offset se actualizan directamente con el valor digital recibido del esclavo, el cual es multiplicado por el factor 5

1023 para obtener

la tensión original como se comentó anteriormente.

(46)

46 multiplicando por un factor 𝑓𝑎𝑐𝑡_𝑎𝑐𝑜𝑛𝑑𝑖𝑐 =2.5

1.5 originado por el divisor resistivo de

acondicionamiento en el esclavo quedando la expresión:

𝑉𝑜 𝑡𝑖𝑒𝑟𝑟𝑎(𝑉) = 𝑉𝑎𝑙𝑜𝑟𝑑𝑖𝑔𝑖𝑡𝑎𝑙 𝑟𝑒𝑐𝑖𝑏𝑖𝑑𝑜∗ 5𝑉 1023∗

2.5

1.5 (6. 8)

Con estas cuatro variables se generan el resto de las variables de medida.

El valor de las variables Voltaje Vo 620AN a Ref y Voltaje Vo a Ref se obtiene restando los valores de sus correspondientes referenciadas a tierra al voltaje de referencia Voltaje Ref como se muestra en las siguientes expresiones:

𝑉𝑜 𝐴𝐷620𝐴𝑁 𝑎 𝑅𝑒𝑓(𝑉) = (𝑉𝑎𝑙𝑜𝑟𝑑𝑖𝑔𝑖𝑡𝑎𝑙 𝑟𝑒𝑐𝑖𝑏𝑖𝑑𝑜∗

5𝑉

1023) − 𝑉𝑅𝑒𝑓 (6. 9)

𝑉𝑜 𝑎 𝑅𝑒𝑓(𝑉) = (𝑉𝑎𝑙𝑜𝑟𝑑𝑖𝑔𝑖𝑡𝑎𝑙 𝑟𝑒𝑐𝑖𝑏𝑖𝑑𝑜∗ 5𝑉 1023∗

2.5

1.5) − 𝑉𝑅𝑒𝑓 (6. 10)

El valor de las variables Voltaje Vo 620AN a Ref y Voltaje offset se realizaron auto rango para tensiones entre 1V y -1V, es decir si el voltaje de cualquiera de estas variables es inferior a 1V y mayor a -1V se apreciará el valor en mV.

La variable Indicador de Peso Rotatorio y la de Peso muestran el peso de la balanza a partir de la tensión de salida del circuito Voltaje Vo a Ref menos el valor de la Tara.

Se agregó el botón Autocero para realizar un auto cero de la medida del peso. Si el peso aplicado sobre la balanza es menor a 3Kilos, peso especificado como límite para poder guardar una Tara, al presionar el botón Autocero se guarda el valor del peso en una variable que oficiará de Tara y se pondrá a cero el peso mostrado en la balanza, el nuevo valor de Tara se resta en todas las nuevas medidas. Si se presiona Autocero con un peso en la balanza superior a la Tara máxima de 3Kilos, se realiza el auto cero pero la Tara se resetea a cero hasta que se realice un nuevo auto cero con un peso menor al especificado.

6.3.3.5. Descripcio n de Variables Definidas en Pantalla de Pra ctica3

(47)

47

Figura-6.36- Pantalla de la práctica de sistema de medida de temperatura

Al igual que en la práctica 2 se tiene una tensión de referencia además de la referencia a tierra.

La variable Voltaje Ref se muestra directamente partir de la reconstrucción del valor digital recibido.

𝑉𝑜 𝑅𝑒𝑓(𝑉) = 𝑉𝑎𝑙𝑜𝑟𝑑𝑖𝑔𝑖𝑡𝑎𝑙 𝑟𝑒𝑐𝑖𝑏𝑖𝑑𝑜∗ 5

1023 (6. 11)

Las variables Voltaje Vo LM35 a tierra, Voltaje Out uA723 a tierra y Voltaje Vo NTC a tierra pasan a través de un acondicionamiento resistivo independiente, previo a ser digitalizadas y enviadas por el Esclavo, por lo cual se acondicionan en el Maestro para obtener el valor original de la maqueta mediante la siguiente ecuación:

𝑉𝑜 𝑎 𝑡𝑖𝑒𝑟𝑟𝑎(𝑉) = (𝑉𝑎𝑙𝑜𝑟𝑑𝑖𝑔𝑖𝑡𝑎𝑙 𝑟𝑒𝑐𝑖𝑏𝑖𝑑𝑜∗ 5

1023) ∗ (1 + 6.8

33) ( 6.12)

Las variables Voltaje Vo LM35 a Ref, Voltaje Out uA723 a Ref y Voltaje Vo NTC a Ref son referenciadas al voltaje de referencia, por lo tanto se muestran previa resta de la tensión de referencia.

𝑉𝑜 𝑎 𝑅𝑒𝑓(𝑉)= 𝑉𝑜 𝑎 𝑡𝑖𝑒𝑟𝑟𝑎− 𝑉𝑅𝑒𝑓

(6. 13)

(48)

48 Vo de 0V a 0°C.

𝑇𝑁𝑇𝐶 (°𝐶) = 𝑉𝑜 𝑁𝑇𝐶 𝑎 𝑅𝑒𝑓(𝑉)∗ 10(°𝐶 𝑉⁄ ) (6. 14)

6.3.3.6. Descripcio n de Variables Definidas en Pantalla del Nuevo Sistema de Medida.

En la pantalla de la Práctica 4 del nuevo sistema de medida, se han agregado tres botones, uno para el control del encendido del motor, otro para la calibración del tacómetro y otro para el cambio del sentido de giro del motor. Además se tienen diez variables para visualización de parámetros.

Figura-6.37- Pantalla del nuevo sistema de medida

A diferencia de las otras tres prácticas, el alumno no realiza cálculos y análisis del circuito debido a que es una práctica ilustrativa con el fin de acercar al alumno la funcionalidad de un Maestro SCADA en ambos sentidos, pudiendo realizar la variación de la velocidad de un motor de corriente continua.

Desde la pantalla se puede prender y apagar el motor, cambiar el sentido de giro, variar la velocidad mediante modificación del Duty Cycle o ingresando las rpm deseadas. Además se muestra la tensión de alimentación del motor, la velocidad angular medida con el tacómetro analógico y con el tacómetro digital, como así también el sentido de giro detectado por ambos tacómetros.

Si se selecciona la pantalla de esta práctica pero se tiene conectado otro dispositivo, el software detecta automáticamente la maqueta conectada y deshabilita los botones y demás funcionalidades de la pantalla.

(49)

49 detecta automáticamente y aparece en pantalla el nombre de la misma como se detalla en la siguiente tabla:

Número de práctica en pantalla Nombre de la maqueta detectada

Práctica 1 Medida Angular con Sensor Potenciométrico

Práctica 2 Medida de Peso con Galga Extensiométrica

Práctica 3 Medida de Temperatura con Termistor NTC

Práctica 4 Nuevo Sistema de Medida: Variación y Medida de

Velocidad Angular

Tabla-6.4- Asignado de nombres a las prácticas

1) Botón RUN/STOP:

El encendido y apagado se realizó mediante un botón que oficia de pulsador, cada vez que se presiona, se envía una trama Modbus de escritura (Function Code 10) al registro configurado en el esclavo, cuyo valor a escribir será 1 decimal. El botón es controlado por las RPM medidas, el botón estará activo para arrancar el motor sólo cuando está detenido, de igual modo sólo se podrá detener cuando está girando. El motor es encendido o apagado por el esclavo cuando recibe la indicación del Maestro.

2) Botón Horario/Antihorario

Al igual que el botón de encendido y apagado del motor, este se desactiva cuando el motor está girando, esto se realizó para evitar sobre corriente en los Fet del puente en H que puedan quemarlos ante un cambio brusco del sentido de giro a altas revoluciones. Por este motivo se activa solo cuando el motor está detenido.

Cuando se presiona el botón se envía una trama Modbus de escritura al registro configurado en el esclavo, cuyo valor a escribir será 1 decimal.

En el Maestro se configuró una variable que indica el sentido de giro fijado, esta actualiza el estado del registro correspondiente en el esclavo donde está guardado el sentido de giro fijado actualmente y es actualizada cada un segundo como las demás variables.

Cuando el Maestro recibe la actualización de dicha variable muestra en pantalla el sentido sobre el botón de la siguiente forma: Horario o Anti horario .

El sentido de giro fijado deberá coincidir con el sentido de giro detectado por los tacómetros digital y analógico.

3) Botón Calibrar Tac

(50)

50 El botón no está configurado como variable Externa I/O sino como variable virtual interna, por lo tanto, la acción de presión no genera un envío de trama de escritura sino un evento interno de modificación de otra variable virtual interna.

4) Fuente de alimentación Motor

Además de mostrar la tensión de continua de la fuente que alimenta al motor en voltios esta variable es importante para determinar la velocidad de giro máxima o fondo de escala a la cual podrá girar el motor.

El valor mostrado en pantalla se obtiene multiplicando el valor digital recibido en el Maestro por un factor de acondicionamiento, debido a las resistencias instaladas en el Esclavo como se puede ver en la siguiente expresión:

𝑉𝐴𝑙𝑖𝑚 𝑀𝑜𝑡𝑜𝑟(𝑉)= 𝑉𝑎𝑙𝑜𝑟𝑑𝑖𝑔𝑖𝑡𝑎𝑙 𝑟𝑒𝑐𝑖𝑏𝑖𝑑𝑜∗ 5

1023∗ 5.4 ( 6.15)

5) RPM Fondo Escala

La variable indica el número máximo de rpm que puede alcanzar el motor con la tensión de alimentación actual cuando se le aplica un Duty Cycle del 98%.

Para ello, se toma como referencia la velocidad angular máxima que se logra en vacío con una alimentación de 27V, contemplando un 98% de Duty Cycle se obtiene la siguiente expresión:

𝑅𝑃𝑀𝐹𝑜𝑛𝑑𝑜 𝐸𝑠𝑐𝑎𝑙𝑎 𝐷𝐶98%(𝑟𝑝𝑚)= 𝑉𝐴𝑙𝑖𝑚 𝑀𝑜𝑡𝑜𝑟∗2740

27 ∗ 0.98 (6. 16)

6) % Duty Cycle

La variable tiene doble funcionalidad, una de lectura de registros y otra de escritura de registros:

 De lectura: se actualiza en forma periódica como el resto de las variables externas, el Maestro envía una trama de lectura, Function Code 03, pidiendo el valor del registro que contiene el Duty Cycle actual en el Esclavo.

 De escritura: se ingresa un valor numérico en cuadro de diálogo con el nuevo valor de Duty Cycle, esto envía una trama de escritura, Function Code 10, conteniendo el porcentaje del Duty Cycle a guardar en el Esclavo.

Referencias

Documento similar

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

Además de aparecer en forma de volumen, las Memorias conocieron una primera difusión, a los tres meses de la muerte del autor, en las páginas de La Presse en forma de folletín,

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Después de una descripción muy rápida de la optimización así como los problemas en los sistemas de fabricación, se presenta la integración de dos herramientas existentes

entorno algoritmo.

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de