Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EntornoSimaticManager PDF
EntornoSimaticManager PDF
Introducción al entorno de desarrollo Simatic Manager 1
COMPLEMENTOS
FORMATIVOS DE MASTER
ENTORNO
SIMATIC MANAGER
PARA STEP7
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 2
1. INTRODUCCIÓN AL ENTORNO DE
PROGRAMACIÓN SIMATIC MANAGER (I)
1.1. INTRODUCCIÓN
El objetivo de esta sección es la familiarización del alumno con el uso de una
herramienta profesional para la programación como es la ofrecida por la casa SIEMENS
para las familias S7‐300 y S7‐400. Más concretamente, el laboratorio cuenta con
autómatas S7‐313C y la herramienta de programación Simatic Manager (SM) versiones
5.3 y 5.5. La versión 5.3 corre sobre Windows XP Profesional (exclusivamente) y la
versión 5.5 más reciente funciona sobre Windows Vista y Windows 7. Actualmente no
se dispone de soporte para otras plataformas diferentes a Windows.
Simatic Manager es un entorno profesional flexible que permite programar
todos los autómatas de las familias SIEMENS S7‐300 y S7‐400 entre otros. Para ello
está dotado de una potente colección de librerías que almacenan las características
específicas Hardware (HW) de cada modelo autómata y los diferentes elementos de
conexionado existentes en el mercado para configuraciones en red.
Simatic Manager se distribuye como un conjunto de herramientas
independientes que son ejecutables por separado pero que entroncan, en muchos
casos con una aplicación principal interfaz con el usuario. Entre las herramientas
disponibles en la distribución estándar de SM destacan:
• Herramientas de configuración de las comunicaciones: PLC‐PC mediante bus
MPI, NetPro (configuración de redes industriales), etc.
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 3
• Herramientas de conversión entre archivos: por ejemplo paso del más antiguo
lenguaje STEP 5 a STEP 7
• Administrador de licencias
• Editores de bloques para los lenguajes AWL (ensamblador S7), FUP (lenguaje
gráfico mediante funciones lógicas), KOP (lenguaje gráfico mediante contactos),
S7‐GRAPH (lenguaje gráfico mediante grafcets) y SCL(lenguaje de alto nivel).
• Simulador
En este capítulo se realizará una breve introducción al manejo de la
herramienta Simatic Manager indicando algunos aspectos fundamentales con ayuda
de un programa de control sencillo.
1.2. NOTACIÓN Y ABREVIATURAS MÁS FRECUENTES
La herramienta SM es una herramienta profesional que consta de multitud de
opciones para el usuario. Para indicar posibles acciones sobre el entorno se describe a
continuación la notación que se va a emplear a lo largo del texto. Dicha notación
consta de abreviaturas para indicar las diferentes ventanas, así como una sintaxis para
indicar menús y submenús. Para funcionalidades básicas también se indicarán posibles
atajos de teclado y los iconos de la barra de herramientas correspondientes.
1) Ventana principal del Simatic Manager (VP)
2) Ventana de edición de cualquier bloque en el Simatic Manager (VE)
3) Ventana de edición de la tabla de símbolos (VT)
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 4
4) Ventana de la aplicación simulador(VSIM)
5) Ventana asistente para la creación de un proyecto (VASI)
6) Ventana de configuración del Hardware del proyecto (VHW)
7) Ventana de referencia (VREF)
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 5
8) Atajos de teclado: Todas las combinaciones de tecla irán en cursiva, como por
ejemplo ALT+ENTER o CTRL+2. Cuando se haga necesario hacer referencia a una
ventana se incluirá como cabecera separada por":" (e.g. VE: CTRL+ALT+T abre la
tabla de símbolos).
9) Menús del Simatic Manager: Se seguirá la notación
1.3. CREACIÓN DE UN PROYECTO
La programación de un PLC mediante el Simatic Manager exige, en primer
lugar, configurar una sesión de trabajo o proyecto. Un proyecto en SM está compuesto
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 6
por subproyectos que pueden ser configuraciones HW (con su configuración SW
asociado) o configuraciones SW independientes. Un ejemplo de un proyecto formado
por múltiples subproyectos puede verse en la siguiente figura donde existen dos
subproyectos SW en STEP 7 independientes de un HW concreto y un subproyecto SW
que va correr en la CPU‐313C de la familia 300.
En esta sección se describen los pasos básicos para crear un primer proyecto
Para una mayor claridad en la exposición se utilizará como PLC destino del proyecto el
autómata de SIEMENS S7‐313C de la familia S7‐300 a disposición del alumno en el
laboratorio.
Tras arrancar el entorno SM aparece por defecto el asistente para la creación
de un proyecto (ventana VASI) que se muestra a continuación:
Nota: Existe la posibilidad de que se haya deshabilitado el asistente y aparezca
directamente la ventana principal VP tal y como quedó en la última sesión. Si este es el
caso, vaya al menú VP: Archivo —> Nuevo Proyecto y aparecerá la ventana del
asistente.
Si pulsa el botón Preliminar se despliegan dos ventanas. En la ventana inferior
izquierda se indica de manera jerárquica la configuración del proyecto por defecto del
asistente: nombre del nuevo proyecto (S7‐Pro2 en la figura), la configuración HW (para
la CPU‐312C) y la estructura SW de bloques (Programa S7). En la ventana inferior
derecha aparece el bloque OB1, el módulo principal del proyecto SW.
Si se pulsa ahora Siguiente el asistente permitirá en sucesivas etapas
seleccionar el modelo del autómata, el conjunto de bloques de operaciones previstos
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 7
para el proyecto (que depende del modelo de CPU elegida), el lenguaje que se va a
usar en todos los bloques y finalmente el nombre y el lugar de almacenamiento en el
disco duro. Si se pulsa Finalizar creará el nuevo proyecto con la configuración
predefinida.
EJERCICIO: Cree un proyecto Ejemplo para el PLC con CPU 313C y bloques de
organización OB1 y OB100 que se van a programar en lenguaje AWL
Al terminar, la ventana principal VP debería mostrar lo siguiente:
En la parte de la izquierda aparece la configuración HW y SW de forma similar a la
mostrada por el asistente VASIS. En la parte de la derecha aparecen los elementos
relacionados con el elemento seleccionado en la ventana izquierda.
Cambie el nombre de la CPU a CPU‐313C seleccionando la CPU con el ratón y
pulsando F2. Cambie el nombre del proyecto SW por HolaMundo_S7.
Una característica importante del entorno SM es que ofrece información contextual
para casi cualquier icono que aparece en pantalla. Normalmente para acceder a dicha
información basta con pinchar sobre el objeto con el botón derecho del ratón y
seleccionar Propiedades del objeto... (el atajo es seleccionar el elemento gráfico y
ejecutar el comando ALT + ENTER).
Por ejemplo, seleccione el icono de proyecto Ejemplo y pulse ALT+ENTER. Aparecerá
una ventana de diálogo que permite editar el autor, escribir comentarios acerca del
proyecto y comprobar si todos los paquetes SW necesarios para la correcta
compilación y ejecución del código están correctamente instalados. De manera
análoga, aparecen ventanas de propiedades similares para los iconos Equipo SIMATIC
300, HolaMundo_S7 etc.
1.4. CONFIGURACIÓN HARDWARE
El esqueleto del proyecto Ejemplo de la sesión anterior se ha generado
automáticamente con ayuda del asistente incorporado en SM. En esta sección se
realizará la configuración del HW del mismo directamente desde la ventana principal
VP.
Desde VP vamos a crear un proyecto nuevo. Para ello ejecute VP: Archivo—
>Nuevo y le aparecerá la ventana siguiente:
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 8
Elija un nombre para el nuevo proyecto que no coincida con ninguno de los ya
existentes (por ejemplo Ejemplo1) y mantenga el resto de las opciones a los valores
por defecto (tipo proyecto y ubicación en el directorio previsto por la aplicación).
Para introducir la CPU 313‐C en la configuración pinche sobre el panel izquierdo
de la ventana principal con el botón derecho del ratón y seleccione Insertar nuevo
destino —> SIMATIC 300 del submenú emergente tal y como indica la figura.
Aparecerá un nuevo icono en el proyecto con nombre SIMATIC 300(1). Cambie el
nombre si quiere como en el apartado anterior. Ahora seleccionando el elemento con
el ratón y pulsando ALT + ENTER se abrirá una pantalla de información de diálogo que
permite añadir el nombre del autor y un comentario para describir la configuración.
Introduzca su nombre en el campo autor y escriba un comentario para la
configuración recién creada.
A continuación es necesario determinar el PLC concreto de la familia S7‐300, la
CPU 313‐C en este ejemplo. Para ello haga doble‐click sobre el icono de configuración
SIMATIC 300(1), seleccione el icono nuevo Hardware y vuelva a hacer doble‐click.
Aparecerá la ventana de configuración HW siguiente:
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 9
Esta ventana es muy importante ya que permite establecer la configuración Hardware
y las comunicaciones que componen una instalación de automatización completa:
PLCs, buses de comunicación (PROFIBUS, PROFINET, etc.), topologías de red y equipos
de interconexionado (ET200M, ET200S, SCALANCEX etc.) entre otros.
A continuación se describe en detalle, a modo de ejemplo simple, la configuración de
la CPU‐313C conectada mediante bus MPI al PC. Para ello lo primero que hay que
hacer es añadir un bastidor de la familia 300 que se encuentra en el catálogo del panel
izquierdo tal y como muestra la figura:
Haga doble‐click en el icono o arrástrelo al panel superior derecho. Automáticamente
se incluye el objeto bastidor en el proyecto:
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 10
El bastidor tiene un conjunto de slots o ranuras, destinadas a ubicar elementos
hardware. Algunas de estas ranuras están reservadas para un hardware específico (por
ejemplo en el slot 0 solo puede ir una fuente de alimentación) y otros son de propósito
general. En este proyecto no se necesita la fuente así que directamente se selecciona
la CPU‐313C del catálogo y se le arrastra sobre el bastidor. La aplicación le asigna la
primera dirección accesible, en este caso, el slot 2.
Nota: Hay que tener cuidado al elegir el perfil del catálogo para que concuerde
exactamente con el PLC real. Normalmente cada modelo posee un identificador
xerigrafiado en la carcasa que debe coincidir exactamente con el perfil de la librería.
Una vez seleccionado el modelo correcto de CPU‐313C la apariencia del bastidor
debería ser ahora similar a esta:
Observe que la CPU incluye diferentes módulos de entrada salida y contaje
(direcciones de slot 2.2, 2.3 y 2.4) y que se le ha asignado al PLC la dirección de red MPI
2 para establecer la comunicación PC‐PLC.
Guarde y compile ahora la configuración pulsando VCONF: Equipo—>Guardar y
compilar (alternativamente CTRL+S ). También puede conseguir el mismo efecto con el
icono correspondiente en la barra de iconos:
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 11
Terminada la operación, al ventana principal muestra ahora el proyecto HW completo
del que cuelga a su vez un proyecto SW asociado con un único bloque, el bloque de
organización principal OB1, como se muestra en la figura siguiente:
1.5. PROYECTO SOFTWARE
En el ejemplo del apartado anterior se ha configurado automáticamente un
subproyecto SW una vez que se ha definido el PLC sobre el que se va a ejecutar. Es
posible también crear un proyecto SW independiente de la configuración HW. En esta
sección analizamos brevemente las características de un subproyecto SW cuya
estructura está estrechamente ligada a la arquitectura SW de programación del
autómata.
Un subproyecto SW se representa gráficamente como una carpeta con un
símbolo en su interior que hace referencia a la familia de PLCs a la que va dirigido
(típicamente S7 o M7). En el ejemplo anterior, se configuró un PLC de la familia S7‐300
y SM creo automáticamente un proyecto SW de tipo S7.
Para insertar un proyecto SW independiente de una configuración HW concreta
vaya a la ventana principal, seleccione el objeto proyecto, nodo raíz de la jerarquía y
con el botón derecho del ratón e inserte un objeto de programación como indica la
figura:
Un proyecto de SW en Simatic Manager consta de 3 elementos:
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 12
• Carpeta de ficheros fuente: Contiene código fuente que se puede compilar
automáticamente para crear el código de bloques previstos por la arquitectura
de programación.
• Carpeta de bloques: Contiene los bloques de códigos previstos por la
arquitectura de programación para el HW configurado. La arquitectura de
programación SW en Step 7 está estructurada en bloques de código. Los
bloques de organización (denominados OB) son ejecutados directamente por el
sistema operativo del PLC y nunca pueden ser llamados por el programa del
usuario. El número de bloques de operación existentes va a depender del
modelo del PLC particular, pero tiene que existir en todo subproyecto SW un
bloque principal OB1 que será ejecutado siempre de manera cíclica por el PLC y
que constituye el punto de arranque del todo programa de usuario.
• Tabla de símbolos: Tabla de símbolos que representan identificadores en
memoria y que permiten una mayor legibilidad del código.
La figura siguiente muestra un típico subproyecto SW.
Para guardar una sesión de trabajo la primera vez seleccione la opción VP:Archivo–
>Guardar como... (atajo CTRL + S desde VP), elija el proyecto que quiere guardar (por
defecto el que está actualmente en uso ) y la ruta y pulse sobre el botón Aceptar.
1.6. PROGRAMA "HOLA MUNDO"
En informática se suele referir al programa "Hola Mundo" (Hello World) aquel
que saca por consola el mensaje "Hola Mundo". Se emplea para comprobar que la
configuración del entorno de programación y la consola es la adecuada para trabajar.
El programa Hello World en Automatización es hacer que un actuador siga a una
entrada. La sesión completa incluye la compilación del código, su simulación en el
Simatic Manager, y su carga y ejecución en el PLC para comprobar que la configuración
HW es la correcta y que los módulos digitales de entrada salida funcionan
adecuadamente.
En esta sección se creará una sesión con un proyecto SW para el Hola Mundo.
Este proyecto servirá en secciones posteriores para ilustrar algunas características muy
importantes del Simatic Manager.
Para comenzar cree un proyecto nuevo con nombre HolaMundo e incluya un
subproyecto SW para STEP7 según lo explicado en secciones anteriores (no es
necesario incluir la configuración HW del PLC al que va destinado en este ejemplo). A
continuación edite el bloque principal OB1 haciendo doble‐click en el mismo y
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 13
pulsando aceptar en la ventana de diálogo que aparece para arrancar la aplicación de
edición de bloques, que se muestra a continuación:
La ventana de edición de bloques está dividida en tres partes: un panel izquierdo que
presenta recursos de programación y/o la estructura de bloques del proyecto SW, un
panel derecho inferior donde se escribe el texto del programa y una ventana superior
para el paso de parámetros a los bloques.
El panel de escritura, a su vez, está divido en segmentos la unidad de programación
estructurada mínima en STEP7. Si bien el uso de segmentos no es estrictamente
obligatorio es muy recomendable hacer uso de ellos pues facilitan enormemente la
labor de depuración y legibilidad del código así como facilitan la traducción entre los
diferentes lenguajes permitidos por SM.
La zona de edición de segmentos, a su vez, está subdividida en cuadrículas para
comentarios: Una cabecera título para cada segmento y un cajetín para texto. Debajo
del cajetín del comentario se encuentra la zona donde iría el código en sí. La aplicación
es totalmente configurable a través del menú VE:Ver–>Mostrar. Por ejemplo si no
desea ver o escribir posibles comentarios seleccione VE:Ver–>Mostrar–>Comentario y
se ocultarán los cajetines quedando el espacio libre para la visualización del código.
A continuación escriba el código AWL (el ensamblador de STEP 7) de HolaMundo. Para
ello primeramente configure la ventana edición en modo ensamblador: VE:Ver–>AWL
(o alternativamente el atajo CTRL + 2 desde VE). Escriba las dos instrucciones
siguientes en el segmento 1 (pinche con el ratón en la zona de la pantalla debajo del
cajetín de comentario si no visualiza el cursor de edición):
U E 124.0 //Lee la entrada E124.0
= A 124.0 //Copia el valor de la entrada E124.0 a la salida A124.0
E 124.0 son A 124.0 son bits de la memoria RAM del PLC. Concretamente la E 124.0
direcciona el primer bit del byte 124, imagen en memoria de un módulo de entradas
digitales acoplado al PLC (Eingang es entrada en alemán). El identificador A 124.0
corresponde a un módulo de actuadores o salidas (Ausgang en alemán).
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 14
La explicación de cada instrucción aparece tras las doble barra (en AWL, al igual que en
el lenguaje de alto nivel C++, la doble barra // permite introducir comentarios para
cada instrucción). Cada instrucción se escribe en una línea de texto diferente y es
interpretada nada mas pulsar ENTER. En caso de error se resalta en rojo el texto no
compilado.
La figura siguiente muestra el panel de edición resultante. Se le han añadido
comentarios adicionales a modo de ejemplo:
Guarde el contenido de la ventana de edición seleccionando VE:Archivo –>Guardar
(alternativamente CTRL + S o pulsando en el icono Guardar de la barra de
herramientas). En general, conviene guardar inmediatamente los bloques modificados.
El no hacerlo es motivo muy frecuente de errores al trabajar con SM ya que muchas
funcionalidades de alto nivel leen continuamente la información de los bloques.
1.7. SIMULACIÓN
El entorno Simatic Manager se distribuye con la aplicación S7‐PLCSIM que
permite la ejecución simulada de bloques de código. En el desarrollo de SW para el
PLC la etapa de simulación juega un papel fundamental, permitiendo verificar el
funcionamiento correcto de los programas de control antes de su ejecución en el PLC.
S7‐PLCSIM puede ejecutarse de manera independiente al entorno SM, pero
habitualmente se accede desde la ventana principal del entorno, a través del menú
VP: Herramientas–>Simular módulos (o pulsando el icono de la barra de
herramientas).
En esta sección se va a simular el programa HolaMundo de la sección anterior.
Para ello ejecute la aplicación de simulación. Aparecerá una ventana (VSIM) como la
que se muestra a continuación:
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 15
La ventana que aparece a la izquierda en VSIM simula los mandos y los leds de un PLC
genérico. Existen tres modos de funcionamiento:
• STOP: modo de parada. No se ejecuta ningún programa.
• RUN: modo de ejecución. Se ejecuta el programa cargado previamente en el
simulador.
• RUN‐P: modo de ejecución en pruebas. A diferencia del modo anterior permite
la carga de bloques durante la ejecución. Se emplea para probar rápidamente
cambios controlados en el código fuente.
Para poder simular correctamente un programa es necesario configurar previamente
en VSIM la información que se quiere visualizar durante la ejecución del código, que,
en el caso del programa HolaMundo serán sus dos únicas variables E 124.0 y A 124.0.
Para insertar el byte de entradas 124 (EB 124) en VSIM proceda de la siguiente
manera:
1) Cree un visor de entradas mediante VP:Insertar–>Entrada (alternativamente F2)
2) Configure el visor adecuadamente, cambiando EB 0 por EB 124.
Coloque a continuación un nuevo visor para la variable A 124.0 (VP:Insertar–>Salida,
alternativamente F3) y configúrelo adecuadamente de manera análoga. Si ha
procedido correctamente VSIM debería presentar el aspecto siguiente:
Previamente a la ejecución del código en el proyecto SW es necesario cargar los
bloques en el simulador, emulando el proceso en el PLC real. El simulador realmente
hace las veces de un PLC muy potente que no existe en el mercado, la CPU S7‐841 y la
carga se realiza sobre este PLC virtual en lugar del PLC conectado a través del bus MPI.
Para ello basta con lanzar primero la aplicación de simulación, seleccionar desde la
ventana principal él o los bloques que se deseen cargar (en este caso el bloque OB1) y
seleccionar VP: Sistema de destino–>Cargar (alternativamente CTRL + L ó en la barra
de herramientas). La figura a continuación muestra esta funcionalidad:
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 16
Una vez cargado y correctamente configurado le visor de VSIM para mostrar tanto el
byte entrada EB 124 como el byte salida AB 124, ejecute el programa el PLC simulado
seleccionando la casilla RUN. Ahora compruebe que el código está funcionando
correctamente: la activación/desactivación del bit de entrada E 124.0 manualmente
producirá el mismo efecto en la salida A124.0, como ilustra la figura a continuación:
1.8. RESUMEN
En este capítulo se ha realizado una breve introducción al manejo de la aplicación
Simatic Manager, la herramienta de desarrollo de programas para PLCs del fabricante
SIEMENS. Los conocimientos básicos adquiridos son:
• Creación de un proyecto
• Configuración hardware y software
• Creación, compilación y simulación del programa HolaMundo
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 17
2. INTRODUCCIÓN AL ENTORNO DE
PROGRAMACIÓN SIMATIC MANAGER (II)
2.1. INTRODUCCIÓN
En este capítulo se analizan algunos de los aspectos más importantes de la
aplicación Simatic Manager. Algunos de ellos permitirán escribir programas de manera
mucho más eficiente y legible. Otros facilitarán el mantenimiento y la depuración del
código, algo imprescindible en un lenguaje ensamblador como es STEP 7.
Para la exposición se empleará el programa HolaMundo creado en la sección
anterior. A continuación, abra el proyecto HolaMundo y edite el bloque OB1 (haga
doble‐click en el icono del bloque desde la ventana principal).
2.2. SÍMBOLOS
Los programas de control de una instalación automatizada pueden emplear
cientos o incluso miles de variables y cada una de ellas tiene una dirección de memoria
asociada en el PLC. Debido a ello, todos los entornos profesionales de programación de
PLCs permiten asociar un nombre simbólico a cada dirección de memoria utilizada por
el programa. Esa asociación se almacena en una tabla conocida como tabla de
símbolos.
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 18
En SM, cada vez que se edita un bloque de código es posible acceder a la tabla
de símbolos asociada con el proyecto SW al que pertenece dicho bloque. Antes de
acceder a la tabla realice la siguiente tarea, según lo visto en el capítulo anterior:
TAREA 1: Introduzca un nombre simbólico para el bloque principal OB1 del programa
HolaMundo (por ejemplo ciclo scan). Incluya el siguiente comentario al símbolo:
Bloque principal.
Sugerencia: Acceda a la ventana de propiedades del bloque desde la ventana
principal VP.
Ahora, desde la ventana de edición, seleccione VE: Herramientas–>Tabla de
símbolos (o CTRL + ALT+T) y se abrirá la ventana de símbolos (VT), en este caso
mostrando como único símbolo le nombre del bloque que acabamos de introducir, con
su correspondiente comentario.
La ventana de edición de la tabla de símbolos permite asociar un símbolo a una
variable de memoria de una manera muy sencilla: se selecciona una fila libre con el
ratón y se pulsa el botón derecho con lo que aparece un menú contextual que permite
borra, añadir o incluso completar un nombre. También es posible seleccionar con el
ratón una casilla de una fila vacía y escribir directamente. SM lleva el control de
posibles repeticiones de nombres y facilita, en la medida de lo posible, la entrada de
datos consistentes.
TAREA 2: Introduzca nombres para las variables del programa HolaMundo (por
ejemplo Sensor para la E 124.0 y Actuador para la A 124.0).
De no ser así es que la opción de mostrar información simbólica está desactivada.
Seleccione VE:Ver–>Representación simbólica (o CTRL + Q) para activar dicho modo y
comprobará como ahora sí están presentes los símbolos.
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 19
Una manera más sencilla de añadir símbolos es desde la propia ventana de
edición de bloques. Para ello es necesario primeramente compilar correctamente una
instrucción que contenga la variable en cuestión, para después seleccionar colocar el
cursor encima y pulsar ALT+ENTER (alternativamente botón derecho con el cursor
encima del texto de la variable y selección Editar Símbolo en el menú contextual según
la figura)
Aparecerá ahora un diálogo que permite insertar o modificar el nombre del símbolo
correspondiente. Al cerrar la ventana los cambios se incorporan automáticamente a la
tabla de símbolos.
Una capacidad muy útil del entorno de desarrollo es que permite completar los
nombres simbólicos durante la escritura de código. Para ello, basta con introducir una
parte del nombre y, tras pulsar con el botón derecho seleccionar Insertar símbolo (o
CTRL + J) en el menú contextual. Aparece entonces una tabla con todos los símbolos
definidos en el proyecto SW ordenados alfabéticamente por similitud con el texto
introducido.
Esta característica es mucho más importante de lo que pudiera parecer, pues facilita
sobremanera la escritura de código en programas de control complejos. De hecho, se
recomienda como buena praxis el ir introduciendo símbolos desde los primeros
segmentos de código para, posteriormente, hacer uso de esta funcionalidad.
En cualquier caso, es imprescindible el uso de una buena tabla de símbolos en
cualquier programa de control real, que incluya símbolos al menos para todas las
entradas y salidas reales, así como los bloques y componentes de programación más
relevantes (temporizadores, contadores, bloques de función, bloques de datos etc.).
2.3. CONFIGURACIÓN DE SÍMBOLOS EN EL SIMULADOR
En el capítulo anterior se ha aprendido a utilizar el simulador del entorno de desarrollo
PLCSIM para depurar el programa HolaMundo, configurando el interfaz de manera
conveniente para mostrar las dos únicas variables de control que empleaba el
programa (E 124.0 y A 124.0).
Los programas de control reales suelen manejar muchos cientos de variables. En estos
casos es imprescindible el poder hacer uso de la tabla de símbolos del proyecto SW en
la propia sesión de simulación ya que facilita en sumo grado el seguimiento de la
funcionalidad. Esta sección muestra como se puede configurar PLCSIM para mostrar
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 20
los símbolos de las variables. Para ello, con el proyetco SW del programa HolaMundo
abierto en la sesión, arranque el PLCSIM (VP:Herramientas–>Simular módulos) y
configure adecuadamente el interfaz para visualizar los bytes EB 124 y AB 124 como en
el capítulo anterior (ver figura)
A pesar de que, en este caso, se ha arrancado PLCSIM desde una sesión concreta del
entorno SM, conviene destacar que PLCSIM es una aplicación independiente y que
puede ejecutarse sin necesidad incluso de que SM esté en ejecución. Estando
corriendo tanto PLCSIM como SM, existe un vínculo implícito que permite cargar los
bloques de código desde SM a PLCSIM como vimos en la sección anterior. Sin
embargo, no hay un vínculo similar para la información simbólica.
Para establecer esta asociación seleccione el menú VSIM: Herramientas–>Opciones–
>Asignar símbolos... tal y como muestra la figura.
Posteriormente seleccione la información simbólica del proyecto SW HolaMundo (es
muy posible que no sea la primera opción; recuerde que a pesar de que el proyecto
HolaMundo esté abierto en el SM, PLCSIM no es consciente de ello) haciendo doble
click sobre el icono etiquetado como Símbolos. La figura siguiente ilustra una posible
sesión de trabajo. Cuando termine pulse Aceptar.
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 21
Una vez establecida la asociación entre el proyecto SW y PLCSIM a través de la
información simbólica PLCSIM, por defecto, permite visualizar esta información en
pantalla (puede desactivar este modo seleccionando VSIM: Herramientas–>Opciones–
>Mostrar símbolos...). Sin embargo, si ha seguido correctamente el ejemplo, las
ventanas de entrada y salida de VSIM siguen sin mostrar los nombres simbólicos de las
variables E 124.0 y A 124.0. Esto es debido a que las ventanas entrada/salida no tienen
espacio para pintar los símbolos de cada bit particular.
Para comprobar que los símbolos de nuestro programa HolaMundo están
correctamente vinculados a PLCSIM se recomienda el siguiente ejercicio:
TAREA 3: Inserte un nombre simbólico para el Byte EB 124. Compruebe que su
nombre aparece en lugar de EB 124 en la ventana de entradas de PLCSIM
Nota: A través del vínculo de la información simbólica entre el proyecto SW y PLCSIM
puede acceder directamente a la tabla de símbolos desde la aplicación de simulación,
seleccionando VSIM: Herramientas–>Opciones–>Tabla de símbolos (o CTRL + ALT + T
con VSIM activa).
La figura muestra el resultado de asociar el símbolo byte al byte de memoria EB 124.
Para terminar el ejemplo vamos a configurar PLCSIM para mostrar los nombres
de bits individuales. Para ello es necesario elegir otra forma de visualizar los datos, las
ventanas de bits verticales (VSIM: Insertar–>Bits verticales). Estos visores son de
propósito general y muestran información de bytes de memoria RAM. Inserte dos de
ellos y llámelos EB 124 y AB 124 respectivamente. Comprobará que ahora sí los
nombres de los bits EB 124.0 y AB 124.0 aparecen en la imagen (si no es así, desactive
y active la visión de los símbolos para refrescar la pantalla (VSIM:–>Herramientas–
>Opciones–>Mostrar símbolos)). El resultado final aparece en la figura.
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 22
2.4. LENGUAJES FUP Y KOP
El entorno SM incluye tres lenguajes gráficos además del ensamblador AWL
para STEP 7. Éstos son un lenguaje de contactos (KOP) destinado a los ingenieros
eléctricos, un lenguaje de puertas lógicas (FUP) orientado a los electrónicos y un
lenguaje orientado a la representación de automatismos conocido como S7‐GRAPH.
SM proporciona además un intérprete automático entre KOP, FUP y AWL que
es interesante conocer ya que permite realizar la parte más típica de los desarrollos en
cualesquiera de los dos lenguajes gráfico y retocar el código en AWL tras la conversión
automática.
Para alternar entre las tres representaciones del código de un bloque edite el
bloque OB1 del programa HolaMundo y seleccione el menú VE:Ver–>KOP, VE:Ver–
>AWL y VE:Ver–>FUP respectivamente (o el atajo CTRL +1,2,3 respectivamente).
Comprobará como se van sucediendo segmento a segmento los diferentes lenguajes.
La figura muestra el programa HolaMundo en lenguaje KOP:
En principio se pueden cualquier programa de control escrito en AWL tiene una
traducción equivalente a los lenguajes FUP y KOP. En la práctica es muy posible que un
código en FUP o KOP requiera mas segmentos gráficos que su equivalente en AWL, que
siempre será más compacto. Además el traductor automático no será capaz de
alternar entre las tres representaciones en cuanto no se respete la estructura de
segmentos que sea analiza en la sección siguiente.
2.5. PROGRAMACIÓN CON SEGMENTOS
Los segmentos son particiones de código dentro de los bloques que el entorno
Simatic emplea para gestionar el código de manera más eficiente, facilitando su
mantenimiento, depuración y traducción a otros lenguajes gráficos como KOP o FUP.
Es, por tanto, absolutamente aconsejable estructurar adecuadamente el programa en
segmentos si bien no es obligatorio.
Entre las facilidades que proporciona SM para gestionar segmentos en la
ventana de edición de bloques VE destacan:
• Insertar, copiar y borrar: El entorno incluye la típica funcionalidad corta y pega
de Windows, pero a nivel de segmento (SUPR, CTRL + V etc.). Para ello basta
con seleccionar el recuadro donde aparece el nombre del segmento. Para
insertar un nuevo segmento ejecute el atajo CTRL + R (o VE:Insertar–
>Segmento).
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 23
• Documentación: Escriba el título y un comentario acerca de la funcionalidad del
segmento en las zonas habilitadas para ello en la ventana de edición.
• Traducción: El entorno realiza la conversión entre los tres lenguajes básicos
(AWL, KOP y FUP) por segmentos. Para que esta traducción sea posible es
necesario que los segmentos se mantengan simples. Caso de no ser posible la
traducción, la ventana de edición muestra siempre el código ensamblador.
• Depuración y mantenimiento: Algunas de las herramientas de depuración
dependen del lenguaje de programación. Por otro lado, la mayoría de
herramientas que informan acerca del código emplean los índices de los
segmentos para localizar instrucciones dentro de los bloques. A mayor
segmentación menor granularidad en la indexación.
Para expresar relaciones combinacionales entre variables es útil recordar la siguiente
regla de estilo:
Un segmento debe terminar tras la primera asignación bien de una variable bien de un
grupo de variables de manera consecutiva
Así por ejemplo, el programa HolaMundo repetido para dos parejas sensor‐
actuador:
U E 124.0
= A 124.0
U E 125.0
= A 125.0
no cumple la regla anterior ya que modifica dos variables de manera no consecutiva.
Este segmento no tiene traducción automática ni a KOP ni a FUP. Sin embargo el
código AWL siguiente
U E 124.0
= A 124.0
= A 125.0
sí cumple la regla ya que se modifican dos variables de manera consecutiva (con la
misma función lógica). Este segundo segmento tiene la traducción (automática) a KOP
siguiente:
donde se aprecia claramente que las variables asignadas (las dos bobinas del extremo
de la derecha) cuelgan de un mismo punto, expresión gráfica en KOP de la asignación
consecutiva aludida anteriormente.
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 24
2.6. MANTENIMIENTO DE BLOQUES (VISTA DE DETALLE)
El entorno SM proporciona abundante información acerca del código de los
bloques para poder realizar labores de mantenimiento y depuración. Piense el lector
que esto es absolutamente imprescindible habida cuenta de la complejidad de las
relaciones de control que pueden existir en los sistemas automatizados industriales.
En esta sección se describe la vista de detalle que proporciona el editor de bloques.
Para ello edite el bloque OB1 del programa hola mundo y seleccione (si no lo está ya)
el menú VE:Ver–>Detalles (alternativamente pulse sobre el icono ). Aparecerá una
ventana en la parte inferior de la pantalla como muestra la figura.
Este panel es fundamental para poder gestionar el código en los bloques ya que
proporciona una gran cantidad de información contextual y conviene, por regla
general, tenerlo activo siempre. Se analizan a continuación la información que
contienen las diferentes pestañas:
1) Error: La vista de error proporciona información de inconsistencias en el bloque
como por ejemplo sintaxis incorrecta, problemas de conexión con las red etc.
Como ejemplo, trate de compilar la instrucción U error. Observará que el texto
queda resaltado en rojo y que aparece un mensaje de error en el panel indicando
que la variable es desconocida.
2) Info: Este panel proporciona información del código del bloque donde se
encuentra colocado el cursor. Por ejemplo, sitúe el cursor de edición en la variable
A 124.0. Comprobará que aparece el panel el nombre simbólico, el identificador
real y el comentario asociado en la tabla de símbolos (si lo hubiere).
3) Referencias cruzadas: Se entiende por referencias cruzadas en el entorno SM un
análisis pormenorizado del código que permite desglosar los componentes de las
instrucciones simple (etiqueta, operador y operando) ofreciendo múltiples vistas
de esta información (punto de aplicación de un operando, acción del operador
etc.). Para el programa HolaMundo el panel muestra:
Cada fila contiene la información de un operando (con su nombre simbólico, si
estuviera definido, como en este caso), el nombre del bloque actual en la ventana de
edición, el tipo de acción asociada (W: escritura, R:lectura) y finalmente el segmento
del código donde aparece. En la figura, la instrucción = A 124.0 corresponde a la
primera fila de la tabla y en el punto de aplicación se indica que se encuentra en la
segunda instrucción del primer segmento y que el operador en esa instrucción es el
nemónico de asignación =.
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 25
Además, la casilla punto de aplicación es sensible al ratón. Si hace doble‐click en dicha
casilla colocará el cursor justo al comienzo de la instrucción en la ventana de edición
de bloque. Esta funcionalidad es ideal durante la fase de depuración ya que permite de
un vistazo saber todas las veces que una variable es modificada en el bloque y acceder
a las instrucciones pertinentes de una manera rápida.
4) Información del operando: Muestra el valor actual del operando en tiempo de
ejecución. El panel permite elegir además en qué momento del ciclo scan se quiere
realizar la medida.
Para ilustrar el funcionamiento de este panel ejecute el pograma HolaMundo en el
simulador y después edite el bloque OB1 desde el SM y pulse VE:Test–>Observar (
también CTRL + F7 o pulsar en el icono de la barra de herramientas). Esto activa el
modo ONLINE y permite visualizar información en la ventana de edición en tiempo de
ejecución. Además observará que la columna con el valor del estado en el panel de
información del operando se ha coloreado en verde. El valor de las variables ahora
será el que marque el programa en ejecución.
TAREA 4: Pruebe a forzar el valor de los operandos usando el menú contextual que
aparce tras pinchar con el botón derecho sobre el valor de las variables.
Nota: No será posible si la ventana de edición está ONLINE y PLCSIM se encuentra en
modo RUN (sí en modo RUN‐P o STOP).
5) Forzado: Similar al panel de información del operando pero permite definir un
valor de forzado para los operandos del bloque así como condicionar el disparo del
forzado (al principio del ciclo scan, al pasar de modo RUN a modo STOP etc.).
6) Diagnóstico: Muestra información de diagnóstico del proceso en ejecución. Para
ello se requiere configurar previamente la forma de supervisar el código en
ejecución a través de la aplicación S7‐PDIAG que se distribuye con licencia.
2.7. MANTENIMIENTO GENERAL (VISTA DE REFENCIAS)
Simatic Manager proporciona una vista general de todos los bloques muy útil si
se quiere tener una visión del conjunto. Para acceder a ella seleccione, desde el bloque
de edición VE:Herramientas–>Datos de referencia y seleccione las opciones por
defecto de los diálogos de ventana que aparecen a continuación. Aparecerá por
defecto la vista de referencias cruzadas similar al panel de referencias cruzadas del
editor de bloques pero esta vez con información de los operandos de todos los bloques
(ver figura).
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 26
Como siempre las casillas son sensibles al botón derecho del ratón y es posible acceder
a cualquier instrucción del programa que contenga un operando de la tabla.
La ventana de referencias cruzadas ofrece vistas alternativas del código como
por ejemplo el mapa de memoria direccionado por el programa (VREF:Ver–
>Ocupación), la estructura jerárquica de bloques (VREF:Ver–>Estructura del
programa), los operandos sin símbolos (VREF:Ver–>Operandos sin símbolo) etc. La
figura a continuación muestra el mapa de ocupación del programa HolaMundo a modo
de ejemplo:
2.8. DEPURACIÓN
SM ofrece una gran cantidad de herramientas para la depuración del proceso.
En esta sección se describe una sesión típica de depuración desde el entorno de
edición. Para ello cargue el proyecto SW HolaMundo en el simulador y ejecútelo.
Posteriormente repita el procedimiento descrito en la sección 2.6 para el panel de
información del operando: edite el bloque principal OB1 y, con el programa en
ejecución, seleccione VE:Test–>Observar (alternativamente CTRL + F7 o pulse en el
icono de la barra de herramientas). Observará que en la barra de estado (parte
inferior de la pantalla) aparece la palabra RUN sobre un fondo verde parpadeante.
Al pasar a modo prueba desde la ventana de edición se establece un vínculo en
tiempo de ejecución con el PLC (o, en este caso, el simulador PLCSIM) de manera que
puede visualizarse, a la izquierda de la pantalla, los registros de la CPU tras la
interpretación de cada instrucción. Este panel es completamente configurable
pulsando con el ratón en cualquier punto del mismo. La figura muestra una típica
sesión con el editor en modo AWL.
Asimismo, se puede alternar entre los diferentes lenguajes AWL, KOP y FUP.
Por ejemplo, para cambiar a KOP salga del modo prueba (seleccione nuevamente
VE:Test–>Observar), cambie a KOP (CTRL + 1) y vuelva a pasar a modo prueba (ver
figura).
Universidad Politécnica de Madrid ‐UPM
Introducción al entorno de desarrollo Simatic Manager 27
La ventana de edición en lenguaje KOP y en modo prueba permite visualizar
fácilmente el estado de los operandos. La fuente de alimentación se encuentra a la
izquierda, la variable Sensor es un relé normalmente abierto y Actuador es una bobina
de asignación. La situación reflejada en la figura es que la alimentación no llega a la
bobina porque Sensor lo impide. Si cambia el valor de Sensor a nivel alto desde el
simulador la situación pasa a
indicando que la bobina está a nivel alto. Para bloques con segmentos de tipo
combinacional esta vista proporciona una manera fácil de seguir la evolución de las
variables en el bloque en tiempo de ejecución.
Sin embargo, cuando los valores de las operandos toman valores diferentes en el
mismo ciclo scan (o en ciclos consecutivos) esta vista es insuficiente y será necesario
herramientas adicionales de diagnóstico que se irán describiendo en sucesivos
capítulos.
Universidad Politécnica de Madrid ‐UPM