Você está na página 1de 143

TUTORIAL TIA PORTAL V13

AUTOR

JOSE ANTONIO ORMEO VILLA

2017

Jos Antonio Ormeo Villa 1


INTRODUCCIN

El TIA Portal V13 en su versin Professional que ya est disponible p a r a

e m p r e s a s y para instituciones educativas , permite t r a b a j a r e n los equipos de la

gama S7-300 y S7-400,S7-1200 y S71500,donde adems posee simulador PLCSIM V13

integrado , que puede realizar y permite evaluar la programacin realizada sin

necesidad de conectarse al PLC real.

Este programa lo denominan los de Siemens como un concepto que incluye nuevas

tendencias y herramientas en cuanto a programacin y configuracin de Controladores

Lgicos Programables (PLC por sus siglas en ingls). En este concepto se pretenden

integrar diferentes herramientas de automatizacin en un solo paquete, por lo tanto el

TIA Portal no solamente es til para PLCs, sino para paneles de operador, redes de

comunicacin industrial y otros dispositivos.

Aunque ya hay mucha informacin disponible de ayudas de este programa, este tutorial

pretende explicar detalladamente y de forma grfica algunas de las principales

funcionalidades, de modo que un usuario inexperto o intermedio pueda conocerlas y

familiarizarse rpidamente con ellas.

Un buen programador es aquel que:

Tiene buena lgica de programacin: Lo cual depende de sus capacidades y en

mayor medida de la prctica.

Conoce el programa: Debido a que evita desperdicio de tiempo buscando las

opciones y navegando en los mens.

Es hbil con las herramientas de ayuda: Sabe utilizar bien la ayuda del fabricante,

recursos web y otras herramientas que apoyen su implementacin.

Jos Antonio Ormeo Villa 2


El captulo 2 explica algunos procedimientos bsicos que cualquier programador que

interacte con el TIA Portal debe saber. El captulo 3 se concentra un poco ms en

el manejo de la herramienta, conocer algunas de sus funciones y configurar el hardware

del PLC, procedimientos indispensables para poder programar el PLC correctamente. En

este captulo tambin se incluyen las nociones y trucos ms bsicos de programacin.

El ltimo captulo, el 4, se concentra en funciones ms avanzadas que los

programadores podrn utilizar; comnmente son herramientas que simplifican algunos

procedimientos frecuentes para ahorrar tiempo y programacin.

Jos Antonio Ormeo Villa 3


2. PRIMEROS PASOS

En el TIA Portal se dedica Este captulo a procedimientos bsicos que cualquier programador

de PLC en Este ambiente debe conocer.

Al principio de cada seccin se recomendar revisar algunas secciones previas, las

cuales son indispensables para los procedimientos que se explicarn all. A cualquier

programador que apenas est incursionando en el ambiente TIA Portal se le recomienda

tomar con especial cuidado y paciencia este captulo.

Al finalizar este captulo el lector conocer los procedimientos ms elementales que se

trabajan en el TIA Portal, lo cual le permitir avanzar hacia el conocimiento de funciones

ms especficas del programa e iniciar la programacin del PLC.

2.1 ABRIR EL TIA PORTAL

Para abrir el programa tenemos que ubicar el acceso directo llamado TIA Portal V13.

Figura 1. Acceso directo Del escritorio para TIA Portal V1

Jos Antonio Ormeo Villa 4


2.2 CREAR PROYECTO

Se Asignara nombre al Nuevo proyecto y una ruta para su almacenamiento. Haga clic en el

botn Crear.

Figura 2. Crear proyecto nuevo

Figura 2. Crear proyecto Nuevo en T IA Portal V13

Jos Antonio Ormeo Villa 5


Se abrirn las opciones de Primeros pasos e Inicio. All se presentan las siguientes opciones:

Configurar dispositivo: Se utiliza para aadir PLC o una pantalla (HMI) al proyecto

recientemente creado.

Escribir programa PLC: Se utiliza esta opcin cuando ya se ha aadido por lo menos un

PLC.

Configurar objetos tecnolgicos: Se utiliza para configurar contaje rpido, regulacin PID,

control de movimiento.

Configurar una imagen HMI: Se utiliza cuando ya se ha aadido una pantalla (HMI) al

proyecto. Por lo tanto se recomienda empezar con la opcin Configurar un dispositivo.

Figura 3. Configurar un dispositivo para el proyecto

Jos Antonio Ormeo Villa 6


Se muestra la lista y vista de dispositivos. Si se selecciona PLC se mostrarn todas las

referencias de PLC compatibles con este software. Con esta versin del TIA Portal V13

Professional entonces se podran configurar PLCs de la gama S7-300, 400,1200 y 1500 y

pantallas para estas gamas.

Se recomienda siempre seleccionar la ruta SIMATIC S7-1200/CPU/CPU1200 sin

especificar. Esto permite aadir la CPU pero no especificar todava su referencia y

mdulos adicionales.

Haga clic izquierdo sobre la leyenda 6ES7 2XX-XXXX-XXXX y cambiar la versin a V2.2

(versin ms antigua) luego en el botn Agregar en la parte inferior derecha.

Figura 4. Aadir CPU S7-1200 sin especificar.

Jos Antonio Ormeo Villa 7


Se abrir la ventana principal del proyecto.

Figura 5. Vista del proyecto

Jos Antonio Ormeo Villa 8


2.3 UTILIZACIN DE LAS AYUDAS DEL SOFTWARE

Cuando se est navegando entre las instrucciones de programacin pueden encontrarse

algunas de las cuales se desconoce su uso. Por ejemplo suponga que se desconoce el uso

de la instruccin con smbolo -|P|-.

Figura 6. Abrir ayuda de instruccin.


En este recuadro amarillo ampliado se podr ver informacin rpida de la instruccin. S i se

desea se puede hacer clic en el hipervnculo azul subrayado que aparece en la parte inferior

del recuadro.

Jos Antonio Ormeo Villa 9


Esto abrir automticamente la ventana de ayudas, donde se ver informacin

mucho ms ampliada de la instruccin.

Figura 7. Ventana de ayuda de instruccin

Al lado izquierdo de la ventana de podr navegar por todas las instrucciones de ayuda

Jos Antonio Ormeo Villa 10


2.5 CONFIGURAR LA RED

La PC puede comunicarse con el PLC va Industrial Ethernet, el cual es el protocolo por

defecto que se utilizar para comunicarse con todos los S7-1200. Hay dos formas en que

puede realizarse la comunicacin:

Punto a punto:

Figura 8. Comunicacin punto a punto entre computador (PC) y el PLC

En esta comunicacin punto a punto slo pueden interactuar estos 2 dispositivos, y no

puede aadirse ningn otro equipo a la red. Se recomienda su uso cuando solamente se

programar el PLC y no hay otros dispositivos que requieran configuracin.

En topologa estrella con Switch:

Figura 9. Estructura de red en forma de estrella

Jos Antonio Ormeo Villa 11


Figura 10. Conexin en red Profinet mediante Switch CSM-1277.

En esta conexin los datos no se envan directamente entre 2 equipos, sino que viajan a

travs del Switch. Es este ltimo es el que se encarga de distribuir los paquetes enviados

de un dispositivo a otro. As, se pueden conectar varios dispositivos a la red, en este caso

4 equipos ya que el Switch tiene esa cantidad de puertos. Otros equipos podran ser

computadores, paneles de operador, otros PLCs, etc.

En ambas conexiones se requiere que todos los equipos pertenezcan a la misma subred.

Respetando su direccionamiento IP, ahora se debe entender que 2 equipos pertenecen

a la misma subred cuando su direccin IP es cercana y la mscara de subred es la

misma. (La direccin por defecto del PLC S71200 es 192.168.0.1)

Es comn que los PLCs tengan la siguiente configuracin:

Direccin IP: Desde 192.168.1.1 hasta 192.168.1.254

Mscara de subred: 255.255.255.0

Se requiere entonces que la direccin IP del computador pertenezca a la misma red, es decir,

est dentro de estos mismos rangos. Se puede asignar cualquiera, siempre y cuando

ningn otro equipo en la subred tenga la misma direccin IP.

Jos Antonio Ormeo Villa 12


Conectaremos el PLC y la PC de cualquiera de las 2 formas explicadas. Encienda el

PLC. Luego configure la direccin IP del computador, para esto vaya a:

Panel de control / Centro de redes y recursos compartidos (Para Windows 8.1

Pro)/Cambiar la configuracin del adaptador/Propiedades de Ethernet/Protocolo

de internet V4 (TCP/IPv4)/Propiedades.

Figura 11. Propiedades de la conexin.

Jos Antonio Ormeo Villa 13


En la figura se configur la direccin IP 192.168.1.144 a la PC, el PLC deber de tener una

direccin IP distinta a esta por ejemplo 192.168.1.201 esto no originara ningn

problema de conflicto en la futura conexin. La mscara de subred debe ser 255.255.255.0

tanto en el PLC como en la PC.

En este punto ya se podra establecer comunicacin entre el PLC y la PC, as que la

configuracin de la red est terminado.

2.6 CONFIGURAR EL HARDWARE DE UN PLC

Se requiere tener un nuevo proyecto creado como se hizo en CREAR NUEVO PROYECTO

Es indispensable que ya se tenga configurada correctamente la red del computador, con

una IP similar a la que el PLC tiene configurada, como se explic en CONFIGURAR LA RED.

Abra la configuracin de hardware del PLC a configurar desde el rbol del proyecto.

Figura 12. Ingresar a la configuracin de dispositivo

Jos Antonio Ormeo Villa 14


Si el proyecto no tiene un PLC configurado se ver como en la figura, mostrando el

espacio donde se ubicara el PLC en blanco.

Figura 13. Proyecto con PLC sin hardware configurado

Al ver el PLC en blanco significa que no est configurado, por lo tanto debe aadirse

un PLC de la misma referencia del que se tiene fsicamente. Adems, como los PLCs

son modulares, deben aadirse los mdulos extra que se hayan conectado como: salidas

y salidas digitales o analgicas, mdulos de comunicaciones, entre otros.

En el TIA Portal V13 se pueden aadir manualmente, haciendo clic en el botn

catlogo de hardware, arrastrando uno por uno el PLC y los mdulos conecta dos.

Esta opcin no se recomienda por ser demasiado manual, adems pueden

presentarse problemas de compatibilidad si no se elige exactamente la misma versin

de los equipos.

Jos Antonio Ormeo Villa 15


La opcin recomendada es la automtica, haciendo clic en determinar.

Figura 14. Iniciar la deteccin automtica

Luego se pedir que seleccione la interfaz para buscar el PLC. Automticamente aparecer

seleccionada la tarjeta si el computador cuenta nicamente con una tarjeta de red, en este

caso aparece ya seleccionada la tarjeta x x x x x x x x x x x x x

Automticamente se inicia la bsqueda de dispositivos accesibles en la subred, haciendo

un listado de todos los que encuentre

Jos Antonio Ormeo Villa 16


Si nicamente encuentra un PLC, entonces este aparecer en el listado, como se muestra

en la figura.

Figura 15. Iniciar la deteccin automtica

Seleccione el PLC. Si lo desea haga clic en Parpadear LED, esto har que los leds en el

PLC inicien parpadeo para ubicarlo visualmente. Esto es til cuando se tienen varios

PLCs conectados en red ubicados en el mismo tablero y no se sabe cul de todos ellos es

el que se seleccion.

Despus de seleccionar el PLC haga clic en Cargar, esto iniciar una rutina de

reconocimiento del PLC y tarjetas de seales, mdulos de entradas y salidas, mdulos de

comunicaciones. En general reconocer todo lo que est conectado al PLC.

Una vez termine el proceso, se mostrar el PLC identificado.

Jos Antonio Ormeo Villa 17


El PLC quedara configurado segn se muestra en la imagen:

2 3
1

4
5

Figura 16. Partes del hardware del PLC

1. Los LEDS indicadores del estado del PLC. Modo Run/Stop, modo error y

peticin de mantenimiento.

2. Una tarjeta de seales (signal board) instalada adicionalmente en el PLC. Para esta

caso una SB1232 que contiene una salida analgica. Se muestra que su direccin es QW80.

3. Bloque de entradas digitales. Se muestra en la imagen que son 14, partiendo de la

I0.0 hasta la I0.7 y desde la I1.0 hasta la I1.5.

4. Bloque de salidas digitales. Se muestra en la imagen que son 10, partiendo de la

Q0.0 hasta la Q0.7 y desde la I1.0 hasta la I1.1.

5. Puerto de comunicacin Industrial Ethernet. Si se hace doble clic se abrirn las opciones

de configuracin y direccionamiento.

Jos Antonio Ormeo Villa 18


2.7 CONFIGURAR LA DIRECCIN IP DEL PLC

Para iniciar esta seccin es indispensable contar con un proyecto en el TIA Portal que

cuente con un PLC aadido y con su hardware configurado, como se explic en la seccin

CONFIGURAR EL HARDWARE DE UN PLC.

Haga doble clic en el puerto Ethernet del PLC, tambin conocido como puerto Profinet.

Se abrirn entonces las propiedades de este puerto:

Figura 17. Propiedades del puerto Ethernet o Profinet del PLc

Jos Antonio Ormeo Villa 19


Como podemos ver la direccin IP que aparece por defecto en el PLC es 192.168.0.1, se

podr cambiar, esto depender de la configuracin de la red. Por ejemplo 192.168.1.201.

Esta direccin se configur automticamente a la que el PLC tiene si se configur el

hardware con el botn determinar. Si se aadi el PLC manualmente desde el

catlogo, entonces debe modificar la direccin IP para que coincida con la que el PLC tiene

cargada.

Note que en el campo subred del tem Interfaz conectada en red con aparece vaco o

desconectada. Esto es porque no se est comunicando el PLC con ningn otro

dispositivo, sea otro PLC o un panel de operador.

2.8 ESQUEMA DE CABLEADO PARA CPU 1214C AC/DC/Rel

Figura 18. Esquema de cableado para CPU 1214C AC/DC/rel


Salida alimentacin de sensor 24 V DC. Para una inmunidad a perturbaciones adicional,

conecte "M" a masa aunque no se utilice la alimentacin del sensor.

Jos Antonio Ormeo Villa 20


Para entradas NPN, conecte "-" a "M" (como se indica). Para entradas PNP, conecte "+" a

"M".

Jos Antonio Ormeo Villa 21


3. CONOCIENDO EL ENTORNO Y PROGRAMACIN BSICA

Enfocndose un poco ms hacia la programacin y configuracin del PLC, este captulo

explica detalladamente algunos procedimientos ms especficos que permiten empezar a

utilizar todas las capacidades del PLC.

3.1 TIPOS DE DATOS

Un resumen de los tipos de datos de este entorno TIA Portal se encuentran en las

siguientes tablas.

Tabla 1. Tipos de datos en TIA Portal (Tomada de manual de PLC S71200)

Jos Antonio Ormeo Villa 22


Aunque no estn disponibles como tipos de datos, las instrucciones de conversin

soportan el siguiente formato numrico BCD.

Tabla 2. Formato BCD en conversiones (Tomada de manual de PLC S71200.

3.2 DIRECCIONAMIENTO DE VARIABLES

Al momento de elegir una direccin para una variable se debe tener en cuenta qu tipo de

dato y qu tipo de variable es. Los tipos de datos hacen referencia a su tamao y

rangos de posibles valores, explicados en TIPOS DE DATOS.

Se utiliza la siguiente notacin en TIA Portal V13 para direccionar variables:

Bool: No tiene smbolo, pero se utiliza siempre acompaado de un byte, indicando la

posicin que el bit ocupa en ese byte. Por ejemplo la direccin 3.2 sera byte 3 bit 2.

B: Byte. Contiene 8 bits.

W: Tipo entero (INT) o tipo Word (WORD). Contiene 16 bits (2 bytes)

D: Tipo doble entero (DINT), tipo doble Word (DWORD) o tipo coma flotante (REAL).

Contiene 32 bits (4 bytes).

El tipo de variable hace referencia a si es externa o interna. Si es externa puede ser entrada

(I) o salida (Q), si es interna muy seguramente podra ser una marca o memoria (M).

Jos Antonio Ormeo Villa 23


Las entradas pueden ser:

Digitales: Las cuales son del tipo booleano. Su direccin sera del tipo IB.b, as:

I: Es una entrada

B: Byte de entradas al cual pertenece (contiene 8 entradas digitales)

b: Posicin del bit dentro del byte B (puede ir desde el 0 hasta el 7)

Ejemplos de posibles entradas digitales son: I0.0, I0.5, I0.7, I1.0, I1.7, I8.0, I9.7, I200.4 etc.

Ejemplos de entradas digitales incorrectas son: I0.8, I0.9, I38, I4.0.1.

Si se utiliza IB0 entonces se est haciendo referencia a todas las entradas digitales

contenidas en el byte 0, es decir, desde I0.0 hasta I0.7. Se organizarn en un byte cuyo

valor se convertir a decimal, donde el bit 0 es el menos y el bit 7 es el ms significativo.

Analgicas: Las cuales pasan a travs de un conversor anlogo-digital en la entrada del PLC

que lee seal de voltaje o corriente. El conversor deposita los datos en 16 bits tipo WORD

o INT. Por lo tanto la entrada deber leerse como IWX, donde X representa el nmero

configurado. Ejemplos de entradas analgicas seran: IW0, IW40, IW82, etc.

Reales: Este tipo de entradas no existen fsicamente en el PLC y generalmente provienen

de elementos va comunicaciones industriales. Dado que son variables tipo REAL entonces

su direccin debe ser acorde con su tamao. Ejemplos son: ID0, ID40, ID82, ID90, etc.

Las salidas (Q) se tratan de forma similar a las entradas (I), por lo tanto se sugiere hacer la

analoga y obtener sus propias conclusiones.

Las marcas o memorias (M) son variables internas del PLC que no estn directamente

relacionadas con las entradas o salidas. Son variables que se encuentran disponibles

Jos Antonio Ormeo Villa 24


y el uso que el programador haga sobre ellas es opcional. Son muy tiles para memorizar

resultados de funciones matemticas, ocurrencia de eventos, etc.

Su direccionamiento se realiza de la misma forma que para las entradas y salidas. Veamos algunos

ejemplos a modo de resumen:

Jos Antonio Ormeo Villa 25


3.3 CONSULTAR LA DIRECCIN DE LAS ENTRADAS Y SALIDAS

Habiendo ya comprendido la estructura y sintaxis de las direcciones en la seccin

DIRECCIONAMIENTO DE VARIABLES, entonces el siguiente paso es conocer la direccin

que el PLC tiene configurada para sus entradas y salidas, tanto digitales como analgicas.

Para ello vaya a la configuracin de hardware, haciendo doble clic en

Configuracin de dispositivos en el rbol del proyecto. En la parte inferior deberan

aparecer las propiedades y datos del dispositivo. En la figura estn ocultas.

Figura 19. Configuracin de dispositivo.

Para visualizarlos haga clic en la pequea flecha o tringulo, que se encuentra al lado de la vista

de dispositivos encima denominado vista general de dispositivo.

Jos Antonio Ormeo Villa 26


Figura 20. Vista general de dispositivos, Direcciones de 14 entradas y 10 salidas digitales

Como se est visualizando en el PLC, todos estos datos que estn all pertenecen a l. Tome

nota de las direcciones:

En el segundo rengln se muestran las direcciones de las 14 entradas digitales (DI14) y

las 10 salidas digitales (DO10) que tiene el PLC (DI14/DO10).

Se puede ver que las direcciones de las entradas estn en los bytes 0 al 1, porque aparece

un 01 en la columna Direccin I. Como son 14 entonces se tiene las entradas I0.0

hasta la I0.7 (van 8) y luego I1.0 hasta I1.5 (se completan las 14).

Jos Antonio Ormeo Villa 27


Se puede ver que las direcciones de las salidas estn tambin en los bytes 0 al 1, porque

aparece un 01 en la columna Direccin Q. Como son 10 entonces se tiene las entradas

Q0.0 hasta la Q0.7 (van 8) y luego Q1.0 hasta Q1.1 (se completan las 10).

Para las entradas analgicas se debe observar el tercer rengln.

Figura 21. Direcciones de las entradas analgicas

Se cuenta con 2 entradas analgicas. Ya se explic en DIRECCIONAMIENTO DE VARIABLES

que las entradas analgicas son del tipo INT o WORD y utilizan 16 bits (2 bytes).

Por lo tanto se sabe que su direccin ser del tipo IWX, donde X ser el primer byte que

ocupan. Observando la columna Direccin I se muestra que las entradas analgicas ocupan

los bytes 64, 65, 66 y 67.

As, la primera entrada analgica ser IW64, la cual ocupar los bytes 64 y 65, y la segunda

entrada analgica ser IW66, la cual ocupar los bytes 66 y 67.

Note que la columna Direccin Q no tiene direcciones, puesto que se estn observando

las entradas analgicas, es lgico que la columna de salidas est vaca.

Jos Antonio Ormeo Villa 28


Para las salidas analgicas se debe observar el cuarto rengln.

Figura 22. Direcciones de las salidas analgicas

Note que slo se cuenta con una salida analgica, la cual ocupa los bytes 80 y 81, por lo

tanto su direccin ser QW80.En la columna Direccin I no aparece nada, como era de

esperarse.

En la columna Tipo aparece AQ1 Signal Board, lo cual significa que es una tarjeta de

seales de una sola salida analgica, la cual se aadi al PLC porque ste no tena salidas

analgicas, es un dispositivo extra. Por lo tanto tambin aparecer informacin de su

referencia y firmware en sus otras columnas.

As entonces, ya se tienen completamente identificadas las direcciones que se deben leer y

escribir para que el PLC interacte con los sensores y actuadores.

Jos Antonio Ormeo Villa 29


3.4 CONFIGURACIN DE LAS ENTRADAS Y SALIDAS ANALGICAS

La configuracin que se realiza a una entrada o salida analgica es el tipo de seal, bien

sea de corriente o voltaje. Para configurarlas vaya a la vista general de dispositivos e

identifique la entrada o salida analgica que desea configurar.

Figura 23. Direcciones de las salidas analgicas

Identifique la salida o entrada a configurar. Por ejemplo la entrada analgica integrada

AI2. Recuerde que se le llama integrada porque est incluida en el PLC, las 2 salidas

analgicas estn ubicadas en una tarjeta que se adquiere independientemente.

En las propiedades de la entrada analgica en la pestaa general vaya a Entradas

analgicas

Figura 24. Configuracin de una entrada analgica

Jos Antonio Ormeo Villa 30


Note que en el campo Tipo de medicin aparecer configurada por defecto

Tensin y el campo Rango de tensin est de 0 a 10V, es decir, en esta entrada

analgica se puede conectar un sensor o mando que maneje nicamente este rango de

voltaje.

No se puede configurar esta entrada analgica, por defecto est configurada para seal de

0 a 10V y no se puede cambiar.

Note que se est configurando la entrada analgica del canal 0, es decir, la primera de

ellas con direccin IW64. Si se navega en la ventana hacia abajo se encontrar la del canal1

con direccin IW66, con la cual ocurrir lo mismo en la configuracin.

Entonces configuremos la salida analgica de la tarjeta de seales. Haga clic sobre la

salida, luego en la pestaa general vaya a Salidas analgicas y ubique sus propiedades.

Figura 25. Configuracin de una salida analgica (tensin)

Jos Antonio Ormeo Villa 31


Note que para esta salida analgica el campo Tipo de salida analgica es configurable y se

puede cambiar. En la Figura 24 se muestra por defecto en tensin (voltaje) con rango de

tensin de -10 a +10V. Si se cambia a intensidad (corriente) el rango ser de 0 a 20mA.

Figura 26. Configuracin de una salida analgica (intensidad)

En esta salida se pueden conectar actuadores que sean compatibles con este tipo de seales.

Si se navega ms abajo en el men no se encontrar nada porque esta es la nica salida

analgica de esta tarjeta de seales. Si se desea cambiar la direccin de una entrada o una

salida analgica se debe ir a Direcciones E/S en la pestaa general. All se mostrar la

direccin actual en el campo Direccin inicial.

Figura 27. Cambiar la direccin de una salida analgica

Jos Antonio Ormeo Villa 32


Se puede escribir la direccin deseada y, todas las otras salidas en este mismo dispositivo

(por ejemplo la tarjeta de seales), tendrn direcciones consecutivas en orden ascendente.

Como en este caso es la nica salida, entonces no habr ms direcciones.

3.5 TIPOS DE BLOQUES

Hay diferentes tipos de bloques en el PLC, cada uno de ellos con caractersticas y

aplicaciones diferentes.

Bloques de organizacin (OB)

Son bloques que tienen un comportamiento predeterminado y se activan o desactivan

desde el sistema operativo. Tiene aplicaciones para: a r r a n q u e del sistema, ejecucin

cclica, alarmas, tratamiento de errores.

Dos de los bloques ms utilizados son:

OB1:

Bloque que se ejecuta cclicamente mientras el PLC est en modo RUN. Por estos

motivos, toda programacin que se haga en este bloque estar ejecutndose

permanentemente (cclicamente). No es necesario crearlo, es el nico bloque que se aade

automticamente cuando se configura el hardware del PLC.

Un programador podra utilizar nicamente este bloque para programar un PLC, pero para

realizar una programacin ms estructurada y organizada jerrquicamente se utilizan

subrutinas por medio de FCs y FBs que se vern ms adelante.

Jos Antonio Ormeo Villa 33


OB100:

Bloque que se ejecuta nicamente una vez cuando el PLC pasa del modo STOP al modo

RUN. Cuando esto ocurre, el bloque ejecuta todos sus segmentos y, al llegar al ltimo, se

detiene. Volver a iniciar cuando el PLC pase de STOP a RUN nuevamente. Se

utiliza para hacer inicializacin de variables.

Bloques de funcin (FB)

Son bloques lgicos que tienen programacin interna en algn lenguaje de

programacin, como por ejemplo ladder. Su funcin principal es contener

subprogramas, que otro bloque puede solicitar (o instanciar), incluso varios bloques

los pueden instanciar en diferentes puntos del programa. Son entonces bloques que

permanecen inactivos hasta que otro bloque, bien sea un OB, un FB u otro pueden

activar o desactivar.

Los bloques de funcin (FB) requieren un bloque de datos de instancia para almacenar sus

datos, por esto se conocen como bloques con memoria.

Funciones (FC)

Su funcionamiento es similar al de un FB, ya que poseen programacin y se pueden

llamar (o instanciar) desde otros bloques. La diferencia es que un FC no tiene bloque de

datos de instancia, por lo tanto no tiene memoria, todo su procesamiento se pierde

cuando se desactiva el bloque. Sin embargo stos pueden escribir datos en variables

globales que no se borran cuando el bloque se desactiva.

Jos Antonio Ormeo Villa 34


Bloques de datos (DB)

Son bloques que no poseen instrucciones de programacin. nicamente poseen datos,

los cuales pueden ser utilizados nicamente por un bloque o por todos los bloques del PLC

segn sea su tipo.

El usuario puede crear un DB global manualmente, y declarar all variables. Estas variables

podrn ser ledas o escritas desde cualquier otro bloque del PLC. Se llaman bloques de

datos globales.

Algunos bloques como los FBs necesitan un bloque de datos de instancia

(instancia=llamado). En estos bloques se almacenan datos propios de la ejecucin del FB y

slo pueden ser ledos por l.

Jos Antonio Ormeo Villa 35


3.6 OPERACIONES CON BITS EN PROGRAMACIN EN LADDER

El lenguaje ladder, tambin conocido diagrama en escalera o esquema de contactos (KOP),

contiene elementos similares a los utilizados por el control con lgica cableada, por lo

tanto ha sido el preferido. Esto tal vez debido a que los primeros programadores de PLC

estaban acostumbrados a controlar con su antecesor, la lgica cableada.

Su lgica es muy sencilla, aunque permite realizar algoritmos de control muy

complejos que controlan grandes procesos industriales. Para entender el concepto se

requiere imaginarse una lnea vertical con energa que se encuentra al lado izquierdo del

diagrama, la cual tiene una serie de elementos que interrumpen o permiten su paso

hacia la derecha del diagrama, donde se encuentran elementos que modifican el valor

de alguna variable.

Los elementos ms bsicos son los que realizan operaciones lgicas con bits. Se

recomienda a cualquiera que se quiera adentrar en esta programacin, que inicie con

estas operaciones y luego de dominarlas inicie con otras operaciones ms complejas.

Las operaciones lgicas con bits ms bsicas son:

3.6.1 Contacto NA:

Es un elemento de lectura que interrumpe el paso de energa hacia la derecha del

diagrama. Su estado normal es abierto, es decir, interrumpiendo el paso de

energa, y permanecer as mientras su seal asociada permanezca inactiva. Una vez su

seal asociada se active, entonces cambiar su estado ha cerrado y permitir el paso.

Jos Antonio Ormeo Villa 36


Su smbolo es:

Figura 28. Contacto Normalmente Abierto (NA)

La leyenda "<??.?> en la parte superior del elemento significa que falta asignarle una

seal o variable asociada. Esto aplica tambin para los elementos que se explicarn ms

adelante

3.6.2 Contacto NC:

Es un elemento de lectura que interrumpe el paso de energa hacia la derecha del diagrama.

Su estado normal es cerrado, es decir, permitiendo el paso de energa, y permanecer as

mientras su seal asociada permanezca inactiva. Una vez su seal asociada se active, entonces

cambiar su estado ha abierto e interrumpir el paso.

Su smbolo es:

Figura 29. Contacto Normalmente Cerrado (NC)

Jos Antonio Ormeo Villa 37


3.6.3 Contacto Invertir:

Es un contacto que no tiene variable asociada, su funcin es simplemente invertir el

resultado lgico (RLO). Si a su izquierda llega energa, entonces a la derecha entregar

energa, si no llega entonces s entregar. Es un negador. No se debe confundir con el contacto

NC, ya que el contacto NC requiere de una variable y su estado abierto o cerrado depende

de sta, mientras que el contacto invertir slo requiere presencia o ausencia de energa a su

izquierda.

Su smbolo es:

Figura 30. Contacto Invertir RLO

3.6.4 Bobina simple o asignacin:

Es un elemento de escritura el cual, al recibir energa, activa su seal asociada, de lo

contrario la mantendr apagada. Su uso debe ser cuidadoso, ya que esta bobina est

escribiendo en la variable permanentemente, encendindola o apagndola, por lo tanto no es

correcto programarla varias veces en el mismo bloque con la misma variable asociada.

Su smbolo es:

Figura 31. Bobina simple o asignacin

Jos Antonio Ormeo Villa 38


3.6.5 Bobina negar asignacin:

Es similar a la bobina simple, pero el resultado es invertido. Si llega energa a ella entonces

apagar la variable asociada, si no llega entonces la encender. Su smbolo es:

Figura 32. Bobina negar asignacin

3.6.6 Bobina SET o activar salida:

Es una bobina de encendido con memoria, es decir, si llega energa a ella entonces enciende

el bit. Si la energa desaparece, el bit seguir encendido. Por lo tanto la nica funcin de esta

bobina es encender, deben programarse otros elementos que realicen el apagado.

Su smbolo es:

Figura 33. Bobina SET o activar salida

3.6.7 Bobina RESET o desactivar salida:

Es una bobina de apagado con memoria, es decir, si llega energa a ella entonces apaga el

bit. Si la energa desaparece, el bit seguir apagado. Normalmente se programa en conjunto

con la bobina SET, en algunas partes del cdigo la SET enciende y en otras la RESET

apaga, dependiendo de la secuencia programada.

Jos Antonio Ormeo Villa 39


Su smbolo es:

Figura 34. Bobina RESET o desactivar salida.

3.6.8 Flip flop de activacin/desactivacin:

Aunque no es uno de los elementos ms utilizados para programacin de PLCs, algunos

programadores que son expertos en electrnica digital, los utilizan muy frecuentemente en

sus algoritmos. Su uso entonces depende de gustos y aplicaciones. Se utiliza para activar o

desactivar un bit dependiendo de dos entradas S (set) y R1 (reset).

Si S est en 1 y R1 est en 0, entonces el bit se enciende. Si S est en 0 y R1 est en 1,

entonces el bit se apaga.

Si S est en 1 y R1 est en 1 (ambas encendidas), entonces el bit se apaga, ya que prevalece

el reset sobre el set.

Si S est en 0 y R1 est en 0 (ambas apagadas), no ocurre nada, y el bit conserva su estado

sin modificaciones.

Su smbolo es:

Figura 35. Flip flop de activacin/desactivacin

Jos Antonio Ormeo Villa 40


En la salida Q se entrega un 1 si se encendi el bit, o un 0 si se apag, es como un reflejo del

bit por si se desea conectar algo a esta salida dependiendo del valor de l.

3.6.9 Flip flop de desactivacin/activacin:

Es similar al Flip flop visto anteriormente, con el nico cambio que la entrada S prevalece

sobre la entrada R1, es decir, si ambas entradas estn activas entonces el bit se enciende.

Su smbolo es:

Figura 36. Flip flop de activacin/desactivacin

Otros elementos de programacin de operaciones con bits se incluyen en el TIA Portal, pero

su uso no es tan frecuente y se sugiere su estudio a partir de las ayudas del programa

Jos Antonio Ormeo Villa 41


3.7 ABRIR UN BLOQUE PARA PROGRAMARLO

Para esta seccin se requiere que se cuente con un proyecto en el TIA Portal V13 que tenga

un PLC con hardware correctamente configurado.

Ya que el bloque cclico es el OB1 y es all donde se realiza la programacin ms

importante, entonces ubquelo en la ruta:

rbol del proyecto PLC/Bloques de programa/Mai n OB1.

Figura 37. Bloque de programacin OB1

Jos Antonio Ormeo Villa 42


Note que el espacio de programacin es pequeo y slo se puede visualizar un segmento

para programacin.

Figura 38. Bloque de programacin OB1 con rea de programacin ampliada.

Jos Antonio Ormeo Villa 43


3.8 PROGRAMAR CON CONTACTOS Y BOBINAS

Para iniciar esta seccin se debe contar con un bloque abierto listo para ser programado,

los contactos y las bobinas son los elementos ms bsicos de programacin en lenguaje

ladder.

Al ser elementos de uso tan frecuente, se encuentran unos accesos directos a ellos en la

barra de favoritos.

Figura 39. Contactos y bobina para programacin en ladder

Para aadirlos basta nicamente con arrastrarlos al segmento donde se quieren

ubicar. En la programacin ladder los contactos se ubican a la izquierda (para

evaluar) y las bobinas a la derecha (para modificar).

Jos Antonio Ormeo Villa 44


Figura 40. Segmento con contacto y bobina

Luego, simplemente escriba la direccin de la variable sobre ellos y listo.

Jos Antonio Ormeo Villa 45


3.9 CORREGIR LA PROGRAMACIN REALIZADA

En muchas ocasiones el programador aade un elemento cuando en realidad quera

aadir otro que estaba a su lado, un pequeo error al hacer clic. O en muchas otras

ocasiones la lgica del sistema cambi y requiere invertir o modificar algunos elementos.

En anteriores plataformas de programacin de PLCs la solucin era eliminar el segmento

completo y repetirlo, o eliminar los elementos y programarlos nuevamente, tarea que

poda tornarse complicada al tener segmentos con lgica compleja, y borrar algn

elemento puede alterar todo el segmento.

Con el TIA Portal V13 esta tarea se realiza de manera muy sencilla.

Por ejemplo aadamos un contacto normalmente cerrado y al final se aade una bobina

simple:

Figura 41. Segmento con contacto NC y bobina simple.

Jos Antonio Ormeo Villa 46


Pero por alguna razn se desean realizar varias modificaciones:

Cambiar el contacto NC por uno NA. Para ello haga doble clic sobre el contacto,

aparecer una flecha que permite abrir una lista desplegable.

Figura 42. Segmento con contacto a cambiar de lista desplegable

Luego abra la lista y elija el contacto deseado, en este caso el NA.

Figura 43. Segmento con contacto a cambiar por NA.

Jos Antonio Ormeo Villa 47


Y listo, el contacto se cambiar sin necesidad de reasignar la variable asociada o borrar

algn elemento.

Figura 44. Segmento con contacto NC cambiado por NA el mismo procedimiento se puede
aplicar para cambiar la bobina.
En otras situaciones se requiere mover algn elemento a otra posicin. Por ejemplo

aada 3 contactos como se muestra en la figura:

Figura 45. Segmento con 3 contactos, 2 en serie y 1 en paralelo

Jos Antonio Ormeo Villa 48


Por ejemplo para pasar el NC de la primera lnea hacia la segunda lnea, haga clic sobre

l, no suelte el botn del mouse (clic sostenido) y arrstrelo hacia la posicin deseada.

Figura 46. Segmento con 1 contacto NC hacia la segunda lnea

Note que en la figura anterior se marc en color verde que el contacto estaba en una

ubicacin donde se poda soltar

Una vez se suelte el botn del mouse se mover el contacto y quedar listo el segmento.

Figura 47. Segmento con contacto desplazado

Jos Antonio Ormeo Villa 49


3.10 PROGRAMAR CON CUADRO VACO

El cuadro vaco es una forma alternativa de programar si no se quiere estar

constantemente navegando el men de instrucciones que se encuentra al lado

derecho de la ventana del programa. Su ubicacin es en la barra de favoritos.

Figura 48. Cuadro vaco en la barra de favoritos

Aada un cuadro vaco en un segmento.

Figura 49. Cuadro vaco sin configurar ubicado en un segmento

Jos Antonio Ormeo Villa 50


Luego haga doble clic en los signos de interrogacin rojos del cuadro, aparecer

una lista desplegable.

Figura 50. Lista desplegable de un cuadro vaco.

Elija el elemento que desea ubicar, por ejemplo un contacto normalmente cerrado. Al

hacer clic el cuadro vaco se convertir en el elemento seleccionado.

Figura 51. Cuadro vaco convertido en contacto NC.

Se puede utilizar este cuadro vaco para cualquier elemento de programacin ladder.

Jos Antonio Ormeo Villa 51


3.11 DEFINICIN SIMBLICA AUTOMTICA DE VARIABLES

Cuando se utiliza cualquier elemento de programacin en ladder se requiere que se

asignen direcciones o variables.

A continuacin se muestra de forma simple cmo se pueden asignar las direcciones de

entradas y salidas de diferentes formas.

Aada los elementos que desea utilizar, por ejemplo un contacto y una bobina.

Figura 52. Contactos y bobinas sin direccin

Se quiere por ejemplo encender una salida digital llamada Piloto cuando se active una

entrada digital llamada Start.

Al programar no es necesario conocer de antemano la disponibilidad de entradas y

salidas, sino que se deben escribir los smbolos deseados para ellas.

Jos Antonio Ormeo Villa 52


Figura 53. Contactos y bobinas con smbolos sin direccin

Note que aparecen subrayados en rojo, el TIA Portal V13 identifica como error,

debido a que son smbolos que no tienen direccin definida an

Para hacer una asignacin ms interactiva, vaya primero a la configuracin de

hardware del PLC, en el rbol del proyecto en la opcin Configuracin de

dispositivos, sin cerrar el OB1.

Figura 54. Configuracin de dispositivos para realizar direccionamiento.

Jos Antonio Ormeo Villa 53


Note que en la parte inferior estn abiertos tanto la configuracin de dispositivos PLC_1

como el bloque OB1 llamado Main.

Figura 55. Configuracin de dispositivos y Bloque OB1 Main abiertos en el proyecto.

Luego vaya a Ventana Dividir el rea del editor verticalmente. Tambin podra

realizarse horizontalmente, lo importante es que se vean simultneamente la

configuracin de dispositivos y el bloque OB1

Figura 56. Dividir el rea para ver varias ventanas simultneamente.

Jos Antonio Ormeo Villa 54


Luego de esto aparecern las 2 ventanas abiertas en el TIA Portal.

Figura 57. Configuracin de dispositivos y Bloque OB1 Main abiertos en la misma


ventana
.

All se pueden ver los bloques de entradas y salidas digitales haciendo zoom hasta que

estn lo suficientemente grandes para identificar sus direcciones.

Arrastre el smbolo Start del contacto del bloque hasta la direccin deseada, por ejemplo

I0.0. Arrastre tambin el smbolo Piloto de la bobina hasta la salida Q0.0.

Note que:

En la ventana de configuracin de dispositivos (donde se ve el PLC grficamente al lado

izquierdo) ya no se muestran las direcciones como antes, sino que estas 2 variables que ya

estn siendo utilizadas y fueron declaradas muestran su smbolo. En el bloque tambin

aparecern en adelante mostrando su direccin y su smbolo

Ha esta operacin en el TIA PORTAL V13 la denomina la funcin de Drag & Drop y puede

utilizarse fcilmente entre editores.

Jos Antonio Ormeo Villa 55


.

Figura 58. Funcin de Drag & Drop.

Este es un procedimiento interactivo que tiene ventajas como:

Fcil identificacin de variables utilizadas

Fcil identificacin de variables disponibles

Conocer su ubicacin para conectar los sensores y actuadores al PLC fsicamente.

Pero tiene la desventaja que hay que realizar varios pasos para declarar nicamente una

variable, adicionalmente interrumpe la programacin, tarea que normalmente requiere

mucha concentracin.

Jos Antonio Ormeo Villa 56


3.12 DEFINICIN SIMBLICA MANUAL DE VARIABLES DESDE EL BLOQUE

Si no se desea realizar el procedimiento automtico para la asignacin de smbolos a

variables, entonces se puede realizar manualmente, mientras se realiza la programacin.

Aada por ejemplo otra bobina en paralelo, como se muestra en la figura, con una variable

a la que no se le especific su direccin, sino el smbolo Piloto 2.

Figura 59. Declaracin manual de smbolo a una variable

Jos Antonio Ormeo Villa 57


Luego haga clic derecho sobre la variable y luego clic en la opcin Definir variable.

Figura 60. Definir variable manualmente.

Se abrir un cuadro de dilogo donde se pide un nombre (o smbolo), una

direccin y un comentario, este ltimo opcional.

Figura 61. Ingresar nombre, direccin y comentario a variable.

Jos Antonio Ormeo Villa 58


Al hacer clic en Aceptar se guardar la variable y en adelante se mostrar su smbolo y

direccin cada vez que se utilice.

Figura 62. Variable declarada correctamente

Jos Antonio Ormeo Villa 59


3.13 LA TABLA DE SMBOLOS

La tabla de smbolos o tabla de variables estndar muestra el listado de todas las variables

que se han utilizado en el programa, incluyendo la declaracin simblica que se ha

asignado a cada una de ellas.

Para acceder a esta tabla siga la ruta:

rbol del proyecto PLC/Variables PLC.

Figura 63. Ruta para abrir la tabla de smbolos del PLC

Jos Antonio Ormeo Villa 60


Al hacer doble clic se muestra la tabla.

Figura 64. Tabla de smbolos del PLC

Es posible aadir smbolos que an no se han utilizado, simplemente se deben declarar

en los renglones disponibles en la tabla. Si estn declarados, una vez se utilicen en el

programa se mostrarn con direccin y smbolo.

Se recomienda al iniciar la programacin se agregue las variables de entradas y salidas

en la tabla de smbolos.

Jos Antonio Ormeo Villa 61


3.14 LA BARRA DE FAVORITOS

La barra de favoritos es un lugar de fcil acceso durante la programacin de un bloque del

PLC que contiene elementos de uso frecuente.

Figura 65. Ubicacin de la barra de favorito.

Esta barra contiene los siguientes elementos por defecto:

Figura 66. Barra de favoritos

De izquierda a derecha en orden:

1. Contacto normalmente abierto (NA)

2. Contacto normalmente cerrado (NC)

3. Bobina simple

Jos Antonio Ormeo Villa 62


4. Cuadro vaco (para aadir cualquier elemento a partir de una lista desplegable)

5. Abrir rama (para abrir y aadir elementos en paralelo)

6. Cerrar rama (para cerrar o terminar de aadir elementos en paralelo)

Esta barra es dinmica y puede modificarse. Si desea borrar algn elemento de esta barra

puede simplemente hacer clic derecho sobre l y luego clic en Eliminar instruccin

Figura 67. Eliminar instruccin de la barra de favoritos.

Por el contrario, si se quiere aadir un elemento se debe ubicar el elemento en la

lista de instrucciones, por ejemplo una bobina SET.

Figura 68. Bobina SET de la lista de instrucciones

Jos Antonio Ormeo Villa 63


.Luego arrastrar la instruccin hasta el rea de la barra de favoritos. En la siguiente

figura se han aadido las bobinas SET y RESET a la barra de favoritos.

Figura 69. Barra de favoritos con instrucciones SET y RESET aadida.

Jos Antonio Ormeo Villa 64


3.15 TTULOS DE LOS SEGMENTOS Y COMENTARIOS

Cuando de programar se trata, se debe ser muy generoso al aadir ttulos y comentarios

a cada segmento. Esto es demasiado importante por varias razones:

Se puede dar una explicacin detallada de la funcin de cada segmento

En un futuro, el programador podr abrir su cdigo y ubicarse fcilmente

Otros programadores optimizarn su tiempo debido a que entendern ms rpido la

lgica que otro programador utiliz en el PLC.

La utilizacin de estas herramientas se hace entonces casi obligatoria para todo

buen programador.

Al lado del nmero del segmento aada un ttulo, por ejemplo Encendido de piloto

Figura 70. Ttulo del segmento

Debajo del ttulo del segmento aada un comentario, tratando de dar una amplia,

pero no demasiado extensa, explicacin de lo que se realiza en ese segmento particular.

Figura 71. Segmento con ttulo y comentario

Jos Antonio Ormeo Villa 65


Luego, al verse el bloque programado con segmentos con su respectivo ttulo y

comentario se vara as

Figura 72. Bloque con segmento con ttulo y comentario

Note que las variables tambin fueron declaradas en la tabla de smbolos, lo que lo

convierte en una programacin muy bien documentada y de fcil entendimiento para

el diseador y otros programadores que lo intervengan.

Jos Antonio Ormeo Villa 66


3.16 COMPILAR EL PROYECTO

Compilar es una operacin que se realiza a cualquier programacin para verificar

errores o inconsistencias en la programacin.

Una vez haya finalizado la programacin o se quiera evaluar su coherencia, se puede hacer

clic en el botn Compilar:

Figura 73. Botn Compilar

Se correr la rutina de compilacin, y se mostrar un resultado de esta operacin:

Figura 74. Resultado de la compilacin

Jos Antonio Ormeo Villa 67


En este caso se muestra una compilacin finalizada con cero errores, es decir, que no

se dej ningn segmento con ramas abiertas, o se utilizaron direcciones que no estaban

configuradas en el hardware, etc.

Jos Antonio Ormeo Villa 68


3.17 CARGAR EL PLC

Se recomienda compilar antes de cargar el PLC, Si no se hace, entonces la operacin de

carga automticamente har la compilacin antes de cargar.

Para cargar primero seleccione el PLC en el rbol del proyecto, y luego haga clic en

Cargar en dispositivo.

Es muy importante que se seleccione primero el PLC en el rbol del proyecto, ya que

hay proyectos que pueden tener varios PLCs configurados y se podra enviar el proyecto a

otro PLC. Por lo tanto se sugiere que cualquier programador se acostumbre a realizar este

procedimiento as.

Figura 75. Cargar en dispositivo.

Es posible que aparezca una advertencia, donde se indica que el PLC pasar a modo

STOP. Esta advertencia nicamente aparecer cuando el PLC est en modo RUN y

se quiera cargar el programa.

Esta advertencia es muy importante, debido a que el PLC puede estar conectado a un

proceso productivo y all se generara un paro momentneo, en muchos casos esto puede ser

indeseable.

Jos Antonio Ormeo Villa 69


Si no hay ningn problema si se genera el paro, entonces haga clic en Aceptar.

Figura 76. Advertencia de paso a modo STOP.

Luego aparecer una ventana llamada Cargar vista preliminar. Esto ocurre cuando ya

se est listo para cargar, se pregunta una ltima vez si se desean cargar los bloques.

Asegrese que la casilla continuar est marcada para que se carguen.

Jos Antonio Ormeo Villa 70


.Las operaciones de carga con el TIA Portal son ms eficientes debido a que, aunque

se quiera cargar todo, el programa evaluar el PLC online y se determinar cules partes

son iguales y cules difieren entre el PLC real (online) y el proyecto (offline). Se cargar

nicamente los bloques y configuraciones que sean diferentes para optimizar.

Haga clic en Cargar.

Figura 77. Vista preliminar de carga.

Terminada la operacin de carga se mostrarn los resultados, entre los cuales est el

mensaje Operacin de carga finalizada correctamente.

Luego se pide marcar la casilla Arrancar todos con un mensaje Arrancar mdulos tras

cargar. Esta pregunta se hace para que, si est marcada la casilla, una vez se haga clic en

finalizar se pase el PLC a modo RUN.

Jos Antonio Ormeo Villa 71


Seleccione entonces la casilla y haga clic en Finalizar.

Figura 78. Resultados de la carga

Jos Antonio Ormeo Villa 72


3.18 SIMULAR CON MODO OBSERVACIN (ONLINE)

El modo de observacin o modo Online es un modo en el que se puede ver la

programacin realizada en el PLC y evaluar la programacin realizada. Es como una forma

de hacer simulacin

Este modo no es necesario activarlo para que el PLC pueda correr. Slo se activa este

modo si se quiere observar lo que est ocurriendo internamente, a modo de simulacin.

Tambin se puede simular el programa utilizando tablas de observacin.

Entonces tambin existe un modo Offline. Este modo es cuando se est editando el

proyecto y no se est estableciendo comunicacin con el PLC. En este modo se construye

la programacin y se configura el hardware del PLC para luego cargarlo.

Para activar el modo Online primero abra un bloque en el proyecto, luego haga clic en el

botn Activar/Desactivar observacin

Figura 79. Activar modo Online (Observacin).


Aparecer entonces el mismo bloque con varias caractersticas:

Jos Antonio Ormeo Villa 73


El ttulo de la ventana del bloque se ver en color naranjado, indicando que se

est en modo Online

Los segmentos aparecern al lado izquierdo marcados con verde. Este verde

representa un 1 lgico que trata de llegar a las bobinas de la programacin.

Los contactos o condiciones previas le permiten o interrumpen el paso. As

entonces se puede evaluar la programacin realizada

Se abrir la herramienta test

Figura 80. Modo observacin (online) activado, contacto abierto

Note que el contacto NA de la entrada digital con smbolo Start est abierto, esto

significa que en la entrada se est leyendo un cero lgico.

Jos Antonio Ormeo Villa 74


Si se activa la entrada (se lee un uno lgico), entonces el contacto se cerrar y activar la

bobina.

Figura 81. Modo observacin (online) activado, contacto cerrado

Jos Antonio Ormeo Villa 75


3.19 SIMULAR CON TABLA DE OBSERVACIN

La tabla de observacin es un modo de simulacin donde se pueden aadir las variables

en una tabla, y all se pueden ver (leer) o forzar (escribir o modificar).

Se pueden aadir bien sea en modo online o modo offline sin problemas. En este

procedimiento a continuacin ya estaba previamente activado el modo de observacin

(online), actvelo.

Para aadir una tabla de observacin vaya al rbol del proyecto PLC /Tablas de observacin

y hacer doble clic en Agregar nueva tabla de observacin.

Figura 82. Agregar nueva tabla de observacin

Jos Antonio Ormeo Villa 76


Se abrir la tabla de observacin e inmediatamente quedar en modo online, debido a

que el modo estaba previamente activado. Si no lo estaba puede hacer clic en el botn

Observar todos para activarlo desde la tabla.

Asegrese de tener entonces activado el modo de observacin (online) y aada las variables

que quiere visualizar o forzar.

Figura 83. Configurar la tabla de observacin

En la siguiente figura se estn observando dos variables:

La entrada I0.0 con smbolo Start la cual est en cero (false)

La salida Q0.0 con smbolo Piloto la cual est en cero (false)

Figura 84. Tabla de observacin online (variables en cero)

Jos Antonio Ormeo Villa 77


Si se activa la entrada digital, entonces debera aparecer activa (true) en la tabla de

observacin. Activndola a travs de una seal de 24VDC en la entrada, se tiene:

Figura 85. Tabla de observacin online (variables en uno) Donde se muestra que las

variables que se estn observando:

La entrada I0.0 con smbolo Start est en uno (true)

La salida Q0.0 con smbolo Piloto est en uno (true)

Jos Antonio Ormeo Villa 78


3.20 CONMUTAR ENTRE MODO STOP Y MODO RUN

Cuando se activa el modo de observacin como se hizo en SIMULAR CON MODO

OBSERVACIN (ONLINE) se abrir automticamente la herramienta Test al lado derecho

de la ventana del TIA Portal.

Figura 86. Herramienta test del modo de observacin

Este modo sirve para conocer el estado operativo del PLC, el cual tambin se puede conmutar

si se desea entre RUN y STOP.

Si se est por ejemplo en modo RUN y se desea conmutar al modo STOP entonces

presione el botn STOP. Aparecer una advertencia donde se pregunta nuevamente si

se est seguro de conmutar al modo STOP. Esto se realiza por seguridad, para no generar

paros indeseados en los procesos productivos automatizados con el PLC.

Jos Antonio Ormeo Villa 79


Haga clic en Aceptar para pasar a modo STOP.

Figura 87. Conmutar el PLC a modo STOP.

Si se est en modo STOP y se desea conmutar a modo RUN entonces haga clic en el botn

RUN. Aparecer una advertencia donde se debe confirmar la intencin de cambiar a

modo RUN. Esto tambin se hace por seguridad, para no iniciar un proceso

accidentalmente sin que este est listo o se hayan cumplido las condiciones de seguridad

para su arranque.

Jos Antonio Ormeo Villa 80


Haga clic en Aceptar para pasar al modo RUN.

Figura 88. Conmutar el PLC a modo RUN

Jos Antonio Ormeo Villa 81


3.21 DESHACER LA CONEXIN ONLINE

Cuando se ha habilitado la conexin online como se ha explicado en SIMULAR CON

MODO OBSERVACIN (ONLINE) y en SIMULAR CON TABLA DE OBSERVACIN se

transformar todo el ambiente del TIA para mostrarse lo que est internamente

programado y configurado en el PLC. S se desea seguir editando el proyecto para

modificar la programacin, entonces es necesario deshacer el modo online (volver a

offline).

Para hacer esto haga clic en el PLC en el rbol del proyecto, luego vaya a la barra y

busque la opcin Online/Deshacer conexin online.

Figura 89. Deshacer conexin online

Jos Antonio Ormeo Villa 82


3.22 REFERENCIAS CRUZADAS

En ocasiones el proyecto es muy grande y complejo y puede contener una gran

cantidad de bloques, cada uno de ellos con muchos segmentos de programacin. En un

proyecto as es muy fcil que se genere confusin y, sin las herramientas apropiadas, la

depuracin, modificacin y construccin de este proyecto sera mucho ms complicado.

Una de estas herramientas son las referencias cruzadas, las cuales permiten conocer

cuntas veces y en qu partes del proyecto se ha utilizado una variable.

Veamos un ejemplo para buscar las variables M0.0 y MB0.

En el bloque OB1 se program en ladder que, cuando se active M0.0, entonces se

transferir un 1 a MB0.

Figura 90. Bloque OB1 con programacin ladder

Jos Antonio Ormeo Villa 83


En el bloque FC1 llamado Funcin1 se program que, cuando M0.0 est inactivo, se

encienda la salida digital Q0.0 con smbolo Piloto.

Figura 91. Bloque FC1 con programacin ladder

Abra el bloque OB1 y haga clic derecho sobre la variable MB0 con smbolo Tag_4,

luego clic izquierdo en Referencias cruzadas.

Figura 92. Abrir las referencias cruzadas

Jos Antonio Ormeo Villa 84


Se abrirn entonces las referencias cruzadas mostrando lo siguiente:

Figura 93. Referencias cruzadas de la variable MB0 con smbolo Tag_4.

All se ve que ha sido utilizada nicamente una vez, en el bloque OB1 con smbolo

Main, en el segmento 1, donde se le hace escritura, es decir, se modifica su valor.

Si se hace clic en el hipervnculo en la columna Ubicacin, el programa nos llevar al

segmento que se eligi.

Repita el procedimiento para la variable M0.0, se mostrarn sus referencias cruzadas:

Figura 94. Referencias cruzadas de la variable M0.0 con smbolo Tag_6

Jos Antonio Ormeo Villa 85


Note que aparecen 2 lneas en las referencias cruzadas, indicando que sta variable se ha

utilizado dos veces.

La primera que muestra es en el bloque FC1 Funcin1 en el segmento 1, donde se

le hace lectura. Esto era de esperarse, ya que se eligi un contacto, el cual slo lo lee.

En el bloque OB1 Main se hace tambin una lectura de M0.0.

Como se ve, las referencias cruzadas permiten conocer los bloques donde se utiliz una

variable y adems brinda ms informacin:

Segmento en el que se utiliz

Tipo de accin: lectura o escritura

Y dispone de un hipervnculo para saltar al segmento

Jos Antonio Ormeo Villa 86


4. PROGRACIN AVANZADA EN LENGUAJE LADDER

En los captulos anteriores se explicaron algunos de los elementos de programacin

ladder, pero con un enfoque mucho ms hacia el manejo del programa en vez de enfocarse

detalladamente en la explicacin de los elementos.

En este captulo se vern algunos otros elementos, de una complejidad ms elevada por

lo que requieren de una explicacin ms detallada. Estos elementos ya no son

binarios e incluyen: temporizadores, contadores, variables analgicas, operaciones

aritmticas, comparadores, etc.

Al finalizar este captulo 4, el ltimo de la primera parte del tutorial, el lector estar

familiarizado con los elementos disponibles en la lista de instrucciones de este programa,

lo que le permitir tener un ampliado conjunto de conocimientos que lo llevarn a realizar

configuraciones y programaciones de los PLCs S7-1200.

Jos Antonio Ormeo Villa 87


4.1 TRABAJANDO CON TEMPORIZADORES

Los temporizadores son instrucciones que se utilizan generalmente para generar

retardos deseados en los programas, por ejemplo el tiempo de aplicacin de un proceso a

un producto, la intermitencia o activacin de algn indicador luminoso o sonoro, etc.

En el TIA Portal hay 4 tipos:

TP (Impulso): Genera un impulso de una duracin determinada.

TON (Retardo a la conexin): Activa su salida despus de un tiempo que su entrada

fue activada.

TOF (Retardo a la desconexin): Desactiva su salida despus de un tiempo que su

entrada fue desactivada.

TONR (Acumulador): Activa su salida se activa despus de un tiempo determinado, el

cual se acumula en varias activaciones de la entrada del temporizador CEI.

RT (Poner a cero): Aparece en la lista pero no es un temporizador CEI, su tarea es

resetear o volver a cero un temporizador. Funciona como una bobina.

PT (Cargar tiempo): La instruccin "Cargar tiempo" permite ajustar el tiempo de un

temporizador CEI. La instruccin se ejecuta en cada ciclo si el resultado lgico (RLO) de la

entrada de la instruccin tiene el estado lgico "1". La instruccin escribe el tiempo indicado

en la estructura del temporizador CEI indicado .Funciona como una bobina.

Jos Antonio Ormeo Villa 88


Se pueden encontrar en la lista de instrucciones, carpeta Temporizadores.

Figura 95. Temporizadores en TIA Portal 13.

Note que aparecieron 4 temporizadores TP, TON, TOF, TONR explicados anteriormente.

En la Figura 9 note el smbolo de bloque se ubica al lado izquierdo del ttulo del

temporizador, por lo tanto al arrastrarse a un segmento de un bloque de programacin se

ver as:

Figura 96. Temporizador aadido a segmento de programacin.

En la parte superior del temporizador se pedir un nombre. Al hacer clic y tratar de asignar

un nombre aparecer:

Jos Antonio Ormeo Villa 89


Figura 97. Asignar nombre a temporizador.

Note que aparece la leyenda que dice Bloque de datos. En los temporizadores se

crear un bloque de datos exclusivo para cada temporizador, el cual podemos llamar de la

forma deseada. Es un bloque de instancia individual, por lo tanto un bloque de datos

creado de esta forma slo puede ser llamado (o instanciado) por un temporizador. Si se

utiliza otro temporizador en la programacin, deber tener un nombre diferente con un

nuevo bloque de datos.

Jos Antonio Ormeo Villa 90


Asigne un nombre al temporizador, o ms bien, al bloque de datos asociado a este

temporizador.

Figura 98. Asignar nombre al bloque de datos del temporizador.

Haga clic en aceptar para crear el bloque de datos con el nombre elegido.

Figura 99. Temporizador con bloque de datos de instancia individual

Jos Antonio Ormeo Villa 91


Falta asignarle el tiempo al temporizador, esto se hace en su entrada PT ubicada al lado

izquierdo del bloque. Esta es una tarea sencilla ya que la forma de ingresar los datos es muy

intuitiva.Si se desean temporizar 500 milisegundos, se debe incluir el texto 500ms en el

temporizador.

Si se desean 3 segundos, entonces incluir 3s, si se desean 3 minutos, 4

segundos y 300 milisegundos entonces incluir 3m4s300ms y listo.

Escriba por ejemplo 3s en la entrada del temporizador y automticamente se cambiar a

T#3s, el cual es el formato adecuado para asignarle este valor. El prefijo

T# se aade automticamente, as que no es necesario acostumbrarse a escribirlo, slo

basta escribir 3s.

Figura 100. Temporizador con tiempo configurado

Jos Antonio Ormeo Villa 92


Y listo, el temporizador est correctamente configurado. A la entrada IN de un

temporizador llegar un 1 o un 0, su salida Q se encender o desactivar dependiendo del

tipo de temporizador, como se explic al inicio de esta seccin.

Es muy comn que se ubiquen elementos a la salida del temporizador. En la Figura 111 se

ubic una bobina simple con la salida Piloto con direccin Q0.0. Esta salida se encender

nicamente 5 segundos despus que se haya presionado la entrada Start con

direccin I0.0, ya que Temporizador 1 es del tipo retardo a la conexin.

4.2 EVALUANDO TEMPORIZADORES

En la seccin TRABAJANDO CON TEMPORIZADORES se explic cmo se realiza la

configuracin y arranque de un temporizador, bien sea desde bloques o desde bobinas.

Adems se explic que es muy comn que se ubiquen elementos a la salida Q del

temporizador, los cuales tomarn energa de esta salida para realizar sus tareas.

Es muy comn que se requiera evaluar el estado de un temporizador en diferentes

partes del programa, y no es prctico conectar demasiados elementos en su salida.

Por lo tanto en TIA Portal se permite aadir contactos de los temporizadores de modo

que stos se cierren o se abran dependiendo del estado de su salida Q.

Esto se realiza primero configurando el temporizador en un segmento y luego, en

cualquier otro segmento de cualquier bloque de programacin aadir un contacto, por

ejemplo uno NA:

Jos Antonio Ormeo Villa 93


Figura 101. Temporizador configurado y contacto NA en otro segmento.

En la parte superior del contacto escriba el inicio del nombre del temporizador,

automticamente se abrir una lista de los elementos en el proyecto que inicien con

estas letras. En la figura se muestra nicamente un elemento que coincide.

Figura 102. Configurar el temporizador en el contacto

Jos Antonio Ormeo Villa 94


Elija el Temporizador1 del listado, ahora se mostrarn 3 posibilidades: IN, Q y RUNNING.

Figura 103. Configurar elemento del temporizador a evaluar

El elemento ms comn a evaluar es su salida, ya que sta nos informa si el

temporizador ya termin la temporizacin o an est en proceso. Por lo tanto se debe

seleccionar Q.

Al hacer esta eleccin entonces el contacto se mostrar como Temporizador1.Q, es decir,

se est evaluando la salida del temporizador.

Jos Antonio Ormeo Villa 95


Se puede cambiar la posicin de la bobina que antes estaba a la salida del temporizador y

ubicarla al lado derecho del contacto recientemente creado.

Figura 104. Contacto NA para evaluar salida del temporizador

Jos Antonio Ormeo Villa 96


4.3 TRABAJANDO CON CONTADORES

En TIA Portal V13 hay principalmente 3 tipos de contadores: Ascendente, descendente y

ascendente/descendente.

En TIA Portal V13 se muestra en el listado el CTRL_HSC, el cual es un contador rpido (High

Speed Counter HSC), especial para lectura de encoders con entradas rpidas.

Figura 106. Contadores en el listado de instrucciones

El contador ascendente (CounTer Up CTU), como su nombre lo indica, es til para

contar nicamente hacia arriba, no es capaz de contar hacia abajo (descendente).

El descendente (CounTer Down CTD) nicamente hacia abajo.

El ascendente/descendente (CounTer Up Down CTUD) es capaz de realizar ambas

tareas, lo que lo hace un poco ms complejo que los otros 2, veamos su funcionamiento:

Jos Antonio Ormeo Villa 97


Primero aada el contador CTUD, note que l se conecta al contacto automticamente

desde su entrada CU, por lo tanto cada vez que se cierre el contacto el

contador contar ascendentemente.

Al aadir el contador automticamente se pedir el nombre del bloque de datos de

instancia individual asociado al contador.

Figura 107. Contador ascendente/descendente

Jos Antonio Ormeo Villa 98


Asigne un nombre al bloque de datos de instancia del contador, por ejemplo Contador0.

Figura 108. Asignar nombre al DB del contador

Haga clic en Aceptar y se crear el bloque de datos (DB)

Figura 109. Contador con DB creado

Jos Antonio Ormeo Villa 99


Un contador tiene un comparador, el cual evala constantemente si el valor actual de

contaje (Current Value CV) ya alcanz al valor configurado (Preset Value PV). Este valor

configurado PV puede estar en diferentes formatos y se debe elegir en el bloque. Debajo

de la leyenda CTUD del se configura automticamente Int. As, el PV se suministrar al

contador en formato entero. Si se desea se puede cambiar.

En su entrada LOAD se podr entregar un 1 cuando se quiera poner el contador en el valor

PV. Por lo tanto, mientras no se entregue este 1 en LOAD el contador arrancar en 0, es decir,

CV=0.

Asigne el PV, por ejemplo el nmero 3. El contador no har CV=3 hasta que se entregue un

1 en LOAD. Lo utilizar nicamente para comparar CV con PV como se explic

anteriormente

Figura 110. Contador con valor configurado PV=3

Jos Antonio Ormeo Villa 100


Este contador arrancar por defecto en cero y, cada vez que se active I0.0 incrementar en

uno su valor actual CV. Si se configura alguna seal o contacto en la entrada CD,

entonces el contador decrementar en uno su CV.

Hay 3 salidas para el contador:

CV ya se conoce, es su valor actual de conteo

QU es una salida que se enciende si CV>=PV

QD es una salida que se enciende si CV<=0

Por lo tanto QU sirve para comparar si el valor actual del contador (CV) ya sobrepas por

encima al valor configurado PV. Este funcionamiento es similar al del contador ascendente.

Por otro lado, QD sirve para evaluar si el contador decreci lo suficiente para estar por

debajo de cero. Este funcionamiento es similar al del contador descendente.

Si en cualquier momento se activa la entrada LOAD, entonces CV se har igual a PV,

independientemente del valor en que se encontraba su contaje.

As, un contador ascendente/descendente se presenta como la mezcla entre uno

ascendente y uno descendente. En esta seccin nicamente se estudi el

ascendente/descendente porque es complejo y durante su explicacin se hacen

analogas con los otros 2 que son un poco ms sencillos.

Jos Antonio Ormeo Villa 101


4.4 EVALUANDO CONTADORES

Los contadores, al igual que los temporizadores se pueden evaluar en diferentes

partes del programa de forma simultnea.

Inicie con un contador correctamente configurado, y aada un contacto NA en otro

segmento de programacin.

Figura 111. Contador configurado y contacto NA en otro segmento.

Encima del contacto, escriba las primeras letras de nombre del contador.

Aparecer automticamente la lista de elementos que inicien con este nombre. Elija el

nombre del contador, en este caso Contador0.

Jos Antonio Ormeo Villa 102


Figura 112. Configurar el contador en el contacto.
Se abrir la lista de elementos binarios que se pueden evaluar a este contador, entre

ellos: Sus entradas COUNT_DOWN, COUNT_UP, LOAD y RESET, y sus salidas Q_DOWN y

Q_UP, todas ellas explicadas anteriormente.

Figura 113. Configurar elemento del contador a evaluar.

Jos Antonio Ormeo Villa 103


Por ejemplo elija Q_UP o QU y ubique la bobina de Q0.0 al lado derecho del contacto

NA del segundo segmento. Figura

114. Contacto NA para evaluar salida del contador

Se sugiere al lector realizar programaciones simples como las hechas en esta seccin,

utilizando diferentes elementos y tipos de contadores, de modo que se verifique el

funcionamiento explicado aqu a travs de la herramienta Online como se explic en

SIMULAR CON MODO OBSERVACIN (ONLINE), as el lector podr obtener sus

propias conclusiones e interiorizar el conocimiento adquirido.

Jos Antonio Ormeo Villa 104


4.5 TIPOS DE COMPARADORES

Los comparadores sirven para comparar entre 2 variables del mismo tipo, las cuales pueden

ser de cualquiera de los vistos en la seccin TIPOS DE DATOS, excepto los de tipo BOOL

(de 1 bit).

La lista de comparadores se encentra en la seccin de instrucciones

Figura 115. Comparadores en la lista de instrucciones

Jos Antonio Ormeo Villa 105


Existen diferentes comparadores, entre ellos:

IGUAL QUE: Con smbolo ==, el cual sirve para comparar si dos valores o variables son

iguales. DIFERENTE: Con smbolo <>, el cual sirve para comparar si un valor es diferente

de otro.

MAYOR O IGUAL QUE >=, MENOR O IGUAL QUE <=, MAYOR QUE > Y

MENOR QUE < tambin comparan 2 valores o variables.

IN_RANGE: Para evaluar si el valor una variable se encuentra entre dos valores MIN y MAX.

OUT_RANGE: Para evaluar si el valor una variable se encuentra por fuera de dos

valores MIN y MAX.

-|OK|-: Funciona como un contacto NA, y tambin se le debe ubicar la variable en la

parte superior. En este comparador la variable debe ser una de la cual se sospecha que est

en formato coma flotante (REAL). Si lo est, entonces el contacto se cerrar, si no

lo est entonces permanecer abierto.

-|NOT_OK|-: De forma similar al anterior, pero con la lgica invertida, es decir, como un

contacto NC, el cual permanece cerrado y se abre nicamente cuando la variable es un REAL.

Jos Antonio Ormeo Villa 106


4.6 TRABAJANDO CON COMPARADORES

Aada un comparador a un segmento de programacin, arrastrndolo desde la

lista de instrucciones hasta el lugar del segmento donde se desea ubicar. Por ejemplo

aada un IGUAL QUE ==.

Figura 116. Aadir comparador a segmento

Note que el comparador es en apariencia como un contacto NA, en realidad su

funcionamiento tambin es similar, se cierra nicamente cuando la condicin lgica se

cumpla, de resto permanece abierto cortando el flujo de energa hacia la derecha del

segmento.

Note adems que se pedirn 2 variables o datos, una arriba y otra abajo del comparador. El

orden es siempre: Variable o valor de la parte superior Condicin lgica Variable o valor

de la parte inferior.

Para los comparadores IGUAL QUE y el DIFERENTE el orden no importa, ya que

nicamente permitir el paso de energa cuando ambas variables o valores sean iguales o

diferentes.

Jos Antonio Ormeo Villa 107


En el caso de los otros como MAYOR QUE, MAYOR O IGUAL QUE, MENOR QUE, MENOR O

IGUAL QUE s importa el orden.

No se le olvide, el orden siempre es leer primero la de la parte superior, luego la condicin

lgica y luego la de la parte inferior. Si este orden se llega a alterar, entonces es como si la

lgica se invirtiera.

Por ejemplo, si se quiere comparar que VARIABLE1>452 entonces lo correcto es ubicar

VARIABLE1 en la parte superior del comparador, utilizar el comparador MAYOR QUE > y

en la parte inferior ubicar el nmero 452.

Si se ubican las variables invertidas, es decir, VARIABLE1 abajo y 452 encima, entonces se

debera utilizar un comparador MENOR QUE < para obtener el mismo resultado. En este

caso se estara haciendo la comparacin 452<VARIABLE1.

Aada entonces un contacto, por ejemplo uno MAYOR O IGUAL QUE. Para configurarlo,

seleccione el smbolo <???> de la parte superior del comparador. Escriba la direccin de

la variable, o las primeras letras de su nombre simblico. Aparecer la lista de variables que

inicien con esas letras, elija por ejemplo EntradaAnalgica1, la cual haba sido

previamente declarada en la tabla de variables (ver seccin LA TABLA DE SMBOLOS para

configurarlas).

Jos Antonio Ormeo Villa 108


Figura 117. Escribir el valor superior de un comparador.
Al seleccionarse aparecer as, donde se aadi la variable Entrada analgica1 con

direccin IW64.

Figura 118. Variable superior de un comparador configurado

Jos Antonio Ormeo Villa 109


Escriba en la parte inferior del comparador otra variable con la que se quiera comparar.

Si no es una variable sino un valor fijo, entonces escriba el nmero, por ejemplo 5250.

Figura 119. Valor inferior de un comparador configurado

A la derecha del comparador, puede ubicar ms condiciones lgicas como otros

comparadores, contactos, temporizadores, contadores, etc. Al final debe ubicar

elementos que acten sobre las variables como bobinas, bloques de transferencia,

operaciones con palabras, desplazamiento, etc.

Jos Antonio Ormeo Villa 110


Por ejemplo aada una bobina para encender una alarma.

Figura 120. Configurar bobina para energizar con comparador

Note que la variable Alarma est subrayada en color rojo, lo que quiere decir que este

smbolo no est definido en la tabla de variables o de smbolos. Para hacerlo puede utilizar

varios procedimientos y direccionarlo a una salida digital por ejemplo Q1.0 conectada a

un indicador luminoso.

El resultado ser el mismo, la diferencia es el procedimiento para declarar la variable.

Como programador se ir acostumbrando a alguno de ellos el cual se convertir

seguramente en su favorito.

Y listo, el comparador est correctamente configurado en el programa.

Jos Antonio Ormeo Villa 111


4.7 FUNCIONES MATEMTICAS

Las funciones matemticas sirven para realizar operaciones entre variables, de modo

que se puedan implementar ecuaciones en la programacin. Las operaciones matemticas

que se pueden realizar estn estrechamente relacionadas con los tipos de datos, por lo

tanto no olvide repasar la seccin TIPOS DE DATOS.

Una operacin matemtica se puede realizar nicamente entre datos del mismo tipo. Este

es un inconveniente muy frecuente y es muy comn que se deban realizar conversiones

para poder unificar los tipos de datos, esto se explicar en la seccin CONVERSORES.

Es importante tener en cuenta que una funcin matemtica no representa ninguna lgica

dentro del programa, es decir, aunque su forma es como un bloque, no interrumpen el

paso de energa hacia la derecha del segmento en ningn momento. Se ejecutan siempre

y cuando a ellos llegue energa y siempre permiten su paso hacia la derecha. Las funciones

matemticas se encuentran en el listado de instrucciones.

Figura 121. Funciones matemticas en la lista de instrucciones.

Jos Antonio Ormeo Villa 112


Existe una gran cantidad de funciones y no es la finalidad de este tutorial definirlas

a todas detalladamente, sino explicar los pasos para hacer su configuracin dentro del

programa, el cual es similar para todas ellas.

Sin embargo, vale la pena mencionar algunas de ellas:

Figura 122. Funciones matemticas disponibles.

ADD, SUB, MUL y DIV: Para realizar suma (addition), resta (subtraction),

multiplicacin (multiplication) y divisin (division) respectivamente.

Jos Antonio Ormeo Villa 113


Figura 123. Funcin matemtica multiplicar

Al lado derecho se pedirn 2 valores en las entradas IN1 e IN2. Se deben escribir las

variables o valores que se quieren multiplicar. A la salida OUT se debe indicar la variable

en la que se desea guardar el resultado de la multiplicacin.

Si se desean multiplicar ms de 2 variables, de debe hacer clic en el smbolo amarillo en la

parte inferior del bloque, as se aadir otra entrada para el bloque y ya se podrn

multiplicar 3 variables. Esta es una opcin exclusiva para el TIA Portal, ya que

anteriormente para hacer multiplicacin de 3 variables se requera utilizar dos bloques de

multiplicacin en cascada.

Jos Antonio Ormeo Villa 114


Figura 124. Funcin matemtica multiplicar con 3 variables de entrada

Note el smbolo ??? debajo del nombre MUL del bloque. Esto quiere decir que no

se ha determinado todava el tipo de datos a utilizar en este bloque, por lo tanto se

deben escribir las variables o valores en las entradas y as, el bloque determinar

automticamente qu tipo de datos se utilizarn. El resto de variables que se incluyan

debern ser del mismo tipo de dato.

Por ejemplo en la imagen se muestra la multiplicacin entre 3 variables:

Entrada analgica 1 con direccin IW64

Entrada analgica 2 con direccin IW66

Valor numrico 50

El resultado de esta operacin se est almacenando en MW10.

Jos Antonio Ormeo Villa 115


Figura 125. Ejemplo de funcin matemtica multiplicar

Si se quisiera escribir una ecuacin para representar este bloque, la ms adecuada sera:

MW10 = IW64 IW66 50

MIN y MAX: Para determinar el valor mnimo y mximo entre varias variables. Su forma

fsica es como un bloque, al que se le pueden tambin aadir entradas si se desean

utilizar ms de 2 variables.

Jos Antonio Ormeo Villa 116


Figura 126.Funcin matemtica mnimo

Se deben escribir las variables o valores de entrada, a la salida se debe guardar este

resultado en una variable, por ejemplo una MW o MD, segn sea el tipo de dato. En esta

salida se guardar el valor de la variable cuyo valor sea menor.

Si se quiere escribir una expresin para esta funcin sera:

OUT = min IN1, IN2

De forma similar sera para la funcin matemtica MAX, pero su expresin sera:

OUT = max IN1, IN2

LIM: Sirve para obligar a una variable a tomar valores dentro de cierto lmite superior e

inferior.

Jos Antonio Ormeo Villa 117


Figura 127. Funcin matemtica LIMIT

En la entrada IN se ubica la variable. En MIN se ubica el lmite inferior deseado para la

variable, en MX el superior.

La variable IN puede variar entre estos lmites o incluso por fuera, dependiendo de la lgica

del programa, pero la variable OUT se comportar de la siguiente manera:

- Siempre y cuando IN est entre MIN y MX, entonces OUT=IN

- Si IN est por debajo de MIN, entonces OUT=MIN

- Si IN est por encima de MX, entonces OUT=MX

Si se desea conocer una expresin para esta funcin, sera:

<
OUT = {{ }
>

Jos Antonio Ormeo Villa 118


Esta funcin matemtica es muy til en los sistemas de control para generar la saturacin

de una variable.

Como ya se dijo antes, la configuracin de todas las funciones matemticas es muy similar,

as que el lector podra estar confiado que estara en capacidad de utilizarlas. Se

recomienda leer las ayudas que Siemens proporciona sobre cada una de ellas, para esto

consultar la referencia.

Jos Antonio Ormeo Villa 119


4.8 DESPLAZAMIENTO O TRANSFERENCIA

Las operaciones de desplazamiento, tambin conocidas como de transferencia, no son

demasiado comunes y la necesidad de su uso depende directamente de la aplicacin que

se realice.

Figura 128. Instrucciones de desplazamiento o transferencia

La gran mayora de las aplicaciones industriales con PLC no requieren del uso de estos

bloques, exceptuando el bloque MOVE, el cual es muy prctico

El bloque MOVE sirve para cargar el valor de la variable de entrada (a la izquierda del bloque)

a la variable que se ubique en la salida (a la derecha del bloque).

En la entrada del bloque se puede ubicar un valor numrico, o una variable de la cual el

bloque leer su valor numrico. En la salida del bloque siempre se debe ubicar una

variable, ya que es en esta que se cargar el valor ledo en la entrada.

Jos Antonio Ormeo Villa 120


Es muy verstil, ya que soporta todos los tipos de datos, pero se debe tener mucho cuidado

con su uso porque el bloque siempre realiza el movimiento de datos, aunque la entrada y

la salida sean de diferente tipo. La forma adecuada de utilizarlo es siempre ubicar en

la entrada y la salida variables que tengan el mismo tipo. Si se requiere hacer entre

2 variables de diferente tipo entonces se deben unificar sus tipos, convirtindolos

como se explica en la seccin CONVERSORES.

Figura 129. Ejemplo de instruccin MOVE

En la figura se muestra cmo se carga un valor numrico cero a un la salida analgica

QW80. Una vez se ejecute esta instruccin, la salida analgica QW80 ser igual a cero, es

decir, QW80=0.

Jos Antonio Ormeo Villa 121


Al mover un valor a una variable se debe tener en cuenta su cantidad de bits y el valor

mximo que esta variable puede almacenar. Para el caso de los bytes, el rango va desde 0

hasta 255, y para el caso de los WORD es desde 0 hasta 65535.

Cuando se mueve un valor numrico en estas variables, lo que se hace finalmente es

modificar el estado de sus bits.

Cuando se mueve un 0 a un byte, por ejemplo MB10 en realidad se ponen todos sus bits en

cero.

0 0 0 0 0 0 0 0

Recuerde que el bit menos significativo es el de la derecha y estn enumerados de 0 al 7.

El de la derecha (menos significativa) tiene un peso de 2 = 1 y el de la izquierda (ms

significativa) tiene un peso de 2 = 128. Si todos estuvieran en 1 entonces:

1 1 1 1 1 1 1 1

27 26 25 24 23 22 21 20

Entonces el nmero sera: 128+64+32+16+8+4+2+1=255.

Por lo tanto si se hace una operacin de transferencia del valor 255 a MB10 entonces

todos sus 8 bits estarn en 1.

En otro ejemplo, si se mueve el valor 1 a MB10 entonces el nico bit que se encender es

M10.0, el resto desde M10.1 hasta M10.7 estarn en cero.

Si se mueve un valor 2 a MB10 entonces el nico bit que se encender es M10.1, el resto

M0.0 y desde M10.2 hasta M10.7 estarn en cero.

Jos Antonio Ormeo Villa 122


Los bloques de transferencia conservan en su salida el formato del valor o variable de

entrada. Esta es una gran diferencia de estas variables respecto a los CONVERSORES.

Jos Antonio Ormeo Villa 123


4.9 CONVERSORES

Los conversores toman un valor o una variable y lo modifican para almacenarlo en otra que

tiene un formato o valores diferentes. Todos ellos son en realidad muy tiles, por lo tanto

se ver cada uno de ellos.

El listado de conversores se encuentra en la lista de instrucciones a la derecha de la ventana

del TIA Portal.

Figura 130. Conversores en la lista de instrucciones

Estos conversores se presentan en programacin con forma de bloques, los cuales no

interrumpen el paso de energa hacia la derecha del segmento. Se ejecutan si en su entrada

EN llega energa, realizan la funcin que tienen programada internamente y siempre que

no haya errores en su ejecucin permiten el paso de energa hacia la derecha a travs de su

salida ENO.

Jos Antonio Ormeo Villa 124


Los conversores disponibles son: CONVERT, ROUND, CEIL, FLOOR, TRUNC, SCALE_X y

NORM_X, veamos cada uno de ellos:

CONVERT

Su funcin es convertir entre los diferentes tipos de datos. Es un bloque muy verstil

porque es ms que suficiente para hacer todas las conversiones entre todos los tipos de

datos. Esto debido a que, una vez se aade este bloque, se pregunta qu tipo de dato va

a la entrada y qu tipo de dato se desea a la salida.

En versiones anteriores de software de programacin de PLCs de Siemens haba diferentes

tipos de bloques para convertir entre tipos de datos, pero su entrada y su

salida estaban predeterminados, as que haba que elegir el bloque exacto para la conversin

particular, e incluso utilizar varios en cascada para lograr la conversin final deseada. Esto

generaba segmentos de programacin ms largos y utilizacin de variables de forma

innecesaria.

El bloque CONVERT se constituye entonces en una novedad del TIA Portal, siendo el

nico necesario porque se puede configurar para las diferentes conversiones que se

requieran.

Jos Antonio Ormeo Villa 125


Aada un bloque CONVERT a un segmento de programacin.

Figura 131. Bloque CONVERT en segmento de programacin.

Se pedir el tipo de datos de entrada. Seleccione por ejemplo INT.

Figura 132. Seleccin de tipo de datos de entrada en bloque CONVERT

Jos Antonio Ormeo Villa 126


Seleccione el tipo de datos en la salida del bloque, por ejemplo REAL.

Figura 133. Seleccin de tipo de datos de salida en bloque CONVERT

El bloque quedar entonces correctamente configurado para convertir un valor o

variable de entrada tipo INT y almacenarlo en una variable a la salida tipo REAL.

Asigne una variable o valor numrico de entrada. Esta variable tiene que estar en formato

INT, por ejemplo una entrada analgica IW66. Si esta variable no est declarada como INT

en la tabla de smbolos (ver seccin LA TABLA DE SMBOLOS) entonces aparecer un error.

A la salida escriba la variable en que se desea guardar el dato convertido, por ejemplo

MD12, la cual tambin deber declararse en la tabla de smbolos, pero en este caso como

tipo REAL.

Jos Antonio Ormeo Villa 127


Figura 134. Bloque CONVERT con entradas y salidas configuradas

As, cualquier valor que se almacene en IW66 tipo INT inmediatamente ser tambin

almacenado en MD12 pero en formato coma flotante. Recuerde que el formato INT es un

nmero entero (sin fracciones decimales) con tamao de 16 bits, mientras que un coma

flotante REAL es un binario de 32 bits con fracciones decimales.

En este caso en la conversin no hubo prdida de informacin, ya que se convirti un

nmero pequeo (16 bits) en uno ms grande (32 bits). Si se hubiera convertido un real en

un entero s se perdera informacin, ya que el real es un nmero con capacidad de

almacenar nmeros con fracciones decimales, stas se perderan en la conversin.

Por lo tanto se debe tener especial cuidado al realizar las conversiones. Si es opcional

entonces es preferible utilizar variables con mayor cantidad de bits, como el caso de los

REALES. Para realizar funciones matemticas (ver la seccin FUNCIONES MATEMTICAS)

se tiene ms precisin si se utilizan reales.

Jos Antonio Ormeo Villa 128


Sin embargo hay casos en la que la eleccin del tipo de datos no es opcional, por

ejemplo para enviar un valor a una salida analgica siempre deber hacerse en 16 bits

tipo INT o WORD. Por lo tanto, si se realizaron operaciones previas con funciones

matemticas utilizando reales, entonces es obligatorio al final convertirlo a un entero para

poder enviarlo a la salida analgica.

ROUND

Este bloque es muy sencillo y tiene una nica tarea. Convertir un nmero en coma flotante

(REAL) en otro nmero sin fracciones decimales.

Su uso ms frecuente se mencionaba en al final de la explicacin del bloque CONVERT,

cuando se quiere convertir un real en un entero para ser enviado a una salida analgica.

Figura 135. Bloque ROUND en segmento de programacin

A la entrada entonces se ubica un valor numrico con fracciones decimales. Si no tiene

como por ejemplo el nmero 452, entonces se debe escribir 452.0. O bien, se escribe una

Jos Antonio Ormeo Villa 129


variable (entrada, salida, marca, etc.) que est declarada en la tabla de smbolos como

REAL.

A la salida se debe ubicar una variable que tenga el mismo tipo de datos que se configur

a la salida del bloque. En este ejemplo, se debe escribir una variable tipo INT.

Al ejecutarse el bloque se guardar la informacin, pero note que habr prdida de

informacin, ya que las fracciones decimales se habrn perdido.

El redondeo siempre se realiza siguiendo las reglas de la notacin cientfica, si la fraccin

decimal es 5 o superior entonces se redondear por encima, si es 4 o inferior se redondea

por debajo.

Por ejemplo el nmero 678.5 lo redondear a 679, mientras que 678.4 lo redondear a 678.

CEIL Y FLOOR

Estos dos bloques son muy similares al bloque ROUND, a diferencia que no utilizan las

reglas de notacin cientfica para redondeo.

El bloque CEIL siempre redondear por encima, es decir, si un nmero es por ejemplo

678.1, lo redondear a 679.

El bloque FLOOR siempre redondear por debajo, es decir, si un nmero es por ejemplo

678.9, lo redondear a 678.

TRUNC

Tambin convierte a entero, es decir, elimina las fracciones decimales de un nmero

en coma flotante, tomando nicamente su parte entera.

Jos Antonio Ormeo Villa 130


NORM_X

Este bloque es una novedad en TIA Portal. Es muy til para escalizar variables si se

utiliza en compaa del bloque SCALE_X, aunque comnmente se vean juntos no siempre

lo ser as.

El bloque NORM_X toma una variable de entrada, se definen sus lmites MIN y MAX.

Cuando la variable tome el valor MIN entonces la salida del bloque ser cero, cuando

tome el valor MAX la salida ser 1, cuando tome un valor intermedio la salida ser un

valor proporcional entre cero y uno.

Por lo tanto, este bloque normaliza una variable. Dada la variable y unos rangos definidos

por el usuario, entrega una salida que la representa en valores entre cero y uno.

Dado el rango de la salida, sta siempre tiene que ser una salida en coma flotante REAL,

ya que si fuera un entero nicamente podra tomar el valor de cero, o uno y no valores

intermedios como 0.2, 0.3, 0.7, etc.

Jos Antonio Ormeo Villa 131


Aada un bloque NORM_X a un segmento de programacin.

Figura 136. Bloque NORM_X en segmento de programacin.


Configure el bloque como se muestra en la figura a continuacin.

Figura 137. Bloque NORM_X configurado

Jos Antonio Ormeo Villa 132


En este bloque se convertir un entero (INT) que se encuentra en su entrada, con

direccin IW64, el cual es una entrada analgica del PLC.

Si esta entrada IW64 vara entre 0 y 27648 entonces la variable MD24 (REAL) a la salida del

bloque variar entre 0 y 1, por lo tanto est normalizada.

SCALE_X

El bloque de escalizacin requiere una variable normalizada en la entrada VALUE para su

funcionamiento, por lo tanto casi siempre ir acompaado del bloque NORM_X, a no ser

que la normalizacin se realice de forma manual.

Figura 138. Bloque SCALE_X en segmento de programacin

Jos Antonio Ormeo Villa 133


Su utilidad es convertir una variable que, al estar normalizada tomar valores entre 0.0 y

1.0. Esta variable se escalizar o transformar en otra variable, que tomar valores entre

MIN y MAX, es decir, cuando la entrada VALUE tome el valor 0.0, entonces la salida

OUT=MIN, si la entrada VALUE toma el valor 1.0 entonces OUT=MAX, si toma un valor

intermedio entonces OUT ser un valor proporcional entre MIN y MAX.

La salida OUT puede configurarse en el bloque para que sea de diferentes tipos de datos,

de modo que el bloque la entregue en el formato deseado.

Figura 139. Bloque SCALE_X configurado

Por ejemplo en la figura se convierte una variable MD10 llamada Valor que est

normalizada y en formato REAL, en una variable MW20 que vara entre 0 y 1500 y est en

formato INT.

Jos Antonio Ormeo Villa 134


4.10 MARCAS DE SISTEMA

Las marcas de sistema son un tipo que tienen un comportamiento muy especfico. La

utilizacin de estas marcas es opcional.

Cuando se escoge un byte de marcas y se configura como marcas de sistema se dividir as:

Bit 7 6 5 4 3 2 1 0
Significado - - - - Siempre Siempre ON al ON en el
cambiar el
OFF ON estado de primer
diagnstico ciclo

Tabla 3. Significado de los bits en las marcas de sistema

El bit cero es til para inicializar variables en los valores deseados cuando el PLC pase de

modo STOP a modo RUN. Una vez esto ocurra, el bit cero se encender (ON), una vez el

PLC corra su siguiente ciclo, lo cual normalmente tarda unos cuantos milisegundos, el bit

se apagar (OFF) y nicamente volver a encender de la misma forma cuando el PLC

pase nuevamente de STOP a RUN.

En realidad el bit cero es el ms utilizado por su utilidad en la inicializacin de variables.

Otros bits como el 2 siempre estarn en ON y se puede utilizar para mantener un contacto

cerrado de modo que se llame un bloque permanentemente, o se quiera implementar en

alguna condicin lgica. De igual manera para el bit 3, pero con lgica inversa.

El bit 1 sirve para evaluar el diagnstico al cambiar el estado del mismo.

Jos Antonio Ormeo Villa 135


Para configurar las marcas de sistemas se debe ir a la configuracin de hardware, luego ir a

las propiedades y pestaa General. All hacer clic en Marcas de sistema y de ciclo.

Figura 140. Acceder a las marcas de sistema

En el lado derecho habilite la casilla Activar la utilizacin del byte de marcas de sistema.

Figura 141. Configurar las marcas de sistema

Jos Antonio Ormeo Villa 136


Elija una direccin del byte de marcas de sistema (MBx). Este byte hace parte de las

marcas, por lo tanto no debe cruzarse con las dems marcas utilizadas en el proyecto.

Elija un byte que est disponible en su proyecto. En este ejemplo se elegir el MB1, por lo

tanto se escribe un 1.

Si se eligiera el MB232 entonces se escribira un 232 en ese campo.

Note que inmediatamente se llena la pequea tabla en la parte inferior del campo que se

acab de escribir. All se asignan smbolos a los 4 bits como se explic anteriormente.

Se haba mencionado que el bit cero es el que ms se utiliza, por lo tanto ya lo puede

programar en un bloque, por ejemplo en el OB1. Abra el bloque y realice la siguiente

programacin.

Figura 142. Implementacin de un bit del byte de marcas de sistema

Jos Antonio Ormeo Villa 137


Al programarse el M1.0 que ya se haba configurado como parte de las marcas de

sistema, automticamente se utiliz el smbolo que el programa asign automticamente

para ese bit.

En esta programacin la funcin que se realiza es que, cuando el PLC pase de STOP a

RUN, se escribir un 1 en el byte MB0, es decir, se apagarn todos los bits excepto el

M0.0. Esto se explic en la seccin DESPLAZAMIENTO O TRANSFERENCIA.

4.11 MARCAS DE CICLO

Las marcas de ciclo son un byte que se configura de manera muy similar a las

MARCAS DE SISTEMA, pero su funcionamiento es diferente.

La finalidad de las marcas de ciclo es crear intermitencias de una forma fcil.

Normalmente se hace la analoga de las marcas de ciclo con un reloj. Cada bit de la

marca de ciclo tiene una frecuencia diferente que determina la velocidad con la que

enciende y apaga el bit.

Bit 7 6 5 4 3 2 1 0
Periodo (s) 2.0 1.6 1.0 0.8 0.5 0.4 0.2 0.1

Frecuencia (Hz) 0.5 0.625 1 1.25 2 2.5 5 10


(s)

(Hz) Tabla 4. Significado de los bits en las marcas de ciclo (tomada de [2])

Se sabe que F= 1/Periodo, por lo tanto las filas 2 y 3 de la tabla son inversas, slo una de

ellas sera suficiente para ilustrar completamente el comportamiento de las marcas de

ciclo. Sin embargo la presencia de ambas ayuda a ver el comportamiento en las unidades

deseadas ms fcilmente.

Jos Antonio Ormeo Villa 138


El bit 0 es el ms rpido de todos, es intermitente a una frecuencia de 10 veces por

segundo. El bit 7 es el ms lento, con frecuencia de medio segundo, es decir, una oscilacin

cada 2 segundos.

Con el bit 5 y un contador ascendente se podra fcilmente construir un reloj, en el

cual el contador representa el segundero y el bit representa el pndulo, encargado de dar

las rdenes de incremento en los segundos.

Para configurar las marcas de ciclo abra la configuracin de hardware como se

explic en CONFIGURAR EL HARDWARE DE UN PLC, luego ir a las propiedades y

pestaa General. All hacer clic en Marcas de sistema y de ciclo.

Figura 143. Acceder a las marcas de sistema y de ciclo

Jos Antonio Ormeo Villa 139


Ver al lado derecho las marcas de sistema que se explicaron en la seccin anterior. Utilice

la barra lateral para bajar hasta ubicar las marcas de ciclo.

Figura 144. Acceder a las marcas de ciclo.

Habilite la casilla Activar la utilizacin del byte de marcas de ciclo y elija el MB2 en el

campo Direccin del byte de marcas de ciclo (MBx).

Recuerde que este byte MB2 debe estar disponible, es decir, que no se haya utilizado con

ninguna otra variable del proyecto. Si ya est utilizada entonces elija una MB diferente

para las marcas de ciclo.

Jos Antonio Ormeo Villa 140


Figura 145. Acceder a las marcas de ciclo

Note que en los campos inferiores aparecen las variables con smbolos de forma

automtica. Por ejemplo note la M2.5, que aparece con smbolo Clock_1Hz, lo cual

es consistente con lo explicado en la Tabla 4.

Si se programa este bit en algn bloque como el OB1, por ejemplo en un contacto NA o

NC, este contacto se cerrar durante 0.5s y se abrir durante otros 0.5s, completando la

frecuencia de 1s que se explic anteriormente.

Utilice en adelante los bits cuantas veces lo desee a travs de contactos, para

programar intermitencias sin necesidad de utilizar temporizadores, de una forma gil y

rpida.

Jos Antonio Ormeo Villa 141


No sobra anotar que estos bits no se pueden encender o apagar por programacin, ya que

tienen un comportamiento determinado desde la configuracin del hardware, por lo

tanto sern nicamente de lectura

Jos Antonio Ormeo Villa 142


REFERENCIAS

Siemens AG, (2009). Manual de sistema Controlador Lgico Programable S7-1200.

A5E02486683-02. Noviembre de 2009.

Siemens AG, (2012). Sitio web de soporte de Siemens.

http://support.automation.siemens.com. Fecha de ltima consulta: 12 de octubre del 2012

Vsquez, R. (2010). Controladores Lgicos Programables. ISBN 978-958-8351-95-7. Fondo

editorial ITM.

Jos Antonio Ormeo Villa 143

Você também pode gostar