NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de...

19
Normas de Programación de PLC’s D-AUT-001 AySA S.A. 1 DAL NORMAS DE PROGRAMACIÓN DE PLC’S AUTOMATISMOS Y SISTEMAS DE CONTROL AGUA Y SANEAMIENTOS ARGENTINOS DIRECCIÓN DE APOYO LOGÍSTICO GERENCIA DE REDES DE COMUNICACIONES Y AUTOMATISMOS REV.1

Transcript of NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de...

Page 1: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 1 DAL

NORMAS DE PROGRAMACIÓN DE PLC’S

AUTOMATISMOS Y SISTEMAS DE CONTROL

AGUA Y SANEAMIENTOS ARGENTINOS

DIRECCIÓN DE APOYO LOGÍSTICO

GERENCIA DE REDES DE COMUNICACIONES Y AUTOMATISMOS

REV.1

Page 2: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 2 DAL

INDICE

EQUIPO TÉCNICO ....................................................................................... 3

1 SOFTWARE DE PROGRAMACIÓN............................................................ 4

2 AUTÓMATAS LÍNEA SCHNEIDER ELECTRIC............................................ 4

2.1 ESTRUCTURA DE LA APLICACIÓN.......................................................... 4

2.2 ORGANIZACIÓN DE TABLAS DE PALABRAS PARA COMUNICACIÓN. ...... 8

2.3 IDENTIFICACIÓN DE LAS ENTRADAS FÍSICAS. ..................................... 8

2.4 IDENTIFICACIÓN DE LAS PALABRAS A COMUNICAR AL SCADA (TOPKAPI).................................................................................................. 9

2.5 CONFIGURACIÓN DE LAS COMUNICACIONES...................................... 11

2.6 CONFIGURACIÓN DE ENTRADAS/SALIDAS ANALÓGICAS.................... 11

3 AUTÓMATAS LÍNEA PHOENIX CONTACT .............................................. 13

3.1 ESTRUCTURA DE LA APLICACIÓN........................................................ 13

3.2 ORGANIZACIÓN DE TABLAS DE PALABRAS PARA COMUNICACIÓN. .... 16

3.3 IDENTIFICACIÓN DE LAS ENTRADAS Y SALIDAS FÍSICAS................... 17

3.4 CONFIGURACIÓN DE LAS COMUNICACIONES...................................... 18

3.5 CARGA DE LA APLICACIÓN AL PLC. ..................................................... 19

Page 3: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 3 DAL

EQUIPO TÉCNICO

Autor: Agüeria, Omar

Barrionuevo, Ariel

Jefe de Departamento: Barrionuevo, Ariel

Director: Borro, Fabian.

Page 4: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 4 DAL

1 Software de Programación.

Cualquiera sea el software a utilizar para programación de PLC (Ej.: Unity Pro, PL7 Pro, Concept, Twido Suite, PC WorX, etc.), deberá ser la misma versión que al momento esté vigente en AySA; de utilizarse una versión superior, la empresa contratista encargada de la programación, deberá entregar una copia original del software, con los derechos y/o Licencias correspondientes a nombre de Agua y Saneamientos Argentinos S.A., al Dto. Automatismos y Sistemas de Control.

2 Autómatas línea Schneider Electric

2.1 Estructura de la aplicación

Las aplicaciones estarán estructuradas de la de la siguiente forma:

La tarea MAST estará dividida en Secciones. Una primera Sección Principal en la cual se realizarán, por ej. : todas las asignaciones de entradas físicas a Palabras (%MWxx) como así también asignación de bits o variables generadas a partir de procesos lógicos internos y quedando ordenados para ser comunicados a algún SCADA o a otro autómata.

Dependiendo del tipo de instalación a automatizar, se irán incorporando nuevas secciones; por ej. : para una planta que cuenta con varias bombas (más de una) se generarán secciones por cada grupo (conjunto bombas/válvulas, etc.). En cada sección se gestionará la marcha, parada, proceso de fallas, etc. de cada uno de los grupos.

Page 5: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 5 DAL

Todas las mediciones ingresadas al autómata, cualquiera sea la forma de ingreso al mismo ( 4 a 20 mA, ethernet, etc. ) deberán ser agrupadas en una sección,

Por ej. : caudalímetros, medidores de presión, instrumentos de calidad, etc.. En esta sección se realizarán las comparaciones y se generarán alarmas o bits de habilitación que sean necesarios.

Si fuera necesario realizar gestiones de comunicación, con sus respectivas instrucciones (WRITE_VAR o READ_VAR) deberán ser agrupadas en una nueva sección.

Todas las fallas provenientes de señales externas, como así también las generadas por procesos internos, serán seteadas y bloquearán el funcionamiento del equipo correspondiente. Los reset de estos bits seteados serán agrupados en una sección dedicada.

Page 6: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 6 DAL

Teniendo en cuenta este concepto, cada proceso de consideración deberá ser ordenado en una sección a tal efecto.

Cada una de las secciones deberá llevar un breve comentario en el cual se informan los procesos que se realicen dentro de la misma.

Ej.:

Page 7: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 7 DAL

Subrutinas

De ser necesario se podrán utilizar Secciones SR (Subrutinas), éstas estarán configuradas de la misma forma que las secciones antes mencionadas y programadas con el mismo lenguaje (LD).

Las subrutinas podrán ser llamadas de cualquiera de las secciones.

Lenguaje de programación

Dentro de todos los lenguajes posibles de programación que ofrecen los PLCs de Schneider, optamos por el lenguaje Ladder exclusivamente.

Page 8: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 8 DAL

2.2 Organización de tablas de palabras para comunicación.

Todas las entradas físicas, digitales y analógicas, deberán ser transferidas a tablas de palabras (%MWxx).

Para los TELECOMANDOS recibidos desde el Topkapi, deberán utilizarse variables de punto flotante(%MFxxx).

Las salidas digitales no serán transferidas, salvo que se trate de algún equipamiento a comandar que no cuente con señalización (Ej.: vál. Solenoide).

Los Bits internos cuyo estado merezca comunicarse al SCADA también deberán ser transferidos a tablas de palabras.

Ordenamiento de las tablas:

Tipo Dirección (desde – hasta)

Entradas Digitales: %MW100 a %MW199

Entradas Analógicas %MW200 a %MW249

Entradas Analógicas (punto flotante) %MF250 a %MF299

Horas funcionam. De máquinas %MD300 a %MD348

Bits o palabras a comunicar %MW350 a %MW399

Palabras para uso general interno %MW400 a %MW599

Telecomandos digitales %MW600 a %MW624

Telecomandos analógicos (enteros) %MW625 a %MW649

Telecomandos analógicos (flotante) %MF650 a %MF698

2.3 Identificación de las entradas físicas.

Todas las entradas y salidas físicas deberán estar identificadas con un símbolo (TAG). El formato del símbolo estará compuesto por iniciales o abreviaturas, separadas por guión bajo, sin espacio.

En primer lugar deberá ir el equipo (Ej.: Bomba 1) y luego la acción o información que se extrae del mismo (Ej.: Marcha).

Ejemplo:

Page 9: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 9 DAL

Equipo_Acción

%I0.2.0 = Bomba 1 en automático

TAG: B1_Auto

2.4 Identificación de las palabras a comunicar al SCADA (Topkapi)

Se deben identificar las palabras que se transmitirán al SCADA Topkapi mediante el Símbolo y el comentario o descripción de la acción a realizar por vínculo de esta palabra. Es importante la correcta identificación para poder realizar la importación de estos datos, que se reportaran en el Topkapi mediante la herramienta SOFTLINK incluida. Esta herramienta reconocerá el Tipo de Dato (Digital, Entero, Real, etc.), el Mnemónico o TAG (símbolo) y el Título para la celda (Comentario)

Símbolos / TAGs / mnemónicos de las variables.

El formato estandarizado de identificar el símbolo: debe ser con las iniciales y comenzando desde el sector del proceso afectado, luego el equipo al que se hace referencia y por último la acción o información que se extrae del mismo. Estos datos deben estar separados por “guiones bajos”, sin espacios.

Ejemplo:

Sector_Equipo_Acción

%I0.2.0 => %MW100.0 => Bomba 1 en automático

Entonces:

Si el sector es la planta de PAC.

Page 10: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 10 DAL

TAG: PAC_B1_Auto => %MW100.0

Si el sector es Planta de Cloro.

TAG: CL_B1_Auto => %MW100.0

Comentarios de las variables.

El formato estandarizado para los comentarios debe ser la misma información usada en el símbolo, pero de manera más detallada para mayor compresión de la acción.

Se debe respetar el orden según Sector del proceso, detalle.

Ejemplo

Sector, Detalle

PAC, Bomba 1 dosificadora Manual/Auto

El comentario debe contener:

• Información detallada de la acción. • El texto debe tener un máximo de 0 a 40 caracteres de largo para

ser compatible con Topkapi.

Page 11: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 11 DAL

2.5 Configuración de las comunicaciones.

Redes de comunicación.

Cada PLC deberá estar integrado dentro de una red Ethernet, por lo tanto deberá estar identificado con una dirección IP definida.

Las direcciones IP serán suministradas en todos los casos por el Dto. Automatismos y Sistemas de Control.

Es muy probable que se utilicen otros tipos de redes bajo otros protocolos de comunicación además de Ethernet (Modbus-IP), como por ejemplo Fipway o Modbus. En todos los casos los números de estaciones para el caso de Fipway y los números Maestro/Esclavo para el caso de Modbus, serán definidos y suministrados por el Dto. Automatismo y Sistemas de Control.

2.6 Configuración de Entradas/Salidas analógicas.

Page 12: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 12 DAL

Entradas:

Todas las entradas analógicas utilizadas deberán estar escaladas en el cuadro de configuración del módulo, no deberán escalarse por programa.

Todas las entradas no utilizadas deberán estar desprovistas del tilde de habilitación del canal, para que de esta forma no se registren indicaciones de falla de módulo.

Salidas:

A diferencia de las entradas analógicas, las salidas analógicas no serán escaladas en el módulo, salvo solicitud expresa, las conversiones a valores de PLC (0 a 10.000) deberán estar hechos por programa.

Page 13: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 13 DAL

3 Autómatas línea Phoenix Contact

3.1 Estructura de la aplicación

Las aplicaciones estarán estructuradas de la de la siguiente forma:

Las POU LOGIGAS estarán divididas en Secciones. Cada sección deberá contener una agrupación lógica de funcionamiento del automatismo. Por ejemplo una sección que contenga las comunicaciones con el SCADA Topkapi, conjunto de válvula y Bomba 1, Bomba 2, arranque motores, etc.

Page 14: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 14 DAL

En cada sección, deberán estar declaradas las variables del ámbito “local” que sean empleadas en dicha sección.

Las variables de ámbito “global” deberán estar declaradas en la sección “Global_Variables” dentro de la sección “Equipo Físico” del sistema, tal como se muestra en la siguiente imagen.

Todas las mediciones ingresadas al autómata, cualquiera sea la forma de ingreso al mismo (4 a 20 mA, ethernet, etc.) deberán ser agrupadas en una sección particular.

Por ej. : caudalímetros, medidores de presión, instrumentos de calidad, etc.. En esta sección se realizarán las comparaciones y se generarán alarmas o bits de habilitación que sean necesarios.

El escalado de las entradas analógicas al PLC, serán realizadas en esta sección, empleando el bloque correspondiente. Debido a que el valor escalado obtenido es en formato REAL deberá convertirse a WORD empleando el bloque correspondiente. Ese resultado deberá estar en la tabla de comunicación al SCADA ya que este tipo de variables serán reportadas al sistema de Supervisión en formato de WORD entero de 16bits.

Si fuera necesario realizar gestiones de comunicación, con sus respectivas instrucciones y bloques, deberán ser agrupadas en una nueva sección.

Page 15: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 15 DAL

Todas las fallas provenientes de señales externas, como así también las generadas por procesos internos, serán seteadas y bloquearán el funcionamiento del equipo correspondiente. Los reset de estos bits seteados serán agrupados en una sección dedicada.

Teniendo en cuenta este concepto, cada proceso de consideración deberá ser ordenado en una sección a tal efecto.

Cada una de las secciones deberá llevar un breve comentario en el cual se informan los procesos que se realicen dentro de la misma.

Ej.:

Page 16: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 16 DAL

Lenguaje de programación

Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact, optamos por el lenguaje FBD, el cual nos permite incluir tanto bloques como ladder.

3.2 Organización de tablas de palabras para comunicación.

Las entradas físicas digitales deberán transferirse 16 entradas a una Word, de 16 bits sin signo, solo para las comunicaciones.

En el caso de las entradas analógicas, para la programación interna podrán utilizarse el tipo de dato REAL, pero luego deberán ser convertidas a Word 16 bits sin signo para la comunicación. Para los decimales deberá hacerse un corrimiento de la coma tal que por ejemplo para un valor de cloro de 2,81 (tipo REAL) sea convertido a 281 (tipo Word).

Para los TELECOMANDOS recibidos desde el Topkapi, deberán utilizarse variables de punto flotante.

Las salidas digitales no serán transferidas, salvo que se trate de algún equipamiento a comandar que no cuente con señalización (Ej.: vál. Solenoide).

Los Bits internos cuyo estado merezca comunicarse al SCADA también deberán ser transferidos a tablas de palabras.

Para la comunicación con el Sistema SCADA Topkapi, deberán programarse los bloques de comunicación MODBUS-IP correspondientes. El PLC modelo ILC 130 ETH soporta hasta 8 conexiones IP, por lo tanto deberán programarse 8 bloques y dejar activado/s los que se empleen al momento de la puesta en servicio (ACTIVATE = TRUE), y en modo desactivados los que queden en reserva (ACTIVATE = FALSE).

En todos los bloques deberán utilizarse la misma tabla MODBUS (MODBUS-Data), salvo que para algún caso en especial se especifique otra tabla.

Page 17: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 17 DAL

Ordenamiento de las tablas: La tabla de comunicación deberá tener la siguiente organización.

Tipo Dirección (desde – hasta)

Entradas Digitales: Word 100 a Word 199

Entradas Analógicas Word 200 a Word 249

Entradas Analógicas (punto flotante – doble) Word 250 a Word 299

Horas funcionam. De máquinas Word 300 a Word 348

Bits o palabras a comunicar Word 350 a Word 399

Palabras para uso general interno Word 400 a Word 599

Telecomandos digitales Word 600 a Word 624

Telecomandos analógicos (enteros) Word 625 a Word 649

Telecomandos analógicos (flotante - doble) Word 650 a Word 698

3.3 Identificación de las entradas y salidas físicas.

Todas las entradas y salidas físicas (analógicas y digitales) deberán estar definidas en la sección de GLOBAL_VARIABLES, en un grupo denominado “Entradas Salidas”, identificadas con un símbolo (NOMBRE), tipo de variable, ámbito de utilización (VAR_GLOBAL) y una descripción breve. El formato del nombre estará compuesto por iniciales o abreviaturas, separadas por guión bajo, sin espacio.

Page 18: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 18 DAL

En primer lugar deberá ir el equipo (Ej.: Bomba 1) y luego la acción o información que se extrae del mismo (Ej.: Marcha).

Ejemplo:

Bomba 1 – Retorno de archa

Nombre: B1_Ret_Marcha

Posteriormente, cada variable deberá estar enlazada a su correspondiente señal física, desde el “Área de trabajo de asignación de datos del proceso”

3.4 Configuración de las comunicaciones.

Redes de comunicación.

Cada PLC deberá estar integrado dentro de una red Ethernet, por lo tanto deberá estar identificado con una dirección IP fija, la cual deberá estar correctamente configurada desde la sección “Área de trabajo de configuración del BUS”.

Estas direcciones IP serán provistas por el personal de Automatismos y Sistemas de Control.

Page 19: NORMAS DE PROGRAMACIÓN DE PLC’S - aysa.com.ar - Normas... · Lenguaje de programación Dentro de todos los lenguajes posibles de programación que ofrecen los PLC de Phoenix Contact,

Normas de Programación de PLC’s D-AUT-001

AySA S.A. 19 DAL

Es muy probable que se utilicen otros tipos de redes bajo otros protocolos de comunicación además de Ethernet (Modbus-IP), como por ejemplo Fipway o Modbus. En todos los casos los números de estaciones para el caso de Fipway y los números Maestro/Esclavo para el caso de Modbus, serán definidos y suministrados por el Dto. Automatismo y Sistemas de Control.

3.5 Carga de la aplicación al PLC.

Al momento de realizar la carga de la aplicación al PLC, deberá incluir el código fuente de la misma.

Al momento de realizar la entrega del proyecto, el proveedor deberá entregar junto con la documentación, el código fuente de la aplicación y todas las librerías empleadas en archivo digital.

Finalizando el informe, queda establecido que cualquier duda sobre lo expuesto anteriormente deberá ser evacuada mediante el Departamento Automatización y Control de Procesos.

Deberán respetarse estas normas de programación, de lo contrario no se dará por aprobada ni recibida la Obra o Proyecto en cuestión.