Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Instalacin Disear un programa S7-SCL Manejo de S7-SCL Conceptos generales de S7-SCL Estructura de programas S7-SCL Tipos de datos Declaracin de variables y parmetros locales Declaracin de constantes y saltos Datos globales Expresiones, operaciones y operandos Instrucciones Contadores y temporizadores Funciones estndar de S7-SCL Descripcin del lenguaje Consejos y trucos Glosario, ndice alfabtico
Manual
Edicin 01/2005
A5E00324652-01
Consignas de seguridad
Este manual contiene las informaciones necesarias para la seguridad personal as como para la prevencin de daos materiales. Las informaciones para su seguridad personal estn resaltadas con un tringulo de advertencia; las informaciones para evitar nicamente daos materiales no llevan dicho tringulo. De acuerdo al grado de peligro las consignas se representan, de mayor a menor peligro, como sigue:
! ! !
Peligro
Significa que, si no se adoptan las medidas preventivas adecuadas se producir la muerte, o bien lesiones corporales graves.
Advertencia
Significa que, si no se adoptan las medidas preventivas adecuadas puede producirse la muerte o bien lesiones corporales graves.
Precaucin
Con tringulo de advertencia significa que si no se adoptan las medidas preventivas adecuadas, pueden producirse lesiones corporales.
Precaucin
Sin tringulo de advertencia significa que si no se adoptan las medidas preventivas adecuadas, pueden producirse daos materiales.
Atencin
Significa que puede producirse un resultado o estado no deseado si no se respeta la consigna de seguridad correspondiente. Si se dan varios niveles de peligro se usa siempre la consigna de seguridad ms estricta en cada caso. Si en una consigna de seguridad con tringulo de advertencia se alarma de posibles daos personales, la misma consigna puede contener tambin una advertencia sobre posibles daos materiales.
Personal cualificado
El equipo/sistema correspondiente slo deber instalarse y operarse respetando lo especificado en este documento. Slo est autorizado a intervenir en este equipo el personal cualificado. En el sentido del manual se trata de personas que disponen de los conocimientos tcnicos necesarios para poner en funcionamiento, conectar a tierra y marcar los aparatos, sistemas y circuitos de acuerdo con las normas estndar de seguridad.
Uso conforme
Considere lo siguiente:
Advertencia
El equipo o los componentes del sistema slo se podrn utilizar para los casos de aplicacin previstos en el catlogo y en la descripcin tcnica, y slo asociado a los equipos y componentes de Siemens y de tercera que han sido recomendados y homologados por Siemens. El funcionamiento correcto y seguro del producto presupone un transporte, un almacenamiento, una instalacin y un montaje conforme a las prcticas de la buena ingeniera, as como un manejo y un mantenimiento rigurosos.
Marcas registradas
Todos los nombres marcados con son marcas registradas de Siemens AG. Los restantes nombres y designaciones contenidos en el presente documento pueden ser marcas registradas cuya utilizacin por terceros para sus propios fines puede violar los derechos de sus titulares. Copyright Siemens AG 2005 All rights reserved
La divulgacin y reproduccin de este documento, as como el uso y la comunicacin de su contenido, no estn autorizados, a no ser que se obtenga el consentimiento expreso para ello. Los infractores quedan obligados a la indemnizacin por daos y perjuicios. Se reservan todos los derechos, en particular para el caso de concesin de patentes o de modelos de utilidad.
Exencin de responsabilidad
Hemos comprobado la concordancia del contenido de esta publicacin con el hardware y el software descritos. Sin embargo, como es imposible excluir desviaciones, no podemos hacernos responsable de la plena concordancia. El contenido de esta publicacin se revisa peridicamente; si es necesario, las posibles correcciones se incluyen en la siguiente edicin.
Siemens Aktiengesellschaft
A5E00324652-01
Prlogo
Finalidad del manual
Este manual proporciona un completo resumen acerca de la programacin con S7-SCL. Sirve de ayuda durante la instalacin y la puesta en marcha del software. En l se explican los pasos que hay que seguir para crear el programa, la estructura de los programas de usuario y los elementos de lenguaje individuales. Este manual est dirigido a programadores de programas S7 y al personale encargado de la configuracin, la puesta en marcha y el mantenimiento de sistemas de automatizacin. Le recomendamos familiarizarse con el ejemplo del captulo 2 "Diseo de un programa S7-SCL". Este ejemplo ofrece una sencilla introduccin a la programacin con S7-SCL.
iii
Prlogo
Informacin bsica de STEP 7 compuesta por: STEP 7 V5.3: Introduccin y ejercicios prcticos, Getting Started Programar con STEP 7 V5.3 Configurar el hardware y la comunicacin con STEP 7 V5.3 De S5 a S7, Gua para facilitar la transicin
Nociones bsicas para el personal tcnico. Describe cmo realizar soluciones de control con el software STEP 7 para los sistemas S7-300/400.
Informacin de referencia STEP 7 con Manuales KOP/FUP/AWL para S7-300/400 Funciones estndar y de sistema para S7-300/400
Informacin de consulta que describe los lenguajes de programacin KOP, FUP y AWL y las funciones estndar y de sistema que integran STEP 7.
6ES7810-4CA07-8DW1
Ayudas en pantalla Ayuda acerca de S7-SCL Ayuda acerca de STEP 7 Ayudas de referencia acerca de AWL/KOP/FUP Ayuda de referencia acerca de SFB/SFC Ayuda de referencia acerca de bloques de organizacin Ayuda de referencia acerca de funciones IEC Ayuda de referencia acerca de atributos de sistema
Finalidad Informacin bsica y de Informacin bsica sobre cmo Informacin de referencia contextual
Nmero de referencia Componente del Componente del Componente del paquete de software STEP 7
iv
Prlogo
Ayuda en pantalla
La ayuda en pantalla le ofrece informacin en el lugar donde la necesite. As podr obtener informacin de forma rpida y especfica sin tener que buscar en los manuales. En la ayuda en pantalla encontrar: Temas de Ayuda: ofrece diferentes accesos para visualizar informacin de ayuda. Ayuda contextual (tecla F1): muestra informacin sobre el objeto seleccionado o el cuadro de dilogo y/o ventana activos. Introduccin: proporciona un breve resumen sobre el uso, las caractersticas esenciales y la funcionalidad de la aplicacin. Primeros pasos: describe los primeros pasos que debe realizar para obtener buenos resultados. Uso de la Ayuda: explica las posibilidades de las que dispone el usuario para encontrar determinada informacin en la Ayuda. Acerca de: proporciona informacin sobre la versin actual de la aplicacin.
Asistencia adicional
Si tiene preguntas relacionadas con el uso de los productos descritos en el manual a las que no encuentre respuesta, dirjase a la sucursal o al representante ms prximo de Siemens, en donde le pondrn en contacto con el especialista. Encontrar a su persona de contacto en la pgina de Internet: http://www.siemens.com/automation/partner Encontrar una gua sobre el conjunto de la informacin tcnica correspondiente a los distintos productos y sistemas SIMATIC en la pgina de Internet: http://www.siemens.com/simatic-tech-doku-portal Encontrar el catlogo y el sistema de pedidos on-line en: http://mall.automation.siemens.com/
Prlogo
Technical Support
Podr acceder al Technical Support de todos los productos de A&D a travs del formulario de Internet para el Support Request http://www.siemens.com/automation/support-request Telfono: Fax: + 49 180 5050 222 + 49 180 5050 223
vi
ndice
1 Presentacin del producto ......................................................................................................1-1 1.1 1.2 1.3 1.4 2 Campo de aplicacin de S7-SCL ................................................................................1-1 Funcionamiento de S7-SCL ........................................................................................1-2 Qu funciones ofrece S7-SCL? ................................................................................1-4 Novedades de la versin V5.3 SP1 ............................................................................1-6
Instalacin .................................................................................................................................2-1 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.2.2 Automation License Manager .....................................................................................2-1 Autorizacin de uso con el Automation License Manager ..........................................2-1 Instalar el Automation Licence Manager.....................................................................2-4 Reglas para el uso de claves de licencia ....................................................................2-5 Instalacin ...................................................................................................................2-6 Requisitos de instalacin.............................................................................................2-6 Instalacin de S7-SCL.................................................................................................2-6
Disear un programa S7-SCL..................................................................................................3-1 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.9.1 3.10 3.10.1 3.10.2 3.10.3 3.11 3.11.1 3.11.2 3.11.3 3.12 3.13 Bienvenido al ejemplo de iniciacin "Adquisicin de valores medidos"......................3-1 Planteamiento .............................................................................................................3-2 Crear un programa estructurado con S7-SCL ............................................................3-4 Definir las tareas parciales ..........................................................................................3-6 Definir los interfaces entre bloques .............................................................................3-8 Definir el interface de entrada/salida.........................................................................3-10 Definir la secuencia de bloques en la fuente ............................................................3-11 Definir los smbolos ...................................................................................................3-11 Crear la funcin CUADRADO ...................................................................................3-12 rea de instrucciones de la funcin CUADRADO ....................................................3-12 Crear el bloque de funcin EVALUACION................................................................3-13 Diagrama de flujo de EVALUACIN.........................................................................3-13 rea de declaracin del FB EVALUACION...............................................................3-14 rea de instrucciones del FB EVALUACION ............................................................3-15 Crear el bloque de funcin ADQUISICIN ...............................................................3-17 Diagrama de flujo de ADQUISICION ........................................................................3-17 rea de declaracin del FB ADQUISICION ..............................................................3-18 rea de instrucciones del FB ADQUISICION ...........................................................3-20 Crear el bloque de organizacin CICLO ...................................................................3-23 Datos del test ............................................................................................................3-25
Manejo de S7-SCL ....................................................................................................................4-1 4.1 4.2 4.3 4.4 4.4.1 4.4.2 4.4.3 4.4.4 Iniciar el software S7-SCL...........................................................................................4-1 Interface de usuario.....................................................................................................4-2 Personalizar el interface de usuario............................................................................4-3 Crear y manejar fuentes S7-SCL ................................................................................4-4 Crear una fuente S7-SCL............................................................................................4-4 Abrir una fuente S7-SCL .............................................................................................4-5 Cerrar una fuente S7-SCL...........................................................................................4-5 Abrir bloques ...............................................................................................................4-6
vii
ndice
4.4.5 4.4.6 4.4.7 4.5 4.5.1 4.5.2 4.5.3 4.6 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.6.7 4.6.8 4.6.9 4.6.10 4.6.11 4.6.12 4.6.12.1 4.6.12.2 4.6.12.3 4.6.12.4 4.6.12.5 4.7 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.8 4.8.1 4.8.2 4.8.3 4.8.4 4.9 4.9.1 4.9.2 4.10 4.10.1 4.10.2 4.10.3 4.10.4 4.10.4.1 4.10.5 4.10.5.1 4.10.5.2 4.10.5.3 4.10.5.4 4.10.5.5 4.10.5.6 4.10.6 4.10.6.1 4.10.6.2
Definir las propiedades de un objeto...........................................................................4-6 Crear fuentes S7-SCL con un editor estndar ............................................................4-6 Proteger bloques .........................................................................................................4-7 Reglas para las fuentes S7-SCL.................................................................................4-7 Reglas generales para las fuentes S7-SCL ................................................................4-7 Criterios para ordenar los bloques en el programa.....................................................4-8 Uso de direcciones simblicas ....................................................................................4-8 Editar en fuentes S7-SCL............................................................................................4-9 Deshacer la ltima accin ...........................................................................................4-9 Restablecer una accin...............................................................................................4-9 Buscar y reemplazar texto...........................................................................................4-9 Seleccionar texto.......................................................................................................4-10 Copiar texto ...............................................................................................................4-10 Cortar texto................................................................................................................4-11 Borrar texto................................................................................................................4-11 Posicionar el cursor en una lnea determinada.........................................................4-12 Sangrado de lneas acorde a la sintaxis ...................................................................4-13 Ajuste del estilo y color de la letra.............................................................................4-14 Posicionar marcadores en el texto fuente.................................................................4-15 Insertar plantillas .......................................................................................................4-16 Insertar plantillas de bloque ......................................................................................4-16 Insertar llamadas de bloque ......................................................................................4-16 Insertar plantillas para comentarios ..........................................................................4-16 Insertar plantillas de parmetros ...............................................................................4-17 Insertar estructuras de control ..................................................................................4-17 Compilar un programa S7-SCL .................................................................................4-18 Informacin importante sobre la compilacin............................................................4-18 Ajustar el compilador.................................................................................................4-19 Compilar el programa................................................................................................4-20 Crear un archivo de compilacin...............................................................................4-21 Eliminar errores despus de compilar.......................................................................4-21 Guardar e imprimir una fuente S7-SCL.....................................................................4-22 Guardar una fuente S7-SCL......................................................................................4-22 Ajustar el diseo de pgina .......................................................................................4-22 Imprimir una fuente S7-SCL......................................................................................4-23 Ajuste de las opciones de impresin.........................................................................4-24 Cargar los programas creados..................................................................................4-25 Borrado total de la memoria de la CPU ....................................................................4-25 Cargar programas de usuario en la CPU..................................................................4-25 Testear los programas creados ................................................................................4-27 Funciones de test de S7-SCL ...................................................................................4-27 Informacin importante sobre la funcin de test "Observar".....................................4-28 Informacin importante sobre "Test con puntos de parada/modo Paso a paso"......4-29 Pasos para observar .................................................................................................4-30 Definir un entorno de llamada para los bloques .......................................................4-31 Pasos para realizar el test con puntos de parada.....................................................4-32 Definir puntos de parada ...........................................................................................4-32 Iniciar el test con puntos de parada ..........................................................................4-32 Finalizar el test con puntos de parada ......................................................................4-33 Activar, desactivar y anular puntos de parada ..........................................................4-33 Definir un entorno de llamada para los puntos de parada ........................................4-34 Test en modo Paso a Paso .......................................................................................4-35 Uso de las funciones de test de STEP 7...................................................................4-36 Crear y/o mostrar los datos de referencia.................................................................4-36 Observar y forzar variables .......................................................................................4-37
viii
ndice
4.10.6.3 4.11 4.11.1 4.11.2 4.11.3 4.11.4 4.11.5 4.11.6 4.11.7 4.11.8 4.11.9 4.11.10 5
Comprobar la coherencia de los bloques..................................................................4-37 Visualizar y cambiar las propiedades de la CPU ......................................................4-39 Visualizar y cambiar el estado operativo de la CPU .................................................4-39 Visualizar y ajustar la fecha y la hora de la CPU ......................................................4-39 Visualizar los datos de la CPU ..................................................................................4-40 Leer el bfer de diagnstico de la CPU ....................................................................4-40 Visualizar y comprimir la memoria de usuario de la CPU.........................................4-40 Visualizar el tiempo de ciclo de la CPU ....................................................................4-41 Visualizar el sistema de reloj de la CPU ...................................................................4-41 Visualizar los bloques de la CPU ..............................................................................4-41 Visualizar los datos de comunicacin de la CPU......................................................4-42 Visualizar las pilas de la CPU ...................................................................................4-42
Conceptos generales de S7-SCL ............................................................................................5-1 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 Interpretacin de los diagramas sintcticos ................................................................5-1 Juego de caracteres....................................................................................................5-4 Palabras reservadas (palabras clave).........................................................................5-5 Identificadores .............................................................................................................5-6 Identificadores estndar ..............................................................................................5-7 Identificadores de bloques ..........................................................................................5-7 Identificadores de operandos ......................................................................................5-9 Identificadores de temporizadores ............................................................................5-10 Identificadores de contadores ...................................................................................5-10 Nmeros ....................................................................................................................5-11 Cadenas de caracteres .............................................................................................5-13 Smbolos....................................................................................................................5-14 Bloque de comentario ...............................................................................................5-15 Lnea de comentario..................................................................................................5-16 Variables....................................................................................................................5-17
Estructura de programas S7-SCL ...........................................................................................6-1 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 Bloques en fuentes S7-SCL ........................................................................................6-1 Criterios para ordenar los bloques en el programa.....................................................6-2 Estructura bsica de un bloque...................................................................................6-3 Principio y fin de bloque ..............................................................................................6-4 Atributos de bloques....................................................................................................6-6 Comentario del bloque ................................................................................................6-9 Atributos de sistema para bloques ............................................................................6-10 rea de declaracin ..................................................................................................6-11 Atributos de sistema para parmetros ......................................................................6-12 rea de instrucciones................................................................................................6-13 Instrucciones .............................................................................................................6-14 Estructura de un bloque de funcin (FB) ..................................................................6-15 Estructura de una funcin (FC) .................................................................................6-17 Estructura de un bloque de organizacin (OB) .........................................................6-19 Estructura de un bloque de datos (DB).....................................................................6-20 Estructura de un tipo de datos de usuario ................................................................6-23 Opciones del compilador en fuentes de S7-SCL ......................................................6-25
ix
ndice
Tipos de datos ..........................................................................................................................7-1 7.1 7.2 7.2.1 7.2.2 7.2.3 7.2.4 7.3 7.3.1 7.3.2 7.3.3 7.3.4 7.4 7.4.1 7.5 7.5.1 7.5.2 7.5.3 7.6 7.6.1 Sinopsis de los tipos de datos en S7-SCL ..................................................................7-1 Tipos de datos simples................................................................................................7-3 Tipo de datos Bit .........................................................................................................7-3 Tipo de datos Carcter................................................................................................7-3 Tipos de datos numricos ...........................................................................................7-3 Tipo de datos Tiempo..................................................................................................7-4 Tipos de datos compuestos ........................................................................................7-5 Tipo de datos DATE_AND_TIME................................................................................7-5 Tipo de datos STRING ................................................................................................7-7 Tipo de datos ARRAY .................................................................................................7-9 Tipo de datos STRUCT .............................................................................................7-11 Tipos de datos de usuario .........................................................................................7-13 Tipos de datos de usuario (UDT) ..............................................................................7-13 Tipos de datos para parmetros ...............................................................................7-15 Tipos de datos TIMER y COUNTER.........................................................................7-15 Tipo de datos BLOCK ...............................................................................................7-16 Tipo de datos POINTER............................................................................................7-16 Tipo de datos ANY ....................................................................................................7-18 Ejemplo del tipo de datos ANY .................................................................................7-19
Declaracin de variables y parmetros locales ....................................................................8-1 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.8.1 8.8.2 8.8.3 8.8.4 Variables locales y parmetros de bloque ..................................................................8-1 Sintaxis general de una declaracin de variables o de parmetros ...........................8-2 Inicializacin ................................................................................................................8-3 Declarar vistas sobre reas de variables ....................................................................8-5 Uso de multiinstancias ................................................................................................8-7 Declaracin de instancias ...........................................................................................8-7 Flags (OK flag) ............................................................................................................8-8 Secciones de declaracin ...........................................................................................8-9 Sinopsis de las secciones de declaracin...................................................................8-9 Variables estticas ....................................................................................................8-10 Variables temporales.................................................................................................8-11 Parmetros de bloques .............................................................................................8-12
Declaracin de constantes y saltos........................................................................................9-1 9.1 9.1.1 9.1.2 9.1.3 9.1.3.1 9.1.3.2 9.1.3.3 9.1.3.4 9.1.3.5 9.1.3.6 9.1.3.7 9.1.3.8 9.1.3.9 9.2 Constantes ..................................................................................................................9-1 Declaracin de nombres simblicos para constantes.................................................9-2 Tipos de datos de las constantes................................................................................9-3 Notacin de constantes...............................................................................................9-4 Constantes de bits ......................................................................................................9-6 Constante entera ........................................................................................................9-7 Constante real.............................................................................................................9-8 Constante CHAR (un solo carcter) ...........................................................................9-9 Constante STRING ...................................................................................................9-11 Constante de fecha...................................................................................................9-13 Constante de tiempo.................................................................................................9-14 Constantes de hora...................................................................................................9-16 Constante de fecha y hora........................................................................................9-17 Declaracin de metas de salto ..................................................................................9-18
ndice
10
Datos globales ........................................................................................................................10-1 10.1 10.2 10.2.1 10.2.2 10.2.3 10.2.4 10.3 10.3.1 10.3.2 10.3.3 10.3.4 Sinopsis de los datos globales ..................................................................................10-1 reas de memoria de la CPU ...................................................................................10-2 Sinopsis de las reas de memoria de la CPU ..........................................................10-2 Acceso absoluto a reas de memoria de la CPU .....................................................10-3 Acceso simblico a reas de memoria de la CPU ....................................................10-5 Acceso indizado a reas de memoria de la CPU .....................................................10-6 Bloques datos............................................................................................................10-7 Sinopsis de los bloques de datos..............................................................................10-7 Acceso absoluto a bloques de datos ........................................................................10-8 Acceso indizado a bloques de datos.......................................................................10-10 Acceso estructurado a bloques de datos ................................................................10-11
11
Expresiones, operaciones y operandos...............................................................................11-1 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 Sinopsis de las expresiones, operaciones y operandos ...........................................11-1 Operaciones ..............................................................................................................11-2 Operandos.................................................................................................................11-3 Sintaxis de una expresin .........................................................................................11-5 Expresin simple .......................................................................................................11-7 Expresiones aritmticas ............................................................................................11-8 Expresiones lgicas ................................................................................................11-10 Expresiones de comparacin ..................................................................................11-12
12
Instrucciones ..........................................................................................................................12-1 12.1 12.1.1 12.1.2 12.1.3 12.1.4 12.1.5 12.1.6 12.1.7 12.2 12.2.1 12.2.2 12.2.3 12.2.4 12.2.5 12.2.6 12.2.7 12.2.8 12.2.9 12.2.10 12.2.11 12.3 12.3.1 12.3.2 12.3.2.1 12.3.2.2 12.3.2.3 12.3.2.4 12.3.2.5 12.3.2.6 12.3.2.7 Asignaciones de valor ...............................................................................................12-1 Asignacin con variables de un tipo de datos simple ...............................................12-2 Asignacin con variables del tipo STRUCT y UDT ...................................................12-3 Asignacin con variables del tipo ARRAY ................................................................12-5 Asignacin con variables del tipo STRING ...............................................................12-7 Asignacin con variables del tipo DATE_AND_TIME...............................................12-8 Asignacin con variables absolutas para reas de memoria....................................12-9 Asignacin con variables globales ..........................................................................12-10 Instrucciones de control ..........................................................................................12-12 Sinopsis de las instrucciones de control .................................................................12-12 Condiciones.............................................................................................................12-13 Instruccin IF ...........................................................................................................12-14 Instruccin CASE ....................................................................................................12-16 Instruccin FOR ......................................................................................................12-18 Instruccin WHILE...................................................................................................12-21 Instruccin REPEAT................................................................................................12-22 Instruccin CONTINUE ...........................................................................................12-23 Instruccin EXIT ......................................................................................................12-24 Instruccin GOTO ...................................................................................................12-25 Instruccin RETURN ...............................................................................................12-26 Llamada a funciones y bloques de funcin .............................................................12-27 Llamada y transferencia de parmetros..................................................................12-27 Llamada a bloques de funcin ................................................................................12-29 Llamada a bloques de funcin (FB o SFB) .............................................................12-29 Asignacin de parmetros FB .................................................................................12-31 Asignacin de entrada (FB) ....................................................................................12-33 Asignacin de entrada/salida (FB) ..........................................................................12-34 Leer valores de salida (llamada a FB) ....................................................................12-35 Ejemplo de llamada como instancia global .............................................................12-36 Ejemplo de llamada como instancia local ...............................................................12-38
xi
ndice
12.3.3 12.3.3.1 12.3.3.2 12.3.3.3 12.3.3.4 12.3.3.5 12.3.3.6 12.3.4 12.3.4.1 12.3.4.2 13
Llamada a funciones ...............................................................................................12-39 Llamada a funciones (FC) .......................................................................................12-39 Valor de respuesta (FC) ..........................................................................................12-40 Parmetros de FC ...................................................................................................12-41 Asignacin de entrada (FC) ....................................................................................12-42 Asignacin de salida y de entrada/salida (FC) .......................................................12-43 Ejemplo de llamada a una funcin ..........................................................................12-45 Parmetros definidos implcitamente ......................................................................12-46 Parmetro de entrada EN .......................................................................................12-46 Parmetro de salida ENO .......................................................................................12-47
Contadores y temporizadores ...............................................................................................13-1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.1.5 13.1.6 13.1.7 13.1.8 13.2 13.2.1 13.2.2 13.2.3 13.2.4 13.2.5 13.2.6 13.2.7 13.2.8 13.2.9 13.2.10 13.2.11 Contadores ................................................................................................................13-1 Funciones de contaje ................................................................................................13-1 Llamada a funciones de contaje ...............................................................................13-1 Asignacin de parmetros en funciones de contaje .................................................13-3 Entrada y evaluacin del valor de contaje ................................................................13-5 Incrementar contador (S_CU) ...................................................................................13-6 Decrementar contador (S_CD) .................................................................................13-6 Incrementar/decrementar contador (S_CUD) ...........................................................13-7 Ejemplo de funciones de contaje ..............................................................................13-7 Temporizadores ........................................................................................................13-9 Funciones de temporizacin .....................................................................................13-9 Llamada a funciones de temporizacin.....................................................................13-9 Asignacin de parmetros en funciones de temporizacin ....................................13-11 Entrada y evaluacin del valor de temporizacin ...................................................13-13 Arrancar temporizador como impulso (S_PULSE) .................................................13-15 Arrancar temporizador como impulso prolongado (S_PEXT).................................13-16 Arrancar temporizador como retardo a la conexin (S_ODT) ................................13-17 Arrancar temporizador como retardo a la conexin con memoria (S_ODTS) ........13-18 Arrancar temporizador como retardo a la desconexin (S_OFFDT) ......................13-19 Ejemplo de funciones de temporizacin .................................................................13-20 Seleccin del temporizador correcto.......................................................................13-21
14
Funciones estndar de S7-SCL.............................................................................................14-1 14.1 14.1.1 14.1.2 14.1.2.1 14.1.3 14.1.3.1 14.1.3.2 14.1.3.3 14.2 14.2.1 14.2.2 14.2.3 14.2.4 14.3 14.3.1 14.4 14.4.1 14.4.2 14.4.3 14.4.4 Funciones de conversin del tipo de datos...............................................................14-1 Conversin del tipo de datos.....................................................................................14-1 Conversin implcita del tipo de datos ......................................................................14-2 Funciones de conversin de clase A ........................................................................14-2 Funciones estndar para la conversin explcita del tipo de datos ..........................14-3 Funciones de conversin de clase B ........................................................................14-3 Funciones de redondeo y truncado...........................................................................14-5 Ejemplos de conversin con funciones estndar......................................................14-7 Funciones estndar numricas .................................................................................14-9 Funciones estndar aritmticas bsicas ...................................................................14-9 Funciones logartmicas .............................................................................................14-9 Funciones trigonomtricas ......................................................................................14-10 Ejemplos de funciones estndar numricas ...........................................................14-10 Funciones estndar de cadena de bits ...................................................................14-11 Ejemplos de funciones estndar de cadena de bits ...............................................14-12 Funciones para procesar cadenas de caracteres ...................................................14-13 Funciones para manipular cadenas ........................................................................14-13 Funciones para comparar cadenas de caracteres..................................................14-17 Funciones para convertir el formato de datos.........................................................14-19 Ejemplo de procesamiento de cadenas de caracteres ...........................................14-21
xii
ndice
Funciones para la seleccin de valores ..................................................................14-23 Funciones para la seleccin de valores ..................................................................14-23 SFCs, SFBs y libreras estndar .............................................................................14-27 Funciones de sistema, bloques de funcin de sistema y librera estndar ............14-27 Interface de transferencia al OB .............................................................................14-29
Descripcin del lenguaje .......................................................................................................15-1 15.1 15.1.1 15.1.2 15.1.3 15.1.4 15.1.5 15.1.6 15.1.7 15.1.8 15.1.9 15.1.10 15.1.11 15.2 15.2.1 15.2.2 15.2.3 15.2.4 15.2.5 15.2.6 15.2.7 15.3 15.3.1 15.3.2 15.3.3 15.3.4 15.3.5 15.3.6 15.3.7 Descripcin formal.....................................................................................................15-1 Sinopsis de los diagramas sintcticos ......................................................................15-1 Reglas .......................................................................................................................15-2 Terminales de las reglas lxicas ...............................................................................15-5 Caracteres de formateo y de separacin y operaciones ..........................................15-7 Palabras clave e identificadores predefinidos.........................................................15-10 Identificadores de operando y palabras clave de bloques......................................15-13 Sinopsis de no terminales .......................................................................................15-14 Sinopsis de token ....................................................................................................15-15 Identificadores .........................................................................................................15-15 Asignacin de nombres en S7-SCL ........................................................................15-17 Constantes predefinidas y OK flags........................................................................15-20 Reglas lxicas .........................................................................................................15-21 Sinopsis de las reglas lxicas .................................................................................15-21 Identificadores .........................................................................................................15-21 Constantes ..............................................................................................................15-24 Direccionamiento absoluto ......................................................................................15-30 Comentarios ............................................................................................................15-32 Atributos de bloques................................................................................................15-33 Opciones de compilador..........................................................................................15-34 Reglas sintcticas ...................................................................................................15-35 Sinopsis de las reglas sintcticas ...........................................................................15-35 Segmentacin de fuentes S7-SCL..........................................................................15-36 Estructura de las reas de declaracin...................................................................15-38 Tipos de datos de S7-SCL ......................................................................................15-43 rea de instrucciones..............................................................................................15-46 Llamada a funciones y bloques de funcin .............................................................15-48 Instrucciones de control ..........................................................................................15-50
16
Consejos y trucos...................................................................................................................16-1
xiii
ndice
xiv
1.1
Certificado PLCopen
S7-SCL es un lenguaje textual de alto nivel ST (Structured Text) segn lo establecido en la norma IEC 61131-3 ST y ha sido preparado para la certificacin para el Reusability Level.
Campo de aplicacin
S7-SCL est optimizado para la programacin de autmatas programables y contiene tanto elementos del lenguaje de programacin PASCAL como elementos tpicos de PLCs, como entradas y salidas, temporizadores y contadores. S7-SCL resulta especialmente apropiado para resolver las siguientes tareas: Programacin de algoritmos complejos Programacin de funciones matemticas Gestin de datos y recetas Optimizacin del proceso
1-1
1.2
Funcionamiento de S7-SCL
Integracin en STEP 7
S7-SCL soporta el concepto de bloques de STEP 7.
OB
FC
FB
DB
UDT
SFC
SFB
Bloques STEP 7
Con S7-SCL se pueden crear los siguientes bloques de STEP 7: OB FC FB DB UDT En un programa S7 tambin se pueden combinar bloques de S7-SCL con bloques de otros lenguajes de programacin de STEP 7. Estos bloques se pueden llamar unos a otros. Los bloques de S7-SCL tambin se pueden almacenar en libreras y utilizarlos desde all en otros lenguajes. Como los programas de S7-SCL se pueden programar como fuentes ASCII, son fciles de importar y exportar. Los bloques de S7-SCL se pueden recompilar al lenguaje de programacin AWL de STEP 7 (lista de instrucciones). Sin embargo, tenga en cuenta que una vez guardados en AWL ya no se pueden editar en S7-SCL.
Entorno de desarrollo
S7-SCL ofrece en la prctica un potente entorno de desarrollo adaptado tanto a las caractersticas especficas de S7-SCL como a las de STEP 7. El entorno de desarrollo est formado por los siguientes componentes: Un editor para elaborar programas compuestos de funciones (FC), bloques de funcin (FB), bloques de organizacin (OB), bloques de datos (DB) y tipos de datos de usuario (UDT). El programador cuenta con la ayuda de potentes funciones. Un compilador por lotes para compilar a cdigo mquina MC7 el programa previamente editado. El cdigo MC7 generado puede ejecutarse en todas las CPU del sistema de automatizacin S7-300/400 a partir de la CPU 314. Un depurador que permite buscar errores lgicos de programacin en una compilacin sin errores. La bsqueda de errores se realiza en lenguaje fuente.
1-2
La figura siguiente ofrece una visin de conjunto de los componentes del entorno de desarrollo:
Editor
Compilador de lotes
Depurador
1-3
1.3
Libreras de bloques
Con S7-SCL se suministran bloques ya preparados en libreras, p. ej.: Funciones de sistema Funciones IEC Funciones de conversin Un cuadro de dilogo le ayudar a navegar por la librera. Al seleccionar un bloque se copia automticamente la plantilla de parmetros de la funcin en el archivo que se est editando. El usuario no tiene ms que introducir los parmetros deseados.
Plantillas de programa
El editor de S7-SCL ofrece diversas plantillas que se pueden insertar y que el usuario tan solo tiene que rellenar: Plantillas para bloques (p. ej. bloques de funcin, bloques de datos) y sus llamadas Plantillas para comentarios de bloques, parmetros de bloques y constantes Plantillas para estructuras de control (IF, CASE, FOR, WHILE, REPEAT)
1-4
1-5
1.4
Imprimir en color
Las fuentes de S7-SCL se pueden imprimir a partir de ahora en color.
1-6
Instalacin
2.1
2.1.1
Licencias
Para la utilizacin de paquetes de software de STEP 7 protegidos con licencia se requieren licencias. Una licencia se otorga a modo de derecho a la utilizacin de productos. Los representantes de este derecho son: El CoL (Certificate of License) y La clave de licencia.
2-1
Instalacin
Claves de licencia
La clave de licencia es el representante tcnico de una licencia (sello de licencia electrnico). Para cada software protegido por licencia SIEMENS AG otorga una clave de licencia. Slo si al abrir el software se detectar una clave de liencia vlida podr utilizarse el software correspondiente de acuerdo con las condiciones de licencia y de utilizacin relacionadas con la licencia en cuestin.
Notas Puede utilizar el software bsico sin clave de licencia para familiarizarse con la interfaz de usuario y con sus funciones. El uso ilimitado bajo la consideracin de las determinaciones jurdicas de la licencia slo es posible con una clave de licencia instalada. Si no ha instalado la clave de licencia le aparecer regularmente un aviso que le solicitar la instalacin de la clave.
Las claves de licencia pueden guardarse y transferirse a soportes individuales de la siguiente manera: En disquetes de claves de licencia, En discos duros locales y En memorias de disco duro de ordenadores y de redes Encontrar informacin detallada sobre el uso de claves de licencia en la ayuda en pantalla sobre el Automation License Manager.
2-2
Instalacin
Tipos de licencia
Para productos de software de Siemens AG se distingue entre los siguientes tipos de licencia orientadas a la aplicacin. El comportamiento del software depende de las claves de licencia de los diferentes tipos de licencia. El tipo de utilizacin depende a su vez del correspondiente Certificate of License.
Tipo de licencia Single License Floating License Trial License Descripcin La utilizacin del software es ilimitada en tiempo y es posible en cualquier ordenador. Derecho de utilizacin temporalmente ilimitada sujeta a la utilizacin en red ("remote"Nutzung) de un software. El uso del software est limitado a: Rental License
Una validez mxima de 14 das, Un nmero determinado de das a partir de la primera utilizacin, El uso para pruebas y para validacin (exclusin de responsabilidades).
El uso del software est limitado a : una validez de 50 das como mximo un determinado nmero de horas al ser utilizado
Upgrade License
Para una actualizacin pueden ser necesarios determinados requisitos en cuanto al estado del sistema: Con una licencia de actualizacin puede convertirse la licencia de una antigua versin x a una versin >x+.... Una actualizacin puede ser necesaria p.ej. por la ampliacin del equipamiento.
2-3
Instalacin
2.1.2
Notas
Consulte informacin detallada sobre el procedimiento de instalacin del Automation License Manager en el archivo Lame.wri actual del Automation License Manager.
En la ayuda en pantalla sobre Automation License Manager encontrar toda la informacin necesaria sobre la funcionalidad y el uso de claves de licencia.
Notas
Puede utilizar el software sin clave de licencia para familiarizarse con la interfaz de usuario y con sus funciones. El uso ilimitado bajo la consideracin de las determinaciones jurdicas de la licencia slo es posible con una clave de licencia instalada.
Si no ha instalado la clave de licencia le aparecer regularmente un aviso que le solicitar la instalacin de la clave.
Para instalar la clave de licencia posteriormente dispone de las siguientes posibilidades: Instalar las claves de licencia desde diquets Instalar las claves de licencia a travs de WebDownLoad (es necesaria una solicitud previa) Utilizando las claves de Floating License disponibles en la red. Encontrar informacin detallada sobre el procedimiento en la ayuda en pantalla sobre el Automation License Manager, a la que puede acceder tras la instalacin pulsando la tecla F1 o con el comando de men Ayuda > Ayuda sobre el License Manager.
Notas
Las claves de licencia slo funcionarn en Windows 2000/XP si se encuentran en un soporte de disco duro con acceso de escritura.
Las Floating Licenses tambin puede utilizarse a travs de una red, es decir en modo "remote".
2-4
Instalacin
2.1.3
Cuidado Tenga en cuenta las indicaciones sobre el uso de claves de licencia especificadas en la ayuda en pantalla as como en el archivo Lame.wri referente al Automation License Manager. Si no las observa es posible que pierda las claves de licencia de forma irrecuperable.
La ayuda en pantalla referente al Automation License Manager se puede abrir contextualmente pulsando la tecla F1 o con el comando de men Ayuda > Ayuda sobre el Automation License Manager. En esta ayuda encontrar toda la informacin necesaria sobre la funcionalidad y el uso de las claves de licencia.
2-5
Instalacin
2.2
2.2.1
Instalacin
Requisitos de instalacin
Requisitos de sistema
El paquete opcional S7-SCL V5.3 SP1 se ejecuta en una PG o en un PC con una instalacin del paquete bsico STEP 7 V5.3 o superior. Para ms informacin sobre los requisitos que debe cumplir el sistema operativo, consulte el archivo Leame.wri.
Requisitos de hardware
Para S7-SCL rigen los mismos requisitos que para el paquete bsico STEP 7. La capacidad de memoria que requiere el paquete opcional S7-SCL V5.3 SP1 se indica en archivo Lame.wri.
2.2.2
Instalacin de S7-SCL
2-6
3.1
Qu aprender?
El ejemplo de iniciacin ilustra cmo configurar S7-SCL de forma eficaz. Al principio, las preguntas ms frecuentes son p. ej.: Cmo se trabaja con S7-SCL al disear programas? Qu medios ofrece el lenguaje S7-SCL para solucionar la tarea planteada? De qu funciones de test dispongo? En este captulo se dar respuesta a stas y otras preguntas.
Hardware necesario
El programa de ejemplo se puede ejecutar en un SIMATIC S7-300 o SIMATIC S7-400 con la siguiente periferia: un mdulo de entrada de 16 canales un mdulo de salida de 16 canales
3-1
3.2
Planteamiento
Resumen
La tarea consiste en adquirir valores medidos a travs de un mdulo de entrada y clasificarlos y procesarlos con un programa S7-SCL. Los resultados deben visualizarse en el mdulo de salida.
Introducir datos
Interruptor de entrada Valor medido
1 1 1 1 1 1 1 1
255
Raz Cuadrado
255 127 63 31 15 7 3 1
Adquirir valores medidos
1 3 7 15 31 63 127 255
Clasificar valores medidos Clculos
1 2 3 4 6 8 11 16
(* = Desbordamiento)
Calcular resultados
3-2
Salidas ajustables
En el mdulo de salida slo se puede mostrar un valor. Por eso se programarn las siguientes opciones: Seleccin de un elemento de una lista Seleccin entre valor medido, raz y cuadrado La seleccin del valor mostrado se realiza de la manera siguiente: Con tres interruptores se ajusta una codificacin que se acepta al detectarse un flanco en el cuarto interruptor, el interruptor de codificacin. A partir de aqu se calcula la direccin con la que se direccionar la salida. Con la misma direccin se ponen a disposicin tres valores para la salida: valor medido, raz y cuadrado. Para seleccionar uno de estos valores, hay que programar dos conmutadores.
Introducir datos
Interruptor en mdulo de entrada Codificacin Dos conmutadores 1 1 0
0
Raz o cuadrado
1
Valor medido o resultado
Valor medido
Raz
Cuadrado
1 3 7 15 31 63 127 255
Direccin Valores clasificados Direccin Conmutador
(* = Desbordamiento)
Salida de datos
Visualizacin en mdulos de salida
4
Salida
3-3
3.3
Tipos de bloques
La mejor manera de solucionar la tarea planteada es mediante un programa S7-SCL estructurado. Dicho programa tiene estructura modular; es decir, se compone de bloques que procesan una o varias tareas parciales. Al igual que los lenguajes de programacin de STEP 7, S7-SCL ofrece los siguientes tipos de bloques.
OB
Los bloques de organizacin forman la interface entre el sistema operativo de la CPU S7 y el programa de usuario. Aqu se determina la secuencia de ejecucin de los bloques del programa de usuario. Los bloques de funcin son bloques lgicos con datos estticos. Dado que un FB dispone de memoria, se puede acceder a sus parmetros (p.ej. salidas) desde cualquier punto del programa de usuario. Las funciones son bloques lgicos sin memoria. Dado que no existe memoria, hay que procesar los valores calculados justo despus de llamar a la funcin. Los bloques de datos son reas de datos en las que se guardan los datos de usuario. Existen bloques de datos globales, a los que se puede acceder desde todos los bloques lgicos, y DB de instancia asignados a una llamada a FB determinada. Los tipos de datos definidos por el usuario son tipos de datos configurados que se pueden definir segn las necesidades del usuario y son de uso mltiple. Estos datos se emplean para generar varios bloques de datos con la misma configuracin. Los UDT se utilizan como bloques.
FB
Bloques de STEP 7
FC
DB
UDT
3-4
Carpeta de bloques
Offline
3-5
3.4
Tareas parciales
Las tareas parciales aparecen representadas en forma de cuadros en la siguiente figura. Las rectngulos sobre fondo gris representan los bloques. La disposicin de los bloques lgicos de izquierda a derecha se corresponde con la secuencia de llamada.
CICLO Bloque de organizacin (OB) Entrada de datos Llamada cclica Salida de datos
Calcular resultados
3-6
FB "ADQUISICION"
Al seleccionar el tipo de bloque para resolver las tareas parciales Clasificacin valores medidos y Clculo de resultados hay que tener en cuenta que es necesario crear un bfer de salida que contenga los resultados de clculo raz y cuadrado de cada valor medido. Por este motivo el nico bloque posible es un FB. Dado que el FB es llamado por un FB de orden superior, no necesita ningn DB propio. Sus datos de instancia se pueden crear en el bloque de datos de instancia del FB invocante. La FC resulta idnea para resolver la tarea parcial Clculo de raz o cuadrado porque se puede producir el retorno del resultado como valor de la funcin. Adems, para el clculo no se requiere ningn dato que deba conservarse ms de un ciclo de ejecucin del programa. Para calcular la raz se puede utilizar la funcin estndar de S7-SCL SQRT. Para calcular el cuadrado debe crearse una funcin CUADRADO, que tambin comprobar los lmites del rango.
FB "EVALUACION"
3-7
3.5
Resumen
El interface de un bloque se crea mediante parmetros a los que se puede acceder desde otros bloques. Los parmetros declarados en el bloque son comodines cuyos valores se determinan al efectuarse la llamada al bloque. Estos comodines se denominan parmetros formales y los valores asignados al llamar el bloque, parmetros actuales. Cuando se llama a un bloque se le transfieren datos de entrada en forma de parmetros actuales. Al retornar al bloque invocante se ponen a disposicin los datos de salida para su transferencia. Una funcin (FC) puede transferir su resultado como valor de la funcin. Los parmetros de bloque se pueden dividir en las siguientes categoras:
Parmetros de bloques Parmetros de entrada Significado Los parmetros de entrada asumen los valores de entrada actuales cuando se llama al bloque. Slo permiten accesos de lectura. Los parmetros de salida transfieren los valores de salida actuales al bloque invocante. Permiten accesos de lectura y escritura. Declaracin con VAR_INPUT
Parmetros de salida
VAR_OUTPUT
Parmetros de entrada/salida Cuando se efecta la llamada, los parmetros de entrada/salida asumen el valor actual de una variable, lo procesan y a continuacin devuelven los resultados a la misma variable.
VAR_IN_OUT
OB Ciclo
El OB CICLO no dispone de ningn parmetro formal. Llama al FB ADQUISICION y le asigna el valor medido y los datos de control para sus parmetros formales.
FB ADQUISICION
Nombre del parmetro intr_val_med nue_val nue_clas sel_funcion seleccion nue_sel sal_resultado sal_v_med Tipo de datos INT BOOL BOOL BOOL WORD BOOL DWORD DWORD Tipo de declaracin VAR_INPUT VAR_INPUT VAR_INPUT VAR_INPUT VAR_INPUT VAR_INPUT VAR_OUTPUT VAR_OUTPUT Descripcin Valor medido Interruptor para aceptar el valor medido en el bfer de anillo Interruptor para clasificar y evaluar valores medidos Conmutador para seleccionar raz o cuadrado Cdigo para seleccionar valor de salida Interruptor para aceptar la codificacin Salida del resultado calculado Salida del valor medido correspondiente
3-8
Evaluar
El FB ADQUISICION llama al FB EVALUACION. Ambos FB reciben como dato comn el array del valor medido que se clasificar. Por ello se declara como parmetro de entrada/salida. Para el resultado de clculo de la raz y del cuadrado se crea un array estructurado en forma de parmetro de salida. En la siguiente tabla se indican los parmetros formales:
Nombre bufer_clasif bufer_calculo Tipo de datos ARRAY[..] OF REAL ARRAY[..]OF STRUCT Tipo de declaracin VAR_IN_OUT VAR_OUTPUT Descripcin Array de valor medido, se corresponde con el bfer anular Array para resultados: estructura con los componentes "RAIZ" y "CUADRADO" del tipo INT
SQRT y cuadrado
Las funciones se llaman desde EVALUACION. Necesitan un valor de entrada y proporcionan un valor de funcin como resultado.
Nombre Valor SQRT Valor CUADRADO Tipo de datos REAL REAL INT INT Tipo de declaracin VAR_INPUT Valor de funcin VAR_INPUT Valor de funcin Descripcin Entrada para RAIZ Raz del valor de entrada Entrada para CUADRADO Cuadrado del valor de entrada
3-9
3.6
Sistema de automatizacin
Byte 1
Byte 5
Mdulo de entrada
Byte 0
E 0.3 E 0.4
0 1 2 3 4 5 6 7 0a7 Aceptacin del valor medido Inicio de clasificacin y clculo Selec. resultado: raz o cuadrado Selec. salida: Valor medido o resultado Codificacin bit 0 Codificacin bit 1 Codificacin bit 2 Aceptacin de la codificacin
Byte 1
Mdulo de Byte 4 salida
0 1 2 3 4 5 6 7
0a7
Byte ms significativo de la palabra de salida(bits 8 s 15) slo necesario en el clculo del cuadrado. En otros casos, 0.
0 1 2 3 4 5
0a7
Byte menos significativo de la palabra de salida (bits 0 a 7): valor medido o resultado: raz o cuadrado.
Byte 5
6 7
3-10
3.7
3.8
3-11
3.9
3.9.1
rea de instrucciones
En primer lugar se comprueba si el valor de entrada excede el lmite en el que el resultado es superior al rango permitido para enteros. En este caso se registrara el valor mximo para Integer. En caso contrario, se efectuara la operacin de elevar al cuadrado. El resultado se transfiere como valor de funcin. FUNCTION CUADRADO : INT (******************************************************************* Esta funcin proporciona como valor de funcin el cuadrado de entrada, o, en caso de desbordamiento, el valor mximo que puede representarse con enteros. ******************************************************************** *) VAR_INPUT valor : INT; END_VAR BEGIN IF valor <= 181 THEN CUADRADO := valor * valor; //Clculo del valor de la funcin ELSE CUADRADO := 32_767; // Definir valor mximo en desbordamiento END_IF; END_FUNCTION
3-12
3.10
I significa ndice
No
CAMBIO = TRUE
I := I-1
Cambiar ? FALSE I := 0
No
RAIZ CUADRADO
Adquirir los resultados en el array de resultados estructurado. Adquirir los resultados en el array de resultados estructurado.
I := I+1
Fin
3-13
CONST LIMITE := 7; END_CONST VAR_IN_OUT bufer_clasif : ARRAY[0..LIMITE] OF INT; END_VAR VAR_OUTPUT bufer_calculo : ARRAY[0..LIMITE] OF STRUCT raiz : INT; cuadrado : INT; END_STRUCT; END_VAR VAR_TEMP cambiar : BOOL; indice, ayuda : INT; n_valor, n_resultado: REAL; END_VAR
3-14
Este interface muestra el ncleo del intercambio de datos para procesar los valores medidos. Los valores se guardan en el bloque de datos de instancia ADQUISICION_DATOS ya que en el FB ADQUISICION invocante se ha creado una instancia local para el FB EVALUACION.
3-15
3-16
3.11
S Leer valor medido en el bfer de circulacin, recalcular el puntero Con la operacin MOD se real iza el bfer de circulacin: cuando se alcance el lmite, iniciar desde el principio.
S Clasificar bfer de circulacin y efectuar clculos (para hacerlo, crear rea de resultados)
VALORACION
S Primero desplazar los bits rele vantes hasta el borde derecho, y despus ocultar las posiciones no necesarias con AND
TRUE
Cargar: escribir elementos de la lista en los parme tros de salida junto con la direccin de salida,
Fin
3-17
Variables estticas: entre VAR y END_VAR. Incluida la declaracin de la instancia local para el bloque EVALUACION. CONST LIMITE := 7; NUMERO:= LIMITE + 1; END_CONST VAR_INPUT intr_val_med: INT ; // Nuevo valor medido nue_val : BOOL; // Aceptar valor medido en bfer de circulacin // "valores_medidos" nue_clas : BOOL; // Clasificar valores medidos sel_funcion : BOOL; // Seleccionar la funcin de clculo raiz/cuadrado nue_sel : BOOL; // Aceptar direccin de salida seleccion: WORD; // Direccin de salida END_VAR VAR_OUTPUT sal_resultado : INT; // valor calculado sal_v_med: INT; // valor medido correspondiente END_VAR VAR valores_medidos : ARRAY[0..LIMITE] OF INT := 8(0); bufer_resultado : ARRAY[0..LIMITE] OF STRUCT raiz : INT; cuadrado : INT; END_STRUCT; puntero : INT := 0; ant_val : BOOL := TRUE; ant_clas : BOOL := TRUE; ant_sel : BOOL := TRUE; //Direccin de salida convertida valorar_instancia: evaluacion; //Declarar instancia local END_VAR
3-18
Variables estticas
Se ha seleccionado el tipo de bloque FB porque hay datos que se deben mantener de un ciclo de programa al siguiente. Estos datos son las variables estticas declaradas en el bloque de declaracin "VAR, END_VAR". Las variables estticas son variables locales cuyo valor se mantiene en todos los recorridos del bloque. Sirven para guardar los valores de un bloque de funcin y se almacenan en el bloque de datos de instancia.
3-19
3-20
Clculo de la direccin
La siguiente figura muestra el clculo de la direccin: la palabra de entrada EW0 contiene en los bits 12 a 14 el cdigo que se acepta cuando en el interruptor de codificacin (bit 15) se detecta un flanco. Desplazando a la derecha con la funcin estndar SHR e inhibiendo los bits relevantes con una mscara AND se calcula la "direccin". Con esta direccin se escriben los elementos de array (resultado de clculo y valor medido correspondiente) en los parmetros de salida. Que la salida sea raz o cuadrado depende de la "seleccin de funcin". Un flanco en el interruptor de codificacin se detecta porque el "valor nuevo" cambia respecto al "valor antiguo".
Palabra de la memoria
0 1 2 3 4 5 6 7 Byte0 0 1 2 3 4 5 6 7 Byte1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 EW0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
"direccin"
3-21
rea de instrucciones
El rea de instrucciones del bloque lgico presenta la siguiente estructura: BEGIN (******************************************************************* Parte 1 : 'Adquisicion' de 'valores_medidos' Al cambiar "nue_val" se produce la entrada del valor medido. Con la operacin MOD se ejecuta un bfer de circulacin para valores medidos. *******************************************************************) IF nue_val <> ant_val THEN puntero := puntero MOD NUMERO; valores_medidos[puntero] := Intr_val_med; puntero := puntero + 1; END_IF; ant_val := nue_val; (******************************************************************* Parte 2 : Iniciar 'Clasificacin' y 'Clculo' Al cambiar "nue_clas" se inicia la clasificacin del bfer de circulacin y la ejecucin de los clculos con los valores medidos. Los resultados se guardan en un nuevo array, "bufer_calculo". *) IF nue_clas <> ant_clas THEN puntero := 0; //Inicializar puntero del bfer //de circulacin valorar_instancia(bufer_clasif := valores_medidos); //Llamar evaluacion END_IF; ant_clas := nue_clas; bufer_resultado := valorar_instancia.bufer_calculo; //cuadrado y raiz (****************************************************************** (* Parte 3 : Valorar cdigo y preparar salida: Al cambiar "nue_sel" se determina de nuevo el cdigo para el direccionamiento del elemento de array para la salida: Los datos relevantes de 'seleccion' se ocultan y se transformen en entero. Dependiendo de la posicin del interruptor de "sel_funcion" en la salida se dispondr "RAIZ" o "CUADRADO" *) (******************************************************************) IF nue_sel <> ant_sel THEN direccion := WORD_TO_INT(SHR(IN := seleccion, N := 12) AND 16#0007); END_IF; ant_sel := nue_sel; IF sel_funcion THEN sal_resultado:= bufer_resultado[direccion].cuadrado; ELSE sal_resultado:= bufer_resultado[direccion].raiz; END_IF; sal_v_med := valores_medidos[direccion]; //indicacin del valor medido END_FUNCTION_BLOCK
3-22
3.12
3-23
3-24
3.13
Requisitos
Para el test se necesita un mdulo de entrada con la direccin 0 y un mdulo de salida con la direccin 4. Antes de efectuar el test, conmutar los 8 interruptores superiores del mdulo de entrada hacia la izquierda ("0") y los 8 interruptores inferiores hacia la derecha ("1"). Cargue previamente los bloques en la CPU, ya que tambin se comprueban los valores iniciales de las variables inmediatamente despus.
4a 4b
5a
5b
A la salida vuelve a aparecer 0, dado que por medio del proceso de clasificacin, el valor medido se ha vuelto a desplazar hacia arriba en el array. A la salida aparece otra vez el valor medido "11", ya que se trata del segundo valor ms alto del array.
3-25
Paso 8a
Accin
Resultado
8b
Visualizar los resultados Se visualiza el valor de salida 9 o el valor binario "1001". correspondientes: conmutando el interruptor de salida (E0.3) se visualiza el cuadrado del valor medido obtenido en el paso 7. Conmutando el interruptor de funcin Se visualiza el valor de salida 2 o el valor binario "10". (E0.2) obtendr tambin la raz.
Test adicional
En las siguientes tablas aparecen los interruptores del mdulo de entrada y patrones de test para la raz y el cuadrado. Adems, estas tablas le ayudarn a definir sus propios pasos de test: La entrada se realiza a travs de interruptores: el programa se puede controlar mediante los 8 interruptores superiores y los valores medidos se pueden ajustar con los 8 inferiores. La salida se realiza a travs de indicadores: en el grupo superior aparece el byte de salida ms significativo, y en el grupo inferior el menos significativo.
Interruptores de manejo Canal 0 Canal 1 Canal 2 Canal 3 Canal 4 Canal 5 Canal 6 Canal 7 Nombre del parmetro Explicacin
Interruptor de entrada Conmutacin para la validacin de valores medidos Interruptor de clasificacin Conmutacin para clasificacin/evaluacin Interruptor de funcin Interruptor hacia la izquierda ("0"): raz, Interruptor hacia la derecha ("1"): cuadrado Interruptor de salida Interruptor hacia la izquierda ("0"): valor medido, Interruptor hacia la derecha ("1"): resultado Codificacin Direccin de salida bit 0 Codificacin Direccin de salida bit 1 Codificacin Direccin de salida bit 2 Interruptor de codificacin Conmutacin para confirmacin de cdigo
La siguiente tabla contiene a ttulo de ejemplo 8 valores medidos en una secuencia ya clasificada. Introduzca los valores en cualquier orden. Ajuste la combinacin binaria deseada y acepte el valor correspondiente conmutando el interruptor de entrada. Una vez introducidos todos los valores inicie la clasificacin y evaluacin conmutando el interruptor de clasificacin. A continuacin puede visualizar los valores clasificados o los resultados - raz o cuadrado.
VALOR_MEDIDO 0000 0001 = 0000 0011 = 0000 0111 = 0000 1111 = 0001 1111 = 0011 1111 = 0111 1111 = 1111 1111 = 1 3 7 15 31 63 127 255 Raz 0, 0000 0001 = 1 0, 0000 0010 = 2 0, 0000 0011 = 3 0, 0000 0100 = 4 0, 0000 0110 = 6 0, 0000 1000 = 8 0, 0000 1011 = 11 0, 0001 0000 = 16 Cuadrado 0000 0000, 0000 0001 = 1 0000 0000, 0000 1001 = 9 0000 0000, 0011 0001 = 49 0000 0000, 1110 0001 = 225 0000 0011, 1100 0001 = 961 0000 1111, 1000 0001 = 3969 0011 1111, 0000 0001 = 16129 0111 111, 1111 1111 = Indicacin de desbordamiento
3-26
Manejo de S7-SCL
4.1
4-1
Manejo de S7-SCL
4.2
Interface de usuario
Las ventanas de S7-SCL estn formadas por los siguientes componentes estndar:
1. Barra de ttulo: incluye el ttulo de la ventana y smbolos para el control de ventanas. 2. Barra de mens: incluye todos los mens de que se dispone en la ventana. 3. Barra de herramientas: incluye botones que le permitirn ejecutar rpidamente los comandos de uso ms frecuente. 4. rea de trabajo: incluye las distintas ventanas para editar el texto del programa o leer datos del compilador o datos de test. 5. Barra de estado: indica el estado y otros datos sobre el objeto seleccionado.
4-2
Manejo de S7-SCL
4.3
Estilo/color de letra
Las preferencias de esta ficha slo tienen efecto si est activada la opcin "Utilizar los siguientes formatos" de la ficha "Formato" y se realizan los ajustes deseados.
Ventana "Resultados"
La ventana "Resultados" muestra los errores y advertencias que aparecen al compilar una fuente. Esta ventana se puede mostrar y ocultar con el comando de men Ver > Resultados.
4-3
Manejo de S7-SCL
4.4
4.4.1
Smbolos
2. En el cuadro de dilogo "Nuevo": un proyecto, el filtro "Fuente S7-SCL" y la carpeta "Fuentes" del programa S7.
3. Introduzca el nombre del objeto fuente en el cuadro de texto correspondiente. El nombre puede tener como mximo 24 caracteres. 4. Confirme con "Aceptar". El objeto fuente se crear con el nombre que se le haya asignado y se visualizar en una ventana de trabajo para su posterior edicin.
Nota Tambin puede crear una fuente S7-SCL con el Administrador SIMATIC seleccionando una carpeta de fuentes y eligiendo el comando de men Insertar > Software S7 > Fuente S7-SCL.
4-4
Manejo de S7-SCL
4.4.2
2. En el cuadro de dilogo seleccione: el proyecto deseado, el programa S7 deseado y la carpeta de fuentes correspondiente.
Nota Tambin puede abrir fuentes en el Administrador SIMATIC haciendo doble clic en su icono o eligiendo el comando de men Edicin > Abrir objeto despus de haber seleccionado el objeto deseado.
4.4.3
Nota Si ha modificado la fuente, se le preguntar si desea guardar las modificaciones antes de cerrar. Si no desea guardarlas, las modificaciones se perdern.
4-5
Manejo de S7-SCL
4.4.4
Abrir bloques
No es posible abrir bloques con la aplicacin S7-SCL. Solamente se puede abrir la fuente correspondiente. Sin embargo, los bloques creados con S7-SCL se pueden abrir con el editor KOP/FUP/AWL y visualizarlos y editarlos en el lenguaje de programacin AWL. No modifique el bloque en la representacin AWL ya que los comandos MC7 mostrados no representan necesariamente un bloque AWL vlido, una compilacin correcta con el compilador AWL requiere una serie de modificaciones para las que se requieren profundos conocimientos de AWL y S7-SCL, el bloque compilado con AWL no reconoce el lenguaje AWL y S7-SCL, la fuente S7-SCL y el cdigo MC7 dejan de ser coeherentes. Encontrar ms informacin en la ayuda en pantalla de STEP 7.
Nota Una forma ms sencilla de manejar los programas de CPU es realizando las modificaciones necesarias en las fuentes S7-SCL y compilndolas despus .
4.4.5
4.4.6
4-6
Manejo de S7-SCL
4.4.7
Proteger bloques
Es posible activar una proteccin de bloque indicando en la fuente el atributo KNOW_HOW_PROTECT al programar el bloque.
4.5
4.5.1
4-7
Manejo de S7-SCL
4.5.2
4.5.3
Nota Asegrese de que los nombes simblicos sean unvocos y no sean idnticos a palabras clave.
4-8
Manejo de S7-SCL
4.6
4.6.1
4.6.2
4.6.3
4-9
Manejo de S7-SCL
4.6.4
Seleccionar texto
Se puede seleccionar un texto determinado manteniendo pulsado la tecla del ratn y arrastrando el puntero del ratn por el rea de texto deseada. Adems, se puede: seleccionar el texto completo de una fuente eligiendo el comando de men Edicin > Seleccionar todo, seleccionar una sola palabra, haciendo doble clic en la misma, seleccionar una lnea completa haciendo clic en el margen izquierdo de dicha lnea. Con el comando de men Edicin > Cancelar seleccin puede anular la seleccin efectuada.
4.6.5
Copiar texto
Con esta funcin puede copiar partes de un programa o programas completos. El texto copiado se guardar en el portapapeles, pudindose insertar en otro lugar cuantas veces se desee. Proceda de la siguiente forma: 1. Seleccione el texto que va a copiar. 2. Copie el texto: haciendo clic en el botn "Copiar" de la barra de herramientas, o bien eligiendo el comando de men Edicin > Copiar.
3. Mueva el punto de insercin hasta el lugar (de la misma aplicacin o de otra distinta) en el que vaya a insertar el texto. 4. Inserte el texto: haciendo clic en el botn "Insertar" de la barra de herramientas, o bien eligiendo el comando de men Edicin > Pegar.
Nota
El texto no puede copiarse si el comando de men Edicin > Copiar no est activado (fondo gris).
Al ejecutar de nuevo los comandos de men Edicin > Cortar o Edicin > Copiar se reemplaza el contenido del portapapeles.
4-10
Manejo de S7-SCL
4.6.6
Cortar texto
Con esta funcin se mueve el texto seleccionado al portapapeles. Normalmente este comando de men se utiliza conjuntamente con el comando de men Edicin > Pegar, que inserta el contenido del portapapeles en la posicin actual del punto de insercin. Proceda de la siguiente forma: 1. Seleccione el texto que va a cortar. 2. Corte el texto: haciendo clic en el botn "Cortar" de la barra de herramientas, o bien eligiendo el comando de men Edicin > Cortar.
Nota
El texto seleccionado no se puede cortar si no est activado (fondo gris) el comando de men Edicin > Cortar. Con el comando de men Edicin > Pegar se inserta el texto cortado en otro lugar (del mismo programa o de otro programa diferente). El contenido del portapapeles se conserva hasta que se ejecuten otra vez los comandos de men Edicin > Cortar o Edicin > Copiar.
4.6.7
Borrar texto
Puede suprimir del texto fuente el texto seleccionado. Proceda de la siguiente forma: 1. Seleccione el texto que va a borrarse. 2. Elija el comando de men Edicin > Borrar. El texto borrado no se inserta en el portapapeles. El texto borrado puede insertarse de nuevo con el comando de men Edicin > Deshacer o Edicin > Restablecer.
4-11
Manejo de S7-SCL
4.6.8
4-12
Manejo de S7-SCL
4.6.9
Proceda de la siguiente forma: 1. Elija el comando de men Herramientas > Preferencias. 2. Elija la ficha "Formato" en el siguiente cuadro de dilogo. 3. Asegrese de que est activada la opcin "Utilizar los siguientes formatos". 4. Active la opcin "Sangrar automticamente" o "Sangrar palabras clave".
4-13
Manejo de S7-SCL
Proceda de la siguiente forma: 1. Elija el comando de men Herramientas > Preferencias. 2. Seleccione la ficha "Formato" del cuadro de dilogo que aparece a continuacin. 3. Asegrese de que la opcin "Utilizar los formatos siguientes al imprimir" est activa. 4. Realice los ajustes requeridos. Si selecciona el botn de comando "Ayuda" mientras est abierto el cuadro de dilogo, obtendr instrucciones precisas sobre dicho cuadro de dilogo.
4-14
Manejo de S7-SCL
Validez
Los marcadores permanecen activados mientras est abierta la fuente. No se almacenan con la fuente.
Insertar marcadores
1. Posicione el cursor en la lnea que desea marcar. 2. Elija el comando de men Edicin > Marcadores.
Borrar marcadores
Elija el comando de men Edicin > Borrar todos los marcadores.
Nota Las funciones necesarias para trabajar con marcadores estn disponibles en la barra de marcadores. Esta barra se visualiza con el comando de men Ver > Barra de marcadores.
4-15
Manejo de S7-SCL
4-16
Manejo de S7-SCL
4-17
Manejo de S7-SCL
4.7
4.7.1
4-18
Manejo de S7-SCL
4.7.2
Ajustar el compilador
Tambin es posible adaptar el proceso de compilacin a las propias exigencias. Proceda de la siguiente forma: 1. Elija el comando de men Herramientas > Preferencias para abrir el cuadro de dilogo "Preferencias". 2. Seleccione la ficha "Compilador" o la ficha "Crear bloque". 3. Introduzca las opciones en la ficha.
Activar OK flag
Posibilidad de anidar comentarios Seleccione esta opcin si desea anidar varios comentarios en su fuente S7-SCL. Nmero mx. de caracteres Aqu puede reducir la longitud estndar del tipo de datos STRING. En el ajuste predeterminado sta ocupa 254 caracteres. El ajuste se aplica a todos los parmetros de salida y de entrada/salida as como a los valores de respuesta de las funciones. Tenga en cuenta que el valor ajustado no debe ser menor que las variables STRING utilizadas en el programa.
4-19
Manejo de S7-SCL
4.7.3
Compilar el programa
Antes de poder comprobar o ejecutar un programa es necesario compilarlo. Para asegurarse de que est compilando la versin ms reciente de su fuente S7-SCL es aconsejable seleccionar el comando de men Herramientas > Preferencias y, antes de compilar, hacer clic en la opcin "Guardar" de la ficha "Editor". El comando de men Archivo > Compilar guarda la fuente S7-SCL de forma implcita.
6. En el cuadro de dilogo "Resultados" se visualizan todos los errores sintcticos y advertencias que se hayan producido al compilar el programa. Despus del proceso de compilacin corrija los errores detectados y repita el procedimiento descrito ms arriba.
4-20
Manejo de S7-SCL
4.7.4
3. En el cuadro de entrada de texto (mximo: 24 caracteres) introduzca el nombre del archivo de control, y confirme con "Aceptar". 4. El archivo se crear y se visualizar en una ventana de trabajo para su posterior procesamiento. En la ventana de trabajo introduzca en el orden deseado el nombre de las fuentes S7-SCL que va a compilar y guarde el archivo. 5. Inicie el proceso de compilacin con el comando de men Archivo > Compilar.
4.7.5
3. Infrmese sobre la sintaxis correcta en la descripcin del lenguaje S7-SCL. 4. Corrija el texto fuente. 5. Guardela fuente. 6. Compile de nuevo la fuente.
4-21
Manejo de S7-SCL
4.8
4.8.1
4.8.2
Atencin La orientacin de las pginas se ajusta en el cuadro de dilogo "Preparar pgina". Los ajustes del cuadro de dilogo "Instalar impresora" no son relevantes para la impresin de fuentes S7-SCL.
Con el comando de men Archivo > Presentacin preliminar se comprueban los ajustes efectuados antes de enviar el documento a la impresora.
4-22
Manejo de S7-SCL
4.8.3
3. En el cuadro de dilogo "Imprimir" seleccione las opciones de impresin (p.ej., el rea de impresin o el nmero de copias). 4. Confirme con "Aceptar".
4-23
Manejo de S7-SCL
4.8.4
Proceda de la siguiente forma: 1. Elija el comando de men Herramientas > Preferencias. 2. Seleccione la ficha "Imprimir" del cuadro de dilogo que aparece a continuacin. 3. Asegrese de que la opcin "Utilizar los formatos siguientes al imprimir" est activa. 4. Realice los ajustes que desee. Si selecciona el botn de comando "Ayuda" mientras est abierto el cuadro de dilogo, obtendr instrucciones precisas sobre dicho cuadro de dilogo.
4-24
Manejo de S7-SCL
4.9
4.9.1
Advertencia
La CPU se resetea. Se borran todos los datos de usuario. La CPU deshace todas las conexiones existentes.
Si hay insertada una Memory Card despus del borrado total la CPU copia el contenido de la Memory Card en la memoria de carga interna.
4.9.2
Requisitos
Al compilar una fuente S7-SCL, se generan bloques a partir de la fuente que se guardan en la carpeta "Bloques" del programa S7. Primero se buscan los bloques que se llaman en primera lnea desde los bloques S7-SCL, luego se copian automticamente en la carpeta "Bloques" y a continuacin se registran en la lista de carga. Los dems bloques del programa de usuario se cargan desde el Administrador SIMATIC de la unidad de programacin a la CPU. Para poder realizar la carga tiene que existir una conexin entre la PG y la CPU. El mdulo de la CPU debe tener asignado un programa de usuario online en el Administrador SIMATIC.
4-25
Manejo de S7-SCL
Procedimiento
Una vez que haya compilado la fuente puede comenzar el proceso de carga mediante cualquiera de las siguientes opciones: El comando de men Archivo > Cargar carga todos los bloques que contiene la fuente, as como todos los bloques llamados en el primer nivel. El comando de men Archivo > Carga parcial abre un cuadro de dilogo en el que puede seleccionar bloques individuales para la carga. Los bloques se transfieren a la CPU. Caso que uno de los bloques ya exista en la RAM de la CPU, indique si el bloque debe sobreescribirse o no.
Nota Conviene cargar el programa de usuario en el estado operativo STOP, puesto que al sobreescribir un programa antiguo en el estado operativo RUN pueden generarse errores.
4-26
Manejo de S7-SCL
4.10
Cuidado
Un test con la instalacin en marcha puede causar graves daos materiales y personales en caso de que se produzcan averas de funcionamiento o errores en el programa.
Antes de ejecutar las funciones de test asegrese de que no pueden producirse estados peligrosos.
4-27
Manejo de S7-SCL
rea de observacin
El volumen de instrucciones que pueden observarse est limitado por la capacidad de la CPU que est conectada. Como las instrucciones S7-SCL del cdigo fuente se corresponden con una cantidad indefinida de instrucciones en cdigo mquina, la longitud del rea de observacin es variable, y ser calculada y seleccionada por el depurador S7-SCL cuando se seleccione la primera instruccin del rea de observacin deseada. Adems existe la posibilidad de definir un rea de observacin determinada. Marque para ello las instrucciones que desea observar en la fuente.
Modos de test
La mayora de las veces esto prolonga los tiempos de ciclo. Para poder actuar sobre esta prolongacin S7-SCL ofrece dos modos diferentes:
Modo de funcionamiento Modo Test Explicacin En el modo "Test" el rea de observacin slo est limitada por las caractersticas de la CPU que est conectada. Se pueden utilizar todas las funciones de test sin ningn tipo de restriccin. El tiempo de ciclo de la CPU se puede prolongar considerablemente ya que, p.ej, se averigua el estado de las instrucciones en bucles programados durante cada ejecucin. En el modo "Proceso" el depurador S7-SCL restringe el tamao mximo del rea de observacin de forma que durante el test los tiempos de ciclo no superen o superen mnimamente los tiempos de ejecucin reales del proceso.
Modo Proceso
Limitaciones
Tenga en cuenta las siguientes limitaciones de la funcin "Observar": Las variables de un tipo de datos superior no se muestran en su totalidad. Los elementos de dichas variables se pueden observar siempre que sean de un tipo de datos simple. Las variables del tipo DATE_AND_TIME y STRING as como los parmetros del tipo BLOCK_FB, BLOCK_FC, BLOCK_DB, BLOCK_SDB, TIMER y COUNTER no se muestran. Los accesos a bloques de datos del tipo <simbolo>.<direccion_absoluta> no se muestran (p.ej. datos.DW4).
4-28
Manejo de S7-SCL
4.10.3 Informacin importante sobre "Test con puntos de parada/modo Paso a paso"
"Test con puntos de parada" hace que el test se ejecute paso a paso. Ello permite ejecutar el algoritmo del programa instruccin a instruccin y visualizar cmo varan los valores de las variables procesadas. Una vez insertados los puntos de parada, es posible ejecutar el programa hasta un punto de parada y comenzar a observar el programa paso a paso desde dicho punto
Puntos de parada:
Los puntos de parada se pueden definir en cualquier lugar del rea de instrucciones del texto fuente. Para que se transfieran los puntos de parada al sistema de automatizacin y se activen es preciso ejecutar el comando de men Test > Activar puntos de parada. El nmero mximo de puntos de parada a activar depende de la CPU:
Requisitos:
No se puede modificar la fuente abierta con el editor.
4-29
Manejo de S7-SCL
5. Asegrese de que no pueden producirse estados peligrosos. 6. Elija el comando de men Test > Observar. 7. Desactive el comando de men Test > Observar para interrumpir la ejecucin del test. 8. Elija el comando de men Test >Finalizar test para finalizar el test.
Resultado
Se determina el rea de observacin mxima posible, la cual se representa mediante una barra gris en el borde izquierdo de la ventana. La ventana se divide en dos partes, y a la derecha aparecen los nombres y valores actuales de las variables situadas en el rea de observacin.
4-30
Manejo de S7-SCL
4-31
Manejo de S7-SCL
4-32
Manejo de S7-SCL
elija el comando de men Test > Ejecutar hasta seleccin o active el botn "Ejecutar hasta seleccin" de la barra de herramientas. La CPU pasar al estado operativo RUN. Al alcanzarse el punto seleccionado del programa se vuelve a parar. cuando el programa se detenga en una lnea que contenga una llamada a un bloque, elija el comando de men Test > Ejecutar llamada. Si el bloque subyacente se cre con S7-SCL, se abrir y procesar en el modo Test. Despus de procesarlo, el programa retornar a la posicin de llamada. Si el bloque se cre en otro lenguaje, no se tendr en cuenta la llamada y se marcar la siguiente lnea del programa.
Nota Los comandos de men Test > Ejecutar instruccin siguiente o Test > Ejecutar hasta seleccin posicionan y activan automticamente un punto de parada. Cuando seleccione dichas funciones, observe que no se haya alcanzado el nmero mximo de puntos de parada activos que admite la CPU en cuestin.
Para anular todos los puntos de parada, seleccione el comando de men Test > Borrar todos los puntos de parada.
4-33
Manejo de S7-SCL
4-34
Manejo de S7-SCL
4-35
Manejo de S7-SCL
4-36
Manejo de S7-SCL
Cuidado Si modifica valores de las variables con la instalacin en marcha pueden causarse graves daos materiales o personales en caso de que existan averas de funcionamiento o errores en el programa. Antes de ejecutar esta funcin asegrese de que no puedan producirse estados peligrosos.
Requisitos
Su equipo tiene que tener instalado STEP 7 V5.3 SP2 o superior. Una fuente a la que se deba aplicar la funcin "Comprobar coherencia de bloque" debe haber sido compilada con S7-SCL V5.3 SP1 o superior. S7-SCL debe estar instalado en el equipo en el que se va a comprobar la coherencia.
4-37
Manejo de S7-SCL
Procedimiento
1. Abra el Administrador SIMATIC. 2. Seleccione la carpeta "Bloques". 3. Elija el comando de men Edicin > Comprobar coherencia de bloques. 4. Elija el comando de men Ver > Mostrar referencias de fuentes S7-SCL.
Resultado
STEP 7 comprueba las indicaciones de fecha y hora y los interfaces de todos los bloques y de las fuentes correspondientes en la carpeta actual y notifica los siguientes conflictos: Conflictos de fecha y hora entre bloques y fuentes S7-SCL. Referencias entre los distintos bloques y los conflictos resultantes de interfaces. Cuando se detecta una incoherencia, se reinicia la compilacin de la fuente correspondiente. Si la fuente contiene varias fuentes de bloques, se vuelven a generar todos los bloques creados a partir de esta fuente. En la compilacin se aplican las opciones de compilacin que estn ajustadas en ese momento. Nota Para ms informacin sobre esta funcin, consulte la Ayuda de STEP 7.
4-38
Manejo de S7-SCL
4.11
Advertencia Modificar el estado operativo con la instalacin en marcha puede causar graves daos materiales y personales en caso de que se produzcan averas de funcionamiento o errores en el programa. Antes de ejecutar esta funcin asegrese de que no puedan producirse estados peligrosos.
4-39
Manejo de S7-SCL
Proceda de la siguiente forma: 1. Elija el comando de men Sistema de destino > Informacin del mdulo. 2. En el siguiente cuadro de dilogo elija la ficha "General".
4-40
Manejo de S7-SCL
4-41
Manejo de S7-SCL
4-42
5.1
Qu es un diagrama sintctico?
El diagrama sintctico es una representacin grfica de la estructura del lenguaje. La estructura se describe mediante una secuencia de reglas. Algunas reglas pueden basarse en reglas que hayan sido introducidas anteriormente.
Nombre de la regla
Secuencia
Bloque 3
Bloque 1
Bloque 2
Bloque 4 Bloque 5
Opcin Iteracin
Alternativa
El diagrama sintctico se lee de izquierda a derecha. Deben tenerse en cuenta las siguientes estructuras: Secuencia: Secuencia de bloques Opcin : Rama que se puede saltar Iteracin: Repeticin de ramas Alternativa: Ramificacin
5-1
Elemento bsico, que no precisa mayor explicacin. En este caso se trata de caracteres im primibles y caracteres especiales, pala bras clave e identificadores predefinidos. Los datos referidos a estos bloques de ben aceptarse sin cambios.
Regla lxica
IDENTIFICADOR Letra
_ Subrayado
Letra
Letra
Algunos ejemplos vlidos de la regla expuesta seran: R_REGULADOR _A_ARRAY _100_3_3_10 Algunos ejemplos no vlidos debido a los motivos expuestos seran: 1_1AB RR__20 *#AB
5-2
Regla sintctica
En las reglas sintcticas existe libertad de formato.
Variable simple
:=
Constante
Algunos ejemplos vlidos de la regla expuesta seran: VARIABLE_1 := 100; PULSADOR:=FALSE; VARIABLE_2 := 3.2;
5-3
5.2
Juego de caracteres
Letras y cifras
S7-SCL utiliza los siguientes caracteres del juego de caracteres ASCII: las letras (maysculas y minsculas ) de la A a la Z, la numeracin arbiga, de 0 a 9, los espacios en blanco: el espacio en blanco propiamente dicho (valor 32 de ASCII) y todos los caracteres de control (valores 0-31 de ASCII), incluido el carcter de final de lnea (valor 13 de ASCII).
Otros caracteres
Los siguientes caracteres tienen un significado fijo en S7-SCL:
+ : ; * $ / # = " < ' > { [ } ] % ( . ) ,
Nota En el captulo "Descripcin del lenguaje" encontrar una lista detallada de todos los caracteres que se pueden utilizar as como los datos para interpretar estos caracteres en S7-SCL.
5-4
5.3
5-5
5.4
Identificadores
Definicin
Un identificador es un nombre que se puede asignar a un objeto del lenguaje S7-SCL, es decir, a una constante, a una variable o a un bloque.
Reglas
Los identificadores se pueden componer de un mximo de 24 letras (sin diresis) o de cifras dispuestas en cualquier orden con la nica limitacin de que el primer caracter tiene que ser una letra o un carcter de subrayado. Puede escribirse tanto en maysculas como en minsculas, pues no hay distincin entre maysculas y minsculas (por ejemplo, AnNa y AnnA son idnticos).
IDENTIFICADOR Letra
_ Subrayado
Letra
Letra
Ejemplos
Los nombres siguientes son ejemplos de identificadores vlidos.
X Suma Nombre Regulador y12 Temperatura Superficie Tabla
Los nombres siguientes no son identificadores vlidos por las razones indicadas.
4ter Array Valor S //El primer caracter tiene que ser una letra o //un carcter de subrayado //ARRAY es una palabra clave //No se admiten los espacios en blanco (tenga en cuenta //que un espacio en blanco no es ningn caracter).
Nota
Recuerde que el nombre no se asigna por medio de palabras clave o identificadores estndar. Lo mejor es que elija nombres unvocos y autoexplicativos que contribuyan a la comprensin de la fuente.
5-6
5.5
Identificadores estndar
S7-SCL ofrece una serie de identificadores predefinidos, llamados identificadores estndar. Estos identificadores son: los identificadores de bloques, los identificadores de operandos para referirse a las reas de memoria de la CPU, los identificadores de temporizadores y los identificadores de contadores.
5.6
Identificadores de bloques
Definicin
Estos identificadores estndar se utilizan para el direccionamiento absoluto de bloques.
Reglas
La tabla est clasificada segn la nemotcnica espaola (SIMATIC); adems se indica la nemotcnica internacional (IEC). La letra x es un comodn que puede ser un nmero comprendido entre 0 y 65533 o entre 0 y 65535 en el caso de los temporizadores y contadores.
Nemotcnica (SIMATIC) DBx FBx FCx OBx SDBx SFCx SFBx Tx UDTx Zx Nemotcnica (IEC) DBx FBx FCx OBx SDBx SFCx SFBx Tx UDTx Cx Significado Bloque de datos (Data-Block). El nombre de bloque DB0 est reservada para S7-SCL. Bloque de funcin (Function-Block) Funcin (Function) Bloque de organizacin (Organization-Block) Bloque de datos del sistema (System-Data-Block) Funcin del sistema (System-Function) Bloque de funcin del sistema (System-Function-Block) Temporizador (Timer) Tipo de datos globales o tipo de datos de usuario (Userdefined Data-Type) Contador (Counter)
5-7
S7-SCL ofrece varias posibilidades para indicar el nombre de los bloques. Como nmero del bloque se puede introducir un nmero decimal entero.
Palabra clave de bloque DB, FB, FC, OB, UDT
Nmero
IDENTIFICADOR
Smbolo
Ejemplo
Los nombres siguientes son vlidos: FB10 DB100 T141
5-8
5.7
Identificadores de operandos
Definicin
Indicando el identificador del operando es posible acceder a las reas de memoria de una CPU desde cualquier posicin del programa.
Reglas
La tabla est clasificada segn la nemotcnica espaola (SIMATIC); adems se indica la nemotcnica internacional (IEC). Los identificadores de operandos para bloques de datos slo son vlidos junto con la indicacin del bloque de datos en cuestin.
Nemotcnica (SIMATIC) Ax.y ABx ADx AWx AXx.y Dx.y DBx DDx DWx DXx.y Ex.y EBx EDx EWx EXx.y Mx.y MBx.y MDx MWx.y MXx PABx PADx PAWx PEBx PEDx PEWx Nemotcnica direccionado (IEC) Qx.y QBx QDx QWx QXx.y Dx.y DBx DDx DWx DXx.y Ix.y IBx IDx IWx IXx.y Mx.y MBx.y MDx MWx MXx PQBx PQDx PQWx PIBx PIDx PIWx Salida (a travs de una imagen del proceso) Salida (a travs de una imagen del proceso) Salida (a travs de una imagen del proceso) Salida (a travs de una imagen del proceso) Salida (a travs de una imagen del proceso) Bloque de datos Bloque de datos Bloque de datos Bloque de datos Bloque de datos Entrada (a travs de la imagen del proceso) Entrada (a travs de la imagen del proceso) Tipo de dato Bit Byte Doble palabra Palabra Bit Bit Byte Doble palabra Palabra Bit Byte Doble palabra
Entrada (a travs de una imagen del proceso) Palabra Entrada (a travs de una imagen del proceso) Bit Marcas Marcas Marcas Marcas Marcas Salida (periferia directa) Salida (periferia directa) Salida (periferia directa) Entrada (periferia directa) Entrada (periferia directa) Entrada (periferia directa) Bit Byte Doble palabra Palabra Bit Byte Doble palabra Palabra Byte Doble palabra Palabra
Ejemplo
E1.0 MW10 PAW5 DB20.DW3
5-9
5.8
Reglas
Identificadores de temporizadores
S7-SCL ofrece varias posibilidades para indicar un temporizador. Como nmero del temporizador puede introducir un nmero decimal entero.
Nmero
Smbolo
5.9
Reglas
Identificadores de contadores
S7-SCL ofrece varias posibilidades para indicar un contador. Como nmero de contador se puede introducir un nmero decimal entero.
Nmero
Smbolo
5-10
5.10
Nmeros
S7-SCL permite utilizar distintas notaciones para los nmeros. Las reglas siguientes rigen para todos los nmeros: Un nmero puede incluir un signo, un punto decimal o un exponente. Un nmero no debe contener ni comas ni espacios en blanco. Para separar visualmente dos cifras puede utilizarse el carcter de subrayado ( _ ). El nmero puede ir precedido de un signo ms ( + ) o de un signo menos ( - ). Si el nmero no va precedido de ningn signo se considera positivo. Los nmeros no deben sobrepasar ni por exceso ni por defecto determinados valores mximos y mnimos.
Nmeros enteros
Un nmero entero no tiene ni punto decimal ni exponente. Por lo tanto, un nmero entero es tan slo una secuencia de cifras que puede ir precedida de un signo. En S7-SCL hay 2 tipos de nmeros enteros, con rangos numricos distintos, INT y DINT. Veamos algunos nmeros enteros vlidos:
0 743 1 -5280 +1 600_00 -1 -32_211
Los siguientes nmeros enteros son errneos por las razones indicadas:
123,456 36. 10 20 30
La coma no est permitida. Un nmero entero no debe contener ningn punto decimal. No est permitido el uso de espacios en blanco.
S7-SCL permite representar nmeros enteros en distintos sistemas de numeracin. Esto se hace anteponiendo la palabra clave que corresponde al sistema de numeracin. 2# representa el sistema binario; 8# representa el sistema en base 8 y 16# representa el sistema hexadecimal. Nmeros enteros vlidos para el decimal 15: 2#1111 8#17 16#F
5-11
Nmero real
Un nmero real debe contener o una coma decimal o un exponente (o ambos). La coma decimal debe indicarse entre dos dgitos. Por lo tanto, el nmero real no debe comenzar ni terminar con una coma decimal. Nmeros reales vlidos:
0.0 50000.0 1.0 -0.000743 -0.2 12.3 827.602 -315.0066
Los siguientes nmeros reales son errneos por las razones que se indican:
1. .3333
Tiene que haber un dgito a ambos lados de la coma decimal. 1,000.0 No se permite el uso de la coma. A ambos lados de la coma decimal debe haber un dgito.
Es posible incluir un exponente para determinar la posicin de la coma decimal. Si no se indica ninguna coma decimal, se presupone que sta figura a la derecha del dgito. El exponente tiene que ser un nmero entero positivo o negativo. La base 10 se sustituye por la letra E. El tamao 3 x 10 exponente10 se puede representar en S7-SCL con los siguientes nmeros reales:
3.0E+10 0.3E+11
3.0E10 0.3e11
3e+10 30.0E+9
3E10 30e9
Los siguientes nmeros reales son errneos por las razones que se indican:
A ambos lados de la coma decimal debe haber un dgito . El exponente tiene que ser un nmero entero. Tiene que haber un dgito a ambos lados de la coma decimal. No est permitido el uso de espacios en blancos.
5-12
5.11
Cadenas de caracteres
Definicin
Una cadena de caracteres es una secuencia de caracteres (es decir, de letras, cifras o caracteres especiales) encerrados entre comillas. Algunas cadenas de caracteres vlidas son: 'ROJO' '76181 Karlsruhe' '270-32-3456' '19,95 DM' 'La respuesta correcta es:'
Reglas
Los caracteres de formateo , las comillas ( ' ) y el carcter $ se pueden introducir con el smbolo $.
Texto fuente 'SIGN$'RED$'' '50.0$$' 'VAL$P' 'REG-$L' 'REGL$R 'STEP$T' Despus de compilar SEAL 'ROJO' 50.0$ VALOR Salto de pgina REG-Cambio de lnea REGLA Retorno de carro ETAPA Tabulador
Para los caracteres no imprimibles, introduzca su equivalente en cdigo hexadecimal mediante $hh, siendo hh el valor del carcter ASCII expresado en hexadecimal. Para interrumpir una cadena de caracteres (para comentarios que no tienen que imprimirse o visualizarse) el usuario dispone de los caracteres $> y $< .
5-13
5.12
Smbolos
En S7-SCL los smbolos se asignan con la siguiente sintaxis: Las comillas slo se deben indicar en caso de que el smbolo no cumpla la regla IDENTIFICADOR.
Sintaxis:
"
Carcter imprimible
"
5-14
5.13
Reglas
Bloque de comentario
El bloque de comentario puede abarcar varias lneas y comienza con "(*" y finaliza con "*)" para indicar que se trata de un bloque de comentario. De forma estndar est permitido anidar bloques de comentario. Este ajuste se puede cambiar en las preferencias, prohibiendo as el anidamiento de bloques de comentario. Un comentario no debe interrumpir ni un nombre simblico ni una constante. Sin embargo, est permitida la interrupcin de cadenas (strings).
Sintaxis
El bloque de comentario se representa formalmente por medio del siguiente diagrama sintctico:
Bloque de comentario (* Carcter *)
Ejemplo
(* Este es un ejemplo de un bloque de comentario que puede abarcar varias lneas.*) PULSADOR := 3 ; END_FUNCTION_BLOCK
5-15
5.14
Reglas
Lnea de comentario
La lnea de comentario se inicia con "//" y se extiende hasta el final de la lnea. La longitud del comentario est restringida a un mximo de 254 caracteres incluyendo los caracteres de inicio '//'. Un comentario no debe interrumpir ni un nombre simblico ni una constante. Sin embargo, est permitida la interrupcin de cadenas (strings).
Sintaxis
La lnea de comentario se representa formalmente con el siguiente diagrama sintctico:
Lnea de comentario
Carcter imprimible
//
Ejemplo
VAR INTERRUPTOR : INT ; // Lnea de comentario END_VAR
Nota
Los comentarios incluidos en el rea de declaracin que comienzan con // se adoptan en la interfaz del bloque y se pueden visualizar en el editor KOP/AWL/FUP. En el captulo "Descripcin del lenguaje" encontrar informacin sobre los caracteres imprimibles. En las lneas de comentario las parejas de caracteres "(*" y "*)" carecen de significado.
5-16
5.15
Variables
Un identificador cuyo valor se puede modificar durante la ejecucin del programa se denomina "variable". Cada variable debe ser explicada por separado (es decir, declarada) antes de poder utilizarla en un bloque lgico o en un bloque de datos. La declaracin de variables determina que un identificador es una variable (y no una constante etc.) y especifica el tipo de variable asignndole un tipo de datos. Dependiendo de la validez de las variables se distingue entre: datos locales, datos globales de usuario, y variables predefinidas permitidas (reas de memoria de una CPU).
Datos locales,
Los datos locales son datos que se declaran en un bloque lgico (FC, FB, OB) y que slo valen en dicho bloque. En particular, son:
Variable Variables estticas Significado Una variable esttica es una variable local cuyo valor se mantiene constante durante todas las ejecuciones del bloque (memoria del bloque). Sirve para guardar valores de un bloque de funcin. Las variables temporales pertenecen localmente a un bloque lgico y no ocupan ningn rea de memoria esttica. Su valor se conserva solamente durante una ejecucin del bloque. A las variables temporales no se puede acceder fuera del bloque en el que han sido declaradas. Los parmetros del bloque son parmetros formales de un bloque de funcin o de una funcin. Son variables locales que sirven para transferir los parmetros actuales indicados en la llamada.
Variables temporales
5-17
5-18
6.1
Tipos de bloques
Bloques disponibles:
OB
FC
FB
DB
UDT
Bloques STEP 7
Bloques preconfeccionados
No es necesario programar cada una de las funciones, pudiendo recurrir a los bloques preconfeccionados. Estos bloques, que residen en el sistema operativo de las CPUs o en las libreras (S7lib) del paquete bsico de STEP 7, se pueden utilizar, p.ej. para programar funciones de comunicacin.
6-1
6.2
asignado a
OB1
6-2
6.3
6-3
6.4
Funcin
FC
Bloque de organizacin
OB
Bloque de datos
DB
UDT
6-4
Nmero
IDENTIFICADOR
Smbolo
El nmero del bloque puede ser un valor comprendido entre 0 y 65533. Sin embargo el nombre del bloque de datos DB0 est reservado. Recuerde que el nombre o smbolo se debe definir en la tabla de smbolos de STEP 7.
Ejemplo
FUNCTION_BLOCK FB10 FUNCTION_BLOCK Bloque regulador FUNCTION_BLOCK "Regulador.B1&U2"
6-5
6.5
Atributos de bloques
Definicin
Un atributo de bloque es una propiedad del bloque que se puede utilizar, por ejemplo, para indicar el ttulo del bloque, la versin, la proteccin del bloque o el autor. Al seleccionar bloques para crear la aplicacin concreta puede hacerse mostrar las propiedades en el dilogo de propiedades de STEP 7. Se pueden asignar los siguientes atributos: Palabra clave / Atributo
TITLE='caracter_imprimible' VERSION : 'secuencia_de_numeros_decimales. secuencia_de_numeros_decimales'
Significado
Ttulo del bloque
Ejemplos
TITLE='CLASIFICAR'
Nmero de la versin del VERSION : '3-1' bloque //Con DB: (0..15) VERSION: 3.1 Nota: el atributo VERSION de los bloques de datos (DB) no se indica entre comillas. Proteccin del bloque; un KNOW_HOW_PROTECT bloque que haya sido compilado con esta opcin no se puede abrir con STEP 7. Nombre del autor: nombre de AUTHOR : Siemens la empresa, del departamento AUTHOR : 'A&D AS' u otros (IDENTIFICADOR y 'caracteres imprimibles) Nombre del bloque (IDENTIFICADOR y 'caracteres imprimibles') NAME : PID NAME : 'A&D AS'
KNOW_HOW_PROTECT
AUTHOR :
NAME:
FAMILY :
Nombre de la familia de FAMILY : Ejemplo bloques: p.ej., motores. FAMILY : 'A&D AS' Guarda el bloque en un grupo de bloques para poder encontrarlo rpidamente (IDENTIFICADOR y 'caracteres imprimibles).
6-6
Reglas
Los atributos del bloque se declaran mediante palabras clave directamente detrs de la instruccin de inicio del bloque. El identificador puede contener 8 caracteres como mximo. Los atributos del bloque se introducen con la siguiente sintaxis: