Вы находитесь на странице: 1из 185

CPR de Badajoz

Curso 2012 /2013

AUTMATAS PROGRAMABLES APLICADOS A LAS INSTALACIONES TRMICAS

UD0.Guin general del curso.


Jos Mara Delgado Casado
Profesor Tcnico FP Instalaciones Electrotcnicas IES JAVIER GARCA TLLEZ (Cceres)

Curso Autmatas Programables


IES San Roque (BADAJOZ)

CPR de Badajoz
Curso 2012 /2013

AUTMATAS PROGRAMABLES APLICADOS A LAS INSTALACIONES TRMICAS

JUSTIFICACIN
La evolucin lgica de las instalaciones trmicas de edificio e industriales camina hacia tcnicas de control cada vez ms precisas y con respuestas
automticas. El conocimiento de los autmatas programables y de sus posibles aplicaciones en este campo se hace cada vez ms imprescindible para la
regulacin y control de dichas instalaciones.
OBJETIVOS
El objetivo principal del curso de autmatas programables es conocer la tipologa y caractersticas de los autmatas programables, as como dominar las
operaciones bsicas de los mismos, los lenguajes de programacin, el tratamiento de seales digitales y analgicas, etc. y su integracin en
aplicaciones del campo de las instalaciones trmicas y de fluidos.
CONTENIDOS (30 horas)
Distribucin en Unidades de Trabajo

1. Introduccin a los autmatas programables.


2. Lenguajes de programacin de autmatas programables.
3. Tipologa y conexionado de E/S en el autmata programable.
4. Software de programacin para los autmatas SIEMENS de nivel de
campo (S7-200 y S7-1200).
5. Juego de instrucciones de los autmatas SIEMENS S7-200 y
S7-1200.
6. Control digital con los PLCs SIEMENS S7-200 y S7-1200.
7. Control analgico con los PLCs SIEMENS S7-200 y S7-1200.
8. Aplicaciones y ejemplos a las instalaciones trmicas y de fluidos.

UD1. Introduccin a los autmatas programables.


UD2. Programacin de autmatas programables.
UD3. Lenguaje de programacin LD/KOP y set de
instrucciones.
UD4. Procesado de seales analgicas.
UD5. Aplicaciones prcticas al campo de instalaciones
trmicas y de fluidos.

CPR de Badajoz
Curso 2012 /2013

UD1. INTRODUCCIN A LOS AUTMATAS PROGRAMABLES.


1. Automatismos cableados vs. automatismos programados.
2. Estructura externa del autmata programable.
- CPU.
- Fuente de alimentacin.
- Mdulos de E/S.
- Puertos de comunicaciones.
- Modos de funcionamiento.
- Potencimetros analgicos.
- Expansin de memoria.
- Reloj de tiempo real.
- Otros elementos externos.
3. Estructura interna del autmata programable.
- Mapa de memoria.
- Estructura de la memoria.
- Tipos de datos.
- Direccionamiento.
- Ciclo de scan.

AUTMATAS PROGRAMABLES APLICADOS A LAS INSTALACIONES TRMICAS

UD2. PROGRAMACIN DE AUTMATAS PROGRAMABLES.


1. Mtodos de programacin.
2. Lenguajes de programacin.
- Listas de instrucciones.
- Lenguaje estructurado.
- Bloques funcionales.
- Lenguaje de contactos.
3. Software de programacin para S7-200 y S7-1200 de SIEMENS.
4. Estructura bsica y representacin en LD / KOP.
5. STEP-7/MicroWIN para S7-200.
- Comunicacin PG/PC.
- Carga de programa.
- Bloque de programa.
- Tabla de smbolos.
- Tabla de estado.
- Bloque de sistema.
- Referencias cruzadas.
6. STEP-7 TIA Portal V11 SP2 para el S7-1200.
- Descripcin del entorno.
- Comunicacin PG/PC.
- Carga de programa y otros elementos.

CPR de Badajoz
Curso 2012 /2013

UD3. LENGUAJE DE PROGRAMACIN LD /KOP E INSTRUCCIONES.


1. Introduccin al lenguaje LD / KOP.
2. Elementos bsicos de programacin en LD / KOP.
- Contactos.
- Bobinas.
- Funciones SET / RESET.
- Temporizadores (S7-200 y S7-1200).
- Contadores.
- Operaciones lgicas con lenguaje de contactos.
- Operaciones con flancos.
- Operaciones de memoria y uso de marcas.
- Marcas especiales.
2. Otras instrucciones de programacin en LD / KOP.
- Comparaciones.
- rdenes de movimiento.
- Bloques de organizacin de programa en S7-200.
- Bloques de organizacin de programa en S7-1200.

AUTMATAS PROGRAMABLES APLICADOS A LAS INSTALACIONES TRMICAS

UD4. PROCESADO DE SEALES ANALGICAS.


1. Seales digitales y seales analgicas.
2. Tratamiento de seales analgicas en el S7-200.
- Mdulos.
- Resolucin.
- Conexionado.
- Tratamiento de valores.
- Escalado de valores.
- Ejemplos.
3. Tratamiento de seales analgicas en el S7-1200.
- Mdulos.
- Resolucin.
- Conexionado.
- Tratamiento de valores.
- Escalado de valores.
- Ejemplos.

CPR de Badajoz
Curso 2012 /2013

AUTMATAS PROGRAMABLES APLICADOS A LAS INSTALACIONES TRMICAS

UD5. APLICACIONES PRCTICAS AL CAMPO DE LAS INSTALACIONES TRMICAS Y LOS FLUIDOS.


EJ1. Control de ventilador de extraccin.
EJ2. Control de llenado de depsito.
EJ3. Funcionamiento de bomba centrfuga con SET / RESET.
EJ4. Automatizacin de cintas de transporte.
EJ5. Control de llenado de depsitos de combustible.
EJ6. Acceso de personal a sala controlada.
EJ7. Llenado de depsito de agua mediante grupos de bombeo.
EJ8. Control de resistencias en horno industrial mediante potencimetros.
EJ9. Control analgico de temperatura de aceite de refrigeracin.
EJ10. Control de temperatura y humedad en invernadero.

MATERIALES ADICIONALES:

Recursos

https://www.evernote.com/pub/jmardelc/automatasiessanroque

CPR de Badajoz
Curso 2012 /2013

UD1.Introduccin a los
Autmatas Programables
Jos Mara Delgado Casado
Profesor Tcnico FP Instalaciones Electrotcnicas IES JAVIER GARCA TLLEZ (Cceres)

UD1. Introduccin a los autmatas programables


1. Automatismos cableados y programados.
AUTOMATISMO: Dispositivo capaz de realizar secuencias de acciones sin intervencin directa del usuario.
Tradicionalmente se han distinguido dos grandes paradigmas en la automatizacin:
AUTOMATISMOS
CABLEADOS

Foto: Jos Luis Montalvillo

Implementados en base a la interconexin de elementos


discretos (rels, contactores, dispositivos de proteccin,
temporizadores, rels-borna,...)

AUTOMATISMOS
PROGRAMADOS

Foto: Siemens

Existe una unidad central de proceso (CPU), que sustituye


al esquema de mando en base a elementos interconectados.

Soluciones econmicas para automatizacin discreta.


Rpido montaje sin conocimientos de automatizacin
programada.
Simplicidad con nmero reducido de elementos.

Fcilmente adaptable a cambios productivos.


Posilibidad de integracin en sistema de comunicacin.
Complejidad escalable acorde con la funcin.

X Complejidad exponencial al aumentar el nmero de


elementos.
X Difcil diagnstico de disfunciones y averas.
X Rigidez respecto a cambios en los procesos productivos.

X Solucin poco econmica en sistemas sencillos.


X Necesidad de conocimientos especficos de programacin.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


1. Automatismos cableados y programados.
Los automatismos programados tienen como base el PLC (Programmable Logic Controller) Controlador Lgico Programable: dispositivo electrnico, capaz
de ser programado externamente y que posibilita el control de procesos industriales.
Son dispositivos fcilmente programables por la mayora de los tcnicos.
Enormemente verstiles.
Permiten cambios en el proceso productivo de forma sencilla.
Son integrables en sistemas de comunicaciones.
Largo tiempo de vida.
Adaptables a entorno industrial (de forma fsica y lgica).
Escalables en complejidad y funcionamiento dependiendo del sistema en que deban ser integrados.

Los PLCs surgen como evolucin natural a la necesidad industrial de facilitar los cambios en los procesos, y corre
paralela a la evolucin electrnica de los dispositivos en el ltimo cuarto del s.XX, habiendo evolucionado desde el
MODICON 084 (Bedford Associates, posteriormente Gould Electronics, posteriormente AEG y posteriormente
Schneider Electric).

ZELIO (Schneider Electric)

MODICON 084
Foto:

CP1L (Omron)

S7-400 (Siemens)

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
El autmata programable tiene una estructura externa tan variada como marcas, modelos, aplicaciones y entornos existen. No obstante, al igual que un
coche tiene siempre puertas, motor y cristales, los PLCs comparten caractersticas comunes desde el punto de vista fsico (externo) y lgico (interno).

Procesador
Memoria

PC

Fuente de alimentacin

Red elctrica

CPU

Interfaz de entradas

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

Comunicaciones

Interfaz de salidas

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
Desde un punto de vista externo y atendiendo a la modularidad, existen varios tipos de autmatas programables:
A) Autmatas de estructura compacta:
Es lo ms comn entre los autmatas de nivel de sensor / actuador y nivel de campo (autmatas de gama baja y del tipo rel programable). Constan de un
nico bloque en el que se integran los elementos anteriormente vistos (interfaz de E/S, fuente de alimentacin, CPU, interfaz de comunicaciones,
accesorios,...).

Interfaz de salidas

Expansin

Puerto de comunicaciones (RS-485)


(Conexin a PC / Comunicacin PPI)

Foto: Siemens

Interfaz de entradas

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

Fuente de alimentacin
(integrada)

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.

B) Autmatas de estructura modular:


Es una estructura ms tpica de autmatas de nivel jerrquico superior (nivel de campo y nivel de clula), destinados a gobernar redes de autmatas y al
almacenamiento y volcado de datos en sistemas de gestin industrial centralizada). Los modulos son individuales e interconectables entre s, pudiendo
adoptar una estructura crecedera en funcin de las necesidades de E/S, comunicacin, alimentacin, etc.
Interfaz de entradas DI

Interfaz de salidas D0

Fuente de alimentacin

Foto: Siemens

CPU

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

Interfaz de E/S DI/DO

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.1. CPU.
La CPU (Central Process Unit o Unidad Central de Proceso) est constitutida por el microprocesador y la memoria del PLC, y se encarga de la coordinacin
de tareas, almacenamiento y control de comunicaciones y perifricos del dispositivo y procesamiento del programa de usuario.
La CPU dispone de varias memorias diferentes, cada una destinada a una misin diferente:

Memoria

Lectura / Escritura

VOLTIL

RAM

Slo lectura

Aplicaciones
Datos internos
Memoria imagen E/S

ROM

Firmware
Rutinas y funciones
Intrprete

EPROM

Programa de usuario
(depurado)

NO VOLTIL
RAM+Batera
EPROM+Batera

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

Programa de usuario
Datos internos mantenidos
Parmetros
RTC

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.1. CPU.
Tanto el S7-200 como el S7-1200 de Siemens poseen diversas CPUs. Se diferencian en cantidad de memoria, rapidez de proceso, posibilidades de
ampliacin de mdulos, comunicaciones integradas, etc.

CPU 21x

S7-200 (Siemens)

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.1. CPU.

S7-200 (Siemens)

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

CPU 22x

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.1. CPU.
CPU 1200

S7-1200 (Siemens)

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.2. Fuente de alimentacin.
Todos los modelos de PLC incorporan una fuente de alimentacin que tienen como misin la conversin de la ac de red en cc para poder alimentar los
circuitos integrados y los componentes electrnicos del interior del autmata. Por lo general, la tensin de trabajo interna suele ser de 24 Vcc.
En el caso de los PLCs compactos (como S7-200 y S7-1200), la fuente viene integrada en el cuerpo del autmata, dando la posibilidad de alimentacin de
elementos a 24 Vcc si la alimentacin del dispositivo es a 230 Vca.
En el caso de los PLCs modulares, la fuente de alimentacin debe tener capacidad suficiente para alimentar CPU, mdulos E/S, mdulos de comunicaciones
y captadores activos (si se incorporan).
Adems, las fuentes de alimentacin implementan caractersticas como:
Aislamiento frente al ruido electromagntico, comn en los ambientes industriales.
Aislamiento o independizacin de alimentacin mediante fuentes separadas (CPU, E y S).
Bus interno desde CPU a resto de unidades para la alimentacin.
Batera interna para el mantenimiento de algunas posiciones de memoria, con capacidad de entre 1500 y 5000 mAh.
(...)
Fuente de alimentacin 5A para S7-300 / 400

Foto: Siemens

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.2. Fuente de alimentacin.
Los S7-200 y S7-1200 de Siemens pueden tener alimentacin en AC DC. En el primer caso cuentan con fuente de alimentacin interna, si bien los modelos
DC requieren una alimentacin externa a 24 Vcc.
La alimentacin a AC DC puede identificarse en las caractersticas del modelo:
Indica el tipo de alimentacin de CPU

S7-200 (Siemens)

Indica el tipo de alimentacin de CPU

S7-1200 (Siemens)

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.2. Fuente de alimentacin.
Las fuentes de alimentacin del S7-200 es capaz de proporcionar hasta 280 mA, mientras que la del S7-1200 puede proporcionar hasta 300 mA. De esta
capacidad es necesario restar las demandas de los elementos del sistema (mdulos de ampliacin, comunicaciones, etc...). La tensin proporcionada en
ambos casos es de 24 Vcc.
230 Vca
Fuente de alimentacin 24 Vcc

Fuente de alimentacin 24 Vcc

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.3. Mdulos de E/S.
Los interfaces de E/S establecen la comunicacin entre los elementos externos al autmatas y la CPU.
Tienen como funcin en el caso de los interfaces de entrada, filtrar, adaptar y codificar de forma comprensible para la CPU las seales procedentes de los
elementos de entrada.
Los interfaces de salida, en cambio, deben decodificar y ampliar las seales generadas durante la ejecucin del programa antes de enviarlas a los elementos
de salida.
Son especialmente relevantes los mdulos de E/S de seal, que pueden clasificarse en:

Seales discretas (0/1)

Mdulos de entradas digitales.


Mdulos de salidas digitales.

Incorporados en los bloques compactos de S7-200 y


S7-1200 (variables en nmero segn modelo).

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

Seales continuas (rango)

Mdulos de entradas analgicas.


Mdulos de salidas analgicas.

No incorporados en bloques compactos de S7-200, pero


s incorporadas 2 AI en bloque compacto de S7-1200.

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.3. Mdulos de E/S.
Los mdulos de entradas digitales reciben informacin de control de un proceso, mquina o instalacin, dirigiendo esta informacin adaptada a la CPU, que
procesar los datos en base al programa residente en memoria.
Al mdulo de entradas digitales pueden conectarse captadores pasivos o activos libres de tensin o con tensin a 24 Vcc (en el caso de S7-200 y S7-1200),
tales como pulsadores, sensores inductivos / capacitivos / ultrasonidos, detectores de magnitud, sensores electromecnicos, etc.
Foto: IP83

Foto: mecanicaelectric

Foto: fornvalls

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

Foto: Siemens

Foto: Rockwell Aut.

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.3. Mdulos de E/S.
Existen dos posibilidades de alimentacin de entradas digitales en los autmatas programables de nivel de sensor / actuador:
Entradas a 24Vcc

Entradas a 230Vca

24 Vcc
L+

24 Vcc

I1

I2

I3

I4

I5

Sensor pasivo

L+

1M

I1

I2

I3

I4

Sensor pasivo

Sensor activo

Es lo ms comn en autmatas industriales a nivel de


sensor / actuador (2 cifra DC en modelos)

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

Reservado a autmatas de aplicacin domtica o de


gestin de edificios (tipo LOGO o Zelio).

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.3. Mdulos de E/S.
Los mdulos de salidas digitales tienen como misin enviar las seales de activacin y desactivacin a los actuadores (bobinas de contactores, rels,
triacs, lmparas, etc).
La CPU realiza la conmutacin de las salidas digitales en funcin de las condiciones procesadas por el programa de usuario y el estado de las entradas,
propagndose la seal a los preactuadores y actuadores.
Foto: Siemens

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

Foto: Telemecanique

Foto: Telemecanique

Foto: Siemens

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.3. Mdulos de E/S.
Existen dos posibilidades de salidas digitales: salidas a rel y salidas a transistor:
- Las salidas a rel incorporan un microrel en el mdulo de salidas que realiza la conmutacin de la misma cuando la imagen del proceso de las salidas as
lo refleja tras el ciclo de scan.
- En las salidas a transistor, por contra, no existe conmutacin mecnica, sino electrnica, pasando un transistor de corte a saturacin tras la modificacin de
la tensin en puerta.
Tanto en el S7-200 como en el S7-1200 existen modelos con salidas a rel y con salidas a transistor. Ambos tipos de salidas son libres de tensin. Pueden
identificarse en su modelo de CPU:

CPU 224 AC/DC/RLY


CPU 224 DC/DC/DC
S7-200 (Siemens)

CPU 1211C AC/DC/RLY


CPU 1211C DC/DC/DC
Imagen: J.C.M. Castillo (REEA)
S7-1200 (Siemens)

Imagen: J.C.M. Castillo (REEA)

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.3. Mdulos de E/S.
A la hora de realizar el conexionado de las salidas digitales, no hay que olvidar que estas salidas son libres de tensin, por lo que es independiente el
conexionado de salidas alimentadas a 230Vca como el de salidas conectadas a otras tensiones (24Vcc)

L
N

Salidas a 230 Vca

KM1 (230 Vca)

1L

KM2 (24 Vcc)

.1

.2

.3

2L

Salidas a 24Vcc

.4

.5

24 Vcc

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.3. Mdulos de E/S.
Los mdulos de entradas analgicas y salidas analgicas permiten tratar valores dentro de un rango. De esta forma, no reciben de los sensores o envan a
los actuadores valores todo / nada, sino valores dentro de un rango de tensin / corriente.
Los estndares ms habituales de tensin / corriente empleados para entradas y salidas analgicas son:

Tensin

Corriente

0 a 10 Vcc

4 a 20 mA

-10 a +10 Vcc

0 a 20 mA

2 a 10 Vcc

1 a 5 mA
0 a 5 mA

Memoria

Dado que el PLC slo trata internamente en memoria informacin digital, los mdulos de E/S analgicos deben realizar un escalado de valores en el
programa de usuario para el tratamiento de la seal.

+32767

-32768
Rango de seal

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

0V

10 V

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.3. Mdulos de E/S.
El nmero de E/S disponibles depende del modelo de autmata:

CPU 1211C

CPU

Modelo

DI

DO

AI

AO

S71200

CPU 1211C
CPU 1212C

S7200

CPU 224

14

10

S7-1200 (Siemens)

S7-200 (Siemens)

El nmero de E/S, tanto digitales como analogicas, puede ser ampliado mediante mdulos de ampliacin. No obstante, todas las CPUs no soportan el
mismo nmero de mdulos subordinados, por lo que es conveniente conocer las posibilidades de ampliacin de las mismas si se preveen cambios en los
procesos productivos.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.3. Mdulos de E/S.
El S7-200 (CPU 224) y el S7-1200 (CPU 1211C y 1212C) cuentan con las siguientes posibilidades de ampliacin de E/S:

S7-200 (Siemens)
S7-1200 (Siemens)

CPU 224

Ampliable mediante:
mdulos EM 2xx

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

CPU 1211C

NO ampliable en DI/
DO con SM

CPU 1212C

S ampliable mediante
Signal Board

Permiten incorporar AO
sin necesidad de SM

S ampliable en DI/
DO con SM

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.4. Otros elementos fsicos: puertos de comunicaciones.
El S7-200 posee un puerto RS-485 integrado (excepto CPU 224XP y 226, que poseen 2) que permite su comunicacin va PC o su integracin en red (va
protocolos PPI, MPI Freeport), con un rango de velocidades de comunicacin entre 1.2 y 187.5 Kbps.
El S7-200 posee un puerto RS-485 integrado (excepto CPU 224XP y 226, que poseen 2) que permite su
comunicacin va PC o su integracin en red (va protocolos PPI, MPI Freeport), con un rango de velocidades
de comunicacin entre 1.2 y 187.5 Kbps.
Dado que la mayora de los equipos programadores (PC) no disponen de interfaz RS-485 (excepto PCs
industriales), de cara a la comunicacin PG/PC, es necesario establecer un interfaz de comunicacin con el
equipo desde el PC (va USB o va RS-232).

Foto: Siemens

PC/PPI USB

PC/PPI RS-232

RS-485

Necesita adaptador + drivers USB-RS232


(no presente en PCs y porttiles)

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.4. Otros elementos fsicos: puertos de comunicaciones.
El S7-1200 no incorpora puerto RS-485 (aunque s es posible incorporarlo va CM 1241), pero s incorpora por defecto puerto integrado Ethernet para
comunicacin PG/PC o para su integracin en red Ethernet / Profinet.
Si la comunicacin se realiza de forma directa PG/PC, deber emplearse un cable cruzado de red para la
comunicacin (si bien la mayora de sistemas cuenta con autodeteccin de comunicacin directa/cruzada).

Ethernet Cross-over

Foto: aest.it
RJ-45

Foto: Asavin

De cara a la comunicacin directa, es necesario asegurarse de que ambos dispositivos se localizan en la misma subred (rango de direcciones IP comn).
La incorporacin de Ethernet a los interfaces de comunicacin de autmatas de gama baja como el S7-1200 permite una sencilla integracin en red,
posibilitando adems el uso de protocolos deterministas (ProfiNET), con altas velocidades de comunicacin y la posibilidad de integracin en sistemas
informticos complejos.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.4. Otros elementos fsicos: modo de funcionamiento (RUN/TERM/STOP).
El S7-200 incorpora un interruptor fsico para el control del modo de
funcionamiento, que puede adoptar tres posiciones:
- RUN: el autmata corre el programa de usuario de forma continua,
vigilando el estado de las entradas y actuando en consecuencia.
- STOP: el autmata no corre el programa de usuario.
- TERM: la posicin TERM no cambia el modo de funcionamiento del PLC
(RUN STOP), pero s permite el control del modo de funcionamiento desde
el PC.

El S7-1200 no incorpora interruptor fsico para el control del modo de


funcionamiento. La conmutacin entre modo STOP y RUN slo se puede
realizar desde el PC (o desde el programa de usuario si est preparado para
ello).
Ambos equipos incorporan la sealizacin del modo de funcionamiento
mediante LEDS de estado.

Imagen: Siemens

Sealizacin modo
de funcionamiento

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

LEDs de estado S7-1200

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.4. Otros elementos fsicos: potencimetros analgicos (slo S7-200)
El S7-200 incorpora 1 2 (en funcin de CPU) potencimetros analgicos
en las CPUs 22x de 8 bits integrados.
Los potencimetros analgicos permiten ajustar de forma directa, sin
necesidad de intervenir en el programa de usuario, secuencias de proceso y
ajustar valores en memoria, valores de tiempo, preajuste de contadores, etc.
De esta forma, sin necesidad de cambiar el programa, puede actuarse sobre
un tiempo de arranque de motor, ajuste de tiempo de soldadura, valores de
contaje de clulas, etc.

El S7-1200 no incorpora potencimetros integrados, pero s 2 AI mediante


las cuales poder realizar la conexin externa de potencimetros, sensores,
etc., con una resolucin de 10 bits.

Imagen: Siemens

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.4. Otros elementos fsicos: cartucho / tarjeta de memoria.
Tanto el S7-200 como el S7-1200 incorporan la posibilidad de integrar cartucho de memoria (Memory
Cartridge en S7-200) tarjeta de memoria (Memory Card en S7-1200) para ampliar la memoria de
almacenamiento.
Mediante los cartuchos o tarjetas de memoria es posible realizar el volcado de configuracin,
programa y RAM entre autmatas programables sin necesidad de carga desde PC.

En el caso de las Memory Card del S7-1200 slo es posible usar las Siemens Memory Card, de forma
que el autmata no admite otro tipo de tarjetas de almacenamiento (tampoco las de S7-300 S7-400):

Imagen: Siemens

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.5. Otros elementos fsicos: reloj de tiempo real (RTC).
Una de las funcionalidades que implementa los autmatas de nivel de campo / sensoractuador es la integracin de un reloj en tiempo real (RTC o Real Time Clock).

Imagen: RS-online

Mediante el RTC es posible realizar funciones dependientes de calendario, como la


activacin / desactivacin de salidas en fechas y horas, el almacenamiento de datos de
fechas y operaciones dependientes de los mismos (p.e. orientaciones de sistemas por
calendario, como en seguidores solares), etc.

El reloj en tiempo real viene integrado en S7-1200, pudiendo operarse con l de forma directa.

En el caso del S7-200 el reloj viene incluido en algunas CPUs, mientras que no lo hace en otras, estando disponible como hardware externo insertable en la
ranura de cartucho de memoria.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


2. Estructura externa del autmata programable.
2.6. Elementos fsicos externos.
Los autmatas de nivel sensor / actuador y campo incorporan la posibilidad, va interfaz de comunicaciones, de conexin a mltiples elementos externos del
sistema de automatizacin que complementan la funcionalidad de los mismos:
- Visualizadores y pantallas de operacin HMI (Human Machine Interface): Tienen como misin modificar parmetros de sistema,
obtemer mensajes de alarma, visualizar el estado de proceso, forzar entradas / salidas, etc.
Existen como elementos nicamente textuales (como el TD200 para el S7-200) o como elementos grficos (como los paneles HMI, con
una amplia gama de pantallas de informacin, tctiles, etc.), y suelen emplearse como puesto de supervisin en procesos industriales
que necesiten interaccin continua.

- Interfaces de comunicacin: tanto para S7-200 como el S7-1200 existen multitud de mdulos de comunicaciones (CM, CP, TC,...)
que permiten integrar comunicaciones con diversos protocolos para la integracin en redes de comunicacin. De este modo existen
mdulos Ethernet (CP 243-1) Profibus (EM 277) para el S7-200, o mdulos RS-232 RS-485 (CM 1241 232 485) para el S7-200.
De la misma forma, existen interfaces GSM GPRS para la comunicacin en red de datos telefnica (TC35i para S7-200 CP 1242-7
para S7-1200), o para la integracin de los autmatas en redes ASi MODBUS.

- (...)

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


3. Estructura interna del autmata programable.
3.1. Mapa de memoria.
El funcionamiento y la programacin de un autmata programable se basa en la estructura de su mapa de memoria: cmo y dnde almacena los datos, cmo
y los procesa, cmo vigila el estado de E/S y opera en consecuencia, etc.
La estructura de la memoria de un autmata programable puede clasificarse de forma general en 4 grandes reas:

1. Memoria del programa de usuario: En esta zona queda almacenado el programa de usuario que se ejecuta cclicamente.
2. Memoria de la tabla de datos: Se estructuras en reas. Cada una de ella est destinada a almacenar un tipo de dato distinto y con una funcionalidad
diferente. De este modo, habr un rea de entradas, otro de salidas, de marcas internas o locales, de temporizadores, de contadores...
3. Memoria del sistema: Aqu se encuentra almacenado el firmware del sistema. Es el sistema operativo del autmata, ejecutado y controlado por el
microprocesador.
4. Memoria de almacenamiento: Se trata de memoria externa que empleamos para almacenar el programa de usuario. Suele ser de tipo EPROM o
EEPROM.
Los autmatas programables almacenan los datos que procesan en diferentes reas de memoria. El desarrollo de programas requiere conocer de forma
adecuada cules son estas reas de memoria para poder acceder a las mismas y direccionar las instrucciones. Cada autmata programable tiene una
estructura de memoria (mapa de memoria) diferente, con nombres particulares y tamaos distintos.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

Programa de usuario

Bloque de datos

Memoria de sistema

Memoria de
almacenamiento

UD1. Introduccin a los autmatas programables


3. Estructura interna del autmata programable.
3.1. Mapa de memoria.
Aunque el mapa de memoria de cada autmata programable es muy diferente entre s, en los autmatas de nivel sensor / actuador o campo existen una
serie de reas comunes y tipificadas, cuya nomenclatura cambia, pero no su finalidad. Algunas de ellas son las siguientes:
1) rea de entradas: El rea de entradas es una zona de la tabla de datos destinada a almacenar el estado de la imagen del proceso de las entradas. De
esta forma, en cada ciclo de scan (ciclo de ejecucin del programa de usuario), el autmata programable escanea el estado de las entradas y las almacena en
el rea de memoria destinada a ello.
2) rea de salidas: De forma anloga al rea de entradas, almacena el estado de la imagen del proceso de las salidas.
3) rea de marcas: El rea de marcas est diseada para ser empleada como rels de control que almacenen el estado inmediato de una operacin u otra
informacin de control.
4) rea de temporizadores: rea especfica destinada a almacenar valores de temporizadores empleados en programa de usuario.
5) rea de contadores: rea especfica destinada a almacenar valores de contadores empleados en programa de usuario.
6) rea de bloque de datos / variables: rea destinada al almacenamiento de datos necesarios en el programa de usuario.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

Imagen: Siemens

UD1. Introduccin a los autmatas programables


3. Estructura interna del autmata programable.
3.2. Estructura de la memoria.
El mapa de memoria de cada autmata programable se estructura en unidades de informacin.
- BIT: El bit es la cantidad de informacin ms pequea en un sistema digital. Slo puede almacenar dos estados: 0 1, activado o desactivado.

- BYTE (B): La CPU organiza los bits de datos en grupos. Cada grupo de 8 bits se denomina byte. Cada bit del grupo est definido por una posicin
propia con una direccin especfica, compuesta por la direccin del byte y la del bit referido.

MSB

LSB

La posicin del bit dentro del byte suele denominarse peso, ya que en la codificacin binario-decimal la posicin de dicho byte determina la influencia en el
resultado de la conversin. De esta forma, al primer bit del byte se le denomina LSB (Less Significant Bit Bit Menos Significativo), mientras que al
ltimo bit del byte se le denomina MSB (Most Significant Bit Bit Ms Significativo).
- PALABRA (W): Un grupo de dos bytes se denomina palabra. Los bytes deben ser para ello consecutivos.

- DOBLE PALABRA (DW): Se denomina doble palabra a dos palabras consecutivas (1 doble palabra = 2 palabras = 4 bytes = 32 bits).

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


3. Estructura interna del autmata programable.
3.3. Tipos de datos.
A pesar de que todos los datos en la memoria del PLC se estructuran en base a las formaciones anteriores, la codificacin de los mismos puede
hacerse en los denominados tipos de datos.

Rango
Tipo de dato

Byte (8 bits)

Word (16 bits)

Double Word (32 bits)

----

----

----

0 a 255

0 a 65535

0 a 4.294.967.295

-128 a +127

-32768 a +32767

-2.147.483.648 a +2.147.483.647

----

----

(1)

Bool
(1)

Entero sin signo


Enterno con signo
Real en coma flotante

(1)

+1,175495E-38 a +3,402823E+38 (positivo)

(1)

-1,175495E-38 a -3,402823E+38 (negativo)

Fecha

(3)

----

D#1990-1-1 a D#2168-12-31

----

----

----

TOD#0:0:0.0 a TOD#23:59:59.999

0 a 255 (1 byte por carcter)

----

----

(3)

Hora
Char
DTL

(1)

(3)

(12 bytes) Mn.: DTL#1970-01-01-00:00:00.0 Mx.: DTL#2554-12-31-23:59:59.999 999 999

(1) Comn a S7-200 y S7-1200.


(2) Slo S7-200.
(3) Slo S7-1200.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


3. Estructura interna del autmata programable.
3.3. Tipos de datos.
El compendio anterior de tipos de dato es un compendio de los especificados en sus respectivos manuales de sistema para el S7-200 y el S7-1200:
S7-1200

S7-200

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


3. Estructura interna del autmata programable.
3.4. Direccionamiento.
Para que un PLC puede procesar datos de las reas de memoria, es necesario referir de forma adecuada dichas zonas en la codificacin del programa.
Hacer esto implica naturalmente conocer el mapa de memoria del autmata programable. Existen dos formas de poder referir reas de memoria en el
programa de usuario: direccionamiento directo y direccionamiento indirecto.
El primero (direccionamiento directo) es el ms habitual, mientras que emplear el segundo implica el uso de punteros, estando por tanto reservado a
operaciones o funciones muy especficas.
El direccionamiento directo se basa en indicar el acrnimo de rea de memoria y el formato adecuado a la direccin referido (bit, byte, palabra, doble
palabra o bloque de datos):

ACRNIMO DE REA + FORMATO DE DIRECCIN


El S7-200 y el S7-1200 comparten algunas reas comunes de memoria, pero no otras. Las ms relevantes son las siguientes:

Zonas de memoria

Identificador Siemens

Procesan / Almacenan

Entradas

Entradas fsicas

Salidas

Salidas fsicas

Marcas

Variables de procesamiento interno

Temporizadores

Valores de tiempo

Contadores

Valores de contaje

SM

Operaciones de sistema

Datos de variables

DB

Datos de variables

Variables de sistema
Variables
Bloque de datos

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

(2)
(2)
(3)

UD1. Introduccin a los autmatas programables


3. Estructura interna del autmata programable.
3.4. Direccionamiento.
Para acceder a un bit en un rea de memoria es preciso indicar la direccin del mismo, compuesta por un identificador de rea, la direccin del byte y el
nmero del bit, en el siguiente formato:

Exiten reas de memoria a las que es puede ser necesario referirse con una direccin en formato byte, palabra o doble palabra (I, Q, V, SM, ...), indicando
para ello el acrnimo de rea, el formato referido (B, W, D) y el nmero de direccin:

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


3. Estructura interna del autmata programable.
3.4. Direccionamiento.
Existen otras reas de memoria (temporizadores, contadores, acumuladores,...) a las que es preciso acceder utilizando una direccin compuesta por
identificador de rea y nmero de elemento:

T37, C1, AC0,...


El S7-1200 hereda caractersticas de modelos superiores (S7-300, S7-400 y ahora S7-1500) como los bloques de datos, no presentes en el S7-200.
Los bloques de datos (DBs) se utilizan para almacenar diferentes tipos de datos, incluyendo el estado intermedio de una operacin u otra informacin de
control, as como estructuras de datos requeridas para numerosas instrucciones, p. ej. temporizadores y contadores.
Los bloques de datos en el S7-1200 pueden ser bloques de datos globales (accesibles
desde cualquier funcin, bloque de funcin o parte de programa del PLC) o bloques de
datos de instancia (accesibles nicamente desde bloques de funcin que necesitan del
almacenamiento de datos especficos).
Los bloques de datos (DB) llevan su propio tipo de direccionamiento, de modo que ste
debe hacerse de la siguiente forma:

A pesar de que el funcionamiento del direccionamiento directo en el S7-1200 es similar al


S7-200, debido a la diferencia de arquitectura lgica, TIA Portal V11 SP2 permite
referenciar multitud de parmetros de reas de memoria, que en el caso de MicroWIN no
es posible.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


3. Estructura interna del autmata programable.
3.5. Ciclo de scan.
El PLC ejecuta el programa de usuario de forma repetitiva. Esta ejecucin se denomina ciclo de scan, y se ejecuta de forma permanente (excepto en el
primer ciclo de scan, que se realizan tareas adicionales). De esta forma, en cada ciclo el PLC realiza una serie de tareas repetitivas:
1. Lectura de entradas: el PLC copia el estado de las entradas en un rea de memoria especfica
denominada imagen de estado de las entradas. De esta forma podr operar en el programa de usuario
con su estado. Si una entrada cambia durante el proceso de ciclo de scan, no ser hasta el siguiente
ciclo que se tenga en cuenta dicho cambio.

2. Ejecucin de la lgica de control de programa: El PLC ejecuta el programa de usuario y guarda los
valores en diversas reas de memoria, entre ellas en la imagen de proceso de las salidas.

3.Proceso de las peticiones de comunicacin: El PLC ejecuta las tareas de comunicacin


establecidas en configuracin o en programa de usuario.

Imagen: Siemens

4. Ejecucin del autodiagnstico del PLC: se verifica el firmware, la memoria de programa y mdulos
de ampliacin, y se actualizan los registros dependientes de los mismos.

5. Escritura de salidas: Se actualiza el estado de las salidas a partir de la imagen de proceso de las
salidas.

El tiempo de scan se define como el empleado para ejecutar los pasos anteriores, y puede variar entre 3 y 10 milisegundos, dependiendo de varios
factores: modelo de autmata y procesador, tamao de programa, operaciones de comunicacin dependientes, etc.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD1. Introduccin a los autmatas programables


3. Estructura interna del autmata programable.
3.5. Ciclo de scan.
En el caso del S7-200 y S7-1200, el ciclo de scan puede considerarse que consta de 3 partes, como puede verse en la figura inferior. Estas 3 partes
configuran dos tiempos de funcionamiento, que se suman para dar lugar al total del ciclo de scan:
1. Tiempo de sistema operativo : comprende el tiempo de las fases 1 y 3
(imagen del proceso de entradas e imagen del proceso de salidas).
Normalmente ronda alrededor de 1 ms.
2. Tiempo de ejecucin de las instrucciones: es el tiempo invertido en el
bloque 2: ejecucin de las rdenes de programa. El tiempo invertido depende de
la cantidad de instrucciones y de la frecuencia de operacin del
microprocesador.
A pesar de que en operaciones no crticas en tiempo no influye en demasa, es
importante tener en cuenta lo anteriormente comentado: los cambios en
entradas fsicas no son reflejados en el proceso hasta el ciclo de scan siguiente,
ya que la IPE (Imagen del proceso de entradas) se congela durante el proceso
del ciclo.

Imagen: Siemens

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

CPR de Badajoz
Curso 2012 /2013

Podis encontrarme en:

@JM_Delgado

Jos Mara Delgado Casado


jmdelgado@elec2.es

www.elec2.es

http://www.youtube.com/jmardelc

http://www.slideshare.net/Jmardelc

http://pinterest.com/jmardelc/

http://magnetic.tumblr.com/

Jos Mara Delgado Casado

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

CPR de Badajoz
Curso 2012 /2013

Todo el material contenido y generado en este documento, excepto aquellas imgenes que pudieran tener licencia copyright y que se han empleado con
fines educativos, estn licenciados bajo Creative Commons CC BY-NC-SA 3.0 ES.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

CPR de Badajoz
Curso 2012 /2013

UD2.Programacin
de Autmatas Programables
Jos Mara Delgado Casado
Profesor Tcnico FP Instalaciones Electrotcnicas IES JAVIER GARCA TLLEZ (Cceres)

UD2. Programacin de Autmatas Programables


1. Metodos de programacin.
Los PLCs han dispuesto habitualmente de cuatro mtodos de carga de programas de usuario para la realizacin de tareas, algunos hoy reservados a ciertos
modelos de autmatas, otros en desuso y otros establecidos como estndares habituales de interaccin con los dispositivos:
1. Programacin desde consola de programacin. Las consolas de programacin permiten el cambio en el programa de usuario del PLC sin necesidad de
disponer de equipos PC para el volcado de programa. Su uso era especialmente amplio hasta la aparicin de equipos porttiles y las altas velocidades de
transmisin en comunicaciones.
2. Programacin desde el propio dispositivo. Los dispositivos tipo rel-programable (Siemens Logo, Telemecanique Zelio,
etc.) pueden ser programados a travs de interfaz incorporado en el propio dispositivo, permitiendo de esta forma una rpida
posibilidad de cambios en programa sin necesidad de equipos externos.

Foto: OMRON

Foto: Siemens

Imagen: Siemens

3. Programacin desde software de programacin. Es el mtodo ms habitual para la programacin de dispositivos. Cada fabricante dispone de una
plataforma software propia, desarrollada en base a los estndares IEC 61131 (en Espaa, UNE-EN-61131), que permite la interaccin con sus dipositivos
(programacin, monitorizacin, comunicacin, etc.).
4. Programacin desde red. La integracin de los dispositivos en redes de comunicaciones ha posibilitado que en dispositivos esclavos de red puedan
volcarse de forma directa bloques de programa desde dispositivos de rango superior a travs de redes de comunicacin.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD2. Programacin de Autmatas Programables


2. Lenguajes de programacin.
El lenguaje de programacin en un autmata programable es el encargado de manejar el juego de instrucciones del autmata para realizar las funciones
lgicas y de clculo de la CPU.
El programa de usuario se procesa en la memoria del PLC y se introduce a travs de un software especfico de programacin. Para poder realizar la
programacin de forma adecuada, es indispensable conocer la simbologa, mapa de memoria y direccionamiento del autmata programable en cuestin.
Segn la norma UNE-EN-611131-3 (IEC 1131-1), podemos distinguir 4 tipos de lenguaje estandarizados para la programacin de autmatas: dos en formato
texto, y dos en formato grfico, que pueden ser complementarios y combinables entre s. Es importante tener en cuenta que la norma nicamente define el
estndar general de los lenguajes, no los sets de instrucciones ni simbologa o direccionamiento especfico, que dependern de la marca o tipo del autmata
programable.
Lenguajes textuales

Lenguajes grficos
Bloques funcionales (FBD / FUP)
Bloques de contactos (LD / KOP)

Lista de Instrucciones (IL / AWL)


Lenguaje estructurado (ST / SCL)

Variacin SFC para procesos secuenciales

Imagen: IAS Univeritt Stuttgart

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD2. Programacin de Autmatas Programables


2. Lenguajes de programacin.
El uso de uno u otro lenguaje a la hora de programar los dispositivos depende de numerosos factores: problema a tratar, conocimientos del programador,
nivel del proceso, solucin PLC elegida, etc.
Cada lenguaje tiene sus caractersticas propias, si bien los lenguajes textuales tienen una penetracin mayor en posibilidades, soluciones interjerrquicas y
rapidez en codificacin, aunque su sintaxis es mucho ms estricta y menos intuitiva en el aprendizaje.
1. Lenguaje de listas de instrucciones (IL - Instruction List / AWL - Anweisungliste).
Los lenguajes de lista de instrucciones estn basados en un listado de smbolos nemotcnicos cercanos al lenguaje mquina (directamente interpretable
por los autmatas), por lo que puede considerarse como un lenguaje de medio nivel.
Se escribe en forma de texto mediante caracteres alfanumricos para definir las operaciones lgicas. El set de instrucciones suele ser ms amplio que el de
lenguajes grficos, ya que permiten ms nmero de funciones que estos primeros.

2. Lenguaje estructurado (ST - Structured Language).


Los lenguajes estructurados (programacin estructurada o de alto nivel) facilitan la programacin de procesos que requieren instrucciones complejas y
clculos de cierto nivel, como bucles recurrentes (do-while, for-next,...) y ejecucin condicional (if-else, switch-case).
Los lenguajes de alto nivel slo estn disponibles para modelos de gama alta, que admiten programacin de ciertas operaciones en C++, C#, PHP, etc.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD2. Programacin de Autmatas Programables


2. Lenguajes de programacin.
3. Diagrama de bloques funcionales (FBD - Function Block Diagram / FUP - Funktionsplan).
Es un lenguaje muy comn en aplicaciones que implican flujo de informacin o datos entre componentes de control. Las funciones y bloques funcionales
aparecen como circuitos integrados, con una simbologa normalizada por la IEC-1131.
En lenguaje de bloques funcionales puede parecer a primera vista ms lgicamente comprensible a alguien no versado en exceso en lgica secuencial, por
lo que se ha implementado tradicionalmente en la programacin de rels programables como el Logo de Siemens.
La gran ventaja es que es muy sencillo seguir la lgica de programa: basta como seguir la evolucin del mismo en cada lnea. No es, no obstante, un lenguaje
pensado para grandes listas de instrucciones, elevado nmero de E/S y funciones de comunicacin.

4. Lenguaje de contactos (LD - Ladder / KOP - Kontaktsplan).


El lenguaje de contactos es el ms ampliamente difundido en autmatas de nivel de campo y sensor / actuador, precisamente por su similitud con la lgica
de rels.
Dado que es muy similar a los esquemas de los circuitos elctricos, la transcripcin de un esquema de mando cableado a programa LD a lenguaje grfico de
contactos es muy inmediata.
Tiene una nemotecnia (representacin de smbolos y rdenes) muy sencilla y especfica, donde se trata de aplicar una traduccin al esquema cableado para
su representacin es diagrama de contactos. Aunque la nemotecnia bsica viene regulada por la IEC 1131-1, entre diferentes marcas comerciales existen
algunas diferencias en smbolos, y sobre todo en direccionamiento y funciones, que dependen del mapa de memoria del dispositivo.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD2. Programacin de Autmatas Programables


3. Estructura bsica y representacin en lenguaje LD / KOP
La nemotecnia bsica en lenguaje LD / KOP permite una traduccin casi directa entre lgica de rels y diagrama de contactos, por lo que en la curva de
aprendizaje, es til como comienzo la traduccin directa entre diagramas cableados y programas LD / KOP.

La traduccin de la lgica de rels a diagrama Ladder implica conocer, al menos:


La nemotecnia normalizada para cada elemento de programa (simbologa).
La lgica de rels.
La nemotecnia normalizada para elementos especiales (temporizadores y contadores).
La nemotecnia normalizada para funciones especiales (control de programa, comunicaciones, etc).

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD2. Programacin de Autmatas Programables


4. Software de programacin para S7-200 y S7-1200.
El software de programacin de los PLCs de Siemens ha corrido parejo a la evolucin de los dispositivos. Debido a la diferente orientacin de aplicacin de
los dispositivos de la gama, cada dispositivo posea un software especfico de programacin y comunicacin va PC:
S7-200

S7-200 -> Sustituido por S7-1200

STEP7 MicroWIN

S7-1200
S7-300
S7-400

V4.0 SP9

S7-300 & S7-400

S7-300 y S7-400 -> Soportados por


TIA Portal (Slo Professional)

TIA Portal STEP7


STEP7 V11 SP2
(1Q 2013 - V12)

SIMATIC STEP7
V5.5

LOGO!

LOGO! Se conserva como elemento aparte en STEP7

LOGO! Soft Comfort

LOGO! Soft Comfort


V7.0

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

Sustitudos a
largo-medio plazo

S7-1500

UD2. Programacin de Autmatas Programables


5. El entorno de programacin STEP7-MicroWIN para el S7-200.
STEP7 MicroWIN es el entorno de programacin desarrollado por Siemens de acuerdo a la norma IEC-1131-3 para la programacin del PLC S7-200 en
todas sus variantes.
El entorno STEP7 MicroWIN ha ido evolucionando conforme lo han hecho los dispositivos de la gama 200, hasta llegar a la versin 4.0.8.06, que soporta
todos los PLCs de la gama (no as las versiones anteriores, que si bien permite la comunicacin con los dispositivos, no aprovechan todo el set de
instrucciones y funciones que las ltimas CPUs aportan).
Actualmente, MicroWIN soporta los siguientes SOs:

Soporte de sistema de MicroWIN segn SIEMENS

Es importante tener en cuenta que SP8 y SP9 slo estn disponibles como
actualizaciones de versin, no como versin completa, por lo que se debe disponer
de versin de MicroWIN previamente instalada.
Imagen: Siemens

Consejo: Es suficiente la presencia en sistema de un archivo microwin.exe de un sistema ya instalado para que SP9 reconozca una versin
preinstalada y pueda actualizarse desde la misma.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD2. Programacin de Autmatas Programables


5. El entorno de programacin STEP7-MicroWIN para el S7-200.
El entorno de trabajo de STEP7-MicroWIN est formado por los siguientes elementos:

1
5

1. Barra de mens y barra de


herramientas. En este bloque son
accesibles la mayor parte de las
funciones del PLC, desde las de
comunicacin hasta las de edicin de
programa.
2. rea de variables. En el caso de
uso de subrutinas, en esta zona
pueden definirse los parmetros de E/
S de las mismas.
3. Editor de programa. sta es la
zona principal del rea de trabajo. El
programa, estructurado en Networks
o segmentos, se edita y construye en
e s t e b l o q u e . Ta m b i n p u e d e
accederse a las subrutinas y rutinas
de interrupcin.

4. rea de mensajes. Zona de


comunicacin del entorno con el
usuario programador. En ella se
muestran los principales mensajes
(compilacin, comunicacin,...).

5. Barra de navegacin. Se muestran iconos para acceso rpido a elementos de programa de comn acceso: comunicaciones, bloque de programa, tabla de
smbolos y de estado, bloque de sistema, etc.
6. rbol de operaciones. Mediante el mismo pueden insertarse las operaciones KOP en los segmentos del editor de programa, as como acceder a otros
elementos accesibles tambin desde la barra de navegacin.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD2. Programacin de Autmatas Programables


5. El entorno de programacin STEP7-MicroWIN para el S7-200.
5.1. Comunicacin PG/PC.
En el caso de trabajar con cable PC/PPI RS-485/RS-232, es imprescindible asegurarnos que los controladores de adaptador, si el PC no dispone de puerto
serie, estn correctamente instalados, y que el dispositivo est conectado a un puerto COM concreto.
En el caso de trabajar con cable PC/PPI RS-485/USB, no es necesario realizar la tarea anterior y puede establecerse la comunicacin de forma directa.
Para poder realizar la comunicacin PG/PC es necesario seguir una serie de pasos:
1. Asegurarse de que el PLC est enchufado al PC va adaptador PC/PPI y que el sistema ha reconocido el mismo.
2. Seleccionar la opcin Comunicacin en la barra de navegacin.

3. Seleccionar la opcin Ajustar interface PG/PC.


4. Una vez seleccionada, deberemos pinchar en Propiedades y asegurarnos de que
est seleccionada la opcin USB, dentro de la pestaa Conexin local

5. Una vez configurada la comunicacin, volvemos a la


pantalla principal y pinchamos en Haga doble clic para
actualizar. Cuando detecto el dispositivo, pinchar en
Aceptar.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD2. Programacin de Autmatas Programables


5. El entorno de programacin STEP7-MicroWIN para el S7-200.
5.2. Carga de programa.
Una vez configurada la comunicacin, el PLC est lista para poder comunicar con el PC. El flujo de comunicacin puede establecerse en dos sentidos:
1. Desde el PC a la PG (CPU) (Cargar en PG). El programa pasa desde el PC a la PG, sobreescribiendo el programa que hubiera en el PLC. A la hora
realizar la carga, MicroWIN permite seleccionar Bloque de Programa, Bloque de datos, Bloque de sistema, Recetas y Configuraciones del registro de datos.

2. Desde el PG (CPU) al PC (Cargar en PC). El programa presente en la memoria de sistema del PLC, as como los bloques de datos, sistema, recetas, etc.
se recuperan a MicroWIN, pudiendo de esta forma realizar modificaciones en el mismo para una carga posterior.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD2. Programacin de Autmatas Programables


5. El entorno de programacin STEP7-MicroWIN para el S7-200.
5.3. Bloque de programa.
El editor de programa es la zona donde el usuario-programador interacciona con MicroWIN para definir el programa que posteriormente se cargar en el
PLC. Mediante la seccin de barra de herramientas se dispone de acceso rpido al control de Networks y a la entrada de datos mediante la insercin de
contactos, con la lgica que posteriormente se ver, a las salidas (bobinas) y a las funciones, incluyendo en stas los temporizadores y contadores.

Control de segmentos

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

Acceso a contactos, bobinas y funciones.

UD2. Programacin de Autmatas Programables


5. El entorno de programacin STEP7-MicroWIN para el S7-200.
5.3. Tabla de smbolos.
En ocasiones, en programas con gran cantidad de E/S y elementos intermedios de memoria, emplear la nomenclatura del mapa de memoria del PLC hace
perder perspectiva de qu significan realmente cada uno de los elementos de programa, ya que I0.0, I0.2, Q1.0 M1.1 no representan de por s elementos
fsicos, sino direcciones de memoria.
La tabla de smbolos del PLC permite asignar un nombre simblico a cada una de esas direcciones, para hacer que posteriormente aparezcan en programa.
De esta forma, I0.0 puede ser MARCHA, I0.1 PARO y Q0.0 MOTOR.
Es aconsejable escribir el smbolo asignado siempre con maysculas y sin espacios.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD2. Programacin de Autmatas Programables


5. El entorno de programacin STEP7-MicroWIN para el S7-200.
5.4. Tabla de estado.
La tabla de estado sirve para supervisar o modificar los valores de las variables del proceso a medida que el S7-200 ejecuta el programa de control. Es
posible supervisar el estado de las entradas, salidas o variables del programa, visualizando para ello los valores actuales. La tabla de estado tambin permite
forzar o modificar los valores de las variables del proceso, pudiendo de esta forma poner a ON entradas, marcas o salidas aunque por estado natural de
programa no lo estn.
La tabla de estado permite seleccionar el formato de monitorizacin de elementos: Sin signo, con signo, hexadecimal, binario o ASCII.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD2. Programacin de Autmatas Programables


5. El entorno de programacin STEP7-MicroWIN para el S7-200.
5.5. Bloque de sistema.
El acceso a bloque de sistema permite configurar diferentes opciones de la CPU, como por ejemplo:
1) Puertos de comunicacin: Permite configurar parmetros como la direccin de la CPU en red, as como la velocidad de transferencia o el factor GAP.
2) reas remanentes: Los valores de memoria
residentes en RAM se pierden ante la falta de
alimentacin, pero pueden configurarse diferentes
reas remanentes que mantengan estado.
3) Configurar salidas: La configuracin de salidas
permite seleccionar salidas que se pongan a ON de
forma automtica cuando el PLC pase de STOP a
RUN.
4) Bits de captura de impulsos: Permite definir
entradas que capturen impulsos de duracin menor
que un ciclo de scan (p.e para el uso de encoders o
contadores rpidos).
5) Filtrar entradas: Permite definir un tiempo de
retardo para la captura de entradas, evitando as
cambios accidentales en las entradas de corta
duracin durante el proceso.
El filtrado de entradas es especialmente interesante
para el caso de tratamiento de valores analgicos.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD2. Programacin de Autmatas Programables


5. El entorno de programacin STEP7-MicroWIN para el S7-200.
5.6. Referencias cruzadas y ajustar interface PG/PC.
1) Referencias cruzadas: Las referencias cruzadas permiten el control del referenciado
de reas de memoria en el programa de usuario, de forma que es posible visualizar de un
golpe todas las reas, bits y bytes empleados en el programa, pudiendo controlar reas
libres.

2) Ajustar interface PG/PC: El ajuste de la interfaz PG/PC permite seleccionar el mtodo


de comunicacin entre PC y PLC. El mtodo por defecto es el enlace PC/PPI, pero con los
mdulos respectivos pueden definirse comuniciones como Ethernet o Profibus.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD2. Programacin de Autmatas Programables


6. El entorno de programacin TIA Portal V11 SP2 para el S7-1200.
STEP7 TIA Portal (Total Integrated Automation Portal), actualmente en su versin V11 SP2 (con la versin V12 esperada para el 1Q 2Q de 2013) es un
portal integrado, que originalmente permita la comunicacin slo con el S7-1200 en su versin V10, que acoge la programacin y configuracin de todos los
dispositivos de la gama Siemens (a excepcin de Logo! y S7-200), y no slo PLCs sino tambin pantallas HMI y accionamientos.
TIA Portal se distribuye en 3 versiones:
1) SIMATIC Step7 Basic: permite la programacin PLC S7-1200 y a pantallas HMI.
2) SIMATIC Step7 Professional: permite la programacin del PLC S7-1200 y pantallas HMI, as como los PLCs soportados por el antiguo STEP7 V5.5:
S7-300 y S7-400. En la v12 permitir la programacin del S7-1500.
3) SIMATIC Step7 Safety Advanced: Permite la programacin y configuracin de PLCs de seguridad.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD2. Programacin de Autmatas Programables


6. El entorno de programacin TIA Portal V11 SP2 para el S7-1200.
STEP7 permite dos diferentes visualizaciones de trabajo: vista de portal (orientado a visualizar las distintas funcionalidades del portal) y vista de proyecto:
1) Portales para diferentes tareas: Desde esta zona puede accederse a
dispositivos y redes, programacin de PLCs, visualizacin y herramienta online y de diagnstico.

VISTA DE PORTAL

2) Tareas del portal seleccionado: Mediante estas opciones podrn crearse


nuevos proyectos, cerrar abiertos o abrir proyectos anteriores.
3) Panel de seleccin: Una vez seleccionada una opcin del portal,
aparecern las distintas posibilidades asociadas a la misma en esta zona.
4) Vista de proyecto / vista de portal: Es posible conmutar ambas desde
aqu.
5) Mens y barras de herramientas: Condensan la mayora de las opciones
posibles del manejo del portal y de los dispositivos.

6) rbol del proyecto: Al igual que ocurra con MicroWIN, en esta zona se
organiza jerrquicamente el proyecto abierto, sus dispositivos, bloques de
programa, configuraciones, recursos, etc.
5
7

10

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

7) rea de trabajo: rea principal de trabajo del portal, desde donde se


accede a bloques de programa del dispositivo, configuraciones hardware,
tablas de observacin, forzado de valores, etc.

VISTA DE PROYECTO

8) Ventana de inspeccin: Mediante la misma pueden cambiarse


propiedades de dispositivos, redes,...
9) Task Cards: Las task cards son tarjetas de tareas o paneles desplegables
con los que se puede tener acceso rpido a instrucciones, test, tareas y
libreras a emplear en la programacin de los dispositivos.
10) Barra del editor: La barra del editor permite un acceso a todas las
ventanas abiertas dentro de la vista de proyecto (dispositivos, bloques de
programa, observaciones, variables...).

UD2. Programacin de Autmatas Programables


6. El entorno de programacin TIA Portal V11 SP2 para el S7-1200.
6.1. Comunicacin PG/PC.
El S7-1200 incorpora por defecto una interfaz ProfiNET para su integracin en red y comunicacin PG/PC. Dado que ProfiNET emplea base Ethernet (capa
fsica), para la configuracin de la comunicacin del dispositivo con el PC, es necesario especificar una direccin IP al mismo, que deber estar en el mismo
rango que la asignada a la unidad programadora para que ambos se siten en la misma red.
STEP7 incorpora no obstante autodeteccin de dispositivos, por lo que se deteccin en conexin es extremadamente sencilla. A pesar de que existen varias
formas de asignar direccin IP al dispositivo para su comunicacin, la ms corriente es la siguiente:
1) Aadir el dispositivo en la configuracin HW del portal. Se puede hacer desde la vista de portal o desde la vista de proyecto. Una vez creado el
proyecto, y desde vista de proyecto, puede pincharse en Agregar Dispositivo, y seleccionar la CPU y su n de serie para agregarla al proyecto.

2) Configuracin Ethernet: Una vez agregado el dispositivo, debe configurarse la direccin Ethernet del mismo antes de establecer comunicacin desde el
PC. Para ello, puede accederse a la misma en Propiedades de dispositivo -> Direcciones Ethernet o directamente pinchando en la interfaz Profinet de la vista
de dispositivos.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD2. Programacin de Autmatas Programables


6. El entorno de programacin TIA Portal V11 SP2 para el S7-1200.
6.1. Comunicacin PG/PC.
Si se emplea cable de red cruzado para la comunicacin con conexin directa entre PC y PLC, la direccin IP a
especificar deber estar en el mismo rango que la del PC (ambos situados en misma red / subred).
Puede optarse por conectar el PLC a un switch, con lo que las condiciones anteriores no cambian, o conectar
de forma directa a router, con lo que es necesario especificar la puerta de acceso (Gateway) del router.
Es posible igualmente que el dispositivo obtenga direccin IP por otros medios si existe otro dispositivo externo
capaz de realizar la asignacin.
3) Establecer comunicacin on-line con el dispositivo: Establecida la direccin, puede realizarse la carga
de programa y configuracin en el dispositivo. Para ello, es posible acceder pinchando en Establecer conexin
on line en barra de herramientas o directamente intentando realizar la carga del programa al dispositivo.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD2. Programacin de Autmatas Programables


6. El entorno de programacin TIA Portal V11 SP2 para el S7-1200.
6.1. Comunicacin PG/PC.
Para poder realizar la comunicacin debe seleccionarse, de entre las disponibles, el
interfaz de comunicacin, as como la subred y gateway si los hubiera.
STEP7 mostrar los dispositivos conectados y en caso de encontrar mltiples
dispositivos, dar la opcin de Parpadear LED para poder identificar a cada uno de
ellos en la red.
Una vez seleccionado el dispositivo, al pinchar en Conectar el dispositivo quedar
configurado con la direccin especificada. A partir de este momento, estar
establecida una conexin on-line y la cabecera de mens cambiar de color para
mostrar el nuevo estado.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

CPR de Badajoz
Curso 2012 /2013

Podis encontrarme en:

@JM_Delgado

Jos Mara Delgado Casado


jmdelgado@elec2.es

www.elec2.es

http://www.youtube.com/jmardelc

http://www.slideshare.net/Jmardelc

http://pinterest.com/jmardelc/

http://magnetic.tumblr.com/

Jos Mara Delgado Casado

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

CPR de Badajoz
Curso 2012 /2013

Todo el material contenido y generado en este documento, excepto aquellas imgenes que pudieran tener licencia copyright y que se han empleado con
fines educativos, estn licenciados bajo Creative Commons CC BY-NC-SA 3.0 ES.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

CPR de Badajoz
Curso 2012 /2013

UD3.Lenguaje de programacin LD/KOP


y set de instrucciones.
Jos Mara Delgado Casado
Profesor Tcnico FP Instalaciones Electrotcnicas IES JAVIER GARCA TLLEZ (Cceres)

UD3. Lenguaje de programacin y set de instrucciones.


1.Introduccin al lenguaje LD /KOP.
Como se ha visto anteriormente, la nemotecnia bsica en lenguaje LD / KOP permite una traduccin casi directa entre lgica de rels y diagrama de
contactos.

La estructura de un programa en lenguaje KOP se basa en la disposicin ordenada y consecutiva de barras de contactos (denominadas segmentos o
Networks), de acuerdo a unas reglas especficas, y conectadas todas ellas a una barra de red suministradora de seal en la parque izquierda.
La lectura del programa en lenguaje KOP se realiza de forma completa en cada ciclo de scan del PLC, volcando los resultados al proceso de imagen de las
salidas, y actuando de forma consecuente con las reas de memoria correspondientes.

Network 1 SEGMENTO 1

BARRA DE RED
Network 2 SEGMENTO 2

Network 3 SEGMENTO 3

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.1. Contactos.
Los contactos son la base de programacin en lenguaje KOP. Son elementos tipo bit que pueden adoptar los valores 1 0. Se representan como abiertos o
cerrados, y su uso es idntico al que se hace de los contactos de rels en esquemas cableados. Pueden estar asociados a diversas reas de memoria (E/S
fsicas, temporizadores, contadores, marcas y variables, etc.).
La direccin de memoria asociada al contacto ser una direccin tipo bit de acuerdo a la estructura de direccionamiento directo anteriormente vista.

2.2. Bobinas
Las bobinas reciben este nombre por analoga con los sistemas cableados. Son el resultado lgico de una combinacin de elementos anteriores en el
segmento, que si se cumplen, harn llegar seal desde la barra de red hasta la bobina, activando sta mientas la seal se mantenga, y operando sobre el
rea de memoria correspondiente.

Las bobinas son los ltimos elementos en cada barra de red, no pudiendo estar en posicin intermedia (excepto en S7-1200).

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.3. Funciones SET / RESET.
La activacin de salidas (reas de memoria) asociada a bobinas slo se mantiene durante el tiempo que dure la seal activadora. Es posible no obstante
producir un cambio permanente en el rea de memoria con slo un flanco positivo de seal (cambio de 0 a 1 en la alimentacin de la bobina) mediante la
funcin SET.

Una vez hecho un SET de una salida (rea de memoria), slo se


podr desactivar haciendo un correspondiente RESET, ya que
aunque no le llegue alimentacin a la funcin SET, la salida sobre
la que actu continuar activada en tanto no se realice su
correspondiente RESET.
En el caso del S7-1200 existen las funciones S_BF y R_BF, que,
de forma anloga a como se realiza como MicroWIN, permiten
poner a SET o a RESET un bloque de bits indicando su direccin
inicial y su tamao.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.4. Temporizadores.
Los temporizadores son reas de memoria que generan eventos cuando alcanzan un valor de tiempo preestablecido (PT o Preset Value). Su
comportamiento es muy similar a los empleados en los circuitos cableados.
A pesar de que su funcionamiento es similar, las funciones de temporizacin son distintas en los dispositivos S7-200 y S7-1200. No obstante, ambos tienen
una entrada de activacin (IN) y un tiempo preestablecido (PT). Mientras la seal de activacin llegue a la puerta de entrada (IN), el temporizador empezar a
contar desde 0 hasta su valor preestablecido (PT). En ese momento, siempre y cuando se mantenga la seal de activacin, los contactos dependientes del
temporizador conmutarn, y se mantendrn en ese estado mientras el temporizador siga alimentado.

TEMPORIZADOR S7-200

TEMPORIZADOR S7-1200

Tanto en el S7-200 como en el S7-1200 existen varios tipos de temporizadores:


1) Temporizadores al trabajo (TON): Los temporizadores TON (Timer ON Delay o retardo al conectar) retardan la conmutacin de sus contactos
dependientes el tiempo establecido en PT. Al cambiar de 0 a 1 la entrada de habilitacin (IN) el temporizador empieza a contar. Si se mantiene la seal en IN
hasta el PT, los contactos dependientes del temporizador conmutarn.
2) Temporizadores al reposo (TOF): Los temporizadores TON (Timer OFf delay o retardo al desconectar) retardan la conmutacin de sus contactos
dependientes el tiempo establecido en PT una vez la seal de habilitacin cambia de 1 a 0. Al cambiar de 0 a 1 la entrada de habilitacin (IN), los contactos
dependientes del temporizador conmutan de forma automtica, sin iniciarse la temporizacin. Cuando la entrada IN cambia de 1 a 0, los contactos se
mantienen en su posicin conmutada, inicindose el contaje, y volvern a su posicin al llegar a PT.
3) Temporizadores retentivos (TONR): Por definicin, los temporizadores (a no ser que en propiedades de sistema se definan de otro modo) son noretentivos ante una falta de alimentacin. Es posible emplear temporizadores retentivos empleando para ello los tipos TONR.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.4. Temporizadores.
En el siguiente ejemplo del S7-200 puede observarse el funcionamiento de un temporizador al trabajo:

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.4.1. Temporizadores en el S7-200.
El S7-200 dispone de 256 temporizadores (T0 a T255), con la particularidad de que la base de tiempos de los mismos no es uniforme. De esta forma, existen
diversas bases de contaje que estn relacionadas con el nmero de temporizador:

Dado que nicamente dispone de 2 temporizadores con base 1ms (TON y TOF), estos debern emplearse para aquellas tareas cuyo tiempo de contaje sea
crtico y necesite por tanto estar ajustado al ms. Si la criticidad de la tarea o el tiempo de contaje es menos relevante, se emplearn temporizadores de base
10ms o 100ms.
MicroWIN detecta automticamente el nmero de temporizador especificado, reflejando la base de tiempos en el mismo. Si el tiempo especificado en PT
excede del tiempo mximo de contaje del temporizador, el precompilador de programa dar un error.

Es fundamental tener en cuenta que cada temporizador ocupa en el rea de memoria una palabra (1W = 2 bytes), y la consulta del mismo en tabla de estado
nos devolver el tiempo instantneo de contaje.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.4.2. Temporizadores en el S7-1200.
A diferencia del S7-200, en el S7-1200 todos los temporizadores tienen base de tiempo de 1ms, por lo que el valor de tiempo puede introducirse directamente
independientemente del nmero de temporizador.

Los temporizadores en el S7-1200 tienen varias entradas / salidas de funcin:


IN - Entrada de habilitacin. Su uso y funcionalidad es igual que en el S7-200.
PT - Preset Value del temporizador. La diferencia con el S7-200 radica en la base de tiempos constante de 1ms.
Q - Salida de habilitacin: salida que se activa una vez transcurrido el tiempo PT.
ET - Valor de tiempo actual.
Los temporizadores en el S7-1200 tienen adems la particularidad de necesitar un bloque de datos (DB) asociado al temporizador (o global), que se declara
como una estructura especfica del tipo IEC_Timer. En dicha estructura de 16 bits (1W = 2 bytes) se almacenan los datos del temporizador, y entre ellos el
valor de contaje (ET). Los valores de los bloque de datos pueden consultarse posteriormente en los Bloques de Sistemas del rbol del Proyecto.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.4.2. Temporizadores en el S7-1200.
Dado que en los temporizadores del S7-1200 existe salida de habilitacin, es posible condensar en un slo Network instrucciones que en el caso del S7-200
requeran al menos 2. En el siguiente ejemplo pueden verse las diderencias de uso.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.5. Contadores.
Los contadores son reas de memoria que generan eventos cuando alcanzan un determinado nmero de sucesos. Su uso es necesario en funciones que
tengan como finalidad o medio el contaje de sucesos. Tanto en el S7-200 como en el S7-1200 existen diversos tipos de contadores:
1) Contadores incrementales (CTU): Los contadores incrementales (CounTer Up) cuentan un suceso hacia adelante cuando se produce un flanco positivo en
la entrada de contaje hacia adelante (CU). Si el valor actual del temporizador es igual o mayor al valor de preseleccin PV, se activa el bit de contaje
dependiente. El contador se inicializa cuando se activa la entrada de desactivacin (R) o cuando se resetee el rea de memoria (o DB) correspondiente.

S7-200

S7-1200

2) Contadores decrementales (CTD): Los contadores incrementales (CounTer Down) cuentan un suceso hacia atrs desde PV cuando se produce un flanco
positivo en la entrada de contaje hacia atrs (CD). Si el valor actual del temporizador es igual a 0 se activa el bit de contaje dependiente. El contador desactiva
el bit de contaje y carga el valor actual con el valor de preseleccin (PV) cuando se activa la entrada de carga LD.

S7-200

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

S7-1200

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.5. Contadores.
3) Contadores incrementales / decrementales (CTUD): La operacin Incrementar/decrementar contador (CTUD) empieza a contar adelante cuando se
produce un flanco positivo en la entrada de contaje adelante (CU), y empieza a contar atrs cuando se produce un flanco positivo en la entrada de contaje
atrs (CD). El valor actual del contador conserva el contaje actual. El valor de preseleccin PV se compara con el valor actual cada vez que se ejecuta la
operacin de contaje. Al llegar a 0 los bits dependientes del contador conmutarn.

S7-200

S7-1200

Al igual que ocurre con los temporizadores, los contadores en el caso del S7-1200 llevan asociados necesariamente un bloque de datos (DB) de instancia o
globales donde poner almacenar los datos necesarios del contador, con una estructura del tipo IEC_Counter.
De igual forma, no existe un nmero lmite de contadores, sino que su nmero estar limitado por la memoria del dispositivo PLC, ya que es posible crear
tantos DBs asociados como permite la memoria de dispositivo.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.5. Contadores.
En el siguiente ejemplo del S7-1200 puede observarse el funcionamiento de un contador incremental y su diagrama asociado:

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.6. Operaciones lgicas con lenguaje de contactos.
Las operaciones lgicas con lenguaje de contactos que pueden realizarse con autmatas programables son muy diversas. No obstante, existen una serie de
operaciones lgicas bsicas en las que el procesado de informacin del autmata programable basa su funcionamiento, que son las siguientes:
1) Operacin AND: Tiene su correspondencia con el circuito elctrico combinacional de contactos en serie. El resultado de operacin slo llega a la bobina
como activacin cuando los operandos de los contactos abiertos se encuentran a 1 y los de los contactos cerrados a 0.

2) Operacin OR: Tiene su correspondencia con el circuito elctrico combinacional de contactos en paralelo. El resultado de operacin llega a la bobina como
activacin cuando al menos uno de los operandos de los contactos abiertos se encuentran a 1 o los de los contactos cerrados a 0.

3) Operacin NOT: La operacin NOT invierte el valor de la operacin lgica previa (RLO previo de la operacin o conjunto de operaciones anteriores).

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.6. Operaciones lgicas con lenguaje de contactos.
4) Agrupaciones de contactos: Las operaciones OR, AND y NOT pueden agruparse entre s, dando lugar a bloques de contactos que pueden
descomponerse en las operaciones elementales.

Agrupacin AND de ORs

Agrupacin OR de ANDs

Existen no obstante una serie de agrupaciones no lcitas:


- NO se permite crear ramas que puedan causar un flujo inverso de la corriente.

X
- NO se permite crear ramas que puedan causar cortocircuito, y en el caso del S7-200, no se permiten ms de dos inicios de rama dentro del mismo network.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.7. Operaciones con flancos.
Las operaciones de flancos (flanco positivo y flanco negativo), permiten la activacin de contactos nicamente durante un ciclo de scan, cuando las
entradas a las que van asociadas cambian de on a off y viceversa.
En el caso del S7-200 se denominan detectar flanco positivo y detectar flanco negativo, mientras que en el S7-1200 pasan a nombrarse como Consultar
flanco de seal ascendente de un operando y Consultar flanco de seal descendente de un operando respectivamente.
El contacto flanco positivo (P) permite que la corriente circule durante un ciclo de scan cada vez que se produce un cambio de OFF a ON.

El contacto flanco negativo (N), en cambio, permite que la corriente circule durante un ciclo de scan cada vez que se produce un cambio de ON a OFF.

El S7-1200 aade operaciones de flancos no soportadas por el S7-200, como son:


- Activar operando con seal de flanco ascendente: Pone el operando indicado a 1 cuando se registra un cambio lgico de 0 a 1.
- Activar operando con seal de flanco descendente: Pone el operando indicado a 1 cuando se registra un cambio lgico de 1 a 0.
- Consultar flanco de seal ascendente del RLO: La instruccin "Consultar flanco de seal ascendente del RLO" permite consultar un cambio del estado
lgico del resultado lgico de "0" a "1".
- Consultar flanco de seal descendente del RLO: La instruccin "Consultar flanco de seal descendente del RLO" permite consultar un cambio del estado
lgico del resultado lgico de "1" a "0".

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.7. Operaciones con flancos.
En el siguiente ejemplo puede verse el uso y empleo de la deteccin de flancos positivos (P) y negativos (N):

Los flancos son por tanto especialmente tiles en el procesado de seales de corta duracin o bien en el caso de posible intromisin de seales en una
misma activacin, permitiendo discernir la accin a realizar en funcin de las condiciones.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.8. Operaciones de memoria y uso de marcas.
Una funcin de memoria es aquella que genera un evento y lo mantiene aunque cese la accin inicial que lo origin. El almacenamiento de operaciones en
memoria no es una funcin especfica del PLC, sino que, al igual que en la lgica cableada, puede conseguirse de diversas formas: mediante
realimentaciones por contacto, haciendo uso de marcas internas o empleando biestables (como las funciones SET y RESET anteriormente introducidas).
En la lgica cableada es muy comn el uso de la realimentacin por contacto. De este modo, puede almacenarse un estado previo para su uso posterior.
En un arranque con pulsadores de marcha y paro, el pulsador de marcha es el que origina el evento que alimenta la bobina, el contacto en paralelo el que la
realimenta y el pulsador de parada el que la desactiva. Si transcribimos ese circuito a lgica de contactos, el programa ser similar al de la siguiente figura:

En el caso anterior se emplea un contacto abierto de la salida Q0.0 para mantener la alimentacin en la misma aunque la condicin de activacin que lo
origin (cambio de 0 a 1 de I0.0) haya cesado.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.8. Operaciones de memoria y uso de marcas.

Figura 1.75. Realimentacin por contactos.

El empleo de marcas internas, tambin denominadas memorias o bits internos, tiene un comportamiento similar al
de los rels auxiliares
la lgica cableada.
De estaoforma,
es posible almacenar
intermedios de
memoria
(al los rels auxiliares en la lgica
El rea de marcas del PLC (denominadas
marcaseninternas,
rels internos
bits internos),
tiene un estados
comportamiento
similar
al de
igual que
hacen los rels
auxiliares)
para usarlos
conveniencia
la activacin
/ desactivacin
salidas fsicas,
cableada. De esta forma, es posible
almacenar
estados
intermedios
de amemoria
(al en
igual
que hacen
los rels de
auxiliares)
para usarlos a conveniencia en la
activacin
/ desactivacin
de marcas,
temporizadores
o contadores,
o bien para la llamada
a funciones.o bien para la llamada a funciones.
activacin / desactivacin de salidas
fsicas,
activacin
/ desactivacin
de marcas,
temporizadores
o contadores,

Figura 1.76. Empleo de marcas internas.

de comparacin.
En el ejemplo anterior puede verse 7.1.8.
cmordenes
se alimenta
una salida fsica a travs de un rel interno (marca interna), con el que se acte de forma similar a como
se haca en el ejemplo anterior sobre la propia salida.
Las operaciones de comparacin se utilizan para comparar dos valores. Las posibilidades son:

El rea de marcas (M) tiene un tamao especfico dependiendo del PLC.

S7-200

IN1 = IN2!
IN1 >= IN2!
IN1 <= IN2
IN1 > IN2!
IN1 < IN2!
IN1 <> IN2

S7-1200

Estas comparaciones pueden realizarse con todos los tipos de datos que podemos encontrar en un S7-200. Los
tipos de datos ms corrientes en representacin (que ocuparn determinados bits, bytes, palabras y dobles palabras
como elementos de almacenamiento de informacin que ya hemos visto), son los siguientes:

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.9. Marcas especiales.
Las marcas especiales (SM en el S7-200) permiten intercambiar datos entre la CPU y el programa. Estas marcas (muchas de slo lectura) se pueden utilizar
para seleccionar y controlar algunas funciones especiales de la CPU S7-200. Por ejemplo, hay una marca que se activa slo en el primer ciclo, marcas que se
activan y se desactivan en determinados intervalos, o bien marcas que muestran el estado de las operaciones matemticas y de otras operaciones.

Manual del sistema de automatizacin S7-200l

SMB0: Bits de estado


El rea SM puede ser accesible en diversos formatos, pero normalmente se lee en formato BIT o formato BYTE. En la tabla resumen de la figura puede verse
Como muestra la tabla D-1, SMB0 contiene ocho bits de estado que la CPU S7--200 actualiza al
el tamao del rea de memoria que abarca el rea
final SM.
de cada ciclo.
Algunos bytes y bits del rea SM son de especial uso y relevancia:
Tabla D-1

SMB0

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

Byte de marcas SMB0 (SM0.0 a SM0.7)

Bits SM

Descripcin (slo lectura)

SM0.0

Este bit siempre est activado.

SM0.1

Este bit se activa en el primer ciclo. Se utiliza p. ej. para llamar una subrutina de inicializacin.

SM0.2

Este bit se activa durante un ciclo si se pierden los datos remanentes. Se puede utilizar como
marca de error o como mecanismo para llamar a una secuencia especial de arranque.

SM0.3

Este bit se activa durante un ciclo cuando se pasa a modo RUN tras conectarse la
alimentacin. Se puede utilizar durante el tiempo de calentamiento de la instalacin antes del
funcionamiento normal.

SM0.4

Este bit ofrece un reloj que est activado durante 30 segundos y desactivado durante 30
segundos, siendo el tiempo de ciclo de 1 minuto. Ofrece un retardo fcil de utilizar o un reloj de
1 minuto.

SM0.5

Este bit ofrece un reloj que est activado durante 0,5 segundos y desactivado durante 0,5
segundos, siendo el tiempo de ciclo de 1 segundo. Ofrece un retardo fcil de utilizar o un reloj
de 1 segundo.

SM0.6

Este bit es un reloj que est activado en un ciclo y desactivado en el ciclo siguiente. Se puede
utilizar como entrada de contaje de ciclos.

SM0.7

Este bit indica la posicin del selector de modos de operacin (OFF = TERM; ON = RUN). Si el
bit se utiliza para habilitar el modo Freeport cuando el selector est en posicin RUN, se podr
habilitar la comunicacin normal con la programadora cambiando el selector a TERM.

Manual del sistema de automatizacin S7-200l

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos
de programacin
en LD / KOP.
SMB1:
Bits de estado

SMW22
amuestra
SMW26:
de ciclo
Como
la tablaTiempos
D-2, SMB1 contiene
varios indicadores de los posibles errores.
Estos bits son activados y desactivados por ciertas operaciones durante el tiempo de ejecucin.
Como muestra la tabla D-9, las marcas especiales SMW22, SMW24, y SMW26 informan sobre el
tiempo de ciclo. Permiten leer el ltimo tiempo de ciclo, as como los tiempos de ciclo mnimo y
Tabla
D-2
Byte de marcas SMB1 (SM1.0 a SM1.7)
mximo.

2.9. Marcas especiales.

SMB1

Bits SM
Descripcin (slo lectura)
Tabla
D-9
Palabras
de activa
marcasalSMW22
a SMW26
SM1.0
Este bit se
ejecutarse
ciertas operaciones si el resultado lgico es cero.
Palabra de
Descripcin (slo lectura)
SM1.1
Este bit se activa al ejecutarse ciertas operaciones si se produce un desbordamiento o si se
marcas
detecta un valor numrico no vlido.
SMW22
Tiempo del ltimo ciclo en milisegundos.
SM1.2
Este bit se activa si el resultado de una operacin aritmtica es negativo.
SMW24
Tiempo de ciclo mnimo en milisegundos desde que inici el modo RUN.
SM1.3
Este bit se activa si se intenta dividir por cero.
SMW26
Tiempo de ciclo mximo en milisegundos desde que inici el modo RUN.
SM1.4
Este bit se activa si la operacin Registrar valor en tabla intenta sobrepasar el lmite de llenado
de la tabla.

SM1.5
Este bit se activa si las operaciones FIFO o LIFO intentan leer de una tabla vaca.
SMB28
y SMB29:
Potencimetros analgicos
SM1.6

Este bit se activa si se intenta convertir un valor no BCD en un valor binario.

Como muestra la tabla D-10, SMB28 almacena el valor digital que representa la posicin del
SM1.7
Este bit se activa si un valor ASCII no se puede convertir en un valor hexadecimal vlido.
potencimetro
analgico 0. SMB29 almacena el valor digital que representa la posicin del
potencimetro analgico 1.

SMB28
SMB29

Tabla D-10

Bytes de marcas SMB28 y SMB29

Byte SM

Descripcin (slo lectura)

SMB28

Este byte almacena el valor ledo del potencimetro analgico 0. El valor se actualiza una
vez por ciclo en STOP/RUN.

SMB29

Este byte almacena el valor ledo del potencimetro analgico 1. El valor se actualiza una
vez por ciclo en STOP/RUN.

SMB30 y SMB130: Registros de control del modo Freeport


506

SMB30 y SMB130 controlan la comunicacin Freeport en los puertos 0 y 1, respectivamente.


SMB30 y SMB130 son marcas de lectura y escritura. Como muestra la tabla D-11, estos bytes
configuran la comunicacin Freeport en los respectivos puertos y permiten seleccionar si se debe
asistir el modo Freeport o el protocolo de sistema.
Tabla D-11
Puerto 0

Puerto 1

Formato de

Formato de
SMB130

Curso Autmatas Programables


SMB30
IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

Bytes de marcas SMB30


Descripcin
Byte de control del modo Freeport
MSB
7

LSB
0

m m

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.9. Marcas especiales.
En el S7-200 no existe el rea de marcas especiales. stas se han distribuido en mltiples localizaciones, de forma que no hay necesidad especfica de
disponer de un rea concreta de seleccin y control de reas especiales. No obstante existen determinadas marcas de sistema y marcas de ciclo que
pueden definirse en las propiedades de la CPU y que actan de forma similar a las reas SM del S7-200:
En las propiedades del PLC, en Marcas de
sistema y de ciclo pueden habilitarse reas M que
posibilitan disponer de bit de primer ciclo (aunque
se pueda implementar mediante el OB100), bit de
siempre ON o siempre OFF y bits de frecuencias
de reloj especficas.
Es importante tener en cuanta que al configurar
reas M con este uso, ya no estarn disponibles
como reas de marcas para rels internos en el
uso del PLC.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


2. Elementos bsicos de programacin en LD / KOP.
2.9.1. Marcas especiales: potencimetros analgicos (S7-200).

El S7-200 viene con uno o dos potencimetros analgicos


(dependiendo de CPU) cuyo valor en formato byte es
accesible en el rea de marcas especiales, en los bytes
SMB28 y SMB29.
El valor de los potencimetros puede ser empleado para
ajustes externos sin necesidad de tener que realizar
modificaciones en el programa de usuarios (ajuste de
valores de contaje, tiempos de arranque de mquinas,
tiempos de proceso o soldadura, modificacin de medidas
memorizadas en el autmata, etc.).
Dado que los potencimetros figuran en memoria en
formato byte (tienen una resolucin de 8 bits o 256
valores), a la hora de realizar ajustes de tiempo es
necesario hacerlos pasar por un acumulador para poder
realizar los movimientos de datos.
En el ejemplo puede observarse el proceso (aunque se
emplean rdenes an no vistas).

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


3. Otras instrucciones de programacin en LD / KOP.
3.1. Comparaciones.
Los bits de comparacin permiten comparar reas de memoria del PLC, activndose o desactivndose si se cumplen las condiciones de comparacin.
Existen varias comparaciones posibles que pueden realizarse:

forma de realizar
entre reas de memoria
difiere sustancialmente entre el S7-200 y el S7-1200. Mientras que en el primero, siempre que se
Sistemas La
automatizados
basadoslaencomparacin
Autmatas Programables
52

IES
realiza una comparacin, es necesario especificar el formato de la misma, resultando
de esta forma comparaciones en formato byte, entero, doble entero y
Garca Tllez
Curso
real, en el caso del S7-1200 se simplifica la operacin, implementando una(Cceres)
sola funcin de comparacin en la que ser necesario escoger el tipo de dato a
a Delgado Casado
2012/2013
comparar entre los implementados por el S7-1200.

SISTEMAS ELCTRICOS Y AUTOMATIZADOS

Figura 1.78. Tiposposibles


de comparaciones.
Comparaciones
en S7-200

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

Comparaciones posibles en S7-1200

UD3. Lenguaje de programacin y set de instrucciones.


3. Otras instrucciones de programacin en LD / KOP.
3.1. Comparaciones.
El tipo de dato a comparar es fundamental, ya que obliga a escoger uno u otro bit de comparacin de entre las posibilidades que ofrece la CPU.
En el siguiente ejemplo para un S7-200 puede verse cmo se compara, en formato Byte, el valor de un potencimetro (SMB28) con valores fijos (50 y 150) y
se activan o desactivan salidas en funcin del resultado lgico de la comparacin:

En el caso del S7-1200, dado que los potencimetros no estn implementados en el PLC, puede compararse una entrada analgica en formato entero:

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


3. Otras instrucciones de programacin en LD / KOP.
3.2. rdenes de movimiento.
Las rdenes de movimiento o transferencia posibilitan el movimiento de datos entre diferentes reas de memoria. Es importante tener en cuenta que,
aunque se denominen rdenes de movimiento, los datos originales continuarn en el rea de memoria de origen.
Las rdenes de movimiento son esenciales para el trabajo de memoria del autmata programable, ya que el procesado de datos obliga en numerosas
ocasiones a mover / depositar datos en posiciones de memoria en las que originalmente no estaban.
Estos comandos de transferencia difieren, al igual que ocurra con las comparaciones, entre el S7-200 y el S7-1200. Mientras que en el primero es necesario
especificar el formato de los datos a mover, en el segundo puede emplearse un formato genrico.
Las rdenes de movimiento exigen que el formato de datos a la entrada y a la salida (rea origen y rea destino) sean el mismo: byte, palabra o doble
palabra.

En el caso del S7-1200, las rdenes de movimiento (obviando las de tipo tabla) se han sustituido por una nica orden (MOVE) en la que adems no es
necesario la concordancia del tipo de datos, sino que los datos se truncan o llenan valores nulos a necesidad, con la ventaja adicional de poder copiar el
rea de origen en mltiples localizaciones de destino.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


3. Otras instrucciones de programacin en LD / KOP.
3.2. rdenes de movimiento.
En los siguientes ejemplos se muestran algunos casos prcticos de empleo de rdenes de movimiento:

Movimiento de valor de un temporizador a un rea de memoria en formato W

Movimiento del valor de PI a un rea de memoria en formato REAL

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


3. Otras instrucciones de programacin en LD / KOP.
3.3. Bloques de organizacin de programa (S7-200)
Como se ha comentado anteriormente, el S7-200 ejecuta de forma cclica un bloque de programa, denominado PRINCIPAL. En l va estructurado el
programa de usuario. Es posible, no obstante, estructurar el programa de usuario en bloques o subrutinas que se ejecutarn ante una llamada desde el
principal.
Las subrutinas son trozo de cdigo de programa que se utilizan para estructurar o dividir el programa en bloques ms pequeos, ms fciles de gestionar.
Son elementos opcionales del programa (su uso no es ni mucho menos obligado, como ya has podido comprobar hasta este punto), adecundose para
funciones que se deban ejecutar repetidamente.
As, en vez de tener que escribir la lgica de la funcin en cada posicin del programa principal donde se deba ejecutar esa funcin, basta con escribirla slo
una vez en una subrutina y llamar a la subrutina desde el programa principal cada vez que sea necesario. Las subrutinas tienen varias ventajas:
- La utilizacin de subrutinas permite reducir el tamao total del programa.
-La utilizacin de subrutinas acorta el tiempo de ciclo, puesto que el cdigo se ha extrado del programa principal. El S7-200 evala el cdigo del programa
principal en cada ciclo, sin importar si el cdigo se ejecuta o no. Sin embargo, el S7-200 evala el cdigo en la subrutina slo si se llama a sta. En cambio, no
lo evala en los ciclos en los queno se llame a la subrutina.
- La utilizacin de subrutinas crea cdigos porttiles. Es posible aislar el cdigo de una funcin en una subrutina y copiar sta a otros programas sin
necesidad de efectuar cambios o con slo pocas modificaciones.
-Facilita las tareas de comprobacin, eliminacin de errores y mantenimiento del programa.
- La CPU tambin se puede utilizar ms eficientemente, invocando el bloque slo cuando se necesite, en vez de ejecutar todos los bloques en cada ciclo.
- Permite el paso de parmetros desde el programa principal, as como devolver resultados desde la misma al principal.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


3. Otras instrucciones de programacin en LD / KOP.

Figura 2.23. Insertar Subrutina desde men Edicin.

3.3. Bloques de organizacin de programa (S7-200)

TEMA 1. Sistemas automatizados basados en Autmatas Programables


- O bien

14
insertar
la subrutina desde
la pestaa inferior de PRINCIPAL, con botn derecho de ratn > Ins
IES
Es posible
hasta
256 subrutinas en el programa
de usuario,
bien desde Garca
el men
edicin -> insertar o bien desde la pestaa de subrutinas en la
Tllez
Subrutina.
CIDA 2 CFGS
SISTEMASinsertar
ELCTRICOS
Y AUTOMATIZADOS
Curso
(Cceres)
ventana
de
edicin.
Autor: Jos Mara Delgado Casado
2012/2013

Figura 2.23. Insertar Subrutina desde men Edicin.

Figura 2.24. Insertar Subrutina pestaas.

Para la llamada a la subrutina se emplea la orden de llamamiento a subrutina precedida de las condiciones de activacin definidas. Slo podrn llamarse
que hayan
sidola previamente
creadas.
O biensubrutinas
insertar la subrutina
desde
pestaa inferior
de PRINCIPAL, con botn derecho de ratn > Insertar >
Subrutina.

Es posible llamar a una subrutina con parmetros (similar a la llamada a funciones con parme

entrada / salida de la programacin estructurada). Los parmetros se definen en la tabla de variables locale
subrutina. Estos parmetros deben tener un nombre simblico (de 23 caracteres como mximo), un tipo de varia
tipo de datos. Se pueden transferir 16 parmetros a o desde una subrutina.

! a la subrutina,
El campo
Tipo
de variable
en la tabla
de finalizada
variables o
locales
define si funciones
la variableespeciales
se transfiere
Una vez llamada, el control del programa pasar
que
lo devolver
al principal
una vez
al encontrarse
de a la s
retorno condicionado (RET).
(IN), a y desde la subrutina (IN_OUT) o desde la subrutina (OUT).

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


3. Otras instrucciones de programacin en LD / KOP.
3.3. Bloques de organizacin de programa (S7-1200)
En el S7-200, la organizacin de programa slo poda realizarse mediante subrutinas, rutinas de interrupcin, marcas especiales y rdenes de control
de programa (saltos, fines condicionados, etc.).
En el S7-1200 se ha implementado la lgica organizativa de modelos superiores de PLCs como los S7-300 y los S7-400, de forma que existen diferentes
bloques de programa, que pueden ser de varios tipos:
- Bloques de organizacin (OB): definen la estructura del programa.
Existen OBs predefinidos (como el OB1, que es el principal o MAIN, el
OB100, que es el de arranque, el OB200, de alarmas cclicas, etc.) y otros
que pueden ser definidos por el usuario.
- Funciones (FC) y bloques de funcin (FB): Contienen el cdigo de
programa correspondiente tareas especficas o combinaciones de
parmetros. Cada FC o FB provee parmetros de entrada y salida para
compartir datos con el bloque invocante. Un FB utiliza tambin un bloque de
datos asociado (denominado DB instancia) para conservar el estado de
valores durante la ejecucin que pueden utilizar otros bloques del programa.
- Bloques de datos (DB): almacenan datos que pueden ser utilizados por
los bloques del programa.

Imagen: Siemens

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD3. Lenguaje de programacin y set de instrucciones.


3. Otras instrucciones de programacin en LD / KOP.
3.3. Bloques de organizacin de programa (S7-200 y S7-1200)

Como puede observarse, la estructura de programa cambia sustancialmente


entre el S7-200 y el S7-1200.
En el primero existe un nico bloque principal (MAIN) desde el que se
realizan llamadas a subrutinas e interrupciones. A su vez, desde cada una de
estas pueden realizarse llamadas a nuevas subrutinas e interrupciones,
debiendo posteriormente devolver el control al bloque principal.

En el caso del S7-1200, el OB1 o principal toma el control del


programa tras la rutina de arranque (OB100) y puede
intercambiar datos con bloques de datos globales (accesibles
desde cualquier elemento de programa), y realizar llamadas a
funciones (FC) o bloques de funcin (FB). Estos ltimos
adems podrn intercambiar datos con bloques de datos de
instancia (accesibles nicamente desde esa FB).

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

CPR de Badajoz
Curso 2012 /2013

Podis encontrarme en:

@JM_Delgado

Jos Mara Delgado Casado


jmdelgado@elec2.es

www.elec2.es

http://www.youtube.com/jmardelc

http://www.slideshare.net/Jmardelc

http://pinterest.com/jmardelc/

http://magnetic.tumblr.com/

Jos Mara Delgado Casado

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

CPR de Badajoz
Curso 2012 /2013

Todo el material contenido y generado en este documento, excepto aquellas imgenes que pudieran tener licencia copyright y que se han empleado con
fines educativos, estn licenciados bajo Creative Commons CC BY-NC-SA 3.0 ES.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

CPR de Badajoz
Curso 2012 /2013

UD4.Procesado de seales analgicas.


Jos Mara Delgado Casado
Profesor Tcnico FP Instalaciones Electrotcnicas IES JAVIER GARCA TLLEZ (Cceres)

UD4. Procesado de seales analgicas.


1.Seales digitales y seales analgicas.
Las seales de entrada / salida al / del PLC vistas hasta ahora eran todas seales digitales, que se caracterizan por tener nicamente dos estados: conexin
(1) y desconexin (0).
Los dispositivos detectores conectados a las entradas digitales son dispositivos todo / nada que nicamente pueden adoptar dichos estados, tanto
sensores electromecnicos (pulsadores, interruptores, finales de carrera, boyas de nivel...) como de estado slido (detectores inductivos, capacitivos, de
presencia,...).

Foto: directindustry.com

Foto: fanell.com

Foto: cabeco.com

Foto: ledscontrol.com

De igual forma ocurre con los dispositivos accionadores y preaccionadores conectados a las salidas digitales del PLC. Dado que las salidas del PLC (a
rel o a transistor) slo poseen los estados de conexin / desconexin, los dispositivos conectados a ellos slo podrn distinguir entre estos dos estados,
emplendose habitualmente para ello rels y/o contactores.

Foto: directindustry.com

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

Foto: rs-online.com

UD4. Procesado de seales analgicas.


1.Seales digitales y seales analgicas.

En el caso de las instalaciones trmicas y en otros muchos mbitos son corrientes dispositivos que no realizan una deteccin / accionamiento todo-nada
sino que realizan una medicin dentro de un rango, en funcin de la cual deben activarse / desactivarse procesos o realizar procesamiento de datos.
Los dispositivos que adoptan ms de un estado y que generan seales continuas (dato de informacin variable con el tiempo) en base a alguna magnitud
fsica, objeto de la medicin, se denominan dispositivos analgicos, y las seales que generan, seales analgicas.
En el caso de las instalaciones trmicas y de eficiencia energtica, son corrientes dispositivos como:
- Medidores de temperatura (PT-100 o termopares).
- Medidores de caudal.
- Luxmetros.
- Sensores piezoelctricos de presin.
- Balastos electrnicos.
- Servomotores.
- Variadores de frecuencia.
- Electrovlvulas regulables.
- (...)

Foto: nissitec.com.ar

Foto: grupohierros.com

Foto: solostocks.com

En los PLCs, la medicin de seales analgicas o el envo de valores analgicos a actuadores para actuar en consecuencia se consigue a travs de mdulos
de E/S analgicos, que realizan conversiones analgico / digitales para el procesado de seales.
Tanto para el procesado de entradas como de salidas analgicas, existen estndares de seal de envo / recepcin de informacin:

Estndar de tensin

Estndar de corriente

0-10 Vcc

4-20 mA

-10 +10 Vcc

0-20 mA

2-10 Vcc

1-5 mA
0-5 mA

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


1.Seales digitales y seales analgicas.
En ocasiones los sensores analgicos (p.e. en el caso de los termopares) no cumplen el estndar en transmisin
analgica de informacin, y requieren un preprocesado de la seal antes de su entrada en el PLC en el rango
estandarizado. Para este fin se emplean dispositivos como los acondicionadores de seal.
Imagen: Acondicionador de seal Allen-Bradley de carril DIN para Termopar tipo J.

Los mdulos de E/S analgicos de los PLCs transforman las seales analgicas a digitales (o viceversa, en el caso
de las salidas) asociando un rango de variacin de datos digitales a la informacin recibida / enviada desde / hacia el
sensor o actuador.
En el caso del S7-200 y el S7-1200 de Siemens existen varios tipos de mdulos de E/S destinados a realizar la
conversin analgico / digital y poder procesar seales analgicas y enviar datos analgicos a actuadores.
Foto: Rockwell Automation

Para el S7-200 existen mdulos generales para el tratamiento de seales analgicas y mdulos dedicados para la
medida de temperaturas, posicionamiento, pesaje, etc.

Imagen: Catlogo Siemens S7-200

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


1.Seales digitales y seales analgicas.

Imagen: Catlogo Siemens S7-200

Foto: Siemens (mdulos EM231 y EM235)

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


1.Seales digitales y seales analgicas.
En el caso del S7-1200 existen dos tipos de elementos que realizan medidas / actuaciones analgicas: los mdulos SM (1231, 1232, 1234) y las tarjetas
Signal Board SB 1232.
En el caso de los mdulos SM la diferencia entre los mismos es el nmero de E/S analgicas capaces de tratar. En el catlogo S7-1200 de Siemens
pueden verse sus principales caractersticas.
Dado que hay CPUs que no son ampliables con mdulo de seal (como la CPU 1211C), el S7-1200 integran la posibilidad de acoplar una tarjeta de seal
(Signal Board) que proporciona, adems de las dos AI que integra la propia CPU, AO de 12 / 11 bits de resolucin (U/I) o AI adicionales, o incluso DI y DO .
Las tarjetas SB van integradas en el cuerpo del PLC, optimizando de esta forma el espacio ocupado por el conjunto.

Foto: Siemens (mdulo SM 1231)

Foto: Siemens (SB 1232)

SB 1221 (DIx4 24 Vdc)

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

SB 1222 (DQx4 24 Vdc)

SB 1223 (DIx2 DQx2


24 Vdc)

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-200: resolucin.
Existen varios parmetros fundamentales a la hora de realizar conversiones analgico / digitales en sensores industriales (campo de medida, alcance, error,
exactitud, precisin, sensibilidad, etc). Desde el punto de vista prctico, uno de los fundamentales a la hora de implementar el control con PLCs es la
resolucin de los convertidores analgico / digitales del PLC.
Resolucin: Podemos definir la resolucin como el nmero de valores discretos capaz de ser distinguidos de forma individual por el autmata en el rango de
seal admisible por el convertidor analgico / digital.
S7-200 : mdulo EM235
En el caso del mdulo EM235 para el S7-200, podemos ver por hoja de caractersticas que la resolucin del mismo en rango
de tensin es de 12 bits. Eso significa que es capaz de distinguir entre 4096 valores diferentes.

212 = 4096
En un rango de medicin, p.e. de 0 a 10 Vcc (unipolar) significa que el EM235 es capaz de realizar cambios en medidas de:

10/4096 = 0.00244 V 2.5 mV

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-200: resolucin.
Esto quiere decir que cada cambio de 2.5 mV de valor de la seal de entrada, el EM235 aumentar una unidad el valor digital que enviar al PLC, convirtiendo
de esta forma el valor de medida analgica en una cadena de unos y ceros (1001010...) binarios correspondientes al nmero decimal comprendido entre 0 y
4096.
No obstante, para el caso anterior del S7-200 podemos ver en su hoja de caractersticas que no distingue entre 4096 valores, sino entre 32000 para el caso de
rangos unipolares (0 a 10 V, 0-20 mA) o 64000 para el caso de bipolares (-10 a 10 V).

Cmo puede ser eso?. La explicacin viene dada en la propia hoja de caractersticas:

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-200: resolucin.
En el caso de valores unipolares, el formato de los 12 bits de datos (4096 valores posibles, en el caso de rango de tensin) va incrustado en una palabra (W)
de datos (2 bytes consecutivos), de forma que el formato real del dato analgico queda traducido:

El primero de los bits de la palabra (MSB-Most Significant Bit) se reserva para el caso de valores bipolares, indicando con un 0 si es positivo y con un 1 si es
negativo, por lo que en el caso de los unipolares est permanentemente a 0. Los ltimos 3 bits (LSB-Less Significant Bit) estn permanentementa a 0, con lo
que el dato real queda incrustado entre el tercer cuarto y decimoquinto bit.
Esto caso que una variacin de una unidad en los posibles 4096 valores (2.5 mV) se traduzca automticamente como una variacin de 8 en el valor total de la
palabra:

1000 = 0 2 0 + 0 21 + 0 2 2 + 1 2 3 = 8
Cualquier variacin por tanto del cuarto bit menos significativo ocasionar que el valor de la palabra de datos cambie automticamente en 8 valores, como
puede verse en el razonamiento anterior, lo que har que los 4096 valores se conviertan en:

4096 8 = 32768
Reservndose el exceso de 32000 para el desbordamiento de medida.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-200: conexionado.
Otro aspecto fundamental del EM235, adems de su resolucin y el tramiento de valores que veremos posteriormente es su conexionado con el PLC.
1

El mdulo EM235 (tambin los EM231 y EM232 aunque su esquema no se


adjunta aqu) requieren de una alimentacin de 24 Vcc, que puede
suministrarse desde la fuente de alimentacin del PLC. El bus en este caso
slo transmite datos, pero no alimentacin.

Salida analgica en corriente (Io) y en tensin (Vo), con masa de conexin


(Mo).

DIP Switches para configurar el rango de entrada, resolucin, ganancia y


atenuacin de seal.

4
4

Entradas analgicas (x4 en el caso del EM235), que pueden configurarse


en tensin o en corriente, tal y como muestra la figura. Aquellas entradas
analgicas que no estn en uso deben puentearse entre + y -, tal y como
refleja la figura.

GAIN y OFFSET: Gain y Offset son dos potencimetros integrados en el


EM235 (en el caso del EM231 no se incluye el Offset) que permiten realizar
un ajuste a seal 0 digital cuando el mdulo detecte seal 0 analgica, y un
ajuste del rango de seal digital a 32000 cuando la seal analgica sea tope.

5
1
2

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-200: tratamiento de valores.
Aunque la palabra de datos real ocupe exclusivamente 12 bits, el S7-200 convierte valores reales analgicos (p. ej. temperatura, tensin, etc.) en valores
digitales en formato de palabra de 16 bits (1W = 2 bytes). A estos valores de entradas analgicas se accede con un identificador de rea (AI .- Analog
Input), seguido del tamao de los datos (W) y de la direccin del byte inicial.
Puesto que las entradas analgicas son palabras que comienzan siempre en bytes pares (p. ej. 0, 2, 4, etc.), es preciso utilizar direcciones con bytes pares (p.
ej. AIW0, AIW2, AIW4, etc.) para acceder a las mismas. Las entradas analgicas son valores de slo lectura. De esta forma, en el caso del EM235,
tendremos:

AIW0, AIW2, AIW4, AIW6


Al igual que ocurre con las entradas analgicas, a las salidas analgicas se accede con otro identificado de rea (AQ.- Analog Output), seguido del t del
tamao de los datos (W) y de la direccin del byte inicial. Tendremos por tanto AQ0, AQ2, AQ4,... En el caso del EM235 (AQx2), tendremos:

AQW0, AQW2
En el caso de las entradas analgicas, el S7-200 permite realizar un filtrado de las mismas, que no es ms que obtener un valor promedio de un nmero
preseleccionado de muestreo. Esto es til para aquellas entradas analgicas que puedan variar cuando lo que realmente interesa es un valor medio. Por
contra, aquellas entradas analgicas de las que queramos reflejar su variacin en cada ciclo de scan, no es aconsejable filtrarlas. Los parmetros de filtrado
se pueden definir en el bloque de sistema.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-200: tratamiento de valores.
Previo paso al tratamiento de valores, es aconsejable hacer una calibracin y un ajuste de filtrado de las entradas del mdulo analgico.
El procedimiento de calibracin de entradas se describe detalladamente en el manual de sistema del S7-200:
1. Desconectar la alimentacin del mdulo y seleccionar el rango de entrada deseado con el bloque de microinterruptores (0-10 V, 0-20 mA,...)
2. Conectar la alimentacin de la CPU y del mdulo y esperar un tiempo (el manual dice unos 15 minutos) para que el mdulo pueda estabilizarse.
3. Utilizando un transmisor, una fuente de tensin o de intensidad, aplicar a una de las entradas una seal de valor cero (cerrando las dems).
4. Leer el valor que la CPU ha recibido del correspondiente canal de entrada.
5. Con el potencimetro OFFSET, seleccionar el valor cero u otro valor digital.
6. Aplicar una seal de rango mximo a una entrada y leer el valor que ha recibido la CPU.
7. Con el potencimetro GAIN, seleccionar el valor 32000 (tope de rango de medida digital) u otro valor digital.
8. En caso necesario, volver a calibrar el desplazamiento (OFFSET) y la ganancia (GAIN).
Una vez realizada la calibracin de las entradas, es aconsejable decidir si se va a realizar o no un filtrado de entradas analgicas, teniendo en cuenta algunos
conceptos:
a) En el caso de emplear una CPU 224XP, no es necesario filtrar las entradas por software (MicroWin), ya que el propio convertidor analgico / digital de la
CPU lo realiza.
b) La filtracin de las entradas analgicas permite disponer de un valor analgico ms estable, por lo que es aconsejable utilizar el filtro de entradas
analgicas en aplicaciones donde la seal de entrada cambia lentamente, eliminando de esta forma las posibles variaciones rpidas. Si la seal es rpida, no
es recomendable habilitar el filtro analgico, ya que no se actualizar el valor.
c) Existen dos parmetros fundamentales a la hora de realizar el filtrado de entradas analgicas:
- Nmero de muestreos: nmero de ciclos de scan necesarios en los que los cuales se realiza un promedio de la entrada analgica y se actualiza
su valor. A mayor nmero de ciclos, ms estable ser la seal pero ms necesitar cambiar para ser actualizada en promedio.
- Banda muerta: Para evitar que no se reflejen cambios importantes en la entrada analgica, puede definirse una banda muerte, de forma que el
filtro cambie la entrada analgica cuando sta cambie una diferencia especificada del valor actual.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-200: tratamiento de valores.
Todas las operaciones realizadas con entradas y salidas analgicas deben realizarse consecuentemente en formato de palabra. De esta forma, para realizar
un movimiento de dato analgico ser necesario hacerlo en formato de palabra:

Dado que el valor de la entrada analgica siempre est


presente en AIWx, a la hora de realizar operaciones es
aconsejable volcar (mover) el valor de la entrada analgica a un
rea de memoria con el que posteriormente trabajar (tratar,
escalar, incrementar o decrementar artificialmente, comparar...).
En este ejemplo, se realiza el movimiento del valor analgico
presente en AIW0 en formato palabra (16 bits) al rea de
memoria de variables, con el que poder posteriormente operar.
El movimiento se realiza en formato palabra (MOV_W), y ambos
datos (IN & OUT) deben serlo.
Una vez realizado el movimiento, se realiza en cada ciclo de
scan la comparacin del valor de VW0 (que podr variar entre
-32768 y +32767) con diversos valores, activando salidas en
consecuencia.
De esta forma, si VW0 es menor de 15000, se activa la salida
Q0.0. Si el valor est entre 15000 y 25000, lo har la salida
Q0.1, y si el valor es mayor de 25000 (y menor de 32767), la
salida activada ser Q0.2.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-200: escalado de valores.
Tratar valores de la forma en que se ha hecho en el ejemplo anterior es extremadamente incmodo, ya que implica realizar varios clculos previos de cara a
realizar la comparacin:
- Del rango real de medida (p.e. sensor de temperatura de entre -0 y 760C) al rango de seal analgica (0-10V, 0-20 mA,...).
- Del rango de seal analgica (0-10V, 0-20 mA,...) al rango de dato en formato palabra del S7-200 (-32768 a +32767 para bipolares y de 0 a +32767 para
unipolares, que es ajustado a -32000 a +32000 para bipolares y 0 a 32000 para unipolares mediante ganancia y offset).
,que slo es razonable en el caso de tratamiento de valores en porcentajes conocidos (p.e. sensor ultrasnico que mide el nivel de un depsito y slo toma
decisiones respecto al rango de 50% del mismo).
En otros casos, lo normal es optar por dos posibilidades:
a) Realizacin de las operaciones aritmticas correspondientes al tramiento de datos dentro de programa.
b) Realizar un escalado y normalizacin de valores.
La realizacin de un escalado tiene como objetivo convertir los datos en formato palabra del S7-200 (enteros) en valores reales del rango de medida del
dispositivo original (p.e. la temperatura de 0 a 760C) de acuerdo a la resolucin del mismo, y poder realizar operaciones de forma directa.
ESCALADO UNIPOLAR

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

ESCALADO BIPOLAR

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-200: escalado de valores.

ESCALADO CON DESVIACIN

En algunos casos incluso ser necesario un escalado con desviacin,


p.e. si el rango de medida de dispositivo de 4-20 mA, ya que el EM235
slo mide seal en corriente de 0 a 20 mA.
Esto significa que una medida de 4 mA del dispositivo (cero en su
medida), el PLC la interpreta como un dato de seal de valor entero
(en palabra) de 6400 (20% del rango de 32000, por lo que las seales
se normalizan a este valor, y no a +32767).
Esto implica que en el escalado de salida, ste valor deber
corresponder al dato de rango mnimo (0) de medida del dispositivo.

En las imgenes anteriores, el significado de los acrnimos en ejes es el siguiente:


Lo que significa que el valor escalado puede ser
calculado mediante la recta de interpolacin lineal entre
Osh y Ish, e Osl y Isl.
Podemos calcular por tanto el valor de acuerdo a la
siguiente frmula:

OV =
Curso Autmatas Programables
IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

(Osh Osl )
(I v I sl ) + Osl
(I sh I sl )

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-200: escalado de valores.
Por suerte, para evitar la implementacin directa de estas operaciones aritmticas a la hora de operar, Siemens proporciona la librera scale.mwl (aunque no
de forma directa, pero s disponible desde su web), que una vez aadida a STEP-7/MicroWin implementa 3 funciones para simplificar esta operacin:
1) S_ITR: convierte seales de entrada analgicas en valores normalizados entre 0.0 y 1.0
Su Input ser la salida analgica de medicin (o direccin de
memoria en formato palabra donde est su valor), y ser
necesario especificar Ish e Isl del rango del dato (dependiendo
de si la conversin es unipolar, bipolar o con desviacin), y
tendr como Osh y Osl la unidad. El valor real deber ser
volcado a un rea en formato doble palabra.

2) S_RTR: convierte rango de datos en formato real a valores en formato real (escalando al rango de medida
del dispositivo):
El valor real anterior entre 0.0 y 1.0 deber ser ahora escalado
al rango real de medicin del dispositivo. Su input en este caso
ser el rea de memoria donde se ha almacenado el dato
previo (en formato DW), Ish e Isl sern respectivamente 0 y 1,
y Osh y Osl sern el rango de medicin real del dispositivo (o
un porcentaje, si se prefiere, para lo cual el rango de salida
ser entre 0 y 100).
El dato escalado ser depositado en otro rea en formato
doble palabra.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-200: escalado de valores.
Ser posible, al igual que se ha realizado con las entradas analgicas, escalar valores normalizados en formato real a una salida analgica mediante:
3) S_RTI: convierte un nmero real normalizado (entre 0 y 1) a un valor entero de salida analgico (entre 0 y
32000, o entre -32000 y 32000).
En este caso, si se desea mandar un valor normalizado (p.e.
escalones de velocidad de un ventilador de 0.25, 0.5, 0.75 y 1
a un variador de frecuencia), la funcin S_RTI escribe
directamente en la salida AQWx el valor necesario en formato
palabra.
En este caso, los valores de Ish e Isl son los reales
normalizados, mientras que el Osh y Osl ser necesario
configurar el rango de salida (unipolar, bipolar o con
desviacin).

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-200: escalado de valores (EJEMPLO)
En el siguiente ejemplo se pretende mostrar el nivel de un depsito cerrado de agua en
una pantalla visualizadora, para lo cual se ha conectado en la parte inferior del mismo un
sensor de presin con un rango de medida de 4-20 mA, que se conecta a una entrada
analgica del S7-200. Del mismo se enva posteriormente la seal en un rango de 0-10 V a
un dispositivo visualizador.
El mdulo EM235 se tiene que calibrar de forma que el valor analogico de 20 mA
corresponda al valor total de llenado del depsito (10m) y al valor digital 32000. Con un nivel
de llenado de 0m, el valor analgico de 4 mA se convertir en 6400. El programa deber
realizar la escala de los valores digitales convertidos en altura en metros.
Posteriormente, la tensin para el sealizador del nivel de llenado se tiene que generar a
travs del mdulo de salidas analgicas EM235 entre 0 y 10 V.
El programa en el S7-200 tiene por tanto que contemplar:

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-200: escalado de valores (EJEMPLO)

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-1200: resolucin.
En el caso del S7-1200, como se ha comentado anteriormente, ste viene equipado con 2 AI en tensin, con rango 0-10 V (no pueden ser configuradas como
entradas en corriente ni en otro rango diferente), como puede verse en la imagen:

En este caso, la resolucin de las entradas analgicas integradas en el S7-1200 es de 10 bits, a diferencia de los 12 bits del mdulo EM235 del S7-200. Para
el caso de las SB y los SM, la resolucin de las AI y AQ aumenta hasta los 12 bits, admitiendo tanto entrada en tensin como en corriente.
Esto significa que el rango de valores capaces de ser distinguidos por el PLC en base a los 10 bits de almacenamiento es de:

210 = 1024
No obstante, al igual que ocurra con el EM235, estos 10 bits van integrados en una palabra de datos, por lo que su rango de variacin en el PLC ser mayor
como podemos ver en las caractersticas: de 0 a 27648.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-1200: resolucin.
En el caso de las entradas AI integradas del S7-1200, se han eliminado los ajustes de ganancia y offset y aunque los 16 bits de la palabra de datos admiten
un rango de variacin de:

216 = 65536
que se queda en nicamente de 0 a 32767 por ser unipolar (0 a 10 V), se ha modificado el rango para contemplar sobreimpulsos y excesos de seal (valores
de entrada en tensin por encima de los 10 V). De esta forma, el rango de 0-10 Vcc comprende las seales entre 0 y 27658.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-1200: conexionado.
El conexionado de las entradas AI integradas es extremadamente simple: nicamente es necesario cablear la fuente de tensin en el rango 0-10 V entre la
masa del dispositivo (2M) y la entrada analgica. En el caso de los mdulos SM, deben alimentarse a 24Vdc y cablear las AI y AQ de acuerdo al diagrama.

Entradas analgicas (AIx4)

Salidas analgicas (AQx2)

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-1200: tratamiento de valores.
Al agregar una CPU a STEP7, se asignan automticamente las direcciones de entrada (I) y salida (Q). El direccionamiento predeterminado puede no
obstante cambiarse seleccionando el campo de direccin en la ventana de configuracin de la vista general de dispositivos y tecleando nmeros nuevos.
Con respecto a las entradas analgicas de la CPU, hay que tener en cuenta que se asignan en grupos de dos, y ocuparn por tanto 4 bytes:
Por defecto vienen asignadas como AI2_1: 64...67. Esto quiere decir
que las entradas analgicas en el S7-1200 ocuparn los canales:

IW64, IW66
Prescindiendo en este caso del identificador analgico A que era
necesario anteponer en el caso del S7-200.
En el caso de emplear SBs o SMs con entradas / salidas analgicas
adicionales, las mismas ser igualmente configurables desde la vista
general de dispositivos:

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-1200: tratamiento de valores.
Al igual que ocurra con el S7-200, puede emplearse de forma directa un dato de entrada analgica (en este caso, IW64) o almacenarse en un rea de
variables para su uso. En el caso del S7-1200, al no existir el rea V, puede almacenarse en un bloque de datos (DB) para su posterior uso y comparacin.
En este ejemplo, con un bit asociado en configuracin de marcas de
sistema y ciclo para siempre ON, se realiza un movimiento del dato
de IW64 a un byte de un bloque de datos creado a tal fin (DB1) y
denominado entrada_analog.
Posteriormente se compara el valor de este byte con consignas de
referencia, activando o desactivando salidas consecuentemente:
- Si entrada_analog tiene un valor menor o igual de 15000, se
activar la salida Q0.0.
- Si entrada_analog est en un rango (IN_RANGE) de entre 15001
y 20000, se activar la salida Q0.1 (y se desactivar la Q0.0 anterior).
- Si por ltimo entrada_analog tiene un valor superior a 20000 (y
menor del rebase por exceso), se activar la salida Q0.2 (y se
desactivar la Q0.1).

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-1200: escalado de valores.
Al igual que ocurra con el EM235 del S7-200, realizar comparaciones de forma directa con valores, ya que de nuevo implicara la conversin de alguna forma
externa:
- Del rango real de medida (p.e. sensor de temperatura de entre -0 y 760C) al rango de seal analgica (0-10V).
- Del rango de seal analgica (0-10V) al rango de dato en formato palabra del S7-1200 (en este caso de 0 a 27648).
A diferencia del S7-200, el S7-1200 viene con funciones integradas para realizar el escalado y normalizacin de valores, o bien para realizar el clculo
mediante la implementacin de la recta de interpolacin:
1) Funciones de normalizacin y escalado: NORM_X y SCALE_X.
La instruccin NORM_X normaliza el valor de las variables de la entrada VALUE mapendolas en una escala lineal. Los parmetros MIN y MAX sirven para
definir los lmites de un rango de valores que se refleja en la escala. En funcin de la posicin del valor que se debe normalizar en este rango de valores, el
resultado se calcula y se deposita como nmero en coma flotante en la salida OUT. Si el valor que se debe normalizar es igual al valor de la entrada MIN, la
salida OUT devuelve el valor "0.0". Si el valor que se debe normalizar adopta el valor de la entrada MAX, la salida OUT devuelve el valor "1.0".
En este caso se normaliza la entrada IW64, cuyos valores pueden
tomarse en el rango entre 0 y 27648 (0 a 10 Vcc) a un nmero
real entre 0 y 1 que se deposita en MD0.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-1200: escalado de valores.
La instruccin SCALE_X escala el valor de la entrada VALUE mapendolo en un rango de valores determinado . Al ejecutar la instruccin, el nmero en coma
flotante de la entrada VALUE se escala al rango de valores definido por los parmetros MIN y MAX. El resultado de la escala es un nmero entero que se
deposita en la salida OUT.
En este caso se escala el valor almacenado en MD0 en el rango
entre 0 y 760, almacenando este valor en formato real en el rea
de memoria en doble palabra MD10.

Dado que en el en las funciones NORM_X y SCALE_X del S7-1200 es posible utilizar las entradas y salidas de habilitacin, todo el proceso puede
recogerse en un solo Network de la siguiente forma:

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-1200: escalado de valores.
2) Funcin de clculo de la recta de interpolacin (CALCULATE).
La instruccin CALCULATE permite crear una funcin matemtica que se ejecuta con mltiples parmetros de entrada para obtener el resultado en funcin de
la ecuacin definida.
La funcin es accesible desde el rbol de instrucciones bsicas de las Task Cards, dentro de Funciones matemticas, o
bien directamente insertando un bloque de funcin sin definir y escribiendo el nombre de la misma.
La instruccin no configurada ofrece dos parmetros de entrada y uno de salida. El primer paso es seleccionar el tipo de
datos con el que se va a realizar la operacin, desplegando el men presente en ???. En el caso de realizar escalado de
valores analgicos, la operacin deber realizarse en formato real.
INTRODUCIR ECUACIN

La funcin es accesible desde el rbol de instrucciones bsicas de las Task Cards, dentro de Funciones matemticas, o bien directamente insertando un
bloque de funcin sin definir y escribiendo el nombre de la misma.
La instruccin no configurada ofrece dos parmetros de entrada y uno de salida. El primer paso es seleccionar el tipo de datos con el que se va a realizar la
operacin, desplegando el men presente en ???. En el caso de realizar escalado de valores analgicos, la operacin deber realizarse en formato real.
Posteriormente deber accederse al botn introducir ecuacin visible en la figura superior, debiendo introducir la ecuacin de la recta genrica de
interpolacin para el escalado de valores:

OV =
Curso Autmatas Programables
IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

(Osh Osl )
(I v I sl ) + Osl
(I sh I sl )

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-1200: escalado de valores.

Deber escribirse la ecuacin en el formato esperado por la instruccin CALCULATE, por lo que podemos traducir la ecuacin anterior a:

OV =

(Osh Osl )
(I v I sl ) + Osl
(I sh I sl )

Donde:

Ov

Out

Valor de salida escalado

Iv

in1

Valor de entrada analgica

Ish

in2

Lmite superior del valor de entrada escalado

Isl

in3

Lmite superior del valor de entrada escalado

Osh

in4

Lmite superior del valor de salida escalado

Osl

in5

Lmite inferior del valor de salida escalado

Con lo que la ecuacin quedar de la forma:

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

Out = ((in4 in5 ) / (in2 in3 ))*(in1 in3 ) + in5

UD4. Procesado de seales analgicas.


2. Tratamiento de seales analgicas en el S7-1200: escalado de valores.
Ser necesario posteriormente introducir en la ecuacin a calcular las reas de memoria de donde bien se toman los valores (caso de la entrada analgica
y los valores de referencia en el escalado) o bien don de se colocarn los valores calculados:
Es fundamental tener en cuenta que todos los datos introducidos en la funcin CALCULATE
deben tener formato real. Si intentamos introducir IW64 como dato analgico de entrada en
in1, ser imposible hacerlo de forma directa, al ser un entero. Es necesario una conversin
previa de tipos empleando la funcin CONVERT:

Una vez realizada la conversin de tipos es posible rellenar la funcin CALCULATE y obtener el valor real en OUT correspondiente al dato real de medida
del dispositivo conectado a la entrada analgica.

En este caso, el valor unipolar (0-10V) presente en la entrada


analgica IW64, convertida previamente a real en MD40, lo
estamos escalando a un nmero real entre 0 y 760, que se volcar
en el rea de memoria MD50.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

CPR de Badajoz
Curso 2012 /2013

Podis encontrarme en:

@JM_Delgado

Jos Mara Delgado Casado


jmdelgado@elec2.es

www.elec2.es

http://www.youtube.com/jmardelc

http://www.slideshare.net/Jmardelc

http://pinterest.com/jmardelc/

http://magnetic.tumblr.com/

Jos Mara Delgado Casado

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

CPR de Badajoz
Curso 2012 /2013

Todo el material contenido y generado en este documento, excepto aquellas imgenes que pudieran tener licencia copyright y que se han empleado con
fines educativos, estn licenciados bajo Creative Commons CC BY-NC-SA 3.0 ES.

Curso Autmatas Programables


IES San Roque (BADAJOZ)
Jos Mara Delgado Casado

CPR de Mrida
Curso 2012 /2013

INTRODUCCIN A LOS AUTMATAS PROGRAMABLES S7-1200: DEL CONTROL DIGITAL AL ANALGICO

UD5.Introduccin al control PID.


Jos Mara Delgado Casado
Profesor Tcnico FP Instalaciones Electrotcnicas IES JAVIER GARCA TLLEZ (Cceres)

David Pecelln Campos


Profesor Secundaria Sistemas Electrotcnicos y Automticos IES SANTIAGO APSTOL (Almendralejo)

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)

UD5. Introduccin al control PID.


1. Fundamentos de control.
1. Conceptos bsicos.
En los supuestos prcticos anteriormente resueltos hemos podido observar cmo se ha realizado el procesado de seales analgicas en el S7-1200 de forma
discreta, controlando las variables analgicas y operando en funcin de ellas cuando el programa de usuario alcanzara los valores especificados en las
mediciones de sus entradas.
En estos procesos, es posible observar la ausencia de regulacin continua los mismos: no existe salida analgica conectada al PLC que deba regularse en
funcin de los valores medidos por las entradas. De este modo, cuando en un proceso se da la circunstancia de que los valores de salidas analgicas
(velocidad de funcionamiento de ventilador / bomba, apertura de vlvulas proporcionales, puesta en funcionamiento de etapas de calentamiento, etc)
dependen de los valores de las seales de entrada analgicas conectadas y del establecimiento de un estado de referencia (nivel, temperatura, presin...
deseadas a alcanzar por el sistema) podemos hablar de la existencia de un sistema de regulacin continua.
De cara a enfrentarnos con los sistemas de regulacin y posteriormente con el control PID, es
necesario distinguir una serie de conceptos previos:

Sistema: Denominamos sistema a un conjunto de componentes o variables que interactan


entre s en un proceso.

Proceso (P): Denominaremos de aqu en adelanta proceso al sistema fsico que se desea
monitorizar o controlar.

Variable de proceso (PV): Llamamos variable de proceso (VP PV.- Process Variable) a la
variable controlada en el proceso (presin, temperatura, nivel,...) y en funcin de la cual el
proceso deber regularse.

Setpoint (SP): Punto de referencia de la variable de proceso PV al que se aspira a llegar en


el proceso (temperatura, presin, nivel,... de referencia).
Imagen: instrumentacionycontrol.net

Error (E): Diferencia entre la variable de proceso (PV) y el Setpoint (SP), indicador de que
an no se ha llegado al punto de referencia deseado y empleado como parmetro de control para
el proceso.

Ganancia (K): Valor por el cual se amplifica el error como parmetro de control para el
proceso y actuar de esta forma con mayor o menor celeridad para alcanzar el SP por parte de la
PV.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

Controlador: Dispositivo encargado de recibir la seal de la variable de proceso, y en base al


error exisnte entre SP y PV, acta en consecuencia.

UD5. Introduccin al control PID.


1. Fundamentos de control.
2. Sistemas de control: lazo abierto vs. lazo cerrado.
Desde el punto de vista de control de sistemas, existen dos tipos diferentes de sistemas en funcin del tipo de control realizado por el controlador y las
referencias tomadas por el mismo del estado del proceso. Tendremos de esta forma:
a) Sistemas de lazo abierto: Son sistemas en los que solo acta el proceso sobre la seal de entrada y da como resultado una seal de salida totalmente
independiente, y en funcin de la cual el sistema no acta. El error (PV-SP) no se toma en cuenta para el ajuste de la salida hasta que PV pueda llegar a SP.

Setpoint (SP)

Controlador
+
Sistema

Salida

Imagen: Mintz (Wikimedia Commons)

Los sistemas de lazo abierto no son sistemas regulables de forma automtica, pero por contra son sistemas estables frente a oscilaciones o alteraciones, ya
que la entrada al sistema acta de forma independiente a la salida del mismo.

b) Sistemas de lazo cerrado: Los sistemas de lazo cerrado hacen uso de una realimentacin de la seal de salida y la toman como referencia para de esta
forma corregir la entrada al controlador, actundo este sobre el sistema con la diferencia existente entre la variable de proceso (PV) y la consigna establecida
(SP). De esta forma, a mayor diferencia entre ambas, mayor ser la actuacin del controlador sobre el sistema, midiendo de nuevo el resultado producido y
actundo el controlador en consecuencia.
Setpoint (SP)

Error (E)

Controlador
+
Sistema

Salida

Entrada de
referencia (PV)
Medidor

Imagen: Mintz (Wikimedia Commons)

Los sistemas de lazo cerrado son capaces de lograr la exactitud de control de proceso requerida en un sistema, pero por contra pueden presentar
oscilaciones importantes debido a su tendencia a sobrecorregir errores en el sistema.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
3. Ejemplos de sistemas de control de lazo cerrado.
De cara a comprender el funcionamiento de los sistemas de control de lazo cerrado y posteriormente la implementacin del control PID sobre los mismos,
veremos algunos ejemplos que pueden requerir este tipo de control:
a) Control de temperatura en un intercambiador de calor:
Un intercambiador de calor (en este caso de carcasa) transfiere calor de un fluido caliente de entrada
(en este caso vapor) a un fluido de proceso fro, con el objetivo de mantener la temperatura del fluido
de proceso lo ms cercana posible un punto de referencia (SP), independientemente de la
temperatura de entrada del fluido de proceso fro.
De esta forma, ser necesario establecer una regulacin del sistema para, en funcin de la
temperatura de entrada del fluido fro de proceso y del punto de consigna (SP) marcado, regule el
flujo de entrada de vapor para que la temperatura de salida de proceso caliente se acerque a SP.
Ser necesario de esta forma realizar una medicin de la temperatura de salida del fluido de proceso
caliente (mediante termopar, termorresistencia u otro tipo de transductor de temperatura), obteniendo
de esta forma la variable de proceso (PV).

Imagen: instrumentacionycontrol.net

El valor de la variable de proceso (PV) debe


influir de algn modo en la regulacin del vapor de
entrada, y para poder realizar esta regulacin ser
necesario disponer de algn tipo de vlvula de
regulacin proporcional que regule el flujo de vapor
de entrada para de esta forma conseguir una PV lo
ms cerana a SP posible.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

Imagen: instrumentacionycontrol.net

Imagen: instrumentacionycontrol.net

UD5. Introduccin al control PID.


1. Fundamentos de control.
3. Ejemplos de sistemas de control de lazo cerrado.
En este caso, el controlador debe ser capaz de, en base a la consigna marcada previamente (SP) y al valor medido de la variable de proceso (PV) regular el
flujo de vapor al intercambiador para que la temperatura de fluido caliente sea constante.
b) Regulacin de nivel de depsito:
Un sensor ultrasnico con salida 4-20mA controla el
nivel de un depsito en un rango especfico (en este
caso entre 80 y 150mm desde la posicin del sensor),
enviando una seal de variable de proceso (PV) a un
regulador.
El nivel del depsito debe mantenerse en un punto
especfico (SP) previamente especificado al regulador
y controlable desde entrada, de modo que puede ser
cambiado en un salto nico (p.e: S1-100mm,
S2-150mm).
El ajuste al SP especificado se realiza mediante una
bomba 24VDC, cuyo caudal es regulable con una
seal analgica 0-10V procedente del regulador.
Ante un cambio de consigna (SP), el regulador
pondr en marcha la bomba, ajustando el nivel de
tensin de la misma (velocidad y caudal) al nivel de la
variable de proceso hasta llegar a SP de acuerdo a
seal proporcionada por la variable de proceso del
sensor ultrasnico PV.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4. Los tipos de control en el control PID.
Las acciones de control anteriormente vistas en los ejemplos implican un proceso de control interno en el regulador, que en base a la informacin de
consigna marcada (SP.- Setpoint) y al valor recibido por la variable de proceso (PV.- Process variable) regula una variable de control (CV.- Control Variable)
de la forma ms adecuada para lograr un ajuste al valor deseado.
Uno de los sistemas de control ms habitualmente extendidos en procesos industriales es el control PID, que a su vez implica la aplicacin de tres tipos de
control, cada uno de ellos con un fin:

Proporcional (P): Es el tipo de control en el que la salida del controlador es


proporcional a la magnitud de error (diferencia entre PV y SP).

Integral (I): Es el tipo de control en el que la salida del controlador es


proporcional a la magnitud de error (diferencia entre PV y SP) y al tiempo en que
sta se mantiene (error en estado estacionario).

Derivativo (D): El control derivativo reacciona a la tendencia de la magnitud


de error (diferencia entre PV y SP), y por tanto nicamente aplica cuando hay
cambios en el valor absoluto del error.
Imagen: Wikimedia Commons
Autor: Arturo Urquizo

Cada uno de estos tipos de control est diseado con un fin, y aunque es posible emplearlos por separado, la mayora de los reguladores basados en PLC
incorporan funciones especficas parametrizables que realizan el control conjunto proporcional, integral y derivativo.
Es posible, no obstante, modular la aplicacin de cada uno de los controles mediante el cambio de sus ganancias individuales, aunque esto no es posible en
todos los tipos de controlador, como veremos ms adelante.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.1. El control proporcional.
De cara a ver los fundamentos y limitaciones del control proporcional, veremos su aplicacin con un ejemplo:
Supongamos para ello un sistema de control de temperatura de un horno. La variable de proceso (PV) en este caso ser tomada por un sensor de
temperatura integrado en la cmara del horno, mientras que la variable del control (CV) o salida del regulador ser controlada por una vlvula regulable que
alimenta un quemador, en un principio regulable manualmente y posteriormente a travs de algn tipo de regulador automtico (basado o no en PLC).

En la situacin inicial, si la temperatura ambiente se encuentra a un valor determinado (25C) y el horno lleva un largo tiempo apagado, estando la vlvula de
regulacin cerrada y el quemador no alimentado, la temperatura interior del horno ser igualmente de 25C, estando el sistema en estado estacionario, en el
que no habr flujo calorfico hasta que una variable cambie.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.1. El control proporcional.
Supongamos que se ha abierto manualmente la vlvula a un 80% de su valor, ponindose de esta forma en funcionamiento el quemador. En esta situacin,
habr un determinado flujo calorfico que, procedente del quemador, entra en la cmara del horno, contribuyendo a aumentar la temperatura de ste.
Esta situacin provoca que por un lado aumente la temperatura del horno (pongamos a 70C), y que como consecuencia de esto, cierta cantidad de calor
abandone el horno con destino a la habitacin. De esta forma, y aqu radican gran parte de las limitaciones del control propocional que veremos ms
adelante, cuanto mayor sea la diferencia de temperatura entre el horno y el ambiente, mayor ser el flujo calorfico desde el interior del horno hasta este
ltimo.
Si partimos de que an no se ha alcanzado el estado estacionario, la
temperatura del horno sigue subiendo con la misma regulacin de
apertura de vlvula hasta que llegue a una situacin en la que el flujo
calorfico proporcionado al horno sea el mismo que abandone ste, de
forma que la temperatura del horno alcanzar un valor de estado
estacionario.

Q2

Q2

Q1

Q1

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.1. El control proporcional.
Si en las condiciones anteriormente marcadas (estado estacionario), la temperatura del ambiente subiera, la diferencia de temperatura entre el horno y el
ambiente disminuira, con lo que reducira el flujo de calor cedido del horno al ambiente (Q2) contribuyendo a aumentar la temperatura interior de ste. En la
situacin contraria, si la temperatura ambiente disminuye, el flujo de calor cedido del horno al ambiente (Q2) aumenta, reduciendo la temperatura interior del
horno hasta un nuevo estado estacionario.
Supongamos ahora que hemos implementado un sistema de control basado en un bulbo remoto sensor de temperatura, de forma que un aumento de
temperatura del horno causa un incremento de temperatura del bulbo y una expansin del fluido interior, transmitiendo este movimiento a la vlvula de gas
regulada. Como puede verse en la figura, se ha conectado el bulbo a un sistema basculante que regula la apertura de la vlvula.
Se est ejerciendo de esta forma un control
proporcional sobre la vlvula, que contribuye a
mantener la temperatura del horno en un valor
regulado (el del bulbo) y que reacciona ante la
diferencia de temperatura entre este valor de
consigna (SP) y el valor medido (PV), actuando sobre
la salida de la vlvula de gas consecuentemente
(CV).
Aunque ms adelante cambiaremos este regulador
por un control P basado en el PLC S7-1200, puede
verse cmo la distancia entre el punto de pivote del
regulador y la actuacin de la vlvula determina la
regulacin aplicada, de forma un mismo movimiento
del actuador del bulbo se traduce en una mayor o
menor regulacin en funcin de esta distancia.
A esta distancia la denominamos ganancia del
control proporcional (Kp), y ms adelante veremos
que se transmite tanto al control integral como al
derivativo.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.1. El control proporcional.
De cara a representar la forma de actuacin del control proporcional y sus limitaciones, es necesario partir de la representacin del control en lazo abierto,
obviando el control proporcional. En la siguiente figura, el trazado ABCD representa el valor de la variable de control (CV), en este caso el porcentaje de
apertura de la vlvula de gas, mientras que el JKLM representa el estado de la variable de proceso (PV), en este caso la temperatura interior del horno.
250C

80%
180C

40C

10%
0

En esta representacin, puede verse cmo en un primer


momento, mientras la vlvula (CV) est abierta al 10%, la
temperatura interior del horno es de 40C.
En un momento determinado (B), se ha cambiado la carga de
la vlvula del 10 al 80%. Puede verse cmo, en el momento en
que se produce el cambio, la temperatura del horno NO
reacciona a ese cambio, sino que lo hace un tiempo despus
(K). A este intervalo se le conoce como banda muerta,
demora o retraso del control.
A partir de este momento, la temperatura del horno empieza a
subir hasta estabilizarse en 180C, alcanzando el estado
estacionario (Q1=Q2).
Puede observarse igualmente cmo existe un punto donde la
temperatura experimenta la mxima velocidad de cambio
(mxima pendiente de la recta), que es el punto L, a partir del

cual va decreciendo el ritmo de subida al irnos acercando al estado estacionario.


Este grfico anterior no muestra ningn tipo de control, sino simplemente la forma de cambio de la temperatura (PV) ante un cambio repentino en la variable
de control (CV). En la realidad, ser la variable de control (CV) quien responda a los cambios de la variable de proceso (PV).
Veamos ahora qu sucede en un control proporcional.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.1. El control proporcional.
Para observar el comportamiento del control proporcional, en esta figura se ha representado un Setpoint (SP) de 90C, en azul. En un primer momento (hasta
el punto A), el control proporcional se ha desactivado (K=0). Esto ha causado que la temperatura del horno (rojo) se mantenga igual a la del ambiente (25 C).
En el inicio del control proporcional, si se ajusta K=1 a partir del punto A, ste calcular un error de un 26% sobre el total de la escala ((90-25)/250).
Este error har que se ponga en marcha el control
proporcional, realizando una apertura de la vlvula
proporcional al error calculado. Dado que se ha ajustado
K=1, la apertura de la vlvula ser del 26% precisamente.

250C
Setpoint
PV (temperatura horno)
CV (apertura de vlvula)

Tras superar la banda muerta, la variable de proceso (PV) ir


aumentando. Cada cierto tiempo (posteriormente veremos que
ajustable a travs de un OB cclico), el controlador ir
recalculando el error, ajustando la apertura de la vlvula al
porcentaje de error calculado.

90 C

26%

50 C
16%

25 C
A

Dado que este error es cada vez menor, el porcentaje de


apertura de la vlvula ir disminuyendo, por lo que, por
decirlo de alguna forma, el control proporcional va perdiendo
fuerza, llegando a un punto estacionario, donde se presenta un
error permanente (error de estado estacionario).

Es decir, hemos llegado a un punto en el que, con el porcentaje de apertura de la vlvula, el calor que escapa del horno iguala al calor proporcionado, por lo
que es imposible acercarnos ms al SP de 90C con el tipo de control empleado.
Lo cierto es que, en este estado estacionario, un porcentaje de apertura de vlvula del 16% es insuficiente para lograr subir la temperatura del horno por
encima de los 50C.
Matemticamente, el control proporcional suele venir expresado por:

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.1. El control proporcional.
Podramos nos obstante seguir el siguiente razonamiento: qu ocurrira si aumentramos la ganancia proporcional?. En principio parece razonable
pensar que se reducir el error de estado estacionario. Si en vez de K=1 hubiramos ajustado K=2, tendramos algo similar a lo siguiente. Es decir, en este
caso se ha aumentado el porcentaje de apertura de vlvula en estado estacionario (21%) y consecuentemente se ha reducido el error (90C-64C).
250C

Aun as, dado que no se ha eliminado del todo, podramos


seguirlo aumentando para intentar reducirlo. En el momento en
que llegramos a K=4 observaramos la primera limitacin de la
tendencia: no podemos abrir la vlvula de gas por encima del
100%, por ms que quisiramos.

Setpoint
PV (temperatura horno)
CV (apertura de vlvula)

90 25
4 100%
250

52%
90 C

Observamos adems otra limitacin: en el momento en que se


realiza el cambio K=0 a K=4, la tendencia de cambio de PV es
muy rpida. De seguir con ella, la temperatura alcanzada por
PV superara a SP, por lo que se debe producir un ajuste de
bajada repentina y posterior subida.

64 C
21%
25 C

A
250C
100%

Setpoint
PV (temperatura horno)

Vemos pues que se produce la primera oscilacin en el


sistema.

CV (apertura de vlvula)

90 C
75 C
24%
25 C

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.1. El control proporcional.
Si persistiera la tendencia de incremento de la ganancia proporcional por encima de 4 (aunque en un primer ajuste sera imposible superar el 100% de
apertura de vlvula del gas), nos encontraramos con que las oscilaciones seran ms acusadas, hasta el punto de, en funcin de la ganancia ajustada,
mantenerse en el tiempo.
250C

250C

K=8

K=12

Setpoint

Setpoint

PV (temperatura horno)

PV (temperatura horno)

CV (apertura de vlvula)

CV (apertura de vlvula)
57%

90 C

90 C
83 C

33%

31%

6%

85 C

0%

250C

Setpoint

K=16

CV (apertura de vlvula)

70%

90 C

81 C

0%

Curso Autmatas Programables


Jos Mara Delgado Casado & David Pecelln Campos

- Slo con el control proporcional NO ES POSIBLE ELIMINAR el error


estacionario.
- Una ganancia excesiva del lazo de control proporcional redunda en
oscilaciones sostenidas que inestabilizan el sistema.

94 C

IES Senz de Buruaga (MRIDA)

Esta tendencia nos lleva a dos conclusiones:

PV (temperatura horno)

De cara a mejorar el control, es necesario introducir componentes integrales y


derivativas de cara a eliminar el error de estado estacionario y a estabilizar el
sistema.

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.2. El control integral.
Las limitaciones del control proporcional pueden ser suplidas en parte por la adicin de una parte integral en el control.
El control integral reacciona tanto a la magnitud del error (en el control PID, tanto los trminos integrales como derivativos van afectados por la ganancia
proporcional), como (y esto es lo importante) al tiempo que el error se mantiene.
Matemticamente se expresa como:
tiempo.

, donde Ki es la ganancia integral (o tiempo de integracin) y e(t) es el error variable en el

De cara a ver el funcionamiento del control integral, al igual que hicimos con el proporcional, veamos el siguiente ejemplo:
Supongamos que tenemos un sistema de control de temperatura similar al anterior.
Por comodidad, en vez de en C, trabajaremos en porcentaje. En unas condiciones
iniciales, en estado estacionario, tenemos un SP establecido a un 10%. En estas
condiciones, CV se abre un 25% para ser capaz de mantener PV al valor marcado
por SP (10%).
Supongamos adems, de cara a ver cmo trabaja exclusivamente la accin integral
del controlador, que de alguna manera hemos anclado CV a su valor del 25%, de
forma que aunque se produzca un cambio en SP y el controlador intente abrir ms
CV, no podr. Si CV se mantiene en un valor fijo (25%), tambin lo har SP (10%).
En un momento determinado (punto 1), se cambia sbitamente el valor de SP del 10
al 20%. El controlador, en base a sus clculos, intentar cambiar el valor de CV para
que PV se acerque a SP, pero no podr al estar fijado en un valor.
(1)

Supongamos que se ha fijado una ganancia proporcional de 2; el controlador


calcular el error (20-10=10 * 2 = 20%), e intentar subir un 20% la apertura de la
vlvula (si estaba en 25% -> 25+20=45%), subiendo hasta el punto C (esto es solo
un clculo, no el ajuste real: La vlvula est bloqueada!).
En este punto, el control proporcional ha hecho todo lo que poda por solucionar el
desajuste, pero como la vlvula est bloqueada, PV seguir en su valor y no podr
acercarse a SP.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.2. El control integral.
Es ahora el control integral quien entra en juego: dado que no ha cambiado PV y se sigue manteniendo el error de estado estacionario (esta vez debido a
que hemos impedido actuar a la vlvula), intenta que PV se acerque a SP.

4 min/rep

A partir de este punto existen dos posibles alternativas: las que van a los puntos D y
E. En la primera de ellas se ha ajustado el tiempo de integracin a 2 (minutos /
repeticin). Esto quiere decir que la accin integral le lleva 2 minutos volver a
repetir la accin proporcional previa.

2 min/rep

En la segunda de ellas (E), la accin integral se ha ajustado a 4 (minutos /


repeticin), lo cual quiere decir que a la accin integral le lleva 4 minutos volver a
repetir la accin proporcional.
Puede verse cmo, tras 2 minutos (D) o tras 4 minutos (E), se ha vuelto a repetir el
porcentaje de actuacin de la accin proporcional, elevando otro 20% la apertura de
la vlvula (hasta el 45+20=65%).

(1)

Es importante tener en cuenta que, en el segundo caso, con un valor de I mayor, ha


llevado el doble de tiempo volver a repetir la accin proporcional.
En el caso del control Integra, por lo tanto, un mayor tiempo de integracin lleva
a una accin ms lenta.
Introducir un valor 0 en el tiempo de integracin, por contra, lleva a anular el control
integral.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.2. El control integral.
De cara a ver con detalle el comportamiento del control integral, supongamos un sistema similar al de control de temperatura del horno con la vlvula de gas
que hemos estado viendo hasta ahora. En este caso, y dado que en control PID en ocasiones no trabajaremos con valores reales de variables, sino con
rangos analgicos de PLC de un tamao determinado, se ha escogido un rango de variacin de variable de proceso (PV) y variable de control (CV) de 12 bits
(4096 valores, con variacin de 0 a 4095).

PV.- Variable de proceso

Accin integral X

Accin integral Y

En este caso, y para ver la aportacin exclusiva de la parte


integral al control (obviando la proporcional, pero no su
ganancia, ya que afecta a la integral), se ha representado
exclusivamente la contribucin integral a la variable CV.
En un primer momento (tramo desde A hasta B), el SP est
establecido a 2000 (aprox. un 49% del rango total de
medicin). Para conseguir que PV se site en 2000, CV est a
un valor de 1024 (un 25% del rango total). En esta situacin, el
proceso est en estado estacionario sin error, por lo que no
acta el control proporcional, es exclusivamente el integral
quien consigue que la vlvula se abra un 25% para mantener
esta situacin.

Accin integral Z

Por alguna circunstancia (p.e. se abre el horno en un


momento determinado para introducir producto), se provoca
una disminucin gradual de temperatura de 2000 a 1500.
Veamos cmo reacciona el control integral a esta situacin
viendo tres casos diferentes con distintas ganancias
proporcionales y distintos tiempos de integracin.

Setpoint
PV (temperatura horno)
CV (apertura de vlvula)

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.2. El control integral.
En un primer momento, cuando desde el punto B se produce el cambio de PV, el sistema (CV) empieza a reaccionar. La reaccin inicial del control integral
es lenta, ya que reacciona no slo al valor del error, sino al tiempo que ste se mantiene en el tiempo. De ah que en las tres posibles acciones integrales
varen poco en el primer tramo: el error lleva poco tiempo producindose.

PV.- Variable de proceso

Accin integral X

Accin integral Y

En cuanto el controlador integral empieza a percatarse de que


el error es cada vez mayor, la contribucin integral es cada
vez ms elevada y la pendiente de cambio de CV cada vez
mayor. Cuando se alcanza el punto C la accin integral
empieza a considerar el error como un error grave y empieza
a aplicar una correccin severa (el error es grande y ya se ha
manteniendo un tiempo considerable).
Al alcanzar el punto C y hasta el D, el valor de PV se estabiliza
durante un tiempo, sin embargo, la accin integral no est
contenta con este resultado: hay un error grande que se ha
mantenido largo tiempo, por lo que aprieta an ms su
contribucin (mxima pendiente de cambio).

Accin integral Z

Conforme disminuye desde D hasta E el error, la accin


integral sigue mantenindose, pero dado que el error es cada
vez menor, suaviza su pendiente de cambio, aunque sigue
elevando CV.
Al alcanzar E el error ha desaparecido. En ese momento la
accin integral no desaparece, sino que mantiene su
contribucin anterior, ya que desea que esa situacin
permanezca de ese modo (pendiente = 0).
Setpoint
PV (temperatura horno)
CV (apertura de vlvula)

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.2. El control integral.
Del punto E al F nos encontramos con que la PV sigue aumentando. La accin integral se percata del error (overshoot o sobreactuacin) y empieza a
decrementar su contribucin a la apertura del gas (CV disminuye). Al alcanzar el punto F la PV se estabiliza, pero aun as est fuera de la consigna SP, por lo
que el control integral sigue contribuyendo a la disminucin de CV. Al ir disminuyendo de nuevo desde el punto G al punto H, se suaviza de nuevo el control
integral. Al alcanzar el punto H y volver de nuevo al SP la
accin integral mantiene su valor.
PV.- Variable de proceso

Este es un resumen de la corta visin del mundo de la


accin integral:
- Hay un error?. No me gusta: voy a cambiar mi contribucin
al CV para hacerlo desaparecer.

Accin integral X

- Sigue habiendo error?. Sigue sin gustarme: voy a contribuir


an ms a CV para intentar hacer que desaparezca.

Accin integral Y

Accin integral Z

Setpoint
PV (temperatura horno)
CV (apertura de vlvula)

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

- Ha desaparecido el error?. Excelente. Voy a mantener mi


contribucin como estaba ahora mismo para que todo siga
igual.

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.2. El control integral.
Veamos a continuacin cmo se modifica el control integral de acuerdo a las ganacias proporcionales y tiempos de integracin establecidos. Para ello,
en la figura aparecen tres acciones integrales diferentes:X, Y y Z, cada una de ellas con diferentes valores.

PV.- Variable de proceso

Accin integral X

Accin integral Y

Accin integral Z

- Accin X frente a Accin Z: En este caso, las ganancias


proporcionales son idnticas y slo vara el tiempo de
integracin. Dado que un mayor tiempo de integracin
redunda en una accin ms lenta, puede comprobarse cmo
la contribucin a CV es menor en la accin Z que en la accin
X.
- Accin Y frente a Accin Z: En este caso, los tiempos de
integracin son idnticos. Dado que slo se representa el
control integral, por qu la diferencia?. No debemos olvidar
que el control integral est afectado por la ganancia
proporcional, por lo que si modificamos Kc, tambin estamos
cambiando la accin integral.
- Accin X frente a Accin Y: Ahora tanto la contribucin
proporcional como la integral son diferentes. En conjunto, la
accin integral Y es ms lenta en actuacin ya que su tiempo
de integracin es mayor el valor de Kc no es lo
suficientemente grande para compensar esta lentitud de la
accin integral.

Setpoint
PV (temperatura horno)
CV (apertura de vlvula)

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.2. El control integral.
En el caso del control exclusivamente proporcional vimos cmo se comportaba el sistema frente a un error del 26% con una ganancia proporcional de 2.
Veamos los cambios que experimentar el control si a este control le aadimos una accin integral con un Ti=16. Desde el punto A hasta el B, la accin
proporcional est regulada a 0, por lo que ni la proporcional (P) ni la proporcional-integral (PI) actuarn y el error se seguir manteniendo.
250C
250C
Setpoint
PV (temperatura horno)
CV (apertura de vlvula)

A partir del punto B cambia el valor de la accin proporcional


de 0 a 2. El cambio inicial debido al error desde la apertura 0%
al 52% de la vlvula se debe al control proporcional, que
reacciona frente a la magnitud del error.

P: 0 -> 2
I: 0

Conforme PV empieza a subir, en el primer grfico vemos que


CV se mantienen un momento constante y empieza despus a
disminuir, sin embargo, con la adicin de la accin integral,
sta aade un poco ms de apertura de vlvula hasta el 54%.
Si esta situacin se mantuviera 16 minutos as, la accin
integral volvera a aadir un 52% de apertura a la vlvula, pero
antes de que esto ocurra, PV empieza a aumentar y el error a
disminuir.

52%
90 C

64 C
21%
25 C

BA
P: 0 -> 2
I: 16

Llega un momento en que la accin integral no puede contribuir


ms a la correccin del error (error de estado estacionario),
sin embargo, la accin integral seguir aadiendo cada 16
minutos una nueva accin proporcional al error existente.
54%

Esto hace que el sistema vaya eliminando poco a poco el error


de estado estacionario.

52%
90 C
78 C

No obstante, en este caso es excesivamente lento, ya que en


22 minutos no ha sido capaz de eliminar dicho error.

30%
25 C

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.2. El control integral.
Si se reduce el tiempo de integracin, la contribucin de la accin integral ser an mayor, por lo que el porcentaje de CV aumentar en cada estado,
corrigindose el error de estado estacionario con ms celeridad.
En este caso se ha reducido el tiempo de integracin de 16
a 4 minutos / repeticin. Esto ha hecho que en un primer
momento, la contribucin de la accin integral tras el cambio
de Kc de 0 a 2 sea an ms acentuada: mientras que antes la
accin integral aumentaba la apertura de vlvula hasta el 54%,
ahora, debido a la reduccin de Ti (menos tiempo hasta repetir
el control proporcional) hace que suba hasta el 57%.

250C

P: 0 -> 2
I: 4

57%
52%
90 C
37%

25 C

Lo realmente interesante ocurre luego: cuando empieza a


subir PV, la accin integral reacciona intentado acercar cada
vez ms PV a SP, en menos tiempo que en el caso anterior.
Dado que va aplicando la parte proporcional al error de estado
cada 4 minutos, en un tiempo inferior a 22 minutos logra que
la variable de proceso PV alcance prcticamente a SP.

Cabe preguntarse que si una accin integral con Ti=16 no nos dio suficiente control integral, que s nos ha dado una accin integral con Ti=4, si reducimos el
tiempo de integracin, lo ms probable es que consigamos acercar PV a SP de forma ms rpida.
Veamos qu ocurre en estos casos...

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.2. El control integral.
En las siguientes figuras se muestran casos (excepto el ltimo) en los que hemos ido reduciendo cada vez ms el tiempo de integracin. Puede verse cmo
un tiempo de integracin demasiado bajo hace que el sistema reaccione con demasiada celeridad a los cambios de PV o SP, causando inestabilidad en el
sistema y oscilaciones, ya que el sistema, al intentar implementar cambios tan rpidos, se pasa del punto que quiere alcanzar, teniendo que implementar una
tendencia contraria a continuacin para corregir el overshoot o sobreactuacin.
P: 0 -> 2

Setpoint

I: 1

PV (temperatura horno)

P: 0 -> 2
I: 0.25

CV (apertura de vlvula)

P: 0 -> 20

I: 0

En la ltima figura se muestra, no obstante, el sistema en el que se ha


cambiado la ganancia proporcional a 20, eliminando la parte integral. Resulta,
como vimos ya anteriormente, en un sistema oscilatorio, pero lo interesante es
que la frecuencia de oscilacin de CV es mayor en este caso que en el
anterior:
Cuando en un sistema tenemos oscilaciones persistentes con una
frecuencia alta, lo ms probable es que se deban a la parte proporcional,
mientras que cuando las oscilaciones tengan una frecuencia mantenida
baja, ser muy posiblemente la parte integral quien las est causando.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.3. El control derivativo.
La accin derivativa de control se produce cuando hay algn cambio en el valor absoluto del error, de forma que intenta corregir este error con la misma
velocidad que se produce. Si el error es constante, slo actan los modos proporcional e integral, pero no el derivativo.
El control derivativo suele expresarse matemticamente de la forma:
De cara a ver el funcionamiento del control derivativo, al igual que hicimos con el proporcional e integral, veamos el siguiente ejemplo.
Al igual que se hizo con el control integral, supongamos el
mismo sistema de control de temperatura (horno con vlvula
de gas) que hemos estado viendo hasta ahora.
De nuevo veremos exclusivamente la aportacin de la accin
derivativa al control, obviando la proporcional (pero no su
ganancia) y la derivativa.
Adems, como en el caso anterior, de cara a ver la aportacin
derivativa, supondremos que PV no est respondiendo a CV,
sino que su evolucin se debe a otros factores.
De nuevo se ha escogido un rango de variacin de variable de
proceso (PV) y variable de control (CV) de 12 bits (4096
valores, con variacin de 0 a 4095).
En un primer momento (tramo desde A hasta B), el SP est
establecido a 2000 (aprox. un 49% del rango total de
medicin). Dado que el control derivativo slo responde a
cambios absolutos del error, y en el tramo AB no hay, la
variable de control CV est a 0.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.3. El control derivativo.
Por alguna circunstancia (p.e. se abre el horno en un momento determinado para introducir producto), se provoca una disminucin gradual de temperatura
de 2000 a 1500.
En el momento en que se empieza a producir el cambio (a partir del punto B), el control derivativo empieza a reaccionar rpidamente oponindose al cambio
e intentando llevar a CV hasta un punto que contrarreste el cambio producido. Dado que el control derivativo es proporcional a la pendiente de cambio, una
vez alcanza su valor, si la pendiente de cambio de PV no vara, se estabiliza.

PV - Variable de proceso

Llegados al punto C, el valor de PV se estabiliza. Esto hace


que la accin derivativa se cancele en poco tiempo. Dado que
no existe cambio en PV durante un tiempo, el controlador
derivativo no trabaja: slo reacciona a pendientes de cambio.
Desde el punto D al punto E el valor de de PV empieza a
crecer y a acercarse al SP poco a poco, exactamente a un
ritmo de crecimiento (pendiente de recta) de la mitad del tramo
BC. Hay dos cosas interesantes que se desprenden de este
hecho:

Accin derivativa X

Accin derivativa Y

Accin derivativa Z

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

a) El valor de la accin derivativa es, en los tres casos


presentados, la mitad en este tramo que en el tramo BC, dado
que la pendiente de cambio de PV es la mitad.
b) El signo es ahora negativo, dado que la pendiente del tramo
DE es positiva (ya que la accin derivativa se opone al
cambio), mientras que la del tramo AB era pendiente negativa,
y por tanto positivo el signo de CV.

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.3. El control derivativo.
Como puede observarse, lo que realmente llama la atencin de la accin derivativa es que, incluso cuando PV comienza a acercarse a SP, la accin
derivativa no cancela su accin, sino que sigue oponindose a la tendencia de cambio. Incluso cuando se alcanza el punto en que PV=SP, la accin
derivativa no modifica su accin de control, ya que nicamente responde a pendientes cambio.
Podemos decir que la accin derivativa realiza una prediccin de comportamiento del sistema: si PV sigue subiendo a este ritmo, llevar un momento en
que se produzca una sobreactuacin (overshoot), por lo que es necesario que me oponga a este cambio.
Desde el punto E al F el valor de PV se estabiliza de nuevo,
por lo que de nuevo poco a poco se cancela la accin
derivativa.
PV - Variable de proceso

Entre F y G comienza de nuevo a disminuir PV hacia SP.


Como pasaba anteriormente, a pesar de que la tendencia de
PV es acercarse a SP, la accin derivativa se opone a esta
tendencia, previendo un undershoot (infraactuacin).

Accin derivativa X

Cuando SP llega a G y se estabiliza, la accin derivativa


cancela de nuevo su aportacin, ya que se ha logrado el
objetivo de que PV=SP y lo ms importante: no hay
tendencia de cambio.
Este es un resumen de la corta visin del mundo de la
accin derivativa:

Accin derivativa Y

- PV va hacia abajo?. No me gusta: voy a contribuir con un


valor positivo a CV para evitar que siga hacia abajo.
- PV va hacia arriba?. No me gusta: voy a contribuir con un
valor negativo a CV para evitar que siga hacia arriba.

Accin derivativa Z

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

- PV se mantiene estable?. Esto me gusta: voy a anular mi


contribucin a CV para que esto siga as.

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.3. El control derivativo.
En este ejemplo (en ocasiones suele ser habitual) se ha empleado como unidad de la accin derivativa los minutos. Para ver su significado y el por qu de
los nmeros, fijmonos de momento nicamente en la accin derivativa X. Podemos ver cmo entre B y C PV ha cado 500 unidades (de las 4096 de los 12
bits) en 10 segundos. Esto supone un ritmo de cambio de 50 uds/s. Dado que estamos refiriendo la accin derivativa a los minutos, esto supone un cambio
de 3000 uds/min.
Dado que en este caso Kd=0.10, CV valdr 0.10 * 3000 = 300 uds, aunque no debemos olvidar que la ganancia proporcional afecta tanto a la parte
integral como a la parte derivativa. Es por ello que en este
caso debemos modificar 300 * 1.5 =450. Esa es la razn de la
cifra que alcanza el control derivativo en este tramo en la
accin derivativa X.
PV - Variable de proceso

El mismo razonamiento puede aplicarse al resto de tramos y


de acciones derivativas.
Si comparamos las acciones entre s, podemos ver que a
igualdad de Kc, un mayor tiempo derivativo se traduce en una
mayor oposicin al cambio. Por contra, un menor tiempo
derivativo implica menor reaccin al cambio.
Accin derivativa X
minutos

Accin derivativa Y
minutos

Accin derivativa Z
minutos

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

A igualdad de tiempo derivativo, es la accin proporcional


quien determina la magnitud del control sobre CV, ya que Kc
afecta igualmente al trmino derivativo en el producto, tal y
como pasaba con el integral.

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.3. El control derivativo.
Al igual que ocurra con los controles proporcional e integral, un ajuste inadecuado de la ganancia derivativa puede redundar en problemas de
estabilidad del sistema.
En la parte de arriba de la figura se muestra un proceso que desde A hasta (1)
mantiene su PV=SP. En estas condiciones, el control derivativo no acta (ya que
slo se opone a cambios). Sbitamente, en el punto (1), se produce un salto de SP
a un valor superior.

Accin derivativa perfecta

Un momento despus (tras superar la banda muerta), el sistema de control


reacciona modificando CV para intentar que PV se dirija hacia el nuevo SP. La
reaccin de CV desde D a E NO se debe a la parte derivativa, ya que sta slo
reacciona a cambios en SP, sino a la parte proporcional+integral.
A partir de este punto, PV empieza a aumentar, por lo que el sistema reducir la
contribucin de CV paulatinamente.

(1)

Accin derivativa insuficiente

El punto X marca la mxima pendiente de cambio en PV. Puede comprobarse


como, en funcin de la contribucin derivativa, el valor de CV en este punto es
mayor o menor (R y S) que en la situacin perfecta (Q). Esto se debe a que la
parte derivativa intenta cambiar CV a un ritmo excesivamente lento o
excesivamente rpido en funcin de la ganancia derivativa Kd marcada.
Una ganancia derivativa insuficiente provocar que se produzca una
infraactuacin en el sistema provocando un overshoot en PV, teniendo
posteriormente que corregirla. Por contra, una ganancia derivativa excesiva
tender a cambiar CV demasiado deprisa, lo que provocar correcciones
continuas sobre su valor para que PV se vaya acercando paulatinamente a SP,
como se muestra en la figura.

(1)

Accin derivativa excesiva


(1)

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


1. Fundamentos de control.
4.4. El control PID.
Hasta ahora hemos estado viendo la influencia de los controles proporcional (P), integral (I)
y derivativo (D) sobre un sistema de forma individual, estudiando los posibles casos que
podan presentarse en cada uno de ellos.
Conjugar los controles P, I y D para dar lugar a un control PID no es una tarea sencilla, ya
que el ajuste de parmetros (incluso en casos en los que exista autosintonizacin) puede ser
una tarea tediosa que conlleve un largo proceso de ensayo y error.
El comportamiento conjunto de un control PID se muestra de forma esquemtica en la figura,
y no difiere en exceso de lo visto anteriormente en varios ejemplos.
Supongamos un sistema que desde A hasta B cumple que PV=SP. Para mantener este valor,
CV debe tener un valor como el mostrado desde C hasta D (es exclusivamente la accin
integral quien realiza esta parte, ya que no hay error ni tendencia de cambio en SP).
Sbitamente, en el punto B, hay que cambio de SP hasta el punto E. El controlador calcula la
contribucin necesaria para subsanar el error y cambia CV desde D hasta el punto 1. Es la
parte proporcional quien realiza toda esta tarea, ya que no ha habido cambio en PV an ni
tiempo suficiente para que acte la accin integral.
A partir de este punto y hasta el punto 3 (donde se supera la banda muerta y PV empieza a
reaccionar), son los controles proporcionales e integrales de acuerdo a sus ganancias quienes
realizan conjuntamente el trabajo, elevando CV desde el punto 1 hasta el 3 para que PV se
vaya acercando a SP.
En el momento en que PV empieza poco a poco a aumentar, la parte derivativa empieza a
hacer su contribucin de acuerdo a su ganancia. Aproximadamente entre el punto 6 y punto 7
(mxima tendencia de cambio), la parte proporcional es cada vez menos importante (se
reduce el error), la parte integral contribuye de acuerdo a su ganancia y al tiempo
transcurrido y la parte derivativa hace su mxima aportacin (mxima pendiente de cambio)
para que PV se vaya acercando a SP.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

De acuerdo a los ajustes de ganancia del sistema, podemos tener una infraactuacin o
sobreactuacin, pudiendo diagnosticar la misma de acuerdo a su comportamiento e
identificando la parte del sistema que est contribuyendo a ella.

UD5. Introduccin al control PID.


2. Implementacin del control PID en S7-1200.
El S7-1200, a diferencia de numerosos reguladores con un determinado nmero de lazos especificados PID para poder integrar, no tiene lmite de lazos
PID, que vendrn pues determinados por la memoria del sistema. Esto significa que, con el lmite de entradas y salidas disponibles y el lmite de memoria
del sistema, se pueden implementar tantos lazos PID como se deseen en cada CPU.
Para poder implementar un control PID desde el S7-1200 es necesario disponer de las E/S analgicas pertinentes que permitan captar la informacin de la/s
variable/s de proceso (PV) necesaria/s y actuar sobre la/s variable/s de control (CV) pertinente/s.
El S7-1200 incorpora una serie de funciones especiales FB agrupadas bajo el epgrafe de
instrucciones tecnolgicas desde las Task Cards.

Imagen: Wikimedia commons

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


2. Implementacin del control PID en S7-1200.
Las funciones de control PID del S7-1200 se dividen en:
1) PID_Compact: La instruccin PID_Compact permite integrar en el programa de usuario un lazo de control PID con autosintonizacin y optimizacin
integrada que puede emplearse en modo automtico y manual. En la prctica se emplea la instruccin PID_Compact para disear lazos de control PID en
sistemas con variables continuas de entrada y salida.
2) PID_3Step: Con la instruccin PID_3Step se puede configurar un regulador PID con optimizacin para vlvulas con un elemento de control final con
realimentacin. En la prctica se reserva su usopara controlar dispositivos accionados por motor con realimentacin, como vlvulas que requieren seales
discretas para las acciones de apertura y cierre. Es posible encontrar ms informacin sobre el uso de PID_3Step en la web de soporte de Siemens.
De aqu en adelante nos centraremos en el uso del bloque de funcin PID_Compact, por ser el ms general y extendido en su uso.

Imagen: opto22.com

Imagen: support.automation.siemens.com

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


2. Implementacin del control PID en S7-1200.
2.1. Algoritmo de PID_Compact.
La instruccin PID_Compact emplea el siguiente algoritmo para calcular el valor de salida de la variable de control CV:
Error

1) Trmino proporcional (P): Proporciona un aporte a la


salida proporcional a la diferencia entre valor de consigna
(SP) y valor de proceso (PV).
2) Trmino integral (I): De acuerdo al valor integral, el
valor de salida aumenta en proporcin a la duracin de la
diferencia entre la consigna (SP) y el valor de proceso
(PV).
3) Trmino derivativo (D): El valor de salida aumenta
como una funcin de la tasa de incremento de cambio de
la diferencia entre la consigna (SP) y el valor de proceso
(PV).

Hay algunos aspectos interesantes sobre la ecuacin de algoritmo PID especificada en el manual de sistema del S7-1200 de Siemens:
- La ganancia proporcional, como hemos visto hasta ahora, afecta a los tres trminos del algoritmo de control: proporcional, integral y derivativo. Si Kp=0,
se anula el control PID.
- La ponderacin de la accin proporcional (P) es un coeficiente que afecta exclusivamente al trmino proporcional.
- En el algoritmo del manual de sistema se expresan los trminos integral y derivativo por sus correspondientes transformadas de Laplace. La parte
derivativa va amortiguada por un e-at, de ah que su expresin vare ligeramente respecto a la del PID ideal.
- Cada accin (P,I y D) va afectada por sus respectivos coeficientes: Ponderacin proporcional (P), tiempo integral (Ti) y tiempo derivativo (Td).

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


2. Implementacin del control PID en S7-1200.
2.2. Proceso de configuracin de PID_Compact.
La instruccin PID_Compact lleva asociada un DB especfico de parametrizacin de la instruccin, as como un FB especfico de sistema (protegido contra
escritura y no accesible) donde se realizan las operaciones matemticas y que se almacena bajo FB1131.
TIA Portal crea automticamente el objeto tecnolgico y el DB de instancia al insertar la instruccin. El DB de instancia contiene todos los parmetros del
objeto tecnolgico.
Las instrucciones PID pueden requerir un tiempo de clculo y proceso que en ocasiones puede ser superior al ciclo de
scan, por lo que es especialmente importante no ubicar las instrucciones PID en el ciclo de programa principal OB1.
Dado que la instruccin PID necesita ejecutarse a intervalos regulares, es aconsejable ubicarla en interrupciones cclicas
(Cyclic Interrupt - a partir de OB30).
El proceso de creacin y parametrizacin de un lazo de control
PID conlleva varios pasos:
1

rbol de proyecto

Task Cards

(Automtico)

Aadir OB cclico

Aadir objeto
tecnolgico
PID_Compact

Crear DB asociado a la
instruccin

Editor de variables

Instruccin PID

Instruccin PID

Editar las variables de


la instruccin

Ajuste de la
instruccin PID

Puesta en servicio de
la instruccin PID

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


2. Implementacin del control PID en S7-1200.
2.2. Proceso de configuracin de PID_Compact.
1

2
rbol de proyecto

Aadir OB cclico

3
Task Cards

Aadir objeto
tecnolgico
PID_Compact

(Automtico)

Crear DB asociado a la
instruccin

Los 3 primeros pasos de la creacin de la instruccin PID consisten en:


1) Creacin del OB cclico: para ello crearemos desde la opcin Agregar nuevo
bloque una interrupcin cclica. Podemos hacerlo con OB30 (de forma
automtica) o proponer otra numeracin de forma manual. Es necesario establecer
un tiempo de ciclo. En el caso ideal, el tiempo de muestreo equivale al tiempo de
ciclo del OB invocante. Si el tiempo de muestreo difiere mucho de este valor, se
produce un error (Error=0800 hex) y PID_Compact cambia al modo inactivo.

2) Anadir objeto tecnolgico: Desde las instrucciones tecnolgicas de las Task


Cards se aade sobre el OB30 (u otra interrupcin cclica) la instruccin
PID_Compact. En el momento de aadirla sobre el bloque de programa ser
necesario...
3) Crear DB de instancia asociado: la instruccin PID necesita un DB de
instancia asociado para el establecimiento de parmetros y clculos internos. El
DB slo ser accesible desde la instruccin PID.
3
2

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


2. Implementacin del control PID en S7-1200.
2.2. Proceso de configuracin de PID_Compact.
4

5
Editor de variables

Instruccin PID

Editar las variables de


la instruccin

Ajuste de la
instruccin PID

4) Editar las variables de la instruccin: De cara a configurar posterior la instruccin PID ajustando sus
diferentes parmetros de entrada y salida, ser necesario en la mayor parte de los casos definir en la tabla de
variables del PLC los valores con los que trabajar. De esta forma, si va a trabajarse con una sonda de
temperatura de entrada conectada a IW64 y una vlvula proporcional conectada a QW80, podemos definir:

5) Ajuste de la instruccin PID: Para poder realizar el ajuste de la instruccin PID es necesario conocer, por un lado, los parmetros de E/S de la
instruccin sobre el bloque de programa y por otro conocer la configuracin de la misma desde la ventana de configuracin de la instruccin.
EN: Entrada de habilitacin de la instruccin PID_Compact. Puede conectarse directamente a la barra de red en e
OB cclico si no depende de ninguna condicin para su ejecucin.
Setpoint: Punto de consigna del lazo de control. Puede ir en unidades reales si se usa entrada Input_PER de
acuerdo al tipo de unidad a elegir posteriormente en configuracin o en unidades enteras de los diferentes tipos de
datos de S7-1200 si se usa entrada desde dato de programa.
Input: Entrada al PID utilizando una variable del programa de usuario como valor real.
Input_PER: Entrada al PID utilizando una entrada analgica como origen del valor real (p.e. IW64).
ENO: Salida de habilitacin de la instruccin PID_Compact.
Output: Valor de salida en el formato REAL.
Output_PER: Valor de salida del PID para sacarlo directamente a salida analgica (p.e. QW80).
Output_PWM: Valor de salida modulado por ancho de impulso. El valor de salida se obtiene por tiempos de conexin y desconexin variables. Suele
emplearse con salidas digitales cuya conexin/desconexin sea variable (p.e. elementos de calefaccin).
State & Error: State indica el modo de operacin del regulador PID, mientras que error devuelve los posibles mensajes de error.

UD5. Introduccin al control PID.


2. Implementacin del control PID en S7-1200.
2.2. Proceso de configuracin de PID_Compact.
4

5
Editor de variables

Instruccin PID

Editar las variables de


la instruccin

Ajuste de la
instruccin PID

Configurados los parmetros de E/S, deben especificarse las variables de la instruccin (de modo opcional) y
fundamentalmente realizar el ajuste de la instruccin PID desde el icono
.
El ajuste de la instruccin PID implica varios pasos:
1) Ajustes bsicos: En el tipo de regulacin es posible elegir la magnitud fsica de la variable medida (PV)
(temperatura, presin, nivel,...) as como sus
unidades. Es posible tambin seleccionar si se
desea una inversin del sentido de
regulacin (reducir un valor real con un valor
de salida ms elevado, p.e aumentar potencia
de refrigeracin para reducir T, o abrir vlvula
para reducir nivel).
Se puede igualmente seleccionar si se desea
una reactivacin del control PID tras un
rearranque de CPU, as como el tipo de Input
y Output a emplear.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


2. Implementacin del control PID en S7-1200.
2.2. Proceso de configuracin de PID_Compact.
5
Instruccin PID

2) Ajustes del valor real: Es posible y necesario seleccionar los valores lmites absolutos del valor real si en los ajustes bsicos se ha
seleccionado entrada Input_PER. El valor de la entrada analgica debe convertirse en el tamao fsico del valor real. Para ello, se escala
el valor de entrada en base a una pareja de valores inferiores y superiores: valor inferior y superior del valor real, y valor inferior y
superior escalado.

Ajuste de la
instruccin PID

La pareja valor real escalado hace referencia a los extremos de seal enviados por el sensor. Es posible asignarles valores inferiores y
superiores acordes con el valor lmite del rea
de entradas empleado en formato palabra. De
esta forma, por defecto vara entre 0 y 27648.
La pareja lmite del valor real hace
referencia a los lmites entre los que va a
variar nuestra seal. En cuanto dichos valores
se rebasen por exceso o por defecto, la
regulacin se desconectar y se ajustar el
valor de salida al 0%. Es pues muy importante
elegir valores superior e inferior del valor real
acordes con el proceso a controlar.
Ejemplo: sensor ultrasnico que mide entre
10mm (4mA) y 200mm (20mA), pero en el
proceso se mover entre 50mm (7.4mA) y
100mm (11.6mA).

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


2. Implementacin del control PID en S7-1200.
2.2. Proceso de configuracin de PID_Compact.
3) Ajustes avanzados: Pueden establecerse lmites de
advertencia inferior y superior de monitorizacin del valor
real, de forma que si durante el funcionamiento se rebasan
los lmites por defecto o por exceso, se muestra una
advertencia en la instruccin PID_Compact.
Los lmites configurados controlan los valores de salida del
DB asociado:
InputWarning_H
InputWarning_L
Si se rebasa el lmite superior de advertencia,
InputWarning_H cambia de FALSE a TRUE. Si por contra
se rebasa por debajo el lmite inferior de advertencia,
InputWarning_L es la que cambia de FALSE a TRUE.

Ejemplo: Lmite superior del valor real:


98C
Lmite superior de advertencia: 90C
Lmite superior del valor real:
10C
Lmite superior de advertencia: 0C

Si se controla una salida digital mediante PWM, es posible definir periodos de conexin y desconexin mnimos para evitar excesivas conmutaciones en
la salida (en caso de no emplear elementos de estado slido).

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


2. Implementacin del control PID en S7-1200.
2.2. Proceso de configuracin de PID_Compact.
En ajustes avanzados pueden definirse tambin
lmites superiores e inferiores del valor de salida
(%), de modo que estos no se rebasarn ni por exceso
ni por defecto ni en modo manual ni en el automtico.
Por ltimo, es posible establecer de forma manual los
parmetros que regulan la actuacin del regulador PID

Es posible tambin modificar desde los parmetros PID el tiempo de muestreo y la estructura del regulador (PI PID).

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


2. Implementacin del control PID en S7-1200.
2.2. Proceso de configuracin de PID_Compact.
Con respecto al algoritmo de clculo y los parmetros ajustados de forma
manual, adems de las observaciones que se hicieron en un principio
respecto al proceso de clculo, es necesario hacer alguna observacin
adicional para este posible ajuste manual:
- Es posible ponderar de forma individual las acciones proporcional y
derivativa con un coeficiente (b y a) cuya recomendacin es que est entre
0.0 y 1.0, de forma que se atene la accin proporcional o la derivativa.
- Se puede retrasar el efecto de la accin derivativa mediante el coeficiente
a. Es posible establecerlo de la forma:

- El tiempo de muestreo del algoritmo PID es el tiempo entre dos clculos


del valor de salida. Este tiempo se redondea a un mltiplo del tiempo de
muestreo PID_Compact (establecido en el tiempo de ciclo del OB cclico
desde el que se ejecuta la operacin). Todas las dems funciones de
PID_Compact se ejecutan con cada llamada.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


2. Implementacin del control PID en S7-1200.
2.3. Proceso de puesta en servicio y optimizacin de PID_Compact.

(1)

(2)

La ventana de puesta en servicio ayuda durante la


puesta en servicio del regulador PID. En el visor de
curvas se puede observar los valores de la consigna,
valor de variable de proceso (PV) y valor de
variable de control de salida (CV) a lo largo del eje
de tiempo. En la ventana de puesta en servicio se
soportan las siguientes funciones:
i. Optimizacin inicial del regulador.
ii. Optimizacin fina del regulador.
iii. Observacin de la regulacin en curso.
iv. Probar el sistema regulado especificando un valor
de salida manual.
(1) Es necesario especificar un tiempo de muestro de
medicin. Este tiempo ser el que se emplee para la
actualizacin de los valores mostrados en la ventana.
(2) Puede elegirse el modo de optimizacin entre
optimizacin inicial y optimizacin fina. La
optimizacin inicial determina la respuesta del sistema
a una entrada escaln (cambio sbito de SP) y
autosintoniza los parmetros del controlador PID.
Cuando la barra de estado llegue al 100% se ha
realizado la optimizacin y es posible parar el sistema
y si se estima conveniente, cargar los parmetros en
el controlador.

UD5. Introduccin al control PID.


2. Implementacin del control PID en S7-1200.
2.3. Proceso de puesta en servicio y optimizacin de PID_Compact.
El visor de curvas permite representar grficamente los
valores de la variable de proceso (PV), variable de
control (CV) y setpoint (SP).
(3) Modo de visualizacin: Es posible emplear los
modos static, strip, scode y swip. Cada uno de ellos
permite la visualizacin de valores de la puesta en
servicio de un modo diferente.

(3)

(4)

(5)

(4) Regla de variable de proceso. Permite definir un


mnimo y mximo (y bloquearlos) para la visualizacin
del progreso de la variable de entrada.
(5) Regla de variable de control. Permite definir un
mnimo y mximo (y bloquearlos) para la visualizacin
del progreso de la variable de salida.

(6)

(7)

(6) Regla de tiempos. Permite definir un mnimo y


mximo de tiempos (y bloquearlos) para la
visualizacin del progreso de la variable de entrada. En
funcin del modo de visualizacin, podr o no
realizarse.
(8) Estado on-line del regulador. El estado on-line del
regulador permite seleccionar un modo manual para
escribir de forma directa un Output en el sistema. Al
desactivar el modo manual, el valor de output volver
al calculado por SP y PV.

UD5. Introduccin al control PID.


3. Ejemplo de control PID con S7-1200.
3.1. Planteamiento del supuesto prctico.
Se desea mantener el nivel de un depsito de agua constante en un punto de consigna que es posible cambiar desde el sistema automatizado mediante un
PLC S7-1200 CPU 1214 DC/DC/DC con Signal Board SB1232 AQ 1x12 bits.
Se emplearn para ello, como puede verse en la figura, un sensor ultrasnico FESTO a 24DC con salida de corriente 4-20mA y margen de medicin de 150
a 500mm, con la curva caracterstica y datos de la grfica y una bomba FESTO de 24VDC accionada mediante un regulador 0-10VDC a 0-24VDC, que
modificar el caudal de la misma en funcin de la seal de control.

UD5. Introduccin al control PID.


3. Ejemplo de control PID con S7-1200.
3.1. Planteamiento del supuesto prctico.
El fabricante del sensor nos proporciona una curva caracterstica de deteccin (seal-nivel) y una tabla de caractersticas tal y como la que se adjunta en la
figura

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


3. Ejemplo de control PID con S7-1200.
3.1. Planteamiento del supuesto prctico.
Nos interesa que el depsito 2 (depsito de nivel) mantenga un nivel lo ms estable posible bajo diferentes consignas (100mm y 140 mm, p.e.), teniendo en
cuenta que el depsito tendr escapes de agua variables (a travs de la vlvula manual de salida) y aportes ocasionales (puede llenarse por arriba con
variaciones lentas de nivel).
Implementaremos para ello un control PID de nivel, obteniendo la seal de nivel de depsito desde el detector ultrasnico conectado a la entrada IW64 del
PLC (variable de proceso PV). La salida se obtendr desde la salida analgica en tensin 0-10Vcc QW80 de la SB1232 hasta el regulador, que nos
transformar ese nivel de tensin en un nivel 0-24Vcc para alimentar la bomba y de esta forma variar su velocidad y caudal suministrado.
Nuestras variables sern por tanto:

Direccin

Smbolo

Tipo de dato

Comentario

%IW64

NIVEL_SENSOR

Int

Entrada analgica del valor real de llenado.

%QW80

SALIDA_REG

Int

Salida analgica de magnitud manipulada a bomba

%I0.0

S1_100

Bool

Entrada de consigna a 100mm

%I0.1

S2_140

Bool

Entrada de consigna a 140mm

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


3. Ejemplo de control PID con S7-1200.
3.1. Planteamiento del supuesto prctico.
Necesitaremos seguir los siguientes pasos para configurar y poner en servicio nuestro regulador PID:
1) Creacin del proyecto y configuracin HW de dispositivos.
Es necesario crear un proyecto nuevo y configurar el HW del dispositivo. En este caso emplearemos una CPU 1214C DC/DC/DC, a la que aadiremos
posteriormente su tarjeta analgica SB 1232 AQ0 1x12 bits. Es necesario prestar atencin al cdigo de producto y versin de CPU del mismo.

Es necesario tener en cuenta que, debido a las limitaciones de las entradas analgicas integradas del dispositivo (0-10V), no ser posible conectar
diretamente el sensor ultrasnico con salida en corriente, por lo que sera necesario aadir un mdulo de seal SM (p.e. SM 1231 AI4x13bits) con al menos
una entrada analgica configurable de U/I.
Por mayor simplicidad del ejemplo, vamos a suponer que las entradas analgicas integradas de la CPU admiten rango de entrada 0-20 mA.
Ser necesario tambin, como siempre, para mayor comodidad, configurar la IP del PLC en el mismo rango que la del PC para la posterior carga de
programa.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


3. Ejemplo de control PID con S7-1200.
3.1. Planteamiento del supuesto prctico.
Necesitaremos seguir los siguientes pasos para configurar y poner en servicio nuestro regulador PID:
2) Definicin de variables en tabla de variables PLC.
De cara a la definicin de variables de proceso, es necesario saber en qu rea de memoria y en qu direccin se alojan, para cada canal, las entradas /
salidas analgicas a emplear, lo que podremos hacer en propiedades de dispositivos.
En este caso, la primera entrada analgica ser %IW64, mientras que la salida analgica se ubicar en %QW80.

3) Agregar bloque de programa.


Dado que la instruccin PID no debe ir alojada en el programa principal cclico OB1, es necesario agregar una interrupcin cclica (p.e. OB30), en la que
estableceremos un tiempo de por ejemplo 100ms. Deberemos observar posteriormente, en online y diagnstico, que la instruccin PID no pase a inactiva
por excesivo tiempo de procesamiento.
En este bloque crearemos una variable temporal para almacenar el valor de consigna en el formato REAL:

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


3. Ejemplo de control PID con S7-1200.
3.1. Planteamiento del supuesto prctico.

4) Elaboracin del programa de usuario.


Elaboramos el programa de usuario, primero con los movimientos de 100.0 y 140.0 al rea LEVEL_TANK, que emplearemos como dato de consigna para la
instruccin PID_Compact, y posteriormente con la instruccin PID_Compact, de la siguiente forma:

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


3. Ejemplo de control PID con S7-1200.
3.1. Planteamiento del supuesto prctico.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


3. Ejemplo de control PID con S7-1200.
3.1. Planteamiento del supuesto prctico.
De cara al empleo de entradas a la instruccin PID_Compact caben 2 posibilidades:
a) Emplear una entrada INPUT: Dado que en este caso estaremos empleando una seal de entrada 4-20mA sobre una entrada 0-20mA del PLC, podemos
escalar dicha entrada para que el PLC identifique el 4mA procedente del sensor como un 0 de rango. Para ello, como vimos en la unidad anterior, empleamos
el FC de librera global SCALE_CURRENT_INPUT.
En este caso podemos emplear una deteccin de nivel de rotura de hilo a 2mA (2764.8) y activando un bit M200.0. Dado que la entrada analgica se est
procesando por programa, ya no tendremos posteriormente en la instruccin PID_Compact una Input_PER con %IW64, sino que emplearemos el REAL
%MD1000 sobre la entrada INPUT.
Este MD1000 tomar el valor 0.0 cuando el sensor enve 4mA, y enviar 27648.0 cuando el sensor mande la seal de 20mA.

Nuestra principal limitacin ser ahora que al emplear una entrada INPUT, nuestro SETPOINT deber llevar, no unidades reales de magnitud (mm), sino
unidades de valor entre 0 y 27648.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


3. Ejemplo de control PID con S7-1200.
3.1. Planteamiento del supuesto prctico.
b) Emplear una entrada INPUT_PER: Si empleamos una entrada INPUT_PER deberemos posteriormente escalar el valor real, indicando los rangos de
medicin de la siguiente forma:

Siguiendo los datos de curva caracterstica, hemos identificado el valor 330mm como aquel con el que el sensor manda 20mA, la cuestin es :qu manda
cuando el sensor mide 0mm?. Segn la curva, podemos ver que corresponde aproximadamente a 9mA.
Si 20mA corresponde a un dato de 27648, 9mA (teniendo en cuanta que el 0 de dato corresponde a 4mA), corresponde a un dato de 8640.
Dado que nuestro rango real de medicin es de un mximo de 200mm y mnimo de 40mm, los colocamos en la curva.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

UD5. Introduccin al control PID.


3. Ejemplo de control PID con S7-1200.
3.1. Planteamiento del supuesto prctico.

Por ltimo ser necesario realizar una optimizacin inicial de los parmetros PID. Para ello marcamos un tiempo de muestro superior al valor de interrupcin
cclica marcado, y pinchamos en optimizacin inicial.
Los parmetros PID generados podemos cargarlos posteriormente en el controlador.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

CPR de Mrida
Curso 2012 /2013

INTRODUCCIN A LOS AUTMATAS PROGRAMABLES S7-1200: DEL CONTROL DIGITAL AL ANALGICO

Podis encontrarme en:

@JM_Delgado

Jos Mara Delgado Casado


jmdelgado@elec2.es

www.elec2.es

http://www.youtube.com/jmardelc

http://www.slideshare.net/Jmardelc

http://pinterest.com/jmardelc/

http://magnetic.tumblr.com/

Jos Mara Delgado Casado

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

CPR de Mrida
Curso 2012 /2013

INTRODUCCIN A LOS AUTMATAS PROGRAMABLES S7-1200: DEL CONTROL DIGITAL AL ANALGICO

Todo el material contenido y generado en este documento, excepto aquellas imgenes que pudieran tener licencia copyright y que se han empleado con
fines educativos, estn licenciados bajo Creative Commons CC BY-NC-SA 3.0 ES.

Los ejemplos y explicaciones del control PID son una libre adaptacin y traduccin, modificada en muchos casos, de la contribucin de Ron Beaufort sobre el
funcionamiento del control PID, en sus documentos What is P in PID?, What is I in PID? y What is D in PID?.

Curso Autmatas Programables


IES Senz de Buruaga (MRIDA)
Jos Mara Delgado Casado & David Pecelln Campos

Вам также может понравиться