Академический Документы
Профессиональный Документы
Культура Документы
Documentación de cursos SCE Página 1 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 Ilimitado / © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector, IA&DT
Tenga en cuenta que estos paquetes de instructor pueden ser sustituidos por paquetes actualizados.
Encontrará una relación de los paquetes SCE actualmente disponibles en la página: www.siemens.com/sce/tp
Cursos avanzados
Para los cursos avanzados regionales de Siemens SCE, póngase en contacto con el partner SCE de su región
www.siemens.com/sce/contact
No está permitido utilizar este documento más que para la iniciación a los productos o sistemas de Siemens. Es
decir, está permitida su copia total o parcial y posterior entrega a los alumnos para que lo utilicen en el marco de
su formación. La transmisión y reproducción de este documento y la comunicación de su contenido solo están
permitidas dentro de centros de formación básica y avanzada para fines didácticos.
Las excepciones requieren autorización expresa por el siguiente contacto de Siemens AG: Sr. Roland
Scheuerer roland.scheuerer@siemens.com.
Todo incumplimiento quedará sujeto a la indemnización de los daños y perjuicios. Se reservan todos los
derechos, incluidos los de traducción, especialmente para el caso de concesión de patentes o registro como
modelo de utilidad.
No está permitido su uso para cursillos destinados a clientes del sector Industria. No aprobamos el uso
comercial de los documentos.
Queremos expresar nuestro agradecimiento a la empresa Michael Dziallas Engineering y a todas las personas
por el valioso apoyo prestado al elaborar este documento.
Documentación de cursos SCE Página 2 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 Ilimitado / © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector, IA&DT
PÁGINA:
1. Prólogo ....................................................................................................................................................... 4
2. Notas sobre el lenguaje de programación S7-SCL .................................................................................... 6
3. El entorno de desarrollo de S7-SCL ........................................................................................................... 7
4. Tarea de ejemplo: contenido del tanque .................................................................................................... 8
4.1 Descripción de la tarea ............................................................................................................................... 8
4.2 Lista de asignación/tabla de variables ........................................................................................................ 8
4.3 Estructura del programa ............................................................................................................................. 9
4.4 Interfaz del bloque cálculo_volumen_tanque [FC140].............................................................................. 10
4.5 Nota para la solución ................................................................................................................................ 11
5. Programación del cálculo del contenido del tanque para SIMATIC S7-1200 en S7-SCL ........................ 12
5.1 Crear un proyecto y configurar el hardware ............................................................................................. 12
5.2 Crear programa ........................................................................................................................................ 15
5.3 Comprobar el programa ........................................................................................................................... 23
5.4 Ampliar el programa ................................................................................................................................. 26
Documentación de cursos SCE Página 3 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 Ilimitado / © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector, IA&DT
1. Prólogo
Fundamentos de la
programación de PLC
Módulos 10, módulos 20
Simulación de plantas
SIMIT Módulos 150
Funciones adicionales
relacionadas con la progra-
mación de PLC Módulos 30
Objetivo didáctico:
En este módulo, el lector conocerá las funciones básicas del entorno de desarrollo de S7-SCL. Además
se mostrarán las funciones de test para eliminar errores de programación lógicos.
Requisitos:
Para trabajar adecuadamente con este módulo se requieren los siguientes conocimientos:
Documentación de cursos SCE Página 4 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 Ilimitado / © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector, IA&DT
1 PC Pentium 4, 1.7 GHz 1 (XP) – 2 (Vista) GB RAM, aprox. 2 GB de memoria de disco libre
Sistema operativo Windows XP Professional SP3 / Windows 7 Professional / Windows 7
Enterprise / Windows 7 Ultimate / Windows 2003 Server R2 / Windows Server 2008 Premium SP1,
Business SP1, Ultimate SP1
2 Software STEP 7 Professional V11 SP2 (Totally Integrated Automation (TIA) Portal V11)
3 Conexión Ethernet entre PC y CPU 1214C
4 PLC SIMATIC S7-1200 a partir del firmware V2.2, p. ej. CPU 1214C con módulo de señales
14DI/10DO.
Las entradas deben estar conectadas en un cuadro.
2 STEP 7 Professional
1 PC V11 SP2 (TIA Portal)
3 Conexión Ethernet
Documentación de cursos SCE Página 5 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 Ilimitado / © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
S7-SCL (Structured Control Language) es un lenguaje de programación de alto nivel que se orienta a
PASCAL y posibilita una programación estructurada. El lenguaje se corresponde con el lenguaje de
programación SFC "Sequential Function Chart" definido en la norma DIN EN-61131-3 (IEC 61131-3).
Además de los elementos de lenguaje de alto nivel, S7-SCL también contiene elementos de lenguaje
característicos del PLC como, p. ej., entradas, salidas, tiempos, marcadores, llamadas de bloque, etc.
Es compatible con el concepto de bloques de STEP 7 y, por lo tanto, además de AWL, KOP y FUP
también permite programar bloques conforme a las normas. Es decir, S7-SCL completa y amplía el
software de programación STEP 7 con sus lenguajes de programación KOP, FUP y AWL.
No es necesario que usted mismo cree cada función, sino que puede recurrir a bloques prefabricados
como funciones de sistema o bloques de función de sistema disponibles en el sistema operativo del
módulo central.
Los bloques programados con S7-SCL pueden combinarse con bloques AWL, KOP y FUP. Esto
significa que un bloque programado con S7- SCL puede llamar a otro bloque programado en AWL, KOP
o FUP. Por consiguiente, los bloques S7-SCL también pueden llamarse desde programas AWL, KOP y
FUP.
Las funciones de test de S7-SCL permiten buscar errores de programación lógicos en una compilación
sin errores.
Documentación de cursos SCE Página 6 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
Existe un entorno de desarrollo para utilizar S7-SCL que está adaptado tanto a las propiedades
específicas de S7-SCL como a STEP 7. Dicho entorno de desarrollo se compone de un
editor/compilador y un depurador.
Editor/compilador Depurador
Editor/compilador
El editor de S7-SCL es un editor de textos que permite editar cualquier tipo de textos. La principal tarea
que se realiza con él consiste en crear y editar bloques para programas STEP 7. Durante la introducción
del texto se realiza una exhaustiva comprobación de la sintaxis, lo cual simplifica la programación sin
errores. Los errores de sintaxis se representan en diferentes colores.
Depurador
La "Visualización paso a paso" depura la ejecución lógica del programa. Permite ejecutar el algoritmo
del programa instrucción por instrucción y observar en una ventana de resultados cómo se modifica el
contenido de las variables editado durante el proceso.
Documentación de cursos SCE Página 7 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
El tanque tiene la forma de un cilindro vertical. El nivel de llenado del contenido se mide con un sensor
analógico. La tarea consiste en presentar el valor previamente normalizado del nivel de llenado en
metros.
Como en la programación moderna no se programa con direcciones absolutas, sino con variables, aquí
deben determinarse primero las variables PLC globales.
Estas variables PLC globales son nombres descriptivos con comentarios para cada entrada y salida que
se utilice en el programa. Más adelante se puede acceder a las variables PLC globales a través de este
nombre durante la programación.
Estas variables globales se pueden utilizar en todos los bloques del programa.
Documentación de cursos SCE Página 8 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
La ejecución del programa se describe en los llamados bloques. De manera estándar está disponible el
bloque de organización Main [OB1]. Este representa la interfaz del sistema operativo de la CPU y, a su
vez, este último lo abre automáticamente y lo ejecuta de forma cíclica.
A partir de este bloque de organización se pueden abrir también otros bloques, como por ejemplo la
función cálculo_volumen_tanque [FC140], para una programación estructurada.
El objetivo es dividir una tarea global en problemas parciales. Estos son más sencillos de resolver y es
más fácil comprobar su funcionalidad.
Bloque de
organización
Main [OB1]
Bloque llamado
cíclicamente por el
sistema operativo.
Aquí está la llamada
de la función Función:
cálculo_volumen_ cálculo_volumen_tanque
tanque [FC140]
[FC140]
En este ejemplo
contiene el programa
real.
Se llama desde Main
[OB1].
Documentación de cursos SCE Página 9 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
Para poder escribir el programa, debe declararse la interfaz del bloque. Al declarar la interfaz, se
determinan las variables locales, conocidas solo en este bloque.
Parámetros de bloque que forman la interfaz del bloque para la llamada en el programa.
Documentación de cursos SCE Página 10 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
En nuestro programa de ejemplo se han empleado los siguientes parámetros de interfaz para el bloque
"cálculo_volumen_tanque" [FC140].
FC140
cálculo_volumen_tanque
filling_level: REAL
diameter: REAL
REAL :volume
Para solucionar la tarea debe emplearse la fórmula para calcular el volumen de un cilindro vertical. El
resultado en litros se calcula utilizando el factor de conversión 1000.
d2 diameter 2
V h => volume 3.14159 filling_le vel 1000
4 4
Documentación de cursos SCE Página 11 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
5. Programación del cálculo del contenido del tanque para SIMATIC S7-1200 en
S7-SCL
Con los siguientes pasos se puede crear un proyecto para SIMATIC S7-1200 y programar la solución
para las tareas planteadas:
1. La herramienta central es el "Totally Integrated Automation Portal", que se abre aquí haciendo
doble clic. ( TIA Portal V11)
2. Los programas para SIMATIC S7-1200 se administran en proyectos. Un proyecto de este tipo se
crea en la vista del portal ( Create new project (Crear proyecto) scl_startup (scl_inicio)
Create (Crear))
Documentación de cursos SCE Página 12 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
3. Ahora se proponen los "First steps (Primeros pasos)" de configuración. En primer lugar nos
interesa la opción "Configure a device (Configurar un dispositivo)". ( First steps (Primeros
pasos) Configure a device (Configurar un dispositivo))
4. A continuación, elegimos "Add new device (Agregar dispositivo)" con el Device name (Nombre
de dispositivo) "controller 001 (controlador 001)". Para ello, seleccionamos del catálogo
"CPU1214C AC/DC/Rly" con la referencia correspondiente. ( Add new device (Agregar
dispositivo) controller 001 (controlador 001) PLC SIMATIC S7-1200 CPU CPU1214
AC/DC/Rly 6ES7 214-1BE30-0XB0 V2.2 Add (Agregar))
Documentación de cursos SCE Página 13 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
Documentación de cursos SCE Página 14 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
1. Abra "Default tag table (Tabla de variables estándar)" e introduzca los "Operandos" con su
nombre y tipo de datos.
( controller 001 (controlador 001) [CPU1214 AC/DC/Rly] PLC tags (Variables PLC) Default
tag table (Tabla de variables estándar) Introducir operandos)
Documentación de cursos SCE Página 15 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
Documentación de cursos SCE Página 16 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
Nota:
Resulta útil escribir las variables locales en minúsculas para que no se confundan con las variables
PLC.
Documentación de cursos SCE Página 17 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
4. Una vez se hayan declarado las variables locales, es posible empezar a crear el programa
mostrado aquí. A tal efecto, para elevar un número al cuadrado se emplea la función cuadrática
"SQR" integrada en SCL. El número que debe elevarse al cuadrado se indica entre paréntesis.
Para insertar la función, arrástrela mediante "arrastrar y soltar" hasta la ubicación en el programa.
( Instructions (Instrucciones) (¡menú derecho!) Basic instructions (Instrucciones básicas)
Math functions (Funciones matemáticas) SQR)
Documentación de cursos SCE Página 18 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
Documentación de cursos SCE Página 19 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
Documentación de cursos SCE Página 20 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
( )
11. Para cargar los bloques de programa y la configuración de dispositivos en la CPU, marque primero
la carpeta "controller 001 (controlador 001) [CPU1214 AC/DC/Rly]" y haga clic en el símbolo
Download to device (Cargar en dispositivo). ( controller 001 (controlador 001) [CPU1214
AC/DC/Rly] )
Documentación de cursos SCE Página 21 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
Nota:
Al realizar la carga, el proyecto vuelve a compilarse y examinarse automáticamente en busca de
errores.
12. Antes de realizar la carga, se muestra de nuevo una vista general para comprobar los pasos que
deben efectuarse. Ábrala con "Load (Cargar)". ( Load (Cargar) Finish (Finalizar))
Documentación de cursos SCE Página 22 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
( )
Documentación de cursos SCE Página 23 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
2. Dado que no disponemos de un sensor analógico, y con ello tampoco del correspondiente valor de
proceso, debemos predefinir los valores "diameter_tank1" y "filling_level_tank1" con ayuda de
una tabla de observación. Cree una "New watch table (Nueva tabla de observación)" e
introduzca ambos valores. Active el "Modo de observación" para ver los valores actuales.
( controller 001 (controlador 001) Watch and force tables (Tablas de observación y forzado
permanente) New watch table (Nueva tabla de observación) diameter_tank1,
filling_level_tank1 )
3. Para predefinir los valores es necesario introducir un valor de forzado en la columna "Monitor
value (Valor de forzado)". Los valores se aplican en la CPU con el botón "Escribir valores de
7.0 )
Documentación de cursos SCE Página 24 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
5. En el editor de SCL pueden visualizarse los valores de las diferentes variables. Para ello, active el
"Modo de observación". ( )
Nota:
Si hace clic en el botón , se muestran los valores actuales de las variables programadas en esta
fila.
Documentación de cursos SCE Página 25 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
FC140
cálculo_volumen_tanque
filling_level: REAL
heigth_max: REAL
diameter: REAL
BOOL : er
REAL:volume
Documentación de cursos SCE Página 26 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
Documentación de cursos SCE Página 27 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
3. Complete ahora el programa como se indica abajo y compruebe si existen errores de sintaxis
compilándolo. Guarde el programa y cárguelo en el controlador.
(Escribir programa )
Documentación de cursos SCE Página 28 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
4. Puesto que se han modificado los parámetros del bloque, es necesario actualizar la llamada en el
OB1. Abra el OB1 y desplácese hasta el lugar de la llamada del bloque. Abra el menú contextual
con el botón derecho del ratón y elija la opción "Update (Actualizar)".
( controller 001 (controlador 001) [CPU1214 AC/DC/Rly] Program blocks (Bloques de
programa) Main [OB1] botón derecho del ratón Update (Actualizar))
5. Ahora se muestran las interfaces antigua y nueva. Confirme con "OK (Aceptar)".
( OK (Aceptar))
Documentación de cursos SCE Página 29 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200
Industry Sector IA&DT
(Completar parámetros )
Nota: Puede modificar el formato de visualización de los valores actuales haciendo clic con el botón
derecho del ratón en el valor y abriendo el menú contextual.
Documentación de cursos SCE Página 30 de 30 Uso exclusivo para centros de formación e I+D
Módulo TIA Portal 010-090, edición 09/2012 © Siemens AG 2012. Todos los derechos reservados
SCE_ES_010-090_R1209_Iniciación a la programación en lenguajes de alto nivel con S7-SCL y SIMATIC S7-1200