Está en la página 1de 184

UNIVERSIDAD DE PIURA

FACULTAD DE INGENIERIA

“Automatización del encendido de los transmisores principales del Radio


Observatorio de Jicamarca”

Tesis para optar el título de Ingeniero Mecánico – Eléctrico

Juan Carlos Espinoza Guerra


Asesor: Dr. Ing. Justo Oquelis Cabredo

Piura, abril 2006


A mis queridos padres Juan e Inés por
todo el esfuerzo realizado y a mis hermanos
RESUMEN

El presente trabajo de tesis corresponde a la ejecución de la segunda etapa del proyecto de


automatización de los transmisores principales del Radio Observatorio de Jicamarca. Esta
segunda etapa implica la automatización y control de los procesos involucrados con el
encendido de las etapas de potencia de los transmisores principales (etapa de salida PA y
etapa previa Driver), como tarea adicional se requiere también el monitoreo de las
corrientes de operación de ambas etapas.

Para la ejecución de la mencionada segunda etapa se ha seguido con la misma lógica


empleada en la primera etapa del proyecto, esto es utilizar el PLC y el sistema SCADA
existentes para controlar y supervisar respectivamente los nuevos procesos a automatizar.
Además de diseñar y construir una estación remota, que cuenta con un microcontrolador
PIC, como elemento principal, la cual se encarga del control de la tensión de pantalla de
ambas etapas del transmisor. Dicha estación remota junto con los módulos ADC, utilizados
para el monitoreo de las corrientes, utilizan una red de comunicaciones RS485, protocolo
Modbus para intercambiar información con el PLC.

Al finalizar este proyecto de tesis se desarrolló un prototipo del nuevo sistema de control el
cual se ha implementado en el transmisor Nº 3 del ROJ.
INDICE GENERAL

INTRODUCCIÓN 1

CAPÍTULO 1: ESCRIPCIÓN GENERAL DEL SISTEMA PROPUESTO 3

1.1 INTRODUCCIÓN 3
1.1.1 EL RADAR DE JICAMARCA. 3
1.1.1.1 La antena. 4
1.1.1.2 Transmisores y receptores 4
1.1.1.3 Controlador de radar 5
1.1.1.4 Sistema de adquisición 5
1.2 SISTEMA DE CONTROL DE LOS TRANSMISORES DEL ROJ 5
1.2.1 SISTEMA DE ENFRIAMIENTO 7
1.2.2 HABILITACIÓN DE LOS TRANSMISORES 8
1.2.3 ACTIVACIÓN DE LA FUENTE DE ALTA TENSIÓN 8
1.2.4 ACTIVACIÓN DE LA SEÑAL DE RADIO FRECUENCIA RF 8
1.2.5 MONITOREO DE PARÁMETROS Y SISTEMA DE ALARMAS 8
1.3 DESCRIPCIÓN DEL SISTEMA PROPUESTO 9
1.3.1 PC SUPERVISORA 9
1.3.2 PLC 10
1.3.3 ESTACIONES REMOTAS 10
1.3.4 MÓDULOS ACROMAG 11

CAPÍTULO 2: RED DE COMUNICACIÓN DE DATOS 13

2.1 CAPA FÍSICA 14


2.1.1 VELOCIDAD DE TRANSMISIÓN 14
2.1.2 INTERFASE ELÉCTRICA RS485 14
2.1.3 CABLEADO 15
2.1.4 INTERFASES MECÁNICAS 16
2.1.5 REQUERIMIENTOS EN UN SISTEMA MULTIPUNTO MODBUS 17
2.2 CAPA ENLACE DE DATOS 18
2.2.1 DESCRIPCIÓN DE LA TRAMA MODBUS 18
2.2.2 MODOS DE TRANSMISIÓN 19
2.3 CAPA DE APLICACIÓN 20
2.3.1 DESCRIPCIÓN DEL PROTOCOLO MODBUS 21
2.3.2 TIPOS DE DATOS EN MODBUS 22
2.3.3 CÓDIGOS DE FUNCIÓN MODBUS 22
2.4 DISPOSITIVOS DE RED 23
ii

2.4.1 PLC 23
2.4.2 MÓDULOS ACROMAG 25
2.4.3 ESTACIONES REMOTAS 27

CAPÍTULO 3: CONTROL DE LOS PROCESOS INVOLUCRADOS CON EL


ENCENDIDO DE LOS TRANSMISORES 29

3.1 INTRODUCCIÓN 29
3.2 ENCENDIDO Y APAGADO DE LA ETAPA DE SALIDA PA 30
3.3 ENCENDIDO Y APAGADO DE LA ETAPA PREVIA DRIVER 30
3.4 CONTROL DE LA TENSIÓN DE FILAMENTO DE LA ETAPA DE SALIDA PA 30
3.5 CONTROL DE LA TENSIÓN DE PANTALLA DE AMBAS ETAPAS PA Y DRIVER 31
3.5.1 ESTACIÓN REMOTA 32
3.5.1.1 Adaptador de comunicaciones 32
3.5.1.2 Unidad de control 34
3.5.1.3 Etapas de potencia 35
3.5.1.4 Fuente de alimentación 36
3.5.2 MOTORES PASO A PASO 37
3.5.2.1 Motores paso a paso unipolares 38
3.5.2.2 Motores paso a paso bipolares 38
3.5.2.3 Control de motores paso a paso 39

CAPÍTULO 4: PROTOTIPO DEL SISTEMA 41

4.1 CONTROL DE LOS PULSADORES ON/OFF 41


4.1.1 INSTALACIÓN DE RELÉS 41
4.2 PROTOTIPO DE LA ESTACIÓN REMOTA 44
4.2.1 DISEÑO DE LOS CIRCUITOS 44
4.2.2 ALOJAMIENTO MECÁNICO Y CONEXIONES 45
4.2.3 SOFTWARE DEL MICROCONTROLADOR PIC 45
4.2.3.1 Rutina de Inicio “RESET” 47
4.2.3.2 Rutina principal “MAIN” 49
4.2.3.3 Rutina de interrupción “INTERRUPT” 50
4.2.3.4 Rutina para la función 0x03 “FUNCT_03” 53
4.2.3.5 Rutina para la función 0x10 “FUNCT_10” 56
4.2.3.6 Rutina de respuesta de excepción Modbus “EXCEPTION” 57
4.2.3.7 Otras subrutinas 59
4.3 MONTAJE DE LOS MOTORES PASO A PASO 59
4.4 INSTALACIÓN DE LOS MÓDULOS ACROMAG 61

CAPÍTULO 5: SOFTWARE DEL PLC Y DEL SISTEMA SCADA 65

5.1 SOFTWARE DEL PLC 65


5.1.1 PROGRAMA ORIGINAL 68
5.1.1.1 Rutina principal “MAIN” 68
5.1.1.2 Estado Inicial y estado Modo Prueba “S0 y S100” 69
5.1.1.3 Estado Cooling “S1” 70
5.1.1.4 Estados Blower_R y Blower_L “S2 y S3” 71
5.1.1.5 Estado LV “S4” 71
5.1.1.6 Estado RF Permit “S10” 72
5.1.1.7 Estado HV “S11” 72
5.1.1.8 Estados TX1, TX2, TX3 y TX4 “S14, S15, S16 y S17” 73
iii

5.1.1.9 Estado Polling RX y Falla Poll RX “S20 y S21” 73


5.1.2 MODIFICACIONES 74
5.1.2.1 Rutina principal “MAIN” 74
5.1.2.2 Estado Inicial y estado Modo Prueba “S0 y S100” 75
5.1.2.3 Estado PA3 “S14” 75
5.1.2.4 Estado DRV3 “S20” 76
5.1.2.5 Estado Polling “S24” 76
5.1.2.6 Estado Modbus “S26” 76
5.2 SOFTWARE DEL SISTEMA SCADA 76
5.2.1 PROGRAMA ORIGINAL 77
5.2.1.1 Pantalla principal “Sala de Transmisores” 77
5.2.1.2 Pantallas de habilitación de transmisores 78
5.2.1.3 Pantalla “Sistema de Enfriamiento” 79
5.2.1.4 Pantalla “Fuente de Alta Tensión” 80
5.2.1.5 Pantalla “RF Permit” 81
5.2.1.6 Pantalla “Ventiladores del Túnel” 81
5.2.1.7 Pantalla “Bombas Auxiliares” 82
5.2.1.8 Pantalla “Estados y Alarmas del sistema” 82
5.2.2 MODIFICACIONES 83
5.2.2.1 Pantalla principal “Transmitters Room” 83
5.2.2.2 Pantalla de habilitación de transmisores “Transmitter #” 84
5.2.2.3 Pantallas “Driver TX#” 84
5.2.2.4 Pantallas “PA #” 85
5.2.2.5 Pantalla “System parameters” 85

CAPÍTULO 6: ESULTADOS 87

6.1 CONTROL DEL ENCENDIDO DE LOS TRANSMISORES 87


6.2 CONTROL DE LA TENSIÓN DE PANTALLA 87
6.3 ANÁLISIS ECONÓMICO 89

CONCLUSIONES 91

REFERENCIAS 93

ANEXOS 95
INDICE DE FIGURAS

Figura 1.1: Diagrama de bloques del radar de Jicamarca. 3


Figura 1.2: Antena principal del radar de Jicamarca 4
Figura 1.3: Etapas de amplificación de una unidad de transmisión 5
Figura 1.4: Primera fase de automatización del sistema de transmisores 6
Figura 1.5: Arranque de los equipos del sistema de enfriamiento 7
Figura 1.6: Segunda fase de automatización del sistema de transmisores 10
Figura 1.7: Diagrama de bloques de una estación remota 11
Figura 1.8: Módulo 914MB de Acromag 12
Figura 2.1: Red RS485 en una configuración a 2-Hilos 14
Figura 2.2: Red RS485 en una configuración a 4-Hilos 15
Figura 2.3: Transmisor en una línea balanceada 16
Figura 2.4: Receptor diferencial en una línea balanceada 16
Figura 2.5: Unidad de datos de la aplicación en Modbus 19
Figura 2.6: Direcciones utilizadas en Modbus 19
Figura 2.7: Secuencia de bits en modo RTU sin paridad 19
Figura 2.8: Mensaje ó trama Modbus en modo RTU 19
Figura 2.9: Mensajes y retardos en modo RTU 20
Figura 2.10: Mensaje Modbus en modo ASCII 20
Figura 2.11: Unidad de datos del protocolo 21
Figura 2.12: Solicitud Modbus realizada sin error 21
Figura 2.13: Excepción Modbus 22
Figura 2.14: Categorías de códigos de función Modbus 23
Figura 2.15: Configuración del segundo puerto de comunicaciones del PLC 24
Figura 2.16: Conexión del PLC a la red RS485 25
Figura 2.17: Conexión de los módulos Acromag a la red RS485 27
Figura 2.18: Conexión de una estación remota al bus RS485 28
Figura 3.1: Diagrama de bloques del control de la tensión de filamento de la etapa PA 31
Figura 3.2: Diagrama de bloques de una estación remota 32
Figura 3.3: Esquemático del adaptador de comunicaciones 33
Figura 3.4: Esquemático de las etapas de potencia 36
Figura 3.5: Diagrama de bloques de la fuente de alimentación 37
Figura 3.6: Tipos de motores paso a paso 38
Figura 4.1: Ubicación de los relés en los paneles de control de PA y Driver. 42
Figura 4.2: Cableado de las señales de control e indicación al PLC. 43
Figura 4.3: Prototipo de la estación remota. 44
Figura 4.4: Memoria de programa y stack del PIC16F873A. 46
vi

Figura 4.5: Rutina de reset. 48


Figura 4.6: Subrutinas de reset de los motores paso a paso. 48
Figura 4.7: Rutina principal. 49
Figura 4.8: Subrutinas de actualización de los motores paso a paso. 50
Figura 4.9: Rutina de interrupción 51
Figura 4.10: Subrutinas RX y CRC_RX 52
Figura 4.11: Subrutina para generación del CRC 53
Figura 4.12: Memoria EEPROM del microcontrolador PIC 53
Figura 4.13: Banco 0 de la memoria RAM del microcontrolador PIC 54
Figura 4.14: Rutina para la función 0x03 55
Figura 4.15: Rutina para la función 0x10 56
Figura 4.16: Mensaje de excepción Modbus 57
Figura 4.17: Rutina de excepción Modbus 58
Figura 4.18: Subrutina de transmisión 59
Figura 4.19: Montaje del motor paso a paso con el transformador variable de PA 60
Figura 4.20: Montaje del motor paso a paso con el transformador variable de Driver 61
Figura 4.21: Conexión de las entradas analógicas de los módulos Acromag 63
Figura 5.1: Tareas ejecutadas por el CPU 67
Figura 5.2: Símbolos utilizados en los diagramas de estados 68
Figura 5.3: Rutina principal 69
Figura 5.4: Estado inicial y estado prueba 70
Figura 5.5: Estado Cooling 71
Figura 5.6: Estados Blower_R y BLower_L 71
Figura 5.7: Estado LV 72
Figura 5.8: Estado RF Permit 72
Figura 5.9: Estado HV 73
Figura 5.10: Estado TX1 73
Figura 5.11: Estado Polling RX y Falla Poll RX 74
Figura 5.12: Rutina principal modificada 74
Figura 5.13: Estado Inicial modificado 75
Figura 5.14: Estado DRV3 76
Figura 5.15: Estado Polling 76
Figura 5.16: Pantalla principal “Sala de transmisores” 78
Figura 5.17: Pantalla de habilitación del transmisor Nº 1 “PA Tx1” 79
Figura 5.18: Pantalla “Driver Tx1” 79
Figura 5.19: Pantalla “Sistema de Enfriamiento” 80
Figura 5.20: Pantalla “Fuente de Alta Tensión” bloqueada 80
Figura 5.21: Pantalla “Fuente de Alta Tensión” lista 80
Figura 5.22: Pantalla “RF Permit” 81
Figura 5.23: Pantalla “Ventiladores del Túnel” 81
Figura 5.24: Pantalla “Bombas Auxiliares” 82
Figura 5.25: Pantalla “Sistema de Alarmas” 82
Figura 5.26: Pantalla “Transmistters Room” modificada 84
Figura 5.27: Pantalla “Transmitter 3” modificada 84
Figura 5.28: Pantalla “Driver TX3” modificada 85
Figura 5.29: Pantalla nueva “PA TX3” 85
Figura 5.30: Pantalla nueva “System Parameters” 86
Figura 6.1: Software Modbus Tester. 88
INDICE DE TABLAS

Tabla 2.1: Modbus comparado con el modelo OSI 13


Tabla 2.2: Disposición de pines para Modbus a 2-Hilos 17
Tabla 2.3: Retardos en modo RTU 20
Tabla 2.4: Tablas primarias de datos Modbus 22
Tabla 2.5: Funciones Modbus del PLC en modo maestro 24
Tabla 2.6: Funciones Modbus soportadas por los módulos Acromag 26
Tabla 2.7: Parámetros de configuración de los módulos Acromag 26
Tabla 2.8: Funciones Modbus soportadas por las estaciones remotas 27
Tabla 2.9: Parámetros de configuración de las estaciones remotas 28
Tabla 3.1: Parámetros de operación de la etapa de salida de los transmisores 29
Tabla 3.2: Tabla de función del transmisor del integrado SN75176 33
Tabla 3.3: Tabla de función del receptor del integrado SN75176 34
Tabla 3.4: Consuno adaptador de comunicaciones 36
Tabla 3.5: Consuno unidad de control 36
Tabla 3.6: Consuno etapas de potencia 37
Tabla 3.7: Secuencias de control de un motor unipolar 38
Tabla 3.8: Secuencias de control de un motor bipolar 38
Tabla 4.1: Nuevas entradas y salidas 43
Tabla 4.2: Descripción de borneras de la estación remota 45
Tabla 4.3: Puertos utilizados en el microcontrolador PIC 47
Tabla 4.4: Registros utilizados de la memoria EEPROM del microcontrolador PIC 47
Tabla 4.5: Códigos Modbus implementados 51
Tabla 4.6: Mensajes de solicitud, respuesta y error para la función 0x03 54
Tabla 4.7: Mensajes de solicitud, respuesta y error para la función 0x10 57
Tabla 4.8: Posibles códigos de excepción Modbus 57
Tabla 4.9: Características de los motores paso a paso 60
Tabla 4.10: Características de los engranajes 60
Tabla 4.11: Corrientes leídas por los módulos Acromag 61
Tabla 4.12: Direcciones de esclavo de los módulos Acromag 62
Tabla 4.13: Escala de corrientes 62
Tabla 6.1: Pruebas de comunicación de la estación remota 88
Tabla 6.2: Materiales utilizados en la estación remota 89
Tabla 6.3: Materiales necesarios para controlar los motores paso a paso con el PLC 89
INTRODUCCIÓN

La automatización y control de procesos se ha vuelto hoy en día una necesidad para todo
tipo de industria, de lo contrario corre el riesgo de quedar obsoleta. Automatizar un
proceso es conseguir que este funcione con la mínima intervención humana y mínimas
probabilidades de fallo; este concepto resulta muy claro, por ejemplo, en el caso de
procesos continuos.

El Radio Observatorio de Jicamarca (ROJ) dada su naturaleza, siempre está en busca de


nuevas tecnologías por lo que bajo este principio puso en marcha la primera fase del
proyecto “Automatización del sistema de transmisores principales” la cual fue desarrollada
junto con el departamento de electrónica y automática DEA de la UDEP, en la ejecución
del proyecto se utilizó un PLC (Programmer Logic Controller) y un sistema SCADA
(Supervisory Control And Data Adquisition) para controlar y supervisar respectivamente
los procesos.

El sistema que fue desarrollado en dicha oportunidad permite el control y supervisión de


los siguientes procesos: activación de la alimentación de baja tensión 120 V, encendido
automático del sistema de enfriamiento, activación de la fuente de alta tensión 20 KV,
activación del permiso de la señal de RF, supervisión de parámetros y sistema de alarmas.

El objetivo principal de la presente tesis es llevar a efecto la segunda fase del proyecto
“Automatización del sistema de transmisores principales”, lo que significa automatizar
todos los procesos involucrados con el encendido de los transmisores principales en cuanto
a su etapa de salida (Power amplifier) y su etapa previa (Driver).

Los procesos a automatizar son, en lo que se refiere a la etapa de salida del transmisor el
control remoto de los pulsadores de encendido y apagado, el control remoto de la tensión
de filamento y el control remoto de la tensión de pantalla. En lo concerniente a la etapa
previa: el control remoto de los pulsadores de encendido y apagado y el control remoto de
la tensión de pantalla. Como tarea adicional se requiere el monitoreo de las corrientes de
operación de los transmisores.

Para la ejecución de la mencionada segunda etapa se seguirá con la misma lógica empleada
en la primera fase del proyecto, esto es utilizar el PLC y el sistema SCADA para controlar
y supervisar respectivamente los nuevos procesos a automatizar. Además se diseñara y
construirá una estación remota, basada en un microcontrolador PIC, la cual se encargará
del control de la tensión de pantalla de ambas etapas del transmisor (etapa de salida y etapa
2

previa). Dicha estación remota debe ser capaz de comunicarse con el PLC a través de una
red de comunicaciones RS485 bajo el protocolo Modbus.

Para el monitoreo de las corrientes de operación se utilizaran módulos ADC inteligentes de


la marca Acromag, estos módulos para intercambiar información utilizan también el
estándar RS485, protocolo Modbus.

La tesis está estructurada en seis capítulos y cuatro anexos en los cuales se muestran en
detalle planos, circuitos y el código fuente de los programas desarrollados. Tras la presente
introducción, en el capítulo 1 se describe de forma breve los componentes del radar de
Jicamarca, también se describe de forma general el sistema de control de los transmisores
del ROJ desarrollado en la primera fase del proyecto y finalmente se da una visión general
del nuevo sistema a implementar. En este primer capítulo también se describen los
componentes que formaran parte del nuevo sistema de control.

El capítulo 2 está dedicado al diseño de la red de comunicaciones utilizada por los


diferentes dispositivos que se comunican con el PLC, la red de comunicación de datos se
describe siguiendo el modelo de referencia para redes de comunicación OSI (Open System
Interconnection). Al finalizar el capítulo se provee información de cada uno de los
dispositivos que formaran parte de la red de comunicación, en cuanto a sus características
y configuraciones.

En el capítulo 3 se analiza el modo en que se automatizaran los procesos involucrados con


el encendido de los transmisores. Se analiza el control de los pulsadores de encendido y
apagado, el control de la tensión de filamento de la etapa de salida de los transmisores y el
control de la tensión de pantalla también de la etapa de salida y de su etapa previa.

Una vez analizados los procesos a automatizar el capítulo 4 está destinado a describir el
prototipo del sistema desarrollado el cual ha sido implementado en el transmisor Nº 3 del
ROJ.

Como complemento al capítulo 4, el capítulo 5 describe el software del PLC y del sistema
SCADA, primero se presenta un análisis de los programas originales (desarrollados en la
primera fase del proyecto), para luego describir las modificaciones hechas a los
mencionados programas.

En el capitulo 6 se presentan los resultados obtenidos durante el desarrollo del prototipo


del sistema de control describiendo las pruebas realizadas y haciendo un análisis
económico de la estación remota diseñada. Finalmente se presentan las conclusiones a las
que se llego tras la culminación del proyecto.
CAPÍTULO 1

DESCRIPCIÓN GENERAL DEL SISTEMA PROPUESTO

1.1 Introducción

El Radio Observatorio de Jicamarca (ROJ) forma parte de la red ecuatorial de radares de


dispersión incoherente (cuyas siglas en inglés son ISR) y es uno de los más importantes en
el mundo para el estudio de la ionósfera ecuatorial.

El ROJ pertenece al Instituto Geofísico del Perú y se ubica a media hora de viaje en
automóvil hacía el este de Lima y a 10 km de la Carretera Central (latitud 11.95° Sur,
longitud 76.87° Oeste). Gracias a su ubicación, el radar de gran capacidad con el que
cuenta, permite por ejemplo, determinar con gran precisión la dirección del campo
magnético terrestre, además de proporcionar datos invalorables para diversas disciplinas
como: física ionosférica ecuatorial, física del plasma y dinámica atmosférica.

1.1.1 El radar de Jicamarca.

El radar de Jicamarca que opera a 50 MHz, es un radar mono-estático lo que significa que
utiliza una misma antena para transmitir y recibir las señales, esto es posible gracias a un
sistema de conmutación TR (Transmitter/Receiver) y ATR (Anti-Transmitter/Receiver)
que no permite que la potencia de transmisión pase a los receptores.

Figura 1.1: Diagrama de bloques del radar de Jicamarca.


4

1.1.1.1 La antena.

La antena principal del radar de Jicamarca está formada por dos arreglos cuadrados de
dipolos horizontales que ocupan un área de aproximadamente 85,000 metros cuadrados;
los dos arreglos se encuentran superpuestos y dispuestos de tal forma que los dipolos de
uno forman un ángulo recto con los dipolos del otro. Cada arreglo está dividido en cuatro
cuartos cada uno de los cuales es alimentado de forma independiente a través de líneas de
transmisión. Cada cuarto de antena a su vez consta de 16 módulos de 144 dipolos, así la
antena principal cuenta, en total, con 18,432 dipolos (9,216 dipolos del arreglo superior y
9,216 dipolos del arreglo inferior).

Figura 1.2: Antena principal del radar de Jicamarca

1.1.1.2 Transmisores y receptores

El sistema de transmisores cuenta con cuatro unidades de transmisión (tres en


funcionamiento y una en construcción), cada una de las cuales puede entregar una potencia
pico de 1.5 MW con un duty cycle del 6% (tiempo durante el cual el radar funciona como
transmisor en todo un ciclo de funcionamiento), estas unidades de transmisión son capaces
de operar de forma independiente o en conjunto.

En cada unidad de transmisión la señal que se envía a la antena es amplificada en varias


etapas. La primera de ellas es una etapa de excitación que amplifica la señal hasta los 8 W
de potencia, luego la señal pasa por los transmisores llamados MST (Mesosphere
Stratosphere Troposphere), estos transmisores son conectados directamente a la antena
cuando el radar funciona en el modo denominado JULIA (Jicamarca Unattended Long-
term Investigations of the Atmosphere), los transmisores MST alcanzan una potencia pico
de 15 KW. Finalmente cuando el radar opera a máxima potencia se utilizan dos etapas
adicionales primero una etapa previa denominada “Driver” y finalmente la etapa de salida
“Power Amplifier” comúnmente llamada “PA”. En la Figura 1.3 se muestran las etapas de
5

amplificación de un transmisor junto con los niveles de tensión que utilizan los respectivos
tubos de vacío.

Figura 1.3: Etapas de amplificación de una unidad de transmisión

El sistema de recepción del radar de Jicamarca está formado básicamente por cuatro
receptores, los cuales están conectados a la antena a través de pre-amplificadores de bajo
ruido llamados FRONT – ENDs y el sistema de conmutación TR/ATR.

1.1.1.3 Controlador de radar

El controlador de radar es el que genera las señales o pulsos necesarios para controlar las
secuencias de transmisión, recepción y adquisición de cada experimento. Algunos de los
pulsos generados por el controlador de radar son:

9 TR: Coloca a la antena en modo transmisor.


9 Tx_Control: Comprende la señal de RF
9 Código: la señal de RF puede ir codificada.
9 Muestreo: Indica al sistema de adquisición cuando leer la señal proveniente de la
antena.

1.1.1.4 Sistema de adquisición

El sistema de adquisición esta formado por conversores A/D (analógico/digital), tarjetas


para procesamiento digital basadas en DSP (Digital Signal Processing) unidades de
almacenamiento y presentación de resultados en una PC.

1.2 Sistema de control de los transmisores del ROJ

El sistema de transmisores como se explico anteriormente está formado por unidades de


transmisión las cuales a su vez están formadas por etapas de amplificación. Las etapas de
potencia PA y Driver, tienen además de las fuentes de tensión necesarias para su
funcionamiento, un sistema de control y un sistema de enfriamiento el cual en el caso de la
etapa de salida PA consta de circuitos de agua mientas que en la etapa previa Driver se
utiliza ventilación forzada.
6

Tanto la etapa de salida PA como su correspondiente etapa previa Driver, cuentan con su
sistema de control respectivo, el cual abarca principalmente los parámetros del sistema de
enfriamiento de la etapa de salida (interlock), así como algunos otros parámetros eléctricos.

Cada etapa cuenta con su respectivo panel de control local, en el cual se encuentran los
controles para su encendido y apagado así como medidores de tensión y corriente de los
diferentes parámetros de funcionamiento. La lógica de control se realizaba utilizando relés
y temporizadores.

Con el fin de controlar de forma remota (utilizando una PC) los diferentes procesos
involucrados en la operación del sistema de transmisores (etapas de potencia), se puso en
marcha la primera fase de automatización de dicho sistema, utilizando un PLC
(Programmer Logic Controller) para el control de los procesos y un sistema SCADA
(Supervisory, Control And Data Adquisition) para la supervisión de los mismos.

Figura 1.4: Primera fase de automatización del sistema de transmisores

Al finalizar la primera fase del proyecto quedó pendiente la automatización del encendido
de la etapa de salida y de su etapa previa, cuyo desarrollo es objetivo del presente trabajo.
A continuación se describen los principales procesos automatizados en la primera fase del
proyecto la descripción de los programas del PLC y del sistema SCADA así como su
funcionamiento se desarrolla en el CAPÍTULO 5.
7

1.2.1 Sistema de enfriamiento

La etapa de salida del sistema de transmisores cuenta con un sistema de enfriamiento el


cual está formado por dos circuitos de agua uno de alta y otro de baja presión además de un
circuito de enfriamiento secundario.

9 Circuito de alta presión: es un circuito cerrado de agua destilada, cuenta con una
electrobomba de 30 HP, un intercambiador de calor agua – agua y medidores de
flujo a la entrada de cada transmisor.
9 Circuito de baja presión: este circuito cuenta con dos electrobombas de 3 HP
operando en paralelo, un intercambiador de calor agua – agua y medidores de flujo
a la entrada de cada transmisor.
9 Circuito secundario: El circuito secundario llamado también de Raw Water, se
utiliza para enfriar el agua de los circuitos de alta y baja presión. Cuenta con una
electrobomba de 30 HP dos intercambiadores de calor (los del circuito de alta y
baja presión) y cuatro intercambiadores agua – aire.

La automatización del sistema de enfriamiento consiste en el arranque secuencial de cada


uno de los equipos que forman parte del mencionado sistema y el monitoreo de los flujos
de agua de cada uno de los circuitos los cuales están ligados al interlock de encendido de
los transmisores. El PLC también permite determinar si en el arranque de alguno de los
equipos ocurre una falla, para ello se utiliza un contacto NO (Normally Open) libre del
contactor de potencia, el cual se conecta a un modulo de entradas digitales del PLC .

Para el arranque de los equipos el PLC utiliza módulos con salidas digitales las cuales
activan relés auxiliares que a su vez activan los contactores de potencia.

Figura 1.5: Arranque de los equipos del sistema de enfriamiento[1]

[1]
Automatización de los transmisores del ROJ - Memoria Descriptiva
8

1.2.2 Habilitación de los transmisores

Para encender la etapa de salida de los transmisores PA es necesario que se cumplan ciertas
condiciones, en primer lugar se debe activar la tensión primaria de baja tensión (120 VAC)
la cual es necesaria para el funcionamiento de los circuitos de control del transmisor y en
segundo lugar verificar que los niveles de flujo de los circuitos de alta y baja presión se
encuentren dentro de los limites permitidos. Con la automatización del sistema el PLC se
encarga de verificar estas condiciones y si se cumplen activa los relés necesarios que
permiten el encendido de la etapa de salida. El cual se realiza de forma manual desde su
panel de control local.

1.2.3 Activación de la fuente de alta tensión

La etapa de salida de los transmisores cuenta con el tubo de vacío mas potente del mundo,
este tubo de vacío utiliza para alimentar uno de sus electrodos (la placa) una fuente de 20
KV. La activación de la fuente ahora la realiza el PLC siguiendo con la respectiva
secuencia (las tareas realizadas por el PLC para activar la fuente de alta tensión se
especifican en la sección 5.1.1.7).

El PLC también monitorea la señal analógica de la tensión y en caso de producirse alguna


falla la fuente es desactivada.

1.2.4 Activación de la señal de radio frecuencia RF

Antes de que la señal de radio frecuencia RF pase al sistema de transmisión es necesario


que se cumplan ciertas condiciones, el encendido de la fuente de 20 KV es una de ellas, es
por ello que se utiliza un relé para permitir el paso de la señal de RF, este relé se encuentra
en la sala de acondicionamiento. El PLC se encarga de verificar que se cumplan todas las
condiciones para recién permitir la activación del relé. La cual se puede hacer desde el
panel local o desde el sistema SCADA.

1.2.5 Monitoreo de parámetros y sistema de alarmas

La primera fase del proyecto también involucró el monitoreo desde el sistema SCADA de
los diferentes parámetros del sistema de transmisores como son los flujos de de los
circuitos de agua de alta y baja presión (Flow Meters), y las tensiones de operación de los
electrodos de los tubos de vacío de las etapas de potencia. En todos los casos fue necesario
acondicionar las señales ya que los módulos analógicos del PLC tienen entradas estándares
configurables en los rangos ± 5VDC y ± 10VDC.

Los circuitos acondicionadores utilizan puentes rectificadores, en el caso de señales AC, y


divisores de tensión en el caso de señales DC, también se utilizan condensadores como
filtros y diodos zener como protección por sobre tensiones. Todas las señales son
acondicionadas al rango 0 – 5 VDC[1].

[1]
Automatización de los transmisores del ROJ - Memoria Descriptiva
9

1.3 Descripción del sistema propuesto

Siguiendo la misma lógica empleada en la primera fase del proyecto, el sistema propuesto
utilizará el PLC y el sistema SCADA para controlar y supervisar respectivamente los
procesos involucrados en el encendido de los transmisores, los cuales incluyen, en cuanto a
la etapa de salida del transmisor, el control remoto de los pulsadores de encendido y
apagado, el control remoto de la tensión de filamento y el control remoto de la tensión de
pantalla. En cuanto a la etapa previa, comprende el control remoto de los pulsadores de
encendido y apagado y el control remoto de la tensión de pantalla.

Adicionalmente al encendido de las etapas de transmisión la segunda fase del proyecto


también incluye el monitoreo de las corrientes de operación de los transmisores para lo
cual se utilizarán módulos inteligentes de la de la familia 900MB de la marca Acromag,
estos módulos utilizan una red de comunicaciones RS485 para intercambiar información
bajo el protocolo Modbus.

Para controlar la tensión de pantalla de cada una de las etapas de potencia del transmisor
(etapa de salida y etapa previa), se realizará el diseño de una estación remota, la cual
deberá ser capaz de comunicarse con el PLC. Para evitar el cableado adicional (del PLC a
los transmisores, donde se ubicarán las estaciones remotas) y, además evitar el uso de
salidas adicionales del PLC, la estación remota utilizará también la red de comunicaciones
RS485 para intercambiar información con el PLC utilizando obligatoriamente el protocolo
Modbus.

1.3.1 PC supervisora

La PC supervisora cuenta actualmente con un sistema SCADA, el cual fue desarrollado en


la primera fase del proyecto utilizando el software LookoutDirect, este sistema SCADA
cuenta con pantallas para el control y supervisón de los siguientes procesos:

9 Arranque del sistema de enfriamiento, que incluye dos circuitos de agua uno de
alta y otro de baja presión, cuatro intercambiadores de calor de agua-aire y 2
ventiladores auxiliares.
9 Selección de los transmisores a utilizar.
9 Activación de las fuentes de alto voltaje (20 KV) para las etapas PA del transmisor.
9 Activación de la señal de radio frecuencia RF.
9 Monitoreo de parámetros y alarmas del sistema
9 Parada de emergencia.

Si bien desde el sistema SCADA se pueden enviar órdenes de parada y de marcha, la PC


no realiza ninguna clase de control, el control radica únicamente en el PLC.

Para la implementación de la segunda fase del proyecto es necesario realizar la


modificación de algunas pantallas existentes y agregar nuevas pantallas, con sus
respectivos controles.
10

PC

RS232

RELAY OUTPUT 110 VAC INPUT


D3-16TR D3-16NA DL350
I 0 4 0 4 II I 0 4 0 4 II
1 5 1 5 1 5 1 5
2 6 2 6 2 6 2 6
3 7 3 7
I C
3 7 3 7
I C
DL305
0 0

PLC
1 1
2 2
3 3
4 4
5 5
6 6
7 7
C C
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
II II

BUS DE COMUNICACIONES RS485

ESTACION ESTACION MODULO MODULO


REMOTA REMOTA ACROMAG ACROMAG
RELES RELES TX1 TX4 Nº 1 Nº 8

SEÑALES DE COMANDO

SEÑALES DE INDICACION

Figura 1.6: Segunda fase de automatización del sistema de transmisores

1.3.2 PLC

El PLC de la familia DirectLogic 305, es la unidad principal del sistema de control, este
PLC cuenta con módulos ADC (Analog to Digital Converter) con los que se leen tensiones
de operación y presiones de agua del sistema de enfriamiento, módulos con entradas
digitales con los que se monitorean estados de tipo ON/OFF y módulos con salidas
digitales tipo relé con los que se activan o desactivan los relés auxiliares de comando.

El PLC también cuenta con un módulo CPU el cual ejecuta el programa de aplicación,
desarrollado también en la primera fase del proyecto, este modulo CPU cuenta además con
dos puertos de comunicación el primero se utiliza para la comunicación serial con la PC
supervisora y el segundo será utilizado para formar una red de comunicaciones RS-485 en
donde el PLC actuará como maestro y las estaciones remotas junto con los módulos
Acromag como esclavos.

Para incluir los nuevos procesos a automatizar es necesario realizar también


modificaciones al programa original (ladder diagram) del PLC. Además será necesaria la
instalación de módulos adicionales con salidas digitales tipo relé y entradas digitales a los
cuales se conectaran los relés auxiliares de comando e indicación respectivamente.

1.3.3 Estaciones remotas

Cada transmisor contará con una estación remota, la cual se encargará de controlar la
tensión de pantalla de las etapas de potencia de los transmisores. Para ello se utilizarán
motores paso a paso, los cuales estarán acoplados a los auto – transformadores variables,
los que finalmente permiten ajustar las respectivas tensiones de pantalla.
11

El control de la tensión de pantalla se hace de manera remota, lo cual significa que la


estación remota estará a la escucha de los comandos que le envía el PLC, por medio de la
red de comunicaciones RS485. El protocolo que utiliza el PLC es Modbus RTU por lo que
este protocolo debe ser implementado en la estación remota.

Cada estación remota cuenta con los siguientes elementos: un adaptador de


comunicaciones, una unidad de control, una etapa de potencia y una fuente de
alimentación.

La unidad de control estará formada por el microcontrolador PIC16F873A el cual se


encargará de recibir los comandos del PLC, procesarlos y generar los pulsos necesarios
para hacer girar los motores paso a paso.

El adaptador de comunicaciones conecta la unidad de control y la red de comunicaciones


mientras que la etapa de potencia es necesaria para suministrar la suficiente corriente a los
motores paso a paso.

La fuente de alimentación de la estación remota debe contar con salidas para alimentar
tanto la unidad de control, el adaptador de comunicaciones y los motores paso a paso.

ESTACION REMOTA

FUENTE 110 V
DE
ALIMENTACION
BUS

ADAPTADOR UNIDAD
DE DE
COMUNICACIONES CONTROL

ETAPA
DE
POTENCIA

MOTOR MOTOR
PAP 1 PAP 2

Figura 1.7: Diagrama de bloques de una estación remota

1.3.4 Módulos Acromag

La familia 900MB de Acromag es una línea de módulos I/O multi-función de alto


rendimiento, que permiten una comunicación RS485 con una velocidad de hasta 115Kbps
bajo el protocolo Modbus RTU.

El modelo utilizado es el 914MB, este acondicionador de señal es un módulo de entradas


analógicas (cuatro canales) y cuatro salidas discretas. Proporciona aislamiento entre las
entradas, las salidas, la fuente de alimentación y los circuitos de la red. Cuenta con una
comunicación de red conforme al protocolo industrial Modbus RTU estándar RS485, y
soporta fuentes de alimentación tanto AC como DC.

Las entradas analógicas de los módulos 914MB soportan diferentes rangos de VDC, y sus
salidas discretas son bastante flexibles ya que funcionan como alarmas o como controles
12

ON/OFF. Las alarmas se pueden configurar para activarse cuando alguna entrada analógica
se encuentra fuera de los límites permitidos[2].

Figura 1.8: Módulo 914MB de Acromag

Características:

9 Soporta el protocolo Modbus RTU estándar RS485 con una velocidad de hasta 115
Kbps.
9 Cuatro canales analógicos de 16 bits que permiten una resolución de 0.1% del
rango configurable en: ±10VDC, ±5VDC, ±2.5VDC, ±1.25VDC, ±625mVDC,
±313mVDC, ±156mVDC y ±78mVDC.
9 Cuatro salidas discretas configurables para funcionar como alarmas ó como
controles ON/OFF. Cada salida cuenta con transistores mosfet que soportan
corrientes de hasta 1A.
9 Autocalibración que permite disminuir los costos de mantenimiento.
9 Temporizadores “Watchdog” configurables que permiten detectar la perdida de
comunicación con el dispositivo maestro.
9 La fuente de alimentación, las entradas analógicas, las salidas discretas y los
circuitos de la red se encuentran aislados.
9 Autodiagnóstico que permite detectar fallas operacionales y ejecutar un reset para
restaurar el sistema.

Se están utilizando acondicionadores de VDC para monitorear corrientes debido a que las
fuentes de alimentación cuentan en su salida con resistencias en derivación (Shunt) en
cuyos terminales se pueden conectar directamente voltímetros, haciendo la escala
respectiva se puede obtener el valor de la corriente.

[2]
BusWorks® Model 913MB/914MB Network I/O Module User’s Manual
CAPÍTULO 2

RED DE COMUNICACIÓN DE DATOS

Para cumplir con los requerimientos del nuevo sistema de control es necesario montar una
red de comunicación de datos, a la cual estarán conectados el PLC los módulos 914MB de
Acromag para la lectura de corrientes además de las estaciones remotas, los módulos
Acromag cuentan con una interfase de comunicaciones acorde con el estándar RS485, bajo
el protocolo Modbus RTU, mientras que en las estaciones el mencionado protocolo debe
ser implementado. El módulo CPU del PLC también es capaz de comunicarse con una red
bajo el protocolo Modbus.

El protocolo Modbus fue desarrollado por Modicon para el uso con sus PLC’s. Modbus es
un protocolo de comunicaciones estándar para la industria, puesto que representa uno de
los medios más usados para conectar casi cualquier dispositivo electrónico industrial. Una
de las principales razones del uso extenso de Modbus en vez de otros protocolos de
comunicaciones, es el hecho de que es público.

Una red de comunicación de datos RS485, protocolo Modbus se adecua al modelo de


referencia OSI (Open System Interconnection) por lo que la red a implementar se
describirá siguiendo este modelo.

Tabla 2.1: Modbus comparado con el modelo OSI[3]

Nivel Modelo OSI Modbus


7 Capa de aplicación Protocolo de aplicación Modbus
6 Capa de presentación Vacío
5 Capa de sesión Vacío
4 Capa de transporte Vacío
3 Capa de red Vacío
2 Capa de enlace de datos Modbus sobre una línea serial
1 Capa física EIA/TIA-232 o EIA/TIA-485

Como podemos observar en la Tabla 2.1 el protocolo Modbus se ubica en el nivel 7


mientras que su implementación sobre una línea serial ocupa los niveles 1 y 2.

[3]
Specification & Implementation guide for MODBUS over serial line
14

2.1 Capa física

La capa física del modelo OSI es la que se encarga de las conexiones físicas entre los
dispositivos y la red, tanto en lo que se refiere al medio y sus características así como la
forma en la que se transmite la información.

2.1.1 Velocidad de transmisión

Un sistema Modbus debe permitir velocidades de 9.6 Kbps y 19.2 Kbps, adicionalmente se
pueden implementar otras velocidades (1200, 2400,... 38400 bps, 56 kbps, 115K bps,...) la
velocidad por defecto es de 19.2 Kbps[3].

2.1.2 Interfase eléctrica RS485

El protocolo Modbus puede ser implementado utilizando una interfase eléctrica conforme
al estándar EIA/TIA-485 también conocido como RS485, este estándar permite sistemas
punto a punto (conexión entre dos dispositivos) y multipunto (conexión entre varios
dispositivos). Como máximo la norma describe que se pueden conectar hasta 32
dispositivos transmisores/receptores (transceptores). El rango de voltaje para el modo
común (Vcm), que pueden tolerar los transmisores y/o receptores, se extiende desde -7V
hasta +12V[4].

En la Figura 2.1se muestra una red RS485 en una configuración a 2-Hilos, nótese que la
línea de transmisión está terminada solo en sus extremos más no en los nodos intermedios.
MAESTRO

D
R

5V

POLARIZACION (+)
B

LT PAR BALANCEADO LT

A
POLARIZACION (-)
COMUN

R R
D D

LT: TERMINACION DE LA LINEA


ESCLAVO 1 ESCLAVO N

Figura 2.1: Red RS485 en una configuración a 2-Hilos

El estándar RS485 adicionalmente permite una configuración a 4-Hilos (un par maestro y
un par esclavo) en la cual los datos sobre el par maestro solo son recibidos por los esclavos
mientras que los datos sobre el par esclavo solo son recibidos por el maestro.

[3]
Specification & Implementation guide for MODBUS over serial line
[4]
RS 422/485 Application Note
15

MAESTRO

D
R
5V

POLARIZACION (+)
PAR BALANCEADO MAESTRO B

LT LT

A
POLARIZACION (-)
5V

POLARIZACION (+)
PAR BALANCEADO ESCLAVO B

LT LT

A
POLARIZACION (-)
COMUN

R R
D D

LT: TERMINACION DE LA LINEA


ESCLAVO 1 ESCLAVO N

Figura 2.2: Red RS485 en una configuración a 4-Hilos[3]

Tanto en la configuración a 2-Hilos como en la configuración a 4-Hilos, solo un


dispositivo (a la vez) puede transmitir datos.

2.1.3 Cableado

Una red RS485 está constituida por tres conductores, dos de ellos (“A” y “B”) forman un
par trenzado balanceado sobre el cual se transmiten y reciben los datos y el tercer
conductor que interconecta también todos los dispositivos forma el común .

Se denomina sistema balanceado porque la señal en un conductor es exactamente opuesta a


la señal en el otro conductor. En otras palabras, si uno de los cables está transmitiendo una
señal de alto nivel (High), el orto cable debe estar transmitiendo una señal de bajo nivel
(Low), y viceversa.

El transmisor en un sistema balanceado puede producir voltajes entre 2 y 6 voltios tanto en


la parte positiva como en la parte negativa, aunque la señal de tierra es importante, esta no
es utilizada por el receptor balanceado para determinar el estado lógico de la línea de datos.
Algunos transmisores (drivers) de comunicación pueden también tener una señal de
habilitación (enable)[4].

[3]
Specification & Implementation guide for MODBUS over serial line
[4]
RS 422/485 Application Note
16

Figura 2.3: Transmisor en una línea balanceada[4]

Como hemos indicado anteriormente el receptor no necesita, para determinar el estado


lógico de la red, la señal de tierra (aunque es necesaria para un correcto diseño del
sistema). En la figura 2.4 se muestra un diagrama esquemático de un receptor diferencial.
En la figura 2.4 también se muestran los voltajes que son importantes para el receptor
balanceado.

Figura 2.4: Receptor diferencial en una línea balanceada

La señal de un uno lógico (estado de reposo) aparece cuando el voltaje del conductor “A”
respecto al del conductor “B” es mayor en 200mV y en el caso contrario, VB mayor que
VA, tendremos un cero lógico que equivale a un estado activo de la red. La gama de
voltajes entre 200mV y 6V es necesaria para evitar la atenuación a lo largo de la línea de
transmisión.

2.1.4 Interfases mecánicas

Para la interfase con el bus se pueden utilizar borneras de tornillo, adicionalmente se


pueden utilizar conectores del tipo RJ45 ó DB9. En todos los casos se debe proveer la
información sobre la ubicación exacta de cada señal[3].

[4]
RS 422/485 Application Note
[3]
Specification & Implementation guide for MODBUS over serial line
17

Tabla 2.2: Disposición de pines para Modbus a 2-Hilos[3]

RJ45 DB9 Nivel de


Señal Descripción
pines pines requerimiento
4 5 Requerido B Voltaje VB
5 9 Requerido A Voltaje VA
7 2 Recomendado Vp Alimentación 5...24VDC
8 1 Requerido C Común

2.1.5 Requerimientos en un sistema multipunto Modbus

Para cualquier sistema multipunto RS485 ya sea en una configuración a 2-Hilos ó a 4-


Hilos se deben tener en cuenta los siguientes requerimientos :

9 Número máximo de dispositivos sin repetidor.- Modbus permite un máximo de 32


dispositivos sobre un sistema multipunto sin utilizar repetidor, sin embargo algunos
sistemas permiten utilizar un número mayor de dispositivos.

9 Topología.- Un sistema Modbus RS485 sin repetidor utiliza un solo cable principal
(línea ó bus) sobre el cual se conectan todos los dispositivos, directamente
(formando una daisy chain) ó utilizando cables cortos como derivación. El uso de
repetidores entre dos sistemas Modbus sobrecargados también es posible.

9 Longitud de la línea.- La longitud máxima de la línea depende de varios factores: la


velocidad de transmisión, el cable utilizado (calibre, impedancia característica,
capacitancia), el número de cargas sobre la línea y la configuración de la red (2-
Hilos ó 4-Hilos). En un sistema trabajando a 9600 bps, con un cable calibre 26
AWG la máxima longitud es de 1000m para una configuración a 2-Hilos (para 4-
Hilos la longitud se divide entre dos). La longitud de las derivaciones debe ser corta
y en ningún caso mayor a 20 m.

9 Conexión a tierra.- El común del circuito (común del bus y opcionalmente el


común de la fuente de alimentación) se debe conectar directamente a la tierra de
protección, preferiblemente en un solo punto del bus.

9 Polarización de la línea.- Cuando no existe transmisión de datos en el bus su estado


es indefinido y susceptible al ruido o interferencia externa. Esta situación permite
que el bus tome cualquier valor, los cuales pueden ser interpretados por los
receptores. Para asegurar que los receptores se encuentren en un estado constante
cuando el bus se encuentra en reposo es conveniente polarizarlo, así la línea “A”
debe estar a 5V y la línea “B” a tierra.

9 Terminación de la línea.- Una línea balanceada utilizada para transmitir datos se


comporta como una línea de transmisión por lo que para evitar reflexiones esta
debe estar terminada cerca de sus extremos por su impedancia característica.
Generalmente una resistencia de 120 Ω es la adecuada. Es importante que la línea
esté terminada en ambos extremos dado que las reflexiones son bidireccionales

[3]
Specification & Implementation guide for MODBUS over serial line
18

pero no se permite colocar más de dos resistencias de terminación. Cada resistencia


de terminación debe ser colocada entre los dos conductores “A” y “B”.

9 Protecciones.- Dado que las redes de comunicación están muchas veces expuestas a
inducciones del entorno, se pueden producir sobre tensiones que pueden dañar a los
elementos de la red. La inmunidad al ruido, ofrecido por las redes RS485, en su
esquema diferencial de funcionamiento puede no ser suficiente. La protección
puede realizarse de varias formas, las más usuales son los sistemas que
proporcionan aislamiento galvánico, como los opto aislados, y los sistemas que
cuentan con circuitos limitadores de señal, realizados generalmente con diodos
zener.

2.2 Capa enlace de datos

Esta capa se encarga de conseguir que la información fluya libre de errores sobre el medio
físico. Para ello se tiene que montar bloques de información (tramas), gestionar la
detección y corrección de errores, además del control del flujo de información entre los
dispositivos.

Modbus es un protocolo Maestro/Esclavo, donde solo un maestro (a la vez) está conectado


al bus y uno o varios dispositivos esclavos (hasta un máximo de 247) también están
conectados al mismo bus. Una transacción Modbus siempre la inicia el maestro, mientras
que los esclavos nunca transmiten sin antes recibir una solicitud del maestro. La
comunicación entre esclavos no es posible y solo el maestro puede iniciar una transacción
a la vez.

El maestro puede enviar una solicitud a un esclavo en dos modos diferentes[3]:

9 Modo Unicast.- En este modo el maestro envía una solicitud a un único esclavo,
(identificado con una única dirección) el cual después de recibir y procesar la
solicitud envía un mensaje de respuesta al maestro.

9 Modo Broadcast.- El maestro envía una solicitud a todos esclavos, sin embargo,
estos no envían una respuesta al maestro, generalmente se utiliza con funciones de
escritura. Para identificar una solicitud en modo broadcast se utiliza la dirección
cero.

2.2.1 Descripción de la trama Modbus

Cuando Modbus es implementado sobre una red o bus se introducen campos adicionales a
la PDU (ver capa de aplicación) de esta manera se forma la unidad de datos de la
aplicación ADU (Aplication Data Unit).

[3]
Specification & Implementation guide for MODBUS over serial line
19

Figura 2.5: Unidad de datos de la aplicación en Modbus[3]

En un mensaje de solicitud el maestro coloca en el campo dirección, la dirección del


esclavo con el que quiere comunicarse, mientras que en el mensaje de respuesta el esclavo
coloca su propia dirección para indicarle al maestro quien ha respondido.

0 1 - 247 248 - 255

DIRECCION DIRECCIONES
RESERVADOS
BROADCAST PARA ESCLAVOS

Figura 2.6: Direcciones utilizadas en Modbus

El campo de verificación de errores contiene un valor obtenido del calculo de redundancia


(CRC ó LRC) sobre el contenido del mensaje, con este valor es posible determinar errores
en la trama.

2.2.2 Modos de transmisión

El modo de transmisión serial por defecto es el RTU (Remote Terminal Unit) en este modo
cada byte de 8 bits contiene dos caracteres hexadecimales de 4 bits. Cada byte de datos es
enviado con un bit de arranque al inicio y dos bits de parada al final, el primer bit de
parada se puede utilizar como bit de paridad. El tamaño máximo de un mensaje en modo
RTU es de 256 bytes .

START 1 2 3 4 5 6 7 8 STOP STOP

Figura 2.7: Secuencia de bits en modo RTU sin paridad

Figura 2.8: Mensaje ó trama Modbus en modo RTU

En modo RTU los mensajes deben estar separados por un intervalo de tiempo en silencio
de al menos 3.5 veces el tamaño de un byte, de esta manera se puede detectar el inicio de
un mensaje. Si en la transmisión de un mensaje ocurre un silencio, entre dos bytes, mayor a
1.5 veces el tamaño de un byte, el mensaje se declara incompleto y debe ser descartado.

[3]
Specification & Implementation guide for MODBUS over serial line
20

Tabla 2.3: Retardos en modo RTU

Velocidad de Retardo entre Mensajes Retardo entre


Transmisión [bps] recomendado [µs] Bytes [µs]
4800 7000 2500
9600 3500 1250
19200 1750 625

MSG 1 OK MSG 2 OK MSG 3 NO OK

<1.5 Byte >1.5 Byte

t0

>3.5 Byte >3.5 Byte >3.5 Byte

Figura 2.9: Mensajes y retardos en modo RTU[3]

El Modo RTU incluye comprobación de errores basado en el método CRC (Cyclical


Redundancy Check) ejecutado sobre el contenido de todo el mensaje. El campo CRC
contiene un valor de 16-Bit implementado en dos 8-Bit bytes los cuales son anexados al
final de cada mensaje.

El otro modo de transmisión permitido por el protocolo Modbus es el modo ASCII


(American Standard Code for Information Interchange), este modo opcional es utilizado
cuando los dispositivos no permiten el modo RTU, en cuanto al control de los retardos por
ejemplo. Este modo es menos eficiente que el modo RTU debido a que cada byte es
enviado como dos caracteres ASCCII por ejemplo: el byte 0x5B es enviado como dos
caracteres 0x35 y 0x42 (0x35 = “5” y 0x42 = “B” en ASCII).

Figura 2.10: Mensaje Modbus en modo ASCII

Para detectar el inicio y el fin de un mensaje en modo ASCII se utilizan caracteres


especiales, los mensajes deben comenzar con el carácter “:” (ASCII 0x3A) y deben
terminar con los caracteres “CRLF” (carriage return – line feed ASCII 0x0D y 0x0A), el
método de comprobación de errores en este modo es LRC (Longitudinal Redundancy
Checking)

2.3 Capa de aplicación

El protocolo Modbus proporciona una comunicación de tipo Maestro/Esclavo entre


diferentes dispositivos conectados en una misma red o bus y se basa en el principio de

[3]
Specification & Implementation guide for MODBUS over serial line
21

solicitud/respuesta, que ofrecen diferentes servicios especificados por códigos de función,


los cuales serán descritos más adelante.

2.3.1 Descripción del protocolo Modbus

El protocolo Modbus define una simple unidad de datos del protocolo o PDU (Protocol
Data Unit) la cual es independiente de las capas de comunicación inferiores, la PDU
consta de dos campos: el campo función y el campo de datos[5].

PDU

FUNCION DATOS

Figura 2.11: Unidad de datos del protocolo

Para iniciar una transacción Modbus el dispositivo maestro construye una PDU (mensaje
de solicitud) que envía al dispositivo esclavo el cual a su vez construye una nueva PDU
(mensaje de respuesta), que contiene los datos solicitados, y la envía al dispositivo
maestro. Si el dispositivo esclavo no puede ejecutar la acción requerida por el dispositivo
maestro este envía una PDU denominada mensaje de excepción.

El campo función de la PDU es codificado en un byte y puede tomar valores en el rango de


1 a 255 en decimal, cuando un mensaje es enviado a un dispositivo esclavo el campo
función le indica el tipo de acción a ejecutar.

El campo datos contiene información adicional que el dispositivo esclavo necesita para
ejecutar la acción que indica la función Modbus. En algunos tipos de solicitud el campo
datos es omitido en el mensaje, lo que indica que la función en si es suficiente para realizar
la acción.

Si ningún error relacionado con la ejecución de la solicitud requerida por el dispositivo


maestro ocurre, la PDU que envía como respuesta el dispositivo esclavo contiene: en el
campo función, la especificada por el dispositivo maestro y en el campo datos la
información requerida.

Figura 2.12: Solicitud Modbus realizada sin error

[5]
MODBUS Application Protocol Specification
22

En el caso contrario el campo función contiene: el código de error (función más el valor
0x80) que le indica al dispositivo maestro que ha ocurrido algún error, y el campo datos
contiene el código de excepción que indica el tipo de error ocurrido.

MAESTRO ESCLAVO

INICIA SOLICITUD

CODIGO DATOS DE
DE FUNCION SOLICITUD

ERROR DETECTADO
INICIA ERROR

CODIGO CODIGO
DE ERROR DE EXCEPCION

RECIBE RESPUESTA

Figura 2.13: Excepción Modbus[5]

2.3.2 Tipos de datos en Modbus

El tipo de datos utilizados en Modbus hacen referencia principalmente a bits y registros los
cuales deben estar mapeados en la memoria del dispositivo al cual se quiere acceder, en
general el tipo de datos en Modbus se basa en una serie de tablas con diferentes
características. Las cuatro tablas primarias se muestran en la Tabla 2.2.

Tabla 2.4: Tablas primarias de datos Modbus

Tabla Tipo de dato Acceso


Discretes Input Un solo bit Lectura
Coils Un solo bit Lectura/Escritura
Input Registers Palabra de 16 bits Lectura
Holding Registers Palabra de 16 bits Lectura/Escritura

2.3.3 Códigos de función Modbus

Los códigos de función Modbus pueden tomar valores en el rango de 1 a 127 en decimal y
están divididos en tres categorías :

9 Códigos públicos, son los códigos validados por Modbus, además de ser únicos se
encuentran amplia y públicamente documentados.

9 Códigos definidos por el usuario, como su nombre lo indica estos códigos son
utilizados para implementar funciones no definidas por Modbus, por lo que no hay
garantía de que el código sea único (lo pueden utilizar diferentes usuarios para
diferentes propósitos)

9 Códigos reservados, utilizados por algunas compañías y no se encuentran


disponibles al público.

[5]
MODBUS Application Protocol Specification
23

Figura 2.14: Categorías de códigos de función Modbus[5]

2.4 Dispositivos de red

2.4.1 PLC

El PLC cuenta con un modulo CPU DL350, el cual puede comunicarse con una red
Modbus a través de su segundo puerto de comunicaciones. Este puerto de comunicaciones
soporta los estándares RS-232C y RS422C por lo que para poder comunicarse con la red
RS485 es necesario utilizar un adaptador. El adaptador a utilizar es el FA-ISONET, el cual
cuenta con las siguientes características[6]:

9 Convierte la mayoría de interfases de datos RS232 en una interfase de datos aislada


RS422 (4-Hilos) ó RS485 (2-Hilos). Los requerimientos mínimos de la interfase
RS232 son las salidas TXD y RTS y la entrada RXD, RS485 requiere que el
dispositivo RS232 controle correctamente la señal de RTS.
9 El transmisor del adaptador está protegido contra corto circuitos y sobre cargas.
9 El adaptador cuenta con una protección transitoria por sobre tensiones.
9 La fuente de alimentación de 5V para el RS232 se puede tomar directamente del
cable de comunicaciones ó usar una fuente externa de 24VDC.
9 Las resistencias de terminación requeridas en los extremos del bus están
incorporadas.
9 La polarizaron del bus tanto positiva como negativa también están incorporadas
9 La transmisión y recepción cuentan con led’s indicadores para simplificar la
detección de errores.

En la red Modbus el PLC actuará como maestro por lo que este inicia las transacciones
para recibir/enviar información a los esclavos, el PLC en modo maestro cuenta con las
siguientes funciones Modbus para el manejo de variables:

[5]
MODBUS Application Protocol Specification
[6]
Universal Isolate Network Adapter Data Sheet
24

Tabla 2.5: Funciones Modbus del PLC en modo maestro[6]

Código Referencia
Función Tipo de dato
(hex) Modbus
0x03 Read holding registers Palabra de 16 bits 4xxxx
0x04 Read input registers Palabra de 16 bits 3xxxx
0x10 Write multiple holding registers Palabra de 16 bits 4xxxx

Para configurar el segundo puerto de comunicaciones del PLC como maestro Modbus se
debe acceder al software DirectSoft Programing elegir el menú PLC, luego Setup, luego
“Secondary Comm Port”

9 Port: elegir “Port 2” de la lista.


9 Protocol: seleccionar “MODBUS” en la lista de verificación, el cuadro de dialogo
aparecerá como en la figura 2.15.
9 Timeout: cantidad de tiempo que el puerto espera después de enviar un mensaje
para recibir una respuesta antes de registrar un error.
9 Response Delay Time: cantidad de tiempo entre la habilitacion de la señal RTS y el
envío de datos.
9 Station Number: dirección de esclavo Modbus (1 – 90 BCD), si el PLC actúa como
maestro seleccionar “1”.
9 Baud Rate: los posibles valores son 300, 600, 900, 2400, 4800, 9600, 19200, y
38400 bps. Todos los dispositivos conectados a la red deben operar con el mismo
valor.
9 Stop Bits: escoger entre 1 ó 2 bits de parada para usar en el protocolo (por defecto 2
bits).
9 Parity: elegir entre par, impar ó ninguna paridad para la detección de errores (por
defecto ninguna).

Finalmente enviar la configuración al PLC con el comando respectivo.

Figura 2.15: Configuración del segundo puerto de comunicaciones del PLC[6]

[6]
Universal Isolate Network Adapter Data Sheet
25

BUS RS485
A
B
COMUN

+5V RXD+ RXD- TXD- TXD+ GND

J4
J6

J5

422 485
J7

DL350 1
GND
2
CTS
3
RXD
4
TXD
5
+5V
6
GND RS232

2
TXD
3
RXD
4
RTS
5
CTS
7
GND
8
GND

RS232

Figura 2.16: Conexión del PLC a la red RS485

2.4.2 Módulos Acromag

Estos acondicionadores de señal cuentan con una interfase de comunicaciones conforme al


estándar RS485 (configuración a 2-Hilos) de alta velocidad bajo el protocolo Modbus
RTU, las funciones que soportan se muestran en la Tabla 2.6.
26

Tabla 2.6: Funciones Modbus soportadas por los módulos Acromag[2]

Código Referencia
Función Tipo de dato
(hex) Modbus
0x01 Read coil (output status) Bit 0xxxx
0x03 Read holding registers Palabra de 16 bits 4xxxx
0x04 Read input registers Palabra de 16 bits 3xxxx
0x05 Force single coil (output) Bit 0xxxx
0x06 Write single holding registers Palabra de 16 bits 4xxxx
0x08 Reset slave - Oculto
0x0F Force Multiple coils (outputs) Bit 0xxxx
0x10 Write multiple holding registers Palabra de 16 bits 4xxxx
0x11 Report slave ID - Oculto

Los módulos Acromag cuentan con un pulsador (DFT) para cargar los parámetros de
configuración por defecto sin embargo estos parámetros pueden ser modificados según se
requiera, para ello se cuenta con el software Series900MB.exe. Adicionalmente la memoria
que contiene los parámetros de configuración es accesible vía Modbus por lo que se puede
utilizar cualquier estación maestra para configurarlos.

Tabla 2.7: Parámetros de configuración de los módulos Acromag

Registro Referencia Descripción Valores


Dirección de esclavo
0 40001 1 – 247
Default: 247
0 = 2400bps 1 = 4800bps
Baud Rate 2 = 9600bps 3 = 14400bps
1 40002 4 = 19200bps 5 = 28800bps
Default: 2, 9600 bps 6 = 38400bps 7 = 57600bps
8 = 76800bps 9 = 115200bps
Paridad 0 = ninguna, 2 stop bits
2 40003 1 = impar, 1 stop bit
Default: 0, ninguna 2 = par, 1 stop bit
Tiempo del Watchdog
0 – 65534
3 40004
(segundos)
Default: 0, deshabilitado
Habilitación de salidas
Ch0 = bit 0
digitales cuando se alcanza el
Ch2 = bit 1
4 40005 tiempo del Watchdog
Ch3 = bit 2
Ch4 = bit 3
Default: 65535, deshabilitado
Retardo de respuesta
0 – 65500 ticks
5 40006
(1 tick = 1.085 µs)
Default: 0, sin retardo
Configuración de entradas 0 = ±10V 1 = ±5V
analógicas 2 = ±2.5V 3 = ±1.25V
6 40007
4 = ±625mV 5 = 313mV
Default: 0, ±10V 6 = ±156mV 7 = ±78mV

Cuando el módulo está configurado con los parámetros por defecto el led status (ST)
parpadea, si se cambia alguno de los parámetros de configuración es necesario resetear el
módulo para que estos tengan efecto.

[2]
BusWorks® Model 913MB/914MB Network I/O Module User’s Manual
27

BUS RS485
A
B
COMUN

Acromag
46 45 44 43 42 41 36 35 34 33 32 31
RUN
ST

DFT
DIGITAL OUTPUTS RS485 PWR

0 1

2 3 MODEL 924MB-0900
SET BAUD RATE, PARITY,
AND ADDRESS
CJC-0 INPUTS 0,1 CJC-1 INPUTS 2,3

11 12 13 14 15 16 21 22 23 24 25 26

Figura 2.17: Conexión de los módulos Acromag a la red RS485

2.4.3 Estaciones remotas

La estación remota cuenta con una unidad de control la cual está formada por un
microcontrolador PIC16F873A, en el cual se ha implementado el protocolo Modbus. Las
funciones soportadas por las estaciones remotas se muestran en la tabla 2.8, con estas
funciones es posible leer y escribir en las memorias de datos (EEPROM y RAM) del
microcontrolador PIC.

Tabla 2.8: Funciones Modbus soportadas por las estaciones remotas

Código Referencia
Función Tipo de dato
(hex) Modbus
0x03 Read holding registers Palabra de 16 bits 4xxxx
0x10 Write multiple holding registers Palabra de 16 bits 4xxxx

El microcontrolador PIC cuenta con un puerto de comunicaciones USART (Universal


Synchronous Asynchronous Receiver Transmistter) el cual opera con niveles TTL
(Transistor Transistor Logic) por lo que para poder conectarse al bus RS485 es necesario
adaptar las señales TTL a las utilizadas en este estándar. Para ello se utiliza un adaptador
de comunicaciones. Para mas detalle sobre el adaptador de comunicaciones de la estación
remota referirse a la sección 3.5.1.1.
28

Figura 2.18: Conexión de una estación remota al bus RS485

Al igual que el PLC y los módulos Acromag las estaciones remotas tienen que ser
configuradas antes de poder comunicarse a través de la red RS485. Los parámetros de
configuración se guardan en la memoria EEPROM del microcontrolador PIC, estos
parámetros pueden ser modificados utilizando el modo configuración (switch S4) de la
estación remota y el protocolo Modbus. Sin embargo cuando los parámetros de
configuración son incorrectos se cargan los valores por defecto, estos valores por defecto
también se pueden cargar utilizando el pulsador S5.

Tabla 2.9: Parámetros de configuración de las estaciones remotas

Registro Referencia Descripción Valores


Dirección de esclavo
0x00 40001 1 – 127
Default: 127
Baud Rate 0 = 4800 bps
0x01 40002 1 = 9600 bps
Default: 1, 9600 bps 2 = 19200 bps
Retardo de respuesta
0 – 200 ticks
0x02 40006
(1 tick = 10 µs)
Default: 0, sin retardo
Variable de reset
0 = normal
0x03 40007
255 = reset
Default: 0
CAPÍTULO 3

CONTROL DE LOS PROCESOS INVOLUCRADOS CON EL


ENCENDIDO DE LOS TRANSMISORES

3.1 Introducción

La etapa de salida de los transmisores PA tiene como elemento principal un tubo de vacío
de alta potencia tetrodo modelo 8973 de la marca Eimac, el cual es usado como
amplificador de RF, este tubo cuenta con cuatro electrodos: el filamento (cátodo), la placa
(ánodo), la grilla de control y la grilla pantalla.

Los parámetros controlados en esta etapa corresponden a la tensión de filamento, tensión


de grilla, tensión de pantalla y fuente de alta tensión de placa. De los cuales la tensión de
filamento y la tensión de pantalla son variables. En cuanto las dos restantes (tensiones de
grilla y de placa) son fijas[7].

Tabla 3.1: Parámetros de operación de la etapa de salida de los transmisores[7]

Parámetro Rango de operación


Tensión de filamento 0 – 16.5 VDC
Tensión de pantalla 0 – 900 VDC
Tensión de grilla -700 VDC
Tensión de placa 20 KV

La etapa previa de los transmisores Driver también cuenta con un tubo de vacío el
4CX40,000G. El cual también posee cuatro electrodos: el filamento ó cátodo, la placa o
ánodo, la grilla de control y la grilla pantalla.

La operación de la etapa Driver está definida por la tensión de pantalla, la cual


dependiendo del nivel de potencia que se quiera transmitir se ajusta entre los valores 0 y
750 VDC como máximo[7].

Ambas etapas PA y Driver cuentan cada una con un panel de control local en el cual se
encuentran los controles para su encendido y medidores para visualizar tanto las tensiones
como las corrientes de funcionamiento.
[7]
PA & DRIVER Control and Operation
30

El nuevo sistema de control permitirá controlar de manera remota, utilizando el software


SCADA de la PC, los pulsadores de encendido y apagado de estas etapas, asimismo ajustar
la tensión de filamento de la etapa PA y la tensión de pantalla de ambas etapas.

3.2 Encendido y apagado de la etapa de salida PA

El panel de control local de esta etapa cuenta con dos juegos de pulsadores ON/OFF, el
primero para el encendido y apagado del sistema y el segundo para el encendido y apagado
de la tensión de pantalla del tubo de radiofrecuencia.

Para controlar de manera remota estos pulsadores es necesario instalar, en el panel de


control de esta etapa, relés auxiliares los cuales serán controlados por un módulo de
salidas tipo relé del PLC.

Es necesario también utilizar relés auxiliares para conmutar los nuevos circuitos con los
circuitos existentes, esto para que sea posible la operación de manera local y sin utilizar el
PLC. Estos relés de conmutación serán activados por un selector Local/Remote ubicado en
el mismo panel de control local.

3.3 Encendido y apagado de la etapa previa Driver

Al igual que la etapa PA el panel de control local de esta etapa cuenta con dos juegos de
pulsadores ON/OFF el primero para el encendido y apagado del sistema y el segundo para
el encendido y apagado de la tensión de pantalla. Para controlar de manera remota estos
pulsadores se utilizarán relés auxiliares los cuales serán activados por un modulo de salidas
tipo relé del PLC. También se utilizarán relés para conmutar los circuitos nuevos de los
existentes, esto por la misma razón que en la etapa PA.

3.4 Control de la tensión de filamento de la etapa de salida PA

La tensión de filamento de la etapa PA es proporcionada por una fuente DC, la cual cuenta
con un auto – transformador variable que tiene como tensión de entrada 440 V trifásicos y
como salida una tensión que puede ir de 0 V a 20 V, también trifásicos. Esta tensión de
salida es rectificada y conectada al cátodo (filamento) del tubo de vacío de la etapa de
salida PA.

El transformador variable de la fuente de la tensión de filamento está acoplado a un motor


síncrono de control bidireccional, con el cual es posible ajustar la tensión de filamento
haciéndolo girar en un sentido ó en otro.

El control del giro del motor síncrono se realiza utilizando dos selectores del panel de
control. Un primer selector de dos posiciones Auto/Manual es utilizado para incrementar
de forma automática la tensión de filamento hasta alcanzar un límite prefijado. El segundo
selector de tres posiciones Raise/ Neuter /Lower, es utilizado para incrementar ó disminuir
la tensión de filamento, cuando el selector Auto/Manual se encuentra en la posición
Manual.
31

El control de la tensión de filamento se basa en la activación de unos relés que no permiten


que la tensión de filamento alcance unos límites preestablecidos, quitando luego la
alimentación del motor síncrono.

Siguiendo con la misma lógica, con el nuevo sistema de control, la tensión de filamento
será ahora controlada por el PLC, utilizando el valor digital de la tensión de filamento para
fijar los límites, y relés auxiliares para alimentar el motor síncrono. El diagrama de bloques
del nuevo sistema de control se muestra en la siguiente figura.

Figura 3.1: Diagrama de bloques del control de la tensión de filamento de la etapa PA

Es necesario que el sistema también permita la operación de forma local por lo que se
utilizan relés auxiliares para conmutar los circuitos nuevos de los existentes, estos relés
auxiliares serán activados por el selector Local/Remote del panel de control.

3.5 Control de la tensión de pantalla de ambas etapas PA y Driver

La tensión de pantalla de la etapa de salida PA es proporcionada por una fuente DC, la cual
entrega una tensión variable entre 0 VDC y 1350 VDC esta tensión es ajustada utilizando
un auto – transformador variable. El valor nominal de operación de la tensión de pantalla
en esta etapa es de 900 V[7].

La tensión de pantalla en la etapa previa Driver, también es proporcionada por una fuente
DC, que entrega una tensión variable entre 0 VDC y 1200 VDC esta tensión también es
ajustada usando un transformador variable. Los valores de operación de la tensión de
pantalla en la etapa Driver pueden variar en el rango de 500 VDC a 750 VDC dependiendo
de la potencia que se quiera transmitir[7].

[7]
PA & DRIVER Control and Operation
32

Los elementos a controlar son los auto – transformadores variables a los cuales se
acoplarán motores paso a paso, los que a su vez serán controlados por una estación remota.
El PLC se comunicará con la estación remota enviándole los datos necesarios para hacer
girar los motores paso a paso, la comunicación entre el PLC y estaciones remotas se basará
en el estándar RS485, protocolo Modbus RTU.

3.5.1 Estación remota

La estación remota se compone de una unidad de control (elemento principal), un


adaptador de comunicaciones y dos etapas de potencia (arreglo de transistores en
Darlington), que permiten alimentar los motores paso a paso. Dicha estación incluye una
fuente de alimentación con salidas múltiples. El diagrama de bloques de la estación remota
se muestra en la Figura 3.2.

ESTACION REMOTA
ETAPA DRIVER
RESET AUTOTRANSFORMADOR
VARIABLE
MOTOR
DRIVER

ETAPA
DE
POTENCIA

V+

UNIDAD ETAPA PA
DE
ADAPTADOR CONTROL AUTOTRANSFORMADOR
DE VARIABLE
COMUNICACIONES MOTOR
PA

5VDC 5VDC ETAPA


DE
POTENCIA

V+

FUENTE
DE
ALIMENTACION

110V

Figura 3.2: Diagrama de bloques de una estación remota

3.5.1.1 Adaptador de comunicaciones

El adaptador de comunicaciones es la interfase entre la red o bus y la unidad de control, su


función es la de adaptar las señales del estándar RS485 a señales compatibles que puedan
ser interpretadas por la unidad de control.

La unidad de control cuenta con una interfase para comunicaciones seriales USART
(Universal Sinchronous Asinchronous Receiver Transmitter) que opera con niveles TTL
por lo que para poder conectar la unidad de control al bus de comunicaciones RS485 es
necesario adaptar las señales TTL a las utilizadas en el estándar RS485, para ello se utiliza
un transceptor RS485 como el circuito integrado SN75176. Este integrado contiene un
receptor diferencial con histéresis y un transmisor, también diferencial, que puede ser
puesto en estado de alta impedancia. Esto permite que varios transceptores estén
conectados al mismo bus.
33

VCC VCC VCC VCC1 VCC1 VCC1

PIC16F873A

RX
RC7

SN75176

TX
RC6 D A

DE A

BUS
RE B

RTS R B GND1
RC5

GND1 GND1 GND

Figura 3.3: Esquemático del adaptador de comunicaciones

Para aislar el circuito del adaptador de comunicaciones, este cuenta con su propia fuente de
alimentación (VCC1 y GND1) y para aislar las señales de datos se utilizan
optoacopladores.

La señal “RX” de la unidad de control sigue la señal “R” del transceptor, mientras que la
señal “D” del transceptor sigue la señal de “TX” de la unidad de control. Tal y como está
diseñado el adaptador no hay inversión en las señales de datos transmitidos ó recibidos
entre cada lado de los optoacopladores.

Para habilitar la transmisión/recepción se utiliza la señal RTS de tal forma que cuando no
hay actividad en el bus (ningún transmisor activo) se coloca la señal RTS en nivel bajo,
este nivel bajo excita el optoacoplador que a su vez en el lado del bus pone a cero las
entradas DE (Driver Enable) y RE’ (Receiver Enable) del transceptor habilitando la
recepción (al mismo tiempo que se deshabilita la transmisión). En el caso contrario
colocando la señal RTS en nivel alto se habilita la transmisión y se deshabilita la
recepción.

Existen dos diodos LED para monitorear la actividad del bus los cuales siguen las señales
RX y TX de la unidad de control, el conjunto LED con su resistencia se utilizan también
para polarizar estas dos líneas.

Tabla 3.2: Tabla de función del transmisor del integrado SN75176[8]

Entradas Salidas
D DE A B
1 1 1 0
0 1 0 1
X 0 Alta impedancia Alta impedancia

[8]
SN75176A Differential Bus Transceiver – Data Sheet
34

Tabla 3.3: Tabla de función del receptor del integrado SN75176[8]

Entradas Salidas
A-B RE’ R
VAB> 0.2V 0 1
-0.2V < VAB < 0.2V 0 ?
VAB< -0.2V 0 0
X 1 Alta impedancia
Abierto 0 ?

3.5.1.2 Unidad de control

La unidad de control la formará un microcontrolador PIC, esta familia de


microcontroladores ofrece una gran variedad de dispositivos con diversas características,
tanto en velocidad de operación, capacidad de memoria, diversos periféricos y puertos de
entrada y/o salida.

La unidad de control debe ser capaz de generar la lógica necesaria para el control de los
motores paso a paso y a la vez comunicarse con el PLC utilizando el protocolo Modbus
sobre un sistema multipunto RS485. El microcontrolador seleccionado para cubrir estos
requerimientos es el PIC16F873A. Las principales características de este microcontrolador
se mencionan a continuación[9]:

9 Procesador RISC (Reduce Instruction Set Computer)


9 Velocidad de operación, dependiendo del cristal usado, hasta 20 MHz.
9 Velocidad de ejecución de instrucciones hasta 5MHz (la cuarta parte de la
frecuencia del cristal usado)
9 Memoria Flash programable 4096 palabras de 14 bits.
9 Memoria de datos RAM de 192 bytes.
9 Memoria de datos EEPROM de 128 bytes.
9 Capacidad de manejo de 14 interrupciones.
9 Programación serial mediante dos pines.
9 Protección de código programable.

Además cuenta con los siguientes periféricos:

9 Veintidós puertos de entrada y salida.


9 Tres temporizadores, uno de 8 bits (TRM0)y dos de 16 bits (TMR1 y TMR2)
9 Puerto de comunicación serial MSSP y USART.
9 Cinco canales ADC de 10 bits.
9 Dos módulos de captura, comparación y PWM.

El software que se ejecuta en el microcontrolador PIC se encargará de hacer girar los


motores paso a paso, los cuales a su vez ajustan las tensiones de pantalla, según se
requiera. La posición de los motores es enviada por el PLC a través de la red de
comunicaciones. Si bien es cierto el microcontrolador cuenta con un puerto de
comunicaciones seriales USART, es necesario implementar en software funciones del
protocolo Modbus de acuerdo nuestros requerimientos. Las funciones a implementar son
las siguientes:

[8]
SN75176A Differential Bus Transceiver – Data Sheet
[9]
PIC16F87XA Data Sheet
35

9 Función 0x03 “Read Holding Registers”, será utilizada para leer uno o varios
registros (de la memoria RAM o de la memoria EEPROM) del microcontrolador
PIC.
9 Función 0x10 “Write Multiple Registers”, será utilizada para escribir en uno o en
varios registros (de la memoria RAM o de la memoria EEPROM) del
microcontrolador PIC.

La estación remota contará con dos modos de operación:

9 Modo normal, en este modo el software ejecuta un lazo cerrado que compara la
posición actual del motor paso a paso con la posición enviada por el PLC. En caso
de ser diferentes, la posición del motor es actualizada. En el modo normal las
funciones Modbus se ejecutan sobre la memoria RAM del microcontrolador PIC.

9 Modo configuración, este modo se utiliza para configurar los parámetros de


comunicación de la estación remota, en este modo las funciones Modbus se
ejecutan sobre la memoria de datos EEPROM del microcontrolador PIC.

Independientemente del modo de operación se debe mantener atención a la actividad en la


red de comunicaciones, esto se realiza por medio de una rutina de interrupción, si se recibe
algún mensaje se procede a analizarlo, ejecutarlo y responderlo.

La unidad de control contará además con un pulsador de reset para restaurar el sistema, dos
entradas digitales para determinar cuando los motores alcanzan la posición cero, una
entrada digital para determinar el modo de operación y finalmente dos indicadores (led’s)
el primero utilizado para indicar que la estación remota se encuentra funcionando
normalmente y el segundo para indicar el modo de operación de la misma.

3.5.1.3 Etapas de potencia

El microcontrolador PIC16F873A de la unidad de control tiene salidas con niveles TTL


que pueden proporcionar una corriente de hasta 20mA, esta corriente es insuficiente para
alimentar los motores paso a paso, por lo que es necesario utilizar una etapa de potencia.
Para ello se utiliza el circuito integrado ULN2064, el cual posee cuatro arreglos de
transistores en Darlington capaces de entregar una corriente de hasta 1.5A por salida. Este
integrado cuenta además con entradas compatibles TTL y diodos supresores para cargas
inductivas[10].

[10]
ULN2064B Quad Darlington switches – Data Sheet
36

V+

ULN2064
IN1 OUT1 D

PIC16F873A IN2 OUT2 C


MOTOR
RB7
IN3 OUT3 B PAP 2
RB6
IN4 OUT4 A

RB5
GND K

RB4

RB3
ULN2064
RB2
IN1 OUT1 D

RB1
IN2 OUT2 C

RB0
MOTOR
IN3 OUT3 B PAP 1
IN4 OUT4 A

GND K

GND

Figura 3.4: Esquemático de las etapas de potencia

3.5.1.4 Fuente de alimentación

La fuente de alimentación de la estación remota alimenta la unidad de control, el adaptador


de comunicaciones y las etapas de potencia de los motores paso a paso. Los requerimientos
de voltaje y corriente de cada elemento de la estación remota se han obtenido de las hojas
de datos de cada uno de los componentes del circuito.

Tabla 3.4: Consuno adaptador de comunicaciones

Voltaje Corriente total


Elemento Cantidad
[V] [mA]
SN75176 1 5 150
Optoacopladores
2 5 40
(Input)
Optoacopladores
1 5 35
(Output)
Adicional - - 30
Total 255

Tabla 3.5: Consuno unidad de control

Voltaje Corriente total


Elemento Cantidad
[V] [mA]
PIC16F873A 1 5 100
Optoacopladores
1 5 20
(Input)
Optoacopladores
2 5 70
(Output)
Adicional - - 50
Total 240
37

Tabla 3.6: Consuno etapas de potencia

Voltaje Corriente total


Elemento Cantidad
[V] [mA]
ULN2064 2 7 400
Motores PAP 2 7 2800
Adicional - - 300
Total 3500

Para cubrir estos requerimientos se opto por utilizar una doble fuente regulada. La primera
fuente cuenta con dos salidas: una fija de 5V que alimenta a la unidad de control y la otra
variable de 1.25V – 16V que alimenta a los motores paso a paso. Adicionalmente esta
salida cuenta con un transistor que incrementa la corriente que brinda el regulador. La
segunda fuente también de 5V es para uso exclusivo del adaptador de comunicaciones.

REGULADOR V+
Alimentación Motores
DE VOLTAJE
AJUSTABLE PAP: 1.2 - 16VDC
GND

REGULADOR VCC
TRANSFORMADOR Alimentación Unidad
DE VOLTAJE
120/16V de control: 5VDC
FIJO
GND

120 V

REGULADOR VCC1
TRANSFORMADOR Alimentación Adaptador
DE VOLTAJE
120/9V de comunicaciones: 5VDC
FIJO
GND1

Figura 3.5: Diagrama de bloques de la fuente de alimentación

3.5.2 Motores paso a paso

Un motor paso a paso se diferencia de un motor convencional en que en este, se puede


posicionar su eje en posiciones fijas o pasos, pudiendo mantener la posición. Esta
peculiaridad es debida a la construcción del motor en si, teniendo por un lado el rotor
constituido por un imán permanente y por el otro el estator construido por bobinas, al
alimentar estas bobinas se atraerá el polo del magnético opuesto del rotor con respecto al
polo generado por la bobina y este permanecerá en esta posición atraído por el campo
magnético de la bobina hasta que esta deje de generar el campo magnético y se active otra
bobina haciendo avanzar o retroceder el rotor variando los campos magnéticos en torno al
eje del motor y haciendo que este gire.

Los motores paso a paso pueden moverse confiablemente a la posición deseada siempre y
cuando se le envíe el número de pulsos en la secuencia adecuada. Existen dos tipos de
motores a paso a paso los unipolares y los bipolares.
38

BIPOLAR UNIPOLAR

A A

B B

C D C D
comun

Figura 3.6: Tipos de motores paso a paso

3.5.2.1 Motores paso a paso unipolares

El motor unipolar normalmente dispone de 5 o 6 cables dependiendo si el común está


unido internamente o no, para controlar este tipo de motores existen dos métodos con sus
correspondientes secuencias de encendido de bobinas, el común irá conectado a V+ ó a
tierra según el circuito de control usado y luego tan solo se tiene que alimentar la bobina
correcta para que avance o retroceda el motor según avancemos o retrocedamos en la
secuencia

Tabla 3.7: Secuencias de control de un motor unipolar

Paso
A B C D
Simple
1 1 1 0 0
2 0 1 1 0
3 0 0 1 1
4 1 0 0 1

Medio
A B C D
Paso
1 1 0 0 0
2 1 1 0 0
3 0 1 0 0
4 0 1 1 0
5 0 0 1 0
6 0 0 1 1
7 0 0 0 1
8 1 0 0 1

3.5.2.2 Motores paso a paso bipolares

Este tipo de motor lleva dos bobinados independientes el uno del otro, para controlar este
motor se necesita invertir la polaridad de cada una de las bobinas en la secuencia adecuada.

Tabla 3.8: Secuencias de control de un motor bipolar

Paso
A B C D
Simple
1 V+ Gnd V+ Gnd
2 V+ Gnd Gnd V+
3 Gnd V+ Gnd V+
4 Gnd V+ V+ Gnd
39

3.5.2.3 Control de motores paso a paso

Para hacer girar los transformadores variables que ajustan las tensiones de pantalla se
utilizan motores del tipo unipolar esto debido a la simplicidad de su control y además de
poder conseguirse en el mercado nacional.

Como se menciono antes el control de los motores paso a paso lo realiza el PIC16F873A el
cual genera la secuencia de pulsos necesarios para hacer girar los motores. La secuencia a
utilizar será la de medio paso.
CAPÍTULO 4

PROTOTIPO DEL SISTEMA

El nuevo sistema de control ha sido instalado en el transmisor número tres del ROJ y se
encuentra actualmente en operación. El prototipo desarrollado involucra la instalación de
relés auxiliares para el control de los pulsadores ON/OFF de las etapas PA y Driver,
además de la instalación de una estación remota para el control de la tensión de pantalla.
Los módulos Acromag también han sido instalados en los paneles de control de las etapas
PA de los tres transmisores.

4.1 Control de los pulsadores ON/OFF

4.1.1 Instalación de relés

Los relés de comando, indicación y conmutación de circuitos se han instalado, sobre rieles
DIN tipo “T”, en el interior de los paneles de control de las etapas PA y Driver. Los planos
actualizados que incluyen la instalación de todos los relés así como su conexión con el
PLC se muestran en el Anexo A.
42

PA DRIVER

ACROMAG ACROMAG
Acromag RELES Acromag
RUN RUN
ST ST

DFT DFT

0 1 0 1

2 3 2 3

RELAYS

BORNERA

ESTACION REMOTA

BORNERA

Figura 4.1: Ubicación de los relés en los paneles de control de PA y Driver.

La lista de las nuevas entradas y salidas del sistema se muestra en la Tabla 4.1. Estas
señales se cablearon desde los paneles de control de ambas etapas hasta el PLC, los
módulos del PLC utilizados fueron el D3-16TR (módulo de salidas tipo relé) y el D3-
16NA (módulo de entradas de 110 VAC)
43

Tabla 4.1: Nuevas entradas y salidas

Señal de
Tipo Etiqueta Descripción
campo
Encendido de la etapa de salida
PA3_on K32
(PA)
Encendido de la tensión de
SCRPA3_on K34
pantalla de PA
Apagado de la tensión de pantalla
SCRPA3_off K35
de PA
Incremento de la tensión de
FIL_up K36
filamento
Decremento de la tensión de
Salidas FIL_down K37
filamento
Encendido de la etapa previa
DRV3_on K41
(Driver)
Apagado de la etapa previa
DRV3_off K42
(Driver)
Encendido de la tensión de
SCRDRV3_on K43
pantalla de Driver
Apagado de la tensión de pantalla
SCRDRV3_off K44
de Driver
Señal de encendido de
PA3_ok K38
PA
Señal de encendido de la tensión
SCRPA3_ok K39
de pantalla de PA
Señal de encendido de
DRV3_ok K45
Driver
Entradas
Señal de encendido de la tensión
SCRDRV3_ok K46
de pantalla de Driver
Posición del selector local/remoto
PA3_loc/rem K30
de PA
Posición del selector local/remoto
DRV3_loc/rem K40
de Driver

DRIVER 3

7 CONTROL + 1 COMUN

PA 3

9 CONTROL + 1 COMUN

PLC

Figura 4.2: Cableado de las señales de control e indicación al PLC.


44

4.2 Prototipo de la estación remota

4.2.1 Diseño de los circuitos

La estación remota se ubica dentro del panel de control de la etapa PA del transmisor Nº 3,
como se mencionó en el capitulo tres la estación remota está formada por cuatro elementos
de los cuales el adaptador de comunicaciones, las etapas de potencia y la unidad de control
forman un solo circuito impreso mientras que la fuente de alimentación otro.

Debemos tener en cuenta que la alimentación del adaptador de comunicaciones está aislada
de la alimentación del resto del circuito la razón de esto es por que la alimentación de la
etapa de potencia es ruidosa debido a que está sujeta a caídas de voltaje producidas por la
carga de los motores. Por otro lado el protocolo Modbus recomienda que el común del
circuito de red se encuentre aislado y conectado a tierra en un solo punto del bus.

Los circuitos esquemáticos y los circuitos impresos de la estación remota se muestran en el


Anexo B.

Figura 4.3: Prototipo de la estación remota.


45

4.2.2 Alojamiento mecánico y conexiones

Los circuitos impresos junto con los transformadores de la fuente de alimentación se han
colocado en un alojamiento mecánico (caja de aluminio) para su protección. La conexión
entre el circuito impreso de la fuente de alimentación y el otro circuito impreso se hace por
medio de condensadores de paso, los que a su vez funcionan como filtros, y conectores del
tipo molex.

La estación remota cuenta con un jack de alimentación estándar a la red eléctrica (120
VAC) y cuatro borneras. Además de un pulsador de reset para la reposición de la misma.

Tabla 4.2: Descripción de borneras de la estación remota

Bornera Pines Descripción


V+ Común del motor 1
A Bobina A del motor 1
MOTOR PA B Bobina B del motor 1
C Bobina C del motor 1
D Bobina D del motor 1
V+ Común del motor 2
A Bobina A del motor 2
MOTOR DR B Bobina B del motor 2
C Bobina C del motor 2
D Bobina D del motor 2
B Línea B del bus RS485
A Línea A del bus RS485
COM Común del bus RS485
BUS
B Línea B del bus RS485
A Línea A del bus RS485
COM Común del bus RS485
PA_ZERO 1 Indicación de motor 1 en
PA_ZERO 2 posición cero
ZERO
DR_ZERO 1 Indicación de motor 2 en
DR_ZERO 2 posición cero

4.2.3 Software del microcontrolador PIC

El microcontrolador PIC 16F873A cuenta con un contador de programa de 13 bits capaz de


direccionar las 4096 palabras de 14 bits, de memoria de programa flash con la que cuenta.
Este microcontrolador cuenta con un vector de reset y un vector de interrupción ubicados
en las direcciones 0x00 y 0x04 (de la memoria de programa) respectivamente así cuando se
produce un reset ó una interrupción el contador de programa apunta a la dirección
respectiva y se ejecuta la instrucción ubicada en la misma[9].

[9]
PIC16F87XA Data Sheet
46

PC<12:0>

CALL, RETURN,
RETFIE, RETLW

STACK LEVEL 1

STACK LEVEL 2
.
.
.
STACK LEVEL 8

RESET VECTOR 0000

.
.
.
INTERRUPT VECTOR 0004

0005

PAGE 0
On-Chip 07FF
Program
Memory 0800

PAGE 1
0FFF

1000

1FFF

Figura 4.4: Memoria de programa y stack del PIC16F873A[9].

La rutina principal de la estación remota consiste en un lazo cerrado, el cual primero


determina el modo de operación de la estación remota (modo normal o configuración) y
dependiendo de este se ejecutan las rutinas respectivas.

Se ha habilitado la interrupción por recepción en la USART, de esta manera cuando el


microcontrolador PIC recibe un mensaje del PLC, el programa atiende la rutina de
interrupción. Esta rutina se encarga de recibir los mensajes del PLC y verificar que se
cumplan las condiciones necesarias para declarar que un mensaje es valido.

Si la dirección es correcta y no hay errores en la comunicación se procede a analizar el


mensaje verificar y ejecutar, si es valida, la función MODBUS recibida. Finalmente un
mensaje de respuesta es enviado al PLC. Cuando la dirección no es valida o se verifica que
hay errores en el mensaje no se envía respuesta y se incrementa un contador de errores.

A continuación se describen las rutinas y subrutinas de las que se compone el programa así
como sus respectivos diagramas de flujo, el código fuente del programa se encuentra en el
Anexo C

[9]
PIC16F87XA Data Sheet
47

4.2.3.1 Rutina de Inicio “RESET”

La rutina de reset se encarga de configurar los puertos del microcontrolador como entrada
ó salida, leer parámetros de configuración de la memoria EEPROM como son: la dirección
de esclavo de la estación remota, la velocidad de la comunicación y el retardo de respuesta.
Este último es un retardo adicional que la estación remota espera antes de enviar un
mensaje de respuesta.

Tabla 4.3: Puertos utilizados en el microcontrolador PIC

Puerto Pin Tipo Descripción


Indicador de PIC funcionando, led
RA0 Salida
ON
Indicador de motor PA en posición
RA1 Entrada
cero
Indicador de motor DRV en posición
RA2 Entrada
cero
Puerto A
Interruptor para determinar modo de
RA3 Entrada
operación
Pulsador para cargar datos por
RA4 Entrada
defecto, DFLT
Indicador del modo de operación, led
RA5 Salida
MODE
RB0 Salida Alimentación de motor PA
RB1 Salida Alimentación de motor PA
RB2 Salida Alimentación de motor PA
RB3 Salida Alimentación de motor PA
Puerto B
RB4 Salida Alimentación de motor DRV
RB5 Salida Alimentación de motor DRV
RB6 Salida Alimentación de motor DRV
RB7 Salida Alimentación de motor DRV
Habilitación de la transmisión de
RC5 Salida
datos por el bus RS485
Puerto C
RC6 Salida Pin de transmisión de datos
RC7 Entrada Pin de recepción de datos

Tabla 4.4: Registros utilizados de la memoria EEPROM del microcontrolador PIC

Registro Descripción Valor


Dirección de esclavo de la estación remota
0x00 1 – 127
Default = 127
0 = 4800 bps
Baud Rate
0x01 1 = 9600 bps
Default = 1, 9600 bps
2 = 19200 bps
Retardo de respuesta 0 – 200 ticks
0x02
Default = 0, Sin retardo (1 tick ≈10 µs)
Variable de Reset
0x03 0x00 – 0xFF
Default = 0x00

Una vez leídos los datos de la memoria EEPROM se procede a configurar la USART y el
TIMER0 el cual se utiliza, para calcular el retardo entre los mensajes recibidos (3.5 veces
la longitud de un byte). En la rutina de reset también se habilita la interrupción por
recepción en la USART y se asignan los valores iniciales a las variables del programa.
48

Figura 4.5: Rutina de reset.

Cuando los datos de la EEPROM se encuentran fuera de los rangos permitidos se llama a
las subrutinas “DFLT_ADD”, “DFLT_BPS”, “DFLT_RPTA” y “DFLT_RST”, las cuales
se encargan de cargar los valores por defecto de la dirección de esclavo, la velocidad de
comunicación, retardo de respuesta y variable de reset respectivamente.

Finalmente una vez concluida la etapa de configuración se ejecutan dos subrutinas que
verifican la posición física de los motores paso a paso, por medio de los pines 1 y 2 del
puerto “A”, y los hace girar hasta la posición cero. Por seguridad estas subrutinas sólo
pueden regresar a cada motor 160 pasos, después de los cuales sale de la subrutina

Figura 4.6: Subrutinas de reset de los motores paso a paso.


49

4.2.3.2 Rutina principal “MAIN”

La rutina principal consiste en el lazo cerrado mencionado anteriormente, primero se


verifica si es que se ha pulsado el pulsador “DFLT” si es así se llaman a las subrutinas que
cargan los parámetros de configuración por defecto y se salta a la rutina de reset. De lo
contrario se salta a la rutina principal para luego determinar el modo de operación por
medio del pin 3 del puerto “A”.

En modo normal se apaga el led “MODE” y el bucle compara la posición actual de cada
uno de los motores paso a paso con la respectiva posición enviada por el PLC. En caso de
que las posiciones sean diferentes se procede a ejecutar las subrutinas de actualización de
la posición de cada motor. En este modo las funciones Modbus se ejecutan sobre la
memoria RAM del microcontrolador PIC.

En modo configuración el lazo de la rutina principal enciende el led “MODE” (para indicar
el modo configuración) y se activa una bandera para indicar que las funciones Modbus se
ejecuten sobre la memoria EEPROM del microcontrolador PIC.

En ambos modos de operación se verifica que el valor de la variable RESET_PIC


(mapeada en la RAM y la EEPROM del PIC) coincida con el valor cero, de lo contrario se
ejecutará la rutina de RESET.

Figura 4.7: Rutina principal.

En la rutina principal se llaman a las subrutinas “UPDATE_PA” y “UPDATE_DRV” estas


subrutinas se encargan de generar los pulsos necesarios para hacer girar los motores paso a
paso y así alcanzar la posición deseada. La posición de cada motor se guarda en dos
variables POSPA Y POSDRV, que son las que utiliza el programa principal para
50

determinar si la posición actual de cada motor corresponde a las posiciones enviadas por el
PLC las cuales se encuentran en las variables POSPA_RX y POSDRV_RX.

El control que se realiza sobre los motores es a medio paso por lo que se tienen ocho
secuencias de pulsos o pasos, estas secuencias de pulsos se encuentran en dos tablas de
bytes una para el motor de la etapa de salida PA y otra para el motor de la etapa previa
Driver.

UPDATE_PA UPDATE_DRV

SI POSPA_RX NO SI POSDRV_RX NO
> >
POSPA POSDRV

PASO = PASO + 1 PASO = PASO - 1 PASO = PASO + 1 PASO = PASO - 1

POSPA = POSPA + 1 POSPA = POSPA - 1 POSDRV = POSDRV + 1 POSDRV = POSPADRV - 1

NO NO NO NO
PASO > 8 PASO<1 PASO > 8 PASO<1

SI SI SI SI

PASO = 1 PASO = 8 PASO = 1 PASO = 8

CALL PA_TABLE CALL DRV_TABLE

PORTB<0,1,2,3> = VALOR DE TABLA PORTB<4,5,6,7> = VALOR DE TABLA

CALL DELAY_PASO CALL DELAY_PASO

RETURN RETURN

Figura 4.8: Subrutinas de actualización de los motores paso a paso.

4.2.3.3 Rutina de interrupción “INTERRUPT”

Como se menciono antes se ha habilitado la interrupción por recepción en la USART, por


lo que cada vez que se recibe un byte el contador de programa apunta al vector de
interrupción y desde aquí se salta a la rutina de interrupción por medio de la instrucción
GOTO INTERRUPT.

La rutina de interrupción primero debe determinar las condiciones necesarias para declarar
que un mensaje es valido estas condiciones son las siguientes:

9 Comprobar que el tiempo transcurrido desde que se recibió el último mensaje sea
de al menos 3.5 veces el tamaño de un byte esto se hace verificando si ha ocurrido
un desborde en el TMR0.
9 Leer el primer byte del mensaje y verificar que se trata de su dirección de esclavo.
9 Determinar si hay errores en la comunicación calculando el CRC del mensaje.

Si no se cumple cualquiera de las condiciones anteriores el mensaje se descarta, no se


envía ninguna respuesta y se retorna a la rutina principal. Si las condiciones se cumplen
entonces se procede a analizar el mensaje y verificar que los datos Modbus están
soportados por la estación remota en cuyo caso se procede a ejecutar la función Modbus y
enviar una respuesta.
51

INTERRUPCCION
POR RX

NO
TIMER0
INT_OUT
> 3.5 Byte

SI
INICIALIZA
NO TIMER 0
DIRECCION
OK?

SI HABILITA
INTERRUPCION
CALL RX

HABILITA
NO RECEPCION
NUM DE BYTES
<= 16

SI RETFIE

CALL CRC_RX

NO
CRC OK?

SI

NO
FUNCION
MODBUS OK?

SI
GOTO BAD_FUN GOTO BAD_COM
GOTO
FUNCTION_XX

Figura 4.9: Rutina de interrupción

Tabla 4.5: Códigos Modbus implementados

Registros en
Código Función Referencia Función en el PIC
el PIC
Leer uno ó varios registros
40001 – 40128 0x00 – 0x7F
Read Holding de la EEPROM
03 (0x03)
Registers Leer uno ó varios registros
40001 - 40078 0x50 – 0x7F
de la RAM
Escribir en uno ó varios
40001 – 40128 0x00 – 0x7F
Write Multiple registros de la EEPROM
16 (0x10)
Registers Escribir en uno ó varios
40001 - 40078 0x50 – 0x7F
registros de la RAM

La subrutina “RX” se utiliza para recibir el mensaje byte a byte a intervalos fijos de tiempo
(retardo entre bytes igual a 1.5 veces la longitud de un byte) cada byte se guarda en una
variable de la memoria de datos RAM, se ha previsto un buffer de 16 bytes en el
microcontrolador PIC por lo que si el mensaje contiene más de 16 bytes este es descartado,
se incrementa el contador de mensajes con errores en la comunicación y se vuelve al
programa principal sin enviar ninguna respuesta.

Dado que el microcontrolador PIC cuenta con una interfase de comunicaciones USART
implementada en hardware la recepción de bytes es bastante sencilla simplemente se
espera la activación de una bandera (RCIF del registro PIR1) y se lee el registro RCREG el
cual contiene el byte recibido[11].

[11]
Asynchronous Communications with the PICmicro® USART
52

Luego de recibir el mensaje se calcula el CRC del mensaje recibido por medio de la
subrutina “CRC_RX”. El CRC contiene un valor binario de 16 bits implementado en dos
bytes de 8 bits: CRC_Hi y CRC_Lo. Los bytes del CRC calculados se comparan con los
bytes del CRC del mensaje recibido; de no ser iguales, el mensaje se descarta y el contador
de mensajes con errores en la comunicación se incrementa. En esta situación no se envía
ningún mensaje de respuesta y se regresa a la rutina principal.

RX CRC_RX

CALL CRC_HI = 0XFF


DELAY_1.5B CRC_LO = 0XFF

NO REG = REG INICIAL DE


BYTE RECIBIDO? BUFFER

SI
LEE REG
INCREMENTA
CONT DE BYTES

CALL CRC

LEE BYTE

INCREMENTA CONT DE
BUFFER

GUARDA BYTE EN
BUFFER
NO
ULTIMO BYTE?

SI

RETURN RETURN

Figura 4.10: Subrutinas RX y CRC_RX

El CRC también se calcula sobre los mensajes de respuesta que genera la estación remota,
en esta situación los bytes del CRC son anexados al final del mensaje enviando primero el
byte menos significativo (CRC_Lo) seguido por el byte más significativo (CRC_Hi).

Para calcular el CRC de un mensaje primero se pone a uno los bytes de las variables
CRC_HI y CRC_LO luego se utiliza la subrutina “CRC” con cada uno de los bytes que
conforman el mensaje. En la subrutina “CRC” cada byte de 8 bits es operado con los
registros del CRC (CRC_HI y CRC_LO) mediante una operación de OR exclusivo, luego
el resultado es desplazado en la dirección del bit menos significativo (LSB). La posición
del bit más significativo (MSB) es llenada con un cero y el LSB extraído es analizado, si es
un uno el resultado del desplazamiento es operado con un valor fijo, mediante una
operación de OR exclusivo. Si el LSB es un cero no se realiza ninguna operación. El
proceso se repite hasta completar ocho desplazamientos[3]
.

El contenido final de CRC_HI y CRC_LO después de ejecutar la subrutina “CRC” con


todos los bytes del mensaje, contiene el valor del CRC del mensaje.

[3]
Specification & Implementation guide for MODBUS over serial line
53

CRC

CRC_LO = CRC_LO XOR BYTE

N=0

DESPLAZAR 1 BIT A LA
DERECHA CRC_HI y CRC_LO

NO
LSB = 0?

SI CRC_LO = CRC_LO XOR POL_LO


CRC_HI = CRC_HI XOR POL_HI

N=N+1

NO
N>7

SI

RETURN

XOR = OR EXLUSIVO

POL_LO, POL_HI = CALCULO POLINOMIAL DEL CRC16 = 1010 0000 0000 0001

(GENERACION POLINOMIAL = 1 + X2 + X15 + X16)

Figura 4.11: Subrutina para generación del CRC

4.2.3.4 Rutina para la función 0x03 “FUNCT_03”

Esta función se utiliza para leer el contenido de las memorias de datos del
microcontrolador PIC, la solicitud de esta función especifica el registro inicial y la cantidad
de registros a ser leídos, debido a que el protocolo Modbus utiliza registros de 16 bits el
byte menos significativo lo forma el registro del microcontrolador PIC y el más
significativo siempre es un 0x00.

Cuando la estación remota opera en modo configuración, la función 0x03 lee los registros
de la memoria EEPROM del microcontrolador PIC, el cual está formado por un solo banco
de 128 bytes

Figura 4.12: Memoria EEPROM del microcontrolador PIC

En modo normal la función 0x03 lee el contenido de la memoria RAM del


microcontrolador PIC, la cual está formada por cuatro bancos de 128 bytes, estos a su vez
contienen a los registros de funciones especiales (SFR) utilizados para la configuración del
54

microcontrolador PIC y los registros de propósito general (GPR), los cuales se utilizan para
almacenar variables en el desarrollo del programa.

La función 0x03 puede leer los registros entre la dirección 0x0050 y 0x007F pertenecientes
al grupo de registros de propósito general del banco 0 de la memoria RAM, por lo que la
referencia Modbus 40001 es direccionada internamente al registro 0x0050 del
microcontrolador PIC.

Figura 4.13: Banco 0 de la memoria RAM del microcontrolador PIC

Tabla 4.6: Mensajes de solicitud, respuesta y error para la función 0x03

Función 1 byte 0x03


0x0000 – 0x007F (EEPROM)
Registro inicial 2 bytes
0x0000 – 0x004D (RAM)
Cantidad de registros (N) 2 bytes 1 – 16

Función 1 byte 0x03


Contador de registros 1 bytes 2N
Valor(es) del(os) registro(s) 2N bytes

Función de error 1 byte 0x83


Código de error 1 byte 0x01 ó 0x02 ó 0x03
55

FUNCTION_03

SI NO
DESHABILITA MODO DESHABILITA
RECEPCION NORMAL? RECEPCION

REDIRECCIONA NO
REGISTROS A 0X50 REGISTROS OK? GOTO BAD_REG

SI
NO
GOTO BAD_REG REGISTROS OK?
NO
DATOS OK? GOTO BAD_DAT
SI
SI
NO
GOTO BAD_DAT DATOS OK? INCREMENTA
CONT DE MSG OK

SI
CRC_HI = 0XFF
INCREMENTA CRC_LO = 0XFF
CONT DE MSG OK

CALL DELAY_RPTA
CRC_HI = 0XFF
CRC_LO = 0XFF

LEE DIRECCION
CALL DELAY_RPTA DE ESCLAVO

CALL CRC
CALL TX
LEE DIRECCION
DE ESCLAVO

CALL CRC LEE FUNCTION


CALL TX
CALL CRC
CALL TX

LEE FUNCTION

CALL CRC LEE NUM DE


CALL TX BYTES

CALL CRC
CALL TX
LEE NUM DE
BYTES

CALL CRC REG = REG INICIAL


CALL TX

CONT = 1
REG = REG INICIAL

LEE DIRECCION IGUAL A


CONT = 1 REG

LEE REGISTRO CON CALL RDEEPROM


DIRECCION IGUAL A REG

CALL CRC
CALL CRC CALL TX
CALL TX

REG = REG+1
REG = REG+1

CONT = CONT+1
CONT = CONT+1

NO CONT = NUM DE
NO CONT = NUM DE BYTES?
BYTES?
SI
SI
LEE CRC_HI
LEE CRC_HI

CALL TX
CALL TX

LEE CRC_HI
LEE CRC_HI

CALL TX
CALL TX

GOTO INT_OUT
GOTO INT_OUT

Figura 4.14: Rutina para la función 0x03


56

FUNCTION_10

SI NO
DESHABILITA MODO DESHABILITA
RECEPCION NORMAL? RECEPCION

REDIRECCIONA NO
REGISTROS A 0X50 REGISTROS OK? GOTO BAD_REG

SI
NO
GOTO BAD_REG REGISTROS OK?
NO
DATOS OK? GOTO BAD_DAT
SI
SI
NO
GOTO BAD_DAT DATOS OK? INCREMENTA
CONT DE MSG OK

SI
CRC_HI = 0XFF
INCREMENTA CRC_LO = 0XFF
CONT DE MSG OK

CALL DELAY_RPTA
CRC_HI = 0XFF
CRC_LO = 0XFF

LEE DIRECCION
CALL DELAY_RPTA DE ESCLAVO

CALL CRC
CALL TX
LEE DIRECCION
DE ESCLAVO

CALL CRC LEE FUNCTION


CALL TX
CALL CRC
CALL TX

LEE FUNCTION

CALL CRC LEE REGISTRO


CALL TX INICIAL

CALL CRC
CALL TX
LEE REGISTRO
INICIAL

CALL CRC LEE CANT DE


CALL TX REGISTROS

CALL CRC
CALL TX
LEE CANT DE
REGISTROS

CALL CRC LEE CRC_HI


CALL TX

CALL TX
LEE CRC_HI

LEE CRC_HI
CALL TX

CALL TX
LEE CRC_HI

GUARDA DATOS
CALL TX EN REGISTROS
EEPROM

GUARDA DATOS
EN REGISTROS
GOTO INT_OUT
RAM

GOTO INT_OUT

Figura 4.15: Rutina para la función 0x10

4.2.3.5 Rutina para la función 0x10 “FUNCT_10”

Cuando la estación remota se encuentra en modo configuración la función 0x10 se utiliza


para escribir en una o más variables de la memoria EEPROM, mientras que en modo
normal, se utiliza para escribir en la memoria RAM del microcontrolador PIC. El mensaje
de solicitud de esta función especifica el registro inicial desde donde se va a escribir, un
57

contador de bytes y los valores de los registros a escribir. Los valores de cada registro son
enviados en dos bytes, pero el PIC solo utiliza el byte menos significativo.

En modo normal al igual que en la función 0x03 solo los registros entre 0x0050 y 0x007F
del grupo de registros de propósito general del banco cero de la memoria RAM, se pueden
escribir vía Modbus.

Tabla 4.7: Mensajes de solicitud, respuesta y error para la función 0x10

Función 1 byte 0x10


Registro inicial 2 bytes 0x0000 – 0x004D
Cantidad de registros (N) 2 bytes 1–4
Contador de bytes 1 byte 2N
Valor(es) del(os) registro(s) 2N bytes

Función 1 byte 0x10


Registro inicial 2 bytes 0x0000 – 0x004D
Cantidad de registros (N) 2 bytes 1–4

Función de error 1 byte 0x90


Código de error 1 byte 0x01 ó 0x02 ó 0x03

4.2.3.6 Rutina de respuesta de excepción Modbus “EXCEPTION”

Cuando la estación maestra (PLC) envía un mensaje de solicitud a la estación remota,


espera un mensaje de respuesta normal, pero cualquiera de las siguientes situaciones es
posible:

9 Si la estación remota recibe un mensaje de solicitud sin errores en la comunicación


y puede manejar la solicitud normalmente, entonces se envía un mensaje de
respuesta normal.
9 Si la estación remota recibe un mensaje de solicitud con errores en la comunicación
(CRC diferente) entonces no se envía ninguna respuesta.
9 Si la estación remota recibe un mensaje de solicitud sin errores en la comunicación
pero no puede manejar la solicitud (por ejemplo la solicitud pide leer un registro no
valido) entonces se envía un mensaje de excepción Modbus y se incrementa el
contador de mensajes Modbus inválidos.

Figura 4.16: Mensaje de excepción Modbus

Tabla 4.8: Posibles códigos de excepción Modbus

Código Nombre
01 Función inválida
02 Dirección de registro inválido
03 Valores de registros inválidos
58

BAD_COM BAD_FUN BAD_REG BAD_DAT

INCREMENTA
ERR_CODE = 1 ERR_CODE = 2 ERR_CODE = 3
CONT DE ERRORES

GOTO INT_OUT GOTO EXCEPTION GOTO EXCEPTION GOTO EXCEPTION

EXCEPTION

DESHABILITA
RECEPCION

INCREMENTA
CONT DE ERRORES

CRC_HI = 0XFF
CRC_LO = 0XFF

CALL DELAY_RPTA

LEE DIRECCION
DE ESCLAVO

CALL CRC
CALL TX

LEE
FUNCTION+0X80

CALL CRC
CALL TX

LEE ERR_CODE

CALL CRC
CALL TX

LEE CRC_HI

CALL TX

LEE CRC_HI

CALL TX

GOTO INT_OUT

Figura 4.17: Rutina de excepción Modbus

Tanto las rutinas de la funciones Modbus como la de excepción utilizan la subrutina de


transmisión TX la cual se encarga de enviar un byte por la interfase USART. Al igual que
la subrutina de recepción la transmisión de un byte es sencilla basta con cargar el byte en el
registro TXREG y esperar a que se active una bandera (TRMR del registro TXSTA) que
indica que el byte ha sido enviado[11].

[11]
Asynchronous Communications with the PICmicro® USART
59

Figura 4.18: Subrutina de transmisión

4.2.3.7 Otras subrutinas

En el desarrollo del programa se hacen uso de otras subrutinas las cuales se mencionan a
continuación:

9 RDEEPROM: subrutina utilizada para leer un registro de la memoria de datos


EEPROM.
9 WREEPROM: subrutina utilizada para escribir en un registro de la memoria de
datos EEPROM.
9 DELAY_1.5B: retardo de 1.5 veces un byte, utilizado en la recepción y transmisión
de un mensaje.
9 DELAY_RPTA: retardo adicional que la estación remota espera antes de enviar un
mensaje de respuesta. Es variable dependiendo del dato guardado en el registro
0x03 de la memoria EEPROM.
9 DELAY_100: retardo de 100 µs utilizado para compensar el tiempo consumido en
el cálculo del CRC.
9 DELAY_STEP: retardo de 100 ms utilizado en las rutinas de actualización de los
motores a pasos.

4.3 Montaje de los motores paso a paso

Para transmitir el movimiento de los motores paso a paso a los transformadores variables
que ajustan las tensiones de pantalla se utilizan juegos de engranajes, para el montaje se
utilizaron bases de aluminio a las cuales se fijan los motores. Un esquema del montaje se
muestra en las figuras 4.19 y 4.20.
60

Tabla 4.9: Características de los motores paso a paso

Tipo Unipolar
Angulo de paso 7.5º
Numero de pasos
48
por vuelta
Resistencia 5.1 Ω
Tensión 3.7VDC – 7.5 VDC
Torque 0.15 N.m

Para mejorar la resolución de los motores los juegos de engranajes tienen una relación de
velocidad de 2:1 con ello se logra un ángulo de paso de 3.75° ó lo que es lo mismo 96
pasos por vuelta. Dado que el tipo de control es a medio paso finalmente se obtiene una
resolución de 192 pasos por vuelta.

Tabla 4.10: Características de los engranajes

Módulo 1
Juego Nº 1 (PA) Nº de dientes del piñón 25
Nº de dientes de la rueda 50
Módulo 1
Juego Nº 2 (Driver) Nº de dientes del piñón 34
Nº de dientes de la rueda 68

Fue necesario en ambos casos (etapa PA y etapa Driver) cambiar los ejes de los
transformadores variables por unos más largos en los cuales se puedan fijar los engranajes,
la fijación de los engranajes a los ejes respectivos se hace con prisioneros.
4 3/4"

22mm

R 26.00mm

R 13.00mm
Ø 3/8"
4 3/4"

EJE
R 2.00mm

ENGRANAJES

MOTOR PAP
4 x Ø 1/4"

BASE DE ALUMINIO

Figura 4.19: Montaje del motor paso a paso con el transformador variable de PA
61

130mm

43mm 10mm

2 x Ø 3/16"

16mm
R 34.00mm

R 17.00mm

Ø 1/4"
100mm

EJE

R 2.00mm

ENGRANAJES
MOTOR PAP

36mm
BASE DE ALUMINIO

Figura 4.20: Montaje del motor paso a paso con el transformador variable de Driver

4.4 Instalación de los módulos Acromag

Para monitorear las corrientes de operación del transmisor se utilizó el modelo 914MB de
la marca Acromag estos módulos cuentan con cuatro canales analógicos configurables a
distintos rangos.

Estos módulos cuentan con sujetadores para su montaje en rieles DIN tipo “T” por lo que
han sido instalados junto con los relés auxiliares, en los paneles de control de las etapas de
salida PA de los tres transmisores que se encuentran actualmente en operación. Los
módulos también han sido conectados a la red de comunicaciones RS485 y a una fuente de
alimentación de 24 VDC ubicada en el rack del PLC.

Tabla 4.11: Corrientes leídas por los módulos Acromag

Etapa Corriente Unidad


VAC ION [µA]
PA Bias [A]
Pantalla [A]
Bias [A]
Driver Cátodo [mA]
Pantalla [mA]

Se han utilizado un total de dos módulos por transmisor uno para monitorear las corrientes
de la etapa de salida PA y el otro para las corrientes de la etapa previa Driver, las
direcciones de esclavo correspondientes a cada módulo dependen del transmisor al que
pertenece.
62

Tabla 4.12: Direcciones de esclavo de los módulos Acromag

Dirección de
Transmisor Etapa
esclavo
PA 02
TX1
Driver 03
PA 04
TX2
Driver 05
PA 06
TX3
Driver 07
PA 08
TX4 (*)
Driver 09
* Transmisor en construcción

Las señales de las corrientes de ambas etapas se han tomado directamente de los medidores
ubicados en los paneles de control ya que estos están conectados a los terminales de las
resistencias en derivación (Shunt) con las que cuentan las respectivas fuentes de
alimentación.

Para no cargar el medidor analógico (y forzarlo a mostrar una lectura errónea) es necesario
que la impedancia de entrada del instrumento colocado en los terminales de la resistencia
en derivación sea alta. En el caso de los módulos 914MB de Acromag las entradas
analógicas cuentan con una impedancia de entrada de 110KΩ[2] por lo que comparada con
las resistencias shunt de cada una de las fuentes no habría problema.

Tabla 4.13: Escala de corrientes

Rango de Rango de
Etapa Corriente RSHUNT
corriente voltaje
Vac Ion 51.00 Ω 0 – 5 µA 0 – 0.00025 V
PA Bias 0.100 Ω 0 – 0.5 A 0 – 0.05 V
Pantalla 0.050 Ω 0 – 1.0 A 0 – 0.05 V
Bias 0.250 Ω 0 – 0.2 A 0 – 0.05 V
Driver Cátodo 0.025 Ω 0 – 2.0 A 0 – 0.05 V
Pantalla 0.250 Ω 0 – 0.2 A 0 – 0.05 V

En la tabla 4.13 se muestran los rangos de voltaje necesarios para la lectura de corrientes
por lo que los módulos Acromag han sido configurados en el rango de 0 – 78 mV con el
cual se obtiene una resolución de 3.9 µV.

[2]
BusWorks® Model 913MB/914MB Network I/O Module User’s Manual
63

V OUT

POWER
SUPPLY

MEDIDOR
ANALOGICO
R SHUNT
DE
CORRIENTE

IN+ IN-

ENTRADA
ANALOGICA
DE
ACROMAG

Figura 4.21: Conexión de las entradas analógicas de los módulos Acromag


CAPÍTULO 5

SOFTWARE DEL PLC Y DEL SISTEMA SCADA

Como se menciono en el capítulo uno el sistema de control de los transmisores del radar
del ROJ cuenta con un PLC como elemento principal de control al cual se conectan todas
las señales (entradas y salidas del sistema). Además cuenta con una PC como elemento
auxiliar del sistema mediante el se supervisa y comanda el funcionamiento del sistema a
través del sistema SCADA.

El sistema cuenta también con un panel de control local conformado por pulsadores e
indicadores luminosos, este panel sirve como interfase local para los operadores, a través
del cual se dan las órdenes de inicio y parada del sistema. Este panel permite seleccionar el
modo de funcionamiento del sistema: Local y Remoto:

9 Modo Local.- En este modo el comando del sistema lo hacemos desde el panel de
control local, en este modo la PC sólo es un elemento de supervisión monitoreando
los estados de los parámetros de funcionamiento del sistema y la medición de
señales analógicas.

9 Modo Remoto.- En este modo el comando del sistema lo hacemos desde la PC el


cual se comporta también como un elemento de supervisión. En este modo, el
sistema SCADA, permite a su vez trabajar en Modo Operación o en Modo Prueba,
el primero es el modo de funcionamiento normal del sistema y el segundo permite
trabajar independientemente cada sistema con el propósito de hacer pruebas.

Si bien desde la PC se pueden enviar órdenes de parada y de marcha, la PC no realiza


ninguna clase de control, el control radica únicamente en el PLC.

5.1 Software del PLC

El PLC cuenta con el CPU DL350 este módulo ejecuta el programa de aplicación, la
programación del CPU se puede realizar utilizando dos métodos el RLL (Relay Ladder
Logic) y el RLLPLUS (Stage Programming) para ello se cuenta con el software
DirectSOFT32 Programming para Windows.
66

Al energizar el PLC (Power up), el CPU inicializa el hardware electrónico interno, la


inicialización de la memoria comienza con examinar los ajustes de la memoria retentiva
(variables, temporizadores, relés de control, contadores y estados). En general, el contenido
de la memoria retentiva se preserva, y la memoria no-retentiva se inicializa en cero (salvo
que se especifique lo contrario).

Después de las tareas del power up (las cuales solo se ejecutan una vez), el CPU comienza
una actividad de exploración cíclica (cyclical scan activity) La figura 5.1 muestra cómo se
diferencian las tareas, dependiendo del modo de operación del CPU y la existencia de
algún error.

Como podemos observar el CPU siempre está leyendo las entradas, incluso durante el
modo program, esto permite que las herramientas de programación supervisen el estado de
las entradas en cualquier momento. Las salidas se actualizan solamente en modo run, en
modo program, estas están siempre apagadas.

En modo run, el CPU ejecuta el programa de aplicación. Luego, se ejecutan los lazos PID
si es que están configurados y finalmente el CPU escribe los resultados de las salidas de
estas dos tareas. La detección de errores tiene dos niveles cuando ocurre un error no fatal
este se reporta y el CPU permanece en su modo actual. Sin embargo si ocurre algún error
fatal, el CPU es forzado a cambiar al modo program y las salidas se apagan.

El CPU DL350 cuenta con tres modos de operación:

9 Modo programación (Program).- en modo programación el CPU no ejecuta el


programa de aplicación ni tampoco actualiza las salidas. Este modo es utilizado
para ingresar cambios al programa de aplicación y también para ajustar los
parámetros del CPU.

9 Modo funcionamiento (Run).- en modo funcionamiento, el CPU ejecuta el


programa de aplicación, realiza los cálculos PID para los lazos configurados y
actualiza las entradas y salidas. Durante el modo run es posible realizar las
siguientes operaciones: monitoreo y cambio de los estados de las entradas y salidas,
actualizar los valores de temporizadores y contadores y actualizar la ubicación de
las variables de memoria.

9 Modo prueba (Test).- el modo prueba permite iniciar el modo Test – Program
ingresar al modo Test – Run, ejecutar un número fijo de scans y retornar al modo
Test – Program. El modo Test permite mantener el estado de las salidas mientras se
cambia entre los modos Test – Program y Test – Run.
67

POWER UP

INICIALIZA HARDWARE

REVISA, CONFIGURA
Y VERIFICA LOS
MÓDULOS I/O

INICIALIZA
CONFIGURACIÓN
DE VARIABLES

ACTUALIZA ENTRADAS

LEE DATOS DE ENTRADA DE


MÓDULOS ESPECIALES

SERVICIO A PERIFÉRICOS

BUS DE COMUNICACIONES

ATUALIZA
CLOCK/CALENDARIO

PGM
MODE?

RUN

EJECUTA DIAGRAMA
ESCALERA

OPERACIONES PID

ACTUALIZA SALIDAS

ESCRIBE DATOS DE SALIDA


EN MÓDULOS ESPECIALES

DIAGNOSTICOS

SI
OK?

NO

REPORTA ERROR, ACTIVA


FLAG Y ENCIENDE LED

NO
ERROR
FATAL

SI

FUERZA AL CPU AL MODO


PROGRAM

Figura 5.1: Tareas ejecutadas por el CPU del PLC[12]

[12]
D3-350 CPU User Manual
68

5.1.1 Programa original

El programa de aplicación original del PLC fue desarrollado en la primera etapa del
proyecto por el departamento de electrónica y automática DEA de la UDEP, este programa
tiene el control de los siguientes procesos principales:

9 Activación del sistema de baja tensión.


9 Encendido de los ventiladores del túnel.
9 Arranque del sistema de enfriamiento.
9 Habilitación de los transmisores.
9 Activación de la fuente de alta tensión (HV).
9 Permiso de RF.

Adicionalmente el programa cuenta con instrucciones para: leer y almacenar las medidas
analógicas (presiones de agua y tensiones de operación de los transmisores) y actualizar el
sistema de alarmas.

El programa original se desarrollo utilizando el método RLLPLUS, por lo que el programa


está estructurado en estados. A continuación se describen cada uno de los estados que
componen le programa, también se presentan los diagramas de estados los cuales permiten
ver el programa (ladder diagram) como un diagrama de flujo, la figura 5.2 muestra los
símbolos y convenciones utilizadas en los diagramas de estados.

Figura 5.2: Símbolos utilizados en los diagramas de estados[12]

5.1.1.1 Rutina principal “MAIN”

En la rutina principal se realizan las siguientes tareas: primero se llama a la subrutina K2 la


cual se encarga de poner a cero los contadores y temporizadores, además de cargar los
valores iniciales de las variables del programa. Luego de ejecutar la subrutina K2 se
procede a activar los estados correspondientes a las medidas analógicas y la comunicación
con la red Modbus. En la rutina principal también se presta atención al sistema de alarmas
y se controla el apagado remoto de las etapas PA de los transmisores. La rutina principal se
ejecuta siempre.

[12]
D3-350 CPU User Manual
69

Figura 5.3: Rutina principal

5.1.1.2 Estado Inicial y estado Modo Prueba “S0 y S100”

En el estado inicial se determina las condiciones necesarias para activar los estados de los
procesos principales. En este estado también se determina el modo de operación (local ó
remoto) y en modo remoto se determina también si el sistema funcionara en modo
operación ó en modo prueba.

Cuando el sistema opera en modo local el estado inicial siempre esta activado, mientras
que en modo remoto, el estado inicial solo esta activado cuando el sistema funciona en
modo operación. En modo prueba se desactiva el estado inicial S0 y se activa el estado
Modo Prueba S100.

Las condiciones para activar cada uno de los estados de cada proceso son las siguientes:

9 Estado LV.- en modo local activar el control respectivo del panel local y que no
hay falla en los fusibles. En modo remoto cuando se activa el sistema de
enfriamiento desde el sistema SCADA y no hay alarmas por fusibles o en el mismo
sistema de enfriamiento.
9 Estados TX1, TX2, TX3 y TX4.- activar el control respectivo de cada transmisor
(desde el panel local ó desde el sistema SCADA) y que el estado LV se encuentre
activo, el estado HV desactivado y finalmente que no existan alarmas por fusibles o
en el mismo estado.
9 Estados Blower_R y Blower_L.- activar el control respectivo de cada ventilador
(desde el panel local ó desde el sistema SCADA) y que no existan alarmas por
fusibles o en el mismo estado (Blower _R ó Blower_L).
9 Estados Cooling.- activar el control respectivo del sistema de enfriamiento (desde
el panel local ó desde el sistema SCADA) y que no existan alarmas por fusibles o
en el mismo estado del sistema de enfriamiento.
9 Estado HV.- activar el control respectivo de la fuente de alta tensión (desde el panel
local ó desde el sistema SCADA), que al menos un transmisor se encuentre
encendido, que el estado LV se encuentre activo, que el sistema de enfriamiento se
encuentre funcionando y finalmente que no existan alarmas en el mismo estado
HV.
9 Estado RF Permit.- activar el control respectivo (desde el panel local ó desde el
sistema SCADA), que al menos un transmisor se encuentre encendido y con su
tensión de pantalla en el valor adecuado, que el estado LV se encuentre activo, que
70

el estado HV se encuentre activo, que el sistema de enfriamiento se encuentre


funcionando y finalmente que no existan alarmas por fusibles ó en el mismo estado
RF Permit.

Figura 5.4: Estado inicial y estado prueba

En el estado Modo Prueba es posible hacer funcionar cada uno de los procesos principales
de forma independiente. Esto con el propósito de hacer pruebas y detectar posibles fallas
del sistema, para ingresar y salir del modo prueba se utiliza el control ubicado en la
pantalla “Sistema de transmisores” del sistema SCADA. Al salir del modo prueba se
desactiva este estado y se activa el estado inicial.

5.1.1.3 Estado Cooling “S1”

El estado S1 se encarga de poner en funcionamiento el sistema de enfriamiento del sistema


de transmisores el cual incluye tres subsistemas. El primero es un circuito de agua de baja
presión que cuenta con dos electrobombas. El segundo también es un circuito de agua pero
de alta presión este circuito cuenta solo con una electrobomba y finalmente el tercero es un
sistema secundario utilizado para enfriar el agua de los dos circuitos anteriores por medio
de intercambiadores de calor agua – agua y aire – agua, este sistema cuenta con una
bomba.

El arranque de cada sub-sistema se realiza de manera secuencial, primero se arrancan los


ventiladores de los intercambiadores agua – aire, luego las bombas del circuito de baja
71

presión, seguido por la bomba del circuito de alta presión y finalmente la bomba del
circuito secundario. En total el arranque del sistema de enfriamiento dura 83 segundos.

En el diagrama de estados observamos que el estado cooling se desactiva por cuatro


razones, la primera cuando falla cualquiera de las dos electrobombas del sistema de baja
presión, la segunda cuando falla la electrobomba del sistema de alta presión, la tercera
cuando falla la electrobomba del sistema de enfriamiento secundario y finalmente cuando
el sistema de enfriamiento se apaga de forma normal.

Figura 5.5: Estado Cooling

5.1.1.4 Estados Blower_R y Blower_L “S2 y S3”

Los estados S2 y S3 se encargan de controlar el arranque de los ventiladores del túnel


siempre y cuando no exista ninguna alarma, en cada estado se verifica el encendido de los
ventiladores de lo contrario se activa un bit de alarma. Los estados S2 y S3 se desactivan
en tres ocasiones: cuando ocurre una alarma, cuando fallan los fusibles de la línea de
alimentación del sistema de control y finalmente cuando se apagan de forma normal.

Figura 5.6: Estados Blower_R y BLower_L

5.1.1.5 Estado LV “S4”

Este estado se encarga de activar los relés que permiten alimentar el sistema de
transmisores y otros sistemas con baja tensión (120V). En modo remoto este estado se
activa automáticamente al encender el sistema de enfriamiento y en modo local se debe
72

utilizar el control respectivo del panel local. El estado LV se desactiva al apagar el sistema
de enfriamiento (en modo remoto) ó al utilizar el control del panel local en modo local.

Figura 5.7: Estado LV

5.1.1.6 Estado RF Permit “S10”

En este estado se activa un relé auxiliar que permite el paso de la señal de RF al sistema de
transmisores. Este estado se desactiva por tres razones: cuando ocurre alguna falla en
cualquiera de los transmisores, por fallas en otras partes del sistema (bombas del sistema
de enfriamiento, fuente de alta tensión, fusibles) y cuando se desactiva de forma normal.

Figura 5.8: Estado RF Permit

5.1.1.7 Estado HV “S11”

El estado HV se encarga de iniciar la secuencia de encendido de la fuente de alta tensión


(20kV) que alimenta la placa de los tubos de vacío de la etapa de salida de los
transmisores. Para encender la fuente de alta tensión el programa ejecuta las siguientes
tareas:

9 Desconecta las resistencias de descarga y conecta el relé auxiliar de apagado que


esta normalmente cerrado.
9 Se esperan 5 segundos después de desconectar las resistencias de descarga y se da
un pulso de un segundo a la bobina del interruptor de encendido de la fuente.
9 Se espera la señal de encendido del interruptor y luego de 5 segundos se
cortocircuitan las resistencias que están en serie con el primario del transformador
de la fuente.
9 Luego de 15 segundos de recibir la señal de encendido del interruptor se conectan
las resistencias de carga de la fuente.
9 Finalmente luego de cumplida la secuencia de encendido se activa un bit de
confirmación.

Dentro de este estado también se verifica las posibles fallas de la fuente así este estado se
desactiva por cinco motivos: puertas abiertas del túnel, pulsador remoto de apagado, por
sobrecorriente en la fuente, por fallas en otras partes del sistema (transmisores, bombas del
sistema de enfriamiento, fusibles) y finalmente se desactiva cuando la fuente se apaga de
modo normal.
73

Figura 5.9: Estado HV

5.1.1.8 Estados TX1, TX2, TX3 y TX4 “S14, S15, S16 y S17”

Cada uno de estos estados se encargan de habilitar el funcionamiento de cada uno de los
transmisores, primero se comprueba que los flujos de agua tanto del sistema de baja
presión como del sistema de alta presión se encuentren por encima de los limites
permitidos una vez que se cumple esta condición se activan los relés que permiten el
funcionamiento de cada transmisor. El encendido y la operación de cada transmisor se
realizan desde su panel local.

El estado de cada transmisor se desactiva en cinco ocasiones: cuando el flujo del sistema
de baja presión se encuentra por debajo del límite permitido, cuando el flujo del sistema de
alta presión se encuentra por debajo del limite permitido, cuando falla el transmisor, por
falla en los fusible y finalmente cuando el transmisor se desactiva de forma normal.

En la figura 5.9 se muestra el diagrama de estados correspondiente a la habilitación del


transmisor Nº 1, los diagramas de estados de los transmisores restantes son análogos.

Figura 5.10: Estado TX1

5.1.1.9 Estado Polling RX y Falla Poll RX “S20 y S21”

El estado Polling RX se encarga de iniciar la comunicación con los dispositivos esclavos


conectados a la red de comunicaciones Modbus, se utiliza la técnica denominada Polling
en la cual cada dispositivo esclavo se interroga de manera secuencial cada cierto tiempo de
74

esta manera se cuenta con información actualizada de los dispositivos esclavos todo el
tiempo.

El Polling se realiza cada 100ms después de los cuales se llama a la subrutina K3


encargada de leer las variables de los dispositivos esclavos si ocurre algún error en la
comunicación se desactiva el estado S20 y se activa el estado S21 el cual espera un tiempo
y regresa al estado S20.

Figura 5.11: Estado Polling RX y Falla Poll RX

5.1.2 Modificaciones

Para incluir los cambios del nuevo sistema de control se han realizado modificaciones al
programa original del PLC. Estas modificaciones incluyen cambios en algunos estados y la
adición de nuevos estados.

Como se menciono en el capítulo cuatro el nuevo sistema de control se ha instalado en el


transmisor número tres del ROJ, por lo que de los cuatro estados que controlan el
funcionamiento de los transmisores solo se ha modificado el correspondiente al transmisor
número tres.

Figura 5.12: Rutina principal modificada

5.1.2.1 Rutina principal “MAIN”

En la rutina principal se ha cambiado el nombre de la subrutina K2 por K1, adicionalmente


la activación del estado Polling (antes Polling RX) se realiza utilizando un control de la
pantalla “Slave’s Modbus Configuration” del sistema SCADA la razón de esto es que se ha
75

agregado un nuevo estado llamado Modbus el cual también se utiliza para comunicarse con
los dispositivos conectados a la red Modbus. Dado que ambos estados utilizan el mismo
bus no pueden estar activados al mismo tiempo. Por defecto se encuentra activado el
estado Polling.

Adicionalmente al control del apagado remoto de las etapas PA de los transmisores se han
agregado instrucciones para también controlar el apagado remoto de las etapas Driver de
los transmisores

5.1.2.2 Estado Inicial y estado Modo Prueba “S0 y S100”

En el estado inicial se ha agregado la activación del estado DRV3 el cual se activa junto
con el estado PA3 (antes TX3) las condiciones de activación de cada uno de los estados no
se han modificado.

Figura 5.13: Estado Inicial modificado

5.1.2.3 Estado PA3 “S14”

Los estados TX1, TX2, TX3 y TX4 han sido renombrados con las etiquetas PA1, PA2,
PA3 y PA4 respectivamente. En el caso del estado PA3 se han agregado las instrucciones
necesarias para controlar los siguientes procesos:
76

9 Encendido remoto tanto del sistema como de la tensión de pantalla.


9 Apagado remoto de la tensión de pantalla
9 Ajuste remoto de la tensión de filamento.

El nuevo diagrama del estado PA3 no cambia respecto al original TX3, esto debido a que
en los diagramas de estados solo se muestran las relaciones entre estados.

5.1.2.4 Estado DRV3 “S20”

Este nuevo estado se encarga de controlar los procesos involucrados con el encendido
remoto de la etapa Driver del transmisor número tres, estos procesos son el encendido y
apagado del sistema y de la tensión de pantalla. Este estado se desactiva solo cuando se
apaga normalmente.

Figura 5.14: Estado DRV3

5.1.2.5 Estado Polling “S24”

El estado Polling ha sido modificado para incluir la comunicación con las estaciones
remotas. Para la lectura se ha modificado la subrutina K2 agregándole nuevas instrucciones
ya que el número de variables leídas de las estaciones remotas es mayor a las leídas de los
módulos Acromag además las direcciones de las variables también son diferentes. Para la
escritura se ha creado una nueva subrutina K3 la cual se encarga de escribir los nuevos
valores de las variables (de la estación remota) que contienen la posición de los motores
paso a paso, cuando se cambian desde el sistema SCADA.

Figura 5.15: Estado Polling

5.1.2.6 Estado Modbus “S26”

Este nuevo estado ha sido creado para configurar los dispositivos conectados a la red
Modbus desde el sistema SCADA. Especificando la dirección del esclavo se puede
leer/escribir las variables con referencia Modbus 4XXXX.

5.2 Software del sistema SCADA

Los sistemas SCADA forman parte importante de la automatización ya que conforman la


interfase entre los operarios y el sistema de control esto normalmente se denomina HMI
(Human Machine Interface). La herramienta de desarrollo utilizada es LookoutDirect.
77

LookoutDirect opera bajo el entorno Windows y es capaz de comunicarse con diferentes


dispositivos de campo como módulos I/O, controladores lógicos programables (PLC’s),
unidades de terminales remotos (RTU’s) etc. LookoutDirect es un paquete configurable
orientado a objetos y activado por eventos, que no requiere ninguna programación, sino
mas bien se utiliza en su lugar, representaciones gráficas de dispositivos del mundo real
como interruptores, potenciómetros, registradores, botones, perillas, medidores, los cuales
ligan sus imágenes a instrumentos reales de campo usando PLCs, RTUs, tableros de
adquisición de datos, u otros dispositivos de I/O.

La arquitectura de LookoutDirect consiste en objetos y sus miembros de datos (Data


Members), conexiones y servicios. El desarrollo de una aplicación en LookoutDirect
consiste en la creación, configuración y conexión de objetos. Los objetos son
representaciones del software de todos los dispositivos conectados físicamente a la PC que
tiene instalado el LookoutDirect mientras que los servicios de LookoutDirect son los que
manejan las conexiones entre la PC y los diferentes dispositivos conectados a la misma[13].

5.2.1 Programa original

El sistema SCADA original fue desarrollado junto con el programa original del PLC en la
primera etapa del proyecto por el DEA de la UDEP el sistema desarrollado en dicha
oportunidad se encarga de la supervisión y control de los siguientes procesos:

9 Arranque del sistema de enfriamiento, que incluye dos circuitos de agua uno de
alta y otro de baja presión, cuatro intercambiadores de calor de agua-aire y 2
ventiladores auxiliares.
9 Selección de los transmisores a utilizar.
9 Activación de las fuentes de alto voltaje (20 KV) para las etapas PA del transmisor.
9 Activación de la señal de radio frecuencia RF.
9 Monitoreo de parámetros y alarmas del sistema
9 Parada de emergencia.

Cada uno de los procesos se encuentran organizados en pantallas las cuales cuentan con los
respectivos objetos para su supervisión y control, a continuación se describen las pantallas
mas relevantes del sistema SCADA.

5.2.1.1 Pantalla principal “Sala de Transmisores”

Esta es la pantalla principal del sistema desde aquí en primer lugar se puede seleccionar el
modo de funcionamiento esto es entre el modo operación y el modo prueba dependiendo
de este modo de operación el aspecto de la pantalla “Sala de transmisores” cambia ya que
habilita y rehabilita el acceso a los diferentes procesos del sistema. Desde esta pantalla se
pueden realizar las siguientes acciones, dependiendo del modo de funcionamiento:

Modo Operación:

9 Acceder a las pantallas de habilitación de los cuatro transmisores.


9 Seleccionar el modo Prueba.
[13]
Lookout Direct – Getting starting guide
78

9 Acceder a la pantalla del sistema de enfriamiento.


9 Acceder a la pantalla de activación de la fuente de alta tensión.
9 Acceder a la pantalla del permiso de RF.
9 Acceder a la pantalla de los ventiladores del túnel.
9 Acceder a la pantalla del sistema de bombas auxiliares.
9 Acceder a la pantalla de estado y alarmas del sistema.
9 Acceder a la pantalla para iniciar la grabación de datos.

Modo Prueba:

9 Acceder a las pantallas de habilitación de los cuatro transmisores.


9 Seleccionar el modo Operación.
9 Acceder a la pantalla de los ventiladores del túnel.
9 Acceder a la pantalla del sistema de bombas auxiliares.
9 Acceder a la pantalla de estado y alarmas del sistema.
9 Acceder a la pantalla de activación de la fuente de alta tensión.
9 Acceder a la pantalla del sistema de baja presión.
9 Acceder a la pantalla del sistema de alta presión.
9 Acceder a la pantalla del sistema de enfriamiento secundario.

Adicionalmente en esta pantalla se presenta el estado de los fusibles de las líneas que
alimentan el sistema de control. También se cuenta con un pulsador de reset para las
alarmas.

Cuando el sistema se encuentra en modo operación los pulsadores de acceso a las pantallas
del sistema de enfriamiento, activación de la fuente de alta tensión y permiso de RF se
encuentran desactivados ya que primero se deben cumplir las condiciones necesarias antes
de activarlos.

Modo Operación Modo Prueba

Figura 5.16: Pantalla principal “Sala de transmisores”

5.2.1.2 Pantallas de habilitación de transmisores

En las pantallas de habilitación de transmisores se cuenta con un interruptor para habilitar


o deshabilitar el transmisor, en esta pantalla también se cuenta con medidores para la
supervisión de los flujos de agua (alta y baja presión) y las tensiones de operación del
transmisor. Desde estas pantallas se puede acceder a dos pantallas adicionales la primera
79

“Configuración de Medidores” utilizada para establecer los valores límites mínimos y


máximos de los diferentes parámetros del transmisor, es necesario aclarar que estos valores
no son enviados al PLC y solo se utilizan para su visualización en el sistema SCADA. La
segunda pantalla dependiendo del transmisor muestra los medidores correspondientes a las
tensiones de operación de la etapa Driver.

Figura 5.17: Pantalla de habilitación del transmisor Nº 1 “PA Tx1”

Figura 5.18: Pantalla “Driver Tx1”

5.2.1.3 Pantalla “Sistema de Enfriamiento”

El acceso a esta pantalla está disponible una vez que se ha habilitado al menos un
transmisor, en esta pantalla se cuenta con un interruptor para iniciar el arranque del sistema
de enfriamiento una vez iniciado el arranque se habilitan tres pulsadores que permiten
acceder a los subsistemas del sistema de enfriamiento (sistema de baja presión, sistema de
alta presión y enfriamiento secundario).

Cuando el sistema se encuentra en modo prueba el acceso a las pantallas de los


subsistemas del sistema de enfriamiento se puede hacer directamente de la pantalla
principal “Sala de Transmisores”.
80

Sistema de enfriamiento apagado Sistema de enfriamiento encendido

Figura 5.19: Pantalla “Sistema de Enfriamiento”

5.2.1.4 Pantalla “Fuente de Alta Tensión”

En modo operación el acceso a esta pantalla es posible después de que el sistema de


enfriamiento se encuentre funcionando. La pantalla de la fuente de alta tensión cuenta con
un interruptor para activar la fuente y un medidor para visualizar el valor, en voltios, de la
fuente. Adicionalmente se puede verificar el estado de los transmisores (apagado,
alimentado ó activado) y se cuenta con un indicador del estado de las puertas del túnel.

Figura 5.20: Pantalla “Fuente de Alta Tensión” bloqueada

Fuente lista para ser activada Fuente activada

Figura 5.21: Pantalla “Fuente de Alta Tensión” lista


81

Cuando las condiciones no están dadas la activación de la fuente de alta tensión no es


posible y la pantalla se muestra como en la figura 5.20, cuando las condiciones estén dadas
se puede utilizar el interruptor para activar la fuente.

En modo prueba el acceso a esta pantalla está permitido sin necesidad de que se cumplan
las condiciones necesarias, por lo que se tiene que tener mucho cuidado si se quiere operar
la fuente de alta tensión en modo prueba.

5.2.1.5 Pantalla “RF Permit”

El acceso a esta pantalla solo es posible en modo operación, esta pantalla se utiliza para
permitir el paso de la señal de RF al sistema de transmisores. Al igual que la pantalla de la
fuente de alta tensión es necesario que se cumplan las condiciones respectivas para poder
accionar el interruptor y tener acceso a la pantalla.

Figura 5.22: Pantalla “RF Permit”

5.2.1.6 Pantalla “Ventiladores del Túnel”

Esta pantalla es utilizada para encender los ventiladores del túnel por medio de dos
interruptores uno para el ventilador izquierdo y otro para el ventilador derecho. El acceso a
esta pantalla y el encendido de los ventiladores no tienen restricción tanto en modo
operación como en modo prueba. El único requisito es que la media tensión este conectada
(440 V).

Ventiladores Apagados Ventiladores Encendidos

Figura 5.23: Pantalla “Ventiladores del Túnel”


82

5.2.1.7 Pantalla “Bombas Auxiliares”

La pantalla bombas auxiliares es accesible tanto en modo prueba como en modo operación
y se utiliza para poner en marcha las bombas que alimentan los tanques de reserva de los
subsistemas del sistema de enfriamiento. Así la pantalla cuenta con tres interruptores, el
primero para encender la bomba del tanque de reserva del sistema de enfriamiento
secundario, el segundo para encender la bomba del tanque de reserva del sistema de alta
presión y el tercero para encender la bomba del tanque de reserva del sistema de baja
presión.

Figura 5.24: Pantalla “Bombas Auxiliares”

5.2.1.8 Pantalla “Estados y Alarmas del sistema”

Esta pantalla se utiliza para monitorear el estado de cada uno de los equipos del sistema de
transmisores para ello se utilizan indicadores luminosos, el color plomo indica que el
equipo ó sistema se encuentra apagado, el color verde indica que el equipo ó sistema se
encuentra en funcionamiento normal y finalmente el color rojo que indica la ocurrencia de
alguna falla. Existe un color adicional el naranja que se utiliza para indicar que el equipo o
sistema se encuentra listo para entrar en funcionamiento.

Figura 5.25: Pantalla “Sistema de Alarmas”


83

5.2.2 Modificaciones

Al igual que el programa del PLC fue necesario realizar modificaciones al sistema SCADA
para incluir los cambios realizados en el sistema de control. En primer lugar se realizaron
modificaciones que involucran a todas las pantallas del sistema SCADA estas
modificaciones tienen que ver con la presentación de las pantallas así se realizaron los
siguientes cambios:

9 Se ha cambiado el tipo y tamaño de letra.


9 Se han uniformizado el tamaño de todos los pulsadores y en algunos casos estos
han sido reubicados dentro de la pantalla.
9 El idioma de todas las etiquetas se ha cambiado al inglés, la razón de esto fue para
uniformizar todo el sistema.
9 Se ha mejorado el aspecto de los interruptores y de las imágenes utilizadas, esto
para que el sistema SCADA tenga la apariencia del sistema real.

Los cambios concernientes al nuevo sistema de control involucran el cambio de algunas


pantallas y la adición de nuevas pantallas.

Pantallas modificadas:

9 Pantalla principal “Transmitters Room”.


9 Pantalla de habilitación de transmisores “Transmitter #”
9 Pantalla “Driver #”.

Pantallas nuevas:

9 Pantalla de control de la etapa de salida “PA #”.


9 Pantalla de supervisión de parámetros “System Parameters”.
9 Pantalla “Modbus Slave’s Configuration”

En los siguientes apartados se describen estas pantallas.

5.2.2.1 Pantalla principal “Transmitters Room”

En la pantalla principal se ha agregado un pulsador para acceder a la pantalla “System


parameters” se ha reorganizado la ubicación de los diferentes pulsadores y se ha cambiado
el interruptor con el que se cambia el modo de funcionamiento (operación/prueba). Existe
un pulsador llamado “RF Power” con el cual se accede a la pantalla que será utilizada para
monitorear la potencia transmitida y/o reflejada de los transmisores.
84

Modo Operación Modo Prueba

Figura 5.26: Pantalla “Transmistters Room” modificada

5.2.2.2 Pantalla de habilitación de transmisores “Transmitter #”

En estas pantallas (cuatro en total) se han agregado dos pulsadores para acceder a las
pantallas que controlan y supervisan la operación de la etapa de salida PA y de su etapa
previa Driver. Los medidores de flujo se mantienen y los medidores de las tensiones han
sido reubicados en la respectiva pantalla (PA TX#). En esta pantalla se han agregado
también controles para monitorear la comunicación y el estado de la estación remota
respectiva.

Figura 5.27: Pantalla “Transmitter 3” modificada

5.2.2.3 Pantallas “Driver TX#”

En el sistema original estas pantallas estaban destinadas únicamente al monitoreo de las


tensiones de operación de estas etapas. Ahora con el nuevo sistema se han agregado los
pulsadores/indicadores respectivos para el encendido y apagado remoto del sistema y de la
tensión de pantalla además se han agregado medidores para la supervisión de las corrientes
de operación y finalmente se han agregado los controles para ajustar la tensión de pantalla.

En esta pantalla también se muestra el modo de operación de esta etapa Local/Remote, en


modo Local se desactivan los pulsadores de encendido y los controles que ajustan la
tensión de pantalla.
85

Figura 5.28: Pantalla “Driver TX3” modificada

5.2.2.4 Pantallas “PA #”

Estas pantallas se utilizan para controlar y supervisar de forma remota las etapas de salida
de cada transmisor, cuentan con pulsadores/indicadores para el encendido y apagado
remoto del sistema y de la tensión de pantalla así como con controles para ajustar tanto la
tensión de filamento como la tensión de pantalla.

Al igual que las pantallas “Driver TX#” estas pantallas cuentan con medidores para la
supervisón de las corrientes de operación así como con un indicador que muestra el modo
de operación de estas etapas Local/Remote. En modo Local los pulsadores de encendido y
apagado junto con los controles que ajustan la tensión de filamento y la tensión de pantalla
se desactivan.

Figura 5.29: Pantalla nueva “PA TX3”

5.2.2.5 Pantalla “System parameters”

Esta pantalla accesible desde la pantalla “Transmistters Room” se utiliza para monitorear
todos los parámetros de operación de los cuatro transmisores de manera simultanea. Para la
visualización de los mismos se utilizan valores digitales que cambian de color dependiendo
del rango en que se encuentran así: el color plomo indica que el transmisor se encuentra
apagado, el color verde indica que el valor se encuentra dentro de los limites permitidos y
el color rojo indica que se encuentran fuera de los límites permitidos. Un cuarto color, el
naranja, es utilizado para indicar que el transmisor se encuentra listo para ser encendido.
86

Figura 5.30: Pantalla nueva “System Parameters”


CAPÍTULO 6

RESULTADOS

En el presente capitulo se presentan los resultados obtenidos en el desarrollo del proyecto,


como se mencionó en el capitulo 4, el prototipo del sistema ha sido implementado en el
transmisor Nº 3 por lo que todos los resultados están referidos a dicho prototipo.

6.1 Control del encendido de los transmisores

El sistema ha sido probado tanto en modo local como en modo remoto. Con el sistema
operando en modo local se pudo comprobar que no existiera ningún conflicto entre la
instalación antigua y la nueva instalación, tampoco hubo problemas utilizando los
programas del PLC y del sistema SCADA originales.

En modo remoto se realizaron pruebas de encendido y apagado, también se comprobó el


buen funcionamiento del control de la tensión de filamento de la etapa PA; las pruebas
fueron satisfactorias.

6.2 Control de la tensión de pantalla

El prototipo de la estación remota se monto en el panel de control del transmisor y se


probó su operación. En cuanto al control de los motores paso a paso fue necesario ajustar
el voltaje de alimentación de los mismos, hasta lograr el torque apropiado para mover el
transformador variable de la etapa PA (el transformador de la etapa Driver no presento
problemas ya que cuenta con una inercia mucho menor).

De esta manera se alimentaron los motores con 6.5 VDC, con un consumo de corriente de
0.7 A por fase. En el peor de los casos, esto es cuando se alimentan dos fases de los dos
motores, la corriente total consumida por los motores será de 2.8 A. Si bien es cierto que,
la fuente fue diseñada para entregar 4 A, fue necesario colocar un disipador en el transistor
de la fuente ya que la potencia disipada por el mismo puede alcanzar 27 W en el peor de
los casos. Es necesario aclarar que el transistor solo trabaja cuando los motores están en
movimiento.
88

La comunicación de la estación remota utilizando una red de comunicaciones RS485,


protocolo Modbus, fue probada, utilizando una PC como estación maestra, para ello se
utilizo el software Modbus Tester V3.00 en su versión freeware. Con dicho software fue
posible determinar la confiabilidad de la comunicación, así la tabla 5.1 muestra algunos de
los resultados obtenidos para diferentes periodos de muestreo.

Tabla 6.1: Pruebas de comunicación de la estación remota

Scan Rate Valid Error


Polls
[ms] Responses [%]
50 282633 282632 0.000
50 280514 280512 0.001
100 220496 220496 0.000
100 223654 223651 0.001
200 118425 118425 0.000
200 118647 118645 0.002
500 60477 60477 0.000
500 60852 60852 0.000
1000 89284 89283 0.001
1000 34621 34620 0.003

Al finalizar las pruebas se pudo determinar que la taza de errores se encuentra dentro de
límites razonables, considerando el entorno con alta EMI (Electro – Magnetic
Interference), los temas relacionados con la interferencia de la EMI en el sistema podrán
ser estudiados en otras tesis.

Figura 6.1: Software Modbus Tester.

La comunicación de la estación remota con el PLC también fue probada. El


comportamiento fue el mismo que con la PC, habiéndose usado en este caso como
referencia los contadores de mensajes implementados en el microcontrolador.
89

6.3 Análisis económico

El análisis económico efectuado, corresponde al desarrollo de la estación remota, el cual se


compara luego con sistemas de control para motores paso a paso (stepper systems)
comerciales.

Tabla 6.2: Materiales utilizados en la estación remota

P. Unitario P. Total
Item Cant. Unidad Descripcion
US$ US$
1 1 Und. Microcontrolador PIC16F873 6.80 6.80
2 1 Und. Transceptor diferencial SN75176 0.80 0.80
3 3 Und. Optoacopladores 4N35 0.56 1.68
4 2 Und. Darlington switch ULN2064B 0.57 1.14
5 1 Und. Cristal de 4MHz 0.38 0.38
6 1 Und. Transformador 120/12 VAC, 4A 3.22 3.22
7 1 Und. Transformador 120/9 VAC, 0.5A 1.71 1.71
8 2 Und. Regulador de voltaje L7805 0.85 1.70
9 1 Und. Regulador de voltaje LM317 0.85 0.85
10 1 Und. Transistor 2N2955 0.62 0.62
11 1 Und. Puente rectificador de 4A 1.14 1.14
12 1 Und. Puente rectificador de 1A 0.48 0.48
13 1 Und. Diodo 1N4002 0.06 0.06
14 3 Und. Diodo LED 0.06 0.18
15 6 Und. Condensadores electroliticos 0.11 0.66
16 3 Und. Condensadores ceramicos 0.03 0.09
17 1 Und. Potenciometro de 2.2K 0.36 0.36
18 14 Und. Resistencias varias 0.02 0.28
19 16 Und. Conectores Varios 0.14 2.24
20 6 pulg2 Fabricacion de circuitos impresos 0.72 4.32

Total US$ 28.71

En el mercado existen diferentes tipos de sistemas de control para motores paso a paso,
incluso el fabricante del PLC utilizado en el ROJ ofrece sistemas de este tipo. Así, el PLC
necesitaría los siguientes componentes para trabajar con un sistema de motores paso a
paso: un modulo contador ó un modulo de salidas digitales para generar los pulsos, cable
de control para llevar las señales, un driver y una fuente de alimentación. La generación de
pulsos tendría que programarse en el PLC.

Tabla 6.3: Materiales necesarios para controlar los motores paso a paso con el PLC

P. Unitario P. Total
Item Cant. Unidad Descripcion
US$ US$
1 1 Und. Stepper Drive 3.5A 32VDC Bipolar 2 Phase 149.00 149.00
2 1 Und. Power Supply Stepper 32VDC 4A 99.00 99.00
2 1 Und. Module D3-08TD2 8PT 5-24VDC Output 73.00 73.00
4 40 m Cable de control de 4 hilos 0.72 28.80

Total US$ 349.80

A simple vista observamos la gran diferencia en el costo. Otra opción pudo haber sido
utilizar circuitos integrados como el L297 ó el NJM3517 (controladores de motores paso a
90

paso) pero igual es necesario utilizar un microcontrolador o un modulo del PLC para
generar los pulsos.
CONCLUSIONES

El sistema desarrollado constituye un prototipo y, las pruebas realizadas con él, indican
que los objetivos del presente trabajo de tesis fueron cumplidos en forma satisfactoria.
Como resultado, se cuenta con la facilidad de encender operar y supervisar de forma
remota el Transmisor Nº 3 del radar principal del ROJ. Para extender el nuevo sistema de
control al resto de transmisores solo se necesita copiar lo realizado en el transmisor Nº 3.

Las comunicaciones entre el sistema SCADA, el PLC y el resto de periféricos (módulos


Acromag y estaciones remotas) son de vital importancia ya que permiten al usuario tener
un control y acceso remoto de las diferentes variables del sistema de transmisores.

El protocolo Modbus, en una red de control distribuido puede ser usado para comunicarse
con una serie de dispositivos, distribuidos alrededor de la planta. Esto permite a una sola
persona supervisar remotamente diversos procesos simultáneamente desde una única
posición. Además de permitir el monitoreo de variables (como las corrientes de operación
del transmisor) y el ajuste de parámetros operativos (como las tensiones de pantalla de las
etapas PA y Driver) cuando el sistema lo requiere.

Con la implementación del protocolo Modbus en el microcontrolador PIC, se evidenció la


facilidad y flexibilidad de este protocolo y por ende la razón de su alta difusión en entornos
industriales.

La utilización de componentes de bajo costo, en este caso el microcontrolador PIC


permitió ver el alcance de estos componentes en la solución de problemas específicos de
ingeniería que integren hardware y software. Es decir, partiendo de una tecnología
comercial se ha obtenido, en nuestro caso, un valor agregado con ventajas de costo o
facilidad de uso sobre sistemas comerciales equivalentes. Se pudo constatar la versatilidad
y flexibilidad de estos componentes en tareas como el control de motores paso a paso y
comunicación serial, sin explotar aún toda su capacidad.

En el caso de la estación remota solo se implementaron los códigos de función Modbus


necesarios en la aplicación de este proyecto (dos códigos de función públicos), sin
embargo, la estación remota funciona de manera adecuada ante mensajes con códigos de
función no implementados, es decir, responde con una respuesta de excepción a la estación
maestra indicando que no soporta un código de función no definido.
92

Por otra parte, la estación remota puede emplearse en aplicaciones distintas en las que se
requiera: transmisión serial, almacenamiento y lectura de datos en la memoria interna
(EEPROM y RAM), transacciones Modbus diferentes a las desarrolladas, etc. Las pruebas
realizadas indican un alto grado de confiabilidad del sistema

En contraste con los servo – motores, los motores paso a paso pueden ser usados a lazo
abierto, sin la necesidad de costosos Encoders para comprobar su posición. Los motores de
pasos son mucho más rentables que los servo sistemas debido a su control simplificado y
circuito de alimentación (Drivers). En un motor a pasos no existen escobillas por lo que se
elimina la necesidad del mantenimiento. Aunque un sistema con motor paso a paso no
puede alcanzar la velocidad de un sistema con servo motor, su facilidad de empleo permite
que sean la solución preferida para muchos de los sistemas de control de movimiento
automatizado, motivo por el cual se ha usado en el presente trabajo.

Se puede continuar con el desarrollo exportando los datos del sistema a un servidor de
Internet, con lo cual será posible visualizar la operación del sistema desde cualquier lugar
del mundo.
REFERENCIAS

[1] Universidad de Piura – Departamento de Electrónica y Automática,


“Automatización del sistema de transmisores del ROJ – Memoria Descriptiva”,
2003.
[2] Acromag Inc, “BusWorks® Model 913MB/914MB Network I/O Module User’s
Manual”, 2000.
[3] Modbus.org, “Specification & Implementation for MODBUS over Serial Line”
V1.0, 2003, http://www.modbus.org.
[4] B&B Electronics, “RS422/485 Application Note”, 1997.
[5] Modbus.org, “MODBUS Application Protocol Specification” V1.1, 2003,
http://www.modbus.org.
[6] FACTS Engineering, “Universal Isolate Network Adapter Data Sheet”, 2000.
[7] Radio observatorio de Jicamarca, “PA & DRIVER Control and Operation”.
[8] Texas Instruments Incorporated, “SN75176A Differential Bus Transceiver – Data
Sheet” 1998.
[9] Microchip Technology, “PIC16F87XA Data Sheet”, 2003.
[10] STMicroelectronics, “ULN2064B Quad Darlington switches – Data Sheet”, 2003.
[11] Mike Garbutt, “Asynchronous Communications with the PICmicro® USART”,
Microchip Technology, AN774, 2003.
[12] Automationdirect.com, “D3-350 CPU User Manual”, 2002.
[13] Automationdirect.com, “Lookout Direct – Getting starting guide”, First Edition,
Rev A, 2002.
ANEXOS

A Planos modificados del circuito de control de las etapas PA y Driver.

B Circuitos de la estación remota.

C Programa del microcontrolador PIC.

D Programa del PLC.


ANEXO A

Planos modificados del circuito de control de las etapas PA y Driver

Las figuras A.1 y A.2 muestran respectivamente los circuitos de control modificados de las
etapas PA y Driver del transmisor Nº 3 del ROJ, en donde se muestran los relés instalados
y su conexión con los módulos del PLC.
A-2

Figura A.1: circuito de control de la etapa PA”


A-3

Figura A.2: Circuito de control de la etapa Driver


ANEXO B

Circuitos de la estación remota

A continuación se muestran los circuitos esquemáticos de la estación remota y los


respectivos circuitos impresos. Al final se muestra una foto real del prototipo de la estación
remota.
B-2

Figura B.1: Esquemático estación remota”


B-3

Figura B.2: Esquemático de la fuente de la estación remota”


B-4

Figura B.3: Circuito impreso de la estación remota


B-5

Figura B.4: Prototipo de la estación remota (vista superior)

Figura B.5: Prototipo de la estación remota (vista frontal)


ANEXO C

Programa del microcontrolador PIC

El código fuente que se lista a continuación corresponde al programa del microcontrolador


PIC 16F873A, el programa ha sido desarrollado utilizando lenguaje maquina (Assembler).
La herramienta utilizada para editar depurar y compilar el programa fue MPLAB V7.00 for
Windows este software es proporcionado por Microchip (fabricante de los
microcontroladores PIC) de forma gratuita.
C-2

;********************************************************************
;PROGRAMA PARA EL CONTROL DE LOS MOTORES PASO A PASO QUE AJUSTAN *
;LAS TENSIONES DE PANTALLA DE LAS ETAPAS PA Y DRIVER DEL TRANSMISOR *
;********************************************************************

LIST P=16F873A ;PIC UTILIZADO


__CONFIG _XT_OSC & _WDT_OFF & _BODEN_OFF & _LVP_OFF

#INCLUDE "P16F873A.INC" ;ENCABEZADO NECESARIO

;**************************
;CONSTANTES DEL PROGRAMA *
;**************************

#DEFINE BANK0 BCF STATUS,RP0 ;SELECCIONA EL BANK0


#DEFINE BANK1 BSF STATUS,RP0 ;SELECCIONA EL BANK1
#DEFINE BANK2 BSF STATUS,RP1 ;SELECCIONA EL BANK2
#DEFINE CLR_CARRY BCF STATUS,C
#DEFINE PA_ZERO PORTA,1 ;ENTRADA DIGITAL
#DEFINE DRV_ZERO PORTA,2 ;ENTRADA DIGITAL
#DEFINE RXON BSF RCSTA,CREN ;HABILITA RECEPCION POR LA USART
#DEFINE RXOFF BCF RCSTA,CREN ;DESHABILITA RECEPCION POR LA USART
#DEFINE TXON BSF TXSTA,TXEN ;HABILITA TRANSMISION POR LA USART
#DEFINE TXOFF BCF TXSTA,TXEN ;DESHABILITA TRANSMISION POR LA USART
#DEFINE RTSON BSF PORTC,5 ;HABILITA TRANSMISION AL BUSRS485
#DEFINE RTSOFF BCF PORTC,5 ;DESHABILITA TRANSMISION AL BUS RS485

;************************
;VARIABLES DEL PROGRAMA *
;************************

CBLOCK 0X20
STEP_PA ;PASO ACTUAL DEL MOTOR PA
STEP_DRV ;PASO ACTUAL DEL MOTOR DRIVER
PA_TABLE_TMP ;VARIABLE TEMPORAL
DRV_TABLE_TMP ;VARIABLE TEMPORAL
CRC_HI ;BYTE MAS SIGNIFICATIVO DEL CRC
CRC_LO ;BYTE MENOS SIGNIFICATIVO DEL CRC
CONT_CRC ;CONTADOR PARA EL CALCULO DEL CRC
W_TEMP ;VARIABLE TEMPORAL PARA GUARDAR W
ST_TEMP ;VARIABLE TEMPORAL PARA GUARDAR STATUS
CONT_1 ;VARIABLE PARA DELAYS
CONT_2 ;VARIABLE PARA DELAYS
CONT_3 ;VARIABLE PARA DELAYS
CONT_4 ;VARIABLE PARA DELAYS
CONT_F ;CONTADOR PARA FUNCIONES MODBUS
CONFIGG ;VARIABLE DE CONFIGGURACION
CONT_DELAY1.5B ;VARIABLE EN DELAY1.5B
RPTACONT ;CONTADOR DEL DELAY DE RESPUESTA
ERR_CODE ;CODIGO DE EXCEPTION MODBUS
REG_TEMP ;VARIABLE TEMPORAL PARA FUNCIONES MODBUS
CONT_RX ;CONTADOR DEL NUMERO DE BYTES RECIBIDOS
CONT_BUFFER ;CONTADOR DEL BUFFER
CONT_F10 ;CONTADOR PARA FUNCION MODBUS H'10'
CONT_ERR ;CONTADOR DE PASOS POR ERROR
ENDC

CBLOCK 0X40 ;VARIABLES UTILIZADAS COMO BUFFER EN LA


ADDRESS_RX ;RECEPCION DE UN MENSAJE, EL BUFFER ESTA
FUNCTION ;LIMITADO HA RECIBIR UN MAXIMO DE 16 BYTES
BYTE1 ;POR MENSAJE
BYTE2
BYTE3
BYTE4
BYTE5
BYTE6
BYTE7
BYTE8
BYTE9
BYTE10
BYTE11
BYTE12
BYTE13
BYTE14
ENDC
C-3

CBLOCK 0X50 ;VARIABLES QUE PUEDEN SER LEIDAS Y ESCRITAS


;VIA MODBUS
NOUSE:8
POSPA_RX ;REF MODBUS:X0009, POSICION DEL MOTOR PA rx
POSDRV_RX ;REF MODBUS:X0010, POSICION DEL MOTOR DRIVER rx
RESET_PIC ;REF MODBUS:X0011, RESET REMOTO DE LOS MOTORES
POSPA ;REF MODBUS:X0012, POSICION ACTUAL DEL MOTOR PA
POSDRV ;REF MODBUS:X0013, POSICION ACTUAL DEL MOTOR DRIVER
ADDRESS ;REF MODBUS:X0014, DIRECCION DE LA ESTACION REMOTA
BADCOM ;REF MODBUS:X0015, CONT DE MENSAJES CON CRC ERRONEO
BADMSG ;REF MODBUS:X0016, CONT DE EXCEPTIONS MODBUS
MSGS_LO ;REF MODBUS:X0017, CONT DE MENSAJES RECIBIDOS
MSGS_HI ;REF MODBUS:X0018, CONT DE MENSAJES RECIBIDOS
MSGSOK_LO ;REF MODBUS:X0019, CONT DE MENSAJES RECIBIDOS OK
MSGSOK_HI ;REF MODBUS:X0020, CONT DE MENSAJES RECIBIDOS OK
MODE ;REF MODBUS:x0021, INDICA MODO DE OPERACION
ENDC

;******************
;VECTOR DE RESET *
;******************

ORG 0X00
CLRF PCLATH
GOTO RESET

;************************
;VECTOR DE INTERRUPCION *
;************************

ORG 0X04
GOTO INTERRUPT

;************************************************************
;TABLAS DE PULSOS A MEDIO PASO PARA LOS MOTORES PA Y DRIVER *
;************************************************************
;REQUIERE :POSICION DE LA TABLA EN W *
;RETORNA :VALOR DE LA TABLA EN W *
;************************************************************

PA_TABLE ADDWF PCL,F


NOP
RETLW B'00000001'
RETLW B'00000011'
RETLW B'00000010'
RETLW B'00000110'
RETLW B'00000100'
RETLW B'00001100'
RETLW B'00001000'
RETLW B'00001001'

DRV_TABLE ADDWF PCL,F


NOP
RETLW B'10000000'
RETLW B'11000000'
RETLW B'01000000'
RETLW B'01100000'
RETLW B'00100000'
RETLW B'00110000'
RETLW B'00010000'
RETLW B'10010000'

;****************************************
;TABLAS DE CONFIGGURACION *
;****************************************
;REQUIERE :POSICION DE LA TABLA EN W *
;RETORNA :VALOR DE LA TABLA EN W *
;****************************************

BPS_TABLE ADDWF PCL,F


RETLW D'51' ;VALOR PARA 4800BPS
RETLW D'25' ;VALOR PARA 9600BPS
RETLW D'12' ;VALOR PARA 19200BPS

PRESCALER ADDWF PCL,F


RETLW B'10000100' ;PRESCALER DEL TMR0 EN 1:32
RETLW B'10000011' ;PRESCALER DEL TMR0 EN 1:16
C-4

RETLW B'10000010' ;PRESCALER DEL TMR0 EN 1:8

CONT1_TABLE ADDWF PCL,F


RETLW D'46' ;VALOR PARA 4800BPS
RETLW D'22' ;VALOR PARA 9600BPS
RETLW D'10' ;VALOR PARA 19200BPS

;**************************************************
;RUTINA DE INTERRUPCION POR RECEPCION EN LA USART *
;**************************************************

INTERRUPT MOVWF W_TEMP ;GUARDA EL REGISTRO W


MOVF STATUS,W ;LEE EL REGISTRO STATUS
MOVWF ST_TEMP ;GUARDA EL REGISTRO STATUS
MOVF RCREG,W ;LEE EL BYTE RECIBIDO (DIRECCION DEL ESCLAVO)
MOVWF ADDRESS_RX ;GUARDA EL BYTE RECIBIDO
BTFSS INTCON,T0IF ;OVERFLOW DEL TMR0? (OCURRE CADA 3.5 BYTE)
GOTO INT_OUT ;NO: SALE DE LA INTERRUPCION
MOVF ADDRESS_RX,W ;SI: LEE LA DIRECCION RECIBIDA ADDRESS_RX
XORWF ADDRESS,W ;COMPARA ADDRESS_RX CON ADRRESS
BTFSS STATUS,Z ;DIRECCION OK?
GOTO INT_OUT ;NO: SALE DE LA INTERRUPCION
INCF MSGS_LO,F ;SI: INCREMENTA CONTADOR DE MENSAJES (BYTE BAJO)
BTFSC STATUS,Z ;VALOR DE MSGS_LO = 0?
INCF MSGS_HI,F ;SI: INCREMENTA CONTADOR DE MENSAJES (BYTE ALTO)
MOVLW H'40' ;NO: LEE EL VALOR 0X40
MOVWF CONT_RX ;CONT_RX = 0X40(INICIO DEL BUFFER)
CALL RX ;SUBRUTINA DE RECEPCION DEL MENSAJE
MOVF CONT_RX,W ;LEER CONTADOR DE BYTES
XORLW H'50' ;COMPARA CON EL VALOR 0X50
BTFSC STATUS,Z ;NUMERO DE BYTES <16
GOTO BAD_COM ;NO: IR A RUTINA DE MENSAJE ERRONEO
CALL CRC_RX ;SUBRUTINA QUE CALCULA EL CRC DEL MSG RECIBIDO
DECF CONT_RX,W ;SI: W = CONT_RX - 1
MOVWF FSR ;USO DE DIRECCIONAMIENTO INDIRECTO
MOVF INDF,W ;LEE PENULTIMO BYTE (BYTE BAJO DEL CRC)
XORWF CRC_LO,W ;COMPARA PENULTIMO BYTE RECIBIDO CON CRC_LO
BTFSS STATUS,Z ;REGISTROS DIFERENTES??
GOTO BAD_COM ;SI: IR A RUTINA DE MENSAJE ERRONEO
MOVF CONT_RX,W ;NO: LEE CONTADOR DE MENSAJE
MOVWF FSR ;USO DE DIRECCIONAMIENTO INDIRECTO
MOVF INDF,W ;LEE ULTIMO BYTE (CORRESPONDE AL BYTE ALTO DEL CRC)
XORWF CRC_HI,W ;COMPARA ULTIMO BYTE RECIBIDO CON CRC_HI
BTFSS STATUS,Z ;REGISTROS DIFERENTES?
GOTO BAD_COM ;SI: IR A RUTINA DE MENSAJE ERRONEO
MOVF FUNCTION,W ;NO: LEE SEGUNDO BYTE RECIBIDO (FUNCION)
XORLW H'03' ;COMPARA FUNCION CON VALOR 0X03
BTFSC STATUS,Z ;REGISTROS IGUALES?
GOTO FUNCTION_03 ;SI: IR A RUTINA DE LA FUNCION 0X03
MOVF FUNCTION,W ;NO: LEE SEGUNDO BYTE RECIBIDO (FUNCION)
XORLW H'10' ;COMPARA FUNCION CON VALOR 0X10
BTFSC STATUS,Z ;REGISTROS IGUALES?
GOTO FUNCTION_10 ;SI: IR A RUTINA DE LA FUNCION 0X10
GOTO BAD_FUN ;NO: IR A RUTINA DE FUNCION ERRONEA

;***************************************
;RUTINA PARA SALIR DE LA INTERRUPCION *
;***************************************

INT_OUT MOVLW D'36' ;LEE VALOR 36


MOVWF TMR0 ;OVERFLOW DE TMR0 EN (255-36)*PRESCALER = 3.5BYTE
MOVF ST_TEMP,W ;LEE REGISTRO STATUS GUARDADO
MOVWF STATUS ;RESTAURA REGISTRO STATUS
MOVF W_TEMP,W ;RESTAURA REGISTRO W
BCF PIR1,RCIF ;HABILITA INTERRUPCION POR RX
BCF INTCON,T0IF ;LIMPIA BANDERA DE OVERFLOW EN TMR0
RXON ;HABILITA RECEPCION POR LA USART
RETFIE ;SALE DE LA INTERRUPCION

;****************************************
;SUBRUTINA PARA RECEPCION DE UN MENSAJE *
;****************************************
;REQUIERE :NINGUNO *
;RETORNA :NUMERO DE BYTES EN CONT_RX *
;****************************************

RX CALL DELAY_1.5B ;SUBRUTINA RETARDO DE 1.5B


C-5

CALL DELAY_100 ;SUBRUTINA RETARDO DE 100us


BTFSS PIR1,RCIF ;BYTE RECIBIDO EN LA USART?
RETURN
INCF CONT_RX,F ;SI: INCREMENTA CONTADOR DE BYTES RECIBIDOS
MOVF CONT_RX,W ;LEE CONTADOR DE BYTES
MOVWF FSR ;USO DIRECCIONAMIENTO INDIRECTO
MOVF RCREG,W ;LEER BYTE RECIBIDO
MOVWF INDF ;GUARDAR BYTE RECIBIDO
MOVF CONT_RX,W ;LEER CONTADOR DE BYTES
XORLW H'50' ;COMPARA CON EL VALOR 0X50
BTFSC STATUS,Z ;NUMERO DE BYTES <16
RETURN
GOTO RX ;SI: ESPERA SIGUIENTE BYTE

;********************************************************
;SUBRUTINA PARA EL CALCULO DEL CRC DEL MENSAJE RECIBIDO *
;********************************************************

CRC_RX MOVLW H'FF' ;LEE 0XFF (VALOR INICIAL PARA REGISTROS DEL CRC)
MOVWF CRC_HI ;
MOVWF CRC_LO ;
MOVLW H'40' ;LEE VALOR 0X40 (INICIO DEL BUFFER)
MOVWF CONT_BUFFER ;CONT_BUFFER = 0X40
LOOP_RX MOVF CONT_BUFFER,W ;LEE CONT_BUFFER
MOVWF FSR ;USO DE DIRECCIONAMIENTO INDIRECTO
MOVF INDF,W ;LEE BYTE DEL BUFFER
CALL CRC ;SUBRUTINA CRC
INCF CONT_BUFFER,F ;INCREMENTA CONTADOR DE BUFFER
MOVF CONT_BUFFER,W ;LEE CONTADOR DE BUFFER
SUBWF CONT_RX,W ;W = CONT_RX - CONT_BUFFER
XORLW H'01' ;
BTFSS STATUS,Z ;ULTIMO BYTE DEL MENSAJE??
GOTO LOOP_RX ;NO: SIGUIENTE BYTE
RETURN

;***********************************************************
;RUTINA PARA LA FUNCION MODBUS 0X03 "READ HOLDING REGISTER *
;***********************************************************

FUNCTION_03 MOVF MODE,W ;LEE MODO DEL PIC


BTFSS STATUS,Z
GOTO F03_EEPROM

F03_RAM RXOFF
MOVLW H'50' ;LEE VALOR 0X50
ADDWF BYTE2,F ;BYTE2 = BYTE2 + 0X50
CLR_CARRY ;
MOVF BYTE1,W ;LEE BYTE1 DEL MENSAJE
XORLW H'00' ;COMPARA BYTE1 CON 0X00
BTFSS STATUS,Z ;IGULAES??
GOTO BAD_REG ;NO: IR A RUTINA DE REGISTRO ERRONEO
MOVF BYTE2,W ;SI: LEE BYTE2 DEL MENSAJE
ADDWF BYTE4,W ;W = BYTE2 + BYTE4
BTFSC STATUS,C ;W > 255?
GOTO BAD_REG ;NO: IR A RUTINA DE REGISTRO ERRONEO
MOVF BYTE3,W ;SI: LEE BYTE3 DEL MENSAJE
XORLW H'00' ;COMPARA BYTE3 CON EL VALOR 0X00
BTFSS STATUS,Z ;IGUALES?
GOTO BAD_DAT ;NO: IR A RUTINA DE REGISTRO ERRONEO
MOVF BYTE4,W ;SI: LEE BYTE4 DEL MENSAJE
SUBLW H'10' ;COMPARA BYTE4 CON VALOR 0X10 (NUMERO DE BYTES)
BTFSS STATUS,C ;MENOR A H'10'?
GOTO BAD_REG ;NO: IR A RUTINA DE REGISTRO ERRONEO
INCF MSGSOK_LO,F ;SI: INCREMENTAR BYTE BAJO DEL CONT DE MENSAJES OK
BTFSC STATUS,Z ;CONTADOR IGUAL A CERO?
INCF MSGSOK_HI,F ;SI: INCREMENTAR BYTE ALTO DEL CONT DE MENSAJES OK
CLRF CONT_F ;NO: LIMPIA CONT_F
CALL DELAY_RPTA ;RETARDO DE RESPUESTA
MOVLW H'FF' ;LEE EL VALOR 0XFF
MOVWF CRC_HI ;
MOVWF CRC_LO ;
MOVF ADDRESS,W ;LEER DIRECCION DE LA ESTACION REMOTA
CALL CRC ;ACTUALIZA BYTES DEL CRC
MOVF ADDRESS,W ;LEER DIRECCION DE LA ESTACION REMOTA
CALL TX ;ENVIA DIRECCION DE LA ESTACION REMOTA
MOVF FUNCTION,W ;LEE FUNCION MODBUS
CALL CRC ;ACTUALIZA BYTES DEL CRC
C-6

MOVF FUNCTION,W ;LEE FUNCION MODBUS


CALL TX ;ENVIA FUNCION MODBUS
MOVF BYTE4,W ;LEE BYTE 4 DEL MENSAJE
ADDWF BYTE4,W ;W = BYTE4 + BYTE4
CALL CRC ;ACTUALIZA BYTES DEL CRC
MOVF BYTE4,W ;LEE BYTE4 DEL MENSAJE
ADDWF BYTE4,W ;W = BYTE4 + BYTE4
CALL TX ;ENVIA NUMERO DE REGISTROS
LOOP_F3RAM MOVLW H'00' ;LEE VALOR 0X00
CALL CRC ;ACTUALIZA BYTES DEL CRC
MOVLW H'00' ;LEE VALOR 0X00
CALL TX ;ENVIA VALOR 0X00
MOVF BYTE2,W ;LEE BYTE 2 DEL MENSAJE
ADDWF CONT_F,W ;W = CONT_F + BYTE2
MOVWF FSR ;UTILIZA DIRECCIONAMIENTO INDIRECTO
MOVF INDF,W ;LEE VALOR DEL REGISTRO
MOVWF REG_TEMP ;GUARDA VALOR DEL REGISTRO EN REG_TEMP
CALL CRC ;ACTUALIZA BYTES DEL CRC
MOVF REG_TEMP,W ;LEE VALOR DE REG_TEMP
CALL TX ;ENVIA VALOR DEL REGISTRO
INCF CONT_F,F ;INCREMENTA CONTADOR DE BYTES
MOVF CONT_F,W ;LEE CONTADOR DE BYTES
XORWF BYTE4,W ;COMPARA CONTADOR DE BYTES CON BYTE4
BTFSS STATUS,Z ;IGUALES?
GOTO LOOP_F3RAM ;NO: SIGUIENTE REGISTRO
CALL DELAY_100 ;SI: RETARDO DE 100us
MOVF CRC_LO,W ;LEE BYTE BAJO DEL CRC
CALL TX ;ENVIA BYTE BAJO DEL CRC
CALL DELAY_100 ;RETARDO DE 100us
MOVF CRC_HI,W ;LEE BYTE ALTO DEL CRC
CALL TX ;ENVIA BYTE ALTO DEL CRC
GOTO INT_OUT ;SALE DE LA INTERRUPCION

F03_EEPROM RXOFF
CLR_CARRY ;
MOVF BYTE1,W ;LEE BYTE1 DEL MENSAJE
XORLW H'00' ;COMPARA BYTE1 CON 0X00
BTFSS STATUS,Z ;Z = 1?
GOTO BAD_REG ;NO: IR A RUTINA DE REGISTRO ERRONEO
MOVF BYTE2,W ;SI: LEE BYTE2 DEL MENSAJE
ADDWF BYTE4,W ;W = BYTE2+BYTE4
SUBLW D'127' ;W = 127 - W
BTFSS STATUS,C ;CARRY = 1?
GOTO BAD_REG ;SI: IR A RUTINA DE REGISTRO ERRONEO
MOVF BYTE3,W ;NO: LEE BYTE3 DEL MENSAJE
XORLW H'00' ;COMPARA BYTE3 CON 0X00
BTFSS STATUS,Z ;Z = 1?
GOTO BAD_REG ;NO: IR A RUTINA DE REGISTRO ERRONEO
MOVF BYTE4,W ;SI: LEE BYTE4
SUBLW H'10' ;COMPARA BYTE4 CON 0X10
BTFSS STATUS,C ;CARRY = 1?
GOTO BAD_REG ;SI: IR A RUTINA DE REGISTRO ERRONEO
INCF MSGSOK_LO,F ;NO: INCREMENTA BYTE BAJO DEL CONT DE MENSAJES OK
BTFSC STATUS,Z ;MSGSOK_LO = 0?
INCF MSGSOK_HI,F ;SI: INCREMENTA BYTE ALTO DEL CONT DE MENSAJES OK
CLRF CONT_F ;CONT_F = 0
CALL DELAY_RPTA ;SUBRUTINA DE RETARDO DE RESPUESTA
MOVLW H'FF' ;LEE VALOR 0XFF (VALOR INICIAL DEL CRC)
MOVWF CRC_HI ;
MOVWF CRC_LO ;
MOVF ADDRESS,W ;LEE DIRECCION DE LA ESTACION REMOTA
CALL CRC ;ACTUALIZA BYTES DEL CRC
MOVF ADDRESS,W ;LEE DIRECCION DE LA ESTACION REMOTA
CALL TX ;ENVIA DIRECCION DE LA ESTACION REMOTA
MOVF FUNCTION,W ;LEE BYTE DE FUNCION
CALL CRC ;ACTUALIZA BYTES DEL CRC
MOVF FUNCTION,W ;LEE BYTE DE FUNCION
CALL TX ;ENVIA VALOR DE LA FUNCION MODBUS
MOVF BYTE4,W ;LEE BYTE4 DEL MENSAJE
ADDWF BYTE4,W ;W = BYTE4 + BYTE4
CALL CRC ;ACTUALIZA BYTES DEL CRC
MOVF BYTE4,W ;LEE BYTE4 DEL MENSAJE
ADDWF BYTE4,W ;W = BYTE4 + BYTE4
CALL TX ;ENVIA NUMERO DE BYTES A TRANSMITIR
LOOP_F3EE MOVLW H'00' ;LEE VALOR 0X00
CALL CRC ;ACTUALIZA BYTES DEL CRC
MOVLW H'00' ;LEE VALOR 0X00
C-7

CALL TX ;ENVIA EL VALOR 0X00


MOVF BYTE2,W ;LEE BYTE2 DEL MENSAJE
ADDWF CONT_F,W ;W = BYTE2 + CONT_F
CALL RDEEPROM ;LEE EL REGISTRO DE LA EEPROM
MOVWF REG_TEMP ;GUARDA REGISTRO EN REG_TEMP
CALL CRC ;ACTUALIZA BYTES DEL CRC
MOVF REG_TEMP,W ;LEE REG_TEMP
CALL TX ;ENVIA REGISTRO LEIDO DE LA EEPROM
INCF CONT_F,F ;CONT_F = CONT_F+1
MOVF CONT_F,W ;LEE CONT_F
XORWF BYTE4,W ;COMPARA CONT_F CON BYTE4
BTFSS STATUS,Z ;Z = 1?
GOTO LOOP_F3EE ;NO: SIGUIENTE BYTE
CALL DELAY_100 ;SI: RETARDO DE 100us
MOVF CRC_LO,W ;LEE BYTE BAJO DEL CRC CALCULADO
CALL TX ;ENVIA BYTE BAJO DEL CRC CALCULADO
CALL DELAY_100 ;RETARDO DE 100us
MOVF CRC_HI,W ;LEE BYTE ALTO DEL CRC CALCULADO
CALL TX ;ENVIA BYTE ALTO DEL CRC CALCULADO
GOTO INT_OUT ;SALE DE INTERRUPCION

;***************************************************************
;RUTINA PARA LA FUNCION MODBUS 0X10 "WRITE MULTIPLE REGISTER" *
;***************************************************************

FUNCTION_10 MOVF MODE,W ;LEE MODO DEL PIC


BTFSS STATUS,Z
GOTO F10_EEPROM

F10_RAM RXOFF
MOVLW H'50' ;LEE VALOR 0X50
ADDWF BYTE2,F ;BYTE2 = BYTE2+0X50
CLR_CARRY ;
MOVF BYTE1,W ;LEE BYTE1 DEL MENSAJE
XORLW H'00' ;COMPARA CON H'00'
BTFSS STATUS,Z ;IGUALES?
GOTO BAD_REG ;NO: IR A RUTINA DE REGISTRO ERRONEO
MOVLW H'50' ;SI: LEE H'50'
SUBWF BYTE2,W ;COMPARA BYTE2 CON H'50' (BYTE2 = REGISTRO INICIAL)
BTFSS STATUS,C ;BYTE2 < H'50'
GOTO BAD_REG ;SI: IR A RUTINA DE REGISTRO ERRONEO
MOVF BYTE2,W ;NO: LEE BYTE2
ADDWF BYTE4,W ;BYTE4 = BYTE4 + BYTE2
SUBLW D'127' ;COMPARA CON 127
BTFSS STATUS,C ;MAYOR A 127
GOTO BAD_REG ;SI: IR A RUTINA DE REGISTRO ERRONEO
MOVF BYTE5,W ;NO: LEE BYTE5
SUBLW H'08' ;COMPARA CON H'08'
BTFSS STATUS,C ;MAYOR A 8
GOTO BAD_REG ;SI: IR A RUTINA DE REGISTRO ERRONEO
MOVLW H'50' ;NO: LEE H''50'
SUBWF BYTE2,F ;REGRESA AL VALOR DE BYTE2 INICIAL
INCF MSGSOK_LO,F ;INCREMENTA CONTADOR DE MENSAJES OK
BTFSC STATUS,Z ;
INCF MSGSOK_HI,F ;INCREMENTA CONTADOR DE MENSAJES OK
CALL DELAY_RPTA ;RETARDO DE RESPUESTA
MOVLW H'FF' ;LEE H'FF'
MOVWF CRC_HI ;VALOR INICIAL PARA CRC_HI
MOVWF CRC_LO ;VALOR INICIAL PARA CRC_LO
MOVF ADDRESS,W ;LEE DIRECCION DE ESCLAVO
CALL CRC ;CALCULA CRC
MOVF ADDRESS,W ;LEE DIRECCION DE ESTACION REMOTA
CALL TX ;ENVIA DIRECCION DE ESTACION REMOTA
MOVF FUNCTION,W ;LEE BYTE DE FUNCION
CALL CRC ;CALCULA CRC
MOVF FUNCTION,W ;LEE BYTE DE FUNCION
CALL TX ;ENVIA BYTE DE FUCTION
MOVF BYTE1,W ;LEE BYTE1 DEL MENSAJE
CALL CRC ;CALCULA CRC
MOVF BYTE1,W ;LEE BYTE1
CALL TX ;ENVIA BYTE 1 DEL MENSAJE
MOVF BYTE2,W ;LEE BYTE2 DEL MENSAJE
CALL CRC ;CALCULA CRC
MOVF BYTE2,W ;LEE BYTE 2 DEL MENSAJE
CALL TX ;ENVIA BYTE2 DE LMENSAJE
MOVF BYTE3,W ;LEE BYTE 3 DEL MENSAJE
CALL CRC ;CALCULA CRC
C-8

MOVF BYTE3,W ;LEE BYTE 3 DEL MENSAJE


CALL TX ;ENVIA BYTE 3 DE MENSAJE
MOVF BYTE4,W ;LEE BYTE4 DEL MENSAJE
CALL CRC ;CALCULA CRC
MOVF BYTE4,W ;LEE BYTE 4 DEL MENSAJE
CALL TX ;ENVIA BYTE 4 DEL MENSAJE
CALL DELAY_100 ;RETARDO DE 100us
MOVF CRC_LO,W ;LEE BYTE BAJO DEL CRC
CALL TX ;ENVIA BYTE BAJO DEL CRC
CALL DELAY_100 ;RETARDO DE 100us
MOVF CRC_HI,W ;LEE BYTE ALTO DEL CRC
CALL TX ;ENVIA BYTE ALTO DEL CRC
CLRF CONT_F ;LIMPIA CONTADOR F
CLRF CONT_F10 ;LIMPIA CONTADOR F
MOVLW H'50' ;LEE H'50'
ADDWF BYTE2,F ;REDIRECCIONA REGISTRO INICIAL
LOOP_F10RAM MOVLW H'48' ;LEE VALOR H'48' (VALOR INICIAL DE BUFFER)
ADDWF CONT_F10,W ;CONTADOR F = VALOR INICIAL (48) + 2*N
MOVWF FSR ;DIRECCIONAMIENTO INDIRECTO
MOVF INDF,W ;LEE BYTE
MOVWF REG_TEMP ;GUARDA EN REG TEMPORAL
MOVF BYTE2,W ;LEE BYTE2 DEL MENSAJE
ADDWF CONT_F,W ;W = CONTADOR F + BYTE2
MOVWF FSR ;DIRECCIONAMIENTO INDIRECTO
MOVF REG_TEMP,W ;LEE DATO TEMPORAL
MOVWF INDF ;GUARDA DATO
MOVLW H'02' ;LEE H'02'
ADDWF CONT_F10,F ;ACTUALIZA CONTADOR F
INCF CONT_F,F ;ACTUALIZA CONTADOR F10
MOVF BYTE5,W ;LEE BYTE5 DEL MENSAJE (NUMERO DE BYTES)
XORWF CONT_F10,W ;COMPARA CON CONTADOR F10
BTFSS STATUS,Z ;IGUALES
GOTO LOOP_F10RAM ;NO: SIGUE EN LAZO
GOTO INT_OUT ;SI: SALE DE INTERRUPCION

F10_EEPROM RXOFF
CLR_CARRY ;
MOVF BYTE1,W ;LEE BYTE1 DEL MENSAJE
XORLW H'00' ;COMPARA CON H'00'
BTFSS STATUS,Z ;IGUALES?
GOTO BAD_REG ;NO: IR A RUTINA DE REGISTRO ERRONEO
MOVF BYTE2,W ;NO: LEE BYTE2
ADDWF BYTE4,W ;BYTE4 = BYTE4 + BYTE2
SUBLW D'127' ;COMPARA CON 127
BTFSS STATUS,C ;MAYOR A 127
GOTO BAD_REG ;SI: IR A RUTINA DE REGISTRO ERRONEO
MOVF BYTE5,W ;NO: LEE BYTE5
SUBLW H'08' ;COMPARA CON H'08'
BTFSS STATUS,C ;MAYOR A 8
GOTO BAD_REG ;SI: IR A RUTINA DE REGISTRO ERRONEO
INCF MSGSOK_LO,F ;NO: INCREMENTA CONTADOR DE MENSAJES OK
BTFSC STATUS,Z ;
INCF MSGSOK_HI,F ;INCREMENTA CONTADOR DE MENSAJES OK
CALL DELAY_RPTA ;RETARDO DE RESPUESTA
MOVLW H'FF' ;LEE H'FF'
MOVWF CRC_HI ;VALOR INICIAL PARA CRC_HI
MOVWF CRC_LO ;VALOR INICIAL PARA CRC_LO
MOVF ADDRESS,W ;LEE DIRECCION DE ESCLAVO
CALL CRC ;CALCULA CRC
MOVF ADDRESS,W ;LEE DIRECCION DE ESTACION REMOTA
CALL TX ;ENVIA DIRECCION DE ESTACION REMOTA
MOVF FUNCTION,W ;LEE BYTE DE FUNCION
CALL CRC ;CALCULA CRC
MOVF FUNCTION,W ;LEE BYTE DE FUNCION
CALL TX ;ENVIA BYTE DE FUCTION
MOVF BYTE1,W ;LEE BYTE1 DEL MENSAJE
CALL CRC ;CALCULA CRC
MOVF BYTE1,W ;LEE BYTE1
CALL TX ;ENVIA BYTE 1 DEL MENSAJE
MOVF BYTE2,W ;LEE BYTE2 DEL MENSAJE
CALL CRC ;CALCULA CRC
MOVF BYTE2,W ;LEE BYTE 2 DEL MENSAJE
CALL TX ;ENVIA BYTE2 DE LMENSAJE
MOVF BYTE3,W ;LEE BYTE 3 DEL MENSAJE
CALL CRC ;CALCULA CRC
MOVF BYTE3,W ;LEE BYTE 3 DEL MENSAJE
CALL TX ;ENVIA BYTE 3 DE MENSAJE
C-9

MOVF BYTE4,W ;LEE BYTE4 DEL MENSAJE


CALL CRC ;CALCULA CRC
MOVF BYTE4,W ;LEE BYTE 4 DEL MENSAJE
CALL TX ;ENVIA BYTE 4 DEL MENSAJE
CALL DELAY_100 ;RETARDO DE 100us
MOVF CRC_LO,W ;LEE BYTE BAJO DEL CRC
CALL TX ;ENVIA BYTE BAJO DEL CRC
CALL DELAY_100 ;RETARDO DE 100us
MOVF CRC_HI,W ;LEE BYTE ALTO DEL CRC
CALL TX ;ENVIA BYTE ALTO DEL CRC
CLRF CONT_F ;LIMPIA CONTADOR F
CLRF CONT_F10 ;LIMPIA CONTADOR F
LOOP_F10EE MOVLW H'48' ;LEE VALOR H'48'
ADDWF CONT_F10,W ;CONTADOR F = VALOR INICIAL (48) + 2*N
MOVWF FSR ;DIRECCIONAMIENTO INDIRECTO
MOVF INDF,W ;LEE BYTE
MOVWF REG_TEMP ;GUARDA EN REG TEMPORAL
MOVF BYTE2,W ;LEE BYTE2 DEL MENSAJE
ADDWF CONT_F,W ;W = CONTADOR F + BYTE2
CALL WREEPROM ;GUARDA DATO
MOVLW H'02' ;LEE H'02'
ADDWF CONT_F10,F ;ACTUALIZA CONTADOR F
INCF CONT_F,F ;ACTUALIZA CONTADOR F10
MOVF BYTE5,W ;LEE BYTE5 DEL MENSAJE (NUMERO DE BYTES)
XORWF CONT_F10,W ;COMPARA CON CONTADOR F10
BTFSS STATUS,Z ;IGUALES
GOTO LOOP_F10EE ;NO: SIGUE EN LAZO
GOTO INT_OUT ;SI: SALE DE INT

;******************************************
;RUTINA PARA ENVIAR UNA EXCEPTION MODBUS *
;******************************************

EXCEPTION RXOFF
INCF BADMSG,F ;INCREMENTA CONTADOR DE MENSAJES ERRONEOS
CALL DELAY_RPTA ;RETARDO DE RESPUESTA
MOVLW H'FF' ;LEE VALOR H'FF'
MOVWF CRC_HI ;CARGA VALOR DEL CRC
MOVWF CRC_LO ;CARGA VALOR DEL CRC
MOVF ADDRESS,W ;LEE DIRECCION DE ESTACION REMOTA
CALL CRC ;CALCULA CRC
MOVF ADDRESS,W ;LEE DIRECCION DE ESTACION REMOTA
CALL TX ;ENVIA DIRECCION DE ESTACION REMOTA
MOVF FUNCTION,W ;LEE BYTE DE FUNCION
ADDLW H'80' ;LE SUMA 80 (INDICA ERROR)
CALL CRC ;CALCULA CRC
MOVF FUNCTION,W ;LEE BYTE DE FUNCION
ADDLW H'80' ;LE SUMA 80
CALL TX ;ENVIA BYTE DE FUNCION + 80
MOVF ERR_CODE,W ;LEE CODIGO DE ERROR
CALL CRC ;CALCULA CRC
MOVF ERR_CODE,W ;LEE CODIGO DE ERROR
CALL TX ;ENVIA CODIGO DE ERROR
CALL DELAY_100 ;RETARDO DE 100us
MOVF CRC_LO,W ;LEE BYTE BAJO DEL CRC
CALL TX ;ENVIA BYTE BAJO DEL CRC
CALL DELAY_100 ;RETARDO DE 100 us
MOVF CRC_HI,W ;LEE BYTE ALTO DEL CRC
CALL TX ;ENVIA BYTE ALTO DEL CRC
GOTO INT_OUT ;IR A RUTINA PARA SALIR DE INTERRUPCION

;*********************************
;RUTINA DE ERROR POR CRC ERRONEO *
;*********************************

BAD_COM INCF BADCOM,F ;INCREMENTA CONTADOR DE ERRORES


GOTO INT_OUT ;IR A RUTINA PARA SALIR DE INTERRUPCION

;******************************************
;RUTINA DE ERROR POR FUNCION NO SOPORTADA *
;******************************************

BAD_FUN MOVLW H'01' ;LEE H'01' CODIGO DE ERROR


MOVWF ERR_CODE ;GUARDA CODIGO DE ERRPR
GOTO EXCEPTION ;IR A GENERACION DE EXCEPTION MODBUS
C-10

;**************************************
;RUTINA DE ERROR POR REGSITRO ERRONEO *
;**************************************

BAD_REG MOVLW H'02' ;LEE H'02' CODIGO DE ERROR


MOVWF ERR_CODE ;GUARDA CODIGO DE ERROR
GOTO EXCEPTION ;IR A GENERACION DE EXCEPTION MODBUS

;**********************************
;RUTINA DE ERROR POR DATO ERRONEO *
;**********************************

BAD_DAT MOVLW H'03' ;LEE H'03' CODIGO DE ERROR


MOVWF ERR_CODE ;GUARDA CODIGO DE ERROR
GOTO EXCEPTION ;IR A GENERACION DE EXCEPTION MODBUS

;****************************************************
;SUBRUTINA "TX" TRANSMISION DE UN BYTE POR LA USART *
;****************************************************
;REQUIERE :BYTE A TRANSMITIR EN W *
;RETORNA :NADA *
;****************************************************

TX RTSON
MOVWF TXREG ;GUARDA BYTE A TRANSMITIR
BANK1 ;
TXON ;
TX_WAIT BTFSS TXSTA,TRMT ;TRANSMISION TERMINADA?
GOTO TX_WAIT ;NO: SIGUE EN LAZO
TXOFF ;SI
BANK0 ;
RTSOFF ;
CALL DELAY_1.5B ;RETARDO DE 1.5 BYTE
RETURN

;*********************************************
;SUBRUTINA PARA CALCULAR EL CRC16 DE UN BYTE *
;*********************************************
;REQUIERE :BYTE EN W *
;RETORNA :CRC_LO Y CRC_HI ACTUALIZADOS *
;*********************************************

CRC XORWF CRC_LO,F ;XOR CON EL BYTE


CLRF CONT_CRC ;LIMPIA CONTADOR
CRC_LOOP CLR_CARRY ;
RRF CRC_HI,F ;DESPLAZAMIENTO A DERECHA CON CARRY
RRF CRC_LO,F ;DESPLAZAMIENTO A DERECHA CON CARRY
BTFSC STATUS,C ;CARRY=0??
GOTO XORPOLY ;NO: CALCULA POLINOMIO
INCF CONT_CRC,F ;SI: ACTUALIZA CONTADOR
MOVF CONT_CRC,W ;LEE CONTADOR
XORLW H'08' ;COMPARA CON H'08'
BTFSS STATUS,Z ;IGUALES??
GOTO CRC_LOOP ;NO: SIGUE EN LAZO
RETURN ;SI: SALE DE SUBRUTINA
XORPOLY MOVLW B'10100000' ;LEE VALOR 1
XORWF CRC_HI,F ;XOR CON VALOR 1
MOVLW B'00000001' ;LEE VALOR 2
XORWF CRC_LO,F ;XOR CON VALOR 2
INCF CONT_CRC,F ;ACTUALIZA CONTADOR
MOVF CONT_CRC,W ;LEE CONTADOR
XORLW H'08' ;COMPARA CON H'08'
BTFSS STATUS,Z ;IGUALES??
GOTO CRC_LOOP ;NO: SIGUE EN LAZO
RETURN ;SI: SALE DE SUBRUTINA

;*****************************************************
;SUBRUTINA PARA LEER UN REGISTRO DE LA MEMORIA EEPROM*
;*****************************************************
;REQUIERE :DIRECCION DEL REGISTRO EN W *
;RETORNA :VALOR DEL REGISTRO EN W *
;*****************************************************

RDEEPROM BANK2
MOVWF EEADR ;GUARDA REGISTRO
BANK1 ;SELECCIONA BANCO 3
BCF EECON1,EEPGD ;PUNTERO A MEMORIA EEPROM
C-11

BSF EECON1,RD ;LEE EEPROM


BANK0 ;SELECCIONA BANCO 2
MOVF EEDATA,W ;GUARDA DATO EN W
BCF STATUS,RP1 ;SELECCIONA BANCO 0
RETURN ;SALE DE SUBRUTINA

;************************************************************
;SUBRUTINA PARA ESCRIBIR EN UN REGISTRO DE LA MEMORIA EEPROM*
;************************************************************
;REQUIERE :DIRECCION DEL REGISTRO EN W *
; VALOR DEL REGISTRO EN REG_TEMP *
;RETORNA :NADA *
;************************************************************

WREEPROM BANK2
BANK1 ;SELECCIONA BANCO3
LOOP_WR BTFSC EECON1,WR ;ESCRITURA EN PROCESO
GOTO LOOP_WR ;SI: ESPERA
BANK0 ;NO: CONTINUA
MOVWF EEADR ;GUARDA REGISTRO
BCF STATUS,RP1 ;ACTIVA BANCO 0
MOVF REG_TEMP,W ;DATO A W
BANK2
MOVWF EEDATA ;GUARDO DATO EN EEPROM
BANK1 ;ACTIVO BANCO 3
BCF EECON1,EEPGD ;PUNTERO A MEMORIA EEPROM
BSF EECON1,WREN ;HABILITA ESCRITURA
BCF INTCON,GIE ;DESABILITA INTERRUPCIONES GLOBALES
MOVLW H'55' ;
MOVWF EECON2 ;SECUENCIA
MOVLW H'AA' ;REQUERIDA
MOVWF EECON2 ;
BSF EECON1,WR ;COMIENZA ESCRITURA
BSF INTCON,GIE ;HABILITA INTERRUPCIONES GLOBALES
BCF EECON1,WREN ;DESHABILITA ESCRITURA
BCF STATUS,RP1 ;SELECCIONA BANCO 1
BANK0
RETURN ;SALE DE SUBRUTINA

;*********************
;RETARDO ENTRE BYTES *
;*********************

DELAY_1.5B MOVF CONT_DELAY1.5B,W


MOVWF CONT_1
LOOP_1.5B2 MOVLW H'10'
MOVWF CONT_2
LOOP_1.5B1 DECFSZ CONT_2,F
GOTO LOOP_1.5B1
DECFSZ CONT_1,F
GOTO LOOP_1.5B2
RETURN

;**********************
;RETARDO DE RESPUESTA *
;**********************

DELAY_RPTA MOVF RPTACONT,W


BTFSC STATUS,Z
RETURN
MOVWF CONT_1
LOOP_RPTA2 MOVLW H'02'
MOVWF CONT_2
LOOP_RPTA1 DECFSZ CONT_2,F
GOTO LOOP_RPTA1
DECFSZ CONT_1,F
GOTO LOOP_RPTA2
RETURN

;*******************
;RETAROD DE 100us *
;*******************

DELAY_100 MOVLW H'21'


MOVWF CONT_1
LOOP_100 DECFSZ CONT_1,F
GOTO LOOP_100
C-12

RETURN

;****************************
;PARPADEO DE LED CADA 500us *
;****************************

LED_ONOFF MOVLW H'01'


XORWF PORTA,F ;ACTIVA/DESACTIVA PORTA<0>
CALL DELAY_STEP ;RETARDO DE 100ms
CALL DELAY_STEP ;RETARDO DE 100ms
CALL DELAY_STEP ;RETARDO DE 100ms
CALL DELAY_STEP ;RETARDO DE 100ms
CALL DELAY_STEP ;RETARDO DE 100ms
RETURN

;************************
;CONFIGURACION DE USART *
;************************

USART_CFG MOVLW B'10110000' ;SPEN=1(SERIAL PORT ENABLE),RX9=1(9BIT RX ENABLE)


;CREN=1(CONT RX ENABLE)
MOVWF RCSTA ;CONFIGGURACION DE RECEPCION
BANK1
MOVLW B'01000101' ;TX9=1(9BIT), BRGH=1(HIGH SPEED), 9BIT=1
MOVWF TXSTA ;CONFIGGURACION DE TRANSMISION
BANK0
RETURN

;**************************************************
;SUBRUTINAS PARA REGRESAR MOTORES A POSICION CERO *
;**************************************************

RST_PA INCF CONT_ERR,F ;CUENTA PASOS PARA DETECTAR ERROR


MOVF CONT_ERR,W ;LEE CONTADOR DE PASOS
XORLW D'160' ;COMPARA CON 180
BTFSC STATUS,Z ;IGUALES??
RETURN ;SI: SALE
BTFSC PA_ZERO ;NO: MOTOR PA EN POSICION CERO?
RETURN ;SI: RETORNA
INCF POSPA,F ;NO: INCREMENTA POSPA
CALL UPDATE_PA ;SUBRUTINA DE ACTUALIZACION DEL MOTOR PA
CALL DELAY_STEP
GOTO RST_PA ;SIGUE EN LAZO

RST_DRV INCF CONT_ERR,F ;CUENTA PASOS PARA DETECTAR ERROR


MOVF CONT_ERR,W ;LEE CONTADOR DE PASOS
XORLW D'160' ;COMPARA CON 180
BTFSC STATUS,Z ;IGUALES??
RETURN ;SI: SALE
BTFSC DRV_ZERO ;NO: MOTOR DRIVER EN POSICION CERO?
RETURN ;SI: RETORNA
INCF POSDRV,F ;NO: INCREMENTA POSPA
CALL UPDATE_DRV ;SUBRUTINA DE ACTUALIZACION DEL MOTOR DRIVER
CALL DELAY_STEP
GOTO RST_DRV ;SIGUE EN LAZO

;********************************************
;SUBRUTINAS PARA CARGAR VALORES POR DEFECTO *
;********************************************

DFLT_ADD MOVLW D'127' ;VALOR POR DEFECTO PARA DIRECCION DE ESTACION


MOVWF ADDRESS ;GUARDA VALOR
MOVWF REG_TEMP ;GUARDA VALOR
MOVLW H'00' ;REGISTRO DE LA EEPROM
GOTO WREEPROM ;SUBRUTINA PARA ESCRIBIR EN LA EEPROM

DFLT_BPS MOVLW H'01' ;VALOR POR DEFECTO PARA CONFIGG


MOVWF CONFIGG ;GUARDA VALOR
MOVWF REG_TEMP ;GUARDA VALOR
MOVLW H'01' ;REGISTRO DE LA EEPROM
GOTO WREEPROM ;SUBRUTINA PARA ESCRIBIR EN LA EEPROM

DFLT_RPTA CLRF REG_TEMP ;VALOR POR DEFECTO PARA RETARDO DE RESPUESTA


CLRF RPTACONT ;LIMPIA CONTADOR
MOVLW H'02' ;REGISTRO DE LA EEPROM
GOTO WREEPROM ;SUBRUTINA PARA ESCRIBIR EN LA EEPROM
C-13

DFLT_RST CLRF REG_TEMP ;VALOR POR DEFECTO PARA VAR DE RESET


MOVLW H'03' ;REGISTRO DE LA EEPROM
GOTO WREEPROM ;SUBRUTINA PARA ESCRIBIR EN LA EEPROM

;******************
;RUTINA DE RESET *
;******************

RESET CLRF PORTA ;LIMPIA PUERTO A


CLRF PORTB ;LIMPIA PUERTO B
CLRF PORTC ;LIMPIA PUERTO C
CLR_CARRY ;
BANK1 ;
MOVLW B'00011110' ;
MOVWF TRISA ;RA0,RA5 SALIDAS; RA1, RA2, RA3, RA4 ENTRADAS
MOVLW B'00000110' ;
MOVWF ADCON1 ;PORTA DIGITAL
CLRF TRISB ;PORTB COMO SALIDA
MOVLW B'10000000' ;RC5, RC6 COMO SALIDA; RC7 COMO ENTRADA
MOVWF TRISC ;
BSF PIE1,RCIE ;INTERRUP POR RECEPCION HABILITADA
MOVLW B'01000101' ;TX9=1(9BIT), BRGH=1(HIGH SPEED), 9BIT=1
MOVWF TXSTA ;CONFIGGURACION DE TRANSMISION
BANK0 ;
MOVLW H'01' ;LEE VALOR 01
CALL RDEEPROM ;LEE DIRECCION 01 DE LA EEPROM (BAUD RATE)
MOVWF CONFIGG ;
SUBLW H'02' ;
BTFSS STATUS,C ;CONFIGG>02??
CALL DFLT_BPS ;SI: DEFAULT
MOVF CONFIGG,W ;NO: CARGA CONFIGG
CALL BPS_TABLE ;LEE TABLA CON BPS
BANK1 ;
MOVWF SPBRG ;GUARDA BAUD RATE
BANK0 ;
MOVF CONFIGG,W ;LEE CONFIGG
CALL PRESCALER ;LEE TABLA CON PRESCALER
BANK1 ;
MOVWF OPTION_REG ;GUARDA PRESCALER
BANK0 ;
CLR_CARRY ;
MOVLW H'00' ;LEE VALOR 00
CALL RDEEPROM ;LEE DIRECCION 00 DE LA EEPROM
MOVWF ADDRESS ;GUARDA DIRECCION DE ESCLAVO
SUBLW D'127' ;
BTFSS STATUS,C ;ADDRESS >= 127
CALL DFLT_ADD ;SI: CARGA VALOR POR DEFECTO
MOVF CONFIGG,W ;NO: LEE CONFIGG
CALL CONT1_TABLE ;LEE TABLA DE RETARDO ENTRE BYTES
MOVWF CONT_DELAY1.5B ;GUARDA VALOR
CLR_CARRY ;
MOVLW H'02' ;LEE VALOR 02
CALL RDEEPROM ;LEE DIRECCION 02 DE LA EEPROM
MOVWF RPTACONT ;GUARDA RETARDO DE RESPUESTA
SUBLW D'200' ;
BTFSS STATUS,C ;TICKS > 200
CALL DFLT_RPTA ;CARGA VALOR POR DEFECTO
MOVLW H'03' ;LEE VALOR 03
CALL RDEEPROM ;LEE DIRECCION 03 DE LA EEPROM
BTFSS STATUS,Z ;VALOR = 0?
CALL DFLT_RST ;NO: CARGA VALOR POR DEFECTO
MOVLW H'01' ;SI: LEE VALOR 01
MOVWF STEP_PA ;PASO INICIAL DE MOTOR PA
MOVWF STEP_DRV ;PASO INICIAL DE MOTOR DRIVER
CLRF MODE ;VAR = 0
CLRF BADCOM ;VAR = 0
CLRF BADMSG ;VAR = 0
CLRF MSGS_LO ;VAR = 0
CLRF MSGS_HI ;VAR = 0
CLRF MSGSOK_LO ;VAR = 0
CLRF MSGSOK_HI ;VAR = 0
CLRF RESET_PIC ;VAR = 0
CLRF POSPA ;VAR = 0
CLRF POSDRV ;VAR = 0
CLRF POSPA_RX ;VAR = 0
CLRF POSDRV_RX ;VAR = 0
C-14

CLRF CONT_ERR ;VAR = 0


CALL LED_ONOFF ;
CALL LED_ONOFF ;
CALL LED_ONOFF ;
CALL LED_ONOFF ;
CALL LED_ONOFF ;
BCF INTCON,T0IF ;RST FLAG DE TMR0
MOVLW D'36' ;LEE VALOR 36
MOVWF TMR0 ;VALOR INICIAL DE TMR0 (255-36)*PRESCALER = 3.5 CHR
CALL USART_CFG ;CONFIGURA LA USART
BSF INTCON,PEIE ;HABILITA INTERRUPCIONES GENERALES
BSF INTCON,GIE ;HABILITA INTERRUPCIONES DE PERIFERICOS
CALL RST_PA ;PONE MOTOR PA EN POSICION CERO
CLRF CONT_ERR ;VAR = 0
CALL RST_DRV ;PONE MOTOR DRIVER EN POSICION CERO
BSF PORTA,0 ;ENCIENDE LED ON

;*******************************
;RUTINA PRINCIPAL DEL PROGRAMA *
;*******************************

MAIN BTFSC PORTA,4 ;CARGAR VALORES POR DEFECTO


GOTO DEFAULT ;SI: IR A SUBRUTINA
BTFSC PORTA,3 ;MODE
GOTO MODE_CFG ;NO: IR A MODO CONFIGURACION
MODE_STD BCF PORTA,5 ;LED MODE OFF
CLRF MODE ;VAR = 0
MOVF RESET_PIC,W ;LEE VARIABLE DE RESET
BTFSS STATUS,Z ;VARIABLE IGUAL A CERO??
GOTO RESET ;NO: RESET AL PIC
MOVF POSPA_RX,W ;SI: LEE POSICION RECIBIDA DEL MOTOR PA
XORWF POSPA,W ;COMPARA CON POSICION ACTUAL
BTFSS STATUS,Z ;SON IGUALES??
CALL UPDATE_PA ;NO: ACTUALIZA POSICION
MOVF POSDRV_RX,W ;LEE POSICION RECIBIDA DEL MOTOR PA
XORWF POSDRV,W ;COMPARA CON POSICION ACTUAL
BTFSS STATUS,Z ;SON IGUALES??
CALL UPDATE_DRV ;NO: ACTUALIZA POSICION
GOTO MAIN ;SI: IR A RUTINA PRINCIPAL

MODE_CFG BSF PORTA,5 ;LED STATUS ON


MOVLW H'01' ;LEE VALOR 01
MOVWF MODE ;GUARDA 01 EN MODE
; MOVLW H'03' ;LEE VALOR 03
; CALL RDEEPROM ;LEE DIRECCION 03 DE LA EEPROM
; BTFSS STATUS,Z ;VARIABLE IGUAL A CERO??
; GOTO RESET ;NO: RESET AL PIC
GOTO MAIN ;SI: IR A RUTINA PRINCIPAL

DEFAULT CALL DELAY_STEP ;RETARDO DE 100ms


BTFSS PORTA,4 ;SEGURO DE CARGAR VALORES POR DEFECTO
GOTO MAIN ;NO: IR A RUTINA PRINCIPAL
BTFSS PORTA,4 ;SEGURO DE CARGAR VALORES POR DEFECTO
GOTO MAIN ;NO: IR A RUTINA PRINCIPAL
CALL DELAY_STEP ;RETARDO DE 100ms
BTFSS PORTA,4 ;SEGURO DE CARGAR VALORES POR DEFECTO
GOTO MAIN ;NO: IR A RUTINA PRINCIPAL
CALL DELAY_STEP ;RETARDO DE 100ms
BTFSS PORTA,4 ;SEGURO DE CARGAR VALORES POR DEFECTO
GOTO MAIN ;NO: IR A RUTINA PRINCIPAL
CALL DELAY_STEP ;RETARDO DE 100ms
BTFSS PORTA,4 ;SEGURO DE CARGAR VALORES POR DEFECTO
GOTO MAIN ;NO: IR A RUTINA PRINCIPAL
CALL DELAY_STEP ;RETARDO DE 100ms
BTFSS PORTA,4 ;SEGURO DE CARGAR VALORES POR DEFECTO
GOTO MAIN ;NO: IR A RUTINA PRINCIPAL
CALL DELAY_STEP ;RETARDO DE 100ms
BTFSS PORTA,4 ;SEGURO DE CARGAR VALORES POR DEFECTO
GOTO MAIN ;NO: IR A RUTINA PRINCIPAL
CALL DELAY_STEP ;RETARDO DE 100ms
BTFSS PORTA,4 ;SEGURO DE CARGAR VALORES POR DEFECTO
GOTO MAIN ;NO: IR A RUTINA PRINCIPAL
CALL DELAY_STEP ;RETARDO DE 100ms
BTFSS PORTA,4 ;SEGURO DE CARGAR VALORES POR DEFECTO
GOTO MAIN ;NO: IR A RUTINA PRINCIPAL
CALL DELAY_STEP ;RETARDO DE 100ms
BTFSS PORTA,4 ;SEGURO DE CARGAR VALORES POR DEFECTO
C-15

GOTO MAIN ;NO: IR A RUTINA PRINCIPAL


CALL DELAY_STEP ;RETARDO DE 100ms
BTFSS PORTA,4 ;SEGURO DE CARGAR VALORES POR DEFECTO
GOTO MAIN ;NO: IR A RUTINA PRINCIPAL
CALL DFLT_ADD ;SI: CARGA DIRECC POR DEFECTO
CALL DFLT_BPS ;CARGA BPS POR DEFECTO
CALL DFLT_RPTA ;CARGA RETARDO POR DEFECTO
CALL DFLT_RST ;CARGA VARIABLE DE RESET
GOTO RESET ;RESET AL PIC

;********************
;ACTUALIZA MOTOR PA *
;********************

UPDATE_PA MOVLW H'01'


XORWF PORTA,F
CLR_CARRY ;
MOVF POSPA_RX,W ;LEE POS DE MOTOR PA
SUBWF POSPA,W ;COMPARA POSPA_RX CON POSPA
BTFSC STATUS,C ;POSPA_RX > POSPA??
GOTO PA_BACK ;NO: IR A PASO HACIA ATRAZ
GOTO PA_FWD ;SI: IR A PASO HACIA ADELANTE
PA_FWD INCF STEP_PA,F ;INCREMENTA PASO
MOVF STEP_PA,W ;LEE PASO
XORLW H'09' ;COMPARA CON VALOR 09
BTFSC STATUS,Z ;STEP = 09??
GOTO RST_PAFWD ;SI: RST PASO
MOVF STEP_PA,W ;NO: LEE PASO
CALL PA_TABLE ;LEE TABLA CON PASOS
MOVWF PA_TABLE_TMP ;GUARDA PASO
MOVF PORTB,W ;LEE PUERTO B
ANDLW H'F0' ;MASK DATOS DEL MOTOR DE DRIVER
ADDWF PA_TABLE_TMP,W ;SUMA PASOS A PUERTB MASK
MOVWF PORTB ;VALOR AL PORTB
INCF POSPA,F ;INCREMENTA POSICION
CALL DELAY_STEP ;RETARDO DE 100ms
GOTO OUT_PA ;SALE DE RUTINA
RST_PAFWD CLRF STEP_PA ;VAR = 0
GOTO PA_FWD ;SIGUIENTE PASO

PA_BACK DECFSZ STEP_PA,F ;DECREMENTA PASO SKIP SI ES CERO


GOTO PA_BACK2 ;NO: SIGUE
GOTO RST_BACK ;SI: RST PASO
PA_BACK2 MOVF STEP_PA,W ;LEE PASO
CALL PA_TABLE ;LEE TABLA CON PASOS
MOVWF PA_TABLE_TMP ;GUARDA PASO
MOVF PORTB,W ;LEE PORTB
ANDLW H'F0' ;MASK PULSOS DEL MOTOR DE DRIVER
ADDWF PA_TABLE_TMP,W ;SUMA PASOS A PORTB MASK
MOVWF PORTB ;VALOR AL PORTB
DECF POSPA,F ;DECREMENTA POSICION
CALL DELAY_STEP ;RETARDO DE 100ms
GOTO OUT_PA ;SALIR DE RUTINA
RST_BACK MOVLW H'09' ;LEE VALOR 09
MOVWF STEP_PA ;GUARDA NUEVO PASO
GOTO PA_BACK ;SIGUIENTE PASO

OUT_PA MOVF POSPA_RX,W ;LEE POSICION RECIBIDA


XORWF POSPA,W ;COMPARA CON POSICION ACTUAL
BTFSS STATUS,Z ;IGUALES??
RETURN ;NO: REGRESA A RUTINA PRINCIPAL
MOVF PORTB,W ;SI: LEE PORTB
ANDLW H'F0' ;MASK PORTB
MOVWF PORTB ;VALOR AL PORTB
BSF PORTA,0
RETURN ;REGRESA RUTINA PRINCIPAL

;**********************
;ACTUALIZA MOTOR DRV *
;**********************

UPDATE_DRV MOVLW H'01'


XORWF PORTA,F
CLR_CARRY ;
MOVF POSDRV_RX,W ;LEE POSICION RECIVIDA DE DRV
SUBWF POSDRV,W ;COMPARA CON POSICION DE DRV ACTUAL
BTFSC STATUS,C ;POSDRV_RX > POSDRV???
C-16

GOTO DRV_BACK ;NO: PASO HACIA ATRAZ


GOTO DRV_FWD ;SI: PASO HACIA ADELANTE
DRV_FWD INCF STEP_DRV,F ;INCREMENTA PASO
MOVF STEP_DRV,W ;LEE PASO
XORLW H'09' ;COMPARA CON VALOR 09
BTFSC STATUS,Z ;STEP = 09??
GOTO RST_DRVFWD ;SI: RST PASO
MOVF STEP_DRV,W ;NO: LEE PASO
CALL DRV_TABLE ;LEE TABLA CON PULSOS
MOVWF DRV_TABLE_TMP ;GUARDA PULSOS
MOVF PORTB,W ;LEE PORTB
ANDLW H'0F' ;MASK DATOS DEL MOTOR DE PA
ADDWF DRV_TABLE_TMP,W ;SUMA PULSOS CON PORTB MASK
MOVWF PORTB ;VALOR AL PORTB
INCF POSDRV,F ;INCREMENTA POSICION
CALL DELAY_STEP ;RETARDO DE 100ms
GOTO OUT_DRV ;SALE DE RUTINA
RST_DRVFWD CLRF STEP_DRV ;RST PASO
GOTO DRV_FWD ;SIGUIENTE PASO

DRV_BACK DECFSZ STEP_DRV,F ;DECREMENTA PASO SKIP SI ES CERO


GOTO DRV_BACK2 ;NO: SIGUE
GOTO RST_DRVBACK ;SI: RESET PASO
DRV_BACK2 MOVF STEP_DRV,W ;LEE PASO
CALL DRV_TABLE ;LEE TABLA CON PULSOS
MOVWF DRV_TABLE_TMP ;GUARDA PULSOS
MOVF PORTB,W ;LEE PORTB
ANDLW H'0F' ;MASK PULSOS DEL MOTOR DE PA
ADDWF DRV_TABLE_TMP,W ;SUMO PULSOS DEL MOTOR DRV
MOVWF PORTB ;VALOR AL PORTB
DECF POSDRV,F ;DECREMENTEO POSICION
CALL DELAY_STEP ;RETARDO DE 100ms
GOTO OUT_DRV ;SALE DE RUTINA
RST_DRVBACK MOVLW H'09' ;LEO VALOR 09
MOVWF STEP_DRV ;STEP=09
GOTO DRV_BACK ;SIGUIENTE PASO

OUT_DRV MOVF POSDRV_RX,W ;LEO POS DE DRV RECIBIDA


XORWF POSDRV,W ;COMPARO CON POSICION ACTUAL
BTFSS STATUS,Z ;IGUALES?
RETURN ;NO: REGRESA A RUTINA PRINCIPAL
MOVF PORTB,W ;SI: LEO PORTB
ANDLW H'0F' ;MASK PULSOS DE MOTOR PA
MOVWF PORTB ;VALOR AL PORTB
BSF PORTA,0
RETURN ;REGRESA A RUTINA PRINCIPAL

;****************************************
;RETARDO ENTRE PASOS IGUAL A DE 100 ms *
;****************************************

DELAY_STEP MOVLW H'82'


MOVWF CONT_4
MOVLW H'FF'
MOVWF CONT_3
LOOP_STEP DECFSZ CONT_3,F
GOTO LOOP_STEP
DECFSZ CONT_4,F
GOTO LOOP_STEP
RETURN

END
ANEXO D

Programa del PLC

En este anexo se muestra el diagrama escalera del programa de aplicación modificado, el


cual ha sido escrito con el metodo RLLPLUS (Stage Programming) utilizando el software
DirectSOFT32 Programming para Windows.
D-2

Programa desarrollado para el Indicaciones luminosas de activacion de ALARMAS


CONTROL DEL RADAR DEL ROJ
Febrero del 2003 (Universidad de Piura) Piura_Perú
Version 1.20 Alarm Tx1 _1Second Luz_Tx1 on
B7030.2 SP4 Y340
*************************************************************************************************7 OUT

Ultima modificación: 30 de Agosto 2005 ( Radio Observatorio


Jicamarca) Lima_Perú
Juan C Espinoza Alarm Tx2 _1Second Luz_Tx2 on
Version 1.30 B7030.3 SP4 Y341
***************************************************************************************************
8 OUT

Parametros de Inicializacion Alarm Tx3 _1Second Luz_Tx3 on


B7030.4 SP4 Y342
9 OUT
_FirstScan
SP0 K1
1 GTS

Alarm Tx4 _1Second Luz_Tx4 on


Todos los procedimientos esperan 1seg despues de A B7030.5 SP4 Y343
energizado o reiniciado el sistema 10 OUT
_On Aux inicializa
SP1 C500
2 A

Alarm Sys Enfria _1Second


B7031.4 SP4
A 11

TMR A
Tmr start
T300 Luz_Sis Enfr on
Y344
K10 OUT

Tmr start Aux inicializa Alarm HV _1Second Luz_HV on


T300 C500 B7030.6 SP4 Y345
3 SET 12 OUT

Se inician rutinas de Mediciones analogicas: S30, S31, S32, A


S40 y S41
Alarm Blw R _1Second
Aux inicializa Medicion FM1 B7030.12 SP4
C500 S30 13
4 SET
A
Medicion FM2
S31 Luz_BlowR on
SET Y346
OUT
Medicion HV
S32
SET A

Medicion V Linea Alarm Blw L _1Second


S33 B7030.11 SP4
SET 14

Medidas TX #8 A
S40
SET Luz_BlowL on
Y347
Medidas TXs #9 OUT
S41
SET
A
Se determina la rutina de comunicacion MODBUS AlarmaFUSIBLES _1Second
B7030.15 SP4
Enable_MB Modbus 15
C100 S26
5 SET A
Polling Luz_LV on
S24 Y353
RST OUT

Enable_MB Polling
C100 S24
6 SET

Modbus
S26
RST
D-3

Reset ALARMAS A
---------------------------

"Los parametros BXXXX.XX son para intercambio de datos Fus Mod23 (2A) AlarmFUSMOD23
con el SCADA en PC" X136 B7031.15
23 SET
Se ponen a cero todos los bits de alarma

_FirstScan
SP0
16 Fus LP (6 A) OK FUS LP
X137 B7033.14
Acep Alrm Man Rem/Loc Man 24 OUT
X121 X120

Reset BIT Rem/Loc Man


B7050.0 X120 Fus LP (6 A) AlarmFUSLP
X137 B7030.14
25 SET

OK FUS M15 OK FUS M22 OK FUS M23


B7034.13 B7034.14 B7034.15
26

A A

OK FUS LP OKFUSIBLES
B7033.14 B7033.15
OUT

LD
Fus Mod15 (2A) AlarmaFUSIBLES
K0 X134 B7030.15
27 SET
OUT
Bits ALARMAS 1 Fus Mod22 (2A)
V7030 X135

OUT
Bits ALARMAS2 Fus Mod23 (2A)
V7031 X136

OUT
Bits ALARMAS 3 Fus LP (6 A)
V7032 X137

Reset alarmas
B7027.0
RST Apagado remoto de PA's (SE DA UN PULSO DE APAGADO
EN SERIE CON EL BOTON
DE APAGADO DEL TRANSMISOR)
Condiciones que deben verificarse siempre ___________________________________________________
_______________________________

PUERTAS CERRADAS PA1 Aux OFF Rem TX1


S14 C74
Puertas OK Door close OK 28 RST
X261 B7034.10
17 OUT

FUSIBLES OPERATIVOS PA1 Aux OFF Rem TX1


S14 C74
Fus Mod15 (2A) OK FUS M15 29 SET
X134 B7034.13
18 OUT

Aux OFF Rem TX1 TMR


C74 Tmr OFF PA1
Fus Mod15 (2A) AlarmFUSMOD15 30 T74
X134 B7031.13
19 SET
K10

Fus Mod22 (2A) OK FUS M22 Tmr OFF PA1 Aux OFF Rem TX1
X135 B7034.14 T74 C74
20 OUT 31 RST

No permite conectar PA1 mientras el caudal de agua este


bajo
Fus Mod22 (2A) AlarmFUSMOD22 Aux OFF Rem TX1 PA1 OFF
X135 B7031.14 C74 Y354
21 SET 32 OUT

FMI1
Y544
Fus Mod23 (2A) OK FUS M23
X136 B7034.15
22 OUT
D-4

PA2

PA2 Aux OFF Rem Tx2


S16 C75
33 RST

DRV3 DR3OFF_AUX
S21 C1045
46 SET
PA2 Aux OFF Rem Tx2
S16 C75
34 SET

DR3OFF_AUX TMR
C1045 Tmr OFF DRV3
47 T102
Aux OFF Rem Tx2 TMR
C75 Tmr OFF PA2
35 K10
T75

K10
Tmr OFF DRV3 DR3OFF_AUX
T102 C1045
48 RST
Tmr OFF PA2 Aux OFF Rem Tx2
T75 C75
36 RST

DR3OFF_AUX DR3_OFF
No permite conectar PA2 mientras el caudal de agua este C1045 Y246
bajo 49 OUT
Aux OFF Rem Tx2 PA2 OFF
C75 Y355
37 OUT PA4

FMI2 PA4 Aux OFF Rem TX4


Y545 S22 C77
50 RST

PA3

DR3 LOC/REM DR3 Loc/Rem BIT PA4 Aux OFF Rem TX4
X145 B7040.3 S22 C77
38 OUT 51 SET

PA3 LOC/REM PA3 Loc/Rem BIT Aux OFF Rem TX4 TMR
X144 B7040.0 C77 Tmr OFF PA4
39 OUT 52 T77

K10

PA3 Aux OFF Rem TX3


S20 C76
40 RST Tmr OFF PA4 Aux OFF Rem TX4
T77 C77
53 RST

PA3 Aux OFF Rem TX3 No permite conectar PA4 mientras el caudal de agua este
S20 C76 bajo
41 SET Aux OFF Rem TX4 PA4 OFF
C77 Y357
54 OUT

FMI4
Aux OFF Rem TX3 TMR Y547
C76 Tmr OFF PA3
42 T76

K10

ISG
Start Stage
S0
Tmr OFF PA3 Aux OFF Rem TX3
T76 C76
43 RST SELECCION DEL MODO DE
FUNCIONAMIENTO DEL PLC:
LOCAL DESDE EL PANEL O
No permite conectar PA3 mientras el caudal de agua este REMOTO DESDE EL PC
bajo ---------------------------------------------------
Aux OFF Rem TX3 PA3 OFF
C76 Y356 Rem/Loc Man Bit Rem/Loc
44 OUT X120 B7025.0
56 SET
FMI3
Y546
A

Rem/Loc Man Ctrl Test Mode B


APAGADO DRIVER3 X120 B7007.0
57
DRV3 DR3OFF_AUX
S21 C1045
45 RST
D-5

Bit Rem/Loc
B7025.0 Tmr OFF Automati Aux OFF Automati
RST T302 C20
62 RST

SELECCION MODO PRUEBA O A ON TX1 Man


MODO OPERACION X100

------------------------------------------------------------------------------
ON Tx2 Man
X102
MODO PRUEBA (Solo posible desde el PC. En S100 se
Rem/Loc Man Ctrl Test Mode B
X120 B7007.0 ON Tx3 Man
58 X104

A
ON Tx4 Man
X106

ON Enfr Man
X110
AlarmaFUSIBLES PRUEBA
B7030.15 S100
JMP ON LV
X124

BAJA TENSION NECESARIA PARA EL FUNCIONAMIENTO A


DEL SISTEMA TOTAL
ON LV Rem/Loc Man A
X124 X120
59
Transmisores
Control 110V BIT Rem/Loc Man -----------------
B7001.0 X120
TX1

A B
ON TX1 Man Rem/Loc Man PA1
AlarmaFUSIBLES LV X100 X120 S14
B7030.15 S4 63

Control TX1 BIT Rem/Loc Man


B7002.0 X120

A B
B

Control 110V BIT


B7001.0
SET

LV
S4
SET Alarm Tx1 HV AlarmaFUSIBLES
B7030.2 S11 B7030.15

ACTIVA SECUENCIA DE APAGADO AUTOMATICO A


_________________________________________

Cooling LV HV
S1 S4 S11
60

A B

OFF Enfr Man


X111

Rem/Loc Man System OFF BIT


X120 B7052.0

Aux OFF Automati


C20
SET

Aux OFF Automati TMR


C20 Tmr OFF Automati
61 T302

K6000
D-6

B
TX3 A

ON Tx3 Man Rem/Loc Man PA3


X104 X120 S20
65

Control TX3 BIT Rem/Loc Man


B7004.0 X120
LV Aux Q LPT Tx1
S4 C710
RST A B

Aux Q HPT Tx1 Alarm Tx3 HV AlarmaFUSIBLES


C711 B7030.4 S11 B7030.15
RST

Enclave LP Tx1 B
C720
RST LV Aux Q LPT Tx3
S4 C714
Enclave HP Tx1 RST
C730
RST Aux Q HPT Tx3
C715
Confirma Tx1 RST
B7033.2
RST Enclave LP Tx3
C722
OK Q LP Tx1 RST
B7035.1
RST Enclave HP Tx3
C732
OK Q HP Tx1 RST
B7035.2
RST Confirma Tx3
B7033.4
Control TX1 BIT RST
B7002.0
SET OK Q LP Tx3
B7035.5
PA1 RST
S14
SET OK Q HP Tx3
B7035.6
RST
TX2 A
Control TX3 BIT
B7004.0
ON Tx2 Man Rem/Loc Man PA2 SET
X102 X120 S16
64 PA3
S20
Control TX2 BIT Rem/Loc Man SET
B7003.0 X120
DRV3
S21
A B SET

Alarm Tx2 HV AlarmaFUSIBLES TX4 A


B7030.3 S11 B7030.15
ON Tx4 Man Rem/Loc Man PA4
X106 X120 S22
B 66

Control TX4 BIT Rem/Loc Man


LV Aux Q LPT Tx2 B7005.0 X120
S4 C712
RST
A B
Aux Q HPT Tx2
C713 Alarm Tx4 HV AlarmaFUSIBLES
RST B7030.5 S11 B7030.15

Enclave LP Tx2
C721
RST

Enclave HP Tx2
C731
RST

Confirma Tx2
B7033.3
RST

OK Q LP Tx2
B7035.3
RST

OK Q HP Tx2
B7035.4
RST

Control TX2 BIT


B7003.0
SET

PA2
S16
SET
D-7

B B

LV Aux Q LPT Tx4


S4 C716 Ctrl RightBlw BI
RST B7014.0
SET
Aux Q HPT Tx4
C717 Blw R
RST S2
SET
Enclave LP Tx4
C723
RST Arranque sistema de enfriamiento A
---------------------------------------------
Enclave HP Tx4
C733 ON Enfr Man Rem/Loc Man Alarm Sys Enfria
RST X110 X120 B7031.4
69
Confirma Tx4
B7033.5 Sis Enfr ON Rem/Loc Man
RST B7021.0 X120

OK Q LP Tx4
B7035.7 A B
RST

OK Q HP Tx4 Cooling AlarmaFUSIBLES


B7035.8 S1 B7030.15
RST

Control TX4 BIT


B7005.0
SET

PA4
S22
SET

Arranque Blower Izquierdo A


---------------------------------

ON Blw L Man Rem/Loc Man Alarm Blw L


X116 X120 B7030.11
67

Ctrl LeftBlw BIT Rem/Loc Man


B7013.0 X120

A B

Blw L AlarmaFUSIBLES
S3 B7030.15

B Aux TON LP
C305
RST
Ctrl LeftBlw BIT
B7013.0 Aux TON HP
SET C306
RST
Blw L
S3 Aux TON RW
SET C307
RST

Arranque Blower Derecho A Aux Sis_Enfr ON


--------------------------------- C501
RST
ON BlwR Man Rem/Loc Man Alarm Blw R
X114 X120 B7030.12 Sis Enfr ON
68 B7021.0
SET
Ctrl RightBlw BI Rem/Loc Man
B7014.0 X120 LV
S4
SET
A B
Control 110V BIT
B7001.0
Blw R AlarmaFUSIBLES SET
S2 B7030.15
Cooling
S1
SET
D-8

Confirmacion LISTO para entrar HV A


____________________________
Ok RW Conf Enfria OK
X300 B7034.4 PA1 PA1 PA2
70 RST S14 S14 S16
73
Ok HP
X301 PA2 Interlock TX1 Interlock TX2
S16 X313 X314

Ok LP1
X302 PA3
S20

Arranque secuencia HV A PA4


--------------------------------- S22
--------------------------------

ON HV Man Rem/Loc Man A B


X112 X120
71
PA3 PA4 LV
Control HV BIT Rem/Loc Man S20 S22 S4
B7006.0 X120

Interlock TX3 Interlock TX4


A X315 X316

B C
AlarmaFUSIBLES Aux2_ON HV
B7030.15 C411
OUT Conf Enfria OK Alarm HV AlarmaFUSIBLES
B7034.4 B7030.6 B7030.15

A Aux Listo HV
C10
PA1 PA1 PA2 OUT
S14 S14 S16
72
Activacion de RF A
PA2 Interlock TX1 Interlock TX2 -------------------------
S16 X313 X314 ------------------------

PA1 PA1 PA2


PA3 S14 S14 S16
S20 74

PA2 V Screm TX1 OK V Screm TX2 OK


PA4 S16 X360 X361
S22

PA3
A B S20

PA3 PA4 LV
S20 S22 S4 PA4
S22

Interlock TX3 Interlock TX4


X315 X316 A B

B C
PA3 PA4
HV Conf Enfria OK Alarm HV S20 S22
S11 B7034.4 B7030.6

V Screm TX3 OK V Screm TX4 OK


C X400 X401

Aux2_ON HV Aux ON HV
C411 C400 B C
RST

Aux Rs Pri. HV
C402 RF Permin Man Rem/Loc Man
RST X122 X120
Aux R Charg HV
C403 RF_ Permit Rem/Loc Man
RST B7026.0 X120
Control HV BIT
B7006.0 C D
SET

HV
S11 Conf Enfria OK HV LV
SET B7034.4 S11 S4
D-9

D E
Arranque Bomba LP Despues de 43 S de iniciada secuencia

Aux TON LP
RF Permit Alarm RF Permit AlarmaFUSIBLES TA15 K430 C305
S10 B7031.12 B7030.15 80 SET

Aux TON LP Alarm LP1 Alarm LP2


C305 B7030.8 B7030.13
E 81

RF_ Permit LP
B7026.0 Y522
SET OUT

RF Permit
S10 Vigila confirmacion de los contactores de las LPs
SET
Ok LP1 Confirma LP1
X302 B7033.8
Confirmacion LISTO para entrar RF A 82 OUT
____________________________

PA1 PA1 PA2


S14 S14 S16
75 Ok LP1 LP TMR
X302 Y522 Tmr Falla LP
PA2 V Screm TX1 OK V Screm TX2 OK 83 T41
S16 X360 X361
K30
PA3 Ok LP2
S20 X303

PA4
S22 Alarma por fallo de arranque de Bomba LP1

Tmr Falla LP Ok LP1 Alarm LP1


A B T41 X302 B7030.8
84 SET

PA3 PA4 LV Alarm Sys Enfria


S20 S22 S4 B7031.4
SET

V Screm TX3 OK V Screm TX4 OK


X400 X401 Alarma por fallo de arranque de Bomba LP2

Tmr Falla LP Ok LP2 Alarm LP2


B C T41 X303 B7030.13
85 SET

Conf Enfria OK HV Alarm RF Permit Alarm Sys Enfria


B7034.4 S11 B7031.12 B7031.4
SET

C
Tiempo que deja funcionando el resto del sistema para dejar
enfriar a los tubos
AlarmaFUSIBLES Aux Listo RF Alarm LP1 TMR
B7030.15 C11 B7030.8 Tmr Apaga S_E LP
OUT 86 T70

K6000
Alarm LP2
SG B7030.13
Cooling
S1

Apaga el sistema de enfriamiento una vez cumplido el tiempo


Indicacion de encendido del Sistema de enfriamiento de espera
Tmr Apaga S_E LP Sis Enfr ON
_On Luz_Sis Enfr on T70 B7021.0
SP1 Y344 87 RST
77 OUT
Cooling
S1
Tiempo total de arranque 83 segundos RST

Aux Sis_Enfr ON TMR Arranque Bomba HP despues de 56 S de iniciada secuencia


C501 TOn Enfriam
78 T15 Aux TON HP
TA15 K560 C306
K830 88 SET

A
TOn Enfriam Aux Sis_Enfr ON Aux TON HP Alarm HP
T15 C501 C306 B7030.9
79 SET 89
D-10

A
Tiempo de espera antes de apagado
HP
Y521 Alarm RW TMR
OUT B7030.10 Tmr Apaga S_E RW
100 T72

K6000
Ok HP Confirma HP
X301 B7033.9
90 OUT
Tmr Apaga S_E RW Sis Enfr ON
T72 B7021.0
Vigila que este cerrado el contactor de HP 101 RST

Ok HP HP TMR Cooling
X301 Y521 Tmr Falla HP S1
91 T42 RST

K30
Arranque de los Exchangers A

Alarma por falla en el funcionamiento y arranque de bomba Exhanger 1


HP
Tmr Falla HP Alarm HP T 100F
T42 B7030.9 TA15 K40 X270
92 SET 102

Alarm Sys Enfria Aux Sis_Enfr ON


B7031.4 C501
SET

A
Tiempo de espera antes de apagar el sistema de enfriamieto
para proteccion del tubo
Alarm HP TMR
B7030.9 Tmr Apaga S_E HP Alarm Exch1 Exch 1
93 T71 B7031.0 Y526
OUT
K6000

OK Exch1 Exch 1 TMR


Tmr Apaga S_E HP Sis Enfr ON X306 Y526 Tmr Falla Exch1
T71 B7021.0 103 T10
94 RST

Cooling K30
S1
RST

Tmr Falla Exch1 Alarm Exch1


Arranque de la bomba RW despues de 83 S de iniciada T10 B7031.0
secuencia 104 SET
Aux TON RW
TA15 K830 C307
95 SET

OK Exch1 Confirma Exch1


A X306 B7034.0
105 OUT
Aux TON RW Alarm RW
C307 B7030.10
96 Exchanger 2 A

A T105F
TA15 K60 X271
RW 106
Y520
OUT Aux Sis_Enfr ON
C501

A
Ok RW Confirma RW
X300 B7033.10 Alarm Exch2 Exch 2
97 OUT B7031.1 Y527
OUT

Ok RW RW TMR
X300 Y520 Tmr Falla RW Ok Exch2 Exch 2 TMR
98 T43 X307 Y527 Tmr Falla Exch2
107 T11
K30
K30
Paro por falla en arranque de bomba RW

Tmr Falla RW Alarm RW


T43 B7030.10 Tmr Falla Exch2 Alarm Exch2
99 SET T11 B7031.1
108 SET
Alarm Sys Enfria
B7031.4
SET
D-11

Secuencia de Apagado A
Ok Exch2 Confirma Exch2
X307 B7034.1 OFF Enfr Man Rem/Loc Man
109 OUT X111 X120
119

Exchanger 3 A Sis Enfr ON Rem/Loc Man


B7021.0 X120
T110F
TA15 K80 X272
110 Tmr OFF Automati
T302
Aux Sis_Enfr ON
C501
A

A Aux OFF Automati Sis Enfr ON


C20 B7021.0
Alarm Exch3 Exch 3 RST
B7031.2 Y530
OUT Cooling
S1
RST

Ok Exch 3 Exch 3 TMR


X310 Y530 Tmr Falla Exch3
111 T12

K30

SG
Blw R
S2
Tmr Falla Exch3 Alarm Exch3
T12 B7031.2
112 SET Indicacion de encendido Blower Derecho

_On Luz_BlowR on
SP1 Y346
121 OUT
Ok Exch 3 Confirma EXch3
X310 B7034.2
113 OUT

Alarm Blw R Blower R


Exchanger 4 A B7030.12 Y524
122 OUT
T115F
TA15 K100 X273
114

Aux Sis_Enfr ON Ok Blw R Confirma BlwR


C501 X305 B7033.12
123 OUT

A
Apagado falla
Alarm Exch4 Exch 4
B7031.3 Y531
OUT Ok Blw R Blower R TMR
X305 Y524 Tmr Falla BlwR
124 T45

Ok Exch 4 Exch 4 K20


TMR
X311 Y531 Tmr Falla Exch4
115 T13

K30 Tmr Falla BlwR Alarm Blw R


T45 B7030.12
125 SET

Ctrl RightBlw BI
Tmr Falla Exch4 Alarm Exch4 B7014.0
T13 B7031.3 RST
116 SET
Blw R
S2
RST
Ok Exch 4 Confirma Exch4
X311 B7034.3 Apagado normal A
117 OUT

Ctrl RightBlw BI Rem/Loc Man


OK del sistema de enfriamiento A B7014.0 X120
126
Ok RW Ok HP Ok LP1 Ok LP2 OFF Blw R Man Rem/Loc Man
X300 X301 X302 X303 X115 X120
118

A Aux OFF Automati


C20
Conf Enfria OK
B7034.4
OUT
D-12

A Apagado por falla de fusibles

AlarmaFUSIBLES Ctrl LeftBlw BIT


Ctrl RightBlw BI B7030.15 B7013.0
B7014.0 135 RST
RST
Blw L
Blw R S3
S2 RST
RST

Apagado por falla de fusibles


SG
AlarmaFUSIBLES Ctrl RightBlw BI LV
B7030.15 B7014.0 S4
127 RST

Blw R Conecta contactores de potencia para alimentar el sistema en


S2 BT
RST _On LV TXs
SP1 Y534
137 OUT

LV Otros
SG Y535
Blw L OUT
S3
Luz_LV on
Y353
Indicacion de encendido del Blower Izquierdo OUT

_On Luz_BlowL on Confirma 110V


SP1 Y347 B7033.1
129 OUT OUT

Apagado general A

Alarm Blw L Blower L OFF LV Rem/Loc Man


B7030.11 Y525 X125 X120
130 OUT 138

Control 110V BIT Rem/Loc Man


B7001.0 X120

Ok Blw L Confirma Blw L


X304 B7033.11 Sis Enfr ON Rem/Loc Man
131 OUT B7021.0 X120

Apagado por falla Tmr OFF Automati


T302
Ok Blw L Blower L TMR
X304 Y525 Tmr Falla BlwL
132 T44 A

K20 Aux OFF Automati Control 110V BIT


C20 B7001.0
RST

LV
Tmr Falla BlwL Alarm Blw L S4
T44 B7030.11 RST
133 SET

Ctrl LeftBlw BIT


B7013.0
RST

Blw L
S3
RST

Apagado normal A
SG
Ctrl LeftBlw BIT Rem/Loc Man
RF Permit
B7013.0 X120
S10
134

OFF BlwL Man Rem/Loc Man Indicador de RF Permit conectado


X117 X120
_On Luz_RF Permit
SP1 Y351
Aux OFF Automati 140 OUT
C20
Out RF Permit
Y556
A OUT

Ctrl LeftBlw BIT


B7013.0
RST
Out RF Permit RF PErmit OK
Blw L Y556 B7034.12
S3 141 OUT
RST
D-13

Apagado normal A A

RF Permin Man Rem/Loc Man PA4 RF_ Permit


X122 X120 S22 B7026.0
142 RST

RF_ Permit Rem/Loc Man RF Permit


B7026.0 X120 S10
RST

RF_ Permit
B7026.0
RST

RF Permit
S10
RST

Apagado por falla en otras partes del sistema

Alarm LP1 RF_ Permit


B7030.8 B7026.0
143 RST

Alarm LP2 RF Permit


B7030.13 S10
RST

Alarm HP
B7030.9

Alarm RW
B7030.10

LV
S4
SG
HV
HV S11
S11

Indicacion de encendido de la Alta Tension (HV)


Rem HV OFF
X260 _On Luz_HV on
SP1 Y345
146 OUT
AlarmaFUSIBLES
B7030.15
Funcionamiento Normal A
--------------------------------------
Inicialmente desconecta resistencias de descarga de HV y
Apagado por falla en los transmisores A conecta rele auxiliar de apagado que esta normalmente
cerrado
PA1 PA2 PA3
S14 S16 S20 Puertas OK Alarm HV
144 X261 B7030.6
147
V Screm TX1 OK
X360

V Screm TX2 OK
X361 A

V Screm TX3 OK
X400

6Rs Descarga HV
V Screm TX4 OK Y555
X401 OUT

_OFF HV
Alarm Tx1 Y533
B7030.2 OUT

Alarm Tx2 Generacion de pulso para conexion de rele HV A


B7030.3 (Se esperan 5s despues de desconectar las resistencias de
descarga para garantizar
estas esten abiertas. Luego se da un pulso de 1s a la bobina
Alarm Tx3 de encendido del interruptor
B7030.4 de HV)
6Rs Descarga HV Aux ON HV
Y555 C400
Alarm Tx4 148
B7030.5
D-14

A Secuencia OK A

HV OK Aux R Charg HV Alarm HV


X262 C403 B7030.6
156

TMR A
TOn HV
T40 Confirma HV
B7033.6
OUT
K60

Apagado por fallas


-----------------------------
TOn HV Aux ON HV
T40 C400 Apagado del sistema por pulsador remoto o por puertas
149 SET abiertas

Rem HV OFF Alarm Remote Off


Pulso de conexion al interruptor de HV A X260 B7031.9
Igual a T40 menos 1 segundo 157 SET

Aux ON HV Alarm HV Alarm HV


C400 B7030.6 B7030.6
150 SET

A HV
S11
RST
ON HV
TA40 K50 Y532
OUT

Puertas OK Alarm Puertas


Desconecta los dos grupos restantaes de Resistencias HV A X261 B7031.10
luego de recibir señal que el 158 SET
interruptor de HV esta cerrado (en 5s las resistencias en serie
con el primario y luego de Alarm HV
15s las resistencias de limitacion de carga) B7030.6
HV OK Aux R Charg HV SET
X262 C403
151 HV
S11
RST

A
Apagado por sobre corriente

HV Over load Alr HV Over Load


X263 B7031.11
TMR 159 SET
R Pri y Charg HV
T21 Alarm HV
B7030.6
K150 SET

HV
Cortocircuita resistencias primarias luego de 5s de señal HV S11
OK RST
Aux Rs Pri. HV
TA21 K50 C402
152 SET

Aux Rs Pri. HV Alarm HV


C402 B7030.6
153

3Rs Primarias HV
Y553
OUT

Cortocircuita resistencia de carga luego de 15 segundos de


señal HV OK
R Pri y Charg HV Aux R Charg HV
T21 C403
154 SET

Aux R Charg HV Alarm HV


C403 B7030.6
155

R de Carga HV
Y554
OUT
D-15

Apagado por falla en otras partes del sistema A A

PA1 PA2 PA3 PA4 Control HV BIT


S14 S16 S20 S22 B7006.0
160 RST

Interlock TX1 HV
X313 S11
RST

Interlock TX2
X314

Interlock TX3
X315

Interlock TX4
X316

Alarm LP1
B7030.8

Alarm LP2
B7030.13

Alarm HP
B7030.9

Alarm RW
B7030.10

LV
S4

AlarmaFUSIBLES
B7030.15

Rem HV OFF
X260

Puertas OK
X261

HV Over load
X263

Apagado Normal del sistema de HV A


--------------------------------------------------------

Control HV BIT Rem/Loc Man


B7006.0 X120
161

OFF HV Man Rem/Loc Man


X113 X120

Aux OFF Automati


C20

Control HV BIT
B7006.0
RST

HV
S11
RST

SG
PA1
S14

Indicacion de encendido del TX1

_On Luz_Tx1 on
SP1 Y340
163 OUT
D-16

Medicion de Caudales A A

LP

FM Tx1 LP Q Bajo LP Tx1 Aux Q HP Tx1


V2042 V3001 C701
164 OUT

Aux Q HP Tx1 Aux Q HPT Tx1


Aux Q LP Tx1 C701 C711
C700 171 SET
OUT

Aux Q HPT Tx1 Enclave HP Tx1


Aux Q LP Tx1 Aux Q LPT Tx1 C711 C730
C700 C710 172
165 SET

A A

Aux Q LPT Tx1 Enclave LP Tx1 TMR


C710 C720 Tmr HP Tx1
166 T60

K50
A

TMR
Tmr LP Tx1 Tmr HP Tx1 Enclave HP Tx1
T50 T60 C730
173 SET
K30
OK Q HP Tx1
B7035.2
SET

Tmr LP Tx1 Enclave LP Tx1


T50 C720 A
167 SET
Enclave HP Tx1 FM Tx1 HP Q Bajo HP Tx1
OK Q LP Tx1 C730 V2040 V3004
B7035.1 174
SET

A A

Enclave LP Tx1 FM Tx1 LP Q Bajo LP Tx1 TMR


C720 V2042 V3001 Tmr Low HP TX1
168 T64

K50
A
Reset por BAJO Caudal
TMR
Tmr Low LP TX1 Tmr Low HP TX1 OK Q HP Tx1
T54 T64 B7035.2
175 RST
K50
Alarm HP Low Tx1
B7032.3
Reset por BAJO Caudal de LP SET

Tmr Low LP TX1 OK Q LP Tx1 Alarm Tx1


T54 B7035.1 B7030.2
169 RST SET

Alarm LP Low Tx1 Control TX1 BIT


B7032.1 B7002.0
SET RST

Alarm Tx1 PA1


B7030.2 S14
SET RST

Control TX1 BIT


B7002.0 Conectar K16 cuando flujo de agua OK A
RST
Enclave LP Tx1 Enclave HP Tx1
PA1 C720 C730
S14 176
RST
A

A FMI1
Y544
HP OUT
FM Tx1 HP Q Bajo HP Tx1
V2040 V3004 Conecta K12 cuando HV esta OK
170
HV OK FMI1 PPA1
X262 Y544 Y540
177 OUT
D-17

NOTA: No hay medicion de LP pues el medidor esta fuera de A


Leer OK TX funcionamiento
___________________________________________________
Interlock TX1 Interlock_TX1 OK
X313 B7034.5
178 OUT FM Tx2 HP Q Bajo HP Tx2
V2044 V3014
185

A
Interlock TX1 Confirma Tx1
X313 B7033.2
179 SET

Aux Q HP Tx2
Apagado por falla de TX1 C703
OUT

Interlock TX1 Alarm Intrlk TX1


X313 B7031.5
180 SET
Aux Q HP Tx2 Aux Q HPT Tx2
Alarm Tx1 C703 C713
B7030.2 186 SET
SET
OK Q HP Tx2
Confirma Tx1 B7035.4
B7033.2 SET
RST

Control TX1 BIT A


B7002.0
RST Aux Q HPT Tx2 Enclave HP Tx2
C713 C731
PA1 187
S14
RST

A
Apagado normal de TX1 A
TMR
OFFTX1 Man Rem/Loc Man Tmr HP Tx2
X101 X120 T61
181

Control TX1 BIT Rem/Loc Man K50


B7002.0 X120

Aux OFF Automati Tmr HP Tx2 Enclave HP Tx2


C20 T61 C731
188 SET

A Enclave LP Tx2
C721
Control TX1 BIT SET
B7002.0
RST OK Q HP Tx2
B7035.4
Confirma Tx1 SET
B7033.2
RST OK Q LP Tx2
B7035.3
PA1 SET
S14
RST
A

Apagado por falla de fusibles Enclave HP Tx2 FM Tx2 HP Q Bajo HP Tx2


y LV C731 V2044 V3014
______________________ 189

AlarmaFUSIBLES Control TX1 BIT


B7030.15 B7002.0
182 RST A

LV Confirma Tx1
TMR
S4 B7033.2
Tmr Low HP TX2
RST
T65
PA1
S14 K50
RST

SG
PA2
S16

Indicacion de encendido del TX2

_On Luz_Tx2 on
SP1 Y341
184 OUT
D-18

Reset por BAJO Caudal A

Tmr Low HP TX2 OK Q HP Tx2


T65 B7035.4 Control TX2 BIT
190 RST B7003.0
RST
OK Q LP Tx2
B7035.3 Confirma Tx2
RST B7033.3
RST
Alarm HP Low Tx2
B7032.7 PA2
SET S16
RST
Alarm LP Low Tx2
B7032.5
SET Apagado por falla de fusibles
y LV
Alarm Tx2 ______________________
B7030.3
SET AlarmaFUSIBLES Control TX2 BIT
B7030.15 B7003.0
Control TX2 BIT 197 RST
B7003.0
RST LV Confirma Tx2
S4 B7033.3
PA2 RST
S16
RST PA2
S16
RST
Conectar K16 cuando flujo de agua OK A

Enclave LP Tx2 Enclave HP Tx2


C721 C731
191 SG
PA3
A S20
FMI2
Y545 Indicacion de encendido del TX3
OUT
_On Luz_Tx3 on
SP1 Y342
Conecta K12 cuando LV esta OK 199 OUT

HV OK FMI2 PPA2
X262 Y545 Y541 Medicion de Caudales A
192 OUT
LP

Leer OK TX FM Tx3 LP Q Bajo LP Tx3


V2052 V3021
Interlock TX2 Interlock_TX2 OK 200
X314 B7034.6
193 OUT A

Aux Q LP Tx3
Interlock TX2 Confirma Tx2 C704
X314 B7033.3 OUT
194 SET

Apagado por falla de TX2


Aux Q LP Tx3 Aux Q LPT Tx3
Interlock TX2 Alarm Intrlk TX2 C704 C714
X314 B7031.6 201 SET
195 SET

Alarm Tx2 A
B7030.3
SET Aux Q LPT Tx3 Enclave LP Tx3
C714 C722
Confirma Tx2 202
B7033.3
RST

Control TX2 BIT A


B7003.0
RST
TMR
Tmr LP Tx3
PA2
T52
S16
RST
K50

Apagado normal de TX2 A

Tmr LP Tx3 Enclave LP Tx3


OFF Tx2 Man Rem/Loc Man T52 C722
X103 X120 203 SET
196
OK Q LP Tx3
Control TX2 BIT Rem/Loc Man B7035.5
B7003.0 X120 SET

Aux OFF Automati


C20
D-19

A A

Enclave LP Tx3 FM Tx3 LP Q Bajo LP Tx3 TMR


C722 V2052 V3021 Tmr Low HP TX3
204 T66

K50
A
Reset por BAJO Caudal
TMR
Tmr Low LP TX3 Tmr Low HP TX3 OK Q HP Tx3
T56 T66 B7035.6
211 RST
K50
Alarm HP Low Tx3
B7032.11
Reset por BAJO Caudal en LP SET

Tmr Low LP TX3 OK Q LP Tx3 Control TX3 BIT


T56 B7035.5 B7004.0
205 RST RST

Alarm LP Low Tx3 Confirma Tx3


B7032.9 B7033.4
SET RST

Control TX3 BIT PA3


B7004.0 S20
RST RST

Confirma Tx3
B7033.4 Conectar K16 cuando flujo de agua OK A
RST
Enclave LP Tx3 Enclave HP Tx3
PA3 C722 C732
S20 212
RST
A

A FMI3
Y546
HP OUT

FM Tx3 HP Q Bajo HP Tx3


V2050 V3024 Conecta K12 cuando LV esta OK
206
HV OK FMI3 PPA3
A X262 Y546 Y542
213 OUT

Aux Q HP Tx3 Leer OK TX


C705
OUT Interlock TX3 Interlock_TX3 OK
X315 B7034.7
214 OUT

Aux Q HP Tx3 Aux Q HPT Tx3


C705 C715
207 SET Interlock TX3 Confirma Tx3
X315 B7033.4
215 SET
A

Aux Q HPT Tx3 Enclave HP Tx3 Nuevo: insertado por: Juan C Espinoza A
C715 C732 ENCENDIDO PA3
208

PA3 LOC/REM PA3Sys Rem


A X144 C1340
216
TMR
Tmr HP Tx3 A
T62

K50
PA3ON_AUX
C1041
SET
Tmr HP Tx3 Enclave HP Tx3
T62 C732
209 SET

OK Q HP Tx3 PA3ON_AUX TMR


B7035.6 C1041 Tmr ON PA3
SET 217 T106

A K10

Enclave HP Tx3 FM Tx3 HP Q Bajo HP Tx3


C732 V2050 V3024
210 Tmr ON PA3 PA3ON_AUX
T106 C1041
218 RST
D-20

PA3ON_AUX PA3_ON SCRPA3ON_AUX


C1041 Y240 C1043
219 OUT SET

SCRPA3OFF_AUX
C1047
RST
PA3ON_OK PA3 ON BIT
X140 B7040.1
220 OUT

SCRPA3ON_AUX TMR
Incremento / Decremento tension de Filamento PA3 A C1043 Tmr ON SCRPA3
227 T126
PA3 LOC/REM PA3ON_OK
X144 X140
221 K10

A Tmr ON SCRPA3 SCRPA3ON_AUX


T126 C1043
TMR 228 RST
TMR FILPA3 Auto
T136

K150
SCRPA3ON_AUX SCRPA3_ON
C1043 Y241
A 229 OUT

PA3 LOC/REM PA3ON_OK


X144 X140
222
SCRPA3ON_OK Scr PA3 ON BIT
A X141 B7040.2
230 OUT
TMR FILPA3 Auto VFILRAISE3_AUX
T136 C1042
SET APAGADO SCREEN PA3 A

A PA3 LOC/REM PA3Scr Rem


X144 C1360
PA3 LOC/REM VFILRAISE3_AUX 231
X144 C1042
223

PA3 LOC/REM PA3ON_OK


X144 X140

A B

FPA3
V2006 K3400

VFil Raise3 BIT A


B7154.0

LD
B
K0
FILPA3_RAISE
Y243 OUT
OUT Motor DRV2 SCADA
V1604
SCRPA3OFF_AUX
C1047
TMR FILPA3 Auto VFILRAISE3_AUX SET
T136 C1042
224 RST SCRPA3ON_AUX
C1043
RST
A

PA3 LOC/REM PA3ON_OK VFil Lower3 BIT


X144 X140 B7155.0
225 SCRPA3OFF_AUX TMR
C1047 Tmr OFF SCRPA3
A 232 T116
FPA3 FILPA3_LOWER
V2006 K2048 Y244 K10
OUT

A Tmr OFF SCRPA3 SCRPA3OFF_AUX


Encendido Screen PA3 T116 C1047
233 RST
PA3 LOC/REM PA3Scr Rem
X144 C1360
226

SCRPA3OFF_AUX SCRPA3_OFF
C1047 Y242
234 OUT
D-21

A
Apagado por falla de TX3

Interlock TX3 Alarm Intrlk TX3


X315 B7031.7
235 SET DR3ON_AUX
C1040
Alarm Tx3 SET
B7030.4
SET

Confirma Tx3
B7033.4 DR3ON_AUX TMR
RST C1040 Tmr ON DRV3
240 T112
Control TX3 BIT
B7004.0
RST K10

PA3
S20
RST Tmr ON DRV3 DR3ON_AUX
T112 C1040
241 RST
Deshabilitacion normal de TX3 A

OFF Tx3 Man Rem/Loc Man


X105 X120 DR3ON_AUX DR3_ON
236 C1040 Y245
242 OUT
Control TX3 BIT Rem/Loc Man
B7004.0 X120

PA3 LOC/REM PA3Sys Rem DR3ON_OK DR3 ON BIT


X144 C1340 X142 B7040.4
243 OUT

Aux OFF Automati


C20 APAGADO DRIVER3 A

DR3 LOC/REM DR3Sys Rem


Control TX3 BIT X145 C1300
B7004.0 244
RST

Confirma Tx3
B7033.4
RST
A
PA3
S20
RST

DR3ON_AUX
Apagado por falla de fusibles C1040
y LV Modo Local RST
______________________
DRV3
AlarmaFUSIBLES Control TX3 BIT S21
B7030.15 B7004.0 RST
237 RST

LV Confirma Tx3 A
S4 B7033.4 Encendido Screen Driver3
RST

PA3
S20 DR3 LOC/REM DR3Scr Rem
RST X145 C1320
245

SG
DRV3
S21 A

Nuevo Insertado por: Juan C Espinoza A

Encendido de Driver 3 SCRDRV3ON_AUX


C1044
SET

DR3 LOC/REM DR3Sys Rem SCRDRV3OFF_AUX


X145 C1300 C1050
239 RST

SCRDRV3ON_AUX TMR
C1044 Tmr ON SCRDRV3
246 T132

K10
D-22

Medicion de Presiones A

LP
Tmr ON SCRDRV3 SCRDRV3ON_AUX
T132 C1044 FM Tx4 LP Q Bajo LP Tx4
247 RST V2056 V3031
256

SCRDRV3ON_AUX SCRDR3_ON
C1044 Y247
248 OUT Aux Q LP Tx4
C706
OUT

SCRDR3ON_OK Scr DR3 ON BIT


X143 B7040.5
249 OUT Aux Q LP Tx4 Aux Q LPT Tx4
C706 C716
257 SET
APAGADO SCREEN DRIVER3 A

A
DR3 LOC/REM DR3Scr Rem
X145 C1320 Aux Q LPT Tx4 Enclave LP Tx4
250 C716 C723
258

TMR
Tmr LP Tx4
T53

K50

Tmr LP Tx4 Enclave LP Tx4


LD T53 C723
259 SET
K0
OK Q LP Tx4
OUT B7035.7
Reset_ER2 SET
V1605
SCRDRV3OFF_AUX A
C1050
SET Enclave LP Tx4 FM Tx4 LP Q Bajo LP Tx4
C723 V2056 V3031
SCRDRV3ON_AUX 260
C1044
RST

TMR
SCRDRV3OFF_AUX TMR Tmr Low LP TX4
C1050 Tmr OFF SCRDRV3 T57
251 T122
K50
K10
Reset por BAJO Caudal

Tmr Low LP TX4 OK Q LP Tx4


Tmr OFF SCRDRV3 SCRDRV3OFF_AUX T57 B7035.7
T122 C1050 261 RST
252 RST
Alarm LP Low Tx4
B7032.13
SET

SCRDRV3OFF_AUX SCRDR3_OFF Control TX4 BIT


C1050 Y250 B7005.0
253 OUT RST

Confirma Tx4
B7033.5
RST
SG
PA4 PA4
S22 S22
RST

Indicacion de encendido del TX4


A
_On Luz_Tx4 on
SP1 Y343 HP
255 OUT
FM Tx4 HP Q Bajo HP Tx4
V2054 V3034
262
D-23

A
Leer OK TX

Interlock TX4 Interlock_TX4 OK


Aux Q HP Tx4 X316 B7034.8
C707 270 OUT
OUT

Interlock TX4 Confirma Tx4


Aux Q HP Tx4 Aux Q HPT Tx4 X316 B7033.5
C707 C717 271 SET
263 SET

Apagado por falla de TX4


A
Interlock TX4 Alarm Intrlk TX4
Aux Q HPT Tx4 Enclave HP Tx4 X316 B7031.8
C717 C733 272 SET
264
Alarm Tx4
B7030.5
SET
A
Confirma Tx4
TMR B7033.5
Tmr HP Tx4 RST
T63
Control TX4 BIT
K50 B7005.0
RST

PA4
S22
Tmr HP Tx4 Enclave HP Tx4 RST
T63 C733
265 SET
Apagado de normal TX4 A
OK Q HP Tx4
B7035.8
SET OFF Tx4 Man Rem/Loc Man
X107 X120
273
A
Control TX4 BIT Rem/Loc Man
Enclave HP Tx4 FM Tx4 HP Q Bajo HP Tx4 B7005.0 X120
C733 V2054 V3034
266
Aux OFF Automati
C20

A
A
TMR
Tmr Low HP TX4
T67 Control TX4 BIT
B7005.0
K50 RST

Confirma Tx4
Reset por BAJA Presion B7033.5
RST
Tmr Low HP TX4 OK Q HP Tx4
T67 B7035.8 PA4
267 RST S22
RST
Alarm HP Low Tx4
B7032.15
SET Apagado por falla de fusibles
y LV
Control TX4 BIT ______________________
B7005.0
RST AlarmaFUSIBLES Control TX4 BIT
B7030.15 B7005.0
Confirma Tx4 274 RST
B7033.5
RST LV Confirma Tx4
S4 B7033.5
PA4 RST
S22
RST PA4
S22
RST
Conectar K16 cuando flujo de agua OK A

Enclave LP Tx4 Enclave HP Tx4


C723 C733
268
SG
PRUEBA
A
S100
FMI4
Y547
OUT
_On Espia Modo Prueb
SP1 Y350
Conecta K12 cuando LV esta OK 276 OUT
HV OK FMI4 PPA4
X262 Y547 Y543
269 OUT
D-24

Arranque PRUEBA BT y Otros (110 VAC) Apagado por sobre corriente A


-----------------------------------------------------------------
HV Over load Control HV BIT
Control 110V BIT LV TXs X263 B7006.0
B7001.0 Y534 283
277 OUT

Control TX1 BIT LV Otros


B7002.0 Y535
OUT
A
Control TX2 BIT
B7003.0 Alr HV Over Load
B7031.11
SET
Control TX3 BIT
B7004.0 Alarm HV
B7030.6
SET
Control TX4 BIT
B7005.0
Condiciones de Apagado

Rem HV OFF Control HV BIT


Nuevo Insertado por Juan C Espinoza X260 B7006.0
284 RST
Habilitacion de Driver TX3
Puertas OK
Control TX3 BIT DRV3 X261
B7004.0 S21
278 SET
HV Over load
X263

Control TX3 BIT DRV3


B7004.0 S21 A
279 RST
Control HV BIT Alarm HV
B7006.0 B7030.6
Arranque PRUEBA de HV OJO Tienen que estar las 285
condiciones de puertas OK
Se comandan las RESISTENCIAS en el circuito de HV
------------------------------------------------------------------------------------------------------------
Puertas OK Door close OK
X261 B7034.10
280 OUT A

6Rs Descarga HV
Apagado por fallas A Y555
----------------------------- OUT

Apagado del sistema por pulsador remoto _OFF HV


Y533
OUT
Rem HV OFF Control HV BIT
X260 B7006.0
281 Generacion de pulso de arranque para el interruptor de HV A

Control HV BIT Aux ON HV


B7006.0 C400
286

TMR
TOn HV
Alarm Remote Off T40
B7031.9
SET
K60
Alarm HV
B7030.6
SET
TOn HV Aux ON HV
T40 C400
Apagado del sistema por puertas abiertas A 287 SET

Puertas OK Control HV BIT


X261 B7006.0 A
282
Control HV BIT Aux ON HV Alarm HV
B7006.0 C400 B7030.6
288

A
A
ON HV
Alarm Puertas TA40 K50 Y532
B7031.10 OUT
SET

Alarm HV A
B7030.6
SET HV OK Aux R Charg HV
X262 C403
289
D-25

TMR
R Pri y Charg HV Ok LP1 LP TMR
T21 X302 Y522 Tmr Falla LP
299 T41
K150
K30

Aux Rs Pri. HV
TA21 K50 C402 Tmr Falla LP Alarm LP1
290 SET T41 B7030.8
300 SET

A
Arranque PRUEBA Bomba HP A
Aux Rs Pri. HV Alarm HV
C402 B7030.6 Control HP BIT Alarm HP
291 B7011.0 B7030.9
301
A
A
3Rs Primarias HV
Y553 HP
OUT Y521
OUT

R Pri y Charg HV Aux R Charg HV


T21 C403 Ok HP Confirma HP
292 SET X301 B7033.9
302 OUT

Aux R Charg HV Alarm HV


C403 B7030.6 Ok HP HP TMR
293 X301 Y521 Tmr Falla HP
303 T42
A

R de Carga HV K30
Y554
OUT

Tmr Falla HP Alarm HP


Reset variables auxiliares T42 B7030.9
304 SET
Control HV BIT Aux ON HV
B7006.0 C400
294 RST Arranque PRUEBA Bomba RW A

Aux Rs Pri. HV Control RW BIT Alarm RW


C402 B7012.0 B7030.10
RST 305

Aux R Charg HV A
C403
RST RW
Y520
OUT

HV OK Confirma HV
X262 B7033.6
295 OUT Ok RW Confirma RW
X300 B7033.10
306 OUT
Conexion PRUEBA RF (CUIDADO NO SE VERIFICA OTRAS
CONDICIONES)
___________________________________________________
RF_ Permit Out RF Permit
B7026.0 Y556 Ok RW RW TMR
296 OUT X300 Y520 Tmr Falla RW
307 T43
Arranque PRUEBA Bomba LP A
--------------------------------------------- K30

Control LP BIT Alarm LP1


B7010.0 B7030.8
297 Tmr Falla RW Alarm RW
T43 B7030.10
A 308 SET

LP Arranque PRUEBA Blower L A


Y522
OUT Ctrl LeftBlw BIT Alarm Blw L
B7013.0 B7030.11
309

A
Ok LP1 Confirma LP1
X302 B7033.8 Blower L
298 OUT Y525
OUT
D-26

Exch 2
Ok Blw L Confirma Blw L Y527
X304 B7033.11 OUT
310 OUT

Ok Exch2 Confirma Exch2


Ok Blw L Blower L TMR X307 B7034.1
X304 Y525 Tmr Falla BlwL 322 OUT
311 T44

K30
Ok Exch2 Exch 2 TMR
X307 Y527 Tmr Falla Exch2
323 T11
Tmr Falla BlwL Alarm Blw L
T44 B7030.11
312 SET K30

Arranque PRUEBA Blower R A


Tmr Falla Exch2 Alarm Exch2
Ctrl RightBlw BI Alarm Blw R T11 B7031.1
B7014.0 B7030.12 324 SET
313

A Arranque PRUEBA Exch3 A

Blower R Control Exch3 Alarm Exch3


Y524 B7017.0 B7031.2
OUT 325

Exch 3
Ok Blw R Confirma BlwR Y530
X305 B7033.12 OUT
314 OUT

Ok Exch 3 Confirma EXch3


Ok Blw R Blower R TMR X310 B7034.2
X305 Y524 Tmr Falla BlwR 326 OUT
315 T45

K30
Ok Exch 3 Exch 3 TMR
X310 Y530 Tmr Falla Exch3
327 T12
Tmr Falla BlwR Alarm Blw R
T45 B7030.12
316 SET K30

Arranque PRUEBA Exch1 A


Tmr Falla Exch3 Alarm Exch3
Control Exch1 Alarm Exch1 T12 B7031.2
B7015.0 B7031.0 328 SET
317

A Arranque PRUEBA Exch4 A


Exch 1 Control Exch4 Alarm Exch4
Y526 B7020.0 B7031.3
OUT 329

Exch 4
OK Exch1 Confirma Exch1 Y531
X306 B7034.0 OUT
318 OUT

Ok Exch 4 Confirma Exch4


OK Exch1 Exch 1 TMR X311 B7034.3
X306 Y526 Tmr Falla Exch1 330 OUT
319 T10

K30
Ok Exch 4 Exch 4 TMR
X311 Y531 Tmr Falla Exch4
331 T13
Tmr Falla Exch1 Alarm Exch1
T10 B7031.0
320 SET K30

Arranque PRUEBA Exch2 A


Tmr Falla Exch4 Alarm Exch4
Control Exch2 Alarm Exch2 T13 B7031.3
B7016.0 B7031.1 332 SET
321
D-27

Bombas auxiliares
Ctrl Test Mode B LD
ON Bom Reserv ON Tanque Reserv B7007.0
B7022.0 Y550 336 K0
333 OUT
OUT
OKs Sistema 1
Bombas auxiliares V7033
Make UP HP ON Make Up HP OUT
B7023.0 Y551 OKs Sistema 2
334 OUT V7034
Control 480V BIT
Bombas auxiliares B7000.0
RST
Make Up LP ON Maake Up LP
B7024.0 Y552 Control 110V BIT
335 OUT B7001.0
RST

Control TX1 BIT


B7002.0
RST

Control TX2 BIT


B7003.0
RST

Control TX3 BIT


B7004.0
RST

Control TX4 BIT


B7005.0
RST

Control HV BIT
B7006.0
RST

Control LP BIT
B7010.0
RST

Control HP BIT
B7011.0
RST

Control RW BIT
B7012.0
RST

Ctrl LeftBlw BIT


B7013.0
RST

Ctrl RightBlw BI
B7014.0
RST

Control Exch1
B7015.0
RST

Control Exch2
B7016.0
RST

Control Exch3
B7017.0
RST

Control Exch4
B7020.0
RST

Aux ON HV
C400
RST

Aux Rs Pri. HV
C402
RST

Aux R Charg HV
C403
RST

RF_ Permit
B7026.0
RST

Start Stage
S0
JMP
D-28

SG Falla Poll
Polling S25
S24 JMP

A A

Poll_RX Tmr Com busy Motor_PA3 PLC Motor PA3 SCADA


T0 SP116 V1500 V1606
338 345

Motor_DRV3 PLC Motor DRV3 SCADA


V1501 V1607
A

TMRF Reset_ER3
Poll_RX Tmr V1610 K0
T0

A B
K20
WX Avtive Poll_RX Tmr
A C5 T0

Poll_RX Tmr
T0
339

# de Esclavos Poll_RX Tmr


CT0 T0

CNT
# de Esclavos
CT0

K8

A LD
# de Esclavos Poll_RX Tmr Kf10a
CT0 T0
340 OUT
Address_wx
A V7114
WX Avtive LDA
C5
SET O1606

OUT
A Var_PIC
V7116
Poll_RX Tmr RX / WX lock
T0 C2 RX / WX lock
341 C2
SET

A
RX / WX lock Encla Poll_WX
Encla Poll_RX C2 C3
C0 346 RST
RST
K3
K2 GTS
GTS

SG
Encla Falla RX TMR Falla Poll
C1 Poll_RX err rst S25
342 T1

K10
_On TMR
SP1 Poll_RX err rst
348 T1
Poll_RX err rst Encla Falla RX
T1 C1
343 RST K50

A
Poll_RX err rst Polling
Com error Encla Falla RX T1 S24
SP117 C1 349 JMP
344
D-29

A B

SG Mb_Register
Modbus V7132 K1
S26
B

RX
_FirstScan Mb_RDWR
SP0 C120 TA1
351 RST

A
A
Poll_RX Tmr Com busy Mb_RDWR
Poll_RX Tmr Com busy T0 SP116 C120
T0 SP116 357
352
A B

Mb_Register
A V7132 K2

TMRF
Poll_RX Tmr B
T0
RX
K100
TA2

A
Poll_RX Tmr LD
T0 Poll_RX Tmr Com busy Mb_RDWR
353 Kf100 T0 SP116 C120
358
OR
Mb_Slave A B
V7130
Mb_Register
BIN V7132 K3

OUT B
Mb_SlavePLC
V7140 RX

TA3
A

Poll_RX Tmr Com busy Mb_RDWR A


T0 SP116 C120
354 Poll_RX Tmr Com busy Mb_RDWR
T0 SP116 C120
359

A B

Mb_Register
V7132 K4
A

LD B
Mb_SlavePLC
V7140 RX

LD TA4
K2

LDA A
O7134
Poll_RX Tmr Com busy Mb_RDWR
T0 SP116 C120
A 360

Poll_RX Tmr Com busy Mb_RDWR A B


T0 SP116 C120
355 Mb_Register
V7132 K5
A B

Mb_Register B
V7132 K0
RX
B
TA5
RX
A
TA0
Poll_RX Tmr Com busy Mb_RDWR
T0 SP116 C120
A 361
Poll_RX Tmr Com busy Mb_RDWR A B
T0 SP116 C120
356 Mb_Register
V7132 K6
D-30

B B

RX WX

TA6 TA1
Mb_RDWR
A C120
RST
Poll_RX Tmr Com busy Mb_RDWR
T0 SP116 C120
362 A

A B Poll_RX Tmr Com busy Mb_RDWR


T0 SP116 C120
Mb_Register 366
V7132 K7
A B

B Mb_Register
V7132 K2
RX

TA7

A
B
Poll_RX Tmr Com busy Mb_RDWR
T0 SP116 C120 WX
363
TA2
Mb_RDWR
C120
RST

A A

LD Poll_RX Tmr Com busy Mb_RDWR


Mb_SlavePLC T0 SP116 C120
V7140 367

LD A B
K2
Mb_Register
LDA V7132 K3
O7136

Poll_RX Tmr Com busy Mb_RDWR


T0 SP116 C120 B
364
WX
A B
TA3
Mb_Register
V7132 K0 Mb_RDWR
C120
RST

B Poll_RX Tmr Com busy Mb_RDWR


T0 SP116 C120
WX 368

TA0 A B

Mb_RDWR Mb_Register
C120 V7132 K4
RST

Poll_RX Tmr Com busy Mb_RDWR


T0 SP116 C120 B
365
WX
A B
TA4
Mb_Register
V7132 K1 Mb_RDWR
C120
RST

Poll_RX Tmr Com busy Mb_RDWR


T0 SP116 C120
369
D-31

A B

Mb_Register 1FM1 OUT


V7132 K5 X14 VARIABLE_SUMA3
374 V10124

LDD
STORE_1FM1
V10100
B ADD
VARIABLE_SUMA3
WX V10124

TA5 OUTD
STORE_1FM1
Mb_RDWR V10100
C120
RST

A 1FM3 OUT
X15 VARIABLE_SUMA3
Poll_RX Tmr Com busy Mb_RDWR 375 V10124
T0 SP116 C120
370 LDD
STORE_1FM3
A B V10102
Mb_Register ADD
V7132 K6 VARIABLE_SUMA3
V10124

OUTD
STORE_1FM3
V10102
B

WX
2FM1 OUT
TA6 X16 VARIABLE_SUMA3
376 V10124
Mb_RDWR
C120 LDD
RST STORE_2FM1
V10104
A ADD
VARIABLE_SUMA3
Poll_RX Tmr Com busy Mb_RDWR V10124
T0 SP116 C120
371 OUTD
STORE_2FM1
A B V10104
Mb_Register
V7132 K7

2FM3 OUT
X17 VARIABLE_SUMA3
377 V10124

LDD
B STORE_2FM3
V10106
WX
ADD
TA7 VARIABLE_SUMA3
V10124
Mb_RDWR
C120
OUTD
RST
STORE_2FM3
V10106

SG
Medicion FM1 2FM3 CNT
S30 X17
378 CT52
DIVIDE_FM1-2
V7074
CT52
_On LDF
SP1 X0
373
K12
BCD
D-32

LDD 3FM1 OUT


CT52 STORE_1FM1 X34 VARIABLE_SUMA4
379 V10100 382 V10126

DIVD LDD
DIVIDE_FM1-2 STORE_3FM1
V7074 V10110

OUT ADD
FM Tx1 HP VARIABLE_SUMA4
V2040 V10126

LDD OUTD
K0 STORE_3FM1
V10110
OUTD
STORE_1FM1
V10100

LDD 3FM3 OUT


STORE_1FM3 X35 VARIABLE_SUMA4
V10102 383 V10126

DIVD LDD
DIVIDE_FM1-2 STORE_3FM3
V7074 V10112

OUT ADD
FM Tx1 LP VARIABLE_SUMA4
V2042 V10126

LDD OUTD
K0 STORE_3FM3
V10112
OUTD
STORE_1FM3
V10102

LDD 4FM1 OUT


STORE_2FM1 X36 VARIABLE_SUMA4
V10104 384 V10126

DIVD LDD
DIVIDE_FM1-2 STORE_4FM1
V7074 V10114

OUT ADD
FM Tx2 HP VARIABLE_SUMA4
V2044 V10126

LDD OUTD
K0 STORE_4FM1
V10114
OUTD
STORE_2FM1
V10104

LDD 4FM3 OUT


STORE_2FM3 X37 VARIABLE_SUMA4
V10106 385 V10126

DIVD LDD
DIVIDE_FM1-2 STORE_4FM3
V7074 V10116

OUT ADD
FM Tx2 LP VARIABLE_SUMA4
V2046 V10126

LDD OUTD
K0 STORE_4FM3
V10116
OUTD
STORE_2FM3
V10106

4FM3 CNT
X37
386 CT53
SG
DIVIDE_FM3-4
Medicion FM2
V7076
S31 CT53

_On LDF
SP1 X20
381
K12
BCD
D-33

LDD HV General OUT


CT53 STORE_3FM1 X54 VARIABLE_SUMA
387 V10110 390 V10130

DIVD LDD
DIVIDE_FM3-4 STORE HV_MEDIDA
V7076 V10150

OUT ADD
FM Tx3 HP VARIABLE_SUMA
V2050 V10130

LDD OUTD
K0 STORE HV_MEDIDA
V10150
OUTD
STORE_3FM1
V10110

LDD POT RF TX1 OUT


STORE_3FM3 X55 VARIABLE_SUMA
V10112 391 V10130

DIVD LDD
DIVIDE_FM3-4 STORE POT1_MEDID
V7076 V10152

OUT ADD
FM Tx3 LP VARIABLE_SUMA
V2052 V10130

LDD OUTD
K0 STORE POT1_MEDID
V10152
OUTD
STORE_3FM3
V10112

LDD POT RF TX2 OUT


STORE_4FM1 X56 VARIABLE_SUMA
V10114 392 V10130

DIVD LDD
DIVIDE_FM3-4 STORE POT2_MEDID
V7076 V10154

OUT ADD
FM Tx4 HP VARIABLE_SUMA
V2054 V10130

LDD OUTD
K0 STORE POT2_MEDID
V10154
OUTD
STORE_4FM1
V10114

LDD POT RF TX3 OUT


STORE_4FM3 X57 VARIABLE_SUMA
V10116 393 V10130

DIVD LDD
DIVIDE_FM3-4 STORE POT3_MEDID
V7076 V10156

OUT ADD
FM Tx4 LP VARIABLE_SUMA
V2056 V10130

LDD OUTD
K0 STORE POT3_MEDID
V10156
OUTD
STORE_4FM3
V10116

POT RF TX3 CNT


X57
394 CT54
SG
DIVIDE_HV
Medicion HV
V7066
S32 CT54

_On LDF
SP1 X40
389
K12
BCD
D-34

LDD OUT
CT54 STORE HV_MEDIDA X234 VARIABLE_SUMA_VL
395 V10150 398 V10132

DIVD LDD
DIVIDE_HV CH1_VL1
V7066 V10160

OUT ADD
Medida HV TOTAL VARIABLE_SUMA_VL
V1773 V10132

LDD OUTD
K0 CH1_VL1
V10160
OUTD
STORE HV_MEDIDA
V10150

LDD OUT
STORE POT1_MEDID X235 VARIABLE_SUMA_VL
V10152 399 V10132

DIVD LDD
DIVIDE_HV CH2_VL2
V7066 V10162

OUT ADD
MEDID POT1_TOTAL VARIABLE_SUMA_VL
V1774 V10132

LDD OUTD
K0 CH2_VL2
V10162
OUTD
STORE POT1_MEDID
V10152

LDD OUT
STORE POT2_MEDID X236 VARIABLE_SUMA_VL
V10154 400 V10132

DIVD LDD
DIVIDE_HV CH3_VL3
V7066 V10164

OUT ADD
MEDID POT2_TOTAL VARIABLE_SUMA_VL
V1775 V10132

LDD OUTD
K0 CH3_VL3
V10164
OUTD
STORE POT2_MEDID
V10154

LDD OUT
STORE POT3_MEDID X237 VARIABLE_SUMA_VL
V10156 401 V10132

DIVD LDD
DIVIDE_HV CH4_PWR
V7066 V10166

OUT ADD
MEDID POT3_TOTAL VARIABLE_SUMA_VL
V1776 V10132

LDD OUTD
K0 CH4_PWR
V10166
OUTD
STORE POT3_MEDID
V10156

X237 CNT
402 CT55
DIVIDE_VOLTLINE
SG V7064
Medicion V Linea CT55
S33

_On LDF
SP1 X220
397
K12
BCD
D-35

LDD _On LDF


CT55 CH1_VL1 SP1 X160
403 V10160 406
K12
DIVD
DIVIDE_VOLTLINE BCD
V7064

OUT OUT
V_linea1 Aux Medida M8
V2060 V4002

LDD
K0 A

OUTD Aux Cuenta M8


CH1_VL1 V4000 K0
V10160 407

LDD
CH2_VL2
V10162

DIVD
DIVIDE_VOLTLINE
V7064

OUT
V_linea2
V2062

LDD
K0

OUTD
CH2_VL2 A
V10162
LD
LDD Aux Medida M8
CH3_VL3 V4002
V10164
OUT
DIVD VARIABLE_SUMA1
DIVIDE_VOLTLINE V10120
V7064
LDD
OUT STORE_FPA1
V_linea3 V10002
V2064
ADD
LDD VARIABLE_SUMA1
K0 V10120

OUTD OUTD
CH3_VL3 STORE_FPA1
V10164 V10002

LDD
CH4_PWR A
V10166
Aux Cuenta M8
DIVD V4000 K1
DIVIDE_VOLTLINE 408
V7064

OUT
CH4
V2066

LDD
K0

OUTD
CH4_PWR
V10166

SG
Medidas TX #8
S40

_On LD
SP1
405 VX160

SHFR
K12

OUT
Aux Cuenta M8
V4000
D-36

A A

LD LD
Aux Medida M8 Aux Medida M8
V4002 V4002

OUT OUT
VARIABLE_SUMA1 VARIABLE_SUMA1
V10120 V10120

LDD LDD
STORE_SPA1 STORE_FPA2
V10004 V10010

ADD ADD
VARIABLE_SUMA1 VARIABLE_SUMA1
V10120 V10120

OUTD OUTD
STORE_SPA1 STORE_FPA2
V10004 V10010

A A

Aux Cuenta M8 Aux Cuenta M8


V4000 K2 V4000 K4
409 411

A A

LD LD
Aux Medida M8 Aux Medida M8
V4002 V4002

OUT OUT
VARIABLE_SUMA1 VARIABLE_SUMA1
V10120 V10120

LDD LDD
STORE_BPA1 STORE_SPA2
V10006 V10012

ADD ADD
VARIABLE_SUMA1 VARIABLE_SUMA1
V10120 V10120

OUTD OUTD
STORE_BPA1 STORE_SPA2
V10006 V10012

A A

Aux Cuenta M8 Aux Cuenta M8


V4000 K3 V4000 K5
410 412
D-37

A A

LD LD
Aux Medida M8 Aux Medida M8
V4002 V4002

OUT OUT
VARIABLE_SUMA1 VARIABLE_SUMA1
V10120 V10120

LDD LDD
STORE_BPA2 STORE_SPA3
V10014 V10020

ADD ADD
VARIABLE_SUMA1 VARIABLE_SUMA1
V10120 V10120

OUTD OUTD
STORE_BPA2 STORE_SPA3
V10014 V10020

A A

Aux Cuenta M8 Aux Cuenta M8


V4000 K6 V4000 K8
413 415

A A

LD LD
Aux Medida M8 Aux Medida M8
V4002 V4002

OUT OUT
VARIABLE_SUMA1 VARIABLE_SUMA1
V10120 V10120

LDD LDD
STORE_FPA3 STORE_BPA3
V10016 V10022

ADD ADD
VARIABLE_SUMA1 VARIABLE_SUMA1
V10120 V10120

OUTD OUTD
STORE_FPA3 STORE_BPA3
V10016 V10022

A A

Aux Cuenta M8 Aux Cuenta M8


V4000 K7 V4000 K9
414 416
D-38

A A

LD LD
Aux Medida M8 Aux Medida M8
V4002 V4002

OUT OUT
VARIABLE_SUMA1 VARIABLE_SUMA1
V10120 V10120

LDD LDD
STORE_FPA4 STORE_BPA4
V10024 V10030

ADD ADD
VARIABLE_SUMA1 VARIABLE_SUMA1
V10120 V10120

OUTD OUTD
STORE_FPA4 STORE_BPA4
V10024 V10030

A A

Aux Cuenta M8 Aux Cuenta M8


V4000 Ka V4000 Kb
417 419

CT50

CNT

CT50
DIVIDE_PA
V7070

LD
Aux Medida M8
V4002

OUT
VARIABLE_SUMA1
V10120

LDD
STORE_SPA4
V10026

ADD
VARIABLE_SUMA1
V10120

OUTD
STORE_SPA4
V10026

Aux Cuenta M8
V4000 Kb
418
D-39

DIVD
DIVIDE_PA
LDD V7070
CT50 STORE_FPA1
420 V10002 OUT
BPA2
DIVD V2005
DIVIDE_PA
V7070 LD
K0
OUT
FPA1 OUTD
V2000 STORE_BPA2
V10014
LDD
K0 LDD
STORE_FPA3
OUTD V10016
STORE_FPA1
V10002 DIVD
DIVIDE_PA
LDD V7070
STORE_SPA1
V10004 OUT
FPA3
DIVD V2006
DIVIDE_PA
V7070 LD
K0
OUT
SPA1 OUTD
V2001 STORE_FPA3
V10016
LDD
K0 LDD
STORE_SPA3
OUTD V10020
STORE_SPA1
V10004 DIVD
DIVIDE_PA
LDD V7070
STORE_BPA1
V10006 OUT
SPA3
DIVD V2007
DIVIDE_PA
V7070 LD
K0
OUT
BPA1 OUTD
V2002 STORE_SPA3
V10020
LDD
K0 LDD
STORE_BPA3
OUTD V10022
STORE_BPA1
V10006 DIVD
DIVIDE_PA
LDD V7070
STORE_FPA2
V10010 OUT
BPA3
DIVD V2010
DIVIDE_PA
V7070 LD
K0
OUT
FPA2 OUTD
V2003 STORE_BPA3
V10022
LD
K0 LDD
STORE_FPA4
OUTD V10024
STORE_FPA2
V10010 DIVD
DIVIDE_PA
LDD V7070
STORE_SPA2
V10012 OUT
FPA4
DIVD V2011
DIVIDE_PA
V7070 LD
K0
OUT
SPA2 OUTD
V2004 STORE_FPA4
V10024
LD
K0 LDD
STORE_SPA4
OUTD V10026
STORE_SPA2
V10012 DIVD
DIVIDE_PA
LDD V7070
STORE_BPA2
V10014 OUT
SPA4
V2012
D-40

LD A
K0
LD
OUTD Aux Medida 9
STORE_SPA4 V4006
V10026
OUT
LDD TEMPORAL_SUMA
STORE_BPA4 V10000
V10030
LDD
DIVD STORE_FDR1
DIVIDE_PA V10032
V7070
ADD
OUT TEMPORAL_SUMA
BPA4 V10000
V2013
OUTD
LD STORE_FDR1
K0 V10032

OUTD
STORE_BPA4 A
V10030
Aux Cuenta 9
V4004 K1
425

SG
Medidas TXs #9
S41

_On LD
SP1
422 VX200

SHFR
K12

OUT
Aux Cuenta 9
V4004 A

LD
Aux Medida 9
V4006
_On LDF
SP1 X200 OUT
423 TEMPORAL_SUMA
K12 V10000

BCD LDD
STORE_SDR1
V10034
OUT
Aux Medida 9 ADD
V4006 TEMPORAL_SUMA
V10000
A OUTD
STORE_SDR1
Aux Cuenta 9 V10034
V4004 K0
424
A

Aux Cuenta 9
V4004 K2
426
D-41

A A

LD LD
Aux Medida 9 Aux Medida 9
V4006 V4006

OUT OUT
TEMPORAL_SUMA TEMPORAL_SUMA
V10000 V10000

LDD LDD
STORE_BDR1 STORE_FDR2
V10036 V10042

ADD ADD
TEMPORAL_SUMA TEMPORAL_SUMA
V10000 V10000

OUTD OUTD
STORE_BDR1 STORE_FDR2
V10036 V10042

A A

Aux Cuenta 9 Aux Cuenta 9


V4004 K3 V4004 K5
427 429

A A

LD LD
Aux Medida 9 Aux Medida 9
V4006 V4006

OUT OUT
TEMPORAL_SUMA TEMPORAL_SUMA
V10000 V10000

LDD LDD
STORE_PDR1 STORE_SDR2
V10040 V10044

ADD ADD
TEMPORAL_SUMA TEMPORAL_SUMA
V10000 V10000

OUTD OUTD
STORE_PDR1 STORE_SDR2
V10040 V10044

A A

Aux Cuenta 9 Aux Cuenta 9


V4004 K4 V4004 K6
428 430
D-42

A A

LD LD
Aux Medida 9 Aux Medida 9
V4006 V4006

OUT OUT
TEMPORAL_SUMA TEMPORAL_SUMA
V10000 V10000

LDD LDD
STORE_BDR2 STORE_FDR3
V10046 V10052

ADD ADD
TEMPORAL_SUMA TEMPORAL_SUMA
V10000 V10000

OUTD OUTD
STORE_BDR2 STORE_FDR3
V10046 V10052

A A

Aux Cuenta 9 Aux Cuenta 9


V4004 K7 V4004 K9
431 433

A A

LD LD
Aux Medida 9 Aux Medida 9
V4006 V4006

OUT OUT
TEMPORAL_SUMA TEMPORAL_SUMA
V10000 V10000

LDD LDD
STORE_PDR2 STORE_SDR3
V10050 V10054

ADD ADD
TEMPORAL_SUMA TEMPORAL_SUMA
V10000 V10000

OUTD OUTD
STORE_PDR2 STORE_SDR3
V10050 V10054

A A

Aux Cuenta 9 Aux Cuenta 9


V4004 K8 V4004 Ka
432 434
D-43

A A

LD LD
Aux Medida 9 Aux Medida 9
V4006 V4006

OUT OUT
TEMPORAL_SUMA TEMPORAL_SUMA
V10000 V10000

LDD LDD
STORE_BDR3 STORE_FDR4
V10056 V10062

ADD ADD
TEMPORAL_SUMA TEMPORAL_SUMA
V10000 V10000

OUTD OUTD
STORE_BDR3 STORE_FDR4
V10056 V10062

A A

Aux Cuenta 9 Aux Cuenta 9


V4004 Kb V4004 Kd
435 437

A A

LD LD
Aux Medida 9 Aux Medida 9
V4006 V4006

OUT OUT
TEMPORAL_SUMA TEMPORAL_SUMA
V10000 V10000

LDD LDD
STORE_PDR3 STORE_SDR4
V10060 V10064

ADD ADD
TEMPORAL_SUMA TEMPORAL_SUMA
V10000 V10000

OUTD OUTD
STORE_PDR3 STORE_SDR4
V10060 V10064

A A

Aux Cuenta 9 Aux Cuenta 9


V4004 Kc V4004 Ke
436 438
D-44

LD LDD
Aux Medida 9 CT51 STORE_FDR1
V4006 441 V10032

OUT DIVD
TEMPORAL_SUMA DIVIDE_DR
V10000 V7072

LDD OUT
STORE_BDR4 FDR1
V10066 V2020

ADD LDD
TEMPORAL_SUMA K0
V10000
OUTD
OUTD STORE_FDR1
STORE_BDR4 V10032
V10066
LDD
STORE_SDR1
A V10034
Aux Cuenta 9 DIVD
V4004 Kf DIVIDE_DR
439 V7072

OUT
SDR1
V2021

LDD
K0

OUTD
STORE_SDR1
V10034

LDD
STORE_BDR1
V10036

DIVD
A DIVIDE_DR
V7072
LD
Aux Medida 9 OUT
V4006 BDR1
V2022
OUT
TEMPORAL_SUMA LDD
V10000 K0

LDD OUTD
STORE_PDR4 STORE_BDR1
V10070 V10036

ADD LDD
TEMPORAL_SUMA STORE_PDR1
V10000 V10040

OUTD DIVD
STORE_PDR4 DIVIDE_DR
V10070 V7072

OUT
A PDR1
V2023
Aux Cuenta 9
V4004 Kf LD
440 K0

OUTD
CT51 STORE_PDR1
V10040
A LDD
STORE_FDR2
CNT V10042

CT51 DIVD
DIVIDE_DR DIVIDE_DR
V7072 V7072

OUT
FDR2
V2024

LD
K0

OUTD
STORE_FDR2
V10042

LDD
STORE_SDR2
V10044
D-45

DIVD LD
DIVIDE_DR K0
V7072
OUTD
OUT STORE_BDR3
SDR2 V10056
V2025
LDD
LD STORE_PDR3
K0 V10060

OUTD DIVD
STORE_SDR2 DIVIDE_DR
V10044 V7072

LDD OUT
STORE_BDR2 PDR3
V10046 V2033

DIVD LD
DIVIDE_DR K0
V7072
OUTD
OUT STORE_PDR3
BDR2 V10060
V2026
LDD
LD STORE_FDR4
K0 V10062

OUTD DIVD
STORE_BDR2 DIVIDE_DR
V10046 V7072

LDD OUT
STORE_PDR2 FDR4
V10050 V2034

DIVD LD
DIVIDE_DR K0
V7072
OUTD
OUT STORE_FDR4
PDR2 V10062
V2027
LDD
LD STORE_SDR4
K0 V10064

OUTD DIVD
STORE_PDR2 DIVIDE_DR
V10050 V7072

LDD OUT
STORE_FDR3 SDR4
V10052 V2035

DIVD LD
DIVIDE_DR K0
V7072
OUTD
OUT STORE_SDR4
FDR3 V10064
V2030
LDD
LD STORE_BDR4
K0 V10066

OUTD DIVD
STORE_FDR3 DIVIDE_DR
V10052 V7072

LDD OUT
STORE_SDR3 BDR4
V10054 V2036

DIVD LD
DIVIDE_DR K0
V7072
OUTD
OUT STORE_BDR4
SDR3 V10066
V2031
LDD
LD STORE_PDR4
K0 V10070

OUTD DIVD
STORE_SDR3 DIVIDE_DR
V10054 V7072

LDD OUT
STORE_BDR3 PDR4
V10056 V2037

DIVD LD
DIVIDE_DR K0
V7072
OUTD
OUT STORE_PDR4
BDR3 V10070
V2032
D-46

_On LDD
SP1
442 END 446 K0

OUTD
# slave
V7100
SBR
K1 OUTD
Men almacen
V7104
Poner a CERO los acumuladores de los contadores del filtro
de los medidores de caudal, OUTD
y voltaje TX # slave
_On LD V7110
SP1
444 K0 OUTD
Motor PA1 SCADA
OUT V1600
CTA50
OUTD
OUT Reset_ER1
CTA51 V1602

OUT OUTD
CTA52 Motor DRV2 SCADA
V1604
OUT
CTA53 OUTD
Motor PA3 SCADA
OUT V1606
CTA54
OUTD
Reset_ER3
Parametros iniciales de comunicaciones: V1610
Los Acromags estaran numerados del 2 al 11
La posicion donde se guarda los datos leidos, desde los OUTD
Acromags al PLC, estaran Motor DRV4 SCADA
desde la posicion de memoria V1400 a la V1517 V1612
_On LD
SP1
445 K768
_On # de Esclavos
OUT SP1 CT0
Mem inicio ACMG 447 RST
V7102
# Retrys
LD CT1
K728 RST

OUT Cooling
Mem inico ER S1 S120
V7120 RST

LD Encla Poll_RX
Kf102 C0 C1777
RST
BCD

CARGA DE VALORES INICIALES PARA LAS PRESIONES


OUTD DE LOS TXs
#slave inicio -------------------------------------------------------------------------------------
V7106

_On LDD
SP1
448 K4b0

BCD

OUTD
Q Bajo LP Tx1
V3001

Presiones INICIALES de HP de TX1

_On LDD
SP1
449 Kbb8

BCD

OUTD
Q Bajo HP Tx1
V3004
D-47

Presiones INICIALES de HP de TX2 Presiones INICIALES de HP de TX4

_On LDD
_On LDD SP1
SP1 454 K5dc
450 K578
BCD
BCD

OUTD
OUTD V3033
Q Bajo HP Tx2
V3014 LDD
K1f4

BCD
Presiones INICIALES de LP DE TX3

_On LDD OUTD


SP1 Q Bajo HP Tx4
451 K5dc V3034

BCD LDD
Kffc

OUTD BCD
Q Bajo LP Tx3
V3021
OUTD
V3035
Presiones INICIALES de HP de TX3

_On LDD
SP1
452 K898

BCD

OUTD
Q Bajo HP Tx3
V3024

Presiones INICIALES de LP DE TX4

_On LDD
SP1
453 K5dc

BCD

OUTD
V3030

LDD
K1f4

BCD

OUTD
Q Bajo LP Tx4
V3031

LDD
Kffc

BCD

OUTD
V3032
D-48

Resets INICIALES Clear Alarmas y confirmaciones

_On Control 480V BIT _On LDD


SP1 B7000.0 SP1
455 RST 456 K0
Control 110V BIT OUTD
B7001.0 TEMPORAL_SUMA
RST V10000
Control TX1 BIT OUTD
B7002.0 VARIABLE_SUMA1
RST V10120
Control TX2 BIT OUTD
B7003.0 VARIABLE_SUMA2
RST V10122
Control TX3 BIT OUTD
B7004.0 VARIABLE_SUMA3
RST V10124
Control TX4 BIT OUTD
B7005.0 VARIABLE_SUMA4
RST V10126
Control HV BIT OUTD
B7006.0 VARIABLE_SUMA
RST V10130
Ctrl Test Mode B OUTD
B7007.0 VARIABLE_SUMA_VL
RST V10132
Control LP BIT LD
B7010.0 K20
RST
OUT
Control HP BIT DIVIDE_PA
B7011.0 V7070
RST
OUT
Control RW BIT DIVIDE_DR
B7012.0 V7072
RST
OUT
Ctrl LeftBlw BIT DIVIDE_FM1-2
B7013.0 V7074
RST
OUT
Ctrl RightBlw BI DIVIDE_FM3-4
B7014.0 V7076
RST
OUT
Control Exch1 DIVIDE_HV
B7015.0 V7066
RST
LD
Control Exch2 K30
B7016.0
RST OUT
DIVIDE_VOLTLINE
Control Exch3 V7064
B7017.0
RST

Control Exch4
B7020.0
RST

Sis Enfr ON
B7021.0
RST

ON Bom Reserv
B7022.0
RST

Make UP HP ON
B7023.0
RST

Make Up LP ON
B7024.0
RST

Bit Rem/Loc
B7025.0
RST

RF_ Permit
B7026.0
RST
D-49

A
_On LD Lee 8 variables de los Acromag direcciones entre 0 y 5 en
SP1 decimal (6 Acromag)
457 K0
_On
OUT SP1 CTA0 K6
Bits ALARMAS 1 461
V7030

OUT
Bits ALARMAS2
V7031

OUT
OKs Sistema 1
V7033

OUT
OKs Sistema 2
V7034

OUT
V7022

OUT
V7023

OUT
V7024

OUT
STATUS BITS TX1
V7036
A
OUT
STATUS BITS TX2
V7037
LD
OUT
STATUS BITS TX3 CTA0
V7040
BCD
OUT
STATUS BITS TX4
V7041 OUT
# slave
V7100

LD
_On LDD # slave
SP1 V7100
458 K0
MUL
OUTD K8
FM Tx1 HP
V2040 ADD
Mem inicio ACMG
OUTD V7102
FM Tx1 LP
V2042 BIN

OUTD
FM Tx2 HP OUT
V2044 Men almacen
V7104
OUTD
FM Tx2 LP
V2046 A

OUTD _On
FM Tx3 HP SP1 CTA0 K6
V2050 462

OUTD
FM Tx3 LP
V2052

OUTD
FM Tx4 HP
V2054

OUTD
FM Tx4 LP
V2056

459 RT

Subrutinas comunicaciones

SBR
K2
D-50

A A

LDD
# slave LD
V7100
CTA0
ADDD
#slave inicio BCD
V7106

OUTD OUT
TX # slave # slave
V7110 V7100

BIN LD
# slave
V7100
OUTD
Address_rx MUL
V7112 K13

ADD
A Mem inico ER
V7120
Com busy Encla Poll_RX
SP116 C0 BIN
463

A OUT
Men almacen
LD V7104
CTA0 K6 Address_rx
V7112
A
LD
K4016 _On
SP1 CTA0 K8
LD 465
Men almacen
V7104

RX
TA2
Encla Poll_RX
C0
SET

Encla Falla RX
C1
SET

A
Lee 13 variables de las Estaciones remotas direcciones entre A
10 y 14 en decimal
_On LDD
SP1 CTA0 K8 # slave
464 V7100

ADDD
#slave inicio
V7106

OUTD
TX # slave
V7110

BIN

OUTD
Address_rx
V7112

Com busy Encla Poll_RX


SP116 C0
466
D-51

A A

LD LD
CTA0 K8 Address_rx Address_wx
V7112 V7114

LD LD
K26 K6

LD LD
Men almacen Var_PIC
V7104 V7116

RX WX
TA10 TA10
Encla Poll_RX LD
C0 K0
SET
OUT
Encla Falla RX Reset_ER3
C1 V1610
SET
RX / WX lock
C2
RST

Encla Poll_WX
467 RT C3
SET

WX Avtive
C5
SBR RST
K3
# de Esclavos
CT0
A RST

Com busy Encla Poll_WX


SP116 C3
469

470 RT

471 NOP

También podría gustarte