You are on page 1of 800

Unity Pro 35006147 10/2013

Unity Pro
Lenguajes y estructura del programa Manual de referencia
10/2013

35006147.13

www.schneider-electric.com

La informacin que se ofrece en esta documentacin contiene descripciones de carcter general y/o caractersticas tcnicas sobre el rendimiento de los productos incluidos en ella. La presente documentacin no tiene como objetivo sustituir ni debe emplearse para determinar la idoneidad o fiabilidad de dichos productos para aplicaciones de usuario especficas. Los usuarios o integradores tienen la responsabilidad de llevar a cabo un anlisis de riesgos adecuado y exhaustivo, as como la evaluacin y pruebas de los productos en relacin con la aplicacin o uso en cuestin de dichos productos. Ni Schneider Electric ni ninguna de sus filiales o asociados asumirn responsabilidad alguna por el uso inapropiado de la informacin contenida en este documento. Si tiene sugerencias para mejoras o modificaciones o ha hallado errores en esta publicacin, le rogamos que nos lo notifique. No se podr reproducir este documento de ninguna forma, ni en su totalidad ni en parte, ya sea por medios electrnicos o mecnicos, incluida la fotocopia, sin el permiso expreso y por escrito de Schneider Electric. Al instalar y utilizar este producto es necesario tener en cuenta todas las regulaciones sobre seguridad correspondientes, ya sean regionales, locales o estatales. Por razones de seguridad y para garantizar que se siguen los consejos de la documentacin del sistema, las reparaciones slo podr realizarlas el fabricante. Cuando se utilicen dispositivos para aplicaciones con requisitos tcnicos de seguridad, siga las instrucciones pertinentes. Si con nuestros productos de hardware no se utiliza el software de Schneider Electric u otro software aprobado, pueden producirse lesiones, daos o un funcionamiento incorrecto del equipo. Si no se tiene en cuenta esta informacin se pueden causar daos personales o en el equipo. 2013 Schneider Electric. Reservados todos los derechos.

35006147 10/2013

Tabla de materias
Informacin de seguridad . . . . . . . . . . . . . . . . . . . . . . . Acerca de este libro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 15 17 19 20 24 26 27 34 39 48 51 53 55 59 60 61 62 63 64 71 72 75 77 77 79 80 81 82 83 85

Parte I Presentacin general de Unity Pro . . . . . . . . . . . .


Captulo 1 Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Funciones de Unity Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interfase de usuario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Explorador de proyectos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formatos de archivo de proyecto y de aplicacin de usuario . . . . . . . Configurador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editor de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editor de programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diagrama de bloques de funciones (FBD) . . . . . . . . . . . . . . . . . . . . . Lenguaje del diagrama de Ladder (LD) . . . . . . . . . . . . . . . . . . . . . . . . Informacin general sobre el lenguaje de secuencias SFC . . . . . . . . Lista de instrucciones IL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Texto estructurado ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulador de PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exportacin/importacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Documentacin de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Servicios de depuracin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Visualizador de diagnsticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ventana de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Parte II Estructura de la aplicacin . . . . . . . . . . . . . . . . . .


Captulo 2 Descripcin de las funciones disponibles en cada tipo de autmata. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Funciones disponibles para los diferentes tipos de PLC. . . . . . . . . . .

Captulo 3 aplicacin, estructura del programa. . . . . . . . . . . . . . .


3.1 Descripcin de las tareas y de los procesamientos . . . . . . . . . . . . . . Presentacin de la tarea maestra . . . . . . . . . . . . . . . . . . . . . . . . . . . . Presentacin de la tarea rpida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Presentacin de las tareas auxiliares . . . . . . . . . . . . . . . . . . . . . . . . . Descripcin general del procesamiento de eventos . . . . . . . . . . . . . .

35006147 10/2013

3.2 Descripcin de secciones y subrutinas . . . . . . . . . . . . . . . . . . . . . . . . Descripcin de las secciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripcin de secciones de SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripcin de las subrutinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Ejecucin monotarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripcin del ciclo de las tareas maestras . . . . . . . . . . . . . . . . . . . . Monotarea: Ejecucin cclica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejecucin peridica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Control del tiempo de ciclo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejecucin de las secciones de Quantum con entradas/salidas descentralizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Ejecucin multitarea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estructura del software multitarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . Desglose secuencial de las tareas en una estructura multitarea. . . . . Control de tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Asignacin de los canales de entrada/salida a las tareas maestra, rpida y auxiliares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gestin de los tratamientos de sucesos . . . . . . . . . . . . . . . . . . . . . . . Ejecucin del procesamiento de eventos de tipo TIMER. . . . . . . . . . . Intercambios de entradas/salidas en el procesamiento de eventos . . Programacin de procesamiento de eventos. . . . . . . . . . . . . . . . . . . .

86 87 89 91 92 93 95 96 97 98 100 101 103 105 108 110 111 116 117 119 120 121 126 128 129 130 134 137 138 139 141 146 150 151

Captulo 4 Estructura de memoria de la aplicacin . . . . . . . . . . .


4.1 Estructura de memoria de los PLC Premium, Atrium y Modicon M340 Estructuras de memoria de los PLC Modicon M340 . . . . . . . . . . . . . . Estructura de memoria de los PLC Premium y Atrium. . . . . . . . . . . . . Descripcin detallada de las zonas de memoria . . . . . . . . . . . . . . . . . 4.2 Estructura de memoria de los autmatas Quantum. . . . . . . . . . . . . . . Estructura de memoria de los autmatas Quantum . . . . . . . . . . . . . . Descripcin detallada de las zonas de memoria . . . . . . . . . . . . . . . . .

Captulo 5 Modalidades de funcionamiento . . . . . . . . . . . . . . . . .


5.1 Modalidades de funcionamiento de los PLC Modicon M340 . . . . . . . . Procesamiento en caso de corte y restablecimiento de la alimentacin para los PLC Modicon M340 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procesamiento en arranque en fro para PLC Modicon M340. . . . . . . Procesamiento en reinicio en caliente para PLC Modicon M340. . . . . Inicio automtico en modalidad RUN para PLC Modicon M340 . . . . . Procesamiento de la memoria de seal de la modalidad STOP para los PLC Modicon M340 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35006147 10/2013

5.2 Modalidades de funcionamiento de los autmatas Premium, Quantum Procesamiento en caso de corte y restablecimiento de la alimentacin para PLC Premium/Quantum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procesamiento del arranque en fro para PLC Quantum y Premium . Procesamiento del reinicio en caliente para PLC Quantum y Premium Inicio automtico en modalidad RUN para Premium/Quantum . . . . . . 5.3 Modalidad HALT del autmata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modalidad HALT del PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

152 153 155 160 163 164 164 165 166 167 168 171 174 181 186 194 199 204 205 211 220 223 231 250 252 255 256 260 261 263 264 266 267

Captulo 6 Objetos de sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . .


6.1 Bits de sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduccin de bits de sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripcin de los bits de sistema de %S0 a %S7 . . . . . . . . . . . . . . . Descripcin de los bits de sistema %S9 a %S13 . . . . . . . . . . . . . . . . Descripcin de los bits de sistema de %S15 a %S21 . . . . . . . . . . . . . Descripcin de los bits de sistema de %S30 a %S59 . . . . . . . . . . . . . Descripcin de los bits de sistema de %S65 a %S79 . . . . . . . . . . . . . Descripcin de los bits de sistema %S80 a %S97 . . . . . . . . . . . . . . . Descripcin de los bits de sistema de %S100 a %S122 . . . . . . . . . . . 6.2 Palabras de sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripcin de las palabras de sistema %SW0 a %SW11 . . . . . . . . . Descripcin de las palabras de sistema %SW12 a %SW29 . . . . . . . . Descripcin de las palabras de sistema de %SW30 a %SW47 . . . . . Descripcin de las palabras de sistema de %SW48 a %SW66 . . . . . Descripcin de las palabras de sistema de %SW70 a %SW99 . . . . . Descripcin de las palabras de sistema de %SW108 a %SW116 . . . Descripcin de las palabras de sistema de %SW124 a %SW127 . . . 6.3 Palabras de sistema especficas de Atrium/Premium . . . . . . . . . . . . . Descripcin de las palabras de sistema %SW60 a %SW65 . . . . . . . . Descripcin de las palabras de sistema de %SW128 a %SW143 . . . Descripcin de las palabras de sistema %SW144 a %SW146 . . . . . . Descripcin de las palabras de sistema de %SW147 a %SW152 . . . Descripcin de la palabra de sistema %SW153 . . . . . . . . . . . . . . . . . Descripcin de la palabra de sistema %SW154 . . . . . . . . . . . . . . . . . Descripcin de las palabras de sistema Premium/Atrium de %SW155 a %SW167. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35006147 10/2013

6.4 palabras de sistema especficas de Quantum . . . . . . . . . . . . . . . . . . . Descripcin de las palabras de sistema Quantum de %SW60 a %SW69 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripcin de las palabras de sistema Quantum de %SW98 a %SW109 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripcin de las palabras de sistema Quantum de %SW110 a %SW177 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripcin de las palabras de sistema Quantum de %SW180 a %SW764 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5 Modicon M340 y palabras de sistema M580 . . . . . . . . . . . . . . . . . . . . Descripcin de las palabras de sistema: De %SW100 a %SW167 . . . 6.6 Palabras de sistema especficas de Modicon M580 . . . . . . . . . . . . . . Palabras de sistema de Modicon M580 . . . . . . . . . . . . . . . . . . . . . . . . 6.7 palabras de sistema especficas de Momentum . . . . . . . . . . . . . . . . . Descripcin de las palabras de sistema de %SW128 a %SW152. . . .

268 269 275 277 281 290 290 295 295 296 296 299 301 302 303 306 308 309 311 312 313 315 320 322 323 324 326 327 328 330 330 335 335

Parte III Descripcin de datos. . . . . . . . . . . . . . . . . . . . . . .


Captulo 7 Presentacin general de los datos . . . . . . . . . . . . . . . .
General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripcin general de las familias de tipos de datos . . . . . . . . . . . . . Vista general de instancias de datos . . . . . . . . . . . . . . . . . . . . . . . . . . Vista general de las referencias de datos . . . . . . . . . . . . . . . . . . . . . . Reglas sintcticas de los nombres de tipos/instancias . . . . . . . . . . . .

Captulo 8 Tipos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


8.1 Tipos de datos elementales (EDT) con formato Binario . . . . . . . . . . . Descripcin general de tipos de datos con formato binario . . . . . . . . . Tipos booleanos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tipos enteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . El tipo Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Tipos de datos elementales (EDT) con formato BCD . . . . . . . . . . . . . Descripcin general de tipos de datos con formato BCD . . . . . . . . . . El tipo Date. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . El tipo Time of Day (TOD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . El tipo Date and Time (DT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3 Tipos de datos elementales (EDT) con formato Real . . . . . . . . . . . . . Presentacin del tipo de datos REAL . . . . . . . . . . . . . . . . . . . . . . . . . 8.4 Tipo de datos elementales (EDT) con formato de cadena de caracteres Descripcin general de tipos de datos con formato de cadena de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35006147 10/2013

8.5 Tipos de datos elementales (EDT) con formato de cadena de bits. . . Descripcin general de los tipos de datos con formato de cadena de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tipos de cadena de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6 Tipos de datos derivados (DDT de dispositivo/IODDT/DDT) . . . . . . . Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estructuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Visin general de la familia de tipos de datos derivados (DDT) . . . . . DDT: normas de asignacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripcin general de los tipos de datos derivados de entradas/salidas (IODDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripcin general de los tipos de datos derivados de dispositivos (DDT de dispositivo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.7 Tipos de datos de bloques de funcin (DFB\EFB) . . . . . . . . . . . . . . . Descripcin general de las familias de tipos de datos de bloques de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tipos de datos de bloques de funciones (EFB/DFB) . . . . . . . . . . . . . Caractersticas de elementos que pertenecen a bloques de funciones 8.8 Tipos de datos genricos (GDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripcin general de los tipos de datos genricos . . . . . . . . . . . . . 8.9 Tipos de datos pertenecientes a las grficas de funciones secuenciales (SFC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripcin general de los tipos de datos de la familia de grficas de funciones secuenciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.10 Compatibilidad entre los tipos de datos. . . . . . . . . . . . . . . . . . . . . . . . Compatibilidad entre tipos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . 8.11 Tipo de datos de referencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Declaraciones de referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

338 339 340 342 343 346 348 350 353 355 356 357 359 361 364 364 366 366 368 368 372 372 377 378 382 385 393 394 396 399 403

Captulo 9 Instancias de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Instancias de tipos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Atributos de la instancia de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instancias de datos con direccionamiento directo . . . . . . . . . . . . . . . .

Captulo 10 Referencias de datos . . . . . . . . . . . . . . . . . . . . . . . . . . .


Referencias de instancias de datos por valores . . . . . . . . . . . . . . . . . Referencias de instancias de datos por nombre . . . . . . . . . . . . . . . . . Referencias de instancias de datos por direcciones . . . . . . . . . . . . . . Reglas de denominacin de los datos. . . . . . . . . . . . . . . . . . . . . . . . .

35006147 10/2013

Parte IV Lenguaje de programacin . . . . . . . . . . . . . . . . . .


Captulo 11 funcin, lenguaje de bloques FBD . . . . . . . . . . . . . . . .
Generalidades sobre el lenguaje de bloques de funciones FBD . . . . . Funciones elementales, bloques de funciones elementales, bloques de funciones derivados y procedimientos (FFB) . . . . . . . . . . . . . . . . . Llamadas de subrutina. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Elementos de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conexin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objeto de texto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Secuencia de ejecucin de los FFB. . . . . . . . . . . . . . . . . . . . . . . . . . . Modificacin de la secuencia de ejecucin . . . . . . . . . . . . . . . . . . . . . Configuracin de bucles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

405 407 408 410 420 421 422 424 425 428 433 435 436 439 440 442 454 455 457 461 462 473 475 476 483 484 485 489 490 491 495 500 501 503 504

Captulo 12 Diagrama de contactos (LD) . . . . . . . . . . . . . . . . . . . . .


Generalidades sobre el lenguaje de diagrama de contactos LD . . . . . Contactos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bobinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Funciones elementales, bloques de funciones elementales, bloques de funciones derivados y procedimientos (FFB) . . . . . . . . . . . . . . . . . Elementos de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bloques de funcionamiento y de comparacin . . . . . . . . . . . . . . . . . . Conexiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objeto de texto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deteccin de flancos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Secuencia de ejecucin y flujo de seal . . . . . . . . . . . . . . . . . . . . . . . Configuracin de bucles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modificacin de la secuencia de ejecucin . . . . . . . . . . . . . . . . . . . . .

Captulo 13 SFC, lenguaje de ejecucin secuencial . . . . . . . . . . . .


13.1 Generalidades sobre el lenguaje de ejecucin secuencial SFC . . . . . Generalidades sobre el lenguaje de ejecucin secuencial SFC . . . . . Reglas de conexin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2 Paso y paso de macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pasos de macro y secciones de macro . . . . . . . . . . . . . . . . . . . . . . . . 13.3 Accin y seccin de accin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Seccin de accin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descriptor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35006147 10/2013

13.4 Transicin y seccin de transicin. . . . . . . . . . . . . . . . . . . . . . . . . . . . Transicin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Seccin de transicin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.5 Salto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Salto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.6 Conexin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conexin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.7 Bifurcaciones y conjunciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bifurcaciones alternativas y conjunciones alternativas . . . . . . . . . . . . Bifurcacin simultnea y conjuncin simultnea . . . . . . . . . . . . . . . . . 13.8 Objeto de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objeto de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.9 Single-Token . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Secuencia de ejecucin en Single-Token . . . . . . . . . . . . . . . . . . . . . . Cadena alternativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saltos de cadena y bucles de cadena. . . . . . . . . . . . . . . . . . . . . . . . . Cadenas simultneas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Seleccin asimtrica de cadenas simultneas . . . . . . . . . . . . . . . . . . 13.10 Multi-Token . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Secuencia de ejecucin en Multi-Token . . . . . . . . . . . . . . . . . . . . . . . Cadena alternativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cadenas simultneas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Salto a una cadena simultnea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Salto desde una cadena simultnea . . . . . . . . . . . . . . . . . . . . . . . . . .

Captulo 14 Lista de instrucciones (IL) . . . . . . . . . . . . . . . . . . . . . . .


14.1 Generalidades sobre la lista de instrucciones IL . . . . . . . . . . . . . . . . . Generalidades sobre la lista de instrucciones IL . . . . . . . . . . . . . . . . . Operandos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modificador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Llamada de subrutina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Etiquetas y saltos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comentario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2 Llamada de funciones elementales, mdulos de funcin elementales, mdulos de funcin derivados y procedimientos . . . . . . . . . . . . . . . . Llamada de funciones elementales . . . . . . . . . . . . . . . . . . . . . . . . . . . Llamada de bloques de funciones elementales y bloques de funciones derivados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Llamada de procedimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35006147 10/2013

507 508 510 512 512 513 513 514 515 516 517 517 518 519 520 521 524 526 529 530 531 534 538 539 545 546 547 551 553 555 565 566 568 569 570 575 587
9

Captulo 15 Texto estructurado (ST). . . . . . . . . . . . . . . . . . . . . . . . .


15.1 Generalidades sobre el texto estructurado ST. . . . . . . . . . . . . . . . . . . Generalidades sobre el texto estructurado (ST) . . . . . . . . . . . . . . . . . Operandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2 Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Asignacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instruccin de seleccin IF...THEN...END_IF . . . . . . . . . . . . . . . . . . . Instruccin de seleccin ELSE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instruccin de seleccin ELSIF...THEN . . . . . . . . . . . . . . . . . . . . . . . . Instruccin de seleccin CASE...OF...END_CASE . . . . . . . . . . . . . . . Instruccin de repeticin FOR...TO...BY...DO...END_FOR . . . . . . . . . Repeticin de la instruccin WHILE...DO...END_WHILE . . . . . . . . . . Instruccin de repeticin REPEAT...UNTIL...END_REPEAT . . . . . . . Instruccin de repeticin EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Llamada de subrutina. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RETURN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instruccin vaca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Etiquetas y saltos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comentario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3 Llamada de funciones elementales, mdulos de funcin elementales, mdulos de funcin derivados y procedimientos . . . . . . . . . . . . . . . . . Llamada de funciones elementales . . . . . . . . . . . . . . . . . . . . . . . . . . . Llamada de bloques de funciones elementales y bloques de funciones derivados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procedimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

595 596 597 600 602 608 609 610 612 613 614 615 616 618 619 620 621 622 623 624 625 626 627 633 642 649 651 652 654 657 658 660 664 666

Parte V Bloques de funciones del usuario (DFB). . . . . . .


Captulo 16 Presentacin de los bloques de funciones del usuario (DFB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduccin a los bloques de funciones del usuario . . . . . . . . . . . . . . Implementacin de un bloque de funcin DFB . . . . . . . . . . . . . . . . . .

Captulo 17 Descripcin de los bloques de funciones del usuario (DFB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Definicin de datos internos de bloques de funciones DFB. . . . . . . . . Parmetros de DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Variables de DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Seccin de cdigo de DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

35006147 10/2013

Captulo 18 Instancia de los bloques de funciones del usuario (DFB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Creacin de una instancia de DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejecucin de una instancia de DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo de programacin de un bloque de funcin derivado (DFB) . .

669 670 672 673 677 678 681 684 686 689 693 695 695 697 698 700 703 705 706 708 709 714 723 732 735 744 745 746 746 748 749 761 763

Captulo 19 Utilizacin de los DFB a partir de los diferentes lenguajes de programacin. . . . . . . . . . . . . . . . . . . . . .


Reglas de uso de los DFB en un programa . . . . . . . . . . . . . . . . . . . . Utilizacin de los IODDT en un DFB . . . . . . . . . . . . . . . . . . . . . . . . . . Utilizacin de un DFB en un programa en lenguaje de contactos. . . . Utilizacin de un DFB en un programa en literal estructurado . . . . . . Utilizacin de un DFB en un programa en lista de instrucciones . . . . Utilizacin de un DFB en un programa en lenguaje de bloques funcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Captulo 20 DFB de diagnstico de usuario. . . . . . . . . . . . . . . . . . .


Presentacin de los DFB de diagnstico de usuario . . . . . . . . . . . . . .

Captulo 21 Conversin de tipos implcita en Unity Pro . . . . . . . . .


Conversiones de tipo implcito de Unity Pro . . . . . . . . . . . . . . . . . . . . Diferencias de Unity Pro respecto a las recomendaciones de IEC . . .

Apndices

.........................................
Tabla de cdigos de error de la librera base . . . . . . . . . . . . . . . . . . . Tabla de cdigos de error de la librera de diagnstico. . . . . . . . . . . . Tablas de cdigos de error de la biblioteca de comunicacin . . . . . . . Tablas de cdigos de error para la librera de gestin de E/S . . . . . . Tabla de cdigos de error de la librera CONT_CTL . . . . . . . . . . . . . . Tabla de cdigos de error de la biblioteca de movimiento . . . . . . . . . Tablas de cdigos de error de la biblioteca obsoleta . . . . . . . . . . . . . Errores comunes de coma flotante . . . . . . . . . . . . . . . . . . . . . . . . . . .

Apndice A Cdigos y valores de error de EFB. . . . . . . . . . . . . . . .

Apndice B Conformidad con IEC. . . . . . . . . . . . . . . . . . . . . . . . . . .


B.1 Informacin general relativa a la norma IEC 61131-3 . . . . . . . . . . . . . Informacin general relativa a la conformidad con la norma IEC 611313. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tablas de conformidad con las normas IEC . . . . . . . . . . . . . . . . . . . . Elementos comunes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Elementos del lenguaje IL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Elementos de lenguaje ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

B.2

35006147 10/2013

11

B.3 B.4

Elementos grficos comunes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Elementos del lenguaje LD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parmetros dependientes del tipo de implementacin . . . . . . . . . . . . Condiciones de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Extensiones de la norma IEC 61131-3 . . . . . . . . . . . . . . . . . . . . . . . . Extensiones de la norma IEC 61131-3, 2 edicin. . . . . . . . . . . . . . . . Sintaxis de lenguajes textuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sintaxis de lenguaje textual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

764 765 766 769 771 771 773 773 775 797

12

35006147 10/2013

Informacin de seguridad
Informacin importante
AVISO Lea atentamente estas instrucciones y observe el equipo para familiarizarse con el dispositivo antes de instalarlo, utilizarlo o realizar su mantenimiento. Los mensajes especiales que se ofrecen a continuacin pueden aparecer a lo largo de la documentacin o en el equipo para advertir de peligros potenciales o para ofrecer informacin que aclara o simplifica los distintos procedimientos.

35006147 10/2013

13

TENGA EN CUENTA La instalacin, manejo, puesta en servicio y mantenimiento de equipos elctricos debern ser realizados slo por personal cualificado. Schneider Electric no se hace responsable de ninguna de las consecuencias del uso de este material. Una persona cualificada es aquella que cuenta con capacidad y conocimientos relativos a la construccin, el funcionamiento y la instalacin de equipos elctricos y que ha sido formada en materia de seguridad para reconocer y evitar los riesgos que conllevan tales equipos.

14

35006147 10/2013

Acerca de este libro


Presentacin
Objeto Este manual describe los elementos necesarios para la programacin de los M340, Premium, Atrium y Quantum mediante el taller de programacin de Unity Pro. Campo de aplicacin Esta documentacin es vlida para el software Unity Pro a partir de la versin 8.0. Informacin relativa al producto

ADVERTENCIA
FUNCIONAMIENTO IMPREVISTO DEL EQUIPO La aplicacin de este producto requiere experiencia en el diseo y la programacin de sistemas de control. Slo debe permitirse a las personas con dicha experiencia programar, instalar, alterar y aplicar este producto. Siga todos los cdigos de seguridad y los estndares locales y nacionales. El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o dao al equipo.

35006147 10/2013

15

16

35006147 10/2013

Unity Pro Presentacin general 35006147 10/2013

Parte I
Presentacin general de Unity Pro

Presentacin general de Unity Pro

35006147 10/2013

17

Presentacin general

18

35006147 10/2013

Unity Pro Presentacin 35006147 10/2013

Captulo 1
Presentacin

Presentacin
Visin general En este captulo se describe la estructura y el comportamiento en general de un proyecto creado con Unity Pro. Contenido de este captulo Este captulo contiene los siguiente apartados:
Apartado Funciones de Unity Pro Interfase de usuario Explorador de proyectos Formatos de archivo de proyecto y de aplicacin de usuario Configurador Editor de datos Editor de programas Diagrama de bloques de funciones (FBD) Lenguaje del diagrama de Ladder (LD) Informacin general sobre el lenguaje de secuencias SFC Lista de instrucciones IL Texto estructurado ST Simulador de PLC Exportacin/importacin Documentacin de usuario Servicios de depuracin Visualizador de diagnsticos Ventana de usuario Pgina 20 24 26 27 34 39 48 51 53 55 59 60 61 62 63 64 71 72

35006147 10/2013

19

Presentacin

Funciones de Unity Pro


Plataformas de hardware Unity Pro admite las plataformas de hardware siguientes: Modicon M340 Modicon M580 Quantum Momentum Premium Atrium

Lenguajes de programacin Unity Pro proporciona los lenguajes de programacin siguientes para crear el programa de usuario: Diagrama de bloques de funciones (FBD) Lenguaje de diagrama de contactos (LD) Lista de instrucciones (IL) Texto estructurado (ST) Control secuencial (SFC). Ladder Logic 984 (LL984) Todos estos lenguajes de programacin pueden utilizarse juntos en el mismo proyecto. Todos estos lenguajes (excepto LL984) cumplen con la norma IEC 61131-3. Bibliotecas de bloques Los bloques que se incluyen en el envo de amplias bibliotecas de bloques Unity Pro comprenden desde los bloques para realizar simples operaciones booleanas, pasando por los bloques para realizar operaciones de cadenas de caracteres y matrices, hasta los bloques para controlar complejos bucles de control. Para obtener una descripcin general ms sencilla, los distintos bloques se organizan en bibliotecas que a su vez se desglosan en familias. Estos bloques se pueden utilizar en los lenguajes de programacin FBD, LD, IL y ST.

20

35006147 10/2013

Presentacin

Elementos de un programa Un programa puede estar formado por los siguientes elementos: Una tarea maestra (MAST) Una tarea FAST (no disponible para Momentum) De una a cuatro tareas auxiliares (no disponibles para Modicon M340 y Momentum) Secciones, asignadas a una de las tareas definidas Secciones para procesar los eventos controlados de temporizador (Timerx, no disponible para Momentum) Secciones para procesar eventos controlados por hardware (EVTx, no disponible para Momentum) Secciones de subrutina (SR)

Paquetes de software Se encuentran disponibles los siguientes paquetes de software: Unity Pro S Unity Pro L Unity Pro XL Unity Pro XLS.

Campo de aplicacin del rendimiento Esta tabla muestra las caractersticas principales de los paquetes de software individuales:
Unity Pro S Lenguajes de programacin Diagrama de bloques de funciones (FBD) Lenguaje de diagrama de contactos (LD) Lista de instrucciones (IL) Texto estructurado (ST) Lenguaje secuencial (SFC) Ladder Logic 984 (LL984) Bibliotecas (1) Biblioteca estndar Biblioteca de controles Biblioteca de comunicacin Biblioteca de diagnstico Biblioteca de gestin de E/S Biblioteca del sistema + + + + + + + + + + + + + + + + + + +(2) +(2) +(2) +(2) +(2) +(2) + + + + + + + + + + + + + + + + + + + + +(2) +(2) +(2) + Unity Pro L Unity Pro XL Unity Pro XLS.

35006147 10/2013

21

Presentacin

Unity Pro S Biblioteca de direccin de control de movimiento Biblioteca de TCP abierta Biblioteca obsoleta Biblioteca MFB Biblioteca de seguridad + + -

Unity Pro L + opcional + + +

Unity Pro XL + opcional + + +

Unity Pro XLS. +(2) opcional (2) +(2) +(2) + +(2)

Biblioteca de gestin de + ficheros de tarjeta de memoria Informacin general Creacin y uso de estructuras de datos (DDT) Creacin y uso de bloques funcionales derivados (DFB) Navegador de proyectos con vista funcional o estructural Gestin de derechos de acceso Pantallas de operador Visualizador de diagnsticos Diagnstico de sistema Diagnsticos de proyecto Trending Tool Convertidor de aplicaciones + + + + + + + + + Convertidor de Concept BMX P34 1000 BMX P34 20 -

+ + + + + + + + + Convertidor PL7 Convertidor de Concept BMX P34 1000 BMX P34 20 BME P58 1020 BME P58 2020 BME P58 3020 171CBU78090 171CBU98090 171CBU98091

+ + + + + + + + + Convertidor PL7 Convertidor de Concept BMX P34 1000 BMX P34 20 Todas las CPU

+(2) + + + + + + +(2) + Convertidor PL7 Convertidor de Concept BMX P34 1000 BMX P34 20 -

Gestin multiestacin Plataformas admitidas Modicon M340 Modicon M580

Momentum

171CBU78090 171CBU98090 171CBU98091

171CBU78090 171CBU98090 171CBU98091

171CBU78090 171CBU98090 171CBU98091

22

35006147 10/2013

Presentacin

Unity Pro S Premium -

Unity Pro L Todas las CPU excepto: P57 554M P57 5634M P57 6634M 140 CPU 311 10 140 CPU 434 12 U/A* 140 CPU 534 14 U/A* * Actualizacin con el SO de Unity

Unity Pro XL Todas las CPU

Unity Pro XLS. Todas las CPU

Quantum

CPU 311 10 CPU 434 12 U/A CPU 534 14 U/A CPU 651 50 CPU 651 60 CPU 652 60 CPU 658 60 CPU 670 60 CPU 671 60 CPU 672 60 CPU 672 61 CPU 678 61

CPU 311 10 CPU 434 12 U/A CPU 534 14 U/A CPU 651 50 CPU 651 60 CPU 652 60 CPU 658 60 CPU 670 60 CPU 671 60 CPU 672 60 CPU 672 61 CPU 678 61 CPU 651 60S CPU 671 60S Todas las CPU + + +

Atrium Simulador Apertura Hipervnculos Unity Pro Server (para OFS, UAG) Documentacin como la ayuda contextual y el PDF Herramienta del cargador del SO + firmware HW Unity Loader

+ + +

Todas las CPU + + +

Todas las CPU + + +

Componentes de software incluidos en el paquete de software + + + + + + + + + + + +

Leyenda: + = disponible + (1) = La disponibilidad de los bloques depende de las plataformas (vase Unity Pro, Estndar, Librera de bloques) de hardware. + (2) = Disponible en todos los PLC excepto en las plataformas CPU 651 60S y CPU 671 60S. - = no disponible Convencin sobre nomenclatura En otras secciones del presente documento, "Unity Pro" se utiliza como trmino general de "Unity Pro S", "Unity Pro L", "Unity Pro XL" y "Unity Pro XLS".
35006147 10/2013

23

Presentacin

Interfase de usuario
Vista general La interfase de usuario est compuesta por varias ventanas y barras de herramientas que se pueden organizar de forma libre. Interfase de usuario

24

35006147 10/2013

Presentacin

Leyenda:
Nmero 1 2 3 4 5 6 Descripcin Barra de mens (vase Unity Pro, Modalidades de funcionamiento) Barra de herramientas (vase Unity Pro, Modalidades de funcionamiento) Explorador de proyectos (vase Unity Pro, Modalidades de funcionamiento) Ventana de editor (editores de lenguajes de programacin, editor de datos, etc.) Fichas para el acceso directo a la ventana del editor Ventana de resultados (vase Unity Pro, Modalidades de funcionamiento) (proporciona informacin acerca de los errores producidos, del seguimiento de seales, de las funciones de importacin, etc.). Barra de estado (vase Unity Pro, Modalidades de funcionamiento)

35006147 10/2013

25

Presentacin

Explorador de proyectos
Introduccin El explorador de proyectos muestra todos los parmetros del proyecto. La visualizacin se puede efectuar como una vista estructural (topolgica) o una vista funcional.

Vista estructural En la vista estructural, el explorador de proyectos ofrece, entre otras, las siguientes prestaciones: Crear y eliminar elementos El smbolo de la seccin indica el lenguaje de programacin de la seccin y si sta est protegida (si hay una seccin vaca, el smbolo aparece en gris). Visualizacin de las propiedades de los elementos Creacin de directorios del usuario Inicio de los diversos editores Inicio de la funcin de importacin/exportacin

Vista funcional En la vista funcional, el explorador de proyectos ofrece, entre otras, las siguientes prestaciones: Creacin de mdulos funcionales Insertar secciones, tablas de animacin, etc. mediante la funcin Arrastrar y soltar desde la vista estructural Creacin de secciones Visualizacin de las propiedades de los elementos Inicio de los diversos editores El smbolo de la seccin muestra el lenguaje de programacin de la seccin y otros atributos.
26
35006147 10/2013

Presentacin

Formatos de archivo de proyecto y de aplicacin de usuario


Introduccin Unity Pro gestiona tres tipos de archivos para almacenar proyectos y aplicaciones de usuario. Cada tipo de archivo puede utilizarse segn las necesidades especficas. Los tipos de archivo se pueden identificar por su extensin: *.STU: Archivo Unity Pro. *.STA: Archivo de aplicacin archivada de Unity Pro. *.XEF: Archivo de intercambio de aplicacin Unity Pro. *.ZEF: archivo de intercambio de aplicacin completo Unity Pro.

Archivo STU Este tipo de archivo se utiliza para tareas de trabajo diarias. Este formato se utiliza de manera predeterminada al abrir o guardar un proyecto de usuario. La tabla siguiente presenta las ventajas e inconvenientes del archivo STU:
Ventajas
El proyecto se puede guardar en cualquier fase

Inconvenientes
No resulta til al transferir un proyecto debido al

(coherente o incoherente) mediante el comando predeterminado.


El almacenamiento y la apertura del proyecto son

tamao muy grande del archivo.

No es compatible cuando se actualiza Unity Pro de

rpidos, ya que toda la base de datos interna est presente en el archivo.


Creacin automtica de archivos BAK

una versin a otra.

Cada vez que se guarda un archivo STU, se crea tambin una copia de seguridad, con el mismo nombre que el del archivo STU y la extensin de archivos BAK. Al cambiar la extensin del archivo de BAK a STU, es posible restaurar el estado que tena el proyecto la ltima vez que se guard. Los archivos BAK se almacenan en la misma carpeta que el archivo de proyecto STU.

35006147 10/2013

27

Presentacin

Archivo STA Este tipo de archivo se utiliza para archivar proyectos y slo se puede crear cuando el proyecto se ha generado. Este tipo de archivo permite la compatibilidad entre distintas versiones de Unity Pro. Existen dos maneras de crear un archivo STA: El archivo STA puede crearse manualmente accediendo al men Archivo Guardar archivo de la ventana principal de Unity Pro. El archivo STA se crea automticamente cada vez que se guarda el proyecto como un archivo STU si est en un estado Generado. NOTA: El archivo STA creado automticamente se guarda en el mismo directorio y con el mismo nombre que el archivo de proyecto STU, excepto que al nombre de archivo se aade el sufijo .Auto. Si ya existe un archivo STA automtico, se sobrescribe sin confirmar nada.

NOTA: Si el proyecto est en un estado Generado, al guardar un archivo STU mediante un Unity Pro Server tambin se crea un archivo STA. La siguiente tabla presenta las ventajas e inconvenientes del archivo STA:
Ventajas
Almacenamiento rpido de proyecto.

Inconvenientes
Slo se puede crear cuando el proyecto se ha

generado.
Los proyectos se pueden compartir a travs de La apertura del proyecto es larga, ya que el archivo

correo electrnico o soportes de memoria de tamao reducido.


Posibilidad de conectar en Modalidad online

del proyecto se reconstruye antes de la operacin.

idntica con el PLC despus de abrir el proyecto en una versin nueva de Unity Pro. Para obtener ms informacin, consulte Conexin/Desconexin (vase Unity Pro, Modalidades de funcionamiento).
Permitir modificaciones en lnea con el PLC sin

ninguna descarga previa en el mismo.


El archivo STA generado es compatible con

todas las versiones de Unity Pro. NOTA: Para cargar un archivo STA creado con otra versin de Unity Pro, todas las funciones usadas en la aplicacin deben admitirse en la versin actual.

28

35006147 10/2013

Presentacin

Creacin de un archivo de aplicaciones archivadas (*.STA) de Unity Pro En la tabla siguiente se describe el procedimiento para generar archivos *.STA:
Paso 1 2 Accin Iniciar el software actual de Unity Pro: Inicio Programas Schneider Electric SoCollaborative Unity Pro. Abrir el proyecto (archivo *.STU): 1. Archivo Abrir. 2. Seleccionar el proyecto (archivo *.STU). 3. Hacer clic en Abrir. Archivo Archivar, consulte la nota ms abajo. Elegir la ubicacin donde desea guardar el archivo. No guarde ficheros en el directorio predeterminado de Schneider Electric: C:\Archivos de programa\Schneider Electric\Unity Pro Es posible que los archivos guardados en este directorio se borren durante la instalacin de Unity Pro. Hacer clic en Guardar. Recuerde la ubicacin de almacenamiento del archivo *.STA en el terminal, puesto que la necesitar para recuperar el proyecto.

3 4

5 6

NOTA: La funcin Archivar slo est disponible si:


Se ha generado el proyecto. Si en Herramientas Ajustes del proyecto, seccin Informacin de carga se ha seleccionado Incluir, al menos una de las dos casillas de verificacin inferiores debe estar marcada.

Restauracin de un archivo de aplicaciones archivadas (*.STA) de Unity Pro Esta restauracin consiste en importar los archivos *.STA previamente creados y almacenados. Los archivos *.STA se utilizan cuando no se puede detener el PLC. Para restaurar archivos *.STA, siga el procedimiento siguiente para cada proyecto:
Paso Accin 1 2 3 4 Iniciar Unity Pro: Inicio Programas Schneider Electric SoCollaborative Unity Pro. Abrir el archivo *.STA desde el men Archivo Abrir. El tipo de fichero seleccionado debe ser Fichero de aplicaciones archivadas (STA) de Unity Pro. Hacer clic en Abrir. Guardar el proyecto como archivo *.STU.

35006147 10/2013

29

Presentacin

Archivo XEF Este tipo de archivo se utiliza para exportar proyectos con un formato origen XML y se puede crear en cualquier fase de un proyecto. La siguiente tabla presenta las ventajas e inconvenientes del archivo XEF:
Ventajas
El formato origen XML garantiza la

Inconvenientes
Tamao medio. La apertura del proyecto tarda un tiempo mientras

compatibilidad del proyecto con cualquier versin de Unity Pro.

ste se importa antes de la operacin.


La generacin del proyecto es obligatoria para

volver a ensamblar el cdigo binario del proyecto.


El funcionamiento con el PLC requiere volver a crear

el proyecto y realizar una descarga en el procesador.


No es posible conectar con el PLC en modalidad

online idntica con un archivo XEF. Para obtener ms informacin, consulte Conexin/Desconexin (vase Unity Pro, Modalidades de funcionamiento).

30

35006147 10/2013

Presentacin

Archivo ZEF Este tipo de archivo se utiliza para exportar proyectos con una configuracin de DTM global y se puede crear en cualquier fase de un proyecto. Para obtener detalles sobre la exportacin/importacin de proyectos, consulte el captulo Importacin/Exportacin (vase Unity Pro, Modalidades de funcionamiento). La siguiente tabla presenta las ventajas e inconvenientes del archivo ZEF:
Ventajas
El formato ZEFL garantiza la compatibilidad del

Inconvenientes

Tamao medio. La apertura del proyecto tarda un tiempo mientras ste se importa antes de la operacin. a ensamblar el cdigo binario del proyecto.

proyecto con cualquier versin de Unity Pro.

La generacin del proyecto es obligatoria para volver

El funcionamiento con el PLC requiere volver a crear el proyecto y realizar una descarga en el procesador. online idntica con un archivo ZEF. Para obtener ms informacin, consulte Conexin/Desconexin (vase Unity Pro, Modalidades de funcionamiento).

No es posible conectar con el PLC en modalidad

Creacin de un archivo de intercambio de aplicacin (*.ZEF o *.XEF) de Unity Pro En la tabla siguiente se describe el procedimiento para generar archivos *.ZEF o *.XEF:
Paso 1 2 Accin Iniciar el software actual de Unity Pro: Inicio Programas Schneider Electric SoCollaborative Unity Pro. Abrir el proyecto (archivo *.STU): 1. Archivo Abrir. 2. Seleccionar el proyecto (archivo *.STU). 3. Hacer clic en Abrir. Archivo Exportar proyecto. Elegir la ubicacin donde desea guardar el archivo. No guarde ficheros en el directorio predeterminado de Schneider Electric: C:\Archivos de programa\Schneider Electric\Unity Pro Es posible que los archivos guardados en este directorio se borren durante la instalacin de Unity Pro. Haga clic en Exportar y seleccione el formato del archivo de exportacin (*.ZEF o *.XEF). Recuerde la ubicacin de almacenamiento del archivo *.ZEF o *.XEF en la estacin de trabajo, puesto que la necesitar para recuperar el proyecto.

3 4

5 6

35006147 10/2013

31

Presentacin

Restauracin de un archivo de intercambio de aplicacin (*.ZEF o *.XEF) de Unity Pro Esta restauracin consiste en importar los archivos *.ZEF o *.XEF previamente creados y almacenados. La importacin desde el formato ZEF o XEF implica la regeneracin del proyecto. Para restaurar archivos *.ZEF o *.XEF, siga el procedimiento siguiente para cada proyecto:
Paso Accin 1 2 Iniciar Unity Pro: Inicio Programas Schneider Electric SoCollaborative Unity Pro. Abrir el archivo *.ZEF o *.XEF desde el men Archivo Abrir. El tipo de archivo seleccionado debe ser Archivo de intercambio de aplicacin completo de Unity Pro (*.ZEF) o Archivo de intercambio de aplicacin de Unity Pro (*.XEF). Hacer clic en Abrir. Guardar el proyecto como archivo *.STU.

3 4

Informacin de compatibilidad Los archivos STU no son compatibles entre versiones de Unity Pro. Para usar un proyecto con una versin distinta de Unity Pro, los usuarios deben almacenar los: Archivos de aplicaciones archivadas (STA) de Unity Pro: Gracias al archivo STA es posible volver a usar el proyecto creado actual con la nueva versin de Unity Pro instalada en el ordenador. Archivos de intercambio de aplicacin (ZEF) de Unity Pro: El archivo ZEF debe usarse si se ha creado el proyecto. Archivos de intercambio de aplicacin (XEF)de Unity Pro: El archivo XEF debe usarse si se ha creado el proyecto. Comparacin de tipos de archivo La tabla siguiente ofrece un resumen de los cuatro tipos de archivo:
Tipos de archivo Aplicaciones binarias Aplicaciones de origen Base de datos interna Comparacin del tamao de archivo Comparacin del tamao de almacenamiento Comparacin del tiempo de apertura STU S S S STA S S No XEF No S No ZEF No S No 3 6 10

10, 0,03, 3 consulte (1) consulte (1) 10 1 1,6 10 Posible 6 10

Conexin con el PLC en Modalidad online idntica Posible Copia de seguridad de archivo Posible

No es posible, No es posible, consulte (2) consulte (2) Posible

Posible, Posible consulte (3)

32

35006147 10/2013

Presentacin

(1): Archivos comprimidos. (2): Es necesario cargar el proyecto antes en el PLC. (3): El proyecto slo se puede guardar si se ha generado. NOTA: Los valores de la tabla representan un porcentaje entre tipos de archivo, donde el valor de STU sirve como referencia.

35006147 10/2013

33

Presentacin

Configurador
Ventana del configurador La ventana del configurador est dividida en dos ventanas: Ventana de catlogo Desde esta ventana, es posible seleccionar un mdulo e insertarlo en la representacin grfica de la configuracin del PLC directamente mediante la funcin Arrastrar y soltar. Representacin grfica de la configuracin del PLC

Representacin de la ventana del configurador:

En funcin de la posicin del puntero del ratn, se abrir uno de los siguientes mens contextuales: Si coloca el puntero sobre el fondo, podr: Modificar la unidad de la CPU y seleccionar diversos factores de zoom.

Si coloca el puntero sobre un mdulo, podr: Acceder a las funciones de edicin (borrar, copiar, mover), abrir la configuracin del mdulo para definir los parmetros especficos del mdulo y visualizar las propiedades de E/S y la corriente total. Si coloca el puntero sobre un slot vaco, podr: Insertar un mdulo del catlogo e insertar un mdulo copiado previamente, incluyendo sus propiedades definidas.
35006147 10/2013

34

Presentacin

Configuracin del mdulo La ventana de configuracin del mdulo (se ejecuta desde el men contextual del mdulo o haciendo doble clic en el mdulo) sirve para configurar el mdulo. Entre sus funciones se encuentran, por ejemplo, la seleccin de canal, la seleccin de la funcin del canal seleccionado, la asignacin de memoria de seal (slo Quantum), etc. Ventana de configuracin para un mdulo de E/S Premium:

35006147 10/2013

35

Presentacin

Propiedades del mdulo La ventana de propiedades del mdulo (se ejecuta por medio del men contextual del mdulo) muestra las propiedades del mdulo, por ejemplo, el consumo de alimentacin, la cantidad de puntos de E/S (slo Premium), etc. En la ficha de la fuente de alimentacin de la ventana de propiedades del mdulo, se muestra la corriente total del bastidor:

36

35006147 10/2013

Presentacin

Configuracin de red La configuracin de red se ejecuta a travs de la carpeta de comunicaciones. Configuracin de red:

Las ventanas de la configuracin de red permiten, entre otras cosas: Crear redes Analizar una red Imprimir la configuracin de red

35006147 10/2013

37

Presentacin

Ventana para configurar una red:

Tras la configuracin, la red se asigna a un mdulo de comunicaciones.

38

35006147 10/2013

Presentacin

Editor de datos
Introduccin El editor de datos ofrece las siguientes prestaciones: Declaracin de instancias de variables Definicin de tipos de datos derivados (DDT) Definicin de tipos de datos derivados de dispositivo (DDT de dispositivo) Declaracin de instancias de bloques de funcin elementales y derivados (EFB/DFB) Definicin de parmetros de bloques de funcin derivados (DFB)

Las siguientes funciones estn disponibles en todas las fichas del editor de datos: Copiar, cortar, pegar Expandir/minimizar datos estructurados Ordenar por tipo, smbolo, direccin, etc. Filtro Insertar, eliminar y modificar la posicin de las columnas Utilizar la funcin Arrastrar y soltar entre el editor de datos y los editores de programas Deshacer (undo) la ltima modificacin Exportacin/importacin

Variables La ficha Variables sirve para declarar variables. Ficha Variables:

Estn disponibles las siguientes funciones: Definicin de un smbolo para las variables Asignacin del tipo de datos Cuadro de seleccin propio para tipos de datos derivados Asignacin de una direccin Simbolizacin automtica de variables de E/S Asignacin de un valor inicial Introduccin de un comentario Visualizacin de todas las propiedades de una variable en un cuadro de propiedades aparte

35006147 10/2013

39

Presentacin

Tipos de datos dependientes del hardware (IODDT) Los IODDT sirven para asignar la estructura de E/S completa de un mdulo a una nica variable. Asignaciones de IODDT:

Estn disponibles las siguientes funciones: Mediante los IO DDT es posible asignar estructuras de E/S completas con variables individuales. Tras introducir la direccin de la variable, a todos los elementos de la estructura se les asigna automticamente el bit de E/S o la palabra de E/S correctos. Gracias a la posibilidad de asignar la direccin a posteriori, es posible crear de forma rpida y sencilla mdulos estndar cuyas direcciones no se conocern hasta un momento posterior. Es posible asignar un alias a todos los elementos de la estructura de IODDT.

40

35006147 10/2013

Presentacin

Tipos de datos derivados de dispositivos dependientes de hardware (DDT de dispositivo) El tipo de datos derivados de dispositivo (DDT) es un DDT predefinido que describe los elementos de lenguaje de E/S de un mdulo de E/S. Este tipo de datos es representado en una estructura que depende de las capacidades del mdulo de E/S. Esta estructura proporciona vistas de bits y de registro cuando en IODDT hay tanto bits como registro extrados. En este caso, el bit extrado no se ve como un elemento esclavo de la variable de registro sino directamente como un campo de la estructura de DDT de dispositivo. Cuando se asigna un mdulo Modicon M340 en una estacin de E/S remota M340, el software de Unity Pro crear automticamente la instancia de DDT de dispositivo asociada. Esta instancia se deduce a partir de IODDT (otros objetos no asignados como %KW no son accesibles).

Cada mdulo de E/S est asociado a una instancia de DDT de dispositivo implcito: Las instancias de DDT de dispositivos implcitos se crean de forma predeterminada en la insercin de dispositivos y son actualizadas automticamente por el PLC. Contienen el estado de los mdulos, los mdulos y los bits de estado de los canales, los valores de las entradas de los mdulos, los valores de las salidas de los mdulos, etc.

El DDT de dispositivo implcito puede estar: vinculado a un dispositivo (gestionado) no vinculado a un dispositivo (no gestionado) NOTA: IODDT y la direccin topolgica (vase Modicon M340 con Unity Pro, CANopen, Manual del usuario) ya no se admiten con los mdulos de E/S remotos Modicon M340. Todas las informaciones (bits y registros) relacionadas con un canal son accesibles directamente como un campo de la estructura DDT del dispositivo. NOTA: Las estructuras explcitas opcionales son DDT explcitas, creadas a peticin en el editor de datos y utilizadas para actualizar el bloque de funciones. NOTA: Los tipos de DDT explcitos opcionales se proponen en el editor de datos para admitir datos de estado o de comando utilizados por intercambios explcitos en un canal de un mdulo de E/S en una estacin de E/S remota M340. Las instancias DDT explcitas son creadas manualmente por el usuario en el editor de datos y utilizados como parmetro de entrada o salida con el bloque de funciones que gestiona el intercambio explcito (READ_STS_QX (vase Unity Pro, Gestin de E/S, Biblioteca de bloques), WRITE_CMD_QX (vase Unity Pro, Gestin de E/S, Biblioteca de bloques)).

35006147 10/2013

41

Presentacin

Tipos de datos derivados (DDT) La ficha Tipos de DDT sirve para definir tipos de datos derivados (DDT). Un tipo de datos derivados es la definicin de una estructura o de un campo de cualquier tipo de datos ya definido (elemental o derivado). Ficha Tipos de DDT:

Estn disponibles las siguientes funciones: Definicin de DDT intercalados (8 niveles como mx.) Definicin de campos (matrices) con hasta 6 dimensiones Asignacin de un valor inicial Asignacin de una direccin Introduccin de un comentario Anlisis del tipo de datos derivados Asignacin del tipo de datos derivados a una biblioteca Visualizacin de todas las propiedades de un tipo de datos derivados en un cuadro de dilogo de propiedades aparte Es posible asignar un alias a todos los elementos de la estructura de DDT o una matriz.

42

35006147 10/2013

Presentacin

Bloques de funciones La ficha Bloques de funciones sirve para la declaracin de instancias de bloques de funciones elementales y derivados (EFB/DFB). Ficha Bloques de funciones:

Estn disponibles las siguientes funciones: Visualizacin de los bloques de funcin utilizados en el proyecto Definicin de un smbolo para los bloques de funcin utilizados en el proyecto Aceptacin automtica de los smbolos definidos en el proyecto Introduccin de un comentario para los bloques de funcin Visualizacin de todos los parmetros (entradas/salidas) de los bloques de funcin Asignacin de un valor iniciar a las entradas/salidas del bloque de funcin

35006147 10/2013

43

Presentacin

Tipos de DFB La ficha Tipos de DFB sirve para definir los parmetros de los bloques de funciones derivados (DFB). La lgica DFB se genera directamente en una o varias secciones de los lenguajes de programacin FBD, LD, IL o ST. Ficha Tipos de DFB:

Estn disponibles las siguientes funciones: Definicin del nombre del DFB Definicin de todos los parmetros del DFB, como: Entradas Salidas VAR_IN_OUT (entradas/salidas combinadas) Variables privadas Variables pblicas

Asignacin del tipo de datos a los parmetros del DFB Cuadro de seleccin propio para tipos de datos derivados Asignacin de un valor inicial Anidamiento de DFB Utilizacin de varias secciones en un DFB Introduccin de un comentario para DFB y parmetros de DFB Anlisis de los DFB definidos Gestin de versiones Asignacin de los DFB definidos a una biblioteca

44

35006147 10/2013

Presentacin

Utilizacin de los datos Las instancias y los tipos de datos generados con el editor de datos se pueden insertar en los editores de los lenguajes de programacin en funcin del contexto. Estn disponibles las siguientes funciones: Acceso a todos los editores de lenguajes de programacin Slo se muestran los datos compatibles La visualizacin de las funciones, los bloques de funcin, los procedimientos y los tipos de datos derivados se clasifican de acuerdo con la biblioteca de procedencia. La declaracin de instancias se puede realizar durante la programacin.

Cuadro de dilogo para la seleccin de datos:

35006147 10/2013

45

Presentacin

Modificacin online Es posible modificar el tipo de una variable o una instancia de bloque de funcin (FB) declarada en una aplicacin o en un bloque de funcin derivado (DFB) directamente en modalidad online (vase Unity Pro, Modalidades de funcionamiento). Esto significa que no es necesario para detener la aplicacin para realizar ese tipo de modificacin. Estas operaciones se pueden efectuar en el editor de datos o en el editor de propiedades, de la misma forma como se hara en la modalidad offline.

ATENCIN
COMPORTAMIENTO INESPERADO DE LA APLICACIN Al cambiar el tipo de una variable, el nuevo valor de la variable que se modificar depende de su tipo: En el caso de una variable no ubicada, la variable se establece en el valor inicial, si existe alguno. De lo contrario, se establece en el valor predeterminado. En el caso de una variable ubicada, la variable se reinicia con el valor inicial, si existe alguno. De lo contrario, no se modifica el valor binario actual. Antes de aplicar el cambio del tipo de variable, compruebe el impacto del nuevo valor de la variable al ejecutar la aplicacin. El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo. NOTA: No es posible modificar el tipo de una variable declarada en tipos de datos derivados (DDT) en modalidad online (vase Unity Pro, Modalidades de funcionamiento). La aplicacin se debe cambiar a modalidad offline (vase Unity Pro, Modalidades de funcionamiento) para generar esa modificacin.

46

35006147 10/2013

Presentacin

Restricciones sobre modificaciones online En los casos siguientes, no se permite la modificacin de tipo online de una variable o de un Bloque de funcin (FB): Si la variable se usa como datos globales de red, no se permite la modificacin del tipo online. Si el FB actual no se puede eliminar en lnea o si no se puede agregar un FB nuevo en lnea, no se permite la modificacin de tipo online de este FB. De hecho, algunos Bloques de funciones elementales (EFB) como los Bloques de funciones estndar (SFB) no pueden agregarse ni eliminarse online. Como consecuencia, no es posible cambiar el tipo de una instancia EFB a una instancia SFB ni viceversa. En ambos casos, se muestra el cuadro de dilogo siguiente:

NOTA: Debido a estas limitaciones, si un bloque de funcin derivado (DFB) contiene al menos una instancia de SFB, no es posible agregar ni eliminar una instancia de este DFB en modalidad online (vase Unity Pro, Modalidades de funcionamiento).

35006147 10/2013

47

Presentacin

Editor de programas
Introduccin

Un programa puede estar compuesto por: Tareas, que se ejecutan de forma cclica o peridica. Las tareas estn formadas por: Secciones Subrutinas Procesamientos de eventos, que tienen prioridad sobre todas las dems tareas. Los procesamientos de eventos estn formadas por: Secciones para el procesamiento de eventos controlados por tiempo Secciones para el procesamiento de eventos controlados por hardware

Ejemplo de un programa:

48

35006147 10/2013

Presentacin

Tareas Unity Pro admite varias tareas al mismo tiempo (multitasking). Las tareas se ejecutan de forma independiente y paralela, el PLC se encargar de controlar las prioridades de ejecucin. Las tareas se adaptan a las diversas necesidades, de forma que constituyen un potente instrumento para estructurar el proyecto. Un proyecto multitarea puede estar compuesto por: Una tarea maestro (MAST) La tarea maestra se ejecuta de forma cclica o peridica. Es la parte principal del programa y se ejecuta de forma secuencial. Una tarea rpida (FAST) La tarea rpida se ejecuta de forma peridica. Tiene un nivel de prioridad superior al de la tarea maestra. La tarea rpida est ideada para procesamientos peridicos que duran un breve espacio de tiempo. De una a cuatro tareas AUX Las tareas AUX se ejecutan de forma peridica. Estn ideadas para procesamientos ms lentos y tienen el nivel de prioridad ms bajo.

El proyecto tambin se puede estructurar como una nica tarea. En tal caso, slo estar activa la tarea maestra. Procesamiento de eventos El procesamiento de eventos se realiza en las denominadas "secciones de eventos". Estas secciones de eventos tienen prioridad sobre las secciones de todas las dems tareas. Por lo tanto, son ideales para procesamientos que requieren tiempos de respuesta muy cortos ante la aparicin de eventos. Estn disponibles los siguientes tipos de seccin para el procesamiento de eventos: Seccin para el procesamiento de eventos controlados por tiempo (seccin Timerx) Seccin para el procesamiento de eventos controlados por hardware (seccin Evtx) Son compatibles los siguientes lenguajes de programacin: FBD (lenguaje de bloques de funcin) LD (lenguaje de esquema de contactos) IL (lista de instrucciones) ST (texto estructurado)

35006147 10/2013

49

Presentacin

Secciones Las secciones son unidades de programa autnomas en las que se crea la lgica del proyecto. Las secciones se ejecutan en el mismo orden en el que se representan en el explorador de proyectos (vista estructural). Las secciones estn ligadas a una tarea. Una misma seccin no puede pertenecer simultneamente a varias tareas. Son compatibles los siguientes lenguajes de programacin: FBD (lenguaje de bloques de funcin) LD (lenguaje de esquema de contactos) SFC (lenguaje de ejecucin secuencial) IL (lista de instrucciones) ST (texto estructurado)

Subrutinas Las subrutinas se crean como unidades independientes en secciones de subrutina. La llamada de subrutinas se realiza desde las secciones o desde otra subrutina. Es posible configurar un anidamiento de hasta 8 niveles. Una subrutina no se puede llamar a s misma (no es recursiva). Las subrutinas estn asignadas a una tarea. No es posible llamar la misma subrutina desde varias tareas. Son compatibles los siguientes lenguajes de programacin: FBD (lenguaje de bloques de funcin) LD (lenguaje de esquema de contactos) IL (lista de instrucciones) ST (texto estructurado)

50

35006147 10/2013

Presentacin

Diagrama de bloques de funciones (FBD)


Introduccin El Editor FBD permite la programacin grfica de bloques de funciones segn CEI 61131-3. Representacin Representacin de una seccin FBD:

Objetos Los objetos del lenguaje de programacin FBD (diagrama de bloques de funciones) sirven de ayuda para dividir una seccin en una cantidad de funciones elementales (EF), bloques de funciones elementales (EFB), bloques de funciones derivadas (DFB), procedimientos, llamadas de subrutina, saltos, vnculos, parmetros reales, objetos de texto para comentarios de la lgica.

35006147 10/2013

51

Presentacin

Propiedades Las secciones FBD disponen de un reticulado detrs de ellas. Una unidad de reticulado est compuesta por 10 coordenadas. Una unidad de reticulado es la distancia mnima posible entre dos objetos de una seccin FBD. El lenguaje de programacin FBD no est basado en celdas; los objetos estn alineados con las coordenadas. Una seccin FBD puede configurarse con un nmero de celdas (coordenadas del reticulado horizontal y coordenadas del reticulado vertical). El programa puede introducirse con el ratn o el teclado. Ayudas de entrada El editor FBD ofrece las ayudas de entrada siguientes: Barras de herramientas para un acceso rpido y fcil a los objetos deseados Comprobacin sintctica y semntica a medida que se escribe el programa Visualizacin en color azul de los bloques de funciones y funciones incorrectos Marcacin con una lnea roja ondulada de las palabras desconocidas (por ejemplo, variables no declaradas) o de los tipos de datos inadecuados Breve descripcin de errores en la informacin rpida (informacin sobre herramientas).

La informacin sobre variables y pines se puede mostrar en la informacin rpida (informacin sobre herramientas) Tipo, nombre, direccin y comentario de una variable o expresin Tipo, nombre y comentario de un pin FFB Visualizacin tabular de FFB Los parmetros reales pueden introducirse y visualizarse como smbolos o direcciones topolgicas Distintos factores de zoom Seguimiento de conexiones Optimizacin de rutas de conexin Visualizacin de ventanas de inspeccin

52

35006147 10/2013

Presentacin

Lenguaje del diagrama de Ladder (LD)


Introduccin El editor LD permite la programacin grfica de diagramas de Ladder segn la norma CEI 611313. Representacin Representacin de una seccin LD:

Objetos Los objetos del lenguaje de programacin LD ayudan a dividir una seccin en un nmero de: Contactos Bobinas Funciones elementales (EF) Bloques de funciones elementales (EFB) Bloques de funciones derivadas (DFB) Procedimientos Elementos de control Bloques de funcionamiento y comparacin que representan una ampliacin de la norma CEI 61131-3 Llamadas de subrutina Saltos Vnculos

35006147 10/2013

53

Presentacin

Parmetros reales Objetos de texto para comentarios de la lgica

Propiedades Las secciones LD tienen una cuadrcula de fondo que divide la seccin en lneas y columnas. LD es un lenguaje de programacin orientado a celdas, es decir, slo se puede colocar un objeto en cada celda. Las secciones LD pueden tener un tamao de 11 a 64 columnas y de 17 a 2000 lneas. El programa puede introducirse con el ratn o el teclado. Ayudas de entrada El editor LD ofrece las ayudas de entrada siguientes: Los objetos se pueden seleccionar en la barra de herramientas, el men o directamente con las teclas de mtodo abreviado. Comprobacin sintctica y semntica a medida que se escribe el programa. Visualizacin de los objetos incorrectos en color azul Marcacin con una lnea roja ondulada de las palabras desconocidas (por ejemplo, variables no declaradas) o de los tipos de datos inadecuados. Breve descripcin de errores en la informacin rpida (informacin sobre herramientas).

La informacin sobre las variables y elementos de una seccin LD, que pueden conectarse a una variable (pines, contactos, bobinas, bloques de funcionamiento y comparacin), se puede mostrar en la informacin rpida (informacin sobre herramientas) tipo, nombre, direccin y comentario de una variable o expresin tipo, nombre y comentario de pines FFB, contactos, etc. Visualizacin tabular de FFB Los parmetros reales pueden introducirse y visualizarse como smbolos o direcciones topolgicas Distintos factores de zoom Seguimiento de conexiones FFB Optimizacin de rutas de conexiones FFB Visualizacin de ventanas de inspeccin

54

35006147 10/2013

Presentacin

Informacin general sobre el lenguaje de secuencias SFC


Introduccin El lenguaje de secuencias SFC (Grfica de funcin secuencial), que cumple con la norma IEC 61131-3, se describe en esta seccin. Las restricciones de conformidad con la IEC pueden eliminarse mediante procedimientos de activacin explcitos. As, pueden realizarse funciones como token mltiple, varios pasos iniciales, saltos a las cadenas paralelas o desde stas, etc.

35006147 10/2013

55

Presentacin

Representacin Representacin de una seccin SFC:

56

35006147 10/2013

Presentacin

Objetos Una seccin SFC proporciona los objetos siguientes para crear un programa: Pasos Pasos de macro (secuencias de subpasos integrada) Transiciones (condiciones de transicin) Secciones de transicin Secciones de accin Saltos Vnculos Secuencias alternativas Secuencias paralelas Objetos de texto para comentarios de la lgica

Propiedades El editor SFC tiene un reticulado de fondo que divide la seccin en 200 filas y 32 columnas. El programa puede introducirse con el ratn o el teclado. Ayudas de entrada El editor SFC ofrece las ayudas de entrada siguientes: Barras de herramientas para un acceso rpido y fcil a los objetos deseados Numeracin automtica de pasos Acceso directo a acciones y condiciones de transicin Comprobacin sintctica y semntica a medida que se escribe el programa Visualizacin de los objetos incorrectos en color azul Marcacin con una lnea roja ondulada de las palabras desconocidas (por ejemplo, variables no declaradas) o de los tipos de datos inadecuados. Breve descripcin de errores en la informacin rpida (informacin sobre herramientas).

La informacin sobre variables y transiciones se puede mostrar en la informacin rpida (informacin sobre herramientas) Tipo, nombre, direccin y comentario de una variable o expresin Tipo, nombre y comentario de transiciones Distintos factores de zoom Mostrar/ocultar las acciones asignadas Seguimiento de conexiones Optimizacin de rutas de conexin

35006147 10/2013

57

Presentacin

Propiedades de paso Propiedades de paso:

Las propiedades de paso se definen mediante un cuadro de dilogo que ofrece las funciones siguientes: Definicin de pasos iniciales Definicin de tiempos de diagnstico Comentarios de pasos Asignacin de acciones y sus identificadores

58

35006147 10/2013

Presentacin

Lista de instrucciones IL
Introduccin El Editor IL permite la programacin de listas de instrucciones segn CEI 61131-3. Representacin Representacin de una seccin IL

Objetos Una lista de instrucciones est compuesta por una secuencia de instrucciones. Cada instruccin comienza en una fila nueva y est compuesta por: Un operador En ocasiones, un modificador Si es necesario, uno o ms operandos Eventualmente, una marca como destino de salto En ocasiones, un comentario para comentar la lgica

Asistentes de entrada

El editor IL ofrece, entre otros, los siguientes asistentes de entrada: Al crear el programa se realiza una comprobacin sintctica y semntica. Las palabras clave y los comentarios se representan con colores. Las palabras desconocidas (p. ej., las variables no declaradas) o los tipos de datos inadecuados se marcan con una lnea ondulada roja. El error se describe brevemente en la informacin sobre herramientas (Tooltip). Visualizacin de funciones y mdulos de funcin en forma de tabla Asistente de entrada para funciones y mdulos de funcin Los operandos se pueden indicar y visualizar como smbolos o como direcciones topolgicas. Visualizacin de los campos de vigilancia.

35006147 10/2013

59

Presentacin

Texto estructurado ST
Introduccin El Editor ST permite la programacin en texto estructurado segn CEI 61131-3. Representacin Representacin de una seccin ST

Objetos El lenguaje de programacin ST trabaja con las denominadas "expresiones". Las expresiones son construcciones compuestas por operadores y operandos que devuelven un valor durante la ejecucin. Los operadores son smbolos para las operaciones que se van a ejecutar. Los operadores se aplican a los operandos. Los operandos son, por ejemplo, variables, literales, salidas/entradas de funciones y de mdulos de funcin, etc. Las instrucciones sirven para estructurar y controlar las expresiones. Asistentes de entrada

El editor ST ofrece, entre otros, los siguientes asistentes de entrada: Al crear el programa se realiza una comprobacin sintctica y semntica. Las palabras clave y los comentarios se representan con colores. Las palabras desconocidas (p. ej., las variables no declaradas) o los tipos de datos inadecuados se marcan con una lnea ondulada roja. El error se describe brevemente en la informacin sobre herramientas (Tooltip). Visualizacin de funciones y mdulos de funcin en forma de tabla Asistente de entrada para funciones y mdulos de funcin Los operandos se pueden indicar y visualizar como smbolos o como direcciones topolgicas. Visualizacin de los campos de vigilancia.
35006147 10/2013

60

Presentacin

Simulador de PLC
Introduccin El simulador del PLC permite realizar la bsqueda de errores en el proyecto sin tener que establecer una conexin con un PLC real. Todas las tareas del proyecto (Mast, Fast, AUX y eventos) que se ejecutan en un PLC real tambin estn disponibles en el simulador. La diferencia con un PLC real consiste en la ausencia de mdulos de E/S y redes de comunicaciones (como, p. ej., ETHWAY, Fipio y Modbus Plus), as como en un comportamiento en tiempo real no determinstico. Naturalmente, en el simulador del PLC estn disponibles todas las funciones de depuracin y animacin, de puntos de parada, de forzado de variables, etc. Representacin Representacin de un cuadro de dilogo:

Estructura del simulador El panel del simulador ofrece la siguiente informacin: Tipo del PLC simulado Estado actual del PLC simulado Nombre del proyecto cargado Direccin IP y nombre DNS del PC host del simulador y todos los PC clientes conectados Cuadro de dilogo para simular eventos de E/S Botn Restablecer para restablecer el PLC simulado (reinicio en fro simulado) Botn Apagado/encendido (para la simulacin de un reinicio en caliente) Men contextual (botn derecho del ratn) para controlar el simulador

35006147 10/2013

61

Presentacin

Exportacin/importacin
Introduccin Las funciones de exportacin e importacin permiten utilizar en otros proyectos los datos ya creados. Adems, con el formato de exportacin/importacin XML resulta muy sencillo transferir datos a un software externo u obtener sus datos. Exportacin Se pueden exportar los siguientes objetos: Proyectos completos, incluida la configuracin Secciones de todos los lenguajes de programacin Secciones de subrutinas de todos los lenguajes de programacin Bloques de funcin derivados (DFB) Tipos de datos derivados (DDT) Tipos de datos derivados de dispositivo (DDT de dispositivo) Declaraciones de variables Pantalla del operador

Importacin Lgicamente, todos los objetos que se pueden exportar tambin se pueden importar. Existen dos variantes de importacin: Importacin directa Importa el objeto tal como se export. Importacin con asistente Los asistentes permiten modificar los nombres de las variables, las secciones o las unidades funcionales. Adems, se puede modificar la asignacin de las direcciones.

62

35006147 10/2013

Presentacin

Documentacin de usuario
Documentacin de usuario Prestaciones de la documentacin de usuario

Las siguientes funciones sirven para documentar el proyecto: Impresin de todo el proyecto (2) o ciertas partes (3) Eleccin entre las vistas estructural o funcional (1) Adaptacin de los resultados (pies de pgina, informacin general, etc.) Impresin local para los editores de lenguajes de programacin, el editor de configuracin etc. Tipo de letra especial (negrita) para las palabras clave Formato de papel a elegir Vista preliminar (4) Almacenamiento de la documentacin

35006147 10/2013

63

Presentacin

Servicios de depuracin
Localizacin de errores en la aplicacin de usuario Para optimizar la depuracin en el proyecto, se ofrecen las siguientes caractersticas: establecimiento de puntos de parada en los editores de lenguajes de programacin ejecucin por pasos (step-by-step) del programa, paso a paso por instrucciones (step into), paso a paso para salir (step out) y paso a paso por funcin (step over) memoria de llamadas para obtener la ruta completa del programa control de entradas y salidas

Modalidad online Si el PC est unido al PLC y se ha establecido la conexin, se considera que estn en modalidad online. La modalidad online se utiliza en el PLC para depurar, para la animacin y para modificar el programa. Al establecer la conexin, tendr lugar una comparacin entre el proyecto del PC y el del PLC automticamente. Esta comparacin puede tener los siguientes resultados: Distintos proyectos en el PC y el PLC En este caso, la modalidad online slo estar disponible de forma limitada. Solo es posible utilizar comandos del PLC (p. ej., inicio, parada), servicios de diagnstico y monitorizacin de variables. No es posible modificar la lgica del programa ni la configuracin en el PLC. Sin embargo, s son posibles las funciones de descarga y carga, que se ejecutan en una modalidad ilimitada (mismo proyecto en el PC y en el PLC). Mismos proyectos en el PC y el PLC Existen dos posibilidades: ONLINE SAME, BUILT La ltima generacin del proyecto en el PC se ha cargado en el PLC y despus no se han efectuado modificaciones, es decir, el proyecto es absolutamente idntico en el PC y en el PLC. En este caso, todas las funciones de animacin estarn disponibles de forma ilimitada. ONLINE EQUAL, NOT BUILT La ltima generacin del proyecto en el PC se ha cargado en el PLC; sin embargo, se han efectuado modificaciones a posteriori. En este caso, las funciones de animacin slo estarn disponibles en las partes no modificadas del proyecto.

64

35006147 10/2013

Presentacin

Animacin

Existen distintas posibilidades para la animacin de variables: Animacin de secciones Se pueden animar todos los lenguajes de programacin (FBD, LD, SFC, IL y ST). La animacin de las variables y de las conexiones tiene lugar directamente en la seccin.

35006147 10/2013

65

Presentacin

Informacin sobre herramientas Al desplazar el puntero del ratn sobre una variable, aparece una breve informacin con el valor de la variable.

Ventana de inspeccin Por cada variable se puede crear una ventana de inspeccin. Esta ventana muestra el valor de las variables, sus direcciones y comentarios (si existen). Esta funcin est disponible en todos los lenguajes de programacin.

66

35006147 10/2013

Presentacin

Ventana de variables Esta ventana muestra todas las variables utilizadas en la seccin actual.

Tabla de animacin En las tablas de animacin se pueden mostrar, modificar o forzar los valores de todas las variables del proyecto. Los valores se pueden modificar de uno en uno o varios a la vez.

35006147 10/2013

67

Presentacin

Punto de observacin Los puntos de observacin permiten visualizar los datos del PLC en el punto exacto en que se crearon (1) y no solo al final del ciclo. Las tablas de animacin pueden sincronizarse con el punto de observacin (2). Un contador (3) indica la frecuencia con que se ha actualizado el punto de observacin. Seccin ST con punto de observacin:

68

35006147 10/2013

Presentacin

Punto de parada Los puntos de parada permiten detener el procesamiento del proyecto en un punto cualquiera. Seccin ST con punto de parada:

Modalidad paso a paso La modalidad paso a paso permite ejecutar el programa paso a paso. Las funciones paso a paso estn disponibles cuando el proyecto se ha detenido al alcanzar el punto de parada o ya se encuentra en modalidad paso a paso. Seccin ST en la modalidad paso a paso:

35006147 10/2013

69

Presentacin

La modalidad paso a paso dispone de las siguientes funciones: Ejecucin paso a paso (step-by-step) del programa Paso a paso por instrucciones (step into) (1) Paso a paso para salir (step out) Paso a paso por funcin (step over) Mostrar paso actual (2) Memoria de llamadas (3) La ejecucin mltiple de la funcin "paso a paso por instrucciones" (step into) permite que la memoria de llamadas muestre la ruta completa a partir del primer punto de parada. NOTA: La ejecucin del programa del PLC en la modalidad paso a paso y el acceso (StepIn) a una seccin protegida contra lectura/escritura puede impedir que el programa se pueda leer y ocasiona la salida de la seccin. El usuario debe cambiar la modalidad del PLC a "Parada" para volver al estado inicial. Marcadores Los marcadores permiten marcar fragmentos de cdigo para poder localizarlos ms fcilmente.

70

35006147 10/2013

Presentacin

Visualizador de diagnsticos
Descripcin Unity Pro dispone de un diagnstico de sistema y de proyectos. En caso de que se produzcan errores, stos aparecen en la ventana de diagnstico. Para solucionar el error, desde la ventana de diagnstico es posible abrir la seccin que provoc el error.

35006147 10/2013

71

Presentacin

Ventana de usuario
Introduccin Las ventanas de usuario sirven para visualizar el proceso de automatizacin. El editor de ventanas de usuario permite crear, modificar y gestionar ventanas de usuario de forma sencilla. La creacin y el acceso a las ventanas de usuario tiene lugar a travs del explorador de proyectos.

72

35006147 10/2013

Presentacin

Editor de ventanas de usuario Las ventanas de usuario estn compuestas por gran cantidad de informacin (variables dinmicas, vistas generales, textos descriptivos, etc.) y permiten vigilar y modificar rpida y fcilmente las variables de automatizacin. Ventana de usuario

El editor de ventanas de usuario ofrece las siguientes prestaciones: Amplias funciones de visualizacin Elementos geomtricos Lnea, rectngulo, elipse, curva, polgono, mapa de bits, texto Elementos de control Botn, casilla de verificacin, barra de movimiento, navegacin por la pantalla, hipervnculo, campo de entrada, control numrico Elementos de animacin Diagrama de barras, diagrama de tendencias, cuadro de dilogo, aparecer, desaparecer, colores intermitentes, animacin de variables Creacin de una biblioteca para la gestin de objetos grficos Copiado de objetos Creacin de una lista con todas las variables utilizadas en la ventana de usuario Creacin de mensajes que se vayan a utilizar en las ventanas de usuario Acceso directo desde las ventanas de usuario a la tabla de animacin o a la tabla de referencias cruzadas para una o varias variables Informacin sobre herramientas (Quickinfo) que ofrecen informacin sobre las variables Gestin de ventanas de usuario en familias Importacin/exportacin de ventanas de usuario individuales o familias enteras

35006147 10/2013

73

Presentacin

74

35006147 10/2013

Unity Pro Estructura de la aplicacin 35006147 10/2013

Parte II
Estructura de la aplicacin

Estructura de la aplicacin
En esta seccin En esta seccin se describen las estructuras del programa de la aplicacin y la memoria asociados a cada tipo de PLC. Contenido de esta parte Esta parte contiene los siguientes captulos:
Captulo 2 3 4 5 6 Nombre del captulo Descripcin de las funciones disponibles en cada tipo de autmata aplicacin, estructura del programa Estructura de memoria de la aplicacin Modalidades de funcionamiento Objetos de sistema Pgina 77 79 119 137 165

35006147 10/2013

75

Estructura de la aplicacin

76

35006147 10/2013

Unity Pro Funciones de los autmatas 35006147 10/2013

Captulo 2
Descripcin de las funciones disponibles en cada tipo de autmata

Descripcin de las funciones disponibles en cada tipo de autmata


Funciones disponibles para los diferentes tipos de PLC
Lenguajes de programacin Los lenguajes siguientes estn disponibles para las plataformas Modicon M580, Modicon M340, Momentum, Premium, Atrium y Quantum: LD FBD ST IL SFC NOTA: Slo estn disponibles los lenguajes LD y FBD en los PLC de seguridad Quantum. Tareas y procesos En las siguientes tablas se describen las tareas y procesos disponibles:
Tareas Procesos Procesadores Modicon M340 P34 1000 P34 20 Premium: Procesadores TSX Atrium: Procesadores TSX Quantum: Procesadores de 140 CPU 31 43 53 651 652 60 670 60 671 60 672 60 672 61 X 651 60S 671 60S

P57 0244 P57 1

P57 2 P57 3 P57 4 H57 24M H57 44M X

P57 5 PCI 57 204 P57 6634 PCI 57 354

Tarea maestra X Cclica o peridica Tarea FAST peridica Tareas auxiliares peridica X -

X -

X -

X -

X 4

X -

X -

X 4

X o valor tareas o procesos disponibles (el valor es el nmero mximo) (1) depende de la memoria disponible del procesador - tareas o procesos no disponibles

35006147 10/2013

77

Funciones de los autmatas

Tareas Procesos

Procesadores Modicon M340

Premium: Procesadores TSX

Atrium: Procesadores TSX

Quantum: Procesadores de 140 CPU (1) -

(1) Tamao mximo de una seccin Tratamiento de 32 eventos de tipo E/S Tratamiento de 16 eventos de tipo temporizador 32 Proceso de eventos totales de tipo E/S y temporizador 64

64 Kb

32

64

128

64

64

128

32

32

16

32

64

32

64

128

64

64

128

X o valor tareas o procesos disponibles (el valor es el nmero mximo) (1) depende de la memoria disponible del procesador - tareas o procesos no disponibles

Tareas Procesos

Procesador BME de Modicon M580 P58 1020 P58 200 P58 3020 P58 400 X X 2 (1) 128

Procesadores Momentum 171 CBU 78090 171 CBU 9809 X (1) -

Tarea maestra cclica o peridica Tarea FAST peridica Tareas auxiliares peridica Tamao mximo de una seccin Tratamiento de eventos de tipo E/S Tratamiento de eventos de tipo temporizador Proceso de eventos totales de tipo E/S y temporizador

X X 2 (1) 64 32 64

128

X o valor tareas o procesos disponibles (el valor es el nmero mximo) (1) depende de la memoria disponible del procesador - tareas o procesos no disponibles

78

35006147 10/2013

Unity Pro Estructura del programa 35006147 10/2013

Captulo 3
aplicacin, estructura del programa

aplicacin, estructura del programa


Objeto Este captulo describe la estructura y la ejecucin de los programas realizados con el programa Unity Pro. Contenido de este captulo Este captulo contiene las siguientes secciones:
Seccin 3.1 3.2 3.3 3.4 Apartado Descripcin de las tareas y de los procesamientos Descripcin de secciones y subrutinas Ejecucin monotarea Ejecucin multitarea Pgina 80 86 92 100

35006147 10/2013

79

Estructura del programa

Seccin 3.1
Descripcin de las tareas y de los procesamientos

Descripcin de las tareas y de los procesamientos


Objeto Esta seccin describe las tareas y los tratamientos que componen el programa de aplicacin. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Presentacin de la tarea maestra Presentacin de la tarea rpida Presentacin de las tareas auxiliares Descripcin general del procesamiento de eventos Pgina 81 82 83 85

80

35006147 10/2013

Estructura del programa

Presentacin de la tarea maestra


Generalidades La tarea maestra representa la tarea principal del programa de aplicacin. Es obligatora y se crea de forma predeterminada. Estructura La tarea maestra (MAST) se compone de secciones y subrutinas. Cada seccin de la tarea maestra est programada en los siguientes lenguajes: LD, FBD, IL, ST o SFC. Las subrutinas estn programadas en LD, FBD, IL o ST y se llaman en las secciones de tareas. NOTA: SFC slo se puede utilizar en las secciones de la tarea maestra. El nmero de secciones programadas en SFC es ilimitado. Ejecucin La ejecucin de la tarea maestra se puede elegir:

cclica (seccin predeterminada) o peridica (1 a 255 ms)

Control La tarea maestra se puede controlar mediante programa, bits y palabras de sistema.
Objetos de sistema %SW0 %S30 %S11 %S19 %SW27 %SW28 %SW29 %SW30 %SW31 %SW32 Descripcin Periodo de tareas. Activacin de la tarea maestra. Error del watchdog. Desborde de periodo. Nmero de ms transcurridos en el sistema durante el ltimo ciclo MAST. Tiempo mximo de administracin del sistema (en ms) de Modicon M340. Tiempo mnimo de administracin del sistema (en ms) de Modicon M340. Tiempo de ejecucin (en ms) del ltimo ciclo. Tiempo de ejecucin (en ms) del ciclo ms largo. Tiempo de ejecucin (en ms) del ciclo ms corto.

35006147 10/2013

81

Estructura del programa

Presentacin de la tarea rpida


Generalidades La tarea rpida est destinada a los procesamientos de corta duracin y peridicos. Estructura La tarea rpida (FAST) se compone de secciones y de subrutinas. Cada seccin de la tarea rpida se programa en uno de los lenguajes: LD, FBD, IL o ST. El lenguaje SFC no se puede utilizar en las secciones de una tarea rpida. Las subrutinas se programan en los lenguajes LD, FBD, IL o ST y se requieren en las secciones de la tarea. Ejecucin La ejecucin de la tarea rpida es peridica. Tiene ms prioridad que la tarea maestra. El periodo de la tarea rpida (FAST) queda fijado en la configuracin entre 1 y 255 ms. Sin embargo, el programa ejecutado debe ser corto para evitar el rebasamiento de las tareas con menos prioridad. Control La tarea rpida se puede controlar a travs del programa mediante bits y palabras del sistema.
Objetos del sistema %SW1 %S31 %S11 %S19 %SW33 %SW34 %SW35 Descripcin Duracin de la tarea. Activacin de la tarea rpida. Fallo de watchdog. Rebasamiento del periodo. Tiempo de ejecucin (en ms) del ltimo ciclo. Tiempo de ejecucin (en ms) del ciclo ms largo. Tiempo de ejecucin (en ms) del ciclo ms corto.

82

35006147 10/2013

Estructura del programa

Presentacin de las tareas auxiliares


General Las tareas auxiliares estn pensadas para las tareas cuyo tratamiento es ms lento. Son las tareas de menor prioridad. Se pueden programar hasta 4 tareas auxiliares (AUX0, AUX1, AUX2 o AUX3) en los PLC Premium TSX P57 5 y Quantum 140 CPU 6. Se pueden programar hasta 2 tareas auxiliares (AUX0, AUX1) en los PLC Modicon M580 BME P58 40. Las tareas auxiliares no estn disponibles en los PLC Modicon M340. Estructura Las tareas auxiliares (AUX) se componen de secciones y subrutinas. Cada seccin de la tarea auxiliar est programada en uno de los lenguajes siguientes: LD, FBD, IL o ST. El lenguaje SFC no se puede utilizar en las secciones de una tarea auxiliar. Se puede programar un mximo de 64 subrutinas en el lenguaje LD, FBD, IL o ST. Dichas subrutinas se llaman en las secciones de tareas. Ejecucin La ejecucin de las tareas auxiliares es peridica. Son las de menor prioridad. El periodo de las tareas auxiliares puede fijarse entre 10 ms y 2,55 s. Control Las tareas auxiliares se pueden controlar mediante programa, bits de sistema y palabras.
Objetos de sistema %SW2 %SW3 %SW4 %SW5 %S32 %S33 %S34 %S35 Descripcin Periodo de la tarea auxiliar 0 Periodo de la tarea auxiliar 1 Periodo de la tarea auxiliar 2 Periodo de la tarea auxiliar 3 Activacin de la tarea auxiliar 0 Activacin de la tarea auxiliar 1 Activacin de la tarea auxiliar 2 Activacin de la tarea auxiliar 3

35006147 10/2013

83

Estructura del programa

Objetos de sistema %S11 %S19 %SW36 %SW39 %SW42 %SW45 %SW37 %SW40 %SW43 %SW46 %SW38 %SW41 %SW44 %SW47

Descripcin Error del watchdog Desbordamiento de periodo. Tiempo de ejecucin (en ms) del ltimo ciclo de la tarea auxiliar 0 Tiempo de ejecucin (en ms) del ltimo ciclo de la tarea auxiliar 1 Tiempo de ejecucin (en ms) del ltimo ciclo de la tarea auxiliar 2 Tiempo de ejecucin (en ms) del ltimo ciclo de la tarea auxiliar 3 Tiempo de ejecucin (en ms) del ciclo ms largo de la tarea auxiliar 0 Tiempo de ejecucin (en ms) del ciclo ms largo de la tarea auxiliar 1 Tiempo de ejecucin (en ms) del ciclo ms largo de la tarea auxiliar 2 Tiempo de ejecucin (en ms) del ciclo ms largo de la tarea auxiliar 3 Tiempo de ejecucin (en ms) del ciclo ms corto de la tarea auxiliar 0 Tiempo de ejecucin (en ms) del ciclo ms corto de la tarea auxiliar 1 Tiempo de ejecucin (en ms) del ciclo ms corto de la tarea auxiliar 2 Tiempo de ejecucin (en ms) del ciclo ms corto de la tarea auxiliar 3

84

35006147 10/2013

Estructura del programa

Descripcin general del procesamiento de eventos


General El procesamiento de eventos se utiliza para reducir el tiempo de respuesta del programa de aplicacin a eventos: procedentes de mdulos de entrada/salida, procedentes de temporizadores de eventos. Estas tareas de procesamiento se ejecutan con prioridad sobre todas las dems tareas. Por tanto, son idneas para procesar tareas que requieren un tiempo de respuesta muy corto en relacin con el evento. El nmero de tareas procesadoras de eventos (vase pgina 77) que se pueden programar depende del tipo de procesador. Estructura Una tarea procesadora de eventos es uniseccional, y se compone de una sola seccin (incondicional). Est programada en lenguaje LD, FBD, IL o ST. Se ofrecen dos tipos de evento: Evento de E/S: para eventos procedentes de mdulos de entradas/salidas, Evento de TEMPORIZADOR: para eventos procedentes de temporizadores de eventos.

Ejecucin La ejecucin de una tarea procesadora de eventos es asncrona. Cuando se produce un evento, el programa de aplicacin es redirigido a la tarea de procesamiento asociada a canal de entrada/salida o al temporizador de eventos que origin el evento. Control Las palabras y bits de sistema siguientes se pueden utilizar para controlar las tareas procesadoras de eventos durante la ejecucin del programa.
Objetos de sistema %S38 %S39 %SW48 Descripcin Activacin del procesamiento de eventos. Saturacin del snack de gestin de llamadas a eventos. Nmero de eventos de E/S y de tareas procesadoras de telegramas ejecutadas. NOTA: TELEGRAM est disponible slo para PREMIUM (no en Quantum ni en M340) Nmero de eventos de tipo temporizador en cola.

%SW75

35006147 10/2013

85

Estructura del programa

Seccin 3.2
Descripcin de secciones y subrutinas

Descripcin de secciones y subrutinas


Objeto En esta seccin, se describen las secciones y subrutinas que conforman una tarea. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Descripcin de las secciones Descripcin de secciones de SFC Descripcin de las subrutinas Pgina 87 89 91

86

35006147 10/2013

Estructura del programa

Descripcin de las secciones


Descripcin general de las secciones Las secciones son entidades autnomas de programacin. Las etiquetas de identificacin de las lneas de instrucciones, las redes de contactos... son propias de la seccin (no es posible un salto del programa hacia otra seccin). Se programan ya sea en:

Lenguaje de contactos (LD) Lenguaje de bloques funcionales (FBD) Lista de instrucciones (IL) Literal estructurado (ST) Diagrama funcional en secuencia (SFC)

con la condicin de que el lenguaje se admita en la tarea. Las secciones se ejecutan en el mismo orden en que se han programado en la ventana del navegador (vista estructural). Se puede asociar una condicin de ejecucin a una o varias secciones en las tareas maestra, rpida y auxiliares, pero no as en los procesamientos de eventos. Las secciones estn conectadas a una tarea. Una misma seccin no puede pertenecer simultneamente a varias tareas. Ejemplo El esquema siguiente ofrece un ejemplo de estructura de una tarea dividida en secciones.

35006147 10/2013

87

Estructura del programa

Caractersticas de una seccin La tabla siguiente describe las caractersticas de una seccin.
Caracterstica Nombre Lenguaje Tarea o tratamiento Condicin (opcional) Comentario Proteccin Descripcin 32 caracteres como mximo (los acentos se pueden utilizar, pero no as los espacios). LD, FBD, IL, ST o SFC Maestra, rpida, auxiliares, de sucesos Se puede utilizar una variable bit de tipo BOOL o EBOOL para condicionar la ejecucin de la seccin. mximo 256 caracteres Proteccin contra la escritura, proteccin contra lectura/escritura.

88

35006147 10/2013

Estructura del programa

Descripcin de secciones de SFC


Generalidades Las secciones en lenguaje de diagrama funcional en secuencia se componen:

de un grfico principal (Chart) programado en SFC de macro etapas (MS) programadas en SFC de acciones y transiciones programadas en LD, FBD , ST o IL

Las secciones SFC se pueden programar nicamente en la tarea maestra (vase la descripcin detallada de las secciones SFC).

35006147 10/2013

89

Estructura del programa

Ejemplo La siguiente ilustracin muestra un ejemplo de composicin de una seccin SFC y las llamadas de las macro etapas utilizadas a partir del grfico (Chart).

90

35006147 10/2013

Estructura del programa

Descripcin de las subrutinas


Descripcin general de subrutinas Las subrutinas se programan como entidades independientes, en:

lenguaje de contactos LD, lenguaje de bloques funcionales FBD, lista de instrucciones IL, Literal estructurado (ST).

Las llamadas de subrutinas se realizan desde las secciones o desde otra subrutina. El nmero mximo de intercalados es 8. Una subrutina no se puede llamar a s misma (no es recursiva). Las subrutinas tambin estn conectadas a una tarea. No es posible llamar la misma subrutina desde varias tareas. Ejemplo El siguiente diagrama muestra una tarea estructurada en secciones y subrutinas.

Caractersticas de una subrutina La tabla siguiente describe las caractersticas de una subrutina.
Caracterstica Nombre Lenguaje Tarea Comentario Descripcin 32 caracteres como mximo (los acentos se pueden utilizar, pero no as los espacios). LD, FBD, IL o ST. Maestra, rpida o auxiliar mximo 512 caracteres

35006147 10/2013

91

Estructura del programa

Seccin 3.3
Ejecucin monotarea

Ejecucin monotarea
Objeto Esta seccin describe el funcionamiento de una aplicacin monotarea. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Descripcin del ciclo de las tareas maestras Monotarea: Ejecucin cclica Ejecucin peridica Control del tiempo de ciclo Ejecucin de las secciones de Quantum con entradas/salidas descentralizadas Pgina 93 95 96 97 98

92

35006147 10/2013

Estructura del programa

Descripcin del ciclo de las tareas maestras


General El programa de una aplicacin monotarea se asocia a una nica tarea del usuario, la tarea maestra (vase pgina 81). La ejecucin de la tarea maestra se puede elegir: cclica peridica

Ilustracin En la siguiente ilustracin se muestra el ciclo de funcionamiento.

35006147 10/2013

93

Estructura del programa

Descripcin de las distintas fases En la tabla siguiente se describen las fases de operacin.
Fase Adquisicin de las entradas Descripcin Escritura en memoria del estado de la informacin presente en las entradas de los mdulos binarios y especficos de la aplicacin asociadas a la tarea. Estos valores se pueden modificar por los valores de forzado. Ejecucin del programa de aplicacin, escrito por el usuario. Escritura de los bits o de las palabras de salida asociadas a los mdulos binarios o especficos de la aplicacin asociados a la tarea segn el estado definido mediante la aplicacin. Al igual que para las entradas, la escritura de las salidas se puede modificar por los valores de forzado.

Procesamiento del programa Actualizacin de las salidas

NOTA: Durante las fases de adquisicin de las entradas y de actualizacin de las salidas, el sistema lleva a cabo tambin implcitamente la monitorizacin del PLC (gestiona los bits y palabras del sistema, actualiza los valores actuales del reloj de tiempo real, actualiza los indicadores de estado de los indicadores LED y las pantallas LCD (excepto en Modicon M340), detecta los cambios RUN/STOP, etc.) y el procesamiento de las peticiones procedentes del terminal (modificaciones y animacin). Modalidad de funcionamiento PLC en RUN, el procesador ejecuta segn la orden, el procesamiento interno, la adquisicin de las entradas, el procesamiento del programa de aplicacin y la actualizacin de las salidas. PLC en STOP, el procesador realiza: El procesamiento interno La adquisicin de las entradas (1) Y, segn la configuracin elegida: Modalidad de retorno: Las salidas se sitan en posicin de retorno Modalidad de mantenimiento: Las salidas se mantienen en su ltimo valor. (1) Para PLC Quantum, la adquisicin de las entradas se inhibe cuando el PLC est en STOP. NOTA: Para obtener ms informacin sobre la inhibicin y activacin de tareas mediante los bits de sistema, consulte Control de las tareas (vase pgina 107).

94

35006147 10/2013

Estructura del programa

Monotarea: Ejecucin cclica


Generalidades La tarea maestra funciona como se indica a continuacin. Se ofrece una descripcin de la ejecucin cclica de la tarea maestra en una operacin monotarea. Funcionamiento El esquema siguiente muestra las fases de ejecucin del ciclo del PLC.

%I Lectura de las entradas %Q Escritura de las salidas

Descripcin Este tipo de operacin consiste en secuenciar los ciclos de la tarea uno tras otro. Una vez actualizadas las salidas, el sistema lleva a cabo su propio procesamiento especfico y, a continuacin, inicia otro ciclo de la tarea, sin detenerse. Control del ciclo El ciclo se controla mediante el watchdog (vase pgina 97).

35006147 10/2013

95

Estructura del programa

Ejecucin peridica
Descripcin En este modo de funcionamiento, la adquisicin de las entradas, el tratamiento del programa de aplicacin y la actualizacin de las salidas se efectan peridicamente segn un tiempo definido de 1 a 255 ms. En el inicio del ciclo del autmata, una temporizacin en la que el valor actual se inicializa en funcin del periodo definido, empieza a descontar. El ciclo del autmata debe finalizar antes de que termine dicha temporizacin, la cual reinicia un nuevo ciclo. Funcionamiento El esquema siguiente muestra las fases de ejecucin del ciclo del PLC.

%I Lectura de las entradas %Q Escritura de las salidas

Modo de funcionamiento El procesador ejecuta segn la orden, el tratamiento interno, la adquisicin de las entradas, el tratamiento del programa de aplicacin y la actualizacin de las salidas.

Si el periodo an no ha finalizado, el procesador completa el ciclo de funcionamiento hasta que termine el periodo del tratamiento interno. Si el tiempo de funcionamiento fuera superior al que se deba cumplir en el periodo, el autmata indica un rebasamiento de periodo pasando al estado 1 el bit del sistema %S19 de la tarea, el tratamiento continua y se ejecuta en su totalidad (no obstante, no debe sobrepasar el tiempo lmite del watchdog). El ciclo que sigue se encadena despus de la escritura implcita de las salidas del ciclo en curso.

Control del ciclo Se ejecutan dos controles:


rebasamiento del periodo (vase pgina 97), y por watchdog (vase pgina 97).
35006147 10/2013

96

Estructura del programa

Control del tiempo de ciclo


Generalidades El periodo de ejecucin de la tarea maestra, en operacin cclica o peridica, se controla mediante el autmata (watchdog) y no debe sobrepasar el valor definido en la configuracin de Tmax (1500 ms de forma predeterminada, 1.5 s como mximo). Watchdog del software (operacin peridica o cclica) Si se produce desborde del watchdog, se declara un error en la aplicacin, que provoca la detencin inmediata del autmata (estado PAUSA). El bit %S11 indica un desborde de watchdog. El sistema lo ajusta a 1 cuando el tiempo de ciclo sobrepasa al watchdog. La palabra %SW11 contiene el valor del watchdog en ms. Dicho valor no lo puede modificar el programa. NOTA:

La reactivacin de la tarea requiere la conexin del terminal para analizar la causa del error, corregirlo, reinicializar el autmata y cambiarlo a EJECUTAR. No se puede salir de PAUSA cambiando a DETENER. Para ello, debe reinicializar la aplicacin para garantizar la coherencia de los datos.

Control en operacin peridica En operacin peridica, un control adicional permite detectar un desborde de periodo. Los desbordes de periodo no hacen que el autmata se detenga si se mantienen por debajo del valor del watchdog. El bit %S19 indica un desborde de periodo. El sistema lo ajusta a 1 cuando el tiempo de ciclo sobrepasa al tiempo del watchdog. La palabra %SW0 contiene el valor del periodo (en ms). Se inicializa en un reinicio en fro mediante el valor definido. Es modificable por el usuario. Explotacin de los tiempos de ejecucin de la tarea maestra Las palabras de sistema siguientes pueden usarse para obtener informacin sobre el tiempo de ciclo:

%SW30 contiene el tiempo de ejecucin del ltimo ciclo %SW31 contiene el tiempo de ejecucin del ciclo ms largo %SW32 contiene el tiempo de ejecucin del ciclo ms corto

NOTA: Estos diversos elementos de informacin tambin son accesibles de forma explcita desde el editor de configuracin.

35006147 10/2013

97

Estructura del programa

Ejecucin de las secciones de Quantum con entradas/salidas descentralizadas


General Los PLC Quantum poseen un sistema de gestin de secciones especfico que se aplica a las estaciones de entradas/salidas descentralizadas. Estas estaciones se utilizan con los mdulos RIO siguientes: 140 CRA 931 00 140 CRA 932 00

Este sistema permite actualizar las entradas/salidas descentralizadas en las secciones, por lo que garantiza unos mejores tiempos de reaccin (sin esperar todo el ciclo de la tarea para actualizar las entradas/salidas). Funcionamiento En el diagrama siguiente se muestran las fases de E/S cuando se asocian 5 estaciones a secciones de tarea de cliente.

%Ii entradas de la estacin n. i %Qi salidas de la estacin n. i i nmero de estacin

Descripcin
Fase 1 Descripcin Peticin de actualizacin: las entradas de la primera estacin (i=1) las salidas de la ltima estacin (i=5) Procesamiento del programa
Actualizacin de las entradas de la primera estacin (i=1) Peticin de actualizacin de las entradas de la segunda estacin (i=2)

2 3 4

Peticin de actualizacin: las entradas de la tercera estacin (i=3) las salidas de la primera estacin (i=1) Peticin de actualizacin: las entradas de la cuarta estacin (i=4) las salidas de la segunda estacin (i=2)
35006147 10/2013

98

Estructura del programa

Fase 6

Descripcin Peticin de actualizacin: las entradas de la ltima estacin (i=5) las salidas de la tercera estacin (i=3) Peticin de actualizacin de las salidas de la cuarta estacin (i=4)

Ajuste del valor de tiempo de vigilancia de estacin Para que las salidas remotas se actualicen correctamente y evitar la aplicacin de valores de retorno, debe establecerse el tiempo de vigilancia de la estacin al menos al doble del tiempo de ciclo de la tarea mast. Por tanto, el valor predeterminado, 300 ms, debe cambiarse si el perodo MAST est establecido en el valor mximo, 255 ms. El ajuste del tiempo de vigilancia de la estacin (vase Modicon Quantum, Sistema Hot Standby, Manual del usuario) debe efectuarse en todas las estaciones configuradas.

35006147 10/2013

99

Estructura del programa

Seccin 3.4
Ejecucin multitarea

Ejecucin multitarea
Objeto Esta seccin describe el funcionamiento de una aplicacin multitarea. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Estructura del software multitarea Desglose secuencial de las tareas en una estructura multitarea Control de tareas Asignacin de los canales de entrada/salida a las tareas maestra, rpida y auxiliares Gestin de los tratamientos de sucesos Ejecucin del procesamiento de eventos de tipo TIMER Intercambios de entradas/salidas en el procesamiento de eventos Programacin de procesamiento de eventos Pgina 101 103 105 108 110 111 116 117

100

35006147 10/2013

Estructura del programa

Estructura del software multitarea


Tareas y procesamientos La estructura de tareas de este tipo de aplicacin es la siguiente:
Tarea/procesamiento Maestra Rpida Auxiliar Evento Designacin Descripcin MAST FAST EVTi y TIMERi (vase pgin a 110) Siempre presente, puede ser cclica o peridica. Opcional, siempre peridica. Llamada por el sistema cuando se produce un evento en un mdulo de entradas/salidas o activada mediante el temporizador de eventos. Estos tipos de procesamientos son opcionales y pueden emplearlos aplicaciones que necesitan actuar sobre las entradas/salidas con un tiempo de respuesta reducido.

AUX de 0 a 3 Opcional, siempre peridica.

Ilustracin El siguiente diagrama muestra las tareas en una estructura multitarea y su nivel de prioridad:

Descripcin La tarea maestra (MAST) sigue siendo la base de la aplicacin. Las otras tareas varan en funcin del tipo de PLC (vase pgina 77). Se establecen niveles de prioridad para cada tarea con el fin de dar prioridad a determinados tipos de procesamiento. El procesamiento de eventos se puede activar de forma asncrona con respecto a tareas peridicas a travs de una orden generada por eventos externos. Se procesa como una prioridad y requiere la detencin de cualquier procesamiento en curso.

35006147 10/2013

101

Estructura del programa

Limitaciones de subrutinas En la versin 6.0 o superiores de Unity Pro, las subrutinas slo se pueden utilizar en una tarea. Por ejemplo, las subrutinas MASK no se pueden llamar desde las tareas TIMER y EVENT. Precauciones

ATENCIN
COMPORTAMIENTO INESPERADO DE LA APLICACIN MULTITAREA El uso compartido de entradas/salidas entre diferentes tareas puede producir un comportamiento inesperado de la aplicacin. Se recomienda especialmente que asocie cada salida o cada entrada a una sola tarea. El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo. NOTA: Durante una actualizacin de %M vinculado a E/S de tarea FAST, debe: realizarse al mismo tiempo en la tarea FAST enmascararse la tarea FAST (%S31) mientras se actualiza

102

35006147 10/2013

Estructura del programa

Desglose secuencial de las tareas en una estructura multitarea


Generalidades La tarea maestra est activa por defecto. Las tareas rpidas y auxiliares estn activas por defecto si estn programadas. El tratamiento de sucesos se activa en el momento de la aparicin del suceso que se le ha asociado. Funcionamiento En la tabla siguiente se describe la ejecucin de las tareas prioritarias (este funcionamiento se muestra tambin en el esquema siguiente).
Fase 1 2 3 4 Descripcin Llegada de un suceso o inicio del ciclo de la tarea rpida. Parada de la ejecucin de las tareas en curso menos prioritarias, Ejecucin de la tarea prioritaria. La tarea interrumpida se reanuda cuando los tratamientos de la tarea prioritaria finalizan.

Descripcin del desglose secuencial de las tareas El esquema siguiente ilustra el desglose secuencial de las tareas de un procesamiento multitarea que incluye una tarea maestra cclica, una tarea rpida con un periodo de 20 ms y un procesamiento de eventos.

Leyenda: E: adquisicin de las entradas T: tratamiento del programa S: actualizacin de las salidas

35006147 10/2013

103

Estructura del programa

Control de las tareas La ejecucin de las tareas rpidas y de sucesos puede controlarse a travs del programa, usando los bits del sistema:

%S30 permite controlar la activacin o desactivacin de la tarea maestra MAST. %S31 permite controlar la activacin o desactivacin de la tarea rpida FAST. %S32 a %S35 permiten activar o no las tareas auxiliares AUX0 a AUX3. %S38 permite activar o desactivar los tratamientos de sucesos EVTi.

NOTA: Las funciones elementales MASKEVT y UNMASKEVT permiten tambin el enmascaramiento y desenmascaramiento global de los eventos por parte del programa.

104

35006147 10/2013

Estructura del programa

Control de tareas
Operacin cclica y peridica En una operacin multitarea, la tarea de mayor prioridad se utilizar en modalidad peridica para dejar tiempo suficiente para que se ejecuten las tareas de menor prioridad. Por ello, slo la tarea de prioridad inferior debe utilizarse en modalidad cclica. As pues, al elegir la modalidad de funcionamiento cclica para la tarea maestra se excluye el uso de tareas auxiliares. Medicin de las duraciones de tareas La duracin de las tareas se mide de forma continua. Dicha medicin representa la duracin entre el inicio y el final de ejecucin de la tarea. Incluye el tiempo empleado por las tareas de mayor prioridad que pudieran interrumpir la ejecucin de la tarea objeto de medicin. Las siguientes palabras de sistema (vase pgina 220) indican los tiempos de ciclo actual, mximo y mnimo de cada tarea (valor en ms)
Medicin de tiempos MAST Actual Mximo Mnimo %SW30 %SW31 %SW32 FAST %SW33 %SW34 %SW35 AUX0 %SW36 %SW37 %SW38 AUX1 %SW39 %SW40 %SW41 AUX2 %SW42 %SW43 %SW44 AUX3 %SW45 %SW46 %SW47

NOTA: Los tiempos mximo y mnimo se toman de los tiempos medidos desde el ltimo reinicio en fro. Periodos de tareas Los periodos de tareas se definen en las propiedades de tarea. Pueden ser modificados mediante las palabras de sistema siguientes.
Palabras de sistema Tarea %SW0 %SW1 %SW2 %SW3 %SW4 %SW5 MAST FAST AUX0 AUX1 AUX2 AUX3 Valores 0..255 ms 1..255 ms 10 ms..2,55 s 10 ms..2,55 s 10 ms..2,55 s 10 ms..2,55 s Valores predeterminados Cclico 5 ms 100 ms 200 ms 300 ms 400 ms Observaciones 0 = operacin cclica Los valores del periodo se expresan en 10 ms.

Cuando el tiempo del ciclo de la tarea sobrepasa el periodo, el sistema ajusta el bit de sistema %S19 de la tarea a 1 y continua con el siguiente ciclo. NOTA: Los valores de los periodos no dependen de la prioridad de las tareas. Se puede definir el periodo de una tarea rpida que sea mayor que el de la tarea maestra.
35006147 10/2013

105

Estructura del programa

Watchdog La ejecucin de cada tarea se controla mediante un watchdog configurable utilizando las propiedades de tarea. La siguiente tabla ofrece el rango de valores watchdog de cada una de las tareas:
Tareas MAST FAST AUX0 AUX1 AUX2 AUX3 Valores watchdog (mn...mx) (ms) 10..1500 10..500 100..5000 100..5000 100..5000 100..5000 Valor watchdog Palabra de predeterminado (ms) sistema asociada 250 100 2000 2000 2000 2000 %SW11 -

Si se produce desborde del watchdog, se declara un error en la aplicacin, que provoca la detencin inmediata del PLC (estado PAUSA). La palabra %SW11 contiene el valor watchdog de la tarea maestra en ms. Dicho valor no lo puede modificar el programa. El bit %S11 indica un desborde de watchdog. El sistema lo ajusta a 1 cuando el tiempo de ciclo sobrepasa al watchdog. NOTA:

La reactivacin de la tarea requiere la conexin del terminal para analizar la causa del error, corregirlo, reinicializar el PLC y cambiarlo a EJECUTAR. No se puede salir de PAUSA cambiando a DETENER. Para ello, debe reinicializar la aplicacin para garantizar la coherencia de los datos.

106

35006147 10/2013

Estructura del programa

Control de las tareas Durante la ejecucin del programa de aplicacin, se posible activar o inhibir una tarea utilizando los bits de sistema siguientes:
Bits de sistema %S30 %S31 %S32 %S33 %S34 %S35 Tarea MAST FAST AUX0 AUX1 AUX2 AUX3

La tarea est activa cuando el bit de sistema asociado est ajustado en 1. El sistema comprueba estos bits al final de la tarea maestra. Cuando se inhibe una tarea, se siguen leyendo las entradas y escribiendo las salidas. Al iniciar el programa de aplicacin, la tarea maestra slo est activa durante el primer ciclo de ejecucin. Al final del primer ciclo automticamente se activan las dems tareas salvo que una de ellas est inhibida (bit de sistema asociado ajustado a 0) por el programa. Controles sobre las fases de lectura de entradas y escritura de salidas Los bits de las palabras de sistema siguientes se pueden utilizar (slo cuando el PLC est en la modalidad EJECUTAR) para inhibir las fases de lectura de entrada y escritura de salidas.
Inhibicin de fases... MAST FAST %SW8.1 %SW9.1 AUX0 %SW8.2 %SW9.2 AUX1 %SW8.3 %SW9.3 AUX2 %SW8.4 %SW9.4 AUX3 %SW8.5 %SW9.5

lectura de entradas %SW8.0 escritura de salidas %SW9.0

NOTA: De forma predeterminada, las fases de lectura de entradas y escritura de salidas estn activas (bits de las palabras de sistema %SW8 y %SW9 ajustados a 0). En Quantum, las entradas/salidas que se distribuyen mediante el bus DIO no se asignan por las palabras %SW8 y %SW9.

35006147 10/2013

107

Estructura del programa

Asignacin de los canales de entrada/salida a las tareas maestra, rpida y auxiliares


General Cada tarea garantiza la escritura y la lectura de las entradas/salidas que tiene asignadas. La asociacin de un canal, de un grupo de canales o de un mdulo de entrada/salida a una tarea se define en la pantalla de configuracin del mdulo correspondiente. La tarea asociada de manera predeterminada es la tarea MAST. Lectura de las entradas y escritura de las salidas en Premium Todos los canales de entrada/salida de los mdulos en bastidores se pueden asociar a una tarea (MAST, FAST o AUX 0..3). Entradas/salidas locales y remotas (bus X): En cada ciclo de la tarea, las entradas se leen al principio de la tarea y las salidas se escriben al final de la tarea. Entradas/salidas remotas en el bus Fipio: En modalidad controlada, la actualizacin de las entradas/salidas se correlaciona con el perodo de la tarea. El sistema garantiza la actualizacin de las entradas/salidas en un solo perodo. Slo se actualizan las entradas/salidas asociadas a dicha tarea. En esta modalidad, el perodo de la tarea del PLC (MAST, FAST o AUX) debe ser superior o igual al tiempo de ciclo de red. En modalidad libre, no se impone ningn lmite al perodo de la tarea. El perodo de la tarea del PLC (MAST, FAST o AUX) puede ser inferior al tiempo de ciclo de red. En tal caso, la tarea se puede ejecutar sin actualizar las entradas/salidas. La seleccin de esta modalidad ofrece la posibilidad de tener las duraciones de tarea ms cortas posibles en el caso de aplicaciones en las que la rapidez es fundamental. Lectura de las entradas y escritura de las salidas en Quantum Entradas/salidas locales: Cada mdulo o grupo de mdulos de entradas/salidas se puede asociar nicamente a una tarea (MAST, FAST o AUX 0..3). Entradas/salidas descentralizadas: Las estaciones de entradas/salidas remotas se pueden asociar nicamente a la tarea maestra (MAST). La asignacin se efecta en las secciones (vase pgina 98), con un total de 1 estacin de entrada remota y 1 estacin de salida remota por seccin. Entradas/salidas distribuidas: Las estaciones de entradas/salidas distribuidas se pueden asociar nicamente a la tarea maestra (MAST). Las entradas se leen al principio de la tarea maestra y las salidas se escriben al final de dicha tarea.
108
35006147 10/2013

Estructura del programa

Ejemplo en Premium La disposicin de los mdulos binarios Premium es de 8 canales sucesivos (canales 0 a 7, 8 a 15, etc.), y las entradas/salidas pueden asignarse por grupos de 8 canales, independientemente de la tarea MAST, AUXi o FAST. Ejemplo: se puede asignar los canales de un mdulo de 28 entradas/salidas de la forma siguiente:

Entradas 0 a 7 asociadas a la tarea MAST. Entradas 8 a 15 asociadas a la tarea FAST. Salidas 0 a 7 asociadas a la tarea MAST. Salidas 8 a 15 asociadas a la tarea AUX0.

35006147 10/2013

109

Estructura del programa

Gestin de los tratamientos de sucesos


General Los tratamientos de sucesos tienen prioridad sobre las tareas. En la figura siguiente se describen los 3 niveles de prioridad definidos:

Gestin de las prioridades


El tratamiento de sucesos EVT0 es el de mayor prioridad. Puede por s solo interrumpir los dems tratamientos de sucesos. Los tratamientos de sucesos EVTi iniciados por mdulos de entradas/salidas (prioridad 1) tienen prioridad sobre los tratamientos de sucesos TIMERi iniciados por temporizadores (prioridad 2). En los autmatas Modicon M340, Premium y Atrium: los tipos de procesamiento de eventos con prioridad 1 se memorizan y procesan por orden de llegada. En los autmatas Quantum: se determina la prioridad de los tipos de procesamiento de prioridad 1: por la posicin del mdulo de entradas/salidas en el rack, por la posicin de la va en el mdulo. El mdulo con el nmero de posicin ms bajo tiene la prioridad ms alta. Los tratamientos de sucesos iniciados por temporizador tienen la prioridad 2. La prioridad de tratamiento se determina por el nmero de temporizador ms bajo.

Control El programa de aplicacin puede validar o inhibir de forma global los distintos tipos de procesamientos de eventos utilizando el bit de sistema %S38. Si se producen uno o ms eventos mientras estn inhibidos, se perder el procesamiento asociado. Dos funciones elementales del lenguaje, MASKEVT() y UNMASKEVT(), utilizadas en el programa de aplicacin, permiten tambin enmascarar o desenmascarar los tratamientos de sucesos. Si uno a varios sucesos intervienen en el mismo momento en que se enmascaran, el sistema los almacena y los tratamientos asociados se ejecutarn despus del desenmascaramiento.
110
35006147 10/2013

Estructura del programa

Ejecucin del procesamiento de eventos de tipo TIMER


Descripcin Los procesamientos de eventos de tipo TIMER son procesamientos iniciados mediante la funcin ITCNTRL (vase Unity Pro, Sistema, Librera de bloques). Esta funcin de temporizacin activa de forma peridica el procesamiento de eventos cada vez que se alcanza el valor de preseleccin. Referencia Los siguientes parmetros se seleccionan en las propiedades de procesamiento de eventos.
Parmetro Base de tiempo Valor 1 ms, 10 ms, 100 ms, 1 s Valor predeterminado 10 ms Funcin Base de tiempo del temporizador. Nota: la base de tiempo de 1 ms se debe utilizar con precaucin, ya que existe el riesgo de que se produzca un desborde si la frecuencia de inicio de los procesamientos es demasiado intensa. Valor de preseleccin del temporizador. La temporizacin elaborada es igual a: preseleccin x base de tiempo. Valor de desplazamiento temporal entre la transicin de STOP a RUN del PLC y el primer reinicio del temporizador desde 0. El valor temporal es igual a: fase x base de tiempo.

Preajuste

1 a 1023

10

Fase

0 a 1023

NOTA: La fase debe ser inferior a la preseleccin del evento de tipo TIMER.

35006147 10/2013

111

Estructura del programa

Funcin ITCNTRL Representacin en FBD:

La tabla siguiente describe los parmetros de entrada:


Parmetro Enable Reset_Timer Hold_Timer Nb_Task_Event Tipo BOOL BOOL BOOL BYTE Comentario Entrada de validacin. En 1, reinicializa el temporizador. En 1, inmoviliza el incremento del temporizador. Byte de entrada que determina el nmero del procesamiento de eventos que se va a activar.

En la tabla siguiente se describen los parmetros de salida:


Parmetro Status_Timer Current_Value Tipo WORD TIME Comentario Palabra de estado. Valor actual del temporizador.

112

35006147 10/2013

Estructura del programa

Grfico de tendencias de funcionamiento normal Grfico de tendencias.

Funcionamiento normal En la siguiente tabla se describe el inicio de los procesamientos de eventos de tipo TIMER (consulte el grfico de tendencias que aparece ms arriba).
Fase 1 2 3 Descripcin En el caso de que se reciba un flanco ascendente en la entrada RESET, el temporizador se pone a 0. El valor actual VALUE del temporizador aumenta de 0 al valor de preseleccin de una unidad a cada impulso de la base de tiempo. Se emite un evento cuando el valor actual alcanza el valor de preseleccin, el temporizador se pone a 0 y, a continuacin, se vuelve a activar. El procesamiento de eventos asociado se inicia si el evento no est enmascarado. Puede ser diferido si se est ejecutando un procesamiento de eventos de igual o superior prioridad. Cuando la entrada ENABLE est a 0, los eventos dejan de emitirse. Los procesamientos de eventos de tipo TIMER no se inician. Cuando la entrada HOLD est a 1, el temporizador permanece fijo, el valor actual no aumenta ms hasta que se vuelve a poner a 0.

4 5

35006147 10/2013

113

Estructura del programa

Sincronizacin del procesamiento de eventos El parmetro Phase permite iniciar los procesamientos de eventos de tipo TIMER diferentes del intervalo de tiempo constante. Este parmetro define un desplazamiento temporal con un origen de tiempo absoluto, que es el ltimo paso de STOP a RUN del PLC. Condicin de funcionamiento:

Los procesamientos de eventos deben presentar los mismos valores de base de tiempo y de preseleccin. Las entradas RESET y HOLD no se deben posicionar en 1.

Ejemplo: dos procesamientos de eventos, Timer1 y Timer2, que se deben ejecutar con un intervalo de 70 ms. El primer procesamiento, Timer1, se puede definir mediante una fase igual a 0 y el segundo, Timer2, mediante una fase de 70 ms (fase de 7 y base de tiempo de 10 ms). Todo evento iniciado mediante el temporizador asociado al procesamiento Timer1 ir seguido, tras 70 ms, de un evento procedente del temporizador asociado al procesamiento Timer2. Grfico de tendencias: Transicin de STOP a RUN Grfico de tendencias del ejemplo descrito anteriormente con un mismo valor de preseleccin de 16 (160 ms) para Timer1 y Timer2.

114

35006147 10/2013

Estructura del programa

Funcionamiento despus de que el PLC haya pasado de STOP a RUN En la siguiente tabla se describe el funcionamiento tras el paso de STOP a RUN del PLC (consulte el grfico de tendencias que se muestra ms arriba):
Fase 1 Descripcin En el caso de una transicin de STOP a RUN del PLC, la temporizacin se inicia de forma que el valor de preseleccin se alcance tras un periodo de tiempo igual a fase x base de tiempo, momento en que se emitir el primer evento. El valor actual VALUE del temporizador aumenta de 0 al valor de preseleccin de una unidad a cada impulso de la base de tiempo. Se emite un evento cuando el valor actual alcanza el valor de preseleccin, el temporizador se pone a 0 y, a continuacin, se vuelve a activar. El procesamiento de eventos asociado se inicia si el evento no est enmascarado. Puede ser diferido si se est ejecutando un procesamiento de eventos de prioridad igual o superior.

2 3

35006147 10/2013

115

Estructura del programa

Intercambios de entradas/salidas en el procesamiento de eventos


Generalidades En cada tratamiento de sucesos se pueden usar otras vas de entradas/salidas que no sean las propias del suceso. Al igual que para las tareas, los intercambios se realizan implcitamente mediante el sistema antes (%I) y despus (%Q) del tratamiento de aplicacin. Funcionamiento La tabla siguiente describe los intercambios y los tratamientos efectuados.
Fase 1 2 3 4 Descripcin La aparicin de un suceso desva el programa de aplicacin hacia el tratamiento que est asociado a la va de entrada/salida que ha provocado del suceso. Todas las entradas asociadas al tratamiento de sucesos se obtienen automticamente. Se ejecuta el tratamiento de sucesos. Deber ser lo ms breve posible. Se actualizan todas las salidas asociadas al tratamiento de sucesos.

Caso de Premium/Atrium Las entradas adquiridas y las salidas que se actualizan son las siguientes:

las entradas asociadas al canal que ha provocado el evento y las entradas y salidas utilizadas en el procesamiento de eventos. a un canal (ejemplo de mdulo de conteo) o a un grupo de canales (mdulo binario). En este caso, si el tratamiento modifica, por ejemplo, las salidas 2 y 3 de un mdulo TON, la imagen de salidas 0 a 7 se transferir hacia el mdulo.

NOTA: Estos intercambios pueden ser relativos:


Caso de Quantum Las entradas adquiridas y las salidas que se actualizan se seleccionan en la configuracin. Slo se pueden elegir entradas/salidas locales. Regla de programacin Las entradas intercambiadas (y el grupo de vas asociadas), una vez ejecutado el tratamiento de sucesos, se actualizan (prdida de los valores registrados, por lo tanto de los flancos). Por ello, se deber evitar comprobar los flancos en esas entradas de las tareas maestra (MAST), rpida (FAST) o auxiliar (AUXi).

116

35006147 10/2013

Estructura del programa

Programacin de procesamiento de eventos


Procedimiento En la siguiente tabla se resumen los pasos principales de la programacin de procesamiento de eventos.
Paso 1 Accin Fase de configuracin (para eventos iniciados por mdulos de entrada/salida) En modalidad offline, en el editor de configuracin, seleccione Procesamiento de eventos (EVT) y el nmero de procesamiento de evento para el canal del mdulo de entrada/salida correspondiente. Fase de desenmascaramiento La tarea que se puede interrumpir debe en particular: Activar el procesamiento de eventos en el nivel de sistema: establecer el bit %S38 en 1 (valor predeterminado). Desenmascarar eventos con la instruccin UNMASKEVT (activa de manera predeterminada). Desenmascarar los eventos correspondientes en el nivel de canal (en el caso de eventos activados por mdulo de entrada/salida) estableciendo en 1 los objetos de lenguaje implcitos del mdulo de entrada/salida. De manera predeterminada, los eventos estn enmascarados. Comprobar que el stack de eventos en el nivel de sistema no est saturado (el bit %S39 debe estar en 0). Fase de creacin de programacin de eventos El programa debe: Determinar el origen de los eventos en funcin de la palabra de estado de evento asociada con el mdulo de entrada/salida si el mdulo puede generar diferentes eventos. Llevar a cabo el procesamiento reflejo asociado con el evento. El proceso debe ser lo ms breve posible. Escribir las salidas reflejas correspondientes. Nota: La palabra de estado de eventos se establece automticamente en 0.

35006147 10/2013

117

Estructura del programa

Ilustracin del desenmascaramiento de eventos Esta ilustracin muestra el desenmascaramiento de eventos en la tarea MAST.

Ilustracin de los contenidos del procesamiento de eventos Esta ilustracin muestra los contenidos posibles del procesamiento de eventos (funcionamiento y prueba de bits).

118

35006147 10/2013

Unity Pro Estructura de memoria 35006147 10/2013

Captulo 4
Estructura de memoria de la aplicacin

Estructura de memoria de la aplicacin


Objetivo de este captulo Este captulo describe la estructura de memoria de la aplicacin de los PLC Modicon Premium, Atrium y Quantum. Para obtener informacin sobre Modicon M580, consulte Estructura de memoria M580 (vase Modicon M580, Hardware, Manual de referencia). Contenido de este captulo Este captulo contiene las siguientes secciones:
Seccin 4.1 4.2 Apartado Estructura de memoria de los PLC Premium, Atrium y Modicon M340 Estructura de memoria de los autmatas Quantum Pgina 120 129

35006147 10/2013

119

Estructura de memoria

Seccin 4.1
Estructura de memoria de los PLC Premium, Atrium y Modicon M340

Estructura de memoria de los PLC Premium, Atrium y Modicon M340


Objeto de esta seccin En esta seccin se describe la estructura de memoria y se ofrece una descripcin detallada de las zonas de memoria de los PLC Premium, Atrium y Modicon M340. Para obtener informacin sobre Modicon M580, consulte su estructura de memoria (vase Modicon M580, Hardware, Manual de referencia). Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Estructuras de memoria de los PLC Modicon M340 Estructura de memoria de los PLC Premium y Atrium Descripcin detallada de las zonas de memoria Pgina 121 126 128

120

35006147 10/2013

Estructura de memoria

Estructuras de memoria de los PLC Modicon M340


Descripcin general La memoria del PLC contiene:

datos localizados de la aplicacin, datos sin localizar de la aplicacin y el programa: descriptores y cdigo ejecutable de las tareas, palabras constantes, valores iniciales y configuracin de entradas/salidas.

Estructura Los datos y el programa son compatibles con la RAM interna del mdulo del procesador. El diagrama siguiente describe la estructura de la memoria.

35006147 10/2013

121

Estructura de memoria

Memoria de seal Para Datos (consulte el grfico anterior) la memoria de seal tambin est disponible si selecciona Memoria mixta topolgica y de seal en la ficha Configuracin de un procesador Modicon M340 (vase Unity Pro, Modalidades de funcionamiento). Para utilizar esta opcin, necesitar Unity Pro 6.1 o una versin posterior y el firmware Modicon M340 2.4 o una versin posterior. NOTA: Si desea realizar importaciones a una aplicacin LL984 Compact heredada que utiliza peticiones Modbus para comunicarse con un HMI, deber utilizar el direccionamiento de memoria de seal para conservar el intercambio de Modbus entre el PLC y el HMI. La memoria de seal contiene los siguientes datos ubicados:
Direccin Direccin de los objetos 0xxxxx 1xxxxx 3xxxxx 4xxxxx %Qr.m.c.d,%Mi %Ir.m.c.d, %Ii %IWr.m.c.d, %IWi %QWr.m.c.d, %MWi Utilizacin de los datos Bits de mdulo de salida y bits internos Bits de mdulos de entrada Palabras de entrada de los mdulos de entradas/salidas Palabras de salida de los mdulos de entradas/salidas y palabras internas

NOTA: No todos los datos que se representan en el direccionamiento topolgico estn disponibles en la memoria de seal. Consulte Direccionamiento topolgico/de seal de memoria de los mdulos binarios Modicon M340 (vase Modicon M340con Unity Pro, Mdulos de entradas/salidas binarias, Manual del usuario) y Direccionamiento topolgico/de seal de memoria de los mdulos analgicos Modicon M340 (vase Modicon M340 con Unity Pro, Mdulos de entradas/salidas analgicas, Manual de usuario).

122

35006147 10/2013

Estructura de memoria

Copia de seguridad de programas Si la tarjeta de memoria se encuentra presente, funciona correctamente y no est protegida contra escritura, el programa se guardar en dicha tarjeta: De forma automtica, despus de lo siguiente: una descarga, una modificacin en lnea o un flanco ascendente del bit de sistema %S66 en el programa del proyecto.

De forma manual: con el comando PLC Backup del proyecto Guardar backup en una tabla de animacin, ajustando el bit de sistema %S66.

ADVERTENCIA
PRDIDA DE DATOS: APLICACIN NO GUARDADA La interrupcin de un procedimiento de almacenamiento de la aplicacin debida a una extraccin anticipada o brusca de la tarjeta de memoria puede provocar la prdida de la aplicacin guardada. El bit %S65 (vase pgina 186) permite gestionar una extraccin correcta (consulte el bit %65 de la pgina de ayuda en el captulo de bits de sistema). El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o dao al equipo. La tarjeta de memoria utiliza tecnologa Flash, por lo que no necesita batera. Restauracin del programa Si la tarjeta de memoria se encuentra presente y funciona correctamente, el programa se copiar de dicha tarjeta de memoria del PLC a la memoria interna: De forma automtica despus de apagar y encender.

De forma manual, con el comando Unity Pro PLC Backup del proyecto Restaurar backup.

NOTA: Cuando se introduce la tarjeta de memoria en el modo de ejecucin o de detencin, debe realizar una ciclo de apagado y encendido para restaurar el proyecto en el PLC. Datos guardados Los datos ubicados, los no ubicados y el bfer de diagnstico se guardan automticamente en la memoria interna Flash cuando se desconecta la alimentacin. Se inician en caliente.

35006147 10/2013

123

Estructura de memoria

Save_Param La funcin SAVE_PARAM realiza el ajuste de los parmetros inicial y actual en la RAM interna (como en otros PLC). En este caso, el contenido de la RAM interna y de la tarjeta de memoria es distinto (%S96 = 0 y el indicador luminoso CARDERR est encendido). En el arranque en fro (despus de restaurar la aplicacin), el parmetro actual se reemplaza por los ltimos valores iniciales ajustados slo si se ha realizado una funcin de almacenamiento en la tarjeta de memoria (Guardar backup o flanco ascendente %S66). Almacenamiento del valor actual En un flanco ascendente %S94, los valores actuales reemplazan a los valores iniciales en la memoria interna. El contenido de la RAM interna y de la tarjeta de memoria es distinto (%S96 = 0 y el indicador luminoso CARDERR est encendido). Al reiniciar en fro, los valores actuales se reemplazan por los valores iniciales ms recientes slo si se ha realizado una funcin de almacenamiento en la tarjeta de memoria (Guardar copia de seguridad o flanco ascendente %S66). Eliminacin de archivos Existen dos formas de eliminar todos los archivos de la tarjeta de memoria:

Formateando la tarjeta de memoria (se eliminan todos los archivos de la particin del sistema de archivos) Eliminando el contenido del directorio \DataStorage\ (solo se eliminan los archivos aadidos por el usuario)

Ambas acciones se realizan con %SW93 (vase pgina 231). La palabra de sistema %SW93 slo se puede utilizar despus de descargar una aplicacin predeterminada en el PLC.

ATENCIN
TARJETA DE MEMORIA INOPERATIVA No formatee la tarjeta de memoria con una herramienta que no sea de Schneider. La tarjeta de memoria necesita una estructura para contener programas y datos. El formateo con otra herramienta destruira esta estructura. El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo.

124

35006147 10/2013

Estructura de memoria

Backup %MW Los valores de %MWi pueden guardarse en la memoria Flash interna mediante %SW96 (vase pgina 231). Estos valores se restaurarn al iniciarse en fro, incluida la descarga de aplicaciones, si la opcin Inicializarse %MW con inicio en fro est desactivada en la pantalla de configuracin (vase Unity Pro, Modalidades de funcionamiento) del procesador. En las palabras %MW, los valores se pueden guardar y restaurar con un reinicio en fro o una descarga si la opcin Restablecer de %MW con reinicio en fro no est marcada en la pantalla de configuracin del procesador. Con la palabra %SW96, es posible gestionar las palabras internas %MW de accin de la memoria (guardar, eliminar) y la informacin sobre los estados de las acciones de las palabras internas %MW. Caractersticas de las tarjetas de memoria Existen dos tipos de tarjeta de memoria:

De aplicacin: estas tarjetas contienen el programa de aplicacin y pginas web. Aplicacin + almacenamiento de ficheros: estas tarjetas contienen el programa de aplicacin, ficheros de datos de los EFB de gestin de ficheros de la tarjeta de memoria y pginas web.

35006147 10/2013

125

Estructura de memoria

Estructura de memoria de los PLC Premium y Atrium


Generalidades La memoria del autmata contiene:

Los datos localizados de la aplicacin, los datos sin localizar de la aplicacin y el programa: descriptores y cdigo ejecutable de las tareas, palabras constantes, valores iniciales y configuracin de las entradas/salidas.

Estructura sin tarjeta de extensin de memoria La memoria RAM interna del mdulo del procesador contiene los datos y el programa. El diagrama siguiente describe la estructura de la memoria.

Estructura con tarjeta de ampliacin de memoria Los datos se almacenan en la memoria RAM interna del mdulo del procesador. El programa se guarda en la tarjeta de memoria de extensin. El diagrama siguiente describe la estructura de la memoria.

126

35006147 10/2013

Estructura de memoria

Almacenamiento de la memoria La memoria RAM interna se protege con una pila de cadmio/nquel que contiene el mdulo del procesador. Las tarjetas de memoria RAM estn protegidas por una pila de cadmio/nquel. Especificaciones de las tarjetas de memoria Existen tres tipos de tarjetas de memoria:

De aplicacin: estas tarjetas contienen el programa de la aplicacin. Son de tecnologa RAM o Flash Eprom. De aplicacin y almacenamiento de archivos: estas tarjetas contienen, adems del programa, una zona que permite almacenar/restablecer los datos mediante el programa. Son de tecnologa RAM o Flash Eprom De almacenamiento de archivos: estas tarjetas permiten almacenar/restablecer datos mediante el programa. Estas tarjetas son de tecnologa SRAM.

El esquema siguiente describe la estructura de memoria con tarjeta de tipo aplicacin y almacenamiento de archivos.

NOTA: En el caso de los procesadores con dos emplazamientos para tarjeta de memoria, el emplazamiento inferior est reservado para la funcin de almacenamiento de archivos.

35006147 10/2013

127

Estructura de memoria

Descripcin detallada de las zonas de memoria


Datos de usuario Esta zona contiene los datos localizados y los datos sin localizar de la aplicacin.

datos localizados: datos booleanos %M, %S y numricos %MW, %SW datos asociados a los mdulos %I, %Q, %IW, %QW,%KW.... datos sin localizar: datos booleanos y numricos (instancias) Instancias de EFB y DFB

Programa de usuario y constantes Esta zona contiene los cdigos ejecutables y las constantes de la aplicacin.

cdigos ejecutables: cdigo de programa cdigo asociado a los EF, EFB y a la gestin de los mdulos de E/S cdigo asociado a los DFB constantes: palabras constantes KW constantes asociadas a las entradas/salidas valores iniciales de los datos

Esta zona contiene tambin la informacin necesaria para descargar la aplicacin: Cdigos grficos, smbolos, etc. Otra informacin Tambin se almacena en la memoria otro tipo de informacin relativa a la configuracin y a la estructura de la aplicacin (en la zona de datos o de programa en funcin del tipo de informacin).

Configuracin: otros datos relativos a la configuracin (configuracin de hardware, configuracin de software). Sistema: datos utilizados por el sistema operativo (pila de las tareas, etc.). Diagnstico: informacin relativa al diagnstico del proceso o del sistema, bfer de diagnstico.

128

35006147 10/2013

Estructura de memoria

Seccin 4.2
Estructura de memoria de los autmatas Quantum

Estructura de memoria de los autmatas Quantum


Finalidad de esta seccin En esta seccin se describe la estructura de memoria y se ofrece informacin detallada de las zonas de memoria de los autmatas Quantum. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Estructura de memoria de los autmatas Quantum Descripcin detallada de las zonas de memoria Pgina 130 134

35006147 10/2013

129

Estructura de memoria

Estructura de memoria de los autmatas Quantum


Generalidades La memoria del autmata contiene:

datos localizados de la aplicacin (memoria de seal), los datos sin localizar de la aplicacin y el programa: descriptores y cdigo ejecutable de las tareas, valores iniciales y configuracin de las entradas/salidas.

Estructura sin tarjeta de ampliacin de memoria La memoria RAM interna del mdulo del procesador contiene los datos y el programa. El diagrama siguiente describe la estructura de la memoria.

130

35006147 10/2013

Estructura de memoria

Estructura con tarjeta de ampliacin de memoria Los procesadores Quantum 140 CPU 6 pueden contar con una tarjeta de ampliacin de memoria. Los datos se almacenan en la memoria RAM interna del mdulo del procesador. El programa se guarda en la tarjeta de memoria de extensin. El diagrama siguiente describe la estructura de la memoria.

Almacenamiento de la memoria La memoria RAM interna se protege con una pila de cadmio/nquel que contiene el mdulo del procesador. Las tarjetas de memoria RAM estn protegidas por una pila de cadmio/nquel.

35006147 10/2013

131

Estructura de memoria

Arranque con la aplicacin guardada en la memoria de almacenamiento En la tabla siguiente, se describen los diferentes resultados obtenidos segn el estado del PLC o el conmutador MEM del PLC (vase Quantum con Unity Pro, Hardware, Manual de referencia), al tiempo que se indica si la casilla de ejecucin automtica est o no seleccionada.
Estado del PLC: NONCONF Conmutador MEM del PLC 1 Start u Off Ejecucin automtica en aplic.2 Des Arranque en fro: la aplicacin se carga desde la memoria de almacenamiento a la RAM del PLC. El PLC permanece en posicin STOP. Arranque en fro: la aplicacin se carga desde la memoria de almacenamiento a la RAM del PLC. El PLC permanece en posicin RUN. No se descarga ninguna aplicacin. Encendido del PLC en estado NONCONF. Arranque en fro: la aplicacin se carga desde la memoria de almacenamiento a la RAM del PLC. El PLC permanece en posicin STOP. Arranque en fro: la aplicacin se carga desde la memoria de almacenamiento a la RAM del PLC. El PLC permanece en posicin RUN. Arranque en caliente: no se descarga ninguna aplicacin. El PLC se enciende con el estado anterior. Resultados

NONCONF

Start u Off

On

NONCONF Configurado

Mem Prt o Stop Start u Off

No aplicable Off

Configurado

Start u Off

On

Configurado

Mem Prt o Stop

Irrelevante

1 2

Start y Stop slo son vlidos para los modelos 434 y 534, y Off slo es vlido para el modelo 311. Mem Prt es vlido en todos los modelos. La ejecucin automtica de la aplicacin hace referencia a la aplicacin que se ha cargado.

132

35006147 10/2013

Estructura de memoria

Especificaciones de las tarjetas de memoria Existen tres tipos de tarjetas de memoria:


De aplicacin: estas tarjetas contienen el programa de la aplicacin. Son de tecnologa RAM o Flash Eprom De aplicacin y almacenamiento de archivos: estas tarjetas contienen, adems del programa, una zona que permite almacenar/restablecer los datos mediante el programa. Son de tecnologa RAM o Flash Eprom De almacenamiento de archivos: estas tarjetas permiten almacenar/restablecer datos mediante el programa. Estas tarjetas son de tecnologa SRAM.

El esquema siguiente describe la estructura de memoria con tarjeta de tipo aplicacin y almacenamiento de archivos.

NOTA: En el caso de los procesadores con dos emplazamientos para tarjeta de memoria, el emplazamiento inferior est reservado para la funcin de almacenamiento de archivos.

35006147 10/2013

133

Estructura de memoria

Descripcin detallada de las zonas de memoria


Datos sin localizar Esta zona contiene los datos sin localizar:

Datos booleanos y numricos EFB y DFB

Datos localizados Esta zona contiene los datos localizados (State Ram).
Direccin 0xxxxx 1xxxxx 3xxxxx 4xxxxx Direccin de los objetos Utilizacin de los datos %Qr.m.c.d,%Mi %Ir.m.c.d, %Ii %IWr.m.c.d, %IWi %QWr.m.c.d, %MWi Bits de mdulo de salidas y bits internos. Bits de mdulos de entradas. Palabras de registro de entrada de los mdulos de entradas/salidas. Palabras de salida de los mdulos de entradas/salidas y palabras internas.

Programa de usuario Esta zona contiene los cdigos ejecutables de la aplicacin.


Cdigo del programa Cdigo asociado a los EF, EFB y a la gestin de los mdulos de E/S Cdigo asociado a los DFB Valores iniciales de las variables

Esta zona contiene tambin la informacin necesaria para descargar la aplicacin: Cdigos grficos, smbolos, etc. Sistema operativo En el caso de los procesadores 140 CPU 31/41/51, esta zona contiene el sistema operativo para el procesamiento de la aplicacin. Este sistema operativo se transfiere desde una memoria interna EPROM a la memoria interna RAM durante la conexin. Almacenamiento de la aplicacin Los procesadores 140 CPU 31/41/51 presentan una zona de memoria Flash EPROM de 1435KB que permite almacenar el programa y los valores iniciales de las variables. La aplicacin que se encuentra en esta zona se transfiere de forma automtica a la memoria RAM interna durante la conexin del procesador del autmata (si el conmutador PLC MEM est apagado en la parte frontal del procesador del autmata).

134

35006147 10/2013

Estructura de memoria

Otra informacin Tambin se almacena en la memoria otro tipo de informacin relativa a la configuracin y a la estructura de la aplicacin (en la zona de datos o de programa en funcin del tipo de informacin).

Configuracin: otros datos relativos a la configuracin (configuracin de hardware, configuracin de software). Sistema: datos utilizados por el sistema operativo (pila de las tareas, etc.). Diagnstico: informacin relativa al diagnstico del proceso o del sistema, bfer de diagnstico.

35006147 10/2013

135

Estructura de memoria

136

35006147 10/2013

Unity Pro Modalidades de funcionamiento 35006147 10/2013

Captulo 5
Modalidades de funcionamiento

Modalidades de funcionamiento
Objetivo de este captulo En este captulo se describen los modos de funcionamiento del PLC en caso de corte y restablecimiento de la corriente, las incidencias en el programa de aplicacin y la actualizacin de las entradas/salidas. Para obtener informacin sobre Modicon M580, consulte Modalidades de funcionamiento de los mdulos de CPU BME P58 (vase Modicon M580, Hardware, Manual de referencia). Contenido de este captulo Este captulo contiene las siguientes secciones:
Seccin 5.1 5.2 5.3 Apartado Modalidades de funcionamiento de los PLC Modicon M340 Modalidades de funcionamiento de los autmatas Premium, Quantum Modalidad HALT del autmata Pgina 138 152 164

35006147 10/2013

137

Modalidades de funcionamiento

Seccin 5.1
Modalidades de funcionamiento de los PLC Modicon M340

Modalidades de funcionamiento de los PLC Modicon M340


Objeto de esta seccin En esta seccin se describen las modalidades de funcionamiento de los PLC Modicon M340. Para obtener informacin sobre Modicon M580, consulte el captulo Modalidades de funcionamiento M580 (vase Modicon M580, Hardware, Manual de referencia). Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Procesamiento en caso de corte y restablecimiento de la alimentacin para los PLC Modicon M340 Procesamiento en arranque en fro para PLC Modicon M340 Procesamiento en reinicio en caliente para PLC Modicon M340 Inicio automtico en modalidad RUN para PLC Modicon M340 Procesamiento de la memoria de seal de la modalidad STOP para los PLC Modicon M340 Pgina 139 141 146 150 151

138

35006147 10/2013

Modalidades de funcionamiento

Procesamiento en caso de corte y restablecimiento de la alimentacin para los PLC Modicon M340
Generalidades Si la duracin del corte es inferior al tiempo de filtrado de la alimentacin, el programa no lo ve y se ejecuta normalmente. En caso contrario, se produce una interrupcin del programa y se activa el procesamiento de restablecimiento de la alimentacin. Tiempo de filtrado:
PLC BMX CPS 2000 BMX CPS 3500 BMX CPS 3540T BMX CPS 2010 BMX CPS 3020 Corriente alterna 10 ms Corriente continua -

1 ms

Ilustracin La ilustracin siguiente muestra las distintas etapas del apagado y encendido.

35006147 10/2013

139

Modalidades de funcionamiento

Operacin La tabla describe las fases del tratamiento de los cortes de alimentacin.
Fase 1 2 3 Descripcin Cuando se produce un corte de la alimentacin, el sistema guarda en la memoria Flash interna el contexto de la aplicacin, los valores de las variables de la aplicacin y el estado del sistema. El sistema sita todas las salidas en estado de retorno (estado definido en la configuracin). Cuando se restablece la alimentacin, se realizan diversas acciones y comprobaciones para verificar si est disponible el reinicio en caliente: Restauracin del contexto de la aplicacin desde la memoria Flash interna, Verificacin con la tarjeta de memoria (presencia, disponibilidad de la aplicacin), Comprobacin de que el contexto de la aplicacin es idntico al de la tarjeta de memoria. Si todas las comprobaciones son correctas, se efectuar un reinicio en caliente (vase pgina 146); de lo contrario, se realizar un arranque en fro (vase pgina 141).

140

35006147 10/2013

Modalidades de funcionamiento

Procesamiento en arranque en fro para PLC Modicon M340


Causa de un arranque en fro En la tabla siguiente se describen las diferentes causas de un inicio en fro.
Causas Carga de una aplicacin Restaurar la aplicacin de la tarjeta de memoria si difiere de la que hay en la memoria RAM interna Caractersticas del inicio Inicio en fro forzado en STOP Inicio en fro forzado en STOP o en RUN, segn la definicin de la configuracin

Restaurar aplicacin de tarjeta de memoria, con comandos Inicio en fro forzado en STOP o en RUN, segn de Unity Pro PLC Backup del proyecto .... la definicin de la configuracin Pulsacin del botn RESET de la fuente de alimentacin Pulsacin del botn RESET de la fuente de alimentacin durante menos de 500 ms tras una desconexin Inicio en fro forzado en STOP o en RUN, segn la definicin de la configuracin Inicio en fro forzado en STOP o en RUN, segn la definicin de la configuracin

Pulsacin del botn RESET de la fuente de alimentacin Inicio en fro forzado en STOP. El inicio en la tras un error del procesador, salvo que se trate de un error modalidad RUN, segn est definido en la configuracin, no se tiene en cuenta del watchdog Inicializacin desde Unity Pro Forzado del bit de sistema %S0 Inicio en STOP o en RUN (conservando la modalidad operativa en curso en el momento de la desconexin), inicializacin nicamente de la aplicacin

Restablecimiento despus de un corte de alimentacin con Inicio en fro forzado en STOP o en RUN, segn prdida del contexto la definicin de la configuracin

ATENCIN
PRDIDA DE DATOS POR LA TRANSFERENCIA DE UNA APLICACIN La carga o transferencia de una aplicacin en el PLC normalmente conlleva la inicializacin de variables no localizadas. Para guardar las variables ubicadas: Evite la inicializacin de %MWi desmarcando Inicializar %MWi con inicio en fro en la pantalla de configuracin de la CPU. Es necesario asignar a los datos una direccin topolgica si el proceso requiere conservar los valores actuales de estos datos al transferir la aplicacin. El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo.

35006147 10/2013

141

Modalidades de funcionamiento

ATENCIN
PRDIDA DE DATOS POR LA TRANSFERENCIA DE UNA APLICACIN No pulse el botn RESET en la fuente de alimentacin. En caso contrario, %MWi se restablece y se cargan los valores iniciales. El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo.

ATENCIN
RIESGO DE PRDIDA DE UNA APLICACIN Si no hay ninguna tarjeta de memoria en el PLC durante un reinicio en fro, se pierde la aplicacin. El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo.

142

35006147 10/2013

Modalidades de funcionamiento

Figura El diagrama siguiente describe el funcionamiento de un reinicio en fro.

35006147 10/2013

143

Modalidades de funcionamiento

Operacin La tabla que se presenta a continuacin describe las fases de reinicio de la ejecucin del programa en el reinicio en fro.
Fase 1 Descripcin El inicio se efecta en RUN o en STOP, segn el estado del parmetro Inicio automtico en RUN definido en la configuracin o si ste se utiliza en funcin del estado de la entrada RUN/STOP. La ejecucin del programa se reanuda al comienzo del ciclo. El sistema efecta lo siguiente: Desactiva las tareas, que no sean la tarea maestra, hasta que termine el primer ciclo de la tarea maestra. Inicializa los datos (bits, imagen de E/S, palabras, etc.) con los valores iniciales definidos en el editor de datos (valor en 0 si no se ha definido ningn valor inicial). Para las palabras %MW, los valores pueden recuperarse en un reinicio en fro, si las dos condiciones son vlidas: La opcin Inicializar %MW en reinicio en fro (vase Unity Pro, Modalidades de funcionamiento) est desmarcada en la pantalla de configuracin del procesador,
la memoria flash interna tiene una copia de seguridad vlida (consulte %SW96

(vase pgina 231)). Nota: si el nmero de palabras de %MW supera el tamao del (consulte la estructura de la memoria de los PLC M340 (vase pgina 121)) durante la operacin de almacenamiento, las palabras restantes se establecen en 0. Inicializa los bloques de funciones elementales a partir de los datos iniciales. Inicializa los datos declarados en los DFB: en 0 o en el valor inicial declarado en el tipo de DFB. Inicializa los bits y palabras de sistema. Posiciona los grficos en los pasos iniciales. Cancela los forzados que haya. Inicializa las filas de mensajes y de eventos. Enva los parmetros de configuracin a todos los mdulos de entradas/salidas binarias y especficos de la aplicacin.

En este primer ciclo de reinicio, el sistema efecta lo siguiente: Reinicia la tarea maestra con los bits %S0 (reinicio en fro) y %S13 (primer ciclo en RUN) en la posicin 1, la palabra %SW10 (deteccin de un reinicio en fro en el primer ciclo de una tarea) se pone a 0. Pone a 0 los bits %S0 y %S13, y pone a 1 cada bit de la palabra %SW10, cuando finaliza el primer ciclo de la tarea maestra. Activa la tarea rpida y los tratamientos de eventos cuando finaliza este primer ciclo de la tarea maestra.

Procesamiento por programa de un inicio en fro Se recomienda comprobar el bit %SW10.0 para detectar un inicio en fro y comenzar un procesamiento especfico para dicho inicio en fro. NOTA: Se puede probar el bit %S0 si se ha seleccionado el parmetro Inicio automtico en RUN. Si ste no es el caso, el PLC se inicia en STOP, el bit %S0 se pone a 1 en el primer ciclo de reinicio, pero el programa no lo detecta debido a que ste no se ejecuta.

144

35006147 10/2013

Modalidades de funcionamiento

Cambios de las salidas En cuanto se detecta el corte de corriente, las salidas se colocan en posicin de retorno: pueden tomar el valor de retorno o conservar el valor actual,

segn la eleccin efectuada en la configuracin. Cuando se restablece la corriente, las salidas se ponen a cero hasta que la tarea las actualice.

35006147 10/2013

145

Modalidades de funcionamiento

Procesamiento en reinicio en caliente para PLC Modicon M340


Causa de un reinicio en caliente Se puede provocar un reinicio en caliente mediante un restablecimiento de la alimentacin sin perder contexto.

ATENCIN
RIESGO DE PRDIDA DE UNA APLICACIN Si no hay ninguna tarjeta de memoria en el PLC durante un reinicio en caliente, se pierde la aplicacin. El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo.

146

35006147 10/2013

Modalidades de funcionamiento

Ilustracin El esquema siguiente describe el funcionamiento de un reinicio en caliente.

35006147 10/2013

147

Modalidades de funcionamiento

Funcionamiento La tabla que se presenta a continuacin describe las fases de reinicio de la ejecucin del programa en el reinicio en caliente.
Fase 1 Descripcin La ejecucin del programa no se reanuda a partir del elemento en el cual ha tenido lugar el corte de corriente. El resto del programa se descarta durante el arranque en caliente. Cada tarea se reiniciar desde el principio. Cuando termina el ciclo de reinicio, el sistema: restaura el valor de las variables de la aplicacin, ajusta el bit %S1 a 1, la inicializacin de las filas de mensajes y de eventos, el envo de parmetros de configuracin a todos los mdulos de entradas/salidas binarias y funciones especficas, la desactivacin de la tarea rpida y de los tratamientos de eventos (hasta que termine el primer ciclo de la tarea maestra). El sistema lleva a cabo un ciclo de reinicio en el que: reinicia la tarea maestra desde el principio del ciclo, vuelve a poner en estado 0 los bits %S1 cuando termina este primer ciclo de la tarea maestro y reactiva la tarea rpida y los tratamientos de eventos cuando finaliza este primer ciclo de la tarea maestra.

Procesamiento por programa de un reinicio en caliente En caso de reinicio en caliente, si se desea un tratamiento particular respecto a la aplicacin, deber escribirse el programa correspondiente para que pruebe que %S1 est definido en 1 al inicio del programa de la tarea maestra. Funciones especficas del inicio en caliente SFC La CPU no considera el inicio en caliente del PLC M340 como un inicio en caliente de verdad. El intrprete SFC no depende de las tareas. SFC publica un rea de memoria "ws_data" en el SO que contiene datos especficos de la seccin SFC que se guardarn cuando se produzca un fallo de alimentacin. Al principio del procesamiento de cadenas, los pasos que actualmente estn activos se guardan en "ws_data" y el procesamiento se marca como que se encuentra en la "seccin ms importante". Al final del procesamiento de cadenas, se desmarca la "seccin ms importante". Si se produce un fallo de alimentacin en la "seccin ms importante", ste podra detectarse si este estado est activo al principio (cuando la exploracin se aborta y la tarea MAST se reinicia desde el principio). En este caso, es posible que el rea de trabajo no sea coherente y se restablece a partir de los datos guardados. Se utiliza informacin adicional de SFCSTEP_STATE del rea de datos localizada para reconstruir el estado del equipo.

148

35006147 10/2013

Modalidades de funcionamiento

Cuando se produce un fallo de alimentacin: durante la primera exploracin %S1 =1 MAST se ejecuta pero las tareas FAST y EVENT no se ejecutan. Cuando se restablece la alimentacin: borra las cadenas, anula el registro de los diagnsticos y mantiene las acciones definidas; define los pasos desde el rea guardada; define los tiempos de paso de SFCSTEP_STATE; restablece el tiempo transcurrido para las acciones temporizadas.

NOTA: El intrprete de SFC es independiente; si la transicin es vlida, la cadena SFC evoluciona al mismo tiempo que %S1 es cierto. Cambios de las salidas En cuanto se detecta el corte de corriente, las salidas se colocan en posicin de retorno: pueden tomar el valor de retorno o conservar el valor actual,

segn la eleccin efectuada en la configuracin. Tras el restablecimiento de la alimentacin, las salidas permanecen en la modalidad de seguridad (igual a 0) hasta que se actualizan mediante una tarea de ejecucin.

35006147 10/2013

149

Modalidades de funcionamiento

Inicio automtico en modalidad RUN para PLC Modicon M340


Descripcin Inicio automtico en RUN es una opcin de configuracin del procesador. Esta opcin fuerza al PLC para que se inicie en la modalidad RUN tras un reinicio en fro (vase pgina 141), salvo cuando se ha cargado una aplicacin en este. En Modicon M340, esta opcin no se tiene en cuenta cuando se presiona el botn RESET de alimentacin tras un error del procesador, salvo que se trate de un error del watchdog.

ADVERTENCIA
COMPORTAMIENTO INESPERADO DEL SISTEMA: INICIO DE PROCESO INESPERADO Las acciones siguientes activarn el inicio automtico en modalidad RUN: La restauracin de la aplicacin desde la tarjeta de memoria. El uso no intencionado o descuidado del botn de reinicio. Para evitar un reinicio imprevisto en la modalidad RUN, utilice: La entrada RUN/STOP en Modicon M340. El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o dao al equipo.

150

35006147 10/2013

Modalidades de funcionamiento

Procesamiento de la memoria de seal de la modalidad STOP para los PLC Modicon M340
General Con Unity Pro 6.1 o superior y Modicon M340 firmware 2.4 o posterior puede acceder a los mdulos mediante direcciones topolgicas o de memoria de seal. Consulte tambin la ficha Memoria (vase Unity Pro, Modalidades de funcionamiento). NOTA: La memoria de seal se actualiza nicamente en la modalidad RUN del PLC. La memoria de seal no se actualiza en la modalidad STOP del PLC.

35006147 10/2013

151

Modalidades de funcionamiento

Seccin 5.2
Modalidades de funcionamiento de los autmatas Premium, Quantum

Modalidades de funcionamiento de los autmatas Premium, Quantum


Finalidad de esta seccin En esta seccin se describen las modalidades de funcionamiento de los autmatas Premium y Quantum. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Procesamiento en caso de corte y restablecimiento de la alimentacin para PLC Premium/Quantum Procesamiento del arranque en fro para PLC Quantum y Premium Procesamiento del reinicio en caliente para PLC Quantum y Premium Inicio automtico en modalidad RUN para Premium/Quantum Pgina 153 155 160 163

152

35006147 10/2013

Modalidades de funcionamiento

Procesamiento en caso de corte y restablecimiento de la alimentacin para PLC Premium/Quantum


General Si la duracin del corte es inferior al tiempo de filtrado de la alimentacin, el programa no lo ve y se ejecuta normalmente. En caso contrario, se produce una interrupcin del programa y el tratamiento del restablecimiento de la alimentacin. Tiempo de filtrado:
PLC Premium Atrium Quantum Alimentacin alterna 10 ms 30 ms 10 ms Alimentacin continua 1 ms 1 ms

Ilustracin La figura presenta los diferentes restablecimientos de alimentacin detectados por el sistema.

35006147 10/2013

153

Modalidades de funcionamiento

Funcionamiento La tabla que se presenta a continuacin describe las fases del tratamiento de los cortes de alimentacin.
Fase 1 2 3 Descripcin En el momento del corte de la alimentacin, el sistema almacena el contexto de la aplicacin y la hora del corte. Sita todas las salidas en estado de reactivacin (estado definido en la configuracin). Cuando se restablece la alimentacin, el contexto guardado se compara al actual; lo que define el tipo de arranque que debe ejecutarse: si el contexto de la aplicacin ha cambiado (prdida de contexto del sistema o una nueva aplicacin), el autmata efecta una inicializacin de la aplicacin: arranque en fro, si el contexto de la aplicacin es idntico, el autmata efecta un rearranque sin inicializacin de los datos: rearranque en caliente

Corte de la alimentacin en un bastidor distinto del bastidor 0 Todas las vas de ese rack quedan detectadas como error en el procesador, pero los otros racks no se alteran. Los valores de las entradas durante el error no se actualizan en la memoria de la aplicacin y se ponen a 0 en el caso de un mdulo de entrada TON, a menos que hayan sido forzadas, en tal caso, se mantienen en el valor de forzado. Si la duracin del corte es inferior al tiempo de filtrado, el programa no lo ve y se ejecuta normalmente.

154

35006147 10/2013

Modalidades de funcionamiento

Procesamiento del arranque en fro para PLC Quantum y Premium


Causa de un arranque en fro En la tabla siguiente se describen las diferentes causas de un inicio en fro.
Causas Carga de una aplicacin Pulsacin del botn RESET del procesador (Premium) Pulsacin del botn RESET del procesador despus de un fallo del procesador o del sistema (Premium). Manipulacin de la tapa prensil o insercin/extraccin de una tarjeta de memoria PCMCIA Inicializacin desde Unity Pro Forzado del bit de sistema %S0 Caractersticas del inicio Inicio en fro forzado en STOP Inicio en fro forzado en STOP o en RUN, segn la definicin de la configuracin Inicio en fro forzado en STOP

Inicio en fro forzado en STOP o en RUN, segn la definicin de la configuracin Inicio en STOP o en RUN (conserva la modalidad de funcionamiento en curso) sin inicializacin de los mdulos de entradas/salidas TON ni de funcin especfica

Restablecimiento de la alimentacin despus de un Inicio en fro forzado en STOP o en RUN, segn la corte de alimentacin con prdida del contexto definicin de la configuracin

ATENCIN
PRDIDA DE DATOS POR LA TRANSFERENCIA DE UNA APLICACIN La carga o transferencia de una aplicacin en el PLC normalmente conlleva la inicializacin de variables no localizadas. Para guardar variables ubicadas con PLC Premium y Quantum: Guarde y restaure %M y %MW haciendo clic en PLC Transferencia de datos. Para PLC Premium: Evite la inicializacin de %MW desactivando Inicializar %MWi con arranque en fro en la pantalla de configuracin de la CPU. Para PLC Quantum: Evite la inicializacin de %MW desactivando Restablecer %MWi en la pantalla de configuracin de la CPU. Es necesario asignar a los datos una direccin topolgica si el proceso requiere conservar los valores actuales de estos datos al transferir la aplicacin. El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo.

35006147 10/2013

155

Modalidades de funcionamiento

Figura El diagrama siguiente describe el funcionamiento de un reinicio en fro.

156

35006147 10/2013

Modalidades de funcionamiento

Funcionamiento La tabla que se presenta a continuacin describe las fases de reinicio de la ejecucin del programa en el reinicio en fro.
Fase 1 Descripcin El inicio se efecta en RUN o en STOP, segn el estado del parmetro Inicio automtico en RUN definido en la configuracin o si ste se utiliza en funcin del estado de la entrada RUN/STOP. La ejecucin del programa se reanuda al comienzo del ciclo. El sistema efecta lo siguiente: La inicializacin de datos (bits, imagen de E/S, palabras, etc.) con los valores iniciales definidos en el editor de datos (valor en 0 si no se ha definido ningn valor inicial). En el caso de las palabras %MW, estos valores pueden conservarse en un reinicio en fro si no se ha activado la opcin de restablecimiento de %MW en caso de reinicio en fro en la pantalla de configuracin del procesador. NOTA: %MWi no se retiene si se carga un nuevo programa.
La inicializacin de los bloques de funciones elementales a partir de los datos iniciales. La inicializacin de los datos declarados en los DFB: en 0 o en el valor inicial declarado en el

tipo de DFB.
La inicializacin de los bits y palabras de sistema. La desactivacin de las tareas, que no sean la tarea maestra, hasta que termine el primer

ciclo de la tarea maestra. El posicionamiento de los grficos en las etapas iniciales. La cancelacin de forzados. La inicializacin de las filas de mensaje y de eventos. El envo de parmetros de configuracin a todos los mdulos de entradas/salidas binarias y mdulos de funcin especfica.

En este primer ciclo de reinicio, el sistema efecta lo siguiente: Reinicia la tarea maestra con los bits %S0 (reinicio en fro) y %S13 (primer ciclo en RUN) en la posicin 1; la palabra %SW10 (deteccin de un reinicio en fro en el primer ciclo de una tarea) se pone a 0. Restablece a 0 los bits %S0 y %S13, y pone a 1 cada bit de la palabra %SW10, cuando finaliza el primer ciclo de la tarea maestra. Activa la tarea rpida y los procesamientos de eventos cuando finaliza este primer ciclo de la tarea maestra.

Procesamiento por programa de un inicio en fro Se recomienda comprobar el bit %SW10.0 para detectar un inicio en fro y comenzar un procesamiento especfico para dicho inicio en fro. NOTA: Se puede probar el bit %S0 si se ha seleccionado el parmetro Inicio automtico en RUN. Si ste no es el caso, el PLC se inicia en STOP, el bit %S0 se pone a 1 en el primer ciclo de reinicio, pero el programa no lo detecta debido a que ste no se ejecuta.

35006147 10/2013

157

Modalidades de funcionamiento

Evolucin de las salidas, caso de Premium y Atrium En cuanto se detecta el corte de corriente, las salidas se colocan en posicin de retorno: pueden tomar el valor de retorno o conservar el valor actual,

segn la eleccin efectuada en la configuracin. Cuando se restablece la alimentacin, las salidas se siguen en cero hasta que la tarea las actualice. Evolucin de las salidas, caso de Quantum. En cuanto se detecta el corte de corriente, las salidas locales se ponen a cero y las salidas de los bastidores de extensin descentralizados o distribuidos pasan a la posicin de retorno. Cuando se restablece la alimentacin, las salidas siguen en cero hasta que la tarea las actualice. NOTA: El comportamiento de las salidas forzadas se ha modificado entre Modsoft/NxT/Concept y Unity Pro. Con Modsoft/NxT/Concept, no es posible forzar las salidas si el interruptor de proteccin de la memoria del procesador Quantum est en posicin "CON". Con Unity Pro, es posible forzar las salidas si el interruptor de proteccin de la memoria del procesador Quantum est en posicin "CON". Con Modsoft/NxT/Concept, las salidas forzadas permanecen en el estado correspondiente tras un reinicio en fro. Con Unity Pro, las salidas forzadas pierden el estado correspondiente tras un inicio en fro.

ATENCIN
COMPORTAMIENTO INESPERADO DE LA APLICACIN: VARIABLES FORZADAS Compruebe las variables forzadas y el interruptor de proteccin de la memoria cuando cambie entre Modsoft/NxT/Concept y Unity Pro. El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo.

158

35006147 10/2013

Modalidades de funcionamiento

140 CPU 31/41/51 de Quantum Estos procesadores cuentan con una zona de memoria Flash EPROM de 1.435 KB que permite guardar el programa y los valores iniciales de las variables. Cuando se restablece la alimentacin, puede seleccionar la modalidad de funcionamiento deseada con el conmutador PLC MEM en el panel frontal del procesador. Consulte la informacin detallada sobre el funcionamiento de este conmutador en el manual de Quantum (vase Quantum con Unity Pro, Hardware, Manual de referencia). Posicin Des: La aplicacin que se encuentra en esta zona se transfiere de forma automtica a la memoria RAM interna tras la conexin a la alimentacin del procesador del PLC: reinicio en fro de la aplicacin. Posicin Con: La aplicacin que se encuentra en esta zona no se transfiere a la memoria RAM interna: reinicio en caliente de la aplicacin.

35006147 10/2013

159

Modalidades de funcionamiento

Procesamiento del reinicio en caliente para PLC Quantum y Premium


Causa de un reinicio en caliente Un reinicio en caliente puede haber sido provocado: por un restablecimiento de la alimentacin sin prdida de contexto, por una puesta a 1 por parte del programa del bit del sistema %S1, por Unity Pro desde el terminal o mediante el botn RESET del mdulo de alimentacin del bastidor 0 (en PLC Premium).

Ilustracin El esquema siguiente describe el funcionamiento de un reinicio en caliente.

160

35006147 10/2013

Modalidades de funcionamiento

Funcionamiento La tabla que se presenta a continuacin describe las fases de reinicio de la ejecucin del programa en el reinicio en caliente.
Fase 1 2 Descripcin La ejecucin del programa se reanuda a partir del elemento en el cual ha tenido lugar el corte de corriente, sin actualizacin de las salidas. Cuando termina el ciclo de reinicio, el sistema: La inicializacin de las filas de mensaje y de eventos. El envo de parmetros de configuracin a todos los mdulos de entradas/salidas binarias y funciones especficas. La desactivacin de la tarea rpida y del procesamiento de eventos (hasta que termine el primer ciclo de la tarea maestra). El sistema lleva a cabo un ciclo de reinicio en el que: Vuelve a confirmar todos los mdulos de entradas Reinicia la tarea maestra con el bit %S1 (rearranque en caliente) posicionado a 1 Vuelve a poner en estado 0 el bit %S1 cuando termina este primer ciclo de la tarea maestra Reactiva la tarea rpida, las tareas auxiliares y el procesamiento de eventos cuando finaliza este primer ciclo de la tarea maestra

Procesamiento por programa de un reinicio en caliente En caso de reinicio en caliente, si se desea un tratamiento particular respecto a la aplicacin, deber escribirse el programa correspondiente en la prueba de %S1 a 1 al inicio del programa de la tarea maestra. En autmatas Quantum, el conmutador colocado en la parte delantera del procesador permite configurar las modalidades de funcionamiento; si desea ms informacin. Consulte la documentacin de Quantum (vase Quantum con Unity Pro, Hardware, Manual de referencia). Evolucin de las salidas, caso de Premium y Atrium En cuanto se detecta el corte de corriente, las salidas se colocan en posicin de retorno: pueden tomar el valor de retorno o conservar el valor actual,

segn la eleccin efectuada en la configuracin. Cuando se restablece la alimentacin, las salidas permanecen en posicin de retorno hasta que las actualiza la tarea. NOTA: Despus de un encendido cuando la CPU no est iniciada, las salidas estn en el estado de la modalidad de seguridad (igual a 0). Despus del inicio de la CPU, si el mdulo no se ha mantenido encendido, la conservacin del estado se pierde y la salida permanece en el estado 0.

35006147 10/2013

161

Modalidades de funcionamiento

Evolucin de las salidas, caso de Quantum. En cuanto se detecta el corte de corriente: las salidas locales se ponen a cero y las salidas de los bastidores de extensin remotos o distribuidos pasan a la posicin de retorno.

Cuando se restablece la alimentacin, las salidas permanecen en posicin de retorno hasta que las actualiza la tarea. Evolucin de las salidas, caso de bastidores de ampliacin Si hay un corte de corriente en el bastidor donde se encuentra la CPU: Estado de retorno en cuanto se detecta prdida de CPU Estado de seguridad durante la configuracin de E/S Estado calculado por la CPU despus de la primera ejecucin de la tarea que ha provocado este corte Cuando se restablece la alimentacin, las salidas estn en posicin de retorno hasta que las actualiza la tarea.

162

35006147 10/2013

Modalidades de funcionamiento

Inicio automtico en modalidad RUN para Premium/Quantum


Descripcin Inicio automtico en RUN es una opcin de configuracin del procesador. Esta opcin fuerza al PLC para que se inicie en la modalidad RUN tras un reinicio en fro (vase pgina 155), salvo cuando se ha cargado una aplicacin en este. En PLC Quantum, el inicio automtico en modalidad RUN tambin depende de la posicin del interruptor en el panel frontal del procesador. Para obtener ms informacin, consulte la documentacin de Quantum (vase Quantum con Unity Pro, Hardware, Manual de referencia).

ADVERTENCIA
COMPORTAMIENTO INESPERADO DEL SISTEMA: INICIO DE PROCESO INESPERADO Las acciones siguientes activarn la opcin Inicio automtico en modalidad RUN: Si introduce la tarjeta PCMCIA cuando el PLC est encendido (Premium, Quantum). Si sustituye el procesador mientras est encendido (Premium, Quantum). El uso no intencionado o descuidado del botn de reinicio. Si la batera resulta ser defectuosa en caso de un corte de alimentacin (Premium, Quantum). Para evitar un reinicio imprevisto en la modalidad RUN: Se recomienda encarecidamente que utilice la entrada RUN/STOP en los PLC Premium, o bien, el interruptor ubicado en la parte frontal del panel del procesador para PLC Quantum. Igualmente, se recomienda encarecidamente no utilizar entradas memorizadas como entrada RUN/STOP del PLC. El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o dao al equipo.

35006147 10/2013

163

Modalidades de funcionamiento

Seccin 5.3
Modalidad HALT del autmata

Modalidad HALT del autmata


Modalidad HALT del PLC
Presentacin El PLC pasa a modalidad HALT en los casos siguientes:

Uso de la instruccin HALT Desborde de watchdog Error de ejecucin del programa (divisin entre cero, desborde...) si el bit %S78 (vase pgina 186) se establece en 1.

Precaucin

ADVERTENCIA
COMPORTAMIENTO INESPERADO DE LA APLICACIN Cuando el PLC se encuentra en la modalidad HALT, todas las tareas estn detenidas. Compruebe el comportamiento de las E/S asociadas para garantizar que son aceptables las consecuencias de la detencin del PLC en la aplicacin. El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o dao al equipo.

164

35006147 10/2013

Unity Pro Objetos de sistema 35006147 10/2013

Captulo 6
Objetos de sistema

Objetos de sistema
Objeto Este captulo describe los bits y las palabras de sistema del lenguaje Unity Pro. Nota: los smbolos asociados a cada objeto de bit o de palabra del sistema a los que se hace referencia en las tablas descriptivas de dichos objetos no estn incluidos de serie en el programa, se pueden introducir a travs del editor de datos. Se proponen para homogeneizar su denominacin en las diferentes aplicaciones. Contenido de este captulo Este captulo contiene las siguientes secciones:
Seccin 6.1 6.2 6.3 6.4 6.5 6.6 6.7 Bits de sistema Palabras de sistema Palabras de sistema especficas de Atrium/Premium palabras de sistema especficas de Quantum Modicon M340 y palabras de sistema M580 Palabras de sistema especficas de Modicon M580 palabras de sistema especficas de Momentum Apartado Pgina 166 204 255 268 290 295 296

35006147 10/2013

165

Objetos de sistema

Seccin 6.1
Bits de sistema

Bits de sistema
Objeto Este captulo describe los bits del sistema.

ADVERTENCIA
COMPORTAMIENTO INESPERADO DE LA APLICACIN No utilice objetos del sistema (%S, %SWi) como variables cuando no estn documentados. El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o dao al equipo. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Introduccin de bits de sistema Descripcin de los bits de sistema de %S0 a %S7 Descripcin de los bits de sistema %S9 a %S13 Descripcin de los bits de sistema de %S15 a %S21 Descripcin de los bits de sistema de %S30 a %S59 Descripcin de los bits de sistema de %S65 a %S79 Descripcin de los bits de sistema %S80 a %S97 Descripcin de los bits de sistema de %S100 a %S122 Pgina 167 168 171 174 181 186 194 199

166

35006147 10/2013

Objetos de sistema

Introduccin de bits de sistema


General Los PLC Modicon M340, Premium, Atrium, Quantum y Momentum Unity utilizan bits de sistema %Si que indican el estado del PLC o que permiten controlar el funcionamiento de ste. Dichos bits pueden probarse en el programa del usuario con el fin de detectar cualquier evolucin de funcionamiento que conlleve un procedimiento de procesamiento establecido. Algunos de estos bits se deben restablecer a su estado inicial o normal mediante el programa. No obstante, los bits de sistema restablecidos a su estado inicial o normal a travs del sistema, no deben hacerlo a travs del programa ni del terminal.

35006147 10/2013

167

Objetos de sistema

Descripcin de los bits de sistema de %S0 a %S7


Descripcin detallada Descripcin de los bits de sistema %S0 a %S7:
Bit Smbolo Funcin Descripcin Estado inicial 1 (1 ciclo) Modicon Premium M340 y Atrium M580 S S Quantum Momentum Unity S

%S0 Arranque COLDSTART en fro

Normalmente en 0, puede definir este bit a 1 mediante: el restablecimiento de la alimentacin con prdida de datos (se ha encontrado un fallo de la batera) el programa de usuario, el terminal, un cambio de cartucho, Este bit se define en 1 durante el primer ciclo completo de restauracin del PLC en modalidad RUN o STOP. El sistema lo restablece en 0 antes del ciclo siguiente. Para detectar el primer ciclo que se est ejecutando despus de un arranque en fro, consulte %SW10. En la modalidad de seguridad, este bit no est disponible en PLC de seguridad Quantum. %S0 no se define siempre durante la primera exploracin del PLC. Si es necesario establecer una seal para cada inicio del PLC, se deber utilizar %S21 en su lugar. Para Premium y Quantum, Procesamiento del arranque en fro para PLC Quantum y Premium (vase pgina 157) Para Modicon 340, Procesamiento del arranque en fro para PLC Modicon 340 (vase pgina 144)

168

35006147 10/2013

Objetos de sistema

Bit Smbolo

Funcin

Descripcin

Estado inicial 0

Modicon Premium M340 y Atrium M580 S S

Quantum

Momentum Unity

%S1 Reinicio WARMSTART en caliente

Normalmente en 0, puede definir este bit a 1 mediante: el restablecimiento de la alimentacin con datos guardados el programa de usuario, el terminal. El sistema lo restablece a 0 al final del primer ciclo completo y antes de actualizar las salidas. Este bit no est disponible en PLC de seguridad Quantum. %S1 no se define siempre durante la primera exploracin del PLC. Si es necesario establecer una seal para cada inicio del PLC, se deber utilizar %S21 en su lugar.

S S (excepto para PLC de seguridad)

%S4 TB10MS

Base de tiempo 10 ms

Un temporizador interno regula el cambio de estado de este bit. Es asncrono en relacin con el ciclo del PLC. Grfico:

S S (excepto para PLC de seguridad)

Este bit no est disponible en PLC de seguridad Quantum. %S5 TB100MS Base de tiempo 100 ms Igual que %S4 S S S S (excepto para PLC de seguridad) S S (excepto para PLC de seguridad)

%S6 TB1SEC

Base de Igual que %S4 tiempo 1 s

35006147 10/2013

169

Objetos de sistema

Bit Smbolo %S7 TB1MIN

Funcin

Descripcin

Estado inicial -

Modicon Premium M340 y Atrium M580 S S

Quantum

Momentum Unity

Base de tiempo 1 min

Igual que %S4

S S (excepto para PLC de seguridad)

170

35006147 10/2013

Objetos de sistema

Descripcin de los bits de sistema %S9 a %S13


Descripcin detallada Descripcin de los bits de sistema %S9 a %S13:
Bit Smbolo %S9 OUTDIS Funcin Descripcin Estado inicial 0 Modicon Premium Quantum Momentum M340 y Atrium Unity M580 S (1) S NO NO

Sita en posicin de retorno las salidas de todos los buses.

Normalmente est en estado 0, y el programa o el terminal establecen este bit en 1: Establecer en 1: establece el bit a 0 o mantiene el valor actual segn la configuracin elegida (bus X, Fipio, AS-i, etc.). Establecer en 0: las salidas se actualizan normalmente. Nota: El bit de sistema acta directamente en las salidas fsicas y no en los bits de imagen de las salidas. Nota: En Modicon M340, el explorador de E/S Ethernet y los datos globales se ven afectados por el bit %S9. (1) Nota: En Modicon M340, las entradas/salidas distribuidas mediante el bus CANopen no se ven afectadas por el bit %S9. En Modicon M340, despus de una modalidad de funcionamiento, las salidas estn en el estado del modo de seguridad igual a 0 mientras se establece el bit.

%S10 IOERR

Error detectado en las E/S globales

Normalmente en estado 1, este bit se establece en 0 cuando se detecta un error en un mdulo de bastidor o en un dispositivo en una red (por ejemplo: configuracin no correcta, fallo de intercambio, fallo de hardware, etc.). El sistema vuelve a establecer el bit %S10 en 1 cuando desaparecen todos los errores detectados.

YES

35006147 10/2013

171

Objetos de sistema

Los errores de la red de comunicacin detectados con dispositivos remotos no se comunican en los bits %S10, %S16 y %S119.

ATENCIN
COMPORTAMIENTO INESPERADO DE LA APLICACIN - COMPORTAMIENTO ESPECFICO DE LA VARIABLE Administracin de errores de la red de comunicacin con dispositivos remotos con un mtodo especfico para cada tipo de mdulos de comunicacin (NOM, NOE, NWM, CRA, CRP) o mdulos de movimiento (MMS): estado de los bloques de funciones de comunicacin (si se utilizan) estado de los mdulos de comunicacin (si existen) El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo.

Bit Smbolo %S11 WDG

Funcin

Descripcin

Estado Modicon inicial M340 y M580 0 S

Premium Quantum Momentum Atrium Unity S S S

Desborde de watchdog

Normalmente est en estado 0, y el sistema establece este bit en 1 tan pronto como el tiempo de ejecucin de la tarea sobrepasa el tiempo de ejecucin mximo (es decir, el watchdog) establecido en las propiedades de tarea. El sistema establece este bit en 1 cuando el PLC est en modalidad RUN. El sistema lo establece en 0 tan pronto como el PLC no est en modalidad RUN (STOP, INIT, etc.).

%S12 PLCRUNNING

PLC en modalidad RUN

172

35006147 10/2013

Objetos de sistema

Bit Smbolo

Funcin

Descripcin

Estado Modicon inicial M340 y M580 S

Premium Quantum Momentum Atrium Unity S S S

%S13 Primer ciclo 1RSTSCANRUN despus de la puesta en RUN

La conmutacin del PLC de la modalidad STOP a RUN (incluso despus de un arranque en fro con arranque automtico en ejecucin) se indica al establecer el bit de sistema %S13 en 1. Este bit vuelve a ponerse a 0 al final del primer ciclo de la tarea MAST en la modalidad de ejecucin.

35006147 10/2013

173

Objetos de sistema

Descripcin de los bits de sistema de %S15 a %S21


Descripcin detallada Descripcin de los bits de sistema de %S15 a %S21:
Bit Smbolo %S15 STRINGERROR Funcin Descripcin Estado inicial 0 Modicon Premium Quantum Momentum M340 y Atrium Unity M580 S S S S (excepto para PLC de seguridad )

Fallo de lectura de cadena

Normalmente en estado 0, este bit pasa al estado 1 cuando el rea de destino de una transferencia de cadena de caracteres no tiene el tamao suficiente (incluido el nmero de caracteres y el carcter de fin de cadena de caracteres) para recibirla. La aplicacin se detiene debido a un error si el bit %S78 se ha puesto a 1. La aplicacin debe resetear el bit a 0. Este bit no est disponible en PLC de seguridad Quantum. Normalmente en estado 1, el sistema vuelve a establecerlo en 0 cuando se detecta un fallo en un mdulo en bastidor o en un dispositivo en Fipio (por ejemplo, una configuracin incompatible o fallos de intercambio o de hardware, etc.). El usuario debe resetear el bit en 1.

%S16 IOERRTSK

Fallo de salidas/ entradas de tarea

174

35006147 10/2013

Objetos de sistema

ATENCIN
COMPORTAMIENTO INESPERADO DE LA APLICACIN - COMPORTAMIENTO ESPECFICO DE LA VARIABLE En Quantum, los errores de comunicacin de la red con dispositivos remotos detectados por los mdulos de comunicacin (NOM, NOE, NWM, CRA, CRP) y los mdulos de movimiento (MMS) no se notifican en los bits %S10, %S16 ni %S119. El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo.

Bit Smbolo %S17 CARRY

Funcin

Descripcin

Estado Modicon inicial M340 y M580 0 S

Premium Atrium S

Quantum

Momentum Unity S

Normalmente est Salida de desplazamiento en estado 0. Durante una circular operacin de desplazamiento circular, este bit adopta el estado del bit saliente.

35006147 10/2013

175

Objetos de sistema

Bit Smbolo %S18 OVERFLOW

Funcin

Descripcin

Estado Modicon inicial M340 y M580 0 S

Premium Atrium S

Quantum

Momentum Unity S

Desborde o error aritmtico

Normalmente en estado 0, este bit pasa a 1 en caso de desborde de la capacidad si: El resultado es superior a +32.767 o inferior a -32.768, en longitud simple. El resultado es superior a +65.535, en un nmero entero sin signo. El resultado es superior a + 2.147.483.647 o inferior a 2.147.483.648, en longitud doble. El resultado es superior a +4.294.967.296, en longitud doble o nmero entero sin signo. los valores reales sobrepasan los lmites; hay una divisin entre 0; hay una raz de un nmero negativo; se fuerza un paso inexistente en un programador cclico; hay un apilamiento de un registro completo, vaciado de un registro vaco.

176

35006147 10/2013

Objetos de sistema

Bit Smbolo Continuacin %S18 OVERFLOW

Funcin

Descripcin

Estado Modicon inicial M340 y M580 0 S

Premium Atrium S

Quantum

Momentum Unity S

Desborde o error aritmtico

Slo hay un caso en el que los PLC Modicon M340, Modicon M580 y Momentum no aumentan el bit %S18: cuando los valores reales estn fuera de los lmites. Esto slo sucede si se utilizan operandos no normalizados o algunas operaciones que generan resultados no normalizados (transgresin por debajo de rango gradual). Debe comprobarse mediante el programa del usuario despus de cada operacin en la que exista riesgo de desborde; si se produce, el usuario debe resetear a 0. Cuando el bit %S18 pasa a 1, la aplicacin se detiene debido a un error si el bit %S78 se ha establecido en 1.

35006147 10/2013

177

Objetos de sistema

Bit Smbolo %S19 OVERRUN

Funcin

Descripcin

Estado Modicon inicial M340 y M580 0 S

Premium Atrium S

Quantum

Momentum Unity S

Desborde del perodo de tarea (exploracin peridica)

Normalmente en estado 0, el sistema pone este bit en estado 1 en caso de desborde del perodo de ejecucin (tiempo de ejecucin de tarea superior al perodo definido por el usuario en la configuracin o programado en la palabra %SW asociada a la tarea). El usuario debe resetear el bit en 0. Cada tarea gestiona su propio bit %S19.

178

35006147 10/2013

Objetos de sistema

Bit Smbolo %S20 INDEXOVF

Funcin

Descripcin

Estado Modicon inicial M340 y M580 0 S

Premium Atrium S

Quantum

Momentum Unity

Desborde del ndice

Normalmente en estado 0, este bit pasa a estado 1 cuando la direccin del objeto de ndice sea menor que 0 o supere el nmero de objetos declarados en la configuracin. En este caso, ocurre lo mismo que si el ndice fuera igual a 0. Debe comprobarse mediante el programa del usuario despus de cada operacin en la que exista riesgo de desborde; si esto sucede, se debe resetear a 0. Cuando el bit %S20 pasa a 1, la aplicacin se detiene debido a un error si el bit %S78 se ha establecido en 1. Este bit no est disponible en PLC de seguridad Quantum.

S S (excepto para PLC de seguridad)

35006147 10/2013

179

Objetos de sistema

Bit Smbolo

Funcin

Descripcin

Estado Modicon inicial M340 y M580 0 S

Premium Atrium S

Quantum

Momentum Unity S

%S21 Primer ciclo de 1RSTTASKRUN tarea

El bit %S21, que se comprueba en una tarea (Mast, Fast, Aux0, Aux1, Aux2 o Aux3), indica el primer ciclo de dicha tarea, incluso despus de un inicio en fro con inicio automtico de la ejecucin y un inicio en caliente. %S21 se pone a 1 al comienzo del ciclo y se resetea a 0 al final del ciclo. Nota: El bit %S21 no tiene el mismo significado en PL7 y en Unity Pro.

180

35006147 10/2013

Objetos de sistema

Descripcin de los bits de sistema de %S30 a %S59


Descripcin detallada Descripcin de los bits de sistema de %S30 a %S59:
Bit Smbolo %S30 MASTACT Funcin Descripcin Estado Modicon Premium inicial M340 y Atrium M580 1 YES S Quantum Momentum Unity S

Activacin/desa ctivacin de la tarea maestra

Normalmente puesta a 1. La tarea maestra se desactiva cuando el usuario pone el bit a 0. El sistema considera este bit al final de cada ciclo de tarea MAST. Este bit no est disponible en PLC de seguridad Quantum. Normalmente se define en 1 cuando el usuario crea la tarea. La tarea se desactiva cuando el usuario define el bit en 0. Este bit no est disponible en PLC de seguridad Quantum. Normalmente se define en 1 cuando el usuario crea la tarea. La tarea auxiliar se desactiva cuando el usuario define el bit en 0. Este bit no est disponible en PLC de seguridad Quantum. Normalmente se define en 1 cuando el usuario crea la tarea. La tarea auxiliar se desactiva cuando el usuario define el bit en 0. Este bit no est disponible en PLC de seguridad Quantum.

S (excepto para PLC de seguridad)

%S31 FASTACT

Activacin/desa ctivacin de la tarea rpida

YES

S (excepto para PLC de seguridad)

NO

%S32 AUX0ACT

Activacin/desa ctivacin de la tarea auxiliar 0

NO-340 S 580

S (excepto para PLC de seguridad)

NO

%S33 AUX1ACT

Activacin/desa ctivacin de la tarea auxiliar 1

NO-340 S 580

S (excepto para PLC de seguridad)

NO

35006147 10/2013

181

Objetos de sistema

Bit Smbolo %S34 AUX2ACT

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 0 NO S

Quantum

Momentum Unity NO

Activacin/desa ctivacin de la tarea auxiliar 2

Normalmente se define en 1 cuando el usuario crea la tarea. La tarea auxiliar se desactiva cuando el usuario define el bit en 0. Este bit no est disponible en PLC de seguridad Quantum. Normalmente se define en 1 cuando el usuario crea la tarea. La tarea auxiliar se desactiva cuando el usuario define el bit en 0. Este bit no est disponible en PLC de seguridad Quantum. Normalmente puesta a 1. Los eventos se inhiben cuando el usuario pone el bit a 0. Este bit no est disponible en PLC de seguridad Quantum. El sistema define este bit en 1 para indicar que no se pueden procesar uno o ms eventos tras la saturacin del las filas. El usuario debe restablecer este bit en 0. Este bit no est disponible en PLC de seguridad Quantum.

S (excepto para PLC de seguridad)

%S35 AUX3ACT

Activacin/desa ctivacin de la tarea auxiliar 3

NO

S (excepto para PLC de seguridad)

NO

%S38 ACTIVEVT

Habilitacin/inhi bicin de eventos

YES

S (excepto para PLC de seguridad)

NO

%S39 EVTOVR

Saturacin durante el procesamiento de eventos

S (excepto para PLC de seguridad)

NO

182

35006147 10/2013

Objetos de sistema

Bit Smbolo %S40 RACK0ERR

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 1 YES S

Quantum

Momentum Unity NO

Fallo de entrada/salida del bastidor 0

El bit %S40 se asigna al bastidor 0. Normalmente en 1, el sistema define este bit en 0 cuando aparece un fallo en la entrada/salida del bastidor. En este caso: El bit %S10 se define en 0. El indicador de E/S se enciende. El bit del mdulo %Ir.m.c.Err se define en 1. Este bit se restablece en 1 cuando desaparece el fallo.

NO

%S41 RACK1ERR %S42 RACK2ERR %S43 RACK3ERR %S44 RACK4ERR %S45 RACK5ERR %S46 RACK6ERR %S47 RACK7ERR

Fallo de entrada/salida del bastidor 1 Fallo de entrada/salida del bastidor 2 Fallo de entrada/salida del bastidor 3 Fallo de entrada/salida del bastidor 4 Fallo de entrada/salida del bastidor 5 Fallo de entrada/salida del bastidor 6 Fallo de entrada/salida del bastidor 7

Igual que %S40 para el bastidor 1. Igual que %S40 para el bastidor 2. Igual que %S40 para el bastidor 3. Igual que %S40 para el bastidor 4. Igual que %S40 para el bastidor 5. Igual que %S40 para el bastidor 6. Igual que %S40 para el bastidor 7.

YES

NO

NO

YES

NO

NO

YES

NO

NO

YES

NO

NO

YES

NO

NO

YES

NO

NO

YES

NO

NO

35006147 10/2013

183

Objetos de sistema

Bit Smbolo %S50 RTCWRITE

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 0 S S

Quantum

Momentum Unity S

Actualizacin de hora y fecha mediante palabras de %SW50 a %SW53

Normalmente definida en 0, el programa o el terminal definen este bit en 1. Establecer en 0: actualizacin de las palabras de sistema de %SW50 a %SW53 segn la fecha y hora especificadas en el reloj de tiempo real del PLC. Establecer en 1: las palabras del sistema %SW50 a %SW53 ya no se actualizan, por lo que se pueden modificar. El cambio de 1 a 0 permite actualizar el reloj de tiempo real con los valores introducidos en palabras de %SW50 a %SW53. Este bit gestionado por el sistema definido en 1 indica que falta el reloj de tiempo real o que las palabras de sistema (de %SW50 a %SW53) no tienen significado. En este caso debe poner el reloj en la hora correcta.

%S51 RTCERR

Prdida de tiempo en el reloj de tiempo real

184

35006147 10/2013

Objetos de sistema

Bit Smbolo

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 0 S S

Quantum

Momentum Unity S

%S59 Actualizacin RTCTUNING incremental de hora y fecha mediante la palabra %SW59

Normalmente en estado 0, el programa o el terminal pueden definir este bit en 1 o 0. Establecer en 0: el sistema no gestiona la palabra %SW59. Establecer en 1: el sistema gestiona los bordes de la palabra %SW59 para ajustar la fecha y hora actual (por incrementos).

35006147 10/2013

185

Objetos de sistema

Descripcin de los bits de sistema de %S65 a %S79


Descripcin detallada Descripcin de los bits de sistema de %S65 a %S79:
Bit Smbolo %S65 CARDIS Funcin Descripcin Estado inicial 0 Modicon Premium Quantum Momentum M340 y Atrium Unity M580 S NO NO NO

Deshabilitar la tarjeta de memoria

Este bit se utiliza para garantizar la coherencia de la informacin cuando se extrae una tarjeta de memoria de la CPU. Para ello, es necesario generar un flanco ascendente en el bit %S65 antes de extraer la tarjeta de memoria. Si se detecta un flanco ascendente, el LED de acceso a la tarjeta se apaga cuando finalizan los accesos actuales (lectura y escritura de archivos, almacenamiento de la aplicacin). El LED CARDERR no cambia. Cuando el LED CARDERR se enciende o permanece encendido, se puede extraer la tarjeta de memoria. Cuando se inserta una tarjeta de memoria: El LED de acceso se enciende El LED CARDERR muestra el estado de la tarjeta de memoria %S65 no sufre cambios %S65 debe restablecerse en 0 para que se pueda detectar el flanco ascendente.

186

35006147 10/2013

Objetos de sistema

Bit Smbolo Continuacin %S65 CARDIS

Funcin Descripcin

Estado inicial 0

Modicon Premium Quantum Momentum M340 y Atrium Unity M580 S NO NO NO

Deshabilitar la tarjeta de memoria

NOTA: Si se genera un flanco ascendente en el bit y no se extrae la tarjeta de memoria, el restablecimiento del bit en 0 no hace que se pueda acceder a la tarjeta de memoria. Para poder volver a acceder a la tarjeta de memoria: Extraiga y vuelva a insertar la tarjeta de memoria Reinicialice el PLC (mediante el botn de reseteo de la fuente de alimentacin)

35006147 10/2013

187

Objetos de sistema

Bit Smbolo %S66 LEDBATT APPLIBCK

Funcin Descripcin

Estado inicial 0

Modicon Premium Quantum Momentum M340 y Atrium Unity M580 S NO NO S

Copia de seguridad de la aplicacin

El usuario pone este bit a 1 para iniciar una operacin de copia de seguridad (transferencia de la aplicacin de la memoria RAM a la tarjeta). El sistema detectar el flanco ascendente para iniciar la operacin de copia de seguridad. El sistema lee el estado de este bit cada segundo. La operacin de copia de seguridad slo se produce si la aplicacin en la memoria RAM es distinta de la que hay en la tarjeta. Una vez finalizada la operacin de copia de seguridad, el sistema pone este bit a 0. Advertencia: Antes de realizar una nueva operacin de copia de seguridad poniendo el bit %S66 a 1, debe probar que el sistema ha puesto el bit %S66 a 0 (lo que significa que la operacin de copia de seguridad anterior ha terminado). Nunca utilice %S66 si est puesto a 1. Esto puede provocar una prdida de datos. El bit %S66 resulta especialmente til cuando se han sustituido el valor inicial %S94 y los parmetros guardados.

188

35006147 10/2013

Objetos de sistema

Bit Smbolo %S67 PCMCIABAT0

Funcin Descripcin

Estado inicial -

Modicon Premium Quantum Momentum M340 y Atrium Unity M580 NO S S NO

Estado de la batera de la tarjeta de memoria de la aplicacin

Este bit permite monitorizar el estado de la batera principal cuando la tarjeta de memoria se encuentra en el slot PCMCIA superior. Esto afecta a los PLC Atrium, Premium y Quantum (CPU 140 CPU 671 60/60 S, 140 CPU 672 61, 140 CPU 672 60, 140 CPU 651 60/60S, 140 CPU 652 60 y 140 CPU 651 50): Establecido en 1: la batera principal de tensin es baja. Se mantiene la aplicacin, aunque es necesario sustituir la batera segn el procedimiento de mantenimiento predictivo (vase Premium y Atrium en Unity Pro, Procesadores, bastidores y mdulos de alimentacin, Manual de instalacin). Establecido en 0: la batera principal de tensin es suficiente (siempre se mantiene la aplicacin).

35006147 10/2013

189

Objetos de sistema

Bit Smbolo %S67 PCMCIABAT0

Funcin Descripcin

Estado inicial -

Modicon Premium Quantum Momentum M340 y Atrium Unity M580 NO S S NO

Estado de la batera de la tarjeta de memoria de la aplicacin

Bit %S67 compatible

con Unity versin 2.02.

NOTA: Con PCMCIA "azules" (PV>=04), el bit %S67 no se establece en 1 cuando la batera principal est ausente, mientras que con PCMCIA "verdes" (PV<04), el bit %S67 se establece en 1 en la misma condicin. Este bit permite controlar el estado de funcionamiento de la batera de copia de seguridad del almacenamiento de datos y del programa en la memoria RAM: Establecido en 0: batera presente y en funcionamiento. Establecido en 1: batera ausente o fuera de servicio. S-340 NO-580 S S NO

%S68 PLCBAT

Estado de la batera del procesador

190

35006147 10/2013

Objetos de sistema

Bit Smbolo %S75 PCMCIABAT1

Funcin Descripcin

Estado inicial -

Modicon Premium Quantum Momentum M340 y Atrium Unity M580 NO S S NO

Estado de la batera de la tarjeta de memoria de almacena miento de datos

Este bit es compatible con la versin 2.02 o posterior de Unity Pro. Permite monitorizar el estado de la batera principal cuando la tarjeta de memoria se encuentra en el slot PCMCIA inferior. Los procesadores Premium siguientes admiten %S75: TSX P57 4, TSX P57 5 y TSX P57 6. NOTA: Para todos los dems procesadores Premium, %S75 slo muestra un nivel de batera bajo cuando la batera ya se encuentra en un nivel crtico. Los procesadores Quantum siguientes admiten %S75: 140 CPU 672 61*, 140 CPU 672 60*, 140 CPU 671 60/60S*, 140 CPU 651 60/60S*, 140 CPU 652 60 y 140 CPU 651 50. * Los datos almacenados en una tarjeta de memoria en el slot B no se procesan en proyectos de seguridad.

35006147 10/2013

191

Objetos de sistema

Bit Smbolo Continuacin %S75 PCMCIABAT1

Funcin Descripcin

Estado inicial -

Modicon Premium Quantum Momentum M340 y Atrium Unity M580 NO S S NO

%S75: Estado de la ba- se establece en 1 tera de cuando la tensin de la la tarjebatera principal es ta de baja. Se mantiene la memoaplicacin, aunque es ria de alnecesario sustituir la macena batera segn el miento procedimiento de de datos mantenimiento predictivo (vase Premium y Atrium en Unity Pro, Procesadores, bastidores y mdulos de alimentacin, Manual de instalacin). Se establece en 0 cuando la tensin de la batera principal es suficiente (siempre se mantiene la aplicacin). Bfer de diagnstico configurado El sistema pone a 1 este bit cuando est configurada la opcin de diagnstico. Se reserva entonces un bfer de diagnstico destinado al almacenamiento de los errores procedentes de los DFB de diagnstico. Este bit es de slo lectura.

%S76 DIAGBUFFCONF

%S77 DIAGBUFFFFULL

Bfer de El sistema establece este diagns- bit en 1 cuando el bfer tico lleno que recibe los errores de los bloques de funciones de diagnstico est lleno. Este bit es de slo lectura.

192

35006147 10/2013

Objetos de sistema

Bit Smbolo %S78 HALTIFERROR

Funcin Descripcin

Estado inicial 0

Modicon Premium Quantum Momentum M340 y Atrium Unity M580 S S S S

Parada en caso de error

Normalmente en 0. El usuario puede poner a 1 este bit para programar la parada del PLC por un fallo de la aplicacin: %S15, %S18, %20. En PLC de seguridad Quantum, el estado de parada se sustituye por el estado de error cuando se encuentra en la modalidad segura. Tenga en cuenta tambin que %S15 y %20 no estn disponibles. Este bit cambia el 0 comportamiento del servidor Modbus de Quantum en lo que se refiere a bits forzados: A 0 (valor predeterminado), gestin estndar: el valor de bit cambia incluso si se fuerza el bit. Si el usuario lo pone en 1: la peticin de escritura de bits en bits forzados no cambia su valor. Si no se produce ningn error en la respuesta de la peticin. Al igual que otros accesos, el bit del historial est siempre actualizado, sea cual sea el estado de forzado.

%S79 MBFBCTRL

Control de bit forzado de Modbus

S-340 NO-580

NO

NO

35006147 10/2013

193

Objetos de sistema

Descripcin de los bits de sistema %S80 a %S97


Descripcin detallada Descripcin de los bits de sistema de %S80 a %S96:
Bit Smbolo %S80 RSTMSGCNT Funcin Descripcin Estado Modicon Premium inicial M340 y Atrium M580 0 S S Quantum Momentum Unity S

Puesta a cero de los contadores de mensajes

Este bit normalmente se establece en 0; se puede establecer en 1 para restablecer los contadores de mensajes, de %SW80 a %SW86.

%S82

Este bit se utiliza para Ajuste de cambiar la modalidad de lectura MB+PCMCIA intercambio de peticin de Mb+MBP100 PCMCIA. De manera predeterminada (valor 0), el sistema enva una peticin a la tarjeta y leer una respuesta en el siguiente ciclo MAST. Esta modalidad est recomendada para una duracin corta de MAST. Cuando se establece en 1, el sistema enva una peticin a la tarjeta y espera una respuesta. Esta modalidad est recomendada para una duracin larga de MAST. Actualizacin de las palabras comunes Normalmente en estado 0. Pasa a 1 cuando se reciben las palabras comunes procedentes de otra estacin de la red. Este bit puede ponerse a 0 mediante el programa o el terminal para comprobar el ciclo de intercambio de palabras comunes.

NO

NO

NO

%S90 COMRFSH

NO

NO

NO

194

35006147 10/2013

Objetos de sistema

Bit Smbolo %S91 LCKASYNREQ

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 0 NO S

Quantum

Momentum Unity NO

Bloqueo de solicitud asncrona

Si este bit se pone a 1, las solicitudes de comunicacin asncrona tratadas en la tarea de supervisin se ejecutan ntegramente sin interrumpir las tareas restantes, como las tareas MAST o FAST. De esta forma se garantiza una lectura o una escritura coherente de los datos. Recapitulacin: el servidor de peticin de la tarea de supervisin se direcciona por la puerta 7 (X-Way). Normalmente en estado 0. El usuario puede poner a 1 este bit para situar las funciones de comunicacin en la modalidad de medida de rendimiento. El parmetro de timeout (vase Unity Pro, Comunicacin, Biblioteca de bloques) de las funciones de comunicacin (en la tabla de gestin) muestra el tiempo de intercambio de ida y vuelta en milisegundos. Nota: Las funciones de comunicacin se ejecutan con una base de tiempo de 100 ms.

NO

%S92 EXCHGTIME

Modalidad de medida de la funcin de comunicacin

NO

NO

35006147 10/2013

195

Objetos de sistema

Bit Smbolo %S94 SAVECURRVAL

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 0 S S

Quantum

Momentum Unity S

Almacenami ento de los valores de ajustes

Normalmente en 0. El usuario puede poner en 1 este bit para reemplazar los valores iniciales de las variables declaradas con un atributo "Save" (por ejemplo: variables de DFB) por los valores actuales. Para Modicon M340, en un flanco ascendente %S94 el contenido de la RAM interna y de la tarjeta de memoria es diferente (%S96 = 0 y el LED CARDERR est encendido). Al iniciar en fro, los valores actuales se reemplazan por los valores iniciales ms recientes, slo si se ha realizado una funcin de almacenamiento en la tarjeta de memoria (Guardar backup o flanco ascendente %S66). El sistema vuelve a poner a 0 el bit %S94 cuando finaliza la sustitucin. Nota: Este bit se debe utilizar con precaucin: no ponga este bit a 1 de forma continua y utilice slo la tarea maestra. Este bit no est disponible en PLC de seguridad Quantum. Cuando se utiliza con una memoria Flash PCMCIA TSX MFP o TSX MCP, el almacenamiento de los valores de ajustes no est disponible.

S (excepto para PLC de seguridad)

196

35006147 10/2013

Objetos de sistema

Bit Smbolo %S96 BACKUPPROGOK

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 S NO

Quantum

Momentum Unity NO

Programa de El sistema ajusta este bit a 0 a 1. copia de seguridad Lo establece en 0 correcto cuando falta la tarjeta o est inservible (formato incorrecto, tipo no reconocido, etc.), o el contenido de la tarjeta no es coherente con la memoria RAM interna de aplicaciones. Lo establece en 1 cuando la tarjeta est correcta y la aplicacin es coherente con la memoria RAM interna de aplicaciones de la CPU. NOTA: Si se restablece %S92 a la modalidad inicial, la aplicacin de usuario debe reinicializar el valor del parmetro de timeout.

NO

35006147 10/2013

197

Objetos de sistema

Bit Smbolo %S97

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 NO-340 S-580 NO

Quantum

Momentum Unity S

Programa de copia de seguridad correcto

Este bit compara como se ejecuta la aplicacin en RAM frente a la copia interna de seguridad guardada en Flash. Los valores son: 0: la copia de seguridad de la aplicacin no es coherente. El estado se obtiene cuando la aplicacin se ha modificado automticamente (guardar parmetro o sustitucin del valor de la inicializacin) y no se guarda utilizando %S66. 1: la copia de seguridad de la aplicacin es coherente.

NO

ATENCIN
CARGA DE LA APLICACIN ERRNEA El bit %S94 no debe ponerse a 1 durante una carga. Si se selecciona el valor 1 en el bit %S94, puede que sea imposible realizar la carga. El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo.

ATENCIN
PRDIDA DE DATOS No se debe usar el bit %S94 con la memoria Flash PCMCIA TSX MFP ni TSX MCP. La funcin de este bit de sistema no est disponible con este tipo de memoria. El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo.

198

35006147 10/2013

Objetos de sistema

Descripcin de los bits de sistema de %S100 a %S122


Descripcin detallada Descripcin de los bits de sistema de %S100 a %S122:
Bit SMBOLO %S100 PROTTERINL Funcin Descripcin Estado Modicon inicial M340 y M580 NO Premium Quantum Momentum Atrium Unity S NO NO

Protocolo en el puerto del terminal

El sistema establece este bit en 0 o en 1 segn el estado del derivador INL/DPT en la consola. Si falta el derivador (%S100=0), se utiliza el protocolo UniTelway maestro. Si el derivador est presente (%S100=1), se utiliza el protocolo indicado por la configuracin de la aplicacin. Cuando se establece = 1, este bit permite a la tarea MAST sincronizarse con el ciclo IB-S. La tarea MAST espera hasta que finaliza el ciclo de datos para cada exploracin. Valores: 0 = no sincronizado 1 = sincronizado 0

%S110

Sincronizar bus de E/S

NO

NO

NO

35006147 10/2013

199

Objetos de sistema

Bit SMBOLO %S111

Funcin

Descripcin

Estado Modicon inicial M340 y M580 0 NO

Premium Quantum Momentum Atrium Unity NO NO S

Nuevos valores de bus de E/S

Este bit indica cundo se han enviado o recibido nuevos valores en el bus de E/S y cundo la tarea MAST no est sincronizada (%S110=0). Se establece en: 0 por el sistema al principio del ciclo MAST cuando la imagen de memoria contiene los mismos valores que el ciclo anterior. 1 por el sistema al principio del ciclo MAST cuando la imagen de memoria contiene nuevos valores. Normalmente establecido en 1, el sistema establece este bit en 0 cuando se produce un error detectado en un dispositivo en el Ethernet RIO. El sistema vuelve a establecer el bit en 1 cuando desaparecen todos los errores detectados. NOTA: Este bit se establece en 1 durante el primer ciclo tras un arranque en fro.

%S117 ERIOERR

error RIO en la red Ethernet de E/S

NO-340 S-580

NO

NO

200

35006147 10/2013

Objetos de sistema

Bit SMBOLO %S118 REMIOERR

Funcin

Descripcin

Estado Modicon inicial M340 y M580 S-340 NO-580

Premium Quantum Momentum Atrium Unity S S S

Fallo general Normalmente se establece en 1; el sistema de E/S establece este bit en 0 remota cuando se detecta un fallo en un dispositivo conectado al bus de entrada/salida remota RIO (Fipio para Premium o estacin S908 para Quantum). Cuando desaparece el fallo detectado, el sistema restablece el bit en 1. Este bit no se actualiza si se detecta un error en los otros buses (DIO, ProfiBus, ASI). Fallo general Normalmente se establece en 1. El sistema de E/S en establece en 0 este bit bastidor cuando aparece un fallo detectado en un mdulo de E/S instalado en alguno de los bastidores. Cuando desaparece el fallo detectado, el sistema restablece el bit en 1.

%S119 LOCIOERR

ATENCIN
%S119 para PLC Quantum En Quantum, los errores de comunicacin de la red con dispositivos remotos detectados por los mdulos de comunicacin (NOM, NOE, NWM, CRA, CRP) y los mdulos de movimiento (MMS) no se notifican en los bits %S10, %S16 ni %S119. El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo.

35006147 10/2013

201

Objetos de sistema

Bit Smbolo %S120 DIOERRPLC

Funcin

Descripcin

Estad Modicon o M340 y inicial M580 NO

Premium Atrium NO

Quantum

Momentum Unity NO

Fallo de bus Normalmente se DIO (CPU) establece en 1. El sistema establece en 0 este bit cuando aparece un fallo detectado en un dispositivo al bus DIO gestionado por la conexin Modbus Plus integrada en la CPU. Este bit no est disponible en PLC de seguridad Quantum. En el visualizador de diagnsticos se incluye informacin (si se selecciona la entrada) que explica el tipo de error detectado en el bus. Esta informacin puede identificar el bus remoto correcto con el nmero de bus (RIO, DIO). Normalmente se Fallo del establece en 1. El sistema bus DIO (NOE n. 1) establece en 0 este bit cuando aparece un fallo detectado en un dispositivo conectado al bus DIO gestionado por el primer mdulo 140 NOE 2. Este bit no est disponible en PLC de seguridad Quantum. En el visualizador de diagnsticos se incluye informacin (si se selecciona la entrada) que explica el tipo de error detectado en el bus. Esta informacin puede identificar el bus remoto correcto con el nmero de bus (RIO, DIO).

S (excepto para PLC de seguridad)

%S121 DIOERRNOM1

NO

NO

S (excepto para PLC de seguridad)

NO

202

35006147 10/2013

Objetos de sistema

Bit Smbolo %S122 DIOERRNOM2

Funcin

Descripcin

Estad Modicon o M340 y inicial M580 NO

Premium Atrium NO

Quantum

Momentum Unity NO

Normalmente se Fallo del establece en 1. El sistema bus DIO (NOE n. 2) establece en 0 este bit cuando aparece un fallo detectado en un dispositivo conectado al bus DIO gestionado por el segundo mdulo 140 NOE 2. Este bit no est disponible en PLC de seguridad Quantum. En el visualizador de diagnsticos se incluye informacin (si se selecciona la entrada) que explica el tipo de error detectado en el bus. Esta informacin puede identificar el bus remoto correcto con el nmero de bus (RIO, DIO).

S (excepto para PLC de seguridad)

35006147 10/2013

203

Objetos de sistema

Seccin 6.2
Palabras de sistema

Palabras de sistema
Objeto de esta seccin En este apartado se describen las palabras del sistema Modicon M340, Atrium, Premium, Quantum y Momentum.

ADVERTENCIA
COMPORTAMIENTO INESPERADO DE LA APLICACIN No utilice objetos del sistema (%S, %SWi) como variables cuando no estn documentados. El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o dao al equipo. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Descripcin de las palabras de sistema %SW0 a %SW11 Descripcin de las palabras de sistema %SW12 a %SW29 Descripcin de las palabras de sistema de %SW30 a %SW47 Descripcin de las palabras de sistema de %SW48 a %SW66 Descripcin de las palabras de sistema de %SW70 a %SW99 Descripcin de las palabras de sistema de %SW108 a %SW116 Descripcin de las palabras de sistema de %SW124 a %SW127 Pgina 205 211 220 223 231 250 252

204

35006147 10/2013

Objetos de sistema

Descripcin de las palabras de sistema %SW0 a %SW11


Descripcin detallada Descripcin de las palabras de sistema %SW0 a %SW11.
Palabra Smbolo %SW0 MASTPERIOD Funcin Descripcin Estado inicial 0 Modicon M340 y M580 S Premium Atrium S Quantum Momentum Unity S (excepto para PLC de seguridad) S

Periodo de exploracin de la tarea maestra

Esta palabra se utiliza para modificar el periodo de la tarea maestra mediante el programa del usuario o el terminal. El periodo se expresa en ms (1 - 255 ms) %SW0=0 en funcionamiento cclico. En un reinicio en fro: toma el valor definido por la configuracin. Esta palabra no est disponible en PLC de seguridad Quantum. Esta palabra se utiliza para modificar el perodo de la tarea rpida mediante el programa del usuario o el terminal. El periodo se expresa en milisegundos (1...255 ms). En un reinicio en fro, toma el valor definido por la configuracin. Esta palabra no est disponible en PLC de seguridad Quantum.

%SW1 FASTPERIOD

Perodo de exploracin de la tarea rpida (FAST)

S (excepto para PLC de seguridad)

NO

35006147 10/2013

205

Objetos de sistema

Palabra Smbolo %SW2 AUX0PERIOD %SW3 AUX1PERIOD

Funcin

Descripcin

Estado inicial 0

Modicon M340 y M580 NO-340 S 580

Premium Atrium S (1)

Quantum Momentum Unity S (1) (excepto para PLC de seguridad) NO

Periodo de la exploracin de la tarea auxiliar.

Estas palabras se utilizan para modificar el perodo de las tareas definidas en la configuracin, mediante el programa del usuario o el terminal. El perodo se expresa en dcimas de ms (de 10 ms a 2,55 s). (1) solo en PLC 140 CPU 6 y TSX 57 5. Estas palabras no estn disponibles en PLC de seguridad Quantum. Estas palabras se utilizan para modificar el perodo de las tareas definidas en la configuracin, mediante el programa del usuario o el terminal. El perodo se expresa en dcimas de ms (de 10 ms a 2,55 s). (1) solo en PLC 140 CPU 6 y TSX 57 5. Estas palabras no estn disponibles en PLC de seguridad Quantum. Proporciona la direccin IP del puerto Ethernet de la CPU. No se tiene en cuenta la modificacin. Es 0, si la CPU no dispone de una conexin Ethernet.

%SW4 AUX2PERIOD %SW5 AUX3PERIOD

Periodo de la exploracin de la tarea auxiliar.

NO

S (1)

S (1) (excepto para PLC de seguridad)

NO

%SW6 %SW7

Direccin IP

NO

NO

206

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW8 TSKINHIBIN

Funcin

Descripcin

Estado inicial 0

Modicon M340 y M580 S (1)

Premium Atrium S (3)

Quantum Momentum Unity S (2) (excepto para PLC de seguridad) NO

Adquisicin de monitorizacin de entrada de tarea

Normalmente en estado 0. El programa o el terminal pueden definir este bit en 1 0. Impide la fase de adquisicin de entrada de cada tarea: %SW8.0 = 1 impide la adquisicin de entradas relativas a la tarea MAST. %SW8.1 = 1 impide la adquisicin de entradas relativas a la tarea FAST. %SW8.2 a 5 = 1 impide la adquisicin de entradas relativas a las tareas AUX 0...3. (1) Nota: En Modicon M340, las entradas/salidas distribuidas mediante el bus CANopen no se ven afectadas por la palabra %SW8. (2) Nota: En Quantum, las entradas/salidas distribuidas mediante el bus DIO no se ven afectadas por la palabra %SW8. (3) Nota: En PREMIUM, las entradas/salidas distribuidas mediante ETY y ETY PORT no se ven afectadas por la palabra %SW8. El puerto Ethernet de una CPU de gama alta se ve afectado por la palabra %SW8. Esta palabra no est disponible en PLC de seguridad Quantum.

35006147 10/2013

207

Objetos de sistema

Palabra Smbolo %SW9 TSKINHIBOUT

Funcin

Descripcin

Estado inicial 0

Modicon M340 y M580 S (3)

Premium Atrium S

Quantum Momentum Unity S (4) (excepto para PLC de seguridad) NO

Monitorizac in de actualizaci n de salida de tarea

Normalmente en estado 0. El programa o el terminal pueden definir este bit en 1 0. Impide la fase de actualizacin de cada tarea. %SW9.0 = 1 asignada a la tarea MAST; las salidas relativas a esta tarea ya no se gestionan. %SW9.1 = 1 asignada a la tarea FAST; las salidas relativas a esta tarea ya no se gestionan. %SW9.2 a 5 = 1 asignada a las tareas AUX 0...3; las salidas relativas a estas tareas ya no se gestionan. (3) Nota: En Modicon M340, las entradas/salidas distribuidas mediante el bus CANopen no se ven afectadas por la palabra %SW9. En Modicon M340, despus de una modalidad de funcionamiento, las salidas estn en el estado de la modalidad de seguridad igual a 0 mientras se establece el bit. (4) Nota: En Quantum, las entradas/salidas distribuidas mediante el bus DIO no se ven afectadas por la palabra %SW9. Esta palabra no est disponible en PLC de seguridad Quantum.

208

35006147 10/2013

Objetos de sistema

ATENCIN
COMPORTAMIENTO INESPERADO DE LA APLICACIN Antes de seleccionar el valor 1 para %SW9, asegrese de que el comportamiento de salida seguir siendo correcto: En Premium/Atrium: Las salidas de los mdulos ubicadas en el bus X cambian automticamente a la modalidad configurada (retorno o mantenimiento). En el bus Fipio, algunos dispositivos no admiten la modalidad de retorno, solo admiten la modalidad de mantenimiento. En Quantum: Todas las salidas y el bastidor local o remoto (RIO) se mantienen en el estado anterior al cambio a 1 del bit %SW9 correspondiente a la tarea. Las entradas/salidas distribuidas (DIO) no se asignan por la palabra del sistema %SW9. El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo.

Palabra Smbolo %SW10 TSKINIT

Funcin

Descripcin

Estado inicial 0

Modicon Premium M340 y Atrium M580 S S

Quantum

Momentum Unity S

Primer ciclo tras el arranque en fro

Si el valor del bit de la tarea actual es 0, la tarea realiza su primer ciclo despus del arranque en fro. %SW10.0: asignada a la tarea MAST. %SW10.1: asignada a la tarea FAST. %SW10.2 a 5: asignadas a las tareas AUX de 0 a 3. Esta palabra no est disponible en PLC de seguridad Quantum.

S (excepto para PLC de seguridad)

35006147 10/2013

209

Objetos de sistema

Palabra Smbolo %SW11 WDGVALUE

Funcin

Descripcin

Estado inicial -

Modicon Premium M340 y Atrium M580 S S

Quantum

Momentum Unity S

Duracin del Lee la duracin del watchdog watchdog. La duracin se expresa en milisegundos (10...1.500 ms). Esta palabra no se puede modificar. NOTA: El intervalo de duracin de los PLC de seguridad Quantum es de 20 a 990 ms.

210

35006147 10/2013

Objetos de sistema

Descripcin de las palabras de sistema %SW12 a %SW29


Descripcin detallada Descripcin de las palabras de sistema %SW12 a %SW29:
Palabra Smbolo Funcionamiento Descripcin Estado inicial Modicon M340 y M580 S-340 NO-580 Premium Atrium S Quantum Momentum Unity S

Direccin %SW12 UTWPORTAD del puerto serie del DR procesador

Para Premium: direccin Uni-Telway del puerto de terminal (en modalidad de esclavo) definida en la configuracin y cargada en esta palabra en un arranque en fro. El sistema no tiene en cuenta la modificacin del valor de esta palabra. Para Modicon M340: proporciona la direccin del esclavo de Modbus del puerto serie de la CPU. No se tiene en cuenta la modificacin. Es 0, si la CPU no dispone de una conexin de puerto serie.

NO (consulte %SW12 a continuacin)

35006147 10/2013

211

Objetos de sistema

Palabra Smbolo %SW12 APMODE

Funcionamiento Modalidad del procesador de la aplicacin

Descripcin

Estado inicial 16#A501

Modicon M340 y M580 NO

Premium Atrium NO

Quantum

Momentum Unity S

nicamente para PLC de seguridad Quantum, esta palabra indica la modalidad de servicio del procesador de la aplicacin del mdulo CPU. 16#A501 = modalidad de mantenimiento 16#5AFE = modalidad segura Cualquier otro valor se interpreta como un error. Nota: En un sistema de seguridad Hot Standby, esta palabra se intercambia desde el PLC primario hasta el PLC Standby para informar al PLC Standby de la modalidad segura o de mantenimiento. Para Momentum, esta palabra contiene la direccin del esclavo para el canal serie 0.

S Slo en PLC de seguridad

Esta palabra indica lo Direccin %SW13 XWAYNETWA principal de siguiente para la red la estacin principal (Fipway o DDR Ethway): el nmero de la estacin (byte de menor valor) de 0 a 127, el nmero de la red (byte de mayor valor) de 0 a 63, (valor de los microinterruptores de la tarjeta PCMCIA).

254 (16#00FE)

NO

NO (consulte %SW13 a continuacin)

NO

212

35006147 10/2013

Objetos de sistema

Palabra Smbolo

Funcionamiento

Descripcin

Estado inicial -

Modicon M340 y M580 NO

Premium Atrium NO

Quantum

Momentum Unity NO

%SW13 Modalidad INTELMODE del procesador Intel

nicamente para PLC de seguridad Quantum, esta palabra indica la modalidad de servicio del procesador Intel Pentium del mdulo CPU. 16#501A = modalidad de mantenimiento 16#5AFE = modalidad segura Cualquier otro valor se interpreta como un error. Nota: En un sistema de seguridad Hot Standby, esta palabra se intercambia desde el PLC primario hasta el PLC Standby para informar al PLC Standby de la modalidad segura o de mantenimiento.

S Slo en PLC de seguridad

Versin co%SW14 OSCOMMVER mercial del procesaS dor del PLC

Esta palabra contiene la versin de sistema operativo (SO) del procesador del PLC. Ejemplo: 16#0135 Versin: 01 Nmero de emisin: 35

35006147 10/2013

213

Objetos de sistema

Palabra Smbolo

Funcionamiento

Descripcin

Estado inicial -

Modicon M340 y M580 S

Premium Atrium S

Quantum

Momentum Unity S

Versin del %SW15 OSCOMMPAT parche del procesaCH dor del PLC

Esta palabra contiene la versin comercial del parche para el procesador del PLC. La codificacin se lleva a cabo en el byte de menor valor de la palabra. Codificacin: 0 = sin parche, 1 = A, 2 = B... Ejemplo: 16#0003 corresponde al parche C. Esta palabra contiene el nmero de versin en formato hexadecimal del firmware del procesador del PLC. Ejemplo: 16#0011 Versin: 2.1 N. de versin: 17

%SW16 Nmero de OSINTVERS versin del firmware

214

35006147 10/2013

Objetos de sistema

Palabra Smbolo

Funcionamiento

Descripcin

Estado inicial 0

Modicon M340 y M580 S

Premium Atrium S

Quantum

Momentum Unity S

%SW17 Estado de FLOATSTAT fallo en operacin flotante

Cuando se detecta un fallo en una operacin aritmtica flotante, el bit %S18 pasa a 1 y el estado de error de %SW17 se actualiza segn la codificacin siguiente: %SW17.0 = operacin invlida / el resultado no es un nmero; %SW17.1 =operando no normalizado / el resultado es aceptable (indicador no gestionado por Modicon M340 o PLC de seguridad Quantum); %SW17.2 = divisin entre 0 / el resultado es infinito; %SW17.3 = desborde / el resultado es infinito; %SW17.4 = transgresin por debajo de rango / el resultado es 0; De %SW17.5 a 15 = no se utiliza. El sistema, as como el programa a fin de reutilizarla, vuelve a poner esta palabra a 0 en el arranque en fro.

S Slo en PLC de seguridad

35006147 10/2013

215

Objetos de sistema

Palabra Smbolo

Funcionamiento

Descripcin

Estado inicial 0

Modicon M340 y M580 S

Premium Atrium S

Quantum

Momentum Unity S

Contador %SD18: de tiempo %SW18 y absoluto %SW19 100MSCOUN TER

%SW18 representa los bytes de menor valor y %SW19 los bytes de mayor valor de la palabra doble %SD18, que el sistema incrementa cada dcima de segundo. La aplicacin puede leer o escribir estas palabras para realizar clculos de duracin. %SD18 se incrementa sistemticamente, incluso en la modalidad STOP y estados equivalentes. Sin embargo, no se tienen en cuenta las veces que el PLC est apagado, puesto que la funcin no est vinculada al administrador de tiempo real, sino slo al reloj en tiempo real. Para PLC de seguridad Quantum, sabiendo que los dos procesadores deben procesar exactamente los mismos datos, el valor de %SD18 se actualiza al comienzo de la tarea MAST y, a continuacin, se congela durante la ejecucin de la aplicacin.

216

35006147 10/2013

Objetos de sistema

Palabra Smbolo

Funcionamiento

Descripcin

Estado inicial 0

Modicon M340 y M580 S

Premium Atrium S

Quantum

Momentum Unity S

Contador %SD20: de tiempo %SW20 y absoluto %SW21 MSCOUNTER

Para los PLC Quantum, Momentum y M340, el sistema aumenta %SD20 cada milsima de segundo (incluso cuando el PLC est en STOP, %SD20 deja de incrementarse si el PLC est apagado). %SD20 puede leerse mediante el programa de usuario o el terminal. %SD20 se restablece en los arranques en fro. %SD20 no se restablece en los arranques en caliente. Para los PLC Premium TSX P57 14M/24M/3 4M/C024M/024M y TSX PCI57 204M/354 M, el sistema incrementa %SD20 5 veces cada 5 milsimas de segundo. Para el resto de PLC Premium, %SD20 se establece segn el contador de tiempo a 1 ms, como los PLC Quantum y M340. Para PLC de seguridad Quantum, sabiendo que los dos procesadores deben procesar exactamente los mismos datos, el valor de %SD18 se actualiza al comienzo de la tarea MAST y, a continuacin, se congela durante la ejecucin de la aplicacin.

35006147 10/2013

217

Objetos de sistema

Palabra Smbolo %SW23

Funcionamiento

Descripcin

Estado inicial -

Modicon M340 y M580 S-340 NO-580

Premium Atrium NO

Quantum

Momentum Unity NO

El byte de menor valor Valor del conmutado contiene el conmutador rotativo del procesador r rotativo Ethernet. Puede leerse mediante el programa de usuario o el terminal. Nmero de Esta palabra de solicitudes sistema permite procesadas comprobar en el servidor el nmero de solicitudes procesadas por el PLC por segundo.

NO

%SW26

NO

NO

218

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW27 %SW28 %SW29

Funcionamiento

Descripcin

Estado inicial -

Modicon M340 y M580 S

Premium Atrium NO

Quantum

Momentum Unity S

Duracin de la %SW27 es la ltima administrac duracin de la in del administracin del sistema sistema. %SW28 contiene la duracin mxima de la administracin del sistema. %SW29 contiene la duracin mnima de la administracin del sistema. La duracin de la administracin del sistema depende de la configuracin (nmero de E/S...) y de las peticiones de ciclo actuales (comunicacin, diagnsticos). Duracin de la administracin del sistema = duracin del ciclo Mast duracin de ejecucin del cdigo de usuario. Pueden leerse y escribirse mediante el programa de usuario o el terminal.

NO

35006147 10/2013

219

Objetos de sistema

Descripcin de las palabras de sistema de %SW30 a %SW47


Descripcin detallada Descripcin de las palabras de sistema de %SW30 a %SW35:
Palabra Smbolo Funcin Descripcin Estado inicial Modicon M340 y M580 S Premium Quantum Momentum Unity S

%SW30 Tiempo de MASTCURRTIME ejecucin de la tarea maestra %SW31 MASTMAXTIME Tiempo de ejecucin mximo de la tarea maestra Tiempo de ejecucin mnimo de la tarea maestra

Esta palabra indica el tiempo de ejecucin del ltimo ciclo de la tarea maestra (en ms). Esta palabra indica el tiempo de ejecucin ms largo de tarea maestra desde el ltimo arranque en fro (en ms). Esta palabra indica el tiempo de ejecucin ms corto de tarea maestra desde el ltimo arranque en fro (en ms). Esta palabra indica el tiempo de ejecucin del ltimo ciclo de la tarea rpida (en ms). Esta palabra no est disponible en PLC de seguridad Quantum. Esta palabra indica el tiempo de ejecucin ms largo de la tarea rpida desde el ltimo arranque en fro (en ms). Esta palabra no est disponible en PLC de seguridad Quantum.

%SW32 MASTMINTIME

%SW33 Tiempo de FASTCURRTIME ejecucin de la tarea rpida

S (excepto para PLC de seguridad)

No

%SW34 FASTMAXTIME

Tiempo de ejecucin mximo de la tarea rpida

S (excepto para PLC de seguridad)

No

220

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW35 FASTMINTIME

Funcin

Descripcin

Estado inicial -

Modicon M340 y M580 S

Premium

Quantum

Momentum Unity No

Tiempo de ejecucin mnimo de la tarea rpida

Esta palabra indica el tiempo de ejecucin ms corto de la tarea rpida desde el ltimo arranque en fro (en ms). Esta palabra no est disponible en PLC de seguridad Quantum.

S (excepto para PLC de seguridad)

NOTA: El tiempo de ejecucin es el tiempo transcurrido entre el principio (adquisicin de las entradas) y el final (actualizacin de las salidas) de un periodo de exploracin. Este tiempo incluye el tratamiento de las tareas de sucesos y de la tarea rpida, as como el tratamiento de las peticiones de la consola. En la configuracin de Quantum HSBY, %SW30,%SW31 y %SW32 se incluye el tiempo de intercambio de datos del coprocesador entre la CPU primaria y la CPU del controlador Stand By. Descripcin de las palabras de sistema de %SW36 a %SW47.
Palabra Smbolo %SW36 AUX0CURRTIME %SW39 AUX1CURRTIME %SW42 AUX2CURRTIME %SW45 AUX3CURRTIME Funcin Descripcin Estad o inicial Modicon M340 y M580 %SW36: NO-340, S-580 %SW39: NO-340, S-580 %SW42: NO %SW45: NO Premium Quantum Momentum Unity No

Tiempo de ejecucin de las tareas auxiliares

Estas palabras indican el tiempo de ejecucin del ltimo ciclo de las tareas AUX de 0 a 3 (en ms). NOTA: Las palabras %SW36 y %SW39 tienen una funcin distinta en los PLC de seguridad Quantum, mientras que el resto de palabras no estn disponibles en este tipo de PLC.

S (1)

S (1) (distintas funciones en los PLC de seguridad)

(1) nicamente en los PLC 140 CPU 6 y TSX P57 5.

35006147 10/2013

221

Objetos de sistema

Palabra Smbolo %SW37 AUX0MAXTIME %SW40 AUX1MAXTIME %SW43 AUX2MAXTIME %SW46 AUX3MAXTIME

Funcin

Descripcin

Estad o inicial -

Modicon M340 y M580 %SW37: NO-340, S-580 %SW40: NO-340, S-580 %SW43: NO %SW46: NO

Premium

Quantum

Momentum Unity No

Tiempo de ejecucin mx. de las tareas auxiliares

Estas palabras indican el tiempo de ejecucin ms largo de las tareas AUX de 0 a 3 desde el ltimo arranque en fro (en ms). NOTA: La palabra %SW37 tiene una funcin distinta en los PLC de seguridad Quantum, mientras que el resto de palabras no estn disponibles en este tipo de PLC. Estas palabras indican el tiempo de ejecucin ms corto de las tareas AUX de 0 a 3 desde el ltimo arranque en fro (en ms). NOTA: La palabra %SW38 tiene una funcin distinta en los PLC de seguridad Quantum, mientras que el resto de palabras no estn disponibles en este tipo de PLC.

S (1)

S (1) (distintas funciones en los PLC de seguridad)

%SW38 AUX0MINTIME %SW41 AUX1MINTIME %SW44 AUX2MINTIME %SW47 AUX3MINTIME

Tiempo de ejecucin mn. de las tareas auxiliares

%SW38: NO-340, S-580 %SW41: NO-340, S-580 %SW44: NO %SW47: NO

S (1)

S (1) (distintas funciones en los PLC de seguridad)

No

(1) nicamente en los PLC 140 CPU 6 y TSX P57 5.

NOTA: De %SW36 a %SW39 tienen una funcin especfica en los PLC de seguridad Quantum, consulte Detalles de los modos de funcionamiento de Unity_Pro_XLS para obtener ms detalles.

222

35006147 10/2013

Objetos de sistema

Descripcin de las palabras de sistema de %SW48 a %SW66


Descripcin detallada Descripcin de las palabras de sistema de %SW48 a %SW66:
Pal Funab cin ra S mb ol o % S W4 8 IO EV TN B Nm ero de event os Descripcin Estado inicial Modicon M340 y M580 Premium Atrium Quantum Momentum Unity

Esta palabra indica los eventos de E/S y los telegramas procesados desde el ltimo arranque en fro. El programa o el terminal pueden escribir esta palabra. Esta palabra no est disponible en PLC de seguridad Quantum. NOTA: TELEGRAM est disponible solo para PREMIUM (no en Quantum o M340).

S (excepto para PLC de seguridad)

NO

35006147 10/2013

223

Objetos de sistema

Pal Funab cin ra S mb ol o % S W4 9 DA YO FW EE K % S W5 0 SE C % S W5 1 HO UR MI N % S W5 2 MO NT HD AY % S W5 3 YE AR

Descripcin

Estado inicial

Modicon M340 y M580

Premium Atrium

Quantum

Momentum Unity

Funci Palabras del sistema que contienen la fecha y hora actuales (en BCD): n del %SW49: da de la semana: reloj 1 = Lunes de 2 = Martes tiemp 3 = Mircoles o real 4 = Jueves 5 = Viernes 6 = Sbado 7 = Domingo

%SW50: segundos (16#SS00), %SW51: horas y minutos (16#HHMM), %SW52: mes y da (16#MMDD), %SW53: ao (16#YYYY).

El sistema gestiona estas palabras cuando el bit %S50 se define en 0. El usuario del programa o el terminal pueden escribir estas palabras cuando el bit %S50 se define en 1.

224

35006147 10/2013

Objetos de sistema

Pal Funab cin ra S mb ol o % S W5 4 ST OP SE C % S W5 5 ST OP HM % S W5 6 ST OP MD % S W5 7 ST OP YE AR % S W5 8 ST OP DA Y Funci n del reloj de tiemp o real en la ltim a para da

Descripcin

Estado inicial

Modicon M340 y M580

Premium Atrium

Quantum

Momentum Unity

Las palabras de sistema contienen la fecha y hora del ltimo fallo de alimentacin o detencin del PLC (en formato decimal codificado en binario): %SW54: segundos (00SS), %SW55: horas y minutos (HHMM), %SW56: mes y da (MMDD), %SW57: ao (YYYY).

35006147 10/2013

225

Objetos de sistema

Pal Funab cin ra S mb ol o Co nti nu aci n % S W5 4 ST OP SE C % S W5 5 ST OP HM % S W5 6 ST OP MD % S W5 7 ST OP YE AR % S W5 8 ST OP DA Y 226

Descripcin

Estado inicial

Modicon M340 y M580

Premium Atrium

Quantum

Momentum Unity

Funci %SW58: el byte ms significativo n contiene el da de la semana (de 1 para del lunes a 7 para domingo) y el byte reloj menos significativo contiene el cdigo de de la ltima detencin: tiemp 1 = cambio de RUN a STOP por el o real terminal o la entrada dedicada en la 2 = detencin por el watchdog (tarea ltim del PLC o desborde del SFC) a 4 = corte de alimentacin u para operacin de bloqueo de la tarjeta da de memoria 5 = detencin por fallo de hardware 6 = detencin por fallo de software Los detalles del tipo de fallo de software se guardan en %SW125.

35006147 10/2013

Objetos de sistema

Pal Funab cin ra S mb ol o % S W5 9 AD JD AT ET IM E Ajust e de la fecha actua l

Descripcin

Estado inicial

Modicon M340 y M580

Premium Atrium

Quantum

Momentum Unity

Contiene dos series de 8 bits para ajustar la fecha actual. La accin se ejecuta siempre en el flanco ascendente del bit. Esta palabra se activa por el bit %S59=1.

En la ilustracin siguiente, los bits de la columna de la izquierda aumentan el valor y los bits de la columna de la derecha lo disminuyen:

35006147 10/2013

227

Objetos de sistema

Pal Funab cin ra S mb ol o % S W6 6 CC OT F_ ST AT US

Descripcin

Estado inicial

Modicon M340 y M580

Premium Atrium

Quantum

Momentum Unity

Esta Significado de los bytes de la palabra do de %SW66 (XXYY): un XX: El byte ms alto de la palabra est camb asociado a los cdigos de estado de io de CCOTF de 00 a 1F (en formato confi hexadecimal): gurac 00: inactivo in 01: Longitud de peticin no vlida de 02: Encabezado de la peticin no E/S vlido Ether 03: Descriptor de peticin no vlido net 04: Firma de peticin no vlida 05: Servidor de peticin no vlido 06: Servidor FDR no vlido 07: ID de peticin de encabezado no vlido 08: ID de estacin de encabezado no vlido 09: Nombre de dispositivo de encabezado no vlido

NO

NO

228

35006147 10/2013

Objetos de sistema

Pal Funab cin ra S mb ol o % S W6 6 CC OT F_ ST AT US Esta do de un camb io de confi gurac in de E/S Ether net

Descripcin

Estado inicial

Modicon M340 y M580

Premium Atrium

Quantum

Momentum Unity

0A: Longitud del descriptor no vlida 0B: RTE del descriptor no vlido 0C: Offset del descriptor no vlido 0D: Longitud de firma no vlida 0E: Datos de firma no vlidos 0F: Conteo de firma no vlido 10: IP de FDR no vlida 11: Mscara de subred FDR no vlida 12: Pasarela FDR no vlida 13: CID de EIP no vlido 14: Nmero de dispositivo EIP no vlido 15: IP de EIP no vlida 16: ID de proveedor EIP no vlido 17: Tipo de producto EIP no vlido 18: Cdigo de producto EIP no vlido 19: Timeout de EIP no vlido 1A: RPI OT EIP no vlido 1B: EIP TO RPI 1C: Ruta de EIP no vlida 1D: Proceso satisfactorio 1E: Proceso ocupado 1F: La estacin no existe

NO

NO

35006147 10/2013

229

Objetos de sistema

Pal Funab cin ra S mb ol o % S W6 6 CC OT F_ ST AT US

Descripcin

Estado inicial

Modicon M340 y M580

Premium Atrium

Quantum

Momentum Unity

230

Esta Continuacin: do de XX: El byte ms alto de la palabra est un asociado con los cdigos de estado de camb CCOTF de 20 a FF (en formato io de hexadecimal): confi 20: La estacin ya existe gurac 21: La estacin no es accesible in 22: El administrador de dispositivos de de procesos ha detectado un error E/S 23: El constructor FDR de procesos Ether ha detectado un error net 24: El servidor FDR de procesos ha detectado un error 25: El explorador de EIP de procesos ha detectado un error 26: Firma no coincidente de EIP de procesos 27: Conexin EIP de procesos rechazada 28: Error detectado de proceso desconocido 29:...3F: Reservado 4C: Se ha alcanzado el mximo de reintentos de CCOTF 4D: Firma no vlida detectada por la CPU 4E: Para CPU: error detectado para la comunicacin con CRP 4F: Para CPU: error de IOPL (construir o alternar) 50: El CRA ha recibido un error detectado de parmetro de comunicacin incorrecto 51: El servidor FDR no ha respondido 52: Error detectado al descargar el archivo PRM del servidor 53: El CRA ha descargado un archivo de tamao cero del servidor FDR 54: Configuracin incorrecta en PRM (por ejemplo, CRC no vlido, configuracin no vlida o firma no coincidente: gestionado por MC) 55: Timeout de descarga de PRM 56: El resto de los errores detectados (por ejemplo, la

NO

NO

35006147 10/2013

Objetos de sistema

Descripcin de las palabras de sistema de %SW70 a %SW99


Descripcin detallada Descripcin de las palabras de sistema %SW70 a %SW99.
Palabra Smbolo %SW70 WEEKOFYEAR Funcin Descripcin Estado Modicon Premium inicial M340 y Atrium M580 S S Quantum Momentum Unity S

Palabra de sistema que Funcin del reloj de tiempo contiene el nmero de la semana del ao: 1 a 52 real (en BCD). Posicin de los conmutadores en el panel frontal de Quantum Esta palabra proporciona la imagen de las posiciones de los conmutadores en el panel frontal del procesador Quantum. El sistema actualiza esta palabra automticamente. Conmutador %SW71.0 = 1 en posicin "Memoria protegida" Conmutador %SW71.1 = 1 en posicin "PARADA" Conmutador %SW71.2 = 1 en posicin "INICIO" Conmutador %SW71.8 = 1 en posicin "MEM" Conmutador %SW71.9 = 1 en posicin "ASCII" Conmutador %SW71.10 = 1 en posicin "RTU" %SW71.3 a 7 y 11 a 15 no se utilizan.

%SW71 KEY_SWITCH

NO

NO

NO

35006147 10/2013

231

Objetos de sistema

Palabra Smbolo %SW72

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 0 S - M340 NO M580 S

Quantum

Momentum Unity S

Registro de errores de Unity 984

Errores de registro de errores detectados (como LL984) de la biblioteca Matemticas ampliadas (EMTH). Bit / Funcin

15 - 8: cdigo de funcin/subfuncin EMTH (vase a continuacin) 7 - 6: no se utiliza 4: error detectado en conversin de entero/coma flotante 3: potencia de funcin exponencial demasiado grande 2: valor u operacin de valor de coma flotante no vlido 1: desborde de coma flotante 0: subdesborde de coma flotante Cdigo de funcin/subfuncin EMTH 16#01 / ADDDP 16#02 / SUBDP 16#03 / MULDP 16#04 / DIVDP 16#05 / SQRT 16#06 / SQRTP 16#07 / LOG 16#08 / ANLOG 16#09 / CNVIF 16#0A / ADDIF 16#0B / SUBIF 16#0C / MULIF 16#0D / DIVIF 16#0E / SUBFI 16#0F / DIVFI 16#10 / CMPIF 16#11 / CNVFI 16#12 / ADDFP 16#13 / SUBFP %SW75 TIMEREVTNB Esta palabra contiene el Contador de eventos de tipo nmero de eventos de Temporizador tipo temporizador en la cola. (1): No disponible en los siguientes procesadores: TSX 57 1/2/3/4/5. Esta palabra no est disponible en PLC de seguridad Quantum. 0 S 16#14 / MULFP 16#15 / DIVFP 16#16 / CMPFP 16#17 / SQRFP 16#18 / CHSIN 16#19 / PI 16#1A / SINE 16#1B / COS 16#1C / TAN 16#1D / ARSIN 16#1E / ARCOS 16#1F / ARTAN 16#20 / CNVRD 16#21 / CNVDR 16#22 / POW 16#23 / EXP 16#24 / LNFP 16#25 / LOGFP 16#26 / ERLOG S (1) S (excepto para PLC de seguridad) NO

232

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW76 DLASTREG

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 0 S S

Quantum

Momentum Unity S

Funcin de diagnstico: registro

Resultado del ltimo registro: = 0 si el registro ha sido correcto, = 1 si el bfer de diagnstico no se ha configurado, = 2 si el bfer de diagnstico est lleno. Resultado de la ltima anulacin de registro = 0 si la anulacin del registro ha sido correcta, = 1 si el bfer de diagnstico no se ha configurado, = 21 si el identificador del error no es vlido, = 22 si el error no se ha registrado. Nmero de errores actualmente en el bfer de diagnstico.

%SW77 DLASTDEREG

Funcin de diagnstico: sin registro

%SW78 DNBERRBUF

Funcin de diagnstico: nmero de errores

35006147 10/2013

233

Objetos de sistema

Palabra Smbolo %SW80 MSGCNT0 %SW81 MSGCNT1

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 0 S 340 NO 580 S

Quantum

Momentum Unity S

Gestin de mensajes

El sistema actualiza estas palabras, que tambin se pueden restablecer mediante %S80. Para Premium: %SW80: Nmero de mensajes que ha enviado el sistema al puerto de la terminal (puerto Uni-Telway). %SW81: Nmero de mensajes que ha recibido el sistema en el puerto de la terminal (puerto UniTelway). Para Modicon M340 y Momentum Unity: %SW80: Nmero de mensajes que ha enviado el sistema al puerto de la terminal (puerto serie Modbus). %SW81: Nmero de mensajes que ha recibido el sistema en el puerto de la terminal (puerto serie Modbus).

234

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW80 MSGCNT0 %SW81 MSGCNT1

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 0 S 340 NO 580 S

Quantum

Momentum Unity S

Gestin de mensajes (continuacin)

Para Quantum: %SW80: Nmero de mensajes Modbus que ha enviado el sistema como cliente en todos los puertos de comunicacin. NOTA: No se cuentan en esta palabra los mensajes de Modbus que ha enviado el sistema como maestro.
%SW81: Nmero de

mensajes Modbus que ha recibido el sistema como cliente en todos los puertos de comunicacin. NOTA: No se cuentan en esta palabra los mensajes de Modbus recibidos como respuesta a las solicitudes que ha enviado el sistema como maestro.

35006147 10/2013

235

Objetos de sistema

Palabra Smbolo %SW82 %SW83

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 0 S S

Quantum

Momentum Unity S

Gestin de mensajes

El sistema actualiza estas palabras, que tambin se pueden restablecer mediante %S80. Para Premium: %SW82: Nmero de mensajes enviados por el sistema al mdulo PCMCIA. %SW83: Nmero de mensajes recibidos por el sistema del mdulo PCMCIA. Para Quantum, M340, M580 y Momentum Unity: %SW82: Nmero de mensajes Modbus enviados o recibidos en el puerto serie 1. %SW83: Nmero de mensajes Modbus enviados o recibidos en el puerto serie 2.

%SW84 MSGCNT4 %SW85 MSGCNT5

Premium: gestin de telegramas Modicon M340: gestin de mensajes

El sistema actualiza estas palabras, que tambin se pueden restablecer mediante %S80. Para Premium: %SW84: Nmero de telegramas enviados por el sistema. %SW85: Nmero de telegramas recibidos por el sistema. Para Modicon M340, M580 y Momentum Unity: %SW84: Nmero de mensajes enviados al puerto USB. %SW85: Nmero de mensajes recibidos por el puerto USB.

NO

236

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW86 MSGCNT6

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 0 S S

Quantum

Momentum Unity S

Gestin de mensajes

El sistema actualiza esta palabra, que tambin se pueden restablecer mediante %S80. Para Premium y M580: Nmero de mensajes rechazados por el sistema. Para Modicon M340 y Momentum Unity: Nmero de mensajes rechazados por el sistema, por ejemplo, no procesados por falta de recursos. Si Modbus Server rechaza el mensaje, entonces este se corresponde con un mensaje de excepcin de Modbus, enviado por la CPU al cliente Modbus remoto.

NO

%SW87 MSTSERVCNT

gestin del flujo de comunicacin

Nmero de solicitudes procesadas por el servidor sncrono por ciclo de tarea maestra (MAST). Las solicitudes procesadas pueden proceder de todos los puertos de comunicacin (con acceso al Modbus/UNI-TE del servidor, cada uno tiene sus propias limitaciones). Esto significa que las solicitudes de otros clientes y los EF de comunicacin (como el explorador de E/S, el HMI conectado, etc.) deberan contarse.

35006147 10/2013

237

Objetos de sistema

Palabra Smbolo %SW88 ASNSERVCNT %SW89 APPSERVCNT

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 0 S S

Quantum

Momentum Unity S (%SW88) NO (%SW89)

Para Premium: Premium: gestin del %SW88: Nmero de flujo de peticiones comunicacin procesadas por el Modicon servidor asncrono por M340: ciclo de tarea maestra peticiones (MAST). HTTP y FTP %SW89: Nmero de recibidas por peticiones segundo por el procesadas por las servidor web y funciones del servidor el servidor FTP (inmediatamente) por del procesador ciclo de tarea maestra (MAST). Para Modicon M340, M580 y Momentum Unity: %SW88: Nmero de peticiones HTTP recibidas por segundo por el servidor web del procesador. Para Modicon M340 y M580: %SW89: Nmero de peticiones FTP recibidas por segundo por el servidor FTP.

NO

238

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW90 MAXREQNB

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 N S S

Quantum

Momentum Unity S

Nmero mximo de solicitudes procesadas por ciclo de tarea maestra

Esta palabra se utiliza para establecer un nmero mximo de peticiones (todos los protocolos incluidos: UNITE, Modbus, etc.) que puede procesar el servidor del PLC por ciclo de tarea maestra.(No afecta a las peticiones que enva el PLC como cliente.) Este nmero de solicitudes debe incluirse entre un mnimo y un mximo (definido como N+4) segn el modelo. Para la gama M340: BMX P34 10/20/: N = 8 (mnimo 2, mximo 8 + 4 = 12),

35006147 10/2013

239

Objetos de sistema

Palabra Smbolo Continuacin %SW90 MAXREQNB

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 N S S

Quantum

Momentum Unity S

Nmero mximo de solicitudes procesadas por ciclo de tarea maestra

Para la gama Premium: TSX 57 0: N = 4 (mnimo 2, mximo 4 + 4 = 8), TSX 57 1: N = 4 (mnimo 2, mximo 4 + 4 = 8), TSX 57 2: N = 8 (mnimo 2, mximo 8 + 4 = 12), TSX 57 3: N = 12 (mnimo 2, mximo 12 + 4 = 16), TSX 57 4: N = 16 (mnimo 2, mximo 16 + 4 = 20), TSX 57 5: N = 16 (mnimo 2, mximo 16 + 4 = 20). Para la gama Quantum: 140 CPU 31/43/53/: N = 10 (mnimo 5, mximo 10 + 4 = 14), 140 CPU 6: N = 20 (mnimo 5, mximo 20 + 4 = 24),

240

35006147 10/2013

Objetos de sistema

Palabra Smbolo Continuacin %SW90 MAXREQNB

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 S S

Quantum

Momentum Unity S

Nmero mximo de solicitudes procesadas por ciclo de tarea maestra

N NOTA: Las peticiones pueden proceder de diversos mdulos o puertos de comunicacin incorporados. La capacidad de intercambio de comunicacin de cada puerto es limitada y, por lo tanto, el valor mximo de peticin establecido en %SW90 podra no alcanzarse. El sistema inicializa la palabra con N (valor predeterminado). Si se introduce el valor 0, ser el valor N el que se tendr en cuenta. Si se introduce un valor entre 1 y el mnimo, se tendr en cuenta el valor mnimo. Si se introduce un valor superior al mximo, se tendr en cuenta el valor mximo. El nmero de solicitudes que se debe procesar por ciclo debe incluir las solicitudes procedentes de todos los puertos de comunicacin (con acceso al servidor). Esto significa que tambin deberan incluirse las solicitudes procedentes de otros clientes y, a continuacin, los EF de comunicacin, como el explorador de E/S, la HMI conectada, y as sucesivamente.

35006147 10/2013

241

Objetos de sistema

Palabra Smbolo %SW91-92

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 0 S S

Quantum

Momentum Unity NO

Velocidades de mensajes de bloques de funciones

%SW91: Nmero de

NO

mensajes de bloques de funciones enviados por segundo. %SW92: Nmero de mensajes de bloques de funciones recibidos por segundo. Puede leerse mediante el programa de usuario o el terminal. Estos contadores no incluyen otras solicitudes salientes procedentes del explorador de E/S, por ejemplo.

242

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW93

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 0 S NO

Quantum

Momentum Unity NO

Comando y estado del formato del sistema de archivos de la tarjeta de memoria

Puede leerse y editarse mediante el programa de usuario o el terminal. El cliente utiliza esta palabra para aplicar formato a la tarjeta de memoria o para limpiarla: La operacin de formato elimina las pginas web. Para recuperarlas, realice una de las dos acciones siguientes. Utilice el FTP. Antes de realizar el formato, guarde las pginas web mediante el FTP.
Despus de

NO

realizar el formato, vuelva a cargar las pginas web mediante el FTP.


Vuelva a instalar el

sistema operativo de firmware del procesador. La operacin de limpieza eliminar el contenido del directorio de almacenamiento de datos.

35006147 10/2013

243

Objetos de sistema

Palabra Smbolo Continuacin %SW93

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 0 S NO

Quantum

Momentum Unity NO

Comando y estado del formato del sistema de archivos de la tarjeta de memoria

Solo se puede aplicar formato o limpiar en modalidad de detencin: %SW93.0 = 1 un flanco ascendente inicia la operacin de formato. %SW93.1 ofrece el estado del sistema de archivos tras la solicitud peticin de operacin de formato o limpieza: %SW93.1 = 0 sistema de archivos no vlido o comando en curso. %SW93.1 = 1 sistema de archivos vlido.
%SW93.2 = 1 un

NO

flanco ascendente inicia la operacin de limpieza. %SW94 %SW95 Firma de modificacin de la aplicacin Estas dos palabras contienen un valor de 32 bits que cambia con cada modificacin de la aplicacin, salvo si: Actualiza informacin de Upload. Sustituye el valor inicial del valor por el valor actual. Guarda el comando del parmetro. Pueden leerse mediante el programa de usuario o el terminal. S NO NO S

244

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW96 CMDDIAGSAV EREST

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 S NO

Quantum

Momentum Unity S

Comando y diagnstico de guardar y restaurar

Esta palabra se utiliza para copiar o eliminar el valor actual de %MW en la memoria flash interna (vase pgina 121) o procedente de ella y proporcionar el estado de la accin. Puede leerse mediante el programa de usuario o el terminal: %SW96.0: Peticin para copiar el valor actual de %MW en la memoria flash interna. Puesto a 1 por el usuario para solicitar guardar, y a 0 por el sistema cuando la operacin de almacenamiento est en curso. NOTA: Debe detener el procesador antes de realizar la copia a travs de %SW96.0.
El sistema establece

NO

el valor %SW96.1 en 1 cuando finaliza el almacenamiento, y en 0 cuando la operacin de almacenamiento est en curso. %SW96.2 = 1 indica un error en una operacin de almacenamiento o restauracin (consulte %SW96.8 a 15 para obtener una definicin de los cdigos de error). %SW96.3 = 1 indica que hay una operacin de restauracin en curso.
35006147 10/2013

245

Objetos de sistema

Palabra Smbolo Continuacin %SW96 CMDDIAGSAV EREST

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 S NO

Quantum

Momentum Unity S

Comando y diagnstico de guardar y restaurar

NO

%SW96.4 puede

establecerse en 1 por parte del usuario para eliminar el rea %MW en la memoria flash interna. %SW96.7 = 1 indica que la memoria interna contiene una copia de seguridad %MW vlida. %SW96.8 a 15 son cdigos de error cuando %SW96.2 se establece en 1: %SW96.9 = 1 indica que el nmero %MW guardado es inferior al nmero configurado. %SW96.8 = 1 y %SW96.9 = 1 indican que el nmero %MW guardado es superior al nmero configurado. %SW96.8 = 1, %SW96.9 = 1 y %SW96.10 = 1 indican un error de escritura detectado en la memoria flash interna. S NO NO S

%SW96 CMDDIAGSAV EREST

Comando y diagnstico de guardar y restaurar

246

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW97 CARDSTS

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 S NO

Quantum

Momentum Unity NO

Estado de tarjeta

Puede leerse mediante el programa de usuario o el terminal. Indica el estado de la tarjeta. %SW97: 0000 = no hay ningn error. 0001 = la copia de seguridad de la aplicacin o la escritura de archivo se ha enviado a una tarjeta con proteccin de escritura. 0002 = no se reconoce la tarjeta o se ha daado la copia de seguridad de la aplicacin. 0003 = copia de seguridad de la aplicacin solicitada, aunque no hay ninguna tarjeta disponible. 0004 = error de acceso a la tarjeta, por ejemplo, despus de eliminar una tarjeta de modo incorrecto. 0005 = no existe ningn sistema de archivos en la tarjeta o el sistema de archivos no es compatible. Utilice %SW93.0 para formatear la tarjeta.

NO

35006147 10/2013

247

Objetos de sistema

Palabra Smbolo %SW991 INPUTADR/S WAP1

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 0 NO S1

Quantum

Momentum Unity NO

Gestin de redundancia de comunicacione s (1)

NOTA: Esta palabra se utiliza para los mdulos Quantum y Premium, pero su funcin es distinta. Palabra utilizada para gestionar la redundancia de los mdulos de red. Cuando se detecta un programa en un mdulo de comunicacin utilizado para acceder a un nmero de red x (XWAY), es posible cambiar a otro mdulo de comunicacin (conectado a la misma red) introduciendo el nmero de red en la palabra %SW99. El sistema restablece %SW99 a 0.

NO

248

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW992 CRA_COMPAT _HIGH2

Funcin

Descripcin

Estado Modicon Premium inicial M340 y Atrium M580 0 NO NO

Quantum

Momentum Unity NO

Registro de estado alto de compatibilidad CRA

NOTA: Esta palabra se utiliza para el mdulo Quantum y Premium, pero su funcin (vase Modicon Quantum, Cambio de configuracin sobre la marcha, Manual del usuario) es distinta. Palabra utilizada para gestionar la compatibilidad de CCOTF cuando se inserta un mdulo nuevo. Cuando se inserta un mdulo en la estacin RIO, el bit correspondiente est en 1 e indica que el mdulo est conectado en la estacin y es compatible con CCOTF.

S2

35006147 10/2013

249

Objetos de sistema

Descripcin de las palabras de sistema de %SW108 a %SW116


Descripcin detallada Descripcin de las palabras de sistema %SW108 a %SW116.
Palabra Smbolo %SW108 FORCEDIOIM Funcin Descripcin Estado inicial 0 Modicon M340 y M580 S Quantum Premium Atrium S Momentum Unity S

Registro de estado de conteo de bits forzados

Palabra %SW108:
aumenta siempre que

se fuerza un bit binario (%I,%Q o %M) disminuye siempre que se cancela el forzado de un bit binario 0 S S1 S NO

%SW109 FORCEDANA

Palabra %SW109: Registro de estado aumenta siempre que de conteo est forzado un canal de los analgico canales disminuye siempre que analgicos se cancela el forzado forzados de un canal analgico

250

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW116 REMIOERR

Funcin

Descripcin

Estado inicial -

Modicon M340 y M580 NO

Quantum

Premium Atrium S

Momentum Unity NO

Fallo de E/S Fipio

Normalmente se establece en 0. Cada bit de esta palabra es significativo de un estado de intercambio Fipio en la tarea en la que se prueba. El usuario debe volver a poner esta palabra a 0. Detalle de los bits de la palabra %SW116: %SW116.0 = 1 error de intercambio explcito (la variable no se intercambia en el bus) %SW116.1 = 1 timeout en un intercambio explcito (sin respuesta al final del timeout) %SW116.2 = 1 nmero mximo de intercambios explcitos simultneos alcanzado %SW116.3 = 1 una trama es incorrecta %SW116.4 = 1 la longitud de una trama recibida es superior a la longitud declarada Detalle de los bits de la palabra %SW116: %SW116.5 = reservado a 0 %SW116.6 = 1 una trama no es vlida o un agente se inicializa %SW116.7 = 1 ausencia de equipo configurado %SW116.8 = 1 fallo de canal (al menos un canal de un equipo indica un fallo) %SW116.9 a 15 = reservado a 0

NO

Continuacin %SW116 REMIOERR

Fallo de E/S Fipio

NO

NO

NO

Limitado a canales analgicos de los mdulos analgicos Modicon M340 en estaciones de E/S remotas M340 251

35006147 10/2013

Objetos de sistema

Descripcin de las palabras de sistema de %SW124 a %SW127


Descripcin detallada Descripcin de las palabras de sistema de %SW124 a %SW127:
Palabra Smbolo %SW124 CPUERR Funcin Descripcin Estado inicial Modicon M340 y M580 S Premium Quantum Momentum Atrium Unity S S S

Error del sistema o del tipo de procesador

El sistema registra el ltimo tipo de fallo del sistema detectado en esta palabra (estos cdigos no se modifican en un reinicio en fro): 16#30: fallo de cdigo del sistema 16#53: fallo de timeout durante intercambios de E/S 16#60 a 64: desborde de pila 16#65: el perodo de ejecucin de tarea rpida es demasiado bajo 16#81: error en la deteccin del bastidor (vase Premium y Atrium en Unity Pro, Procesadores, bastidores y mdulos de alimentacin, Manual de instalacin) NOTA: 16#81 los PLC Quantum no gestionan el cdigo de sistema. NOTA: Si se detecta este error, se debern reinicializar todos los bastidores. 16#90: error de sistema interno detectado: interrupcin inesperada

252

35006147 10/2013

Objetos de sistema

Palabra Smbolo

Funcin

Descripcin

Estado inicial -

Modicon M340 y M580 S

Premium Quantum Momentum Atrium Unity S S S

%SW125 ltimo fallo Esta palabra indica el cdigo BLKERRTYPE detectado del ltimo fallo detectado: Los siguientes cdigos de error hacen que el PLC se detenga si %S78 se establece en 1. %S15, %S18 y %S20 estn siempre activados con independencia de %S78: 16#2258: ejecucin de la instruccin HALT 16#DE87: error de clculo en nmeros de coma flotante (%S18, estos errores se incluyen en la palabra %SW17) 16#DEB0: desborde de watchdog (%S11) 16#DEF0: divisin entre 0 (%S18) 16#DEF1: error de transferencia de cadena de caracteres (%S15) 16#DEF2: error aritmtico; %S18 16#DEF3: desborde de ndice (%S20) NOTA: Los siguientes cdigos 16#8xF4, 16#9xF4 y 16#DEF7 indican un error en la grfica de funcin secuencial (SFC).

35006147 10/2013

253

Objetos de sistema

Palabra Smbolo %SW126ERR ADDR0 %SW127 ERRADDR1

Funcin

Descripcin

Estado inicial 0

Modicon M340 y M580 S

Premium Quantum Momentum Atrium Unity S S S

Direccin de instruccin de error de bloqueo

Direccin de la instruccin que ha generado el error de bloqueo de la aplicacin. Para procesadores de 16 bits, TSX P57 1/2: %SW126 contiene el offset de esta direccin; %SW127 contiene el nmero de segmento de esta direccin. Para procesadores de 32 bits: %SW126 contiene la palabra menos significativa de esta direccin; %SW127 contiene la palabra ms significativa de esta direccin. Para una detencin del sistema debida a un desborde de watchdog: %SW126 contiene el nmero de la tarea MAST con el desborde %SW127 contiene el valor de la tarea MAST con el desborde

254

35006147 10/2013

Objetos de sistema

Seccin 6.3
Palabras de sistema especficas de Atrium/Premium

Palabras de sistema especficas de Atrium/Premium


Objeto En esta seccin se describen las palabras de sistema %SW128 a %SW167 en el caso de PLC Premium y Atrium.

ADVERTENCIA
COMPORTAMIENTO INESPERADO DE LA APLICACIN No utilice objetos del sistema (%S, %SWi) como variables cuando no estn documentados. El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o dao al equipo. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Descripcin de las palabras de sistema %SW60 a %SW65 Descripcin de las palabras de sistema de %SW128 a %SW143 Descripcin de las palabras de sistema %SW144 a %SW146 Descripcin de las palabras de sistema de %SW147 a %SW152 Descripcin de la palabra de sistema %SW153 Descripcin de la palabra de sistema %SW154 Descripcin de las palabras de sistema Premium/Atrium de %SW155 a %SW167 Pgina 256 260 261 263 264 266 267

35006147 10/2013

255

Objetos de sistema

Descripcin de las palabras de sistema %SW60 a %SW65


Descripcin detallada Descripcin de las palabras de sistema de %SW60 a %SW65 en Hot Standby de Premium y Atrium.
Palabra Smbolo %SW60 HSB_CMD Funcin Registro de comando Hot Standby Premium Descripcin Significado de los diferentes bits de la palabra %SW60: %SW60.1 =0 establece el PLC A en la modalidad offline. =1 establece el PLC A en la modalidad de ejecucin.
%SW60.2 =0 establece el PLC B en la modalidad offline. =1 establece el PLC B en la modalidad de

Estado Premium inicial 0 S

Atrium NO

ejecucin.
Discrepancia en la versin de SO %SW60.4 =0 Si hay discrepancia de las versiones del

primario, standby pasa a la modalidad offline.


=1 Si hay discrepancia de las versiones del SO

con el PLC primario, standby permanece en modalidad Standby. Discrepancia del SO del firmware. Esto est relacionado con la versin del SO del procesador principal, la versin del SO del coprocesador incorporado, la versin del SO del ETY controlado y permite que un sistema Hot Standby funcione con versiones diferentes del SO que se estn ejecutando en el primario y standby.

256

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW61 HSB_STS

Funcin Registro de estado Hot Standby Premium

Descripcin Significado de los diferentes bits de la palabra %SW61.0 a %SW61.6: %SW61.0 y %SW61.1 Estado del PLC local. %SW61.1=0 y %SW61.0=1: modalidad offline. %SW61.1=1 y %SW61.0=0: Modalidad primaria. %SW61.1=1 y %SW61.0=1: Modalidad standby.
%SW61.2 y %SW61.3 Estado del PLC remoto. %SW61.3=0 y %SW61.2=1: modalidad offline. %SW61.3=1 y %SW61.2=0: Modalidad

Estado Premium inicial 0 S

Atrium NO

primaria.
%SW61.3=1 y %SW61.2=1: Modalidad

standby.
%SW61.3=0 y %SW61.2=0: el PLC remoto no

es accesible (apagado, sin comunicacin).


%SW61.4 est ajustado=1: cuando se detecta una

discrepancia de lgica entre los controladores primario y standby. %SW61.5 est ajustado a 0 1, segn la direccin MAC del coprocesador Ethernet: =0 el PLC con la direccin MAC ms baja se convierte en el PLC A primario. =1 el PLC con la direccin MAC ms alta se convierte en el PLC B.
%SW61.6: este bit indica si la conexin de

sincronizacin de CPU entre los dos PLC es vlida: %SW61.6=0: la conexin de sincronizacin de CPU es vlida. El contenido del bit 5 es significativo. %SW61.6=1: la conexin de sincronizacin de CPU no es vlida. En este caso, el contenido del bit 5 no es significativo porque no puede realizarse la comparacin de las dos direcciones MAC.

35006147 10/2013

257

Objetos de sistema

Palabra Smbolo %SW61 HSB_STS

Funcin Registro de estado Hot Standby Premium

Descripcin Significado de los diferentes bits de la palabra %SW61.7 a %SW61.9: %SW61.7: este bit indica si hay una discrepancia de la versin del SO del procesador principal entre el primario y el standby: =0: no hay discrepancia en la versin del SO del firmware: =1: Discrepancia de las versiones del SO. Si la discrepancia de la versin del SO no est permitida en el registro de comando (bit 4 = 0), el sistema no funcionar como redundante cuando se seale el fallo.
%SW61.8: este bit indica si hay una discrepancia

Estado Premium inicial 0 S

Atrium NO

de la versin del SO del procesador entre el primario y el standby: =0: no hay discrepancia de la versin del SO del coprocesador. =1: Discrepancia de la versin del SO del coprocesador. Si la discrepancia de la versin del SO no est permitida en el registro de comando (bit 4 = 0), el sistema no funcionar como redundante cuando se seale el fallo.
%SW61.9: este bit indica si hay al menos un

mdulo ETY que no tenga la versin mnima: =0: todos los mdulos ETY tienen la versin mnima. =1: al menos un mdulo ETY no tiene la versin mnima. En este caso, no podr iniciarse ningn PLC primario. %SW61 HSB_STS Registro de estado Hot Standby Premium Significado de los diferentes bits de la palabra %SW61.10 y %SW61.15: %SW61.10: este bit indica si hay una discrepancia de la versin del SO del ETY controlado entre el primario y el standby: =0: no hay discrepancia de la versin del SO del ETY controlado. =1: discrepancia de la versin del SO del ETY controlado. Si la discrepancia de la versin del SO no est permitida en el registro de comando (bit 4 = 0), el sistema no funcionar como redundante cuando se seale el fallo.
%SW61.15: Si %SW 61.15 se define = 1, este

NO

ajuste indica que el dispositivo del coprocesador Ethernet se ha configurado y funciona correctamente. 258

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW62 HSBY_REVERSE0 %SW63 HSBY_REVERSE1 %SW64 HSBY_REVERSE2 %SW65 HSBY_REVERSE3

Funcin Palabra de transferen cia en Premium

Descripcin Estas cuatro palabras son registros inversos reservados para el proceso de transferencia inverso. Estos cuatro registros inversos pueden escribirse en el programa de aplicacin (primera seccin) del controlador standby y se transfieren en cada exploracin del controlador primario.

Estado Premium inicial 0 S

Atrium NO

35006147 10/2013

259

Objetos de sistema

Descripcin de las palabras de sistema de %SW128 a %SW143


Descripcin detallada Descripcin de las palabras de sistema %SW128 a %SW143:
Palabra Smbolo %SW128...143 ERRORCNXi con i=0 a 15 Funcin Fallo del punto de conexin Fipio Descripcin Cada bit de este grupo indica el estado de un equipo conectado al bus Fipio. Normalmente en 1. El estado 0 de uno de estos bits indica la aparicin de un fallo en este punto de conexin. Para un punto de conexin no configurado, el bit correspondiente siempre es 1. Estado inicial 0

Tabla de correspondencia entre los bits de las palabras y la direccin de un punto de conexin:
Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8 Bit 9 Bit 10 %SW128 %SW129 %SW130 %SW131 %SW132 %SW133 %SW134 %SW135 %SW136 %SW137 %SW138 %SW139 %SW140 %SW141 %SW142 %SW143 0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 1 17 33 49 65 81 97 113 129 145 161 177 193 209 225 241 2 18 34 50 66 82 98 114 130 146 162 178 194 210 226 242 3 19 35 51 67 83 99 115 131 147 163 179 195 211 227 243 4 20 36 52 68 84 100 116 132 148 164 180 196 212 228 244 5 21 37 53 69 85 101 117 133 149 165 181 197 213 229 245 6 22 38 54 70 86 102 118 134 150 166 182 198 214 230 246 7 23 39 55 71 87 103 119 135 151 167 183 199 215 231 247 8 24 40 56 72 88 104 120 136 152 168 184 200 216 232 248 9 25 41 57 73 89 105 121 137 153 169 185 201 217 233 249 10 26 42 58 74 90 106 122 138 154 170 186 202 218 234 250 Bit 11 11 27 43 59 75 91 107 123 139 155 171 187 203 219 235 251 Bit 12 12 28 44 60 76 92 108 124 140 156 172 188 204 220 236 252 Bit 13 13 29 45 61 77 93 109 125 141 157 173 189 205 221 237 253 Bit 14 14 30 46 62 78 94 110 126 142 158 174 190 206 222 238 254 Bit 15 15 31 47 63 79 95 111 127 143 159 175 191 207 223 239 255

260

35006147 10/2013

Objetos de sistema

Descripcin de las palabras de sistema %SW144 a %SW146


Descripcin detallada Descripcin de las palabras de sistema %SW144 a %SW146.
Palabra Smbolo %SW144 BAOPMOD Funcin Modalidad de servicio de la funcin de rbitro del bus Fipio Descripcin Esta palabra de sistema permite detener e iniciar la funcin de rbitro de bus y la funcin de productor/consumidor. Permite modificar la modalidad de arranque (automtica y manual) del bus en caso de parada. %SW144.0 = 1: funcin de productor/consumidor en RUN. = 0: funcin de productor/consumidor en STOP (no se intercambia ninguna variable en el bus).
%SW144.1 = 1: el rbitro de bus est en RUN 0. = 0: el rbitro de bus est en STOP (no se realiza ninguna exploracin

Estado inicial 0

de variables ni mensajes en el bus).


%SW144.2 = 1: arranque automtico en caso de parada automtica del bus. = 0: arranque manual en caso de parada automtica del bus. %SW144.3 a 15 reservadas, %SW144.3 = 1, %SW144.4 a 15 = 0.

%SW145 BAPARAM

Modificacin de El usuario pone a 1 los bits y a continuacin el sistema a 0 cuando se efecta los parmetros la inicializacin. del rbitro del %SW145.0 = 1: modificacin de la prioridad del rbitro de bus; el byte ms bus Fipio significativo de esta palabra de sistema contiene el valor de la prioridad del rbitro de bus que se aplicar a ste. %SW145.1 y %SW145.2 estn reservadas. %SW145.3 a %SW145.7 reservadas a 0. %SW145.8 a %SW145.15: este byte contiene el valor que se aplicar al bus, segn el valor del bit 0. La modificacin de estos parmetros puede realizarse cuando el rbitro de bus est en RUN, pero la validacin por parte de la aplicacin necesita detener y, a continuacin, arrancar sta.

%SW146 Visualizacin BASTATUS de la funcin de rbitro del bus Fipio

El byte menos significativo indica el estado de la funcin de productor/consumidor. El byte ms significativo indica el estado de la funcin de rbitro de bus. Valor del byte: 16#00: la funcin no existe (no hay aplicacin Fipio). 16#70: la funcin se inicializa pero no est operativa (en STOP). 16#F0: la funcin est en curso de ejecucin normal (en RUN).

35006147 10/2013

261

Objetos de sistema

ATENCIN
COMPORTAMIENTO NO DESEADO DEL SISTEMA La modificacin de las palabras de sistema %SW144 y %SW145 puede provocar la parada del PLC. El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo.

262

35006147 10/2013

Objetos de sistema

Descripcin de las palabras de sistema de %SW147 a %SW152


Descripcin detallada Descripcin de las palabras de sistema %SW147 a %SW152:
Palabra Smbolo %SW147 TCRMAST %SW148 TCRFAST %SW150 NBFRSENT %SW151 NBFRREC %SW152 NBRESENTMSG Funcin Tiempo del ciclo de la red MAST Tiempo del ciclo de la red FAST Nmero de bloques de datos emitidos Nmero de tramas recibidas Nmero de mensajes restablecidos Descripcin Un valor distinto de cero indica, en ms, el valor del tiempo del ciclo de la red (TCRMAST) de la tarea MAST. Un valor distinto de cero indica, en ms, el valor del tiempo del ciclo de la red (TCRFAST) de la primera tarea FAST. Esta palabra indica el nmero de tramas emitidas por el administrador de la va Fipio. Esta palabra indica el nmero de tramas recibidas por el administrador de la va Fipio. Esta palabra indica el nmero de restablecimientos de mensajes efectuados por el administrador de la va Fipio. Estado inicial 0 0 0

0 0

35006147 10/2013

263

Objetos de sistema

Descripcin de la palabra de sistema %SW153


Descripcin detallada Descripcin de la palabra de sistema %SW153:
Palabra Smbolo %SW153 FipioERR0 Funcin Descripcin Estado inicial 0

El sistema pone a 1 cada bit y el usuario Lista de los los vuelve a poner a 0. fallos del administrador de Vase la lista siguiente. la va Fipio.

Descripcin de los bits


bit 0 = "fallo de rebasamiento de la estacin": corresponde a una prdida de smbolo MAC en la recepcin, vinculada a una reaccin demasiado lenta del receptor. bit 1 = "fallo de rechazo de mensaje": indica un mensaje con confirmacin denegada o sin confirmacin MAC en recepcin, bit 2 = "fallo de rechazo de interrupcin de variable". bit 3 = "fallo de underrun de la estacin": corresponde a la incapacidad de la estacin para respetar la velocidad de emisin en la red. bit 4 = "fallo de capa fsica": corresponde a una ausencia prolongada de transmisin en la capa fsica. bit 5 = "fallo de ausencia de eco": corresponde a un fallo para el cual el emisor est en curso de emisin, con una corriente de emisin comprendida en el rango de funcionamiento y deteccin simultnea de ausencia de seal en la misma va. bit 6 = "fallo de conversacin": corresponde a un fallo para el cual el emisor dispone del control de la lnea desde un tiempo superior al lmite mximo de funcionamiento definido. Este fallo puede deberse, por ejemplo, a un deterioro del modulador o a una capa de enlace de datos defectuosa. bit 7 = "fallo de hipocorriente": corresponde a un fallo en el cual el emisor genera en su lnea, cuando se solicita, una corriente inferior al lmite mnimo de funcionamiento definido. Este fallo se debe al aumento de la impedancia de lnea (lnea abierta...). bit 8 = "fallo de bloque de datos fragmentado": indica la recepcin de un silencio en el cuerpo de una trama despus de identificar a un delimitador de principio de trama y antes de identificar a un delimitador de final de trama. La aparicin de un silencio en condiciones normales de funcionamiento tiene lugar despus de identificar un delimitador de final de trama. bit 9 = "fallo de trama CRC en la recepcin": indica una diferencia de valor entre el CRC calculado en la trama que se recibe normalmente y el CRC contenido en la misma. bit 10 = "fallo de codificacin de trama en la recepcin": indica la recepcin de determinados smbolos, pertenecientes exclusivamente a las secuencias de delimitacin de principio y fin de la trama, en el cuerpo de sta. bit 11 = "fallo de longitud de la trama recibida": el nmero de bytes recibidos para el cuerpo de una trama es superior a 256 bytes.

264

35006147 10/2013

Objetos de sistema

bit 12 = "recepcin de una trama de tipo desconocido": en el cuerpo de una trama, el primer byte identifica el tipo de trama de enlace. En el protocolo de enlace de la norma WorldFip se define un determinado nmero de tipos de tramas. La presencia de cualquier otro cdigo en una trama corresponde a un fallo de tipo de trama desconocido. bit 13 = "recepcin de una trama truncada": un fragmento de trama se caracteriza por el reconocimiento de una secuencia de smbolos del delimitador de final de trama cuando la estacin de destino esperaba recibir un delimitador de principio de trama. bit 14 = "no se utiliza, valor no significativo". bit 15 = "no se utiliza, valor no significativo"

35006147 10/2013

265

Objetos de sistema

Descripcin de la palabra de sistema %SW154


Descripcin detallada Descripcin de la palabra de sistema %SW154:
Palabra Smbolo %SW154 FipioERR1 Funcin Descripcin Estado inicial 0

Lista de los fallos del El sistema pone cada bit a 1 y el usuario los administrador de la va Fipio. vuelve a poner a 0. Vase la lista siguiente.

Descripcin de los bits


bit 0 = "timeout de secuencia aperidica": indica un rebasamiento de la ventana de mensajes o de variables aperidicas en un ciclo elemental del macrociclo. bit 1 = "rechazo de solicitud de mensaje": indica una saturacin de la cola de espera de mensajes; el rbitro de bus ya no puede momentneamente almacenar y a continuacin satisfacer una peticin. bit 2 = "rechazo de comando de actualizacin urgente": indica una saturacin de la cola de espera de peticiones de intercambio de variables aperidicas urgentes; el rbitro de bus ya no puede momentneamente almacenar ni satisfacer la peticin. bit 3 = "rechazo de comando de actualizacin no urgente": indica una saturacin de la cola de espera de peticiones de intercambio de variables aperidicas no urgentes; el rbitro de bus ya no puede momentneamente almacenar ni satisfacer la peticin. bit 4 = "fallo de silencio": el rbitro de bus no ha detectado ninguna actividad en el bus durante un perodo superior al tiempo normalizado WorldFip. bit 5 = "colisin en la red en la emisin de identificador": indica una actividad en la red durante los perodos tericos de silencio. Entre una emisin y la espera de una respuesta por parte del rbitro de bus, no debe circular nada en el bus. Si el rbitro de bus detecta una actividad, genera un fallo de colisin (por ejemplo, cuando varios rbitros estn activos al mismo tiempo en el bus). bit 6 = "fallo de overrun del rbitro de bus": indica un conflicto de acceso a la memoria de la estacin del rbitro de bus. bit 7 = "no se utiliza, valor no significativo". bit 8 a bit 15 = reservado a 0.

266

35006147 10/2013

Objetos de sistema

Descripcin de las palabras de sistema Premium/Atrium de %SW155 a %SW167


Descripcin detallada Descripcin de las palabras de sistema %SW155 a %SW167:
Palabra Smbolo %SW155 NBEXPLFIP Funcin Descripcin Estado inicial 0

Nmero de intercambios explcitos que se procesan en Fipio, Nmero de efectuados mediante instrucciones (READ_STS, REA_PARAM, etc.). intercambios explcitos en Fipio Tiene tambin en cuenta los intercambios explcitos efectuados mediante solicitudes (READ_IO_OBJECT, WRITE_IO_OBJECT, etc.) Nota: El nmero de intercambios explcitos es siempre inferior a 24. Estado de funcionamiento de los mdulos del autmata Las palabras %SW160 a %SW167 se asocian respectivamente a los bastidores 0 a 7. Los bits de 0 a 15 de cada una de estas palabras se asocian a los mdulos situados en las posiciones de 0 a 15 de estos bastidores. El bit est a 0 si el mdulo presenta un fallo y a 1 si el mdulo funciona correctamente. Ejemplo: %SW163.5 =0 El mdulo situado en el emplazamiento 5 del bastidor 3 presenta un fallo.

%SW160 %SW167 PREMRACK0 a PREMRACK7

35006147 10/2013

267

Objetos de sistema

Seccin 6.4
palabras de sistema especficas de Quantum

palabras de sistema especficas de Quantum


Objeto de esta seccin En esta seccin se describen las palabras de sistema %SW60 a %SW640 en el caso de PLC Quantum.

ADVERTENCIA
COMPORTAMIENTO INESPERADO DE LA APLICACIN No utilice objetos del sistema (%S, %SWi) como variables cuando no estn documentados. El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o dao al equipo. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Descripcin de las palabras de sistema Quantum de %SW60 a %SW69 Descripcin de las palabras de sistema Quantum de %SW98 a %SW109 Descripcin de las palabras de sistema Quantum de %SW110 a %SW177 Descripcin de las palabras de sistema Quantum de %SW180 a %SW764 Pgina 269 275 277 281

268

35006147 10/2013

Objetos de sistema

Descripcin de las palabras de sistema Quantum de %SW60 a %SW69


Descripcin detallada Descripcin de las palabras de sistema de %SW60 a %SW69.

35006147 10/2013

269

Objetos de sistema

Palabra Smbolo %SW60 HSB_CMD

Funcin Registro de comando Hot Standby Quantum

Descripcin Significado de los diferentes bits de la palabra %SW60: %SW60.0 =1 invalida los comandos introducidos en la pantalla (teclado). %SW60.1 0 establece el PLC A en la modalidad OFFLINE. 1 establece el PLC A en la modalidad ONLINE.
%SW60.2 0 establece el PLC B en la modalidad OFFLINE. 1 establece el PLC B en la modalidad ONLINE.

Estado inicial 0

NOTA: El controlador de la CPU primaria solo pasa al estado RUN Offline si la CPU secundaria se encuentra en estado RUN Standby. Al iniciar el PLC secundario, la CPU secundaria solo pasa a la modalidad online (RUN Standby) si los dos bits %SW60.1 y %SW60.2 se establecen en 1 (independientemente de la asignacin A/B): Si los bits %SW60.1 y %SW60.2 se establecen en 0 de forma simultnea, se produce una conmutacin: El controlador primario pasa a RUN Offline y el controlador standby funciona como RUN primario. Para finalizar la conmutacin, los bits %SW60.1 y %SW60.2 deben volver a establecerse en 1. De este modo, la CPU offline vuelve a la modalidad online (Run Standby). La modalidad OFFLINE/ONLINE controlada por los bits %SW60.1 y %SW60.2 no est vinculada a la modalidad ONLINE/OFFLINE del teclado con pantalla (vase Modicon Quantum, Sistema Hot Standby, Manual del usuario).
%SW60.3 0 Si se detecta una discrepancia de aplicacin, la CPU standby

pasa a modalidad OFFLINE forzosamente.


1 La CPU standby funciona con normalidad incluso si se produce

una discrepancia.
%SW60.4 0 autoriza a actualizar el firmware solo despus de detener la

aplicacin.
1 autoriza a actualizar el firmware sin detener la aplicacin. %SW60.5 0 sin accin (valor predeterminado) 1 peticin para una transferencia de aplicaciones del primario al

standby
%SW60.8 0 cambio de direccin en el puerto Modbus 1 durante un intercambio

de primario.
1 sin cambio de direccin en el puerto Modbus 1 durante un

intercambio de primario. 270


35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW60 HSB_CMD

Funcin Registro de comando Hot Standby Quantum

Descripcin Continuacin: %SW60.9 0 cambio de direccin en el puerto Modbus 2 durante un intercambio de primario. 2 sin cambio de direccin en el puerto Modbus 1 durante un intercambio de primario.
%SW60.10 0 cambio de direccin en el puerto Modbus 3 durante un intercambio

Estado inicial 0

de primario.
3 sin cambio de direccin en el puerto Modbus 1 durante un

intercambio de primario.

35006147 10/2013

271

Objetos de sistema

Palabra Smbolo %SW61 HSB_STS

Funcin Registro de estado Hot Standby Quantum

Descripcin Significado de los diferentes bits de la palabra %SW61: Bits de modalidad de funcionamiento del PLC %SW61.0 y %SW61.1: %SW61.1 = 0, %SW61.0 = 1: modalidad OFFLINE %SW61.1 = 1, %SW61.0 = 0: modalidad primaria %SW61.1 = 1, %SW61.0 = 1: modalidad secundaria (Standby)
Bits de modalidad de funcionamiento %SW61.2 y %SW61.3 del otro

Estado inicial 0

PLC: %SW61.3 = 0, %SW61.2 = 1: modalidad OFFLINE %SW61.3 = 1, %SW61.2 = 0: modalidad primaria %SW61.3 = 1, %SW61.2 = 1: modalidad secundaria (Standby) %SW61.3 = 0, %SW61.2 = 0: El PLC remoto no es accesible (desconectado, sin comunicacin).
%SW61.4: 0: Las aplicaciones son idnticas en ambos PLC. 1: Las aplicaciones no son idnticas en ambos PLC. %SW61.5: 0: El PLC se utiliza como unidad A. 1: El PLC se utiliza como unidad B. %SW61.6 indica si la conexin CPU-Sync entre los dos PLC es vlida: 0: La conexin CPU-Sync funciona correctamente. El contenido del

bit 5 es significativo.
1: La conexin CPU-Sync no es vlida. En este caso, el contenido

del bit 5 no es significativo, porque no puede realizarse la comparacin de las dos direcciones MAC.
%SW61.7: 0: mismas versiones del SO del PLC 1: versiones distintas del PLC %SW61.8: 0: las mismas versiones del SO del coprocesador 1: versiones del coprocesador diferentes %SW61.12: 0: La informacin proporcionada por el bit 13 no es relevante. 1: La informacin proporcionada por el bit 13 es vlida. %SW61.13: 0: Direccin NOE definida como IP. 1: Direccin NOE definida como IP + 1. %SW61.15: 0: Hot Standby no activado. 1: Hot Standby activado.

272

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW62 HSBY_REVERSE0 %SW63 HSBY_REVERSE1 %SW64 HSBY_REVERSE2 %SW65 HSBY_REVERSE3 %SW68 HSBY_APP_ TATUS S

Funcin Palabra de transferen cia inversa de Hot Standby

Descripcin Estas cuatro palabras se modifican en la tarea MAST Hot Standby en la primera seccin del programa de aplicacin del usuario. Se transfieren automticamente desde el procesador standby para actualizar el PLC primario. Se pueden leer en el PLC primario y usarse en la aplicacin Hot Standby.

Estado inicial 0

Estado de la aplicacin Hot Standby

%SW68.1: Aplicaciones 0: Las aplicaciones son idnticas en ambos PLC. 1: Las aplicaciones no son idnticas en ambos PLC. %SW68.4: Valores de inicio 0: Los valores de inicio son idnticos en ambos PLC. 1: Los valores de inicio no son idnticos en ambos PLC. En tal caso, compruebe los cables de fibra ptica.

35006147 10/2013

273

Objetos de sistema

Palabra Smbolo %SW69 HSBY_FW_MISMA TCH

Funcin Registro de discrepanc ia de firmware Hot Standby

Descripcin Cada bit de esta palabra indica los resultados de la comparacin de los niveles de firmware entre los slots primario y standby del bastidor principal, que contienen la misma CPU, el mismo coprocesador o el mismo CRP Ethernet. Esta palabra puede manejar bastidores de 16 slots grandes; si se usan bastidores ms pequeos, los bits excedentes no son vlidos. Por ejemplo, si se usan bastidores de 8 slots, solo los primeros 8 bits de la palabra son vlidos. Para los 16 bits: Si un bit = 0, los componentes del primario y el standby tienen las mismas versiones de firmware. Si un bit = 1, los componentes del primario y el standby tienen diferentes versiones de firmware. NOTA: Los bits del 0 al 15 corresponden a las posiciones de bastidor de la 16 a la 1:

Estado inicial 0

274

35006147 10/2013

Objetos de sistema

Descripcin de las palabras de sistema Quantum de %SW98 a %SW109


Descripcin detallada Descripcin de las palabras de sistema de %SW98 a %SW109:
Palabra Smbolo %SW98 CRA_COMPAT_LOW Funcin Registro de estado bajo de compatibilidad CRA Descripcin Significado de los diferentes bits de la palabra %SW98: %SW98.0 no se utiliza y est establecido en 0 de forma predeterminada. %SW98.1 a %SW98.15 =0 establece la estacin 2 en 16 no es compatible. =1 establece la estacin 2 en 16 es compatible. Significado de los diferentes bits de la palabra %SW99:
%SW99.0 a %SW99.15 =0 establece la estacin 17 en 32 no es compatible. =1 establece la estacin 17 en 32 es compatible.

Estado inicial 0

%SW99 CRA_COMPAT_HIGH

Registro de estado alto de compatibilidad CRA

%SW100 CCOTF_COUNT

Significado de los diferentes bits de la palabra %SW100: Registro de estado de XXYY conteo CCOTF XX aumenta cada vez que se realiza una configuracin de E/S en estado RUN en una estacin RIO, YY aumenta cada vez que se realiza una configuracin de E/S en estado RUN en un bastidor local. NOTA: En una transicin de modalidad de RUN a STOP, %SW100 se restablece en 0. NOTA: Cuando un byte alcanza su valor mximo de 255, el contador se restablece en 1.

%SW101 EIO_CCOTF_COUNT

Significado de los bytes de la palabra %SW101: Registro de estado de XXYY conteo CCOTF XX Reservado EIO YY incrementa cada vez que cambia una configuracin de E/S Ethernet. NOTA: Cuando un contador alcanza su valor mximo de 255, se restablece en 1. NOTA: En un arranque en fro, en caliente o al descargar aplicaciones, %SW101 se restablece en 0.

%SW108 FORCED_DISCRETE _COUNT

Registro de estado de conteo de bits forzados

Palabra %SW108:
aumenta siempre que est forzado un bit binario (%I,%Q o

%M)
disminuye siempre que se cancela el forzado de un bit binario

35006147 10/2013

275

Objetos de sistema

Palabra Smbolo %SW109 FORCED_ANALOG_ COUNT

Funcin Registro de estado de conteo de los canales analgicos forzados

Descripcin Palabra %SW109:


aumenta siempre que est forzado un canal analgico disminuye siempre que se cancela el forzado de un canal

Estado inicial 0

analgico NOTA: Limitado a canales analgicos de los mdulos analgicos Modicon M340 en estaciones de E/S remotas M340

276

35006147 10/2013

Objetos de sistema

Descripcin de las palabras de sistema Quantum de %SW110 a %SW177


Descripcin detallada Descripcin de las palabras de sistema de %SW110 a %SW177. Estas palabras estn activas en los PLC Quantum 140 CPU 6 .
Palabra Smbolo %SW110 Funcin Nmero de rea de memoria no restringida para %M Nmero de rea de memoria no restringida para %MW Nmero de conexiones abiertas Nmero de conexiones denegadas Descripcin La palabra del sistema proporciona informacin sobre el tamao del rea de memoria no restringida para %M. La palabra del sistema proporciona informacin sobre el tamao del rea de memoria no restringida para %MW. Estado inicial 0

%SW111

%SW128 NB_P502_CNX %SW129 NB_DENIED_CNX %SW130 NB_P502_REF %SW132 y %SW133 NB_SENT_MSG %SW134 y %SW135 NB_RCV_MSG %SW136 NB_IOS_CNX %SW137 NB_IOS_MSG %SW138 GLBD_ERROR %SW139 BW_GLBD_IOS

El byte de mayor valor de esta palabra indica el nmero de conexiones TCP abiertas en el puerto 502 de la conexin Ethernet TCP/IP. Esta palabra indica el nmero de conexiones TCP denegadas del puerto 502 de la conexin Ethernet TCP/IP.

Nmero de mensajes Esta palabra indica el nmero de mensajes TCP rechazados denegados en el puerto 502 de la conexin Ethernet TCP/IP. Nmero de mensajes Esta palabra doble %SD132 indica el nmero de enviados mensajes enviados al puerto 502 de la conexin Ethernet TCP/IP. Nmero de mensajes Esta palabra doble %SD134 indica el nmero de recibidos mensajes recibidos en el puerto 502 de la conexin Ethernet TCP/IP. Nmero de dispositivos explorados Esta palabra indica el nmero de equipos explorados en el puerto 502 de la conexin Ethernet TCP/IP.

Nmero de mensajes Esta palabra indica el nmero de mensajes recibidos por de exploracin de E/S segundo desde el servicio de exploracin de E/S en el puerto 502 de la conexin Ethernet TCP/IP. recibidos Error de coherencia de datos globales. Carga del servicio de exploracin de E/S y de datos globales Error de coherencia de datos globales. El byte de menor valor de esta palabra mide el porcentaje de carga relativa a la exploracin de E/S. El byte de mayor de valor de esta palabra mide el porcentaje de carga relativa a los datos globales.

0 0

35006147 10/2013

277

Objetos de sistema

Palabra Smbolo %SW140 BW_OTHER_MSG

Funcin Carga del servicio de mensajera y otros servicios Direccin IP

Descripcin El byte de menor valor de esta palabra mide el porcentaje de carga relativa al servicio de mensajera. El byte de mayor valor de esta palabra mide el porcentaje de carga relativa a otros servicios. Esta palabra doble %SD141 recibe la direccin IP de la conexin Ethernet.

Estado inicial 0

%SW141 y %SW142 IP_ADDR %SW143 y %SW144 IP_NETMASK %SW145 y %SW146 IP_GATEWAY

0 0 0

Mscara de subred IP Esta palabra doble %SD143 recibe la mscara de subred de la conexin Ethernet. Direccin predeterminada de la pasarela de Ethernet Esta palabra doble %SD145 recibe la direccin predeterminada de la pasarela de Ethernet. Las palabras %SW147, %SW148 y %SW149 codifican las direcciones MAC 1, MAC 2 y MAC 3 respectivamente. Esta palabra codifica la versin del coprocesador para los PLC 140 CPU 671 60, 140 CPU 672 61, 140 CPU 672 60 y 140 CPU 678 61. La versin se muestra en formato hexadecimal.

De %SW147 a %SW149 Direcciones MAC MAC_ADDR1 a 3 %SW150 Versin del coprocesador

%SW151 BOARD_STS

Estado de la conexin Esta palabra codifica el estado de la conexin Ethernet: Ethernet Bit 0 = 0 si se detiene la conexin Ethernet Bit 1 = 0 Bit 2: 0 = modalidad semidplex, 1 = dplex completo Bit 3 = 0 Bit 4 a 11: = 7 para Quantum, = 6 para Hot Standby Quantum Bit 12: 0 = conexin de 10 Mbits, 1 = conexin de 100 Mbits Bit 13: 0 = conexin 10/100Base-TX (par trenzado). Bit 14: 0 Bit 15: 0 = conexin Ethernet inactiva, 1 = conexin Ethernet activa Los bits de las palabras de %SW152 a %SW153 estn asociados al estado detectado de la estacin Ethernet RIO. El bit se establece en 0 si, por lo menos, un mdulo de E/S de la estacin presenta un error detectado. Se establece en 1 si todos los mdulos de la estacin estn funcionando correctamente. %SW152.0: Estacin nm. 1 %SW152.1: Estacin nm. 2 ........... %SW153.14: Estacin nm. 31

De %SW152 a %SW153 Estado de error ERIO_DROP_ERROR detectado de la estacin EIO

278

35006147 10/2013

Objetos de sistema

Palabra Smbolo

Funcin

Descripcin Los bits de las palabras de %SW160 a %SW167 se asocian a los dispositivos que han sido sometidos a exploracin de E/S. El bit se establece en 0 si el dispositivo tiene un error detectado Se establece en 1 si el dispositivo est funcionando correctamente. %SW160.0: dispositivo nm. 1. %SW160.1: dispositivo nm. 2. ........... %SW167.15: dispositivo nm. 128. Nota: Estas palabras de sistema slo estn disponibles en coprocesadores Quantum y no estn disponibles en mdulos NOE.

Estado inicial -

De %SW160 a %SW167 Estado de REFRESH_IO funcionamiento de los dispositivos mediante exploracin de E/S

Los bits de las palabras de %SW168 a %SW171 se De %SW168 a %SW171 Estado de VALID_GD funcionamiento de los asocian a los datos globales. El bit se establece en 0 si el dispositivo tiene un error datos globales detectado Se establece en 1 si el dispositivo est funcionando correctamente. %SW168.0: dispositivo nm. 1. %SW168.1: dispositivo nm. 2. ........... %SW171.15: dispositivo nm. 64. De %SW172 a %SW173 Estado de error detectado de la ERIO_CONNECT_ estacin de STATUS comunicaciones de E/S Ethernet de primario Hot Standby y autnomo Los bits de las palabras de %SW172 a %SW173 estn asociados al estado de conexin de la estacin Ethernet RIO. El bit se establece en 0 si la conexin entre el PLC y la estacin no funciona correctamente. Se establece en 1 si la conexin est funcionando correctamente. %SW172.0: Estacin nm. 1 %SW172.1: Estacin nm. 2 ........... %SW17314: Estacin nm. 31 NOTA: En un sistema Hot Standby, stas son para la CPU del controlador primario.

35006147 10/2013

279

Objetos de sistema

Palabra Smbolo

Funcin

Descripcin Los bits de las palabras de %SW176 a %SW177 estn asociados al estado de conexin de la estacin Ethernet RIO. El bit se establece en 0 si la conexin no est funcionando correctamente. Se establece en 1 si la conexin est funcionando correctamente. %SW176.0: Estacin nm. 1 %SW176.1: Estacin nm. 2 ........... %SW177.14: Estacin nm. 31 NOTA: En un sistema Hot Standby, stas son para la CPU del controlador Standby. No son significativas en un PLC autnomo.

Estado inicial -

De %SW176 a %SW177 Estado de error SDBY_ERIO_CONNECT_ detectado de la estacin de STATUS comunicaciones de E/S Ethernet de Hot Standby

280

35006147 10/2013

Objetos de sistema

Descripcin de las palabras de sistema Quantum de %SW180 a %SW764


Descripcin detallada Descripcin de las palabras de sistema de %SW180 a %SW764:

35006147 10/2013

281

Objetos de sistema

Palabra Smbolo De %SW180 a %SW339 IOHEALTHij i=1..32, j=1..5

Funcin Bits de estado de los mdulos del PLC Incluidos los mdulos de CPU del controlador Hot Standby

Descripcin Las palabras %SW180 y %SW181 estn asociadas con la estacin PLC 1 local principal (bastidor 1) y de ampliacin (bastidor 2). Estas dos palabras se utilizan en ambos sistemas autnomos y sistemas Hot Standby: %SW180: bits de estado del mdulo de la estacin 1, bastidor 1 %SW181: bits de estado del mdulo de la estacin 1, bastidor 2 Las palabras %SW182 y %SW183 estn asociadas con la estacin PLC 1 homloga principal (bastidor 1) y de ampliacin (bastidor 2). Estas dos palabras solo se utilizan en sistemas Hot Standby: %SW182: bits de estado del mdulo de la estacin 1, bastidor 1 %SW183: bits de estado del mdulo de la estacin 1, bastidor 2 NOTA: SW182 - %SW183 no se utilizan en un PLC autnomo.
SW184 est reservada

Estado inicial 0

Las palabras %SW185 y %SW339 estn asociadas a estaciones de PLC de 2 a 32. Cada estacin tiene 5 palabras disponibles pero solo se utilizan las 2 primeras: %SW185: bits de estado del mdulo de la estacin 2 S908, bastidor 1 %SW186: bits de estado del mdulo de la estacin 2 S908, bastidor 2 %SW187 est reservada. %SW188 est reservada. %SW189 est reservada. ... %SW335: bits de estado del mdulo de la estacin 32 S908, bastidor 1 %SW336: bits de estado del mdulo de la estacin 32 S908, bastidor 2 %SW337 est reservada. %SW338 est reservada. %SW339 est reservada. Los bits de 0 a 15 de cada una de estas palabras se asocian a los mdulos situados en las posiciones de 16 a 1 de estos bastidores. El bit es igual a 0 si el mdulo no est operativo e igual a 1 si el mdulo funciona correctamente. Ejemplo: %SW185.5 = 0: El mdulo situado en la estacin 2, bastidor 1, slot 11 no est operativo. NOTA: los mdulos 140 XBE 100 00 (vase Quantum con Unity Pro, Hardware, Manual de referencia) requieren una gestin particular. NOTA: Los bastidores de ampliacin no se utilizan en los PLC de seguridad, slo las palabras de sistemas del bastidor principal del PLC (%SW180, %SW185, %SW190...%SW335) estn disponibles en el PLC de seguridad.

282

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW340 MB+DIOSLOT

Funcin Nmero de slot del procesador con conexin Modbus+ Estado de funcionamiento de los mdulos de estaciones distribuidas de la primera red DIO

Descripcin Nmero de slot del procesador que integra la conexin Modbus+ para la conexin a la primera red DIO. El nmero de slot est codificado de 0 a 15. Esta palabra no est disponible en PLC de seguridad Quantum. Las palabras de %SW341 a %SW404 estn asociadas a las estaciones distribuidas (DIO): 64 palabras asociadas a las 64 estaciones DIO de la primera red. %SW341: estado de funcionamiento de los mdulos de la estacin 1. %SW342: estado de funcionamiento de los mdulos de la estacin 2. ........... %SW404: estado de funcionamiento de los mdulos de la estacin 64. Los bits de 0 a 15 de cada una de estas palabras se asocian a los mdulos situados en las posiciones de 16 a 1 de estas estaciones. El bit se establece en 0 si el mdulo presenta un fallo y en 1 si el mdulo funciona correctamente. Ejemplo: %SW362.5 =0 El mdulo situado en el slot 11 de la estacin 22 de la primera red DIO presenta un fallo. NOTA: Para los mdulos 140 CRA 2 , el valor de este bit no resulta significativo y se fija siempre en 0. Estas palabras no estn disponibles en PLC de seguridad y E/S de Quantum Ethernet redes DIO. Nmero de slot del mdulo 140 NAME 2 para la conexin a la segunda red DIO. El nmero de slot est codificado de 0 a 15. Esta palabra no est disponible en PLC de seguridad Quantum. Las palabras de %SW406 a %SW469 estn asociadas a las estaciones distribuidas (DIO): 64 palabras asociadas a las 64 estaciones DIO de la segunda red. %SW406: estado de funcionamiento de los mdulos de la estacin 1. %SW407: estado de funcionamiento de los mdulos de la estacin 2. ........... %SW469: estado de funcionamiento de los mdulos de la estacin 64. Los bits de 0 a 15 de cada una de estas palabras se asocian a los mdulos situados en las posiciones de 16 a 1 de estas estaciones. El bit se establece en 0 si el mdulo presenta un fallo y en 1 si el mdulo funciona correctamente. Ejemplo: %SW412.5 = 0 El mdulo situado en el slot 11 de la estacin 7 de la segunda red DIO presenta un fallo. NOTA: Para los mdulos 14 CRA 2 , el valor de este bit no resulta significativo y se fija siempre en 0. Estas palabras no estn disponibles en PLC de seguridad y E/S de Quantum Ethernet redes DIO.

Estado inicial -

De %SW341 a %SW404 MB+IOHEALTHi i=1..64

%SW405 NOM1DIOSLOT

Nmero de slot del primer mdulo de interfaz de red DIO Estado de funcionamiento de los mdulos de estaciones distribuidas de la segunda red DIO

De %SW406 a %SW469 NOM1DIOHEALT Hi i=1..64

35006147 10/2013

283

Objetos de sistema

Palabra Smbolo %SW470 NOM2DIOSLOT

Funcin Nmero de slot del segundo mdulo de interfaz de red DIO Estado de funcionamiento de los mdulos de estaciones distribuidas de la tercera red DIO

Descripcin Nmero de slot de los mdulos 140 NAME 2 para la conexin a la tercera red DIO. El nmero de slot est codificado de 0 a 15. Esta palabra no est disponible en PLC de seguridad Quantum. Las palabras de %SW471 a %SW534 estn asociadas a las estaciones distribuidas (DIO): 64 palabras asociadas a las 64 estaciones DIO de la tercera red. %SW471: estado de funcionamiento de los mdulos de la estacin 1. %SW472: estado de funcionamiento de los mdulos de la estacin 2. ........... %SW534: estado de funcionamiento de los mdulos de la estacin 64. Los bits de 0 a 15 de cada una de estas palabras se asocian a los mdulos situados en las posiciones de 16 a 1 de estas estaciones. El bit se establece en 0 si el mdulo presenta un fallo y en 1 si el mdulo funciona correctamente. Ejemplo: %SW520.5 = 0 El mdulo situado en el slot 11 de la estacin 86 de la tercera red DIO presenta un fallo. NOTA: Para los mdulos 140 CRA 2 , el valor de este bit no resulta significativo y se fija siempre en 0. Estas palabras no estn disponibles en PLC de seguridad y E/S de Quantum Ethernet redes DIO.

Estado inicial -

De %SW471 a %SW534 NOM2DIOHEALT Hi i=1..64

284

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW535 RIOERRSTAT

Funcin Error RIO en el inicio

Descripcin Esta palabra almacena el cdigo de error de inicio. Se establece siempre en 0 cuando el sistema est en funcionamiento; en caso de error, el PLC no se inicia, pero genera un cdigo de estado de parada. 01: longitud de asignacin de las E/S 02: nmero de enlace de E/S remotas 03: nmero de estaciones en la asignacin de las E/S 04: suma de control de asignacin de las E/S 10: longitud del descriptor de estacin 11: nmero de estacin de E/S 12: tiempo de autonoma de la estacin 13: nmero de puerto ASCII 14: nmero de mdulos de la estacin 15: estacin ya configurada 16: puerto ya configurado 17: ms de 1.024 puntos de salida 18: ms de 1.024 puntos de entrada 20: direccin del slot del mdulo 21: direccin del bastidor del mdulo 22: nmero de bytes de salida 23: nmero de bytes de entrada 25: primer nmero de referencia 26: segundo nmero de referencia 28: bits internos fuera del rango de 16 bits 30: mdulo de salida impar sin pareja 31: mdulo de entrada impar sin pareja 32: referencia de mdulo impar sin pareja 33: referencia 1x despus del registro 3x 34: referencia del mdulo de prueba ya utilizada 35: el mdulo 3x no es de prueba 36: el mdulo 4x no es de prueba

Estado inicial -

35006147 10/2013

285

Objetos de sistema

Palabra Smbolo %SW536 CAERRCNT1 %SW537 CAERRCNT2 %SW537 CAERRCNT3

Funcin Estado de la comunicacin en el cable A

Descripcin Las palabras de %SW536 a %SW538 son palabras de error de comunicacin en el cable A. %SW536: byte ms significativo: cuenta los errores de trama; byte menos significativo: cuenta los desbordes del receptor DMA.
%SW537: byte ms significativo: cuenta los errores de recepcin; byte menos significativo: cuenta las recepciones de las

Estado inicial -

estaciones incorrectas.
%SW538: %SW538.15 = 1, trama corta, %SW538.14 = 1, sin final de trama, %SW538.3 = 1, error CRC, %SW538.2 = 1, error de alineacin, %SW538.1 = 1, error de desborde, %SW538.13 a 4 y 0 no se utilizan

%SW539 CBERRCNT1 %SW540 CBERRCNT2 %SW541 CBERRCNT3

Estado de la comunicacin en el cable B

Las palabras de %SW539 a %SW541 son palabras de error de comunicacin en el cable B. %SW539: byte ms significativo: cuenta los errores de trama; byte menos significativo: cuenta los desbordes del receptor DMA.
%SW540: byte ms significativo: cuenta los errores de recepcin; byte menos significativo: cuenta las recepciones de las

estaciones incorrectas.
%SW541: %SW541.15 = 1, trama corta, %SW541.14 = 1, sin final de trama, %SW541.3 = 1, error CRC, %SW541.2 = 1, error de alineacin, %SW541.1 = 1, error de desborde, %SW541.13 a 4 y el bit 0 no se utilizan

286

35006147 10/2013

Objetos de sistema

Palabra Smbolo

Funcin

Descripcin Las palabras de %SW542 a %SW544 son palabras de error de comunicacin global. %SW542: muestra el estado de la comunicacin global. %SW542.15 = 1, comunicacin en correcto funcionamiento %SW542.14 = 1, comunicacin en el cable A en correcto funcionamiento %SW542.13 = 1, comunicacin en el cable B en correcto funcionamiento %SW542.11 a 8 = contador de las comunicaciones perdidas %SW542.7 a 0 = contador totalizador de reintentos NOTA: si el cable A se desconecta del PLC standby, el estado de standby permanece activo. El PLC primario tiene en cuenta el PLC Standby, pero en lugar de mostrar %SW542.14=0, el %SW542.14 primario oscila entre 0 y 1. %SW543: es el contador totalizador global de los errores para el cable A: byte ms significativo: cuenta los errores detectados; byte menos significativo: cuenta las "faltas de respuesta".
%SW544: es el contador totalizador global de los errores para el

Estado inicial -

Estado de %SW542 GLOBERRCNT0 comunicacin global %SW543 GLOBERRCNT1 %SW544 GLOBERRCNT2

cable B: byte ms significativo: cuenta los errores detectados; byte menos significativo: cuenta las "faltas de respuesta". De %SW545 a %SW547 MODUNHEALTH1 IOERRCNT1 IORETRY1 Estado de la estacin local Para los PLC en los que la estacin 1 est reservada a las entradas/salidas locales, las palabras de estado de %SW545 a %SW547 se utilizan de la forma siguiente. %SW545: estado de la estacin local. %SW545.15 = 1, todos los mdulos funcionan correctamente. De %SW545.14 a 8 = no se utilizan, siempre a 0. De %SW545.7 a 0 = nmero de veces en las que el mdulo estaba defectuoso; el contador vuelve a 255.
%SW546: se utiliza como contador de los errores del bus de

entradas/salidas de 16 bits.
%SW547: se utiliza como contador de repeticiones del bus de

entradas/salidas de 16 bits.

35006147 10/2013

287

Objetos de sistema

Palabra Smbolo De %SW548 a %SW640 MODUNHEALTHi IOERRCNTi IORETRYi (i=2..32)

Funcin Estado de las estaciones descentralizadas

Descripcin Las palabras de %SW548 a %SW640 permiten describir el estado de las estaciones descentralizadas. Se utilizan tres palabras de estado para cada estacin. %SW548: muestra el estado de la comunicacin global de la estacin 2: %SW548.15 = 1, comunicacin en correcto funcionamiento %SW548.14 = 1, comunicacin en el cable A en correcto funcionamiento %SW548.13 = 1, comunicacin en el cable B en correcto funcionamiento %SW548.11 a 8 = contador de las comunicaciones perdidas %SW548.7 a 0 = contador totalizador de reintentos.
%SW549: es el contador totalizador global de los errores para el

Estado inicial -

cable A de la estacin 2: byte ms significativo: cuenta los errores detectados; byte menos significativo: cuenta las "faltas de respuesta".
%SW550: es el contador totalizador global de los errores para el

cable B de la estacin 2: byte ms significativo: cuenta los errores detectados; byte menos significativo: cuenta las "faltas de respuesta". Las palabras: De %SW551 a 553 estn asignadas a la estacin 3 De %SW554 a 556 estn asignadas a la estacin 4 ....... De %SW638 a 640 estn asignadas a la estacin 32

288

35006147 10/2013

Objetos de sistema

Palabra Smbolo De %SW641 a %SW702 ERIO_MOD_ HEALTH

Funcin Estado de bit del estado funcional del mdulo Ethernet RIO

Descripcin Las palabras de %SW641 a %SW702 son bits del estado funcional del mdulo E/S de Quantum Ethernet: %SW641: bits de estado de los mdulos en el bastidor 1, estacin 1 %SW641: bastidor 0 en BMX CRA 312 0 estacin 1 bastidor 1 en 140 CRA 312 00 estacin 1 %SW642:
bastidor 1 en BMX CRA 312 0 estacin 1 bastidor 2 en 140 CRA 312 00 estacin 1

Estado inicial 0

NOTA: para BMX CRA 312 0


El bastidor 0 es el bastidor principal El bastidor 1 es el bastidor de ampliacin

........... %SW701: bastidor 0 en BMX CRA 312 0 estacin 31 bastidor 31 en 140 CRA 312 00 estacin 1 %SW702:
bastidor 31 en BMX CRA 312 0 estacin 1 bastidor 2 en 140 CRA 312 00 estacin 31

Los bits del 0 al 15 de cada una de estas palabras estn asociados con los mdulos ubicados en las posiciones: Del 16 al 1 del mdulo de la estacin 140 CRA 312 00. Del 15 al 0 del mdulo de la estacin BMX CRA 312 0. El bit se establece en 0 si el mdulo tiene un error detectado. Se establece en 1 si el mdulo est funcionando correctamente. NOTA: Para estaciones BMX CRA 312 0, el bit de estado de la fuente de alimentacin no es significativo.

35006147 10/2013

289

Objetos de sistema

Seccin 6.5
Modicon M340 y palabras de sistema M580

Modicon M340 y palabras de sistema M580


Descripcin de las palabras de sistema: De %SW100 a %SW167
Descripcin detallada

ADVERTENCIA
COMPORTAMIENTO INESPERADO DE LA APLICACIN No utilice objetos del sistema (%S, %SWi) como variables cuando no estn documentados. El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o dao al equipo. Estas palabras de sistema permiten cambiar direcciones de memoria para un servidor Modbus (vase Unity Pro, Modalidades de funcionamiento) aplicando un offset en las direcciones de memoria ubicadas. Este componente permite tener las mismas direcciones de asignacin desde accesos Modbus externos entre un Modicon M340 de direcciones ubicadas u otros dispositivos en los que las direcciones ubicadas no se inicien desde la direccin 0. El valor contenido en estas palabras de sistema corresponde a un servidor offset Modbus, la direccin de base.

290

35006147 10/2013

Objetos de sistema

Descripcin de las palabras de sistema %SW100 a %SW141:


Palabra Smbolo %SW100 CCOTF_COUNT Plataforma Modicon M580 Descripcin Significado de los diferentes bits de la palabra %SW100:
XXYY XX reservado YY aumenta cada vez que se realiza una configuracin de

Estado inicial 0

E/S en el bastidor local. No cambie a otros tipos de modificaciones de aplicaciones. NOTA: En un arranque en fro, en caliente o al descargar aplicaciones, %SW101 se restablece en 0. NOTA: Cuando un byte alcanza su valor mximo de 255, el contador se restablece en 1. %SW101 EIO_CCOTF_COUNT Modicon M580 Significado de los bytes de la palabra %SW101:
XXYY XX reservado YY incrementa cada vez que cambia una configuracin de

E/S Ethernet. No cambie a otros tipos de modificaciones de aplicaciones. NOTA: Cuando un contador alcanza su valor mximo de 255, se restablece en 1. NOTA: En un arranque en fro, en caliente o al descargar aplicaciones, %SW101 se restablece en 0. %SW138 y %SW140 Modicon M340 Direcciones base para %I (entrada binaria) y %IW (registro de entrada) NOTA: Las direcciones base para %I y %IW no se utilizan cuando la memoria de seal se configura en la CPU (para Unity Pro V6.1 y el firmware de CPU V2.4) La configuracin de la memoria de seal permite al servidor Modbus acceder al rea %I (para todas las operaciones de bits de entrada) y al rea %IW (para todas las operaciones de palabras de entrada) Ejemplos: %SW140 contiene 1000. Cuando el servidor Modbus recibe una peticin de Lectura de los registros de entrada (cdigo 04) con una direccin inicial igual a 0000, devuelve valores desde %MW1000. %SW138 contiene 0001. Cuando el servidor Modbus recibe una peticin de Lectura de entradas binarias (cdigo 02) con una direccin inicial igual a 0000, devuelve valores desde %M1. -

35006147 10/2013

291

Objetos de sistema

Palabra Smbolo

Plataforma

Descripcin Direcciones base para %M (direccin de bobina) y %MW (registro de mantenimiento) La direccin base es el nmero de %M o %MW que corresponde a la direccin Modbus 0000.

Estado inicial -

%SW139 y %SW141 Modicon M340

ADVERTENCIA
FUNCIONAMIENTO IMPREVISTO DEL EQUIPO Debe establecer los valores de las cuatro palabras de sistema %SW138, %SW139, %SW140 y %SW141 mediante el mecanismo Valor inicial. No utilice cdigo de programacin para establecer los valores. De lo contrario, al utilizar el comando PLC init, establecer %S0 en 1 o descargar una aplicacin, las cuatro palabras de sistema se establecen en 0000 y el servidor Modbus tendr un comportamiento incorrecto. El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o dao al equipo. Descripcin de las palabras de sistema %SW142 a %SW167 utilizadas en Modicon 340, Modicon M580, Premium, y sistemas CANopen:

292

35006147 10/2013

Objetos de sistema

Palabra Smbolo De %SW142 a %SW145

Plataforma Modicon M340

Descripcin Inhibe el error de E/S producido por el sistema cuando un dispositivo configurado en el bus CANopen no est presente. Esta inhibicin puede gestionarse con las cuatro palabras de sistema %SW142,143,144,145. Estas palabras de sistema implementan una lista de bits que indican el error del nodo CANopen que debe inhibirse: el bit 0 de %SW142 corresponde al dispositivo en la direccin de nodo 1. el bit 1 de %SW142 corresponde al dispositivo en la direccin de nodo 2. ... el bit 15 de %SW145 corresponde al dispositivo en la direccin de nodo 64. Valores de bit: Si el bit es 0 y el dispositivo no est presente, se produce un error. Si el bit es 1 y el dispositivo no est presente, no se produce ningn error. NOTA: El valor predeterminado es 0. NOTA: Esta inhibicin puede realizarse sobre la marcha, pero para que se tenga en cuenta, debe restablecerse el maestro CANopen (estableciendo el bit 5 de la palabra de salida, %QW0.0.2.0 en 1). NOTA: Las palabras de sistema de %SW142 a %SW145 estn disponibles a partir de SV 2.1 del SO de la CPU.

Estado inicial -

%SW146 y %SW147

Modicon M340

Estas dos palabras de sistema contienen el nmero de serie nico de la tarjeta SD (32 bits). Si no hay una tarjeta SD o hay una no reconocida, las dos palabras de sistema se establecen en 0. Esta informacin se puede utilizar para proteger una aplicacin (vase Modicon M340 con Unity Pro, Procesadores, bastidores y mdulos de fuente de alimentacin, Manual de configuracin) contra la duplicacin. NOTA: Las palabras de sistema de %SW146 a %SW147 estn disponibles a partir de SV 2.1 del SO de la CPU. Informacin sobre la ltima transferencia de cancelacin de SDO: %SW150: Palabra inferior del cdigo de cancelacin de SDO. %SW151: Palabra superior del cdigo de cancelacin de SDO. %SW152: Nmero de nodo de la transferencia de SDO. %SW153: Nmero de ndice de la transferencia de SDO. %SW154: Subndice de la transferencia de SDO.

De %SW150 a %SW154

CANopen Modicon M340

35006147 10/2013

293

Objetos de sistema

Palabra Smbolo De %SW160 a %SW167 PREMRACK0 a PREMRACK7

Plataforma Premium y Modicon M340 Errores detectados para los bastidores de 0 a 7.

Descripcin Las palabras de %SW160 a %SW167 se asocian respectivamente a los bastidores de 0 a 7. Los bits de 0 a 15 de cada una de estas palabras se asocian a los mdulos situados en las posiciones de 0 a 15 de estos bastidores. El bit se establece en 0 si el mdulo tiene un error detectado, y en 1 si el mdulo est funcionando correctamente. Ejemplo: %SW163.5=0. El mdulo ubicado en la posicin 5 del bastidor 3 tiene un error detectado. En caso de semibastidores, dos semibastidores forman un bastidor normal completo, identificado nicamente por un conmutador.

Estado inicial -

294

35006147 10/2013

Objetos de sistema

Seccin 6.6
Palabras de sistema especficas de Modicon M580

Palabras de sistema especficas de Modicon M580


Palabras de sistema de Modicon M580
Descripcin detallada Descripcin de las palabras de sistema de %SW82 a %SW167:
Palabra Smbolo %SW82 %SW83 Funcin Gestin de mensajes Descripcin El sistema actualiza estas palabras, que tambin se pueden definir mediante %S80. Contadores de mensajes Modbus: %SW82: nmero de mensajes de Modbus enviados o recibidos en el puerto serie 1 %SW83: nmero de mensajes de Modbus enviados o recibidos en el puerto serie 2 Significado de los diferentes bits de la palabra %SW100 (XXYY): XX aumenta cada vez que se realiza una configuracin de E/S en estado RUN (ejecucin) en una estacin RIO YY aumenta cada vez que se realiza una configuracin de E/S en estado RUN (ejecucin) en un bastidor local NOTA: En una transicin de modalidad de RUN a STOP, %SW100 se restablece en 0. NOTA: Cuando un byte alcanza su valor mximo de 255, el contador se restablece en 1. %SW146 %SW147 De %SW160 a %SW167 PREMRACK0 a PREMRACK7 Nmero de serie de Consulte la Descripcin de las palabras de sistema de %SW138 a la tarjeta SD %SW167 (vase pgina 290) para la descripcin de estas palabras. Errores detectados para los bastidores de 0 a 7. Consulte la Descripcin de las palabras de sistema de %SW138 a %SW167 (vase pgina 290) para la descripcin de estas palabras. Estado inicial 0

%SW100 CCOTF_COUNT

Registro de estado de conteo CCOTF

35006147 10/2013

295

Objetos de sistema

Seccin 6.7
palabras de sistema especficas de Momentum

palabras de sistema especficas de Momentum


Descripcin de las palabras de sistema de %SW128 a %SW152
Descripcin detallada

ADVERTENCIA
COMPORTAMIENTO INESPERADO DE LA APLICACIN No utilice objetos del sistema (%S, %SWi) como variables cuando no estn documentados. El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o dao al equipo. Descripcin de las palabras de sistema de %SW128 a %SW152 en procesadores Momentum
Palabra Smbolo Funcin Descripcin %SW128.0 es estado del mdulo n. 1; %SW129.15 es estado del mdulo n. 32. Si un bit de estado se establece en: 0 = el mdulo no funciona correctamente o no est configurado 1 = el mdulo funciona correctamente Estado inicial 0

%SW128... %SW129 Estado funcional del mdulo de bus de E/S

%SW132

Estado del error de NOTA: El contenido de esta palabra solo es significativo si compatibilidad de %S118 se establece en 1. E/S detectado. Significado de los diferentes bits de la palabra %SW132.0 a %SW132.15: De %SW132.0 a %SW132.14: Estos bits contienen un valor de 1 a 64, lo que significa que no se puede alcanzar la posicin de las redes del mdulo. Por ejemplo, un valor de 8 indica un fallo de comunicaciones detectado al acceder al octavo mdulo de la red. %SW132.15: %SW132.15 = 0 indica una parada detectada en las comunicaciones generales, por ejemplo: el mdulo no recibe alimentacin o hay una interrupcin en el cable de entrada. %SW132.15 = 1 indica que la comunicacin es posible, pero que el ID del bus de E/S recibido del mdulo no coincide con el tipo de mdulo contenido en la configuracin para esta posicin.

296

35006147 10/2013

Objetos de sistema

Palabra Smbolo %SW134

Funcin Error de bus de E/S detectado.

Descripcin Significado de los valores de la palabra %SW134: 0 = no se ha detectado ningn error. 1 = discrepancia en el ID del mdulo 2 = error de base de E/S detectado. 3 = mdulos ausentes o mdulos extra 4 = error de intercambio de bus detectado

Estado inicial 0

NOTA: %SW134 almacena el ltimo error detectado. El sistema no restablece automticamente esta palabra a 0 cuando la causa del error detectado ya no existe. Cuando resuelva la causa del error detectado, tendr que establecer esta palabra en 0. %SW135 Error de deteccin de E/S local. 0 Significado de los valores de la palabra %SW135: 0 = no se ha detectado ningn error. 1 = error de lectura de ID de base local de E/S detectado. 2 = el ID de base de E/S no coincide con la configuracin de la aplicacin 3 = errores de base de E/S detectados NOTA: %SW135 almacena el ltimo error detectado. El sistema no restablece automticamente esta palabra a 0 cuando la causa del error detectado ya no existe. Cuando resuelva la causa del error detectado, tendr que establecer esta palabra en 0. %SW148 Estado de servicios de ETH Estas palabras contienen los datos siguientes: %SW148: Estado de cliente FDR: 0 = no inicializado 1 = IP inicializado 2 = <no se utiliza> 3 = conexin ETH inactiva 4 = IP duplicada detectada 5 = esperando al servidor 6 = sin configuracin o error de configuracin detectado Estas palabras contienen los datos siguientes:
%SW151: el nmero de conexiones abiertas en modo

%SW151...%SW152

Nmero de conexin abierta ETH

servidor
%SW152: el nmero de conexiones abiertas en modo

cliente

35006147 10/2013

297

Objetos de sistema

298

35006147 10/2013

Unity Pro Descripcin de datos 35006147 10/2013

Parte III
Descripcin de datos

Descripcin de datos
En esta seccin En esta seccin se describen los diferentes tipos de datos que se pueden utilizar en un proyecto y la forma de hacerlo. Contenido de esta parte Esta parte contiene los siguientes captulos:
Captulo 7 8 9 10 Tipos de datos Instancias de datos Referencias de datos Nombre del captulo Presentacin general de los datos Pgina 301 311 377 393

35006147 10/2013

299

Descripcin de datos

300

35006147 10/2013

Unity Pro Presentacin general de los datos 35006147 10/2013

Captulo 7
Presentacin general de los datos

Presentacin general de los datos


Objeto En este captulo se presenta de forma muy general:

los diferentes tipos de datos, las instancias de datos y las referencias de datos.

Contenido de este captulo Este captulo contiene los siguiente apartados:


Apartado General Descripcin general de las familias de tipos de datos Vista general de instancias de datos Vista general de las referencias de datos Reglas sintcticas de los nombres de tipos/instancias Pgina 302 303 306 308 309

35006147 10/2013

301

Presentacin general de los datos

General
Introduccin Un dato designa a un objeto en el que se pueden iniciar instancias, por ejemplo:

una variable, un bloque de funcin. la fase tipos de datos, en la que se precisa: su categora, su formato. la fase instancias de datos, en la que se definen su emplazamiento en la memoria y su propiedad, que puede ser: localizada o sin localizar. la fase referencias de datos, en la que se define su medio de acceso: por valor inmediato, por nombre, por direccin.

Los datos se definen en tres fases. que son:

Figura A continuacin se indican las tres fases que caracterizan a los datos:

Iniciar una instancia en un dato consiste en asignarle un emplazamiento en la memoria segn su tipo. Referenciar un dato consiste en definirle una referencia (nombre, direccin, etc.) que permita localizarlo en la memoria.

302

35006147 10/2013

Presentacin general de los datos

Descripcin general de las familias de tipos de datos


Introduccin Un tipo de dato es una informacin de software que especifica, para un dato: su estructura, su formato, una lista de sus atributos y su comportamiento.

Todas las instancias del tipo de datos comparten estas propiedades. Ilustracin Las familias de tipos de datos se clasifican en diferentes categoras (gris oscuro).

35006147 10/2013

303

Presentacin general de los datos

Definiciones Familias de tipos de datos y sus definiciones.


Familia EDT Definicin

Tipos de datos elementales, por ejemplo: Bool Int Byte Palabra DWord etc. Tipos de datos derivados, por ejemplo:

DDT

Matrices, que contienen elementos del mismo tipo: Tablas de Bool (tablas de EDT) Tablas de EBool (matrices DDT de dispositivo) Tablas de tablas (tablas de DDT) Tablas de estructuras (tablas de DDT) Estructuras que contienen elementos de distintos tipos: Estructuras de Bool, Word, etc. (estructuras de EDT) Tablas de EBool (estructura DDT de dispositivo) Estructuras de tablas, estructuras de estructuras, estructuras de tablas/estructuras

(estructuras de DDT)
Estructuras de Bool, estructuras de tabla, etc. (estructuras de EDT y DDT) Estructuras relativas a los datos de entrada/salida (estructuras de IODDT)

DDT de dispositivos

Tipos de datos derivados de dispositivos, como por ejemplo:


Tablas que contienen elementos del mismo tipo: Tablas de Bool (tablas de EDT) Tablas de tablas (tablas de DDT) Tablas de estructuras (tablas de DDT) Estructuras que contienen elementos de distintos tipos: Estructuras de Bool, Word, etc. (estructuras de EDT) Estructuras de tablas, estructuras de estructuras, estructuras de tablas/estructuras

(estructuras de DDT)
Estructuras de Bool, estructuras de tabla, etc. (estructuras de EDT y DDT) Estructuras relativas a los datos de entrada/salida Estructura que contiene variables que restablecen las propiedades de estado de una

accin o transicin de una grfica de funcin secuencial EFB Bloques de funciones elementales escritos en lenguaje C. Entre ellos, se incluyen: Variables de entrada Variables internas Variables de salida Un algoritmo de procesamiento

304

35006147 10/2013

Presentacin general de los datos

Familia DFB

Definicin Bloques de funciones derivados escritos en lenguajes de automatizacin (texto estructurado, lista de instrucciones, etc.). Entre ellos, se incluyen: Variables de entrada Variables internas Variables de salida Un algoritmo de procesamiento

35006147 10/2013

305

Presentacin general de los datos

Vista general de instancias de datos


Introduccin Una instancia de datos es una entidad funcional individual que posee todas las caractersticas del tipo de datos del que depende. Se puede vincular una o varias instancias a un tipo de datos. La instancia de datos puede tener una asignacin de memoria: no localizada o localizada

Ilustracin Asignacin de memoria de las instancias (gris oscuro) pertenecientes a los diferentes tipos.

306

35006147 10/2013

Presentacin general de los datos

Definiciones Definicin de las asignaciones de memoria de las instancias de datos.


Instancia de datos Definicin Sin localizar El sistema asigna automticamente el slot de memoria de la instancia y puede cambiar cada vez que se genera la aplicacin. La instancia tiene como direccin un nombre (smbolo) que elige el usuario. El slot de memoria de la instancia es fijo, est predefinido y no cambia nunca. La instancia tiene como direccin un nombre (smbolo) que elige el usuario y una direccin topolgica que define el fabricante, o bien, nicamente la direccin topolgica del fabricante.

Localizada

35006147 10/2013

307

Presentacin general de los datos

Vista general de las referencias de datos


Introduccin Una referencia de datos permite al usuario acceder a la instancia de dicho dato por: valor inmediato, verdadero nicamente para los datos de tipo EDT, direccionamiento, verdadero nicamente para los datos de tipo EDT, y nombre (smbolo), verdadero para todos los tipos de datos EDT, DDT, EFB, DFB, as como los objetos SFC.

Ilustracin Referencias de datos posibles segn el tipo de datos (gris oscuro).

308

35006147 10/2013

Presentacin general de los datos

Reglas sintcticas de los nombres de tipos/instancias


Introduccin La sintaxis de los nombres de tipos y de variables se puede llevar a cabo con o sin la utilizacin del establecimiento extendido de caracteres. La seleccin se efecta en la ficha Extensiones de lenguaje de la opcin Herramientas->Ajustes del proyecto.

Si la opcin Permitir establecimiento extendido de caracteres est seleccionada, la aplicacin cumple la norma CEI. Si la opcin Permitir establecimiento extendido de caracteres no est seleccionada, el usuario tiene cierta flexibilidad, pero la aplicacin no cumple la norma CEI.

El establecimiento extendido de caracteres que se emplea para los nombres introducidos en la aplicacin incluye:

Los bloques de funciones del usuario DFB (bloque de funcin derivada) o los DDT (tipos de datos derivados ), los elementos internos que componen un tipo de datos de bloque de funcin DFB/EFB o un tipo de datos derivados (DDT), y las instancias de datos y

Si la casilla "Permitir establecimiento..." est seleccionada Los nombres introducidos son cadenas compuestas de caracteres alfanumricos, del carcter Underscore. Las reglas son las siguientes:

El primer carcter del nombre es un carcter alfabtico o es el carcter Underscore, y no puede haber dos caracteres Underscore consecutivos.

Si la casilla "Permitir establecimiento..." no est seleccionada Los nombres introducidos son cadenas compuestas de caracteres alfanumricos, del carcter Underscore. Estn permitidos caracteres adicionales, como:

Los caracteres correspondientes a los cdigos ASCCII de 192 a 223 (excepto el cdigo 215) y Los caracteres correspondientes a los cdigos ASCCII de 224 a 255 (excepto el cdigo 247) y El primer carcter del nombre es un carcter alfanumrico o es el carcter Underscore, y los caracteres Underscore pueden ser consecutivos.

Las reglas son las siguientes:


35006147 10/2013

309

Presentacin general de los datos

310

35006147 10/2013

Unity Pro Tipos de datos 35006147 10/2013

Captulo 8
Tipos de datos

Tipos de datos
Objeto En este captulo se describen todos los tipos de datos que se pueden utilizar en una aplicacin. Contenido de este captulo Este captulo contiene las siguientes secciones:
Seccin 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 8.10 8.11 Apartado Tipos de datos elementales (EDT) con formato Binario Tipos de datos elementales (EDT) con formato BCD Tipos de datos elementales (EDT) con formato Real Tipo de datos elementales (EDT) con formato de cadena de caracteres Tipos de datos elementales (EDT) con formato de cadena de bits Tipos de datos derivados (DDT de dispositivo/IODDT/DDT) Tipos de datos de bloques de funcin (DFB\EFB) Tipos de datos genricos (GDT) Tipos de datos pertenecientes a las grficas de funciones secuenciales (SFC) Compatibilidad entre los tipos de datos Tipo de datos de referencia Pgina 312 323 330 335 338 342 356 364 366 368 372

35006147 10/2013

311

Tipos de datos

Seccin 8.1
Tipos de datos elementales (EDT) con formato Binario

Tipos de datos elementales (EDT) con formato Binario


Objeto En esta seccin, se describe el tipo de datos con formato Binario, que son:

tipos booleanos, tipos enteros y tipos Time.

Contenido de esta seccin Esta seccin contiene los siguientes apartados:


Apartado Descripcin general de tipos de datos con formato binario Tipos booleanos Tipos enteros El tipo Time Pgina 313 315 320 322

312

35006147 10/2013

Tipos de datos

Descripcin general de tipos de datos con formato binario


Introduccin Los tipos de datos con formato binario pertenecen a la familia de datos elementales EDT (Elementary data type), que agrupa tipos de datos denominados simples y no compuestos (matrices, estructuras o bloques de funciones). Recapitulacin sobre el formato binario Un dato con formato binario se compone de uno o varios bits, cada uno de los cuales est representado por una de las cifras de la base 2, es decir, 0 1. La escala del dato depende del nmero de bits que la componen. Ejemplo:

Un dato puede ser:

Con signo, en cuyo caso el bit de rango ms alto es el bit con signo: 0 indica un valor positivo, y 1 indica un valor negativo. El rango de valores es el siguiente:

Sin signo, en cuyo caso todos los bits representan el valor El rango de valores es el siguiente:

Bits = nmero de bits (formato).

35006147 10/2013

313

Tipos de datos

Tipos de datos con formato binario Lista de los tipos de datos:


Tipo BOOL EBOOL INT DINT UINT UDINT TIME Designacin Booleano Booleano con deteccin de flancos y forzado Entero Entero doble Entero sin signo Entero doble sin signo Entero doble sin signo Formato (bits) 8 8 16 32 16 32 32 Valor predeterminado 0=(False) 0=(False) 0 0 0 0 T=0s

314

35006147 10/2013

Tipos de datos

Tipos booleanos
Presentacin Existen dos tipos de booleanos, que son:

El tipo BOOL, que contiene nicamente el valor FALSE (=0) o TRUE (=1), y el tipo EBOOL, que contiene el valor FALSE (=0) o TRUE (=1), pero tambin incluye informacin relativa a la gestin de los flancos (ascendentes o descendentes) y el forzado.

Principio del tipo BOOL Este tipo ocupa un byte en la memoria, pero el valor se guarda solamente en un bit. El valor predeterminado de este tipo es FALSE (=0). Se puede acceder a l a travs de una direccin que contenga el offset en el byte correspondiente: Direccionamiento:

En el caso del bit extrado de la palabra, se puede acceder a l mediante una direccin que contenga la informacin siguiente:

Un offset en el byte correspondiente. El rango que define la posicin en la palabra.

35006147 10/2013

315

Tipos de datos

Direccionamiento:

Principio del tipo EBOOL Este tipo ocupa un byte en la memoria, que incluye:

El bit para el valor (V). El bit de registro (H) para la gestin de los flancos (ascendentes o descendentes). En cada cambio del estado del objeto, el valor se copia en este bit. El bit que contiene el estado de forzado (F). Igual a 0 si el objeto no se ha forzado e igual a 1 si el objeto se ha forzado.

El valor predeterminado de los bits asociados al tipo EBOOL es FALSE (=0). Se puede acceder a l a travs de una direccin que especifique el offset en el byte correspondiente. Direccionamiento:

316

35006147 10/2013

Tipos de datos

Grfico de tendencias de registro El grfico de tendencias siguiente presenta el principio de los estados de los bits (valor e historial) asociados al tipo EBOLL. Los flancos ascendentes del bit de valor (1, 4) se copian en el bit de registro del ciclo de PLC siguiente (2, 5). Los flancos descendentes del bit de valor (2, 7) se copian en el bit de registro del ciclo de PLC siguiente (3, 8).

Grfico de tendencias y forzado El grfico de tendencias siguiente presenta el principio de los estados de los bits (valor, historial y forzado) asociados al tipo EBOLL. Los flancos ascendentes del bit de valor (1, 4) se copian en el bit de registro del ciclo de PLC siguiente (2, 5). Los flancos descendentes del bit de valor (2, 7) se copian en el bit de registro del ciclo de PLC siguiente (3, 8). Entre (4 y 5) el bit de forzado es igual a 1; los bits de valor y registro permanecen en 1.

35006147 10/2013

317

Tipos de datos

Variables de PLC que pertenecen a los tipos booleanos Lista de variables


Variable Bit interno Bit de sistema Bit extrado de la palabra Entradas %I Bit de error de mdulo Bit de error de canal Bit de entrada Salidas %Q Bit de salida EBOOL BOOL BOOL EBOOL Tipo EBOOL BOOL BOOL

Compatibilidad entre BOOL y EBOOL Las operaciones permitidas entre estos dos tipos de variables son las siguientes:

La copia de valores. La copia de direcciones.

Copia entre tipos


Destino BOOL Fuente BOOL Fuente EBOOL S S Destino EBOOL S S

Compatibilidad entre los parmetros de las funciones elementales (EF)


Parmetro efectivo (externo a la EF) BOOL EBOOL Parmetro formal BOOL (interno a la EF) S In ->S In-Out ->No Out -> S Parmetro formal EBOOL (interno a la EF) No S

Compatibilidad entre los parmetros de los bloques de funciones (EFB\DFB)


Parmetro efectivo (externo al FB) BOOL Parmetro formal BOOL (interno al FB) S Parmetro formal EBOOL (interno al FB) In ->S In-Out ->No Out -> S
35006147 10/2013

318

Tipos de datos

Parmetro efectivo (externo al FB) EBOOL

Parmetro formal BOOL (interno al FB) In ->S In-Out ->No Out -> S

Parmetro formal EBOOL (interno al FB) S

Compatibilidad entre variables de tabla


Destino ARRAY[i..j) OF BOOL Fuente ARRAY[i..j) OF BOOL Fuente ARRAY[i..j) OF EBOOL S No Destino ARRAY[i..j) OF EBOOL No S

Compatibilidad entre variables estticas


Direccionamiento directo BOOL (%MW:xi) Variable declarada BOOL (Var:BOOL) Variable declarada EBOOL (Var:EBOOL) S No Direccionamiento directo EBOOL (%Mi) No S

Compatibilidad El tipo de datos EBOOL sigue estas reglas:


Una variable de tipo EBOOL no puede emitirse como parmetro de entrada/salida de tipo BOOL. Las matrices de EBOOL no pueden emitirse como parmetros de tipo ANY de un FFB. Las matrices de BOOL y de EBOOL no son compatibles para la instruccin de asignacin (regla idntica para los parmetros de FFB). En Quantum: Las variables localizadas de tipo EBOOL no pueden emitirse como parmetros de entradas/salidas de tipo EBOOL. Las matrices de EBOOL no pueden emitirse como parmetros de un DFB.

35006147 10/2013

319

Tipos de datos

Tipos enteros
Presentacin Los tipos Enteros permiten representar un valor en diferentes bases. que son:

La base 10 (decimal) de forma predeterminada, en cuyo caso el valor llevar o no signo en funcin del tipo de entero La base 2 (binaria), en cuyo caso el valor no tiene signo y el prefijo es 2# La base 8 (octal), en cuyo caso el valor no tiene signo y el prefijo es 8# La base 16 (hexadecimal), en cuyo caso el valor no tiene signo y el prefijo es 16#

NOTA: en la representacin decimal, si el tipo elegido tiene signo, el valor puede ir precedido de el signo + o -, siendo el signo + opcional. Tipo Entero (INT) Tipo con signo y formato de 16 bits. En la tabla se indica el rango de cada base.
Base Decimal Binaria Octal Hexadecimal de... -32768 2#1000000000000000 8#100000 16#8000 a... 32767 2#0111111111111111 8#077777 16#7FFF

Tipo Entero doble (DINT) Tipo con signo y formato de 32 bits. En la tabla se indica el rango de cada base.
Base Decimal Binaria Octal Hexadecimal de... -2147483648 2#10000000000000000000000000000000 8#20000000000 16#80000000 a... 2147483647 2#01111111111111111111111111111111 8#17777777777 16#7FFFFFFF

320

35006147 10/2013

Tipos de datos

Tipo Entero sin signo (UINT) Tipo sin signo y formato de 16 bits. En la tabla se indica el rango de cada base.
Base Decimal Binaria Octal Hexadecimal de... 0 2#0 8#0 16#0 a... 65535 2#1111111111111111 8#177777 16#FFFF

Tipo Entero doble sin signo (UDINT) Tipo sin signo y formato de 32 bits. En la tabla se indica el rango de cada base.
Base Decimal Binaria Octal Hexadecimal de... 0 2#0 8#0 16#0 a... 4294967295 2#11111111111111111111111111111111 8#37777777777 16#FFFFFFFF

35006147 10/2013

321

Tipos de datos

El tipo Time
Presentacin El tipo Time T# o TIME# se representa mediante un tipo entero doble sin signo (UDINT) (vase pgina 320). Indica una duracin en milisegundos que, aproximadamente, representa una duracin mxima de 49 das. Las unidades de tiempo permitidas para representar el valor son:

das (D), horas (H), minutos (M), segundos (S) y milisegundos (MS).

Introduccin de un valor En esta tabla, se muestran dos posibles modos de introduccin del valor mximo del tipo Time, segn las unidades de tiempo permitidas.
Diagrama T#4294967295MS T#4294967S_295MS T#71582M_47S_295MS T#1193H_2M_47S_295MS T#49D_17H_2M_47S_295MS Comentario Valor en milisegundos Valor en segundos/milisegundos Valor en minutos/segundos/milisegundos Valor en horas/minutos/segundos/milisegundos Valor en das/horas/minutos/segundos/milisegundos

322

35006147 10/2013

Tipos de datos

Seccin 8.2
Tipos de datos elementales (EDT) con formato BCD

Tipos de datos elementales (EDT) con formato BCD


Objeto Esta seccin describe los tipos de datos con formato BCD (Binary Coded Decimal), que son:

el tipo Date, el tipo Time of Day (TOD) y el tipo Date and Time (DT).

Contenido de esta seccin Esta seccin contiene los siguientes apartados:


Apartado Descripcin general de tipos de datos con formato BCD El tipo Date El tipo Time of Day (TOD) El tipo Date and Time (DT) Pgina 324 326 327 328

35006147 10/2013

323

Tipos de datos

Descripcin general de tipos de datos con formato BCD


Introduccin Los tipos de datos con formato BCD pertenecen a la familia de datos elementales EDT (Elementary data type), que agrupa tipos de datos denominados simples y no compuestos (matrices, estructuras o bloques de funciones). Recapitulacin sobre el formato BCD El formato Decimal codificado Binario (Binary coded Decimal) permite representar las cifras decimales comprendidas entre 0 y 9 mediante un conjunto de cuatro bits (cuarteto). En este formato, los cuatro bits que permiten codificar las cifras decimales tienen un rango de sus combinaciones inutilizado. Tabla de correspondencias:
Decimal 0 1 2 3 4 5 6 7 8 9 Binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 (inutilizado) 1011 (inutilizado) 1100 (inutilizado) 1101 (inutilizado) 1110 (inutilizado) 1111 (inutilizado)

Ejemplo de codificacin en un formato de 16 bits:


Valor decimal 2450 Valor binario 2 0010 4 0100 5 0101 0 0000

324

35006147 10/2013

Tipos de datos

Ejemplo de codificacin en un formato de 32 bits:


Valor decimal 78993016 Valor binario 7 0111 8 1000 9 1001 9 1001 3 0011 0 0000 1 0001 6 0110

Tipos de datos con formato BCD Existen tres tipos de datos:


Tipo DATE TIME _OF_DAY DATE_AND_TIME Designacin Fecha Hora del da Fecha y hora Escala (bits) 32 32 64 Valor predeterminado D#1990-01-01 TOD#00:00:00 DT#1990-01-01-00:00:00

35006147 10/2013

325

Tipos de datos

El tipo Date
Presentacin El tipo Date, codificado en un formato de 32 bits, contiene la siguiente informacin:

El ao codificado en un campo de 16 bits (cuatro cuartetos de mayor valor), el mes codificado en un campo de 8 bits (dos cuartetos) y el da codificado en un campo de 8 bits (dos cuartetos de menor valor).

Representacin de la fecha 2001-09-20 con formato BCD:


Ao (2001) 0010 0000 0000 0001 Mes (09) 0000 1001 Da (20) 0010 0000

Reglas de sintaxis La introduccin del tipo Date es la siguiente: D#<Ao>-<Mes>-<Da> En la siguiente tabla, se indican los lmites inferior y superior de cada campo.
Campo Ao Mes Da Lmites [1990,2099] [01,12] [01,31] [01,30] [01,29] [01,28] El 0 situado a la izquierda aparece siempre y se puede omitir al introducir los datos Para los meses 01\03\05\07\08\10\12 Para los meses 04\06\09\11 Para el mes 02 (aos bisiestos) Para el mes 02 (aos no bisiestos) Comentario

Ejemplo:
Introduccin D#2001-1-1 d#1990-02-02 Comentarios El 0 de la izquierda del mes y el da se puede omitir El prefijo puede ir en minsculas

326

35006147 10/2013

Tipos de datos

El tipo Time of Day (TOD)


Presentacin El tipo Time of Day , codificado en un formato de 32 bits, contiene la siguiente informacin:

La hora codificada en un campo de 8 bits (dos cuartetos de mayor valor), los minutos codificados en un campo de 8 bits (dos cuartetos), y los segundos codificados en un campo de 8 bits (dos cuartetos).

NOTA: Los ocho bits de menor valor no se utilizan. Representacin con formato BCD de la hora del da 13:25:47:
Hora (13) 0001 0011 Minutos (25) 0010 0101 Segundos (47) 0100 0111 Byte de menor valor Inutilizados

Reglas de sintaxis La introduccin del tipo Time of Day es la siguiente: TOD#<Hora>:<Minutos>:<Segundos> En la siguiente tabla, se indican los lmites inferior y superior de cada campo.
Campo Hora Minuto Segundo Lmites [00,23] [00,59] [00,59] Comentario El 0 situado a la izquierda aparece siempre y se puede omitir al introducir los datos El 0 situado a la izquierda aparece siempre y se puede omitir al introducir los datos El 0 situado a la izquierda aparece siempre y se puede omitir al introducir los datos

Ejemplo:
Introduccin TOD#1:59:0 tod#23:10:59 Tod#0:0:0 Comentario Los 0 de la izquierda de las horas y los segundos se puede omitir El prefijo puede ir en minsculas El prefijo puede ser combinado (minsculas\maysculas)

35006147 10/2013

327

Tipos de datos

El tipo Date and Time (DT)


Presentacin El tipo Date and Time, codificado en un formato de 64 bits, contiene la siguiente informacin:

El ao codificado en un campo de 16 bits (cuatro cuartetos de mayor valor), el mes codificado en un campo de 8 bits (dos cuartetos) y el da codificado en un campo de 8 bits (dos cuartetos), la hora codificada en un campo de 8 bits (dos cuartetos), los minutos codificados en un campo de 8 bits (dos cuartetos), y los segundos codificados en un campo de 8 bits (dos cuartetos).

NOTA: Los ocho bits de menor valor no se utilizan. Ejemplo: Representacin de la fecha y la hora 2000-09-20:13:25:47 con formato BCD:
Ao (2000) 0010 0000 0000 0000 Mes (09) 0000 1001 Da (20) Hora (13) Minuto (25) Segundos (47) 0100 0111 Byte de menor valor Inutilizados

0010 0000 0001 0011 0010 0101

Reglas de sintaxis La introduccin del tipo Date and Time es la siguiente: DT#<Ao>-<Mes>-<Da>-<Hora>:<Minutos>:<Segundos> En la siguiente tabla, se indican los lmites inferior y superior de cada campo.
Campo Ao Mes Da Lmites [1990,2099] [01,12] [01,31] [01,30] [01,29] [01,28] Hora Minuto Segundo [00,23] [00,59] [00,59] El 0 situado a la izquierda aparece siempre y se puede omitir al introducir los datos Para los meses 01\03\05\07\08\10\12 Para los meses 04\06\09\11 Para el mes 02 (aos bisiestos) Para el mes 02 (aos no bisiestos) El 0 situado a la izquierda aparece siempre y se puede omitir al introducir los datos El 0 situado a la izquierda aparece siempre y se puede omitir al introducir los datos El 0 situado a la izquierda aparece siempre y se puede omitir al introducir los datos Comentario

328

35006147 10/2013

Tipos de datos

Ejemplo:
Introduccin DT#2000-1-10-0:40:0 dt#1999-12-31-23:59:59 Dt#1990-10-2-12:02:30 Comentario El 0 de la izquierda de los meses\horas\segundos se puede omitir El prefijo puede ir en minsculas El prefijo puede ser combinado (minsculas\maysculas)

35006147 10/2013

329

Tipos de datos

Seccin 8.3
Tipos de datos elementales (EDT) con formato Real

Tipos de datos elementales (EDT) con formato Real


Presentacin del tipo de datos REAL
Introduccin Los tipos de datos con formato binario pertenecen a la familia de datos elementales EDT (Elementary Data Type), que agrupa tipos de datos denominados simples y no compuestos (tablas, estructuras o bloques de funciones). Recapitulacin sobre el formato REAL El formato REAL (coma flotante en el estndar ANSI/IEEE 754) se codifica en formato de 32 bits, que corresponde a los nmeros de coma flotante de un solo decimal. Los 32 bits que representan el valor de coma flotante estn organizados en tres campos distintos, stas son: S, el bit de signo que puede tener el valor: 0, para un nmero de coma flotante positivo. 1, para un nmero de coma flotante negativo.

e, el exponente codificado en un campo de 8 bits (entero en formato binario). f, la parte de coma fija codificada en un campo de 23 bits (entero en formato binario).

Representacin:

El valor de la parte de coma fija (mantisa) est entre [0, 1] y se calcula mediante la frmula siguiente:

330

35006147 10/2013

Tipos de datos

Tipos de nmeros que se pueden representar Son los nmeros: Normalizado No normalizado De valores infinitos Con valores +0 y -0

Esta tabla recoge los valores de los distintos campos segn el tipo de nmero.
e ]0, 255[ 0 255 255 255 255 0 0 f [0, 1[ [0, 1[ 0 0 ]0,1[ y bit 22 = 0 ]0,1[ y bit 22 = 1 0 0 S 01 Prximo (1,4 0 1 01 01 0 1
E-45)

Tipo de nmero Normalizado No normalizado DEN + infinito (INF) - infinito (-INF) SNAN QNAN +0 -0

NOTA: El estndar IEC 559 define dos clases de NAN (no un nmero): QNAN y SNAN. QNAN: es un NAN cuyo bit 22 est puesto a 1. SNAN: es un NAN cuyo bit 22 est puesto a 0.

Se comportan de la siguiente forma: QNAN no activar errores cuando aparecen en operandos de una funcin o una expresin. SNAN activar un error cuando aparezca en operandos de una funcin o una expresin aritmtica (consulte %SW17 (vase pgina 211) y %S18 (vase pgina 174)). Esta tabla recoge la frmula de clculo del valor del nmero de coma flotante:
Nmero de coma flotante Normalizado Valor

No normalizado (DEN)

35006147 10/2013

331

Tipos de datos

NOTA: Un nmero real entre -1,1754944e-38 y 1,1754944e-38 es un DEN no normalizado. Cuando un operando es un DEN, el resultado no est garantizado. Los bits %SW17 (vase pgina 211) y %S18 (vase pgina 174) slo aumentan para Modicon M340. Los PLC Modicon M340 pueden emplear los operandos no normalizados, pero debido al formato sufren una prdida de precisin. La transgresin por debajo de rango se seala en funcin de la operacin slo si el resultado es 0 (transgresin total) o cuando el resultado no es normalizado (transgresin gradual, con prdida de precisin). El tipo REAL Presentacin:
Tipo REAL Escala (bits) 32 Valor predeterminado 0,0

Rango de valores (zonas atenuadas):

Si el resultado de un clculo es: Un nmero entre -1,1754944e-38 y 1,1754944e-38, es un DEN. Menor que -3,4028234e+38, aparece el smbolo -INF (para -infinito). Mayor que +3,4028234e+38, aparece el smbolo INF (para +infinito). Indefinido (raz cuadrada de un nmero negativo), aparecer el smbolo NAN.

332

35006147 10/2013

Tipos de datos

Ejemplos de inexactitud del valor normalizado La aplicacin codificar a 7.986 como:


S 0 E = 129 1000001 M = 8359248 11111111000110101010000

Mediante esta frmula:

El nmero 7,986 debe tener un significado de:

Debido a que el significado se expresa como entero, slo se puede codificar como 8359248 (redondeado al lmite ms cercano). No se puede codificar ningn nmero entre los significados 8359247 y 8359248 ni entre los nmeros reales 7,985999584197998046875 y 7,98600006103515625. El peso del bit menos significativo (espacio vaco) es, en precisin absoluta:

El espacio vaco pasa a ser muy importante para los grandes valores, tal como se muestra a continuacin:
Valor 100.000.000 Entre 226 y 227 M = 8359248

2127

2127

NOTA: El espacio vaco corresponde al peso del bit menos significativo. Para obtener una resolucin esperada, es necesario definir el rango mximo para el clculo segn la frmula siguiente:

En la que p representa la precisin y e el exponente (e = E-127)


35006147 10/2013

333

Tipos de datos

Por ejemplo, si es necesario que la precisin sea de 0,001, la parte de coma fija ser:

por:

Ms all de este lmite F, se perder la precisin. Caso tpico: Contadores La coma flotante se debe utilizar con cuidado, especialmente cuando se debe aadir un nmero menor. En caso de que se produzcan pequeos incrementos, el contador no funcionar correctamente: devolver resultados incorrectos y dejar de aumentar cuando el incremento sea inferior al bit menos significativo del contador. Para obtener valores correctos, es recomendable realizar el conteo con un entero doble (UDINT) y multiplicar el resultado por el incremento. Ejemplo: Incrementar un valor de 0,001 entre 33.000 y 1.000.000. Contar de 33.000.000 a 1.000.000.000 (1.000 veces el valor) con un incremento de 1. Para obtener el resultado, multiplique el valor por 0,001. La precisin F mnima por rango ser:
De... a... 3.300...65.536 65.536...131.072 ... 524.288...1.000.000 F (mnimo) 0,004 0,008 ... 0,063

El contador puede aumentar a 4.294.967.295 x 0,001 = 4.294.967,5 con una precisin mnima de 0,5. NOTA: El valor real es el valor binario codificado. Al realizar el redondeo, puede variar segn la visualizacin de la pantalla del operario (4,294968e+006).

334

35006147 10/2013

Tipos de datos

Seccin 8.4
Tipo de datos elementales (EDT) con formato de cadena de caracteres

Tipo de datos elementales (EDT) con formato de cadena de caracteres


Descripcin general de tipos de datos con formato de cadena de caracteres
Introduccin El tipo de datos con formato de cadena de caracteres pertenece a la familia de datos elementales EDT (Elementary data type), que incluye los tipos de datos simples y no derivados (tablas, estructuras o bloques de funciones). Tipo de cadena de caracteres El formato de cadena de caracteres permite representar una cadena de caracteres ASCII, en la que cada carcter est codificado con un formato de 8 bits. Las caractersticas del tipo de cadena de caracteres son las siguientes: 16 caracteres predeterminados en la cadena (carcter de final de cadena excluido). Una cadena se compone de caracteres ASCII comprendidos entre 16#20 y 16#FF (representacin hexadecimal). En una cadena vaca, el carcter de final de cadena (cdigo ASCII "ZERO") es el primero de la cadena. El tamao mximo de una cadena es de 65.535 caracteres.

El tamao de la cadena de caracteres se puede optimizar a la hora de definir el tipo mediante el comando STRING[<tamao>], siendo <tamao> un entero sin signo UINT que puede definir una cadena de 1 a 65.535 caracteres ASCII. NOTA: Los caracteres ASCII 0 a 127 son comunes a todos los idiomas, pero los caracteres 128 a 255 dependen del idioma. Asegrese de que el idioma de Unity Pro es el mismo que el del SO. Si son distintos, puede que la comunicacin CHAR MODE se vea perturbada y que no se garantice un envo correcto de caracteres superiores a 127. En concreto, si el carcter Parada al recibir es superior a 127, no se tendr en cuenta.

35006147 10/2013

335

Tipos de datos

Reglas de sintaxis La introduccin va precedida y termina con el carcter "" (cdigo ASCII 16#27). El signo $ (dlar) es un carcter especial que, seguido de determinadas letras, indica: $L o $l, ir a la lnea siguiente (avance de lnea). $N o $n, ir al principio de la lnea siguiente (lnea nueva). $P o $p, ir a la pgina siguiente. $R o $r, retorno de carro. $T o $t, tabulacin (Tab). $$, representa el carcter $ en una cadena. $, representa el carcter comilla en una cadena.

El usuario puede emplear la sintaxis $nn para mostrar caracteres que no se deben imprimir en una variable STRING. Puede ser, por ejemplo, un retorno de carro (cdigo ASCII 16#0D). Ejemplos Ejemplos de introduccin:
Tipo Entrada Contenido de la cadena representa el carcter final de la cadena * representa los bytes vacos ABCD************ (16 caracteres) jean Its jean* ***** **** el n. 0123456789*** <cr><lf>*** $1.00

STRING STRING[4] STRING[10] STRING[5] STRING[5] STRING[5] STRING[13] STRING[5] STRING[5]

ABCD jean It$s jean $ el nmero 0123456789 $R$L $$1.00

336

35006147 10/2013

Tipos de datos

Declaracin de variables de tipo STRING Es posible declarar una variable de tipo STRING de dos maneras diferentes: STRING y STRING[<Nmero de elementos>]

El comportamiento es diferente en funcin del uso:


Tipo STRING Declaracin de variables Tamao fijo: 16 caracteres Tamao fijo: n caracteres Parmetro de entrada de Parmetro de salida FFB de EF Parmetro de salida de FB

El tamao es igual al Tamao fijo de El tamao es igual al 16 caracteres tamao real del parmetro tamao real del parmetro de entrada. de entrada. EF escribe un mximo FB escribe un mximo El tamao es igual al de n caracteres. tamao real del parmetro de n caracteres. de entrada con lmite de n caracteres.

STRING[<n>]

Cadenas y pin ANY Cuando se utiliza una variable de tipo STRING como parmetro de tipo ANY, se recomienda comprobar que el tamao de la variable es inferior al tamao mximo declarado. Ejemplo: Utilizacin de STRING en la funcin SEL (selector). String1: STRING[8] String2: STRING[4] String3: STRING[4] String1:= AAAAAAAA String3:= CC Caso 1: String2:= BBBB (* el tamao de la cadena es igual que el tamao mximo declarado *) String1:= SEL(FALSE, String2, String3); (* el resultado ser: BBBBAAAA *) Caso 2: String2:= BBB (* el tamao de la cadena es inferior al tamao mximo declarado*) String1:= SEL(FALSE, String2, String3); (* el resultado ser: BBB *)
35006147 10/2013

337

Tipos de datos

Seccin 8.5
Tipos de datos elementales (EDT) con formato de cadena de bits

Tipos de datos elementales (EDT) con formato de cadena de bits


Objeto En esta seccin, se describe el tipo de datos con formato de cadena de bits. que son:

Tipo Byte Tipo Word Tipo Dword

Contenido de esta seccin Esta seccin contiene los siguientes apartados:


Apartado Descripcin general de los tipos de datos con formato de cadena de bits Tipos de cadena de bits Pgina 339 340

338

35006147 10/2013

Tipos de datos

Descripcin general de los tipos de datos con formato de cadena de bits


Introduccin Los tipos de datos con formato de cadena de bits pertenecen a la familia de datos elementales EDT (Elementary data type), que reagrupa los tipos de datos denominados simples y no compuestos (matrices, estructura o bloque de funciones). Recapitulacin sobre el formato de cadena de bits La particularidad de este formato es que el conjunto de los bits que lo componen no representa un valor numrico, sino una combinacin de bits separados. Los datos que pertenecen a los tipos de este formato se pueden representar en tres bases: que son:

Hexadecimal (16#) Octal (8#) Binaria (2#)

Tipos de datos con formato de cadena de bits Existen tres tipos de datos:
Tipo BYTE WORD DWORD Escala (bits) 8 16 32 Valor predeterminado 0 0 0

35006147 10/2013

339

Tipos de datos

Tipos de cadena de bits


Tipo Byte El tipo Byte est codificado en un formato de 8 bits. En la siguiente tabla, se indican los lmites inferior y superior de las bases que lo representan.
Base Hexadecimal Octal Binaria Lmite inferior 16#0 8#0 2#0 Lmite superior 16#FF 8#377 2#11111111

Ejemplos de representacin:
Contenido del dato 00001000 00110011 00110011 Representacin en una de las bases 16#8 8#63 2#110011

Tipo Word El tipo Word est codificado en un formato de 16 bits. En la siguiente tabla, se indican los lmites inferior y superior de las bases que lo representan.
Base Hexadecimal Octal Binaria Lmite inferior 16#0 8#0 2#0 Lmite superior 16#FFFF 8#177777 2#1111111111111111

Ejemplos de representacin:
Contenido del dato 0000000011010011 1010101010101010 0000000011010011 Representacin en una de las bases 16#D3 8#125252 2#11010011

340

35006147 10/2013

Tipos de datos

Tipo Dword El tipo Dword est codificado en un formato de 32 bits. En la siguiente tabla, se indican los lmites inferior y superior de las bases que lo representan.
Base Hexadecimal Octal Binaria Lmite inferior 16#0 8#0 2#0 Lmite superior 16#FFFFFFFF 8#37777777777 2#11111111111111111111111111111111

Ejemplos de representacin:
Contenido de los datos 00000000000010101101110011011110 00000000000000010000000000000000 00000000000010101011110011011110 Representacin en una de las bases 16#ADCDE 8#200000 2#10101011110011011110

35006147 10/2013

341

Tipos de datos

Seccin 8.6
Tipos de datos derivados (DDT de dispositivo/IODDT/DDT)

Tipos de datos derivados (DDT de dispositivo/IODDT/DDT)


Objeto Esta seccin describe los tipos de datos derivados, que son: tablas (DDT) estructuras estructuras relativas a los datos de entrada/salida (IODDT) estructuras relativas a otros datos (DDT) estructuras sobre los datos de entrada/salida de mdulos Modicon M340 en las estaciones de E/S remotas de Modicon M340.

Contenido de esta seccin Esta seccin contiene los siguientes apartados:


Apartado Matrices Estructuras Visin general de la familia de tipos de datos derivados (DDT) DDT: normas de asignacin Descripcin general de los tipos de datos derivados de entradas/salidas (IODDT) Descripcin general de los tipos de datos derivados de dispositivos (DDT de dispositivo) Pgina 343 346 348 350 353 355

342

35006147 10/2013

Tipos de datos

Matrices
Qu es una matriz?

Es un elemento de datos que contiene un conjunto de datos del mismo tipo, como por ejemplo: Datos elementales (EDT), por ejemplo: Un grupo de palabras BOOL Un grupo de palabras de valor entero UINT etc. Datos derivados (DDT), por ejemplo: Un grupo de tablas WORD Un grupo de estructuras Datos derivados del dispositivo (DDT de dispositivo) etc.

Caractersticas Una matriz se caracteriza por dos parmetros: Uno que define su organizacin (dimensiones de matriz). Otro que define el tipo de datos que contiene.

NOTA: La organizacin ms compleja es la matriz con seis dimensiones. La sintaxis que incluye estos dos parmetros es la siguiente:

35006147 10/2013

343

Tipos de datos

Definicin e instancias de una matriz Definicin de un tipo de matriz:

Instancias de una matriz

Las instancias Tab_1 y Tab_2 son del mismo tipo y tienen la misma dimensin; la nica diferencia entre ambas se contempla durante la instancia: El tipo Tab_1 adopta el nombre X. Es necesario definir el tipo Tab_2 (tabla sin nombre). NOTA: resulta til dar un nombre al tipo de manera que, al llevar a cabo cualquier modificacin, slo ser necesario efectuar esta accin una vez; de lo contrario, debern efectuarse tantas modificaciones como instancias haya. Ejemplos Esta tabla presenta las instancias de matrices de diferentes dimensiones:
Entrada Tab_1: ARRAY[1..2] OF BOOL Tab_2: ARRAY[-10..20] OF WORD Tab_3: ARRAY[1..10, 1..20] OF INT Comentarios Matriz de una dimensin con dos palabras booleanas. Matriz de una dimensin con 31 estructuras de tipo WORD (estructura definida por el usuario). Matrices de dos dimensiones con enteros 10 x 20.

Tab_4: ARRAY[0..2, -1..1, 201..300, 0..1] OF REAL Matrices de cuatro dimensiones con reales 3 x 3 x 100 x 2.

NOTA: Muchas funciones (READ_VAR y WRITE_VAR, por ejemplo) no reconocen el ndice de una matriz de palabras que empieza por un nmero diferente de 0. En caso de utilizar este ndice, las funciones tomarn en cuenta el nmero de palabras de la matriz, pero no el ndice de inicio establecido en la definicin de la matriz.

ADVERTENCIA
COMPORTAMIENTO INESPERADO DE LA APLICACIN: NDICE DE MATRIZ NO VLIDO Cuando aplique funciones en variables de tipo de matriz, compruebe que las funciones sean compatibles con el valor del ndice de inicio de la matriz cuando este valor sea superior a 0. El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o dao al equipo.
344
35006147 10/2013

Tipos de datos

Acceso a un elemento de datos en las matrices Tab_1 y Tab_3:

Reglas de asignacin entre matrices Debemos distinguir las cuatro matrices siguientes:

35006147 10/2013

345

Tipos de datos

Estructuras
Qu es una estructura? Es un dato que contiene un conjunto de datos de distinto tipo, tales como:

Un conjunto de BOOL, WORD, UINT, etc., (estructura EDT). Un conjunto de matrices (estructura de DDT). Un conjunto de REAL, DWORD, matrices, etc., (estructura de EDT y DDT).

NOTA: Es posible llevar a cabo estructuras intercaladas (DDT intercaladas) en ocho niveles. No se autorizan las estructuras (DDT) recursivas.

Caractersticas Una estructura se compone de datos, cada uno de los cuales se caracteriza por:

Un tipo. Un nombre, que permite identificarlo. Un comentario (opcional) que describe su funcin.

Definicin de un tipo de estructura:

Definicin de dos instancias de datos de la estructura de tipo IDENT:

346

35006147 10/2013

Tipos de datos

Acceso a un dato de una estructura Acceso a un dato de la instancia Persona_1 de tipo IDENT:

35006147 10/2013

347

Tipos de datos

Visin general de la familia de tipos de datos derivados (DDT)


Introduccin La familia DDT (tipos de datos derivados) incluye tipos de datos "derivados" como: tablas, estructuras

Ilustracin:

Caractersticas Un elemento de datos perteneciente a la familia DDT est compuesto de: El nombre de tipo (vase pgina 309) (mximo 32 caracteres) definido por el usuario (no es obligatorio para las tablas pero se recomienda). (vase pgina 344) El tipo (estructura o tabla). Un comentario opcional (un mximo de 1024 caracteres). Los caracteres autorizados corresponden a los cdigos ASCII de 32 a 255. La descripcin (en el caso de una estructura) de los elementos: el nombre del elemento (vase pgina 309) (32 caracteres mximo),

el tipo de elemento, un comentario opcional (un mximo de 1024 caracteres).describiendo su funcin. Los caracteres autorizados corresponden a los cdigos ASCII 32 a 255.

Informacin como, por ejemplo: nmero de la versin del tipo, fecha de la ltima modificacin del cdigo, de las variables internas o de las variables de la interfaz, un archivo descriptivo opcional (32.767 caracteres), que describa el bloque de funciones y sus diferentes modificaciones.

NOTA: El tamao total de la tabla o de la estructura no debe superar 64 Kbytes.


348
35006147 10/2013

Tipos de datos

Ejemplos Definicin de tipos

Acceso a los datos de una instancia de estructura de tipo DRAW

35006147 10/2013

349

Tipos de datos

DDT: normas de asignacin


Introduccin Los DDT se almacenan en la memoria del PLC en funcin del orden en el que se introducen sus elementos. No obstante, se deben considerar las siguientes reglas. Principio de Premium y Quantum El principio de almacenamiento de Premium y Quantum es el siguiente: Los elementos se almacenan en el orden en el que se introducen en la estructura. El elemento bsico es el byte (ajuste de datos en los bytes de memoria). Cada elemento cuenta con una norma de alineacin: La de los tipos BOOL y BYTE se pueden ajustar bien en bytes pares o bien en impares. Todos los dems tipos elementales se ajustan en bytes pares. Las estructuras y las tablas se alinean en funcin de la norma de alineacin de los tipos BOOL y BYTE si contienen nicamente elementos BOOL y BYTE; en caso contrario, se alinean con los bytes pares de la memoria.

ADVERTENCIA
RIESGO DE INCOMPATIBILIDAD TRAS LA CONVERSIN DE CONCEPT Con la aplicacin de programacin Concept, las estructuras de datos no gestionan ningn cambio de desplazamiento (cada elemento se coloca uno detrs del otro en la memoria, sea cual sea su tipo). Por tanto, se recomienda comprobarlo todo, en particular la coherencia de los datos al utilizar DDT ubicados en la memoria de seal (riesgo de cambios) o funciones para comunicarse con otros dispositivos (transferencias con un tamao distinto a los programados en Concept). El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o dao al equipo.

350

35006147 10/2013

Tipos de datos

Principio de Modicon M340 El principio de almacenamiento de PLC Modicon M340 es el siguiente: Los elementos se almacenan en el orden en el que se introducen en la estructura. El elemento bsico es el byte. Una norma de alineacin y funcin del elemento: Los de tipo BOOL y BYTE se alinean en bytes pares o impares. Los de tipo INT, WORD y UINT se alinean en bytes pares. Los de tipo DINT, UDINT, REAL, TIME, DATE, TOD, DT y DWORD se alinean en palabras dobles. Las estructuras y las tablas se alinean segn las normas de sus elementos.

ADVERTENCIA
INTERCAMBIOS INCORRECTOS ENTRE UN MODICON M340 Y UN PREMIUM O QUANTUM Compruebe si la estructura de los datos intercambiados dispone de las mismas alineaciones en los dos proyectos. De lo contrario, los datos no se intercambiarn correctamente. El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o dao al equipo. NOTA: Es posible que la alineacin de datos no se mantenga igual cuando el proyecto se transfiera del simulador de Unity Pro a un PLC M340. Conviene comprobar la estructura de los datos del proyecto. NOTA: Unity Pro (vase Unity Pro, Modalidades de funcionamiento) indica dnde parece diferir la alineacin. Compruebe las instancias correspondientes en el editor de datos. Consulte la pgina Ajustes del proyecto (vase Unity Pro, Modalidades de funcionamiento) para saber cmo habilitar esta opcin. Ejemplos En la tabla siguiente se proporcionan algunos ejemplos de estructuras de datos. En los siguientes ejemplos, los DDT de la estructura se direccionan a %MWi. El primer byte de la palabra corresponde a los ocho bits de menor valor y el segundo byte de la palabra corresponde a los ocho bits de mayor valor. En todas las estructuras siguientes, la primera variable se asigna a la direccin %MW100:
Primera direccin de memoria Modicon M340 %MW100 (primer byte) %MW102 (primer byte) %MW104 (primer byte)
35006147 10/2013

Descripcin de la estructura Para_PWM1 t_period: TIME t_min: TIME in_max: REAL 351

Premium %MW100 (primer byte) %MW102 (primer byte) %MW104 (primer byte)

Tipos de datos

Primera direccin de memoria

Descripcin de la estructura Mode_TOTALIZER

%MW100 (primer byte) %MW100 (segundo byte)

%MW100 (primer byte) %MW100 (segundo byte)

hold: BOOL rst: BOOL Info_TOTALIZER

%MW100 (primer byte) %MW102 (primer byte) %MW103 (primer byte) %MW103 (segundo byte)

%MW100 (primer byte) %MW102 (primer byte) %MW103 (primer byte) %MW103 (segundo byte)

outc: REAL cter: UINT done: BOOL Reservado para la alineacin

En la tabla siguiente, se proporcionan dos ejemplos de estructuras de datos con matrices:


Primera direccin de memoria Modicon M340 %MW100 (primer byte) %MW100 (segundo byte) %MW104 (primer byte) Premium %MW100 (primer byte) %MW100 (segundo byte) %MW103 (primer byte) Descripcin de la estructura EHC105_Out Quit: BYTE Control: ARRAY [1..5] OF BYTE Final: ARRAY [1..5] OF DINT CPCfg_ex %MW100 (primer byte) %MW101 (primer byte) %MW102 (primer byte) %MW103 (primer byte) %MW104 (primer byte) %MW106 (segundo byte) %MW108 (primer byte) %MW110 (primer byte) %MW100 (primer byte) %MW101 (primer byte) %MW102 (primer byte) %MW103 (primer byte) %MW104 (primer byte) %MW106 (segundo byte) %MW107 (primer byte) %MW109 (primer byte) Profile_type: INT Interp_type: INT Nb_of_coords: INT Nb_of_points: INT reserved: ARRAY [0..4] OF BYTE Reservado para la alineacin de la variable Master_offset en bytes pares Master_offset: DINT Follower_offset: INT Reservado para la alineacin

%MW111 (palabra completa) -

352

35006147 10/2013

Tipos de datos

Descripcin general de los tipos de datos derivados de entradas/salidas (IODDT)


Presentacin Los tipos de datos derivados de entradas\salidas IODDT (Input Output Derived Data Type) estn predefinidos por el fabricante y contienen objetos de lenguaje de la familia EDT pertenecientes al canal de un mdulo de funcin especfica. Figura:

Los tipos IODDT son estructuras cuyo tamao (nmero de elementos que los componen) depende del canal o del mdulo de entradas\salidas que representan. Un mdulo de entradas\salidas determinado puede tener ms de un IODDT. La diferencia con una estructura clsica es que:

la estructura IODDT est predefinida por el fabricante y los elementos que componen la estructura IODDT no tienen una asignacin de memoria contigua, sino una direccin especfica en el mdulo.

35006147 10/2013

353

Tipos de datos

Ejemplos Estructura IODDT para un canal de entrada\salida de un mdulo analgico

Acceso a datos de una instancia de tipo ANA_IN_GEN:

Acceso mediante direccionamiento directo:

354

35006147 10/2013

Tipos de datos

Descripcin general de los tipos de datos derivados de dispositivos (DDT de dispositivo)


Presentacin Un dispositivo DDT es un DDT predefinido por el fabricante y que no puede ser modificado por el usuario. Contiene los elementos de E/S de un mdulo de E/S. Ilustracin:

Las estructuras de DDT de dispositivo como las estructuras de DDT pueden contener: EDT DDT Matriz de EDT y DDT

Los tipos DDT son estructuras cuyo tamao (nmero de elementos que los componen) depende del canal o del mdulo de entradas/salidas que representan. En la implementacin actual, un mdulo de E/S admite slo un tipo de DDT de dispositivo. La diferencia con una estructura clsica es que: la estructura de DDT est predefinida por el fabricante y la estructura de DDT admite EBOOL la estructura de DDT admite el tipo con bits extrados

35006147 10/2013

355

Tipos de datos

Seccin 8.7
Tipos de datos de bloques de funcin (DFB\EFB)

Tipos de datos de bloques de funcin (DFB\EFB)


Objeto En esta seccin, se describen los tipos de datos de bloques de funcin. que son:

Bloques de funciones del usuario (DFB) Bloques de funciones elementales (EFB)

Contenido de esta seccin Esta seccin contiene los siguientes apartados:


Apartado Descripcin general de las familias de tipos de datos de bloques de funciones Tipos de datos de bloques de funciones (EFB/DFB) Caractersticas de elementos que pertenecen a bloques de funciones Pgina 357 359 361

356

35006147 10/2013

Tipos de datos

Descripcin general de las familias de tipos de datos de bloques de funciones


Introduccin Las familias de tipos de datos de bloques de funciones son:

La familia de tipo bloque de funcin elemental (EFB) (vase pgina 303) y la familia de tipo bloque de funcin de usuario (DFB) (vase pgina 303).

Figura:

Los bloques de funciones son entidades que contienen:


variables de entradas y de salidas que sirven de interfaz con la aplicacin, un algoritmo de procesamiento que utiliza las variables de entradas y ofrece informacin de las variables de salidas, y variables internas privadas y pblicas utilizadas por el algoritmo de procesamiento.

Figura Bloque de funciones:

35006147 10/2013

357

Tipos de datos

Bloque de funcin del usuario (DFB) Los tipos de bloques de funciones del usuario (Derived Function Blocks) los desarrolla el usuario con uno o varios lenguajes (en funcin del nmero de secciones). Estos lenguajes son:

Lenguaje de contactos, lenguaje literal estructurado, lenguaje lista de instrucciones y lenguaje de bloques funcionales FBD.

Un tipo de DFB puede tener una o varias instancias, cada una de las cuales se identifica mediante un nombre (smbolo) y posee los tipos de datos de DFB. Bloque de funciones elemental (EFB) Los bloques de funciones elementales (EFB) los proporciona el fabricante y estn programados en lenguaje C. El usuario puede crear sus propios EFB, para lo que debe disponer de la herramienta de software opcional "SDKC". Un tipo de EFB puede tener una o varias instancias, cada una de las cuales se identifica mediante un nombre (smbolo) y posee los datos del tipo de EFB.

358

35006147 10/2013

Tipos de datos

Tipos de datos de bloques de funciones (EFB/DFB)


Definicin del tipo El tipo de un bloque de funciones EFB o DFB se define mediante:

El nombre del tipo (vase pgina 309), definido por el usuario para los DFB. Un comentario opcional. Los caracteres autorizados corresponden a los cdigos ASCII 32 a 255. Los datos de interfaz con la aplicacin: Las entradas, a las que no se puede acceder en modo lectura/escritura desde la aplicacin, pero que lee el cdigo del bloque de funciones. Las entradas/salidas, a las que no se puede acceder en modo lectura\escritura desde la aplicacin, pero que lee y escribe el cdigo del bloque de funciones. Las salidas, a las que se puede acceder en modo de solo lectura desde la aplicacin, y que puede leer y escribir el cdigo del bloque de funciones. Los datos internos: Pblicos, a los que se puede acceder en modo lectura/escritura desde la aplicacin, y que puede leer y escribir el cdigo del bloque de funciones. Privados, a los que no se puede acceder desde la aplicacin, y que puede leer y escribir el cdigo del bloque de funciones. El cdigo: Para los DFB, es el usuario quien los escribe en lenguaje del PLC (texto estructurado, lista de instrucciones, lenguaje de contactos, lenguaje de bloques de funciones) y est estructurado en una sola seccin o en varias secciones. Para los EFB, se escribe en lenguaje C. Informacin como, por ejemplo: El nmero de versin del tipo. La fecha de la ltima modificacin del cdigo, de las variables internas o de las variables de interfaces. Un archivo descriptivo opcional (32767 caracteres) que describe la funcin del bloque y sus diferentes modificaciones.

35006147 10/2013

359

Tipos de datos

Caractersticas En la tabla se indican las caractersticas de los elementos que componen un tipo:
Elemento Nombre Comentario Datos de entrada Datos de entrada/salida Datos de salida Nmero de interfaces (Entradas + Salidas + Entradas/Salidas) Datos pblicos Datos privados Lenguaje de programacin EFB 32 caracteres 1024 caracteres 32 como mximo 32 como mximo 32 como mximo 32 mximo (2) Sin lmites (1) Sin lmites (1) Lenguaje C DFB 32 caracteres 1024 caracteres 32 como mximo 32 como mximo 32 como mximo 32 mximo (2) Sin lmites (1) Sin lmites (1) Lenguaje: Texto estructurado Lista de instrucciones Lenguaje de contactos Bloque de funciones Una seccin se define mediante: un nombre (32 caracteres como mximo) una condicin de validacin un comentario (256 caracteres como mximo) una proteccin sin solo lectura modo lectura/escritura Una seccin no puede acceder a las variables declaradas en la aplicacin, excepto: las palabras dobles de sistema %SDi las palabras de sistema %SWi los bits del sistema %Si

Seccin

(1): el tamao de la memoria del PLC es la nica limitacin. (2): no se tiene en cuenta la entrada EN ni la salida ENO.

360

35006147 10/2013

Tipos de datos

Caractersticas de elementos que pertenecen a bloques de funciones


Definicin de elemento Cada elemento (datos de interfase o internos) se define mediante lo siguiente: Un nombre (vase pgina 309) (de 32 caracteres como mximo), definido por el usuario. Un tipo, que puede pertenecer a las familias siguientes: Tipos de datos elementales (EDT) Tipos de datos derivados (DDT) Tipo de datos derivados del dispositivo (DDT de dispositivo) Tipos de datos de bloques de funciones (EFB/DFB)

Un comentario opcional (de 1.024 caracteres como mximo). Los caracteres autorizados corresponden a los cdigos ASCII 32 a 255. Un valor inicial Un derecho de acceso del programa de aplicacin (secciones de la aplicacin o seccin perteneciente a los DFB; consulte Definicin del tipo de bloques de funciones (interfase y variables internas) (vase pgina 359). Un derecho de acceso de las solicitudes de comunicacin Un flag de copia de seguridad de variables pblicas.

Tipos de datos autorizados para un elemento perteneciente a un DFB A continuacin se detallan los tipos de datos autorizados:
Elemento de DFB Tipos de Tipos de DDT EDT IODDT Datos de entrada Datos de entrada/salida Datos de salida Datos pblicos Datos privados S S (1) S S S Sin S No No No Tablas sin nombre S S S S S ANY_ARRAY S S No No No Otros S S S S S S (2) S (2) S (2) (3) No No No No No No S ANY... Tipos de bloques de funciones

(1): no autorizado para los datos estticos de tipo EBOOL utilizados en los PLC Quantum. (2): no autorizado para los datos de tipo BOOL y EBOOL. (3): debe completarse durante la ejecucin del DFB, y no se utiliza fuera del DFB.

35006147 10/2013

361

Tipos de datos

Tipos de datos autorizados para un elemento perteneciente a un EFB A continuacin se detallan los tipos de datos autorizados:
Elemento de EFB Tipos de EDT Tipos de DDT ANY... Tipos de bloques de funciones

IODDT Datos de entrada Datos de entrada/salida Datos de salida Datos pblicos Datos privados S S S S S No S No No No

Tablas sin nombre No No No No No

ANY_ARRAY S S No No No

Otros S S S S S S (1) S (1) No No

S (1) (2) No No No No S

(1): no autorizado para los datos de tipo BOOL y EBOOL. (2): debe completarse durante la ejecucin del EFB, y no se utiliza fuera del EFB. Valores iniciales para un elemento perteneciente a un DFB Esta tabla especifica si los valores iniciales pueden introducirse desde la definicin de tipo DFB o la instancia DFB:
Elemento de DFB Datos de entrada (del tipo ANY...) Datos de entrada/salida Datos de salida (que no son del tipo ANY...) Datos de salida (del tipo ANY...) Datos pblicos Datos privados Desde el tipo DFB No No S No S S Desde la instancia DFB S No No S No S No

Datos de entrada (que no son del tipo ANY...) S

362

35006147 10/2013

Tipos de datos

Valores iniciales para un elemento perteneciente a un EFB Esta tabla especifica si los valores iniciales pueden introducirse desde la definicin de tipo EFB o la instancia EFB:
Elemento de EFB Desde el tipo EFB Desde la instancia DFB S

Datos de entrada (que no son del tipo ANY..., S consulte generic data types (vase pgina 364)) Datos de entrada (del tipo ANY...) Datos de entrada/salida Datos de salida (que no son del tipo ANY...) Datos de salida (del tipo ANY...) Datos pblicos Datos privados No No S No S S

No No S No S No

ADVERTENCIA
COMPORTAMIENTO INESPERADO DE LA APLICACIN: NDICE DE MATRIZ NO VLIDO Cuando utilice EFB y DFB en variables de tipo matriz, utilice slo matrices con un ndice de inicio igual a 0. El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o dao al equipo.

35006147 10/2013

363

Tipos de datos

Seccin 8.8
Tipos de datos genricos (GDT)

Tipos de datos genricos (GDT)


Descripcin general de los tipos de datos genricos
Presentacin Los tipos de datos genricos son conjuntos de tipos de datos clsicos (EDT, DDT) que tienen por objeto determinar la compatibilidad entre estos tipos de datos clsicos. Dichos conjuntos se identifican por el prefijo "ANY_ARRAY", pero estos prefijos no pueden utilizarse en ningn caso para instanciar los datos. Sus campos de utilizacin hacen referencia a las familias del tipos de datos de bloques de funciones (EFB/DFB) y funciones elementales (EF) para definir los tipos de datos compatibles con sus interfases para:

entradas, entradas/salidas y salidas.

Tipos de datos genricos disponibles Los tipos de datos genricos disponibles en Unity Pro son los siguientes:

ANY_ARRAY_WORD ANY_ARRAY_UINT ANY_ARRAY_UDINT ANY_ARRAY_TOD ANY_ARRAY_TIME ANY_ARRAY_STRING ANY_ARRAY_REAL ANY_ARRAY_INT ANY_ARRAY_EBOOL ANY_ARRAY_DWORD ANY_ARRAY_DT ANY_ARRAY_DINT ANY_ARRAY_DATE ANY_ARRAY_BYTE ANY_ARRAY_BOOL

364

35006147 10/2013

Tipos de datos

Ejemplo Se da el siguiente DFB:

NOTA: Los objetos permitidos para los diferentes parmetros se definen en esta matriz (vase pgina 659).

35006147 10/2013

365

Tipos de datos

Seccin 8.9
Tipos de datos pertenecientes a las grficas de funciones secuenciales (SFC)

Tipos de datos pertenecientes a las grficas de funciones secuenciales (SFC)


Descripcin general de los tipos de datos de la familia de grficas de funciones secuenciales
Introduccin La familia de los tipos de datos de diagramas funcionales en secuencia SFC (Sequential function chart) agrupa tipos de datos denominados compuestos, tales como estructuras que restablecen las propiedades y el estado del grfico (Chart) y las acciones que lo componen. Cada etapa est representada por dos estructuras, que son:

La estructura SFCSTEP_STATE y la estructura SFCSTEP_TIMES.

Figura:

NOTA: Los dos tipos de estructuras SFCSTEP_STATE y SFCSTEP_TIMES estn tambin vinculadas a cada macroetapa del diagrama funcional en secuencia.

366

35006147 10/2013

Tipos de datos

Definicin de la estructura de tipo SFCSTEP_STATE Esta estructura rene todos los datos relativos al estado de la etapa o de la macroetapa. Estos datos son:

x: dato elemental (EDT) de tipo BOOL que contiene el valor TRUE cuando la etapa est activa. t: tipo de dato elemental (EDT) TIME que contiene el tiempo de actividad del paso. Al estar inactivo, el valor del paso se mantiene hasta la siguiente activacin. tminErr: dato elemental (EDT) de tipo BOOL que contiene el valor TRUE si el tiempo de actividad de la etapa es inferior al tiempo de actividad mnimo programado. tmaxErr: dato elemental (EDT) de tipo BOOL que contiene el valor TRUE si el tiempo de actividad de la etapa es superior al tiempo de actividad mximo programado.

Se puede acceder a estos datos a partir de la aplicacin en slo lectura. Definicin de la estructura de tipo SFCSTEP_TIMES Esta estructura rene todos los datos relativos a los parmetros del tiempo de ejecucin de la etapa o de la macroetapa. Estos datos son:

delay: dato elemental (EDT) de tipo TIME que define el tiempo de retardo de exploracin de la transicin situado hacia abajo de la etapa activa. tmin: tipo de dato elemental (EDT) TIME que contiene el valor mnimo durante el que se debe ejecutar el paso. Si no se respeta este valor, el tmin.Err de datos pasa al valor TRUE. tmax: tipo de dato elemental (EDT) TIME que contiene el valor mximo durante el que se debe ejecutar el paso. Si no se respeta este valor, el tmax.Err de datos pasa al valor TRUE.

Slo se puede acceder a estos datos a partir del editor del SFC. Sintaxis de acceso a un dato de la estructura SFCSTEP_STATE Los nombres de instancias de esta estructura corresponden a los nombres de las etapas o macroetapas del diagrama funcional en secuencia
Sintaxis Nombre_Etapa.x Nombre_Etapa.t Nombre_Etapa.tminErr Comentario Permite conocer el estado de la etapa (activa/inactiva) Permite conocer el tiempo de activacin en curso o total de la etapa Permite conocer si el tiempo mnimo de activacin de la etapa es inferior al tiempo programado en Nombre-Etapa.tmin

Nombre_Etapa.tmaxErr Permite conocer si el tiempo mximo de activacin de la etapa es superior al tiempo programado en Nombre-Etapa.tmax

35006147 10/2013

367

Tipos de datos

Seccin 8.10
Compatibilidad entre los tipos de datos

Compatibilidad entre los tipos de datos


Compatibilidad entre tipos de datos
Introduccin A continuacin se presentan las diferentes reglas de compatibilidad entre tipos en el interior de cada una de las siguientes familias: Familia de tipos de datos elementales (EDT) Familia de tipos de datos derivados (DDT) Familia de tipos de datos genricos (GDT) Familia de tipos de datos elementales (EDT) La familia de tipos de datos elementales (EDT) contiene subfamilias, a saber: la subfamilia de tipos de datos con formato binario la subfamilia de tipos de datos con formato BCD la subfamilia de tipos de datos con formato real la subfamilia de tipos de datos con formato de cadena de caracteres la subfamilia de tipos de datos con formato de cadena de bits No hay compatibilidad entre dos tipos de datos, cualesquiera que sean, aunque pertenezcan a la misma subfamilia. Familia de tipos de datos derivados (DDT) La familia de tipos de datos derivados (DDT) contiene subfamilias, a saber: la subfamilia de tipo tabla la subfamilia de tipo estructura: estructuras relativas a los datos de entrada/salida (IODDT) estructuras relativas a los dispositivos de entrada/salida (DDT de dispositivo) estructuras relativas a los dems datos

368

35006147 10/2013

Tipos de datos

Reglas relativas a las estructuras: Dos estructuras son compatibles si sus elementos: tienen los mismos nombres son del mismo tipo estn organizados siguiendo el mismo orden Se dan cuatro tipos de estructuras:

Compatibilidad entre los tipos de estructuras


Tipos ELEMENT_1 ELEMENT_2 ELEMENT_3 ELEMENT_4 S NO NO NO NO NO ELEMENT_1 ELEMENT_2 S ELEMENT_3 NO NO ELEMENT_4 NO NO NO

35006147 10/2013

369

Tipos de datos

Reglas relativas a las tablas Dos tablas son compatibles si: las dimensiones y su organizacin son idnticas cada dimensin correspondiente es del mismo tipo Se dan cinco tipos de tablas:

Compatibilidad entre los tipos de tablas:


El tipo... TAB_1 TAB_2 TAB_4 TAB_4[25] y el tipo... TAB_2 TAB_3 TAB_5 TAB_5[28] son... incompatible compatible compatible compatible

370

35006147 10/2013

Tipos de datos

Familia de tipos de datos genricos (GDT) La familia de tipos de datos genricos (GDT) se compone de conjuntos organizados de forma jerrquica que contienen tipos de datos pertenecientes a las familias: Tipos de datos elementales (EDT) Tipos de datos derivados (DDT) Reglas: Un tipo de datos clsico es compatible con los tipos de datos genricos que le son jerrquicos. Un tipo de datos genrico es compatible con los tipos de datos genricos que le son jerrquicos. Ejemplo:

35006147 10/2013

371

Tipos de datos

Seccin 8.11
Tipo de datos de referencia

Tipo de datos de referencia


Declaraciones de referencias
Introduccin El tipo de datos de referencia permite la asignacin de diferentes tipos de datos a un DDT. Una referencia contiene la direccin de memoria de una variable.

AVISO
COMPORTAMIENTO INESPERADO DE LA APLICACIN Tenga especial cuidado durante la prueba de su aplicacin para verificar el uso correcto de las referencias en su programa. El incumplimiento de estas instrucciones puede causar dao al equipo. Las referencias se describen utilizando la palabra clave REF_TO seguida del tipo de valor referenciado (por ejemplo: myRefInt: REF_TO INT). Una referencia puede asignarse a otra referencia si apunta a los mismos datos o se trata de un tipo de datos compatible (por ejemplo, myRefToINT1:= myRefToINT2). Las referencias pueden asignarse a parmetros de funciones. Resumen de las operaciones de referencias de Unity Pro:
Operacin Declaracin Asignacin Descripcin Declaracin de una variable como una referencia Asigna referencias del mismo tipo entre s Asigna referencias a parmetros de una funcin Comparacin con NULL Referencias Desreferenciar Asigna direcciones de una variable a una referencia Proporciona el valor de la variable referenciado en Ejemplo myRefInt: REF_TO INT myRefToINT1:= myRefToINT2 myFB (r := myRef) IF myRef = NULL THEN myRefToA := REF(A) A := myRefToA^B := myRefArrayType^[12]

Una referencia puede ser desreferenciada utilizando un postfijo ^ (signo de intercalacin), pero desreferenciar una referencia NULL produce un error detectado.
372
35006147 10/2013

Tipos de datos

Limitaciones de las referencias Una referencia: a una referencia no est permitida, no se puede asignar explcitamente el valor NULL a un tipo EBOOL, a una IODDT no se admite porque no tiene asignacin de memoria, no tiene direccin para referenciar, slo puede referirse a variables de los tipos de datos de referencia dados (EDT, DDT o DDT de dispositivo) y slo se puede comparar a la referencia del mismo tipo, slo se puede utilizar con los operadores :=, = y <> y las EF EQ y NE. slo se puede utilizar con la funcin genrica MOVE, no puede ser una variable temporal, por ejemplo, un enlace FBD o el valor resultante de una llamada a EF intercalada, no se puede utilizar con los lenguajes de programacin SFC y LL984, respeta los derechos de acceso de la variable referenciada, se puede asignar a un parmetro de referencia formal FFB, por ejemplo, a un pin de referencia.

Se permite declarar un DFB o un FFB con un parmetro de entrada o salida, pero no con un parmetro de entrada/salida, el cual ya es una referencia. Una referencia desreferenciada se puede utilizar como una variable del tipo referenciado. Slo se permite un nivel de desreferenciacin. El valor inicial de una referencia no puede ser cclico:

35006147 10/2013

373

Tipos de datos

Derechos de acceso a la referencia Derechos de acceso a la referencia utilizando lenguaje C:


Puntero equivalente de lenguaje C y puntero de constantes del valor const CType* const const CType* const CType* const CType* const const CType* const CType* CType* CType* Referencia Programa RW Variable Valor Programa referenciado RW RW Asignacin Se admite Prohibida

RO RO RO RO RW RW RW RW

RO RO RW RW RO RO RW RW

RO RW RO RW RO RW RO RW

MyREF := REF(Var) MyREF := REF(Var) MyREF := REF(Var) MyREF := REF(Var) MyREF := REF(Var) MyREF := REF(Var) MyREF := REF(Var) MyREF := REF(Var) X X X

X X X X

RO rea slo de lectura RW rea de lectura y escritura

Puntero equivalente de lenguaje C y puntero de constantes del valor const CType* const const CType* const CType* const

Referencia Programa RW Valor referenciado RW

Variable Programa RW

Asignacin

Se admite Prohibida

RO RO RO

RO RO RW

RO RW RO

MyREF^ := Var MyREF^ := Var MyREF^ := Var X

X X

RO rea slo de lectura RW rea de lectura y escritura

374

35006147 10/2013

Tipos de datos

Puntero equivalente de lenguaje C y puntero de constantes del valor CType* const const CType* const CType* CType* CType*

Referencia Programa RW Valor referenciado RW

Variable Programa RW

Asignacin

Se admite Prohibida

RO RW RW RW RW

RW RO RO RW RW

RW RO RW RO RW

MyREF^ := Var X MyREF^ := Var MyREF^ := Var MyREF^ := Var X MyREF^ := Var X X X

RO rea slo de lectura RW rea de lectura y escritura

35006147 10/2013

375

Tipos de datos

376

35006147 10/2013

Unity Pro Instancias de datos 35006147 10/2013

Captulo 9
Instancias de datos

Instancias de datos
Contenido del captulo Este captulo describe las instancias de datos y sus caractersticas. Estas instancias pueden ser:

Instancias de datos sin localizar, instancias de datos localizados e instancias de datos con direccionamiento directo.

Contenido de este captulo Este captulo contiene los siguiente apartados:


Apartado Instancias de tipos de datos Atributos de la instancia de datos Instancias de datos con direccionamiento directo Pgina 378 382 385

35006147 10/2013

377

Instancias de datos

Instancias de tipos de datos


Introduccin Qu es una instancia de tipos de datos? (vase pgina 306) La instancia de un tipo de datos se identifica mediante: un nombre (smbolo), en cuyo caso se dice que los datos estn sin localizar, ya que su asignacin de memoria no se define, sino que el sistema la efecta automticamente, un nombre (smbolo) y una direccin topolgica que define el fabricante, en cuyo caso se dice que los datos estn localizados, ya que se conoce su asignacin de memoria, y una direccin topolgica que define el fabricante, en cuyo caso se dice que los datos tienen direccionamiento directo, ya que se conoce su asignacin de memoria.

Instancias de datos sin localizar Las instancias de datos sin localizar se gestionan desde el sistema operativo del PLC sin que el usuario conozca su ubicacin fsica. Las instancias de datos sin localizar se definen a partir de tipos de datos que pueden pertenecer a la familia: Tipos de datos elementales (EDT) Tipos de datos derivados (DDT) Tipos de datos derivados del dispositivo (DDT del dispositivo) Tipos de datos de bloques de funciones (EFB/DFB) Tipos de datos de grficas de funciones secuenciales (SFC) Ejemplos:

NOTA: Las instancias de tipos de datos de grfica de funcin secuencial (SFC) se crean cuando se insertan en el programa de aplicacin con un nombre predeterminado que el usuario puede modificar.
378
35006147 10/2013

Instancias de datos

Instancias de datos localizados La localizacin de una variable (definida mediante un smbolo) implica la creacin de una direccin en el editor de variables. Las instancias de datos localizadas poseen un emplazamiento predefinido en la memoria del PLC, que el usuario conoce. Direccin topolgica para los mdulos de entrada/salida Direccin global (M340, Premium) o memoria de seal (M340, Quantum) Las instancias de datos localizadas se definen a partir de tipos de datos que pueden pertenecer a la familia: Tipos de datos elementales (EDT) Tipos de datos derivados (DDT) Tipos de datos derivados de entrada/salida (IODDT) En la lista siguiente se muestran las instancias de datos que deben localizarse en un tipo de direcciones %MW, %KW: INT UINT WORD BYTE DATE DT STRING TIME TOD tipo de estructura DDT Tabla. En las tablas EBOOL o EBOOL, las instancias de datos deben ubicarse en un tipo de direcciones %M, %Q o %I. El tipo de instancias de datos IODDT debe ser localizado por el tipo de canal del mdulo %CH. NOTA: Las instancias de doble tipo de datos ubicados (DINT, DUNIT, DWORD) o flotantes (REAL) deben ubicarse por el tipo de direcciones %MW, %KW. Slo es posible la localizacin de tipos de instancias de objetos de E/S con el tipo %MD<i>, %KD<i>, %QD, %ID, %MF<i>, %KF<i>, %QF, %IF utilizando su direccin topolgica (por ejemplo, %MD0.6.0.11, %MF0.6.0.31). NOTA: En Modicon M340, el valor de ndice (i) debe ser par (vase pgina 351) para instancias de tipo doble de datos localizados (%MW y %KW).

35006147 10/2013

379

Instancias de datos

Ejemplos:

NOTA: Las instancias de tipos de datos de grfica de funcin secuencial (SFC) se crean en el momento de insertarse en el programa de aplicacin con un nombre predeterminado que el usuario puede modificar.

380

35006147 10/2013

Instancias de datos

Instancias de datos con direccionamiento directo Las instancias de datos con direccionamiento directo poseen un emplazamiento predefinido en la memoria del PLC o en un mdulo especfico de la aplicacin, que el usuario conoce. Las instancias de datos de direccionamiento directo se definen a partir de tipos pertenecientes a la familia del tipo de datos elementales (EDT). Ejemplos de instancias de datos con direccionamiento directo:
Internos %M<i> %MW<i> %MD<i> (1) %MF<i> (1) Leyenda: (1) No disponible en Modicon M340 %KW<i> %KD<i> (1) %KF<i> (1) Constantes Sistema %S<i> %SW<i> Entradas/Salida s %Q, %I %QW, %IW %QD, %ID %QF, %IF %NW Red

NOTA: Las instancias de datos localizados se pueden utilizar mediante un direccionamiento directo en el programa Ejemplo: Var_1: DINT AT %MW10 ; se utiliza tanto %MW10 como %MW11. En el programa, se puede utilizar el direccionamiento directo %MD10 o Var_1.

35006147 10/2013

381

Instancias de datos

Atributos de la instancia de datos


Presentacin Los atributos de una instancia de datos es informacin que la define. Dicha informacin es la siguiente: Su nombre (vase pgina 309) (excepto para las instancias de datos de direccionamiento directo (vase pgina 385)). Su direccin topolgica (excepto para las instancias de tipos de datos sin localizar). Su tipo de datos, que puede pertenecer a las familias siguientes: Tipo de datos elementales (EDT) Tipo de datos derivados (DDT) Tipo de datos derivados del dispositivo (DDT de dispositivo) Tipo de datos de bloques de funciones (EFB\DFB) Tipo de datos de grfico de funciones secuencial (SFC)

Un comentario descriptivo opcional (con un mximo de 1024 caracteres). Los caracteres autorizados corresponden a los cdigos ASCII de 32 a 255.

Nombre de una instancia de datos Es un smbolo (mximo de 32 caracteres) instanciado automticamente con un nombre predeterminado. El usuario no puede modificar este nombre. Algunos nombres no se pueden utilizar, por ejemplo: palabras clave utilizadas en los lenguajes textuales nombres de seccin de programa nombres de tipos de datos predefinidos o elegidos por el usuario (estructuras, tablas) nombres de tipos de datos DFB/EFB predefinidos o elegidos por el usuario nombres de funciones elementales (EF) predefinidas o elegidas por el usuario

382

35006147 10/2013

Instancias de datos

Nombre de instancias que pertenecen a la familia SFC Los nombres de las instancias se introducen implcitamente mientras que el usuario dibuja su grfico de funcin secuencial. Son nombres predeterminados que facilita el fabricante y que el usuario puede modificar. Nombres predeterminados facilitados por el fabricante:
Objeto SFC Paso Etapa de paso de macro Paso de macro Paso de macro intercalado Etapa de salida del paso de macro Transicin Transicin de paso de macro Nombre S_<nombre de seccin>_<n. de paso> S_<nombre de seccin>_<n. de paso de macro>_<n. de paso> MS_<nombre de seccin>_<n. de paso> MS_<nombre de seccin>_<n. de paso de macro>_<n. de paso> S_OUT<nombre de seccin>_<n. de paso de macro> T_<nombre de seccin>_<n. de transicin> T_<nombre de seccin>_<n. de paso de macro>_<n. transicin>

Etapa de entrada del paso de macro S_IN<nombre de seccin>_<n. de paso de macro>

Nombres de instancias que pertenecen a la familia de bloques de funciones Los nombres de las instancias se introducen implcitamente mientras que el usuario introduce las instancias en las secciones del programa de aplicacin. Son nombres predeterminados que facilita el fabricante y que el usuario puede modificar. Sintaxis de los nombres predeterminados facilitados por el fabricante:

NOTA: El nombre de la instancia no incluye el de la seccin en la que se utiliza, ya que se puede emplear en diferentes secciones de la aplicacin.

35006147 10/2013

383

Instancias de datos

Acceso a un elemento de una instancia de la familia DDT La sintaxis de acceso es la siguiente:

Regla: El tamao mximo de la sintaxis de acceso es de 1024 caracteres como mximo, y los lmites posibles de un tipo de datos derivados son los siguientes: 10 niveles de intercalacin (tablas/estructuras) 6 dimensiones por tabla 4 dgitos (cifras) para definir el ndice del elemento de una tabla Acceso a un elemento de una instancia de la familia DDT de dispositivo La sintaxis de acceso es la siguiente:

Regla: El tamao mximo de la sintaxis de acceso es de 1024 caracteres como mximo, y los lmites posibles de un tipo de datos derivados son los siguientes: 10 niveles de intercalacin (tablas/estructuras) 6 dimensiones por tabla 4 dgitos (cifras) para definir el ndice del elemento de una tabla

384

35006147 10/2013

Instancias de datos

Instancias de datos con direccionamiento directo


Presentacin Qu es una instancia de datos de direccionamiento directo? (vase pgina 381) Sintaxis de acceso La sintaxis de una instancia de datos de direccionamiento directo se define mediante el smbolo % seguido de un prefijo de localizacin de memoria y, en determinados casos, de informacin adicional. El prefijo de localizacin de memoria puede ser:

M, para las variables internas K, para las constantes (Premium y Modicon M340) S, para las variables de sistema N, para las variables de redes I, para las variables de entradas Q, para las variables de salidas

Caso de las variables internas %M Sintaxis de acceso:


Sintaxis Bit Palabra Bit extrado de palabra Palabra doble Real (flotante) Leyenda (1): No disponible en Modicon M340. Formato Ejemplo Derecho de acceso al programa L/E L/E L/E L/E L/E

%M<i> o %MX<i> 3 bits (EBOOL) %M1 %MW<i> %MW<i>.<j> %MD<i> (1) %MF<i> (1) 16 bits (INT) 1 bit (BOOL) 32 bits (DINT) 32 bits (REAL) %MW10 %MW15.5 %MD8 %MF15

<i> representa el nmero de la instancia (empieza en 0 para Premium y en 1 para Quantum). En Modicon M340, la instancia de tipo doble (palabra doble) o flotante (real) debe localizarse mediante un %MW de tipo entero. El ndice <i> del %MW debe ser par. NOTA: Los datos %M<i> o %MX<i> detectan los flancos y gestionan el forzado.

35006147 10/2013

385

Instancias de datos

Organizacin de la memoria:

NOTA: La modificacin de %MW<i> conlleva las modificaciones de %MD<i> y %MF<i> correspondientes. Constantes %K Sintaxis de acceso:
Sintaxis Formato Derecho de acceso al programa L L L

Constante de palabra Constante de palabra doble Constante Real (flotante) Leyenda

%KW<i> %KD<i> (1) %KF<i> (1)

16 bits (INT) 32 bits (DINT) 32 bits (REAL)

(1): No disponible en Modicon M340.

<i> representa el nmero de la instancia. NOTA: La organizacin de la memoria es idntica a la de las variables internas. Debe tenerse en cuenta que estos datos no estn disponibles en los PLC Quantum.

386

35006147 10/2013

Instancias de datos

Caso de las constantes %I Sintaxis de acceso:


Sintaxis Formato Derecho de acceso al programa L L

Constante bit Constante de palabra

%I<i> %IW<i>

3 bits (EBOOL) 16 bits (INT)

<i> representa el nmero de la instancia. NOTA: Estos datos slo estn disponibles en los PLC Quantum y Momentum. Caso de las variables de sistema %S Sintaxis de acceso:
Sintaxis Formato Derecho de acceso al programa L/E o L L/E o L

Bit Palabra

%S<i> o %SX<i> %SW<i>

1 bit (BOOL) 32 bits (INT)

<i> representa el nmero de la instancia. NOTA: La organizacin de la memoria es idntica a la de las variables internas. Los datos %S<i> o %SX<i> no son de deteccin de flancos y no gestionan el forzado. Caso de las variables de redes %N Estas variables contienen informacin que se debe intercambiar entre varios programas de aplicacin a travs de la red de comunicacin. Sintaxis de acceso:
Sintaxis Formato Derecho de acceso al programa L/E o L L/E o L

Palabra comn Bit extrado de palabra

%NW<n>.<s>.<d> %NW<n>.<s>.<d>.<j>

16 bits (INT) 1 bit (BOOL)

<n> representa el nmero de red. <s> representa el nmero de la estacin. <d> representa el nmero del dato. <j> representa el rango del bit en la palabra.
35006147 10/2013

387

Instancias de datos

Caso de las variables de entradas/salidas Estas variables estn contenidas en los mdulos de funcin especfica. Sintaxis de acceso:
Sintaxis Ejemplo Derecho de acceso al programa L L L L L L L L L L L L/E L/E L/E L/E L/E L/E L/E L/E L/E L/E L/E L/E L/E L/E

Estructura de entradas/salidas (IODDT) Entradas %I Bit de error del mdulo de tipo BOOL Bit de error del canal de tipo BOOL Bit de tipo BOOL o EBOOL Palabra de tipo INT Palabra doble de tipo DINT Real (flotante) de tipo REAL Salidas %Q Bit de tipo EBOOL Palabra de tipo INT Palabra doble de tipo DINT Real (flotante) de tipo REAL Variables %M (Premium) Palabra de tipo INT Palabra doble de tipo DINT Real (flotante) de tipo REAL

%CH<@mod>.<c> %I<@mod>.MOD.ERR %I<@mod>.<c>.ERR %I<@mod>.<c> %I<@mod>.<c>.<d> %IW<@mod>.<c> %IW<@mod>.<c>.<d> %ID<@mod>.<c> %ID<@mod>.<c>.<d> %IF<@mod>.<c> %IF<@mod>.<c>.<d> %Q<@mod>.<c> %Q<@mod>.<c>.<d> %QW<@mod>.<c> %QW<@mod>.<c>.<d> %QD<@mod>.<c> %QD<@mod>.<c>.<d> %QF<@mod>.<c> %QF<@mod>.<c>.<d> %MW<@mod>.<c> %MW<@mod>.<c>.<d> %MD<@mod>.<c> %MD<@mod>.<c>.<d> %MF<@mod>.<c> %MF<@mod>.<c>.<d>

%CH4.3.2 %I4.2.MOD.ERR %I4.2.3.ERR %I4.2.3 %I4.2.3.1 %IW4.2.3 %IW4.2.3.1 %ID4.2.3 %ID4.2.3.2 %IF4.2.3 %IF4.2.3.2 %Q4.2.3 %Q4.2.30.1 %QW4.2.3 %QW4.2.3.1 %QD4.2.3 %QD4.2.3.2 %QF4.2.3 %QF4.2.3.2 %MW4.2.3 %MW4.2.3.1 %MD4.2.3 %MD4.2.3.2 %MF4.2.3 %MF4.2.3.2

388

35006147 10/2013

Instancias de datos

Sintaxis

Ejemplo

Derecho de acceso al programa L L L L L L

Constantes %K (Modicon M340 y Premium) Palabra de tipo INT Palabra doble de tipo DINT Real (flotante) de tipo REAL %KW<@mod>.<c> %KW<@mod>.<c>.<d> %KD<@mod>.<c> %KD<@mod>.<c>.<d> %KF<@mod>.<c> %KF<@mod>.<c>.<d> %KW4.2.3 %KW4.2.3.1 %KD4.2.3 %KD4.2.3.12 %KF4.2.3 %KF4.2.3.12

<@mod = \<b>.<e>\<r>.<m> <b> nmero de bus (omitido en caso de estacin local). <e> nmero del punto de conexin del dispositivo (omitido en caso de estacin local, el punto de conexin se denomina tambin drop para los usuarios de autmatas Quantum). <r> nmero de bastidor. <m> emplazamiento del mdulo <c> nmero de canal (de 0 a 999) o palabra reservada MOD. <d> nmero del dato (de 0 a 999) o palabra reservada ERR (opcional si el valor es 0). En Modicon M340 <d> siempre es par.

35006147 10/2013

389

Instancias de datos

Ejemplos: estacin local y estacin en bus para los PLC Modicon M340.

390

35006147 10/2013

Instancias de datos

Ejemplos: estacin local y estacin en bus para los PLC Quantum y Premium.

35006147 10/2013

391

Instancias de datos

392

35006147 10/2013

Unity Pro Referencias de datos 35006147 10/2013

Captulo 10
Referencias de datos

Referencias de datos
Contenido del captulo Este captulo describe las referencias de instancias de datos. Estas referencias pueden ser:

Referencias por valores, referencias por nombres o referencias por direcciones.

Contenido de este captulo Este captulo contiene los siguiente apartados:


Apartado Referencias de instancias de datos por valores Referencias de instancias de datos por nombre Referencias de instancias de datos por direcciones Reglas de denominacin de los datos Pgina 394 396 399 403

35006147 10/2013

393

Referencias de datos

Referencias de instancias de datos por valores


Introduccin Qu es una referencia de instancia de datos? (vase pgina 308) Presentacin Una referencia de instancia de datos por valor es una instancia que no tiene nombre (smbolo) ni direccin topolgica. Se trata de un valor inmediato que se puede asignar a una instancia de tipo de datos pertenecientes a la familia EDT. La norma IEC 1131 permite los valores inmediatos en instancias de datos de tipo:

Booleano BOOL EBOOL Entero INT UINT DINT UDINT TIME Reales REAL Fecha y hora DATE DATE AND TIME TIME OF DAY Cadenas de caracteres STRING BYTE WORD DWORD

El software de programacin ampla la norma aadiendo los tipos de cadenas de bits.


394

35006147 10/2013

Referencias de datos

Ejemplos de valores inmediatos En la tabla se asocian valores inmediatos con tipos de instancias
Valor inmediato Soy una cadena de caracteres T#1s D#2000-01-01 TOD#12:25:23 DT#2000-01-01-12:25:23 16#FFF0 UINT#16#9AF (valor tipificado) DWORD#16#FFFF (valor tipificado) Tipo de instancia STRING TIME DATE TIME_OF_DAY DATE_AND_TIME WORD UINT DWORD

35006147 10/2013

395

Referencias de datos

Referencias de instancias de datos por nombre


Introduccin Qu es una referencia de instancia de datos? (vase pgina 308) Referencias de instancias de la familia EDT El usuario elige un nombre (smbolo) que permite acceder a la instancia del dato:

Referencias de instancias de la familia DDT Caso de las matrices: El usuario elige un nombre (smbolo) que permite acceder a la instancia del dato:

396

35006147 10/2013

Referencias de datos

Caso de las estructuras: El usuario elige un nombre (smbolo) que permite acceder a la instancia del dato:

35006147 10/2013

397

Referencias de datos

Referencias de instancias de las familias DFB\EFB El usuario elige un nombre (smbolo) que permite acceder a la instancia del dato.

398

35006147 10/2013

Referencias de datos

Referencias de instancias de datos por direcciones


Introduccin Qu es una referencia de instancia de datos? (vase pgina 308) Presentacin Una referencia de instancia de datos por direcciones slo es posible en determinadas instancias de datos que pertenecen a la familia EDT. Estas instancias son: variables internas (%M<i>, %MW<i>, %MD<i>, %MF<i>) constantes (%KW<i>, %KD<i>, %KF<i>) entradas/salidas (%I<address>, %Q<address>) NOTA: Las instancias %MD<i>, %MF<i>, %KD<i> y %KF<i> no estn disponibles para Modicon M340. Referencia por direccionamiento directo El direccionamiento se considera directo cuando la direccin de la instancia es fija, es decir, cuando se define al escribir el programa. Ejemplos:

35006147 10/2013

399

Referencias de datos

Referencias por direccin indexada El direccionamiento se considera indexado cuando la direccin de la instancia se completa con un ndice. El ndice se define mediante: un valor perteneciente a un tipo entero una expresin aritmtica compuesta de tipos enteros

Una variable indexada siempre tiene una equivalencia no indexada:

Las reglas para calcular <j> son las siguientes:


Object<i>[index] %M<i>[index] %MW<i>[index] %KW<i>[index] %MD<i>[index] %KD<i>[index] %MF<i>[index] %KF<i>[index] Object<j> <j>=<i> + <index> <j>=<i> + <index> <j>=<i> + <index> <j>=<i> + (<index> x 2) <j>=<i> + (<index> x 2) <j>=<i> + (<index> x 2) <j>=<i> + (<index> x 2)

Ejemplos:

Durante la compilacin del programa, un control comprueba que: el ndice no sea negativo el ndice no supere el espacio de memoria asignado para cada uno de estos tres tipos de datos

400

35006147 10/2013

Referencias de datos

Bits de extraccin de palabra Se puede extraer uno de los 16 bits de las palabras simples (%MW, %SW; %KW, %IW, %QW). La direccin de la instancia se completa con el rango del bit extrado (<j>).

Ejemplos:

Bits de extraccin de byte Es posible extraer uno de los bits de un byte. La direccin del bit extrado es accesible a travs de: El nombre del byte correspondiente. El rango que define la posicin en el byte (un nmero entre 0 y 7).

Ejemplo: MyByte es una variable de tipo BYTE. MyByte.i es un BOOL vlido si 0 <= i <= 7 MyByte.0, MyByte.3 y MyByte.7 son BOOL vlidos. MyByte.8 no es vlido. Creacin de un tipo de estructura con bit extrado El usuario puede crear un tipo de estructura utilizando el bit extrado (vase Unity Pro, Modalidades de funcionamiento). Es posible acceder al cuadro de dilogo Rango de bits haciendo clic con el botn derecho en la instancia o en el tipo de datos: WORD UINT INT BYTE un bit extrado con un padre compatible
35006147 10/2013

401

Referencias de datos

Tablas de bits y de palabras Se trata de una serie de objetos adyacentes (bits o palabras) de mismo tipo y de longitud definida.

Presentacin de las tablas de bits:


Tipo Bits de entrada de E/S binarias Bits de salida de E/S binarias Bits internos Direccin %Ix.<i>:L %Qx.<i>:L %M<i>:L Acceso de escritura No S S

Presentacin de las tablas de palabras:


Tipo Palabras internas Direccin %MW<i>:L %MD<i>:L %MF<i>:L %KW<i>:L %KD<i>:L %KF<i>:L %SW50:4 Acceso de escritura S

Palabras constantes

No

Palabras de sistema

Ejemplos: %M2:65 define una tabla EBOOL desde %M2 hasta %M66 %M125:30 define una tabla INT desde %MW125 hasta %MW154

402

35006147 10/2013

Referencias de datos

Reglas de denominacin de los datos


Introduccin En una aplicacin, el usuario elige un nombre para:

definir un tipo de datos, instanciar un dato (smbolo) o identificar una seccin.

Se han definido algunas reglas para evitar que se produzcan conflictos. Para ello, es preciso diferenciar los distintos mbitos de aplicacin de los datos. Qu es un mbito? Se trata de un espacio de la aplicacin a partir del cual se puede o no acceder a una variable, tal como:

El mbito de aplicacin, que incluye: Las diferentes tareas de la aplicacin y las secciones que las componen. Los mbitos por tipos de datos, tales como: Las estructuras/matrices para la familia DDT y los EFB/DFB para la familia de bloques de funciones.

Reglas La tabla indica si se puede o no utilizar un nombre que ya existe en la aplicacin para elementos de nueva creacin:
Contenido de la Seccin SR aplicacin -> Elementos nuevos (a continuacin) Seccin SR DDT/IODDT Tipo de FB Instancias de FB EF Variable No No No S No S S No No No S No (2) No DDT/IODDT Tipo de FB Instancias de FB EF Variable

S S No No No No S

S S No (4) No S No S

S No No (3) No No No

S (1) No S No (1)

S No (3) No No No

No (4) No

35006147 10/2013

403

Referencias de datos

(1): Una instancia perteneciente al mbito de la aplicacin no puede tener el mismo nombre que una EF. (2): Una instancia perteneciente al mbito del tipo (variable interna) puede tener el mismo nombre que una EF. El EF en cuestin no se puede emplear en este tipo. (3): No se permite la creacin o importacin de EFB/DFB con el mismo nombre que el de una instancia ya existente. (4): Un elemento DDT/IODDT puede tener el mismo nombre que una FB/EF; sin embargo, no es recomendable, ya que la FB/EF no debe usarse en la aplicacin. NOTA: A continuacin, se proporcionan consideraciones adicionales a las reglas de la tabla, que especifican lo siguiente:

Dentro de un tipo, una instancia (variable interna) no puede tener el mismo nombre que el del tipo de objeto al que pertenece. No hay conflicto entre el nombre de una instancia perteneciente a una seccin de la aplicacin y el nombre de una instancia perteneciente a una seccin de un DFB. No hay conflicto entre el nombre de una seccin perteneciente a una tarea y el nombre de una seccin perteneciente a un DFB.

404

35006147 10/2013

Unity Pro Lenguaje de programacin 35006147 10/2013

Parte IV
Lenguaje de programacin

Lenguaje de programacin
Contenido de esta seccin En esta seccin se describe la sintaxis de los lenguajes de programacin disponibles. Contenido de esta parte Esta parte contiene los siguientes captulos:
Captulo 11 12 13 14 15 Nombre del captulo funcin, lenguaje de bloques FBD Diagrama de contactos (LD) SFC, lenguaje de ejecucin secuencial Lista de instrucciones (IL) Texto estructurado (ST) Pgina 407 435 483 545 595

35006147 10/2013

405

Lenguaje de programacin

406

35006147 10/2013

Unity Pro Lenguaje de bloques de funcin FBD 35006147 10/2013

Captulo 11
funcin, lenguaje de bloques FBD

funcin, lenguaje de bloques FBD


Vista general En este captulo, se describe el lenguaje de bloques de funcin FBD segn CEI 61131. Contenido de este captulo Este captulo contiene los siguiente apartados:
Apartado Generalidades sobre el lenguaje de bloques de funciones FBD Funciones elementales, bloques de funciones elementales, bloques de funciones derivados y procedimientos (FFB) Llamadas de subrutina Elementos de control Conexin Objeto de texto Secuencia de ejecucin de los FFB Modificacin de la secuencia de ejecucin Configuracin de bucles Pgina 408 410 420 421 422 424 425 428 433

35006147 10/2013

407

Lenguaje de bloques de funcin FBD

Generalidades sobre el lenguaje de bloques de funciones FBD


Introduccin El editor FBD permite la programacin grfica de bloques de funciones segn CEI 61131-3. Representacin de una seccin FBD Representacin:

Objetos Los objetos del lenguaje de programacin FBD (diagrama de bloques de funciones) sirven de ayuda para dividir una seccin en una cantidad de: EF y EFB (funciones elementales (vase pgina 410) y bloques de funciones elementales (vase pgina 411)) DFB (bloques de funciones derivados) (vase pgina 412), Procedimientos (vase pgina 412) y Elementos de control (vase pgina 421) Estos objetos, denominados FFB en conjunto, pueden conectarse entre s mediante: Conexiones (vase pgina 422) o Parmetros actuales (vase pgina 413)

La lgica de la seccin se puede comentar por medio de objetos de texto (consulte "Objeto de texto, pgina 424").

408

35006147 10/2013

Lenguaje de bloques de funcin FBD

Tamao de la seccin Una seccin FBD est compuesta por una ventana con una sola pgina. Esta pgina est colocada sobre una rejilla. Una unidad de rejilla est compuesta por 10 puntos de retcula. Una unidad de retcula es la distancia mnima posible entre dos objetos de una seccin FBD. El lenguaje de programacin FBD no est basado en celdas; los objetos estn alineados con las coordenadas. Una seccin FBD puede configurarse con un nmero de celdas (coordenadas del reticulado horizontal y coordenadas del reticulado vertical). Conformidad CEI La descripcin de la conformidad del lenguaje de programacin FBD con la norma CEI figura en "Conformidad CEI (vase pgina 745)".

35006147 10/2013

409

Lenguaje de bloques de funcin FBD

Funciones elementales, bloques de funciones elementales, bloques de funciones derivados y procedimientos (FFB)
Introduccin FFB es el trmino genrico que incluye: Funcin elemental (EF) (vase pgina 410) Bloque de funcin elemental (EFB) (vase pgina 411) Bloque de funcin derivado (DFB) (vase pgina 412) Procedimiento (vase pgina 412)

Funcin elemental Las funciones elementales (EF) no tienen estados internos. Si los valores de entrada son los mismos, el valor de salida es el de cada ejecucin de la funcin. Por ejemplo, la suma de dos valores siempre da el mismo resultado. Una funcin elemental se representa de forma grfica por medio de una trama con varias entradas y una salida. En l, las entradas siempre aparecen a la izquierda y la salida a la derecha. El nombre de la funcin, es decir, el tipo de funcin, aparece centrado dentro de la trama. A la derecha del tipo de funcin se indica el nmero de ejecucin (vase pgina 425) de la funcin. Encima de la trama aparece el contador de funcin. El contador de funcin es el nmero correlativo de la funcin dentro de la seccin actual. Los contadores de funcin no se pueden modificar. Funcin elemental

En el caso de algunas funciones elementales, se puede ampliar la cantidad de entradas.

410

35006147 10/2013

Lenguaje de bloques de funcin FBD

Bloque de funcin elemental Los bloques de funciones elementales (EFB) tienen estados internos. Si los valores de entrada son los mismos, el valor de la salida puede ser diferente cada vez que se ejecuta la funcin, por ejemplo, el valor de salida se incrementa para un contador. Un bloque de funcin elemental se representa de forma grfica por medio de una trama con varias entradas y salidas. En l, las entradas siempre aparecen a la izquierda y las salidas a la derecha. Los bloques de funciones pueden disponer de varias salidas. El nombre del bloque de funcin, es decir, el tipo de bloque de funcin, aparece centrado dentro de la trama. A la derecha del tipo de bloque de funcin se indica el nmero de ejecucin (vase pgina 425) del bloque de funcin. El nombre de la instancia aparece por encima de la trama. El nombre de instancia sirve para denominar de forma unvoca los distintos bloques de funciones de un proyecto. El nombre de instancia del EFB se genera automticamente y tiene la siguiente estructura: TYPE_n, donde: TYPE es el tipo del bloque de funciones. n es el nmero correlativo del tipo de bloque de funciones en el proyecto. Ejemplo: La primera instancia de un tipo del EFB tipo "TON" se denomina TON_1 La primera instancia de un tipo del EFB tipo "MOTOR" se denomina MOTOR_1 La segunda instancia de un tipo del EFB tipo "TON" se denomina TON_2

Este nombre generado automticamente se puede modificar para mejorar la visin general. El nombre de instancia (32 caracteres como mximo) debe ser inequvoco dentro de un mismo proyecto; no se diferencia entre maysculas y minsculas. El nombre de instancia debe cumplir la nomenclatura general. NOTA: Segn la norma CEI 61131-3, slo se permite una letra como primer carcter de los nombres de instancias. Si desea utilizar cifras como primer carcter, deber habilitar esa opcin de forma explcita. Bloque de funcin elemental

35006147 10/2013

411

Lenguaje de bloques de funcin FBD

DFB Los bloques de funciones derivados (DFB) presentan las mismas propiedades que los bloques de funciones elementales. Sin embargo, el usuario los crea en los lenguajes de programacin FBD, LD, IL o ST. La nica diferencia con respecto a los bloques de funciones elementales es que los bloques de funciones derivados se representan grficamente por medio de una trama con lneas verticales dobles. Bloque de funcin derivado

Procedimiento Los procedimientos son funciones desde el punto de vista tcnico. La nica diferencia con respecto a las funciones elementales es que los procedimientos pueden tener ms de una salida y admiten el tipo de datos VAR_IN_OUT. Los procedimientos son una ampliacin de la norma CEI 61131-3 y se deben habilitar de forma explcita. Los procedimientos no se diferencian visualmente de las funciones elementales. Procedimiento

412

35006147 10/2013

Lenguaje de bloques de funcin FBD

Parmetros Para transferir valores al FFB o aplicarlos desde l, es necesario utilizar entradas y salidas. A stas se les llama parmetros formales. A los parmetros formales se vinculan objetos que contienen los estados actuales del proceso. Se conocen como parmetros reales. Parmetros reales y formales:

Los valores del proceso se transfieren al FFB a travs de los parmetros actuales durante el tiempo de ejecucin del programa y se vuelven a emitir despus del procesamiento. A las entradas de FFB slo se puede vincular un nico objeto (parmetro real) del siguiente tipo: Variable Direccin Literal Expresin ST (vase pgina 597) Las expresiones ST de las entradas de FFB representan una ampliacin de la norma CEI 61131-3 y se deben habilitar de forma explcita. Enlace

A las salidas de FFB se pueden vincular las siguientes combinaciones de objetos (parmetros reales): Una variable Una variable y una o varias conexiones (aunque no en el caso de salidas VAR_IN_OUT (vase pgina 419)) Una direccin Una direccin y una o varias conexiones (aunque no en el caso de salidas VAR_IN_OUT (vase pgina 419)) Una o varias conexiones (aunque no en el caso de salidas VAR_IN_OUT (vase pgina 419)) El tipo de datos del objeto que se va a enlazar debe coincidir con el tipo de datos de la entrada/salida de FFB. Si todos los parmetros reales estn compuestos por literales, se elegir un tipo de datos adecuado para el bloque de funcin. Excepcin: en el caso de entradas/salidas de FFB genricas del tipo de datos ANY_BIT se pueden vincular objetos del tipo de datos INT o DINT (ni UINT ni UDINT).
35006147 10/2013

413

Lenguaje de bloques de funcin FBD

Se trata de una ampliacin de la norma CEI 61131-3 y se debe habilitar de forma explcita. Ejemplo: Se admite:

No se admite:

(En este caso se debe utilizar AND_INT). En principio, no es necesario asignar un parmetro real a cada parmetro formal. Pero esto no es vlido para pins negados. A estos hay que asignarles siempre un parmetro real. Tambin algunos tipos de parmetros formales lo requieren obligatoriamente. En la siguiente tabla encontrar estos tipos de parmetros formales. Tabla de tipos de parmetros formales:
Tipo de parmetro EFB: entrada EFB: VAR_IN_OUT EFB: salida DFB: entrada DFB: VAR_IN_OUT DFB: salida EF: entrada EF: VAR_IN_OUT EF: salida Procedimiento: entrada Procedimiento: VAR_IN_OUT Procedimiento: salida + / 414 EDT STRING ARRAY ANY_ IODDT ARRAY + + + + + + + + + / + / + + / + / + + + + DDT DE STRUCT FB ANY DISPOSITIVO / / / + + / / / / / / / + / / / / / / + / / + / / + + + +

Parmetro real requerido obligatoriamente Parmetro real no requerido obligatoriamente No es aplicable


35006147 10/2013

Lenguaje de bloques de funcin FBD

Los FFB que utilizan en las entradas parmetros reales que todava no contienen ninguna asignacin de valor trabajan con los valores iniciales de estos parmetros reales. Si no se asigna un valor a un parmetro formal, durante la ejecucin del bloque de funciones se utiliza el valor inicial. Si no se ha definido ningn valor inicial, se aplicar el valor predeterminado ("0"). Si un parmetro formal no tiene asignado ningn valor y la instancia del bloque de funciones/DFB se invoca ms de una vez, las invocaciones ejecutadas a partir de entonces se ejecutarn con el ltimo valor real efectivo. NOTA: Las estructuras de datos sin asignar se inicializan siempre con el valor "0"; los valores iniciales no pueden definirse. Variables pblicas Adems de las entradas y salidas, algunos bloques de funciones tambin disponen de las denominadas variables pblicas. Estas variables sirven para transmitir valores estticos (valores no influidos por el proceso) al bloque de funciones. Se utilizan para la parametrizacin del bloque de funcin. Las variables pblicas son una ampliacin de la norma CEI 61131-3. La asignacin de valores a las variables pblicas se realiza mediante sus valores iniciales. La lectura de los valores de las variables pblicas se realiza a travs del nombre de instancia del bloque de funcin y a travs del nombre de la variable pblica. Ejemplo:

35006147 10/2013

415

Lenguaje de bloques de funcin FBD

Variables privadas Adems de las entradas, las salidas y las variables pblicas, algunos bloques de funciones tambin disponen de las denominadas variables privadas. Al igual que las variables pblicas, las privadas se utilizan para transferir valores estadsticos (valores no influidos por el proceso) al bloque de funcin. El programa de usuario no puede acceder a las variables privadas. Slo se puede acceder a este tipo de variables mediante la tabla de animacin. NOTA: Los DFB intercalados se declaran como variables privadas del DFB principal. Por tanto, tampoco se puede acceder a sus variables a travs de la programacin, sino a travs de la tabla de animacin. Las variables privadas constituyen un suplemento de la normativa CEI 61131-3. Notas sobre la programacin Tenga en cuenta las siguientes indicaciones sobre la programacin: Los FFB slo se ejecutan si la entrada EN es 1 o si la entrada EN est oculta (consulte tambin EN y ENO (vase pgina 417)). Las entradas y salidas booleanas se pueden invertir. Si se utilizan variables VAR_IN_OUT (vase pgina 419), se imponen condiciones especiales. Las instancias de bloques de funciones/DFB se pueden ejecutar varias veces (consulte tambin Llamada mltiple de una instancia del bloque de funciones (vase pgina 416)).

Llamada mltiple de una instancia del bloque de funcin Las instancias de bloques de funciones/DFB se pueden llamar varias veces, excepto las instancias de EFB de comunicaciones y de bloques de funciones/DFB con una salida ANY y ninguna entrada ANY, que slo se pueden llamar una vez. La llamada mltiple de una misma instancia de bloque de funcin/DFB resulta conveniente en los siguientes casos: Cuando el bloque de funcin/DFB no posee ningn valor interno o los valores internos no son necesarios para continuar el procesamiento. En este caso, la llamada mltiple de una misma instancia de bloque de funcin/DFB permite ahorrar espacio en memoria, ya que el cdigo del bloque de funcin/DFB slo se carga una vez. El bloque de funcin/DFB se procesa, por as decirlo, como una funcin. Cuando el bloque de funcin/DFB tiene valores internos y stos se deben modificar en varios puntos del programa, por ejemplo, si el valor de un contador se debe aumentar en diversos puntos del programa. En este caso, con la llamada mltiple de la misma instancia del bloque de funcin/DFB no es necesario guardar los resultados intermedios para continuar el procesamiento en otro lugar del programa.

416

35006147 10/2013

Lenguaje de bloques de funcin FBD

EN y ENO En todos los FFB se puede configurar una entrada EN y una salida ENO. Si el valor de EN es "0", al llamar el FFB no se ejecutarn los algoritmos definidos por dicho FFB, y ENO se ajustar a "0". Si el valor de EN es "1", al llamar al FFB se ejecutan los algoritmos definidos por dicho FFB. Una vez que se han ejecutado los algoritmos correctamente, el valor de ENO pasa a "1". Si se produce un error al ejecutar estos algoritmos, ENO pasa a "0". Si el pin EN no tiene asignado ningn valor, al llamar el FFB, se ejecuta el algoritmo definido por el FFB (lo mismo ocurre si EN es igual a "1"); consulte Mantener conexiones de salida en EF desactivadas (vase Unity Pro, Modalidades de funcionamiento).

Si ENO pasa a "0" (porque EN = 0 o por un error durante la ejecucin): Bloques de funciones Manipulacin de EN/ENO con bloques de funciones que (slo) tienen un vnculo como parmetro de salida:

Si el valor de EN en FUNCBLOCK_1 se establece en "0", el enlace en la salida OUT de FUNCBLOCK_1 mantiene el estado que tena en el ltimo ciclo que se ejecut correctamente. Gestin de EN/ENO con bloques de funciones que tienen una variable y un vnculo como parmetros de salida:

Si el valor de EN en FUNCBLOCK_1 se establece en "0", el enlace en la salida OUT de FUNCBLOCK_1 mantiene el estado que tena en el ltimo ciclo que se ejecut correctamente. La variable OUT1 en el mismo pin puede mantener su estado anterior o puede modificarse desde fuera sin influir en el enlace. La variable y el enlace se guardan de forma independiente entre s.

Funciones/procedimientos Segn la definicin de CEI 61131-3, las salidas de las funciones desactivadas (entrada EN ajustada a "0") no estn definidas (esto es aplicable a los procedimientos). A continuacin se presenta una explicacin de los estados de salida en este caso:

35006147 10/2013

417

Lenguaje de bloques de funcin FBD

Gestin de EN/ENO en las funciones o procedimientos que poseen (slo) una conexin como parmetro de salida:

Si el valor de EN en FUNC_PROC_1 se establece en "0", el valor del enlace en la salida de OUT de FUNC_PROC_1 depender del ajuste del proyecto Mantener conexiones de salida en EF desactivadas disponible a partir de Unity Pro 4.1. Si se establece este ajuste del proyecto en "0", el valor del enlace se establecer en "0". Si se establece este ajuste del proyecto en "1", el vnculo mantendr el valor que tena en el ltimo ciclo ejecutado correctamente. Consulte Mantener conexiones de salida en EF desactivadas (vase Unity Pro, Modalidades de funcionamiento). Gestin de EN/ENO en las funciones o procedimientos que poseen una variable y una conexin como parmetro de salida:

Si el valor de EN en FUNC_PROC_1 se establece en "0", el valor del enlace en la salida de OUT de FUNC_PROC_1 depender del ajuste del proyecto Mantener conexiones de salida en EF desactivadas disponible a partir de Unity Pro 4.1. Si se establece este ajuste del proyecto en "0", el valor del enlace se establecer en "0". Si se establece este ajuste del proyecto en "1", el vnculo mantendr el valor que tena en el ltimo ciclo ejecutado correctamente. Consulte Mantener conexiones de salida en EF desactivadas (vase Unity Pro, Modalidades de funcionamiento). La variable OUT1 en el mismo pin puede mantener su estado anterior o puede modificarse desde fuera sin influir en el enlace. La variable y el enlace se guardan de forma independiente entre s. El comportamiento en la salida de los FFB no depende de si los FFB se han llamado sin EN/ENO o con EN = 1. NOTA: Para bloques de funciones deshabilitados (EN = 0) con una funcin de tiempo interna (por ejemplo, bloques de funciones DELAY), el tiempo sigue avanzando, ya que se calcula con la ayuda de un reloj del sistema, y por tanto es independiente del ciclo de programa y de la apertura del bloque.

418

35006147 10/2013

Lenguaje de bloques de funcin FBD

Variable VAR_IN_OUT A menudo, los FFB se utilizan para leer una variable en la entrada (variables de entrada), procesarla y devolver los valores modificados de esta variable (variables de salida). Este caso especfico de variable de entrada/salida tambin se denomina variable VAR_IN_OUT. El enlace de las variables de entrada y salida se representa en el FFB por medio de una lnea. Variable VAR_IN_OUT

Tenga en cuenta las siguientes particularidades cuando utilice los FFB con variables VAR_IN_OUT: Hay que asignar obligatoriamente una variable a todas las entradas VAR_IN_OUT. Los enlaces grficos slo permiten conectar salidas VAR_IN_OUT a entradas VAR_IN_OUT. Slo es posible enlazar una conexin grfica a una salida/entrada VAR_IN_OUT. En el caso de las salidas VAR_IN_OUT, no es posible combinar una variable/direccin con conexiones grficas. No puede haber literales ni constantes vinculadas a entradas/salidas VAR_IN_OUT. No se puede utilizar ninguna negacin en las entradas/salidas VAR_IN_OUT. Es posible vincular a la entrada VAR_IN_OUT y a la salida VAR_IN_OUT distintas variables o componentes de variables. En tal caso, el valor de la variable o de su componente en la entrada se copiar en la variable o componente de variable en la salida.

35006147 10/2013

419

Lenguaje de bloques de funcin FBD

Llamadas de subrutina
Llamada de subrutina En FBD, las subrutinas se llaman mediante los bloques siguientes:

Si el estado de EN es 1, se llama la subrutina correspondiente (Nombre de las variables en SR_Name). La salida ENO no sirve en este tipo de bloque para mostrar el estado de error. La salida ENO es siempre 1 en este tipo de bloque y sirve para llamar varias subrutinas simultneamente. Con la siguiente construccin, es posible llamar varias subrutinas simultneamente.

La subrutina que se vaya a llamar debe encontrarse en la misma tarea que la seccin FBD invocante. Tambin es posible llamar subrutinas ubicadas dentro de otras subrutinas. Las llamadas de subprograma son una ampliacin de la norma CEI 61131-3 y se deben habilitar de forma explcita. En las secciones de accin SFC slo se admiten llamadas de subrutina si est habilitada la modalidad Multi-Token.

420

35006147 10/2013

Lenguaje de bloques de funcin FBD

Elementos de control
Introduccin Los elementos de control sirven para ejecutar saltos dentro de una seccin FBD y para el retorno a la rutina principal desde una subrutina (SRx) o desde un bloque de funcin derivado (DFB). Elementos de control Se encuentran disponibles los siguientes elementos de control.
Designacin Representacin Salto Descripcin Si el estado de la conexin izquierda es 1, se ejecutar un salto a la etiqueta (en la seccin actual). Para generar un salto condicional, el objeto de salto se conecta a una salida FFB booleana. Para generar un salto incondicional, se asigna el valor 1 al objeto de salto a travs de la funcin AND. LABEL: Las etiquetas (destinos de salto) se representan como texto con dos puntos al final. El texto est limitado a 32 caracteres y debe ser unvoco en de toda la seccin. El texto debe cumplir las convenciones de nomenclatura general. Las etiquetas de salto slo se pueden colocar entre los dos primeros puntos de retcula del borde izquierdo de la seccin. Nota: Las etiquetas de salto no pueden "cortar" ninguna red, es decir, la lnea imaginaria que une la etiqueta de salto con el borde derecho de la seccin no puede estar cortada por ningn objeto. Esto tambin se aplica a las conexiones. Los objetos RETURN no pueden usarse en el programa principal.
En un DFB, un objeto RETURN fuerza el retorno al programa que llam

Etiqueta

Retorno

al DFB. El resto de la seccin DFB que contiene el objeto RETURN no se ejecuta. Las siguientes secciones del DFB no se ejecutan. El programa que llam al DFB se ejecutar despus de volver del DFB. Si otro DFB llama al DFB, el DFB llamado se ejecutar despus de volver.
En un SR, un objeto RETURN fuerza el retorno al programa que llam

al SR. El resto de la seccin SR que contiene el objeto RETURN no se ejecuta. El programa que llam al SR se ejecutar despus de volver del SR.

35006147 10/2013

421

Lenguaje de bloques de funcin FBD

Conexin
Descripcin Las conexiones son vnculos verticales y horizontales entre los FFB.

Representacin Los puntos de conexin se identifican por medio de un crculo relleno.

Los cruces se representan con una conexin "interrumpida".

422

35006147 10/2013

Lenguaje de bloques de funcin FBD

Notas sobre la programacin Tenga en cuenta las siguientes indicaciones sobre la programacin: Se pueden utilizar conexiones para todos los tipos de datos. Los tipos de datos de las entradas/salidas que se vayan conectar deben coincidir. Se pueden establecer varias conexiones con una salida de FFB. No obstante, slo puede haber una con una entrada FFB. Slo se pueden conectar entradas y salidas entre s. No es posible interconectar varias salidas a la vez. Esto quiere decir que en FBD no se puede realizar ninguna operacin OR por medio de conexiones. Se debe utilizar siempre una funcin OR. Est permitido que las conexiones se solapen con otros objetos. Con conexiones no se pueden configurar bucles, ya que en este caso no se puede determinar de forma inequvoca la secuencia de ejecucin en la seccin. Los bucles se deben resolver con parmetros actuales (consulte "Configuracin de bucles, pgina 433"). Para evitar el cruce de conexiones, las conexiones tambin se pueden representar en forma de conectores. El origen y el destino de la conexin se identifican con un nombre unvoco dentro de la seccin. El nombre del conector tiene la siguiente estructura en funcin del tipo de objeto de origen de la conexin: En el caso de funciones: "Contador de funcin/parmetro formal" del origen de la conexin

En el caso de bloques de funcin: "Nombre de instancia/parmetro formal" del origen de la conexin

35006147 10/2013

423

Lenguaje de bloques de funcin FBD

Objeto de texto
Descripcin El texto puede ubicarse como objetos de texto mediante el lenguaje de bloques de funciones FBD. El tamao de estos objetos depende de la longitud del texto. En funcin del tamao del texto, es posible ampliar el tamao del objeto en ms unidades de rejilla en direccin vertical y horizontal. Los objetos de texto no se solapan con los FFB; sin embargo, pueden solaparse con las conexiones.

424

35006147 10/2013

Lenguaje de bloques de funcin FBD

Secuencia de ejecucin de los FFB


Introduccin La secuencia de ejecucin est determinada en primer lugar por la posicin de los FFB dentro de la seccin (ejecucin de izquierda a derecha y de arriba a abajo). Si, a continuacin, los FFB se conectan a una red por medio de conexiones grficas, la secuencia de ejecucin estar determinada por el flujo de datos. La secuencia de ejecucin se indica mediante el nmero de ejecucin (nmero situado en la esquina superior derecha del marco del FFB). Secuencia de ejecucin de redes Para la secuencia de ejecucin de redes se aplican las siguientes reglas: La ejecucin de una seccin se realiza red a red en funcin de las conexiones de FFB de arriba a abajo. No es posible configurar bucles mediante conexiones, ya que en este caso no se puede determinar de forma inequvoca la secuencia de ejecucin en la seccin. Los bucles se deben resolver con parmetros actuales (consulte Configuracin de bucles, pgina 433). La secuencia de ejecucin de las redes que no estn conectadas entre s mediante conexiones est determinada por la secuencia grfica (de derecha a izquierda y de arriba a abajo). Esta secuencia de ejecucin se puede modificar (consulte Modificacin de la secuencia de ejecucin, pgina 428). El clculo de una red finaliza completamente antes de que comience el clculo de otra red que utilice salidas de la red precedente. Ningn elemento de una red se considera calculado mientras no se haya calculado el estado de todas las entradas de dicho elemento. El clculo de una red slo se considera finalizado cuando se han calculado todas las salidas de dicha red.

Flujo de seal dentro de una red Para la secuencia de ejecucin dentro de una red se aplican las siguientes reglas: El clculo de un FFB no se inicia hasta que no se hayan calculado todos los elementos (salidas FFB, etc.) que estn conectados a sus entradas. La secuencia de ejecucin de los FFB que estn conectados a varias salidas del mismo FFB es de arriba a abajo. La secuencia de ejecucin de los FFB no est influida por su posicin dentro de la red. Esto no es vlido cuando varios FFB estn conectados a la misma salida del FFB "invocante". En este caso, la secuencia de ejecucin est determinada por la secuencia grfica (de arriba a abajo).

35006147 10/2013

425

Lenguaje de bloques de funcin FBD

Prioridades Prioridades a la hora de determinar el flujo de seal dentro de una seccin.


Prioridad Regla 1 2 3 4 5 Conexin Definicin de usuario Red a red Secuencia de las salidas Circuito a circuito Descripcin Las conexiones tienen el nivel de prioridad ms alto a la hora de determinar el flujo de seal dentro de una seccin FBD. Modificacin de la secuencia de ejecucin por parte del usuario. El clculo de una red finaliza completamente antes de que comience el clculo de la red siguiente. Los FFB conectados a las salidas del mismo FFB "invocante" se calculan de arriba abajo. Nivel de prioridad ms bajo. (Esto slo es vlido si no se aplica ninguna de las dems reglas).

426

35006147 10/2013

Lenguaje de bloques de funcin FBD

Ejemplo Ejemplo de la secuencia de ejecucin de objetos en una seccin FBD:

35006147 10/2013

427

Lenguaje de bloques de funcin FBD

Modificacin de la secuencia de ejecucin


Introduccin La secuencia de ejecucin de las redes y de los objetos incluidos dentro de una red est definida por una serie de reglas (vase pgina 426). En la mayora de los casos resulta recomendable modificar la secuencia de ejecucin propuesta por el sistema. Existen las siguientes posibilidades para determinar/modificar la secuencia de ejecucin de las redes: Utilizacin de conexiones en lugar de parmetros actuales Posicin de las redes Determinacin explcita de la secuencia de ejecucin Existen las siguientes posibilidades para determinar/modificar la secuencia de ejecucin de las redes: Posicin de los FFB Situacin de salida En la figura siguiente se muestran dos redes cuya secuencia de ejecucin est determinada nicamente por su posicin dentro de la seccin, con independencia de que los bloques .4/.5 y .7/.8 requieran otra secuencia de ejecucin.

428

35006147 10/2013

Lenguaje de bloques de funcin FBD

Conexin en lugar de parmetros reales Utilizando una conexin en lugar de una variable, ambas redes se ejecutan en la secuencia correcta (consulte tambin Situacin de salida, pgina 428).

35006147 10/2013

429

Lenguaje de bloques de funcin FBD

Posicin de las redes La secuencia de ejecucin adecuada se puede conseguir modificando la posicin de las redes de la seccin (consulte tambin Situacin de salida, pgina 428).

430

35006147 10/2013

Lenguaje de bloques de funcin FBD

Determinacin explcita La secuencia de ejecucin adecuada se puede conseguir modificando explcitamente la secuencia de ejecucin de un FFB. En el caso de los FFB cuya secuencia de ejecucin se haya modificado explcitamente, el nmero de ejecucin se representa en un campo negro (consulte tambin Situacin de salida, pgina 428).

NOTA: Slo se permite una nica referencia a una instancia; por ejemplo, la instancia ".7" slo se puede referenciar una vez.

35006147 10/2013

431

Lenguaje de bloques de funcin FBD

Posiciones de los FFB La posicin de los FFB slo influye sobre la secuencia de ejecucin si hay varios FFB conectados a la misma salida del FFB "invocante" (consulte tambin Situacin de salida, pgina 428). En la primera red, se han intercambiado las posiciones de los bloques .4 y .5. En este caso (origen comn de ambas entradas de bloque) tambin se intercambia la secuencia de ejecucin de ambos bloques (procesamiento de arriba a abajo). En la segunda red, se han intercambiado las posiciones de los bloques .7 y .8. En este caso (origen distinto de las entradas de bloque), la secuencia de ejecucin de ambos bloques no se intercambia (procesamiento en la secuencia de las salidas de bloque invocantes).

432

35006147 10/2013

Lenguaje de bloques de funcin FBD

Configuracin de bucles
Bucles no permitidos No es posible configurar bucles exclusivamente a base de conexiones ya que de este modo no se puede determinar el flujo de seal de forma unvoca (la salida de un FFB es la entrada del FFB siguiente y la salida de ste es, a su vez, la entrada del primero). Bucle no permitido a travs de conexiones

Generacin a travs de un parmetro real Una lgica de este tipo se debe resolver con ayuda de una variable de realimentacin para que el flujo de seal se pueda determinar de forma unvoca. Las variables de realimentacin se deben inicializar. El valor inicial se utiliza durante la primera ejecucin de la lgica. Una vez ejecutado, el valor inicial se sustituye por el valor actual. Tenga en cuenta en ambos casos la secuencia de ejecucin (nmero entre parntesis detrs del nombre de instancia) de los dos bloques. Bucle resuelto a travs de un parmetro actual: caso 1

Bucle resuelto a travs de un parmetro actual: caso 2

35006147 10/2013

433

Lenguaje de bloques de funcin FBD

434

35006147 10/2013

Unity Pro Diagrama de contactos (LD) 35006147 10/2013

Captulo 12
Diagrama de contactos (LD)

Diagrama de contactos (LD)


Vista general En este captulo, se describe el lenguaje de diagrama de contactos LD segn CEI 611311. Contenido de este captulo Este captulo contiene los siguiente apartados:
Apartado Generalidades sobre el lenguaje de diagrama de contactos LD Contactos Bobinas Funciones elementales, bloques de funciones elementales, bloques de funciones derivados y procedimientos (FFB) Elementos de control Bloques de funcionamiento y de comparacin Conexiones Objeto de texto Deteccin de flancos Secuencia de ejecucin y flujo de seal Configuracin de bucles Modificacin de la secuencia de ejecucin Pgina 436 439 440 442 454 455 457 461 462 473 475 476

35006147 10/2013

435

Diagrama de contactos (LD)

Generalidades sobre el lenguaje de diagrama de contactos LD


Introduccin En esta seccin se describe el esquema de contactos (Ladder Diagramm) LD segn CEI 61131-3. La estructura de una seccin LD corresponde a un circuito de corriente para conmutadores de rel. En el lado izquierdo del editor LD se encuentra el denominado "rail de alimentacin izquierdo". Este rail de alimentacin izquierdo corresponde a la fase (conductor L) de un circuito de corriente. Al igual que en un circuito de corriente, en la programacin LD slo se "editan" los objetos LD que estn conectados a una fuente de alimentacin, es decir, que estn conectados al rail de alimentacin izquierdo. El rail de alimentacin derecho equivale al conductor neutro. A l se conectan directa o indirectamente todas las bobinas y salidas de FFB, y de esta forma se establece un flujo de corriente. Un grupo de objetos conectados entre s que no poseen ninguna conexin a otros objetos (excepto al rail de alimentacin) se denomina red o circuito de corriente.

436

35006147 10/2013

Diagrama de contactos (LD)

Representacin de una seccin LD Representacin:

35006147 10/2013

437

Diagrama de contactos (LD)

Objetos Los objetos del lenguaje de programacin LD ofrecen ayuda para dividir una seccin en una cantidad de: Contactos (vase pgina 439) Bobinas (vase pgina 440) EF y EFB (funciones elementales (vase pgina 442) y bloques de funciones elementales (vase pgina 443)) DFB (bloques de funciones derivados (vase pgina 444)) Procedimientos (vase pgina 445) Elementos de control (vase pgina 454) y Bloques de operacin y comparacin (vase pgina 455), que representan una ampliacin de la norma CEI 61131-3. Estos objetos se pueden conectar entre s por medio de: Conexiones (vase pgina 457) o Parmetros actuales (vase pgina 446) (slo FFB) La lgica de la seccin se puede comentar por medio de objetos de texto (consulte "Objeto de texto, pgina 461"). Tamao de la seccin Una seccin LD est compuesta por una ventana de una sola pgina. Esta pgina tiene una rejilla de fondo que divide la seccin en filas y columnas. Para las secciones LD se puede definir un ancho de 11-64 columnas y 17-2.000 filas. El lenguaje de programacin LD est basado en celdas, es decir, en cada celda se puede colocar un nico objeto. Secuencia de procesamiento La secuencia de procesamiento de los diferentes objetos en una seccin LD est determinada por el flujo de datos dentro de la seccin. Las redes conectadas al rail de alimentacin izquierdo se procesarn de arriba a abajo (conexin con el rail de alimentacin izquierdo). Las redes independientes entre s dentro de la seccin se procesarn siguiendo la secuencia de ubicacin (de arriba a abajo) (consulte tambin "Secuencia de ejecucin y flujo de seal, pgina 473"). Conformidad CEI Para obtener una descripcin de la conformidad del lenguaje de programacin LD con la norma CEI, consulte "Conformidad CEI (vase pgina 745)".

438

35006147 10/2013

Diagrama de contactos (LD)

Contactos
Introduccin Un contacto es un elemento de LD que transfiere un estado de la conexin horizontal al extremo derecho. Este estado es el resultado de una operacin AND booleana sobre el estado de la conexin horizontal del extremo izquierdo con el estado del parmetro booleano real correspondiente. Un contacto no modifica el valor del parmetro real correspondiente. Los contactos ocupan una celda. Como parmetros reales, se admiten: Variables booleanas Constantes booleanas Direcciones booleanas (direcciones topolgicas o direcciones simblicas) Expresin ST (vase pgina 597) que un resultado booleano (p.ej. VarA OR VarB) Las expresiones ST como parmetros reales de contactos representan una ampliacin de la norma CEI 61131-3 y se deben habilitar de forma explcita.

Tipos de contactos Estn disponibles los siguientes contactos:


Designacin Normalmente abierto Representacin Descripcin En el caso de los contactos normalmente abiertos, el estado de la conexin de la izquierda se transfiere a la conexin de la derecha si el estado del parmetro booleano real correspondiente (indicado mediante xxx) est activo. De lo contrario, el estado de la conexin derecha est inactivo. En el caso de los contactos normalmente cerrados, el estado de la conexin de la izquierda se transfiere a la conexin de la derecha si el estado del parmetro booleano real correspondiente (indicado mediante xxx) est inactivo. De lo contrario, el estado de la conexin derecha est inactivo. En el caso de estos contactos, la conexin derecha de un ciclo de programa est activa si la transferencia del parmetro real correspondiente (indicado mediante xxx) pasa de inactivo a activo y el estado de la conexin izquierda est activo al mismo tiempo. De lo contrario, el estado de la conexin derecha es 0. Consulte tambin Deteccin de flancos, pgina 462. En el caso de estos contactos, la conexin derecha de un ciclo de programa est activa si la transferencia del parmetro real correspondiente (indicado mediante xxx) pasa de activo a inactivo y el estado de la conexin izquierda est activo al mismo tiempo. De lo contrario, el estado de la conexin derecha es 0. Consulte tambin Deteccin de flancos, pgina 462. 439

Normalmente cerrado

Contacto para detectar transiciones positivas

Contacto para detectar transiciones negativas

35006147 10/2013

Diagrama de contactos (LD)

Bobinas
Introduccin Una bobina es un elemento de LD que transfiere el estado de la conexin horizontal del extremo izquierdo, sin modificar, a la conexin horizontal del extremo derecho. El estado se almacena en el parmetro booleano real correspondiente. Normalmente, las bobinas siguen a contactos o FFB, pero tambin pueden ir seguidas de contactos. Las bobinas ocupan una celda. Como parmetros reales, se admiten: Variables booleanas Direcciones booleanas (direcciones topolgicas o direcciones simblicas)

Tipos de bobinas Se encuentran disponibles las siguientes bobinas:


Designacin Bobina Representacin Descripcin En el caso de las bobinas, el estado de la conexin de la izquierda se transfiere al parmetro booleano real correspondiente (indicado mediante xxx) y la conexin de la derecha. En el caso de estas bobinas, el estado de la conexin de la izquierda se copia en la conexin de la derecha. El estado invertido de la conexin de la izquierda se copia al parmetro booleano real correspondiente (indicado mediante xxx). Si la conexin de la izquierda est inactiva, la conexin de la derecha tambin estar inactiva y el parmetro booleano real correspondiente estar activo. En el caso de estas bobinas, el estado de la conexin de la izquierda se copia en la conexin de la derecha. El parmetro real correspondiente de tipo de dato EBOOL (indicado mediante xxx) es 1 para un ciclo de programa si se realiza una transicin de la conexin de la izquierda de 0 a 1. Consulte tambin Deteccin de flancos, pgina 462. En el caso de estas bobinas, el estado de la conexin de la izquierda se copia en la conexin de la derecha. El parmetro booleano real correspondiente (indicado mediante xxx) es 1 para un ciclo de programa si se realiza una transicin de la conexin de la izquierda de 1 a 0. Consulte tambin Deteccin de flancos, pgina 462.

Bobina negada

Bobina para detectar transiciones positivas

Bobina para detectar transiciones negativas

440

35006147 10/2013

Diagrama de contactos (LD)

Designacin Bobina de ajuste

Representacin

Descripcin En el caso de estas bobinas, el estado de la conexin de la izquierda se copia en la conexin de la derecha. El parmetro booleano real correspondiente (indicado mediante xxx) est activo si la conexin de la izquierda est activa. Si no, permanece sin cambios. El parmetro booleano real correspondiente puede restablecerse mediante la bobina de ajuste. Consulte tambin Deteccin de flancos, pgina 462. En el caso de estas bobinas, el estado de la conexin de la izquierda se copia en la conexin de la derecha. El parmetro booleano real correspondiente (indicado mediante xxx) est inactivo si la conexin de la izquierda est activa. Si no, permanece sin cambios. El parmetro booleano real correspondiente puede establecerse mediante la bobina de ajuste. Consulte tambin Deteccin de flancos, pgina 462. En el caso de estas bobinas, si el estado de la conexin de la izquierda es 1, la ejecucin del programa se detiene de forma inmediata. (En las bobinas de detencin, el estado de la conexin de la izquierda no se copia en la conexin de la derecha.) En el caso de estas bobinas, el estado de la conexin de la izquierda se copia en la conexin de la derecha. Si el estado de la conexin de la izquierda est activo, se produce una llamada al subprograma correspondiente (indicado mediante xxx). La subrutina a la que se va a llamar debe encontrarse en la misma tarea que la seccin LD invocante. Tambin es posible llamar subrutinas ubicadas dentro de otras subrutinas. Las subrutinas son una ampliacin de la norma CEI 61131-3 y se deben habilitar de forma explcita. En las secciones de accin SFC, slo se admiten bobinas de llamada (llamadas de subrutina) si est habilitada la modalidad Multi-Token.

Bobina de restablecimiento

Bobina de detencin

Bobina de llamada

35006147 10/2013

441

Diagrama de contactos (LD)

Funciones elementales, bloques de funciones elementales, bloques de funciones derivados y procedimientos (FFB)
Introduccin FFB es el trmino genrico que incluye: Funcin elemental (EF) (vase pgina 442) Bloque de funcin elemental (EFB) (vase pgina 443) Bloque de funcin derivado (DFB) (vase pgina 444) Procedimiento (vase pgina 445)

Los FFB ocupan un ancho de 1 a 3 columnas (en funcin de la longitud de los nombres de los parmetros formales) y una longitud de 2 a 33 lneas (en funcin de la cantidad de filas de parmetros formales). Funcin elemental Las funciones no tienen estados internos. Si los valores de entrada son los mismos, el valor de salida es el de cada ejecucin de la funcin. Por ejemplo, la suma de dos valores siempre da el mismo resultado. Una funcin elemental se representa de forma grfica por medio de una trama con varias entradas y una salida. En l, las entradas siempre aparecen a la izquierda y la salida a la derecha. El nombre de la funcin, es decir, el tipo de funcin, aparece centrado dentro de la trama. A la derecha del tipo de funcin se indica el nmero de ejecucin (vase pgina 473) de la funcin. Encima de la trama aparece el contador de funcin. El contador de funcin es el nmero correlativo de la funcin dentro de la seccin actual. Los contadores de funcin no se pueden modificar. Funcin elemental

En el caso de algunas funciones elementales, se puede ampliar la cantidad de entradas.

442

35006147 10/2013

Diagrama de contactos (LD)

Bloque de funcin elemental Los bloques de funciones elementales tienen estados internos. Si los valores de entrada son los mismos, el valor de la salida puede ser diferente cada vez que se ejecuta la funcin, por ejemplo, el valor de salida se incrementa para un contador. Un bloque de funcin elemental se representa de forma grfica por medio de una trama con varias entradas y salidas. En l, las entradas siempre aparecen a la izquierda y las salidas a la derecha. El nombre del bloque de funcin, es decir, el tipo de bloque de funcin, aparece centrado dentro de la trama. El nombre de la instancia aparece por encima de la trama. Los bloques de funciones pueden disponer de varias salidas. El nombre del bloque de funcin, es decir, el tipo de bloque de funcin, aparece centrado dentro de la trama. A la derecha del tipo de bloque de funcin se indica el nmero de ejecucin (vase pgina 473) del bloque de funcin. El nombre de la instancia aparece por encima de la trama. El nombre de instancia sirve para denominar de forma unvoca los distintos bloques de funciones de un proyecto. El nombre de instancia se genera automticamente y tiene la siguiente estructura: TYPE_n donde TYPE es el nombre de tipo de bloque de funciones: TYPE_n TYPE = Nombre de tipo de bloque de funciones n = Nmero correlativo del bloque de funcin en el proyecto NOTA: Antes de Unity Pro V6.0, el nombre de la instancia se creaba automticamente con la estructura FBI_n, siento FBI la instancia del bloque de funciones Este nombre generado automticamente se puede modificar para mejorar la visin general. El nombre de instancia (32 caracteres como mximo) debe ser inequvoco dentro de un mismo proyecto; no se diferencia entre maysculas y minsculas. El nombre de instancia debe cumplir la nomenclatura general. NOTA: Segn la norma CEI 61131-3, slo se permite una letra como primer carcter de los nombres de instancias. Si desea utilizar cifras como primer carcter, deber habilitar esa opcin de forma explcita.

35006147 10/2013

443

Diagrama de contactos (LD)

Bloque de funcin elemental

DFB Los bloques de funciones derivados (DFB) presentan las mismas propiedades que los bloques de funciones elementales. Sin embargo, el usuario los crea en los lenguajes de programacin FBD, LD, IL o ST. La nica diferencia con respecto a los bloques de funciones elementales es que los bloques de funciones derivados se representan grficamente por medio de una trama con lneas verticales dobles. Bloque de funcin derivado

444

35006147 10/2013

Diagrama de contactos (LD)

Procedimiento Los procedimientos son funciones desde el punto de vista tcnico. La nica diferencia con respecto a las funciones elementales es que los procedimientos pueden tener ms de una salida y admiten el tipo de datos VAR_IN_OUT. Los procedimientos no se diferencian visualmente de las funciones elementales. Los procedimientos son una ampliacin de la norma CEI 61131-3 y se deben habilitar de forma explcita. Procedimiento

35006147 10/2013

445

Diagrama de contactos (LD)

Parmetros Para transferir valores al FFB o aplicarlos desde l, es necesario utilizar entradas y salidas. A stas se les llama parmetros formales. A los parmetros formales se vinculan objetos que contienen los estados actuales del proceso. Se conocen como parmetros reales. Parmetros reales y formales:

Los valores del proceso se transfieren al FFB a travs de los parmetros actuales durante el tiempo de ejecucin del programa y se vuelven a emitir despus del procesamiento. A las entradas de FFB slo se puede vincular un nico objeto (parmetro real) del siguiente tipo: Contacto Variable Direccin Literal Expresin ST Las expresiones ST de las entradas de FFB representan una ampliacin de la norma CEI 61131-3 y se deben habilitar de forma explcita. Enlace

A las salidas de FFB se pueden vincular las siguientes combinaciones de objetos (parmetros reales): Una o ms bobinas Uno o ms contactos Una variable Una variable y una o varias conexiones (aunque no en el caso de salidas VAR_IN_OUT (vase pgina 453)) Una direccin Una direccin y una o varias conexiones (aunque no en el caso de salidas VAR_IN_OUT (vase pgina 453)) Una o varias conexiones (aunque no en el caso de salidas VAR_IN_OUT (vase pgina 453))
446

35006147 10/2013

Diagrama de contactos (LD)

El tipo de datos del objeto que se va a enlazar debe coincidir con el tipo de datos de la entrada/salida de FFB. Si todos los parmetros reales estn compuestos por literales, se elegir un tipo de datos adecuado para el bloque de funcin. Excepcin: en el caso de entradas/salidas de FFB genricas del tipo de datos ANY_BIT se pueden vincular objetos del tipo de datos INT o DINT (ni UINT ni UDINT). Se trata de una ampliacin de la norma CEI 61131-3 y se debe habilitar de forma explcita. Ejemplo: Se admite:

No se admite:

(En este caso se debe utilizar AND_INT). En principio, no es necesario asignar un parmetro real a cada parmetro formal. Pero esto no es vlido para pins negados. A estos hay que asignarles siempre un parmetro real. Tambin algunos tipos de parmetros formales lo requieren obligatoriamente. En la siguiente tabla encontrar estos tipos de parmetros formales.

35006147 10/2013

447

Diagrama de contactos (LD)

Tabla de tipos de parmetros formales:


Tipo de parmetro EFB: entrada DFB: salida EFB: VAR_IN_OUT DFB: entrada EFB: salida EF: entrada EF: VAR_IN_OUT EF: salida Procedimiento: entrada Procedimiento: VAR_IN_OUT Procedimiento: salida + / EDT + + + STRING + + + + ARRAY + + + + + + ANY_ARRAY IODDT / + + + + + / / + / + + + + + + STRUCT FB + + + + / / / / / / + / / + / / ANY + + + + + + +

DFB: VAR_IN_OUT +

Parmetro real requerido obligatoriamente Parmetro real no requerido obligatoriamente No es aplicable

Los FFB que utilizan en las entradas parmetros reales que todava no contienen ninguna asignacin de valor trabajan con los valores iniciales de estos parmetros reales. Si no se asigna un valor a un parmetro formal, durante la ejecucin del bloque de funcin se utilizar el valor inicial. Si no se ha definido ningn valor inicial, se aplicar el valor predeterminado (0). Si un parmetro formal no tiene asignado ningn valor y se han realizado varias instancias del bloque de funcin/DFB, las instancias que se ejecuten a partir de ese momento trabajarn con el valor antiguo.

448

35006147 10/2013

Diagrama de contactos (LD)

Variables pblicas Adems de las entradas y salidas, algunos bloques de funciones tambin disponen de variables pblicas. Estas variables sirven para transmitir valores estticos (valores no influidos por el proceso) al bloque de funcin. Se utilizan para la parametrizacin del bloque de funcin. Las variables pblicas son una ampliacin de la norma CEI 61131-3. La asignacin de valores a las variables pblicas se realiza mediante sus valores iniciales. La lectura de los valores de las variables pblicas se realiza a travs del nombre de instancia del bloque de funcin y a travs del nombre de la variable pblica. Ejemplo:

Variables privadas Adems de las entradas, las salidas y las variables pblicas, algunos bloques de funciones tambin disponen de las denominadas variables privadas. Al igual que las variables pblicas, las privadas se utilizan para transferir valores estadsticos (valores no influidos por el proceso) al bloque de funcin. El programa de usuario no puede acceder a las variables privadas. Slo se puede acceder a este tipo de variables mediante la tabla de animacin. NOTA: Los DFB intercalados se declaran como variables privadas del DFB principal. Por tanto, tampoco se puede acceder a sus variables a travs de la programacin, sino a travs de la tabla de animacin. Las variables privadas constituyen un suplemento de la normativa CEI 61131-3.

35006147 10/2013

449

Diagrama de contactos (LD)

Notas sobre la programacin Tenga en cuenta las siguientes indicaciones sobre la programacin: Los FFB slo se editan si se han conectado de forma directa o indirecta al riel de alimentacin izquierdo. Si el FFB se va a ejecutar de forma condicional, se puede previncular la entrada EN por medio de contactos u otros FFB (consulte tambin EN y ENO (vase pgina 450)). Las entradas y salidas booleanas se pueden invertir. Si se utilizan variables VAR_IN_OUT (vase pgina 453), se imponen condiciones especiales. Las instancias de bloques de funciones/DFB se pueden ejecutar varias veces (consulte tambin Llamada mltiple de una instancia del bloque de funciones (vase pgina 450)).

Llamada mltiple de una instancia del bloque de funcin Las instancias de bloques de funciones/DFB se pueden llamar varias veces, excepto las instancias de EFB de comunicaciones y de bloques de funciones/DFB con una salida ANY y ninguna entrada ANY, que slo se pueden llamar una vez. La llamada mltiple de una misma instancia de bloque de funcin/DFB resulta conveniente en los siguientes casos: Cuando el bloque de funcin/DFB no posee ningn valor interno o los valores internos no son necesarios para continuar el procesamiento. En este caso, la llamada mltiple de una misma instancia de bloque de funcin/DFB permite ahorrar espacio en memoria, ya que el cdigo del bloque de funcin/DFB slo se carga una vez. El bloque de funcin/DFB se procesa, por as decirlo, como una funcin. Cuando el bloque de funcin/DFB tiene valores internos y stos se deben modificar en varios puntos del programa, por ejemplo, si el valor de un contador se debe aumentar en diversos puntos del programa. En este caso, con la llamada mltiple de la misma instancia del bloque de funcin/DFB no es necesario guardar los resultados intermedios para continuar el procesamiento en otro lugar del programa. EN y ENO En todos los FFB se puede configurar una entrada EN y una salida ENO. Si el valor de EN es "0", al llamar el FFB no se ejecutarn los algoritmos definidos por dicho FFB, y ENO se ajustar a "0". Si el valor de EN es "1", al llamar el FFB se ejecutarn los algoritmos definidos por dicho FFB. Una vez que se han ejecutado los algoritmos correctamente, el valor de ENO pasa a "1". Si se produce un error al ejecutar estos algoritmos, ENO pasa a "0". Si el pin EN no tiene asignado ningn valor, al llamar el FFB, se ejecuta el algoritmo definido por el FFB (lo mismo ocurre si EN es igual a "1"); consulte Mantener conexiones de salida en EF desactivadas (vase Unity Pro, Modalidades de funcionamiento).

450

35006147 10/2013

Diagrama de contactos (LD)

Si ENO pasa a "0" (porque EN = 0 o por un error durante la ejecucin): Bloques de funciones Manipulacin de EN/ENO con bloques de funciones que (slo) tienen un vnculo como parmetro de salida:

Si el valor de EN en FUNCBLOCK_1 se establece en "0", el enlace en la salida OUT de FUNCBLOCK_1 mantiene el estado que tena en el ltimo ciclo que se ejecut correctamente. Gestin de EN/ENO con bloques de funciones que tienen una variable y un vnculo como parmetros de salida:

Si el valor de EN en FUNCBLOCK_1 se establece en "0", el enlace en la salida OUT de FUNCBLOCK_1 mantiene el estado que tena en el ltimo ciclo que se ejecut correctamente. La variable OUT1 en el mismo pin puede mantener su estado anterior o puede modificarse desde fuera sin influir en el enlace. La variable y el enlace se guardan de forma independiente entre s.

Funciones/procedimientos Segn la definicin de CEI 61131-3, las salidas de las funciones desactivadas (entrada EN ajustada a "0") no estn definidas (esto es aplicable a los procedimientos). A continuacin se presenta una explicacin de los estados de salida en este caso: Gestin de EN/ENO en las funciones o procedimientos que poseen (slo) una conexin como parmetro de salida:

Si el valor de EN en FUNC_PROC_1 se establece en "0", el valor del enlace en la salida de OUT de FUNC_PROC_1 depender del ajuste del proyecto Mantener conexiones de salida en EF desactivadas disponible a partir de Unity Pro 4.1. Si se establece este ajuste del proyecto en "0", el valor del enlace se establecer en "0". Si se establece este ajuste del proyecto en "1", el vnculo mantendr el valor que tena en el ltimo ciclo ejecutado correctamente. Para obtener informacin detallada, consulte el apartado Mantener conexiones de salida en EF desactivadas (vase Unity Pro, Modalidades de funcionamiento).
451

35006147 10/2013

Diagrama de contactos (LD)

Gestin de EN/ENO en las funciones o procedimientos que poseen una variable y una conexin como parmetro de salida:

Si el valor de EN en FUNC_PROC_1 se establece en "0", el valor del enlace en la salida de OUT de FUNC_PROC_1 depender del ajuste del proyecto Mantener conexiones de salida en EF desactivadas disponible a partir de Unity Pro 4.1. Si se establece este ajuste del proyecto en "0", el valor del enlace se establecer en "0". Si se establece este ajuste del proyecto en "1", el vnculo mantendr el valor que tena en el ltimo ciclo ejecutado correctamente. Para obtener informacin detallada, consulte el apartado Mantener conexiones de salida en EF desactivadas (vase Unity Pro, Modalidades de funcionamiento). La variable OUT1 en el mismo pin puede mantener su estado anterior o puede modificarse desde fuera sin influir en el enlace. La variable y el enlace se guardan de forma independiente entre s. El comportamiento en la salida de los FFB no depende de si los FFB se han llamado sin EN/ENO o con EN = 1. NOTA: Para bloques de funciones deshabilitados (EN = 0) con una funcin de tiempo interna (por ejemplo, bloques de funciones DELAY), el tiempo sigue avanzando, ya que se calcula con la ayuda de un reloj del sistema, y por tanto es independiente del ciclo de programa y de la apertura del bloque.

452

35006147 10/2013

Diagrama de contactos (LD)

Variable VAR_IN_OUT A menudo, los FFB se utilizan para leer una variable en la entrada (variables de entrada), procesarla y devolver los valores modificados de esta variable (variables de salida). Este caso especfico de variable de entrada/salida tambin se denomina variable VAR_IN_OUT. El enlace de las variables de entrada y salida se representa en el FFB por medio de una lnea. Variable VAR_IN_OUT

Tenga en cuenta las siguientes particularidades cuando utilice los FFB con variables VAR_IN_OUT: Hay que asignar obligatoriamente una variable a todas las entradas VAR_IN_OUT. Los enlaces grficos slo permiten conectar salidas VAR_IN_OUT a entradas VAR_IN_OUT. Slo es posible enlazar una conexin grfica a una salida/entrada VAR_IN_OUT. En el caso de las salidas VAR_IN_OUT no es posible combinar una variable/direccin con conexiones grficas. No puede haber literales ni constantes vinculadas a entradas/salidas VAR_IN_OUT. No se puede utilizar ninguna negacin en las entradas/salidas VAR_IN_OUT. Es posible vincular a la entrada VAR_IN_OUT y a la salida VAR_IN_OUT distintas variables o componentes de variables. En tal caso, el valor de la variable o de su componente en la entrada se copiar en la variable o componente de variable en la salida.

35006147 10/2013

453

Diagrama de contactos (LD)

Elementos de control
Introduccin Los elementos de control sirven para ejecutar saltos dentro de una seccin LD y para el retorno al programa principal desde una subrutina (SRx) o desde un bloque de funcin derivado (DFB). Los elementos de control ocupan una celda. Elementos de control Se encuentran disponibles los siguientes elementos de control.
Designacin Salto Representacin Descripcin Si el estado de la conexin izquierda es 1, se ejecutar un salto a la etiqueta (en la seccin actual). Para generar un salto incondicional, el objeto de salto se coloca directamente en la barra de alimentacin izquierda. Para generar un salto condicional, el objeto de salto se coloca al final de una fila de contactos. LABEL: Las etiquetas (destinos de salto) se representan como texto con dos puntos al final. El texto est limitado a 32 caracteres y debe ser unvoco en de toda la seccin. El texto debe cumplir las convenciones de nomenclatura general. Las etiquetas de salto slo se pueden colocar en la primera celda situada inmediatamente junto a la barra de alimentacin izquierda. Nota: Las etiquetas de salto no pueden "cortar" ninguna red, es decir, la lnea imaginaria que une la etiqueta de salto con el borde derecho de la seccin no puede estar cortada por ningn objeto. Esto tambin es vlido para las conexiones booleanas y las conexiones FFB. Los objetos RETURN no pueden usarse en el programa principal.
En un DFB, un objeto RETURN fuerza el retorno al programa que

Etiqueta

Retorno

llam al DFB. El resto de la seccin DFB que contiene el objeto RETURN no se ejecuta. Las siguientes secciones del DFB no se ejecutan. El programa que llam al DFB se ejecutar despus de volver del DFB. Si otro DFB llama al DFB, el DFB llamado se ejecutar despus de volver.
En un SR, un objeto RETURN fuerza el retorno al programa que llam

al SR. El resto de la seccin SR que contiene el objeto RETURN no se ejecuta. El programa que llam al SR se ejecutar despus de volver del SR.

454

35006147 10/2013

Diagrama de contactos (LD)

Bloques de funcionamiento y de comparacin


Introduccin Adems de los objetos definidos en la norma CEI 61131-3, existen otros bloques para ejecutar instrucciones ST (vase pgina 597) y expresiones ST (vase pgina 597) y para operaciones de comparacin sencillas. Estos bloques estn disponibles exclusivamente en el lenguaje de programacin LD. Objetos Se encuentran disponibles los siguientes objetos:
Designacin Bloque de funcionamiento Representacin Descripcin Si el estado de la conexin izquierda es 1, se ejecutar la instruccin ST incluida en el bloque. Se admiten todas las instrucciones ST (vase pgina 597) excepto las instrucciones de control: (RETURN, JUMP, IF, CASE, FOR etc.). En el caso de los bloques de operacin, el estado de la conexin izquierda se transmite a la conexin derecha independientemente del resultado de la instruccin ST. Un bloque puede contener hasta 4.096 caracteres. Si no se pueden representar todos los caracteres, se representa el inicio de la secuencia de caracteres seguido de puntos suspensivos (...). Un bloque de operacin ocupa 1 fila y 4 columnas. Ejemplo:

En el ejemplo, Instruccin1 se ejecuta si Entrada1=1. Instruccin2 se ejecuta si Entrada1=1 y Entrada2=1 (el resultado de Instruccin1 no influye en la ejecucin de Instruccin2). Salida1 ser 1 cuando Entrada1 = 1 y Entrada2 = 1 (los resultados de Instruccin1 e Instruccin2 no influyen en el estado de Salida1).

35006147 10/2013

455

Diagrama de contactos (LD)

Designacin Bloque de comparacin horizontal

Representacin

Descripcin Los bloques de comparacin horizontal sirven para ejecutar una expresin de comparacin (<, >, <=, >=, =, <>) en el lenguaje de programacin ST. (Nota: Se puede conseguir la misma funcionalidad mediante las expresiones ST (vase pgina 597)). El bloque de comparacin realiza un AND de su pin de entrada de la izquierda y el resultado de su condicin de comparacin asigna el resultado de este AND a su pin de salida incondicionalmente. Por ejemplo, si el estado de la conexin izquierda es 1 y el resultado de la comparacin es 1, el estado de la conexin derecha ser 1. Un bloque de comparacin horizontal puede contener hasta 4.096 caracteres. Si no se pueden representar todos los caracteres, se representa el inicio de la secuencia de caracteres seguido de puntos suspensivos (...). Un bloque de comparacin horizontal ocupa una fila y dos columnas. Ejemplo:

En el ejemplo, Comparacin1 se ejecuta si Entrada1=1. Comparacin2 se ejecuta si Entrada1=1 , Entrada2=1, el resultado de Comparacin1=1. Salida1 es 1 si Entrada1=1, Entrada2=1, el resultado de Comparacin1=1 y el resultado de Comparacin2=1.

456

35006147 10/2013

Diagrama de contactos (LD)

Conexiones
Descripcin Las conexiones son vnculos entre objetos LD (contactos, bobinas, FFB, etc.).

Se distingue entre dos tipos de vnculos: Conexiones booleanas Las conexiones booleanas estn compuestas por uno o ms segmentos que conectan objetos booleanos (contactos, bobinas) entre s. Las conexiones booleanas pueden ser de dos tipos: Conexiones booleanas horizontales Las conexiones booleanas horizontales permiten la conexin en serie de contactos y bobinas. Conexiones booleanas verticales Las conexiones booleanas verticales permiten la conexin en paralelo de contactos y bobinas. Conexiones FFB Las conexiones FFB estn compuestas por una combinacin de segmentos horizontales y verticales que conectan entradas/salidas FFB a otros objetos.

Conexiones

35006147 10/2013

457

Diagrama de contactos (LD)

Notas generales sobre la programacin Tenga en cuenta las siguientes indicaciones generales sobre la programacin: Los tipos de datos de las entradas/salidas que se vayan conectar deben coincidir. No se admiten las conexiones entre parmetros de longitud variable (por ejemplo, ANY_ARRAY_INT). Se pueden establecer varias conexiones a una salida (parte derecha de un contacto/una bobina, salida FFB). Sin embargo, slo se puede establecer una nica conexin a una entrada (parte izquierda de un contacto/una bobina, entrada FFB). Las entradas, bobinas y contactos no vinculados de FFB estn ocupados de forma predeterminada con el valor "0". Con conexiones no se pueden configurar bucles, ya que en este caso no se puede determinar de forma inequvoca la secuencia de ejecucin en la seccin. Los bucles se deben resolver con parmetros actuales (consulte "Bucles no permitidos, pgina 475").

Notas sobre la programacin de conexiones booleanas Notas sobre la programacin de conexiones booleanas. No est permitido que las conexiones booleanas se solapen con otros objetos. En el caso de las conexiones booleanas, el flujo de seal (flujo de corriente) va de izquierda a derecha. Por este motivo no se permiten las conexiones en sentido inverso. Si dos conexiones booleanas se cruzan, se establecer automticamente un vnculo entre ambas conexiones. Dado que el cruce de conexiones booleanas no es posible, los vnculos no se marcan de ninguna forma especial.

Notas sobre la programacin de conexiones FFB Notas sobre la programacin de conexiones FFB. Al menos una parte de una conexin FFB debe estar conectada a una entrada o salida FFB. Para diferenciarlas de las conexiones booleanas, las conexiones FFB se representan con un espesor de lnea doble. En el caso de las conexiones FFB, el flujo de seal (flujo de corriente) va de la salida FFB a la entrada FFB, independientemente del sentido. Por este motivo, se permiten las conexiones en sentido inverso. Slo se pueden conectar entradas FFB y salidas FFB entre s. No es posible interconectar varias salidas FFB a la vez. Esto quiere decir que en LD no se puede realizar ninguna operacin OR por medio de conexiones FFB. Est permitido que las conexiones FFB se solapen con otros objetos.

458

35006147 10/2013

Diagrama de contactos (LD)

Se permite el cruce de conexiones FFB. Los cruces se representan con una conexin "interrumpida".

En el caso de las conexiones FFB, los puntos de conexin entre varias conexiones FFB se marcan con un crculo relleno.

Para evitar el cruce de conexiones, las conexiones FFB tambin se pueden representar en forma de conectores. El origen y el destino de la conexin FFB se identifican con un nombre unvoco dentro de la seccin. El nombre del conector tiene la siguiente estructura en funcin del tipo de objeto de origen de la conexin: En el caso de funciones: "Contador de funcin/parmetro formal" del origen de la conexin

En el caso de bloques de funcin: "Nombre de instancia/parmetro formal" del origen de la conexin

35006147 10/2013

459

Diagrama de contactos (LD)

En el caso de contactos: "OUT1_nmero correlativo"

Conexiones verticales La conexin vertical representa un caso especial de conexin. La conexin vertical sirve como OR lgico. En este tipo de conexiones OR son posibles 32 entradas (contactos) y 64 salidas (bobinas, conexiones).

460

35006147 10/2013

Diagrama de contactos (LD)

Objeto de texto
Introduccin El texto puede ubicarse como objetos de texto en el lenguaje de diagrama de contactos (LD). El tamao de estos objetos depende de la longitud del texto. En funcin del tamao del texto, es posible ampliar el tamao del objeto en ms unidades de rejilla en direccin vertical y horizontal. Los objetos de texto pueden solaparse con otros objetos.

35006147 10/2013

461

Diagrama de contactos (LD)

Deteccin de flancos
Introduccin En el reconocimiento de flancos se controla la transicin de un bit de 0 -> 1 (flanco positivo) o de 1 -> 0 (flanco negativo). Para ello, se compara el valor del bit en el ciclo anterior con su valor en el ciclo actual. En este caso, no slo ser necesario el valor actual sino tambin el anterior. En el reconocimiento de flancos son necesarios dos bits (el valor actual y el anterior) en lugar de uno. Puesto que el tipo de datos BOOL slo proporciona un bit (valor actual), para el reconocimiento de flancos hay otro tipo de datos, EBOOL (BOOL ampliado). Adems del reconocimiento de flancos, el tipo de datos EBOOL ofrece la posibilidad de forzar. As, se debe almacenar tambin si el forzado de bits est activo o no. El tipo de datos EBOOL almacena los siguientes datos: el valor actual del bit en Bit de valor el valor anterior del bit en bit de registro (al comienzo de cada ciclo se copia el contenido del bit de valor en el bit de registro) Informacin sobre si el forzado del bit est activo en bit de forzado (0 = forzado inactivo, 1 = forzado activo).

Restricciones para EBOOL

ATENCIN
FUNCIONAMIENTO INESPERADO DEL EQUIPO Para realizar una buena deteccin de flancos, %M debe actualizarse en cada ciclo de tarea. Al realizar una escritura unvoca, el flanco ser infinito. El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo. Utilizando una variable EBOOL para que los contactos reconozcan flancos positivos (P) o negativos (N) o con una EF denominada RE o FE, deber seguir las restricciones que se describen a continuacin. EBOOL con %M no escrito dentro de programa Una variable EBOOL con una direccin %M, que no se escribe dentro del programa sino directamente, por ejemplo, mediante una tabla de animacin, una pantalla de operador o un HMI, no funcionar de la manera esperada. El flanco es TRUE infinitamente porque el %M slo se escribe una vez. NOTA: Para evitar este problema, el %M tiene que escribirse al final de la tarea para actualizar la informacin del valor anterior.

462

35006147 10/2013

Diagrama de contactos (LD)

El valor anterior slo se actualiza cuando se escribe el bit %M, de manera que si escribe el bit slo una vez, la deteccin de flanco ser infinita.
Valor anterior Valor actual Deteccin de flanco Descripcin 0 0 0 1 0 1 1 1 0 1 1 0 estado 0 (antes de escribir el bit) Escribir 1 en el bit (por ejemplo, mediante tabla de animacin). Si no vuelve a escribir, el flanco permanece infinitamente. Vuelva a escribir 1 en el bit, el valor anterior se actualiza y la deteccin de flanco se establece en 0.

EBOOL con %M escrito dentro de programa Para una variable EBOOL con una direccin %M, que se escribe dentro del programa, tiene que seguir las restricciones que se describen a continuacin: No utilice el bit con una bobina SET o RESET. En este caso el valor anterior no se actualiza. De esta manera puede efectuar un flanco infinito. No escriba el bit de forma condicional. Una lgica simple como IF NOT %M1 THEN %M1 := TRUE; END_IF lleva a un flanco infinito, porque slo se escribe una vez. EBOOL con %I Para una variable EBOOL con una direccin %I debe seguir las restricciones que se describen a continuacin: Al utilizar multitarea, la prueba de flanco %I debe efectuarse en la tarea en que se actualiza. Debe evitarse el uso de la deteccin de flanco de un %I programado en una tarea de mayor prioridad. Ejemplo: Si tiene una tarea rpida, que actualiza un %I, no utilice una deteccin de flanco en la tarea MAST. Dependiendo de la planificacin, puede detectar el flanco o no.

35006147 10/2013

463

Diagrama de contactos (LD)

Deteccin de flancos positivos Para detectar los flancos positivos se utiliza un contacto para el reconocimiento de flancos positivos. En el caso de este contacto, la conexin derecha es igual a 1 durante un ciclo del programa siempre que se produzca una transicin de 0 a 1 del parmetro real correspondiente (A) y, al mismo tiempo, el estado de la conexin izquierda sea 1. De lo contrario, el estado de la conexin derecha es 0. En el ejemplo se detecta un flanco positivo de la variable A y, por lo tanto, se establece B durante un ciclo.

Siempre que el bit de valor de A sea igual a 1 y el bit de registro sea igual a 0, se establece B en 1 durante un ciclo (ciclos 1, 4 y 9).

464

35006147 10/2013

Diagrama de contactos (LD)

Deteccin de flancos negativos Para detectar los flancos negativos se utiliza un contacto para el reconocimiento de flancos negativos. En el caso de este contacto, la conexin derecha es igual a 1 durante un ciclo del programa siempre que se produzca una transicin de 1 a 0 del parmetro real correspondiente (A) y, al mismo tiempo, el estado de la conexin izquierda sea 1. De lo contrario, el estado de la conexin derecha es 0. En el ejemplo se detecta un flanco negativo de la variable A y, por lo tanto, se establece B durante un ciclo.

Siempre que el bit de valor de A sea igual a 0 y el bit de registro sea igual a 1, se establece B en 1 durante un ciclo (ciclos 2 y 8).

35006147 10/2013

465

Diagrama de contactos (LD)

Forzado de bits Al forzar bits, se sobrescribe el valor de la variable averiguado por lgica con el valor de forzado. En el ejemplo se detecta un flanco negativo de la variable A y, por lo tanto, se establece B durante un ciclo.

Siempre que el bit de valor o bit de forzado de A sea igual a 0 y el bit de registro sea igual a 1, se establece B en 1 durante un ciclo (ciclos 1 y 8).

466

35006147 10/2013

Diagrama de contactos (LD)

Utilizacin de variables BOOL y EBOOL El comportamiento del reconocimiento de flanco con los tipos de variable BOOL o EBOOL puede ser diferente: Cuando se utiliza una variable BOOL, el sistema gestiona el registro permitiendo la deteccin de flanco durante la ejecucin de contacto. Cuando se utiliza una variable EBOOL, el bit de registro se actualiza durante la ejecucin de bobina. En los ejemplos siguientes se muestra el comportamiento distinto en funcin del tipo de variable. La variable A se define como BOOL, cuando A se establece en 1, %MW1 se incrementa en 1.

35006147 10/2013

467

Diagrama de contactos (LD)

La variable B se define como EBOOL, el comportamiento es distinto cuando se compara con la variable A. Mientras B est establecido en 1, %MW2 se incrementa en 1 porque el bit de registro no est actualizado.

La variable C se define como EBOOL, el comportamiento es idntico al de la variable A. El bit de registro se actualiza.

468

35006147 10/2013

Diagrama de contactos (LD)

Al forzar las bobinas se puede producir la prdida de la deteccin de flancos Al forzar las bobinas se puede producir la prdida de la deteccin de flancos. En el ejemplo, si A es igual a 1, B debe ser igual a 1 y, en el caso de un flanco ascendente de A, la bobina B debe establecerse durante un ciclo. En este ejemplo, la variable B se asigna a la bobina primero y, a continuacin, al contacto para el reconocimiento de flancos positivos.

Al comienzo del segundo ciclo, el bit de valor de B es igual a 0. Al forzar B durante este ciclo, el bit de forzado y el bit de valor se establecen en 1. Al procesar la primera lnea de la lgica durante el tercer ciclo, el bit de registro de la bobina (B) tambin se establecer en 1. Problema: En el reconocimiento de flancos (comparacin del bit de valor y el bit de registro), no se puede detectar ningn flanco de la segunda lnea de la lgica ya que, debido a la actualizacin, el bit de valor y el bit de registro de la lnea 1 de B son siempre idnticos.

35006147 10/2013

469

Diagrama de contactos (LD)

Solucin: En este ejemplo, la variable B tiene asignado el contacto para el reconocimiento de flancos positivos primero y, a continuacin, la bobina.

Al comienzo del segundo ciclo, el bit de valor de B es igual a 0. Al forzar B durante este ciclo, el bit de forzado y el bit de valor se establecen en 1. Al procesar la primera lnea de la lgica durante el tercer ciclo, el bit de registro de la conexin (B) permanecer en 0. El reconocimiento de flancos detecta la diferencia entre el bit de valor y el bit de registro y establece la bobina (C) en 1 durante un ciclo.

470

35006147 10/2013

Diagrama de contactos (LD)

La utilizacin de bobinas de establecimiento o restablecimiento puede provocar la prdida de la deteccin de flancos En el caso de variables EBOOL, la utilizacin de bobinas de establecimiento o restablecimiento puede provocar la prdida del reconocimiento del flanco. La variable de la bobina de establecimiento o restablecimiento (en el ejemplo, la variable C) siempre se ve afectada por el valor de la conexin izquierda. Si el valor de la conexin izquierda es 1, el bit de valor (en el ejemplo, la variable C) se copia en el bit de registro y el bit de valor se establece en 1. Si el valor de la conexin izquierda es 0, el bit de valor (en el ejemplo, la variable C) se copia en el bit de registro y el bit de valor no cambia. Esto significa que, independientemente del valor que tenga la conexin izquierda de la bobina de establecimiento o restablecimiento, el bit de registro siempre se actualiza. En el ejemplo se detecta un flanco positivo de la variable C y por lo tanto se establece en D durante un ciclo.
Lnea de cdigo 1 Comportamiento en LD Situacin de salida: C = 0, Bit de registro = 0 Equivalencia en ST IF A AND B THEN C := 1; ELSE C := C; END_IF;

A = 1, B = 1, C = 1, Bit de registro = 0 2 IF NOT(A) AND NOT(B) THEN C := 0; ELSE C := C; END_IF; A = 1, B = 1, C = 1, Registro = 1

35006147 10/2013

471

Diagrama de contactos (LD)

Lnea de cdigo 3

Comportamiento en LD

Equivalencia en ST -

C = 1, Registro = 1 D = 0, ya que el bit de valor y el bit de registro de C son idnticos. El flanco ascendente de C, ejecutado en la lnea de cdigo 1, no es reconocido por el cdigo en la lnea 2, ya que provoca una actualizacin del bit de registro. (Si la condicin no es verdadera, al valor actual de C se le volver a asignar C. Consulte la instruccin ELSE en la lnea de cdigo 2 del ejemplo ST).

472

35006147 10/2013

Diagrama de contactos (LD)

Secuencia de ejecucin y flujo de seal


Secuencia de ejecucin de redes Para la secuencia de ejecucin de redes se aplican las siguientes reglas: La ejecucin de una seccin se realiza red a red en funcin de las conexiones de objetos de arriba a abajo. No es posible configurar bucles mediante conexiones, ya que en este caso no se puede determinar de forma inequvoca la secuencia de ejecucin en la seccin. Los bucles se deben resolver con parmetros actuales (consulte "Configuracin de bucles, pgina 475"). La secuencia de ejecucin de las redes que slo estn conectadas entre s mediante barra de alimentacin izquierda est determinada por la secuencia grfica (de arriba a abajo) en la que dichas redes estn conectadas a la barra de alimentacin izquierda. Esto no es aplicable si la secuencia se modifica mediante elementos de control. El clculo de una red finaliza completamente antes de que comience el clculo de la red siguiente. Ningn elemento de una red se considera calculado mientras no se haya calculado el estado de todas las entradas de dicho elemento. El clculo de una red slo se considera finalizado cuando se han calculado todas las salidas de dicha red. Esto tambin es vlido si la red contiene uno o ms elementos de control.

Flujo de seal dentro de una red

Para el flujo de seal dentro de una red (circuito elctrico) se aplican las siguientes reglas: El flujo de seal con conexiones booleanas va: De izquierda a derecha en caso de conexiones booleanas horizontales. De arriba a abajo en caso de conexiones booleanas verticales. En el caso de las conexiones FFB, el flujo de seal va de la salida FFB a la entrada FFB, independientemente del sentido. El clculo de un FFB no se inicia hasta que no se hayan calculado todos los elementos (salidas FFB, etc.) que estn conectados a sus entradas. La secuencia de ejecucin de los FFB que estn conectados a varias salidas del mismo FFB es de arriba a abajo. La secuencia de ejecuciones de los objetos no est influida por su posicin dentro de la red. La secuencia de ejecucin de FFB se muestra como nmero de ejecucin sobre el FFB.

35006147 10/2013

473

Diagrama de contactos (LD)

Prioridades Prioridades a la hora de determinar el flujo de seal dentro de una seccin.


Prioridad Regla 1 2 3 4 Conexin Red a red Descripcin Las conexiones tienen el nivel de prioridad ms alto a la hora de determinar el flujo de seal dentro de una seccin LD. El clculo de una red finaliza completamente antes de que comience el clculo de la red siguiente.

Secuencia de las salidas Las salidas del mismo bloque de funcin o las salidas de las conexiones verticales se calculan de arriba a abajo. Circuito a circuito Nivel de prioridad ms bajo. La secuencia de ejecucin de las redes que slo estn conectadas entre s mediante barra de alimentacin izquierda est determinada por la secuencia grfica (de arriba a abajo) en la que dichas redes estn conectadas a la barra de alimentacin izquierda. (Esto slo es vlido si no se aplica ninguna de las dems reglas).

Ejemplo Ejemplo de la secuencia de ejecucin de objetos en una seccin LD

NOTA: Los nmeros de ejecucin de contactos y bobinas no se muestran. Slo se incluyen en el grfico con fines explicativos.

474

35006147 10/2013

Diagrama de contactos (LD)

Configuracin de bucles
Bucles no permitidos No es posible configurar bucles exclusivamente a base de conexiones ya que de este modo no se puede determinar el flujo de seal de forma unvoca (la salida de un FFB es la entrada del FFB siguiente y la salida de ste es, a su vez, la entrada del primero). Bucle no permitido a travs de conexiones

Generacin a travs de un parmetro real Una lgica de este tipo se debe resolver con ayuda de una variable de realimentacin para que el flujo de seal se pueda determinar de forma unvoca. Las variables de realimentacin se deben inicializar. El valor inicial se utiliza durante la primera ejecucin de la lgica. Una vez ejecutado, el valor inicial se sustituye por el valor actual. Tenga en cuenta en ambos casos la secuencia de ejecucin (nmero entre parntesis detrs del nombre de instancia) de los dos bloques. Bucle resuelto a travs de un parmetro actual: caso 1

Bucle resuelto a travs de un parmetro actual: caso 2

35006147 10/2013

475

Diagrama de contactos (LD)

Modificacin de la secuencia de ejecucin


Introduccin La secuencia de ejecucin de las redes y de los objetos incluidos dentro de una red est definida por una serie de reglas (vase pgina 473). En la mayora de los casos resulta recomendable modificar la secuencia de ejecucin propuesta por el sistema. Existen las siguientes posibilidades para determinar/modificar la secuencia de ejecucin de las redes: Utilizacin de conexiones en lugar de parmetros actuales Posicin de las redes Existen las siguientes posibilidades para determinar/modificar la secuencia de ejecucin dentro de las redes: Posicin de los objetos

476

35006147 10/2013

Diagrama de contactos (LD)

Situacin de salida En la figura siguiente se muestran dos redes cuya secuencia de ejecucin est determinada nicamente por su posicin dentro de la seccin, con independencia de que los bloques .4/.5 y .7/.8 requieran otra secuencia de ejecucin.

35006147 10/2013

477

Diagrama de contactos (LD)

Conexin en lugar de parmetros actuales Utilizando una conexin en lugar de una variable, ambas redes se ejecutan en la secuencia correcta (consulte tambin "Situacin de salida, pgina 477").

478

35006147 10/2013

Diagrama de contactos (LD)

Posicin de las redes La secuencia de ejecucin adecuada se puede conseguir modificando la posicin de las redes (consulte tambin "Situacin de salida, pgina 477").

35006147 10/2013

479

Diagrama de contactos (LD)

Posicin de los objetos La posicin de los objetos slo influye sobre la secuencia de ejecucin si varias entradas (conexin izquierda de contactos/bobinas, entradas FFB) estn conectadas a la misma salida del objeto "invocante" (conexin derecha de contactos/bobinas, salidas FFB) (consulte tambin Situacin de salida, pgina 477). Situacin de salida

En la primera red, se han intercambiado las posiciones de los bloques .1 y .2. En este caso (origen comn de ambas entradas de bloque) tambin se intercambia la secuencia de ejecucin de ambos bloques (procesamiento de arriba a abajo). Lo mismo es vlido para el intercambio de las bobinas C y D en la segunda red.
480

35006147 10/2013

Diagrama de contactos (LD)

En la tercera red, se han intercambiado las posiciones de los bloques .4 y .5. En este caso (origen distinto de las entradas de bloque), la secuencia de ejecucin de ambos bloques no se intercambia (procesamiento en la secuencia de las salidas de bloque invocantes). Lo mismo es vlido para el intercambio de las bobinas G y H en la ltima red.

35006147 10/2013

481

Diagrama de contactos (LD)

482

35006147 10/2013

Unity Pro Lenguaje de ejecucin secuencial SFC 35006147 10/2013

Captulo 13
SFC, lenguaje de ejecucin secuencial

SFC, lenguaje de ejecucin secuencial


Vista general En este captulo, se describe el lenguaje de ejecucin secuencial SFC segn CEI 611311. Contenido de este captulo Este captulo contiene las siguientes secciones:
Seccin 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 13.10 Paso y paso de macro Accin y seccin de accin Transicin y seccin de transicin Salto Conexin Bifurcaciones y conjunciones Objeto de texto Single-Token Multi-Token Apartado Generalidades sobre el lenguaje de ejecucin secuencial SFC Pgina 484 490 500 507 512 513 514 517 518 529

35006147 10/2013

483

Lenguaje de ejecucin secuencial SFC

Seccin 13.1
Generalidades sobre el lenguaje de ejecucin secuencial SFC

Generalidades sobre el lenguaje de ejecucin secuencial SFC


Vista general En esta seccin se ofrece una vista general sobre el lenguaje de ejecucin secuencial SFC. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Generalidades sobre el lenguaje de ejecucin secuencial SFC Reglas de conexin Pgina 485 489

484

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Generalidades sobre el lenguaje de ejecucin secuencial SFC


Introduccin El lenguaje de ejecucin secuencial SFC (Grfica de funcin secuencial), que cumple con la norma CEI 61131-3, se describe en esta seccin. Estructura de un control de secuencia En Unity Pro, un control de secuencia conforme a CEI est compuesto por secciones SFC (nivel superior), secciones de transicin y secciones de accin. Estas secciones SFC slo se admiten en la tarea master del proyecto. En las dems tareas o DFB no se pueden utilizar secciones SFC. Cada seccin SFC contiene en Single-Token exactamente una red SFC (cadena secuencial). En Multi-Token, una seccin SFC puede contener una o varias redes SFC independientes. Objetos Una seccin SFC ofrece los siguientes objetos para la creacin del programa: Paso (vase pgina 491) Paso macro (subcadena de pasos intercalada) (vase pgina 495) Transicin (condicin de transicin) (vase pgina 508) Salto (vase pgina 512) Conexin (vase pgina 513) Bifurcacin alternativa (vase pgina 515) Conjuncin alternativa (vase pgina 515) Bifurcacin simultnea (vase pgina 516) Conjuncin simultnea (vase pgina 516)

La lgica de la seccin se puede comentar por medio de objetos de texto (consulte "Objeto de texto, pgina 517").

35006147 10/2013

485

Lenguaje de ejecucin secuencial SFC

Representacin de una seccin SFC Representacin:

486

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Estructura de una seccin SFC Una seccin SFC es una "mquina de estado", es decir, el estado se representa mediante el paso activo, y las transiciones reproducen el comportamiento de conexin/modificacin. Los pasos y transiciones se vinculan unos con otros mediante conexiones direccionales. No es posible vincular dos pasos directamente en ningn caso; siempre estn separados por una transicin. Las secuencias de los estados de seal activos tienen lugar a lo largo de las conexiones direccionales, disparadas por medio de la conexin de una transicin. La direccin de la secuencia de una cadena sigue las conexiones direccionales y transcurre desde la parte interior del paso previo hasta la parte superior del paso siguiente. Las bifurcaciones se procesan de izquierda a derecha. A cada paso le corresponden cero o ms acciones. A cada transicin le corresponde una condicin de transicin. La ltima transicin de la cadena est ligada siempre a otro paso de la cadena (a travs de una conexin grfica o un smbolo de salto), de forma que exista un crculo cerrado. Las cadenas de pasos se ejecutan de forma cclica. Variable SFCCHART_STATE Si se crea una seccin SFC, se le asigna automticamente una variable del tipo de datos SFCCHART_STATE. La variable generada siempre tendr el nombre de la seccin SFC a la que pertenezca. Esta variable sirve para asignar los bloques de control SFC a la seccin SFC que se vaya a controlar. Regla de token El comportamiento de una red SFC est condicionado considerablemente por la eleccin de la cantidad de tokens, es decir, de la cantidad de pasos activos. Es posible un comportamiento unvoco con un solo token (Single-Token). (Bifurcaciones simultneas cada una con un token activo [paso] por bifurcacin como un slo token). Esto corresponde a una cadena de pasos tal y como se describe en la normativa CEI 61131-3). Una cadena de pasos con una cantidad mxima de pasos activos definida por el usuario (MultiToken) aumenta el grado de libertad. Las limitaciones para garantizar la univocidad e impedir el bloqueo se suavizan/anulan, y el usuario debe asegurarlas por s mismo. Las cadenas de pasos con Multi-Token no cumplen la norma CEI 61131-3.

35006147 10/2013

487

Lenguaje de ejecucin secuencial SFC

Tamao de la seccin

Una seccin SFC est compuesta por una ventana con una sola pgina. Por motivos de rendimiento, es sumamente recomendable crear menos de 100 secciones SFC en un proyecto (las secciones macro no se cuentan). La ventana tiene una rejilla lgica de fondo con 200 lneas y 32 columnas. Todos los pasos, transiciones y saltos requieren una celda. Las bifurcaciones y las conjunciones no necesitan disponer de su propia celda, sino que se insertan en la celda del paso o de la transicin correspondiente. Por cada seccin SFC (incluyendo todas sus secciones de macro) se puede ubicar un mximo de 1.024 pasos. Por cada seccin SFC (incluyendo todas sus secciones de macro) puede haber un mximo de 100 pasos activos (Multi-Token). Por cada seccin SFC se puede activar al mismo tiempo un mximo de 64 pasos (Multi-Token) manualmente. Se puede asignar un mximo de 20 acciones a cada paso SFC. Son 8 los niveles de anidamiento de macros, es decir, paso de macro a paso de macro.

Conformidad CEI La descripcin de la conformidad del lenguaje de programacin SFC con la norma CEI figura en "Conformidad CEI (vase pgina 745)".

488

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Reglas de conexin
Reglas de conexin La tabla indica qu salidas y entradas de objetos se pueden conectar entre s.
De salida de objeto de Paso A entrada de objeto de Transicin Bifurcacin alternativa Conjuncin simultnea Transicin Paso Salto Bifurcacin simultnea Conjuncin alternativa Bifurcacin alternativa Conjuncin alternativa Transicin Paso Salto Bifurcacin simultnea Conjuncin alternativa Bifurcacin simultnea Paso Salto Conjuncin alternativa (slo con Multi-Token (vase pgina 529)) Conjuncin simultnea Transicin Bifurcacin alternativa (slo con Multi-Token (vase pgina 529)) Conjuncin alternativa

35006147 10/2013

489

Lenguaje de ejecucin secuencial SFC

Seccin 13.2
Paso y paso de macro

Paso y paso de macro


Vista general En este apartado se describen los objetos de paso y de paso de macro del lenguaje de ejecucin secuencial SFC. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Paso Pasos de macro y secciones de macro Pgina 491 495

490

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Paso
Tipos de pasos Existen los siguientes tipos de pasos.
Tipo Paso "normal" Representacin Descripcin Un paso se activa cuando el paso anterior se convierte en inactivo (debe transcurrir un tiempo de retardo definido) y se cumple la transicin preconectada. Normalmente, un paso se convierte en inactivo cuando transcurre el tiempo de retardo definido y se cumple la condicin postconectada. En el caso de las conjunciones simultneas, todos los pasos anteriores deben cumplir estas condiciones. A cada paso le corresponden cero o ms acciones. Los pasos sin accin se denominan pasos de espera. El estado inicial de una cadena de ejecucin est caracterizado por el paso inicial. Tras la inicializacin del proyecto o de la cadena de ejecucin, el paso inicial est activo. A los pasos iniciales no se les suele asignar ninguna accin. En Single-Token (conforme a IEC 61131-3), slo se admite un nico paso inicial por secuencia. En Multi-Token se admite una cantidad definible de pasos iniciales (de 0 a 100). Consulte "Paso de macro, pgina 495".

Paso inicial

Paso de macro

Paso de entrada

Consulte "Paso de entrada, pgina 495".

Paso de salida

Consulte "Paso de salida, pgina 496".

Nombres de paso Al generar un paso, se le asigna un nmero recomendado. Este nmero tiene la estructura S_i_j, donde i es el nmero actual (interno) de la seccin, y j es el nmero de paso actual (interno) de la seccin actual. Estos nmeros se pueden modificar para mejorar la visin general. Los nombres de paso (mx. 32 caracteres) no deben repetirse en todo el proyecto, es decir, no puede haber ningn otro paso, variable, seccin, etc. con el mismo nombre. No se distingue entre maysculas y minsculas. El nombre del paso debe cumplir la nomenclatura general.
35006147 10/2013

491

Lenguaje de ejecucin secuencial SFC

Tiempos de paso A cada paso se le puede asignar un tiempo de vigilancia mnimo, otro mximo y un tiempo de retardo: Tiempo de vigilancia mnimo El tiempo de vigilancia mnimo indica el tiempo de duracin que, por lo general, debe estar activo un paso como mnimo. Si el paso se convierte en inactivo antes de que transcurra este tiempo, se emitir un mensaje de error. En la modalidad de animacin, adems, el error se identificar con un cambio de color (amarillo) del objeto del paso. Si no se indica ningn tiempo de vigilancia mnimo o se indica un tiempo de vigilancia mnimo de 0, no se vigilar el paso. El estado de error se mantiene hasta que se activa el paso de nuevo. Tiempo de vigilancia mximo El tiempo de vigilancia mximo indica el tiempo de duracin que, por lo general, debe estar como mximo activo un paso. Si el paso permanece activo despus de que transcurra este tiempo, se emitir un mensaje de error. En la modalidad de animacin, adems, el error se identificar con un cambio de color (rosa) del objeto del paso. Si no se indica ningn tiempo de vigilancia mximo o se indica un tiempo de vigilancia mximo de 0, no se vigilar el paso. El estado de error se mantiene hasta que el paso se convierte en inactivo. Tiempo de retardo El tiempo de retardo (tiempo de duracin del paso) establece el tiempo mnimo durante el que debe estar activo un paso. NOTA: Los tiempos indicados son vlidos para el paso, pero no para las acciones asignadas a l. Para stas se pueden definir tiempos propios. Determinacin de los tiempos de paso Al definir/calcular los tiempos, tenga en cuenta la siguiente frmula: Tiempo de retardo< tiempo de vigilancia mnimo< tiempo de vigilancia mximo Hay dos posibilidades de asignar los valores definidos a un paso: Introducirlo como literal de duracin Utilizar la estructura de datos SFCSTEP_TIMES

492

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Variable SFCSTEP_TIMES A los pasos se les puede asignar una variable del tipo de datos SFCSTEP_TIMES. Los elementos de esta estructura de datos se pueden leer y escribir (lectura/escritura). La estructura de datos se gestiona del mismo modo que cualquier otra, es decir, que se puede emplear en declaraciones de variables y, por lo tanto, es posible acceder a la estructura de datos completa (p. ej. como parmetro FFB). Elementos de la estructura de datos:
Nombre del elemento "VarName".delay "VarName".min "VarName".max Tipo de datos TIME TIME TIME Descripcin Tiempo de retardo Tiempo de vigilancia mnimo Tiempo de vigilancia mximo

Variable SFCSTEP_STATE A cada paso se le asigna de forma implcita una variable del tipo de datos SFCSTEP_STATE. Esta variable de paso tiene el nombre del paso asignado. Los elementos de esta estructura de datos slo se pueden leer (slo lectura). Puede ver las variables SFCSTEP_STATE en el Editor de datos. El comentario para una variable SFCSTEP_STATE es el comentario introducido como una propiedad del paso. Consulte el captulo sobre la definicin de las propiedades de los pasos (vase Unity Pro, Modalidades de funcionamiento) en el manual de modalidades de servicio de Unity Pro. La estructura de datos no se puede utilizar en declaraciones de variables. Por este motivo, no es posible acceder como un entero (por ejemplo, como parmetro FFB). Elementos de la estructura de datos:
Nombre del elemento "StepName".t Tipo de datos TIME Descripcin Tiempo de duracin actual en el paso. Si se desactiva el paso, el valor de este elemento se mantendr hasta que se vuelva a activar el paso. 1: Paso activo 0: Paso inactivo Este elemento es una ampliacin de la norma IEC 61131-3. 1: Transgresin por debajo del tiempo de vigilancia mnimo 0: Sin transgresin por debajo del tiempo de vigilancia mnimo El elemento se restablece automticamente en los siguientes casos: Cuando el paso se vuelve a activar. Cuando se restablece el control de secuencia. Si el botn de comando Restablecer errores de tiempos est activado

"StepName".x

BOOL

"StepName".tminErr BOOL

35006147 10/2013

493

Lenguaje de ejecucin secuencial SFC

Nombre del elemento

Tipo de datos

Descripcin Este elemento es una ampliacin de la norma IEC 61131-3. 1: Rebasamiento del tiempo de vigilancia mximo 0: Sin rebasamiento del tiempo de vigilancia mximo El elemento se restablece automticamente en los siguientes casos: Cuando se abandona el paso. Cuando se restablece el control de secuencia. Si el botn de comando Restablecer errores de tiempos est activado

"StepName".tmaxErr BOOL

494

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Pasos de macro y secciones de macro


Paso de macro Los pasos de macro sirven para llamar a secciones de macro y as estructurar jerrquicamente los controles de secuencia. Representacin de un paso de macro:

Los pasos de macro tienen las siguientes propiedades: Los pasos de macro se pueden ubicar en secciones de "control de secuencia" y en secciones de macro. No hay lmite para el nmero de pasos de macro. La profundidad de intercalado, es decir, un paso de macro dentro de otro, es de 8 niveles. A cada paso de macro se le asigna de forma implcita una variable del tipo de datos SFCSTEP_STATE, consulte la "Variable SFCSTEP_STATE, pgina 493". A los pasos de macro se les puede asignar una variable del tipo de datos SFCSTEP_TIMES; consulte la "Variable SFCSTEP_TIMES, pgina 493". A los pasos de macro no se les puede asignar NINGUNA accin. Cada paso de macro se puede sustituir por la cadena secuencial contenida en la seccin de macro asignada.

Los pasos de macro son una ampliacin de la norma CEI 61131-3 y se deben habilitar de forma explcita. Paso de entrada Cada seccin de macro comienza con un paso de entrada. Representacin de un paso de entrada:

Los pasos de entrada tienen las siguientes propiedades: El editor SFC coloca automticamente los pasos de entrada en las secciones de macro. En cada seccin de macro se puede situar nicamente un paso de entrada. Un paso de entrada no se puede eliminar, copiar o insertar manualmente. Cada paso de entrada tiene asignada de forma implcita una variable del tipo de datos SFCSTEP_STATE; consulte la "Variable SFCSTEP_STATE, pgina 493". A los pasos de entrada se les puede asignar una variable del tipo de datos SFCSTEP_TIMES; consulte "Variable SFCSTEP_TIMES, pgina 493". A los pasos de entrada se les puede asignar acciones.

35006147 10/2013

495

Lenguaje de ejecucin secuencial SFC

Paso de salida Cada seccin de macro termina con un paso de salida. Representacin de un paso de salida:

Los pasos de salida tienen las siguientes propiedades: El editor SFC coloca automticamente los pasos de salida en las secciones de macro. En cada seccin de macro se puede situar nicamente un paso de salida. Un paso de salida no se puede eliminar, copiar o insertar manualmente. A los pasos de salida no se les puede asignar NINGUNA accin. A los pasos de salida slo se les puede asignar un tiempo de retardo. No es posible asignar tiempos de vigilancia (consulte Tiempos de paso, pgina 492).

Seccin de macro Una seccin de macro est compuesta por una nica cadena secuencial que, en principio, dispone de los mismos elementos que una seccin de "control de secuencia" (p. ej. pasos, paso o pasos iniciales, pasos de macro, transiciones, bifurcacin, conjunciones, etc.). Adems, cada seccin de macro contiene en su comienzo un paso de entrada y, en el final, un paso de salida. Cada paso de macro se puede sustituir por la cadena secuencial contenida en la seccin de macro asignada. Por esta razn, las secciones de macro pueden contener 0, 1 o ms pasos iniciales (consulte tambin "Tipos de pasos, pgina 491). Single-Token Se utilizarn 0 pasos iniciales en las secciones de macro cuando ya exista un paso inicial en la seccin inmediatamente superior o inferior. Se utilizar 1 paso inicial en las secciones de macro cuando no exista ningn paso inicial en la seccin inmediatamente superior o inferior.

Multi-Token Por cada seccin (incluidas todas sus secciones de macro) se puede utilizar un mximo de 100 pasos iniciales.

496

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Uso de secciones de macro:

El nombre de estas secciones de macro es exactamente el mismo que el nombre del paso de macro invocante. Si se cambia el nombre del paso de macro, el nombre de la seccin de macro asignada cambiar automticamente. Una seccin de macro slo se puede utilizar una vez.

35006147 10/2013

497

Lenguaje de ejecucin secuencial SFC

Procesamiento de pasos de macro Procesamiento de pasos de macro:


Fase 1 2 Descripcin Un paso de macro se activa cuando la condicin de transicin previa pasa a VERDADERA. Al mismo tiempo se activa el paso de entrada de la seccin de macro. Se procesa la cadena secuencial de la seccin de macro. El paso de macro permanece activo mientras haya activo al menos un paso de la seccin de macro. Si el paso de salida de la seccin de macro se activa, se habilitar la siguiente transicin que siga al paso de macro. El paso de macro se desactivar cuando el paso de salida est activo y, en consecuencia, est habilitada la siguiente condicin de transicin y la condicin de transicin pase a VERDADERA. Al mismo tiempo, el paso de salida de la seccin de macro se desactivar.

3 4

Nombres de paso Al generar un paso, se le asigna un nmero recomendado. Significado de los nmeros recomendados:
Tipo de paso Paso de macro Nmero recomendado MS_i_j Descripcin MS = paso de macro i = nmero correlativo (interno) de la seccin actual j = nmero de paso de macro correlativo (interno) en la seccin actual MS = paso de macro k = nmero correlativo (interno) de la seccin invocante l = nmero de paso de macro correlativo (interno) en la seccin invocante IN = paso de entrada MS = paso de macro k = nmero correlativo (interno) de la seccin invocante l = nmero de paso de macro correlativo (interno) en la seccin invocante OUT = paso de salida S = paso k = nmero correlativo (interno) de la seccin invocante m = nmero de paso correlativo (interno) en la seccin invocante

Paso de entrada

MS_k_l_IN

Paso de salida

MS_k_l_OUT

Paso "normal" (dentro de una seccin de macro)

S_k_m

498

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Estos nmeros se pueden modificar para mejorar la visin general. Los nombres de paso (mximo 28 caracteres para los nombres de paso de macro, mximo 32 caracteres para los nombres de paso) no deben repetirse en todo el proyecto, es decir, no puede haber ningn otro paso, variable, seccin (excepto el nombre de la seccin de macro asignada al paso de macro), etc. con el mismo nombre. No se distingue entre maysculas y minsculas. El nombre del paso debe cumplir las convenciones de nomenclatura estndar. Si se cambia el nombre del paso de macro, el nombre de la seccin de macro asignada y los pasos que contenga cambiarn automticamente. Por ejemplo, si se cambia el nombre de MS_1_1 a MyStep, los nombres de pasos de la seccin de macro cambiarn a MyStep_IN, MyStep_1, ..., MyStep_n, MyStep_OUT.

35006147 10/2013

499

Lenguaje de ejecucin secuencial SFC

Seccin 13.3
Accin y seccin de accin

Accin y seccin de accin


Vista general En este apartado se describen las acciones y secciones de accin del lenguaje de ejecucin secuencial SFC. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Accin Seccin de accin Descriptor Pgina 501 503 504

500

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Accin
Introduccin Las acciones tienen las siguientes propiedades: Una accin puede ser una variable booleana (variable de accin (vase pgina 501)) o una seccin (seccin de accin (vase pgina 503)) de los lenguajes de programacin FBD, LD, IL o ST. Un paso se puede asociar a ninguna o a varias acciones. Un paso al que no se asigna ninguna accin tiene una funcin de espera, es decir, espera hasta que la transicin asignada se haya completado. Si en un paso se han asignado varias acciones, stas se procesarn en el orden en que aparezcan en el cuadro de lista de acciones. Excepcin: Independientemente de su posicin en el cuadro de lista de acciones, las acciones con el descriptor (vase pgina 504) P1 siempre se procesarn las primeras y las acciones con el descriptor P0, las ltimas. El control de acciones se expresa mediante descriptores (vase pgina 504). A cada paso se le puede asignar un mximo de 20 acciones. Cualquier variable de accin asignada a una accin tambin se puede utilizar en acciones de otros pasos. La variable de accin tambin se puede utilizar para leer y escribir en cualquier otra seccin del proyecto (asignacin mltiple). Las acciones que tengan asignado un descriptor con duracin slo pueden estar activas una nica vez. Como variables de accin slo se admiten variables y direcciones booleanas o elementos booleanos de variables de elementos mltiples. Las acciones tienen nombres unvocos. El nombre de cada accin es bien el nombre de la variable de accin o bien el nombre de la seccin de accin.

Variable de accin Como variable de accin se admiten: Direcciones del tipo de datos BOOL Se puede asociar una accin a una salida de hardware mediante una direccin. En tal caso, la accin se utiliza como seal de habilitacin de una transicin, como seal de entrada en otra seccin y como seal de salida para el hardware. Variable simple o elemento de una variable de elementos mltiples del tipo de datos BOOL La accin se puede utilizar como seal de entrada en otra seccin con ayuda de una variable. Unlocated Variable En el caso de las Unlocated Variables, la accin se puede utilizar como seal de habilitacin de una transicin y como seal de entrada en otra seccin. Located Variable En este caso, la accin se puede utilizar como seal de habilitacin de una transicin, como seal de entrada en otra seccin y como seal de salida para el hardware.

35006147 10/2013

501

Lenguaje de ejecucin secuencial SFC

Nombres de accin Si se utiliza como accin una direccin o una variable, para el nombre de la accin se utilizar su designacin (p. ej. %Q10.4, Variable1). Si se utiliza como accin una seccin de accin, como nombre de accin se utilizar el nombre de dicha seccin. Los nombres de accin (mx. 32 caracteres) no deben repetirse en todo el proyecto, es decir, no puede haber ninguna otra transicin, variable, seccin etc. con el mismo nombre. No se distingue entre maysculas y minsculas. El nombre de la accin debe cumplir la nomenclatura general.

502

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Seccin de accin
Introduccin Es posible crear una seccin de accin para cada accin. Se trata de una seccin que contiene la lgica de la accin y que se encuentra conectada automticamente con la accin. Nombre de la seccin de accin El nombre de la seccin de accin es siempre idntico al nombre de la accin asignada; consulte "Nombres de accin, pgina 502". Lenguajes de programacin En las secciones de accin se puede utilizar los siguientes lenguajes de programacin: FBD, LD, IL y ST. Propiedades de las secciones de accin Los secciones de accin tienen las siguientes propiedades: Las secciones de accin pueden contener un nmero cualquiera de salidas. Las llamadas de subrutina son posibles en las secciones de accin nicamente si est habilitada la modalidad Multi- Token. Nota: Las subrutinas llamadas no se encuentran sometidas al controlador de la cadena de secuencia, es decir, el descriptor asignado a la seccin de accin invocante no tiene repercusiones en la subrutina, la subrutina permanece inactiva incluso si se desactiva el paso invocante.

En las secciones de accin no se pueden utilizar funciones, bloques de funcin ni procedimientos de diagnstico. Las secciones de accin pueden contener un nmero cualquiera de redes. Las secciones de accin pertenecen a la seccin SFC, en la que se definen y pueden ser asignadas dentro de la misma (incluyendo todas sus secciones de macro) a cualquier accin. Las acciones de accin que tengan asignado un descriptor con duracin slo pueden estar activas una nica vez. Las secciones de accin pertenecen a la seccin SFC en la que se han definido. Si se borra la seccin SFC correspondiente, se eliminarn automticamente todas las secciones de accin de dicha seccin SFC. Las secciones de accin nicamente pueden ser llamadas por acciones.

35006147 10/2013

503

Lenguaje de ejecucin secuencial SFC

Descriptor
Introduccin Cada accin vinculada a un paso debe tener un descriptor que defina el control de dicha accin. Descriptores disponibles Los siguientes descriptores estn disponibles:
Descriptor N / Ninguno R Significado Sin guardar Restablecer prioritaria Descripcin Si el paso est activo, la accin se establece en 1. Si el paso est inactivo, la accin se establece en 0. Se restablece la accin que se haya establecido con el descriptor S en otro paso. Adems, puede impedirse el periodo de actividad de cualquier accin. Nota: Los descriptores se declaran sin bfer de forma automtica. Eso significa que su valor se restablece en 0 cuando el programa se detiene y se reinicia, p. ej.: por un corte en la alimentacin. En caso de que necesite una salida con bfer, utilice el bloque de funciones RS o SR de la biblioteca de mdulos estndar.

504

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Descriptor S

Significado Establecer (guardada)

Descripcin La accin guardada queda activa incluso cuando el paso correspondiente se desactiva. La accin se desactiva solo cuando se restablezca en otro paso de la cadena de de la seccin SFC actual, utilizando el descriptor R. Nota: Si se modifica una variable de accin fuera de la seccin SFC actual, ya no reflejar el estado de activacin de la accin.

Nota: Se admite un mximo de 100 acciones con el descriptor S por seccin SFC. L Con lmite temporal Si el paso se activa, la accin tambin se activa. Una vez transcurrida la duracin que haya definido para la accin, sta se volver a establecer en 0 aunque el paso siga activo. Si el paso se desactiva, la accin siempre se establece en 0. Nota: Para este descriptor, adems es necesario definir una duracin del tipo TIME.

Con tiempo de Si el paso se activa, se inicia el temporizador interno y, una vez transcurrida retardo la duracin que se haya definido de forma manual para la accin, sta se establece en 1. Siempre que el paso se desactive, la accin tambin se desactivar. Si el paso se desactiva antes de que haya transcurrido el tiempo interno, la accin no se activa. Nota: Para este descriptor, adems es necesario definir una duracin del tipo TIME.

35006147 10/2013

505

Lenguaje de ejecucin secuencial SFC

Descriptor P DS

Significado Impulso Guardada y con retardo

Descripcin Si el paso se activa, la accin se establece en 1 y permanece as durante un ciclo de programa, independientemente de si el paso permanece activo o no. Si el paso se activa, se inicia el temporizador interno y, una vez transcurrida la duracin que haya definido, la accin se activa. La accin se desactiva slo cuando se restablezca con el descriptor R en otro paso. Si el paso se desactiva antes de que haya transcurrido el tiempo interno, la accin no se activa. Nota: Para este descriptor, adems es necesario definir una duracin del tipo TIME. Si el paso se activa (flanco 0->1), la accin se establece en 1 y permanece as durante un ciclo de programa, independientemente de si el paso permanece activo o no. Nota: Las acciones con el descriptor P1 siempre se procesan las primeras, independientemente de su posicin en el cuadro de lista de acciones. Para obtener ms informacin, consulte Accin (vase pgina 501) sobre el lenguaje de ejecucin secuencial SFC. Si el paso se vuelve inactivo (flanco 1->0), la accin se establece en 1 y permanece as durante un ciclo de programa. Nota: Las acciones con el descriptor P0 siempre se procesan las ltimas, independientemente de su posicin en el cuadro de lista de acciones. Para obtener ms informacin, consulte Accin (vase pgina 501) sobre el lenguaje de ejecucin secuencial SFC.

P1

Impulso (flanco ascendente)

P0

Impulso (flanco descendente)

506

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Seccin 13.4
Transicin y seccin de transicin

Transicin y seccin de transicin


Vista general En este apartado se describen los objetos de transicin y las secciones de transicin del lenguaje de ejecucin secuencial SFC. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Transicin Seccin de transicin Pgina 508 510

35006147 10/2013

507

Lenguaje de ejecucin secuencial SFC

Transicin
Introduccin Una transicin indica la condicin gracias a la cual el control pasa de uno o varios pasos, que anteceden a la transicin, a uno o varios pasos sucesores a lo largo de la correspondiente conexin. Condicin de transicin Cada transicin tiene asignada una condicin de transicin del tipo de datos BOOL. Como condicin de transicin se admiten: Una direccin (entrada o salida) Una variable (entrada o salida) Un literal Una seccin de transicin (vase pgina 510)

El tipo de condicin de transicin determina la posicin del nombre.


Condicin de transicin
Direccin Variable Literal

Posicin del nombre

Seccin de transicin

Nombres de transicin Si se utiliza como condicin de transicin una direccin o una variable, como nombre de transicin se indicar su designacin (p. ej. %I10.4, Variable1). Si se utiliza como condicin de transicin una seccin de transicin, como nombre de transicin se indicar el nombre de seccin. Los nombres de transicin (mx. 32 caracteres) no deben repetirse en todo el proyecto, es decir, no puede haber ninguna otra transicin, variable, seccin (excepto la seccin de transicin asignada) etc. con el mismo nombre. No se distingue entre maysculas y minsculas. El nombre de la transicin debe cumplir la nomenclatura general.

508

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Habilitacin de una transicin Se habilita una transicin si sus pasos inmediatamente anteriores estn activos. Las transiciones, cuyos pasos antecesores inmediatos no estn activos, normalmente no se evaluarn. NOTA: Si no se ha definido ninguna condicin de transicin, dicha transicin no se activar nunca. Disparo de una transicin El disparo de una transicin se efecta si se ha habilitado una transicin y se cumple la condicin de transicin correspondiente. El disparo de una transicin provoca la desactivacin (restablecimiento) de todos los pasos inmediatamente anteriores relacionados con la transicin, seguida de la activacin de todos los pasos inmediatamente posteriores. Tiempo de disparo de una transicin En teora, el tiempo de disparo (tiempo de conmutacin) de una transicin se puede considerar lo ms corto posible, pero jams puede ser cero. El tiempo de disparo de una transicin tiene como mnimo la duracin de un ciclo de programa.

35006147 10/2013

509

Lenguaje de ejecucin secuencial SFC

Seccin de transicin
Introduccin Es posible crear una seccin de transicin para cada transicin. Se trata de una seccin que contiene la lgica de la condicin de transicin y que se encuentra conectada automticamente con la transicin. Nombre de la seccin de transicin El nombre de la seccin de transicin es siempre idntico al nombre de la transicin asignada; consulte "Nombres de transicin, pgina 508". Lenguajes de programacin En las secciones de transicin se pueden utilizar los siguientes lenguajes de programacin: FBD, LD, IL y ST. Redes recomendadas de las secciones de transicin
Lenguaje Red recomendada FBD Descripcin La red recomendada contiene un bloque AND con 2 entradas cuya salida booleana est conectada con una variable que tiene el nombre de la seccin de transicin. El bloque recomendado se puede conectar o eliminar. La red recomendada contiene una bobina conectada con una variable que tiene el nombre de la seccin de transicin. La bobina recomendada se puede conectar o eliminar.

LD

IL

La red recomendada est vaca. Como contenido, nicamente se puede generar una lgica booleana. La asignacin del resultado de la lgica a la salida (la variable de transicin) tiene lugar automticamente, es decir, no se admite la instruccin de memoria ST. Ejemplo: LD A AND B

510

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Lenguaje Red recomendada ST -

Descripcin La red recomendada est vaca. Como contenido, nicamente se puede generar una lgica booleana en forma de una expresin (imbricada). La asignacin del resultado de la lgica a la salida (la variable de transicin) tiene lugar automticamente, es decir, no se admite la instruccin de asignacin :=. La expresin no concluye con punto y coma (;). Ejemplo: A AND B o A AND (WORD_TO_BOOL (B))

Propiedades de las secciones de transicin Las secciones de transicin presentan las siguientes propiedades: Las secciones de transicin slo tienen una salida (la variable de transicin) y su tipo de datos es BOOL. El nombre de estas variables es exactamente el mismo que el nombre de la seccin de transicin. La variable de transicin slo se puede utilizar una vez con funcin de escritura. La variable de transicin se puede leer desde cualquier punto del proyecto. Slo se pueden utilizar funciones, pero no se podrn usar ni bloques de funcin ni procedimientos. En LD nicamente se puede utilizar una sola bobina. Slo hay una red, es decir, todas las funciones utilizadas se unen unas con otras de manera directa o indirecta. Las secciones de transicin slo se pueden utilizar una vez. Las secciones de transicin pertenecen a la seccin SFC en la que se hayan definido. Si se borra la seccin SFC correspondiente, se eliminarn automticamente todas las secciones de transicin de dicha seccin SFC. Slo se puede acceder a las secciones de transicin desde otras transiciones.

35006147 10/2013

511

Lenguaje de ejecucin secuencial SFC

Seccin 13.5
Salto

Salto
Salto
Generalidades Los saltos se utilizan para representar conexiones direccionales que no se han dibujado en toda su longitud. Representacin de un salto

Propiedades de los saltos Los saltos presentan las siguientes propiedades: Varios saltos pueden tener como objetivo el mismo paso. Segn CEI 61131-3, los saltos para introducirse en una cadena simultnea (vase pgina 516) o para salir fuera de una cadena simultnea no son posibles. No obstante, si hubieran de utilizarse, debern habilitarse de forma explcita. Dentro de los saltos, se distingue entre saltos de cadena (vase pgina 521) y bucles de cadena (vase pgina 522). El destino del salto se identifica mediante el smbolo de destino de salto (>).

Nombre de saltos Los saltos no tienen nombres propios en sentido estricto. En su lugar, dentro del smbolo del salto aparece el nombre del paso de destino (objetivo del salto).

512

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Seccin 13.6
Conexin

Conexin
Conexin
Introduccin Las conexiones unen pasos y transiciones, transiciones y pasos, etc. Propiedades de las conexiones Las conexiones tienen las siguientes propiedades: Las conexiones entre objetos del mismo tipo (paso con paso, transicin con transicin, etc.) no son posibles. Es posible establecer conexiones entre: Salidas de objetos no conectadas y Entradas de pasos conectadas o no conectadas (es decir, las entradas de pasos se pueden conectar de forma mltiple)

No es posible solapar conexiones y otros objetos SFC (paso, transicin, salto etc.). Es posible solapar conexiones y conexiones. El cruce de conexiones es posible, y se indica mediante una conexin "interrumpida".

Las conexiones estn compuestas por segmentos verticales y horizontales. El flujo general de la seal en una cadena secuencial va de arriba a abajo. Sin embargo, para poder configurar bucles, es posible que las conexiones con un paso vayan de abajo a arriba. Esto es vlido para conexiones de transiciones, bifurcaciones en paralelo o conjunciones alternativas con un paso. En estos casos, el sentido de la conexin aparece representado por una flecha.

Dentro de las conexiones, se distingue entre saltos de cadena (vase pgina 521) y bucles de cadena (vase pgina 522).
513

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Seccin 13.7
Bifurcaciones y conjunciones

Bifurcaciones y conjunciones
Vista general En este apartado se describen los objetos de bifurcacin y conjuncin del lenguaje de ejecucin secuencial SFC. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Bifurcaciones alternativas y conjunciones alternativas Bifurcacin simultnea y conjuncin simultnea Pgina 515 516

514

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Bifurcaciones alternativas y conjunciones alternativas


Introduccin La bifurcacin alternativa ofrece la posibilidad de programar bifurcaciones condicionales en el flujo de control de la estructura del SFC. En las bifurcaciones alternativas, un paso va seguido de tantas transiciones por debajo de la lnea horizontal como secuencias distintas existan. Todas las derivaciones alternativas se unen mediante conjunciones alternativas o saltos (vase pgina 512) formando un solo nudo, en el que se procesarn despus. Ejemplo de una cadena alternativa Ejemplo de una cadena alternativa

Propiedades de una cadena alternativa Las propiedades de una cadena alternativa dependern de si el control de secuencia se ejecuta en Single-Token o Multi-Token. Consulte: Propiedades de una cadena alternativa en Single-Token (vase pgina 520) Propiedades de una cadena alternativa en Multi-Token (vase pgina 531)

35006147 10/2013

515

Lenguaje de ejecucin secuencial SFC

Bifurcacin simultnea y conjuncin simultnea


Introduccin En las bifurcaciones simultneas, al conectar una nica transicin, se activan de forma paralela varios (mx. 32) pasos (derivaciones). La ejecucin tiene lugar de izquierda a derecha. Tras esta activacin conjunta, se procesa cada una de las derivaciones de forma independiente. Todas las bifurcaciones simultneas se agrupan mediante una conjuncin simultnea segn CEI 61131-1. La transicin se evala despus de una conjuncin simultnea si se han activado todos los pasos previos de la conjuncin. Si una bifurcacin simultnea se agrupa mediante una conjuncin alternativa, esto slo es posible en la modalidad Multi-Token (vase pgina 534). Ejemplo de una cadena simultnea Ejemplo de una cadena simultnea

Propiedades de una cadena simultnea Consulte Propiedades de una cadena simultnea en Single-Token (vase pgina 520) Propiedades de una cadena simultnea en Multi-Token (vase pgina 531)

516

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Seccin 13.8
Objeto de texto

Objeto de texto
Objeto de texto
Introduccin El texto puede ubicarse como objetos de texto mediante el lenguaje de ejecucin secuencial SFC. El tamao de estos objetos depende de la longitud del texto. Este objeto de texto es, al menos, del tamao de una celda y puede agrandarse tanto vertical como horizontalmente cubriendo otras celdas, segn el tamao del texto. Los objetos de texto pueden solaparse con otros objetos SFC.

35006147 10/2013

517

Lenguaje de ejecucin secuencial SFC

Seccin 13.9
Single-Token

Single-Token
Vista general En esta seccin se describe la modalidad de servicio "Single-Token" para los controles de secuencia. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Secuencia de ejecucin en Single-Token Cadena alternativa Saltos de cadena y bucles de cadena Cadenas simultneas Seleccin asimtrica de cadenas simultneas Pgina 519 520 521 524 526

518

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Secuencia de ejecucin en Single-Token


Descripcin En Single-Token rigen las siguientes reglas: La situacin original se define mediante el paso inicial. La cadena secuencial contiene nicamente un paso inicial. En la cadena secuencial nunca habr ms de un paso activo. La nica excepcin es la constituida por las bifurcaciones simultneas, en las que hay un paso activo por bifurcacin. Las secuencias de los estados de seal activos tienen lugar a lo largo de las conexiones direccionales, activadas por medio de la conexin de una o varias transiciones. La direccin de la secuencia de una cadena sigue las conexiones direccionales y transcurre desde la parte interior del paso previo hasta la parte superior del paso siguiente. Se habilita una transicin si los pasos inmediatamente anteriores estn activos. Las transiciones cuyos pasos inmediatamente anteriores no estn activos normalmente no se evalan. Una transicin se activa si se ha habilitado una transicin y se cumple la condicin de transicin correspondiente. La activacin de una transicin provoca la desactivacin (restablecimiento) de todos los pasos inmediatamente anteriores relacionados con la transicin, seguida de la activacin de todos los pasos inmediatamente posteriores. Si se cumplen varias condiciones de transicin en una lnea de pasos consecutivos, se conectar progresivamente un paso por ciclo. Los pasos no se pueden activar o desactivar desde otra seccin que no sea SFC. Es posible utilizar pasos de macro. En las bifurcaciones alternativas nunca habr ms de una bifurcacin activa. El resultado de las condiciones de transicin de aquellas transiciones que sigan a la bifurcacin alternativa determinar la bifurcacin que se ejecute. Si se cumple una condicin de transicin, ya no se procesarn las transiciones restantes. Se activar la bifurcacin de la transicin realizada. La prioridad para las bifurcaciones va de izquierda a derecha. Todas las bifurcaciones alternativas se agruparn al final por medio de una conjuncin alternativa o un salto. En las bifurcaciones simultneas, al conectar una nica transicin, se activarn varios pasos (bifurcaciones). Tras esta activacin conjunta, se procesa cada una de las bifurcaciones de forma independiente. Todas las bifurcaciones simultneas se agruparn al final por medio de una conjuncin simultnea global. Los saltos para introducirse en una bifurcacin simultnea o para salir de ella no son posibles.

35006147 10/2013

519

Lenguaje de ejecucin secuencial SFC

Cadena alternativa
Cadena alternativa De acuerdo con CEI 61131-3, no es posible conectar ms de una transicin al mismo tiempo (seleccionar 1 de n). El resultado de las condiciones de transicin de aquellas transiciones que sigan a la bifurcacin alternativa determinar la ramificacin que se ejecute. Las transiciones de la bifurcacin se procesarn de izquierda a derecha. Si se cumple una condicin de transicin, ya no se procesarn las transiciones restantes. Se activar la bifurcacin de la transicin realizada. De esta forma resulta una prioridad de izquierda a derecha para las bifurcaciones. Si no conmuta ninguna de las transiciones, permanecer el paso que est ajustado en ese momento. Cadena alternativa

Si...

Entonces...

S_5_10 est activo y la condicin de transicin a es tendr lugar una secuencia de S_5_10 a S_5_11. verdadera (independientemente de b), S_5_10 est activo, y la condicin de transicin b es verdadera y a es falsa, tendr lugar una secuencia de S_5_10 a S_5_12.

520

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Saltos de cadena y bucles de cadena


Salto de cadena Un salto de cadena es un caso especial de bifurcacin alternativa, en el que se saltan ciertos pasos de la cadena. Un salto de cadena puede realizarse con saltos o con conexiones. Salto de cadena

Si...

Entonces...

La condicin de transicin a es verdadera, tendr lugar una secuencia de S_5_10 a S_5_11, S_5_12 y S_5_13. La condicin de transicin b es verdadera, tendr lugar un salto directo de S_5_10 a S_5_13. La condicin de transicin e es verdadera, tendr lugar una secuencia de S_5_10 a S_5_14 y S_5_13.

35006147 10/2013

521

Lenguaje de ejecucin secuencial SFC

Bucle de cadena Un bucle de cadena es un caso especial de bifurcacin alternativa, en la que una o varias derivaciones vuelven a un paso previo. Un bucle de cadena puede realizarse con saltos o con conexiones. Bucle de secuencia:

Si... La condicin de transicin a es verdadera, La condicin de transicin b es verdadera, La condicin de transicin f es verdadera,

Entonces... tendr lugar una secuencia de S_1_11 a S_1_12. tendr lugar una secuencia de S_1_12 a S_1_13. tendr lugar un salto hacia atrs de S_1_14 a S_1_12.

La condicin de transicin b es falsa y c es verdadera, tendr lugar una secuencia de S_1_12 a S_1_14. El bucle hacia atrs de S_1_12 a S_1_12 a travs de las condiciones de transicin c y f se repetir hasta que la condicin de transicin b pase a verdadera, o c a falsa y d a verdadera. Las condiciones de transicin b y c son falsas y d es verdadera, tendr lugar un salto directo hacia atrs de S_1_12 a S_1_11.

El bucle de S_1_11 a S_1_12 y hacia atrs hasta S_1_11 a travs de las condiciones de transicin a y d se repetir hasta que la condicin de transicin b o c sea verdadera. 522

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

No est permitido que haya bucles de cadena sin fin dentro de una cadena alternativa. Bucle de cadena sin fin

Si... La condicin de transicin b es verdadera, La condicin de transicin e es verdadera, La condicin de transicin f es verdadera,

Entonces... tendr lugar una secuencia de S_1_1 a S_1_3. tendr lugar un salto a S_1_4. tendr lugar un salto a S_1_3.

El bucle de S_1_3 a travs de la condicin de transicin e, a S_1_4 a travs de la condicin de transicin f y salto hacia atrs a S_1_3 se repetir sin fin.

35006147 10/2013

523

Lenguaje de ejecucin secuencial SFC

Cadenas simultneas
Cadenas simultneas En las bifurcaciones simultneas, al conectar una nica transicin, se activan de forma paralela varios (mx. 32) pasos (bifurcaciones). Esto es vlido tanto en Single-Token como en Multi-Token. Procesamiento de cadenas simultneas

Si...

Entonces...

S_5_10 se encuentra activo y la condicin tendr lugar una secuencia de S_5_10 a S_5_11, S_5_12 y S_5_13. de transicin a, que pertenece a la transicin conjunta, tambin es verdadera, Los pasos S_5_11, S_5_12 y S_5_13 estn activos, S_5_14, S_5_15 y S_5_16 estn activos al mismo tiempo y la condicin de transicin e, que pertenece a la transicin conjunta, es verdadera, las secuencias se procesarn de forma independiente. tendr lugar una secuencia de S_5_14, S_5_15 y S_5_16 a S_5_17.

524

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Utilizacin de una bifurcacin alternativa en una cadena simultnea Si se utiliza una bifurcacin alternativa en una cadena simultnea, esto provocar en Single-Token un bloqueo de la cadena. Utilizacin de una bifurcacin alternativa en una cadena simultnea

Si... La condicin de transicin a es verdadera, Los pasos S_7_1 y S_7_2 estn activados, La condicin de transicin d es verdadera, La condicin de transicin b es verdadera y c es falsa,

Entonces... tendr lugar una secuencia a S_7_1 y S_7_2. las secuencias se procesarn de forma independiente. tendr lugar una secuencia a S_7_5. tendr lugar una secuencia a S_7_3.

Si S_7_3, S_7_4 y S_7_5 estn conectados mediante una conjuncin simultnea, no puede tener lugar ninguna secuencia a S_7_6, ya que S_7_3 y S_7_4 nunca pueden estar activos al mismo tiempo. (O bien S_7_3 est activado mediante una condicin de transicin b o bien S_7_4 est activado a travs de c, nunca los dos al mismo tiempo). Por esta razn, S_7_3, S_7_4 y S_7_5 nunca pueden estar activos al mismo tiempo. La cadena se bloquear. El mismo problema surge cuando al entrar en la bifurcacin alternativa, la condicin de transicin b es falsa y c es verdadera.

35006147 10/2013

525

Lenguaje de ejecucin secuencial SFC

Seleccin asimtrica de cadenas simultneas


Introduccin Segn CEI 61131-3, una bifurcacin simultnea siempre debe cerrarse con una conjuncin simultnea. Sin embargo, el nmero de bifurcaciones simultneas no tiene que coincidir necesariamente con el nmero de conjunciones simultneas. Cantidad mayor de ejecuciones conjuntas Cadena con 1 bifurcacin simultnea y 2 conjunciones simultneas

Si... La condicin de transicin a es verdadera, Los pasos S_19_2, S_19_3 y S_19_4 estn activados, La condicin de transicin b es verdadera, Los pasos S_19_2 y S_19_5 estn activos y la condicin de transicin c es verdadera,

Entonces... tendr lugar una secuencia a S_19_2, S_19_3 y S_19_4. las secuencias se procesarn de forma independiente. tendr lugar una secuencia a S_19_5. se abandonar la cadena simultnea.

526

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Mayor cantidad de bifurcaciones Cadena con 2 bifurcaciones simultneas y 1 conjuncin simultnea

Si... La condicin de transicin a es verdadera, La condicin de transicin b es verdadera, Los pasos S_19_2, S_19_4 y S_19_5 estn activos y la condicin de transicin c es verdadera,

Entonces... tendr lugar una secuencia a S_19_2, S_19_3. tendr lugar una secuencia a S_19_4, S_19_5. se abandonar la cadena simultnea.

Los pasos S_19_2 y S_19_3 estn activados, las secuencias se procesarn de forma independiente. Los pasos S_19_4 y S_19_5 estn activados, las secuencias se procesarn de forma independiente.

35006147 10/2013

527

Lenguaje de ejecucin secuencial SFC

Cadenas simultneas intercaladas Cadenas simultneas intercaladas

Si... La condicin de transicin a es verdadera, La condicin de transicin b es verdadera, La condicin de transicin c es verdadera, Los pasos S_8_13 y S_8_14 estn activos y la condicin de transicin d es verdadera, Los pasos S_8_12 y S_8_17 estn activos y la condicin de transicin e es verdadera, ...

Entonces... tendr lugar una secuencia a S_8_10 y S_8_11. tendr lugar una secuencia a S_8_12 y S_8_13. tendr lugar una secuencia a S_8_14, S_8_15 y S_8_16. tendr lugar una secuencia a S_8_17. tendr lugar una secuencia a S_8_18. ...

528

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Seccin 13.10
Multi-Token

Multi-Token
Vista general En esta seccin se describe la modalidad de servicio "Multi-Token" para los controles de secuencia. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Secuencia de ejecucin en Multi-Token Cadena alternativa Cadenas simultneas Salto a una cadena simultnea Salto desde una cadena simultnea Pgina 530 531 534 538 539

35006147 10/2013

529

Lenguaje de ejecucin secuencial SFC

Secuencia de ejecucin en Multi-Token


Descripcin En Multi-Token rigen las siguientes reglas: La situacin de salida se define por medio de un cantidad definible de pasos iniciales (0 a 100). En la cadena secuencial puede haber activa cualquier cantidad de pasos al mismo tiempo. Las secuencias de los estados de seal activos tienen lugar a lo largo de las conexiones direccionales, disparadas por medio de la conexin de una o varias transiciones. La direccin de la secuencia de una cadena sigue las conexiones direccionales y transcurre desde la parte interior del paso previo hasta la parte superior del paso siguiente. Se habilita una transicin si sus pasos inmediatamente anteriores estn activos. Las transiciones, cuyos pasos inmediatamente anteriores no estn activos, no se evaluarn. El disparo de una transicin se efecta si se ha habilitado una transicin y se cumple la condicin de transicin correspondiente. El disparo de una transicin provoca la desactivacin (restablecimiento) de todos los pasos inmediatamente anteriores relacionados con la transicin, seguida de la activacin de todos los pasos inmediatamente posteriores. Si se cumplen varias condiciones de transicin en una lnea de pasos consecutivos, se conectar progresivamente un paso por ciclo. Los pasos y pasos de macro se pueden activar o desactivar desde otra seccin que no sea SFC o por medio de operaciones de usuario. Si un paso activo se activa y desactiva al mismo tiempo, el paso permanecer activo. Es posible utilizar pasos de macro. Asimismo, las secciones de paso de macro tambin pueden contener pasos iniciales. En las bifurcaciones alternativas puede haber varias derivaciones activas. El resultado de las condiciones de transicin de aquellas transiciones que sigan a la bifurcacin alternativa determinar las derivaciones que se ejecutarn. Las transiciones de la bifurcacin se procesarn en paralelo. Se activarn las derivaciones que cumplan la transicin. Las derivaciones alternativas no deben agruparse al final por medio de una conjuncin alternativa o un salto. Si se configuran saltos para entrar en una derivacin simultnea o para salir de una derivacin simultnea, esto puede habilitarse por medio de una opcin. En este caso, las derivaciones simultneas no deben agruparse al final por medio de una conjuncin simultnea. En la seccin de accin se pueden utilizar llamadas a subrutinas. Es posible generar mltiples tokens mediante: Pasos iniciales mltiples Bifurcacin simultnea o alternativa no finalizada Saltos en relacin con cadenas alternativas y simultneas Activacin de pasos a travs del bloque de control SFC SETSTEP desde una seccin que no es SFC o a travs de comandos de control SFC.

Los tokens se pueden finalizar a travs de: Coincidencia de dos o ms tokens en un paso. Desactivacin de pasos a travs del bloque de control SFC RESETSTEP desde una seccin que no es SFC o a travs de comandos de control SFC.
35006147 10/2013

530

Lenguaje de ejecucin secuencial SFC

Cadena alternativa
Cadena alternativa En Multi-Token, el usuario puede predeterminar el comportamiento para la evaluacin de las condiciones de transicin en bifurcaciones alternativas. Es posible indicar los siguientes valores predeterminados: Procesamiento de izquierda a derecha con parada despus de la primera transicin activa (seleccionar 1 de n). Esto corresponde al comportamiento de cadenas alternativas en SingleToken (vase pgina 520). Procesamiento paralelo de la bifurcacin alternativa (seleccionar x de n)

Seleccionar x de n En Multi-Token se pueden conectar varias transiciones en paralelo (seleccionar x de n). El resultado de las condiciones de transicin de aquellas transiciones que sigan a la bifurcacin alternativa determinar las derivaciones que se ejecutarn. Se procesarn todas las transiciones de la bifurcacin. Se activarn todas las derivaciones que cumplan la transicin. Si no conmuta ninguna de las transiciones, permanecer el paso que est ajustado en ese momento. Seleccionar x de n

35006147 10/2013

531

Lenguaje de ejecucin secuencial SFC

Si... S_5_10 est activo, y la condicin de transicin a es verdadera y b es falsa, S_5_10 est activo, y la condicin de transicin a es falsa y b es verdadera, S_5_10 est activo, y las condiciones de transicin a y b son verdaderas,

Entonces... tendr lugar una secuencia de S_5_10 a S_5_11. tendr lugar una secuencia de S_5_10 a S_5_12. tendr lugar una secuencia de S_5_10 a S_5_11 y S_5_12.

Al activar en paralelo las dos derivaciones alternativas, se generar un segundo token. Los dos tokens ahora se ejecutarn en paralelo, es decir S_5_11 y S_5_12 estarn activos al mismo tiempo. Token 1 (S_5_11) Si... La condicin de transicin c es verdadera, Entonces... Token 2 (S_5_12) Si... Entonces... La condicin de transicin d tendr lugar una secuencia tendr lugar una es verdadera, de S_5_12 a S_5_13. secuencia de S_5_11 a S_5_13.

Si S_5_13 todava est activo (token 1) al activar la condicin de transicin c, entonces se finalizar el token 2 y la cadena se volver a procesar como Single-Token. Si S_5_13 ya no est activo (token 1), entonces se volver a activar a travs del token 2 y ambos tokens continuarn ejecutndose en paralelo (Multi-Token).

Si en esta modalidad de servicio se van a conectar bifurcaciones alternativas slo exclusivamente, esto debe definirse de forma explcita mediante la lgica de transicin. Ejemplo:

532

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Salir de una bifurcacin alternativa a travs de una conjuncin simultnea Si se cierra una bifurcacin alternativa a travs de una conjuncin simultnea, se puede llegar a bloquear la cadena. Salir de una bifurcacin alternativa a travs de una conjuncin simultnea

Si...

Entonces...

La condicin de transicin a es verdadera y b es falsa, tendr lugar una secuencia a S_6_1. Como S_6_1 y S_6_2 se encuentran conectados mediante una conjuncin simultnea, no se podr abandonar la bifurcacin, ya que S_6_1 y S_6_2 no pueden estar activos al mismo tiempo. (O bien S_6_1 est activado mediante una condicin de transicin a o bien S_6_2 est activado a travs de b). Por esta razn, S_6_1 y S_6_2 pueden estar activos al mismo tiempo. La cadena se bloquear. Para eliminar el bloque, se puede utilizar, por ejemplo, un segundo token posterior cuya secuencia se realice a travs de la transicin b.

35006147 10/2013

533

Lenguaje de ejecucin secuencial SFC

Cadenas simultneas
Cadenas simultneas En las bifurcaciones simultneas, al conectar una nica transicin, se activan de forma paralela varios (mx. 32) pasos (bifurcaciones). Esto es vlido tanto en Single-Token como en Multi-Token. Procesamiento de cadenas simultneas

Si...

Entonces...

S_5_10 se encuentra activo y la condicin de tendr lugar una secuencia de S_5_10 a S_5_11, S_5_12 y S_5_13. transicin a, que pertenece a la transicin conjunta, tambin es verdadera, Los pasos S_5_11, S_5_12 y S_5_13 estn las secuencias se procesarn de forma independiente. activos, S_5_14, S_5_15 y S_5_16 estn activos al mismo tiempo y la condicin de transicin e, que pertenece a la transicin conjunta, es verdadera, tendr lugar una secuencia de S_5_14, S_5_15 y S_5_16 a S_5_17.

534

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Salir de una bifurcacin simultnea mediante una conjuncin alternativa En Multi-Token, para salir de una bifurcacin simultnea se puede utilizar una conjuncin alternativa en lugar de una conjuncin simultnea. Salir de una cadena simultnea mediante una bifurcacin alternativa (variante 1)

Si... La condicin de transicin a es verdadera, Los pasos S_5_1 y S_5_2 estn activados, La condicin de transicin b es verdadera y c es falsa,

Entonces... tendr lugar una secuencia a S_5_1 y S_5_2. las secuencias se procesarn de forma independiente. tendr lugar una secuencia a S_5_3.

Con la secuencia a travs de la conjuncin alternativa para salir de la cadena simultnea, se generar un segundo token. Los dos tokens se ejecutarn en paralelo, es decir, ahora S_5_2 y S_5_3 estarn activos al mismo tiempo. Token 1 (S_5_3) Si... El paso S_5_3 est activo. Entonces... Token 2 (S_5_2) Si... El paso S_5_2 est activo. La condicin de transicin c tendr lugar una secuencia es verdadera, a S_5_3. Si S_5_3 todava est activo (token 1), se finalizar el token 2 y la cadena se volver a procesar como Single-Token. Si S_5_3 ya no est activo (token 1), entonces se volver a activar a travs del token 2 y ambos tokens continuarn ejecutndose en paralelo (Multi-Token). Entonces...

35006147 10/2013

535

Lenguaje de ejecucin secuencial SFC

Salir de una cadena simultnea mediante una bifurcacin alternativa (variante 2)

Si... La condicin de transicin a es verdadera,

Entonces... tendr lugar una secuencia a S_5_1 y S_5_2.

Con la secuencia a travs de la conjuncin alternativa para salir de la cadena simultnea, se generar un segundo token. Los dos tokens ahora se ejecutarn en paralelo, es decir S_5_1 y S_5_2 estarn activos al mismo tiempo. Token 1 (S_5_2) Si... El paso S_5_2 est activo. Entonces... Token 2 (S_5_1) Si... El paso S_5_1 est activo. La condicin de transicin b tendr lugar una secuencia es verdadera, a S_5_2. Si S_5_2 todava est activo (token 1), se finalizar el token 2 y la cadena se volver a procesar como SingleToken. Si S_5_2 ya no est activo (token 1), entonces se volver a activar a travs del token 2 y ambos tokens continuarn ejecutndose en paralelo (Multi-Token). Entonces...

536

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Utilizacin de una bifurcacin alternativa en una cadena simultnea Si se utiliza una nica bifurcacin alternativa en una cadena simultnea, se puede llegar a bloquear la cadena. Utilizacin de una bifurcacin alternativa en una cadena simultnea

Si... La condicin de transicin a es verdadera, Los pasos S_7_1 y S_7_2 estn activados, La condicin de transicin d es verdadera, La condicin de transicin b es verdadera,

Entonces... tendr lugar una secuencia a S_7_1 y S_7_2. las secuencias se procesarn de forma independiente. tendr lugar una secuencia a S_7_5. tendr lugar una secuencia a S_7_3.

Como S_7_3, S_7_4 y S_7_5 se encuentran conectados mediante una conjuncin simultnea, no se podr abandonar la cadena simultnea, ya que S_7_3 y S_7_4 no pueden estar activos al mismo tiempo. (O bien S_7_3 est activado mediante una condicin de transicin b o bien S_7_4 est activado a travs de c). Por esta razn, S_7_3, S_7_4 y S_7_5 no se activan al mismo tiempo. La cadena se bloquear. Para desactivar el bloqueo se puede utilizar un segundo token posterior cuya secuencia se realiza a travs de la transicin c.

35006147 10/2013

537

Lenguaje de ejecucin secuencial SFC

Salto a una cadena simultnea


Descripcin En Multi-Token se puede habilitar la posibilidad de saltar a una cadena simultnea o saltar fuera de ella. Un salto en una cadena simultnea no activa todas las derivaciones. Como la transicin despus de una conjuncin simultnea no se evala hasta que se han establecido todos los pasos previos directos de la transicin, la cadena simultnea ya no se podr abandonar, la cadena se bloquear. Salto en una cadena simultnea Salto en una cadena simultnea

Si... La condicin de transicin a es verdadera, Los pasos S_1_1 y S_1_2 estn activados, S_1_2 est activo y la condicin de transicin b es verdadera,

Entonces... tendr lugar una secuencia a S_1_1 y S_1_2. las secuencias se procesarn de forma independiente. tendr lugar una secuencia de S_1_2 a S_1_3.

S_1_1 y S_1_3 estn activos y es verdadera la condicin de tendr lugar una secuencia de S_1_1 y S_1_3 para transicin c, que pertenece a la transicin conjunta, saltar a S_1_1. S_1_1 se activa a travs del salto, slo se activar la derivacin de S_1_1. La derivacin de S_1_2 no se activar.

Como S_1_1 y S_1_3 ahora no se pueden activar al mismo tiempo, la cadena no se podr conectar progresivamente. La cadena se bloquear. Para desactivar el bloqueo se puede utilizar un segundo token posterior que vuelva a activar el paso S_1_2. 538
35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Salto desde una cadena simultnea


Introduccin En Multi-Token se puede habilitar la posibilidad de saltar a una cadena simultnea o saltar fuera de ella. En todos los casos se generarn tokens adicionales. Salto desde una cadena simultnea Salto desde una cadena simultnea

35006147 10/2013

539

Lenguaje de ejecucin secuencial SFC

Si... La condicin de transicin a es verdadera y b es falsa, Los pasos S_2_1 y S_2_2 estn activados, La condicin de transicin c es verdadera,

Entonces... tendr lugar una secuencia a S_2_1 y S_2_2. las secuencias se procesarn de forma independiente. tendr lugar un salto a S_2_3.

Con el salto desde la cadena simultnea se generar un segundo token. Los dos tokens se ejecutarn en paralelo, es decir, ahora S_2_1 y S_2_3 estarn activos al mismo tiempo. Token 1 (S_2_1) Si... La condicin de transicin e es verdadera, Entonces... tendr lugar una secuencia a S_2_5. Token 2 (S_2_3) Si... Entonces... La condicin de transicin d tendr lugar una secuencia es verdadera, a S_2_4. La condicin de transicin f tendr lugar una secuencia es verdadera, a S_2_5. Si S_2_5 todava est activo (token 1) al activar la condicin de transicin e, entonces se finalizar el token 2 y la cadena se volver a procesar como Single-Token. Si S_2_5 ya no est activo (token 1), entonces se volver a activar a travs del token 2 y ambos tokens continuarn ejecutndose en paralelo (Multi-Token).

Salto entre dos derivaciones de una cadena simultnea Salto entre dos derivaciones de una cadena simultnea

540

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

Si... La condicin de transicin a es verdadera, Los pasos S_4_1 y S_4_2 estn activados, La condicin de transicin b es verdadera, La condicin de transicin c es verdadera,

Entonces... tendr lugar una secuencia a S_4_1 y S_4_2. las secuencias se procesarn de forma independiente. tendr lugar una secuencia a S_4_3. tendr lugar un salto a S_4_1.

Con el salto desde una derivacin de cadena simultnea se generar un segundo token. Los dos tokens se ejecutarn en paralelo, es decir, ahora S_4_3 y S_4_1 estarn activos al mismo tiempo. Token 1 (S_4_3) Si... El paso S_4_3 se procesa Entonces... Token 2 (S_4_1) Si... El paso S_4_1 se procesa La condicin de transicin b tendr lugar una secuencia es verdadera, a S_4_3. Si en la activacin mediante el token 2, el paso S_4_3 todava est activo (token 1), el token 2 se finalizar y la cadena volver a procesarse como Single-Token. Si en la activacin mediante el token 2, el paso S_4_3 ya no est activo (token 1), se volver a activar mediante el token 2 y los dos tokens seguirn ejecutndose en paralelo (Multi-Token). En ambos casos, si la condicin de transicin d es verdadera, se abandonar la cadena simultnea. Entonces...

35006147 10/2013

541

Lenguaje de ejecucin secuencial SFC

Salir de una cadena simultnea mediante bifurcacin alternativa Salir de una cadena simultnea mediante una bifurcacin alternativa

Si... La condicin de transicin a es verdadera, Los pasos S_3_1 y S_3_2 estn activados, La condicin de transicin b es falsa y c es verdadera,

Entonces... tendr lugar una secuencia a S_3_1 y S_3_2. las secuencias se procesarn de forma independiente. tendr lugar una secuencia a S_3_5.

Con la secuencia a travs de la bifurcacin alternativa para salir de la cadena simultnea, se generar un segundo token. Los dos tokens se ejecutarn en paralelo, es decir, ahora S_3_1 y S_3_5 estarn activos al mismo tiempo. Token 1 (S_3_1) Si... Entonces... Como S_3_4 no puede activarse, S_3_1 (token 1) permanecer activo. Token 2 (S_3_5) Si... Entonces... La condicin de transicin d es tendr lugar una secuencia verdadera, a S_3_6.

Si la condicin de transicin a es verdadera, tendr lugar una secuencia a S_3_1 y S_3_2. De esta forma se finalizar el token 2 y la cadena volver a procesarse como Single-Token.

542

35006147 10/2013

Lenguaje de ejecucin secuencial SFC

La condicin de transicin a es verdadera, tendr lugar una secuencia a S_3_1 y S_3_2. La condicin de transicin b es tendr lugar una secuencia verdadera y c es falsa, a S_3_4. Como S_3_4 no puede activarse, S_3_1 (token 1) permanecer activo hasta que se realice una secuencia a travs de S_3_2 (token 2) y la transicin b. Si S_4_4 ya no est activo (token 1), entonces se volver a activar a travs del token 2 y ambos tokens continuarn ejecutndose en paralelo (Multi-Token). (La ejecucin conjunta de los dos tokens tambin puede tener lugar en S_4_3.)

35006147 10/2013

543

Lenguaje de ejecucin secuencial SFC

544

35006147 10/2013

Unity Pro Lista de instrucciones (IL) 35006147 10/2013

Captulo 14
Lista de instrucciones (IL)

Lista de instrucciones (IL)


Vista general En este captulo, se describe el lenguaje de programacin Lista de instrucciones (IL) conforme a CEI 61131. Contenido de este captulo Este captulo contiene las siguientes secciones:
Seccin 14.1 14.2 Apartado Generalidades sobre la lista de instrucciones IL Llamada de funciones elementales, mdulos de funcin elementales, mdulos de funcin derivados y procedimientos Pgina 546 569

35006147 10/2013

545

Lista de instrucciones (IL)

Seccin 14.1
Generalidades sobre la lista de instrucciones IL

Generalidades sobre la lista de instrucciones IL


Vista general Esta seccin ofrece una visin general sobre la lista de instrucciones IL. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Generalidades sobre la lista de instrucciones IL Operandos Modificador Operadores Llamada de subrutina Etiquetas y saltos Comentario Pgina 547 551 553 555 565 566 568

546

35006147 10/2013

Lista de instrucciones (IL)

Generalidades sobre la lista de instrucciones IL


Introduccin Con ayuda del lenguaje de programacin Lista de instrucciones (IL) se puede, por ejemplo, llamar bloques de funciones y funciones de forma condicional o incondicional, efectuar asignaciones y realizar saltos dentro de la seccin de forma condicional o incondicional. Instrucciones Una lista de instrucciones est compuesta por una secuencia de instrucciones. Cada instruccin comienza en una fila nueva y est compuesta por: Un operador (vase pgina 555) En ocasiones, un modificador (vase pgina 553) y si fuese necesario, uno o varios operandos (vase pgina 551)

En caso de que se utilicen varios operandos, stos irn separados por comas. Es posible que la instruccin est precedida de una etiqueta (vase pgina 566). Dicha etiqueta ir seguida de dos puntos (:). La instruccin puede ir acompaada de un comentario (vase pgina 568). Ejemplo:

35006147 10/2013

547

Lista de instrucciones (IL)

Estructura del lenguaje de programacin IL es un lenguaje basado en un acumulador; es decir, cada instruccin utiliza o modifica el contenido actual del acumulador (un tipo de memoria intermedia interna). La norma CEI 61131 denomina a este acumulador "Resultado". Por este motivo, una lista de instrucciones debe comenzar siempre por el operando LD ("Comando Cargar en el acumulador"). Ejemplo de una suma
Comando LD 10 ADD 25 ST A Significado El valor 10 se carga en el acumulador. Se suma 25 al contenido del acumulador. El resultado se guarda en la variable A. El contenido de la variable A y el acumulador es ahora 35. Cualquier instruccin adicional funcionar con el contenido "35" del acumulador si no empieza por LD.

Las operaciones de comparacin se refieren siempre al acumulador. El resultado booleano de la comparacin se ubica en el acumulador y por ello es el contenido actual del acumulador. Ejemplo de una comparacin
Comando LD B GT 10 ST A Significado El valor B se carga en el acumulador. El contenido del acumulador se compara con 10. El resultado de la comparacin se guarda en la variable A. Si B es menor o igual a 10, el valor de la variable A y el contenido del acumulador ser 0 (FALSE). Si B es mayor que 10, el valor de la variable A y el contenido del acumulador ser 1 (TRUE).

Tamao de la seccin La longitud de una lnea de instrucciones est limitada a 300 caracteres. La longitud de una seccin IL no est limitada dentro del entorno de programacin. La longitud de una seccin IL slo est limitada por el tamao de la memoria del PLC.

548

35006147 10/2013

Lista de instrucciones (IL)

Sintaxis Los identificadores y palabras clave no distinguen entre maysculas y minsculas. Los espacios en blanco y los tabuladores no ejercen ninguna influencia sobre la sintaxis y se pueden utilizar libremente. Excepcin: no se admiten espacios en blanco ni tabuladores en: Palabras clave Literales Valores Identificadores Variables Combinaciones de limitadores [por ejemplo, (* para comentarios)]

Secuencia de ejecucin La ejecucin de las instrucciones se realiza fila a fila de arriba a abajo. Esta secuencia se puede modificar mediante parntesis. Si, por ejemplo, A, B, C y D tienen los valores 1, 2, 3 y 4, y se calculan de la siguiente forma: LD A ADD B SUB C MUL C ST E el resultado en E ser 0. Si se realiza la operacin: LD A ADD B SUB( LD C MUL D ) ST E el resultado en E ser 9. Comportamiento ante errores Las siguientes condiciones se consideran errores durante la ejecucin de una expresin: Intento de divisin entre 0. Los operandos no poseen el tipo de datos adecuado para la operacin. El resultado de una operacin numrica sobrepasa el rango de valores del tipo de datos.

35006147 10/2013

549

Lista de instrucciones (IL)

Conformidad CEI Para obtener una descripcin de conformidad CEI del lenguaje de programacin IL, consulte Conformidad CEI (vase pgina 745).

550

35006147 10/2013

Lista de instrucciones (IL)

Operandos
Introduccin Los operadores se aplican a los operandos. Un operando puede ser: Una direccin Un literal Una variable Una variable de elementos mltiples Un elemento de una variable de elementos mltiples Una salida de EFB/DFB Una llamada de EFB/DFB.

Tipos de datos El operando y el contenido del acumulador actual deben ser del mismo tipo de datos. Si se procesan operandos de tipos de datos distintos, se debe realizar antes una conversin de tipos. En el ejemplo siguiente, la variable entera i1 se convierte en una variable real antes de sumarse con la variable real r4. LD i1 INT_TO_REAL ADD r4 ST r3 Como excepcin a esta regla, las variables del tipo de datos TIME se pueden multiplicar o dividir por las variables de los tipos de datos INT, DINT, UINT o UDINT. Operaciones permitidas: LD timeVar1 DIV dintVar1 ST timeVar2 LD timeVar1 MUL intVar1 ST timeVar2 LD timeVar1 MUL 10 ST timeVar2 La norma CEI 61131-3 clasifica esta funcin como efecto "no deseado".

35006147 10/2013

551

Lista de instrucciones (IL)

Utilizacin directa de direcciones Las direcciones se pueden utilizar directamente (sin una declaracin previa). En este caso, el tipo de datos de la direccin se asigna directamente. Esta asignacin se realiza mediante el "prefijo de magnitud". En la tabla siguiente, se indican los diversos prefijos de magnitud.
Prefijo de magnitud/smbolo Ejemplo Sin prefijo X B W D F %I10, %CH203.MOD, %CH203.MOD.ERR %MX20 %QB102.3 %KW43 %QD100 %MF100 Tipo de datos BOOL BOOL BYTE INT DINT REAL

Utilizacin de otros tipos de datos Si desea asignar a una direccin otros tipos de datos distintos a los tipos de datos predeterminados, deber hacerlo mediante una declaracin explcita. Esta declaracin de variables se puede realizar de forma cmoda a travs del editor de variables. Los tipos de datos de una direccin no se pueden declarar directamente en una seccin ST (p. ej. declaracin AT %MW1: UINT; no permitida). Las siguientes variables estn declaradas en el editor de variables: UnlocV1: ARRAY [1..10] OF INT; LocV1: ARRAY [1..10] OF INT AT %MW100; LocV2: TIME AT %MW100; Las siguientes llamadas son sintcticamente correctas: %MW200 := 5; LD LocV1[%MW200] ST UnlocV1[2] LD t#3s ST LocV2 Acceso a variables de campo Para el acceso a variables de campo (ARRAY), en la indicacin de ndice slo se admiten literales y variables de tipo INT, DINT, UINT y UDINT. El ndice de un elemento ARRAY puede ser negativo si el lmite inferior del rango es negativo. Ejemplo: Guardado de una variable de campo LD var1[i] ST var2.otto[4]
552
35006147 10/2013

Lista de instrucciones (IL)

Modificador
Introduccin Los modificadores influyen en la ejecucin del operador (consulte "Operadores, pgina 555"). Tabla de modificadores Tabla de modificadores
Modificador N Se utiliza con operandos de tipo de datos BOOL, BYTE, WORD, DWORD Descripcin El modificador N se utiliza para invertir el valor de un operando por cada bit. Ejemplo: En el ejemplo, C es 1, si A es 1 y B es 0. LD A ANDN B ST C El modificador C se utiliza para ejecutar la instruccin correspondiente cuando el valor del acumulador es 1 (TRUE). Ejemplo: En el ejemplo, el salto a START slo se realiza cuando A es 1 (TRUE) y B es 1 (TRUE). LD A AND B JMPC START Si los modificadores C y N se combinan, la instruccin correspondiente se ejecutar nicamente cuando el valor del acumulador sea un 0 booleano (FALSE). Ejemplo: En el ejemplo, el salto a START slo se realiza cuando A es 0 (FALSE) y B es 0 (FALSE). LD A AND B JMPCN START

BOOL

CN

BOOL

35006147 10/2013

553

Lista de instrucciones (IL)

Modificador (

Se utiliza con operandos de tipo de datos Todos

Descripcin El modificador parntesis izquierdo ( se utiliza para restablecer la evaluacin del operando hasta que aparezca el operador parntesis derecho ). La cantidad de operaciones con parntesis derecho debe ser igual a la cantidad de modificadores de parntesis izquierdo. Los parntesis pueden estar intercalados. Ejemplo: En el ejemplo, E es 1 si C o D son 1, y A y B son 1. LD A AND B AND( C OR D ) ST E El ejemplo tambin puede programarse de la siguiente manera: LD A AND B AND( LD C OR D ) ST E

554

35006147 10/2013

Lista de instrucciones (IL)

Operadores
Introduccin Un operador es un smbolo para: Una operacin aritmtica que se va a ejecutar Una operacin lgica ejecutable La llamada a un bloque de funcin elemental, un DFB o una subrutina

Los operadores son genricos, es decir, se adaptan automticamente al tipo de datos de los operandos. Operadores de carga y de memoria Operadores de carga y de memoria del lenguaje de programacin IL:
Operador LD Modificador N (slo con operandos de los tipos de datos BOOL, BYTE, WORD o DWORD) Significado Carga el valor del operando en el acumulador. Operandos Literal, variable, direccin directa con cualquier tipo de datos Descripcin Con LD se carga el valor de un operando en el acumulador. El ancho de datos del acumulador se adecua automticamente al tipo de datos del operando. Esto tambin se aplica a los tipos de datos derivados. Ejemplo: En este ejemplo, el valor de A se carga en el acumulador, se suma con B y el resultado se guarda en E. LD A ADD B ST E

35006147 10/2013

555

Lista de instrucciones (IL)

Operador ST

Modificador N (slo con operandos de los tipos de datos BOOL, BYTE, WORD o DWORD)

Significado

Operandos

Descripcin Con ST se guarda el valor actual del acumulador en el operando. El tipo de datos del operando deber coincidir con el "tipo de datos" del acumulador. Ejemplo: En este ejemplo, el valor de A se carga en el acumulador, se suma con B y el resultado se guarda en E. LD A ADD B ST E Dependiendo de si a ST le sigue o no un operador LD, se seguir calculando con el resultado "antiguo". Ejemplo: En este ejemplo, el valor de A se carga en el acumulador, se suma con B y el resultado se guarda en E. A continuacin, al valor de E (contenido actual del acumulador) se le resta el valor de B y el resultado se guarda en C. LD A ADD B ST E SUB 3 ST C

Variable, direccin Guarda el directa con cualquier valor del acumulador en tipo de datos el operando.

556

35006147 10/2013

Lista de instrucciones (IL)

Operadores de establecimiento y restablecimiento Operadores de establecimiento y restablecimiento del lenguaje de programacin IL:
Operador S Modificador Significado Operandos Descripcin Con S, el operando se ajusta a 1 si el contenido actual del acumulador es un 1 booleano. Ejemplo: En este ejemplo, el valor de A se carga en el acumulador. Si el contenido del acumulador (valor de A) es 1, entonces OUT se establece en 1. LD A S OUT En la mayora de los casos, este operador se utiliza junto con el operador de restablecimiento R. Ejemplo: En este ejemplo se muestra un biestable RS (restablecer dominante), que se controla por medio de las dos variables booleanas A y C. LD A S OUT LD C R OUT Con R, el operando se ajusta a 0 si el contenido actual del acumulador es un 1 booleano. Ejemplo: En este ejemplo, el valor de A se carga en el acumulador. Si el contenido del acumulador (valor de A) es 1, entonces OUT se establece en 0. LD A R OUT En la mayora de los casos, este operador se utiliza junto con el operador de establecimiento S. Ejemplo: En este ejemplo se muestra un biestable SR (establecer dominante), que se controla por medio de las dos variables booleanas A y C. LD A R OUT LD C S OUT

Variable, direccin El operando se ajusta a 1 cuando directa del tipo de el contenido del datos BOOL acumulador es 1.

Variable, direccin El operando se ajusta a 0 cuando directa del tipo de el contenido del datos BOOL acumulador es 1.

35006147 10/2013

557

Lista de instrucciones (IL)

Operadores lgicos Operadores lgicos del lenguaje de programacin IL:


Operador AND Modificador Significado N, N(, ( AND lgico Operandos Literal, variable, direccin directa de los tipos de datos BOOL, BYTE, WORD o DWORD Descripcin Con AND tiene lugar una operacin lgica "Y" entre el contenido del acumulador y el operando. Con los tipos de datos BYTE, WORD y DWORD, esta operacin se lleva a cabo por bits. Ejemplo: En el ejemplo, D ser 1 cuando A, B y C sean 1. LD A AND B AND C ST D Con OR tiene lugar una operacin lgica "O" entre el contenido del acumulador y el operando. Con los tipos de datos BYTE, WORD y DWORD, esta operacin se lleva a cabo por bits. Ejemplo: En el ejemplo, D ser 1 cuando A o B sean 1 y C sea 1. LD A OR B OR C ST D

OR

N, N(, (

OR lgico

Literal, variable, direccin directa de los tipos de datos BOOL, BYTE, WORD o DWORD

558

35006147 10/2013

Lista de instrucciones (IL)

Operador XOR

Modificador Significado N, N(, ( OR exclusivo lgico

Operandos Literal, variable, direccin directa de los tipos de datos BOOL, BYTE, WORD o DWORD

Descripcin Con XOR tiene lugar una operacin de tipo "OR exclusivo" entre el acumulador y el operando. Si se vinculan ms de dos operandos, el resultado ser 1 en caso de que haya una cantidad impar de estados 1, y 0 si hay una cantidad par de estados 1. Con los tipos de datos BYTE, WORD y DWORD, esta operacin se lleva a cabo por bits. Ejemplo: En el ejemplo, D es 1 si A o B es 1. Si A y B tienen el mismo estado (ambos 0 o 1), entonces D es 0. LD A XOR B ST D Si se vinculan ms de dos operandos, el resultado ser 1 en caso de que haya una cantidad impar de estados 1, y 0 si hay una cantidad par de estados 1. Ejemplo: En el ejemplo, F es 1 si los operandos 1 o 3 son 1. F es 0 si los operandos 0, 2 o 4 son 1. LD A XOR B XOR C XOR D XOR E ST F Con NOT se invierte el contenido del acumulador por bits. Ejemplo: En el ejemplo, B ser 1 cuando A sea 0 y B ser 0 cuando Asea 1. LD A NOT ST B

NOT

Contenido del Negacin acumulador de los lgica (complemento) tipos de datos BOOL, BYTE, WORD o DWORD

35006147 10/2013

559

Lista de instrucciones (IL)

Operadores aritmticos Operadores aritmticos del lenguaje de programacin IL:


Operador ADD Modificador Significado ( Adicin Operandos Literal, variable, direccin directa de los tipos de datos INT, DINT, UINT, UDINT, REAL o TIME Descripcin Con ADD se suma el valor del operando al valor del contenido del acumulador. Ejemplo: El ejemplo corresponde a la frmula D = A + B + C. LD A ADD B ADD C ST D Con SUB se resta el valor del operando al contenido del acumulador. Ejemplo: El ejemplo corresponde a la frmula D = A - B - C. LD A SUB B SUB C ST D Con MUL se multiplica el contenido del acumulador por el valor del operando. Ejemplo: El ejemplo corresponde a la frmula D = A * B * C. LD A MUL B MUL C ST D Nota: Para las multiplicaciones con el tipo de datos Time est disponible la funcin MULTIME de la biblioteca obsoleta. Con DIV se divide el contenido del acumulador entre el valor del operando. Ejemplo: El ejemplo corresponde a la frmula D = A / B / C. LD A DIV B DIV C ST D Nota: Para las divisiones con el tipo de datos Time est disponible la funcin DIVTIME de la biblioteca obsoleta.

SUB

Sustraccin

Literal, variable, direccin directa de los tipos de datos INT, DINT, UINT, UDINT, REAL o TIME

MUL

Multiplicacin

Literal, variable, direccin directa de los tipos de datos INT, DINT, UINT, UDINT o REAL

DIV

Divisin

Literal, variable, direccin directa de los tipos de datos INT, DINT, UINT, UDINT o REAL

560

35006147 10/2013

Lista de instrucciones (IL)

Operador MOD

Modificador Significado ( Divisin de mdulo

Operandos Literal, variable, direccin directa de los tipos de datos INT, DINT, UINT o UDINT

Descripcin Con MOD, el valor del primer operando se divide entre el valor del segundo operando, y el resto de la divisin (mdulo) se emite como resultado. Ejemplo: En el siguiente ejemplo: C ser 1 cuando A sea 7 y B sea 2. C ser 1 cuando A sea 7 y B sea -2. C ser -1 cuando A sea -7 y B sea 2. C ser -1 cuando A sea -7 y B sea -2. LD A MOD B ST C

Operadores de comparacin Operadores de comparacin del lenguaje de programacin IL:


Operador GT Modificador Significado ( Comparacin: > Operandos Literal, variable, direccin directa de los tipos de datos BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT o TOD Descripcin Con GT se compara el contenido del acumulador con el contenido del operando. Si el contenido del acumulador es mayor que el contenido del operando, el resultado ser un 1 booleano. Si el contenido del acumulador es menor o igual que el contenido del operando, el resultado ser un 0 booleano. Ejemplo: En el ejemplo, el valor de D ser 1 cuando A sea mayor que 10; de lo contrario, el valor de D ser 0. LD A GT 10 ST D Con GE se compara el contenido del acumulador con el contenido del operando. Si el contenido del acumulador es mayor o igual que el contenido del operando, el resultado ser un 1 booleano. Si el contenido del acumulador es menor que el contenido del operando, el resultado ser un 0 booleano. Ejemplo: En el ejemplo, el valor de D ser 1 cuando A sea mayor o igual que 10; de lo contrario, el valor de D ser 0. LD A GE 10 ST D

GE

Comparacin: >=

Literal, variable, direccin directa de los tipos de datos BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT o TOD

35006147 10/2013

561

Lista de instrucciones (IL)

Operador EQ

Modificador Significado ( Comparacin: =

Operandos Literal, variable, direccin directa de los tipos de datos BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT o TOD

Descripcin Con EQ se compara el contenido del acumulador con el contenido del operando. Si el contenido del acumulador es igual que el contenido del operando, el resultado ser un 1 booleano.Si el contenido del acumulador no es igual que el contenido del operando, el resultado ser un 0 booleano. Ejemplo: En el ejemplo, el valor de D ser 1 cuando A sea igual que 10; de lo contrario, el valor de D ser 0. LD A EQ 10 ST D Con NE se compara el contenido del acumulador con el contenido del operando. Si el contenido del acumulador no es igual que el contenido del operando, el resultado ser un 1 booleano. Si el contenido del acumulador es igual que el contenido del operando, el resultado ser un 0 booleano. Ejemplo: En el ejemplo, el valor de D ser 1 cuando A no sea igual que 10; de lo contrario, el valor de D ser 0. LD A NE 10 ST D Con LE se compara el contenido del acumulador con el contenido del operando. Si el contenido del acumulador es menor o igual que el contenido del operando, el resultado ser un 1 booleano. Si el contenido del acumulador es mayor que el contenido del operando, el resultado ser un 0 booleano. Ejemplo: En el ejemplo, el valor de D ser 1 cuando A sea menor o igual que 10; de lo contrario, el valor de D ser 0. LD A LE 10 ST D

NE

Comparacin: <>

Literal, variable, direccin directa de los tipos de datos BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT o TOD

LE

Comparacin: <=

Literal, variable, direccin directa de los tipos de datos BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT o TOD

562

35006147 10/2013

Lista de instrucciones (IL)

Operador LT

Modificador Significado ( Comparacin: <

Operandos Literal, variable, direccin directa de los tipos de datos BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT o TOD

Descripcin Con LT se compara el contenido del acumulador con el contenido del operando. Si el contenido del acumulador es menor que el contenido del operando, el resultado ser un 1 booleano. Si el contenido del acumulador es mayor o igual que el contenido del operando, el resultado ser un 0 booleano. Ejemplo: En el ejemplo, el valor de D ser 1 cuando A sea menor que 10; de lo contrario, el valor de D ser 0. LD A LT 10 ST D

Operadores de llamada Operadores de llamada del lenguaje de programacin IL:


Operador CAL Modificador Significado C, CN (slo si el contenido del acumulador es de tipo BOOL) Llamada de un bloque de funcin, DFB o subrutina Operandos Nombre de instancia del bloque de funcin, DFB o subrutina Descripcin Con CAL se llama un bloque de funcin, un DFB o una subrutina de forma condicional o incondicional. Consulte tambin "Llamada de bloques de funciones elementales y bloques de funciones derivados, pgina 575" y "Llamada de subrutina, pgina 565". Con el nombre de funcin se ejecuta una funcin concreta. Consulte tambin "Llamada de funciones elementales, pgina 570". Con el nombre de procedimiento se ejecuta un procedimiento concreto. Consulte tambin "Llamada de procedimientos, pgina 587".

FUNCTIO NNAME

Ejecucin de una funcin

Literal, variable, direccin directa (el tipo de datos depende de la funcin) Literal, variable, direccin directa (el tipo de datos depende del procedimiento)

PROCEDU RENAME

Ejecucin de un procedimiento

35006147 10/2013

563

Lista de instrucciones (IL)

Operadores de estructuracin Operadores de estructuracin del lenguaje de programacin IL:


Operador JMP Modificador Significado C, CN (slo si el contenido del acumulador es de tipo BOOL) C, CN (slo si el contenido del acumulador es de tipo BOOL) Salto a la etiqueta Operandos LABEL Descripcin Con JMP se ejecuta un salto condicional o incondicional a una etiqueta. Consulte tambin "Etiquetas y saltos, pgina 566".

RET

Retorno a la unidad organizativa del programa inmediatamente superior

Los operadores RETURN pueden usarse en DFB (bloques de funciones derivados) y en SR (subrutinas). Los operadores RETURN no pueden usarse en el programa principal. En un DFB, un operador RETURN fuerza el retorno al programa que llam al DFB. El resto de la seccin DFB que contiene el operador RETURN no se ejecuta. Las siguientes secciones del DFB no se ejecutan. El programa que llam al DFB se ejecutar despus de volver del DFB. Si otro DFB llama al DFB, el DFB llamado se ejecutar despus de volver.
En un SR, un operador RETURN fuerza el

retorno al programa que llam al SR. El resto de la seccin SR que contiene el operador RETURN no se ejecuta. El programa que llam al SR se ejecutar despus de volver del SR. ) Procesamiento de operaciones retenidas Con el parntesis derecho ) se inicia el procesamiento del operador restablecido. La cantidad de operaciones con parntesis derecho debe ser igual a la cantidad de modificadores de parntesis izquierdo. Los parntesis pueden estar intercalados. Ejemplo: En el ejemplo, E ser 1 cuando C y/o D sean 1 y A y B sean 1. LD A AND B AND( C OR D ) ST E

564

35006147 10/2013

Lista de instrucciones (IL)

Llamada de subrutina
Llamada de subrutina La llamada de una subrutina est formada por el operador CAL, seguido del nombre de la seccin de subrutina y una lista de parmetros vaca (opcional). Las llamadas de subrutinas no devuelven ningn valor. El subprograma invocante debe encontrarse en la misma tarea que la seccin IL invocante. Tambin es posible llamar subrutinas ubicadas dentro de otras subrutinas. P. ej. ST A CAL NombreSubrutina () LD B O bien ST A CAL NombreSubrutina LD B Las llamadas de subrutina son una ampliacin de la norma CEI 61131-3 y se deben habilitar de forma explcita. En las secciones de accin SFC slo se admiten llamadas de subrutina si est habilitada la modalidad Multi-Token.

35006147 10/2013

565

Lista de instrucciones (IL)

Etiquetas y saltos
Introduccin Las etiquetas sirven como punto de destino de los saltos. Propiedades de las etiquetas: Propiedades de las etiquetas: Las etiquetas deben ser siempre el primer elemento de una fila. Las marcas deben ser unvocas en toda la seccin sin que se diferencie entre maysculas y minsculas. Las etiquetas pueden tener una extensin mxima de 32 caracteres. Las etiquetas deben cumplir la nomenclatura CEI. Las etiquetas se separan con dos puntos : de las instrucciones siguientes. Las etiquetas slo pueden aparecer al principio de una "expresin"; de lo contrario, podra haber un valor indefinido en la batera. Ejemplo: start: LD A AND B OR C ST D JMP start

Propiedades de los saltos: Propiedades de los saltos Las operaciones JMP ejecutan de forma condicional o incondicional un salto hasta una etiqueta. JMP puede utilizarse con los modificadores C y CN (slo cuando el contenido actual del acumulador es del tipo de datos BOOL). Los saltos se pueden realizar dentro de secciones de un programa y de un DFB. Los saltos slo se pueden realizar dentro de la seccin actual. Los destinos del salto posibles son: La primera instruccin LD de una llamada de EFB o de DFB con asignacin de parmetros de entrada (consulte start2), Una instruccin LD "normal" (consulte start1), Una instruccin CAL, que no funciona con asignacin de parmetros de entrada (consulte start3), Una instruccin JMP (consulte start4), El final de una lista de instrucciones (consulte start5).

566

35006147 10/2013

Lista de instrucciones (IL)

Ejemplo start2: LD A ST counter.CU LD B ST counter.R LD C ST counter.PV CAL counter JMPCN start4 start1: LD A AND B OR C ST D JMPC start3 LD A ADD E JMP start5 start3: CAL counter ( CU:=A R:=B PV:=C ) JMP start1 LD A OR B OR C ST D start4: JMPC start1 LD C OR B start5: ST A

35006147 10/2013

567

Lista de instrucciones (IL)

Comentario
Descripcin En el editor IL, los comentarios comienzan con la cadena (* y terminan con *). Entre estas dos cadenas se puede introducir cualquier comentario. Segn la normativa CEI 61131-3, no se puede intercalar comentarios. Sin embargo, si stos se intercalan, deben habilitarse de forma explcita.

568

35006147 10/2013

Lista de instrucciones (IL)

Seccin 14.2
Llamada de funciones elementales, mdulos de funcin elementales, mdulos de funcin derivados y procedimientos

Llamada de funciones elementales, mdulos de funcin elementales, mdulos de funcin derivados y procedimientos
Vista general Llamada de funciones elementales, mdulos de funcin elementales, mdulos de funcin derivados y procedimientos en el lenguaje de programacin IL. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Llamada de funciones elementales Llamada de bloques de funciones elementales y bloques de funciones derivados Llamada de procedimientos Pgina 570 575 587

35006147 10/2013

569

Lista de instrucciones (IL)

Llamada de funciones elementales


Aplicacin de las funciones Las funciones elementales estn disponibles en forma de bibliotecas. La lgica de las funciones se define en el lenguaje de programacin C y no se puede modificar en el editor IL. Las funciones no tienen estados internos. Si los valores de entrada son los mismos, el valor de salida es el de cada ejecucin de la funcin. Por ejemplo, la suma de dos valores siempre da el mismo resultado. En el caso de algunas funciones elementales, se puede ampliar la cantidad de entradas. Las funciones elementales tienen un nico valor de retorno (salida). Parmetros Para transferir valores a una funcin o aplicarlos desde ella, es necesario utilizar varias entradas y una salida. A stas se les llama parmetros formales. Los estados de proceso actuales se transmiten a los parmetros formales. A stos se les llama parmetros reales. Como parmetros reales para las entradas de la funcin se pueden utilizar: Variable Direccin Literal

Como parmetros reales para las salidas de la funcin se pueden utilizar: Variable Direccin El tipo de datos de los parmetros reales debe coincidir con el tipo de datos de los parmetros formales. Las nicas excepciones son los parmetros formales genricos, cuyo tipo de datos est condicionado por el parmetro real. En el caso de los parmetros formales genricos ANY_BIT se pueden utilizar los parmetros reales de los tipos de datos INT y DINT (no UINT ni UDINT). Se trata de una ampliacin de la norma CEI 61131-3, que se debe habilitar de forma explcita. Ejemplo: Se admite: AND (AnyBitParam := IntVar1, AnyBitParam2 := IntVar2) No se admite: AND_WORD (WordParam1 := IntVar1, WordParam2 := IntVar2) (En este caso se debe utilizar AND_INT). AND_ARRAY_WORD (ArrayInt, ...) (En este caso se debe realizar una conversin de tipo explcita a travs de INT_ARR_TO_WORD_ARR (...)).
570
35006147 10/2013

Lista de instrucciones (IL)

En el caso de las llamadas formales, no es necesario en principio asignar un valor a todos los parmetros formales. Los tipos de parmetros formales a los que debe asignarse un valor estn en la tabla siguiente:
Tipo de parmetro Entrada VAR_IN_OUT Salida + / EDT + STRING + ARRAY + ANY_ARRAY IODDT + + + STRUCT FB + + / / ANY + -

Parmetro real requerido obligatoriamente Parmetro real no requerido obligatoriamente No es aplicable

Si no se asigna un valor a un parmetro formal, durante la ejecucin de la funcin se utilizar el valor inicial. Si no se ha definido ningn valor inicial, se aplicar el valor predeterminado (0). Notas sobre la programacin Tenga en cuenta las siguientes indicaciones sobre la programacin: Las funciones slo se ejecutan si la entrada EN es 1 o si la entrada EN no se utiliza (consulte tambin EN and ENO (vase pgina 574)). Todas las funciones genricas estn sobrecargadas. Es decir, las funciones se pueden llamar con o sin la indicacin del tipo de datos. P. ej. LD i1 ADD i2 ST i3 es idntico a LD i1 ADD_INT i2 ST i3 En IL, al contrario que en ST, las funciones no son intercalables. Hay dos formas de llamar una funcin: Llamada formal (llamada de una funcin con nombres de parmetros formales) Llamada informal (llamada de una funcin sin nombres de parmetros formales)

35006147 10/2013

571

Lista de instrucciones (IL)

Llamada formal Con este tipo de llamada (llamada con nombres de parmetros formales), las funciones se llaman por medio de una secuencia de instrucciones compuesta por el nombre de la funcin seguido de una lista entre parntesis con asignaciones de valores (parmetros reales) a los parmetros formales. La secuencia en la que se enumeran los parmetros formales no es significativa. La lista de los parmetros reales se puede cambiar de lnea automticamente despus de cada coma. Tras la ejecucin de la funcin, el resultado se carga en el acumulador y se puede almacenar con ST. Con este tipo de llamada se puede utilizar EN y ENO. Llamada de una funcin con nombres de parmetros formales:

O bien LIMIT ( MN:=0, IN:=var1, MX:=var2 ) ST out Llamada de la misma funcin en FBD:

Con la llamada formal no es necesario asignar un valor a todos los parmetros formales (consulte tambin Parameter (vase pgina 570)). LIMIT (MN:=0, IN:=var1) ST out Llamada de la misma funcin en FBD:

572

35006147 10/2013

Lista de instrucciones (IL)

Llamada informal Con este tipo de llamada (llamada sin nombres de parmetros formales), las funciones se llaman por medio de una secuencia de instrucciones compuesta por la carga del primer parmetro real en el acumulador, el nombre de la funcin y una lista opcional de parmetros reales. La secuencia en la que se enumeran los parmetros reales es significativa. La lista de los parmetros reales no se puede cambiar de lnea. Tras la ejecucin de la funcin, el resultado se carga en el acumulador y se puede almacenar con ST. Con este tipo de llamada no se puede utilizar EN ni ENO. Llamada de una funcin con nombres de parmetros formales:

Llamada de la misma funcin en FBD:

NOTA: Tenga en cuenta que con las llamadas informales, la lista de parmetros reales no se puede escribir entre parntesis. En este caso, la norma CEI 61133-3 requiere que se omitan los parntesis para indicar que el primer parmetro real no forma parte de la lista. Llamada informal no vlida de una funcin:

Si el valor que se va a procesar (primer parmetro real) ya se encuentra en el acumulador, se puede suprimir la instruccin de carga. LIMIT B,C ST result Si va a continuar procesando el resultado inmediatamente, puede suprimir la instruccin de almacenamiento. LD A LIMIT_REAL B,C MUL E Si la funcin que se va a ejecutar slo contiene una entrada, el nombre de la funcin no ir seguido por ninguna lista de parmetros reales.

35006147 10/2013

573

Lista de instrucciones (IL)

Llamada de una funcin con un parmetro real:

Llamada de la misma funcin en FBD:

EN y ENO En todas las funciones se puede configurar una entrada EN y una salida ENO. Si el valor de EN es "0", al llamar la funcin no se ejecutarn los algoritmos definidos por dicha funcin, y ENO se establecer en "0". Si el valor de EN es "1", al llamar la funcin se ejecutarn los algoritmos definidos por dicha funcin. Una vez que se han ejecutado los algoritmos correctamente, el valor de ENO pasa a "1". Si se produce un error al ejecutar los algoritmos, ENO ser "0". Si el pin EN no tiene asignado ningn valor, al llamar el FFB, se ejecuta el algoritmo definido por el FFB (lo mismo ocurre si EN es igual a "1"). Si ENO est establecido en "0" (porque EN=0 o debido a un error en la ejecucin), la salida de la funcin se establecer en "0". El comportamiento en la salida de la funcin no depende de si la funcin se ha llamado sin EN/ENO o con EN = 1. Si se va a utilizar EN/ENO, la llamada de la funcin deber ser formal. LIMIT (EN:=1, MN:=0, IN:=var1, MX:=5, ENO=>var2) ST out Llamada de la misma funcin en FBD:

574

35006147 10/2013

Lista de instrucciones (IL)

Llamada de bloques de funciones elementales y bloques de funciones derivados


Bloque de funcin elemental Los bloques de funciones elementales poseen estados internos. Si las entradas tienen los mismos valores, el valor de la salida puede ser otro durante las operaciones individuales. Por ejemplo, con un contador aumenta el valor de la salida. Los bloques de funciones pueden disponer de varios valores de retorno (salidas). Bloque de funcin derivado Los bloques de funciones derivados (DFB) presentan las mismas propiedades que los bloques de funciones elementales. Sin embargo, el usuario los crea en los lenguajes de programacin FBD, LD, IL o ST. Parmetro Para transferir valores a un bloque de funciones o aplicarlos desde l, es necesario utilizar entradas y salidas. A stas se les llama parmetros formales. Los estados de proceso actuales se transmiten a los parmetros formales. Se conocen como parmetros reales. Como parmetros reales para las entradas del bloque de funciones se pueden utilizar: Variable Direccin Literal

Como parmetros reales para las salidas del bloque de funciones se pueden utilizar: Variable Direccin

El tipo de datos de los parmetros reales debe coincidir con el tipo de datos de los parmetros formales. Las nicas excepciones son los parmetros formales genricos, cuyo tipo de datos est condicionado por el parmetro real. Excepcin: En el caso de los parmetros formales genricos ANY_BIT se pueden utilizar los parmetros reales INT y DINT (no UINT ni UDINT). Se trata de una ampliacin de la norma CEI 61131-3, que se debe habilitar de forma explcita. Ejemplo: Se admite: AND (AnyBitParam := IntVar1, AnyBitParam2 := IntVar2)

35006147 10/2013

575

Lista de instrucciones (IL)

No se admite: AND_WORD (WordParam1 := IntVar1, WordParam2 := IntVar2) (En este caso se debe utilizar AND_INT). AND_ARRAY_WORD (ArrayInt, ...) (En este caso se debe realizar una conversin de tipo explcita a travs de INT_ARR_TO_WORD_ARR (...)). En principio, no es necesario asignar un valor a todos los parmetros formales. Los tipos de parmetros formales a los que debe asignarse un valor estn en la tabla siguiente:
Tipo de parmetro EFB: Entrada EFB: VAR_IN_OUT EFB: Salida DFB: Entrada DFB: Salida + / EDT + STRING + + ARRAY + + + + ANY_ARRAY IODDT + + + / / + + / + / DDT DE DISPOSITIVO / / / + + / FB / / / / / / ANY + + + +

DFB: VAR_IN_OUT +

Parmetro real requerido obligatoriamente Parmetro real no requerido obligatoriamente No es aplicable

Si no se asigna un valor a un parmetro formal, durante la ejecucin del bloque de funciones se utiliza el valor inicial. Si no se ha definido ningn valor inicial, se aplicar el valor predeterminado (0). Si un parmetro formal no tiene asignado ningn valor y el bloque de funciones/DFB se ha instanciado varias veces, las instancias que se ejecuten a partir de ese momento trabajarn con el valor antiguo.

576

35006147 10/2013

Lista de instrucciones (IL)

Variables pblicas Adems de las entradas y salidas, algunos bloques de funciones tambin disponen de las denominadas variables pblicas. Estas variables sirven para transmitir valores estadsticos (valores no influidos por el proceso) al bloque de funciones. Se utilizan para la parametrizacin del bloque de funciones. Las variables pblicas son una ampliacin de la norma CEI 61131-3. La asignacin de valores a las variables pblicas se realiza a travs de sus valores iniciales o a travs de instrucciones de carga y almacenamiento. Ejemplo:

La lectura de los valores de las variables pblicas se realiza a travs del nombre de instancia del bloque de funciones y a travs del nombre de las variables pblicas. Ejemplo:

Variables privadas Adems de las entradas, las salidas y las variables pblicas, algunos bloques de funciones tambin disponen de las denominadas variables privadas. Al igual que las variables pblicas, las privadas se utilizan para transferir valores estadsticos (valores no influidos por el proceso) al bloque de funciones. El programa de usuario no puede acceder a las variables privadas. Slo se puede acceder a este tipo de variables mediante la tabla de animacin. NOTA: Los DFB intercalados se declaran como variables privadas del DFB principal. Por tanto, tampoco se puede acceder a sus variables a travs de la programacin, sino a travs de la tabla de animacin. Las variables privadas son una ampliacin de la norma CEI 61131-3.

35006147 10/2013

577

Lista de instrucciones (IL)

Notas sobre la programacin Tenga en cuenta las siguientes indicaciones sobre la programacin: Las funciones slo se ejecutan si la entrada EN es 1 o si la entrada EN no se utiliza (consulte tambin EN and ENO (vase pgina 584)). La asignacin de variables a tipos de salida ANY o ARRAY debe realizarse con el operador => (consulte tambin Formal Form of CAL with a List of the Input Parameters (vase pgina 578)). No es posible realizar una asignacin fuera de la llamada de bloque de funciones. La instruccin My_Var := My_SAH.OUT no es vlida si la salida OUT del bloque de funciones SAH es del tipo ANY. La instruccin Cal My_SAH (OUT=>My_Var) es, por el contrario, vlida. Si se utilizan variables VAR_IN_OUT (vase pgina 585), se imponen condiciones especiales. La utilizacin de los bloques de funciones consta de dos partes: Declaracin (vase pgina 578) Llamada del bloque de funciones

Hay cuatro formas de llamar un bloque de funciones: Forma formal de CAL con lista de los parmetros de entrada (vase pgina 578) (llamada con nombres de parmetros formales) En este caso es posible asignar variables a las salidas mediante el operador =>. Forma informal de CAL con lista de los parmetros de entrada (vase pgina 580) (llamada sin nombres de parmetros formales) CAL y carga/almacenamiento (vase pgina 581) de los parmetros de entrada Uso de los operadores de entrada (vase pgina 582) Las instancias de bloques de funciones/DBF se pueden llamar varias veces, excepto las instancias de EFB de comunicaciones, que slo se pueden llamar una nica vez (consulte Multiple Call of a Function Block Instance (vase pgina 583)).

Declaracin Antes de llamar un bloque de funciones es necesario declararlo primero en el editor de variables. Forma formal de CAL con lista de parmetros de entrada Con este tipo de llamada (llamada con nombres de parmetros formales), los bloques de funciones se llaman por medio de una instruccin CAL seguida del nombre de instancia del bloque de funciones y una lista entre parntesis de asignaciones de parmetros reales a los parmetros formales. La asignacin de los parmetros formales de entrada se realiza mediante la asignacin :=, y la asignacin de los parmetros formales de salida, mediante la asignacin =>. La secuencia en la que se enumeran los parmetros formales de entrada y de salida no es significativa. La lista de los parmetros reales se puede continuar inmediatamente despus de cada coma. Con este tipo de llamada se puede utilizar EN y ENO.

578

35006147 10/2013

Lista de instrucciones (IL)

Llamada de un bloque de funciones en forma formal de CAL con lista de los parmetros de entrada:

O bien CAL MY_COUNT (CU:=var1, R:=reset, PV:=100, Q=>out, CV=>current) Llamada del mismo bloque de funciones en FBD:

No es necesario asignar un valor a todos los parmetros formales (consulte tambin Parameter (vase pgina 575)). CAL MY_COUNT (CU:=var1, R:=reset, Q=>out, CV=>current) Llamada del mismo bloque de funciones en FBD:

El valor de una salida de bloque de funciones se puede almacenar cargando la salida del bloque de funciones (nombre de instancia del bloque de funciones y parmetro formal separado por un punto) y guardndola a continuacin. Carga y almacenamiento de las salidas del bloque de funciones:

35006147 10/2013

579

Lista de instrucciones (IL)

Forma informal de CAL con lista de parmetros de entrada Con este tipo de llamada (llamada sin nombres de parmetros formales), los bloques de funciones se llaman por medio de una instruccin CAL seguida del nombre de instancia del bloque de funciones y una lista entre parntesis de los parmetros reales de las entradas y las salidas. La secuencia en la que se enumeran los parmetros reales en una llamada de bloque de funciones es significativa. La lista de los parmetros reales no se puede cambiar de lnea. Con este tipo de llamada no se puede utilizar EN ni ENO. Llamada de un bloque de funciones en forma informal de CAL con lista de los parmetros de entrada:

Llamada del mismo bloque de funciones en FBD:

Con la llamada informal tampoco es necesario asignar un valor a todos los parmetros formales (consulte tambin Parameter (vase pgina 575)). Se trata de una ampliacin de la norma CEI 61131-3, que se debe habilitar de forma explcita. Para excluir un parmetro se utiliza un campo de parmetros vaco. Llamada con campo de parmetros vaco: CAL MY_COUNT (var1, , 100, out, current) Llamada del mismo bloque de funciones en FBD:

Si se suprimen los parmetros formales al final, no se tiene que utilizar un campo de parmetros vaco. MY_COUNT (var1, reset)

580

35006147 10/2013

Lista de instrucciones (IL)

Llamada del mismo bloque de funciones en FBD:

CAL y carga/almacenamiento de los parmetros de entrada Los bloques de funciones se pueden llamar mediante una lista de instrucciones compuesta por la carga de los parmetros reales, seguida por el almacenamiento en los parmetros formales y la instruccin CAL. La secuencia en la que se cargan y se guardan los parmetros no es significativa. Entre la primera instruccin de carga de los parmetros reales y la llamada del bloque de funciones slo pueden aparecer instrucciones de carga y almacenamiento para el bloque de funciones que se vaya a configurar en ese momento. Todas las dems instrucciones no se admiten en esta posicin. No es necesario asignar un valor a todos los parmetros formales (consulte tambin Parameter (vase pgina 575)). CAL con carga/almacenamiento de los parmetros de entrada:

35006147 10/2013

581

Lista de instrucciones (IL)

Uso de los operadores de entrada Los bloques de funciones se pueden llamar mediante una lista de instrucciones compuesta por la carga de los parmetros reales, el almacenamiento en los parmetros formales y un operador de entrada. La secuencia en la que se cargan y se guardan los parmetros no es significativa. Entre la primera instruccin de carga de los parmetros reales y el operador de entrada del bloque de funciones slo pueden aparecer instrucciones de carga y almacenamiento para el bloque de funciones que se vaya a configurar en ese momento. Todas las dems instrucciones no se admiten en esta posicin. Con este tipo de llamada no se puede utilizar EN ni ENO. No es necesario asignar un valor a todos los parmetros formales (consulte tambin Parameter (vase pgina 575)). En la tabla siguiente figuran los operadores de entrada posibles para los distintos bloques de funciones. No hay disponible ningn otro operador de entrada.
Operador de entrada S1, R S, R1 CLK CLK CU, R, PV CD, LD, PV CU, CD, R, LD, PV IN, PT IN, PT IN, PT Tipo de FB SR RS R_TRIG F_TRIG CTU_INT, CTU_DINT, CTU_UINT, CTU_UDINT CTD_INT, CTD_DINT, CTD_UINT, CTD_UDINT CTUD_INT, CTUD_DINT, CTUD_UINT, CTUD_UDINT TP TON TOF

Uso de los operadores de entrada:

582

35006147 10/2013

Lista de instrucciones (IL)

Llamada de un bloque de funciones sin entradas Aunque el bloque de funciones no tenga ninguna entrada o no sea necesario parametrizar sus entradas, hay que llamar el bloque de funciones para poder utilizar sus salidas. De lo contrario, se transmitirn los valores iniciales de las salidas, es decir "0". P. ej. Llamada de bloques de funciones en el lenguaje de programacin IL: CAL MY_CLOCK ()CAL MY_COUNT (CU:=MY_CLOCK.CLK1, R:=reset, PV:=100) LD MY_COUNT.Q ST out LD MY_COUNT.CV ST current Llamada del mismo bloque de funciones en FBD:

Llamada mltiple de una instancia de bloque de funciones Las instancias de bloques de funciones/DBF se pueden llamar varias veces, excepto las instancias de EFB de comunicaciones, que slo se pueden llamar una nica vez. La llamada mltiple de una misma instancia de bloque de funciones/DFB resulta conveniente, por ejemplo, en los siguientes casos: Cuando el bloque de funciones/DFB no posee ningn valor interno o los valores internos no son necesarios para continuar el procesamiento. En este caso, la llamada mltiple de una misma instancia de bloque de funciones/DFB permite ahorrar espacio en memoria, ya que el cdigo del bloque de funciones/DFB slo se carga una nica vez. El bloque de funciones/DFB se procesa, por as decirlo, como una funcin. Cuando el bloque de funciones/DFB contiene valores internos y stos se deben modificar en varios puntos del programa, por ejemplo, si el valor de un contador se debe aumentar en diversos puntos del programa. En este caso, con la llamada mltiple de la misma instancia de bloque de funciones/DFB no es necesario guardar los resultados intermedios para continuar el procesamiento en otra parte del programa.

35006147 10/2013

583

Lista de instrucciones (IL)

EN y ENO En todos los bloques de funciones/DFB se puede configurar una entrada EN y una salida ENO. Si el valor de EN es "0", al llamar el bloque de funciones/DFB no se ejecutarn los algoritmos definidos por dicho bloque de funciones/DFB, y ENO se establecer en "0". Si el valor de EN es "1", al llamar el bloque de funciones/DFB se ejecutarn los algoritmos definidos por dicho bloque de funciones/DFB. Una vez que se han ejecutado los algoritmos correctamente, el valor de ENO pasa a "1". Si se produce un error al ejecutar estos algoritmos, ENO pasa a "0". Si el pin EN no tiene asignado ningn valor, al llamar el FFB, se ejecuta el algoritmo definido por el FFB (lo mismo ocurre si EN es igual a "1"). Si ENO se establece en "0" (debido a que EN es igual a 0 o a un error producido durante la ejecucin), las salidas del bloque de funciones/DFB conservan el estado que tenan en el ltimo ciclo ejecutado correctamente. El comportamiento en la salida de los bloques de funciones/DFB no depende de si los bloques de funciones/DFB se han llamado sin EN/ENO o con EN = 1. Si se va a utilizar EN/ENO, la llamada del bloque de funciones deber ser formal. La asignacin de una variable a ENO debe realizarse con el operador =>. CAL MY_COUNT (EN:=1, CU:=var1, R:=reset, PV:=value, ENO=>error, Q=>out, CV=>current) ; Llamada del mismo bloque de funciones en FBD:

584

35006147 10/2013

Lista de instrucciones (IL)

Variable VAR_IN_OUT A menudo, los bloques de funciones se utilizan para leer una variable en la entrada (variables de entrada), procesarla y volver a emitir los valores modificados de la misma variable (variables de salida). Este caso especfico de variable de entrada/salida tambin se denomina variable VAR_IN_OUT. Tenga en cuenta las siguientes particularidades al utilizar bloques de funciones/DFB con variables VAR_IN_OUT: Hay que asignar obligatoriamente una variable a todas las entradas VAR_IN_OUT. No se puede asignar ningn literal ni ninguna constante a las entradas VAR_IN_OUT. No es posible asignar ningn valor a las salidas VAR_IN_OUT. Las variables VAR_IN_OUT no se pueden utilizar fuera de la llamada de bloque. Llamada de un bloque de funciones con variable VAR_IN_OUT en IL: CAL MY_FBLOCK(IN1:=V1, IN2:=V2, IO1:=V3, OUT1=>V4, OUT2=>V5) Llamada del mismo bloque de funciones en FBD:

Las variables VAR_IN_OUT no se pueden utilizar fuera de la llamada de un bloque de funciones. Por este motivo, las siguientes llamadas de bloque de funciones no son vlidas: Llamada no vlida, ejemplo 1:
LD V1 CAL InOutFB Carga de la variable V1 en el acumulador. Llamada de un bloque de funciones con el parmetro VAR_IN_OUT. El acumulador contiene ahora una referencia a un parmetro VAR_IN_OUT. Operacin AND del contenido del acumulador con la variable V2. Error: No se puede realizar la operacin porque no es posible acceder al parmetro VAR_IN_OUT (contenido del acumulador) fuera de la llamada del bloque de funciones.

AND V2

35006147 10/2013

585

Lista de instrucciones (IL)

Llamada no vlida, ejemplo 2:


LD V1 AND InOutFB.inout Carga de la variable V1 en el acumulador. Operacin AND del contenido del acumulador con la referencia a un parmetro VAR_IN_OUT. Error: No se puede realizar la operacin porque no es posible acceder al parmetro VAR_IN_OUT fuera de la llamada del bloque de funciones.

Por el contrario, las siguientes llamadas del bloque de funciones son siempre vlidas: Llamada vlida, ejemplo 1:
CAL InOutFB (IN1:=V1,inout:=V2 Llamada de un bloque de funciones con el parmetro VAR_IN_OUT y asignacin del parmetro real dentro de la llamada del bloque de funciones.

Llamada vlida, ejemplo 2:


LD V1 ST InOutFB.IN1 CAL InOutFB(inout:=V2) Carga de la variable V1 en el acumulador. Asignacin del contenido del acumulador al parmetro IN1 del bloque de funciones IN1. Llamada del bloque de funciones con asignacin del parmetro real (V2) al parmetro VAR_IN_OUT.

586

35006147 10/2013

Lista de instrucciones (IL)

Llamada de procedimientos
Procedimiento Los procedimientos estn disponibles en forma de bibliotecas. La lgica de los procedimientos se define en el lenguaje de programacin C y no se puede modificar en el editor IL. Los procedimientos, al igual que las funciones, no tienen estados internos. Si los valores de entrada son los mismos, el valor de salida es el mismo en cada ejecucin del procedimiento. Por ejemplo, la suma de dos valores siempre da el mismo resultado. Al contrario de lo que sucede con las funciones, los procedimientos no emiten valores de retorno y admiten variables VAR_IN_OUT. Los procedimientos son una ampliacin de la norma CEI 61131-3 y se deben habilitar de forma explcita. Parmetro Para transferir valores a un procedimiento o aplicarlos desde l, es necesario utilizar entradas y salidas. A stas se les llama parmetros formales. Los estados de proceso actuales se transmiten a los parmetros formales. A stos se les llama parmetros reales. Como parmetros reales para las entradas de un procedimiento se pueden utilizar: Variable Direccin Literal

Como parmetros reales para las salidas de un procedimiento se pueden utilizar: Variable Direccin

El tipo de datos del parmetro real debe coincidir con el tipo de datos del parmetro formal. Las nicas excepciones son los parmetros formales genricos, cuyo tipo de datos est condicionado por el parmetro real. En el caso de los parmetros formales genricos ANY_BIT se pueden utilizar los parmetros reales de los tipos de datos INT y DINT (no UINT ni UDINT). Se trata de una ampliacin de la norma CEI 61131-3, que se debe habilitar de forma explcita. Ejemplo: Se admite: AND (AnyBitParam := IntVar1, AnyBitParam2 := IntVar2)

35006147 10/2013

587

Lista de instrucciones (IL)

No se admite: AND_WORD (WordParam1 := IntVar1, WordParam2 := IntVar2) (En este caso se debe utilizar AND_INT). AND_ARRAY_WORD (ArrayInt, ...) (En este caso se debe realizar una conversin de tipo explcita a travs de INT_ARR_TO_WORD_ARR (...)). En el caso de las llamadas formales, no es necesario en principio asignar un valor a todos los parmetros formales. En la tabla encontrar los tipos de parmetros formales que s lo requieren obligatoriamente.
Tipo de parmetro Entrada VAR_IN_OUT Salida + / EDT + STRING + ARRAY + + ANY_ARRAY IODDT + + + + STRUCT FB + + + / / ANY + + +

Parmetro real requerido obligatoriamente Parmetro real no requerido obligatoriamente No es aplicable

Si no se asigna un valor a un parmetro formal, durante la ejecucin del bloque de funciones se utilizar el valor inicial. Si no se ha definido ningn valor inicial, se aplicar el valor predeterminado (0). Notas sobre la programacin Tenga en cuenta las siguientes indicaciones sobre la programacin: Los procedimientos slo se ejecutan si la entrada EN = 1 o si la entrada EN no se utiliza (consulte tambin EN and ENO (vase pgina 592)). Si se utilizan variables VAR_IN_OUT (vase pgina 592), se imponen condiciones especiales. Hay dos formas de llamar los procedimientos: Llamada formal (llamada de una funcin con nombres de parmetros formales) En este caso es posible asignar variables a las salidas mediante el operador => (llamada de un bloque de funciones de forma abreviada). Llamada informal (llamada de una funcin sin nombres de parmetros formales)

588

35006147 10/2013

Lista de instrucciones (IL)

Llamada formal Con esta forma de llamada (llamada con nombres de parmetros formales), los procedimientos se llaman por medio de una secuencia de instrucciones CAL opcional seguida del nombre del procedimiento y de una lista entre parntesis de asignaciones de parmetros reales a los parmetros formales. La asignacin de los parmetros formales de entrada se realiza mediante la asignacin :=, y la asignacin de los parmetros formales de salida, mediante la asignacin =>. La secuencia en la que se enumeran los parmetros formales de entrada y de salida no es significativa. La lista de los parmetros reales se puede cambiar de lnea automticamente despus de cada coma. Con este tipo de llamada se puede utilizar EN y ENO. Llamada de un procedimiento con nombres de parmetros formales:

O bien CAL PROC (IN1:=var1, IN2:=var1, OUT1=>result1,OUT2=>result2) O bien PROC (IN1:=var1, IN2:=var1, OUT1=>result1, OUT2=>result2) O bien CAL PROC (IN1:=var1, IN2:=var1, OUT1=>result1, OUT2=>result2) Llamada del mismo procedimiento en FBD:

Con la llamada formal no es necesario asignar un valor a todos los parmetros formales (consulte tambin Parameter (vase pgina 587)). PROC (IN1:=var1, OUT1=>result1, OUT2=>result2) O bien CAL PROC (IN1:=var1, OUT1=>result1, OUT2=>result2)

35006147 10/2013

589

Lista de instrucciones (IL)

Llamada del mismo procedimiento en FBD:

Llamada informal sin instruccin CAL Con este tipo de llamada (llamada sin nombres de parmetros formales), los procedimientos se llaman por medio de una secuencia de instrucciones compuesta por la carga del primer parmetro real en el acumulador, el nombre del procedimiento y una lista de los parmetros reales de las entradas y las salidas. La secuencia en la que se enumeran los parmetros reales es significativa. La lista de los parmetros reales no se puede cambiar de lnea. Con este tipo de llamada no se puede utilizar EN ni ENO. Llamada de un procedimiento con nombres de parmetros formales:

Llamada del mismo procedimiento en FBD:

NOTA: Tenga en cuenta que con las llamadas informales, la lista de parmetros reales no se puede escribir entre parntesis. En este caso, la norma CEI 61133-3 requiere que se omitan los parntesis para indicar que el primer parmetro real no forma parte de la lista. Llamada informal no vlida de un procedimiento:

Si el valor que se va a procesar (primer parmetro real) ya se encuentra en el acumulador, se puede suprimir la instruccin de carga. EXAMP1 var2,result1,result2

590

35006147 10/2013

Lista de instrucciones (IL)

Llamada informal con instruccin CAL Con este tipo de llamada, los procedimientos se llaman por medio de una secuencia de instrucciones compuesta por la instruccin CAL, seguida del nombre del procedimiento y una lista entre parntesis de los parmetros reales de las entradas y las salidas. La secuencia en la que se enumeran los parmetros reales es significativa. La lista de los parmetros reales no se puede cambiar de lnea. Con este tipo de llamada no se puede utilizar EN ni ENO. Llamada de un procedimiento con nombres de parmetros formales mediante la instruccin CAL:

O bien CAL PROC (var1, var2, result1, result2) Llamada del mismo procedimiento en FBD:

NOTA: Al contrario de lo que sucede con las llamadas informales sin instruccin CAL, en las llamadas informales con instruccin CAL, el valor que se va a procesar (primer parmetro real) no se carga de forma explcita en el acumulador, sino que forma parte de la lista de los parmetros reales. Por este motivo, en las llamadas informales con instruccin CAL, la lista de los parmetros reales se debe poner entre parntesis.

35006147 10/2013

591

Lista de instrucciones (IL)

EN y ENO En todos los procedimientos se puede configurar una entrada EN y una salida ENO. Si el valor de EN es "0", al llamar el procedimiento no se ejecutarn los algoritmos definidos por dicho procedimiento, y ENO se establecer en "0". Si el valor de EN es "1", al llamar el procedimiento se ejecutarn los algoritmos con los que se haya definido dicho procedimiento. Una vez que se han ejecutado los algoritmos correctamente, el valor de ENO pasa a "1". Si se produce un error al ejecutar estos algoritmos, ENO pasa a "0". Si el pin EN no tiene asignado ningn valor, al llamar el FFB, se ejecuta el algoritmo definido por el FFB (lo mismo ocurre si EN es igual a "1"). Si ENO est establecido en "0" (porque EN=0 o debido a un error en la ejecucin), las salidas del procedimiento se establecern en "0". Si se va a utilizar EN/ENO, la llamada del procedimiento deber ser formal. La asignacin de una variable a ENO debe realizarse con el operador =>. PROC (EN:=1, IN1:=var1, IN2:=var2, ENO=>error, OUT1=>result1, OUT2=>result2) ; Llamada del mismo procedimiento en FBD:

Variable VAR_IN_OUT A menudo, los procedimientos se utilizan para leer una variable en la entrada (variables de entrada), procesarla y volver a emitir los valores modificados de la misma variable (variables de salida). Este caso especfico de variable de entrada/salida tambin se denomina variable VAR_IN_OUT. Tenga en cuenta las siguientes particularidades cuando utilice procedimientos con variables VAR_IN_OUT: Hay que asignar obligatoriamente una variable a todas las entradas VAR_IN_OUT. No se puede asignar ningn literal ni ninguna constante a las entradas VAR_IN_OUT. No es posible asignar ningn valor a las salidas VAR_IN_OUT. Las variables VAR_IN_OUT no se pueden utilizar fuera de la llamada de procedimientos. Llamada de un procedimiento con variable VAR_IN_OUT en IL: PROC3 (IN1:=V1, IN2:=V2, IO1:=V3, OUT1=>V4, OUT2=>V5) ;

592

35006147 10/2013

Lista de instrucciones (IL)

Llamada del mismo procedimiento en FBD:

Las variables VAR_IN_OUT no se pueden utilizar fuera de la llamada de procedimientos. Por este motivo las siguientes llamadas de procedimientos no son vlidas: Llamada no vlida, ejemplo 1:
LD V1 CAL InOutProc AND V2 Carga de la variable V1 en el acumulador. Llamada de un procedimiento con el parmetro VAR_IN_OUT. El acumulador contiene ahora una referencia a un parmetro VAR_IN_OUT. Operacin AND del contenido del acumulador con la variable V2. Error: No se puede realizar la operacin porque no es posible acceder al parmetro VAR_IN_OUT (contenido del acumulador) fuera de la llamada de procedimientos.

Llamada no vlida, ejemplo 2:


LD V1 AND InOutProc.inout Carga de la variable V1 en el acumulador. Operacin AND del contenido del acumulador con la referencia a un parmetro VAR_IN_OUT. Error: No se puede realizar la operacin porque no es posible acceder al parmetro VAR_IN_OUT fuera de la llamada de procedimientos.

Llamada no vlida, ejemplo 3:


LD V1 InOutFB V2 Carga de la variable V1 en el acumulador. Llamada del procedimiento con asignacin del parmetro real (V2) al parmetro VAR_IN_OUT. Error: No se puede realizar la operacin porque en esta forma de llamada de procedimientos, slo el parmetro VAR_IN_OUT estara disponible para otro uso en el acumulador.

Por el contrario, las siguientes llamadas de procedimientos son siempre vlidas: Llamada vlida, ejemplo 1:
CAL InOutProc (IN1:=V1,inout:=V2) Llamada de un procedimiento con el parmetro VAR_IN_OUT y asignacin formal del parmetro real dentro de la llamada de procedimientos.

35006147 10/2013

593

Lista de instrucciones (IL)

Llamada vlida, ejemplo 2:


InOutProc (IN1:=V1,inout:=V2) Llamada de un procedimiento con el parmetro VAR_IN_OUT y asignacin formal del parmetro real dentro de la llamada de procedimientos.

Llamada vlida, ejemplo 3:


CAL InOutProc (V1,V2) Llamada de un procedimiento con el parmetro VAR_IN_OUT y asignacin informal del parmetro real dentro de la llamada de procedimientos.

594

35006147 10/2013

Unity Pro Texto estructurado (ST) 35006147 10/2013

Captulo 15
Texto estructurado (ST)

Texto estructurado (ST)


Vista general En este captulo, se describe el lenguaje de programacin de texto estructurado ST conforme a la norma CEI 61131. Contenido de este captulo Este captulo contiene las siguientes secciones:
Seccin 15.1 15.2 15.3 Instrucciones Llamada de funciones elementales, mdulos de funcin elementales, mdulos de funcin derivados y procedimientos Apartado Generalidades sobre el texto estructurado ST Pgina 596 608 626

35006147 10/2013

595

Texto estructurado (ST)

Seccin 15.1
Generalidades sobre el texto estructurado ST

Generalidades sobre el texto estructurado ST


Vista general En esta seccin se ofrece una vista general sobre el texto Estructurado ST. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Generalidades sobre el texto estructurado (ST) Operandos Operadores Pgina 597 600 602

596

35006147 10/2013

Texto estructurado (ST)

Generalidades sobre el texto estructurado (ST)


Introduccin El lenguaje de programacin de texto estructurado (ST) permite, por ejemplo, llamar bloques de funcin, ejecutar funciones, efectuar asignaciones, ejecutar instrucciones de forma condicional y repetir instrucciones. Expresin El lenguaje de programacin ST trabaja con las denominadas "expresiones". Las expresiones son construcciones compuestas por operadores y operandos que devuelven un valor durante la ejecucin. Operador Los operadores son smbolos para las operaciones que se van a ejecutar. Operando Los operadores se aplican a los operandos. Los operandos son, por ejemplo, variables, literales, salidas/entradas FFB, etc. Instrucciones Las instrucciones sirven para asignar a los parmetros actuales los valores devueltos por las expresiones y para estructurar y controlar las expresiones. Representacin de una seccin ST Representacin de una seccin ST:

35006147 10/2013

597

Texto estructurado (ST)

Tamao de la seccin La longitud de una lnea de instrucciones est limitada a 300 caracteres. La longitud de una seccin ST no est limitada dentro del entorno de programacin. La longitud de una seccin ST slo est limitada por el tamao de la memoria del PLC. Sintaxis Para la indicacin de los identificadores y de las palabras clave no se diferencia entre maysculas y minsculas. Excepcin: no se admiten espacios en blanco ni tabuladores en: palabras clave Literales Valores Identificadores Variables y combinaciones de limitadores [por ejemplo, (* para comentarios)].

Secuencia de ejecucin La evaluacin de una expresin est formada por la aplicacin de los operadores sobre los operandos en el mismo orden en que se haya definido la jerarqua de los operadores (consulte "Tabla de operadores (vase pgina 602)"). El operador de mayor jerarqua en una expresin ser el que se ejecute en primer lugar, a continuacin, se ejecutar el operador de siguiente jerarqua y as sucesivamente hasta que se complete la evaluacin. Los operadores del mismo rango se ejecutarn de izquierda a derecha, tal y como estn escritos en la expresin. Esta secuencia se puede modificar mediante parntesis. Si, por ejemplo, A, B, C y D tienen los valores 1, 2, 3 y 4 y se calculan tal y como se indica a continuacin: A+B-C*D entonces, el resultado ser -9. Si se realiza la operacin: (A+B-C)*D entonces, el resultado ser 0. Si un operador posee dos operandos, primero se ejecutar el operando de la izquierda. Por ejemplo, en la expresin: SIN(A)*COS(B) se calcular primero la expresin SIN(A), luego se calcular la expresin COS(B) y, por ltimo, se calcular el producto.

598

35006147 10/2013

Texto estructurado (ST)

Comportamiento ante errores Las siguientes condiciones se consideran errores durante la ejecucin de una expresin: Intento de divisin entre 0. Los operandos no poseen el tipo de datos adecuado para la operacin. El resultado de una operacin numrica sobrepasa el rango de valores del tipo de datos.

Si se produce un error durante la ejecucin de la operacin, se activar el bit de sistema (%S) correspondiente (si el PLC utilizado lo admite). Conformidad CEI Para obtener una descripcin de la conformidad del lenguaje de programacin ST con la norma CEI, consulte "Conformidad CEI (vase pgina 745)".

35006147 10/2013

599

Texto estructurado (ST)

Operandos
Introduccin Un operando puede ser: Una direccin Un literal Una variable Una variable de elementos mltiples Un elemento de una variable de elementos mltiples Una llamada de funcin Una salida FFB

Tipos de datos Los tipos de datos de los operandos que se vayan a procesar en una instruccin deben ser idnticos. Si se procesan operandos de tipos de datos distintos, se debe realizar antes una conversin de tipos. En el ejemplo siguiente, la variable entera i1 se convierte en una variable real antes de sumarse con la variable real r4. r3 := r4 + SIN(INT_TO_REAL(i1)) ; Como excepcin a esta regla, las variables del tipo de datos TIME se pueden multiplicar o dividir por las variables de los tipos de datos INT, DINT, UINT o UDINT. Operaciones permitidas: timeVar1 := timeVar2 / dintVar1; timeVar1 := timeVar2 * intVar1; timeVar := 10 * time#10s; La norma CEI 61131-3 clasifica esta funcin como efecto "no deseado".

600

35006147 10/2013

Texto estructurado (ST)

Utilizacin directa de direcciones Las direcciones se pueden utilizar directamente (sin una declaracin previa). En este caso, el tipo de datos de la direccin se asigna directamente. Esta asignacin se realiza mediante el "prefijo de magnitud". En la tabla siguiente se indican los diversos prefijos de magnitud.
Prefijo de magnitud/smbolo Ejemplo Sin prefijo X B W D F %I10, %CH203.MOD, %CH203.MOD.ERR %MX20 %QB102.3 %KW43 %QD100 %MF100 Tipo de datos BOOL BOOL BYTE INT DINT REAL

Utilizacin de otros tipos de datos Si desea asignar a una direccin otros tipos de datos distintos a los tipos de datos predeterminados, deber hacerlo mediante una declaracin explcita. Esta declaracin de variables se puede realizar de forma cmoda a travs del editor de variables. Los tipos de datos de una direccin no se pueden declarar directamente en una seccin ST (p. ej. declaracin AT %MW1: UINT; no permitida). Las siguientes variables estn declaradas en el editor de variables: UnlocV1: ARRAY [1..10] OF INT; LocV1: ARRAY [1..10] OF INT AT %MW100; LocV2: TIME AT %MW100; Las siguientes llamadas son sintcticamente correctas: %MW200 := 5; UnlocV1[2] := LocV1[%MW200]; LocV2 := t#3s; Acceso a variables de campo Para el acceso a variables de campo (ARRAY), en la indicacin de ndice slo se admiten literales y variables de los tipos de datos INT, UINT, DINT y UDINT. El ndice de un elemento ARRAY puede ser negativo si el lmite inferior del rango es negativo. Ejemplo: Utilizacin de variables de campo var1[i] := 8 ; var2.otto[4] := var3 ; var4[1+i+j*5] := 4 ;

35006147 10/2013

601

Texto estructurado (ST)

Operadores
Introduccin Un operador es un smbolo para: Una operacin aritmtica ejecutable Una operacin lgica ejecutable Un procesamiento de funcin (llamada)

Los operadores son genricos, es decir, se adaptan automticamente al tipo de datos de los operandos. Tabla de operadores Los operadores se ejecutan segn su jerarqua, consulte tambin Secuencia de ejecucin, pgina 598. Operadores del lenguaje de programacin ST:
Operador () Significado Parntesis Jerarqua 1 (mayor) Operandos posibles Expresin Descripcin Los parntesis se utilizan para modificar la secuencia de ejecucin de los operadores. Ejemplo: Si los operandos A, B, C y D tienen los valores 1, 2, 3 y 4 respectivamente, entonces A+B-C*D tiene como resultado -9. Pero, (A+B-C)*D tiene como resultado 0.

FUNCNAME Procesamiento 2 de funcin (lista de parmetros (llamada) reales) Negacin 3

Expresin, literal, variable, El procesamiento de funcin se direccin (todos los tipos de utiliza para ejecutar funciones (consulte Llamada de funciones datos) elementales, pgina 627). Expresin, literal, variable, direccin de los tipos de datos INT, DINT o REAL La negacin - origina una inversin del signo para el valor del operando. Ejemplo: En el ejemplo, OUT es -4 si IN1 es 4. OUT := - IN1; NOT provoca una inversin del operando por bits. Ejemplo: En el ejemplo, OUT es 0011001100 si IN1 es 1100110011. OUT := NOT IN1;

NO

Complemento

Expresin, literal, variable, direccin de los tipos de datos BOOL, BYTE, WORD o DWORD

602

35006147 10/2013

Texto estructurado (ST)

Operador **

Significado Potenciacin

Jerarqua 4

Operandos posibles Expresin, literal, variable, direccin de los tipos de datos REAL (base) e INT, DINT, UINT, UDINT o REAL (exponente)

Descripcin En la potenciacin **, el valor del primer operando (base) se eleva a la potencia del valor del segundo operando (exponente). Ejemplo: En el ejemplo, OUT es 625,0 si IN1 es 5,0 e IN2 es 4,0. OUT := IN1 ** IN2; En la multiplicacin *, el valor del primer operando se multiplica por el valor del segundo operando. Ejemplo: En el ejemplo, OUT es 20,0 si IN1 es 5,0 e IN2 es 4,0. OUT := IN1 * IN2; Nota: Para las multiplicaciones con el tipo de datos Time est disponible la funcin MULTIME de la biblioteca obsoleta. En la divisin /, el valor del primer operando se divide entre el valor del segundo operando. Ejemplo: En el ejemplo, OUT es 4,0 si IN1 es 20,0 e IN2 es 5,0. OUT := IN1 / IN2; Nota: Para las divisiones con el tipo de datos Time est disponible la funcin DIVTIME de la biblioteca obsoleta. En MOD, el valor del primer operando se divide entre el valor del segundo operando, y el resto de la divisin (mdulo) se emite como resultado. Ejemplo: En este ejemplo OUT ser 1 cuando IN1 sea 7 e IN2 sea 2. OUT ser 1 cuando IN1 sea 7 e IN2 sea -2. OUT ser -1 cuando IN1 sea -7 e IN2 sea 2. OUT ser -1 cuando IN1 sea -7 e IN2 sea -2. OUT := IN1 MOD IN2;

Multiplicacin

Expresin, literal, variable, direccin de los tipos de datos INT, DINT, UINT, UDINT o REAL

Divisin

Expresin, literal, variable, direccin de los tipos de datos INT, DINT, UINT, UDINT o REAL

MOD

Mdulo

Expresin, literal, variable, direccin de los tipos de datos INT, DINT, UINT o UDINT

35006147 10/2013

603

Texto estructurado (ST)

Operador +

Significado Adicin

Jerarqua 6

Operandos posibles Expresin, literal, variable, direccin de los tipos de datos INT, DINT, UINT, UDINT, REAL o TIME

Descripcin En la adicin +, el valor del primer operando se suma al valor del segundo operando. Ejemplo: En este ejemplo OUT ser 9 si IN1 es 7 e IN2 es 2. OUT := IN1 + IN2; En la sustraccin -, el valor del segundo operando se resta al del primer operando. Ejemplo: En el ejemplo, OUT es 6 si IN1 es 10 e IN2 es 4. OUT := IN1 - IN2; Con la comparacin < se compara el valor del primer operando con el valor del segundo operando. Si el valor del primer operando es menor que el valor del segundo, el resultado ser un 1 booleano. Si el valor del primer operando es mayor o igual que el valor del segundo, el resultado ser un 0 booleano. Ejemplo: En el ejemplo, OUT es 1 si IN1 es menor que 10; de lo contrario, ser 0. OUT := IN1 < 10; Con la comparacin >.se compara el valor del primer operando con el valor del segundo operando. Si el valor del primer operando es mayor que el valor del segundo, el resultado ser un 1 booleano. Si el valor del primer operando es menor o igual que el valor del segundo, el resultado ser un 0 booleano. Ejemplo: En el ejemplo, OUT es 1 si IN1 es mayor que 10, y 0 si IN1 es menor que 0. OUT := IN1 > 10;

Sustraccin

Expresin, literal, variable, direccin de los tipos de datos INT, DINT, UINT, UDINT, REAL o TIME

<

Menor que

Expresin, literal, variable, direccin de los tipos de datos BOOL, BYTE, INT, DINT, UINT, UDINT, REAL, TIME, WORD, DWORD, STRING, DT, DATE o TOD

>

Mayor que

Expresin, literal, variable, direccin de los tipos de datos BOOL, BYTE, INT, DINT, UINT, UDINT, REAL, TIME, WORD, DWORD, STRING, DT, DATE o TOD

604

35006147 10/2013

Texto estructurado (ST)

Operador <=

Significado Menor o igual que

Jerarqua 7

Operandos posibles Expresin, literal, variable, direccin de los tipos de datos BOOL, BYTE, INT, DINT, UINT, UDINT, REAL, TIME, WORD, DWORD, STRING, DT, DATE o TOD

Descripcin Con la comparacin <=se compara el valor del primer operando con el valor del segundo operando. Si el valor del primer operando es menor o igual que el valor del segundo, el resultado ser un 1 booleano. Si el valor del primer operando es mayor que el valor del segundo, el resultado ser un 0 booleano. Ejemplo: En el ejemplo, OUT es 1 si IN1 es menor o igual que 10; de lo contrario, ser 0. OUT := IN1 <= 10; Con la comparacin >=se compara el valor del primer operando con el valor del segundo operando. Si el valor del primer operando es mayor o igual que el valor del segundo, el resultado ser un 1 booleano. Si el valor del primer operando es menor que el valor del segundo, el resultado ser un 0 booleano. Ejemplo: En el ejemplo, OUT es 1 si IN1 es mayor o igual que 10; de lo contrario, ser 0. OUT := IN1>= 10; Con la comparacin = se compara el valor del primer operando con el valor del segundo operando. Si el valor del primer operando es igual que el valor del segundo, el resultado ser un 1 booleano. Si el valor del primer operando no es igual al valor del segundo, el resultado ser un 0 booleano. Ejemplo: En el ejemplo, OUT es 1 si IN1 es igual a 10; de lo contrario, ser 0. OUT := IN1 = 10 ;

>=

Mayor o igual que

Expresin, literal, variable, direccin de los tipos de datos BOOL, BYTE, INT, DINT, UINT, UDINT, REAL, TIME, WORD, DWORD, STRING, DT, DATE o TOD

Igualdad

Expresin, literal, variable, direccin de los tipos de datos BOOL, BYTE, INT, DINT, UINT, UDINT, REAL, TIME, WORD, DWORD, STRING, DT, DATE o TOD

35006147 10/2013

605

Texto estructurado (ST)

Operador <>

Significado Desigualdad

Jerarqua 8

Operandos posibles Expresin, literal, variable, direccin de los tipos de datos BOOL, BYTE, INT, DINT, UINT, UDINT, REAL, TIME, WORD, DWORD, STRING, DT, DATE o TOD

Descripcin Con la comparacin <>.se compara el valor del primer operando con el valor del segundo operando. Si el valor del primer operando no es igual al valor del segundo, el resultado ser un 1 booleano. Si el valor del primer operando es igual que el valor del segundo, el resultado ser un 0 booleano. Ejemplo: En el ejemplo, OUT es 1 si IN1 no es igual a 10; de lo contrario, ser 0. OUT := IN1 <> 10 ; En el caso de & tiene lugar una conexin AND lgica entre los operandos. Con los tipos de datos BYTE, WORD y DWORD, esta conexin se lleva a cabo por bits. Ejemplo: En los ejemplos, OUT es 1 si IN1, IN2 y IN3 son 1. OUT := IN1 & IN2 & IN3 ; En el caso de AND, tiene lugar una conexin de AND lgica entre los operandos. Con los tipos de datos BYTE, WORD y DWORD, esta conexin se lleva a cabo por bits. Ejemplo: En los ejemplos, OUT es 1 si IN1, IN2 y IN3 son 1. OUT := IN1 AND IN2 AND IN3 ;

&

AND lgico

Expresin, literal, variable, direccin de los tipos de datos BOOL, BYTE, WORD o DWORD

AND

AND lgico

Expresin, literal, variable, direccin de los tipos de datos BOOL, BYTE, WORD o DWORD

606

35006147 10/2013

Texto estructurado (ST)

Operador XOR

Significado OR exclusivo lgico

Jerarqua 10

Operandos posibles Expresin, literal, variable, direccin de los tipos de datos BOOL, BYTE, WORD o DWORD

Descripcin En el caso de XOR tiene lugar una conexin OR exclusiva lgica entre los operandos. Con los tipos de datos BYTE, WORD y DWORD, esta conexin se lleva a cabo por bits. Ejemplo: En el ejemplo, OUT ser 1 si IN1 e IN2 son distintos. Si A y B tienen el mismo estado (ambos son 0 1), D ser 0. OUT := IN1 XOR IN2 ; Si se vinculan ms de dos operandos, el resultado ser 1 en caso de que haya una cantidad impar de estados 1, y 0 si hay una cantidad par de estados 1. Ejemplo: En el ejemplo, OUT es 1 si 1 3 operandos son 1, OUT es 0 si 0, 2 4 operandos son 1. OUT := IN1 XOR IN2 XOR IN3 XOR IN4 ; En el caso de OR tiene lugar una conexin OR lgica entre los operandos. Con los tipos de datos BYTE, WORD y DWORD, esta conexin se lleva a cabo por bits. Ejemplo: En el ejemplo, OUT es 1 si IN1, IN2 o IN3 es 1. OUT := IN1 OR IN2 OR IN3 ;

OR

OR lgico

11 (menor)

Expresin, literal, variable, direccin de los tipos de datos BOOL, BYTE, WORD o DWORD

35006147 10/2013

607

Texto estructurado (ST)

Seccin 15.2
Instrucciones

Instrucciones
Vista general En esta seccin, se describen las instrucciones del lenguaje de programacin de texto estructurado ST. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Instrucciones Asignacin Instruccin de seleccin IF...THEN...END_IF Instruccin de seleccin ELSE Instruccin de seleccin ELSIF...THEN Instruccin de seleccin CASE...OF...END_CASE Instruccin de repeticin FOR...TO...BY...DO...END_FOR Repeticin de la instruccin WHILE...DO...END_WHILE Instruccin de repeticin REPEAT...UNTIL...END_REPEAT Instruccin de repeticin EXIT Llamada de subrutina RETURN Instruccin vaca Etiquetas y saltos Comentario Pgina 609 610 612 613 614 615 616 618 619 620 621 622 623 624 625

608

35006147 10/2013

Texto estructurado (ST)

Instrucciones
Descripcin Las instrucciones son los "comandos" del lenguaje de programacin ST. Las instrucciones se deben cerrar mediante el smbolo del punto y coma. En una lnea puede haber varias instrucciones (separadas por punto y coma). Un punto y coma solo representa una instruccin vaca (vase pgina 623).

35006147 10/2013

609

Texto estructurado (ST)

Asignacin
Introduccin La asignacin reemplaza el valor actual de una variable de elemento nico o de elementos mltiples por el resultado de la evaluacin de una expresin. Una asignacin est compuesta por una especificacin de variables en la parte izquierda, seguida de un operador de asignacin :=, seguido de la expresin que se va a evaluar. Ambas variables (parte izquierda y derecha del operador de asignacin) deben tener el mismo tipo de datos. Las matrices (arrays) constituyen un caso especial. Si se habilita explcitamente, es posible asignar dos matrices de longitudes distintas. Asignacin del valor de una variable a otra variable Las asignaciones se utilizan para asignar el valor de una variable a otra variable. La instruccin A := B ; se utiliza, por ejemplo, para reemplazar el valor de la variable A por el valor actual de la variable B. Si A y B presentan un tipo de datos elemental, el valor nico de B se transferir a A. Si A y B presentan un tipo de datos derivado, los valores de todos los elementos de B se transferirn a A. Asignacin del valor de un literal a una variable Las asignaciones se utilizan para asignar un literal a una variable. La instruccin C := 25 ; se utiliza, por ejemplo, para asignar el valor 25 a la variable C. Asignacin del valor de una operacin a una variable Las asignaciones se utilizan para asignar a una variable un valor que es el resultado de una operacin. La instruccin X := (A+B-C)*D ; se utiliza, por ejemplo, para asignar a la variable X el resultado de la operacin (A+B-C)*D.

610

35006147 10/2013

Texto estructurado (ST)

Asignacin del valor de un FFB a una variable Las asignaciones se utilizan para asignar a una variable un valor proporcionado por una funcin o por un bloque de funcin. La instruccin B := MOD(C,A) ; se utiliza, por ejemplo, para llamar la funcin MOD (mdulo) y asignar el resultado del clculo a la variable B. La instruccin A := MY_TON.Q ; se utiliza, por ejemplo, para asignar a la variable A el valor de la salida Q del bloque de funcin MY_TON (instancia del bloque de funcin TON). (No se trata de una llamada de bloque de funcin.) Asignaciones mltiples Las asignaciones mltiples son una ampliacin de la norma CEI 61131-3 y se deben habilitar de forma explcita. Aunque estn habilitadas, las asignaciones mltiples NO estn permitidas en los siguientes casos: En la lista de parmetros de una llamada de bloque de funcin En la lista de elementos para inicializar variables estructuradas

La instruccin X := Y := Z est permitida. Las instrucciones FB(in1 := 1, In2 := In3 := 2) ; y strucVar := (comp1 := 1, comp2 := comp3 := 2) ; no estn permitidas. Asignaciones entre matrices y variables WORD-/DWORD Las asignaciones entre matrices y variables WORD/DWORD slo son posibles si antes se ha efectuado una conversin de tipo, por ejemplo: %Q3.0:16 := INT_TO_AR_BOOL(%MW20) ; Estn disponibles las siguientes funciones de conversin (biblioteca general, familia Array): MOVE_BOOL_AREBOOL MOVE_WORD_ARWORD MOVE_DWORD_ARDWORD MOVE_INT_ARINT MOVE_DINT_ARDINT MOVE_REAL_ARREAL
35006147 10/2013

611

Texto estructurado (ST)

Instruccin de seleccin IF...THEN...END_IF


Descripcin La instruccin IF determina que una instruccin o un grupo de instrucciones se ejecute slo si la expresin booleana correspondiente tiene el valor 1 (verdadero). Si la condicin es 0 (falso), la instruccin o el grupo de instrucciones no se ejecutar. La instruccin THEN marca el final de la condicin y el principio de la instruccin o instrucciones. La instruccin END_IF seala el final de la instruccin o instrucciones. NOTA: Se puede intercalar una cantidad cualquiera de instrucciones IF...THEN...END_IF para generar instrucciones de seleccin complejas. Ejemplo de IF...THEN...END_IF La condicin se puede expresar mediante una variable booleana. Si FLAG es 1, se ejecutan las instrucciones; si FLAG es 0, no se ejecutan las instrucciones. IF FLAG THEN C:=SIN(A) * COS(B) ; B:=C - A ; END_IF ; La condicin tambin se puede expresar mediante una operacin de la que se obtenga un resultado booleano. Si A es mayor que B, se ejecutan las instrucciones; si A es menor o igual que B, no se ejecutan las instrucciones. IF A>B THEN C:=SIN(A) * COS(B) ; B:=C - A ; END_IF ; Ejemplo de IF NOT...THEN...END_IF Con NOT se puede invertir la condicin (ejecucin de ambas instrucciones si 0). IF NOT FLAG THEN C:=SIN_REAL(A) * COS_REAL(B) ; B:=C - A ; END_IF ; Consulte tambin ELSE (vase pgina 613) ELSIF (vase pgina 614)

612

35006147 10/2013

Texto estructurado (ST)

Instruccin de seleccin ELSE


Descripcin La instruccin ELSE sigue siempre a una instruccin IF...THEN, ELSIF...THEN o CASE. Si la instruccin ELSE sigue a IF o ELSIF, la instruccin o el grupo de instrucciones se ejecuta slo cuando las expresiones booleanas correspondientes de la instruccin IF y ELSIF tienen el valor 0 (falso). Si la condicin de la instruccin IF o ELSIF es 1 (verdadero), la instruccin o el grupo de instrucciones no se ejecuta. Si la instruccin ELSE sigue a CASE, la instruccin o el grupo de instrucciones slo se ejecuta cuando ninguna marca contiene el valor del selector. En el caso de que una marca contenga el valor del selector, la instruccin o el grupo de instrucciones no se ejecuta. NOTA: Se puede intercalar una cantidad cualquiera de instrucciones IF...THEN...ELSE...END_IF para generar instrucciones de seleccin complejas. Ejemplo de ELSE IF A>B THEN C:=SIN(A) * COS(B) ; B:=C - A ; ELSE C:=A + B ; B:=C * A ; END_IF ; Consulte tambin IF (vase pgina 612) ELSIF (vase pgina 614) CASE (vase pgina 615)

35006147 10/2013

613

Texto estructurado (ST)

Instruccin de seleccin ELSIF...THEN


Descripcin La instruccin ELSIF sigue siempre a una instruccin IF...THEN. La instruccin ELSIF determina que una instruccin o un grupo de instrucciones slo se ejecuta si la expresin booleana correspondiente de la instruccin IF tiene el valor 0 (falso) y la expresin booleana correspondiente de la instruccin ELSIF tiene el valor 1 (verdadero). Si la condicin de la instruccin IF es 1 (verdadero) o la condicin de la instruccin ELSIF es 0 (falso), la instruccin o el grupo de instrucciones no se ejecuta. La instruccin THEN marca el final de la condicin o condiciones ELSIF y el principio de la instruccin o instrucciones. NOTA: Se puede intercalar una cantidad cualquiera de instrucciones IF...THEN...ELSIF...THEN...END_IF para generar instrucciones de seleccin complejas. Ejemplo de ELSIF...THEN IF A>B THEN C:=SIN(A) * B:=SUB(C,A) ELSIF A=B THEN C:=ADD(A,B) B:=MUL(C,A) END_IF ; COS(B) ; ; ; ;

Ejemplo de instrucciones intercaladas IF A>B THEN IF B=C THEN C:=SIN(A) * COS(B) ; ELSE B:=SUB(C,A) ; END_IF ; ELSIF A=B THEN C:=ADD(A,B) ; B:=MUL(C,A) ; ELSE C:=DIV(A,B) ; END_IF ; Consulte tambin IF (vase pgina 612) ELSE (vase pgina 613)

614

35006147 10/2013

Texto estructurado (ST)

Instruccin de seleccin CASE...OF...END_CASE


Descripcin La instruccin CASE est compuesta por una expresin del tipo de datos INT (el "selector") y una lista de grupos de instrucciones. Cada grupo est provisto de una marca que est compuesta por uno o ms nmeros enteros (INT, DINT, UINT, UDINT) o rangos de valores de enteros. Se ejecuta el primer grupo de instrucciones cuya marca contenga el valor calculado del selector. De lo contrario, no se ejecuta ninguna de las instrucciones. La instruccin OF seala el principio de las marcas. Dentro de la instruccin CASE se puede incluir una instruccin ELSE cuyas instrucciones se ejecuten si ninguna marca contiene el valor del selector. La instruccin END_CASE marca el final de la instruccin o instrucciones. Ejemplo de CASE...OF...END_CASE Ejemplo de CASE...OF...END_CASE

Consulte tambin ELSE (vase pgina 613)

35006147 10/2013

615

Texto estructurado (ST)

Instruccin de repeticin FOR...TO...BY...DO...END_FOR


Descripcin La instruccin FOR se utiliza cuando se puede determinar de antemano la cantidad de repeticiones. De lo contrario, se utilizan las instrucciones WHILE (vase pgina 618) o REPEAT (vase pgina 619). La instruccin FOR repite una secuencia de instrucciones hasta la instruccin END_FOR. La cantidad de repeticiones se determina mediante el valor inicial, el valor final y la variable de control. La variable de control, el valor inicial y el valor final deben tener el mismo tipo de datos (DINT o INT). La variable de control, el valor inicial y el valor final se pueden modificar mediante una de las instrucciones repetidas. Se trata de una ampliacin de la norma CEI 61131-3. La instruccin FOR incrementa el valor de las variables de control desde un valor inicial hasta un valor final. El valor de incremento tiene el valor predeterminado 1. Si desea utilizar otro valor, puede indicar explcitamente el valor del incremento (variable o constante). El valor de las variables de control se verifica antes de cada nuevo ciclo del bucle. Si ste se encuentra fuera del rango del valor inicial y el valor final, se abandonar el bucle. Antes del primer ciclo del bucle, se comprueba si el incremento de la variable de control se acerca al valor final partiendo del valor inicial. Si este no es el caso (p. ej. valor inicial valor final e incremento negativo), entonces no se procesa el bucle. Fuera del bucle, el valor de la variable de control es indefinido. La instruccin DO marca el final de la definicin de repeticin y el principio de la instruccin o instrucciones. La repeticin se puede terminar antes de tiempo mediante la instruccin EXIT. La instruccin END_FOR marca el final de la instruccin o instrucciones. Ejemplo: FOR con incremento 1 FOR con incremento 1

616

35006147 10/2013

Texto estructurado (ST)

FOR con incremento distinto a 1 Si desea utilizar un incremento distinto a 1, puede definirlo mediante BY. El incremento, el valor inicial, el valor final y la variable de control deben tener el mismo tipo de datos (DINT o INT). El signo de la expresin BY define el criterio de la direccin de procesamiento (progresivo, regresivo). Si esta expresin es positiva, entonces el bucle se ejecuta de forma progresiva; si es negativa, el bucle se ejecuta de forma regresiva. Ejemplo: Conteo progresivo en dos pasos Conteo progresivo en dos pasos

Ejemplo: Conteo regresivo Conteo regresivo FOR i:= 10 TO 1 BY -1 DO (* BY < 0 : Backwards.loop *) C:= C * COS(B) ; (* La instruccin se ejecuta 10 x *) END_FOR ; Ejemplo: Bucles "nicos" Los bucles del ejemplo se ejecutan exactamente una sola vez ya que el valor inicial es igual que el valor final. En este caso no tiene importancia si el incremento es positivo o negativo. FOR i:= 10 TO 10 DO (* Bucle nico *) C:= C * COS(B) ; END_FOR ; O bien FOR i:= 10 TO 10 BY -1 DO (* Bucle nico *) C:= C * COS(B) ; END_FOR ; Ejemplo: Bucles crticos Si en el ejemplo, el incremento j es > 0, entonces se ejecutarn las instrucciones. Si j < 0, no se ejecutarn las instrucciones, ya que el valor inicial de situacin < slo admite un incremento del valor final de 0. Si j = 0, se ejecutarn las instrucciones y se producir un bucle sin fin, ya que con un incremento de 0 jams se alcanzar el valor final. FOR i:= 1 TO 10 BY j DO C:= C * COS(B) ; END_FOR ;
35006147 10/2013

617

Texto estructurado (ST)

Repeticin de la instruccin WHILE...DO...END_WHILE


Descripcin La instruccin WHILE provoca la ejecucin repetitiva de una secuencia de instrucciones hasta que la expresin booleana correspondiente sea 0 (falso). Si la expresin es falsa desde el principio, el grupo de instrucciones no se ejecuta en absoluto. La instruccin DO marca el final de la definicin de repeticin y el principio de la instruccin o instrucciones. La repeticin se puede terminar antes de tiempo mediante la instruccin EXIT. La instruccin END_WHILE seala el final de la instruccin o instrucciones. En los casos siguientes, WHILE no puede utilizarse, ya que puede crear un bucle infinito que conllevara un bloqueo del programa: WHILE no se puede utilizar para efectuar una sincronizacin entre procesos; por ejemplo, como "bucle en espera" con una condicin final externa determinada. WHILE puede no utilizarse en un algoritmo, ya que la finalizacin de la condicin de final de bucle o la ejecucin de una instruccin EXIT no se pueden garantizar. Ejemplo de WHILE...DO...END_WHILE x := 1; WHILE x <= 100 DO x := x + 4; END_WHILE ; Consulte tambin EXIT (vase pgina 620)

618

35006147 10/2013

Texto estructurado (ST)

Instruccin de repeticin REPEAT...UNTIL...END_REPEAT


Descripcin La instruccin REPEAT provoca la ejecucin repetitiva de una secuencia de instrucciones (al menos una vez) hasta que la condicin booleana correspondiente sea 1 (verdadero). La instruccin UNTIL marca la condicin final. La repeticin se puede terminar antes de tiempo mediante la instruccin SALIR. La instruccin END_REPEAT marca el final de las instrucciones. En los casos siguientes, REPEAT no debe utilizarse, ya que puede crear un bucle sin fin que conllevara un bloqueo del programa: REPEAT no debe utilizarse para efectuar una sincronizacin entre procesos, por ejemplo, como "bucle de espera" con una condicin final determinada externamente. REPEAT no debe utilizarse en un algoritmo, ya que la finalizacin de la condicin de final de bucle o la ejecucin de una instruccin SALIR no se pueden garantizar. Ejemplo REPEAT...UNTIL...END_REPEAT x := -1; REPEAT x := x + 2; UNTIL x >= 101 END_REPEAT; Consulte tambin SALIR (vase pgina 620)

35006147 10/2013

619

Texto estructurado (ST)

Instruccin de repeticin EXIT


Descripcin La instruccin EXIT se emplea para finalizar instrucciones de repeticin (FOR, WHILE, REPEAT) antes de que se d la condicin de final. Si la instruccin EXIT se encuentra dentro de una repeticin imbricada, se abandonar el bucle interno (en el que se encuentra EXIT). A continuacin se ejecutar la primera instruccin despus del final del bucle (END_FOR, END_WHILE o END_REPEAT). Ejemplo de EXIT Si FLAG tiene el valor 0, SUM ser 15 despus de la ejecucin de las instrucciones. Si FLAG tiene el valor 1, SUM ser 6 despus de la ejecucin de las instrucciones. SUM : = 0 ; FOR I := 1 TO 3 DO FOR J := 1 TO 2 DO IF FLAG=1 THEN EXIT; END_IF ; SUM := SUM + J ; END_FOR ; SUM := SUM + I ; END_FOR Consulte tambin CASE (vase pgina 615) WHILE (vase pgina 618) REPEAT (vase pgina 619)

620

35006147 10/2013

Texto estructurado (ST)

Llamada de subrutina
Llamada de subrutina La llamada de una subrutina est compuesta por el nombre de la seccin de la subrutina y una lista de parmetros vaca. Las llamadas de subrutinas no devuelven ningn valor. La subrutina invocante debe encontrarse en la misma tarea que la seccin ST invocante. Tambin es posible llamar subrutinas ubicadas dentro de otras subrutinas. P. ej. nombre_de_la_subrutina () ; Las llamadas de subrutina son una ampliacin de la norma CEI 61131-3 y se deben habilitar de forma explcita. En las secciones de accin SFC slo se admiten llamadas de subrutina si est habilitada la modalidad Multi-Token.

35006147 10/2013

621

Texto estructurado (ST)

RETURN
Descripcin Las instrucciones RETURN pueden usarse en DFB (bloques de funciones derivados) y en SR (subrutinas). Las instrucciones RETURN no pueden usarse en el programa principal.

En un DFB, una instruccin RETURN fuerza el retorno al programa que llam al DFB. El resto de la seccin DFB que contiene la instruccin RETURN no se ejecuta. Las siguientes secciones del DFB no se ejecutan. El programa que llam al DFB se ejecutar despus de volver del DFB. Si otro DFB llama al DFB, el DFB llamado se ejecutar despus de volver.

En un SR, una instruccin RETURN fuerza el retorno al programa que llam al SR. El resto de la seccin SR que contiene la instruccin RETURN no se ejecuta. El programa que llam al SR se ejecutar despus de volver del SR.

622

35006147 10/2013

Texto estructurado (ST)

Instruccin vaca
Descripcin Un punto y coma solo ; representa una instruccin vaca. P. ej. IF x THEN ; ELSE .. En este ejemplo, la instruccin que sigue a THEN es una instruccin vaca. Esto significa que, si la condicin de IF es 1, el programa abandonar inmediatamente la instruccin IF.

35006147 10/2013

623

Texto estructurado (ST)

Etiquetas y saltos
Introduccin Las etiquetas sirven como punto de destino de los saltos. Los saltos y las etiquetas en ST son una ampliacin de la norma IEC 61131-3 y se deben habilitar de forma explcita. Propiedades de las etiquetas Propiedades de las etiquetas: Las etiquetas deben ser siempre el primer elemento de una lnea. Las etiquetas slo pueden encontrarse delante de instrucciones de primer orden (no en bucles). Las etiquetas deben ser unvocas en todo el directorio sin que se diferencie entre maysculas y minsculas. Las etiquetas deben cumplir la nomenclatura general. Las etiquetas se separan con dos puntos : de las instrucciones que les siguen.

Propiedades de los saltos Propiedades de los saltos Los saltos se pueden realizar dentro de secciones de un programa y de un DFB. Los saltos slo se pueden realizar dentro de la seccin actual. Ejemplo IF var1 THEN JMP START; : :START: ...

624

35006147 10/2013

Texto estructurado (ST)

Comentario
Descripcin En el editor ST, los comentarios comienzan con la cadena de caracteres (* y terminan con *). Entre estas dos cadenas se puede introducir cualquier comentario. Los comentarios se pueden introducir en cualquier posicin en el editor ST excepto en palabras clave, literales, identificadores y variables. Segn la normativa CEI 61131-3, no se puede intercalar comentarios. Sin embargo, si stos se intercalan, deben habilitarse de forma explcita.

35006147 10/2013

625

Texto estructurado (ST)

Seccin 15.3
Llamada de funciones elementales, mdulos de funcin elementales, mdulos de funcin derivados y procedimientos

Llamada de funciones elementales, mdulos de funcin elementales, mdulos de funcin derivados y procedimientos
Vista general Llamada de funciones elementales, mdulos de funcin elementales, mdulos de funcin derivados y procedimientos en el lenguaje de programacin ST. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Llamada de funciones elementales Llamada de bloques de funciones elementales y bloques de funciones derivados Procedimientos Pgina 627 633 642

626

35006147 10/2013

Texto estructurado (ST)

Llamada de funciones elementales


Funciones elementales Las funciones elementales estn disponibles en forma de bibliotecas. La lgica de las funciones se define en el lenguaje de programacin C y no se puede modificar en el editor ST. Las funciones no tienen estados internos. Si los valores de las entradas son idnticos, el valor de salida ser el mismo en todas las ejecuciones de la funcin. Por ejemplo, la suma de dos valores dar el mismo resultado en cada ejecucin. Ciertas funciones elementales se pueden ampliar a ms de dos entradas. Las funciones elementales tienen un nico valor de retorno (salida). Parmetros Para transferir valores a una funcin o aplicarlos desde ella, es necesario utilizar varias entradas y una salida. A stas se les llama parmetros formales. Los estados de proceso actuales se transmiten a los parmetros formales. A stos se les llama parmetros reales.

Como parmetros reales para las entradas de la funcin se pueden utilizar: Variable Direccin Literal Expresin ST

Como parmetros reales para las salidas de la funcin se pueden utilizar: Variable Direccin

El tipo de datos de los parmetros reales debe coincidir con el tipo de datos de los parmetros formales. Las nicas excepciones son los parmetros formales genricos, cuyo tipo de datos est condicionado por el parmetro real. En el caso de los parmetros formales genricos ANY_BIT se pueden utilizar los parmetros reales de los tipos de datos INT y DINT (no UINT ni UDINT). Se trata de una ampliacin de la norma CEI 61131-3, que se debe habilitar de forma explcita. Ejemplo: Se admite: AND (AnyBitParam := IntVar1, AnyBitParam2 := IntVar2); No se admite: AND_WORD (WordParam1 := IntVar1, WordParam2 := IntVar2); (En este caso se debe utilizar AND_INT). AND_ARRAY_WORD (ArrayInt, ...);

35006147 10/2013

627

Texto estructurado (ST)

(En este caso se debe realizar una conversin de tipo explcita a travs de INT_ARR_TO_WORD_ARR (...);). En principio, no es necesario asignar un valor a todos los parmetros formales. Los tipos de parmetros formales a los que debe asignarse un valor estn en esta tabla:
Tipo de parmetro Entrada VAR_IN_OUT Salida + / EDT + STRING + ARRAY + ANY_ARRAY IODDT + + + STRUCT FB + + / / ANY + -

Parmetro real requerido obligatoriamente Parmetro real no requerido obligatoriamente No es aplicable

Si no se asigna un valor a un parmetro formal, durante la ejecucin del bloque de funciones se utiliza el valor inicial. Si no se ha definido ningn valor inicial, se aplicar el valor predeterminado (0). Notas sobre la programacin Tenga en cuenta lo siguiente: Todas las funciones genricas estn sobrecargadas. Es decir, las funciones se pueden llamar con o sin la indicacin del tipo de datos. P. ej. i1 := ADD (i2, 3); es idntico a i1 := ADD_INT (i2, 3); Las funciones se pueden intercalar (consulte tambin (vase pgina 631)). Las funciones slo se ejecutan si la entrada EN = 1 o si la entrada EN no se utiliza (consulte tambin EN and ENO (vase pgina 631)). Hay dos formas de llamar una funcin: Llamada formal (llamada de una funcin con nombres de parmetros formales) Llamada informal (llamada de una funcin sin nombres de parmetros formales)

628

35006147 10/2013

Texto estructurado (ST)

Llamada formal Con este tipo de llamada (llamada con nombres de parmetros formales), la llamada est compuesta por el parmetro real de la salida seguido de la instruccin de asignacin :=, el nombre de la funcin y una lista entre parntesis con las asignaciones de valores (parmetros reales) al parmetro formal. La secuencia en la que se enumeran los parmetros formales en la llamada de funcin no es significativa. Con este tipo de llamada se puede utilizar EN y ENO. Llamada de una funcin con nombres de parmetros formales:

Llamada de la misma funcin en FBD:

Con la llamada formal no es necesario asignar un valor a todos los parmetros formales (consulte tambin Parameter (vase pgina 627)). out:=LIMIT (MN:=0, IN:=var1) ; Llamada de la misma funcin en FBD:

35006147 10/2013

629

Texto estructurado (ST)

Llamada informal Con este tipo de llamada (llamada sin nombres de parmetros formales), la llamada est compuesta por el parmetro real de la salida seguido del smbolo de la instruccin de asignacin :=, el nombre de la funcin y una lista entre parntesis de los parmetros reales de las entradas. La secuencia en la que se enumeran los parmetros reales en una llamada de funcin es significativa. Con este tipo de llamada no se puede utilizar EN ni ENO. Llamada de una funcin sin nombres de parmetros formales:

Llamada de la misma funcin en FBD:

Con la llamada informal tampoco es necesario asignar un valor a todos los parmetros formales (consulte tambin Parameter (vase pgina 627)). Se trata de una ampliacin de la norma CEI 61131-3, que se debe habilitar de forma explcita. Para excluir un parmetro se utiliza un campo de parmetros vaco. Llamada con campo de parmetros vaco: out:=LIMIT ( ,var1, 5 + var) ; Llamada de la misma funcin en FBD:

Si se suprimen los parmetros formales al final, no se tiene que utilizar un campo de parmetros vaco. out:=LIMIT (0, var1) ; Llamada de la misma funcin en FBD:

630

35006147 10/2013

Texto estructurado (ST)

Intercalado de funciones La llamada de una funcin puede contener la llamada de otras funciones. La profundidad de intercalado no est limitada. Llamada de una funcin de matriz intercalada: out:=LIMIT (MN:=4, IN:=MUL(IN1:=var1, IN2:=var2), MX:=5) ; Llamada de la misma funcin en FBD:

Las funciones que emiten valores del tipo de datos ANY_ARRAY no se pueden utilizar dentro de una llamada de funcin. Intercalado no admitido con ANY_ARRAY:

Como valor de retorno de la funcin que se ha llamado o como parmetro de las funciones intercaladas se puede utilizar ANY_ARRAY. Intercalado admitido con ANY_ARRAY:

EN y ENO En todas las funciones se puede configurar una entrada EN y una salida ENO. Si el valor de EN es "0", al llamar la funcin no se ejecutarn los algoritmos definidos por dicha funcin, y ENO se establecer en "0". Si el valor de EN es "1", al llamar la funcin se ejecutarn los algoritmos definidos por dicha funcin. Si no hay problemas en la ejecucin de estos algoritmos, el valor de ENO se establecer en "1". Si se produce un error durante la ejecucin de los algoritmos, ENO se establecer en "0". Si el pin EN no tiene asignado ningn valor, al llamar el FFB, se ejecuta el algoritmo definido por el FFB (lo mismo ocurre si EN es igual a "1"). Si ENO est establecido en "0" (porque EN=0 o debido a un error en la ejecucin), la salida de la funcin se establecer en "0". El comportamiento en la salida de la funcin no depende de si la funcin se ha llamado sin EN/ENO o con EN = 1. Si se va a utilizar EN/ENO, la llamada de la funcin deber ser formal.
35006147 10/2013

631

Texto estructurado (ST)

out:=LIMIT (EN:=1, MN:=0, IN:=var1, MX:=5, ENO=>var2) ; Llamada de la misma funcin en FBD:

632

35006147 10/2013

Texto estructurado (ST)

Llamada de bloques de funciones elementales y bloques de funciones derivados


Bloque de funcin elemental Los bloques de funciones elementales poseen estados internos. Si las entradas tienen los mismos valores, el valor de la salida puede ser otro durante las operaciones individuales. Por ejemplo, con un contador aumenta el valor de la salida. Los bloques de funciones pueden disponer de varios valores de retorno (salidas). Bloque de funcin derivado Los bloques de funciones derivados (DFB) presentan las mismas propiedades que los bloques de funciones elementales. Sin embargo, el usuario los crea en los lenguajes de programacin FBD, LD, IL o ST. Parmetros Para transferir valores a un bloque de funciones o aplicarlos desde l, es necesario utilizar entradas y salidas. A stas se les llama parmetros formales. Los estados de proceso actuales se transmiten a los parmetros formales. Se conocen como parmetros reales. Como parmetros reales para las entradas del bloque de funciones se pueden utilizar: Variable Direccin Literal

Como parmetros reales para las salidas del bloque de funciones se pueden utilizar: Variable Direccin

El tipo de datos de los parmetros reales debe coincidir con el tipo de datos de los parmetros formales. Las nicas excepciones son los parmetros formales genricos, cuyo tipo de datos est condicionado por el parmetro real. En el caso de los parmetros formales genricos ANY_BIT se pueden utilizar los parmetros reales de los tipos de datos INT y DINT (no UINT ni UDINT). Se trata de una ampliacin de la norma CEI 61131-3, que se debe habilitar de forma explcita. Ejemplo: Se admite: AND (AnyBitParam := IntVar1, AnyBitParam2 := IntVar2); No se admite: AND_WORD (WordParam1 := IntVar1, WordParam2 := IntVar2); (En este caso se debe utilizar AND_INT). AND_ARRAY_WORD (ArrayInt, ...);
35006147 10/2013

633

Texto estructurado (ST)

(En este caso se debe realizar una conversin de tipo explcita a travs de INT_ARR_TO_WORD_ARR (...);). En principio, no es necesario asignar un valor a todos los parmetros formales. Los tipos de parmetros formales a los que debe asignarse un valor estn en la tabla siguiente:
Tipo de parmetro EFB: Entrada EFB: VAR_IN_OUT EFB: Salida DFB: Entrada DFB: Salida + / EDT STRING + + + ARRAY + + + + ANY_ARRAY IODDT + + + / / + + / + / STRUCT FB + + / / / / / / ANY + + + +

DFB: VAR_IN_OUT +

Parmetro real requerido obligatoriamente Parmetro real no requerido obligatoriamente No es aplicable

Si no se asigna un valor a un parmetro formal, durante la ejecucin del bloque de funciones se utilizar el valor inicial. Si no se ha definido ningn valor inicial, se aplicar el valor predeterminado (0). Si un parmetro formal no tiene asignado ningn valor y el bloque de funciones/DFB se ha instanciado varias veces, las instancias que se ejecuten a partir de ese momento trabajarn con el valor antiguo. Variables pblicas Adems de las entradas y salidas, algunos bloques de funciones tambin disponen de las denominadas variables pblicas. Estas variables sirven para transmitir valores estadsticos (valores no influidos por el proceso) al bloque de funciones. Se utilizan para la parametrizacin del bloque de funciones. Las variables pblicas son una ampliacin de la norma CEI 61131-3. La asignacin de valores a las variables pblicas se realiza mediante sus valores iniciales o a travs de asignaciones. Ejemplo:

La lectura de los valores de las variables pblicas se realiza a travs del nombre de instancia del bloque de funciones y a travs del nombre de las variables pblicas.
634
35006147 10/2013

Texto estructurado (ST)

Ejemplo:

Variables privadas Adems de las entradas, las salidas y las variables pblicas, algunos bloques de funciones tambin disponen de las denominadas variables privadas. Al igual que las variables pblicas, las privadas se utilizan para transferir valores estadsticos (valores no influidos por el proceso) al bloque de funciones. El programa de usuario no puede acceder a las variables privadas. Slo se puede acceder a este tipo de variables mediante la tabla de animacin. NOTA: Los DFB intercalados se declaran como variables privadas del DFB principal. Por tanto, tampoco se puede acceder a sus variables a travs de la programacin, sino a travs de la tabla de animacin. Las variables privadas son una ampliacin de la norma CEI 61131-3. Notas sobre la programacin Tenga en cuenta las siguientes indicaciones sobre la programacin: Los bloques de funciones solo se ejecutan si la salida EN = 1, o bien no se utiliza (vase pgina 639). La asignacin de variables a tipos de salida ANY o MATRIZ debe realizarse con el operador =>. No es posible realizar una asignacin fuera de la llamada de bloque de funciones. La instruccin My_Var := My_SAH.OUT; no es vlida si la salida OUT del bloque de funciones SAH es del tipo ANY. La instruccin Cal My_SAH (OUT=>My_Var); es, por el contrario, vlida. Si se utilizan variables VAR_IN_OUT (vase pgina 640), se imponen condiciones especiales. La utilizacin de los bloques de funciones en ST consta de dos partes: Declaracin (vase pgina 636) Llamada del bloque de funciones

35006147 10/2013

635

Texto estructurado (ST)

Hay dos formas de llamar un bloque de funciones: Llamada formal (vase pgina 636) (llamada con nombres de parmetros formales) En este caso es posible asignar variables a las salidas mediante el operador =>. Llamada informal (vase pgina 637) (llamada sin nombres de parmetros formales) Las instancias de bloques de funciones/DBF se pueden llamar varias veces (vase pgina 639), excepto las instancias de EFB de comunicaciones, que solo se pueden llamar una nica vez.

Declaracin Antes de llamar un bloque de funciones es necesario declararlo primero en el editor de variables. Llamada formal Con las llamadas formales (llamadas con nombres de parmetros formales), los bloques de funciones se llaman por medio de una instruccin formada por el nombre de instancia del bloque de funciones, seguido por una lista entre parntesis de asignaciones de parmetros reales a los parmetros formales. Asigne los parmetros formales de entrada mediante el operador :=, y asigne los parmetros formales de salida mediante el operador =>. La secuencia en la que se enumeran los parmetros formales de entrada y de salida no es significativa. Con este tipo de llamada se puede utilizar EN y ENO. Llamada de un bloque de funciones con nombres de parmetros formales:

Llamada del mismo bloque de funciones en FBD:

La asignacin del valor de una salida de bloque de funciones se realiza mediante la introduccin del nombre del parmetro real, seguido de la instruccin de asignacin := y, despus, del nombre de la instancia del bloque de funcin, as como mediante la carga del parmetro formal de la salida del bloque de funcin (separado por un punto). P. ej.,

636

35006147 10/2013

Texto estructurado (ST)

MY_COUNT (CU:=var1, R:=reset, PV:=100 + value); Q := MY_COUNT.out ; CV := MY_COUNT.current ; NOTA: Los DDT de matriz de tipo no se pueden asignar de este modo. Sin embargo, s se pueden asignar los DDT de estructura de tipo. No es necesario asignar un valor a todos los parmetros (vase pgina 633) formales. MY_COUNT (CU:=var1, R:=reset, Q=>out, CV=>current); Llamada del mismo bloque de funciones en FBD:

Llamada informal Con la llamada informal (llamada sin nombres de parmetros formales), los bloques de funciones se llaman por medio de una instruccin formada por el nombre de instancia del bloque de funciones, seguido por una lista entre parntesis de parmetros reales de las entradas y salidas. La secuencia en la que se enumeran los parmetros reales en una llamada de bloque de funciones es significativa. Con este tipo de llamada no se puede utilizar EN ni ENO. Llamada de un bloque de funciones sin parmetros formales:

Llamada del mismo bloque de funciones en FBD:

Con la llamada informal tampoco es necesario asignar un valor a todos los parmetros (vase pgina 633) formales. Esto no se aplica a las variables VAR_IN_OUT ni a los parmetros de entrada con longitudes dinmicas y salidas del tipo ANY. Siempre se le debe asignar una variable.
35006147 10/2013

637

Texto estructurado (ST)

Se trata de una ampliacin de la norma CEI 61131-3, que se debe habilitar de forma explcita. Para excluir un parmetro se utiliza un campo de parmetros vaco. Llamada con campo de parmetros vaco: MY_COUNT (var1, , 100 + value, out, current) ; Llamada del mismo bloque de funciones en FBD:

Si se suprimen los parmetros formales al final, no se tiene que utilizar un campo de parmetros vaco. MY_COUNT (var1, reset) ; Llamada del mismo bloque de funciones en FBD:

Llamada de un bloque de funciones sin entradas Aunque el bloque de funciones no tenga ninguna entrada o no sea necesario parametrizar sus entradas, hay que llamar el bloque de funciones para poder utilizar sus salidas. De lo contrario, se transmitirn los valores iniciales de las salidas, es decir "0". Ejemplo: Llamada de los bloques de funciones en ST: MY_CLOCK () ;MY_COUNT (CU:=MY_CLOCK.CLK1, R:=reset, PV:=100, Q=>out, CV=>current) ; Llamada del mismo bloque de funciones en FBD:

638

35006147 10/2013

Texto estructurado (ST)

Llamada mltiple de una instancia de bloque de funciones Las instancias de bloques de funciones/DBF se pueden llamar varias veces, excepto las instancias de EFB de comunicaciones, que slo se pueden llamar una nica vez. La llamada mltiple de una misma instancia de bloque de funciones/DFB resulta conveniente, por ejemplo, en los siguientes casos: Cuando el bloque de funciones/DFB no posee ningn valor interno o los valores internos no son necesarios para continuar el procesamiento. En este caso, la llamada mltiple de una misma instancia de bloque de funcin/DFB permite ahorrar espacio en memoria, ya que el cdigo del bloque de funcin/DFB slo se carga una vez. El bloque de funciones/DFB se procesa, por as decirlo, como una funcin. Cuando el bloque de funciones/DFB contiene valores internos y stos se deben modificar en varios puntos del programa, por ejemplo, si el valor de un contador se debe aumentar en diversos puntos del programa. En este caso, con la llamada mltiple de la misma instancia de bloque de funciones/DFB no es necesario guardar los resultados intermedios para continuar el procesamiento en otra parte del programa. EN y ENO En todos los bloques de funciones/DFB se puede configurar una entrada EN y una salida ENO. Si el valor de EN es "0", al llamar el bloque de funciones/DFB no se ejecutarn los algoritmos definidos por dicho bloque de funciones/DFB, y ENO se establecer en "0". Si el valor de EN es "1", al llamar el bloque de funciones/DFB se ejecutarn los algoritmos definidos por dicho bloque de funciones/DFB. Una vez que se han ejecutado los algoritmos correctamente, el valor de ENO pasa a "1". Si se produce un error al ejecutar los algoritmos, ENO ser "0". Si el pin EN no tiene asignado ningn valor, al llamar el FFB, se ejecuta el algoritmo definido por el FFB (lo mismo ocurre si EN es igual a "1"). Si ENO se establece en "0" (debido a que EN es igual a 0 o a un error producido durante la ejecucin), las salidas del bloque de funciones/DFB conservan el estado que tenan en el ltimo ciclo ejecutado correctamente. El comportamiento en la salida de los bloques de funciones/DFB no depende de si los bloques de funciones/DFB se han llamado sin EN/ENO o con EN = 1. Si se va a utilizar EN/ENO, la llamada del bloque de funciones deber ser formal. La asignacin de una variable a ENO debe realizarse con el operador =>. MY_COUNT (EN:=1, CU:=var1, R:=reset, PV:=100 + value, ENO=>error, Q=>out, CV=>current) ;

35006147 10/2013

639

Texto estructurado (ST)

Llamada del mismo bloque de funciones en FBD:

Variable VAR_IN_OUT A menudo, los bloques de funciones se utilizan para leer una variable en la entrada (variables de entrada), procesarla y volver a emitir los valores modificados de la misma variable (variables de salida). Este caso especfico de variable de entrada/salida tambin se denomina variable VAR_IN_OUT. Tenga en cuenta las siguientes particularidades al utilizar bloques de funciones/DFB con variables VAR_IN_OUT: Hay que asignar obligatoriamente una variable a todas las entradas VAR_IN_OUT. No se puede asignar ningn literal ni ninguna constante a las entradas VAR_IN_OUT. No es posible asignar ningn valor a las salidas VAR_IN_OUT. Las variables VAR_IN_OUT no se pueden utilizar fuera de la llamada de un bloque de funciones. Llamada de un bloque de funciones con variable VAR_IN_OUT en ST: MY_FBLOCK(IN1:=V1, IN2:=V2, IO1:=V3, OUT1=>V4, OUT2=>V5); Llamada del mismo bloque de funciones en FBD:

Las variables VAR_IN_OUT no se pueden utilizar fuera de la llamada de un bloque de funciones. Por este motivo, las siguientes llamadas de bloque de funciones no son vlidas: Llamada no vlida, ejemplo 1:
InOutFB.inout := V1; Asignacin de las variables V1 a un parmetro VAR_IN_OUT. Error: No se puede ejecutar la operacin porque no es posible acceder al parmetro VAR_IN_OUT fuera de la llamada del bloque de funciones.

640

35006147 10/2013

Texto estructurado (ST)

Llamada no vlida, ejemplo 2:


V1 := InOutFB.inout; Asignacin de un parmetro VAR_IN_OUT a la variable V1. Error: No se puede ejecutar la operacin porque no es posible acceder al parmetro VAR_IN_OUT fuera de la llamada del bloque de funciones.

Por el contrario, las siguientes llamadas del bloque de funciones son siempre vlidas: Llamada vlida, ejemplo 1:
InOutFB (inout:=V1); Llamada de un bloque de funciones con el parmetro VAR_IN_OUT y con asignacin formal del parmetro real dentro de la llamada del bloque de funciones.

Llamada vlida, ejemplo 2:


InOutFB (V1); Llamada de un bloque de funciones con el parmetro VAR_IN_OUT y con asignacin informal del parmetro real dentro de la llamada del bloque de funciones.

35006147 10/2013

641

Texto estructurado (ST)

Procedimientos
Procedimiento Los procedimientos estn disponibles en forma de bibliotecas. La lgica de los procedimientos se define en el lenguaje de programacin C y no se puede modificar en el editor ST. Los procedimientos, al igual que las funciones, no tienen estados internos. Si los valores de las entradas son idnticos, el valor de la salida ser el mismo en todas las ejecuciones del procedimiento. Por ejemplo, la suma de dos valores dar el mismo resultado en cada ejecucin. Al contrario de lo que sucede con las funciones, los procedimientos no emiten valores de retorno y admiten variables VAR_IN_OUT. Los procedimientos son una ampliacin de la norma CEI 61131-3 y se deben habilitar de forma explcita. Parmetro Para transferir valores a un procedimiento o aplicarlos desde l, es necesario utilizar entradas y salidas. A stas se les llama parmetros formales. Los estados de proceso actuales se transmiten a los parmetros formales. A stos se les llama parmetros reales. Como parmetros reales para las entradas de un procedimiento se pueden utilizar: Variable Direccin Literal Expresin ST

Como parmetros reales para las salidas de un procedimiento se pueden utilizar: Variable Direccin El tipo de datos de los parmetros reales debe coincidir con el tipo de datos de los parmetros formales. Las nicas excepciones son los parmetros formales genricos, cuyo tipo de datos est condicionado por el parmetro real. En el caso de los parmetros formales genricos ANY_BIT se pueden utilizar los parmetros reales de los tipos de datos INT y DINT (no UINT ni UDINT). Se trata de una ampliacin de la norma CEI 61131-3, que se debe habilitar de forma explcita. Ejemplo: Se admite: AND (AnyBitParam := IntVar1, AnyBitParam2 := IntVar2); No se admite: AND_WORD (WordParam1 := IntVar1, WordParam2 := IntVar2); (En este caso se debe utilizar AND_INT).
642
35006147 10/2013

Texto estructurado (ST)

AND_ARRAY_WORD (ArrayInt, ...); (En este caso se debe realizar una conversin de tipo explcita a travs de INT_ARR_TO_WORD_ARR (...);). En principio, no es necesario asignar un valor a todos los parmetros formales. En la tabla encontrar los tipos de parmetros formales que s lo requieren obligatoriamente.
Tipo de parmetro Entrada VAR_IN_OUT Salida + / EDT + STRING + ARRAY + + ANY_ARRAY IODDT + + + + STRUCT FB + + + / / ANY + + +

Parmetro real requerido obligatoriamente Parmetro real no requerido obligatoriamente No es aplicable

Si no se asigna un valor a un parmetro formal, durante la ejecucin del bloque de funciones se utilizar el valor inicial. Si no se ha definido ningn valor inicial, se aplicar el valor predeterminado (0). Notas sobre la programacin Tenga en cuenta las siguientes indicaciones sobre la programacin: Los procedimientos slo se ejecutan si la entrada EN = 1 o si la entrada EN no se utiliza (consulte tambin EN y ENO, pgina 646). Si se utilizan variables VAR_IN_OUT (vase pgina 646), se imponen condiciones especiales. Hay dos formas de llamar los procedimientos: Llamada formal (vase pgina 643) (llamada con nombres de parmetros formales) En este caso es posible asignar variables a las salidas mediante el operador =>. Llamada informal (vase pgina 644) (llamada sin nombres de parmetros formales) Llamada formal Con este tipo de llamada (llamada con nombres de parmetros formales), los procedimientos se llaman por medio de una instruccin compuesta por el nombre del procedimiento seguido de una lista entre parntesis con asignaciones de parmetros reales a los parmetros formales. La asignacin de los parmetros formales de entrada se realiza mediante la asignacin :=, y la asignacin de los parmetros formales de salida, mediante la asignacin =>. La secuencia en la que se enumeran los parmetros formales de entrada y de salida no es significativa. Con este tipo de llamada se puede utilizar EN y ENO.

35006147 10/2013

643

Texto estructurado (ST)

Llamada de un procedimiento con nombres de parmetros formales:

Llamada del mismo procedimiento en FBD:

Con la llamada informal no es necesario asignar un valor a todos los parmetros formales (consulte tambin Parmetro, pgina 642). PROC (IN1:=var1, OUT1=>result1, OUT2=>result2); Llamada del mismo procedimiento en FBD:

Llamada informal Con este tipo de llamada (llamada sin nombres de parmetros formales), los procedimientos se llaman por medio de una instruccin compuesta por el nombre del procedimiento, seguido de una lista entre parntesis de los parmetros reales de las entradas y las salidas. La secuencia en la que se enumeran los parmetros reales en una llamada de procedimiento es significativa. Con este tipo de llamada no se puede utilizar EN ni ENO. Llamada de un procedimiento sin nombres de parmetros formales:

644

35006147 10/2013

Texto estructurado (ST)

Llamada del mismo procedimiento en FBD:

Con la llamada informal tampoco es necesario asignar un valor a todos los parmetros formales (consulte tambin Parmetro, pgina 642). Se trata de una ampliacin de la norma CEI 61131-3, que se debe habilitar de forma explcita. Para excluir un parmetro se utiliza un campo de parmetros vaco. Llamada con campo de parmetros vaco: PROC (var1, , result1, result2) ; Llamada del mismo procedimiento en FBD:

Si se suprimen los parmetros formales al final, no se tiene que utilizar un campo de parmetros vaco. PROC (var1, var2, result1) ; Llamada del mismo procedimiento en FBD:

35006147 10/2013

645

Texto estructurado (ST)

EN y ENO En todos los procedimientos se puede configurar una entrada EN y una salida ENO. Si el valor de EN es "0", al llamar el procedimiento no se ejecutarn los algoritmos definidos por dicho procedimiento, y ENO se establecer en "0". Si el valor de EN es "1", al llamar el procedimiento se ejecutarn los algoritmos con los que se haya definido dicho procedimiento. Si no hay problemas en la ejecucin de estos algoritmos, el valor de ENO se establecer en "1". Si se produce un error durante la ejecucin de los algoritmos, ENO se establecer en "0". Si el pin EN no tiene asignado ningn valor, al llamar el FFB, se ejecuta el algoritmo definido por el FFB (lo mismo ocurre si EN es igual a "1"). Si ENO est establecido en "0" (porque EN=0 o debido a un error en la ejecucin), las salidas del procedimiento se establecern en "0". El comportamiento de salida del procedimiento no depende de si el procedimiento se ha ejecutado sin EN o con EN=1. Si se va a utilizar EN/ENO, la llamada del procedimiento deber ser formal. La asignacin de una variable a ENO debe realizarse con el operador =>. PROC (EN:=1, IN1:=var1, IN2:=var2, ENO=>error, OUT1=>result1, OUT2=>result2) ; Llamada del mismo procedimiento en FBD:

Variable VAR_IN_OUT A menudo, los procedimientos se utilizan para leer una variable en la entrada (variables de entrada), procesarla y volver a emitir los valores modificados de la misma variable (variables de salida). Este caso especfico de variable de entrada/salida tambin se denomina variable VAR_IN_OUT. Tenga en cuenta las siguientes particularidades cuando utilice procedimientos con variables VAR_IN_OUT: Hay que asignar obligatoriamente una variable a todas las entradas VAR_IN_OUT. No se puede asignar ningn literal ni ninguna constante a las entradas VAR_IN_OUT. No es posible asignar ningn valor a las salidas VAR_IN_OUT. Las variables VAR_IN_OUT no se pueden utilizar fuera de la llamada de procedimientos. Llamada de un procedimiento con variable VAR_IN_OUT en ST: PROC2 (IN1:=V1, IN2:=V2, IO1:=V3, OUT1=>V4, OUT2=>V5) ;

646

35006147 10/2013

Texto estructurado (ST)

Llamada del mismo procedimiento en FBD:

Las variables VAR_IN_OUT no se pueden utilizar fuera de la llamada de procedimientos. Por este motivo las siguientes llamadas de procedimientos no son vlidas: Llamada no vlida, ejemplo 1:
InOutProc.inout := V1; Asignacin de las variables V1 a un parmetro VAR_IN_OUT. Error: No se puede ejecutar la operacin porque no es posible acceder al parmetro VAR_IN_OUT fuera de la llamada del procedimiento.

Llamada no vlida, ejemplo 2:


V1 := InOutProc.inout; Asignacin de un parmetro VAR_IN_OUT a la variable V1. Error: No se puede ejecutar la operacin porque no es posible acceder al parmetro VAR_IN_OUT fuera de la llamada del procedimiento.

Por el contrario, las siguientes llamadas de procedimientos son siempre vlidas: Llamada vlida, ejemplo 1:
InOutProc (inout:=V1); Llamada de un procedimiento con el parmetro VAR_IN_OUT y asignacin formal del parmetro real dentro de la llamada de procedimientos.

Llamada vlida, ejemplo 2:


InOutProc (V1); Llamada de un procedimiento con el parmetro VAR_IN_OUT y asignacin informal del parmetro real dentro de la llamada de procedimientos.

35006147 10/2013

647

Texto estructurado (ST)

648

35006147 10/2013

Unity Pro DFB 35006147 10/2013

Parte V
Bloques de funciones del usuario (DFB)

Bloques de funciones del usuario (DFB)


En esta seccin En esta seccin se muestran:

Los bloques de funciones del usuario (DFB) La estructura interna de los DFB Los DFB de diagnstico Los tipos e instancias de DFB Las llamadas de las instancias mediante diferentes lenguajes

Contenido de esta parte Esta parte contiene los siguientes captulos:


Captulo 16 17 18 19 20 21 Nombre del captulo Presentacin de los bloques de funciones del usuario (DFB) Descripcin de los bloques de funciones del usuario (DFB) Instancia de los bloques de funciones del usuario (DFB) Utilizacin de los DFB a partir de los diferentes lenguajes de programacin DFB de diagnstico de usuario Conversin de tipos implcita en Unity Pro Pgina 651 657 669 677 695 697

35006147 10/2013

649

DFB

650

35006147 10/2013

Unity Pro Presentacin de los DFB 35006147 10/2013

Captulo 16
Presentacin de los bloques de funciones del usuario (DFB)

Presentacin de los bloques de funciones del usuario (DFB)


Objeto En este captulo se muestran los bloques de funciones del usuario (DFB) y las diferentes etapas de instalacin. Contenido de este captulo Este captulo contiene los siguiente apartados:
Apartado Introduccin a los bloques de funciones del usuario Implementacin de un bloque de funcin DFB Pgina 652 654

35006147 10/2013

651

Presentacin de los DFB

Introduccin a los bloques de funciones del usuario


Introduccin El software Unity Pro permite crear bloques de funcin de usuario DFB utilizando los lenguajes de automatismos. Un DFB es un bloque de programa que se ha escrito con el fin de responder a las caractersticas especficas de su aplicacin. Incluye:

una o varias secciones escritas en lenguaje de contactos (LD), en lista de instrucciones (IL), en literal estructurado (ST) o en lenguaje de bloques funcionales (FBD), parmetros de entradas/salidas y variables internas pblicas o privadas.

Los bloques de funcin permiten estructurar y mejorar la aplicacin. Se pueden utilizar desde el momento en el que una secuencia de programa se repite varia veces en la aplicacin o bien para configurar una programacin estndar (por ejemplo, el algoritmo de comando de un motor que incluya el reconocimiento de los mecanismos locales de seguridad). La exportacin y posterior importacin de estos bloques de funcin permite que los utilice un grupo de programadores que trabaje en una misma aplicacin o en aplicaciones diferentes. Ventajas de la utilizacin de un DFB El empleo de un bloque de funcin DFB en una aplicacin permite:

simplificar el diseo y el aprovechamiento del programa, aumentar la legibilidad del programa, facilitar la depuracin de la aplicacin (todas las variables introducidas por el bloque de funcin se identifican en la interfaz) y disminuir el volumen de cdigos generado (el cdigo correspondiente al DFB slo se carga una vez, sea cual fuere el nmero de llamadas al DFB en el programa; slo se generan los datos correspondientes a las instancias).

Comparacin con una subrutina En relacin con un subprograma, la utilizacin de un DFB permite:

parametrizar ms fcilmente el procesamiento, utilizar variables internas propias del DFB, es decir, independientes de la aplicacin, y comprobar su funcionamiento con independencia de la aplicacin.

Adems, los lenguajes LD y FBD permiten visualizar de forma grfica los DFB, lo que facilita el diseo y la depuracin del programa. DFB creados con los programas anteriores Los DFB creados con PL7 y Concept deben previamente convertirse con los convertidores incluidos en el producto antes de utilizarse en la aplicacin.

652

35006147 10/2013

Presentacin de los DFB

Campo de uso La tabla que aparece a continuacin describe el mbito de uso de los DFB.
Funcin Autmatas para los que se pueden utilizar los DFB. Programa de creacin de los DFB Programas con los que se pueden utilizar los DFB. Lenguaje de programacin para la creacin del cdigo de los DFB. Lenguajes de programacin con los que se pueden utilizar los DFB. mbito Premium\Atrium y Quantum Unity Pro Unity Pro o Unity Pro Medium IL, ST, LD o FBD (1) IL, ST, LD o FBD (1)

(1) IL: Lista de instrucciones, ST: literal estructurado, LD: Lenguaje de contactos (LaDder), FBD: lenguaje de Bloques Funcionales.

35006147 10/2013

653

Presentacin de los DFB

Implementacin de un bloque de funcin DFB


Procedimiento de implementacin El procedimiento de implementacin de un bloque de funciones DFB consta de 3 pasos:
Paso 1 2 3 Accin Crear el propio modelo de DFB (denominado: tipo de DFB). Crear una copia de dicho bloque de funcin, denominada instancia, para cada utilizacin del DFB en la aplicacin. Usar las instancias de DFB en el programa de aplicacin.

Creacin del tipo de DFB Esta operacin consiste en disear un modelo del DFB que desea utilizar en la aplicacin. Para ello, el editor de DFB permite definir y codificar todos los elementos que componen el DFB:

La descripcin del bloque de funcin: nombre, tipo (DFB), activacin del diagnstico, comentario. La estructura del bloque de funcin: parmetros, variables, secciones de cdigo.

NOTA: Si utiliza un DFB que ya se encuentra en la biblioteca definida por el usuario y lo modifica, el nuevo tipo modificado se utilizar para cualquier otra instancia del proyecto abierto. La biblioteca definida por el usuario, sin embargo, permanecer invariable. Descripcin de un tipo de DFB La ilustracin siguiente representa de forma grfica un modelo de DFB.

El bloque de funcin incluye los elementos siguientes:

Nombre: nombre del tipo de DFB (32 caracteres como mximo). Este nombre debe ser el nico en las libreras, los caracteres que se pueden utilizar dependen de la eleccin realizada en el rea Indentificadores de la ficha Extensiones de lenguaje en ajustes del proyecto (vase Unity Pro, Modalidades de funcionamiento): Entradas: parmetros de entradas (excluidos los parmetros de entradas/salidas).
35006147 10/2013

654

Presentacin de los DFB


Salidas: parmetros de salidas (excluidos los parmetros de entradas/salidas). Entradas/Salidas: parmetros de entradas/salidas. Variables pblicas: variables internas a las que se puede acceder a travs del programa de aplicacin. Variables privadas: variables internas o DFB enlazados, a los que no se puede acceder a travs del programa de aplicacin. Secciones: secciones de cdigo del DFB en lenguaje LD, IL, ST o FBD. Comentario de 1.024 caracteres como mximo. Los caracteres de formato (retorno, tabulacin, etc.) no estn permitidos.

Para cada tipo de DFB tambin se puede acceder a una ficha descriptiva a travs de un cuadro de dilogo: tamao del DFB, nmero de parmetros y variables, nmero de versin, fecha de la ltima modificacin, nivel de proteccin, etc. Ayuda en lnea para los tipos de DFB Es posible vincular un fichero de ayuda HTML a cada DFB en la biblioteca definida por el usuario. Dicho fichero debe: Tener un nombre idntico al del DFB vinculado, Ubicarse en el directorio \Schneider Electric\FFBLibset\CustomLib\MyCustomFam\ Idioma (dndeIdioma se denominaEng, Fre, Ger, Ita, Spa o Chs segn el idioma deseado). Creacin de una instancia de DFB Una vez creado el tipo DFB, se puede definir una instancia del DFB con la ayuda del editor de variables o en el momento de llamar a la funcin en el editor de programa. Utilizacin de las instancias de DFB Una instancia del DFB se utiliza a continuacin

como un bloque de funcin estndar en lenguaje de contactos LD o diagrama de bloques de funcin FBD, como una funcin elemental en lenguaje literal estructurado ST o lista de instrucciones IL.

Se puede utilizar una instancia de DFB en todas las tareas del programa de aplicacin, excepto en las tareas de sucesos y las transiciones del diagrama funcional en secuencia SFC. Fichero Los tipos de DFB que cree el usuario se pueden almacenar (vase Unity Pro, Modalidades de funcionamiento) en la librera de funcin y de bloque de funciones.

35006147 10/2013

655

Presentacin de los DFB

656

35006147 10/2013

Unity Pro Descripcin de los DFB 35006147 10/2013

Captulo 17
Descripcin de los bloques de funciones del usuario (DFB)

Descripcin de los bloques de funciones del usuario (DFB)


Objeto En este captulo se muestran los diferentes elementos que componen los bloques de funciones del usuario. Contenido de este captulo Este captulo contiene los siguiente apartados:
Apartado Definicin de datos internos de bloques de funciones DFB Parmetros de DFB Variables de DFB Seccin de cdigo de DFB Pgina 658 660 664 666

35006147 10/2013

657

Descripcin de los DFB

Definicin de datos internos de bloques de funciones DFB


Introduccin Los datos internos de los DFB son de dos tipos: Parmetros: entrada, salida o entrada/salida. Variables pblicas o privadas.

Es necesario definir los datos internos del DFB de forma simblica (estos datos no pueden enviarse como direccin). Elementos que se deben definir para cada parmetro Cuando se crea un bloque de funcin, se debe definir para cada uno de los parmetros: Nombre: nombre del tipo de DFB (32 caracteres como mximo). Dicho nombre debe ser nico en las bibliotecas, los caracteres que se pueden utilizar dependen de la eleccin realizada en el rea Identificadores de la ficha Extensiones de lenguaje en Ajustes del proyecto (vase Unity Pro, Modalidades de funcionamiento): Un tipo de objeto (BOOL, INT, REAL, etc.) Un comentario opcional con un mximo de 1.024 caracteres. Los caracteres de formato (retorno, tabulacin, etc.) no estn permitidos. Un valor inicial El atributo de lectura/escritura que define si la variable se puede escribir en la pantalla de ejecucin: L (slo lectura) o L/E (lectura/escritura). Este atributo slo debe definirse para las variables pblicas. El atributo de almacenamiento que define si la variable se puede guardar. Tipos de objetos Los tipos de objetos que se pueden definir para los parmetros de DFB pertenecen a las siguientes familias: Familia de datos elementales: EDT. Esta familia incluye los siguientes tipos de objetos: Booleano (BOOL, EBOOL), Entero (INT, DINT, etc.), Real (REAL), Cadena de caracteres (STRING), Cadena de bits (BYTE, WORD, etc.), entre otros. Familia de datos derivados: DDT. Esta familia incluye los tipos de objeto de matriz (ARRAY) y estructura (usuario o IODDT). Familias de datos genricos: ANY_ARRAY_xxx. Familia de los bloques de funciones: FB. Esta familia agrupa los tipos de objeto EFB y DFB.

658

35006147 10/2013

Descripcin de los DFB

Objetos permitidos para los diferentes parmetros Por motivos de rendimiento, el modo de direccionamiento de los parmetros de DFB se debe transferir mediante direccin para las familias de objetos siguientes: Entradas Entradas/Salidas Salidas El modo de direccionamiento de un elemento de bloque de funcin est vinculado al tipo de elemento. Los modos de direccionamiento se procesan: Por valor (VAL) Por entrada de la tabla de reubicacin (RTE) Por direccin lgica: RTE + Offset (L-ADR) Por direccin lgica y nmero de elementos (L-ADR-LG) Por estructura de canales de E/S (IOCHS) Para cada uno de los parmetros de DFB, se pueden utilizar las familias de objetos siguientes con sus modos de direccionamiento asociados:
Familias de objetos Entradas Entradas/ salidas Salidas Variables pblicas Variables privadas Leyenda: (1) (2) Familia de datos derivados, excepto los datos de entrada/salida derivados (IODDT). Excepto para las variables estticas de tipo EBOOL, con los PLC Quantum. EDT VAL STRING Annimo o DDT (1) matriz DDT L-ADR L-ADR VAL VAL VAL IODDT No GDT: FB ANY_ARRAY_x L-ADR-LG No No No No RTE ANY... L-ADR-LG L-ADR-LG L-ADR-LG No No

L-ADR-LG L-ADR-LG

L-ADR(2) L-ADR-LG L-ADR-LG VAL VAL VAL VAL VAL VAL L-ADR-LG VAL VAL

IOCHS L-ADR-LG (vase pgina 681) No No No L-ADR-LG No No

ATENCIN
COMPORTAMIENTO INESPERADO DE LA APLICACIN: NDICE DE MATRIZ Tenga en cuenta el desplazamiento del ndice para las variables de matriz con ndice de inicio no nulo en una entrada ANY_ARRAY_x (el desplazamiento corresponde al valor del ndice de inicio). El incumplimiento de estas instrucciones puede causar lesiones o dao al equipo.

35006147 10/2013

659

Descripcin de los DFB

Parmetros de DFB
Ilustracin Esta ilustracin presenta ejemplos de parmetros de DFB.

Descripcin de parmetros En la tabla siguiente se describe la funcin de cada tipo de parmetro:


Parmetros Entradas Nmero mximo 32 (1) Funcin Estos parmetros permiten pasar valores del programa de aplicacin al programa interno del DFB. Se puede acceder a ellos en modalidad de lectura a travs del DFB, pero no a travs del programa de aplicacin. Estos parmetros permiten pasar valores del DFB al programa de aplicacin. Se puede acceder a ellos en modalidad de lectura a travs del programa de aplicacin, excepto en el caso de los parmetros de tipo de ARRAY. Estos parmetros permiten pasar los datos del programa de aplicacin al DFB, que los puede modificar y pasarlos de nuevo al programa de aplicacin. Slo se puede acceder a estos parmetros a travs del programa de aplicacin.

Salidas

32 (2)

Entradas/Salidas

32

Leyenda: (1) Nmero de entradas + nmero de entradas/salidas inferior o igual a 32. (2) Nmero de salidas + nmero de entradas/salidas inferior o igual a 32. NOTA: El IODDT relacionado con los dispositivos CANopen para Modicon M340 no puede usarse como un dispositivo de E/S DFB. Durante la fase de anlisis y generacin de un proyecto, el mensaje: "Este IODDT no puede usarse como parmetro DFB" advierte de las limitaciones al usuario.
660

35006147 10/2013

Descripcin de los DFB

Parmetros a los que se puede acceder a travs del programa de aplicacin Los nicos parmetros a los que se puede acceder a travs del programa de aplicacin fuera de la llamada son los parmetros de salidas. Para ello, se debe utilizar la sintaxis siguiente en el programa: Nombre_DFB.Nombre_parmetro. Nombre_DFB representa el nombre de la instancia del DFB utilizado (32 caracteres como mximo). Nombre_parmetro representa el nombre del parmetro de salida (32 caracteres como mximo). Ejemplo: Control.Acel indica la salida Acel de la instancia DFB denominada Control. Caso de los parmetros EN y ENO EN es un parmetro de entrada y ENO es un parmetro de salida. Ambos son de tipo BOOL y se pueden utilizar o no (opcional) al definir un tipo de DFB. En caso de que el usuario desee utilizarlos, el editor los coloca automticamente; EN es el primer parmetro de entrada y ENO el primer parmetro de salida. Ejemplo de ejecucin de los parmetros EN/ENO.

Si el parmetro de entrada EN de una instancia recibe el valor 0 (FALSE):


las secciones que constituyen el cdigo del DFB no se ejecutan (se gestiona a travs del sistema), el sistema pone el parmetro de salida ENO en el estado 0 (FALSE). las secciones que constituyen el cdigo del DFB se ejecutan (se gestiona a travs del sistema), el sistema pone el parmetro de salida ENO en el estado 1 (TRUE).

Si el parmetro de entrada EN de una instancia recibe el valor 1 (TRUE):


Si se detecta un error (error de proceso, por ejemplo) por la instancia del DFB, el usuario puede, si as lo desea, poner el parmetro de salida ENO en el estado 0 (FALSE). En este caso:

35006147 10/2013

661

Descripcin de los DFB


los parmetros de salidas se fijan en el estado que tenan en el tratamiento anterior hasta la desaparicin del fallo, o bien, el usuario prev en el cdigo del DFB un forzado de las salidas en el estado que desee hasta la desaparicin del fallo.

Variable VAR_IN_OUT A menudo, los bloques de funciones se utilizan para leer una variable en la entrada (variables de entrada), procesarla y volver a emitir los valores modificados de la misma variable (variables de salida). Este caso especfico de variable de entrada/salida tambin se denomina variable VAR_IN_OUT. Tenga en cuenta las siguientes particularidades al utilizar bloques de funciones/DFB con variables VAR_IN_OUT: Hay que asignar obligatoriamente una variable a todas las entradas VAR_IN_OUT. No se puede asignar ningn literal ni ninguna constante a las entradas VAR_IN_OUT. No es posible asignar ningn valor a las salidas VAR_IN_OUT. Las variables VAR_IN_OUT no se pueden utilizar fuera de la llamada de bloque. Llamada de un bloque de funciones con variable VAR_IN_OUT en IL: CAL MY_FBLOCK(IN1:=V1, IN2:=V2, IO1:=V3, OUT1=>V4, OUT2=>V5) Llamada del mismo bloque de funciones en FBD:

Las variables VAR_IN_OUT no se pueden utilizar fuera de la llamada de un bloque de funciones. Por este motivo las siguientes llamadas de bloque de funciones son invlidas: Llamada invlida, ejemplo 1.
LD V1 CAL InOutFB Carga de la variable V1 en el acumulador. Llamada de un bloque de funciones con parmetros VAR_IN_OUT. El acumulador est cargado ahora con la referencia a un parmetro VAR_IN_OUT. Operacin AND del contenido del acumulador con la variable V2. Error: No se puede realizar la operacin porque no es posible acceder al parmetro VAR_IN_OUT (contenido del acumulador) fuera de la llamada del bloque de funciones.

AND V2

662

35006147 10/2013

Descripcin de los DFB

Llamada invlida, ejemplo 2.


LD V1 AND InOutFB.inout Carga de la variable V1 en el acumulador. Operacin AND del contenido del acumulador con la referencia a un parmetro VAR_IN_OUT. Error: No se puede realizar la operacin porque no es posible acceder al parmetro VAR_IN_OUT fuera de la llamada del bloque de funciones.

Por el contrario, las siguientes llamadas del bloque de funciones son vlidas: Llamada vlida, ejemplo 1.
CAL InOutFB (IN1:=V1,inout:=V2 Llamada de un bloque de funciones con parmetro VAR_IN_OUT y asignacin de los parmetros actuales dentro de la llamada del bloque de funciones.

Llamada vlida, ejemplo 2.


LD V1 ST InOutFB.IN1 CAL InOutFB(inout:=V2) Carga de la variable V1 en el acumulador. Asignacin del contenido del acumulador al parmetro IN1 del bloque de funciones IN1. Llamada del bloque de funciones con asignacin del parmetro actual (V2) al parmetro VAR_IN_OUT.

35006147 10/2013

663

Descripcin de los DFB

Variables de DFB
Descripcin de las variables La tabla describe la funcin de cada uno de los tipos de variables.
Variable Pblica Privada Nmero mximo ilimitada ilimitada Funcin Estas variables internas del DFB las puede utilizar el DFB, el programa de aplicacin y el usuario en modo de ajuste. Estas variables internas del DFB slo las puede emplear este bloque de funciones y, por lo tanto, no se puede acceder a ellas a travs del programa de aplicacin. Sin embargo, se puede acceder a este tipo de variables mediante la tabla de animacin. Estas variables suelen ser por lo general necesarias para programar el bloque, pero no tienen inters para el usuario (por ejemplo, el resultado de un clculo medio, etc.).

NOTA: Los DFB intercalados se declaran como variables privadas del DFB principal. Por tanto, tampoco se puede acceder a sus variables a travs de la programacin, sino a travs de la tabla de animacin. Variables a las que se puede acceder a travs del programa de aplicacin Las nicas variables a las que se puede acceder a travs del programa de aplicacin son las variables pblicas. Para ello, se debe utilizar en el programa la sintaxis siguiente: Nombre_DFB.Nombre_variable Nombre_DFB representa el nombre de la instancia del DFB utilizado (32 caracteres como mximo). Nombre_variable representa el nombre de la variable pblica (8 caracteres como mximo). Ejemplo: Control.Gan indica la variable pblica Gain de la instancia de DFB denominada Control.

664

35006147 10/2013

Descripcin de los DFB

Fichero de las variables pblicas Al poner a 1 el bit de sistema %S94, se guardan las variables pblicas que se han modificado por programa o por ajuste, en lugar de los valores iniciales de estas variables (definidas en las instancias de DFB). Slo se pueden sustituir si el atributo de guardado est correctamente establecido para la variable.

AVISO
CARGA DE LA APLICACIN ERRNEA Durante una carga, el bit %S94 no debe ponerse a 1. Si se selecciona el valor 1 en el bit %S94, puede que sea imposible realizar la carga. El incumplimiento de estas instrucciones puede causar dao al equipo.

35006147 10/2013

665

Descripcin de los DFB

Seccin de cdigo de DFB


General Las secciones de cdigo definen el procesamiento que efectuar el DFB en funcin de los parmetros definidos. Un DFB puede contener un nmero ilimitado de secciones de cdigo. Lenguajes de programacin Para programar las secciones de DFB se pueden utilizar los siguientes lenguajes:

Lista de instrucciones (IL) Texto estructurado (ST) Lenguaje de contactos (LD) Lenguaje de bloques funcionales (FBD)

Definicin de una seccin Una seccin se define mediante:


un nombre simblico que identifica la seccin (32 caracteres como mximo), una condicin de validacin que define la ejecucin de la seccin, un comentario (256 caracteres como mximo), y un atributo de proteccin (sin proteccin, seccin protegida contra escritura, seccin protegida contra lectura/escritura).

Normas de programacin Cuando se ejecuta, una seccin de DFB slo puede utilizar los parmetros que se han definido para el bloque de funciones (parmetros de entrada, de salida, de entrada/salida y variables internas). Esto tiene como consecuencia que un bloque de funciones DFB no pueda utilizar las variables globales de la aplicacin ni los objetos de entrada/salida, con la excepcin de los bits y las palabras de sistema (%Si, %SWi y %SDi). Una seccin de DFB tiene los derechos de acceso mximos (lectura y escritura) sobre estos parmetros.

666

35006147 10/2013

Descripcin de los DFB

Ejemplo de cdigo El siguiente programa ofrece un ejemplo de cdigo estructurado

35006147 10/2013

667

Descripcin de los DFB

668

35006147 10/2013

Unity Pro Instancia de los DFB 35006147 10/2013

Captulo 18
Instancia de los bloques de funciones del usuario (DFB)

Instancia de los bloques de funciones del usuario (DFB)


Objeto En este captulo, se muestra la creacin de una instancia de DFB y su ejecucin. Contenido de este captulo Este captulo contiene los siguiente apartados:
Apartado Creacin de una instancia de DFB Ejecucin de una instancia de DFB Ejemplo de programacin de un bloque de funcin derivado (DFB) Pgina 670 672 673

35006147 10/2013

669

Instancia de los DFB

Creacin de una instancia de DFB


Instancia de DFB Una instancia de DFB es una copia del modelo de DFB (tipo de DFB):

Utiliza el cdigo del tipo de DFB (el cdigo no se duplica) y crea una zona de datos especfica para esta instancia, que es una copia de los parmetros y de las variables del tipo de DFB. Esta zona se sita en el espacio de datos de la aplicacin.

Deber definir la direccin de cada instancia de DFB que cree mediante un nombre de 32 caracteres como mximo, los caracteres que se pueden utilizar dependen de la eleccin realizada en la zona Identificadores de la ficha Extensiones de lenguaje en los ajustes del proyecto (vase Unity Pro, Modalidades de funcionamiento). El primer carcter debe ser una letra. No se permite utilizar palabras clave o smbolos. Creacin de una instancia A partir de un tipo de DFB, se pueden crear tantas instancias como sean necesarias. El nico lmite lo establece el tamao de la memoria del autmata. Valores iniciales Los valores iniciales de los parmetros y variables pblicas que se han definido durante la creacin del tipo de DFB se pueden modificar para cada instancia del DFB. No todos los parmetros de los DFB poseen un valor inicial. Modificacin de los valores iniciales de los elementos en las instancias de DFB
EDT (excepto el tipo String) Entradas Entradas\Salidas Salidas S No S Tipo String No No S S No Matrices Estructura DDT No No No S No No No S S No FB ANY_ARRAY IODDT ANY_...

No

No No -

No -

No No No -

Variables pblicas S Variables privadas No

670

35006147 10/2013

Instancia de los DFB

Modificacin de los valores iniciales de los elementos en el tipo de DFB


EDT (excepto el tipo String) Entradas Entradas\Salidas Salidas Variables pblicas Variables privadas S No S S S Tipo String No No S S S Matrices Estructura FB DDT No No S S S No ANY_ARRAY IODDT ANY_...

No No No S S

No No -

No -

No No No -

35006147 10/2013

671

Instancia de los DFB

Ejecucin de una instancia de DFB


Funcionamiento Una instancia de DFB se ejecuta de la manera siguiente.
Paso 1 Accin Cargar los valores en los parmetros de entradas y de entradas/salidas. Todas las entradas sin asignacin toman en la inicializacin (o en el rearranque en fro) el valor inicial definido en el tipo de DFB. A continuacin, guardan el ltimo valor que se les ha asignado. Ejecutar el programa interno del DFB. Escribir los parmetros de salidas.

2 3

NOTA: Las variables internas de los DFB no se reinicializan al utilizar el comando Generar proyecto online tras modificar una salida. Para reinicializar todas las variables internas, utilice el comandoRegenerar todos los proyectos. Depuracin de los DFB El programa Unity Pro ofrece varias herramientas de depuracin de los DFB:

tablas de animacin: todos los parmetros, variables pblicas y variables privadas estn animadas y aparecen en tiempo real. Se puede modificar y forzar los objetos Punto de parada, paso a paso y diagnstico del programa Pantallas de explotacin: para la depuracin unitaria

672

35006147 10/2013

Instancia de los DFB

Ejemplo de programacin de un bloque de funcin derivado (DFB)


Generalidades Este ejemplo de programacin de un contador, a partir de un DFB, tiene una finalidad didctica. Caractersticas del tipo de DFB El tipo de DFB empleado para realizar el contador es el siguiente.

Los elementos del tipo de DFB Cpt_piezas son los siguientes.


Elementos Parmetros de entradas Parmetros de salidas Descripcin
Puesta a cero: puesta a cero del contador (tipo EBOOL) Presel.: valor de preseleccin del contador (tipo DINT) Count: entrada de contaje (tipo EBOOL)

Nombre del tipo de DFB Cpt_piezas

Done: salida de valor de preseleccin alcanzada (tipo BOOL)

Variable interna pblica V_cour: valor actual del contador (tipo DINT)

35006147 10/2013

673

Instancia de los DFB

Funcionamiento del contador El funcionamiento del contador debe ser el siguiente.


Fase 1 2 3 Descripcin El DFB cuenta los flancos ascendentes en la entrada Count. La variable V_cour memoriza el nmero de flancos contados. Esta variable se vuelve a poner a cero por un flanco ascendente en la entrada Restablecer. Cuando el nmero de flancos contados es igual al valor de preseleccin, la salida Done se coloca en 1. Esta variable se vuelve a poner a cero por un flanco ascendente en la entrada Restablecer.

Programa interno del DFB El programa interno del tipo de DFB Cpt_piezas se define en lenguaje ST de la manera siguiente.

674

35006147 10/2013

Instancia de los DFB

Ejemplo de uso Supongamos que la aplicacin necesita contar 3 tipos de piezas (por ejemplo, arandelas, tuercas y tornillos). Se puede utilizar 3 veces el tipo de DFB Cpt_piezas (3 instancias) para realizar los distintos contajes. El nmero de piezas que se deben suministrar para cada tipo se define respectivamente en las palabras %MD10, %MD12 y %MD14. Cuando se alcanza el nmero de piezas, el contador enva un comando a una salida (%Q1.2.1, %Q1.2.2 o %Q1.2.3) que controla la parada del sistema de suministro de piezas correspondiente. Los datos se introducen en el programa de aplicacin en lenguaje de contactos de la manera siguiente. Utiliza los 3 DFB (instancias) Cpt_arandelas, Cpt_tuercas y Cpt_tornillos para contar las diferentes piezas.

35006147 10/2013

675

Instancia de los DFB

676

35006147 10/2013

Unity Pro Utilizacin de los DFB 35006147 10/2013

Captulo 19
Utilizacin de los DFB a partir de los diferentes lenguajes de programacin

Utilizacin de los DFB a partir de los diferentes lenguajes de programacin


Objeto En este captulo se muestra la llamada de las instancias de DFB a partir de los diferentes lenguajes de programacin. Contenido de este captulo Este captulo contiene los siguiente apartados:
Apartado Reglas de uso de los DFB en un programa Utilizacin de los IODDT en un DFB Utilizacin de un DFB en un programa en lenguaje de contactos Utilizacin de un DFB en un programa en literal estructurado Utilizacin de un DFB en un programa en lista de instrucciones Utilizacin de un DFB en un programa en lenguaje de bloques funcionales Pgina 678 681 684 686 689 693

35006147 10/2013

677

Utilizacin de los DFB

Reglas de uso de los DFB en un programa


General Las instancias de DFB se pueden utilizar en todos los lenguajes (lista de instrucciones [IL], literal estructurado [ST], lenguaje de contactos [LD] y diagrama de bloques de funciones [FBD]) y en todas las tareas del programa de aplicacin (secciones, subprograma, etc.), excepto las transiciones del programa SFC. Reglas generales de uso Cuando se utiliza un DFB, se deben respetar las reglas siguientes, independientemente del lenguaje empleado: No es necesario conectar todos los parmetros de entradas/salidas o de salidas, excepto los parmetros siguientes, que se deben asignar obligatoriamente: Parmetros de entradas/salidas Parmetros de salidas de tipo de datos (que no son tablas) genricos (ANY_INT, ANY_REAL, etc.)

Los parmetros siguientes son opcionales: Parmetros de entradas de tipos de datos genricos (ANY_INT, ANY_ARRAY, etc.) Parmetros de entrada de tipo STRING Los parmetros de entrada sin conectar guardan el valor de la llamada anterior o el valor de inicializacin definidos para estos parmetros, si nunca se ha llamado al bloque. Todos los objetos asignados a los parmetros de entrada, de salida y de entrada/salida sern obligatoriamente del mismo tipo que los definidos en el momento de la creacin del tipo de DFB (por ejemplo: si el tipo INT est definido para el parmetro de entrada "velocidad", no se le puede asignar el tipo DINT ni REAL). nicamente pueden mezclarse los tipos BOOL y EBOOL para los parmetros de entradas o de salidas (nunca para los parmetros de entradas/salidas). Ejemplo: el parmetro de entrada "Validacin" se puede definir como BOOL y se puede asociar a un bit interno %Mi, que es de tipo EBOOL. Por el contrario, en el cdigo interno del tipo DFB, el parmetro de entrada tiene efectivamente las propiedades de un tipo BOOL (no puede gestionar los flancos).

678

35006147 10/2013

Utilizacin de los DFB

Asignacin de los parmetros En la tabla siguiente se resumen las diferentes posibilidades de asignacin de los parmetros en los diferentes lenguajes de programacin.
Parmetro Entradas Tipo EDT (2) BOOL DDT DDT de dispositivo ANY_... ANY_ARRAY Entradas/salidas EDT DDT DDT de dispositivo IODDT ANY_... ANY_ARRAY Salidas EDT DDT ANY_... ANY_ARRAY Asignacin del parmetro (1) Asignacin

Conectado, valor, objeto o expresin Opcional (3) Conectado, valor, objeto o expresin Opcional Conectado, valor u objeto Conectado u objeto Conectado u objeto Conectado u objeto Conectado u objeto Conectado u objeto Conectado u objeto Conectado u objeto Conectado u objeto Conectado u objeto Conectado u objeto Conectado u objeto Conectado u objeto Conectado u objeto Opcional Obligatorio Opcional Opcional Obligatorio Obligatorio Obligatorio Obligatorio Obligatorio Obligatorio Opcional Opcional Obligatorio Opcional

(1) Conectado en lenguaje de contactos (LD) o en lenguaje de bloques de funciones (FBD). Valor u objeto en los lenguajes lista de instrucciones (IL) o texto estructurado (ST). (2) Excepto parmetros de tipo BOOL (3) Excepto parmetros de tipo STRING que son obligatorios.

35006147 10/2013

679

Utilizacin de los DFB

Reglas al utilizar DFB con matrices

ADVERTENCIA
FUNCIONAMIENTO INESPERADO DEL EQUIPO Al copiar del origen al destino mediante DFB, compruebe el tamao de las matrices. El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o dao al equipo. Al utilizar matrices dinmicas, es obligatorio comprobar los tamaos de las matrices que son idnticas. En el caso especfico en el que se utilizan matrices dinmicas como una salida o una entrada/salida, un desborde podra derivar la ejecucin incorrecta del programa y detener el PLC. Este comportamiento se produce si se dan las siguientes condiciones de manera simultnea: Se utiliza un DFB con al menos un parmetro de salida o de E/S del tipo de matriz dinmica (ANY_ARRAY_XXX). A la hora de codificar un DFB, se utiliza una funcin o un bloque de funciones (FFB de tipo FIFO, LIFO, MOVE, MVX, T2T, SAH o SEL). Debe tenerse en cuenta que la funcin o FFB necesita dos parmetros de tipo ANY con al menos uno definido en la salida. Se utiliza el parmetro del DFB de la matriz dinmica al escribir durante la llamada de FFB (en el parmetro de tipo ANY). Para otros parmetros ANY, se utiliza una matriz de tamao fijo. El tamao de la matriz de tamao fijo es mayor que el tamao de la matriz dinmica calculada para almacenar el resultado.

Ejemplo de comprobacin del tamao de las matrices En el ejemplo siguiente se muestra cmo comprobar el tamao de las matrices mediante la funcin LENGTH_ARWORD en un DFB.

En este ejemplo, Table_1 es una matriz con un tamao fijo, Table_2 es una matriz dinmica de tipo ANY_ARRAY_WORD. Este programa comprueba el tamao de cada matriz. Las funciones LENGTH_ARWORD calculan el tamao de cada matriz para condicionar la ejecucin de la funcin MOVE.

680

35006147 10/2013

Utilizacin de los DFB

Utilizacin de los IODDT en un DFB


Presentacin Las siguientes tablas muestran los diferentes IODDT de los PLC Modicon M340, Premium y Quantum que se pueden utilizar en un DFB (exclusivamente como parmetros de entrada/salida (vase pgina 659)). IOODT que pueden utilizarse en un DFB En la tabla siguiente se resumen los IODDT de las distintas aplicaciones para Modicon M340, Modicon M580, Premium y los PLC Quantum que pueden utilizarse en un DFB.
Familias de IODDT Aplicacin binaria T_DIS_IN_GEN T_DIS_IN_STD T_DIS_EVT T_DIS_OUT_GEN T_DIS_OUT_STD T_DIS_OUT_REFLEX Aplicacin analgica T_ANA_IN_GEN T_ANA_IN_STD T_ANA_IN_CTRL T_ANA_IN_EVT T_ANA_OUT_GEN T_ANA_OUT_STD T_ANA_IN_BMX T_ANA_IN_T_BMX T_ANA_OUT_BMX T_ANA_IN_VE T_ANA_IN_VWE T_ANA_BI_VWE T_ANA_BI_IN_VWE No No No No No No S S S No No No No No No S
(1.)

Modicon M340 No No No No No No

Modicon M580 Premium No No No No No No No No No No No No No No S S No No No No No No No No No

Quantum No No No No No No No No No No No No No No No No No No No

S(1.) No No S S S No No No No

1. Mdulo Premium solo en bastidores extensibles

35006147 10/2013

681

Utilizacin de los DFB

Familias de IODDT Aplicacin de conteo T_COUNT_ACQ T_COUNT_HIGH_SPEED T_COUNT_STD T_SIGN_CPT_BMX T_UNSIGN_CPT_BMX T_CNT_105 Aplicacin de leva electrnica T_CCY_GROUP0 T_CCY_GROUP1_2_3 Aplicacin de control de ejes T_AXIS_AUTO T_AXIS_STD T_INTERPO_STD T_STEPPER_STD Aplicacin Sercos T_CSY_CMD T_CSY_TRF T_CSY_RING T_CSY_IND T_CSY_FOLLOW T_CSY_COORD T_CSY_CAM Aplicacin de comunicacin T_COM_STS_GEN T_COM_UTW_M T_COM_UTW_S T_COM_MB T_COM_CHAR T_COM_FPW T_COM_MBP T_COM_JNET T_COM_ASI

Modicon M340 No No No S S No No No No No No No No No No No No No No S No No No No No No No No

Modicon M580 Premium S(1.) S S S No No No No No No No No No No No No No No S No No No No No No No No


(1.) (1.)

Quantum No No No No No No No No No No No No No No No No No No No No No No No No No No No No

S S S No No No No No S S S S S S S S S S S S S S S S S S S S

1. Mdulo Premium solo en bastidores extensibles 682


35006147 10/2013

Utilizacin de los DFB

Familias de IODDT T_COM_ETY_1X0 T_COM_ETY_210 T_COM_IBS_128 T_COM_IBS_242 T_COM_PBY T_COM_CPP100 T_COM_ETYX103 T_COM_ETHCOPRO T_COM_MB_BMX T_COM_CHAR_BMX T_COM_CO_BMX T_COM_ETH_BMX Aplicacin de ajuste T_PROC_PLOOP T_PROC_3SING_LOOP T_PROC_CASC_LOOP T_PROC_SPP T_PROC_CONST_LOOP Aplicacin de pesaje T_WEIGHING_ISPY101 Comunes a todas las aplicaciones T_GEN_MOD

Modicon M340 No No No No No No No No S S S S No No No No No No

Modicon M580 Premium No No No No No No No No S S S S No No No No No S(1.) No S S S S S S S S No No No No S S S S S S

Quantum No No No No No No No No No No No No No No No No No No

No

No

No

1. Mdulo Premium solo en bastidores extensibles

35006147 10/2013

683

Utilizacin de los DFB

Utilizacin de un DFB en un programa en lenguaje de contactos


Principio En el lenguaje de contactos LD, existen dos posibilidades para llamar a un bloque de funcin DFB:

A travs de una llamada textual en un bloque de operacin en el que la sintaxis y los lmites de los parmetros son idnticos a los del lenguaje literal estructurado, o mediante una llamada grfica

Las entradas de los bloques de funcin pueden estar conectadas o se les puede asignar un valor, un objeto o una expresin. En todos los casos, el tipo de elemento exterior (valor, evaluacin de la expresin, etc.) debe ser idntico al del parmetro de entrada. Un bloque DFB debe tener al menos una entrada booleana conectada y una salida (si es necesario). Para ello, se puede utilizar los parmetros de entrada EN y el parmetro de salida ENO (vase a continuacin la descripcin de los parmetros). Es obligatorio conectar o asignar las entradas de tipo ANY_ARRAY, las salidas de tipo datos genricos (ANY_...) y las entradas/salidas de un bloque DFB. Representacin grfica de un bloque DFB La siguiente ilustracin presenta un ejemplo simple de programacin de un DFB.

684

35006147 10/2013

Utilizacin de los DFB

Elementos del bloque DFB En la siguiente tabla, se enumeran los diferentes elementos del bloque DFB, indicados en la figura anterior.
Variable 1 2 3 4 5 6 7 8 9 Elemento Nombre del DFB (instancia) Nombre del tipo de DFB Entrada asignada por una expresin Entrada asignada por un valor Entrada conectada Entrada asignada por un objeto (direccin o smbolo) Parmetros de entradas Parmetros de salidas Parmetros de entradas/salidas

Utilizacin de los parmetros EN\ENO Vase Caso de los parmetros EN y ENO, pgina 661

35006147 10/2013

685

Utilizacin de los DFB

Utilizacin de un DFB en un programa en literal estructurado


Principio En literal estructurado ST, la llamada de un bloque de funcin de usuario se efecta mediante una llamada del DFB: nombre de la instancia de DFB seguido de una lista de argumentos. En la lista, materializados por parntesis, los argumentos estn separados con comas. La llamada del DFB puede ser de 2 tipos:

llamada formal, cuando los argumentos son asignaciones (parmetro = valor). En este caso, el orden de introduccin de los argumentos en la lista no tiene importancia. Se puede utilizar el parmetro de entrada EN y el parmetro de salida ENO para controlar la ejecucin del bloque de funcin, llamada informal, cuando los argumentos son valores (expresin, objeto o un valor inmediato). En este caso, el orden de introduccin de los argumentos en la lista debe respetar el orden de los parmetros de entradas del DFB, incluidas las entradas sin asignar (el argumento es un campo vaco). No se pueden utilizar los parmetros EN ni ENO.

Nombre_DFB (argumento 1,argumento 2,....,argumento n) NOTA: Los parmetros de entradas de tipo ANY_ARRAY, las salidas de tipo de datos genricos (ANY_...) y hay que asignar las entradas/salidas de un DFB. Utilizacin de los parmetros EN\ENO Vase Caso de los parmetros EN y ENO, pgina 661 Ejemplo de DFB El ejemplo simple siguiente va a permitir comprender las diferentes llamadas de un DFB en lenguaje literal estructurado. Se toma la instancia Cpt_1 del DFB de tipo Cpt_piezas:

686

35006147 10/2013

Utilizacin de los DFB

Llamada formal del DFB La llamada formal del DFB Cpt_1 se efecta segn la sintaxis: Cpt_1 (Restablecer:=Borrar, Presel:=P_Selec, Conteo:=100, Ejecutado=>%Q1.2.1); Caso en el que nicamente los parmetros de entradas asignadas por un valor (expresin, objeto o valor inmediato) se introducen en la lista de los argumentos. Cpt_1 (Restablecer:=Borrar, Presel:=P_Selec, Conteo:=100); ... %Q1.2.1:=Cpt_1.Ejecutado; Elementos de la secuencia En la siguiente tabla se enumeran los distintos elementos de la secuencia de programa, cuando se realiza una llamada formal del DFB.
Elemento Cpt_1 Restablecer, Presel, Conteo := Clear 100 Done => %Q1.2.1 ; , Significado Nombre de la instancia de DFB Parmetros de entradas Smbolo de asignacin de una entrada Objeto de asignacin de una entrada (smbolo) Valor de asignacin de una entrada Parmetro de salida Smbolo de asignacin de una salida Objeto de asignacin de una salida (direccin) Smbolo de final de frase Smbolo de separacin de los argumentos

Llamada informal del DFB La llamada informal del DFB Cpt_1 se efecta segn la sintaxis: Cpt_1 (Borrar, %MD10, , 100); ... %Q1.2.1:=Cpt_1.Ejecutado;

35006147 10/2013

687

Utilizacin de los DFB

Elementos de la frase En la siguiente tabla se enumeran los distintos elementos de la secuencia de programa, cuando se realiza una llamada formal del DFB.
Elemento Cpt_1 Borrar, %MD10, ,100 ; , Significado Nombre de la instancia de DFB Objeto o valor de asignacin de las entradas. Las entradas no asignadas se representan con un campo vaco Smbolo de final de frase Smbolo de separacin de los argumentos

688

35006147 10/2013

Utilizacin de los DFB

Utilizacin de un DFB en un programa en lista de instrucciones


Principio En lista de instrucciones (IL), la llamada de un bloque de funcin de usuario se realiza mediante una instruccin CAL, seguida del nombre de la instancia de DFB como operando y de una lista de argumentos (opcional). En la lista, materializados por parntesis, los argumentos estn separados con comas. Existen 3 posibilidades para llamar a un DFB en lenguaje IL:

La instruccin CAL nombre_DFB va seguida de una lista de argumentos que son asignaciones (parmetro = valor). En este caso, el orden de introduccin de los argumentos en la lista no tiene importancia. Se puede utilizar la entrada EN para controlar al ejecucin del bloque de funcin. La instruccin CAL nombre_DFB va seguida de una lista de argumentos que son valores (expresin, objeto o valor inmediato). En este caso, el orden de introduccin de los argumentos en la lista debe respetar el orden de los parmetros de entradas del DFB, incluidas las entradas sin asignar (el argumento es un campo vaco). No se pueden utilizar los parmetros EN ni ENO. la instruccin CAL nombre_DFB no va seguida de una lista de argumentos. En tal caso, esta instruccin debe ir precedida de la asignacin de los parmetros de entradas a travs de un registro: carga del valor (Load) y a continuacin asignacin al parmetro de entrada (Store). El orden de asignacin de los parmetros (LD/ST) no es importante; no obstante, se deben asignar todos los parmetros de entradas que lo necesiten antes de ejecutar el comando CAL. No se pueden utilizar los parmetros EN ni ENO.

CAL Nombre_DFB (argumento 1, argumento 2, ..., argumento n) o LD Valor 1 ST Parmetro 1 ... LD Valor n ST Parmetro n CAL Nombre_DFB NOTA: Los parmetros de entradas de tipo ANY_ARRAY, las salidas de tipo de datos genricos (ANY_...). y hay que asignar las entradas/salidas de un DFB. Utilizacin de los parmetros EN\ENO Vase Caso de los parmetros EN y ENO, pgina 661

35006147 10/2013

689

Utilizacin de los DFB

Ejemplo de DFB El ejemplo siguiente va a permitir comprender las diferentes llamadas de un DFB en lista de instrucciones. Se toma la instancia Cpt_1 del DFB de tipo Cpt_piezas:

Llamada del DFB cuando los argumentos son asignaciones Cuando los argumentos son asignaciones, la llamada del DFB Cpt_1 se efecta segn la sintaxis: CAL Cpt_1 (Restablecer:=Borrar, Presel:=%MD10, Conteo:=100, Ejecutado=>%Q1.2.1) Caso en el que nicamente los parmetros de entradas asignados por un valor (expresin, objeto o valor inmediato) se introducen en la lista de los argumentos: CAL Cpt_1 (Restablecer:=Borrar, Presel:=%MD10, Conteo:=100) ... LD Cpt_1.Ejecutado ST %Q1.2.1 Con el fin de hacer ms legible el programa de aplicacin, se puede introducir un retorno a la siguiente lnea despus de las comas de separacin de los argumentos. La frase tiene entonces la siguiente sintaxis: CAL Cpt_1( Restablecer:=Borrar, Presel:=%MD10, Conteo:=100, Ejecutado=>%Q1.2.1)

690

35006147 10/2013

Utilizacin de los DFB

Elementos del programa de llamada del DFB En la siguiente tabla se enumeran los diferentes elementos del programa de llamada del DFB.
Elemento CAL Cpt_1 Restablecer, Presel, Conteo := Borrar, %MD10, 100 Ejecutado => %Q1.2.1 , Significado Instruccin de llamada del DFB Nombre de la instancia de DFB Parmetros de entradas Smbolo de asignacin de una entrada Objeto o valor de asignacin de las entradas Parmetro de salida Smbolo de asignacin de una salida Objeto de asignacin de una salida Smbolo de separacin de los argumentos

Llamada del DFB cuando los argumentos son valores Cuando los argumentos son valores, la llamada del DFB Cpt_1 se efecta segn la sintaxis: CAL Cpt_1 (Borrar, %MD10,, 100) ... LD Cpt_1.Ejecutado ST %Q1.2.1 Elementos del programa de llamada del DFB En la siguiente tabla se enumeran los diferentes elementos del programa de llamada del DFB.
Elemento CAL Cpt_1 Borrar, %MD10, 100 , Significado Instruccin de llamada del DFB Nombre de la instancia de DFB Objeto o valor de asignacin de las entradas Smbolo de separacin de los argumentos

35006147 10/2013

691

Utilizacin de los DFB

Llamada de un DFB sin argumento Cuando no hay argumento, la llamada del DFB Cpt_1 se efecta segn la sintaxis: LD Borrar ST Cpt_1.Restablecer LD %MD10 ST Cpt_1.Presel LD 100 ST Cpt_1.Conteo CAL Cpt_1( ... LD Cpt_1.Ejecutado ST %Q1.2.1 Elementos del programa de llamada del DFB En la siguiente tabla se enumeran los diferentes elementos del programa de llamada del DFB.
Elemento LD Borrar ST Cpt_1.Restablecer CAL Cpt_1( Significado Instruccin de carga del valor Borrar en un registro Instruccin de asignacin del contenido del registro al parmetro de entrada Cpt_1.Restablecer Instruccin de llamada del DFB Cpt_1

692

35006147 10/2013

Utilizacin de los DFB

Utilizacin de un DFB en un programa en lenguaje de bloques funcionales


Principio En el lenguaje FBD (Diagrama de Bloques de Funcin), los bloques de funcin del usuario se representan de la misma forma que en el lenguaje de contactos y se llaman de forma grfica. Las entradas de los bloques de funcin del usuario pueden estar conectadas o se les puede asignar un valor inmediato, un objeto o una expresin. En todos los casos, el tipo de elemento exterior debe ser idntico al del parmetro de entrada. Slo se puede asignar un nico objeto (enlace hacia otro bloque o variable) en una entrada del DFB. Por el contrario, se pueden conectar varios objetos a una misma salida. Un bloque DFB debe tener al menos una entrada booleana conectada y una salida (si es necesario). Para ello, se puede utilizar un parmetro de entrada EN y un parmetro de salida ENO. Es obligatorio conectar o asignar las entradas de tipo ANY_ARRAY, las salidas de tipo datos genricos (ANY_...) y las entradas/salidas de un bloque de DFB. Representacin grfica de un bloque DFB La siguiente ilustracin presenta un ejemplo simple de programacin de un DFB.

35006147 10/2013

693

Utilizacin de los DFB

Elementos del bloque DFB En la siguiente tabla, se enumeran los diferentes elementos del bloque DFB, indicadas en la figura anterior.
Variable 1 2 3 4 5 6 7 8 Elemento Nombre del DFB (instancia) Nombre del tipo de DFB Entrada asignada por un objeto (smbolo) Entrada asignada por un valor Entrada conectada Parmetros de entradas Parmetro de salida Salida asignada por un objeto (direccin)

Utilizacin de los parmetros EN\ENO Vase Caso de los parmetros EN y ENO, pgina 661

694

35006147 10/2013

Unity Pro DFB de diagnstico 35006147 10/2013

Captulo 20
DFB de diagnstico de usuario

DFB de diagnstico de usuario


Presentacin de los DFB de diagnstico de usuario
Generalidades El software Unity Pro le permite crear sus propios DFB de diagnstico (vase Unity Pro, Modalidades de funcionamiento). Dichos DFB de diagnstico son DFB estndar configurados previamente mediante la propiedad Diagnstico y en la que se ha utilizado las dos funciones siguientes:

REGDFB (vase Unity Pro, Diagnsticos, Librera de bloques) para el registro y el establecimiento de la fecha de la alarma. DEREG (vase Unity Pro, Diagnsticos, Librera de bloques) para la anulacin del registro de la alarma.

NOTA: Se recomienda encarecidamente que programe slo una instancia DFB de diagnstico una vez dentro de la aplicacin. Estos DFB le permiten controlar el proceso. Adems, transmiten de forma automtica la informacin seleccionada en el Visualizador. As, se pueden vigilar los cambios de estado o las variaciones en el proceso. Ventajas Estas son las principales ventajas de este servicio:

El diagnstico queda integrado en el proyecto; de este modo, se puede considerar en el momento del desarrollo para poder satisfacer de la mejor manera las necesidades del usuario. El sistema de registro y de establecimiento de la fecha de los errores se lleva a cabo en el origen (en el autmata) para que la informacin sea el fiel reflejo del estado del proceso. Es posible conectar varios visualizadores (Unity Pro, Magelis, Factory Cast) que transcribirn al operador el estado exacto del proceso. Cada visualizador es independiente y toda accin que se realice en uno de ellos (por ejemplo, una confirmacin) se visualiza automticamente en los dems.

35006147 10/2013

695

DFB de diagnstico

696

35006147 10/2013

Unity Pro Conversin de tipos implcita 35006147 10/2013

Captulo 21
Conversin de tipos implcita en Unity Pro

Conversin de tipos implcita en Unity Pro


Presentacin En este captulo se explican las conversiones de tipo implcitas en Unity Pro. Contenido de este captulo Este captulo contiene los siguiente apartados:
Apartado Conversiones de tipo implcito de Unity Pro Diferencias de Unity Pro respecto a las recomendaciones de IEC Pgina 698 700

35006147 10/2013

697

Conversin de tipos implcita

Conversiones de tipo implcito de Unity Pro


Introduccin Unity Pro proporciona un conjunto de conversiones opcionales de tipo implcito. Para obtener ms informacin, consulte la seccin Ajustes del proyecto (vase Unity Pro, Modalidades de funcionamiento). Funciones de conversin Las funciones de conversin siguientes se utilizan para conversiones de tipo implcito: REAL_TO_DINT, REAL_TO_INT, REAL_TO_UDINT, and REAL_TO_UINT DINT_TO_REAL, DINT_TO_INT, DINT_TO_UDINT, and DINT_TO_UINT INT_TO_REAL, INT_TO_DINT, INT_TO_UDINT, INT_TO_UINT, INT_TO_DWORD, INT_TO_WORD, and INT_TO_BYTE UINT_TO_REAL, UINT_TO_DINT, UINT_TO_INT, UINT_TO_UDINT, UINT_TO_DWORD, UINT_TO_WORD, and UINT_TO_BYTE DWORD_TO_REAL, DWORD_TO_DINT, DWORD_TO_INT, DWORD_TO_UDINT, DWORD_TO_UINT, DWORD_TO_WORD, and DWORD_TO_BYTE WORD_TO_REAL, WORD_TO_DINT, WORD_TO_INT, WORD_TO_UDINT, WORD_TO_UINT, RD_TO_DWORD, and WORD_TO_BYTE BYTE_TO_REAL, BYTE_TO_DINT, BYTE_TO_INT, BYTE_TO_UDINT, BYTE_TO_UINT, BYTE_TO_DWORD, and BYTE_TO_WORD BOOL_TO_REAL, BOOL_TO_DINT, BOOL_TO_INT, BOOL_TO_UDINT, BOOL_TO_UINT, BOOL_TO_DWORD, BOOL_TO_WORD, and BOOL_TO_BYTE

Matriz de conversin de tipo implcito Despus de una instruccin de conversin implcita, el bit del sistema %S18 (vase pgina 175) se establece en uno para indicar un posible efecto secundario: Prdida de precisin Discrepancias en el rango Un comportamiento dependiente del tipo de implementacin inesperado La prueba formal del valor del bit de sistema %S18 es responsabilidad del programador, la aplicacin debe poder administrar los comportamientos de su parte operativa.

AVISO
FUNCIONAMIENTO IMPREVISTO DEL EQUIPO Compruebe el bit de sistema %S18 (a travs de la aplicacin) tras una conversin implcita. El incumplimiento de estas instrucciones puede causar dao al equipo. NOTA: Conversiones implcitas, consulte "I" en la tabla siguiente.

698

35006147 10/2013

Conversin de tipos implcita

Las reglas de conversin del tipo implcito:


Tipo de datos de destino Tipo de datos de origen REAL DINT INIT UDINT UINT DWORD WORD BYTE BOOL I(IEC) I I(IEC) I I I I x REAL DINT INIT UDINT UINT DWORD WORD BYTE BOOL Prioridad Ms alta Ms baja

I x I(IEC) I I I I I I

I I x I I I I I I

I I I x I(IEC) I I I I

I I I I x I I I I

E I I I I x I(IEC) I(IEC) I(IEC)

E I I I I I x I(IEC) I(IEC)

E I I I I I I x I(IEC)

E E E E E E E E x

x No se necesita conversin del tipo de datos. I Conversiones de datos implcitas disponibles en Unity Pro, adems de las recomendaciones de IEC. Si el resultado de la conversin no se ajusta al tipo de datos, la conversin implcita se considera hecha y se establece el bit de sistema %S18. I(IEC) Conversiones de datos implcitas en Unity Pro que cumplen las recomendaciones de IEC; estn permitidas las conversiones de tipo explcito. E Las conversiones de datos de tipo explcito son necesarias.

35006147 10/2013

699

Conversin de tipos implcita

Diferencias de Unity Pro respecto a las recomendaciones de IEC


Introduccin Segn IEC, el tipo de datos de la variable resultante no influye en el tipo de datos de la expresin resultante, y el tipo de datos de expresin se convierte en el tipo de datos resultante. EJEMPLO: i_DINT := _REAL; e_DINT := REAL_TO_DINT(_REAL); // equivalent using explicit type conversion La conversin de tipos implcita no est disponible para los lenguajes de programacin SFC y LL984. Diferencias de Unity Pro Unity Pro tiene estas excepciones respecto a las recomendaciones de IEC: 1. Si el tipo de datos de la variable resultante de una asignacin es mayor que el tipo de expresin resultante, los parmetros de la expresin resultante se convierten en un tipo de parmetro de salida para evitar el desborde de la expresin. Ejemplo: i_DINT := _INT1 + _INT2; e_DINT := INT_TO_DINT(_INT1) + INT_TO_DINT(_INT2); // equivalent using explicit type conversion 2. Unity Pro utiliza una conversin de tipos implcita para funciones genricas; el tipo de datos de la variable resultante influye en el tipo de datos de la expresin resultante (funcin genrica). Ejemplo: i_DINT (*ANY_NUM*) := ADD (IN1 := _INT (*ANY_NUM*), IN2 := _INT (*ANY_NUM*)); e_DINT := ADD (IN1 := INT_TO_DINT(_INT), IN2 := INT_TO_DINT(_INT)); // equivalent using explicit type conversion Los parmetros de salida genricos o los bloques de funciones no influyen en el tipo de datos de la expresin resultante. Las conversiones de tipos de parmetros no coincidentes se ejecutan antes de llamar al cuerpo de FFB y la conversin de tipos de los parmetros de salida se ejecuta tras la llamada. Las conversiones de tipo implcitas, al contrario que las conversiones de tipo explcitas, solo se ejecutan cuando se llama al cuerpo de FFB. Ejemplo: SAH_0 (IN := _BYTE (*ANY*), CLK := _BOOL, PV := _WORD (*ANY*), OUT => i_DINT (*ANY*));

700

35006147 10/2013

Conversin de tipos implcita

Las 3 lneas siguientes se necesitan para obtener un resultado equivalente, utilizando la conversin de tipos explcita: _word_tmp := DINT_TO_WORD(e_DINT); SAH_0 (IN := BYTE_TO_WORD(_BYTE), CLK := _BOOL, _word_tmp); e_DINT := WORD_TO_DINT(_word_tmp); Las reglas de conversin de tipos implcita solo se aplican a constantes con tipo. Inicialmente, Unity Pro trata las constantes sin tipo (BIT_LITERAL, INT_LITERAL, INT_OR_BIT_LITERAL) como constantes DINT. Ejemplos: i_INT := 5 / 6 * 5.52; e_INT := REAL_TO_INT(DINT_TO_REAL(5) / DINT_TO_REAL(6) * 5.52); // equivalent using explicit type conversion i_BOOL := (65535 < _INT) = (_BYTE = 255); e_BOOL := (65535 < INT_TO_DINT(_INT)) = (BYTE_TO_DINT(_BYTE) = 255); // equivalent using explicit type conversion Unity Pro admite conversiones de tipos implcitas dentro de las expresiones. Ejemplos: i_INT := 5 / 6 * 5.52; e_INT := REAL_TO_INT(DINT_TO_REAL(5) / DINT_TO_REAL(6) * 5.52); // equivalent using explicit type conversion i_INT := _BYTE = _DINT; e_INT := BOOL_TO_INT(BYTE_TO_DINT(_BYTE) = _DINT); // equivalent using explicit type conversion i_WORD := _BYTE = (_REAL > _DINT ); e_WORD := BOOL_TO_WORD(_BYTE = BOOL_TO_BYTE((_REAL > DINT_TO_REAL(_DINT)))); // equivalent using explicit type conversion i_REAL := _WORD OR _BYTE AND (100000 + 5); e_REAL:= DINT_TO_REAL(WORD_TO_DINT(_WORD) OR (BYTE_TO_DINT(_BYTE) AND (100000 + 5))); // equivalent using explicit type conversion PV := _WORD, OUT =>

35006147 10/2013

701

Conversin de tipos implcita

702

35006147 10/2013

Unity Pro 35006147 10/2013

Apndices
Objetivo de este captulo Este apndice contiene informacin adicional. Contenido de este anexo Este anexo contiene los siguientes captulos:
Captulo A B Conformidad con IEC Nombre del captulo Cdigos y valores de error de EFB Pgina 705 745

35006147 10/2013

703

704

35006147 10/2013

Unity Pro Cdigos y valores de error de EFB 35006147 10/2013

Apndice A
Cdigos y valores de error de EFB

Cdigos y valores de error de EFB


Introduccin En las tablas siguientes se muestran los cdigos y valores de error creados para los EFB ordenados por biblioteca y familia. Contenido de este captulo Este captulo contiene los siguiente apartados:
Apartado Tabla de cdigos de error de la librera base Tabla de cdigos de error de la librera de diagnstico Tablas de cdigos de error de la biblioteca de comunicacin Tablas de cdigos de error para la librera de gestin de E/S Tabla de cdigos de error de la librera CONT_CTL Tabla de cdigos de error de la biblioteca de movimiento Tablas de cdigos de error de la biblioteca obsoleta Errores comunes de coma flotante Pgina 706 708 709 714 723 732 735 744

35006147 10/2013

705

Cdigos y valores de error de EFB

Tabla de cdigos de error de la librera base


Introduccin En las siguientes tablas se muestran los cdigos y valores de error creados para los EFB de la librera base. Fecha y hora Tabla de cdigos y valores de error creados para los EFB de la familia Fecha y hora.
Nombre de EFB Cdigo de error Esta- Valor de do de error en ENO Dec en caso de error F -30.176 -30.177 -30.170 -30.003 -30.003 -30.172 -30.173 -30171 -30.177 Valor de error en Hex Descripcin del error

DIVTIME DIVTIME DIVTIME DIVTIME DIVTIME MULTIME MULTIME MULTIME MULTIME MULTIME MULTIME

E_DIVIDE_BY_ZERO

16#8A20 Divisin por cero. 16#8A1F 16#8A26 Un valor negativo no se puede convertir en un tipo de dato TIME. Error aritmtico.

E_NEGATIVE_INPUT_ F FOR_TIME_OPERATION E_ARITHMETIC_ERROR F E_ERR_ARITHMETIC FP_ERROR E_ERR_ARITHMETIC F F F

16#8ACD Desborde aritmtico (%S18 establecido). Vase la tabla Errores comunes de coma flotante, pgina 744.

16#8ACD Desborde aritmtico (%S18 establecido). 16#8A24 16#8A23 16#8A25 16#8A1F Error aritmtico / Desborde de multiplicacin. Error aritmtico / Desborde de adicin. Error aritmtico / Los parmetros exceden el rango. Un valor negativo no se puede convertir en un tipo de dato TIME. Vase la tabla Errores comunes de coma flotante, pgina 744.

E_ARITHMETIC_ERROR F _MUL_OV E_ARITHMETIC_ERROR F _ADD_OV E_ARITHMETIC_ERROR F _BIG_PAR E_NEGATIVE_INPUT_ F FOR_TIME_OPERATION FP_ERROR F

706

35006147 10/2013

Cdigos y valores de error de EFB

Estadstica Tabla de cdigos y valores de error creados para los EFB de la familia Estadstica.
Nombre de EFB Cdigo de error Estado Valor de de ENO error en en Dec caso de error F F F F F F F F F F F F -30.183 -30.176 -30.170 -30.150 -30.172 -30.173 -30.171 -30.174 -30.175 Valor de error en Hex Descripcin del error

AVE AVE AVE AVE AVE AVE AVE AVE AVE MAX MIN MUX

E_INPUT_VALUE_OUT_ OF_RANGE E_DIVIDE_BY_ZERO FP_ERROR E_ARITHMETIC_ERROR E_FP_STATUS_FAILED E_ARITHMETIC_ERROR_ MUL_OV E_ARITHMETIC_ERROR_ ADD_OV E_ARITHMETIC_ERROR_ BIG_PAR E_ARITHMETIC_ERROR_ UNSIGN_OV FP_ERROR FP_ERROR E_SELECTOR_OUT_OF_ RANGE

16#8A19 Valor de entrada fuera de rango. 16#8A20 Divisin por cero. 16#8A26 Vase la tabla Errores comunes de coma flotante, pgina 744. Error aritmtico

16#8A3A Operacin de coma flotante no permitida 16#8A24 16#8A23 16#8A25 16#8A22 Error aritmtico / Desborde de multiplicacin Error aritmtico / Desborde de adicin Error aritmtico / Los parmetros exceden el rango Error aritmtico / Desborde sin signo Vase la tabla Errores comunes de coma flotante, pgina 744. Vase la tabla Errores comunes de coma flotante, pgina 744.

16#8A21 El selector est fuera de rango.

35006147 10/2013

707

Cdigos y valores de error de EFB

Tabla de cdigos de error de la librera de diagnstico


Introduccin Las siguientes tablas muestran los cdigos y valores de error creados para los EFB de la librera de diagnstico. Diagnsticos Tabla de cdigos y valores de error creados para los EFB de la familia Diagnsticos.
Nombre de EFB Cdigo de error Estado Valor de de ENO error en en caso Dec de error V/F -30.196 Valor de error en Hex Descripcin del error

ONLEVT

E_EFB_ONLEVT

Error de EFB ONLEVT 16#8A0C Estados ENO Verdadero = Registro de error correcto Falso = Registro de error fallido

708

35006147 10/2013

Cdigos y valores de error de EFB

Tablas de cdigos de error de la biblioteca de comunicacin


Introduccin En las tablas siguientes se muestran los cdigos y valores de error creados para los EFB de la biblioteca de comunicacin. Ampliada Tabla de cdigos y valores de error creados para los EFB de la familia Ampliada.
Nombre de EFB CREAD_REG CREAD_REG CREAD_REG Cdigo de error Estado Valor de Valor de de ENO error en error en en error Dec Hex F -30191 -30531 8195 Descripcin del error

E_EFB_MSTR_ERROR

16#8A11 Error de comunicacin MSTR. 16#88BD Variable no asignada al campo %MW (4x). 16#2003 Valor mostrado en la palabra de estado. (Aparece con E_EFB_MSTR_ERROR.)

E_EFB_NOT_STATE_RAM_4X F F

CREAD_REG

8206

16#200E Valor mostrado en la palabra de estado. Aparece con E_EFB_NOT_STATE_RAM_4X. Consulte las tablas de: Cdigos de error de Modbus Plus y SY/MAX EtherNet (vase Modicon Quantum con Unity, Mdulos de red Ethernet, Manual del usuario) Cdigos de error especficos de SY/MAX (vase Modicon Quantum con Unity, Mdulos de red Ethernet, Manual del usuario) Cdigos de error TCP/IP EtherNet (vase Modicon Quantum con Unity, Mdulos de red Ethernet, Manual del usuario) Valor mostrado en la palabra de estado. Aparece con E_EFB_MSTR_ERROR. 709

CREAD_REG

CWRITE_REG E_EFB_MSTR_ERROR CWRITE_REG -

F F

-30191 8195

16#8A11 Error de comunicacin MSTR. 16#2003

35006147 10/2013

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Estado Valor de Valor de de ENO error en error en en error Dec Hex F 8206

Descripcin del error

CWRITE_REG -

16#200E Valor mostrado en la palabra de estado. Aparece con E_EFB_NOT_STATE_RAM_4X. Consulte las tablas de: Cdigos de error de Modbus Plus y SY/MAX EtherNet (vase Modicon Quantum con Unity, Mdulos de red Ethernet, Manual del usuario) Cdigos de error especficos de SY/MAX (vase Modicon Quantum con Unity, Mdulos de red Ethernet, Manual del usuario) Cdigos de error TCP/IP EtherNet (vase Modicon Quantum con Unity, Mdulos de red Ethernet, Manual del usuario)

CWRITE_REG -

MBP_MSTR

E_EFB_OUT_OF_RANGE

-30192

16#8A10 Error interno: EFB ha detectado una violacin (por ejemplo, que la escritura sobrepasa los lmites de %MW [4x]). 16#88BD Variable no asignada al campo %MW (4x). 16#2003 Valor mostrado en la palabra de estado. Aparece con E_EFB_MSTR_ERROR en el estado del bloque de control.

MBP_MSTR MBP_MSTR

E_EFB_NOT_STATE_RAM_4X F F

-30531 8195

MBP_MSTR

8206

16#200E Valor mostrado en la palabra de estado. Aparece con E_EFB_NOT_STATE_RAM_4X en el estado del bloque de control.

710

35006147 10/2013

Cdigos y valores de error de EFB

Nombre de EFB MBP_MSTR

Cdigo de error

Estado Valor de Valor de de ENO error en error en en error Dec Hex F -

Descripcin del error

Consulte las tablas de: Cdigos de error de Modbus Plus y SY/MAX EtherNet (vase Modicon Quantum con Unity, Mdulos de red Ethernet, Manual del usuario) Cdigos de error especficos de SY/MAX (vase Modicon Quantum con Unity, Mdulos de red Ethernet, Manual del usuario) Cdigos de error TCP/IP EtherNet (vase Modicon Quantum con Unity, Mdulos de red Ethernet, Manual del usuario)

READ_REG READ_REG READ_REG READ_REG

W_WARN_OUT_OF_RANGE

30110 -30531 -30191 8195

16#759E Parmetro fuera de rango. 16#88BD Variable no asignada al campo %MW (4x). 16#8A11 Error de comunicacin MSTR. 16#2003 Valor mostrado en la palabra de estado. Aparece con W_WARN_OUT_OF_RANGE.

E_EFB_NOT_STATE_RAM_4X F E_EFB_MSTR_ERROR F F

READ_REG

MBPUNLOC

8206

16#200E Valor mostrado en la palabra de estado. Aparece con E_EFB_NOT_STATE_RAM_4X.

35006147 10/2013

711

Cdigos y valores de error de EFB

Nombre de EFB READ_REG

Cdigo de error

Estado Valor de Valor de de ENO error en error en en error Dec Hex F -

Descripcin del error

Consulte las tablas de: Cdigos de error de Modbus Plus y SY/MAX EtherNet (vase Modicon Quantum con Unity, Mdulos de red Ethernet, Manual del usuario) Cdigos de error especficos de SY/MAX (vase Modicon Quantum con Unity, Mdulos de red Ethernet, Manual del usuario) Cdigos de error TCP/IP EtherNet (vase Modicon Quantum con Unity, Mdulos de red Ethernet, Manual del usuario)

WRITE_REG WRITE_REG WRITE_REG WRITE_REG

W_WARN_OUT_OF_RANGE

30110 -30531 -30191 8195

16#759E Parmetro fuera de rango. 16#88BD Variable no asignada al campo %MW (4x). 16#8A11 Error de comunicacin MSTR. 16#2003 Valor mostrado en la palabra de estado. Aparece con W_WARN_OUT_OF_RANGE.

E_EFB_NOT_STATE_RAM_4X F E_EFB_MSTR_ERROR F F

WRITE_REG

8206

16#200E Valor mostrado en la palabra de estado. Aparece con E_EFB_NOT_STATE_RAM_4X.

712

35006147 10/2013

Cdigos y valores de error de EFB

Nombre de EFB WRITE_REG

Cdigo de error

Estado Valor de Valor de de ENO error en error en en error Dec Hex F -

Descripcin del error

Consulte las tablas de: Cdigos de error de Modbus Plus y SY/MAX EtherNet (vase Modicon Quantum con Unity, Mdulos de red Ethernet, Manual del usuario) Cdigos de error especficos de SY/MAX (vase Modicon Quantum con Unity, Mdulos de red Ethernet, Manual del usuario) Cdigos de error TCP/IP EtherNet (vase Modicon Quantum con Unity, Mdulos de red Ethernet, Manual del usuario)

35006147 10/2013

713

Cdigos y valores de error de EFB

Tablas de cdigos de error para la librera de gestin de E/S


Introduccin En las tablas siguientes se muestran los cdigos y valores de error creados para los EFB de la librera de gestin de E/S. Configuracin de E/S analgicas Tabla de cdigos y valores de error creados para los EFB de la familia Configuracin de E/S analgicas.
Nombre de EFB Cdigo de error Esta- Valor de do de error en ENO Dec en caso de error F -30188 Valor de error en Hex Descripcin del error

I_FILTER

E_EFB_NOT_CONFIGURED

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A08 La entrada IN_REG no est conectada con el nmero de una palabra de entrada (%IW). 16#8A07 La entrada IN_REG est conectada con un nmero no vlido de una palabra de entrada (%IW). 16#8A06 MN_RAW MX_RAW 16#8A05 Valor desconocido para MN_PHYS 16#8A04 Valor desconocido para MX_PHYS 16#89FE ST_REG no introducido 16#89FD ST_REG demasiado largo 16#89FC ST_CH no introducido 16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A08 La entrada OUT_REG no est conectada con el nmero de una palabra de salida (%MW).

I_SET

E_EFB_USER_ERROR_1

-30200

I_SET

E_EFB_USER_ERROR_2

-30201

I_SET I_SET I_SET I_SET I_SET I_SET O_FILTER

E_EFB_USER_ERROR_3 E_EFB_USER_ERROR_4 E_EFB_USER_ERROR_5 E_EFB_USER_ERROR_11 E_EFB_USER_ERROR_12 E_EFB_USER_ERROR_13 E_EFB_NOT_CONFIGURED

F F F F F F F

-30202 -30203 -30204 -30210 -30211 -30212 -30188

O_SET

E_EFB_USER_ERROR_1

-30200

714

35006147 10/2013

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error F -30201

Valor de error en Hex

Descripcin del error

O_SET

E_EFB_USER_ERROR_2

16#8A07 La entrada OUT_REG est conectada a un nmero no vlido de una palabra de salida (%MW). 16#8A06 MN_RAW MX_RAW 16#8A05 Valor desconocido para MN_PHYS 16#8A04 Valor desconocido para MX_PHYS 16#89FE ST_REG no introducido 16#89FD ST_REG demasiado largo 16#89FC ST_CH no introducido

O_SET O_SET O_SET O_SET O_SET O_SET

E_EFB_USER_ERROR_3 E_EFB_USER_ERROR_4 E_EFB_USER_ERROR_5 E_EFB_USER_ERROR_11 E_EFB_USER_ERROR_12 E_EFB_USER_ERROR_13

F F F F F F

-30202 -30203 -30204 -30210 -30211 -30212

Escalado de E/S analgicas Tabla de cdigos y valores de error creados para los EFB de la familia Escalado de E/S analgicas.
Nombre de EFB Cdigo de error Esta- Valor de do de error en ENO Dec en caso de error F F -30187 -30188 Valor de error en Hex Descripcin del error

I_NORM I_NORM

E_EFB_NEG_OVER_ RANGE E_EFB_NOT_ CONFIGURED

16#8A15

Desborde negativo

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A13 El mdulo no entrega estado de advertencia.

I_NORM_WARN I_NORM_WARN I_NORM_WARN

E_EFB_NO_WARNING_STA F TUS_AVAILABLE E_EFB_POS_OVER_ RANGE E_EFB_NEG_OVER_ RANGE F F

-30189 -30186 -30187

16#8A16 Desborde positivo 16#8A15 Desborde negativo

35006147 10/2013

715

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error F -30188

Valor de error en Hex

Descripcin del error

I_NORM_WARN

E_EFB_NOT_ CONFIGURED E_EFB_NO_WARNING_ STATUS_AVAILABLE E_INPUT_VALUE_OUT_ OF_RANGE E_EFB_NO_MEASURING_ RANGE E_EFB_POS_OVER_ RANGE E_EFB_NEG_OVER_ RANGE

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A13 16#8A19 16#8A17 El mdulo no entrega estado de advertencia. Valor de entrada fuera de rango. Error interno

I_PHYS I_PHYS I_PHYS I_PHYS I_PHYS I_PHYS

F F F F F

-30189 -30183 -30185 -30186 -30187 -30188

16#8A16 Desborde positivo 16#8A15 Desborde negativo

E_EFB_NOT_CONFIGURED F

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A13 El mdulo no entrega estado de advertencia.

I_PHYS_WARN I_PHYS_WARN I_PHYS_WARN I_PHYS_WARN I_PHYS_WARN I_PHYS_WARN I_PHYS_WARN

E_EFB_NO_WARNING_ STATUS_AVAILABLE

-30189 -30195 -30183 -30185 -30186 -30187 -30188

E_EFB_FILTER_SQRT_NOT F _AVAIL E_INPUT_VALUE_OUT_OF_ F RANGE E_EFB_NO_MEASURING_ RANGE E_EFB_POS_OVER_ RANGE E_EFB_NEG_OVER_ RANGE F F F

16#8A0D El filtro SQRT no est disponible. 16#8A19 16#8A17 Valor de entrada fuera de rango. Error interno

16#8A16 Desborde positivo 16#8A15 Desborde negativo

E_EFB_NOT_CONFIGURED F

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A10 Error interno: EFB ha detectado una violacin (por ejemplo, que la escritura sobrepasa los lmites de %MW [4x]).

I_RAW

E_EFB_OUT_OF_RANGE

-30192

716

35006147 10/2013

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error -30188

Valor de error en Hex

Descripcin del error

I_RAW

E_EFB_NOT_CONFIGURED F

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A16 Desborde positivo 16#8A15 Desborde negativo

I_RAWSIM

E_EFB_NOT_CONFIGURED F

-30188

I_SCALE I_SCALE I_SCALE

E_EFB_POS_OVER_ RANGE E_EFB_NEG_OVER_RANG E

F F

-30186 -30187 -30188

E_EFB_NOT_CONFIGURED F

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A13 El mdulo no entrega estado de advertencia.

I_SCALE_WARN I_SCALE_WARN I_SCALE_WARN I_SCALE_WARN

E_EFB_NO_WARNING_ STATUS_AVAILABLE E_EFB_POS_OVER_ RANGE E_EFB_NEG_OVER_ RANGE

F F F

-30189 -30186 -30187 -30188

16#8A16 Desborde positivo 16#8A15 Desborde negativo

E_EFB_NOT_CONFIGURED F

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A16 Desborde positivo 16#8A15 Desborde negativo

O_NORM O_NORM O_NORM

E_EFB_POS_OVER_ RANGE E_EFB_NEG_OVER_ RANGE

F F

-30186 -30187 -30188

E_EFB_NOT_CONFIGURED F

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A16 Desborde positivo 16#8A15 Desborde negativo

O_NORM_WARN O_NORM_WARN O_NORM_WARN

E_EFB_POS_OVER_ RANGE E_EFB_NEG_OVER_ RANGE

F F

-30186 -30187 -30188

E_EFB_NOT_CONFIGURED F

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 717

35006147 10/2013

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error F F F -30185 -30186 -30187 -30188

Valor de error en Hex

Descripcin del error

O_PHYS O_PHYS O_PHYS O_PHYS

E_EFB_NO_MEASURING_ RANGE E_EFB_POS_OVER_ RANGE E_EFB_NEG_OVER_ RANGE

16#8A17

Error interno

16#8A16 Desborde positivo 16#8A15 Desborde negativo

E_EFB_NOT_CONFIGURED F

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A17 Error interno

O_PHYS_WARN O_PHYS_WARN O_PHYS_WARN O_PHYS_WARN

E_EFB_NO_MEASURING_ RANGE E_EFB_POS_OVER_RANG E E_EFB_NEG_OVER_ RANGE

F F F

-30185 -30186 -30187 -30188

16#8A16 Desborde positivo 16#8A15 Desborde negativo

E_EFB_NOT_CONFIGURED F

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A15 Desborde negativo

O_RAW O_RAW

E_EFB_NEG_OVER_ RANGE

-30187 -30188

E_EFB_NOT_CONFIGURED F

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A19 Valor de entrada fuera de rango.

O_SCALE O_SCALE O_SCALE O_SCALE

E_INPUT_VALUE_OUT_OF_ F RANGE E_EFB_POS_OVER_ RANGE E_EFB_NEG_OVER_ RANGE F F

-30183 -30186 -30187 -30188

16#8A16 Desborde positivo 16#8A15 Desborde negativo

E_EFB_NOT_CONFIGURED F

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A19 Valor de entrada fuera de rango.

O_SCALE_WARN

E_INPUT_VALUE_OUT_OF_ F RANGE

-30183

718

35006147 10/2013

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error F F -30186 -30187 -30188

Valor de error en Hex

Descripcin del error

O_SCALE_WARN O_SCALE_WARN O_SCALE_WARN

E_EFB_POS_OVER_ RANGE E_EFB_NEG_OVER_ RANGE

16#8A16 Desborde positivo 16#8A15 Desborde negativo

E_EFB_NOT_CONFIGURED F

16#8A14 La configuracin EFB no coincide con la configuracin del hardware.

E/S inmediatas Tabla de cdigos y valores de error creados para los EFB de la familia E/S inmediatas.
Nombre de EFB Cdigo de error Estado de ENO en caso de error F F Valor de error en Dec 0000 8193 Valor de Descripcin de errores error en Hex 0000 2001 Operacin correcta Tipo de operacin no vlido (por ejemplo, el mdulo de E/S direccionado no es un mdulo de entrada). Bastidor o nmero de slot no vlido (la asignacin de E/S en el configurador no contiene ninguna entrada de mdulo para este slot). Nmero de slot no vlido El mdulo no es correcto. Operacin correcta Tipo de operacin no vlido (por ejemplo, el mdulo de E/S direccionado no es un mdulo de entrada). Bastidor o nmero de slot no vlido (la asignacin de E/S en el configurador no contiene ninguna entrada de mdulo para este slot). Nmero de slot no vlido El mdulo no es correcto. 719

IMIO_IN IMIO_IN

IMIO_IN

8194

2002

IMIO_IN IMIO_IN IMIO_OUT IMIO_OUT

F F F F

8195 -4095 0000 8193

2003 F001 0000 2001

IMIO_OUT

8194

2002

IMIO_OUT IMIO_OUT
35006147 10/2013

F F

8195 -4095

2003 F001

Cdigos y valores de error de EFB

Configuracin de Quantum E/S Tabla de cdigos y valores de error creados para los EFB de la familia Configuracin de Quantum E/S.
Nombre de EFB Cdigo de error Esta- Valor de do de error en ENO Dec en caso de error F F F F F F F F F F F F F F -30188 -30188 -30197 -30188 -30188 -30197 -30188 -30198 -30188 -30197 -30188 -30197 -30188 -30188 -30198 Valor de error en Hex Descripcin de errores

ACI030 ACI040 ACI040 ACO020 ACO130 ACO130 AII330 AII330 AII33010 AII33010 AIO330 AIO330 AMM090 ARI030 ARI030

E_EFB_NOT_ CONFIGURED E_EFB_NOT_ CONFIGURED E_EFB_CURRENT_ MODE_NOT_ALLOWED E_EFB_NOT_ CONFIGURED E_EFB_NOT_ CONFIGURED E_EFB_CURRENT_ MODE_NOT_ALLOWED E_EFB_NOT_ CONFIGURED E_EFB_ILLEGAL_ CONFIG_DATA E_EFB_NOT_ CONFIGURED E_EFB_CURRENT_ MODE_NOT_ALLOWED E_EFB_NOT_ CONFIGURED E_EFB_CURRENT_ MODE_NOT_ALLOWED E_EFB_NOT_ CONFIGURED E_EFB_NOT_CONFIGU RED

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A0B Error EFB: la modalidad actual no est permitida.

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A0B Error EFB: la modalidad actual no est permitida.

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A0A Error EFB: datos de configuracin no vlidos.

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A0B Error EFB: la modalidad actual no est permitida.

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A0B Error EFB: la modalidad actual no est permitida.

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A0A Error EFB: datos de configuracin no vlidos.

E_EFB_ILLEGAL_CONFI F G_DATA

720

35006147 10/2013

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error F F F F F F F F F F F F F F F F F F F F -30188 -30188 -30188 -30188 20480 -30215 24576 -30216 32768 -30210 -30199 -30211 28672 -30217 8192 -30212 12288 -30213 -30188 -30190

Valor de error en Hex

Descripcin de errores

ATI030 AVI030 AVO020 DROP ERT_854_10 ERT_854_10 ERT_854_10 ERT_854_10 ERT_854_10 ERT_854_10 ERT_854_10 ERT_854_10 ERT_854_10 ERT_854_10 ERT_854_10 ERT_854_10 ERT_854_10 ERT_854_10 QUANTUM QUANTUM

E_EFB_NOT_ CONFIGURED E_EFB_NOT_ CONFIGURED E_EFB_NOT_ CONFIGURED E_EFB_NOT_ CONFIGURED ES_WRONG_SLOT E_WRONG_SLOT ES_HEALTHBIT E_HEALTHBIT ES_TIMEOUT E_TIMEOUT Valores E_ERT_BASIC E_WRONG_ANSW ES_CBUF_OFLOW E_CBUF_OFLOW ES_WRONG_PAKET E_WRONG_PAKET ES_WRONG_FELD E_WRONG_FELD E_EFB_NOT_CONFIGU RED E_EFB_UNKNOWN_ DROP

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#5000 16#89F9 16#6000 16#89F8 16#8000 16#89FE 16#8A09 16#89FD 16#7000 16#89F7 16#2000 16#89FC 16#3000 16#89FB Definido como E_EFB_USER_ERROR_16. Definido como E_EFB_USER_ERROR_17. Definido como E_EFB_USER_ERROR_11. Definido como E_EFB_USER_ERROR_1 + 1. Definido como E_EFB_USER_ERROR_12. Definido como E_EFB_USER_ERROR_18. Definido como E_EFB_USER_ERROR_13. Definido como E_EFB_USER_ERROR_14.

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A12 Estacin desconocida / Sin Traffic Cop Quantum 721

35006147 10/2013

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error F F F -30188 -30190 -30188

Valor de error en Hex

Descripcin de errores

XBE XBE XDROP

E_EFB_NOT_ CONFIGURED E_EFB_UNKNOWN_ DROP E_EFB_NOT_ CONFIGURED

16#8A14 La configuracin EFB no coincide con la configuracin del hardware. 16#8A12 Estacin desconocida / Sin Traffic Cop Quantum

16#8A14 La configuracin EFB no coincide con la configuracin del hardware.

NOTA: para obtener informacin sobre ERT_854_10, consulte la descripcin de ERT_854_10 (vase Quantum with Unity Pro, 140 ERT 854 10 Time Stamp Module, Users manual) en la librera de gestin de E/S.

722

35006147 10/2013

Cdigos y valores de error de EFB

Tabla de cdigos de error de la librera CONT_CTL


Introduccin Las siguientes tablas muestran los cdigos y valores de error creados para los EFB de la librera CONT_CTL. Condicionamiento Tabla de cdigos y valores de error creados para los EFB de la familia Condicionamiento.
Nombre de EFB Cdigo de error Esta- Valor de do de error en ENO Dec en caso de error V F V/F 30.110 Valor de error en Hex Descripcin del error

DTIME DTIME DTIME

W_WARN_OUT_OF_ RANGE FP_ERROR Valores de palabra de estado

16#759E Parmetro fuera de rango. Vase la tabla Errores comunes de coma flotante, pgina 744. Para obtener informacin detallada sobre la palabra de estado DTIME, consulte la descripcin de DTIME (vase Unity Pro, Control, Librera de bloques).

INTEGRATOR INTEGRATOR INTEGRATOR LAG_FILTER LAG_FILTER LDLG LDLG LEAD LEAD

E_ERR_DEN E_ERR_IB_MAX_MIN FP_ERROR E_ERR_DEN FP_ERROR E_ERR_DEN FP_ERROR E_ERR_DEN FP_ERROR

F F F F F F F F F

-30.152 -30.102 -30.152 -30.152 -30.152 -

16#8A38 El nmero de coma flotante no es vlido. 16#8A6A YMAX < YMIN Vase la tabla Errores comunes de coma flotante, pgina 744.

16#8A38 El nmero de coma flotante no es vlido. Vase la tabla Errores comunes de coma flotante, pgina 744.

16#8A38 El nmero de coma flotante no es vlido. Vase la tabla Errores comunes de coma flotante, pgina 744.

16#8A38 El nmero de coma flotante no es vlido. Vase la tabla Errores comunes de coma flotante, pgina 744. 723

35006147 10/2013

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error V F V/F 30.110 -

Valor de error en Hex

Descripcin del error

MFLOW MFLOW MFLOW

W_WARN_OUT_OF_RA NGE FP_ERROR Valores de palabra de estado

16#759E Parmetro fuera de rango. Vase la tabla Errores comunes de coma flotante, pgina 744. Para obtener informacin detallada sobre la palabra de estado MFLOW, consulte la descripcin de MFLOW (vase Unity Pro, Control, Librera de bloques).

QDTIME SCALING SCALING SCALING

E_ERR_DEN E_ERR_NULL_INPUT_S CALE FP_ERROR Valores de palabra de estado

F F F V/F

-30.152 -30.121 -

16#8A38 El nmero de coma flotante no es vlido. 16#8A57 Sin escala de entrada: los lmites Mx. y Mn. tienen que ser diferentes. Vase la tabla Errores comunes de coma flotante, pgina 744. Para obtener informacin detallada sobre la palabra de estado SCALING, consulte la descripcin de SCALING (vase Unity Pro, Control, Librera de bloques).

TOTALIZER TOTALIZER TOTALIZER TOTALIZER

W_WARN_OUT_OF_RA NGE FP_ERROR W_WARN_TOTALIZER_ CTER_MAX Valores de palabra de estado

V F V V/F

30.110 30.113 -

16#759E Parmetro fuera de rango. Vase la tabla Errores comunes de coma flotante, pgina 744.

16#75A1 Se alcanz valor mximo de ctr. Para obtener informacin detallada sobre la palabra de estado TOTALIZER, consulte la descripcin de TOTALIZER (vase Unity Pro, Control, Librera de bloques).

VEL_LIM VEL_LIM VEL_LIM

E_ERR_DEN E_ERR_AB1_MAX_MIN FP_ERROR

F F F

-30.152 -30.101 -

16#8A38 El nmero de coma flotante no es vlido. 16#8A6B YMAX < YMIN Vase la tabla Errores comunes de coma flotante, pgina 744.
35006147 10/2013

724

Cdigos y valores de error de EFB

Controlador Tabla de cdigos y valores de error creados para los EFB de la familia Controlador.
Nombre de EFB Cdigo de error Esta- Valor de do de error en ENO Dec en caso de error V F V F 30.110 16#759E -30.121 30.111 -30.120 16#8A57 Sin escala de entrada: los lmites Mx. y Mn. tienen que ser diferentes. 16#759F Fallo en AUTOTUNE Vase la tabla Errores comunes de coma flotante, pgina 744. Valor de error en Hex Descripcin del error

AUTOTUNE AUTOTUNE AUTOTUNE AUTOTUNE AUTOTUNE AUTOTUNE

W_WARN_OUT_OF_ RANGE E_ERR_NULL_INPUT_ SCALE W_WARN_AUTOTUNE_ FAILED FP_ERROR

Parmetro fuera de rango.

E_ERR_AUTOTUNE_ID_ F UNKNOWN Valores de palabra de estado V/F

16#8A58 No se acepta aqu el EFB ajustado o an no fue llamado. Para obtener informacin detallada sobre la palabra de estado AUTOTUNE, consulte la descripcin de AUTOTUNE (vase Unity Pro, Control, Librera de bloques). Parmetro fuera de rango. 16#759E 16#8A57 Sin escala de entrada: los lmites Mx. y Mn. tienen que ser diferentes. Vase la tabla Errores comunes de coma flotante, pgina 744. Para obtener informacin detallada sobre la palabra de estado PI_B consulte la descripcin de PI_B (vase Unity Pro, Control, Librera de bloques). Parmetro fuera de rango. 16#759E 16#8A57 Sin escala de entrada: los lmites Mx. y Mn. tienen que ser diferentes. Vase la tabla Errores comunes de coma flotante, pgina 744.

PI_B PI_B PI_B PI_B

W_WARN_OUT_OF_ RANGE E_ERR_NULL_INPUT_ SCALE FP_ERROR Valores de palabra de estado

V F F V/F

30.110 -30.121 -

PIDFF PIDFF PIDFF

W_WARN_OUT_OF_ RANGE E_ERR_NULL_INPUT_ SCALE FP_ERROR

V F F

30.110 -30.121 -

35006147 10/2013

725

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error V/F -

Valor de error en Hex

Descripcin del error

PIDFF

Valores de palabra de estado

Para obtener informacin detallada sobre la palabra de estado PIDFF, consulte la descripcin de PIDFF (vase Unity Pro, Control, Librera de bloques). Error interno

SAMPLETM STEP2 STEP2 STEP2

E_EFB_SAMPLE_TIME_ OVERFLOW W_WARN_OUT_OF_ RANGE FP_ERROR Valores de palabra de estado

F V F V/F

-30.184 16#8A18 30.110 16#759E -

Parmetro fuera de rango. Vase la tabla Errores comunes de coma flotante, pgina 744. Para obtener informacin detallada sobre la palabra de estado STEP2, consulte la descripcin de STEP2 (vase Unity Pro, Control, Librera de bloques). Parmetro fuera de rango. 16#759E Vase la tabla Errores comunes de coma flotante, pgina 744. Para obtener informacin detallada sobre la palabra de estado STEP3, consulte la descripcin de STEP3 (vase Unity Pro, Control, Librera de bloques).

STEP3 STEP3 STEP3

W_WARN_OUT_OF_ RANGE FP_ERROR Valores de palabra de estado

V F V/F

30.110 -

726

35006147 10/2013

Cdigos y valores de error de EFB

Matemticas Tabla de cdigos y valores de error creados para los EFB de la familia Matemticas.
Nombre de EFB Cdigo de error Estad Valor de o de error en ENO Dec en caso de error V F V F F F 30.110 30.110 Valor de error en Hex Descripcin del error

COMP_DB COMP_DB K_SQRT K_SQRT MULDIV_W SUM_W

W_WARN_OUT_OF_RA NGE FP_ERROR W_WARN_OUT_OF_ RANGE FP_ERROR FP_ERROR FP_ERROR

16#759E 16#759E -

Parmetro fuera de rango. Vase la tabla Errores comunes de coma flotante, pgina 744. Parmetro fuera de rango. Vase la tabla Errores comunes de coma flotante, pgina 744. Vase la tabla Errores comunes de coma flotante, pgina 744. Vase la tabla Errores comunes de coma flotante, pgina 744.

Medicin Tabla de cdigos y valores de error creados para los EFB de la familia Medicin.
Nombre de EFB Cdigo de error Esta- Valor de do de error en ENO Dec en caso de error F V F F V -30.152 30.108 -30.152 30.109 Valor de error en Hex Descripcin del error

AVGMV AVGMV AVGMV AVGMV_K AVGMV_K

E_ERR_DEN W_WARN_AVGMV FP_ERROR E_ERR_DEN W_WARN_AVGMV_K

16#8A38 El nmero de coma flotante no es vlido. 16#759C AVGMV: N tiene que ser <= 50 Vase la tabla Errores comunes de coma flotante, pgina 744.

16#8A38 El nmero de coma flotante no es vlido. 16#759D AVGMV_K: N tiene que ser <= 10.000

35006147 10/2013

727

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error F F F F F F F F -30.152 -30.119 -30.152 -30.107 -30.108 -

Valor de error en Hex

Descripcin del error

AVGMV_K DEAD_ZONE DEAD_ZONE DEAD_ZONE LOOKUP_ TABLE1 LOOKUP_ TABLE1 LOOKUP_ TABLE1 LOOKUP_ TABLE1

FP_ERROR E_ERR_DEN E_ERR_DZONE FP_ERROR E_ERR_DEN E_ERR_POLY_ANZAHL E_ERR_POLY_FOLGE FP_ERROR

Vase la tabla Errores comunes de coma flotante, pgina 744.

16#8A38 El nmero de coma flotante no es vlido. 16#8A59 DZONE: DZ tiene que ser >= 0 Vase la tabla Errores comunes de coma flotante, pgina 744.

16#8A38 El nmero de coma flotante no es vlido. 16#8A65 La cantidad de entradas no es par. 16#8A64 Coordenadas de referencia x(i) <= x(i1) Vase la tabla Errores comunes de coma flotante, pgina 744.

728

35006147 10/2013

Cdigos y valores de error de EFB

Procesamiento de salida Tabla de cdigos y valores de error creados para los EFB de la familia Procesamiento de salida.
Nombre de EFB Cdigo de error Esta- Valor de do de error en ENO Dec en caso de error V 30.110 16#759 E F V/F Vase la tabla Errores comunes de coma flotante, pgina 744. Para obtener informacin detallada sobre la palabra de estado MS, consulte la descripcin de MS (vase Unity Pro, Control, Librera de bloques). t_min < t_max 16#8A5 F PWM1 SERVO SERVO FP_ERROR FP_ERROR Valores de palabra de estado F F V/F Vase la tabla Errores comunes de coma flotante, pgina 744. Vase la tabla Errores comunes de coma flotante, pgina 744. Para obtener informacin detallada sobre la palabra de estado SERVO, consulte la descripcin de SERVO (vase Unity Pro, Control, Librera de bloques). Parmetro fuera de rango. 16#759 E F -30.121 16#8A5 7 F Sin escala de entrada: los lmites Mx. y Mn. tienen que ser diferentes. Vase la tabla Errores comunes de coma flotante, pgina 744. Valor de Descripcin del error error en Hex

MS

W_WARN_OUT_OF_RA NGE FP_ERROR Valores de palabra de estado

Parmetro fuera de rango.

MS MS

PWM1

WAF_PBM_TMINMAX

-30.113

SPLRG

W_WARN_OUT_OF_ RANGE E_ERR_NULL_INPUT_ SCALE FP_ERROR

30.110

SPLRG

SPLRG

35006147 10/2013

729

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error V/F -

Valor de Descripcin del error error en Hex

SPLRG

Valores de palabra de estado

Para obtener informacin detallada sobre la palabra de estado SPLRG, consulte la descripcin de SPLRG (vase Unity Pro, Control, Librera de bloques).

Gestin de consigna Tabla de cdigos y valores de error creados para los EFB de la familia Gestin de consigna.
Nombre de EFB Cdigo de error Estad Valor de o de error en ENO Dec en caso de error V F V/F 30.110 Valor de error en Hex Descripcin del error

RAMP RAMP RAMP

W_WARN_OUT_OF_RA NGE FP_ERROR Valores de palabra de estado

16#759E Parmetro fuera de rango. Vase la tabla Errores comunes de coma flotante, pgina 744. Para obtener informacin detallada sobre la palabra de estado RAMP, consulte la descripcin de RAMP (vase Unity Pro, Control, Librera de bloques). Vase la tabla Errores comunes de coma flotante, pgina 744. Para obtener informacin detallada sobre la palabra de estado RATIO, consulte la descripcin de RATIO (vase Unity Pro, Control, Librera de bloques).

RATIO RATIO

FP_ERROR Valores de palabra de estado

F V/F

SP_SEL SP_SEL

W_WARN_OUT_OF_RA NGE FP_ERROR

V F

30.110 -

16#759E Parmetro fuera de rango. Vase la tabla Errores comunes de coma flotante, pgina 744.

730

35006147 10/2013

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Estad Valor de o de error en ENO Dec en caso de error V/F -

Valor de error en Hex

Descripcin del error

SP_SEL

Valores de palabra de estado

Para obtener informacin detallada sobre la palabra de estado SP_SEL, consulte la descripcin de SP_SEL (vase Unity Pro, Control, Librera de bloques).

35006147 10/2013

731

Cdigos y valores de error de EFB

Tabla de cdigos de error de la biblioteca de movimiento


Introduccin Las siguientes tablas muestran los cdigos y valores de error creados para los EFB de la biblioteca de movimiento. Inicio MMF Tabla de cdigos y valores de error creados para los EFB de la familia Inicio MMF.
Nombre de EFB Cdigo de error Esta- Valor de do de error en ENO Dec en caso de error F V V F V V F V F V F V F -30.200 9.010 7.004 -30.200 9.010 7.004 -30.200 7.004 -30.200 7.004 -30.200 7.004 -30.200 Valor de error en Hex Descripcin del error

CFG_CP_F CFG_CP_F CFG_CP_F CFG_CP_V CFG_CP_V CFG_CP_V CFG_CS CFG_CS CFG_FS CFG_FS CFG_IA CFG_IA CFG_RA

BAD_REVISION MMF_BAD_4X MMF_ABORT_SUB BAD_REVISION MMF_BAD_4X MMF_ABORT_SUB BAD_REVISION MMF_ABORT_SUB BAD_REVISION MMF_ABORT_SUB BAD_REVISION MMF_ABORT_SUB BAD_REVISION

16#8A08 16#2332 16#1B5C 16#8A08 16#2332 16#1B5C 16#8A08 16#1B5C 16#8A08 16#1B5C 16#8A08 16#1B5C 16#8A08

Definido como E_EFB_USER_ERROR_1 Error de protocolo SubNum/SubNumEcho Definido como E_EFB_USER_ERROR_1 Error de protocolo SubNum/SubNumEcho Definido como E_EFB_USER_ERROR_1 Error de protocolo SubNum/SubNumEcho Definido como E_EFB_USER_ERROR_1 Error de protocolo SubNum/SubNumEcho Definido como E_EFB_USER_ERROR_1 Error de protocolo SubNum/SubNumEcho Definido como E_EFB_USER_ERROR_1

732

35006147 10/2013

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error V F V F V F V F V F V F F V F V F 7.004 -30.200 7.004 -30.200 7.004 -30.200 7.004 -30.200 7.004 -30.200 7.004 -30.200 -30.200 7.004 -30.200 7.004 -30.200

Valor de error en Hex

Descripcin del error

CFG_RA CFG_SA CFG_SA DRV_DNLD DRV_DNLD DRV_UPLD DRV_UPLD IDN_CHK IDN_CHK IDN_XFER IDN_XFER MMF_BITS MMF_ESUB MMF_ESUB MMF_IDNX MMF_IDNX MMF_JOG

MMF_ABORT_SUB BAD_REVISION MMF_ABORT_SUB BAD_REVISION MMF_ABORT_SUB BAD_REVISION MMF_ABORT_SUB BAD_REVISION MMF_ABORT_SUB BAD_REVISION MMF_ABORT_SUB BAD_REVISION BAD_REVISION MMF_ABORT_SUB BAD_REVISION MMF_ABORT_SUB BAD_REVISION

16#1B5C 16#8A08 16#1B5C 16#8A08 16#1B5C 16#8A08 16#1B5C 16#8A08 16#1B5C 16#8A08 16#1B5C 16#8A08 16#8A08 16#1B5C 16#8A08 16#1B5C 16#8A08

Error de protocolo SubNum/SubNumEcho Definido como E_EFB_USER_ERROR_1 Error de protocolo SubNum/SubNumEcho Definido como E_EFB_USER_ERROR_1 Error de protocolo SubNum/SubNumEcho Definido como E_EFB_USER_ERROR_1 Error de protocolo SubNum/SubNumEcho Definido como E_EFB_USER_ERROR_1 Error de protocolo SubNum/SubNumEcho Definido como E_EFB_USER_ERROR_1 Error de protocolo SubNum/SubNumEcho Definido como E_EFB_USER_ERROR_1 Definido como E_EFB_USER_ERROR_1 Error de protocolo SubNum/SubNumEcho Definido como E_EFB_USER_ERROR_1 Error de protocolo SubNum/SubNumEcho Definido como E_EFB_USER_ERROR_1

35006147 10/2013

733

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error V V F V F F V F V 7.004 7.005 -30.200 7.004 -30.200 -30.200 7.004 -30.200 7.004

Valor de error en Hex

Descripcin del error

MMF_JOG MMF_JOG MMF_MOVE MMF_MOVE MMF_RST MMF_SUB MMF_SUB MMF_USUB MMF_USUB

MMF_ABORT_SUB MMF_SUB_TIMEOUT BAD_REVISION MMF_ABORT_SUB BAD_REVISION BAD_REVISION MMF_ABORT_SUB BAD_REVISION MMF_ABORT_SUB

16#1B5C 16#1B5D 16#8A08 16#1B5C 16#8A08 16#8A08 16#1B5C 16#8A08 16#1B5C

Error de protocolo SubNum/SubNumEcho La subrutina no se completa a tiempo Definido como E_EFB_USER_ERROR_1 Error de protocolo SubNum/SubNumEcho Definido como E_EFB_USER_ERROR_1 Definido como E_EFB_USER_ERROR_1 Error de protocolo SubNum/SubNumEcho Definido como E_EFB_USER_ERROR_1 Error de protocolo SubNum/SubNumEcho

NOTA: Para obtener detalles acerca de los cdigos de error y los valores de error MMF, consulte la descripcin de Notificacin de errores y fallos (vase Unity Pro, Control de unidad, Librera de bloques) en la librera de movimiento.

734

35006147 10/2013

Cdigos y valores de error de EFB

Tablas de cdigos de error de la biblioteca obsoleta


Introduccin En las tablas siguientes se muestran los cdigos y valores de error creados para los EFB de la biblioteca obsoleta. CLC Tabla de cdigos y valores de error creados para los EFB de la familia CLC.
Nombre de EFB Cdigo de error Esta- Valor de do de error en ENO Dec en caso de error F F F F F F F F F F F F F F -30152 -30152 -30102 -30152 -30152 -30152 -30101 -30152 -30103 Valor de error en Hex Descripcin del error

DELAY INTEGRATOR1 INTEGRATOR1 INTEGRATOR1 LAG1 LAG1 LEAD_LAG1 LEAD_LAG1 LIMV LIMV LIMV PI1 PI1 PI1

E_ERR_DEN E_ERR_DEN E_ERR_IB_MAX_MIN FP_ERROR E_ERR_DEN FP_ERROR E_ERR_DEN FP_ERROR E_ERR_DEN E_ERR_AB1_MAX_MIN FP_ERROR E_ERR_DEN E_ERR_PI_MAX_MIN FP_ERROR

16#8A38 El nmero de coma flotante no es vlido. 16#8A38 El nmero de coma flotante no es vlido. 16#8A6A YMAX < YMIN Vase la tabla Errores comunes de coma flotante, pgina 744.

16#8A38 El nmero de coma flotante no es vlido. Vase la tabla Errores comunes de coma flotante, pgina 744.

16#8A38 El nmero de coma flotante no es vlido. Vase la tabla Errores comunes de coma flotante, pgina 744.

16#8A38 El nmero de coma flotante no es vlido. 16#8A6B YMAX < YMIN Vase la tabla Errores comunes de coma flotante, pgina 744.

16#8A38 El nmero de coma flotante no es vlido. 16#8A69 YMAX < YMIN Vase la tabla Errores comunes de coma flotante, pgina 744. 735

35006147 10/2013

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error F F F F F F F F F V V V F F F F F F -30152 -30104 -30152 -30104 -30152 -30152 30101 30102 30103 -30105 -30152 30105 30104 -

Valor de error en Hex

Descripcin del error

PID1 PID1 PID1 PIDP1 PIDP1 PIDP1

E_ERR_DEN E_ERR_PID_MAX_MIN FP_ERROR E_ERR_DEN E_ERR_PID_MAX_MIN FP_ERROR

16#8A38 El nmero de coma flotante no es vlido. 16#8A68 YMAX < YMIN Vase la tabla Errores comunes de coma flotante, pgina 744.

16#8A38 El nmero de coma flotante no es vlido. 16#8A68 YMAX < YMIN Vase la tabla Errores comunes de coma flotante, pgina 744.

SMOOTH_RATE E_ERR_DEN SMOOTH_RATE FP_ERROR THREE_STEP_ CON1 THREE_STEP_ CON1 THREE_STEP_ CON1 THREE_STEP_ CON1 THREE_STEP_ CON1 THREE_STEP_ CON1 E_ERR_DEN W_WARN_DSR_TN W_WARN_DSR_TSN W_WARN_DSR_KP E_ERR_DSR_HYS FP_ERROR

16#8A38 El nmero de coma flotante no es vlido. Vase la tabla Errores comunes de coma flotante, pgina 744.

16#8A38 El nmero de coma flotante no es vlido. 16#7595 TN = 0 16#7596 TSN = 0 16#7597 KP <= 0 16#8A67 2 * |UZ| < |HYS| Vase la tabla Errores comunes de coma flotante, pgina 744.

THREEPOINT_C E_ERR_DEN ON1 THREEPOINT_C W_WARN_ZDR_XRR ON1 THREEPOINT_C W_WARN_ZDR_T1T2 ON1 THREEPOINT_C FP_ERROR ON1

16#8A38 El nmero de coma flotante no es vlido. 16#7599 DR: XRR < -100 o XRR > 100 16#7598 T2 > T1 Vase la tabla Errores comunes de coma flotante, pgina 744.

736

35006147 10/2013

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error F F F F F F -30106 -30152 30105 30104 -30106

Valor de error en Hex

Descripcin del error

THREEPOINT_C E_ERR_ZDR_HYS ON1 TWOPOINT_CO N1 TWOPOINT_CO N1 TWOPOINT_CO N1 TWOPOINT_CO N1 TWOPOINT_CO N1 E_ERR_DEN W_WARN_ZDR_XRR W_WARN_ZDR_T1T2 FP_ERROR E_ERR_ZDR_HYS

16#8A66 2 * |UZ| < |HYS| 16#8A38 El nmero de coma flotante no es vlido. 16#7599 DR: XRR < -100 o XRR > 100 16#7598 T2 > T1 Vase la tabla Errores comunes de coma flotante, pgina 744.

16#8A66 2 * |UZ| < |HYS|

CLC_PRO Tabla de cdigos y valores de error creados para los EFB de la familia CLC_PRO.
Nombre de EFB Cdigo de error Esta- Valor de do de error en ENO Dec en caso de error F F F F F F F F -30152 -30111 -30112 -30152 -30110 -30104 -30109 Valor de error en Hex Descripcin del error

ALIM ALIM ALIM ALIM COMP_PID COMP_PID COMP_PID COMP_PID

E_ERR_DEN WAF_AB2_VMAX WAF_AB2_BMAX FP_ERROR E_ERR_DEN WAF_KPID_KUZ WAF_KPID_OGUG WAF_KPID_UZ

16#8A38 16#8A61 16#8A60 16#8A38 16#8A62 16#8A68 16#8A63

El nmero de coma flotante no es vlido. vmx <= 0 bmx <= 0 Vase la tabla Errores comunes de coma flotante, pgina 744. El nmero de coma flotante no es vlido. gain_red < 0 o gain_red > 1 YMAX < YMIN db < 0

35006147 10/2013

737

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error F F F F F F F V V F F F F F F F F F F F -30152 -30152 -30152 -30116 -30117 30106 30107 -30118 -30152 -30102 -30152 -30152 -30152 -

Valor de error en Hex

Descripcin del error

COMP_PID DEADTIME DERIV DERIV FGEN FGEN FGEN FGEN FGEN FGEN FGEN INTEG INTEG INTEG LAG LAG LAG2 LAG2 LEAD_LAG LEAD_LAG

FP_ERROR E_ERR_DEN E_ERR_DEN FP_ERROR E_ERR_DEN WAF_SIG_TV_MAX WAF_SIG_TH_MAX WAF_SIG_TA_MAX WAF_SIG_T1_MIN WAF_SIG_FKT FP_ERROR E_ERR_DEN E_ERR_IB_MAX_MIN FP_ERROR E_ERR_DEN FP_ERROR E_ERR_DEN FP_ERROR E_ERR_DEN FP_ERROR

16#8A38 16#8A38 16#8A38 16#8A5C 16#8A5B 16#759A 16#759B 16#8A5A 16#8A38 16#8A6A 16#8A38 16#8A38 16#8A38 -

Vase la tabla Errores comunes de coma flotante, pgina 744. El nmero de coma flotante no es vlido. El nmero de coma flotante no es vlido. Vase la tabla Errores comunes de coma flotante, pgina 744. El nmero de coma flotante no es vlido. t_acc > t_rise / 2 t_rise demasiado grande t_off >= Medio perodo t_max <= t_min func_no <= 0 o func_no > 8 Vase la tabla Errores comunes de coma flotante, pgina 744. El nmero de coma flotante no es vlido. YMAX < YMIN Vase la tabla Errores comunes de coma flotante, pgina 744. El nmero de coma flotante no es vlido. Vase la tabla Errores comunes de coma flotante, pgina 744. El nmero de coma flotante no es vlido. Vase la tabla Errores comunes de coma flotante, pgina 744. El nmero de coma flotante no es vlido. Vase la tabla Errores comunes de coma flotante, pgina 744.
35006147 10/2013

738

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error F V V F F F V V F F F F F F F F F F F F F -30152 30105 30104 -30106 -30152 30105 30104 -30106 -30152 -30103 -30115 -30114 -30152 -30103 -30152 -30104

Valor de error en Hex

Descripcin del error

PCON2 PCON2 PCON2 PCON2 PCON2 PCON3 PCON3 PCON3 PCON3 PCON3 PD_OR_PI PD_OR_PI PD_OR_PI PDM PDM PDM PI PI PI PID PID

E_ERR_DEN W_WARN_ZDR_XRR W_WARN_ZDR_T1T2 FP_ERROR E_ERR_ZDR_HYS E_ERR_DEN W_WARN_ZDR_XRR W_WARN_ZDR_T1T2 FP_ERROR E_ERR_ZDR_HYS E_ERR_DEN WAF_PDPI_OG_UG FP_ERROR PDM_TMAX_TMIN PDM_OG_UG FP_ERROR E_ERR_DEN E_ERR_PI_MAX_MIN FP_ERROR E_ERR_DEN E_ERR_PID_MAX_MIN

16#8A38 16#7599 16#7598 16#8A66 16#8A38 16#7599 16#7598 16#8A66 16#8A38 16#8A69 16#8A5D 16#8A69 16#8A38 16#8A69 16#8A38 16#8A68

El nmero de coma flotante no es vlido. DR: XRR < -100 o XRR > 100 T2 > T1 Vase la tabla Errores comunes de coma flotante, pgina 744. 2 * |UZ| < |HYS| El nmero de coma flotante no es vlido. DR: XRR < -100 o XRR > 100 T2 > T1 Vase la tabla Errores comunes de coma flotante, pgina 744. 2 * |UZ| < |HYS| El nmero de coma flotante no es vlido. YMAX < YMIN Vase la tabla Errores comunes de coma flotante, pgina 744. t_max <= t_min |pos_up_x| > |pos_lo_x| o |neg_up_x| > |neg_lo_x| Vase la tabla Errores comunes de coma flotante, pgina 744. El nmero de coma flotante no es vlido. YMAX < YMIN Vase la tabla Errores comunes de coma flotante, pgina 744. El nmero de coma flotante no es vlido. YMAX < YMIN

35006147 10/2013

739

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error F F F F F F F F F F F F F F F V V V F F F -30152 -30104 -30152 -30103 -30152 -30103 -30113 -30113 -30152 30101 30102 30103 -30105 -30152

Valor de error en Hex

Descripcin del error

PID PID_P PID_P PID_P PIP PIP PIP PPI PPI PPI PWM PWM QPWM QPWM SCON3 SCON3 SCON3 SCON3 SCON3 SCON3 VLIM

FP_ERROR E_ERR_DEN E_ERR_PID_MAX_MIN FP_ERROR E_ERR_DEN E_ERR_PI_MAX_MIN FP_ERROR E_ERR_DEN E_ERR_PI_MAX_MIN FP_ERROR WAF_PBM_TMINMAX FP_ERROR WAF_PBM_TMINMAX FP_ERROR E_ERR_DEN W_WARN_DSR_TN W_WARN_DSR_TSN W_WARN_DSR_KP E_ERR_DSR_HYS FP_ERROR E_ERR_DEN

16#8A38 16#8A68 16#8A38 16#8A69 16#8A38 16#8A69 16#8A5F 16#8A5F 16#8A38 16#7595 16#7596 16#7597 16#8A67 16#8A38

Vase la tabla Errores comunes de coma flotante, pgina 744. El nmero de coma flotante no es vlido. YMAX < YMIN Vase la tabla Errores comunes de coma flotante, pgina 744. El nmero de coma flotante no es vlido. YMAX < YMIN Vase la tabla Errores comunes de coma flotante, pgina 744. El nmero de coma flotante no es vlido. YMAX < YMIN Vase la tabla Errores comunes de coma flotante, pgina 744. t_min < t_max Vase la tabla Errores comunes de coma flotante, pgina 744. t_min < t_max Vase la tabla Errores comunes de coma flotante, pgina 744. El nmero de coma flotante no es vlido. TN = 0 TSN = 0 KP <= 0 2 * |UZ| < |HYS| Vase la tabla Errores comunes de coma flotante, pgina 744. El nmero de coma flotante no es vlido.

740

35006147 10/2013

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Esta- Valor de do de error en ENO Dec en caso de error F F -30101 -

Valor de error en Hex

Descripcin del error

VLIM VLIM

E_ERR_AB1_MAX_MIN FP_ERROR

16#8A6B -

YMAX < YMIN Vase la tabla Errores comunes de coma flotante, pgina 744.

Extensin/Compatibilidad Tabla de cdigos y valores de error creados para los EFB de la familia Extensin/Compatibilidad.
Nombre de EFB Cdigo de error Estad Valor de o de error en ENO Dec en caso de error F F F F F F F F F -30482 -30482 -30482 -30482 -30482 -30183 -30183 -30183 -30183 -30200 Valor de error en Hex Descripcin del error

AKF_TA AKF_TE AKF_TI AKF_TS AKF_TV FIFO GET_3X GET_4X GET_BIT IEC_BMDI

E_AKFEFB_TIMEBASE_ IS_ZERO E_AKFEFB_TIMEBASE_ IS_ZERO E_AKFEFB_TIMEBASE_ IS_ZERO E_AKFEFB_TIMEBASE_ IS_ZERO E_AKFEFB_TIMEBASE_ IS_ZERO E_INPUT_VALUE_OUT_ OF_RANGE E_INPUT_VALUE_OUT_ OF_RANGE E_INPUT_VALUE_OUT_ OF_RANGE E_INPUT_VALUE_OUT_ OF_RANGE

16#88EE Base de tiempo es cero. 16#88EE Base de tiempo es cero. 16#88EE Base de tiempo es cero. 16#88EE Base de tiempo es cero. 16#88EE Base de tiempo es cero. 16#8A19 Valor de entrada fuera de rango. 16#8A19 Valor de entrada fuera de rango. 16#8A19 Valor de entrada fuera de rango. 16#8A19 Valor de entrada fuera de rango. 16#8A08 El valor de entrada es un tipo de registro invlido (SourceTable). 741

E_EFB_USER_ERROR_1 F

35006147 10/2013

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Estad Valor de o de error en ENO Dec en caso de error -30201

Valor de error en Hex

Descripcin del error

IEC_BMDI

E_EFB_USER_ERROR_2 F

16#8A07 El offset de entrada (OffsetInSourceTable) selecciona una direccin que excede los lmites aceptables. 16#8A06 El offset de entrada (OFF_IN) no es 1 o un mltiplo de 16+1. 16#8A05 El valor de salida es un tipo de registro invlido (DestinationTable). 16#8A04 El offset de salida (OffsetInDestinationble) selecciona una direccin que excede los lmites aceptables. 16#8A03 El offset de salida (OffsetInDestinationTable) no es 1 o un mltiplo de 16+1. 16#8A02 El valor de (NumberOfElements) es 0. 16#8A01 El valor de (NumberOfElements) hace referencia a ms de 1.600 bits. 16#8A00 El valor de (NumberOfElements) hace referencia a ms de 100 palabras. 16#89FF El valor de (NumberOfElements) selecciona una direccin de fuente que excede los lmites aceptables. 16#89FE El valor de (NumberOfElements) selecciona una direccin de destino que excede los lmites aceptables. 16#89FD El valor de (NumberOfElements) no es un mltiplo de 16. 16#89FC Advertencia: Solapamiento de direcciones de entrada y salida. 16#8A19 Valor de entrada fuera de rango. 16#8A19 Valor de entrada fuera de rango.

IEC_BMDI IEC_BMDI IEC_BMDI

E_EFB_USER_ERROR_3 F E_EFB_USER_ERROR_4 F E_EFB_USER_ERROR_5 F

-30202 -30203 -30204

IEC_BMDI

E_EFB_USER_ERROR_6 F

-30205

IEC_BMDI IEC_BMDI IEC_BMDI

E_EFB_USER_ERROR_7 F E_EFB_USER_ERROR_8 F E_EFB_USER_ERROR_9 F

-30206 -30207 -30208

IEC_BMDI

E_EFB_USER_ERROR_1 F 0 E_EFB_USER_ERROR_1 F 1 E_EFB_USER_ERROR_1 F 2 E_EFB_USER_ERROR_1 F 3 E_INPUT_VALUE_OUT_ OF_RANGE E_INPUT_VALUE_OUT_ OF_RANGE F F

-30209

IEC_BMDI

-30210

IEC_BMDI IEC_BMDI LIFO PUT_4X

-30211 -30212 -30183 -30183

742

35006147 10/2013

Cdigos y valores de error de EFB

Nombre de EFB

Cdigo de error

Estad Valor de o de error en ENO Dec en caso de error -30175 -30183

Valor de error en Hex

Descripcin del error

MUX_DINTARR_ E_SELECTOR_OUT_OF_ F 125 RANGE SET_BIT E_INPUT_VALUE_OUT_ OF_RANGE F

16#8A21 El selector est fuera de rango. 16#8A19 Valor de entrada fuera de rango.

35006147 10/2013

743

Cdigos y valores de error de EFB

Errores comunes de coma flotante


Introduccin En la tabla siguiente se muestran los cdigos y valores de error comunes creados para los errores de coma flotante. Errores comunes de coma flotante Tabla de errores comunes de coma flotante
Cdigos de error Valor de error en Dec -30150 -30151 -30152 -30154 -30155 -30158 -30159 -30162 -30163 -30166 Valor de error en Hex 16#8A3A 16#8A39 16#8A38 16#8A36 16#8A35 16#8A32 16#8A31 16#8A2E 16#8A2D 16#8A2A Descripcin del error

FP_ERROR E_FP_STATUS_FAILED_IE E_FP_STATUS_FAILED_IE E_FP_STATUS_FAILED_ZE E_FP_STATUS_FAILED_ZE_IE E_FP_STATUS_FAILED_OE E_FP_STATUS_FAILED_OE_IE E_FP_STATUS_FAILED_OE_ZE E_FP_STATUS_FAILED_OE_ZE_IE E_FP_NOT_COMPARABLE

Valor de base (no aparece como valor de error) Operacin de coma flotante ilegal El operando no est normalizado, no es un nmero REAL vlido Divisin por cero ilegal Operacin de coma flotante ilegal / Divisin por cero Rebasamiento de coma flotante Operacin de coma flotante ilegal / Rebasamiento Rebasamiento de coma flotante / Divisin por cero Operacin de coma flotante ilegal / Rebasamiento / Divisin por cero Error interno

744

35006147 10/2013

Unity Pro Conformidad con IEC 35006147 10/2013

Apndice B
Conformidad con IEC

Conformidad con IEC


Descripcin general Este captulo contiene las tablas de conformidad requerida por la EIC 61131-3. Contenido de este captulo Este captulo contiene las siguientes secciones:
Seccin B.1 B.2 B.3 B.4 Apartado Informacin general relativa a la norma IEC 61131-3 Tablas de conformidad con las normas IEC Extensiones de la norma IEC 61131-3 Sintaxis de lenguajes textuales Pgina 746 748 771 773

35006147 10/2013

745

Conformidad con IEC

Seccin B.1
Informacin general relativa a la norma IEC 61131-3

Informacin general relativa a la norma IEC 61131-3


Informacin general relativa a la conformidad con la norma IEC 61131-3
Presentacin La norma IEC 61131-3 (cf. la subclusula 1.4) especifica la sintaxis y semntica de un conjunto unificado de lenguajes de programacin para controladores programables. stos controladores estn compuestos por dos lenguajes textuales, IL (lista de instrucciones) y ST (Texto estructurado), y dos lenguajes grficos, LD (diagrama de contactos) y FBD (diagrama de bloques de funcin). Adems, los elementos del lenguaje de grfica de funcin secuencial (SFC) se definen para estructurar la organizacin interna de los programas de controladores programables y los bloques de funcin. Tambin se definen los elementos de configuracin, que admiten la instalacin de programas de controladores programables en los sistemas de estos ltimos. NOTA: Unity Pro utiliza las siglas inglesas para los lenguajes de programacin. Asimismo, se definen las funciones que facilitan la comunicacin entre controladores programables y otros componentes de los sistemas automatizados. Conformidad de Unity Pro con la norma IEC 61131-3 La versin actual del sistema de programacin Unity Pro admite un subconjunto compatible de los elementos de lenguaje definidos en la norma. En este caso, compatible quiere decir lo siguiente: La norma permite al encargado de implementar un sistema de programacin IEC elegir o cerrar las funciones de lenguaje especficas o incluso completar lenguajes fuera de las tablas de funcin que forman parte inherente de las especificaciones; un sistema que solicite conformidad con la norma debe ejecutar las funciones elegidas de acuerdo con las especificaciones de la norma. Adems, la norma permite al encargado mencionado con anterioridad utilizar los elementos del lenguaje de programacin definido en un entorno de programacin interactivo. Debido a que la norma afirma explcitamente que la especificacin de dichos entornos no est dentro de su competencia, dicho encargado posee cierta libertad para proporcionar una presentacin optimizada y procedimientos de manipulacin para elementos de lenguaje especficos en beneficio del usuario. Unity Pro utiliza esta libertad mediante, por ejemplo, la introduccin de la nocin "Proyecto" para la manipulacin combinada de los elementos de lenguaje IEC "Configuracin" y "Recurso". Igualmente, hace uso de su libertad, por ejemplo, en los mecanismos proporcionados para la manipulacin de declaraciones de variable o las instanciaciones de bloques de funciones.

746

35006147 10/2013

Conformidad con IEC

Tablas de las normas IEC Las funciones admitidas y dems informacin especfica de implementacin se proporcionan en la declaracin de conformidad y tablas siguientes tal y como requiere la norma.

35006147 10/2013

747

Conformidad con IEC

Seccin B.2
Tablas de conformidad con las normas IEC

Tablas de conformidad con las normas IEC


Descripcin general Este sistema cumple los requisitos de la norma IEC 61131-3 para el lenguaje y las funciones que se muestran en las siguientes tablas. Contenido de esta seccin Esta seccin contiene los siguientes apartados:
Apartado Elementos comunes Elementos del lenguaje IL Elementos de lenguaje ST Elementos grficos comunes Elementos del lenguaje LD Parmetros dependientes del tipo de implementacin Condiciones de error Pgina 749 761 763 764 765 766 769

748

35006147 10/2013

Conformidad con IEC

Elementos comunes
Elementos comunes Tabla de conformidad con IEC para elementos comunes:
N. de tabla 1 N. de funcin 2 3a 4a 5a 2 1 2 3 3 3a 4 1 1 1 2 3 4 5 6 7 8 9 5 6 1 3 2 3 4 5 6 7 8 9 Descripcin de la funcin Caracteres en minscula Signo de nmero (#) Smbolo del dlar ($) Barra vertical (|) Maysculas y nmeros Maysculas y minsculas, nmeros, guiones bajos Maysculas y minsculas, nmeros, guiones altos o bajos Comentarios Construcciones pragmticas Literales enteros Literales reales Literales reales con exponentes Literales de base 2 Literales de base 8 Literales de base 16 Cero y uno booleanos FALSE y TRUE Literales tipados Cadena de caracteres de un solo byte Literales de cadena tipada de un solo byte Smbolo del dlar Comilla simple Avance de lnea Lnea nueva Alimentacin de formulario (pgina) Retorno de carro Tabulacin Comillas dobles

35006147 10/2013

749

Conformidad con IEC

N. de tabla 7

N. de funcin 1a 1b 2a 2b

Descripcin de la funcin Literales de duracin sin subrayado: prefijo corto Prefijo largo Literales de duracin con subrayado: prefijo corto Prefijo largo Literales de fecha (prefijo largo) Literales de fecha (prefijo corto) Literales de hora del da (prefijo largo) Literales de hora del da (prefijo corto) Literales de hora y fecha (prefijo largo) Literales de hora y fecha (prefijo corto) Tipo de datos BOOL Tipo de datos INT Tipo de datos DINT Tipo de datos UINT Tipo de datos UDINT Tipo de datos REAL Tipo de datos TIME Tipo de datos DATE Tipo de datos TIME_OF_DAY o TOD Tipo de datos DATE_AND_TIME o DT Tipo de datos STRING Tipo de datos BYTE Tipo de datos WORD Tipo de datos DWORD Tipos de datos de matriz Tipos de datos estructurados Inicializacin de tipos de datos de matriz Inicializacin de tipos de datos estructurados derivados

1 2 3 4 5 5

10

1 3 4 7 8 10 12 13 14 15 16 17 18 19

12 14

4 5 4 6

750

35006147 10/2013

Conformidad con IEC

N. de tabla 15

N. de funcin 1 2 3 4 5 7 8 9

Descripcin de la funcin Ubicacin de entrada Ubicacin de salida Ubicacin de memoria Tamao de bit nico (prefijo X) Tamao de bit nico (n. de prefijo) Tamao de palabra (16 bits) Tamao de palabra doble (32 bits) Tamao (64 bits) de palabra (cudruple) Declaracin de ubicaciones de variables simblicas (Nota 5., pgina 758) Asignacin de ubicacin de matrices (Nota 5., pgina 758) Asignacin de memoria automtica de variables simblicas Declaracin de matriz (Nota 11, pgina 759) Declaracin de matriz retentiva (Nota 11, pgina 759) Declaracin de variables estructuradas Inicializacin de variables representadas directamente (Nota 11, pgina 759) Ubicacin y asignacin de valores iniciales a variables simblicas Asignacin de ubicacin de matrices e inicializacin Inicializacin de variables simblicas Inicializacin de matriz (Nota 11, pgina 759) Declaracin e inicializacin de matriz retentiva (Nota 11, pgina 759) Inicializacin de variables estructuradas Inicializacin de constantes Inicializacin de instancias de bloques de funcin Entrada negada Salida negada Llamada de bloque de funcin/funcin formal Llamada de bloque de funcin/funcin no formal Uso de EN y ENO mostrado en LD Uso sin EN y ENO mostrado en FBD

17

3 4 5 6 7 8

18

1 3 4 5 6 7 8 9 10

19 19a 20

1 2 1 2 1 2

35006147 10/2013

751

Conformidad con IEC

N. de tabla 20a

N. de funcin 1 2 3

Descripcin de la funcin Declaracin de variables de E/S (textual) Declaracin de variables de E/S (grfica) Conexin grfica de variables de E/S para diferentes variables (grficas) Funciones sobrecargadas Funciones tipadas *_TO_** (Nota 1., pgina 757) TRUNC (Nota 2, pgina 757) *_BCD_TO_** (Nota 3., pgina 757) **_TO_BCD_* (Nota 3., pgina 757) Funcin ABS Funcin SQRT Funcin LN Funcin LOG Funcin EXP Funcin SIN Funcin COS Funcin TAN Funcin ASIN Funcin ACOS Funcin ATAN Funcin ADD Funcin MUL Funcin SUB Funcin DIV Funcin MOD Funcin EXPT Funcin MOVE Funcin SHL Funcin SHR Funcin ROR Funcin ROL

21 22

1 2 1 2 3 4

23

1 2 3 4 5 6 7 8 9 10 11

24

12 13 14 15 16 17 18

25

1 2 3 4

752

35006147 10/2013

Conformidad con IEC

N. de tabla 26

N. de funcin 5 6 7 8

Descripcin de la funcin Funcin AND Funcin OR Funcin XOR Funcin NOT Funcin SEL Funcin MAX Funcin MIN Funcin LIMIT Funcin MUX Funcin GT Funcin GE Funcin EQ Funcin LE Funcin LT Funcin NE Funcin LEN(Nota 4., pgina 758) Funcin LEFT(Nota 4., pgina 758) Funcin RIGHT(Nota 4., pgina 758) Funcin MID(Nota 4., pgina 758) Funcin INSERT(Nota 4., pgina 758) Funcin DELETE(Nota 4., pgina 758) Funcin REPLACE(Nota 4., pgina 758) Funcin FIND(Nota 4., pgina 758)

27

1 2a 2b 3 4

28

5 6 7 8 9 10

29

1 2 3 4 6 7 8 9

35006147 10/2013

753

Conformidad con IEC

N. de tabla 30

N. de funcin 1a 1b 2b 3b 4a 4b 5b 6b 7b 8b 9b 10a 10b 11a 11b

Descripcin de la funcin Funcin ADD (Nota 6, pgina 759) Funcin ADD_TIME Funcin ADD_TOD_TIME Funcin ADD_DT_TIME Funcin SUB (Nota 6, pgina 759) Funcin SUB_TIME Funcin SUB_DATE_DATE Funcin SUB_TOD_TIME Funcin SUB_TOD_TOD Funcin SUB_DT_TIME Funcin SUB_DT_DT Funcin MUL (Nota 6, pgina 759) Funcin MULTIME Funcin DIV (Nota 6, pgina 759) Funcin DIVTIME Descriptor RETAIN para variables internas (Nota 11, pgina 759) Descriptor RETAIN para variables de salida (Nota 11, pgina 759) Descriptor RETAIN para variables de entrada (Nota 11, pgina 759) Descriptor RETAIN para bloques de funciones internas (Nota 11, pgina 759) Declaracin de VAR_IN_OUT (textual) Declaracin y uso de VAR_IN_OUT (grficos) Declaracin de VAR_IN_OUT con asignacin de variables diferentes (grficas) Bloque de funciones biestables (definir dominante) Bloque de funciones biestables (restablecer dominante) Detecto en flanco ascendente Detecto en flanco descendente

33

1a 2a 2b 3a 4a 4b 4c

34 35

1 2 1 2

754

35006147 10/2013

Conformidad con IEC

N. de tabla 36

N. de funcin 1a 1b 1d 2a 2b 2d 3a 3b 3d

Descripcin de la funcin Bloque de funciones CTU (contador progresivo) Bloque de funciones CTU_DINT Bloque de funciones CTU_UDINT Bloque de funciones CTD (contador regresivo) Bloque de funciones CTD_DINT Bloque de funciones CTD_UDINT Bloque de funciones CTUD (contador progresivo/regresivo) Bloque de funciones CTUD_DINT Bloque de funciones CTUD_UDINT Bloque de funciones TP (pulso) Bloque de funciones TON (retardo Act) Bloque de funciones TOF (retardo Des) Uso de variables representadas directamente Paso y paso inicial: formato grfico con enlaces directos Flag de paso: formato general Tiempo de paso transcurrido: formato general Uso de nombre de la transicin Condicin de transicin relacionada a travs de un nombre de transicin que utiliza lenguaje LD Condicin de transicin relacionada a travs de un nombre de transicin que utiliza lenguaje FBD Condicin de transicin relacionada a travs de un nombre de transicin que utiliza lenguaje IL Condicin de transicin relacionada a travs de un nombre de transicin que utiliza lenguaje ST Cualquier variable booleana declarada en un bloque de VAR o VAR_OUTPUT o sus equivalentes grficos pueden considerarse una accin. Declaracin grfica de accin en lenguaje LD Declaracin grfica de accin en lenguaje FBD Declaracin textual de accin en lenguaje ST Declaracin textual de accin en lenguaje IL Bloque de acciones adyacente fsica o lgicamente al paso (Nota 7., pgina 759) Bloque de acciones concatenadas adyacente fsica o lgicamente al paso (Nota 8., pgina 759) 755

37

1 2a 3a

39 40

19 1 3a 4

41

7 7a 7b 7c 7d

42

2l 2f 3s 3i 43 1 2

35006147 10/2013

Conformidad con IEC

N. de tabla 44 45

N. de funcin 1 2 1 2 3 4 5 6 7 9 11 12

Descripcin de la funcin Descriptor de accin en bloque de acciones compatible Nombre de accin en bloque de acciones compatible Ninguno: sin descriptor Descriptor N Descriptor R Descriptor S Descriptor L Descriptor D Descriptor P Descriptor DS Descriptor P1 Descriptor P0 Control de acciones sin "ciclo final" Secuencia nica Divergencia de seleccin de secuencia: prioridad de izquierda a derecha de las evaluaciones de transiciones Convergencia de seleccin de secuencia Secuencias simultneas: divergencia y convergencia Salto de secuencia: prioridad de izquierda a derecha de las evaluaciones de transiciones Bucle de secuencia: prioridad de izquierda a derecha de las evaluaciones de transiciones Construccin CONFIGURATION...END_CONFIGURATION (Nota 12, pgina 760) Construccin TASK peridica Construccin TASK no peridica Construccin WITH para la asociacin de PROGRAM a TASK (Nota 9, pgina 759) Declaracin PROGRAM sin asociacin de TASK (Nota 10, pgina 759) Planificacin sin orden de prioridad (Nota 13, pgina 760) Planificacin por orden de prioridad (Nota 14, pgina 760)

45a 46

2 1 2a 3 4 5a 6a

49

5a 5b 6a 6c 50 5a 5b

756

35006147 10/2013

Conformidad con IEC

Nota 1. Lista de funciones de conversiones de tipo: BOOL_TO_BYTE, BOOL_TO_DINT, BOOL_TO_INT, BOOL_TO_REAL, BOOL_TO_TIME, BOOL_TO_UDINT, BOOL_TO_UINT, BOOL_TO_WORD, BOOL_TO_DWORD BYTE_TO_BOOL, BYTE_TO_DINT, BYTE_TO_INT, BYTE_TO_REAL, BYTE_TO_TIME, BYTE_TO_UDINT, BYTE_TO_UINT, BYTE_TO_WORD, BYTE_TO_DWORD, BYTE_TO_BIT DINT_TO_BOOL, DINT_TO_BYTE, DINT_TO_INT, DINT_TO_REAL, DINT_TO_TIME, DINT_TO_UDINT, DINT_TO_UINT, DINT_TO_WORD, DINT_TO_DWORD, DINT_TO_DBCD, DINT_TO_STRING INT_TO_BOOL, INT_TO_BYTE, INT_TO_DINT, INT_TO_REAL, INT_TO_TIME, INT_TO_UDINT, INT_TO_UINT, INT_TO_WORD, INT_TO_BCD, INT_TO_DBCD, INT_TO_DWORD, INT_TO_STRING REAL_TO_BOOL, REAL_TO_BYTE, REAL_TO_DINT, REAL_TO_INT, REAL_TO_TIME, REAL_TO_UDINT, REAL_TO_UINT, REAL_TO_WORD, REAL_TO_DWORD, REAL_TO_STRING TIME_TO_BOOL, TIME_TO_BYTE, TIME_TO_DINT, TIME_TO_INT, TIME_TO_REAL, TIME_TO_UDINT, TIME_TO_UINT, TIME_TO_WORD, TIME_TO_DWORD, TIME_TO_STRING UDINT_TO_BOOL, UDINT_TO_BYTE, UDINT_TO_DINT, UDINT_TO_INT, UDINT_TO_REAL, UDINT_TO_TIME, UDINT_TO_UINT, UDINT_TO_WORD, UDINT_TO_DWORD UINT_TO_BOOL, UINT_TO_BYTE, UINT_TO_DINT, UINT_TO_INT, UINT_TO_REAL, UINT_TO_TIME, UINT_TO_UDINT, UINT_TO_WORD, UINT_TO_DWORD, WORD_TO_BOOL, WORD_TO_BYTE, WORD_TO_DINT, WORD_TO_INT, WORD_TO_REAL, WORD_TO_TIME, WORD_TO_UDINT, WORD_TO_UINT, WORD_TO_BIT, WORD_TO_DWORD DWORD_TO_BOOL, DWORD_TO_BYTE, DWORD_TO_DINT, DWORD_TO_INT, DWORD_TO_REAL, DWORD_TO_TIME, DWORD_TO_UDINT, DWORD_TO_UINT, DWORD_TO_BIT,

Los efectos de cada conversin se describen en el texto de ayuda suministrado con la librera base. Nota 2

Lista de tipos para funcin truncada: REAL_TRUNC_DINT, REAL_TRUNC_INT, REAL_TRUNC_UDINT, REAL_TRUNC_UINT Los efectos de cada conversin se describen en el texto de ayuda suministrado con la librera base.

Nota 3.

Lista de tipos para funcin de conversin BCD: BCD_TO_INT, DBCD_TO_INT, DBCD_TO_DINT Lista de tipos para funcin de conversin BCD: INT_TO_BCD, INT_TO_DBCD, DINT_TO_DBCD Los efectos de cada conversin se describen en el texto de ayuda suministrado con la librera base.

35006147 10/2013

757

Conformidad con IEC

Nota 4.

Lista de tipos para funciones de cadena: LEN_INT, LEFT_INT, RIGHT_INT, MID_INT, INSERT_INT, DELETE_INT, REPLACE_INT, FIND_INT

Nota 5. Se puede asignar una variable a otra representada directamente si stas son del mismo tipo. Es decir, una variable de tipo INT slo se puede asignarse a una variable representada directamente de tipo INT. Sin embargo, existe una excepcin a esta regla: para las variables de palabra interna (%MW<i>), plana (%IW<i>) y de memoria (%KW<i>) se admite cualquier tipo de variable declarada. Asignaciones permitidas:
Sintaxis Bit interno Palabra interna %M<i> o %MX<i> %MW<i> Tipo de datos EBOOL INIC Tipos de variables admitidas EBOOL ARRAY [..] OF EBOOL Se admiten todos los tipos salvo: EBOOL ARRAY [..] OF EBOOL No hay asignacin debido al solapamiento entre %MW<i> y %MD<i> y %MF<i>. No hay asignacin debido al solapamiento entre %MW<i> y %MD<i> y %MF<i>. Se admiten todos los tipos salvo: EBOOL ARRAY [..] OF EBOOL No hay asignacin debido al solapamiento entre %KW<i> y %KD<i> y %KF<i>. Este tipo de variables slo existe en los PLC Premium. No hay asignacin debido al solapamiento entre %KW<i> y %KD<i> y %KF<i>. Este tipo de variables slo existe en los PLC Premium. EBOOL INIC DINT
35006147 10/2013

Palabra doble interna

%MD<i>

DINT

Real interno

%MF<i>

REAL

Palabra constante

%KW<i>

INIC

Palabra doble constante

%KD<i>

DINT

Real constante

%KF<i>

REAL

Bit de sistema Palabra de sistema Palabra doble de sistema 758

%S<i> o %SX<i> %SW<i> %SD<i>

EBOOL INIC DINT

Conformidad con IEC

Sintaxis Bit plano %I<i>

Tipo de datos EBOOL

Tipos de variables admitidas EBOOL ARRAY [..] OF EBOOL Este tipo de variables slo existe en los PLC Quantum Se admiten todos los tipos salvo:
EBOOL ARRAY [..] OF EBOOL

Palabra plana

%IW<i>

INIC

Este tipo de variables slo existe en los PLC Quantum Palabra comn Variables topolgicas %NWi.j.k %I..., %Q..., ... INIC ... INIC Mismo tipo (En algunos mdulos de E/S digitales se admite la asignacin de matrices de EBOOL en objetos %IX<topo> y %QX<topo>.) BOOL

Bits de extraccin

%MWi.j, ...

BOOL

Nota 6 Operador nico "+" (para ADD), "-" (para SUB), "*" (para MUL) o "/" (para DIV) en lenguaje ST. Nota 7. Esta funcin slo se presenta en la "vista ampliada" del grfico. Nota 8. Esta funcin se incluye en la "vista ampliada" del grfico; sin embargo, no se presenta como bloques concatenados, sino como un lista que se puede desplazar de los nombres de acciones con descriptores asociados dentro de un smbolo de bloque nico. Nota 9 Slo hay una asignacin de uno a uno (de la instancia de programa a la tarea). El formato textual se sustituye por un cuadro de dilogo de propiedades. Nota 10 El formato textual se sustituye por un cuadro de dilogo de propiedades. Nota 11 Todas las variables son descriptores retentivos (el descriptor RETAIN se asume implcitamente en las declaraciones de variable).
35006147 10/2013

759

Conformidad con IEC

Nota 12 El formato textual se sustituye por la representacin del explorador de proyectos. Nota 13 Al utilizar una instruccin Mask-IT, el usuario puede adoptar un comportamiento no prioritario. Encontrar MASKEVT (enmascaramiento de EVT global) y UNMASKEVT (desenmascaramiento de EVT global) en las funciones de sistema del conjunto de libreras. Nota 14 De manera predeterminada, el sistema multitarea es prioritario.

760

35006147 10/2013

Conformidad con IEC

Elementos del lenguaje IL


Elementos del lenguaje IL Tabla de conformidad con la norma IEC para elementos de lenguaje IL:
N de tabla 51b 51b 52 N de funcin 1 2 1 2 3 4 6 7 7a 8 9 10 11 11a 12 13 14 15 16 17 18 19 20 21 Descripcin de la funcin Expresin entre parntesis que comienza por un operador explcito Expresin entre parntesis (forma corta) Operador LD (con modificador "N") Operador ST (con modificador "N") S, operador R Operador AND (con modificadores "(", "N") Operador OR (con modificadores "(", "N") Operador XOR (con modificadores "(", "N") Operador NOT Operador ADD (con modificador "(") Operador SUB (con modificador "(") Operador MUL (con modificador "(") Operador DIV (con modificador "(") Operador MOD (con modificador "(") Operador GT (con modificador "(") Operador GE (con modificador "(") Operador EQ (con modificador "(") Operador NE (con modificador "(") Operador LE (con modificador "(") Operador LT (con modificador "(") Operador JMP (con modificadores "C", "N") Operador CAL (con modificadores "C", "N") Operador RET (con modificadores "C", "N") (Nota, pgina 762) ) (Evaluacin de la operacin retardada)

35006147 10/2013

761

Conformidad con IEC

N de tabla 53

N de funcin 1a 1b 2 4 5

Descripcin de la funcin CAL de bloque de funcin con lista de argumentos no formal CAL de bloque de funcin con lista de argumentos formal CAL de bloque de funcin con carga/almacenamiento de argumentos Ejecucin de funcin con lista de argumentos formal Ejecucin de funcin con lista de argumentos no formal

Nota Slo en DFB

762

35006147 10/2013

Conformidad con IEC

Elementos de lenguaje ST
Elementos de lenguaje ST Tabla de conformidad con la norma IEC para elementos de lenguaje ST:
N de tabla 55 N de funcin 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 56 1 2 3 4 5 6 7 8 9 10 Descripcin de la funcin Insercin entre parntesis (expresin) Evaluacin de las funciones: functionName(listOfArguments) Potenciacin: ** Negacin: Complemento: NOT Multiplicacin: * Divisin: / Mdulo: MOD Suma: + Resta: Comparacin: <, >, <=, >= Igualdad: = Desigualdad: <> AND booleano: & AND booleano: AND OR exclusivo booleano: XOR OR booleano: OR Asignacin Ejecucin del bloque de funcin y utilizacin de salida del bloque de funcin Instruccin RETURN (Nota, pgina 763) Instruccin IF Instruccin CASE Instruccin FOR Instruccin WHILE Instruccin REPEAT Instruccin EXIT Instruccin vaca

Nota Slo en DFB.


35006147 10/2013

763

Conformidad con IEC

Elementos grficos comunes


Elementos grficos comunes Tabla de conformidad con la norma IEC para elementos grficos comunes:
N de tabla 57 N de funcin 2 4 6 8 10 12 58 1 2 3 4 5 6 7 8 Descripcin de la funcin Lneas horizontales: grficas o semigrficas Lneas verticales: grficas o semigrficas Conexin vertical/horizontal: grfica o semigrfica Cruces de lneas sin conexin: grficos o semigrficos Esquinas conectadas y no conectadas: grficas o semigrficas Bloques con lneas conectadas: grficos o semigrficos Salto incondicional: lenguaje FBD: Salto incondicional: lenguaje LD: Salto condicional: lenguaje FBD: Salto condicional: lenguaje LD: Retorno condicional: lenguaje LD (Nota, pgina 764) Retorno condicional: lenguaje FBD (Nota, pgina 764) Retorno incondicional desde la funcin o bloque de funciones (Nota, pgina 764) Retorno incondicional: lenguaje LD (Nota, pgina 764)

Nota Slo en DFB

764

35006147 10/2013

Conformidad con IEC

Elementos del lenguaje LD


Elementos del lenguaje LD Tabla de conformidad con la norma IEC para elementos de lenguaje LD:
N de tabla 59 60 61 N de funcin 1 2 1 2 1 3 5 7 62 1 2 3 4 8 9 Descripcin de la funcin Rail de alimentacin izquierdo Rail de alimentacin derecho Conexin horizontal Conexin vertical Contacto normal abierto (barra vertical) (Nota, pgina 765) Contacto normal cerrado (barra vertical) (Nota, pgina 765) Transicin positiva-contacto de deteccin (barra vertical) (Nota, pgina 765) Contacto de deteccin de transicin negativa (barra vertical) (Nota, pgina 765) Bobina Bobina negada Bovina SET (retencin) Bobina RESET (sin retencin) Bobina de deteccin de transicin positiva Bobina de deteccin de transicin negativa

Nota nicamente representacin grfica

35006147 10/2013

765

Conformidad con IEC

Parmetros dependientes del tipo de implementacin


Parmetros dependientes del tipo de implementacin Tabla de conformidad con la norma IEC para parmetros dependientes del tipo de implementacin:
Parmetros Longitud mxima de los identificadores Longitud mxima de los comentarios Limitaciones/comportamiento 32 caracteres En Unity Pro: un mximo de 1.024 caracteres para cada objeto editor Importacin: limitada por restricciones XML o por la utilizacin de cadenas UDB en la capa persistente. Unity V1.0 slo implementa 1 construccin pragmtica, que se usa para el convertidor de herencia: { ConvError ( error text); } se hace caso omiso de cualquier otra construccin pragmtica (se muestra un mensaje de advertencia)

Sintaxis y semntica pragmticas

(Se admite la funcin n. 2 de la tabla 5.) Sintaxis y semntica para el uso del carcter de comillas dobles cuando una implementacin concreta admite la funcin n. 4 pero no la n. 2 de la tabla 5. Rango de valores y precisin de representacin de variables de tipo TIME, DATE, TIME_OF_DAY y DATE_AND_TIME Precisin de representacin de segundos en variables del tipo TIME, TIME_OF_DAY y DATE_AND_TIME Cantidad mxima de valores enumerados: Cantidad mxima de ndices de matriz Tamao mximo de matriz Cantidad mxima de elementos de estructura Tamao mximo de estructura Rango mximo de valores de ndice Cantidad mxima de niveles de estructuras intercaladas Longitud mxima predeterminada de las variables STRING y WSTRING Para TIME : t#0ms t#4294967295ms (=t#49D_17H_2M_47S_295MS) Para DATE: D#1990-01-01 D#2099-12-31 Para TOD: TOD#00:00:00 TOD#23:59:59 TIME: 1 ms de precisin TIME_OF_DAY: 1 s de precisin No es aplicable 6 64 Kbytes Sin lmite 64 Kbytes Rango DINT 10 16 caracteres

Longitud mxima permitida de las variables STRING 64 Kbytes y WSTRING

766

35006147 10/2013

Conformidad con IEC

Parmetros Cantidad mxima de niveles jerrquicos Asignacin lgica o fsica Nmero mximo de entradas de funciones ampliables

Limitaciones/comportamiento Premium: asignacin fsica (5 niveles) Quantum: asignacin lgica (1 nivel) El nmero de todos los parmetros de entrada (incluidos los parmetros E/S) est limitado a 32. De este modo, el lmite para parmetros de entrada ampliable es (32 - nmero de parmetros de entrada - nmero de parmetros de E/S) El lmite para parmetros de salida ampliable es (32 - nmero de parmetros de salida - nmero de parmetros de E/S) Consulte la ayuda en lnea. Las condiciones de error se describen en la ayuda en lnea. De manera global, %S18 est definido para errores de desbordamiento. Tambin se define ENO. El resultado depende de la funcin especfica. Procesamiento o emulacin de coma flotante INTEL.

Efectos de conversiones de tipo con precisin Condiciones de error durante las conversiones de tipo

Precisin de funciones numricas

Efectos de las conversiones de tipo entre los tipos de Consulte la ayuda en lnea. datos de tiempo y otros no definidos en la tabla 30. Cantidad mxima de especificaciones e instanciaciones de los bloques de funciones. Asignacin de variable de entrada del bloque de funciones cuando EN es FALSE Pvmin, Pvmax de contadores nicamente limitado por el tamao mximo de una seccin. Sin asignacin Contadores de base INT: Pvmin=-32.768 (0x8.000) Pvmax=32.767 (0x7FFF) Contadores de base UINT: Pvmin=0 (0x0) Pvmax=65.535 (0xFFFF) Contadores de base DINT: Pvmin=-2.147.483.648 (0x80.000.000) Pvmax=2.147.483.647 (0x7FFFFFFF) Contadores de base UDINT: Pvmin=0 (0x0) Pvmax=4.294.967.295 (0xFFFFFFFF) Efectos de un cambio en el valor de una entrada PT durante una operacin de temporizacin. Los nuevos valores PT se tienen inmediatamente en cuenta a la vez. Incluso durante una ejecucin, la operacin de temporizacin funciona con los nuevos valores. Depende del tipo de controlador y memoria. 10 ms 1.024 pasos por seccin SFC

Limitaciones del tamao del programa Precisin de tiempo de paso transcurrido Cantidad mxima de pasos por SFC

35006147 10/2013

767

Conformidad con IEC

Parmetros Cantidad mxima de transiciones por SFC y por paso

Limitaciones/comportamiento Limitado por el rea disponible para introducir pasos/transiciones y por la cantidad mxima de pasos por seccin SFC (1.024 pasos). 32 transiciones por paso Limitado por el rea disponible para introducir bifurcaciones alternativas o simultneas. El mximo son 32 filas. 20 Dependiente de destino; siempre < 100 microsegundos 32 No es aplicable No es aplicable Depende del tipo de controlador. Cantidad mxima en el controlador ms potente: 9 tareas 10 ms Prcticamente no tiene lmite Prcticamente no tiene lmite Prcticamente no tiene lmite No definido Sin restricciones

Cantidad mxima de bloques de accin por paso Tiempo de borrado de transicin Ancho mximo de construcciones de divergencia/convergencia Contenido de las libreras RESOURCE Efecto de utilizar el acceso READ_WRITE para las salidas de bloques de funciones. Cantidad mxima de tareas:

Acceso al equivalente funcional de las salidas Q o A. No es aplicable

Resolucin en el intervalo de tareas Longitud mxima de las expresiones Longitud mxima de las instrucciones Cantidad mxima de selecciones CASE Valor de variable de control a la terminacin del bucle FOR Restricciones en la topologa de red

Orden de evaluacin de los bucles de realimentacin Se ejecuta primero el bloque conectado a la variable de realimentacin.

768

35006147 10/2013

Conformidad con IEC

Condiciones de error
Condiciones de error Tablas de las normas IEC para condiciones de error:
Condiciones de error Comentarios intercalados El valor de una variable es superior al del rango especificado Falta la configuracin de una especificacin de direccin incompleta (notacin "*") Intento de una unidad de organizacin de programa para modificar una variable que se ha declarado CONSTANT Uso inadecuado de variables representadas directamente o externas en funciones. Una variable VAR_IN_OUT no est "asignada correctamente". Error de conversin de tipo Los resultados numricos superan el rango para tipo de datos. Divisin entre cero Tipos de datos de entrada combinados para una funcin de seleccin El resultado supera el rango para tipo de datos. No se especifica ningn valor para una variable de E/S Cero o ms de un paso inicial en la red SFC El programa de usuario intenta modificar un estado u hora de paso Efectos secundarios en la evaluacin de la condicin de transicin Error de contencin de control de accin Transiciones verdaderas y no prioritarias a la vez en una divergencia de seleccin SFC no seguro o no alcanzable Conflicto del tipo de datos en VAR_ACCESS Tratamiento (vase Nota, pgina 770) 2) se informa del error durante la programacin 4) se informa del error durante la ejecucin No es aplicable 2) se informa del error durante la programacin

No es aplicable 2) se informa del error durante la programacin 4) se informa del error durante la ejecucin 4) se informa del error durante la ejecucin 4) se informa del error durante la ejecucin 2) se informa del error durante la programacin 4) se informa del error durante la ejecucin 2) se informa del error durante la programacin 3) se informa del error durante el proceso de anlisis/carga/enlace 2) se informa del error durante la programacin 3) se informa del error durante el proceso de anlisis/carga/enlace 3) se informa del error durante el proceso de anlisis/carga/enlace No es aplicable 3) se informa del error durante el proceso de anlisis/carga/enlace No es aplicable

35006147 10/2013

769

Conformidad con IEC

Condiciones de error Una tarea no consigue planificarse o cumplir el plazo lmite de ejecucin Los resultados numricos superan el rango para tipo de datos Los resultados actuales y los operandos no son del mismo tipo de datos. Divisin entre cero Los resultados numricos superan el rango para tipo de datos Tipo de datos no vlidos para la operacin Retorno desde la funcin sin valor asignado La repeticin no consigue terminar Se ha utilizado el mismo identificador como etiqueta del conector y nombre de elemento Variable de realimentacin no inicializado

Tratamiento (vase Nota, pgina 770) 4) se informa del error durante la ejecucin 4) se informa del error durante la ejecucin 2) se informa del error durante la programacin 4) se informa del error durante la ejecucin 4) se informa del error durante la ejecucin 4) se informa del error durante la ejecucin No es aplicable 4) se informa del error durante la ejecucin No es aplicable 1) no se informa del error

Nota Identificaciones para el tratamiento de condiciones de error de acuerdo con la norma IEC 611313, subclusula 1.5.1, d): 1) no se informa del error 2) se informa del error durante la programacin 3) se informa del error durante el proceso de anlisis/carga/enlace 4) se informa del error durante la ejecucin

770

35006147 10/2013

Conformidad con IEC

Seccin B.3
Extensiones de la norma IEC 61131-3

Extensiones de la norma IEC 61131-3


Extensiones de la norma IEC 61131-3, 2 edicin
Presentacin Adems de las funciones IEC estndar enumeradas en las (vase pgina 748), el entorno de programacin de Unity Pro hered un nmero de funciones de PL7. Estas extensiones se proporcionan de forma opcional; pueden ser verificadas o no en el correspondiente cuadro de dilogo de opciones. El cuadro de dilogo y las funciones se describen con detalle en un captulo de la ayuda en lnea tituladoDatos y lenguajes (vase Unity Pro, Modalidades de funcionamiento). En el cuadro de dilogo de opciones no est incluida otra extensin, que se hered de los entornos de programacin de PL7 y Concept: Unity Pro proporciona las construcciones de la llamada Seccin en todas los lenguajes de programacin, lo que permite la subdivisin de unidad de organizacin de programa (POU). Esta construccin presenta la posibilidad de combinar varios lenguajes (por ejemplo, secciones FBD, SFC) en un cuerpo POU, funcin que, en caso de utilizarse con este fin, constituye una extensin de la sintaxis de IEC. Un cuerpo POU compatible debera contener una nica seccin. Las secciones no crean un campo de aplicacin de nombre distinto. El campo de aplicacin de nombre para todos los elementos de lenguaje es el POU. Propsito de las secciones Las secciones tienen diferentes fines: Las secciones permiten subdividir cuerpos POU grandes de acuerdo con aspectos funcionales: el usuario tiene la posibilidad de subdividir el cuerpo POU en partes con funcionalidad significativa. La lista de secciones representa un tipo de tabla de contenidos funcional de un cuerpo POU amplio, que, de otro modo, estara desestructurado. Las secciones permiten subdividir cuerpos POU grandes de acuerdo con aspectos grficos: el usuario tiene la posibilidad de disear estructuras de cuerpos POU grandes de acuerdo con una presentacin grfica. Puede crear secciones grficas, grandes o pequeas, segn prefiera. La subdivisin de cuerpos POU grandes permite cambios en lnea ms rpidos: en Unity Pro, la seccin se utiliza como unidad para cambio en lnea. Si un cuerpo POU se modifica durante la ejecucin en ubicaciones diferentes, todas las secciones afectadas por los cambios se descargan automticamente si se solicita explcitamente.

35006147 10/2013

771

Conformidad con IEC

Las secciones permiten volver a organizar el orden de ejecucin de partes especficas y etiquetadas de un cuerpo POU: el nombre de la seccin sirve como etiqueta de aquella parte del cuerpo que est contenida en la seccin, y al ordenar estas etiquetas, la ejecucin de esas partes es posible. Las secciones permiten utilizar distintos lenguajes de forma paralela en el mismo POU: esta funcin es una ampliacin importante de la sintaxis de la norma IEC, que slo permite la utilizacin de un nico lenguaje IEC para un cuerpo POU. En un cuerpo compatible, SFC debe usarse para gestionar diferentes lenguajes dentro de un cuerpo (cada transicin y accin deben formularse en su propio lenguaje).

772

35006147 10/2013

Conformidad con IEC

Seccin B.4
Sintaxis de lenguajes textuales

Sintaxis de lenguajes textuales


Sintaxis de lenguaje textual
Descripcin El entorno de programacin Unity Pro V1.0 no proporciona apoyo para una importacin o exportacin de archivos de texto compatibles con la sintaxis de lenguajes textuales completos, tal y como se especifica en el Anexo B de la norma IEC 61131-3, 2 edicin. Sin embargo, en secciones de lenguaje textual se admite la sintaxis textual de IL y ST, como se precisa en los anexos B.2 Y B.3 de IEC 61131-3, 2 edicin, incluidas todas las producciones referenciadas de forma directa o indirecta fuera del anexo B.1. No se implementan aquellas producciones de sintaxis en el Anexo B de IEC 61131-3, 2 edicin que pertenecen a aquellas funciones que no estn admitidas por Unity Pro, de acuerdo con las tablas de conformidad (vase pgina 748).

35006147 10/2013

773

Conformidad con IEC

774

35006147 10/2013

Unity Pro Glosario 35006147 10/2013

Glosario
0-9
%I Segn la normativa IEC, %I indica un objeto de lenguaje de tipo de entrada binaria. %ID Segn la normativa IEC, %MW indica un objeto de lenguaje de tipo de palabra doble de entrada. Slo los objetos de E/S posibilitan la localizacin de instancias de tipo (%MD<i>, %KD<i>, %QD, %ID, %MF<i>, %KF<i>, %QF, %IF) mediante su direccin topolgica (por ejemplo, %MD0.6.0.11, %MF0.6.0.31). %