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 diameter2 3.14159 filling_level 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