Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tutorial TIA Parte I PDF
Tutorial TIA Parte I PDF
AUTOR
RUBÉN DARÍO VÁSQUEZ SALAZAR
2012
Las versiones Basic permiten únicamente programar y configurar los PLCs S7-1200 y sus
respectivos paneles de operador, pero la versión Professional que ya está disponible para
empresas, no para instituciones educativas por el momento, permite hacerlo también para los
equipos de la gama S7-300 y S7-400, además posee simulador, lo que se convierte en un gran
factor diferenciador, ya que permite evaluar la programación 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 programación y configuración de Controladores Lógicos Programables
(PLC por sus siglas en inglés). En este concepto se pretenden integrar diferentes herramientas de
automatización en un solo paquete, por lo tanto el TIA Portal no solamente es útil para PLCs, sino
para paneles de operador, redes de comunicación industrial y otros dispositivos.
En este tutorial únicamente se tratará la parte relacionada con PLCs, pero en futuras versiones,
ediciones o tomos se incluirán explicaciones detalladas de otras de las utilidades mencionadas.
Aunque ya hay mucha información disponible de ayudas de este programa, este tutorial pretende
explicar detalladamente y de forma gráfica algunas de las principales funcionalidades, de modo
que un usuario inexperto o intermedio pueda conocerlas y familiarizarse rápidamente con ellas.
Por lo tanto este tutorial no se constituye como un reemplazo a la documentación brindada por el
fabricante ni a los sitios web y foros que ayudan con la solución de dudas relacionadas con estos
equipos. Más bien se considera un complemento, de modo que un programador cuente con una
herramienta más en la solución de los problemas que usualmente se presentan mientras se
programa o configura un PLC.
Este tutorial pretende fortalecer las 2 últimas características de un buen programador. La primera
se debe fortalecer a través de textos que expliquen esta lógica con diferentes métodos, por
ejemplo con redes de Petri como se hace en [1], además con mucha práctica, para lo cual se debe
Rubén Darío Vásquez Salazar
Docente de tiempo completo
Área de Instrumentación y Control
contar con el programa y un PLC para realizar muchas simulaciones de diferentes ejercicios de
aplicación.
La lectura de este tutorial no se tiene que hacer de forma continua, aunque se puede hacer. La
estructura permite que se vaya desde el principio hasta el final con secciones organizadas en nivel
ascendente, es decir, las de más adelante serán más avanzadas, por lo tanto se requiere
conocimiento de las previas.
Sin embargo, si el lector ya tiene un buen nivel en el manejo de la herramienta y considera que
debe saltar secciones, lo podrá hacer y únicamente consultar aquellas que requiera para su
aprendizaje.
El capítulo 2 explica algunos procedimientos básicos que cualquier programador que interactúe
con el TIA Portal debe saber. El capítulo 3 se concentra un poco más 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 capítulo también se incluyen
las nociones y trucos más básicos de programación. El último capítulo, el 4, se concentra en
funciones más avanzadas que los programadores podrán utilizar; comúnmente son herramientas
que simplifican algunos procedimientos frecuentes para ahorrar tiempo y programación.
En el TIA Portal se dedica este capítulo a procedimientos básicos que cualquier programador de
PLC en este ambiente debe conocer.
Al principio de cada sección se recomendará revisar algunas secciones previas, las cuales son
indispensables para los procedimientos que se explicarán allí. A cualquier programador que
apenas esté incursionando en el ambiente TIA Portal se le recomienda tomar con especial cuidado
y paciencia este capítulo.
Al finalizar este capítulo el lector conocerá los procedimientos más elementales que se trabajan en
el TIA Portal, lo cual le permitirá avanzar hacia el conocimiento de funciones más específicas del
programa e iniciar la programación del PLC.
La primera de ellas es mediante el acceso directo en el escritorio. Ubique el acceso directo llamado
Totally Integrated Automation Portal.
Una vez cuente con el programa TIA Portal abierto deberá hacer clic en el enlace “Crear proyecto”.
Configurar un dispositivo: Se utiliza para añadir un PLC o una pantalla (HMI) al proyecto
recientemente creado. Se debe iniciar por allí.
Crear un programa PLC: Se utiliza esta opción cuando ya se ha añadido por lo menos un PLC.
Configurar una imagen HMI: Se utiliza cuando ya se ha añadido una pantalla (HMI) al proyecto.
Haga clic izquierdo sobre la leyenda 6ES7 2XX-XXXX-XXXX y luego en el botón “Agregar” en la parte
inferior derecha, o simplemente doble clic sobre la leyenda. Se añadirá el PLC sin especificar al
proyecto.
En este recuadro amarillo ampliado se podrá ver información rápida de la instrucción. Si se desea
se puede hacer clic en el hipervínculo azul subrayado que aparece en la parte inferior del
recuadro.
Al lado izquierdo de la ventana de podrá navegar por todas las instrucciones si así se desea.
Note que la ventana de “vista del proyecto” es visualmente muy congestionada o cargada, esto la
hace compleja y saturada. Sin embargo se puede modificar para visualizar únicamente áreas de
interés. En la vista del proyecto haga clic en diferentes partes marcadas en la figura para
ocultarlas.
Si se desean abrir nuevamente los menús ocultos simplemente se hace clic en el mismo ícono que
los ocultó.
El entorno TIA Portal está diseñado para que el área o espacio de trabajo sea dinámico, de modo
que se optimice el espacio. Si un programador mantiene todas las opciones activas se verá
enfrentado a un espacio muy limitado para cada función, mientras que si oculta las que no
necesita podrá disfrutar un amplio espacio de trabajo.
Punto a punto:
En esta comunicación punto a punto sólo pueden interactuar estos 2 dispositivos, y no puede
añadirse ningún otro equipo a la red. Se recomienda su uso cuando solamente se programará el
PLC y no hay otros dispositivos que requieran configuración.
En esta conexión los datos no se envían directamente entre 2 equipos, sino que viajan a través del
suiche. Es este último 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 suiche
tiene esa cantidad de puertos. Otros eqequipos
uipos podrían ser computadores, paneles de operador,
otros PLCs, etc.
En ambas conexiones se requiere que todos los equipos pertenezcan a la misma subred. No es la
finalidad de este tutorial explicar los conceptos de direccionamiento IP, pero por ahora se debe
Se requiere entonces que la dirección IP del computador pertenezca a la misma red, es decir, esté
dentro de estos mismos rangos. Se puede asignar cualquiera, siempre y cuando ningún otro
equipo en la subred tenga la misma dirección IP.
Conecte el PLC y el computado de cualquiera de las 2 formas explicadas. Encienda el PLC. Luego
configure la dirección IP del computador, para esto:
Note que en la conexión de área local se ve una tarjeta de red configurada, para este caso se llama
“Marvell Yukon 88E8042…”. Esto variará dependiendo de la tarjeta de red adquirida para el
computador que se utilice.
Además note que muestra conectividad limitada, esto se debe a que su dirección IP no es
compatible con las de los otros equipos presentes en la red.
En este punto ya se podría establecer comunicación entre el PLC y el computador, así que la
configuración de la red está terminada.
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 configuración de hardware del PLC a configurar desde el árbol del proyecto.
Al verse el PLC en blanco significa que no está configurado, por lo tanto debe añadirse un PLC de la
misma referencia del que se tiene físicamente. Además, como los PLCs son modulares, deben
añadirse los módulos extra que se hayan conectado como: salidas y salidas digitales o analógicas,
módulos de comunicaciones, entre otros.
Luego se pedirá que seleccione la interfaz para buscar el PLC. Automáticamente aparecerá
seleccionada la tarjeta si el computador cuenta únicamente con una tarjeta de red, en este caso
aparece ya seleccionada la tarjeta “Marvell Yukon”.
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 cuál de todos ellos es el que se seleccionó.
Después de seleccionar el PLC haga clic en “Cargar”, esto iniciará una rutina de reconocimiento del
PLC y tarjetas de señales, módulos de entradas y salidas, módulos de comunicaciones. En general
reconocerá todo lo que esté conectado al PLC.
2 3
1
4
5
1. Los LEDS indicadores del estado del PLC. Modo run/stop, modo error y petición de
mantenimiento.
2. Una tarjeta de señales (signal board) instalada adicionalmente en el PLC. Para esta caso
una SM1232 que contiene una salida analógica. Se muestra que su dirección 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 comunicación Industrial Ethernet. Si se hace doble clic se abrirán las opciones
de configuración y direccionamiento.
Así entonces, quedó correctamente configurado el hardware del PLC en el proyecto creado.
Haga doble clic en el puerto Ethernet del PLC, también conocido como puerto Profinet.
Esta dirección se configuró automáticamente a la que el PLC tiene si se configuró el hardware con
el botón “determinar”. Si se añadió el PLC manualmente desde el catálogo, entonces debe
modificar la dirección 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 vacío o
“desconectada”. Esto es porque no se está comunicando el PLC con ningún otro dispositivo, sea
otro PLC o un panel de operador. Estas comunicaciones no se trabajarán en esta parte del tutorial.
No se recomienda hacer una lectura rápida de este capítulo, en general de ningún otro. Aquel que
quiera familiarizarse más con el entorno TIA Portal debería abrir este documento en compañía de
un computador que tenga el programa instalado, preferiblemente con un PLC disponible para
realizar pruebas y ensayos.
Al finalizar este capítulo el lector estará mucho más familiarizado con el entorno de trabajo,
conociendo la ubicación de las herramientas más comunes, y habrá hecho una introducción a las
nociones básicas de programación en lenguaje ladder.
Aunque no están disponibles como tipos de datos, las instrucciones de conversión soportan el
siguiente formato numérico BCD.
Bool: No tiene símbolo, pero se utiliza siempre acompañado de un byte, indicando la posición que
el bit ocupa en ese byte. Por ejemplo la dirección 3.2 sería byte 3 bit 2. Más adelante en esta
misma sección se tratará este tema con ejemplos.
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 podría ser una marca o memoria (M).
• Digitales: Las cuales son del tipo booleano. Su dirección sería del tipo IB.b, así:
o I: Es una entrada
o B: Byte de entradas al cual pertenece (contiene 8 entradas digitales)
o b: Posición 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.
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 organizarán en un byte cuyo
valor se convertirá a decimal, donde el bit 0 es el menos y el bit 7 es el más significativo.
• Analógicas: Las cuales pasan a través de un conversor análogo-digital en la entrada del PLC
que lee señal 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 XX representa el número
configurado. Ejemplos de entradas analógicas serían: IW0, IW40, IW82, etc.
Las marcas o memorias (M) son variables internas del PLC que no están directamente relacionadas
con las entradas o salidas. Son variables que se encuentran disponibles y el uso que el
programador haga sobre ellas es opcional. Son muy útiles para memorizar resultados de funciones
matemáticas, ocurrencia de eventos, etc.
Una vez se visualicen note que los datos del dispositivo siguen ocultos también.
Como se está visualizando en el PLC, todos estos datos que están allí pertenecen a él.
En el segundo renglón 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 salidas están también en los bytes 0 al 1, porque aparece
un “0…1” en la columna “Dirección 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).
Por lo tanto se sabe que su dirección será del tipo IWX, donde X será el primer byte que ocupan.
Observando la columna “Dirección I” se muestra que las entradas analógicas ocupan los bytes 64,
65, 66 y 67.
Así, la primera entrada analógica será IW64, la cual ocupará los bytes 64 y 65, y la segunda entrada
analógica será IW66, la cual ocupará los bytes 66 y 67.
Note que la columna “Dirección Q” no tiene direcciones, puesto que se están observando las
entradas analógicas, es lógico que la columna de salidas esté vacía.
Además no tiene referencia ni firmware ya que están integradas en el PLC, no son un módulo
externo que se añadió.
Note que sólo se cuenta con una salida analógica, la cual ocupa los bytes 80 y 81, por lo tanto su
dirección será QW80.
En la columna “Tipo” aparece “AQ1 Signal Board”, lo cual significa que es una tarjeta de señales de
una sola salida analógica, la cual se añadió al PLC porque éste no tenía salidas analógicas, es un
dispositivo extra. Por lo tanto también aparecerá información 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 interactúe con los sensores y actuadores.
Para configurarlas vaya a la vista general de dispositivos como se vio en la sección anterior
identifique la entrada o salida analógica que desea configurar.
Allí identifique la salida o entrada a configurar. Por ejemplo la entrada analógica integrada AI2.
Recuerde que se le llama integrada porque está incluida en el PLC, las 2 salidas analógicas están
ubicadas en una tarjeta que se adquiere independientemente.
Note que en el campo “Tipo de medición” aparecerá configurada por defecto “Tensión” y el
campo “Rango de tensión” está de 0 a 10V, es decir, en esta entrada analógica se puede conectar
un sensor o mando que maneje únicamente este rango de voltaje.
No se puede configurar esta entrada analógica, por defecto está configurada para señal de 0 a 10V
y no se puede cambiar.
Note que se está configurando la entrada analógica del canal0, es decir, la primera de ellas con
dirección IW64. Si se navega en la ventana hacia abajo se encontrará la del canal1 con dirección
IW66, con la cual ocurrirá lo mismo en la configuración.
Note que para esta salida analógica el campo “Tipo de salida analógica” es configurable y se puede
cambiar.
En la Figura 36 se muestra por defecto en tensión (voltaje) con rango de tensión de -10 a +10V. Si
se cambia a intensidad (corriente) el rango será de 0 a 20mA (Figura 37)
Si se desea cambiar la dirección de una entrada o una salida analógica se debe ir a “Direcciones
E/S” en la pestaña general. Allí se mostrará la dirección actual en el campo “Dirección inicial”.
Se puede escribir la dirección deseada y, todas las otras salidas en este mismo dispositivo (por
ejemplo la tarjeta de señales), tendrán direcciones consecutivas en orden ascendente. Como en
este caso es la única salida, entonces no habrá más direcciones.
OB1: Bloque que se ejecuta cíclicamente mientras el PLC esté en modo RUN. Por estos motivos,
toda programación que se haga en este bloque estará ejecutándose permanentemente
(cíclicamente). No es necesario crearlo, es el único bloque que se añade automáticamente cuando
se configura el hardware del PLC.
Un programador podría utilizar únicamente este bloque para programar un PLC, pero para realizar
una programación más estructurada y organizada jerárquicamente se utilizan subrutinas por
medio de FCs y FBs que se verán más adelante.
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
inicialización de variables.
Son bloques lógicos que tienen programación interna en algún lenguaje de programación, como
por ejemplo ladder. Su función 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 función (FB) requieren un bloque de datos de instancia para almacenar sus datos,
por esto se conocen como bloques con memoria.
Funciones (FC)
Son bloques que no poseen instrucciones de programación. Únicamente poseen datos, los cuales
pueden ser utilizados únicamente por un bloque o por todos los bloques del PLC según sea su tipo.
El usuario puede crear un DB global manualmente, y declarar allí variables. Estas variables podrán
ser leídas 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 ejecución del FB y sólo pueden ser leídos por él.
Su lógica es muy sencilla, aunque permite realizar algoritmos de control muy complejos que
controlan grandes procesos industriales. Para entender el concepto se requiere imaginarse una
línea vertical con energía 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 más básicos son los que realizan operaciones lógicas con bits. Se recomienda a
cualquiera que se quiera adentrar en esta programación, que inicie con estas operaciones y luego
de dominarlas inicie con otras operaciones más complejas que también se abordarán en este
capítulo.
Contacto NA: Es un elemento de lectura que interrumpe el paso de energía hacia la derecha del
diagrama. Su estado normal es abierto, es decir, interrumpiendo el paso de energía, y
permanecerá así mientras su señal asociada permanezca inactiva. Una vez su señal asociada se
active, entonces cambiará su estado a cerrado y permitirá el paso. Su símbolo es:
La leyenda "<??.?>” en la parte superior del elemento significa que fala asignarle una señal o
variable asociada. Esto aplica también para los elementos que se explicarán más adelante.
Bobina simple o asignación: Es un elemento de escritura el cual, al recibir energía, activa su señal
asociada, de lo contrario la mantendrá apagada. Su uso debe ser cuidadoso, ya que esta bobina
está escribiendo en la variable permanentemente, encendiéndola o apagándola, por lo tanto no es
correcto programarla varias veces en el mismo bloque con la misma variable asociada. Su símbolo
es:
Bobina SET o activar salida: Es una bobina de encendido con memoria, es decir, si llega energía a
ella entonces enciende el bit. Si la energía desaparece, el bit seguirá encendido. Por lo tanto la
única función de esta bobina es encender, deben programarse otros elementos que realicen el
apagado. Su símbolo es:
Bobina RESET o desactivar salida: Es una bobina de apagado con memoria, es decir, si llega
energía a ella entonces apaga el bit. Si la energía desaparece, el bit seguirá apagado. Normalmente
se programa en conjunto con la bobina SET, en algunas partes del código la SET enciende y en
otras la RESET apaga, dependiendo de la secuencia programada. Su símbolo es:
Si S está en 0 y R1 está en 0 (ambas apagadas), no ocurre nada, y el bit conserva su estado sin
modificaciones.
Su símbolo es:
Otros elementos de programación 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.
Ya que el bloque cíclico es el OB1 y es allí donde se realiza la programación más importante,
entonces ubíquelo en la ruta: Árbol del proyecto PLC Bloques de programa OB1.
Note que el espacio de programación es pequeño y sólo se puede visualizar un segmento para
programación. Por lo tanto oculte algunas partes de la ventana como se muestra en
“CONFIGURACIÓN DE LA VISTA DEL PROYECTO” para poder ver el área más grande.
Los contactos y las bobinas son los elementos más básicos de programación en lenguaje ladder.
Para conocer estos y otros elementos de programación en ladder diríjase a la sección
“OPERACIONES CON BITS EN PROGRAMACIÓN EN LADDER”.
Al ser elementos de uso tan frecuente, se encuentran unos accesos directos a ellos en la barra de
favoritos. Ver más información de esta barra en “LA BARRA DE FAVORITOS”.
Para añadirlos basta únicamente con arrastrarlos al segmento donde se quieren ubicar. En la
programación ladder los contactos se ubican a la izquierda (para evaluar) y las bobinas a la
derecha (para modificar).
Por ejemplo añadamos un contacto normalmente cerrado y al final se añade una bobina simple:
Cambiar el contacto NC por uno NA. Para ello haga doble clic sobre el contacto, aparecerá una
flecha que permite abrir una lista desplegable.
Se marcó en color oscuro el contacto actual, y en claro el que se tiene seleccionado con el mouse.
Haga clic sobre el NA.
En otras situaciones se requiere mover algún elemento a otra posición. Por ejemplo añada 3
contactos como se muestra en la figura:
Note que en la figura anterior se marcó en color verde que el contacto estaba en una ubicación
donde se podía soltar.
Elija el elemento que desea ubicar, por ejemplo un contacto normalmente cerrado. Al hacer clic el
cuadro vacío se convertirá en el elemento seleccionado.
Se puede utilizar este cuadro vacío para cualquier elemento de programación ladder.
Rubén Darío Vásquez Salazar
Docente de tiempo completo
Área de Instrumentación y Control
3.11 DEFINICIÓN SIMBÓLICA AUTOMÁTICA DE VARIABLES
Cuando se utiliza cualquier elemento de programación en ladder se requiere que se asignen
direcciones o variables.
A continuación se muestra de forma simple cómo se pueden asignar las direcciones de entradas y
salidas de diferentes formas.
Añada los elementos que desea utilizar, por ejemplo un contacto y una bobina como se explicó en
la sección “PROGRAMAR CON CONTACTOS Y BOBINAS”.
Se quiere por ejemplo encender una salida digital llamada “Piloto” cuando se active una entrada
digital llamada “Start”.
Note que aparecen subrayados en rojo, el TIA Portal identifica como error, debido a que son
símbolos que no tienen dirección definida aún.
Luego vaya a VentanaDividir el área del editor verticalmente. También podría realizarse
horizontalmente, lo importante es que se vean simultáneamente la configuración de dispositivos y
el bloque OB1.
Figura 68. Configuración 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 estén lo
suficientemente grandes para identificar sus direcciones, como se explicó en “CONFIGURAR EL
HARDWARE DE UN PLC”.
Arrastre el símbolo “Start” del contacto del bloque hasta la dirección deseada, por ejemplo I0.0.
Arrastre también el símbolo “Piloto” de la bobina hasta la salida Q0.0.
Pero tiene la desventaja que hay que realizar varios pasos para declarar únicamente una variable,
adicionalmente interrumpe la programación, tarea que normalmente requiere mucha
concentración. Para ver cómo se puede realizar esto manualmente pasar a la sección “DEFINICIÓN
SIMBÓLICA MANUAL DE VARIABLES DESDE EL BLOQUE” y para revisar el listado de variables
declaradas simbólicamente se debe consultar la tabla de símbolos como se explica en “LA TABLA
DE SÍMBOLOS”
Añada por ejemplo otra bobina en paralelo, como se muestra en la figura, con una variable a la
que no se le especificó su dirección, sino el símbolo “Piloto 2”.
Para acceder a esta tabla siga la ruta: Árbol del proyecto PLC Variables PLC.
Es posible añadir símbolos que aún no se han utilizado, simplemente se deben declarar en los
renglones disponibles en la tabla. Si están declarados, una vez se utilicen en el programa se
mostrarán con dirección y símbolo.
Esta barra es dinámica y puede modificarse. Si desea borrar algún elemento de esta barra puede
simplemente hacer clic derecho sobre él y luego clic en “Eliminar instrucción”
La utilización de estas herramientas se hace entonces casi obligatoria para todo buen
programador.
Al lado del número del segmento añada un título, por ejemplo “Encendido de piloto”
Debajo del título del segmento añada un comentario, tratando de dar una amplia, pero no
demasiado extensa, explicación de lo que se realiza en ese segmento particular.
Luego, al verse el bloque programado con segmentos con su respectivo título y comentario se
varía así:
Note que las variables también fueron declaradas en la tabla de símbolos, lo que lo convierte en
una programación muy bien documentada y de fácil entendimiento para el diseñador y otros
programadores que lo intervengan.
Una vez haya finalizado la programación o se quiera evaluar su coherencia, se puede hacer clic en
el botón “Compilar”:
En este caso se muestra una compilación finalizada con cero errores, es decir, que no se dejó
ningún segmento con ramas abiertas, o se utilizaron direcciones que no estaban configuradas en
el hardware, etc.
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 podría enviar el proyecto a otro PLC.
Por lo tanto se sugiere que cualquier programador se acostumbre a realizar este procedimiento
así.
Esta advertencia es muy importante, debido a que el PLC puede estar conectado a un proceso
productivo y allí se generaría un paro momentáneo, en muchos casos esto puede ser indeseable.
Las operaciones de carga con el TIA Portal son más eficientes debido a que, aunque se quiera
cargar todo, el programa evaluará el PLC online y se determinará cuáles partes son iguales y cuáles
difieren entre el PLC real (online) y el proyecto (offline). Se cargará únicamente los bloques y
configuraciones que sean diferentes para optimizar.
Luego se pide marcar la casilla “Arrancar todos” con un mensaje “Arrancar módulos 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.
Este modo no es necesario activarlo para que el PLC pueda correr. Sólo se activa este modo si se
quiere observar lo que está ocurriendo internamente, a modo de simulación. También se puede
simular el programa utilizando tablas de observación, como se muestra en “SIMULAR CON TABLA
DE OBSERVACIÓN”.
Entonces también existe un modo Offline. Este modo es cuando se está editando el proyecto y no
se está estableciendo comunicación con el PLC. En este modo se construye la programación 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 botón
“Activar/Desactivar observación”.
• El título de la ventana del bloque se verá en color naranjado, indicando que se está en
modo Online
• Los segmentos aparecerán al lado izquierdo marcados con verde. Este verde representa
un 1 lógico que trata de llegar a las bobinas de la programación. Los contactos o
condiciones previas le permiten o interrumpen el paso. Así entonces se puede evaluar la
programación realizada.
• Se abrirá la herramienta test, la cual se explica en “CONMUTAR ENTRE MODO STOP Y
MODO RUN”.
Note que el contacto NA de la entrada digital con símbolo “Start” está abierto, esto significa que
en la entrada se está leyendo un cero lógico.
Se pueden añadir bien sea en modo online o modo offline sin problemas. En este procedimiento a
continuación ya estaba previamente activado el modo de observación (online), actívelo como se
explica en “SIMULAR CON MODO OBSERVACIÓN (ONLINE)”.
Para añadir una tabla de observación vaya al árbol del proyecto PLC Tablas de observación y
hacer doble clic en Agregar nueva tabla de observación.
Asegúrese de tener entonces activado el modo de observación (online) y añada las variables que
quiere visualizar o forzar.
Este modo sirve para conocer el estado operativo del PLC, el cual también se puede conmutar si se
desea entre RUN y STOP.
Para hacer esto haga clic en el PLC en el árbol del proyecto, luego vaya a la barra y busque la
opción Online Deshacer conexión online.
Una de estas herramientas son las referencias cruzadas, las cuales permiten conocer cuántas veces
y en qué partes del proyecto se ha utilizado una variable.
En el bloque OB1 se programó en ladder que, cuando se active M0.0, entonces se transferirá un 1
a MB0.
Abra el bloque OB1 y haga clic derecho sobre la variable MB0 con símbolo “Tag_4”, luego clic
izquierdo en “Referencias cruzadas”.
Allí se ve que ha sido utilizada únicamente una vez, en el bloque OB1 con símbolo “Main”, en el
segmento 1, donde se le hace escritura, es decir, se modifica su valor. Si se hace clic en el
hipervínculo en la columna “Ubicación”, el programa nos llevará al segmento que se eligió.
Como se ve, las referencias cruzadas permiten conocer los bloques donde se utilizó una variable y
además brinda más información:
En este capítulo se verán algunos otros elementos, de una complejidad más elevada por lo que
requieren de una explicación más detallada. Estos elementos ya no son binarios e incluyen:
temporizadores, contadores, variables analógicas, operaciones aritméticas, comparadores, etc.
Al finalizar este capítulo 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 llevarán a realizar configuraciones y
programaciones de los PLCs S7-1200.
En la parte superior del temporizador se pedirá un nombre. Al hacer clic y tratar de asignar un
nombre aparecerá:
Asigne un nombre al temporizador, o más bien, al bloque de datos asociado a este temporizador.
Escriba por ejemplo “3s” en la entrada del temporizador y automáticamente se cambiará a “T#3s”,
el cual es el formato adecuado para asignarle este valor. El prefijo “T#” se añade
automáticamente, así que no es necesario acostumbrarse a escribirlo, sólo basta escribir “3s”.
Es muy común que se ubiquen elementos a la salida del temporizador. En la Figura 111 se ubicó
una bobina simple con la salida “Piloto” con dirección Q0.0. Esta salida se encenderá únicamente 5
segundos después que se haya presionado la entrada “Start” con dirección I0.0, ya que
“Temporizador 1” es del tipo retardo a la conexión.
Siguen siendo los mismos 4 temporizadores en modo bloque pero aparecen 6 bobinas.
Las 4 primeras bobinas son TP, TON, TOF y TONR, las cuales tienen el mismo nombre que los 4
temporizadores. Estas son para arrancarlos de la misma forma que se hace cuando se llama su
bloque, con la diferencia que las bobinas únicamente permiten activar temporizadores que tengan
el bloque de datos de instancia creado.
Por lo tanto, se recomienda que inicialmente se active el temporizador desde el bloque y, si más
adelante en la programación se desea arrancarlo nuevamente, entonces se puede hacer desde la
bobina.
Otras dos bobinas aparecen allí. RT se explicó anteriormente que sirve para poner a cero un
temporizador. PT sirve para cambiar el valor de tiempo de cualquier temporizador.
Además se explicó que es muy común que se ubiquen elementos a la salida Q del temporizador,
los cuales tomarán energía de esta salida para realizar sus tareas.
Es muy común que se requiera evaluar el estado de un temporizador en diferentes partes del
programa, y no es práctico conectar demasiados elementos en su salida.
Por lo tanto en TIA Portal se permite añadir contactos de los temporizadores de modo que éstos
se cierren o se abran dependiendo del estado de su salida Q.
El elemento más común a evaluar es su salida, ya que ésta nos informa si el temporizador ya
terminó la temporización o aún está en proceso. Por lo tanto se debe seleccionar “Q”.
Se puede cambiar la posición de la bobina que antes estaba a la salida del temporizador y ubicarla
al lado derecho del contacto recientemente creado.
Se sugiere al lector realizar programaciones simples como las hechas en esta sección, utilizando
diferentes elementos y tipos de temporizadores, de modo que se verifique el funcionamiento
explicado aquí a través de la herramienta Online como se explicó en “”SIMULAR CON MODO
OBSERVACIÓN (ONLINE)”, así el lector podrá obtener sus propias conclusiones e interiorizar el
conocimiento adquirido.
En TIA Portal V10 se muestra en el listado el CTRL_HSC, el cual es un contador rápido (High Speed
Counter – HSC), especial para lectura de encoders con entradas rápidas. En el TIA Portal V11 esta
función desaparece de este listado, tal vez para evitar confusiones, porque el conteo de alta
frecuencia es una función que se utiliza en aplicaciones muy específicas y su aparición en el listado
de contadores puede generar confusiones.
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 más complejo que los otros 2,
veamos su funcionamiento:
Si no sabe qué es un bloque de datos de instancia diríjase a la sección “TIPOS DE BLOQUES” para
conocer los tipos que hay, y luego a “TRABAJANDO CON TEMPORIZADORES” para ver la
explicación de cómo un elemento como un temporizador o un contador requieren de un bloque
de datos exclusivo para almacenar sus datos.
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.
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 señal o contacto en la entrada CD, entonces el contador
decrementará en uno su CV.
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.
Se sugiere al lector realizar programaciones simples como las hechas en esta sección, utilizando
diferentes elementos y tipos de contadores, de modo que se verifique el funcionamiento
explicado aquí a través de la herramienta Online como se explicó en “”SIMULAR CON MODO
OBSERVACIÓN (ONLINE)”, así el lector podrá obtener sus propias conclusiones e interiorizar el
conocimiento adquirido.
IGUAL QUE: Con símbolo “==”, el cual sirve para comparar si dos valores o variables son iguales.
DIFERENTE: Con símbolo “<>”, 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 “<”
también 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.
Rubén Darío Vásquez Salazar
Docente de tiempo completo
Área de Instrumentación y Control
-|OK|-: Funciona como un contacto NA, y también 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 lógica invertida, es decir, como un contacto
NC, el cual permanece cerrado y se abre únicamente cuando la variable es un REAL.
Note además que se pedirán 2 variables o datos, una arriba y otra abajo del comparador. El orden
es siempre: Variable o valor de la parte superior – Condición lógica – 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 energía cuando ambas variables o valores sean iguales o diferentes.
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 condición lógica y
luego la de la parte inferior.
Si se ubican las variables invertidas, es decir, VARIABLE1 abajo y 452 encima, entonces se debería
utilizar un comparador MENOR QUE “<” para obtener el mismo resultado. En este caso se estaría
haciendo la comparación 452<VARIABLE1.
Añada entonces un contacto, por ejemplo uno MAYOR O IGUAL QUE. Para configurarlo, seleccione
el símbolo “<???>” de la parte superior del comparador. Escriba la dirección de la variable, o las
primeras letras de su nombre simbólico. Aparecerá la lista de variables que inicien con esas letras,
elija por ejemplo “EntradaAnalógica1”, la cual había sido previamente declarada en la tabla de
variables (ver sección “LA TABLA DE SÍMBOLOS” para configurarlas).
A la derecha del comparador, puede ubicar más condiciones lógicas como otros comparadores,
contactos, temporizadores, contadores, etc. Al final debe ubicar elementos que actúen sobre las
variables como bobinas, bloques de transferencia, operaciones con palabras, desplazamiento, etc.
Note que la variable “Alarma” está subrayada en color rojo, lo que quiere decir que este símbolo
no está definido en la tabla de variables o de símbolos. Para hacerlo puede utilizar varios
procedimientos y direccionarlo a una salida digital por ejemplo Q1.0 conectada a un indicador
luminoso. Estos procedimientos se explican en las secciones:
Una operación matemática se puede realizar únicamente entre datos del mismo tipo. Este es un
inconveniente muy frecuente y es muy común que se deban realizar conversiones para poder
unificar los tipos de datos, esto se explicará en la sección “CONVERSORES”.
Es importante tener en cuenta que una función matemática no representa ninguna lógica dentro
del programa, es decir, aunque su forma es como un bloque, no interrumpen el paso de energía
hacia la derecha del segmento en ningún momento. Se ejecutan siempre y cuando a ellos llegue
energía y siempre permiten su paso hacia la derecha.
Al lado derecho se pedirán 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 multiplicación.
Note el símbolo “???” debajo del nombre “MUL” del bloque. Esto quiere decir que no se ha
determinado todavía 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á automáticamente qué tipo de
datos se utilizarán. El resto de variables que se incluyan deberán ser del mismo tipo de dato.
Si se quisiera escribir una ecuación para representar este bloque, la más adecuada sería:
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, según sea el tipo de dato. En esta salida se guardará el
valor de la variable cuyo valor sea menor.
= min 1, 2
De forma similar sería para la función matemática MAX, pero su expresión sería:
= max 1, 2
En la entrada IN se ubica la variable. En MIN se ubica el límite inferior deseado para la variable, en
MX el superior.
La variable IN puede variar entre estos límites o incluso por fuera, dependiendo de la lógica del
programa, pero la variable OUT se comportará de la siguiente manera:
<
=
≤ ≤
>
Esta función matemática es muy útil en los sistemas de control para generar la saturación de una
variable.
Como ya se dijo antes, la configuración de todas las funciones matemáticas es muy similar, así que
el lector podría estar confiado que estaría en capacidad de utilizarlas. Se recomienda leer las
ayudas que Siemens proporciona sobre cada una de ellas, para esto consultar la referencia [2].
La gran mayoría de las aplicaciones industriales con PLC no requieren del uso de estos bloques,
exceptuando el bloque MOVE, el cual es muy práctico.
Por lo tanto en este tutorial únicamente se explicará el bloque MOVE, el resto se pueden consultar
en la sección “UTILIZACIÓN DE LAS AYUDAS DEL SOFTWARE” o en el manual del sistema [2].
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 numérico, o una variable de la cual el bloque
leerá su valor numérico. En la salida del bloque siempre se debe ubicar una variable, ya que es en
esta que se cargará el valor leído en la entrada.
Es muy versátil, 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
En la figura se muestra cómo se carga un valor numérico cero a un la salida analógica QW80. Una
vez se ejecute esta instrucción, la salida analógica QW80 será igual a cero, es decir, QW80=0.
Al mover un valor a una variable se debe tener en cuenta su cantidad de bits y el valor máximo
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 numérico 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 están enumerados de 0 al 7. El de la
derecha (menos significativo) tiene un peso de 2 = 1 y el de la izquierda (más significativo) tiene
un peso de 2 = 128 . Si todos estuvieran en 1 entonces:
1 1 1 1 1 1 1 1
2 2 2ହ 2ସ 2ଷ 2ଶ 2ଵ 2
Por lo tanto si se hace una operación de transferencia del valor 255 a MB10 entonces todos sus 8
bits estarán 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 estarán 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 estarán en cero.
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”.
Estos conversores se presentan en programación con forma de bloques, los cuales no interrumpen
el paso de energía hacia la derecha del segmento. Se ejecutan si en su entrada EN llega energía,
realizan la función que tienen programada internamente y siempre que no haya errores en su
ejecución permiten el paso de energía hacia la derecha a través de su salida ENO.
Los conversores disponibles son: CONVERT, ROUND, CEIL, FLOOR, TRUNC, SCALE_X y NORM_X,
veamos cada uno de ellos:
CONVERT
Su función es convertir entre los diferentes tipos de datos. Es un bloque muy versátil porque es
más que suficiente para hacer todas las conversiones entre todos los tipos de datos. Esto debido a
que, una vez se añade este bloque, se pregunta qué tipo de dato va a la entrada y qué tipo de
dato se desea a la salida.
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.
A la salida escriba la variable en que se desea guardar el dato convertido, por ejemplo MD12, la
cual también deberá declararse en la tabla de símbolos, pero en este caso como tipo REAL.
Así, cualquier valor que se almacene en IW66 tipo INT inmediatamente será también almacenado
en MD12 pero en formato coma flotante. Recuerde que el formato INT es un número entero (sin
fracciones decimales) con tamaño de 16 bits, mientras que un coma flotante REAL es un binario de
32 bits con fracciones decimales.
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 matemáticas (ver la sección “FUNCIONES MATEMÁTICAS”) se tiene más precisión si se
utilizan reales.
Sin embargo hay casos en la que la elección del tipo de datos no es opcional, por ejemplo para
enviar un valor a una salida analógica siempre deberá hacerse en 16 bits tipo INT o WORD. Por lo
Rubén Darío Vásquez Salazar
Docente de tiempo completo
Área de Instrumentación y Control
tanto, si se realizaron operaciones previas con funciones matemáticas utilizando reales, entonces
es obligatorio al final convertirlo a un entero para poder enviarlo a la salida analógica.
ROUND
Este bloque es muy sencillo y tiene una única tarea. Convertir un número en coma flotante (REAL)
en otro número sin fracciones decimales.
Su uso más frecuente se mencionaba en al final de la explicación del bloque CONVERT, cuando se
quiere convertir un real en un entero para ser enviado a una salida analógica.
A la entrada entonces se ubica un valor numérico con fracciones decimales. Si no tiene como por
ejemplo el número 452, entonces se debe escribir 452.0. O bien, se escribe una variable (entrada,
salida, marca, etc.) que esté declarada en la tabla de símbolos 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 información, pero note que habrá pérdida de información,
ya que las fracciones decimales se habrán perdido.
El redondeo siempre se realiza siguiendo las reglas de la notación científica, si la fracción decimal
es 5 o superior entonces se redondeará por encima, si es 4 o inferior se redondea por debajo.
Por ejemplo el número 678.5 lo redondeará a 679, mientras que 678.4 lo redondeará a 678.
Rubén Darío Vásquez Salazar
Docente de tiempo completo
Área de Instrumentación y Control
CEIL Y FLOOR
Estos dos bloques son muy similares al bloque ROUND, a diferencia que no utilizan las reglas de
notación científica para redondeo.
El bloque CEIL siempre redondeará por encima, es decir, si un número es por ejemplo 678.1, lo
redondeará a 679.
El bloque FLOOR siempre redondeará por debajo, es decir, si un número es por ejemplo 678.9, lo
redondeará a 678.
TRUNC
También convierte a entero, es decir, elimina las fracciones decimales de un número en coma
flotante, tomando únicamente su parte entera.
NORM_X
Este bloque es una novedad en TIA Portal. Es muy útil para escalizar variables si se utiliza en
compañía del bloque SCALE_X, aunque comúnmente se vean juntos no siempre lo será así.
El bloque NORM_X toma una variable de entrada, se definen sus límites 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 podría tomar el valor de cero, o uno y no valores intermedios como
0.2, 0.3, 0.7, etc.
En este bloque se convertirá un entero (INT) que se encuentra en su entrada, con dirección IW64,
el cual es una entrada analógica del PLC.
Si esta entrada IW64 varía entre 0 y 27648 entonces la variable MD24 (REAL) a la salida del bloque
variará entre 0 y 1, por lo tanto está normalizada.
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.
Por ejemplo en la figura se convierte una variable MD10 llamada “Valor” que está normalizada y
en formato REAL, en una variable MW20 que varía entre 0 y 1500 y está en formato INT.
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
OFF ON cambiar el el
estado de primer
diagnóstico ciclo
Tabla 3. Significado de los bits en las marcas de sistema (tomada de [2])
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 más utilizado por su utilidad en la inicialización de variables. Otros bits
como el 2 siempre estarán 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 condición lógica.
De igual manera para el bit 3, pero con lógica inversa.
En el lado derecho habilite la casilla “Activar la utilización del byte de marcas de sistema”.
Elija una dirección del byte de marcas de sistema (MBx). Este byte hace parte de las marcas, por lo
tanto no debe cruzarse con las demás 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.
Note que inmediatamente se llena la pequeña tabla en la parte inferior del campo que se acabó de
escribir. Allí se asignan símbolos a los 4 bits como se explicó anteriormente.
Al programarse el M1.0 que ya se había configurado como parte de las marcas de sistema,
automáticamente se utilizó el símbolo que el programa asignó automáticamente para ese bit.
En esta programación la función que se realiza es que, cuando el PLC pase de STOP a RUN, se
escribirá un 1 en el byte MB0, es decir, se apagarán todos los bits excepto el M0.0. Esto se explicó
en la sección “DESPLAZAMIENTO O TRANSFERENCIA”.
La finalidad de las marcas de ciclo es crear intermitencias de una forma fácil. Normalmente se
hace la analogía 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 2.0 1.6 1.0 0.8 0.5 0.4 0.2 0.1
(s)
Frecuencia 0.5 0.625 1 1.25 2 2.5 5 10
(Hz)
Tabla 4. Significado de los bits en las marcas de ciclo (tomada de [2])
Se sabe que
= 1⁄, por lo tanto las filas 2 y 3 de la tabla son inversas, sólo
una de ellas sería 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
más fácilmente.
El bit 0 es el más rápido de todos, es intermitente a una frecuencia de 10 veces por segundo. El bit
7 es el más lento, con frecuencia de medio segundo, es decir, una oscilación cada 2 segundos.
Verá al lado derecho las marcas de sistema que se explicaron en la sección anterior. Utilice la barra
lateral para bajar hasta ubicar las marcas de ciclo.
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.
Note que en los campos inferiores aparecen las variables con símbolos de forma automática. Por
ejemplo note la M2.5, que aparece con símbolo “Clock_1Hz”, lo cual es consistente con lo
explicado en la Tabla 4.
Si se programa este bit en algún 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 través de contactos, para programar
intermitencias sin necesidad de utilizar temporizadores, de una forma ágil y rápida.
No sobra anotar que estos bits no se pueden encender o apagar por programación, ya que tienen
un comportamiento determinado desde la configuración del hardware, por lo tanto serán
únicamente de lectura.
[2] Siemens AG, (2009). Manual de sistema – Controlador Lógico Programable S7-1200.
A5E02486683-02. Noviembre de 2009.