Industry Sector, IA&DT
Documentación didáctica SCE
para la solución de automatización homogénea
Totally Integrated Automation (TIA)
Siemens Automation Cooperates with Education
Módulo TIA Portal 010-090
Iniciación a la programación en lenguajes de alto nivel
Con S7-SCL y SIMATIC S7-1200
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Página 1 de 30
Uso exclusivo para centros de formación e I+D
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
Paquetes de Formación apropiados para esta documentación



SIMATIC S7-1200 AC/DC/RELÉ 6er "TIA Portal"
Ref.: 6ES7214-1BE30-4AB3
SIMATIC S7-1200 DC/DC/DC 6er "TIA Portal"
Ref.: 6ES7214-1AE30-4AB3
SIMATIC S7-SW for Training STEP 7 BASIC V11 Upgrade (for S7-1200) 6er "TIA Portal"
Ref.: 6ES7822-0AA01-4YE0
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
Más información en torno a SCE
www.siemens.com/sce
Nota sobre el uso
La documentación de cursos para la solución de automatización homogénea Totally Integrated Automation
(TIA) ha sido elaborada para el programa "Siemens Automation Cooperates with Education (SCE)"
exclusivamente con fines formativos para centros públicos de Investigación y Desarrollo. Siemens AG declina
toda responsabilidad en lo que respecta a su contenido.
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
Módulo TIA Portal 010-090, edición 09/2012
Página 2 de 30
Uso exclusivo para centros de formación e I+D
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.
2.
3.
4.
4.1
Prólogo ....................................................................................................................................................... 4
Notas sobre el lenguaje de programación S7-SCL .................................................................................... 6
El entorno de desarrollo de S7-SCL ........................................................................................................... 7
Tarea de ejemplo: contenido del tanque .................................................................................................... 8
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.1
Programación del cálculo del contenido del tanque para SIMATIC S7-1200 en S7-SCL ........................ 12
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
5.
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Página 3 de 30
Uso exclusivo para centros de formación e I+D
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
El contenido del módulo SCE_ES_010-090 está asociado a la unidad formativa "Fundamentos de la
programación de PLC" y constituye una guía de inicio rápido a la programación de SIMATIC S71200 con el lenguaje de programación S7-SCL y con el TIA Portal.
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 programación de PLC Módulos 30
PROFIBUS
Módulos 60
Otros lenguajes de
programación
Módulos 40
Funciones de
seguridad
Módulos 80
PROFINET
Módulos 70
Tecnología de
sensores
Módulos 110
Visualización de
procesos (HMI)
Module 90
AS-Interface
Módulos 50
Accionamientos
Módulos 100
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:



Conocimientos del manejo de Windows
Fundamentos de la programación de PLC con STEP 7 Professional V11
(p. ej. módulos 010-010 a 010-040)
Conocimientos básicos sobre programación en lenguajes de alto nivel como, p. ej., Pascal.
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Página 4 de 30
Uso exclusivo para centros de formación e I+D
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
Hardware y software necesarios
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
V11 SP2 (TIA Portal)
1 PC
3 Conexión Ethernet
4 S7-1200 con CPU
1214C a partir del
firmware V2.2
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Página 5 de 30
Uso exclusivo para centros de formación e I+D
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
2.
Notas sobre el lenguaje de programación S7-SCL
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
Módulo TIA Portal 010-090, edición 09/2012
Página 6 de 30
Uso exclusivo para centros de formación e I+D
© 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.
El entorno de desarrollo de S7-SCL
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.
S7-SCL para S7-300/400
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.
El editor ofrece las siguientes posibilidades:
Programar un bloque S7 en el lenguaje S7-SCL.
Insertar cómodamente elementos de lenguaje y realizar llamadas de bloque mediante "arrastrar y
soltar".
Comprobar la sintaxis directamente durante la programación.
Ajustar el editor en función de las necesidades del usuario, p. ej. identificando los diferentes
elementos de lenguaje mediante colores acordes con la sintaxis.
Comprobar el bloque ajustado por medio de la compilación.
Mostrar todos los errores y advertencias que se producen al compilar.
Localizar los puntos defectuosos en el bloque, opcionalmente con descripción del error y datos
acerca de la subsanación del error.
Depurador
El depurador de S7-SCL ofrece la posibilidad de controlar un programa durante su ejecución en AS y,
por lo tanto, encontrar posibles errores lógicos.
Además, S7-SCL ofrece dos modos Test diferentes:
Visualización paso a paso
Visualización continua
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.
La "Visualización continua" permite comprobar un grupo de instrucciones dentro de un mismo bloque.
Durante el test, los valores de variables y parámetros se muestran en orden cronológico y, si es posible,
se actualizan de forma cíclica.
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Página 7 de 30
Uso exclusivo para centros de formación e I+D
© 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.
Tarea de ejemplo: contenido del tanque
4.1
Descripción de la tarea
Para nuestro primer programa programaremos el cálculo del volumen de un tanque.
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.
El programa debe crearse en una función FC140 "cálculo_volumen_tanque". Los parámetros de
entrada son el diámetro y el nivel de llenado indicados en metros. El resultado es el contenido del
tanque indicado en litros.
4.2
Lista de asignación/tabla de variables
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.
Tabla de variables estándar
Nombre
filling_level_tank1
diameter_tank1
volume_tank1
Tipo de datos
REAL
REAL
REAL
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Dirección
%MD40
%MD44
%MD48
Página 8 de 30
Comentario
en metros
en metros
en litros
Uso exclusivo para centros de formación e I+D
© 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.3
Estructura del programa
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.
Estructura de la tarea de ejemplo "Contenido del tanque"
Bloque de
organización
Main [OB1]
Bloque llamado
cíclicamente por el
sistema operativo.
Aquí está la llamada
de la función
cálculo_volumen_
tanque
[FC140]
Función:
cálculo_volumen_tanque
[FC140]
En este ejemplo
contiene el programa
real.
Se llama desde Main
[OB1].
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Página 9 de 30
Uso exclusivo para centros de formación e I+D
© 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.4
Interfaz del bloque cálculo_volumen_tanque [FC140]
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.
Las variables o parámetros de interfaz se dividen en dos grupos:
 Parámetros de bloque que forman la interfaz del bloque para la llamada en el programa.
Tipo
Denominación Función
Disponible en
Parámetros de entrada Input
Funciones, bloques de función y
Parámetros cuyos valores lee el
algunos tipos de bloques de
bloque.
organización
Parámetros de salida
Output/Return
Parámetros cuyos valores
escribe el bloque.
InOut
El bloque lee el valor de estos
parámetros al efectuar la
Funciones y bloques de función
llamada y lo vuelve a escribir en
ellos tras la ejecución.
Parámetros de
entrada/salida
Funciones y bloques de función
 Datos locales que sirven para almacenar resultados intermedios.
Tipo
Datos locales
temporales
Denominación Función
Temp
Datos locales estáticos Static
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Disponible en
Variables que sirven para
almacenar resultados
intermedios temporales. Los
datos temporales se conservan
solo durante un ciclo.
Funciones, bloques de función y
bloques de organización
Variables que sirven para
almacenar resultados
intermedios estáticos en el
bloque de datos de instancia.
Bloques de función
Los datos estáticos se
conservan hasta que se vuelven
a escribir, también a lo largo de
varios ciclos.
Página 10 de 30
Uso exclusivo para centros de formación e I+D
© 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].
Interfaz de la función FC140:
cálculo_volumen_tanque
Tipo
IN
IN
OUT
Tipo de datos
REAL
REAL
REAL
Nombre
filling_level
diameter
volume
Comentario
en metros
en metros
en litros
La llamada de función en un bloque programado en FUP es la siguiente.
Llamada de función: representación en FUP
FC140
cálculo_volumen_tanque
filling_level:
REAL
diameter:
REAL
REAL :volume
4.5
Nota para la solución
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.
V
d2
  h
4
=>
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
volume 
Página 11 de 30
diameter 2
 3.14159  filling_le vel  1000
4
Uso exclusivo para centros de formación e I+D
© 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:
5.1
Crear un proyecto y configurar el hardware
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
Módulo TIA Portal 010-090, edición 09/2012
Página 12 de 30
Uso exclusivo para centros de formación e I+D
© 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
Módulo TIA Portal 010-090, edición 09/2012
Página 13 de 30
Uso exclusivo para centros de formación e I+D
© 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.
El software cambia automáticamente a la vista del proyecto con la configuración de hardware
abierta en la vista de dispositivos. Para que el software acceda posteriormente a la CPU correcta,
debe configurarse "ETHERNET addresses (Dirección Ethernet)".
( Properties (Propiedades)  General (General)  ETHERNET addresses (Dirección Ethernet)
 IP address (Dirección IP): 192.168.0.80  Subnet mask (Máscara de subred): 255.255.255.0)
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Página 14 de 30
Uso exclusivo para centros de formación e I+D
© 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.2
Crear programa
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
Módulo TIA Portal 010-090, edición 09/2012
Página 15 de 30
Uso exclusivo para centros de formación e I+D
© 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.
Para crear la función cálculo_volumen_tanque [FC140], seleccione en la navegación del proyecto
"controller 001 (controlador 001) [CPU1214 AC/DC/Rly]" y, a continuación, "Program blocks
(Bloques de programa)". A continuación, haga doble clic en "Add new block (Agregar nuevo
bloque)". Seleccione "Function (FC) (Función (FC))" e indique el nombre
"calculate_volume_tank (cálculo_volumen_tanque)". Cambie el lenguaje de programación en
"SCL". La numeración puede modificarse pasando del modo automático al manual. Introduzca el
número 140. Confirme las entradas con "OK (Aceptar)".
( controller 001 (controlador 001) [CPU1214 AC/DC/Rly]  Program blocks (Bloques de
programa)  Add new block (Agregar nuevo bloque)  Function (FC) (Función (FC)) 
calculate_volume_tank (cálculo_volumen_tanque)  SCL  Manual (Manual)  140  OK
(Aceptar))
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Página 16 de 30
Uso exclusivo para centros de formación e I+D
© 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.
El bloque "cálculo_volumen_tanque [FC140]" se abre automáticamente. Introduzca ahora los
parámetros "Input (Entrada)" y "Output (Salida)" del bloque como se indica. Todas las variables
locales deben incluir un "comentario detallado" para facilitar su comprensión.
( ampliar la interfaz del bloque FC140  introducir los parámetros de interfaz)
Nota:
Resulta útil escribir las variables locales en minúsculas para que no se confundan con las variables
PLC.
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Página 17 de 30
Uso exclusivo para centros de formación e I+D
© 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)
5.
Complete el programa como se indica abajo.
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Página 18 de 30
Uso exclusivo para centros de formación e I+D
© 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
6.
7.
El programa puede ahora guardarse
y compilarse
( Save project (Guardar proyecto)
 compilar
.
)
Los errores de sintaxis producidos se detectan durante la compilación y se muestran en el menú
"Info (Información)/Compile (Compilación)". ( Info (Información)  Compile (Compilación))
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Página 19 de 30
Uso exclusivo para centros de formación e I+D
© 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
8.
La función puede llamarse ahora en el "Main[OB1]". Antes de abrir el bloque "Main[OB1]"
haciendo doble clic, cambiaremos su lenguaje de programación a "FUP".
( Main[OB1]  Switch programming language (Cambiar lenguaje de programación)  FUP)
9.
La función "calculate_volume_tank (cálculo_volumen_tanque) [FC140]" puede arrastrarse
mediante "arrastrar y soltar" al segmento 1 del bloque Main [OB1]. Los parámetros de interfaz de la
función "calculate_volume_tank (cálculo_volumen_tanque) [FC140]" deben conectarse con
variables PLC globales como se indica aquí. No olvide documentar los segmentos también en el
bloque Main [OB1]. ( Main[OB1]  Program blocks (Bloques de programa) 
calculate_volume_tank (cálculo_volumen_tanque) [FC140])
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Página 20 de 30
Uso exclusivo para centros de formación e I+D
© 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
10. Con el botón
vuelve a guardarse el proyecto.
(
)
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
Módulo TIA Portal 010-090, edición 09/2012
Página 21 de 30
Uso exclusivo para centros de formación e I+D
© 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
Módulo TIA Portal 010-090, edición 09/2012
Página 22 de 30
Uso exclusivo para centros de formación e I+D
© 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.3
Comprobar el programa
1.
Haciendo clic con el ratón en el símbolo
Monitoring ON/OFF (Activar/desactivar observación),
puede observar el estado de las variables de entrada y de salida en el bloque
"calculate_volume_tank (cálculo_volumen_tanque)" durante la comprobación del programa.
(
)
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Página 23 de 30
Uso exclusivo para centros de formación e I+D
© 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
forzado una sola vez e inmediatamente"
7.0 
. ( diameter_tank1 = 10.0  filling_level_tank1 =
)
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Página 24 de 30
Uso exclusivo para centros de formación e I+D
© 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.
Ahora es posible comprobar el programa en el OB1. (
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
fila.
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
, se muestran los valores actuales de las variables programadas en esta
Página 25 de 30
Uso exclusivo para centros de formación e I+D
© 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.4
Ampliar el programa
El bloque "calculate_volume_tank (cálculo_volumen_tanque)" debe comprobar ahora si se han
introducido datos erróneos en los parámetros de entrada. Además se transfiere un valor adicional
"height_max" al bloque. Este indica la altura del tanque.
A continuación, el bloque debe evaluar si el nivel de llenado del tanque es menor que cero o mayor que
la altura indicada del tanque. También debe comprobarse si se ha especificado un diámetro menor que
cero.
En caso de que haya un error, es necesario suministrar un parámetro de salida booleano "er" TRUE y
el valor del parámetro"volume" debe ser -1.
Ampliación de la lista de asignación/tabla de variables:
Dirección
%A1.7
Símbolo
Bit de error
Tipo de datos
BOOL
Comentario
Error, no se ha podido realizar el cálculo
Ampliación de la interfaz de la función FC140:
cálculo_volumen_tanque
Tipo
IN
OUT
Comentario
en metros
er = 1, error; volumen = -1
Símbolo
heigth_max
er
Tipo de datos
REAL
REAL
Llamada de función: representación en FUP
FC140
cálculo_volumen_tanque
filling_level:
REAL
heigth_max: REAL
diameter:
REAL
BOOL
: er
REAL:volume
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Página 26 de 30
Uso exclusivo para centros de formación e I+D
© 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.
Amplíe la tabla de variables del bloque como se ha indicado.
( controller 001 (controlador 001) [CPU1214 AC/DC/Rly]  PLC tags (Variables PLC)  Default
tag table (Tabla de variables estándar)  Introducir operandos)
2.
Amplíe los "parámetros de interfaz" del bloque como se ha indicado.
( controller 001 (controlador 001) [CPU1214 AC/DC/Rly]  Program blocks (Bloques de
programa)  calculate_volume_tank (cálculo_volumen_tanque)  introducir parámetros)
Documentación de cursos SCE
Módulo TIA Portal 010-090, edición 09/2012
Página 27 de 30
Uso exclusivo para centros de formación e I+D
© 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
Módulo TIA Portal 010-090, edición 09/2012


Página 28 de 30
)
Uso exclusivo para centros de formación e I+D
© 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
Módulo TIA Portal 010-090, edición 09/2012
Página 29 de 30
Uso exclusivo para centros de formación e I+D
© 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
6.
Complete los valores en el parámetro de entrada "heigth_max" y en el parámetro de salida "er"
como se indica abajo. Compile, guarde y cargue el programa en el controlador.
(Completar parámetros 
7.



)
Compruebe las modificaciones en el "Modo de observación" del bloque "cálculo_volumen_tanque".
( controller 001 (controlador 001) [CPU1214 AC/DC/Rly]  Program blocks (Bloques de
programa)  calculate_volume_tank (cálculo_volumen_tanque) 
)
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
Módulo TIA Portal 010-090, edición 09/2012
Página 30 de 30
Uso exclusivo para centros de formación e I+D
© 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