PL7 Manual de Refer en CIA

Embed Size (px)

Citation preview

Manual de ReferenciaPL7 Micro/Junior/Pro Descripcin detallada de las Instrucciones y FuncionesTLX DR PL7 xx spa

2

Documentos relacionados

Documentos relacionadosPresentacin Este manual consta de dos tomos: l Tomo 1: Descripcin del programa PL7 l Generalidades l Lenguaje de contactos l Lenguaje lista de instrucciones l Lenguaje literal estructurado l Lenguaje Grafcet l Bloques de funcin DFB l Mdulos Funcionales l Tomo 2: Descripcin detallada de las Instrucciones y Funciones l Instrucciones bsicas l Instrucciones avanzadas l Objetos bits y palabras del sistema l Tomo 3: Anexos l Diferencias entre PL7-2/3 y PL7 Micro/Junior l Ayuda-memoria l Palabras reservadas l Conformidad con la norma CEI1131-3 l Servidor OLE Automation l Rendimiento

TLX DR PL7 xx

3

Documentos relacionados

4

TLXDRPL7xx

Tabla de materias

Acerca de este . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Parte I Descripcin del programa PL7 . . . . . . . . . . . . . . . . . . . . 13Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Captulo 1

Presentacin del programa PL7 . . . . . . . . . . . . . . . . . . . . . . . . 15Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Presentacin de los programas PL7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Presentacin de los lenguajes PL7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estructura de programa PL7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mdulos funcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 16 17 20 22

Captulo 2

Descripcin de los objetos en lenguaje PL7 . . . . . . . . . . . . . . 25Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Definicin de los principales objetos booleanos . . . . . . . . . . . . . . . . . . . . . . . . . 26 Definicin de los principales objetos palabras . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Direccionamiento de los objetos bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Direccionamiento de los objetos de mdulos de entradas/salidas del TSX 37. . 31 Direccionamiento de los objetos de mdulos de entradas/salidas en rack. . . . . 34 Direccionamiento de los objetos de lenguaje de mdulos remotos en el bus FIPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Direccionamiento de objetos de lenguaje referentes al bus AS-i . . . . . . . . . . . . 38 Direccionamiento de los objetos palabras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Regla de solapamientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Objetos del bloque de funcin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Objetos PL7 del tipo tabla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Objetos indexados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Objetos Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Simbolizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Objetos presimbolizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Captulo 3

Memoria del usuario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Estructura de la memoria de los autmatas Micro . . . . . . . . . . . . . . . . . . . . . . . 56 Estructura de memoria de los autmatas Premium . . . . . . . . . . . . . . . . . . . . . . 595

Descripcin de la memoria bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Descripcin de la memoria palabras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Caractersticas de la memoria de los autmatas TSX 37 . . . . . . . . . . . . . . . . . . 65 Caractersticas de la memoria de los autmatas TSX/PCX 57 10/15/20/25 . . . . 67 Caractersticas de la memoria de los autmatas TSX/PCX 57 30/35 . . . . . . . . . 69 Caractersticas de la memoria de los autmatas TSX/PCX 57 453 . . . . . . . . . . 71

Captulo 4

Modos de funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Tratamiento en el corte y rearranque del sector . . . . . . . . . . . . . . . . . . . . . . . . . 74 Tratamiento del rearranque en caliente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Tratamiento del arranque en fro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Captulo 55.1

Estructura del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Descripcin de las tareas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Presentacin de la tarea maestra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Descripcin de las secciones de los subprogramas . . . . . . . . . . . . . . . . . . . . . . 86 Presentacin de la tarea rpida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Presentacin de los tratamientos de sucesos . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Estructura monotarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Estructura del programa monotarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Ejecucin cclica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Ejecucin peridica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Control del tiempo del ciclo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Estructura multitarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Estructura del programa de multitarea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Desglose secuencial de las tareas en una estructura multitarea. . . . . . . . . . . . 103 Asignacin de las vas de entradas/salidas a las tareas maestra y rpida . . . . 104 Intercambios de entradas/salidas en los tratamientos de sucesos . . . . . . . . . . 105 Mdulos funcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Estructuracin en mdulos funcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

5.2

5.3

5.4

Parte II Descripcin de los lenguajes PL7 . . . . . . . . . . . . . . . . . 109Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

Captulo 6

Lenguaje de contactos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Presentacin general del lenguaje de contactos . . . . . . . . . . . . . . . . . . . . . . . 112 Estructura de una red de contactos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Etiqueta de una red de contactos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Comentario de una red de contactos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Elementos grficos del lenguaje de contactos. . . . . . . . . . . . . . . . . . . . . . . . . . 116

6

Reglas de programacin de una red de contactos . . . . . . . . . . . . . . . . . . . . . . Regla de programacin de los bloques de funcin . . . . . . . . . . . . . . . . . . . . . . Reglas de programacin de los bloques de operacin . . . . . . . . . . . . . . . . . . Ejecucin de una red de contactos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

119 120 121 122

Captulo 7

Lenguaje lista de instrucciones . . . . . . . . . . . . . . . . . . . . . . . 125Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Presentacin general del lenguaje lista de instrucciones . . . . . . . . . . . . . . . . . 126 Estructura de un programa de lista de instrucciones . . . . . . . . . . . . . . . . . . . . 127 Etiqueta de una frase en lenguaje de lista de instrucciones . . . . . . . . . . . . . . 128 Comentario de una frase en lenguaje de lista de instrucciones . . . . . . . . . . . . 129 Presentacin de las instrucciones en lenguaje de lista de instrucciones . . . . . 130 Regla de empleo de los parntesis en el lenguaje de lista de instrucciones. . . 134 Descripcin de las instrucciones MPS, MRD y MPP . . . . . . . . . . . . . . . . . . . . 136 Principios de programacin de los bloques de funcin definidos con anterioridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Reglas de ejecucin de un programa en lista de instrucciones . . . . . . . . . . . . 140

Captulo 8

Lenguaje literal estructurado . . . . . . . . . . . . . . . . . . . . . . . . . 143Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Presentacin del lenguaje literal estructurado . . . . . . . . . . . . . . . . . . . . . . . . . Estructura de un programa en lenguaje literal estructurado . . . . . . . . . . . . . . . Etiqueta de una frase en lenguaje literal estructurado . . . . . . . . . . . . . . . . . . . Comentario de una frase en lenguaje literal estructurado. . . . . . . . . . . . . . . . . Instrucciones sobre objetos bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones aritmticas y lgicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones para las tablas y cadenas de caracteres . . . . . . . . . . . . . . . . . . Instrucciones de conversiones numricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones del programa e instrucciones especficas . . . . . . . . . . . . . . . . . . Estructura de control condicional IF...THEN . . . . . . . . . . . . . . . . . . . . . . . . . . . Estructura de control condicional WHILE...END_WHILE . . . . . . . . . . . . . . . . . Estructura de control condicional REPEAT...END_REPEAT . . . . . . . . . . . . . . Estructura de control condicional FOR...END_FOR . . . . . . . . . . . . . . . . . . . . . Instruccin de salida de bucle EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reglas de ejecucin de un programa literal estructurado . . . . . . . . . . . . . . . . . 143 144 145 146 147 148 149 151 154 155 157 159 160 161 162 163 167 168 168 169 170 172 174 175 1757

Captulo 99.1

Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Presentacin general del Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Presentacin del Grafcet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripcin de los smbolos grficos del Grafcet . . . . . . . . . . . . . . . . . . . . . . . Descripcin de los objetos especficos del Grafcet. . . . . . . . . . . . . . . . . . . . . . Posibilidades del Grafcet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Regla de construccin del Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9.2

9.3

9.4

9.5

Representacin del Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Aplicacin de las divergencias y convergencias O . . . . . . . . . . . . . . . . . . . . . . 177 Aplicacin de las divergencias y convergencias Y . . . . . . . . . . . . . . . . . . . . . . 178 Utilizacin de los reenvos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Utilizacin de los enlaces orientados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Comentario Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Programacin de las acciones y de las condiciones . . . . . . . . . . . . . . . . . . . . . 184 Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Programacin de las acciones asociadas a las etapas . . . . . . . . . . . . . . . . . . . 185 Programacin de las acciones para la activacin o la desactivacin . . . . . . . . 187 Programacin de las acciones continuas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Programacin de las receptividades asociadas a las transiciones . . . . . . . . . . 189 Programacin de las receptividades en lenguaje de contactos. . . . . . . . . . . . . 190 Programacin de las receptividades en lenguaje lista de instrucciones . . . . . . 191 Programacin de las receptividades en lenguaje literal estructurado . . . . . . . . 192 Macro etapas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Presentacin de las macro etapas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Constitucin de una macro etapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Caractersticas de las macro etapas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Seccin Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Estructura de una seccin Grafcet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Descripcin del tratamiento preliminar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Posicionamiento previo del Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Inicializacin del Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Reset del Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Inmovilizacin del Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Reset de las macroetapas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Funcionamiento del tratamiento secuencial. . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Descripcin del tratamiento posterior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

Captulo 10

Bloques de funcin DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Presentacin de los bloques de funcin DFB . . . . . . . . . . . . . . . . . . . . . . . . . . 212 De qu manera se puede poner en marcha un bloque de funcin DFB . . . . . . 214 Definicin de los objetos de los bloques de funcin tipo DFB . . . . . . . . . . . . . . 216 Definicin de los parmetros DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Definicin de las variables DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Regla de codificacin de los tipos DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Creacin de instancias del DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Regla de utilizacin de los DFB en un programa. . . . . . . . . . . . . . . . . . . . . . . . 224 Utilizacin de un DFB en un programa en lenguaje de contactos . . . . . . . . . . . 226 Utilizacin de un DFB en un programa en lenguaje lista de instrucciones o literal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Ejecucin de una instancia DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

8

Ejemplo de programacin del bloque de funcin DFB . . . . . . . . . . . . . . . . . . . 229

ndice

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

9

10

Acerca de este

PresentacinObjeto Este manual describe en su totalidad las instrucciones y objetos direccionables del lenguaje de programacin de los autmatas programables Micro, Premium y Atrium. La actualizacin de esta publicacin tiene en cuenta la funcionalidad de PL7 V4.3. Ello permite, sin embargo, poner en marcha las versiones anteriores de PL7. Enve sus comentarios a la direccin electrnica [email protected]

Campo de aplicacin Comentarios del usuario

TLX DR PL7 xx

11

Acerca de este

12

TLXDRPL7xx

Descripcin del programa PL7

IPresentacinObjetivo de esta parte Contenido Esta parte presenta el programa PL7. Describe las nociones elementales bsicas imprescindibles para la programacin de los autmatas Micro y Premium. Esta parte contiene los siguientes captulos:Captulo 1 2 3 4 5 Nombre del captulo Presentacin del programa PL7 Descripcin de los objetos en lenguaje PL7 Memoria del usuario Modos de funcionamiento Estructura del programa Pgina 15 25 55 73 83

TLX DR PL7 xx

13

Descripcin del programa PL7

14

TLXDRPL7xx

Presentacin del programa PL7

1PresentacinObjeto del captulo Contenido: Este captulo presenta las caractersticas principales del programa PL7.

Este captulo contiene los siguiente apartados:Apartado Presentacin de los programas PL7 Presentacin de los lenguajes PL7 Estructura de programa PL7 Mdulos funcionales Pgina 16 17 20 22

TLX DR PL7 xx

15

Presentacin del programa PL7

Presentacin de los programas PL7Generalidades El diseo y la puesta en marcha de las aplicaciones para autmatas Micro y Premium se llevan a cabo con la ayuda de programas PL7. Se proponen 3 tipos de programas PL7: l PL7 Micro l PL7 Junior l PL7 Pro

Programas PL7

La tabla siguiente muestra las diferencias entre los 3 tipos de programas.Servicios Programacin/Depuracin/ Explotacin Bloques de funcin del Creacin usuario Uso Pantallas de explotacin Mdulos funcionales Bloque de funcin DFB para el diagnstico Creacin Uso PL7 Micro M PL7 Junior M/P P M/P PL7 Pro M/P P P M/P M/P P P

Leyenda: M = autmatas Micro P = autmatas Premium - = no disponible Convenciones de escritura Continuacin del documento: l la notacin PL7 o programa PL7 se utiliza para designar indistintamente los 3 tipos de programas PL7 Micro, PL7 Junior y PL7 Pro. l la notacin Premium se utiliza para designar indistintamente los procesadores TSX 57, PMX 57 y PCX 57.

16

TLXDRPL7xx

Presentacin del programa PL7

Presentacin de los lenguajes PL7Generalidades El programa PL7 propone 4 lenguajes de programacin: l lenguaje de contactos l lista de instrucciones l literal estructurado l Grafcet La tabla siguiente ofrece el posible uso de los lenguajes en funcin de los tipos de autmatas.Lenguaje Lenguaje de contactos Lista de instrucciones Literal estructurado Grafcet Autmatas Micro X X X X (excepto las macro etapas) Autmatas Premium X X X X

Leyenda: X = disponible - = no disponible Estos lenguajes pueden mezclarse en el seno de un misma aplicacin. Una seccin de programa puede escribirse en lenguaje de contactos, otra en literal... Estos lenguajes ponen en marcha: los bloques de funcin predefinidos (Temporizaciones, Contadores...), l las funciones tareas (analgica, comunicacin, contaje...), l las funciones especficas (gestin del tiempo, cadena de caracteres...).l

Los objetos del lenguaje se pueden simbolizar con la ayuda del editor de variables o en lnea en los editores de programa. El programa PL7 satisface la norma IEC 1131-3 (vase (Ver Manual di Referencia, tomo 2 y 3)).

TLX DR PL7 xx

17

Presentacin del programa PL7

Lenguaje de contactos

El lenguaje de contactos (LD) es un lenguaje grfico. Permite la transcripcin de esquemas de rels, se adapta al tratamiento combinatorio. Ofrece los smbolos grficos bsicos: contactos, bobinas, bloques. La escritura de clculo numrico se puede realizar en el interior de los bloques de operaciones. Ejemplo de red de contactosLD: MAST - CHART %L100 %I1.0 (*Espera de secado*) %M12 %I1.7 %Q2,5

%TM4.Q %M17 %I1.10 %Q2.3 %M27 %TM0 IN TM Q MODE TON TB: 1 mn TMP: 9999 MODIF: Y %M25 %MW0.X OPERATE %MW15:=%MW18+500

%M2

%I1.4

SR2 C

F2

F3

P F4

N F5

X F6 F7 F8 F9 F10 F11

S F12

R S.F1

S.F2

OPER S.F3

COHP H S.F4

COHP V S.F5

S.F6

FB S.F7

F (...) S.F8

Lenguaje lista de instrucciones

El lenguaje lista de instrucciones (IL) es un lenguaje "mquina" booleano que permite escribir tratamientos lgicos y numricos. Ejemplo de programa en lenguaje lista de instruccionesIL: MAST - SR1 ! %L0: LD ANDN OR ( AND ) AND ST LD ANDN ANDN IN LD AND AND [ %MW15 := LD AND SR2 %I1.0 %M12 %TM4.Q %M17 %I1.7 %Q2,5 %I1.10 %Q2.3 %M27 %TM0 %TM0.Q %M25 %MW0:X5 %MW18+500] %I1.2 %I1.4

! %L5:

! %L10:

18

TLXDRPL7xx

Presentacin del programa PL7

Lenguaje literal estructurado

El lenguaje literal estructurado (ST) es un lenguaje del tipo "informtico" que permite la escritura estructurada de tratamientos lgicos y numricos. Ejemplo de programa en lenguaje literal estructuradoST: MAST - SR10 ! ( * Bsqueda del primer elemento no nulo en una tabla de 32 palabras Determinacin de su valor (%MW10 ), de su rango (%MW11) Esta bsqueda se efecta si %M0 est en 1 %M1 se pone a 1 si hay un elemento no nulo, en caso contrario se pone a 0 *) IF %M0 THEN FOR %MW 99:= 0 TO 31 DO IF %MW100 [%MW99]< > 0 THEN %MW 10: =%MW100 [%MW99]; %MW 11: =%MW 99; %M1: = TRUE; EXIT; ( *Salida del bucle FOR*) ELSE %M1: = FALSE; END_IF; END_FOR; ELSE %M1: = FALSE; END_ IF;

Lenguaje Grafcet

El lenguaje Grafcet permite representar grficamente y de forma estructurada el funcionamiento de un automatismo secuencial. Ejemplo de programa en lenguaje Grafcet.GRAFCET: MAST - CHART 0 1 2 3 10 11 13

12

14

4 5

6 7

15

8

F2

F3

F4

F5

F6

F7

F8

F9

F10

F11

F12

TLX DR PL7 xx

19

Presentacin del programa PL7

Estructura de programa PL7Generalidades El programa PL7 propone dos tipos de estructura: l Monotarea: es la estructura simplificada predeterminada, o se ejecuta una sola tarea maestra compuesta por un programa, constituida por varias secciones y subprogramas. l Multitarea: esta estructura, mejor adaptada para las aplicaciones en tiempo real de altas prestaciones, est compuesta por un tarea maestra, una tarea rpida y tratamientos secuenciales prioritarios. Las tareas maestras y rpidas de un programa PL7 estn constituidas por varias partes llamadas secciones y por subprogramas. Cada una de estas secciones puede programarse en el lenguaje adecuado al tratamiento que se vaya a realizar. La ilustracin siguiente muestra un ejemplo de corte de un programa PL7.Tarea maestra MAST Seccin en lenguaje de contactos Tarea rpida FAST Seccin en literal Seccin en lenguaje de contactos tratamientos de sucesos

Principio

Sas (LD)

Alarm_sas (ST)

EVT0

Four_1 Sas (LD) CHART Sas (LD) Seccin en Grafcet

Surv_Sec (LD)

Alarm_Four (ST) Seccin en literal

Sas (LD)

Seccin en lenguaje de contactos Seccin en literal

Subprogramas

SR0

Limpieza (ST)

Subprogramas

SR0

20

TLXDRPL7xx

Presentacin del programa PL7

Este desglose en secciones permite crear un programa estructurado y generar o incorporar fcilmente los mdulos del programa. Los subprogramas pueden llamarse desde cualquier seccin de la tarea a la que estn vinculados o desde otros subprogramas de la misma tarea.

TLX DR PL7 xx

21

Presentacin del programa PL7

Mdulos funcionalesGeneralidades El programa PL7 Pro permite estructurar una aplicacin para el autmata Premium en mdulos funcionales. Un mdulo funcional es un reagrupacin de elementos de programa destinados a realizar una funcin de automatismo. Independientemente de la estructura multitarea de los autmatas, se puede definir una estructura de rbol de directorios multiniveles de la aplicacin del automatismo. A cada nivel, se pueden vincular las secciones del programa escritas en lenguaje de contactos, literal, lista de instrucciones o Grafcet, as como las tablas de animacin y las pantallas de explotacin. Vista funcional La vista funcional en mdulos permite tener un recorte por funciones coherentes delante del procedimiento que se deba dirigir. La visualizacin estructural ofrece una vista del orden de ejecucin de las secciones del programa del autmata. La siguiente ilustracin muestra las 2 vistas posibles de una aplicacin.

22

TLXDRPL7xx

Presentacin del programa PL7

Servicios asociados a la vista funcional

Los servicios de trabajo estn disponibles en cualquiera de las dos vistas. Particularmente, para un solo comando, se puede forzar la ejecucin o no de un mdulo funcional. En este caso, todas las secciones enlazadas al mdulo funcional quedan automticamente forzadas.

Exportacin/ importacin de los mdulos funcionales

La estructura arborescente de directorios en mdulos funcionales se puede exportar total o parcialmente. En este caso, se exporta el conjunto de secciones del programa de diferentes niveles de mdulos.

TLX DR PL7 xx

23

Presentacin del programa PL7

24

TLXDRPL7xx

Descripcin de los objetos en lenguaje PL7

2

PresentacinObjeto del captulo Contenido: Este captulo describe los objetos de los lenguajes PL7. Estos objetos se emplean como operandos en las instrucciones. Este captulo contiene los siguiente apartados:Apartado Definicin de los principales objetos booleanos Definicin de los principales objetos palabras Direccionamiento de los objetos bits Direccionamiento de los objetos de mdulos de entradas/salidas del TSX 37 Direccionamiento de los objetos de mdulos de entradas/salidas en rack Direccionamiento de los objetos de lenguaje de mdulos remotos en el bus FIPIO Direccionamiento de objetos de lenguaje referentes al bus AS-i Direccionamiento de los objetos palabras Regla de solapamientos Objetos del bloque de funcin Objetos PL7 del tipo tabla Objetos indexados Objetos Grafcet Simbolizacin Objetos presimbolizados Pgina 26 27 29 31 34 36 38 40 43 44 46 48 51 52 54

TLX DR PL7 xx

25

Objetos en el lenguaje PL7

Definicin de los principales objetos booleanosDescripcinBits

En la siguiente tabla se describen los principales objetos booleanos.Descripcin Ejemplos Acceso de escritura _ No S

Valores inmediatos Entradas/ salidas

0 1 (False o True)

0

Estos bits son las "imgenes lgicas" de los estados elctricos de las %I23.5 entradas/salidas. %Q51.2 Se guardan en la memoria de datos y se actualizan en cada explotacin de la tarea en la que se configuran. Nota: Los bits de entradas/salidas que no se utilizan no se pueden emplear como bits internos.

Internos Sistema

Los bits internos permiten almacenar los estados intermedios durante la ejecucin del programa. Los bits de sistema %S0 a %S127 supervisan el correcto funcionamiento del autmata, as como el desarrollo del programa de aplicacin.

%M200 %S10

S Segn i

Bloques de funcin

Los bits de bloques de funcin corresponden a la salidas de los bloques %TM8.Q de funcin estndar o instancia de DFB. Estas salidas pueden conectarse directamente o bien utilizarse como objetos. El programa PL7 ofrece la posibilidad de extraer uno de los 16 bits de un objeto palabra. Los bits Grafcet de estado de las etapas, las macroetapas y las etapas de macroetapas permiten conocer el estado de la etapa i, de la macroetapa j o de la etapa i de la macroetapa j del Grafcet. %MW10:X5

No

Extractos de palabras Etapas y macroetapas Grafcet

Segn el tipo de palabra S S

%X21 %X5.9

26

TLXDRPL7xx

Objetos en el lenguaje PL7

Definicin de los principales objetos palabrasDescripcinPalabras

La tabla siguiente describe los principales objetos palabras.Descripcin Ejemplos Acceso por la escritura _

Valores inmediatos Entradas/ salidas

Son los valores algebraicos de formato homogneo junto con los de las palabras estndar y de longitud doble (16 32 bits), que permiten asignar valores a estas palabras. Son las "imgenes lgicas" de los valores elctricos de entradas/salidas (ejemplo: entradas/salidas analgicas). Se almacenan en la memoria de datos y se actualizan en cada exploracin de la tarea en la que estn configuradas. Se destinan a almacenar los valores actuales del programa. Se ordenan en el interior del espacio de Datos en una misma zona de memoria.

2542

%IW23.5 %QW51.1

no s

Internas Constantes

%MW10 %MD45

s s si (slo a travs del terminal) segn i

Almacenan las constantes o los mensajes alfanumricos. El contenido slo %KW30 puede escribirse o modificarse mediante el terminal. Se almacenan en la misma zona que el programa, por lo tanto, pueden disponer de la ayuda de la memoria FLASH EPROM. Estas palabras garantizan varias funciones:l algunas informan del estado del sistema (el tiempo de funcionamiento

Sistema

%SW5

del sistema y aplicacin...).l otras permiten actuar sobre la aplicacin (modos de funcionamiento...).

Bloques de funcin Comunes Grafcet

Estas palabras corresponden a los parmetros o valores actuales de los bloques de funcin estndares o instancia de DFB. Se destinan a intercambiarse automticamente en todas las estaciones conectadas a la red de comunicacin.

%TM2.P %NW2.3

s s s

Las palabras Grafcet permiten conocer el tiempo de actividad de las etapas. %X5,T

TLX DR PL7 xx

27

Objetos en el lenguaje PL7

Formato de valoresTipo

Los valores de las palabras pueden codificarse en los formatos siguientes:Tamao Ejemplo de valor 1506 578963 2#1000111011111011011 2#10001110111110110111111 111011111011111 16#AB20 16#5AC10 -1.32E12 Lmite inferior -32768 -2 147 483 648 2#10...0 2#10...0 16#0000 16#000000000 -3.402824E+38 (1) 1.175494E-38 (1) Lmite superior +32767 2 147 483 647 2#01...1 2#01...1 16#FFFF 16#FFFFFFFF -1.175494E-38 (1) 3.402824E+38 (1)

Entero base 10 Longitud estndar Longitud doble Entero base 2 Longitud estndar Longitud doble Entero base 16 Longitud estndar Longitud doble Flotante Leyenda (1) lmites excluidos

28

TLXDRPL7xx

Objetos en el lenguaje PL7

Direccionamiento de los objetos bitsPresentacin El direccionamiento de los bits internos, del sistema y de las etapas sigue las reglas siguientes:% Smbolo M, S o X Tipo de objeto i Nmero

SintaxisFamilia Smbolo Tipo de objeto

La tabla que viene a continuacin describe los diferentes elementos que constituyen el direccionamiento.Elemento % M Valores Descripcin Bits internos destinados a almacenar los estados intermedios actuales del programa. Se ordenan en el interior del espacio de datos en una misma zona de memoria. Bits del sistema (Ver Manual di Referencia, tomo 2), estos bits aseguran varias funciones: l algunos dan a conocer el estado del sistema mediante la lectura de los bits %Si (rebasamiento del watchdog,...). l otros permiten actuar sobre la aplicacin (inicializacin Grafcet, ...). Bits de etapa, los bits de etapas (Vase Objetos Grafcet, p. 51) proporcionan el estado de actividad de las etapas El valor mximo del nmero depende de la cantidad de objetos configurada.

S

-

X Nmero i

-

Ejemplos: l %M25 = bit interno nmero 25 l %S20 = bit del sistema nmero 20 l %X6 = bit de etapa nmero 6

TLX DR PL7 xx

29

Objetos en el lenguaje PL7

Bits que se extraen de las palabras

El programa PL7 permite extraer uno de los 16 bits de las palabras de longitud estndar. La identificacin de la palabra se completa entonces con el rango del bit extrado segn la sintaxis que se muestra a continuacin:PALABRA :X j Posicin j=0 a 15 rango del bit en la palabra.

Direccin de la palabra

Ejemplos: l %MW10:X4 = bit nmero 4 de la palabra interna %MW10 l %QW5.1:X10 = bit nmero 10 de la palabra de salida %QW5.1 Nota: La extraccin de bits de las palabras tambin se puede llevar a cabo en las palabras indexadas.

30

TLXDRPL7xx

Objetos en el lenguaje PL7

Direccionamiento de los objetos de mdulos de entradas/salidas del TSX 37Presentacin El direccionamiento de los principales objetos bit y palabra de los mdulos de entradas/salidas es del tipo geogrfico. Es decir depende: l del nmero (direccin) del rack, l de la posicin fsica del mdulo en la caja, l del nmero de la va del mdulo. El direccionamiento se define de la siguiente manera:%Smbolo

Ilustracin

I,Q,M,KTipo de objeto

X, W, D, FFormato

XPosicin

iN de va

rRango

SintaxisFamilia Smbolo Tipo de objeto

La siguiente tabla describe los diferentes elementos que constituyen el direccionamiento.Elemento % I Q Valores Descripcin Imagen de la entrada fsica del mdulo, Imagen de la salida fsica del mdulo, Estas informaciones se intercambian de forma implcita en cada ciclo de la tarea a la que estn vinculadas. Variable interna Estas informaciones de lectura o de escritura se intercambian a pedido de la aplicacin. Constante interna Estas informaciones de configuracin nicamente estn disponibles para lectura. Booleano Para los objetos del tipo booleano, la X puede omitirse. Longitud estndar Longitud doble Flotante. El formato flotante utilizado es el de la norma IEEE Std 7541985 (equivalente a IEC 559). TSX 37-10 TSX 37-21/22 Nota: un mdulo de formato estndar (que ocupe 2 posiciones) se direcciona como 2 mdulos de 1/2 formato superpuestos, (a continuacin, vanse las explicaciones).

M

-

K

-

Formato (tamao) X W D F Posicin del mdulo x

16 bits 32 bits 32 bits 0a8 0 a 10

TLX DR PL7 xx

31

Objetos en el lenguaje PL7

Familia N de va

Elemento i

Valores 0 a 31 o MOD

Descripcin Nmero de va del mdulo. MOD: va reservada a la gestin del mdulo y a los parmetros comunes a todas las vas.

Rango

r

0 a 127 o Posicin del bit dentro de la palabra. ERR ERR: indica un fallo de mdulo o de va.

EjemplosObjeto %I1.5 %MW2.0.3 %I5.MOD.ERR

La tabla siguiente presenta algunos ejemplos de direccionamiento de objetos.Descripcin Va de entrada nmero 5 del mdulo de entradas/salidas situado en la posicin 1. Palabra de estado de rango 3 de la va 0 del mdulo de entradas/salidas situado en la posicin 2. Informacin de fallo del mdulo de entradas/salidas situado en la posicin 5.

En el caso de los mdulos en formato estndar

Se direccionan como 2 mdulos de formato superpuestos. Por ejemplo, un mdulo de 64 E/S que ocupa las posiciones 5 y 6, se contempla como 2 mdulos de formato: l un mdulo de 32 entradas situado en la posicin 5, l un mdulo de 32 entradas situado en la posicin 6, La tabla que se presenta a continuacin describe la codificacin Posicin/Nmero de va en funcin del mdulo.1/2 formato 4S 8E 0a7 12E 0 a 11 Formato estndar 28E/S 0 a 15 (E) 0 a 11 (S) 32E 0 a 15 (E) 0 a 15 (E) x.0 a x.15 (x+1).0 a (x+1).15 32S 0 a 15 (S) 0 a 15 (S) x.0 a x.15 (x+1).0 a (x+1).15 64E/S 0 a 31 (E) 0 a 31 (S) x.0 a x.31 (x+1).0 a (x+1).31

Mdulo

Nmero de va

0a3

Direccionamiento: Posicin/Nmero de va (x=posicin)

x.0 a x.3

x.0 a x.7

x.0 a x.11

x.0 a x.15 (x+1).0 a (x+1).11

32

TLXDRPL7xx

Objetos en el lenguaje PL7

EjemplosObjeto %I3.6 %Q4.2

La tabla siguiente presenta dos ejemplos de direccionamiento de objetos de un mdulo estndar 28E/S que ocupa las posiciones 3 y 4.Descripcin Va de entrada nmero 6 del mdulo. Va de salida nmero 2 del mdulo.

TLX DR PL7 xx

33

Objetos en el lenguaje PL7

Direccionamiento de los objetos de mdulos de entradas/salidas en rackPresentacin El direccionamiento de los objetos principales de bit y palabra de los mdulos de entradas/salidas es de tipo geogrfico. Esto significa que depende: l del nmero (direccin) del rack, l de la posicin fsica del mdulo en el rack, l del nmero de la va del mdulo. El direccionamiento se define como sigue:%Simbolo

Ilustracin

I, Q, M, KTypo de objecto

X, W, D, FFormato

X

Y

iN via

rRango

Bastidor Posicin

SintaxisFamilia Smbolo Tipo de objeto

En la siguiente tabla se describen los distintos elementos que componen el direccionamiento.Elemento % I Q Valores Descripcin Imagen de la entrada fsica del mdulo, Imagen de la salida fsica del mdulo, Esta informacin se intercambia de forma automtica en cada ciclo de la tarea a la que estn asignadas. Variable interna Esta informacin sobre lectura o escritura se intercambia a peticin de la aplicacin. Constante interna Esta informacin de configuracin est disponible en lectura nicamente. Booleano Para los objetos de tipo booleano, este elemento se puede omitir. Longitud simple. Longitud doble. Flotante. El formato flotante utilizado es el de la norma IEEE Std 7541985 (equivalente IEC 559). TSX 5710/102/103/153, PMX 57102, PCX 571012). Otros procesadores.

M

-

K

-

Formato (tamao) X W D F Direccin del rack x

16 bits 32 bits 32 bits 01 0a7

(1) : el nmero mximo de emplazamientos necesita 2 racks en la misma direccin.

34

TLXDRPL7xx

Objetos en el lenguaje PL7

Familia Posicin del mdulo

Elemento y

Valores 00 a 14 (1)

Descripcin Nmero de posicin en el rack. Cuando el nmero de rack (x) es distinto de 0, la posicin (y) se codifica con 2 dgitos: 00 a 14; por el contrario, si el nmero de rack (x) = 0, se eliminan los ceros no significativos (eliminacin por la izquierda) de "y" ("x" no aparece e "y" tiene 1 dgito para los valores inferiores a 9).

N de va Rango

i r

0 a 127 o MOD: va reservada para la gestin del mdulo y los parmetros MOD comunes a todas las vas. 0 a 127 o Posicin del bit en la palabra. ERR ERR: indica un error de mdulo o de va.

(1) : el nmero mximo de emplazamientos necesita 2 racks en la misma direccin.

EjemplosObjeto %MW2.0.3

En la siguiente tabla se muestran algunos ejemplos de direccionamiento de objetos.Descripcin Palabra de estado de rango 3 de la va 0 del mdulo de entradas TON situado en la posicin 2 del rack 0. Palabra de estado de rango 3 de la va 0 del mdulo de salidas TON situado en la posicin 3 del rack 1. Informacin de fallo del mdulo de entradas analgicas situado en la posicin 2 del rack 1. Informacin de fallo de la va 3 del mdulo de salidas analgicas situado en la posicin 4 del rack 2. Ilustracin

%MW103.0.3

0

%I102.MOD.ERR

P S Y 2 6 0 0

0 T S X 5 7 2 0 3

Lo o p s

2

3

4

o oC o m

%I204.3.ERR

0 P S Y 2 6 0 0

1

2 A E Y 8 0 0

3 D S Y 0 8 R 5

4

1

0 P S Y 2 6 0 0

1

2

3

4 A S Y 8 0 0

2

TLX DR PL7 xx

35

Objetos en el lenguaje PL7

Direccionamiento de los objetos de lenguaje de mdulos remotos en el bus FIPIOPresentacin El direccionamiento de los objetos principales de bit y palabra de los mdulos remotos del bus FIPIO es de tipo geogrfico. Esto significa que depende: l del punto de conexin, l del tipo de mdulo (de base o de extensin), l del nmero de la va. El direccionamiento se define como sigue:%Simbolo

Ilustracin

I, Q, M, KTypo de objecto

X, W, D, F \Formato

p.2.c

\

mNde mdulo

iN via

rRango

Direccin mdulo/via y punto de conexin

SintaxisFamilia Smbolo Tipo de objeto

En la siguiente tabla se describen los distintos elementos que componen el direccionamiento.Elemento % I Q Valores Significado Imagen de la entrada fsica del mdulo, Imagen de la salida fsica del mdulo, Esta informacin se intercambia de forma automtica en cada ciclo de la tarea a la que estn asignadas. Variable interna Esta informacin sobre lectura o escritura se intercambia a peticin de la aplicacin. Constante interna Esta informacin de configuracin est disponible en lectura nicamente. Booleano Para los objetos de tipo booleano, la X se puede omitir. Longitud simple. Longitud doble. Flotante. El formato flotante utilizado es el de la norma IEEE Std 7541985 (equivalente IEC 559). Nmero de posicin del procesador en el rack. Nmero de va del enlace FIPIO integrado en el procesador. Nmero del punto de conexin.

M

-

K Formato (tamao) X W D F Direccin de mdulo/va y punto de conexin p 2 c

16 bits 32 bits 32 bits 01 1 a 127

36

TLXDRPL7xx

Objetos en el lenguaje PL7

Familia Posicin del mdulo N de va Rango

Elemento m i r

Valores 01

Significado 0: mdulo de base, 1: mdulo de extensin.

0 a 127 o MOD: va reservada para la gestin del mdulo y los parmetros MOD comunes a todas las vas. 0 a 255 o ERR: indica un error de mdulo o de va. ERR

Ejemplos

En la siguiente tabla se muestran algunos ejemplos de direccionamiento de objetos.Objeto %MW\0.2.1\0.5.2 Significado Palabra de estado de rango 2 del bit de imagen de la entrada 5 del mdulo de base de entradas remotas situado en el punto de conexin 1 del bus FIPIO. Bit de imagen de la entrada 7 del mdulo de base de entradas remotas situado en el punto de conexin 1 del bus FIPIO. Bit de imagen de la salida 2 del mdulo de extensin de salidas remotas situado en el punto de conexin 1 del bus FIPIO.

%I\0.2.1\0.7 %Q\0.2.1\1.2

%I\0.2.2\0.MOD.ERR Informacin de fallo del mdulo Momentum situado en el punto de conexin 2 del bus FIPIO. %Q\1.2.3\0.0.ERR Informacin de fallo de la va 0 del mdulo CCX17 situado en el punto de conexin 3 del bus FIPIO.

0

Administrador Fipio TSX 57253

1

TBX LEP 030

0 TBX DES 1622

1 TBX DSS 1622

2

170 FNT 110 01

0 170 AAI 030 00

3

TSX FPP 010

0 T CCX 17 20 F

TLX DR PL7 xx

37

Objetos en el lenguaje PL7

Direccionamiento de objetos de lenguaje referentes al bus AS-iPresentacin El direccionamiento de los principales objetos de bit y de palabra asociados al bus AS-i es de tipo geogrfico. Es decir que depende: l del nmero (direccin) del rack en el que se ha posicionado el acoplador, l de la posicin fsica del acoplador en el rack, l del nmero (direccin) del equipo esclavo en el bus AS-i. El direccionamiento se define del modo siguiente: %Simbolo

Ilustracin

I ou QTypo de objeto

\

xy.0Direccin bastidor/mdulo/va del TSX SAY 100

\

nN de esclavo

iGama del bit

SintaxisFamilia Smbolo Tipo de objeto

En la tabla siguiente se describen los distintos elementos que constituyen el direccionamiento.Elemento % I Q Valores Descripcin Imagen de la entrada fsica del mdulo, Imagen de la salida fsica del mdulo, Estas informaciones se intercambian de manera automtica en cada ciclo de la tarea a la que estn asociadas. TSX 5710/102/103/153, PMX 57102, PCX 571012). Otros procesadores. Nmero de posicin en el rack. Cuando el nmero de rack (x) es distinto de 0, la posicin (y) est codificada mediante 2 dgitos: 00 a 14; en cambio, si el nmero de rack (x) = 0, se eliminan los ceros no significativos (eliminacin por la izquierda) de "y" ("x" no aparece e "y" es 1 dgito para los valores inferiores a 9). El acoplador TSX SAY 100 slo dispone de una va. Direccin fsica del esclavo. Posicin del bit de imagen de la entrada o la salida.

Direccin del rack x Posicin del mdulo y

01 0a7 00 a 14 (1)

N de va N del esclavo Rango

0 n i

0 a 31 0a3

(1) : El nmero mximo de emplazamientos requiere la utilizacin de un racks de extensin.

38

TLXDRPL7xx

Objetos en el lenguaje PL7

Ejemplo

La tabla siguiente presenta algunos ejemplos de direccionamiento de objetos.Objeto %I3.0\2.2 %Q3.0\4.3 Descripcin Entrada 2 del esclavo 2, el mdulo TSX SAY 100 est posicionado en el emplazamiento 3 del rack 0. Salida 3 del esclavo 4, el mdulo TSX SAY 100 est posicionado en el emplazamiento 3 del rack 0.

0

1

2

3

4

0

P S Y 2 6 0 0

T S X 5 7 1 0 3

o oC o m

S A Y 1 0 0

0 1 2 P ABE-8R44SB11 3 4 P XVA-S102

TLX DR PL7 xx

39

Objetos en el lenguaje PL7

Direccionamiento de los objetos palabrasPresentacin El direccionamiento de palabras (salvo palabras de mdulos de entradas/salidas y bloques de funcin) siguen una misma sintaxis que se describe a continuacin. El direccionamiento de palabras internas, constantes y sistema sigue las reglas siguientes:% Smbolo M, K o S Tipo de objeto B, W, D o F Formato i Nmero

Ilustracin

SintaxisFamilia Smbolo Tipo de objeto

La tabla que viene a continuacin describe los diferentes elementos que constituyen el direccionamiento.Elemento % M Valores Descripcin Palabras internas destinadas a almacenar los valores actuales del programa. Se ordenan en el interior del espacio de datos en una misma zona de memoria. Palabras constantes almacenan los valores constantes o los mensajes alfanumricos. El contenido slo puede escribirse o modificarse mediante el terminal. Se almacenan en la misma zona que el programa, por lo tanto, pueden disponer de la ayuda de la memoria FLASH EPROM. Palabras de sistema (Ver Manual di Referencia, tomo 2), estas palabras aseguran varias funciones: l algunas informan del estado del sistema leyendo las palabras %SWi (el tiempo de funcionamiento del sistema y aplicacin, ...). l otras permiten actuar sobre la aplicacin (modos de funcionamiento...).

K

-

S

-

40

TLXDRPL7xx

Objetos en el lenguaje PL7

Familia Formato

Elemento B W

Valores 8 bits 16 bits

Descripcin Byte, este formato se usa exclusivamente para las operaciones en la cadena de caracteres. Longitud estndar: estas palabras de 16 bits pueden contener un valor algebraico comprendido entre 32 768 y 32 767, Rang du bit 15 14 13 12 0 1 1 1 11 10 9 8 0 1 1 1 7 6 5 4 0 0 1 1 3 2 1 0 0 1 0 0 Poids faible

Poids fort D 32 bits

Longitud doble: estas palabras de 32 bits pueden contener un valor algebraico comprendido entre 2 147 483 648 y 2 147 483 647. Estas palabras se almacenan en la memoria en dos palabras de longitud estndar consecutivas. Poids faible 15 14 13 12 0 1 0 0 1 1 1 1 11 10 9 8 0 0 1 1 1 1 1 0 7 6 5 4 0 0 1 1 0 1 0 1 3 2 1 0 0 1 0 0 0 0 1 0

Poids fort F 32 bits Flotante: el formato flotante que se usa es el de la norma IEEE Std 754-1985 (equivalente a IEC 559). La longitud de las palabras es de 32 bits, lo que corresponde a los nmeros flotantes de precisin estndar. Ejemplos de valores flotantes: 1285.28 12.8528E2 Nmero i El valor mximo del nmero depende de la cantidad de objetos configurada.

Ejemplos: l %MW15 = palabra interna de longitud estndar nmero 15 l %MF20 = palabra interna flotante nmero 20 l %KD26 = doble palabra constante nmero 26 l %SW30 = palabra de sistema nmero 30

TLX DR PL7 xx

41

Objetos en el lenguaje PL7

Direccionamiento de las palabras en la red

El direccionamiento de palabras en la red se describe en el manual Tarea de comunicacin. Por otro lado, las redes usan los objetos especficos: las palabras comunes. Son objetos de palabras de longitud estndar (16 bits) comunes a todas las estaciones conectadas a la red de comunicaciones. Direccionamiento: %NW{i.j}k con: i = 0 a 127 nmero de red, j = 0 a 31 nmero de estacin y k= 0 a 3 nmero de palabra

42

TLXDRPL7xx

Objetos en el lenguaje PL7

Regla de solapamientosPrincipios Los bytes, palabras estndar, doble longitud y flotantes se ordenan en el interior del espacio de datos en una misma zona de memoria. As, se produce solapamiento entre: l la palabra de doble longitud %MDi y las palabras de longitud estndar %Mwi y %MWi+1 (la palabra %MWi contiene las menos significativas y la palabra %MWi+1 las ms significativas de la palabra %MDi), l la palabra de longitud estndar %MWi y los bytes %MBj y %MBj+1 (con j=2 x i), l la flotante %MFk y las palabras de longitud estndar %MWk et %MWk+1. Ilustracin Esta ilustracin muestra el solapamiento de palabras internas.%MW0 %MD0 %MW1 %MD1 %MD2 %MD3 %MWi %MWi+1 %MW2 %MW3 %MB5 %MB7 %MB4 %MB6 %MB3 %MB2 %MB1 %MB0

%MDi

%MWk %MFk %MWk+1

Ejemplos

l l l l

%MD0 corresponde a %MW0 y %MW1 (vase la ilustracin de ms arriba). %MW3 corresponde a %MB7 y %MB6 (vase la ilustracin de ms arriba). %KD543 corresponde a %KW543 y %KW544. %MF10 corresponde a %MW10 y %MW11.

TLX DR PL7 xx

43

Objetos en el lenguaje PL7

Objetos del bloque de funcinGeneralidades Los bloques de funcin ponen en marcha los objetos bits y las palabras accesibles para el programa. La ilustracin siguiente presenta un bloque de funcin contador/descontador.%Ci R S CU CD %C.P:9999 D MODIF:Y F E

Ejemplo de bloque de funcin

Bloque contador/descontador

Objetos bits

Corresponden a las salidas de los bloques. Son bits accesibles a las instrucciones booleanas de prueba. Corresponden: l a los parmetros de configuracin del bloque, estos parmetros pueden ser accesibles (ejemplo: parmetro de preseleccin ) o no (ejemplo: base de tiempo) por programa, l a los valores actuales (ejemplo: %Ci.V valor de contaje en curso). La tabla que se ofrece a continuacin describe el conjunto de los objetos de los bloques de funcin.

Objetos de palabras

Lista de objetos de bloques de funcin accesibles a travs del programaBloques de funciones

Smbolo

N Mx. Micro

N Mx. Tipo de Premium objetos

Descripcin

Direccin

Acceso por la escritur a no s no

Temporizador

%TMi

64

255 (128 por defecto)

Palabra

Valor actual Valor de preseleccin

%TMi.V %TMi.P %TMi.Q

Bit

Salida de temporizador

44

TLXDRPL7xx

Objetos en el lenguaje PL7

Bloques de funciones

Smbolo

N Mx. Micro

N Mx. Tipo de Premium objetos

Descripcin

Direccin

Acceso por la escritur a no s no no no no s no s s no no s no no no no s no no

Contador/ Descontador

%Ci

32

255 (64 por defecto)

Palabra

Valor actual Valor de preseleccin

%Ci.V %Ci.P %Ci.E %Ci.D

Bit

Salida rebasamiento (vaca) Salida preseleccin alcanzada

Salida rebasamiento (llena) %Ci.F Monoestable %MNi 8 255 (32 por defecto) Palabra Valor actual Valor de preseleccin Bit Palabra Salida rebasamiento (vaca) Acceso al registro Salida del registro Bit Salida del registro llena Salida del registro vaca Programador cclico %DRi 8 255 (8 por defecto) Palabra Nmero de paso en curso Estados del paso j Tiempo de actividad del paso Bit Temporizador de la serie 7 %Ti 64 255 (0 por defecto) Palabra %MNi.V %MNi.P %MNi.R %Ri.I %Ri.O %Ri.F %Ri.E %DRi.S %DRi.Wj %DRi.V

Registro de palabra

%Ri

4

255 (4 por defecto)

ltimo paso definido actual %DRi.F Valor actual Valor de preseleccin %Ti.V %Ti.P %Ti.R %Ti.D

Bit

Salida actual Salida del temporizador de salida

Nota: el nmero total de temporizadores %TMi+%Ti queda limitado a 64 para un Micro, y a 225 para un Premium.

TLX DR PL7 xx

45

Objetos en el lenguaje PL7

Objetos PL7 del tipo tablaTablas de bits Las tablas de bits son series de objetos adyacentes del mismo tipo y de longitud definida: L. Ejemplo de tabla de bits:%M10 %M10:6

%M10:6%M11 %M12 %M13 %M14 %M15

Esta tabla define los objetos bits que pueden convertirse en tabla de bits.Tipo Bits de entradas TOR Bits de salidas TOR Bits internos Bits Grafcet Direccin %Ix.i:L %Qx.i:L %Mi:L %Xi:L, %Xj.i:L Ejemplo %I25.1:8 %Q34.0:16 %M50:20 %X50:30 Acceso con escritura No S S No

Nota: Las longitudes mximas de las tablas dependen de los tipos de objeto l Para los bits de entradas/salidas TOR: el tamao mximo depende de la distribucin modular (nmero de entradas/salidas del mdulo) l Para los bits internos o Grafcet: el tamao mximo depende de las dimensiones definidas en la configuracin.

Tablas de palabras

Las tablas de palabras son series de palabras adyacentes del mismo tipo y de longitud definida: L Ejemplo de tabla de palabras: %KW10:5%KW10 16 bits

%KW14

46

TLXDRPL7xx

Objetos en el lenguaje PL7

Esta tabla define los objetos palabras que pueden convertirse en tabla de palabras.Tipo Formato Direccin Ejemplo Acceso con escritura S Si Si No No No No Si

Palabras internas

Longitud estndar Longitud doble Flotante

%MWi:L %MDi:L %MFi:L %KWi:L %KDi:L %KFi:L %Xi.T:L, %Xj.i.T:L %SWi:L

%MW50:20 %MD30:10 %MF100:20 %KW50:20 %KD30:10 %KF100:20 %X12.T:8 %SW50:4

Palabras constantes

Longitud estndar Longitud doble Flotante

Palabras Grafcet Palabras del sistema

Palabras Grafcet Palabras del sistema

Nota: Las longitudes mximas de las tablas dependen de los tipos de objeto. l Para las palabras internas, constantes o Grafcet: el tamao mximo depende de las dimensiones definidas en la configuracin. l Para las palabras del sistema: slo las palabras %SW50 a 53 pueden almacenarse en forma de tabla.

Cadenas de caracteres

Las cadenas de caracteres son series de bytes adyacentes del mismo tipo y de longitud definida: L Ejemplo de cadena de caracteres: %MB10:5%MB10 8 bits

%MB14

Esta tabla define los objetos que pueden convertirse en cadena de caracteres.Tipo Palabras internas Palabras constantes Direccin %MBi:L %KBi:L Ejemplo %MB10:8 %KB20:6 Acceso con escritura Si Si

Nota: el ndice i debe ser par.TLX DR PL7 xx

47

Objetos en el lenguaje PL7

Objetos indexadosDireccionamiento directo El direccionamiento de los objetos se denomina directo cuando la direccin de dichos objetos es fija y est definida cuando se escribe el programa. Ejemplo: %MW26 (palabra interna de direccin 26) Direccionamiento indexado En el direccionamiento indexado, la direccin directa del objeto se completa con un ndice: a la direccin del objeto se le aade el contenido del ndice. El ndice se define por: l una palabra interna %MWi l una palabra constante %KWi l un valor inmediato El nmero de "palabras ndice" no tiene lmite. Este tipo de direccionamiento permite recorrer sucesivamente una serie de objetos de la misma naturaleza (palabras internas, palabras constantes...),: a la direccin del objeto se le aade el contenido del ndice. Ejemplo: MW108[%MW2]: palabra de direccin directa 108 + contenido de la palabra %MW2. Si la palabra %MW2 tiene un contenido de valor 12, escribir %MW108[%MW2] equivale, por tanto, a escribir %MW120. Descripcin de los objetos indexables La siguiente tabla define los objetos que pueden indexarse.Tipo Formato Direccin Ejemplo Acceso con escritura No S Si No No Si S S

Bit de entradas Bit de salida Bit interno Bit Grafcet

Booleano Booleano Booleano Booleano

%Ixy.i[ndice] %Qxy.i[ndice] %Mi[ndice] %Mi[ndice] %Xj.i[ndice]

%I21.3[%MW5] %Q32.4[%MW5] %M10[%MW5] %X20[%MW5] %X2.3[%MW5] %MW30[%MW5] %MD15[%MW5] %MF15[%MW5]

Palabras internas

Longitud estndar %MWi[ndice] Longitud doble Flotante %MDi[ndice] %MFi[ndice]

48

TLXDRPL7xx

Objetos en el lenguaje PL7

Tipo

Formato

Direccin

Ejemplo

Acceso con escritura No No No No No S S No No

Palabras constante

Longitud estndar %KWi[ndice] Longitud doble Flotante %KDi[ndice] %KFi[ndice]

%KW50[%MW5] %KD50[%MW5] %KF50[%MW5] %X20 .T[%MW5] %X2.3 .T[%MW5] %MW50[%MW5]:10 %MD40[%MW5]:10 %KW70[%MW5]:20 %KD80[%MW5]:10

Palabras Grafcet Longitud estndar %Xi .T[ndice] %Xj.i .T[ndice] Tabla de palabras %MWi[ndice]:L %MDi[ndice]:L %KWi[ndice]:L %KDi[ndice]:L

Nota: Los valores mximos de los ndices dependen de los tipos de objetos indexados. l Para los bits de entradas/salidas TON: 0%Li

Bobina sostenida

#

Bobina de llamada a un subprograma (CALL)

C

Regreso del subprograma

Parada del programa

TLX DR PL7 xx

117

Lenguaje de contactos

Bloques de funcin estndar

Los elementos grficos de los bloques de funcin DFB se programan en la zona de prueba y ocupan una dimensin de una altura mxima de 16 lneas y una anchura de 3 columnas.Designacin Bloques Temporizador, Contador, Monoestable, Registro, Programador cclico Grafismo Funciones Cada uno de los bloques de funciones estndares usa entradas, salidas, entradas/ salidas que permiten enlazarles a los otros elementos grficos.

Bloques de funcin DFB

Los elementos grficos de los bloques de funcin DFB se programan en la zona de prueba y ocupan una dimensin de una altura mxima de 16 lneas y una anchura de 3 columnas.Designacin Bloques programables Grafismo Funciones Cada uno de los bloques de funciones DFB usa entradas, salidas, entradas/salidas que permiten vincularlos a los otros elementos grficos para los objetos de tipo bits o que se pueden asignar a objetos numricos o tablas

Bloques de operacin

Los elementos grficos de los bloques de operacin se programan en la zona de prueba y ocupan las dimensiones mencionadas ms adelante.Designacin Bloque de comparacin vertical Grafismo Funciones Permite comparar 2 operandos, segn el resultado, la salida correspondiente pasa a 1. Dimensin: 2 columnas/4 lneas Permite comparar 2 operandos, la salida pasa a 1 cuando el resultado se puede verificar (un bloque puede contener hasta 4096 caracteres). Dimensin: 2 columnas/1 lnea Realiza las operaciones aritmticas, lgicas... recurre a la sintaxis del lenguaje literal estructurado. (Un bloque puede contener hasta 4096 caracteres). Dimensin: 4 columnas/1 lnea

Bloque de comparacin horizontal Bloque Operacin

118

TLXDRPL7xx

Lenguaje de contactos

Reglas de programacin de una red de contactosGeneralidades La programacin de una red de contactos se efecta con la ayuda de los elementos grficos, respetando las siguientes reglas de programacin. Los elementos grficos simples de prueba y de accin ocupan cada uno una celda en el seno de una red. Cualquier lnea de contactos empieza en la lnea de potencial izquierda y debe terminar en la lnea de potencial derecha. Las pruebas se sitan siempre en las columnas de la 1 a la 10. Las acciones siempre se colocan en la columna 11. El sentido de circulacin de la corriente es el siguiente: l para las conexiones horizontales, de la izquierda hacia la derecha, l para las conexiones verticales, en ambos sentidos. Ejemplo de red de contactos La siguiente ventana muestra un ejemplo de red de contactos.

Reglas de programacin

TLX DR PL7 xx

119

Lenguaje de contactos

Regla de programacin de los bloques de funcinGeneralidades Los bloques de funcin estndar se colocan en la zona de prueba de las redes de contactos. Sea cual sea el tipo de bloque de funcin utilizado, debe estar obligatoriamente vinculado en la entrada de la barra de potencial izquierda, directamente o a travs de otros elementos grficos. l salidas "en el aire": no es necesario enlazar con otros elementos grficos las salidas de los bloques de funcin, l salidas comprobables: las salidas de los bloques de funcin son accesibles para el usuario en forma de objeto bit. Las variables internas de los bloques y las salidas grficas son objetos explotables a distancia desde otra parte del programa. Las entradas no conectadas de los bloques de funcin estndar se ponen a 0. Al igual que para los elementos grficos del tipo de contactos, pueden efectuarse combinaciones de los bloques de funcin. Ejemplo de una red de contactos La ilustracin siguiente muestra un ejemplo de una red de contactos que contiene 2 bloques de funcin.

Reglas de programacin de los bloques de funcin.

120

TLXDRPL7xx

Lenguaje de contactos

Reglas de programacin de los bloques de operacinGeneralidades Los bloques de comparacin se sitan en la zona de prueba y los bloques de operacin se colocan en la zona de accin. Sea cual sea el tipo de bloque de operacin utilizado, debe estar obligatoriamente vinculado a la entrada de la barra de potencial izquierda, directamente o a travs de otros elementos grficos. Al igual que para los elementos grficos del tipo de contactos, pueden efectuarse combinaciones de los bloques de funcin y operacin. Ejemplo de bloques de operacin La ilustracin siguiente muestra un ejemplo de una red de contactos que contiene 2 bloques de comparacin y un bloque de operacin.%TM10 %MW1>100 %I1.2 %MW2>500 IN Q TYP:TP TB:100ms TM.P:200 MODIF:Y

Reglas de programacin de los bloques de operacin

%I3.6

%Q6.3

%TM2.P:=3450

TLX DR PL7 xx

121

Lenguaje de contactos

Ejecucin de una red de contactosRed vinculada Una red vinculada contiene elementos grficos, todos ellos enlazados entre s por elementos de unin (fuera de la barra de potencial), aunque independientes de los otros elementos grficos de la red (sin uniones verticales hacia arriba hacia abajo en el lmite de la red vinculada). La red de contactos que se muestra a continuacin est constituida por 3 redes vinculadas.Red vinculada 2 Red vinculada 1

Ilustracin de redes vinculadas

Red vinculada 3

Regla de ejecucin de las redes vinculadas

La primera red vinculada evaluada es aquella en la cual la esquina izquierda est situada en la parte superior izquierda. Una red vinculada se evala en el sentido de la ecuacin: evaluacin de la red de arriba abajo, lnea a lnea, y en cada lnea de izquierda a derecha. Si se diera el caso de que se encontrara una unin vertical de convergencia, la subred asociada se evala (segn la misma lgica) antes de continuar con la evaluacin de la red en la cual est englobada.

122

TLXDRPL7xx

Lenguaje de contactos

Ejecucin de los elementos en una red vinculada

La siguiente tabla describe el orden de ejecucin de los elementos en una red vinculada.Fase 1 Descripcin El sistema evala el estado lgico de cada contacto, en funcin de: l el valor actual de los objetos internos de aplicacin, l el estado de las entradas de los mdulos de entradas/salidas adquirido al iniciarse el ciclo El sistema ejecuta los tratamientos asociados a las funciones, a los bloques de funciones, y a los subprogramas, El sistema actualiza los objetos bits asociados a las bobinas (la actualizacin de las salidas de los mdulos de entradas/salidas se efecta al final del ciclo), El sistema deriva hacia otra red etiquetada del mismo mdulo programa (salto a otra red ->>%Li), regreso al mdulo de llamada , o parada del programa ,

2 3 4

Ejemplo 1: ilustracin

El esquema siguiente muestra el orden de ejecucin de los elementos grficos.

Ejemplo 1: funcionamiento

La tabla que viene a continuacin describe la ejecucin de los elementos grficos en la red ilustrada anteriormente.Fase 1 2 3 4 5 Descripcin Evaluacin de la red hasta que encuentre el primer enlace vertical de convergencia: contactos A, B, C. Evaluacin de la primera subred: contacto D, Continuacin de la evaluacin de la red hasta que se encuentre el segundo enlace vertical de convergencia: contacto E, Evaluacin de la segunda subred: contactos F y G, Evaluacin de la bobina H.

TLX DR PL7 xx

123

Lenguaje de contactos

Ejemplo 2: ilustracin

El esquema siguiente muestra el orden de ejecucin de los elementos grficos.

Ejemplo 2: funcionamiento

La tabla que viene a continuacin describe la ejecucin de los elementos grficos en la red ilustrada anteriormente.Fase 1 2 3 Descripcin bobina 1: INIT, %M5, %M7, %Q2.1, bobina 2: %M4, %MW2:X1,AUTO, UP_1, Bloque de operacin

124

TLXDRPL7xx

Lenguaje lista de instrucciones

7PresentacinGeneralidades Este captulo describe las reglas de programacin en lenguaje lista de instrucciones. Este captulo contiene los siguiente apartados:Apartado Presentacin general del lenguaje lista de instrucciones Estructura de un programa de lista de instrucciones Etiqueta de una frase en lenguaje de lista de instrucciones Comentario de una frase en lenguaje de lista de instrucciones Presentacin de las instrucciones en lenguaje de lista de instrucciones Regla de empleo de los parntesis en el lenguaje de lista de instrucciones. Descripcin de las instrucciones MPS, MRD y MPP Principios de programacin de los bloques de funcin definidos con anterioridad Reglas de ejecucin de un programa en lista de instrucciones Pgina 126 127 128 129 130 134 136 138 140

Contenido:

TLX DR PL7 xx

125

Lenguaje lista de instrucciones

Presentacin general del lenguaje lista de instruccionesGeneralidades Una seccin escrita en lenguaje de lista de instrucciones est constituida por una serie de instrucciones ejecutadas secuencialmente por el autmata. La siguiente ilustracin muestra un programa de lista de instrucciones PL7 y el detalle de una instruccin. !%L0: LD ANDN OR( AND ) AND ST !%L2: LD %I3.5 %I1.0 %M12 %TM4.Q %M17 %I3.7 %Q2.5

Ilustracin de un programa

LD

%I1.0

Cdigo instruccin

Operando

Composicin de una instruccin

Esta tabla describe los componentes de una instruccin.Elemento Cdigo de instruccin Funcin El cdigo de instruccin determina la operacin que debe ejecutarse. Hay dos tipos de cdigos de instrucciones: l prueba, en la cual figuran las condiciones necesarias para una accin (ej.: LD, AND, OR...), l accin, que confirma el resultado consecutivo a un enlace de prueba. (ej.: ST, STN, R, ...). Una instruccin acta sobre un operando. Este operando puede ser:l una entrada/salida del autmata (botones - pulsadores, detectores,

Operando

rels, indicadores...),l una funcin de automatismo (temporizadores, contadores...,), l una operacin aritmtica y lgica o una operacin de transferencia, l una variable interna del autmata.

126

TLXDRPL7xx

Lenguaje lista de instrucciones

Estructura de un programa de lista de instruccionesGeneralidades Al igual que en el lenguaje de contactos, las instrucciones se organizan en secuencia de instrucciones (equivalente a una red de contactos) llamadas frases. La siguiente ilustracin presenta una frase de lista de instrucciones PL7. !(*Espera de secado*) %L2: LD %I1.0 AND %M10 ST %Q2.51 2 3

Ejemplo de frase

Descripcin de una frase

Cada una de las frases, que empieza con un signo de exclamacin (que se establece automticamente), incluye los elementos siguientes.Variable 1 2 3 Elemento Comentario Etiqueta Instrucciones Funcin Inicia una frase (opcional). Identifica una frase (opcional). De una a varias instrucciones de prueba, cuyo resultado se aplica a una o varias instrucciones de accin. Una instruccin ocupa como mximo una lnea

TLX DR PL7 xx

127

Lenguaje lista de instrucciones

Etiqueta de una frase en lenguaje de lista de instruccionesGeneralidades La etiqueta permite identificar una frase en una entidad de programa (programa principal, subprograma, ...). Es opcional. Esta etiqueta tiene la siguiente sintaxis: %Li con i comprendida entre 0 y 999. Se sita al inicio de una frase. El programa que se muestra a continuacin ilustra el uso de una etiqueta. %L0: LD JMPC !(*Espera de %L2: LD AND ST ... %L10: LD ANDN OR ST %M40 %L10 secado*) %I1.0 %M10 %Q2.5Etiqueta

Sintaxis

Ilustracin

%I3.5 %Q4.3 %M20 %Q2.5

Reglas

Una misma etiqueta slo puede asignarse a una sola frase en el seno de una misma entidad de programa. Es necesario etiquetar una frase para permitir un enlace despus de un salto de programa. El orden de las variables de las etiquetas no importa. Lo que le sistema tienen en cuenta durante el recuento es el orden de introduccin de las frases.

128

TLXDRPL7xx

Lenguaje lista de instrucciones

Comentario de una frase en lenguaje de lista de instruccionesGeneralidades Sintaxis El comentario facilita la interpretacin de una frase que le afecta. Es opcional. El comentario se puede integrar al principio de una frase y ocupar como mximo 3 lneas (o sea, 222 caracteres alfanumricos), encuadrados por una parte y por la otra con los caracteres (* y *). La siguiente ilustracin identifica la posicin del comentario en una frase. !(*Espera de secado*) %L2: LD %I1.0 AND %M10 ST %Q2.5 Comentario

Ilustracin

Reglas

Los comentarios se muestran slo a partir de la primera lnea de la frase. Si se suprimiera una frase, el comentario que llevase asociado tambin se suprimira. Los comentarios se almacenan en el autmata y el usuario podr acceder a los mismos en todo momento. Segn esto, consumen la memoria de programa.

TLX DR PL7 xx

129

Lenguaje lista de instrucciones

Presentacin de las instrucciones en lenguaje de lista de instruccionesGeneralidades El lenguaje lista de instrucciones incluye las instrucciones: l de prueba l de accin l en cuanto al bloque de funcin l digitales La tabla siguiente describe las instrucciones de prueba del lenguaje de lista de instrucciones.Designacin LD LDN LDRP

Instrucciones de prueba

Grafismo equivalente

Funciones El resultado booleano es igual al estado del operando. El resultado booleano es igual al estado inverso del operando. El resultado booleano pasa a 1 cuando se detecta el paso de 0 a 1 del operando (flanco ascendente). El resultado booleano pasa a 1 cuando se detecta el paso de 1a 0 del operando (flanco descendente). El resultado booleano es igual a la Y lgica entre el resultado booleano de la instruccin precedente y el estado del operando. El resultado booleano es igual a la Y lgica entre el resultado booleano de la instruccin precedente y el estado inverso del operando.

LDFN

AND

ANDN

ANDRP

El resultado booleano es igual a la Y lgica entre el resultado booleano de la instruccin precedente y la deteccin de un flanco ascendente del operando (1 = flanco ascendente). El resultado booleano es igual a la Y lgica entre el resultado booleano de la instruccin precedente y la deteccin de un flanco descendente del operando (1= flanco descendente). El resultado booleano es igual a la lgica entre el resultado booleano de la instruccin precedente y el estado del operando.

ANDFN

OR

130

TLXDRPL7xx

Lenguaje lista de instrucciones

Designacin ORN

Grafismo equivalente

Funciones El resultado booleano es igual a la lgica entre el resultado booleano de la instruccin precedente y el estado inverso del operando. El resultado booleano es igual a la lgica entre el resultado booleano de la instruccin precedente y la deteccin de un flanco ascendente del operando (1= flanco ascendente). El resultado booleano es igual a la Y lgica entre el resultado booleano de la instruccin precedente, el estado del operando y la deteccin de un flanco descendente del operando (1= flanco descendente). Y lgica (8 niveles de parntesis)

ORRP

ORFN

AND(

OR(

O lgica (8 niveles de parntesis)

XOR, XORN, XORR, XORF MPS MRD MPP

-

O exclusivo Orientacin hacia las bobinas.

N

-

Negacin

TLX DR PL7 xx

131

Lenguaje lista de instrucciones

Instrucciones de accin

La siguiente tabla describe las instrucciones de prueba del lenguaje de lista de instrucciones.Designacin ST Grafismo Funciones El operando asociado toma el valor del resultado de la zona de prueba. El operando asociado toma el valor inverso del resultado de la zona de prueba. El operando asociado se sita en 1 cuando el resultado de la zona de prueba est a 1. El operando asociado se sita a 0 cuando el resultado de la zona de prueba est a 1. Permite un enlace incondicional a una frase etiquetada, hacia arriba hacia abajo. Permite un enlace condicionado a un resultado booleno a 1, de una frase etiquetada arriba o abajo. Permite un enlace condicionado a un resultado booleno a 0, de una frase etiquetada arriba o abajo. Enlace al inicio de un subprograma. Regreso del subprograma. Regreso del subprograma condicionado a un resultado booleao a 1. Regreso del subprograma condicionado a un resultado booleano a 0. Fin del programa. Fin del programa condicionado a un resultado booleano a 1. Fin del programa condicionado a un resultado booleano a 0.

STN

S

SR

RJMP JMPC JMPCN SRn RET RETC RETCN END ENDC ENDCN -

132

TLXDRPL7xx

Lenguaje lista de instrucciones

Instrucciones en cuanto al bloque de funcin

La siguiente tabla describe las instrucciones de prueba del lenguaje de lista de instrucciones.Designacin Bloques Temporizador, Contador, Monoestable, Registro, Programador cclico Grafismo Funciones Para cada uno de los bloques de funcin estndares, podemos encontrar las instrucciones que permiten dirigir el bloque. Una forma estructurada permite conectar directamente las entradas/salidas de los bloques.

Instrucciones digitales

La siguiente tabla describe las instrucciones de prueba del lenguaje de lista de instrucciones.Designacin Elemento de prueba Instrucciones LD[.....] AND[.....] OR[.....] [.....] Funciones Permite comparar los 2 operandos, la salida pasa a 1 cuando el resultado se comprueba. Ejemplo: LD[%MW10 = = Funcin Estrictamente inferior a Estrictamente superior a Inferior o igual a Superior o igual a Igual a Diferente de

150

TLXDRPL7xx

Lenguaje literal estructurado

Instrucciones para las tablas y cadenas de caracteresInstrucciones para las tablas de palabras y palabras dobles Las instrucciones siguientes se aplican en las tablas de palabras y palabras dobles.Designacin Tabla: = Tabla Tabla: = Palabra +, -, *, /, REM +, -, *, /, REM SUM EQUAL NOT AND, OR, XOR AND, OR, XOR FIND_EQW, FIND_EQD FIND_GTW, FIND_GTD FIND_LTW, FIND_LTD MAX_ARW, MAX_ARD MIN_ARW, MIN_ARD OCCUR_ARW, OCCUR_ARD SORT_ARW, SORT_ARD ROL_ARW, ROL_ARD ROR_ARW, ROR_ARD FIND_EQWP,FIND_EQDP Funcin Asignacin entre dos tablas Inicializacin de una tabla Operaciones aritmticas entre tablas Operaciones aritmticas entre expresiones y tablas Suma de los elementos de una tabla Comparacin entre dos tablas Complemento lgico de una tabla Operaciones lgicas entre dos tablas Operaciones lgicas entre expresiones y tablas Bsqueda del primer elemento igual a un valor Bsqueda del primer elemento superior a un valor Bsqueda del primer elemento inferior a un valor Bsqueda del valor mximo en una tabla Bsqueda del valor mnimo en una tabla Nmero de ocurrencias de un valor en una tabla Ordenar una tabla por orden creciente o decreciente Diferencia circular a la izquierda de una tabla Diferencia circular a la derecha de una tabla Bsqueda del primer elemento igual a un valor desde una posicin

LENGTH_ARW, LENGTH_ARD Clculo de la longitud de una tabla

TLX DR PL7 xx

151

Lenguaje literal estructurado

Instrucciones para las tablas de flotantes

Las instrucciones siguientes se aplican a las tablas de flotantes.Designacin Tabla: = Tabla Tabla: = Flotante SUM_ARR EQUAL_ARR FIND_EQR FIND_GTR FIND_LTR MAX_ARR MIN_ARR OCCUR_ARR SORT_ARR ROL_ARR ROR_ARR LENGTH_ARR Funcin Asignacin entre dos tablas Inicializacin de una tabla Suma de los elementos de una tabla Comparacin entre dos tablas Bsqueda del primer elemento igual a un valor Bsqueda del primer elemento superior a un valor Bsqueda del primer elemento inferior a un valor Bsqueda del valor mximo en una tabla Bsqueda del valor mnimo en una tabla Nmero de ocurrencias de un valor en una tabla Ordenar una tabla en orden creciente o decreciente Diferencia circular a la izquierda de una tabla Diferencia circular a la derecha de una tabla Clculo de la longitud de una tabla

152

TLXDRPL7xx

Lenguaje literal estructurado

Instrucciones sobre cadenas de caracteres

Las instrucciones siguientes se aplican a las cadenas de caracteres.Designacin STRING_TO_INT STRING_TO_DINT INT_TO_STRING DINT_TO_STRING STRING_TO_REAL REAL_TO_STRING , =, =, FIND EQUAL_STR LEN MID INSERT DELETE CONCAT REPLACE LEFT RIGHT Funcin Conversin ASCII Binario (palabra de formato simple) Conversin ASCII Binario (palabra de formato doble) Conversin Binario (palabra de formato simple) ASCII Conversin Binario (palabra de formato doble) ASCII Conversin ASCII Flotante Conversin Flotante ASCII Comparacin alfanumrica Posicin de una subcadena Posicin del primer carcter diferente Longitud de una cadena de caracteres Extraccin de una subcadena Insercin de una subcadena Eliminacin de una subcadena Concatenacin de dos cadenas Reemplazo de una cadena Inicio de cadena Final de cadena

TLX DR PL7 xx

153

Lenguaje literal estructurado

Instrucciones de conversiones numricasInstrucciones de conversiones numricas Las instrucciones efectan conversiones de bits, palabras, palabras dobles y flotantes.Designacin BCD_TO_INT INT_TO_BCD GRAY_TO_INT INT_TO_REAL DINT_TO_REAL REAL_TO_INT REAL_TO_DINT DBCD_TO_DINT DINT_TO_DBCD DBCD_TO_INT INT_TO_DBCD LW HW CONCATW Funcin Conversin BCD Binaria Conversin Binaria BCD Conversin Gray Binaria Conversin de un entero de formato simple en flotante Conversin de un entero de formato doble en flotante Conversin de un flotante en entero de formato simple Conversin de un flotante en entero de formato doble Conversin de un nmero BCD 32 bits en entero de 32 bits Conversin de un entero de 32 bits en nmero BCD 32 bits Conversin de un nmero BCD 32 bits en entero de 16 bits Conversin de un entero de 16 bits en nmero BCD 32 bits Extraccin de una palabra de peso menos significativo de una palabra doble Extraccin de una palabra de peso ms significativo de una palabra doble Concatenacin de 2 palabras simples

154

TLXDRPL7xx

Lenguaje literal estructurado

Instrucciones del programa e instrucciones especficasInstrucciones del programa Las instrucciones siguientes no actan sobre objetos del lenguaje, sino sobre el desarrollo del programa.Designacin HALT JUMP SRi RETURN MASKEVT UNMASKEVT Funcin Parada de la ejecucin del programa Salto a una etiqueta Llamada del subprograma Regreso del subprograma Enmascaramiento de los sucesos en el autmata Desenmascaramiento de los sucesos en el autmata

Instrucciones de gestin del tiempo

Las instrucciones siguientes ejecutan operaciones sobre las fechas, las horas y sobre la duracin.Designacin SCHEDULE RRTC WRTC PTC ADD_TOD ADD_DT DELTA_TOD DELTA_D DELTA_DT SUB_TOD SUB_DT DAY_OF_WEEK TRANS_TIME DATE_TO_STRING TOD_TO_STRING DT_TO_STRING TIME_TO_STRING Funcin Funcin reloj-calendario Lectura de la fecha del sistema Actualizacin de la fecha del sistema Lectura de la fecha y cdigo de parada Aadido de una duracin a una hora del da Aadido de una duracin a una fecha y hora Medicin de la desviacin entre horas del da Medicin de la desviacin entre fechas (sin hora) Medicin de la desviacin entre fechas (con hora) Volver en el tiempo a una hora Volver en el tiempo a una fecha y hora Lectura del da actual de la semana Conversin de la duracin en fecha Conversin de una fecha en cadena de caracteres Conversin de una hora en cadena de caracteres Conversin de una fecha completa en cadena de caracteres Conversin de una duracin en cadena de caracteres

TLX DR PL7 xx

155

Lenguaje literal estructurado

Instrucciones "Orphe"

Las instrucciones siguientes son instrucciones especficas del lenguaje Orphe.Designacin WSHL_RBIT, DSHL_RBIT WSHR_RBIT, DSHR_RBIT WSHRZ_C, DSHRZ_C SCOUNT ROLW,ROLD RORW,RORD Funcin Desplazamiento a la izquierda de la palabra con recuperacin de bits desplazados Desplazamiento a la derecha de la palabra con extensin de signo y recuperacin de los bits desplazados Desplazamiento a la derecha de la palabra con sustitucin por 0 y recuperacin de los bits desplazados Contaje/descontaje con sealizacin de rebasamiento Diferencia circular izquierda Diferencia circular derecha

Instrucciones de temporizacin

Esta instrucciones son funciones de temporizacin destinadas a utilizarse para la programacin del cdigo de las DFB.Designacin FTON FTOF FTP FPULSOR Funcin Temporizacin en la desactivacin Temporizacin en la desactivacin Temporizacin de impulsin Generador de seales rectangulares

156

TLXDRPL7xx

Lenguaje literal estructurado

Estructura de control condicional IF...THENFuncin Esta estructura de control ejecuta una o varias acciones si una condicin es verdadera. En la forma general las condiciones pueden ser mltiples. En la forma simple, la estructura de control tiene la sintaxis y el siguiente funcionamiento.Sintaxis Funcionamiento Inicio del IF IF condicin THEN Condicin acciones; END_IF; verificada Accin Final del IF sin verificar

Forma simple

Ejemplo:! (*Accin condicional IF (forma sencilla)*) IF %M0 AND %M12 THEN RESET %M0; INC %MW4; %MW10:=%MW8+%MW9; END_IF;

TLX DR PL7 xx

157

Lenguaje literal estructurado

Forma general

En la forma general, la estructura de control tiene la sintaxis y el funcionamiento siguiente.Sintaxis IF condicional THEN acciones 1; ELSEIF condicin 2 THEN acciones 2; ELSE acciones 3; Final del IF END_IF; Acciones 2 Funcionamiento Inicio del IF verificada Acciones 1 verificada Condicin 1 sin verificar Condicin 2 sin verificar Acciones 3

Ejemplo:! (*Accin condicional IF (forma simple)*) IF %M0 AND %M1 THEN %MW5:=%MW3+%MW4; SET %M10; ELSEIF %M0 OR %M1 THEN %MW5:=%MW3-%MW4; SET %M11; ELSE RESET %M10; RESET %M11; END_IF;

Regla de programacin

l l l l l

Las condiciones pueden ser mltiples. Cada accin representa una lista de instrucciones. Algunas estructuras de control IF pueden ser imbricadas. El nmero de ELSIF no tiene lmites. Existe como mximo una parte ELSE

158

TLXDRPL7xx

Lenguaje literal estructurado

Estructura de control condicional WHILE...END_WHILEFuncin Esta estructura de control ejecuta una accin repetitiva mientras se verifica una condicin. La estructura de control tiene la sintaxis y el funcionamiento siguientes.Sintaxis WHILE condicin DO accin; END_WHILE; Funcionamiento Inicio del WHILE sin verificar

Descripcin

Condicin

verificada Accin Final del WHILE

Ejemplo:! (*Accin reiterativa condicional WHILE*) WHILE %MW412 END_REPEAT;

Regla de programacin

l l l

l

La condicin puede ser mltiple. La accin representa una lista de instrucciones. La prueba de la condicin se lleva a cabo despus de ejecutar la accin. Si en el momento de la primera evaluacin de la condicin, el valor resulta falso, la accin se ejecuta una vez. Algunas estructuras de control REPEAT pueden ser imbricadas.

Nota: La instruccin EXIT (Vase Funcin, p. 162) permite detener la ejecucin del bucle y continuar en la instruccin siguiente el END_REPEAT.

160

TLXDRPL7xx

Lenguaje literal estructurado

Estructura de control condicional FOR...END_FORFuncin Esta estructura de control realiza un tratamiento durante un cierto nmero de veces incrementando en 1 un ndice en cada bucle. La estructura de control tiene la sintaxis y el funcionamiento siguientes:Sintaxis FOR ndice:=valor valor final DO accin; END_FOR; ndice> Valor final sin verificar Accin ndice+1 --> ndice Final del FOR inicial TO Funcionamiento Inicio del FOR Valor inicial --> ndice verificada

Descripcin

Ejemplo:! (*Accin repetitiva FOR*) FOR %MW4=0 TO %MW23+12 DO SET %M25[%MW4]; END_FOR;

Regla de programacin

l l l l l l

Cuando el ndice es estrictamente superior al valor final, la ejecucin continua en la instruccin siguiente el END_FOR. El incremento del ndice se lleva a cabo automticamente y no de otra forma. La accin representa una lista de instrucciones. El valor inicial y el valor final son obligatoriamente expresiones digitales del tipo palabra. El ndice es forzosamente un objeto del tipo palabra accesible en modo escritura. Algunas estructuras de control FOR pueden ser imbricadas.

Nota: La instruccin EXIT (Vase Funcin, p. 162) permite detener la ejecucin del bucle y continuar en la instruccin siguiente el END_FOR.

TLX DR PL7 xx

161

Lenguaje literal estructurado

Instruccin de salida de bucle EXITFuncin Esta instruccin permite detener la ejecucin del bucle y continuar en la instruccin siguiente la instruccin de final de bucle.l l

Regla de programacin

Esta instruccin nicamente puede utilizarse en las acciones de los 3 bucles WHILE, REPEAT o FOR. Esta instruccin se incorpora al bucle envolvente ms cercano, es decir, que no detiene la ejecucin de todos los bucles que le engloban.

Ejemplo

En este ejemplo, la instruccin EXIT permite detener el bucle REPEAT aunque en ningn caso el bucle WHILE.! (*Instruccin de salida del bucle EXIT*) WHILE %MW132700) THEN EXIT; END_IF; INC %MW2; UNTIL %MW2>25 END_REPEAT; INC %MW1; END_WHILE;

162

TLXDRPL7xx

Lenguaje literal estructurado

Reglas de ejecucin de un programa literal estructuradoGeneralidades La ejecucin de un programa literal se efecta de forma secuencial, instruccin por instruccin respetando las estructuras de control. En el caso de expresiones aritmticas o booleanas constituidas por varios operadores, las reglas de prioridad se definen entre los diferentes operadores. Regla de prioridad de los operadores La tabla siguiente muestra la prioridad para la evaluacin de una expresin de ms o menos prioridad.Operador Parntesis Complemento lgico Inversin - en el operando + en el operando Multiplicacin Divisin Mdulo Suma Resta Comparaciones Comparaciones de igualdad Comparaciones de desigualdad Y lgica Y booleana O exclusiva lgica O exclusiva booleana O lgica O booleana Smbolo (expresin) NOT NOT + * / REM + ,= = AND AND XOR XOR OR OR Menos significativo Prioridad Ms fuerte

Nota: Cuando exista conflicto entre dos operadores del mismo nivel de prioridad, el primer operador tendr preferencia (la designacin se efecta de izquierda a derecha).

TLX DR PL7 xx

163

Lenguaje literal estructurado

Ejemplo 1

En el siguiente ejemplo, el NOT se aplica al %MW3 despus el resultado se multiplica por 25. La suma de %MW10 y %MW12 se calcula a continuacin, despus la Y lgica entre el resultado de la multiplicacin y de la suma. NOT %MW3 * 25 AND %MW10 + %MW12 En este ejemplo, la multiplicacin de %MW34 por 2 se efecta en primer lugar, despus el resultado se usa para efectuar el mdulo. %MW34 * 2 REM 6 Los parntesis se usan para modificar el orden de evaluacin de los operadores, para que, por ejemplo, se lleve a cabo una suma antes que una multiplicacin. Los parntesis se pueden imbricar y el nivel de imbricacin no tiene lmites. Los parntesis pueden utilizarse tambin para evitar una falsa interpretacin del programa.

Ejemplo 2

Uso de los parntesis

Ejemplo 1

En este ejemplo, la suma se lleva a cabo antes que la multiplicacin: (%MW10+%MW11)*%MW12

Ejemplo 2

Este ejemplo muestra que los parntesis pueden utilizarse tambin para evitar una falsa interpretacin del programa. NOT %MW2 %MW4 + %MW6 Utilizando las reglas de prioridad de los operadores, la interpretacin es la siguiente: ((NOT %MW2) (%MW4 + %MW6)) Aunque podra suponerse que la operacin es la siguiente: NOT (%MW2 (%MW4 + %MW6)) Los parntesis permiten, por lo tanto, clarificar el programa.

164

TLXDRPL7xx

Lenguaje literal estructurado

Conversiones implcitas

Las conversiones implcitas se refieren a las palabras y las palabras dobles. Los operadores que se usan en las expresiones aritmticas, en las comparaciones y en el operador de asignacin, efectan las conversiones implcitas (en las que el usuario no interviene). Para una instruccin del tipo: , los casos posibles de conversiones son:Operando 1 de tipo Palabra Palabra Palabra doble Palabra doble Operando 2 de tipo Palabra Palabra doble Palabra Palabra doble Conversin Operando 1 No Palabra doble No No Conversin Operando 2 No No Palabra doble No Operacin en el tipo Palabra Palabra doble Palabra doble Palab