Está en la página 1de 358

Concept

Manual de usuario
Tomo 2
840 USE 493 03 spa Version 2.5 - SR2
33001650.01
II
Tabla de materias

Los capítulos representados en gris no estén


contenidos en este tomo
Acerca de este . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XI
Capítulo 1 Descripción general de Concept. . . . . . . . . . . . . . . . . . . . . . . . . 1
Capítulo 2 Nuevas prestaciones de Concept 2.5
frente a Concept 2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Capítulo 3 Estructura de proyectos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Capítulo 4 Creación de un proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Capítulo 5 Configuración del PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Capítulo 6 Principal estructura de la memoria del PLC y
optimización de la memoria. . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Capítulo 7 Lenguaje de bloques de función FBD . . . . . . . . . . . . . . . . . . 167
Capítulo 8 Ladder LD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Capítulo 9 Lenguaje de enlace SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Capítulo 10 Lista de instrucciones IL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Capítulo 11 Literal estructurado ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
11.1 Generalidades sobre Texto Estructurado ST . . . . . . . . . . . . . . . . . . . . . . . . . . 327
11.2 Expresiones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Operandos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331

III
11.3 Operadores del lenguaje de programación Texto Estructurado ST. . . . . . . . . . 334
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Paréntesis "()" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
FUNCNAME. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Potenciación (**) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Negación (-) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Construcción complementaria (NOT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Multiplicación (*). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
División (/) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Módulo (MOD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Suma (+) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Resta (-) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Comparación del tipo "mayor que" (>). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Comparación del tipo "mayor/igual " (>=) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Comparación del tipo "igual" (=) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Comparación del tipo "no igual" (<>) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Comparación del tipo "menor" (<) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Comparación del tipo "menor/igual" (<=) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Booleano Y (AND o &) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Booleano O (OR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Booleano O exclusivo (XOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
11.4 Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Asignación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Declaración (VAR...END_VAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
IF...THEN...END_IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
ELSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
ELSIF...THEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
CASE...OF...END_CASE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
FOR...TO...BY...DO...END_FOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
WHILE...DO...END_WHILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
REPEAT...UNTIL...END_REPEAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Instrucción vacía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Comentario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
11.5 Acceso a funciones, módulos de funciones (EFB) y módulos de
funciones derivados (DFB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Llamada de módulo de función/DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Llamada de función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
11.6 Revisión sintáctica y generación de códigos . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Comprobación de sintaxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Generación de códigos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

IV
11.7 Funciones online del lenguaje de programación ST . . . . . . . . . . . . . . . . . . . . . 365
Funciones online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
11.8 Crear un programa con el Texto Estructurado ST . . . . . . . . . . . . . . . . . . . . . . 366
Crea un programa en Texto Estructurado ST . . . . . . . . . . . . . . . . . . . . . . . . . . 366

Capítulo 12 Ladder Logic 984 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369


Vista general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
12.1 Generalidades acerca de Ladder Logic 984 . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
12.2 Trabajar con Ladder Logic 984 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
A primera vista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Introducción y edición de objetos lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Introducir y editar variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Edición de Ladder y de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Zoom de referencias y zoom DX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Buscar y reemplazar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
12.3 Subrutinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
12.4 Editor de la red de la ecuación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
A primera vista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Edición de ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Sintaxis y semántica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
12.5 Modos de programación LL984. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393

Capítulo 13 DFB (Bloques de función derivados) . . . . . . . . . . . . . . . . . . . 395


Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
13.1 DFB (Módulos de función derivados) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Generalidades sobre DFB (módulos de función derivados) . . . . . . . . . . . . . . . 398
DFBs globales y locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Utilización de variables en los DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Variables combinadas de entrada / salida (variables VARINOUT) . . . . . . . . . . 403
Creación de una ayuda contextual (ayuda Online) para los DFB . . . . . . . . . . . 409
13.2 Programación y acceso a un DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Instalar el DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Creación de la lógica en el lenguaje de módulos de función FBD . . . . . . . . . . 414
Crear la lógica en el esquema de contactos LD . . . . . . . . . . . . . . . . . . . . . . . . 416
Crear la lógica en la lista de instrucciones IL . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Crear la lógica en texto estructurado ST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Acceso a un DFB en el lenguaje de programación FBD. . . . . . . . . . . . . . . . . . 422
Acceso a un DFB en el Ladder LD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Acceso a un DFB en la lista de instrucciones IL . . . . . . . . . . . . . . . . . . . . . . . . 426
Acceso a un DFB en literal estructurado ST . . . . . . . . . . . . . . . . . . . . . . . . . . . 427

V
Capítulo 14 Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
14.1 Macro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Consideraciones generales acerca de macros . . . . . . . . . . . . . . . . . . . . . . . . . 432
Macros globales y locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Señalización de intercambio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Creación de una ayuda contextual (ayuda Online) para las macros . . . . . . . . . 438
14.2 Programar y abrir un macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Instalar la macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Creación de la lógica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
Abrir un macro desde una sección SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
Abrir un macros desde una sección FBD-/LD . . . . . . . . . . . . . . . . . . . . . . . . . . 449

Capítulo 15 Editor de variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453


Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
Declarar variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
Buscar y reemplazar nombres de variables y direcciones. . . . . . . . . . . . . . . . . 457
Buscar e insertar nombres de variables y direcciones . . . . . . . . . . . . . . . . . . . 460
Exportación de variables located . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464

Capítulo 16 Hojeador de proyectos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465


Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Generalidades sobre el Hojeador de proyectos. . . . . . . . . . . . . . . . . . . . . . . . . 466
Manejo del hojeador de proyectos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468

Capítulo 17 Tipos de datos derivados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471


Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
17.1 Generalidades acerca de tipos de datos derivados. . . . . . . . . . . . . . . . . . . . . . 473
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Tipos de datos derivados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Tipos de datos derivador global y local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
17.2 Sintaxis del editor de tipo de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Elementos de los tipos de datos derivados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Palabras clave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Nombres de tipos de datos derivados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Separadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Comentarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
17.3 Ocupación de la memoria mediante tipos de datos derivados . . . . . . . . . . . . . 489
17.4 Llamado de tipos de datos derivados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491

VI
Capítulo 18 Editor de datos de referencia . . . . . . . . . . . . . . . . . . . . . . . . . 495
Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Generalidades sobre el editor de datos de referencia . . . . . . . . . . . . . . . . . . . 496
Convertir tablas RDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Modificar estados de señal de una variable located . . . . . . . . . . . . . . . . . . . . . 499
Ubicación cíclica de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Bloqueo incondicional de una sección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Animación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Reemplazar nombres de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
Cargar datos de referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506

Capítulo 19 Editor de mensajes ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507


A primera vista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
19.1 Diálogo del editor de ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
A primera vista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Generalidades para el diálogo del editor ASCII . . . . . . . . . . . . . . . . . . . . . . . . 510
Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
Código de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Espacios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Retorno de cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Ajuste (buffer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Repetición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
19.2 Interfaz de usuario del editor de mensajes ASCII . . . . . . . . . . . . . . . . . . . . . . . 516
A primera vista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
Cómo utilizar el editor de mensajes ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Número de mensaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Texto de mensaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Texto de simulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
19.3 Cómo continuar después de recibir una advertencia . . . . . . . . . . . . . . . . . . . . 520
19.4 Editor ASCII en los modos fuera de línea, combinados y directos. . . . . . . . . . 521

Capítulo 20 Funciones online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523


Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
20.1 Generalidades acerca de las funciones online . . . . . . . . . . . . . . . . . . . . . . . . . 525
20.2 Conectar el PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Preajustes para servicio EN ¨LÍNEA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
Conexión de red Modbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
Conexión de red Modbus Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Bridge Modbus Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
Conexión de red TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
Conexión con simulador IEC (32 bits). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
Estado del PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539

VII
20.3 Establecer y controlar el autómata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Especificación del tiempo para la ejecución de ciclos constantes. . . . . . . . . . . 541
Ciclos únicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
Borrar del autómata las zonas de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
Procesado LL984 con velocidad optimizada . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
Guardar en Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
Reactivar Guardar en flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
Establecer contraseña del PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
20.4 Leer informaciones de proceso (estado y memoria) . . . . . . . . . . . . . . . . . . . . . 550
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Estado del PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Estadísticas de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
20.5 Carga de un proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Cargar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Cargar modificaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Leer dotación del PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
Procedimiento durante la carga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
20.6 Animación de secciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
Animación de secciones CEI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Modalidades de programación LL984 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
20.7 Diagnósticos Online. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Visualizador de diagnósticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568

Capítulo 21 Importar/Exportar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571


Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
21.1 Generalidades sobre importar/exportar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
21.2 Exportación de secciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
21.3 Exportación de variables y tipos de datos derivados. . . . . . . . . . . . . . . . . . . . . 577
21.4 Importar secciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
Importación de secciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
Procedimiento para la importación de secciones . . . . . . . . . . . . . . . . . . . . . . . 583
Importación de programas IL y ST a secciones
FBD, SFC, IL o ST (con conversión) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Importación (insertar fichero) de programas IL y ST a secciones IL o ST. . . . . 594
Procedimiento para "Copiar" una sección IL de
un proyecto existente a un proyecto nuevo. . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
Procedimiento para la conversión de secciones de FBD a
un proyecto IL de un proyecto nuevo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597

VIII
21.5 Importación de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
Importar variables en formato "Texto con caracteres de separación". . . . . . . . 600
Importación de variables estructuradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
Importación de variables en el formato "Factory Link" . . . . . . . . . . . . . . . . . . . 607
21.6 Importación/exportación de la configuración del PLC . . . . . . . . . . . . . . . . . . . . 608
Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
Importación /exportación de la configuración del PLC con Concept. . . . . . . . . 609
Importar/Exportar la Configuración PLC con el convertidor de Concept. . . . . . 609

Capítulo 22 Documentación y archivación. . . . . . . . . . . . . . . . . . . . . . . . . 611


Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
22.1 Documentación de proyectos, DFB y macros . . . . . . . . . . . . . . . . . . . . . . . . . . 613
Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
Contenido de la documentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
Layout de la documentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
Definición de cambios de página de secciones . . . . . . . . . . . . . . . . . . . . . . . . 617
Utilización de palabras clave. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
22.2 Administración de proyectos, DFB y macros . . . . . . . . . . . . . . . . . . . . . . . . . . 623
Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
Archivar proyectos, DFBs utilizados, EFBs y ficheros de tipo de datos . . . . . . 624
Borrar proyectos, DFB y macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626

Capítulo 23 Simulación de un PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627


Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627
23.1 Simular un PLC (simulador de 16 bits) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
23.2 Simular un PLC (simulador de 32 bits) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
PLCSIM32 de Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
Simulación de un PLC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
Simulación de una tarjeta de interfase TCP/IP
en el entorno de Windows 98 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
Simulación de una tarjeta de interfase TCP/IP
en el entorno de Windows NT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636

Capítulo 24 Seguridad de Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639


Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
Descripción general de Concept-Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Derechos de acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
Modificación de contraseñas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
Activación de los derechos de acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
Protección de proyectos/DFBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650

Índice ................................................i

IX
Los capítulos representados en gris no estén
contenidos en este tomo
Apéndices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
Apéndice A Tablas de las prestaciones de los diferentes PLC . . . . . . . . 655
Apéndice B Superficie de Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
Apéndice C Barra de símbolos y teclas de acceso directo . . . . . . . . . . . 695
Apéndice D Conformidad de CEI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
Apéndice E Ejemplos de configuración . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
Apéndice F Convertir proyectos /DFBs/macros . . . . . . . . . . . . . . . . . . . . 855
Apéndice G Concept ModConnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859
Apéndice H Conversión de programas Modsoft . . . . . . . . . . . . . . . . . . . . 867
Apéndice I Modsoft y referencias 984. . . . . . . . . . . . . . . . . . . . . . . . . . . . 873
Apéndice J Preajustes durante el uso de Modbus Plus en la
primera puesta en servicio . . . . . . . . . . . . . . . . . . . . . . . . . . . 877
Apéndice K Preajustes durante el uso de Modbus en la
primera puesta en servicio . . . . . . . . . . . . . . . . . . . . . . . . . . . 891
Apéndice L Primera puesta en servicio durante el uso de
Modbus con el EXECLoader . . . . . . . . . . . . . . . . . . . . . . . . . . 897
Apéndice M Primera puesta a punto con la utilización de
Modbus con DOS-Loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915
Apéndice N Primera puesta en servicio durante el uso de
Modbus Plus con el EXECLoader . . . . . . . . . . . . . . . . . . . . . 929
Apéndice O Primera puesta a punto con la utilización de
Modbus Plus con Loader de DOS . . . . . . . . . . . . . . . . . . . . . 949
Apéndice P Archivos EXEC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965
Apéndice Q Ajustes en el fichero CONCEPT.INI . . . . . . . . . . . . . . . . . . . . 969

Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977

X
Acerca de este

Presentación

Objeto El presente manual de usuario le servirá de ayuda para la creación de un programa


de aplicación con Concept. Le aportará información general sobre los diferentes
lenguajes de programación y la configuración del hardware.

Campo de Esta documentación se refiere a Concept 2.5 en Microsoft Windows 98, Microsoft
aplicación Windows 2000 y Microsoft Windows NT 4.x.

Nota: Encontrará más información en el archivo README de Concept.

Documentos
relacionados
Título Reference Number
Instrucciones de instalación de Concept 840 USE 492 03
Biblioteca de módulos de Concept IEC 840 USE 494 03
Concept EFB User Manual 840 USE 495 00
Biblioteca de módulos Concept LL984 840 USE 496 03

Comentarios del Envíe sus comentarios a la dirección electrónica TECHCOMM@modicon.com


usuario

840 USE 493 03 Septiembre de 2001 XI


Acerca de este

XII 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

11
Introducción

Vista general En este capítulo se describe el lenguaje literal estructurado ST conforme al IEC-
1131.

Contenido: Este capítulo contiene las siguientes secciones:


Sección Apartado Página
11.1 Generalidades sobre Texto Estructurado ST 327
11.2 Expresiones 329
11.3 Operadores del lenguaje de programación Texto Estructurado ST 334
11.4 Instrucciones 341
11.5 Acceso a funciones, módulos de funciones (EFB) y módulos de 355
funciones derivados (DFB)
11.6 Revisión sintáctica y generación de códigos 361
11.7 Funciones online del lenguaje de programación ST 365
11.8 Crear un programa con el Texto Estructurado ST 366

840 USE 493 03 Septiembre de 2001 325


Literal estructurado ST

326 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

11.1 Generalidades sobre Texto Estructurado ST

Generalidades sobre Texto estructurado ST

Introducción Mediante el lenguaje de programación Texto estructurado (ST) podrá, por ejemplo,
acceder a módulos de función, realizar asignaciones, llevar a cabo instrucciones
condicionales y repetir instrucciones.

Control Al introducir palabras clave, separadores y comentarios se realiza inmediatamente


ortográfico un control ortográfico. Si se reconoce una palabra clave, un separador o un
comentario, se indicará con otro color. Si se incluyeran palabras clave no permitidas
(instrucciones u operadores) también se indicaría por medio de un cambio del color.

Normas IEC La norma IEC 1131-3 no permite dentro de este lenguaje de texto la introducción de
direcciones directas tal y como se hace en Concept comúnmente. Para obtener
información sobre la introducción de direcciones directas, consulte la sección
Operandos, p. 330.

Según IEC 1131-3 las palabras clave se deben escribir en mayúscula. Sin embargo,
en caso de que también desee utilizar minúsculas, puede habilitar su uso en el
cuadro de diálogo Opciones → Preajustes → Expansiones IEC... →
Expansiones IEC mediante la opción Admitir mayúsculas/minúsculas en
palabras clave.

Los espacios en blanco y los tabuladores no influyen en la sintaxis y se pueden


utilizar libremente.

Ayuda Puede seleccionar un objeto con el botón derecho del ratón y al mismo tiempo abrir
contextual un menú contextual. Por ejemplo, en el caso de FFBs puede abrir la descripción de
módulo correspondiente por medio del botón derecho del ratón.

Comprobación Durante la generación de programas o DFBs puede realizar una comprobación de


de sintaxis sintaxis mediante Proyecto → Analizar sección, consulte también el apartado
Comprobación de sintaxis, p. 362.

Generación de La generación de códigos tiene lugar de forma automática al cerrar una sección.
códigos Mediante el comando de menú Proyecto → Opciones para generación de
código..., puede definir las opciones para la generación de códigos, consulte
también Generación de códigos, p. 363.

840 USE 493 03 Septiembre de 2001 327


Literal estructurado ST

Edición por Por lo general, en Concept se efectúa la edición por medio del ratón, pero también
medio del es posible realizarla a través el teclado (consulte también Teclas de acceso directo
teclado en el editor IL, ST y de tipo de datos, p. 709).

Conformidad IEC Encontrará una descripción de la conformidad IEC del lenguaje de programación ST
en Conformidad de CEI, p. 723.

328 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

11.2 Expresiones

Introducción

Visión general Este apartado ofrece una visión general sobre las expresiones del lenguaje de
programación Texto Estructurado ST.
Las expresiones están compuestas por operandos y operadores.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Operandos 330
Operadores 331

840 USE 493 03 Septiembre de 2001 329


Literal estructurado ST

Operandos

Introducción Un operando puede ser:


l un Literal,
l una Variable,
l una variable de elementos múltiples,
l un elemento de una variable de elementos múltiples,
l una función de llamada,
l una salida FB/DFB o
l una dirección directa.

Acceso a Para acceder a variables de campo (ARRAY) sólo se permiten literales y variables
variables de de tipo ANY_INT en el índice de contenido.
campo
Ejemplo: Utilización de variables de campo
var1[i] := 8 ;
var2.otto[4] := var3 ;
var4[1+i+j*5] := 4 ;

Conversión de Los tipos de datos que se empleen en una instrucción para procesar operandos
tipos deben ser idénticos . En caso de que los tipos de datos utilizados para procesar
operandos sean diferentes, se debe establecer con anterioridad una conversión de
tipos.

Una excepción es el tipo de datos TIME en relación con los operadores aritméticos
"*" (Multiplicación) y "/" (División). En estos dos operandos, un operando de tipo de
datos TIME puede ser procesado con un operando de tipo de datos ANY_NUM. El
resultado de esta instrucción tiene en este caso el tipo de datos TIME.

Ejemplo: En el ejemplo, la variable entera i1 se convierte en una variable real, antes de


Variable entera y añadirse a la variable real r4.
variable real
r3 := r4 + SIN_REAL(INT_TO_REAL(i1)) ;

Ejemplo: En el ejemplo la variable temporal t2 se multiplica por la variable entera i4 y el


Variable entera y resultado aparece en la variable temporal t1.
variable
temporal t1 := t2 * i4 ;

330 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

Tipos de datos La siguiente tabla muestra los tipos de datos predeterminados de direcciones
predeter- directas:
minados de
Entrada Salida Tipos de datos Tipos de datos posibles
direcciones
predeterminados
directas
%IX,%I %QX,%Q BOOL BOOL
%IB %QB BYTE BYTE
%IW %QW INT INT, UINT, WORD
%ID %QD REAL UDINT, UINT, REAL, TIME

Utilización de En caso de que se asignen otros tipos de datos a los tipos de datos predeter-
otros tipos de minados de una dirección directa, esto se deberá efectuar mediante una
datos declaración explícita (VAR...END_VAR (Véase Declaración (VAR...END_VAR),
p. 343)). Para efectuar una declaración de variables, no se puede utilizar en
Concept VAR...END_VAR. La declaración de variables se puede efectuar
cómodamente en el Editor de variables (Véase Editor de variables, p. 453).

Operadores

Introducción Un operador es un símbolo de:


l Una operación aritmética que se va a realizar
l Una operación lógica que se va a realizar
l La llamada de una función

Los operadores son genéricos, es decir, se adaptan de forma automática al tipo de


datos del operando.

Nota: Los operadores se pueden generar de forma manual o por medio del menú
Objetos → Operadores.

Evaluación de La evaluación de una expresión está formada por la aplicación de los operadores
una expresión sobre los operandos, en el mismo orden en que se ha definido la jerarquía de los
operadores (consulte la tabla). El operador con el puesto más alto en la jerarquía
de una expresión se ejecutará en primer lugar, seguido del operador que le sigue
en la jerarquía, etc. hasta que se complete la evaluación. Los operadores con el
mismo rango se ejecutarán de izquierda a derecha, tal y como estén escritos en la
expresión. Este orden se puede modificar por medio de paréntesis.

840 USE 493 03 Septiembre de 2001 331


Literal estructurado ST

Tabla de Operadores del lenguaje de programación ST:


operadores
Operador Significado Posibles operandos Jerarquía Véase también
() Paréntesis Expresión 1 (primer Paréntesis "()",
puesto) p. 335
FUNCNAME Procesamiento Expresión, literal, variable, 2 Llamada de
(lista de los de función dirección directa del tipo de función, p. 359
parámetros (llamada) datos ANY
actuales)
- Negación Expresión, literal, variable, 3 Negación (-),
dirección directa del tipo de p. 336
datos ANY_NUM
NOT Complemento Expresión, literal, variable, 3 Construcción
dirección directa del tipo de complementaria
datos ANY_BIT (NOT), p. 336
** Potenciación Expresión, literal, variable, 4 Potenciación (**),
dirección directa del tipo de p. 335
datos REAL (base),
ANY_NUM (exponente)
* Multiplicación Expresión, literal, variable, 5 Multiplicación (*),
dirección directa del tipo de p. 336
datos ANY_NUM o TIME
/ División Expresión, literal, variable, 5 División (/), p. 337
dirección directa del tipo de
datos ANY_NUM
MOD Módulo Expresión, literal, variable, 5 Módulo (MOD),
dirección directa del tipo de p. 337
datos ANY_INT
+ Adición Expresión, literal, variable, 6 Suma (+), p. 337
dirección directa del tipo de
datos ANY_NUM o TIME
- Sustracción Expresión, literal, variable, 6 Resta (-), p. 338
dirección directa del tipo de
datos ANY_NUM o TIME
< Menor que Expresión, literal, variable, 7 Comparación del
dirección directa del tipo de tipo "menor" (<),
datos ANY_ELEM p. 339
> Mayor que Expresión, literal, variable, 7 Comparación del
dirección directa del tipo de tipo "mayor que"
datos ANY_ELEM (>), p. 338

332 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

Operador Significado Posibles operandos Jerarquía Véase también


<= Menor o igual Expresión, literal, variable, 7 Comparación del
que dirección directa del tipo de tipo "menor/igual"
datos ANY_ELEM (<=), p. 339
>= Mayor o igual Expresión, literal, variable, 7 Comparación del
que dirección directa del tipo de tipo "mayor/igual "
datos ANY_ELEM (>=), p. 338
= Igualdad Expresión, literal, variable, 8 Comparación del
dirección directa del tipo de tipo "igual" (=),
datos ANY_ELEM p. 338
<> Desigualdad Expresión, literal, variable, 8 Comparación del
dirección directa del tipo de tipo "no igual"
datos ANY_ELEM (<>), p. 339
&, AND Adición lógica Expresión, literal, variable, 9 Booleano Y (AND
("Y") dirección directa del tipo de o &), p. 339
datos ANY_BIT
XOR Disyunción Expresión, literal, variable, 10 Booleano O
lógica dirección directa del tipo de exclusivo (XOR),
exclusiva ("O") datos ANY_BIT p. 340
OR Disyunción Expresión, literal, variable, 11 (último Booleano O (OR),
lógica ("O") dirección directa del tipo de puesto) p. 340
datos ANY_BIT

840 USE 493 03 Septiembre de 2001 333


Literal estructurado ST

11.3 Operadores del lenguaje de programación Texto


Estructurado ST

Introducción

Visión general Este apartado describe los operadores del lenguaje de programación Texto
Estructurado ST.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Paréntesis "()" 335
FUNCNAME 335
Potenciación (**) 335
Negación (-) 336
Construcción complementaria (NOT) 336
Multiplicación (*) 336
División (/) 337
Módulo (MOD) 337
Suma (+) 337
Resta (-) 338
Comparación del tipo "mayor que" (>) 338
Comparación del tipo "mayor/igual " (>=) 338
Comparación del tipo "igual" (=) 338
Comparación del tipo "no igual" (<>) 339
Comparación del tipo "menor" (<) 339
Comparación del tipo "menor/igual" (<=) 339
Booleano Y (AND o &) 339
Booleano O (OR) 340
Booleano O exclusivo (XOR) 340

334 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

Paréntesis "()"

Descripción Los paréntesis se utilizan para modificar la secuencia de ejecución de los


operadores.

Paréntesis de Si los operandos A, B, C y D tienen los valores "1", "2", "3" y "-4",
ejemplo "()"
A+B-C*D

tiene como resultado 15 y

(A+B-C)*D

tiene como resultado 0.

FUNCNAME

Descripción El procesado de función se utiliza para ejecutar las funciones (véase Llamada de
función, p. 359).

Potenciación (**)

Descripción En la potenciación "**", el valor del primer operando (base) se eleva al valor del
segundo operando (exponente).

Nota: La potenciación trabaja en el lenguaje de programación ST sólo con una


resolución de 23 bit. En el lenguaje gráfico, la potenciación trabaja con una
resolución de 24 bit.

Ejemplo de En el ejemplo, OUT es "625.0" si IN1 es "5.0" y IN2 es "4.0".


potenciación "**" OUT := IN1 ** IN2;

840 USE 493 03 Septiembre de 2001 335


Literal estructurado ST

Negación (-)

Descripción Con la negación "-", tendrá lugar una inversión del signo para el valor del operando.

Ejemplo de En el ejemplo, OUT es "-4" si IN1 es "4".


negación "-" OUT:= - IN1;

Construcción complementaria (NOT)

Descripción Con NOT, tiene lugar una inversión del operando por cada bit.

Ejemplo NOT En el ejemplo, OUT es "0011001100" si IN1 es "1100110011".


OUT:= NOT IN1;

Multiplicación (*)

Descripción En la multiplicación "*", el valor del primer operando se multiplica por el valor del
segundo operando.

Ejemplo de OUT:= IN1 * IN2;


multiplicación
"*"

Multiplicación de Normalmente los tipos de dato de los operandos que se van a emplear de una
los valores TIME instrucción han de ser idénticos. Una excepción pone en conjunto la multiplicación
y el tipo de dato TIME. En este caso se puede utilizar un operando del tipo de dato
TIME conjuntamente con un operando del tipo de dato ANY_NUM. El resultado de
esta instrucción presenta en este caso el tipo de dato TIME.

Ejemplo: En ejemplo se multiplica la variable Time t2 por la variable Integer i4 y el resultado


Multiplicación de se recoge en la variable Time t1.
los valores TIME t1:= t2 * i4;

336 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

División (/)

Descripción En la división "*", el valor del primer operando se divide entre el valor del segundo
operando.

Ejemplo de OUT:= IN1 / IN2;


división "/"

División de los Normalmente los tipos de dato de los operandos que se van a emplear de una
valores TIME instrucción han de ser idénticos. Una excepción pone en conjunto la división y el tipo
de dato TIME. En este caso se puede utilizar un operando del tipo de dato TIME
conjuntamente con un operando del tipo de dato ANY_NUM. El resultado de esta
instrucción presenta en este caso el tipo de dato TIME.

Ejemplo de En ejemplo se divide la variable Time t2 entre la variable Integer i4 y el resultado se


división de los recoge en la variable Time t1.
valores TIME t1:= t2 / i4;

Módulo (MOD)

Descripción En MOD se divide el valor del primer operando entre el valor del segundo operando
y se recoge como resultado el resto de la división (módulo).

Ejemplo MOD OUT:= IN1 MOD IN2;

Suma (+)

Descripción En la suma "+", el valor del primer operando se suma al valor del segundo
operando.

Ejemplo de suma OUT:= IN1 + IN2;


"+"

840 USE 493 03 Septiembre de 2001 337


Literal estructurado ST

Resta (-)

Descripción En la resta "-" se resta el valor del segundo operando al del primer operando.

Ejemplo de resta OUT:= IN1 - IN2;


"-"

Comparación del tipo "mayor que" (>)

Descripción En ">" se compara el valor del primer operando con el valor del segundo operando.
Si el primer operando es mayor que el segundo, el resultado es un booleano "1". Si
el primer operando es menor/igual que el segundo, el resultado es un booleano "0".

Ejemplo de En el ejemplo, "OUT" es "1" cuando "IN1" es mayor que "10" y "0" o cuando "IN1"
mayor que ">" es menor que "0".
OUT:= IN1 > 10;

Comparación del tipo "mayor/igual " (>=)

Descripción En ">=" se compara el valor del primer operando con el valor del segundo operando.
Si el primer operando es mayor/igual que el segundo, el resultado es un booleano
"1". Si el contenido del primer operando es menor que el contenido del segundo, el
resultado es un booleano "0".

Ejemplo de En el ejemplo, OUT es "1" si "IN1" es mayor/igual que "10" y, en caso contrario, "0".
mayor/igual ">=" OUT:= IN1 >= 10;

Comparación del tipo "igual" (=)

Descripción En "=" se compara el valor del primer operando con el valor del segundo. Si el
primer operando es igual que el segundo, el resultado es un booleano "1". Si el
primer operando no es igual que el segundo, el resultado es un booleano "0".

Ejemplo de igual En el ejemplo, OUT es "1" si "IN1" es igual que "10" y, en caso contrario, "0".
"=" OUT:= IN1 = 10;

338 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

Comparación del tipo "no igual" (<>)

Descripción En "<>" se compara el valor del primer operando con el valor del segundo operando.
Si el primer operando no es igual que el segundo, el resultado es un booleano "1".
Si el primer operando es igual que el segundo, el resultado es un booleano "0".

Ejemplo de no En el ejemplo, OUT es "1" si "IN1" no es igual que "10" y, en caso contrario, "0".
igual "<>" OUT:= IN1 <> 10;

Comparación del tipo "menor" (<)

Descripción En "<" se compara el valor del primer operando con el valor del segundo operando.
Si el primer operando es menor que el segundo, el resultado es un booleano "1". Si
el primer operando es mayor/igual que el segundo, el resultado es un booleano "0".

Ejemplo de En el ejemplo, OUT es "1" si "IN1" es menor que "10" y, en caso contrario, "0".
menor "<" OUT:= IN1 < 10;

Comparación del tipo "menor/igual" (<=)

Descripción En "<=" se compara el valor del primer operando con el valor del segundo operando.
Si el primer operando es menor/igual que el segundo, el resultado es un booleano
"1". Si el primer operando es mayor que el segundo, el resultado es un booleano "0".

Ejemplo de En el ejemplo, OUT es "1" si "IN1" es menor/igual que "10" y, en caso contrario, "0".
menor/igual "<=" OUT:= IN1 <= 10;

Booleano Y (AND o &)

Descripción En "AND" o "&" tiene lugar una conexión Y lógica entre los operadores.
Con los tipos de datos BYTE y WORD se emitirá una conexión por cada bit.

Ejemplo de En los ejemplos, OUT es "1" si "IN1", "IN2" y "IN3" son "1".
booleano Y "AND OUT:= IN1 AND IN2 AND IN3;
o &"
o

OUT:= IN1 & IN2 & IN3;

840 USE 493 03 Septiembre de 2001 339


Literal estructurado ST

Booleano O (OR)

Descripción En OR tiene lugar una conexión O lógica entre los operadores.


Con los tipos de datos BYTE y WORD se emitirá una conexión por cada bit.

Ejemplo de En el ejemplo, OUT es "1" si "IN1", "IN2" o "IN3" son "1".


booleano O "OR" OUT:= IN1 OR IN2 OR IN3;

Booleano O exclusivo (XOR)

Descripción En XOR tiene lugar una conexión O exclusivo lógica entre los operadores.
Con los tipos de datos BYTE y WORD se emitirá una conexión por cada bit.

Ejemplo de En el ejemplo, OUT es "1" si "IN1" y "IN2" no son iguales. Si "IN1" y "IN2" tienen el
booleano O mismo estado (ambos "0" o "1"), "OUT" es "0".
exclusivo "XOR" OUT:= IN1 XOR IN2;

Conexión de más Si se conectan más de dos operandos, el resultado se encuentra en un número


de dos 2 impar de estados1 "1" y un número par de estados1 "0".
operandos

Ejemplo: En el ejemplo, OUT es "1" si los operandos 1, 3 ó 5 son "1". "OUT" es "0" si los
Conexión de más operandos 0, 2 ó 4 son "1".
de dos 2 OUT:= IN1 XOR IN2 XOR IN3 XOR IN4 XOR IN5;
operandos

340 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

11.4 Instrucciones

Introducción

Visión general Este apartado describe las instrucciones del lenguaje de programación Texto
Estructurado ST.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Instrucciones 342
Asignación 342
Declaración (VAR...END_VAR) 343
IF...THEN...END_IF 345
ELSE 346
ELSIF...THEN 347
CASE...OF...END_CASE 348
FOR...TO...BY...DO...END_FOR 348
WHILE...DO...END_WHILE 351
REPEAT...UNTIL...END_REPEAT 352
EXIT 354
Instrucción vacía 354
Comentario 354

840 USE 493 03 Septiembre de 2001 341


Literal estructurado ST

Instrucciones

Descripción Las instrucciones son los "comandos" del lenguaje de programación ST.

Las instrucciones se deben cerrar mediante el símbolo del punto y coma. Se


pueden colocar varias instrucciones en una misma fila (separados por punto y
coma)

Nota: Las instrucciones pueden introducirse manualmente o con ayuda del menú
Objetos.

Asignación

Introducción La asignación reemplaza el valor actual de una variable de elemento único o de


elementos múltiples mediante el resultado de la evaluación de un término.
Una asignación se compone de una especificación de variables de la página
izquierda, seguida de un operador de asignación ":=", seguido del término que se
va a evaluar. Las dos variables han de presentar el mismo tipo de dato.

Asignar el valor Se ejecutan las asignaciones para asignar el valor de una variable a otra variable.
de una variable a La asignación
otra variable 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 dato elemental, el valor único de
"B" se entrega a "A". Si "A" y "B" presentan un tipo de dato derivado, los valores de
todos los elementos de "B" se entregan a "A".

Asignar el valor Se utilizan las asignaciones para asignar un literal a las variables.
de un literal a La asignación
una variable C := 25 ;
se utiliza, por ejemplo, para asignar a la variable "C" el valor "25".

342 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

Asignar el valor Se utilizan las asignaciones para asignar un valor a las variables que ha sido
de un FFBs a una rechazado por un función o por un módulo de función.
variable La asignación
B := MOD_INT(C,A) ;
se utiliza, por ejemplo, para asignar a la variable "B" el módulo de las variables "C"
y "A".
La asignación
A := TON1.Q ;
se utiliza, por ejemplo, para asignar a la variable "A" el valor de la salida "Q" del
módulo de función TON1.

Asignar un valor Las asignaciones se utilizan para asignar a una variable un valor que es el resultado
de una operación de una operación.
a una variable La asignación
X := (A+B-C)*D ;
se utiliza, por ejemplo, para asignar a la variable "X" el resultado de la operación
"(A+B-C)*D".

Declaración (VAR...END_VAR)

Introducción La instrucción VAR sirve para la declaración de los módulos de función y DFBs
utilizados y para la declaración de direcciones directas, en el caso de que éstas no
se deban utilizar con el tipo de datos Default. VAR en Concept no se puede utilizar
para la declaración de variables. La declaración de variables se utiliza fácilmente en
el editor de variables.
La instrucción END_VAR muestra el final de la declaración.

Nota: La declaración de los FBs/DFBs y de las direcciones directas sólo funciona


en la sección actual. Si también se debe utilizar el mismo tipo FFB o la misma
dirección en otra sección, se ha de volver a declarar el tipo FFB o la dirección en
esta sección.

840 USE 493 03 Septiembre de 2001 343


Literal estructurado ST

Declaración de En la declaración, a cada ejemplar FB-/DFB utilizado se le asigna un nombre de


módulo de ejemplar unívoco. El nombre de ejemplar sirve para denominaciones unívocas del
función y de módulo de función en un proyecto. El nombre de ejemplar ha de ser unívoco en todo
DFBs el proyecto, en este caso no se diferencia entre el empleo de mayúsculas y el de
minúsculas. El nombre de ejemplar se ha de corresponder con lasconvenciones de
nombres IEC, en caso contrario se producirá un aviso de error.
Tras especificar el nombre de ejemplar se especifica el tipo de módulo de función,
por ejemplo CTD_DINT.
En los tipos de módulo de función genéricos no se especifica ningún tipo de dato.
Éstos se determinan mediante el tipo de dato del parámetro actual. Si todos los
parámetros actuales se componen de literales, se elige un tipo de dato adecuado
para el módulo de función.
Se puede declarar todo nombre de ejemplar para un FB/DFB.

Nota: El diálogo Objeto → insertar FFB muestra un formulario sobre las acciones
fáciles y rápidas de la declaración FB/DFB para el acceso.

Nota: En ST se puede, al contrario que en el lenguaje de programación gráfico


(FBD, LD), acceder también a múltiples ejemplares FB/DFB.

Ejemplo Declaración de módulo de función y de DFBs


Exemplar-Namen

VAR
RAMP_UP, RAMP_DOWN, RAMP_X : TON ;
COUNT : CTU_DINT ;
CLOCK : SYSCLOCK ;
Pulse : TON ;
END_VAR
Funktionsbaustein-Typen

Declaración de En esta declaración se asigna a cada dirección directa utilizada, cuyo tipo de dato
direcciones se desvía del tipo Default, el tipo de dato deseado (véase tambiénTipos de datos
directas predeterminados de direcciones directas, p. 331).

344 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

Ejemplo Declaración de direcciones directas


VAR
AT %QW1 : WORD ;
AT %IW15 : UINT ;
AT %ID45 : DINT ;
AT %QD4 : TIME ;
END_VAR

IF...THEN...END_IF

Descripción La instrucción IF determina que una instrucción o un grupo de instrucciones se


ejecute sólo si el término booleano correspondiente tiene el valor 1 (verdadero). En
el caso de que la condición sea 0 (falso), la instrucción o el grupo de instrucciones
no se ejecuta.
La instrucción THEN determina el final de la condición y el principio de la instrucción
o instrucciones.
La instrucción END_IF determina el final de la instrucción o instrucciones.

Nota: Se pueden encuadrar las instrucciones IF...THEN...END_IF cualquiera para


generar instrucciones complejas de selección.

Ejemplo En el caso de que FLAG sea 1, se ejecutan las instrucciones, en el caso de que
IF...THEN... FLAG sea 0, no se ejecutan las instrucciones.
END_IF IF FLAG THEN
C:=SIN_REAL(A) * COS_REAL(B);
B:=C - A;
END_IF;

Ejemplo IF NOT Con NOT se puede invertir la condición (ejecución de ambas instrucciones a 0).
...THEN IF NOT FLAG THEN
...END_IF C:=SIN_REAL(A) * COS_REAL(B);
B:=C - A;
END_IF;

véase también ELSE (Véase ELSE, p. 346)


ELSEIF (Véase ELSIF...THEN, p. 347)

840 USE 493 03 Septiembre de 2001 345


Literal estructurado ST

ELSE

Descripción La instrucción ELSE sigue siempre a una instrucción IF...THEN, ELSIF...THEN o


CASE.
Si la instrucción ELSE sigue a IF o ELSIF, la instrucción o el grupo de instrucciones
se ejecuta sólo cuando los términos booleanos correspondientes tienen la
instrucción IF y ELSIF del valor 0 (falso). En el caso de que la condición de la
instrucción IF o ELSIF sea 1 (verdadero), la instrucción o el grupo de instrucciones
no se ejecuta.
Si la instrucción ELSE sigue a CASE, la instrucción o el grupo de instrucciones sólo
se ejecuta cuando ninguna marca contiene el valor del selector. En el caso de que
una marca contenga el valor del selector, la instrucción o el grupo de instrucciones
no se ejecuta.

Nota: Se pueden encuadrar las instrucciones IF...THEN...ELSE...END_IF


cualquiera para generar instrucciones complejas de selección.

Ejemplo ELSE IF A>B THEN


C:=SIN_REAL(A) * COS_REAL(B);
B:=C - A;
ELSE
C:=A + B;
B:=C * A;
END_IF;

véase también IF (Véase IF...THEN...END_IF, p. 345)


ELSIF (Véase ELSIF...THEN, p. 347)
CASE (Véase CASE...OF...END_CASE, p. 348)

346 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

ELSIF...THEN

Descripción La instrucción ELSIF siempre sigue a una instrucción IF...THEN. La instrucción


ELSIF determina que una instrucción o un grupo de instrucciones sólo se ejecuta
cuando el término booleano correspondiente de la instrucción IF tiene el valor 0
(falso) y el término booleano correspondiente de la instrucción ELSIF tiene el valor
1 (verdadero). En el caso de que la condición de la instrucción IF sea 1 (verdadero)
o la condición de la instrucción ELSIF sea 0 (falso), la instrucción o el grupo de
instrucciones no se ejecuta.
La instrucción THEN determina el final de la condición o condiciones ELSIF y el
principio de la instrucción o instrucciones.

Nota: Se pueden encuadrar las instrucciones IF...THEN...ELSIF...THEN...END_IF


cualquiera para generar instrucciones complejas de selección.

Ejemplo IF A>B THEN


ELSIF...THEN C:=SIN_REAL(A) * COS_REAL(B);
B:=SUB_REAL(C,A);
ELSIF A=B THEN
C:=ADD_REAL(A,B);
B:=MUL_REAL(C,A);
END_IF;

Ejemplo de IF A>B THEN


instrucciones IF B=C THEN
interdirec- C:=SIN_REAL(A) * COS_REAL(B);
cionadas ELSE
B:=SUB_REAL(C,A);
END_IF;
ELSIF A=B THEN
C:=ADD_REAL(A,B);
B:=MUL_REAL(C,A);
ELSE
C:= DIV_REAL (A,B);
END_IF;

véase también IF (Véase IF...THEN...END_IF, p. 345)


ELSE (Véase ELSE, p. 346)

840 USE 493 03 Septiembre de 2001 347


Literal estructurado ST

CASE...OF...END_CASE

Descripción La instrucción CASE se compone de un término del tipo de dato INT (el "selector")
y una lista de grupos de instrucciones. Cada grupo estará provisto de una marca
que estará compuesta de un entero o varios (ANY_INT) o rangos de valores de
enteros. Se ejecuta el primer grupo de instrucciones, cuya marca contenga el valor
del selector correspondiente. En caso contrario, no se ejecuta ninguna de las
instrucciones.
La instrucción OF determina el principio de las marcas.
Dentro de la instrucción CASE se puede ejecutar una instrucción ELSE, cuyas
instrucciones se ejecuten, en el caso de que ninguna marca contenga el valor del
selector.
La instrucción END_CASE determina el final de la instrucción o instrucciones.

Ejemplo Ejemplo CASE...OF...END_CASE


CASE...OF Selector
...END_CASE
CASE SELECT OF 1,5: C:=SIN_REAL(A) * COS_REAL(B) ;
2: B:=C - A ;
6..10: C:=C * A ;
ELSE B:=C * A ;
C:=A / B ; Marcas
END_CASE ;

véase también ELSE (Véase ELSE, p. 346)

FOR...TO...BY...DO...END_FOR

Descripción La instrucción FOR se emplea cuando se puede determinar de antemano el número


de repeticiones. En caso contrario, se emplean WHILE (Véase
WHILE...DO...END_WHILE, p. 351) o REPEAT (Véase
REPEAT...UNTIL...END_REPEAT, p. 352).
La instrucción FOR repite una secuencia de instrucciones hasta la instrucción
END_FOR. El número de repeticiones se determina mediante el valor inicial, el
valor final y la variable de control. El valor inicial, el valor final y la variable de control
deben ser del mismo tipo de dato (DINT o INT) y no se pueden modificar mediante
una instrucción de las repetidas. La instrucción FOR incrementa el valor de las
variables de control desde un valor hasta un valor final. El valor del incremento se
ajusta previamente a 1. En el caso de que se deba emplear otro valor, para ello es
posible especificar explícitamente el valor del incremento (variable o constante).

348 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

El valor de las variables de control se verifica para cada nuevo ciclo del anillo. Si
éste se encuentra fuera del campo del valor inicial y valor final, entonces se
abandona el anillo.
Antes del primer ciclo del anillo, se comprueba si el incremento de la variable de
control se acerca al valor final partiendo del valor inicial. Si éste no es el caso (por
ejemplo, valor inicial ≤ valor final e incremento negativo), entonces no se ejecuta la
desconexión del anillo.
Esta regla evita los anillos sin final.

Nota: Para el valor final del tipo de dato DINT se utiliza el rango de valores -
2 147 483 646 hasta 2 147 483 645

La instrucción DO determina el final de la definición de repetición y el principio de la


instrucción o instrucciones.
La repetición puede terminarse antes de tiempo si se emplea la instrucción EXIT.
La instrucción END_FOR determina el final de la instrucción o instrucciones.

Ejemplo: FOR FOR con incremento "1"


con incremento
Variable de control Valor inicial Valor final
"1"

FOR i:= 1 TO 50 DO
C:= C * COS_REAL(B) ;
END_FOR ;

FOR con Si se debe utilizar un incremento diferente a "1", éste se puede definir mediante BY.
incremento El incremento, el valor inicial, el valor final y la variable de control han de ser del
diferente a "1" mismo tipo de dato (DINT o INT). El criterio de la dirección de desconexión
(progresivo, regresivo) es el signo del término BY. Si este término es positivo,
entonces el anillo trabaja de forma progresiva; si es negativo, el anillo trabaja de
forma regresiva.

Ejemplo: Cuenta Cuenta progresiva en dos pasos


progresiva en Variable de control Valor inicial Valor final Incremento
dos pasos

FOR i:= 1 TO 10 BY 2 DO (* BY > 0 : Vorw.schleife *)


C:= C * COS_REAL(B) ; (* Anweisung wird 5 x ausgeführt *)
END_FOR ;

840 USE 493 03 Septiembre de 2001 349


Literal estructurado ST

Ejemplo: Cuenta Cuenta regresiva


regresiva FOR i:= 10 TO 1 BY -1 DO (* BY < 0 : anillo regresivo *)
C:= C * COS_REAL(B) ; (* Instrucción se ejecuta 10 x *)
END_FOR ;

Ejemplo: Anillos Efectivamente, los anillos del ejemplo sólo realizan un ciclo ya que el valor inicial =
"uniciclo" valor final. En este caso no tiene importancia si el incremento es positivo o negativo.
FOR i:= 10 TO 10 DO (* Anillo uniciclo *)
C:= C * COS_REAL(B) ;
END_FOR ;

FOR i:= 10 TO 10 BY -1 DO (* Anillo uniciclo *)


C:= C * COS_REAL(B) ;
END_FOR ;

Ejemplo: Anillos Si en el ejemplo el incremento j fuera> 0, las instrucciones no se ejecutarían ya que


críticos la situación del valor inicial > y del valor final sólo acepta un incremento ≤ 0. Sólo
puede existir un anillo sin final cuando el incremento es 0. Si se da este caso
durante el análisis de la sección, entonces se genera un aviso de error. Si se da el
error en el tiempo de ejecución, un aviso de error en el indicador de aconteci-
mientos... se genera.
FOR i:= 10 TO 1 BY j DO (* Anillo regresivo *)
C:= C * COS_REAL(B) ;
END_FOR ;

Si en ejemplo el incremento j es < 0, no se ejecutan las instrucciones ya que la


situación del valor inicial < y del valor final acepta sólo un incremento ≥ 0. Sólo
puede existir un anillo sin final cuando el incremento es 0. Si se da este caso
durante el análisis de la sección, entonces se genera un aviso de error. Si se da el
error en el tiempo de ejecución, un aviso de error en el indicador de aconteci-
mientos... se genera.
FOR i:= 1 TO 10 BY j DO (* Anillo progresivo *)
C:= C * COS_REAL(B) ;
END_FOR ;

350 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

Ejemplo: Anillos Anillos no válidos


no válidos FOR i:= 1 TO 10 BY 0 DO (* Error en sección- *)
C:= C * COS_REAL(B) ; (* Análisis, ya que anillo sin
final *)
END_FOR ;

FOR i:= 1 TO 10 BY j DO (* en j=0, aviso de error *)


C:= C * COS_REAL(B) ; (* en el indicador de
acontecimientos *)
END_FOR ;

WHILE...DO...END_WHILE

Descripción La instrucción WHILE repite una secuencia de instrucciones hasta que el término
booleano correspondiente sea 0 (falso). En el caso de que el término sea falso
desde el principio, generalmente no se ejecuta el grupo de instrucciones.
La instrucción DO determina el final de la definición de repetición y el principio de la
instrucción o instrucciones.
La repetición se puede terminar antes de tiempo mediante la instrucción EXIT.
La instrucción END_WHILE determina el final de la instrucción o instrucciones.

ADVERTENCIA
Peligro de suspensión del programa
WHILE no se puede emplear con el fin de ejecutar una sincronización
entre procesos, por ejemplo cuando se trata de un "anillo de espera"
con una condición final, externa y determinada, lo que quiere decir que
no se puede formar ningún anillo sin final, ya que éste puede llevar a la
suspensión del programa, a no ser que esto se evite con la función
Proyecto → Opciones para generar códigos → Activar control de
anillos .
Si no se respetan estas precauciones pueden producirse graves
daños corporales y/o materiales.

840 USE 493 03 Septiembre de 2001 351


Literal estructurado ST

ADVERTENCIA
Peligro de suspensión del programa
WHILE no se puede utilizar en un algoritmo para el cual no se garantiza
el cumplimiento de las condiciones finales del anillo o la ejecución de
una instrucción EXIT, lo que quiere decir que no se puede formar
ningún anillo sin final, ya que éste puede llevar a la suspensión del
programa, a no ser que esto se evite con la función Proyecto →
Opciones para generar códigos → Activar control de anillos.
Si no se respetan estas precauciones pueden producirse graves
daños corporales y/o materiales.

Ejemplo var := 1
WHILE...DO WHILE var <= 100 DO
...END_WHILE var := var + 4;
END_WHILE;

véase también EXIT (Véase EXIT, p. 354)

REPEAT...UNTIL...END_REPEAT

Descripción La instrucción REPEAT repite una secuencia de instrucciones (como mínimo una
vez) hasta que la condición booleana correspondiente sea 1 (verdadero).
La instrucción UNTIL determina la condición final.
La repetición se puede terminar antes de tiempo mediante la instrucción EXIT.
La instrucción END_REPEAT determina el final de la instrucción o instrucciones.

ADVERTENCIA
Peligro de suspensión del programa
REPEAT no se puede emplear con el fin de ejecutar una sincronización
entre procesos, por ejemplo cuando se trata de un "anillo de espera"
con una condición final, externa y determinada, lo que quiere decir que
no se puede formar ningún anillo sin final, ya que éste puede llevar a la
suspensión del programa, a no ser que esto se evite con la función
Proyecto → Opciones para generar códigos → Activar control de
anillos .
Si no se respetan estas precauciones pueden producirse graves
daños corporales y/o materiales.

352 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

ADVERTENCIA
Peligro de suspensión del programa
REPEAT no se puede utilizar en un algoritmo para el cual no se
garantiza el cumplimiento de las condiciones finales del anillo o la
ejecución de una instrucción EXIT, lo que quiere decir que no se puede
formar ningún anillo sin final, ya que éste puede llevar a la suspensión
del programa, a no ser que esto se evite con la función Proyecto →
Opciones para generar códigos → Activar control de anillos.
Si no se respetan estas precauciones pueden producirse graves
daños corporales y/o materiales.

Ejemplo var := -1
REPEAT...UNTIL. REPEAT
..END_REPEAT var := var +2;
UNTIL var >= 101
END_REPEAT;

véase también EXIT (Véase EXIT, p. 354)

840 USE 493 03 Septiembre de 2001 353


Literal estructurado ST

EXIT

Descripción La instrucción EXIT se emplea para finalizar las instrucciones de repetición (FOR,
WHILE, REPEAT), antes de que se cumplimente la condición final.
Si la instrucción EXIT se encuentra dentro de una repetición encuadrada, se
abandona el anillo interno (en el que se encuentra EXIT). A continuación se
ejecutará la primera instrucción dada por el final del anillo (END_FOR, END_WHILE
o END_REPEAT).

Ejemplo EXIT Si FLAG tiene el valor 0, SUM tras la ejecución de las instrucciones es 15.
Si FLAG tiene el valor 1, SUM tras la ejecución de las instrucciones es 6.
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

véase también CASE (Véase CASE...OF...END_CASE, p. 348)


WHILE (Véase WHILE...DO...END_WHILE, p. 351)
REPEAT (Véase REPEAT...UNTIL...END_REPEAT, p. 352)

Instrucción vacía

Descripción Las instrucciones vacías se generan con un símbolo de punto y coma (;).

Comentario

Descripción En el editor ST empiezan comentarios con la cadena (*y terminan con la cadena*).
Entre estas dos cadenas se puede introducir cualquier comentario. Los comentarios
se pueden introducir en cualquier posición del editor ST. Los comentarios se
representan en colores.

Nota: Los comentarios encadenados no se admiten en IEC 1131-1. Pero si se


desea utilizarlos, se puede mediante Opciones → Extensiones IEC → Habilitar
Admitir comentarios encadenados.

354 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

11.5 Acceso a funciones, módulos de funciones (EFB)


y módulos de funciones derivados (DFB)

Introducción

Visión general Este apartado describe el acceso a funciones, módulos de funciones (EFB) y
módulos de funciones derivados (DFB).

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Llamada de módulo de función/DFB 356
Llamada de función 359

840 USE 493 03 Septiembre de 2001 355


Literal estructurado ST

Llamada de módulo de función/DFB

Aplicación de Los módulos de función se encuentran en Concept en forma de bibliotecas. La


módulos de lógica de los módulos de función se genera en el lenguaje de programación C++ y
función y DFB no se puede modificar en el editor ST. Puede acceder a los nombres de los módulos
de función disponibles en las bibliotecas de módulos.
Los DFB son módulos de función que se pueden definir en DFB Concept. En el caso
de los DFB no se distingue entre función y módulo de función. Independientemente
de su estructura interna, siempre se utilizan como módulos de función.
En ST, el uso de los módulos de función y de los DFB consta de tres partes:
l declaración (Véase Declaración, p. 357),
l llamada del módulo de función/DFB (Véase Llamada de un módulo de función/
DFB, p. 357),
l utilización de las salidas del módulo de función o del DFB (Véase Utilización de
las salidas del módulo de función o del DFB, p. 359).

Nota: La declaración de las llamadas del módulo de función o del DFB puede
generarse de forma manual o también puede generar el cuerpo del módulo y la
asignación de los parámetros por medio comando de menú Objetos → Insertar
FFB.

Módulos de Los siguientes EFB de la biblioteca de módulos DIAGNO sólo se pueden utilizar en
función de uso ST con ciertas limitaciones (los módulos de función se pueden utilizar; sin embargo,
limitado no se llevarán a cabo evaluaciones de la información de diagnóstico ampliada):
l XACT, XACT_DIA
l XDYN_DIA
l XGRP_DIA
l XLOCK
l XPRE_DIA
l XLOCK_DIA
l XREA_DIA

Módulos de En el caso de EFB que dispongan de una o varias salidas del tipo de datos ANY
función de pero de ninguna entrada del tipo ANY (salidas/entradas genéricas), la llamada al
acceso módulo sólo podrá tener lugar en forma compacta (Véase Llamada de un módulo
restringido de función/DFB de forma compacta, p. 359), por ejemplo, en la biblioteca de
módulos LIB984:
l GET_3X
l GET_4X

356 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

Módulos de Módulos de función no utilizables:


función no l No es posible utilizar EFB que hagan uso de varios registros para mostrar
utilizables únicamente el primer registro en la entrada/salida (p. ej. MBP_MSTR en la
biblioteca de módulos COMM).
l No es posible utilizar EFB que contengan salidas con información de entrada (p.
ej. GET_BIT, R2T de la biblioteca de módulos LIB984).
l Los siguientes EFB de la biblioteca de módulos COMM no se pueden utilizar
debido a las razones técnicas indicadas anteriormente:
l CREADREG
l CREAD_REG
l CWRITREG
l CWRITE_REG
l READREG
l READ_REG
l WRITEREG
l WRITE_REG
l MBP_MSTR
l Los siguientes EFB de la biblioteca de módulos LIB984 no se pueden utilizar
debido a las razones técnicas indicadas anteriormente:
l FIFO
l GET_BIT
l IEC_BMDI
l LIFO
l R2T
l SET_BIT
l SRCH
l T2T

Declaración Antes de acceder a un módulo de función o DFB, éste deberá declararse con ayuda
de VAR y END_VAR (Véase Declaración (VAR...END_VAR), p. 343).

Llamada de un Los módulos de función/DFB se llaman mediante una instrucción compuesta por el
módulo de nombre de instancia del FB/DFB seguida por una lista de asignaciones de valores
función/DFB (parámetros actuales) entre paréntesis para los parámetros formales. La secuencia
en la que se especifican los parámetros formales en una llamada de módulo de
función no es significativa. No es necesario asignar un valor a todos los parámetros
formales. Si no se asigna un valor a un parámetro formal, durante la ejecución del
módulo de función se utilizará el valor inicial determinado en el editor de variables.
Si no se ha definido ningún valor inicial, se aplicará el valor predeterminado (0).

Nota: A las entradas del tipo VARINOUT (Véase también Utilización del DFB en
FBD/LD, p. 405) se les debe asignar siempre un valor.

840 USE 493 03 Septiembre de 2001 357


Literal estructurado ST

Llamada de un módulo de función/DFB:


Nombre de instancia
Parámetros formales
CLOCK () ;
COUNT (CU:=CLOCK.CLK3, R:=reset, PV:=100 + value) ;
Pulse (IN:=COUNT.Q, PT:=t#1s) ;

Parámetros actuales

Nota: En contraposición a los lenguajes de programación gráficos (FBD, LD), en


ST, las instancias DFB/FB se pueden llamar varias veces.

Nota: Incluso cuando el módulo de función no tenga ninguna entrada o las


entradas no estén parametrizadas, se debe llamar el módulo de función antes de
poder utilizar sus salidas. De lo contrario, se transmiten los valores iniciales de las
salidas, es decir "0".

Declaración y llamada de un módulo de función en ST:


VAR
CLOCK : SYSCLOCK ;
COUNT : CTU_DINT ;
END_VAR

CLOCK () ;
COUNT (CU:=CLOCK.CLK3, R:=reset, PV:=100) ;
out:=COUNT.Q ;
current:=COUNT.CV ;

Llamada del módulo de función en FBD:


CLOCK COUNT
SYSCLOCK CTU_DINT

CLK1 CU Q out
CLK2 reset R
CLK3 100 PV CV current
CLK4
CLK5
TIMER

358 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

Llamada de un La llamada de módulo y la asignación de entradas/salidas también se pueden


módulo de realizar en forma compacta, lo cual reduce el tiempo de ejecución:
función/DFB de VAR
forma compacta CLOCK : SYSCLOCK ;
COUNT : CTU_DINT ;
END_VAR

CLOCK () ;
COUNT (CU:=CLOCK.CLK3, R:=reset, PV:=100,
Q=>out, CV=>current) ;

Utilización de las Las salidas de módulos de función o DFB pueden seguir utilizándose aunque
salidas del también se pueda utilizar una variable (read-only).
módulo de Nombre de instancia
función o del Parámetros formales
DFB out := COUNT.Q ;
current := COUNT.CV ;

Parámetro actual

Llamada de función

Aplicación de las Las funciones se encuentran en Concept en forma de bibliotecas. La lógica de las
funciones funciones se genera en el lenguaje de programación C++ y no se puede modificar
en el editor ST. Puede acceder a los nombres de las funciones disponibles en las
bibliotecas de módulos.

Nota: La declaración de las llamadas de función puede generarse de forma


manual o también puede generar el cuerpo del módulo y la asignación de los
parámetros por medio comando de menú Objetos → Insertar FFB.

Llamada de una función en ST:


out := LIMIT_INT (MN:=0, IN:=in1, MX:=5 + var) ;

Llamada de la función FBD:


.1.2
.1.1
LIMIT_INT
ADD_INT
0 MN out
5 in1 IN
var MX

840 USE 493 03 Septiembre de 2001 359


Literal estructurado ST

Funciones no Las funciones que disponen de una o varias salidas del tipo de datos ANY pero de
utilizables ninguna entrada del tipo ANY (salidas/entradas genéricas), no se pueden utilizar en
ST.

Llamada de una La función también se puede llamar mediante una instrucción compuesta por un
función: parámetro actual (variable), seguido por la instrucción de asignación ":=", el nombre
Variante 1 de la función y una lista de asignaciones de valores (parámetros actuales) entre
paréntesis para los parámetros formales. La secuencia en la que se especifican los
parámetros formales en una llamada de función no es significativa.
Parámetro actual (salida) Parámetros formales

out:=LIMIT_INT (MN:=0, IN:=in1, MX:=5 + var) ;


Nombre de la función
Parámetros actuales (entradas)

Llamada de una Las funciones se llaman mediante una instrucción. La instrucción está formada por
función: el parámetro actual (variable) de la salida seguido de la instrucción de asignación
Variante 2 ":=", el nombre de la función y una lista entre paréntesis de los parámetros actuales
de las entradas. La secuencia en la que se especifican los parámetros actuales en
una llamada de función no es significativa.
Parámetro actual (salida)

out:=LIMIT_INT (0, in1, 5 + var) ;


Nombre de la función
Parámetros actuales (entradas)

360 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

11.6 Revisión sintáctica y generación de códigos

Introducción

Visión general Este apartado describe la revisión sintáctica y la generación de códigos del lenguaje
de programación Texto Estructurado ST.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Comprobación de sintaxis 362
Generación de códigos 363

840 USE 493 03 Septiembre de 2001 361


Literal estructurado ST

Comprobación de sintaxis

Introducción Durante la generación de programas o DFBs puede realizar una comprobación de


sintaxis mediante Proyecto → Analizar sección.

Opciones para la Por medio del comando de menú Opciones → Preajustes → Expansiones IEC...
comprobación → Expansiones IEC puede definir las opciones para la comprobación de sintaxis.
de sintaxis
Nota: Los ajustes realizados en este cuadro de diálogo se tendrán en cuenta en
la descripción del proyecto (PRJ.DSK) y en la descripción de instalación de
Concept (CONCEPT.DSK), es decir, son válidos para toda la instalación de
Concept.
Si se abre un proyecto que se haya creado con otra configuración (p. ej.
admitiendo la opción Admitir comentarios intercalados en el proyecto pero no
en la instalación actual de Concept), pueden surgir errores durante la apertura del
proyecto.

Admitir Si activa la casilla de verificación Admitir mayúsculas/minúsculas en palabras


mayúsculas/ clave se admitirán mayúsculas y minúsculas en todas las palabras clave.
minúsculas en
palabras clave

Admitir Si activa la casilla de verificación Admitir comentarios intercalados, podrá


comentarios introducir comentarios intercalados. No hay restricciones en cuanto al nivel de
intercalados intercalado.

Admitir cifras Si activa la casilla de verificación Admitir cifras antepuestas en identificadores,


antepuestas en se admitirán cifras como primer carácter de un identificador (p. ej. nombres de
identificadores variables, nombres de pasos, nombres de EFBs). Los identificadores formados
íntegramente por cifras no están permitidos y deben contener siempre al menos una
letra.

Parámetros sin La norma IEC 1131-3 permite ejecutar funciones y módulos de función sin asignar
asignar todos los parámetros de entrada correspondientes. A estos parámetros no
ocasionan utilizados se les asigna un 0 de forma implícita, o mantienen el valor de la última
advertencias llamada (sólo módulos de función).

Si en el comando de menú Opciones → Preajustes → Analizar... → Analizar


activa la casilla de verificación Parámetros sin asignar ocasionan advertencias,
durante la generación de códigos aparecerá una lista de estos parámetros sin
utilizar en la ventana de mensajes.

362 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

Generación de códigos

Introducción Con el comando de menú Proyecto → Opciones para generación de códigos se


pueden definir las opciones para la generación de códigos.

Código rápido Al activar la casilla de verificación Código rápido (revisión restringida) se genera
(revisión un código de tiempo de ejecución optimizado .
restringida)
Esta optimización del tiempo de ejecución se consigue realizando la aritmética
entera (por ejemplo "+" o "-") mediante la activación de comandos de procesador
sencillos desde el acceso de EFB.

Los comandos de procesador son mucho más rápidos que el acceso de EFB, pero
no generan ningún aviso de error, como por ejemplo, Desborde de aritmética o de
Array. Esta opción sólo debe utilizarse cuando sea seguro que el programa no
genera ningún error aritmético.

Ejemplo: Código IF i <= max THEN (*i y max son de tipo INT *)
rápido i := i +1 ;
END_IF;

En caso de que se seleccione el Código rápido (revisión restringida) se efectuará


la adicción "i1 + 1" mediante el comando de procesador "add". El código es más
rápido ahora que si se accediera desde EFB ADD_INT. No obstante no genera
ningún error de tiempo de ejecución si "max" es 32767. ¡En ese caso "i" pasaría de
32767 a -32768!

840 USE 493 03 Septiembre de 2001 363


Literal estructurado ST

Activar control Estas casillas de verificación activan un programa de vigilancia watchdog para
de bucles bucles ilimitados.

Al activar estas casillas de verificación, se efectuará una revisión de los bucles


dentro de las secciones IL y ST. El tiempo válido depende del tiempo de vigilancia
watchdog definido. El tiempo válido para todos los bucles juntos es del 80 % del
tiempo de vigilancia watchdog del equipo. De este modo se evita que los bucles
ilimitados activen la vigilancia watchdog del equipo. En caso de que se reconozca
un bucle de tiempo intensivo o un bucle infinito, se finalizará el procesado de la
sección, se generará una entrada en la Indicación de eventos y se efectuará el
procesado de la siguiente sección. En el siguiente ciclo se volverá a procesar la
sección, hasta que se genere un nuevo bucle de tiempo intensivo o se determine
un bucle ilimitado, o se finalice la sección de acuerdo con el orden.

Nota: Cuando el autómata tenga que detener la vigilancia watchdog del equipo, al
reconocer un bucle de tiempo intensivo o un bucle infinito, no se podrá activar esta
opción, . La vigilancia watchdog del equipo no se desactiva por sí sola mediante
esta función.

364 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

11.7 Funciones online del lenguaje


de programación ST

Funciones online

Descripción Están disponibles las mismas funciones online que con el lenguaje de programación
de la lista de instrucciones IL (véase Funciones online de la lista de instrucciones
IL, p. 318).

840 USE 493 03 Septiembre de 2001 365


Literal estructurado ST

11.8 Crear un programa con el Texto Estructurado ST

Crea un programa en Texto Estructurado ST

Introducción La siguiente descripción ofrece un ejemplo sobre la creación de un programa en el


lenguaje de programación Texto Estructurado ST. La creación de un programa en
ST se compone de 2 pasos principales:
Paso Acción
1 Generar una sección (Véase Generar una sección, p. 366)
2 Crear la lógica (Véase Crear lógica, p. 367)

Generar una Para generar una sección se deben efectuar los siguientes pasos:
sección
Paso Acción
1 Se genera con el comando de menú Fichero → Nueva sección... una nueva
sección y se introduce un nombre de sección.

Nota: El nombre de la sección (máx 32 caracteres) debe ser inequívoco a lo


largo de todo el proyecto, ya que no se diferencia entre letras mayúsculas y
minúsculas. En caso de que ya exista el nombre de sección introducido, se
advertirá a este respecto y se deberá seleccionar otro nombre. El nombre de la
sección debe corresponder con las convenciones de nombres CEI, o de lo
contrario aparecerá un aviso de error.

Nota: Según CEI1131-3 sólo son válidas las letras como primeros caracteres de
los nombres. No obstante, en caso de que también se quieran utilizar números
como primeros caracteres, esto se puede habilitar con el comando de menú
Opciones → Preajustes → Expansiones IEC... → Cifras iniciales válidas en
las especificaciones.

366 840 USE 493 03 Septiembre de 2001


Literal estructurado ST

Crear lógica Para crear la lógica, se deben ejecutar los siguientes pasos:
Paso Acción
1 Declarar con ayuda de VAR...END_VAR los módulos de función y los DFB que
se quieren utilizar.

Ejemplo:
VAR
RAMP_UP, RAMP_DOWN, RAMP_X : TON
COUNT : CTU_DINT ;
END_VAR
2 Declarar las variables y sus valores iniciales en el editor de variables.
3 Crear la lógica de su programa.

Ejemplo:
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
4 Asegurar ahora la sección con el comando de menú Fichero → Guardar
proyecto.

840 USE 493 03 Septiembre de 2001 367


Literal estructurado ST

368 840 USE 493 03 Septiembre de 2001


Ladder Logic 984

12
Vista general

Introducción Este capítulo describe el lenguaje de programación Ladder Logic 984.

Contenido: Este capítulo contiene las siguientes secciones:


Sección Apartado Página
12.1 Generalidades acerca de Ladder Logic 984 371
12.2 Trabajar con Ladder Logic 984 373
12.3 Subrutinas 383
12.4 Editor de la red de la ecuación 385
12.5 Modos de programación LL984 393

840 USE 493 03 Septiembre de 2001 369


Ladder Logic 984

370 840 USE 493 03 Septiembre de 2001


Ladder Logic 984

12.1 Generalidades acerca de Ladder Logic 984

Generalidades acerca de Ladder Logic 984

Introducción Ladder logic se muestra en una ventana gráfica. Cada ventana contiene
exactamente una sección de ladder logic. Es posible ver o editar una o varias
secciones diferentes de ladder (no se ofrece soporte a varias ventanas de la misma
sección).
Cuando se añade una nueva sección, se envía el número de sección como
referencia.

Correlación Cada sección de ladder logic se vincula a un segmento ladder logic del autómata
entre secciones (por ejemplo una sección se corresponde con un segmento) mediante una entrada
y segmentos de número de segmento en el cuadro de diálogo Propiedades de sección.
En cada sección se puede visualizar una sola red al mismo tiempo.

Uso del teclado Normalmente, la edición en Concept se realiza utilizando el ratón, pero también es
posible mediante el teclado (véase también las Teclas de acceso directo en el editor
LL984, p. 721).

840 USE 493 03 Septiembre de 2001 371


Ladder Logic 984

Análisis del Ladder logic se analiza antes de que el programa se descargue en el controlador.
proyecto
El editor sólo permite introducir un Logic Ladder válido en el editor, por ejemplo:
l sólo estarán visibles para la selección aquellos elementos lógicos que la
configuración actual del autómata soporte. Es preciso configurar el controlador
antes de introducir la lógica.
l El analizador no permite referencias que se encuentren fuera de la gama de la
configuración actual.
l El analizador no permite bobinas duplicadas a menos que la configuración actual
las soporte.
l El analizador no permite loadables que no se encuentren en la configuración
actual.
l Todas las subrutinas deben encontrarse en una sola sección.
l No es posible programar una sección que contenga subrutinas.
l Todas las instrucciones de salto a subrutinas deben referirse a la misma sección.
l Se ofrece soporte a varias variables por referencia. Se encuentra disponible una
preferencia de usuario para activar o desactivar esta función. Cuando se
declaran varias variables para una referencia concreta, se genera un mensaje de
aviso o de error, dependiendo de dicha preferencia.

Nota: Los cambios efectuados en la configuración pueden producir que el


programa sea incompatible con la configuración.

Nota: Los contactos y las bobinas se pueden introducir sin referencias. Aunque
esto esté permitido, no se incluye en el análisis del proyecto.

Capacidad y Capacidad y limitaciones:


limitaciones l El editor no admite un número mayor de secciones que de segmentos
l El editor no admite más redes de las que pueden introducirse en la memoria del
controlador

372 840 USE 493 03 Septiembre de 2001


Ladder Logic 984

12.2 Trabajar con Ladder Logic 984

A primera vista

Introducción Esta sección describe el trabajo con Ladder Logic 984.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Introducción y edición de objetos lógicos 374
Introducir y editar variables 376
Edición de Ladder y de red 378
Zoom de referencias y zoom DX 380
Buscar y reemplazar 382

840 USE 493 03 Septiembre de 2001 373


Ladder Logic 984

Introducción y edición de objetos lógicos

Requisitos Sólo estarán visibles para la selección aquellos elementos lógicos que la
previos configuración actual del autómata soporte. Es preciso configurar el controlador
antes de introducir la lógica.

Para los loadables que precisen una configuración en Proyecto → Configurador


→ Configurar → Config. extensiones, se deberá completar antes de incluirlos en
un programa Ladder.

Navegación Cuando se esté situado en el medio de una sección, será posible ver la red anterior
o posterior desplazándose mediante las teclas RePág y AvPág.
Cuando se esté situado en el principio o el final de una sección, será posible ver la
sección anterior o posterior desplazándose mediante las teclas RePág y AvPág, en
caso de que la sección exista.
Por ejemplo, si se está situado al final de las redes en la última sección (y no se trata
de la sección 32), aparecerá un cuadro de diálogo que permite adjuntar una sección
nueva. Todas las redes se comparan con la base de datos en cada RePág/AvPág
(en el modo combinado).
Es posible desplazarse a una red dentro de una misma sección mediante el cuadro
de diálogo Ir a red. Es posible seleccionar la primera o la última red dentro de la
sección actual, o ir a una red introduciendo el nombre o el número de la red. Se
facilita una lista de redes (con nombres) que se puede ordenar.

Interacción con Las acciones que se deben efectuar para introducir y editar Ladder Logic siguen los
cuadros de estándares de MS Windows y las convenciones de la mayoría de las aplicaciones
diálogo de MS Windows. Cuando se selecciona un elemento con el ratón, el cursor se
convierte en una imagen gráfica que representa el elemento lógico. El programador
de la aplicación coloca el elemento lógico en el área de edición haciendo clic o
pulsando la tecla Intro.

El cursor del teclado se muestra como una celda resaltada (bloque) dentro de la red
de Ladder Logic. Existe una acción de teclado para cara acción de edición del ratón
(véase también las Teclas de acceso directo en el editor LL984, p. 721). Cuando se
emplea el teclado para introducir un elemento lógico, no existe un paso de selección
inicial, sino que el elemento lógico se coloca inmediatamente en la red en el lugar
en el que esté situado el cursor de teclado.

374 840 USE 493 03 Septiembre de 2001


Ladder Logic 984

Ejemplo de red de Ladder Logic:


Indicador de columna y fila Area de composición lógica

Ejemplo
1 2 3 4 5 6 7 8 9 10 11

1 # 10 000001

T0.1
2 000001 400001 # 60 000002

UCTR
# 60 000003
3 000002 400002

UCTR
000003 400003 # 24 000004
4
UCTR
000004 400004

Colocación de La gama completa de objetos de programación se encuentra disponible en el menú


objetos principal Objeto y en los elementos seleccionados de los menús subordinados.
Es posible sobrescribir los nodos ocupados de altura equivalente.
Es posible abrir las instrucciones escribiendo el nombre en una cuadro de diálogo.

Nota: Siempre que sea posible, Concept utiliza la tecla Ctrl en lugar de la tecla de
Modsoft Alt (véase también las Teclas de Modsoft con equivalentes de Concept,
p. 874).

Restricciones en Restricciones en línea:


línea l Eliminaciones en línea necesitan la confirmación del usuario.
l Concept no ofrece soporte a la acción de arrastrar y soltar elementos
programados cuando se encuentra en línea.

840 USE 493 03 Septiembre de 2001 375


Ladder Logic 984

Introducir y editar variables

Introducción Se pueden ver o editar referencias de participantes en items lógicos haciendo doble
clic en un item de una red o presionando la tecla Intro en un item que tenga el foco.
Aparece el diálogo Propiedades de objeto cuando se hace doble clic en un objeto
resaltado o se presiona la tecla Intro en un item que tiene el foco.
Puede ver las variables que ya han sido creadas haciendo clic en el botón
Consultar
Puede crear nuevas variables haciendo clic en el botón Declaraciones de
variables.

Editar Se pueden editar referencias de cada participante del elemento lógico (por ejemplo:
referencias multiparticipante). Cuando sea aplicable, se puede introducir el nombre de
subfunción (desde una lista despegable). En el caso de que se pueda introducir
tanto una constante como una referencia, hay que introducir el signo # antes de
una constante que comience por 0, 1, 3 ó 4. Asimismo, habrá que introducir un
nombre de variable para referencias.

376 840 USE 493 03 Septiembre de 2001


Ladder Logic 984

Diálogo propiedades de objeto con consultar variables:

Ejemplo
1 2 3 4 5 6 7 8 9 10 11
CLSD
1 # 10 000001

T0.1 000001 Consultar... 0x 1x


2 000001 400001 # 60 000002

UCTR
Normal cerrado # 60 000003
3 000002 400002

OK UCTR Declaraciones de variables


Cancelar Ayuda
000003 400003 # 24 000004
4
UCTR
Consultar variables 000004 400004

5
Tipo de datos Tipo de filtro Nombre de filtro
6 comienzo con
Elemental Constante sin
Etructurado Unlocated Variable contiene
7
CUALQUIERA Located Variable
Actual.

IN1
IN2
IN3
IN4
IN5
OUT1
OUT2
OUT3
OUT4
OUT5

10 Entradas encontradas

Componentes... OK Cancelar Ayuda

Formato de Al introducir referencias, el primer dígito siempre es el tipo de referencia (p. ej., 0x)
asiento de y los siguientes dígitos son el número de referencia. Se puede cambiar el formato
valores de de las referencias visualizadas ajustando Opciones → Preajustes → Comunes.
referencia

Barra de estado El nombre de variable (si es aplicable) se muestra en la línea de estado visualizada,
para el elemento enfocado. También se muestra el valor de referencia cuando éste
se encuentra online. El formato de visualización inicial del valor de referencia
depende de la instrucción en el programa. El usuario puede cambiar el formato de
visualización utilizando las siguientes teclas de forma combinada para definir la
precisión de datos y, a continuación, el formato.

840 USE 493 03 Septiembre de 2001 377


Ladder Logic 984

Tabla de formatos de visualización:


Precisión Formato
L (32bit) D (decimal señalado)
U (no señalado)
A (ascii)
H (hex)
S (16bit) D (decimal señalado)
U (no señalado)
A (ascii)
H (hex)

Desplazar Las referencias de programa pueden desplazarse utilizando Editar → Referencias


referencia de offset. Cabe la posibilidad de desplazar múltiples referencias en el mismo paso
(mientras se encuentran offline). Las secciones/redes que se estén desplazando
son seleccionables. El usuario debe introducir la primera y última referencia a tratar,
así como el número que desee para el desplazamiento.

Edición de Ladder y de red

Introducción Las funciones de edición de Ladder y de red están disponibles desde los menús
principales Editar y Redes.

Nota: Los elementos de menú que no se encuentran resaltados no pueden


activarse con la configuración, el estado, etc., de esos momentos.

Deshacer La función de Editar → Deshacer eliminar, es una función de modo local, que
eliminar permite deshacer las últimas cinco eliminaciones más recientes. La función
Deshacer eliminar está disponible para cada sección de ladder logic e incluye las
acciones de cortar/eliminar elementos y redes.
Las operaciones de red Insertar, Adjuntar o Reordenar producen el reinicio del
área eliminar-guardar, asegurando así que los números de red no estén
contaminados.

378 840 USE 493 03 Septiembre de 2001


Ladder Logic 984

Seleccionar/ Las operaciones de seleccionar todo, cortar, copiar y pegar para elementos de
Desactivar lenguaje determinados ocurren dentro de una misma red (al mismo tiempo). Es
selección de posible seleccionar todos o desactivar la selección de todos los elementos de una
todos, cortar, misma red. También es posible seleccionar, cortar, copiar y pegar elementos de
copiar y pegar lenguaje dentro de redes o secciones de ladder o entre ellas.

Durante la operación de pegar en línea, el elemento en cuestión se pega progresi-


vamente hasta completarse.

Selección de No es posible seleccionar varios elementos de lenguaje (por ejemplo, selecciones


elementos acumulables) entre redes o secciones.

Para resaltar un elemento se deberá desplazar el cursor (ya sea con el ratón o con
las teclas de cursor) a dicho elemento.

La selección de elementos se realiza mediante un clic o pulsando la barra


espaciadora en el elemento que está resaltado.

Es posible seleccionar varios elementos mediante las acciones de banda elástica


de ratón. También es posible seleccionar varios elementos manteniendo pulsada la
tecla Shift y haciendo clic en los elementos o pulsando la barra espaciadora en
dichos elementos.

Es posible seleccionar una fila o columna completa haciendo clic en el encabezado


de la columna o en el escalón de la red.

El ratón ofrece un nivel de selección más apurado que el teclado. Si aparecen dos
o más elementos en una celda (por ejemplo, un corto vertical y un contacto), se
pueden seleccionar todos pulsando la barra espaciadora. Cuando se hace clic con
el ratón se selecciona el elemento más cercano al puntero del ratón.

Apertura de filas Se abre una nueva fila en el lugar en el que esté situado el cursor en ese momento.
Este comando sólo se ejecuta si existe suficiente espacio libre (es decir, si la última
fila se encuentra vacía). El resto de la red se desplaza hacia abajo en consonancia.
Este comando no divide los cuadros de funciones y otros objetos con una altura de
más de un nodo.

Apertura de Si la columna del nodo situado más a la derecha está libre, el resto de la red se
columnas desplaza hacia la derecha y se abre una columna vacía en el lugar en el que esté
situado el cursor.

840 USE 493 03 Septiembre de 2001 379


Ladder Logic 984

Cierre de Si la fila de nodo en la que está situado el cursor está libre, todos los elementos de
columnas nodo situados debajo se desplazarán una fila hacia arriba y se mantendrá una fila
vacía en la parte inferior.

Cierre de Si la columna de nodo en la que está situado el cursor está libre, todos los
columnas elementos de nodo situados a la derecha se desplazarán una columna hacia la
izquierda y se mantendrá una columna vacía en la columna derecha.

Red Utilizando el menú principal Redes y sus subcomandos, es posible insertar


(delante) o adjuntar (detrás) una única red vacía o eliminar una o varias redes.

Además, dentro de una misma sección, es posible cortar/copiar una red y copiar/
pegar redes en cualquier sección. Se facilita una lista de redes que se pueden tener
en cuenta para la operación de cortar/copiar

Reordenación de La reordenación de ejecución de redes es una función local. Es posible modificar el


redes orden de ejecución de las redes dentro de una única sección. Las redes se
resuelven en el orden en que aparecen en la sección.

El orden de ejecución de las redes se modifica utilizando el cuadro de diálogo


Orden de ejecución de redes. Es decir se seleccionará Red → Reordenar...

Comentarios de Es posible incluir una descripción de la sección. Se puede comentar


red individualmente cada red utilizando los comentarios de red y los comentarios en
línea.

Es posible introducir un nombre de red en el cuadro de diálogo Comentario de red.

Zoom de referencias y zoom DX

Introducción Concept dispone de dos tipos diferentes de zoom:


l el zoom de referencias
l el zoom DX

Zoom de Algunos elementos de programación permiten definir parámetros, que personalizan


referencias una implantación de red para dicho elemento específico. Algunas funciones, como
las gamas, los límites, etc., se introducen utilizando la capacidad de edición de este
zoom.

Es posible ver o editar la información acerca de referencias concretas.

380 840 USE 493 03 Septiembre de 2001


Ladder Logic 984

El cuadro de diálogo Zoom de referencias muestra la siguiente información acerca


de una referencia:
l Valor de ram de estado
l Derivación/rack/emplazamiento si la referencia se encuentra en el mapa de E/S
l Si la referencia es 0x ó 1x, se mostrará el estado desactivado/activo

El formato de visualización inicial de los valores de referencia 3x y 4x depende de


las instrucciones del programa. Es posible modificar el formato de visualización.
También es posible modificar el valor ram de estado o el estado desactivado/activo
(cuando sea pertinente). No se puede utilizar el zoom con las constantes. Tampoco
es posible utilizar el zoom con variables sin referencia. Los cuadros de diálogo del
zoom de referencias se pueden utilizar con las referencias 4x y 0x que se
encuentren desactivadas.

Zoom DX El editor del zoom DX permite editar registros para las funciones DX. Estos registros
utilizados por la función DX cuentan también con descripciones de texto asociadas
que sirven de ayuda para la programación DX. Existe la posibilidad de acceder al
zoom DX desde el editor Ladder Logic tanto mediante el teclado como mediante el
ratón.

El cuadro de diálogo del zoom DX permite editar registros para funciones DX


concretas. La pantalla del zoom DX contiene un texto para cada registro, bit o grupo
de bits.

Los tipos de datos válidos son:


Tipos de datos Longitud
Entero sin signo 16 bits
Entero con signo 16 bits
Entero largo sin signo 32 bits
Entero largo con signo 32 bits
flotante 32 bits
bit (flag) 1 bits
campo de bit 1-16 bits

Los tipos de datos complejos válidos son:


Tipos de datos complejos Longitud
ecuación 1-16 bits
ASCII Cadena de hasta 80 caracteres

840 USE 493 03 Septiembre de 2001 381


Ladder Logic 984

El único método de dirección permitido es el de dirección absoluta No se ofrece


soporte para las direcciones indirectas

Además de la introducción de datos, el zoom DX cuenta con la capacidad de


mostrar información textual asociada a un registro en concreto. Cada entrada de
registro contará con un descriptor asociado, así como con una ayuda contextual.

Buscar y reemplazar

Rastreo La función En línea → Rastreo encuentra bobinas de referencias 0x en el


programa. Se puede rastrear una bobina resaltando, en primer lugar, una referencia
0x y, posteriormente, arrancando la función de rastreo. El resultado del rastreo es
ubicar la red con la bobina encontrada en la zona de edición. Después de un rastreo
satisfactorio con En línea → Volver a rastrear se puede volver a la referencia 0x
inicial.

Búsqueda en Está disponible un diálogo separado para Proyecto → Buscar en modo directo. El
línea diálogo Búsqueda en línea. Cada vez que se encuentra, existe la opción de buscar
anterior o siguiente. La búsqueda se puede cancelar en cualquier momento.

En el modo directo de Ladder Logic, no existe la posibilidad de buscar los nombres


de las variables.

Reemplazo de La búsqueda y reemplazo de referencias tiene lugar en todo el programa. El usuario


referencias puede seleccionar las secciones/redes que desea buscar.

El diálogo Edición → Reemplazo de referencias es modal. Se realizará una


petición para cada uno de los reemplazos o ninguna para efectuar un reemplazo de
todos. Las referencias reemplazadas aparecen en la lista de Proyecto → Buscar
→ Buscar registro.

Se pueden excluir de la búsqueda las funciones DX con referencias TON. Las


funciones DX requieren que las funciones 0x y 1x se encuentren en un límite de 16
bits.

382 840 USE 493 03 Septiembre de 2001


Ladder Logic 984

12.3 Subrutinas

Subrutinas

Ejemplo El ejemplo que aparece abajo muestra una serie de redes de lógica de tres
usuarios, la última de las cuales se utiliza para una subrutina de contaje. El
segmento 32 se ha retirado de la tabla de operaciones de soluciones en el
programador de segmentos.
Flujo lógico programado
Segmento 001
Red 00001

Segmento subrutina
Segmento 032
Red 00001

LAB 40256 40256 RET


00001 00001
Red 00002 00001 40256
00001 ADD SUB
10001 JSR 40256 40256
00001
40256

00010
SUB 00001
40999 JSR
00001
Segmento 002
Red 00001

840 USE 493 03 Septiembre de 2001 383


Ladder Logic 984

Descripción del Descripción del ejemplo:


ejemplo
Etapa Descripción
1 Cuando la entrada 10001 al bloque JSR en la red 2 del segmento 1 se transfiere
de DESACTIVAR a ACTIVAR, la exploración lógica salta a la subrutina #1 en la
red 1 del segmento 32.
Resultado: La subrutina dará vueltas internamente sobre sí misma diez veces,
lo que contará el bloque AÑADIR.
2 Las primeras nueve vueltas terminan con el bloque JSR en la subrutina (red 1
del segmento 32) enviando de nuevo la exploración al bloque LAB.
3 Después de completar la décima vuelta, el bloque RET envía la exploración
lógica a la lógica programada en el nodo JSR en la red 2 del segmento 1.

384 840 USE 493 03 Septiembre de 2001


Ladder Logic 984

12.4 Editor de la red de la ecuación

A primera vista

Introducción Esta sección describe el editor de la red de la ecuación LL984.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Introducción 386
Edición de ecuaciones 387
Sintaxis y semántica 389

840 USE 493 03 Septiembre de 2001 385


Ladder Logic 984

Introducción

Vista general La red de la ecuación es una combinación de Ladder Logic y una ecuación
algebraica. Este tipo de red permite a un diseñador de control incorporar una
ecuación algebraica en un programa de Ladder Logic. El diálogo Editor de red de
la ecuación no presenta los números de fila/columna ya que no son significativos.
La opción de visualizar cuadrícula no está disponible en la red de la ecuación, ya
que el concepto fila/columna no afecta a este nuevo tipo de redes. El usuario tiene
la posibilidad de emplear la notación de Ladder Logic para indicar cuando está
resuelta la ecuación.

La red de la ecuación es un tipo de red de Ladder Logic especial que permite al


usuario especificar el valor de un registro de resultado en notación algebraica. Si el
autómata posee un procesador de coma flotante, la red de la ecuación aprovechará
esta cualidad para un procesamiento más rápido. Se emplea una red de Ladder
Logic completa para crear la ecuación con un contacto u horizontal corto como
entrada de validación y hasta 5 bobinas de salida para describir el estado del
resultado.

Elementos del El menú principal de Redes incluye dos entradas al submenú para ser compatible
menú con redes de ecuación: Insertar ecuación y Adjuntar ecuación. Si se accede a las
disponibles redes y se alcanza el inicio/final de la sección, se tiene la oportunidad de insertar/
adjuntar una nueva red de ecuación, además de las otras opciones disponibles
(insertar/adjuntar red ladder, cancelar, etc.).

386 840 USE 493 03 Septiembre de 2001


Ladder Logic 984

Representación La red Ladder Logic visualiza los cambios para ubicar una red de ecuación iniciada.
Los números de fila y columna se retiran así como las líneas de cuadrícula en caso
de que estén siendo visualizadas en el momento.
La visualización inicial se reemplaza con la figura de abajo, haciendo doble clic en
el cuerpo de la ecuación por defecto.
Editor de la red de ecuación

Resultado de la ecuación
:=

<0
Permitir ecuación

=0

>0

Aceptar Cancelar Ayuda Variables

Edición de ecuaciones

Introducción de En la primera columna de la red, fila 1 columna 1, se permiten las siguientes


ecuaciones introducciones de ecuaciones legales:
l Contacto de apertura ( -| |- )
Cuando se introduce como el primer nodo de la red un contacto de apertura, se
resuelve la ecuación si la bobina o la entrada de contacto referenciados están
activados.
l Contacto de cierre ( -|/|- )
Cuando se introduce como el primer nodo de la red un contacto de cierre, se
resuelve la ecuación si la bobina o la entrada de contacto referenciados están
desactivados.

840 USE 493 03 Septiembre de 2001 387


Ladder Logic 984

l Horizontal corto ( ----- )


Cuando se introduce un horizontal corto como el primer nodo de la red, la
ecuación se resuelve en cada exploración.
El horizontal corto se utiliza para mostrar sólo los objetivos y no se envía al
autómata como parte de la red; la ausencia de un nodo de contacto de activación
en la red enviada al autómata indica que la red siempre se debe resolver.
l Horizontal abierto ( - --- )
Cuando se introduce un horizontal abierto como el primer nodo de la red, se
impide la ejecución de la red de la ecuación.

Resultados de la La red de la ecuación puede crear cinco salidas posibles desde las cinco líneas
ecuación superiores de la red para describir el resultado de la ecuación. Se escogen las
salidas que se desean, asignándoles números de referencia 0x.
Las salidas se muestran como bobinas en la última columna de la red de ecuación.
La línea en la que se colocan las bobinas de salida determina el significado de
éstas:
l Efectuado sin errores ( -(√) )
Cuando la ecuación pasa corriente a la salida de la primera línea, la ecuación se
ha realizado con éxito y sin errores.
l Resultado < 0 ( -(< 0) )
Cuando la ecuación pasa corriente a la salida de la segunda línea, la ecuación
se ha realizado con éxito y el resultado es menor que cero.
l Resultado = 0 ( -(= 0) )
Cuando la ecuación pasa corriente a la salida de la tercera línea, la ecuación se
ha realizado con éxito y el resultado es igual a cero.
l Resultado > 0 ( -(> 0) )
Cuando la ecuación pasa corriente a la salida de la cuarta línea, la ecuación se
ha realizado con éxito y el resultado es mayor que cero.
l Efectuado con errores ( -(!) )
Cuando la ecuación pasa corriente a la salida de la quinta línea, los datos de la
ecuación ha provocado un error de cálculo.

Cortar, copiar y El texto se puede pegar en el cuadro de edición del diálogo Editor de la red de
pegar ecuaciones . Éstas son las operaciones estándar de texto de Windows y son las
únicas operaciones de cortar/copiar/pegar permitidas en las redes de ecuaciones.
No se efectúa ninguna validación cuando se está cortando o pegando; la ecuación
se valida cuando el usuario decida finalizar el diálogo mediante el botón Aceptar .

Se puede cortar/copiar/pegar redes de ecuaciones mediante


Red → Cortar/Copiar... donde se manipula por completo una red.
Cuando se corta o se copia una red, puede pegarse como una red nueva de
ecuaciones. En este caso, "pegar" significa "insertar red nueva". Es la misma
operación que se emplea en las redes ladder.

388 840 USE 493 03 Septiembre de 2001


Ladder Logic 984

Comprobación Cuando se selecciona Aceptar en el diálogo Editor de red de ecuación , se


de validez comprueba la ecuación para ver su validez. Si se detecta un error, se coloca el
cursor tan cerca del error como sea posible y aparece un mensaje de error.

Sintaxis y semántica

Operadores Los operadores se enumeran a continuación por orden de prioridad de mayor a


menor. En caso necesario, los operadores rivales pueden verse de izquierda a
derecha.
Grupo de operadores Operadores Descripción
Unitario - Negación
~ Complemento de uno
Exponenciación ** Exponenciación
Multiplicar/dividir * Multiplicar
/ Dividir
Sumar/restar + Adición
- Substracción
A nivel de bit & And
- Or
<< Desplazamiento a la izquierda
>> Desplazamiento a la derecha
^ Xor
Relaciones < Menor que
< = Menor que o igual
= Igual
< > Diferente
= > Mayor que o igual
> Mayor que
Condicional ?: test

840 USE 493 03 Septiembre de 2001 389


Ladder Logic 984

Funciones Además, las siguientes funciones están reconocidas (y predefinidas) en una


ecuación.
Función Descripción
ABS Valor absoluto
ARCCOS Arcocoseno
ARCSIN Arcoseno
ARCTAN Arcotangente
COS Coseno en radianes
COSD Coseno en grados
EXP Función exponencial, argumento e**
FIX Convertir flotante en entero, suponiendo el argumento de coma flotante
FLOTANTE Convertir entero en coma flotante
LN Logaritmo neperiano (base e)
LOG Logaritmo (base 10)
SIN Seno en radianes
SIND Seno en grados
SQRT Raíz cuadrada
TAN Tangente en radianes
TAND Tangente en grados

Sintaxis de Normas sobre sintaxis de ecuación:


ecuación
Comando Descripción
[abc] Cualquiera de a b c
[a-z] Cualquier carácter en el rango de a z
expr* Cero o más expr
expr+ Una o más expr

390 840 USE 493 03 Septiembre de 2001


Ladder Logic 984

Clases léxicas Tabla de clases léxicas


Letra a-z A-Z
bit 0-1
octal_digit 0-7
dígito 0-9
hex_digit 0-9 a-f A-F

letter_or_digit letter | digit


descriptor letter letter_or_digit*

assignment_op :=
relational_op > < >= <= = <>
bitwise_op & | ^ >> <<
add_sub_op + -
Mul_div_op * /
exp_op **
unary_op - ~

optional_sign + - /*nothing*/

Constantes Las constantes se componen de:


l binary_const 2# bit binary_const_body
l decimal_const digit decimal_const_body
l octal_const 8# octal_digit octal_const_body
l hex_const 16# hex_digit hex_const_body
l float_const mantissa exponent

840 USE 493 03 Septiembre de 2001 391


Ladder Logic 984

Referencias de reg_rvalue se compone de:


registro
discrete_rvalue 0 digit+ 1 digit+
int_reg_rvalue 3 digit+ 4 digit+ 6 digit+
uint_reg_rvalue U3 digit+ U4 digit+ U6 digit+
long_reg_rvalue L3 digit+ L4 digit+ L6 digit+
ulong_reg_rvalue UL3 digit+ UL4 digit+ UL6 digit+
float_reg_rvalue F3 digit+ F4 digit+ F6 dgit+

reg_rvalue se compone de:


int_reg_lvalue 4 digit+ 6 digit+
uint_reg_lvalue U4 digit+ U6 digit+
long_reg_lvalue L4 digit+ L6 digit+
ulong_reg_lvalue UL4 digit+ UL6 digit+
float_reg_lvalue F4 digit+ F6 dgit+

Nota Según las normas IEC de Concept, la ubicación de los descriptores léxicos es
distinta según sea en Modsoft o Concept. Sin embargo, una ecuación Modsoft ya
existente se transforma correctamente utilizando el convertidor de programa
Modsoft.

Por ejemplo, una ecuación Modsoft


400100F := 400001UL + 400002U + 400003L + #23
se convierte en una ecuación Concept
%F400100 := %UL400001 + %U400002 + %L400003 +23

392 840 USE 493 03 Septiembre de 2001


Ladder Logic 984

12.5 Modos de programación LL984

Modos de programación LL984

Programación Hay dos situaciones que determinan cómo se aplica la edición del ladder en modo
directa directo.
l La primera es aquella en la que no hay un proyecto abierto y en la que se está
conectado a un autómata que contiene un programa válido. Cuando se
selecciona el comando, Editor 984LL en modo directo se visualiza el primer
programa en el primer segmento. El estado modo directo se visualiza en la parte
derecha de la barra de estado y la ventana de la red recibe el nombre Directo
984LL.
l El segundo caso ocurre cuando se tiene un proyecto abierto y se está conectado
al autómata (pero no IGUAL). Cuando se selecciona Editor 984 LL en modo
directo se visualiza un diálogo con un listado de segmentos y el número de
redes que contiene cada uno. Se hace clic en el segmento en el que se quiere
hacer clic Aceptar y la ventana Editar red se visualiza con el nombre Directo
984LL. Si se tiene una ventana de edición original, permanece en la pantalla.

Modo de La programación de combinación tiene lugar cuando el panel de programación está


combinación en línea. Las modificaciones en el programa válido se escriben de inmediato y
simultáneamente tanto en el controlador como en la base de datos del programa.

840 USE 493 03 Septiembre de 2001 393


Ladder Logic 984

394 840 USE 493 03 Septiembre de 2001


DFB (Bloques de función
derivados)
13
Introducción

Representación En este capítulo se describe la creación de DFB (bloques de función derivados) con
la ayuda de Concept-DFB.

Contenido: Este capítulo contiene las siguientes secciones:


Sección Apartado Página
13.1 DFB (Módulos de función derivados) 397
13.2 Programación y acceso a un DFB 411

840 USE 493 03 Septiembre de 2001 395


DFB (Bloques de función derivados)

396 840 USE 493 03 Septiembre de 2001


DFB (Bloques de función derivados)

13.1 DFB (Módulos de función derivados)

Introducción

Visión general Este apartado ofrece una visión general sobre la creación y utilización de los DFB
(módulos de función derivados).

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Generalidades sobre DFB (módulos de función derivados) 398
DFBs globales y locales 400
Utilización de variables en los DFB 401
Variables combinadas de entrada / salida (variables VARINOUT) 403
Creación de una ayuda contextual (ayuda Online) para los DFB 409

840 USE 493 03 Septiembre de 2001 397


DFB (Bloques de función derivados)

Generalidades sobre DFB (módulos de función derivados)

Introducción Los DFB se definen con ayuda del programa Concept DFB.

Los DFB (Derived Function Blocks) se pueden utilizar para la estructuración así
como para la jerarquización de un programa.

Según el programa un DFB es un subprograma.

Esto significa:
l Transferencia / aceptación de valores definidos a / de un subprograma
l Cualquier programa complejo
l Intrincación de uno o varios DFB en un DFB
l Varias llamadas del DFB del programa completo, en el que sólo un código del
programa de DFB se une al programa
l Variables específicas locales DFB
l Valores iniciales para las variables
l Interfaz definible libremente

Lenguajes de Los DFB se pueden definir en los lenguajes de módulos de función (FBD) de los
programación lenguajes de programación, ladder (LD), lista de instrucciones y Texto Estructurado
(ST).

Construcción de Un DFB representa un bloque vacío que contiene entradas / salidas definidas y
un DFB lógica programada. La construcción jerárquica de esta lógica corresponde a un
proyecto en Concept que se compone de una o más secciones. Las secciones
contienen la lógica verdadera.

Construcción interna del DFB en el Editor FBD:


.6.5
ADD_DINT
IN1
IN2 .6.6
MUL_DINT
OUT
.6.7
SUB_DINT
IN3
IN4

398 840 USE 493 03 Septiembre de 2001


DFB (Bloques de función derivados)

Secuencia de La secuencia de procesado de la lógica, las reglas del lenguaje de programación y


procesado los FFB y DFB utilizados corresponden con sus FBD, LD, IL así como con la
programación ST.

Intrincación Es totalmente posible que se acceda a uno o varios DFB ya existentes en un DFB,
siempre que a estos DFB accedidos se pueda acceder a través de uno o más DFB.
No obstante, un DFB no se puede contener a sí mismo. No se debería superar una
profundidad de intrincación de 5 El límite exacto depende de otros parámetros, tales
como la cantidad de variables de entrada / salida de DFB, de la UC utilizada y de
su configuración.

Nota: Al utilizar DFB intrincados, no se efectuará en el editor DFB la revisión de


consistencia de toda la jerarquía de DFB intrincada, sino que solamente se
efectuará la revisión de los DFB del siguiente nivel. Esto significa que, por ejemplo
en un DFB con 3 ó 4 niveles se pueden modificar los DFB intrincados (por ejemplo
Ocupación de patilla) sin que esto llame la atención. En Concept, sólo aparecerá
un aviso de error en el análisis de proyecto.

Nota: Los EFB de diagnóstico (biblioteca de diagnósticos) NO se deben utilizar en


los DFB.

Ayuda de Para los DFB se puede definir su propia ayuda de contexto sensible (ayuda online)
contexto (véase Creación de una ayuda contextual (ayuda Online) para los DFB, p. 409).

Acceso a un DFB Los DFB se marcan ópticamente en la ventana de editor FBD y LD mediante líneas
dobles verticales en el margen DFB. Con el botón de comando Mejorar... en el
cuadro de diálogo del DFB Propiedades se puede abrir una ventana de documento,
en la que se puede visualizar la lógica programada del DFB (también se define con
IL o ST). Esta ventana de documento tiene un fondo de color gris, que indica que el
DFB no se puede editar en esta ventana de documento.
Los DFB se manejan como módulos de función según su acceso en Concept.
Abrir un DFB en el editor FBD:
FBI_3_7
SKOE
IN1
IN2
IN3 OUT
IN4

Archivación y La archivación y la documentación de un DFB se producen como en los proyectos


documentación (véase Documentación y archivación, p. 611).

840 USE 493 03 Septiembre de 2001 399


DFB (Bloques de función derivados)

DFBs globales y locales

Descripción Los DFB globales y locales se diferencian en la ubicación dentro de la jerarquía de


directorios.

Según en qué directorio o subdirectorio se encuentre ubicado el DFB, dispondrá de


acceso global (se accede desde todos los proyectos generados en Concept) o local
(sólo se accede desde un proyecto específico).

En el fichero Definición de la situación de los DFBs globales durante la lectura de


dotación [Upload], p. 973 puede determinar si durante el proceso de carga de IEC,
en el directorio del proyecto, se creará un directorio GLB que contendrá los DFB
globales. De este modo, no se sobrescribirán los DFB globales disponibles en
Concept → DFB y así no podrán influir en otros proyectos.
Estructura de directorios sin proyecto cargado:
C:\\ Unidad de instalación

Concept Directorio de Concept

DFB Directorio global de DFB

...

PRJ Directorio del proyecto

DFB Directorio local de DFB

...

400 840 USE 493 03 Septiembre de 2001


DFB (Bloques de función derivados)

Estructura de directorios con los ajustes INI ([Upload]: PreserveGlobalDFBs=1)


de los proyectos cargados:
C:\\ Unidad de instalación

Concept Directorio de Concept

DFB Directorio global de DFB

...

PRJ Directorio del proyecto

DFB Directorio local de DFB

GLB Directorio global de DFB para


el proyecto cargado

...

Si existen dos DFB, uno global y otro local, con el mismo nombre, el DFB local
tendrá prioridad.

Nota: La longitud del nombre de la ruta DOS en la que se depositan los DFB están
limitada a 29 caracteres. Procure que el directorio de DFBs no sobrepase esta
longitud.

Utilización de variables en los DFB

Introducción En la programación de los DFB se diferencian dos tipos de variables:


l Variables internas
l Parámetro formal (variables de entrada / salida)

Variables Las variables internas son variables que sólo se pueden utilizar dentro de la lógica
internas de un DFB. Estas variables solamente se pueden modificar en Concept DFB. Esta
modificación es válida para todos los ejemplares de este DFB.

840 USE 493 03 Septiembre de 2001 401


DFB (Bloques de función derivados)

Los tipos de variables válidos son los siguientes:


l Variables unlocated,
l Variables unlocated de elementos múltiples,
l constantes y
l Literales.

Estas variable se declaran en el Editor de variables (Véase DFBs globales y locales,


p. 400).

Parámetros Son necesarias las variables de entrada y salida transferir valores a un DFB o para
formales aceptar valores de un DFB. Estos tipos de variables se denominan parámetros
formales. Estas variables se llevan fuera del DFB y se representan al abrir el DFB
como entrada / salida.

En elEditor de variables (Véase DFBs globales y locales, p. 400) se definen los


nombres de los parámetros formales (los nombres de entrada / salida), los tipos de
datos y la posición de entrada / salida (para el editor de FBD / LD) en el DFB.

En total son posibles un máximo de 32 variables de entrada y 32 variables de salida.


La anchura de los símbolos del DFB se ajusta automáticamente a la longitud de los
nombres de entrada / salida. Las variables de entrada y salida siempre son
variables unlocated.

Para las variables de entrada se puede definir adicionalmente un valor inicial. Las
variables de entrada, es decir, las entradas, se muestran siempre en el editor FBD
/ LD a la izquierda del DFB. Las variables de salida, es decir, las salidas, se
muestran siempre a la derecha del DFB.

Una excepción de las variables de entrada y salida lo constituyen las llamadas


Variables VARINOUT (Véase Variables combinadas de entrada / salida (variables
VARINOUT), p. 403).

Transferencia de En el tiempo de ejecución del programa, se transfieren los valores de parámetro


valores durante actual al programa DFB sobre el parámetro formal y se vuelven a entregar. Los
el tiempo de valores de este parámetro formal se determinan mediante el valor del parámetro
ejecución del actual, al que se ha unido con la correspondiente entrada / salida del DFB. Los
programa parámetros actuales puede ser direcciones directas, variables located, variables
unlocated, variables located de elementos múltiples, variables unlocated de
elementos múltiples, elementos de variables de elementos múltiples, constantes o
literales.
Por ello es posible acceder a varios tipos de DFB iguales y ocupar cada ejemplar
de DFB con parámetros actuales propios.

402 840 USE 493 03 Septiembre de 2001


DFB (Bloques de función derivados)

Cambio de En caso de que se hayan ocupados las 32 variables de entrada o de salida posibles
posiciones al definir los DFB, y se quiera cambiar la posición de 2 variables, se puede ubicar
una variables temporalmente en la posición 33. Esto permite que se modifiquen las
posiciones de las variables. No obstante, no se puede guardar un DFB con 33
variables de entrada o de salida. La posición 33 sirve sólo como posición de ayuda
mientras efectúa la edición.

Variables combinadas de entrada / salida (variables VARINOUT)

Introducción Las variables combinadas de entrada / salida son un caso especial de las variables
de entrada / salida. También se denominan variables VARINOUT.

Finalidad de A menudo se utilizan DFB para leer una variable situada en la entrada (variables de
aplicación entrada), para procesarlas y para volver a emitir los valores modificados de la
misma variable (variables de salida). Si se trata de variables estructuradas y,
además, es necesario volver a emitir en la salida los elementos no afectados por el
procesamiento, es necesario copiar la variable completa dentro del DFB desde la
entrada hasta la salida. Esto también es necesario cuando sólo se procesa un único
elemento de la variable estructurada en el DFB. Para ahorrar espacio en memoria
y reducir el tiempo de ejecución, resulta conveniente utilizar en este caso variables
VARINOUT. Este tipo de variables se puede (se debe) utilizar en las entradas DFB
y las salidas DFB correspondientes de manera simultánea.

Creación de una Al crear una variable VARINOUT hay que tener en cuenta las siguientes
variable condiciones:
VARINOUT en l Las variables VARINOUT se crean en el editor de variables, como todas las
DFB variables de entrada / salida.
l Las variables VARINOUT se declaran dos veces. Una vez como variable de
entrada y otra como variable de salida.
l En ambas declaraciones hay que utilizar los mismos nombres de parámetros
formales.
l En ambas declaraciones hay que utilizar los mismos tipos de datos.
l En ambas declaraciones hay que utilizar las mismas posiciones pin.
l Primero se declara la variable de entrada y, después, la variable de salida.
l Una vez confirmada la declaración con OK, no es posible modificar la variable de
entrada.

Particularidades Hay que tener en cuenta las siguientes particularidades durante la creación de DFB
de la creación con entradas / salidas VARINOUT:
l Si se ha predeterminado un valor inicial para la entrada VARINOUT del DFB,
éste no se utiliza, ya que la entrada debe estar conectada obligatoriamente.

840 USE 493 03 Septiembre de 2001 403


DFB (Bloques de función derivados)

Ejemplo Lógica del DFB:


XXX
IN1 yyy aaa OUT1
IN2 zzz

FFF
OUT1 ggg jjj OUT2
IO1 mmm kkk IO1 (* IO1 = Variable VARINOUT *)

Declaración de las entradas:


Editor de variables

Tipo Buscar/Insertar

Variables Constantes Entradas Salidas Buscar/Reemplazar

Nombre de variable Tipo de datos Val. inicial Posición Usado


1 IN1 INT 1 1
2 IN2 DINT 3 1
3 IO1 MYTYPE 2 2
4
5
6

OK Cancelar Ayuda

Declaración de las salidas:


Editor de variables

Tipo Buscar/Insertar

Variables Constantes Entradas Salidas Buscar/Reemplazar

Nombre de variable Tipo de datos Val. inicial Posición Usado


1 OUT REAL 1 1
2 OUT2 REAL 3 1
3 IO1 MYTYPE 2 2
4
5
6

OK Cancelar Ayuda

404 840 USE 493 03 Septiembre de 2001


DFB (Bloques de función derivados)

Utilización del EL DFB se ejecuta y se utiliza en el editor FBD / LD, como todos los demás DFB
DFB en FBD/LD (véase también Acceso a un DFB en el lenguaje de programación FBD, p. 422 y
Acceso a un DFB en el Ladder LD, p. 424). Las entradas / salidas del tipo
VARINOUT se identifican por medio de una línea discontinua.

Utilización del DFB en el editor FBD:

DFBX
V1 IN1 OUT1 V4
V5 IO1 IO1 V5
V6 IN2 OUT2 V3

Particularidades Hay que tener en cuenta las siguientes particularidades durante la utilización de
de la utilización DFB con entradas / salidas VARINOUT:
l Las entradas / salidas VARINOUT deben estar vinculadas obligatoriamente. De
lo contrario se produce un mensaje de error durante el análisis de sección.
l La misma variable / el mismo componente de variables debe estar conectado a
la entrada VARINOUT y a la salida VARINOUT.
l No puede existir ninguna conexión gráfica a las entradas / salidas VARINOUT.
l No puede haber ningún literal ni ninguna constante conectados a las entradas /
salidas VARINOUT.
l No puede haber ninguna variable boolearia conectada a las entradas / salidas
VARINOUT, ya que esto causa problemas durante la generación de códigos.
l No se puede utilizar ninguna negación en las entradas / salidas VARINOUT.
l Si se utiliza un DFB con entradas / salidas VARINOUT dentro de otro DFB (DFB
intercalados), es posible conectar las entradas / salidas VARINOUT del DFB
interior con las entradas / salidas VARINOUT del DFB exterior.

Utilización del El DFB se ejecuta y se utiliza en el editor ST, como todos los demás DFB (véase
DFB en ST también Llamada de módulo de función/DFB, p. 356).
Utilización del DFB en el editor ST:
(* Declaración de módulo *)
VAR
Nombre_instancia: DFBX;
END_VAR

(* Llamada de módulo *)
Nombre_instancia (IN1 := V1,
IO1 := V5,
IN2 := V2);

(* Asignaciones *)
V4 := Nombre_instancia.OUT1;
V3 := Nombre_instancia.OUT3;

840 USE 493 03 Septiembre de 2001 405


DFB (Bloques de función derivados)

Hay que tener en cuenta las siguientes particularidades durante la utilización de


DFB con entradas / salidas VARINOUT:
l Hay que asignar obligatoriamente un valor a las entradas VARINOUT durante la
llamada del DFB. De lo contrario se produce un mensaje de error durante el
análisis de sección. Es decir, no se permite realizar la siguiente llamada de
módulo porque falta la asignación de un valor a la entrada VARINOUT "V5":
Nombre_instancia (IN1 := V1,
IN2 := V2);
l No es posible asignar ningún valor a las salidas VARINOUT. De lo contrario se
produce un mensaje de error durante el análisis de sección. Es decir, no se
permite realizar la siguiente asignación de salida porque se ha asignado un valor
a la salida VARINOUT:
V5 := Nombre_instancia.IO1;
l No se puede asignar ningún literal ni ninguna constante a las entradas
VARINOUT.
l No se puede asignar ninguna variable boolearia a las entradas / salidas
VARINOUT, ya que esto provoca errores durante la generación de códigos.
l Si se utiliza un DFB con entradas / salidas VARINOUT dentro de otro DFB (DFB
intercalados), es posible conectar las entradas / salidas VARINOUT del DFB
interior con las entradas / salidas VARINOUT del DFB exterior.

Utilización del El DFB se ejecuta y se utiliza en el editor IL, como todos los demás DFB (véase
DFB en IL también Aplicación de módulos de función y DFB, p. 306).

Utilización del DFB en el editor IL:


(* Declaración de módulo *)
VAR
Nombre_instancia: DFBX;
END_VAR

(* Llamada de módulo *)
CAL Nombre_instancia (IN1 := V1, IO1 := V5, IN2 := V2)

(* Asignaciones *)
LD Nombre_instancia.OUT1
ST V4
LD Nombre_instancia.OUT3
ST V3

406 840 USE 493 03 Septiembre de 2001


DFB (Bloques de función derivados)

Hay que tener en cuenta las siguientes particularidades durante la utilización de


DFB con entradas / salidas VARINOUT:
l Hay que asignar obligatoriamente un valor a las entradas VARINOUT durante la
llamada del DFB. De lo contrario se produce un mensaje de error durante el
análisis de sección. Es decir, no se permite realizar la siguiente llamada de
módulo porque falta la asignación de un valor a la entrada VARINOUT "V5":
CAL Nombre_instancia (IN1 := V1, IN2 := V2)
l No es posible asignar ningún valor a las salidas VARINOUT. De lo contrario se
produce un mensaje de error durante el análisis de sección. Es decir, no se
permite realizar las siguientes asignaciones de salida porque se ha asignado un
valor a la salida VARINOUT:
LD Nombre_instancia.IO1
ST V5
l No se puede asignar ningún literal ni ninguna constante a las entradas
VARINOUT.
l No se puede asignar ninguna variable boolearia a las entradas / salidas
VARINOUT, ya que esto provoca errores durante la generación de códigos.
l Si se utiliza un DFB con entradas / salidas VARINOUT dentro de otro DFB (DFB
intercalados), es posible conectar las entradas / salidas VARINOUT del DFB
interior con las entradas / salidas VARINOUT del DFB exterior.

Particularidades Existen tres posibilidades generales para modificar variables VARINOUT:


de la l Modificar variables VARINOUT existentes:
modificación l Cambiar el nombre a las variables
l Modificar el tipo de datos
l Modificar la posición pin

l Fusionar dos variables existentes en una variable VARINOUT

l Dividir una variable VARINOUT en dos variables

Modificar Para modificar (cambiar el nombre, el tipo de datos o la posición pin) variables
variables VARINOUT existentes, realice los siguientes pasos:
VARINOUT
Paso Acción
existentes
1 Abra el editor de variables (F8).
2 Seleccione la opción Salidas.
3 Realice las modificaciones que desee.
Resultado: Las modificaciones se transfieren de manera automática también a
la variable de entrada.
4 Confirme las modificaciones con OK.

840 USE 493 03 Septiembre de 2001 407


DFB (Bloques de función derivados)

Fusionar Para fusionar dos variables en una variable VARINOUT, realice los siguientes
variables en una pasos:
variable
Paso Acción
VARINOUT
1 Abra el editor de variables (F8).
2 Seleccione la opción Entradas.
3 Genere una nueva variable de entrada (p. ej., INOUT1).
4 Seleccione la opción Salidas.
5 Genere una nueva variable de salida con el mismo nombre (p. ej., INOUT1), tipo
de datos y posición pin que la variable de entrada.
6 Confirme las modificaciones con OK.
7 Sustituya en el programa todas las aplicaciones de la variable de entrada y de
salida por la variable VARINOUT.
8 Abra el editor de variables (F8) y borre la variable de entrada y de salida que ya
no está en uso.

Dividir variables Para dividir una variable VARINOUT en dos variables, realice los siguientes pasos:
VARINOUT
Paso Acción
1 Abra el editor de variables (F8).
2 Seleccione la opción Entradas.
3 Genere una nueva variable de entrada (p. ej., IN1).
4 Seleccione la opción Salidas.
5 Genere una nueva variable de salida (p. ej., OUT1).
6 Confirme las modificaciones con OK.
7 Sustituya en el programa todas las aplicaciones de la variable VARINOUT por
las variables de entrada y salida.
8 Abra el editor de variables (F8) y borre la variable VARINOUT que ya no está en
uso.

408 840 USE 493 03 Septiembre de 2001


DFB (Bloques de función derivados)

Creación de una ayuda contextual (ayuda Online) para los DFB

Introducción Concept ofrece para cada EFB una ayuda contextual (botón Ayuda para el tipo del
cuadro de diálogo Propiedades del EFB). Obviamente, en Concept no hay textos de
ayuda para los DFB creados por el usuario.
No obstante, es posible generar la ayuda correspondiente a cada DFB, que se
podrá abrir en Concept con el botón Ayuda para el tipo.

Formato de Puede generar sus ayudas en los siguientes formatos de fichero:


fichero l .chm (fichero compilado de ayuda HTML de Microsoft Windows)
l .doc (formato de Microsoft Word)
l .htm (Hypertext Markup Language)
l .hlp (fichero de ayuda de Microsoft Windows (formato de 16 ó 32 bits))
l .pdf (Adobe Portable Document Format)
l .rtf (Microsoft Rich Text Format)
l .txt (formato de texto ASCII)

Nombre El nombre del fichero de ayuda debe corresponderse exactamente con el nombre
del DFB (p. ej., SKOE.ext).
La única excepción la constituyen los nombre de los DFB tipificados (p. ej.,
SKOE_BOOL, SKOE_REAL, etc.). En este caso, el nombre del fichero de ayuda
será el nombre del DFB sin la parte que indica el tipo de datos (p. ej., si el nombre
del DFB es SKOE_BOOL, el fichero de ayuda será SKOE.ext).

Directorio El fichero de ayuda se puede guardar en los siguientes directorios:


l Directorio de Concept
l Directorio de la ayuda de Concept (si se ha definido en el fichero Concept.ini,
véase readme)
l Directorio global de DFB
l Directorio local de DFB

840 USE 493 03 Septiembre de 2001 409


DFB (Bloques de función derivados)

Ejecución de la Para ejecutar la ayuda, Concept sigue este procedimiento:


ayuda
Fase Descripción
1 Buscar el fichero de ayuda nombre_DFB.ext en el directorio local de DFBs.
El archivo de ayuda se busca siguiendo este orden:
l .hlp
l .chm
l .htm
l .rtf
l .doc
l .txt
l .pdf

Resultado: Si la búsqueda tiene un resultado positivo, se visualizará el fichero


de ayuda, si no, se continuará con la fase 2.
2 Buscar el fichero de ayuda nombre_DFB.ext en el directorio global de DFBs.
Se seguirá el mismo orden que en la fase 1.

Resultado: Si la búsqueda tiene un resultado positivo, se visualizará el fichero


de ayuda, si no, se continuará con la fase 3.
3 Buscar el fichero de ayuda nombre_DFB.ext en el directorio de Concept o en
el directorio de la ayuda de Concept.
Se seguirá el mismo orden que en la fase 1.

Resultado: Si la búsqueda tiene un resultado positivo, se visualizará el fichero


de ayuda, si no, se continuará con la fase 4.
4 Visualización del comentario generado en DFB Concept con Proyecto →
Propiedades.

410 840 USE 493 03 Septiembre de 2001


DFB (Bloques de función derivados)

13.2 Programación y acceso a un DFB

Introducción

Visión general Este apartado describe la programación y el acceso a un DFB.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Introducción 412
Instalar el DFB 412
Creación de la lógica en el lenguaje de módulos de función FBD 414
Crear la lógica en el esquema de contactos LD 416
Crear la lógica en la lista de instrucciones IL 419
Crear la lógica en texto estructurado ST 421
Acceso a un DFB en el lenguaje de programación FBD 422
Acceso a un DFB en el Ladder LD 424
Acceso a un DFB en la lista de instrucciones IL 426
Acceso a un DFB en literal estructurado ST 427

840 USE 493 03 Septiembre de 2001 411


DFB (Bloques de función derivados)

Introducción

Introducción La programación y el acceso a un DFB se compone de 3 pasos principales:


Paso Acción
1 Instalar el DFB (Véase Instalar el DFB, p. 412)
2 Definir lógica en:
l Lenguaje de módulo de función (FBD) (Véase Creación de la lógica en el
lenguaje de módulos de función FBD, p. 414)
l Ladder (LD) (Véase Crear la lógica en el esquema de contactos LD, p. 416)
l Lista de instrucciones (IL) (Véase Crear la lógica en la lista de instrucciones
IL, p. 419)
l Texto Estructurado (ST) (Véase Crear la lógica en texto estructurado ST,
p. 421)
3 Acceder a DFB en:
l Lenguaje de módulo de función (FBD) (Véase Acceso a un DFB en el
lenguaje de programación FBD, p. 422)
l Ladder (LD) (Véase Acceso a un DFB en el Ladder LD, p. 424)
l Lista de instrucciones (IL) (Véase Acceso a un DFB en la lista de
instrucciones IL, p. 426)
l Texto Estructurado (ST) (Véase Acceso a un DFB en literal estructurado ST,
p. 427)

Instalar el DFB

Descripción Para aplicar un DFB se deben efectuar los siguientes pasos:


Paso Acción
1 Se cierra Concept y se inicia Concept DFB.
2 Se aplica con el comando de menú Fichero → Nuevo DFB un DFB.
Resultado: En la barra de título aparece ahora el nombre [sin nombre].

412 840 USE 493 03 Septiembre de 2001


DFB (Bloques de función derivados)

Paso Acción
3 Crear con el comando de menú Fichero → Nueva sección... se genera una
nueva sección y se introduce un nombre de sección.
El nombre de la sección (máx. 32 caracteres) debe ser inequívoco en todo el
DFB, ya que no se diferencia entre letras mayúsculas y minúsculas. En caso de
que ya exista el nombre introducido para la sección, se le advertirá al respecto
y deberá seleccionar otro nombre. El nombre de la sección debe corresponder
con las Convenciones de nombres CEI o de lo contrario aparecerá un aviso de
error.
Nota: Según la CEI 1131-3 sólo son válidos las letras como caracteres iniciales
de los nombres. No obstante, en caso de que se quieran introducir números
también como caracteres iniciales, podrá habilitar esto con el comando de menú
Opciones → Preajustes → Expansiones IEC... → Expansiones IEC → Cifras
iniciales válidas en especificaciones.
4 Seleccionar un lenguaje de programación para la sección:
l Lenguaje de módulo de función (FBD) (Véase Creación de la lógica en el
lenguaje de módulos de función FBD, p. 414)
l Ladder (LD) (Véase Crear la lógica en el esquema de contactos LD, p. 416)
l Lista de instrucciones (IL) (Véase Crear la lógica en la lista de instrucciones
IL, p. 419)
l Texto Estructurado (ST) (Véase Crear la lógica en texto estructurado ST,
p. 421)
5 Con el comando de menú Proyecto → Propiedades se puede generar un
comentario para DFB.
Resultado:Se puede mostrar este comentario en Concept en el cuadro de
diálogo de DFB Propiedades con el comando de menú Ayuda al tipo.
6 Se guarda ahora el DFB con el comando de menú Fichero → Guardar DFB.
Resultado: Al guardarlo por primer vez se abrirá el cuadro de diálogo Guardar
como en el que se deberá determinar el nombre del DFB y el directorio en el
que se quiere guardar el DFB.
7 Se debe seleccionar el directorio en el que se ubicará el DFB. Deberá tenerse
en cuenta la diferencia entre DFB global y DFB local (véase también DFBs
globales y locales, p. 400).
8 Introducir el nombre (máx. 8 caracteres) del DFB (siempre con la extensión
DFB).
El nombre debe ser inequívoco en todo el directorio, ya que no se diferencia
entre letras mayúsculas y minúsculas.En caso de que ya exista el nombre
introducido, será advertido a este respecto y se deberá seleccionar otro nombre.

840 USE 493 03 Septiembre de 2001 413


DFB (Bloques de función derivados)

Creación de la lógica en el lenguaje de módulos de función FBD

Descripción Para crear la lógica en el lenguaje de módulos de función FBD, realice los
siguientes pasos:
Paso Acción
1 Para insertar un FFB en la sección, seleccione el comando de menú Objetos →
Elegir FFB....
Resultado: Se abrirá el cuadro de diálogo FFBs de biblioteca.

FFBs en biblioteca IEC


Grupo Tipo de EFB Tipo de DFB
Arithmetic AND_BOOL LIGHTSS
Bistable AND_BYTE NEST1
Comparison AND_WORD NEST2
Converter NOT_BOOL
Counter NOT_BYTE
Edge detection NOT_WORD
Logic OR_BOOL
Numerical OR_BYTE

FFB ordenados... Biblioteca... DFB

Cerrar Ayuda para el tipo Ayuda

2 En este cuadro de diálogo podrá seleccionar una biblioteca por medio del botón
de comando Biblioteca... y seleccionar entonces un FFB. A través del botón de
comando DFB también podrá visualizar los DFB que haya creado y seleccionar
uno de ellos.
3 A continuación, ubique en la sección el FFB que haya seleccionado.
4 Cuando haya ubicado todos los FFB, cierre el cuadro de diálogo con OK.
5 Active por medio de Objetos → Modalidad de selección la modalidad de
selección, haga clic en el FFB, y desplace los FFB a la posición deseada.
6 Active por medio de Objetos → Conexión la modalidad de conexión y
establezca las conexiones entre los FFB.
Por ejemplo:
.6.5
ADD_DINT
.6.6
MUL_DINT

.6.7
SUB_DINT

414 840 USE 493 03 Septiembre de 2001


DFB (Bloques de función derivados)

Paso Acción
7 A continuación, active el editor de variables por medio de Proyecto → Editor de
variables para declarar las variables y las entradas y salidas (parámetros
formales) del DFB.
Ejemplo (entradas):
Editor de variables

Tipo Buscar/Insertar

Variables Constantes Entradas Salidas Buscar/Reemplazar

Nombre de variable Tipo de datos Val. inicial Posición Usado

1 IN1 DINT 1 0
2 IN2 DINT 2 0
3 IN3 DINT 3 0
4 IN4 DINT 4 0
5
6

OK Cancelar Ayuda

Ejemplo (salidas):
Editor de variables

Tipo Buscar/Insertar

Variables Constantes Entradas Salidas Buscar/Reemplazar

Nombre de variable Tipo de datos Posición Usado


1 OUT1 DINT 3 0
2
3

OK Cancelar Ayuda

8 A continuación, active de nuevo por medio de Objetos → Modalidad de


selección la modalidad de selección y haga doble clic en una de las entradas o
salidas no conectadas.
Resultado: Se abrirá el cuadro de diálogo Conectar FFB en el cual podrá
asignar un parámetro actual a la entrada / salida.

840 USE 493 03 Septiembre de 2001 415


DFB (Bloques de función derivados)

Paso Acción
9 A continuación, guarde el DFB por medio del comando de menú Fichero →
Guardar.
Por ejemplo:
.6.5
ADD_DINT
N1 .6.6

N2 MUL_DINT
OUT
.6.7
SUB_DINT
N3
N4

Crear la lógica en el esquema de contactos LD

Descripción Para crear la lógica en el esquema de contactos LD, realice los siguientes pasos:
Paso Acción
1 Para insertar un contacto o una bobina en la sección deberá abrir el menú
principal Objetos y seleccionar el contacto o la bobina que desee. También
podrá seleccionar los contactos o las bobinas a través de la barra de
herramientas. Ubique los contactos o las bobinas en la sección.
2 Para insertar un FFB en la sección, seleccione el comando de menú Objetos
→ Elegir FFB....
Resultado: Se abrirá el cuadro de diálogo FFBs de biblioteca.

FFBs en biblioteca IEC


Grupo Tipo de EFB Tipo de DFB
Arithmetic AND_BOOL LIGHTSS
Bistable AND_BYTE NEST1
Comparison AND_WORD NEST2
Converter NOT_BOOL
Counter NOT_BYTE
Edge detection NOT_WORD
Logic OR_BOOL
Numerical OR_BYTE

FFB ordenados... Biblioteca... DFB

Cerrar Ayuda para el tipo Ayuda

416 840 USE 493 03 Septiembre de 2001


DFB (Bloques de función derivados)

Paso Acción
3 En este cuadro de diálogo podrá seleccionar una biblioteca por medio del botón
de comando Biblioteca... y seleccionar entonces un FFB. A través del botón de
comando DFB también podrá visualizar los DFB que haya creado y seleccionar
uno de ellos.
4 A continuación, ubique en la sección el FFB que haya seleccionado.
5 Cuando haya ubicado todos los FFB, cierre el cuadro de diálogo con OK.
6 Active la modalidad de selección por medio de Objetos → Modalidad de
selección y desplace los contactos, las bobinas y los FFB a la posición
deseada.
7 Active la modalidad de conexión por medio de Objetos → Conexión y
establezca las conexiones entre los contactos, las bobinas y los FFB.
Establezca la conexión entre los contactos, los FFB y la barra de alimentación
izquierda.
Por ejemplo:

.6.5
ADD_DINT
EN ENO
.6.6
MUL_DINT
EN ENO

.6.7
SUB_DINT
EN ENO

840 USE 493 03 Septiembre de 2001 417


DFB (Bloques de función derivados)

Paso Acción
8 A continuación, active el editor de variables por medio de Proyecto → Editor
de variables para declarar las variables y las entradas y salidas (parámetros
formales) del DFB.
Ejemplo (entradas):

Editor de variables

Tipo Buscar/Insertar

Variables Constantes Entradas Salidas Buscar/Reemplazar

Nombre de variable Tipo de datos Val. inicial Posición Usado


1 IN1 DINT 1 0
2 IN2 DINT 2 0
3 IN3 DINT 3 0
4 IN4 DINT 4 0
5
6

OK Cancelar Ayuda

Ejemplo (salidas):
Editor de variables

Tipo Buscar/Insertar

Variables Constantes Entradas Salidas Buscar/Reemplazar

Nombre de variable Tipo de datos Posición Usado


1 OUT1 DINT 3 0
2
3

OK Cancelar Ayuda

9 A continuación, active de nuevo la modalidad de selección por medio de


Objetos → Modalidad de selección y haga doble clic en uno de los contactos
o una bobina.
Resultado: Se abrirá el cuadro de diálogo Propiedades: Objeto LD en el que
se podrá asignar un parámetro actual para un contacto / bobina.
10 Para realizar la conexión entre las entradas / salidas de FFB y los parámetros
actuales haga doble clic en una de las entradas / salidas no conectadas.
Resultado: Se abrirá el cuadro de diálogo Conectar FFB, en el cual podrá
asignar un parámetro actual a la entrada / salida.

418 840 USE 493 03 Septiembre de 2001


DFB (Bloques de función derivados)

Paso Acción
11 A continuación, guarde el DFB por medio del comando de menú Fichero →
Guardar.
Por ejemplo:

.6.5
ADD_DINT
EN ENO
N1 .6.6
N2 MUL_DINT
EN ENO
OUT
.6.7
SUB_DINT
EN ENO
N3
N4

Crear la lógica en la lista de instrucciones IL

Descripción Para crear la lógica en la lista de instrucciones IL, realice los siguientes pasos:
Paso Acción
1 Con la ayuda de VAR...END_VAR declare los módulos de función y DFBs que
desee utilizar.

Nota: No es preciso declarar las funciones:

Ejemplo:
VAR
CLOCK : CLOCK_DINT ;
END_VAR

840 USE 493 03 Septiembre de 2001 419


DFB (Bloques de función derivados)

Paso Acción
2 Declare las variables y sus valores iniciales en el editor de variables.
Ejemplo (entradas):
Editor de variables

Tipo Buscar/Insertar

Variables Constantes Entradas Salidas Buscar/Reemplazar

Nombre de variable Tipo de datos Val. inicial Posición Usado


1 IN1 DINT 1 0
2 IN2 DINT 2 0
3 IN3 DINT 3 0
4 IN4 DINT 4 0
5
6

OK Cancelar Ayuda

Ejemplo (salidas):
Editor de variables

Tipo Buscar/Insertar

Variables Constantes Entradas Salidas Buscar/Reemplazar

Nombre de variable Tipo de datos Posición Usado

1 OUT1 DINT 3 0
2
3

OK Cancelar Ayuda

3 Genere la lógica de su programa.

Por ejemplo:
LD IN1
ADD IN2
MUL (
LD IN3
SUB IN4
)
ST OUT
4 A continuación, guarde la sección por medio del comando de menú Fichero →
Guardar proyecto.

420 840 USE 493 03 Septiembre de 2001


DFB (Bloques de función derivados)

Crear la lógica en texto estructurado ST

Descripción Para crear la lógica en texto estructurado ST, realice los siguientes pasos:
Paso Acción
1 Con la ayuda de VAR...END_VAR declare los módulos de función y DFBs que
desee utilizar.
Nota: No es preciso declarar las funciones:
Ejemplo:
VAR
CLOCK : CLOCK_DINT ;
END_VAR
2 Declare las variables y sus valores iniciales en el editor de variables.
Ejemplo (entradas):

Editor de variables

Tipo Buscar/Insertar

Variables Constantes Entradas Salidas Buscar/Reemplazar

Nombre de variable Tipo de datos Val. inicial Posición Usado

1 IN1 DINT 1 0
2 IN2 DINT 2 0
3 IN3 DINT 3 0
4 IN4 DINT 4 0
5
6

OK Cancelar Ayuda

Ejemplo (salidas):
Editor de variables

Tipo Buscar/Insertar

Variables Constantes Entradas Salidas Buscar/Reemplazar

Nombre de variable Tipo de datos Posición Usado


1 OUT1 DINT 3 0
2
3

OK Cancelar Ayuda

840 USE 493 03 Septiembre de 2001 421


DFB (Bloques de función derivados)

Paso Acción
3 Genere la lógica de su programa.

Por ejemplo:
OUT := (IN1 + IN2) * (IN3 - IN4)
4 A continuación, guarde la sección por medio del comando de menú Fichero →
Guardar proyecto.

Acceso a un DFB en el lenguaje de programación FBD

Nota Al acceder a un DFB no tiene importancia el lenguaje de programación con el que


se defina. Se puede acceder al DFB desde todas las secciones CEI.

Descripción Para acceder a un DFB en el lenguaje de programación FBD, se deben seguir los
siguientes pasos:
Paso Acción
1 Se debe cerrar Concept DFB e iniciar Concept.
2 Se debe abrir/generar un proyecto y abrir/generar una sección.
3 El acceso al DFB se efectúa seleccionando un EFB con el comando de menú
Objeto → seleccionar FFB....
Resultado: Se abrirá el cuadro de diálogo FFB de biblioteca.
4 Se activa el botón de comando DFB, para que se muestren los DFB locales y
globales.
Por ejemplo:

FFB en la biblioteca CEI


Grupo Tipo EFB Tipo DFB
Aritmética MOVE LIGHTSS
Bistable MUL_DINT SKOE
Comparison MUL_INT
Converter MUL_REAL
Counter MUL_UDINT
Edge detection MUL_UINT
Logic SUB_DINT
Numerical SUB_INT

Ordenar el FFB... Biblioteca.… DFB

Cerrar Ayuda para el tipo Ayuda

422 840 USE 493 03 Septiembre de 2001


DFB (Bloques de función derivados)

Paso Acción
5 Ahora se deberá hacer clic sobre el DFB deseado de la lista, y situarlo en la
ventana del editor.
Por ejemplo:
FBI_3_7

SKOE

IN1
IN2
IN3 OUT
IN4

6 Con un doble clic sobre el DFB se puede abrir el cuadro de diálogo


Propiedades: Módulo de función derivado en el que se puede abrir con el
botón de comando Mejorar... una ventana de documento con la lógica interna
del DFB. Para indicar que el DFB de la ventana de documento no se puede
editar, éste aparecerá con un fondo de color gris.
7 Ahora se deben definir solamente los parámetros actuales. Esto se produce de
forma equivalente a como ocurre en una unión de EFB normal, mediante el
cuadro del diálogo Conectar a FFB (hacer doble clic sobre los parámetros de
entrada / salida).
Por ejemplo:
SKOE1
SKOE
VALUE1 IN1
VALUE2 IN2
VALUE3 IN3 OUT RESULT1
VALUE4 IN4

SKOE2
SKOE
VALUE5 IN1
VALUE6 IN2
VALUE8 IN3 OUT RESULT2
VALUE9 IN4

Resultado: Como se puede reconocer en el ejemplo, se utilizarán diferentes


parámetros actuales en Acceso 1 DFB y Acceso 2 DFB. Los parámetros
formales son los mismos en ambos accesos, ya que el código de programa DFB
sólo se puede establecer una vez.

840 USE 493 03 Septiembre de 2001 423


DFB (Bloques de función derivados)

Acceso a un DFB en el Ladder LD

Nota Cuando se accede a un DFB el lenguaje de programación en el que se cree carece


de importancia. Se puede acceder al DFB desde todas las secciones IEC.

Descripción Para acceder a un DFB en el Ladder LD, se deberán ejecutar los siguientes pasos:
Paso Acción
1 Cerrar el DFB de Concept e iniciar Concept.
2 Abrir/crear un proyecto y abrir/crear una sección.
3 El acceso al DFB se realiza del mismo modo que con un EFB en el comando de
menú Objetos → Seleccionar FFB....
Resultado: Se abre el cuadro de diálogo FFB de la biblioteca.
4 Se deberá accionar el botón de comando DFB, para mostrar los DFB globales
y los locales.
Por ejemplo:

FFB en la biblioteca CEI


Grupo Tipo EFB Tipo DFB
Aritmética MOVE LIGHTSS
Bistable MUL_DINT SKOE
Comparison MUL_INT
Converter MUL_REAL
Counter MUL_UDINT
Edge detection MUL_UINT
Logic SUB_DINT
Numerical SUB_INT

Ordenar el FFB... Biblioteca.… DFB

Cerrar Ayuda para el tipo Ayuda

5 Se deberá hacer clic en ahora en el DFB que desee de la lista y colocarse en la


ventana Editor.
Por ejemplo:
FBI_3_7

SKOE
EN ENO
IN1
IN2
IN3 OUT
IN4

424 840 USE 493 03 Septiembre de 2001


DFB (Bloques de función derivados)

Paso Acción
6 Haciendo doble clic en el DFB se puede abrir el cuadro de diálogo
Propiedades: Módulo de funciones derivadas, donde es posible abrir con el
botón de comando Mejorar... una ventana de documento con la lógica interna
del DFB. Con objeto de indicar que no es posible editar el DFB en esa ventana
de documento, el fondo aparece de color gris.
7 Una la entrada EN con la barra de alimentación de la izquierda.
8 Todavía se deben definir los parámetros actuales. Esto se produce de forma
equivalente a como ocurre en una unión de EFB normal, mediante el cuadro de
diálogo Conectar FFB (doble clic en la entrada/salida que se debe
parametrizar).
Por ejemplo:
SKOE1
SKOE
EN ENO
VALUE1 IN1
VALUE2 IN2
VALUE3 IN3 OUT RESULT1
VALUE4 IN4

SKOE2
SKOE
EN ENO
VALUE5 IN1
VALUE6 IN2
VALUE8 IN3 OUT RESULT2
VALUE9 IN4

Resultado: Como se puede observar en el ejemplo, se utilizan distintos


parámetros actuales en el acceso 1 de DFB y en el acceso 2 de DFB. Los
parámetros formales son los mismos en ambos accesos, debido a que el código
de programa del DFB sólo se introduce una vez.

840 USE 493 03 Septiembre de 2001 425


DFB (Bloques de función derivados)

Acceso a un DFB en la lista de instrucciones IL

Nota Cuando se accede a un DFB el lenguaje de programación en el que se cree carece


de importancia. Se puede acceder al DFB desde todas las secciones IEC.

Descripción Para acceder a un DFB en la lista de instrucciones IL, ejecute los siguientes pasos:
Paso Acción
1 Cerrar el DFB de Concept e iniciar Concept.
2 Abrir/crear un proyecto y abrir/crear una sección.
3 El acceso a un DFB en IL se realiza como en Acceso a un módulo de función
(Véase Aplicación de módulos de función y DFB, p. 306).

Por ejemplo:
VAR
SKOE1, SKOE2 : SKOE; (* tramitación de DFB *)
END_VAR

CAL SKOE1(IN1:=VALUE1,IN2:=VALUE2,IN3:=VALUE3,IN4:=VALUE4)
LD SKOE1.out (* Acceso 1 a DFB *)
ST RESULT1

CAL SKOE2(IN1:=VALUE5,IN2:=VALUE6,IN3:=VALUE7,IN8:=VALUE4)
LD SKOE2.out (* Acceso 2 a DFB *)
ST RESULT2

Resultado: Como se puede observar en el ejemplo, se utilizan distintos parámetros


actuales en el acceso 1 de DFB y en el acceso 2 de DFB. Los parámetros formales
son los mismos en ambos accesos, debido a que el código de programa del DFB
sólo se introduce una vez.

426 840 USE 493 03 Septiembre de 2001


DFB (Bloques de función derivados)

Acceso a un DFB en literal estructurado ST

Nota Cuando se accede a un DFB el lenguaje de programación en el que se cree carece


de importancia. Se puede acceder al DFB desde todas las secciones IEC.

Descripción Para acceder a un DFB en el literal estructurado ST, se deberán llevar a cabo los
siguientes pasos:
Paso Acción
1 Cerrar el DFB de Concept e iniciar Concept.
2 Abrir/crear un proyecto y abrir/crear una sección.
3 El acceso a un DFB en ST se realiza como en Acceso a un módulo de función
(Véase Llamada de módulo de función/DFB, p. 356).

Por ejemplo:
VAR
SKOE1, SKOE2 : SKOE; (* tramitación de DFB *)
END_VAR

SKOE1(IN1:=VALUE1, IN2:=VALUE2, IN3:=VALUE3, IN4:=VALUE4);


RESULT1:=SKOE1.OUT ; (* acceso 1 a DFB *)

SKOE2(IN1:=VALUE5, IN2:=VALUE6, IN3:=VALUE7, IN4:=VALUE8);


RESULT2:=SKOE2.OUT ; (* acceso 2 a DFB *)

Resultado: Como se puede observar en el ejemplo, se utilizan distintos parámetros


actuales en el acceso 1 de DFB y en el acceso 2 de DFB. Los parámetros formales
son los mismos en ambos accesos, debido a que el código de programa del DFB
sólo se introduce una vez.

840 USE 493 03 Septiembre de 2001 427


DFB (Bloques de función derivados)

428 840 USE 493 03 Septiembre de 2001


Macros

14
Introducción

Representación En este capítulo se describe la creación de macros con la ayuda de Concept-DFB.

Contenido: Este capítulo contiene las siguientes secciones:


Sección Apartado Página
14.1 Macro 431
14.2 Programar y abrir un macros 440

840 USE 493 03 Septiembre de 2001 429


Macros

430 840 USE 493 03 Septiembre de 2001


Macros

14.1 Macro

Introducción

Visión general Esta sección ofrece una visión general de la creación y la utilización de macros.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Consideraciones generales acerca de macros 432
Macros globales y locales 434
Señalización de intercambio 436
Creación de una ayuda contextual (ayuda Online) para las macros 438

840 USE 493 03 Septiembre de 2001 431


Macros

Consideraciones generales acerca de macros

Introducción Las macros sirven para duplicar con relativa frecuencia las secciones y las redes
que se utilizan (incluida su lógica, sus variables y su declaración de variables).

Creación de Lo macros se crean con ayuda del programa DFB de Concept.


macros

Lenguajes de Las macros sólo se pueden crear en los lenguajes de programación FBD y LD.
programación

Propiedades Las macros presentan las siguientes propiedades:


l Las macros contienen una única sección.
l Las macros pueden contener cualquier sección compleja.
l Las características vistas del programa no diferencian una macro instalada, es
decir, una macro introducida en una sección, de una sección creada de una
forma convencional.
l Se puede acceder al DFB desde una macro.
l Es posible la declaración de variables con macro propia para la macro.
l Es posible el empleo de estructuras de datos con macro propia
l Aceptación automática de las variables declaradas en la macro.
l Son posibles los valores iniciales para las variables de macros.
l Es posible la instalación múltiple de una macro en todo el programa con variables
diferentes.
l El nombre de la sección, los nombres de las variables y el nombre de la
estructura de datos pueden contener hasta 10 marcas de intercambio distintas
(de @0 a @9).

Estructura La estructura jerárquica de una macro se corresponde con un proyecto en Concept


jerárquica que se compone de una única sección. Esta sección contiene la lógica necesaria.

Ayuda de Con macros se puede crear sus propia ayuda sensitiva de contexto (ayuda online)
contexto (véase Creación de una ayuda contextual (ayuda Online) para las macros, p. 438).

Secuencia de La secuencia de ejecuciones de la lógica, las reglas de programación y los FFB y


procesado DFB que se pueden utilizar se corresponden ampliamente a su programación del
FBD o del LD.

432 840 USE 493 03 Septiembre de 2001


Macros

Acceso a una Puede acceder a macros desde las secciones SFC, FBD y LD.
macro De este modo existe una diferencia subyacente:
l Acceso desde una sección SFC
Cuando se acceda a (tramitación) una macro desde una sección SFC (por
ejemplo, como red para las variables de acción) se aplica automáticamente una
nueva sección FBD/LD, que sólo contiene la lógica de la macro.
l Acceso desde una sección FBD/LD
Cuando se acceda a una macro desde una sección FBD/LD, se introduce la
lógica de la macro en la sección FBD/LD actual. En este caso no se crea ninguna
sección nueva.

Archivación y La archivación de una macro se realiza igual que la archivación y la documentación


documentación de un proyecto (véase Documentación y archivación, p. 611).

840 USE 493 03 Septiembre de 2001 433


Macros

Macros globales y locales

Descripción Las macros globales y locales se diferencian en la ubicación en la jerarquía de


directorios.

Según en qué directorio o subdirectorio se encuentre ubicada la macro, dispondrá


de acceso global (se accede desde todos los proyectos generados en Concept) o
local (sólo se accede desde un proyecto específico).
En el fichero Definición de la situación de los DFBs globales durante la lectura de
dotación [Upload], p. 973 puede determinar si durante el proceso de carga de IEC,
en el directorio del proyecto, se creará un directorio GLB que contendrá las macros
globales. De este modo, no se sobrescribirán las macros globales disponibles en
Concept → DFB y así no podrán influir en otros proyectos.

Estructura de directorios sin proyecto cargado:


C:\\ Unidad de instalación

Concept Directorio de Concept

DFB Directorio global de DFB/macro

...

PRJ Directorio del proyecto

DFB Directorio local de DFB/macro

...

434 840 USE 493 03 Septiembre de 2001


Macros

Estructura de directorios con los ajustes INI ([Upload]: PreserveGlobalDFBs=1)


de los proyectos cargados:
C:\\ Unidad de instalación

Concept Directorio de Concept

DFB Directorio global de DFB/macro

...

PRJ Directorio del proyecto

DFB Directorio local de DFB/macro

GLB Directorio global de DFB/macro para


el proyecto cargado

...

Si existen dos macros, uno global y otro local, con el mismo nombre, se indicará el
nombre de la macro local en minúscula y el nombre de la macro global en
mayúsculas en el momento de la inserción.

Nota: La longitud del nombre de la ruta DOS en la que se depositan las macros
está limitada a 29 caracteres. Procure que el directorio de macros no sobrepase
esta longitud.

840 USE 493 03 Septiembre de 2001 435


Macros

Señalización de intercambio

Introducción La señalización de intercambio (@0 a @9) en las macros sirve para pegar macros
en una sección de Concept. Cuando se pega una macro en una sección, la
señalización de intercambio se reemplaza por la secuencia de cifras introducida. De
este modo, es posible utilizar la misma macro lógica con diferentes variables,
estructuras de datos y comentarios, dado que es posible establecer otra secuencia
de cifras cada vez que se pega.

Es posible utilizar la señalización de intercambio en los siguientes elementos:


l Nombre de sección
l Nombre de variable
l Comentarios

Comentario Mediante Fichero → Propiedades de sección, es posible introducir un comentario


acerca de las para la señalización de intercambio. Dicho comentario se mostrará en el cuadro de
señalizaciones diálogo de reemplazo de la señalización de intercambio cuando se abra la macro
de intercambio en Concept.

Señalización de Cuando se tramita una macro, es decir, cuando se abre desde una sección SFC, se
intercambio en colocará una nueva sección con el nombre de la sección de macro, entre otras
los nombres de cosas. Para que sea posible tramitar una macro varias veces en un proyecto, se
sección deberá modificar el nombre de la sección cada vez que se tramite. Para ello, se
emplea la señalización de intercambio en el nombre de sección. Por este motivo, se
deberá introducir una señalización de intercambio (@0 a @9) en el nombre de
sección siempre que se cree una sección en la macro. Sin embargo, solamente es
posible abrir la macro una sola vez desde la sección SFC y utilizarla una sola vez
en el proyecto.

Cuando se accede a una macro desde una sección FBD/LD, el nombre de la


sección de la macro no tiene importancia, puesto que aquí no se coloca una sección
nueva.

Señalización de Para entregar o aceptar un valor de un escalón, son necesarias las variables de
intercambio en entrada y salida. Dichas variables ya se habrán declarado en la macro y se habrán
nombres de conectado en el EFB de la macro.
variables
Para declarar estas variables, se definen los nombres de las variables (con las
señalizaciones de intercambio), los tipos de datos y un posible comentario
(posiblemente con señalizaciones de intercambio) en el editor de variables. Para las
variables de entrada es posible definir un valor inicial adicional.

436 840 USE 493 03 Septiembre de 2001


Macros

Cuando se tramita una macro en Concept, se reemplaza en todos los nombres de


variables las señalizaciones de intercambio por la secuencia de caracteres
indicada. Así se asegura para cada aplicación del macros la declaración
automática de las variables unívocas necesitadas para ello. Si se debe utilizar una
variable en todas las instalaciones de un macros se tiene que dar para estas un
nombre sin señalización de intercambio.

Lo mismo también es válido para variables con tipos de datos derivados


(Estructuras de datos). Esto quiere decir que el tipo de una estructura de datos se
puede introducir infinitas veces en cualquier macros.

Señalizaciones de intercambio en el editor de variables


Editor de variables

Tipo Buscar/Insertar

Variables Constantes Buscar/Reemplazar

Nombre de Valor
las variables Tipo de datos Uso
inicial
1 @0_on BOOL @0 conectado
2 @0_value VALUE Ubicar... @0 valor de entrega
3 @1_error INT @1 anuncia un error
4 @1 BOOL @1 = variable de acción
5 @2_result REAL @2 result

Aceptar Interrumpir Ayuda

Nota: Si se debe unir el macro a un paso de una cadena de procesos (SFC), es


conveniente denominar las variables previstas como variables de acción con la
señalización de intercambio @0. En este caso al instalar el macros se añade
automáticamente al paso la variable de acción prevista. Se debe tener en cuenta
que las variables de acción tienen que ser siempre del tipo BOOL. Si el macro
contiene varias variables de acción (por ejemplo para el avance/ retroceso de un
motor), es conveniente definir estas variables de acción en un tipo de dato
derivado (estructura de datos) y denominar la variable a la que esta asignada este
tipo de dato solo con la señalización de intercambio @0.

840 USE 493 03 Septiembre de 2001 437


Macros

Ya que al instalar el macros se asigna a cada entrada/ salida una variable unívoca,
al macros sólo se le puede asignar durante la creación variables unlocated. La
utilización de direcciones directas y variables located no es posible en el macro. Si
desea utilizar variables located se puede asignar a las variables correspondientes,
tras la instalación del macros, una dirección directa en el editor de variables. Si se
desea utilizar direcciones directas, no se asigna una variable a la entrada/ salida en
el macro y se conecta la entrada/salida tras la instalación del macros en la dirección
deseada. Si ya hay variables declaradas se utilizan estas (se mantienen
referencias y valores iniciales).

Señalizaciones Cuando se tramita una macro en Concept, se reemplaza en todos los comentarios
de intercambio las señalizaciones de intercambio por la secuencia de caracteres indicada. Esto es
en los válido tanto para los objetos de texto en la sección como para los comentarios de
comentarios variables en el editor de variables.

Creación de una ayuda contextual (ayuda Online) para las macros

Introducción Concept ofrece para cada EFB una ayuda contextual (botón Ayuda para el tipo del
cuadro de diálogo Propiedades del EFB). Obviamente, en Concept no hay textos de
ayuda para las macros creadas por el usuario.
No obstante, es posible generar la ayuda correspondiente a cada macro, que se
podrá abrir en Concept con el botón Ayuda para el tipo.

Formato de Puede generar sus ayudas en los siguientes formatos de fichero:


fichero l .chm (fichero compilado de ayuda HTML de Microsoft Windows)
l .doc (formato de Microsoft Word)
l .htm (Hypertext Markup Language)
l .hlp (fichero de ayuda de Microsoft Windows (formato de 16 ó 32 bits))
l .pdf (Adobe Portable Document Format)
l .rtf (Microsoft Rich Text Format)
l .txt (formato de texto ASCII)

Nombre El nombre del fichero de ayuda debe corresponderse exactamente con el nombre
de la macro (p. ej., SKOE.ext).
La única excepción la constituyen los nombre de las macros tipificadas (p. ej.,
SKOE_BOOL, SKOE_REAL, etc.). En este caso, el nombre del fichero de ayuda
será el nombre de la macro sin la parte que indica el tipo de datos (p. ej., si el
nombre de la macro es SKOE_BOOL, el fichero de ayuda será SKOE.ext).

438 840 USE 493 03 Septiembre de 2001


Macros

Directorio El fichero de ayuda se puede guardar en los siguientes directorios:


l Directorio de Concept
l Directorio de la ayuda de Concept (si se ha definido en el fichero Concept.ini,
véase readme)
l Directorio global de macros
l Directorio local de macros

Ejecución de la Para ejecutar la ayuda, Concept sigue este procedimiento:


ayuda
Fase Descripción
1 Buscar el fichero de ayuda nombre_macro.ext en el directorio local de macros.
El archivo de ayuda se busca siguiendo este orden:
l .hlp
l .chm
l .htm
l .rtf
l .doc
l .txt
l .pdf

Resultado: Si la búsqueda tiene un resultado positivo, se visualizará el fichero


de ayuda, si no, se continuará con la fase 2.
2 Buscar el fichero de ayuda nombre_macro.ext en el directorio global de
macros.
Se seguirá el mismo orden que en la fase 1.

Resultado: Si la búsqueda tiene un resultado positivo, se visualizará el fichero


de ayuda, si no, se continuará con la fase 3.
3 Buscar el fichero de ayuda nombre_macro.ext en el directorio de Concept o en
el directorio de la ayuda de Concept.
Se seguirá el mismo orden que en la fase 1.

Resultado: Si la búsqueda tiene un resultado positivo, se visualizará el fichero


de ayuda, si no, se continuará con la fase 4.
4 Visualización del comentario generado en DFB Concept con Proyecto →
Propiedades.

840 USE 493 03 Septiembre de 2001 439


Macros

14.2 Programar y abrir un macros

Introducción

Visión general Este apartado describe la programación y la activación de un macros.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Introducción 441
Instalar la macro 441
Creación de la lógica 443
Abrir un macro desde una sección SFC 446
Abrir un macros desde una sección FBD-/LD 449

440 840 USE 493 03 Septiembre de 2001


Macros

Introducción

Introducción La programación y el acceso a una macro se divide en 3 pasos principales:


Paso Acción
1 Crear el macros (Véase Instalar la macro, p. 441)
2 Creación de la lógica (Véase Creación de la lógica, p. 443)
3 Acceso del macros en:
l Lenguaje de enlace (SFC) (Véase Abrir un macro desde una sección SFC,
p. 446)
l Lenguaje de los bloques de función (FBD) (Véase Abrir un macros desde una
sección FBD-/LD, p. 449)
l Lenguaje del ladder (LD) (Véase Abrir un macros desde una sección FBD-/
LD, p. 449)

Instalar la macro

Descripción Para instalar la macro se deben seguir los siguientes pasos:


Paso Acción
1 Cerrar Concept e iniciar DFB de Concept.
2 Instalar con el comando de menú Fichero → Nueva macro... una macro.
Resultado: En la barra de título aparece el nombre [sin nombre].
3 Generar con el comando de menú Fichero → Nueva sección... una nueva
sección e introducir un nombre de sección (con una marca de intercambio por
ejemplo @0).
El nombre de sección (máximo 32 caracteres) debe ser inequívoco en todo el
macro, no se diferencia entre mayúsculas y minúsculas. En caso de que el
nombre de sección asignado ya exista, se debe advertir y seleccionar un
nombre diferente. El nombre de sección se debe corresponder con las
Convenciones de nombres CEI.En el caso de que esto no ocurra, aparece un
aviso de error.
Nota: Según CEI 1131-3, sólo se admiten letras como primer carácter de los
nombres. En caso de que se deseen emplear números como primer carácter, se
puede utilizar el comando de menú Opciones → Preajustes → Expansiones
IEC... → Expansiones IEC → Se admiten cifras al comienzo de la
descripción para habilitar esta opción.
4 Seleccionar un lenguaje programación para la sección:
l Lenguaje de los bloques de función (FBD)
l Ladder (LD)

840 USE 493 03 Septiembre de 2001 441


Macros

Paso Acción
5 Con el comando de menú Proyecto → Propiedades se puede producir un
comentario sobre la macro.
Resultado: Este comentario se puede visualizar en Concept con el botón de
comando Ayuda sobre el tipo en el diálogo de selección para macros.
6 Con el comando de menú Fichero → Propiedades de sección se puede
producir un comentario en relación con las señalizaciones de intercambio.
Resultado: Este comentario aparece automáticamente en el diálogo de
reemplazo de las señalizaciones de intercambio.
7 Guardar ahora la macro con el comando de menú Fichero → Guardar macro.
Resultado: Al guardar por primera vez se abre el campo de diálogo Guardar en
en el que se establece el nombre del macros y el índice en el cual se desea
guardar la macro.
8 Seleccionar el índice en el cual se debe introducir la macro. Se tiene que tener
en cuenta la diferencia entre macros globales y locales (véase Macros globales
y locales, p. 434).
9 Escribir el nombre (máximo 8 caracteres) de la macro (siempre con la extensión
.Mac).
El nombre debe ser inequívoco en todo el índice, no se diferencia entre
mayúsculas y minúsculas. En caso de que el nombre asignado ya exista, se
debe advertir y seleccionar otro nombre diferente.

442 840 USE 493 03 Septiembre de 2001


Macros

Creación de la lógica

Descripción Para generar una sección se deben seguir los siguientes pasos:
Paso Acción
1 Para pegar un FFB en la sección, seleccionar el comando de menú Objetos →
Seleccionar el FFB….
Resultado: Se abre el cuadro de diálogo del FFB de la biblioteca.

FFB en la biblioteca CEI


Grupo Tipo EFB Tipo DFB
Aritmética MOVE LIGHTSS
Bistable MUL_DINT SKOE
Comparison MUL_INT
Converter MUL_REAL
Counter MUL_UDINT
Edge detection MUL_UINT
Logic SUB_DINT
Numerical SUB_INT

Ordenar el FFB... Biblioteca… DFB


Ayuda para
Cerrar Ayuda
el tipo

2 En este cuadro de diálogo se puede seleccionar una biblioteca con el botón de


comando Biblioteca... así como seleccionar un FFB. Sin embargo, también se
puede visualizar con el botón de comando DFB el DFB generado y seleccionar
uno.
3 Ahora, ubicar en la sección el FFB seleccionado.
4 Cuando se hayan ubicado todos los FFB, cerrar el cuadro de diálogo con
Aceptar.
5 Activar, con Objetos → Modo de selección, el modo de selección. Hacer clic
en el FFB y trasladar los FFB hacia la posición deseada.
6 Se activa con Objetos → Conexión la modalidad Conexión, y se establece la
conexión entre los FFB.

840 USE 493 03 Septiembre de 2001 443


Macros

Paso Acción
7 Activar ahora con Proyecto → Editor de variables el editor de variables para
declarar variables.
Para variables unlocated se declara aquí un nombre (con señalizaciones de
intercambio), un tipo de datos, si es necesario un valor inicial y si es necesario
un comentario (eventualmente con señalizaciones de intercambio).
Para constantes se declara aquí un nombre (con señalizaciones de
intercambio), un tipo de datos, un valor y si es necesario un comentario
(eventualmente con señalizaciones de intercambio).
Por ejemplo:
Editor de variables

Tipo Buscar/Insertar

Variables Constantes Buscar/Reemplazar

Nombre de Valor
las variables Tipo de datos inicial Uso
1 @0_on BOOL @0 conectado
2 @0_value VALUE Ubicar... @0 valor de entrega
3 @0_error INT @0 anuncia un error
4 @0 BOOL @0 = variable de acción
5 @0_result REAL @0 result

Aceptar Interrumpir Ayuda

Nota: Si se desea utilizar variables unlocated se puede asignar a las variables


unlocated correspondientes, tras la instalación del macros en el editor de
variables, una dirección directa.
Si se desea utilizar direcciones directas, no se asigna una variable a la entrada/
salida en el macro y se conecta la entrada/salida tras la instalación del macros
en la dirección deseada.
Nota: Si se debe utilizar una variable/ constante en todas las instalaciones de
un macros, se tiene que dar para estas variables/ constantes un nombre sin
señalización de intercambio.

444 840 USE 493 03 Septiembre de 2001


Macros

Paso Acción
8 Ahora se vuelve a activar con Objetos → Modalidad Selección la modalidad
Selección y se efectúa un doble clic sobre una de las entradas / salidas no
vinculadas.
Resultado: Se abre el cuadro de diálogo Conectar FFB en el cual se puede
asignar un parámetro actual a la entrada/ salida.

Conexión del FFB .2.15 ( AND_BOOL )

Entrada IN1 BOOL Invertido

Conectar con
Variable Literal Dirección directa

Nombre
@0_free X

Declaración de Aceptar Interrumpir Ayuda


las variables...

9 Archivar ahora el macro con el comando de menú Fichero → Guardar.


Por ejemplo:
Concept - Macro [SKOE] - [@0_Math]
FicheroProcesar Vista Objetos Proyecto Online Opciones Ventana Ayuda

.6.5
AND_BOOL
@0
@0_on FBI_13_4
OWN_DFB
EN ENO
@0_values VALUE @0_result
@0_error

840 USE 493 03 Septiembre de 2001 445


Macros

Abrir un macro desde una sección SFC

Descripción del Para abrir un macro desde una sección SFC se realizan los siguientes pasos:
procedimiento
Paso Acción
1 Cerrar Concept-DFB.
2 Iniciar Concept, abrir/producir un proyecto y abrir/producir una sección SFC.
3 Abrir con un doble clic las propiedades del paso, del paso al cual quiere adjuntar
el macro.
4 Acceder mediante el botón de comando Instalar sección... al diálogo para
instalar macros.
5 Elegir el macro deseado de la lista.
Si se ha creado en el hojeador de proyectos grupos de sección, se puede elegir
en el cuadro de texto Introducir en el grupo de sección el grupo de sección,
en el cual se debe introducir la sección.
Confirmar con Aceptar.
Ejemplo:

Instalación de la sección
Modelos disponibles:
SKOE.MAC Aceptar
TEST.MAC
(None) Interrumpir

Ayuda para el tipo

Ayuda

Nombre del objeto:

Insertar en el grupo de la sección:


Motor1

Resultado: Se abre el diálogo Reemplazar para reemplazar las señalizaciones


de intercambio.

446 840 USE 493 03 Septiembre de 2001


Macros

Paso Acción
6 Establecer de antemano en los cuadros de texto @0 hasta @9 la secuencia de
caracteres por las cuales se deben reemplazar las señalizaciones de
intercambio en macro.
Ejemplo:
Propiedades del paso
Parámetros reemplazables Comentario de sección:
I
@0 Motor 1
@1
@2
@3
@4
@5
@6
@7
@8
@9

Acceso al archivo
Carga de la lista...
Aceptar Interrumpir Ayuda
Guardar la lista...

840 USE 493 03 Septiembre de 2001 447


Macros

Paso Acción
7 Confirmar la información introducida medianteAceptar.

Resultado:
Tras la realización de los procesos descritos arriba se dan los siguientes
resultados:
l Ahora se produce una sección automática, cuyo nombre está compuesto por
el nombre de sección del macros y en vez de la señalización de intercambio,
de la secuencia de caracteres indicada.
Nota: Esta sección no se abre automáticamente. Si se quiere elaborar hay
que abrir el diálogo propiedades de los pasos con un doble clic sobre el
nombre de la variable.
l Todas las variables declaradas en macro se transmiten a la declaración de
variables del proyecto actual y se reemplaza también la señalización de
intercambio por la secuencia de caracteres actual. Si ya hay variables
declaradas se utilizan estas (se mantienen referencias y valores iniciales). Lo
mismo es válido para todos los comentarios que contienen la señalización de
intercambio.
l Si el macro contiene sólo una variable booleana de entrada, se acepta esta
automáticamente como variable de acción.
l Si el macro contiene más variables booleanas de entrada se abre el diálogo
Elegir una de estas variables en el cual se puede elegir la variable deseada
como variable de acción.
l Si se ha denominado una estructura de datos sólo con la señalización de
intercambio, se abre el diálogo Elegir el elemento del tipo bool y se puede
elegir allí la variable booleana deseada para la acción.

448 840 USE 493 03 Septiembre de 2001


Macros

Paso Acción
8 Con este procedimiento se puede abrir indefinidamente el macro, sin tener
conflictos con los nombres. El macro instalado y sus variables no se diferencian
de ninguna manera de secciones y variables creadas tradicionalmente.
Ejemplo de un macro instalado:
Concept [Plant1] - [Motor1_Math]
FicheroProcesar Vista Objetos Proyecto Online Opciones Ventana Ayuda

.6.5
AND_BOOL
Motor1
Motor1_on FBI_13_4
OWN_DFB
EN ENO
Motor1_values VALUE RESULT Motor1_result
ERROR Motor1_error

Abrir un macros desde una sección FBD-/LD

Descripción del Para abrir un macro desde una sección FBD-/LD se realizan los siguientes pasos:
procedimiento
Paso Acción
1 Cerrar Concept-DFB.
2 Iniciar Concept, abrir/ producir un proyecto y abrir/ producir una sección FBD-/
LD-Section.

840 USE 493 03 Septiembre de 2001 449


Macros

Paso Acción
3 Activar con el comando de menú Objetos → Macr introducir el diálogo Elegir
macro para introducir macros en secciones FBD-/LD.
Selección de la macro
Macros disponibles:
SKOE.MAC Aceptar
TEST.MAC
(None) Interrumpir

Ayuda para el tipo

Ayuda

4 Elegir el macro deseado de la lista y confirmar con OK.


Resultado: Se abre el diálogo Reemplazar para reemplazar las señalizaciones
de intercambio.
5 Establecer de antemano en los cuadros de texto @0 hasta @9 la secuencia de
caracteres por las cuales se deben reemplazar las señalizaciones de
intercambio en macro.
Ejemplo:
Propiedades del paso

Parámetros reemplazables Comentario de sección:


I
@0 Motor 1
@1
@2
@3
@4
@5
@6
@7
@8
@9

Acceso al archivo
Carga de la lista...
Aceptar Interrumpir Ayuda
Guardar la lista...

450 840 USE 493 03 Septiembre de 2001


Macros

Paso Acción
6 Confirmar la información introducida mediante Aceptar.
Resultado:
Tras la realización de los procesos descritos arriba se dan los siguientes
resultados:
l Ahora se conecta automáticamente con el módulo de pegar y la lógica del
macro se puede pegar en cualquier posición de la sección FBD-/LD.
l Además todas las variables declaradas en macro se transmiten a la
declaración de variables del proyecto actual y se reemplaza la señalización
de intercambio por la secuencia de caracteres actual. Lo mismo es válido
para todos los comentarios que contienen la señalización de intercambio.
7 Con este procedimiento se puede abrir indefinidamente el macro, sin tener
conflictos con los nombres. El macro introducido y sus variables no se
diferencian de ninguna manera de secciones y variables creadas
tradicionalmente.
Ejemplo de un macro instalado:
Concept [Plant1] - [Motor1_Math]
FicheroProcesar Vista Objetos Proyecto Online Opciones Ventana Ayuda

.6.5
AND_BOOL
Motor1
Motor1_on FBI_13_4
OWN_DFB
EN ENO
Motor1_values VALUE RESULT Motor1_result
ERROR Motor1_error

840 USE 493 03 Septiembre de 2001 451


Macros

452 840 USE 493 03 Septiembre de 2001


Editor de variables

15
Introducción

Representación En esta sección se encuentra la información sobre la declaración de las variables


en el editor de variables.

Contenido: Este capítulo contiene los siguiente apartados:


Apartado Página
Generalidades 454
Declarar variables 454
Buscar y reemplazar nombres de variables y direcciones 457
Buscar e insertar nombres de variables y direcciones 460
Exportación de variables located 464

840 USE 493 03 Septiembre de 2001 453


Editor de variables

Generalidades

Introducción La declaración de variables sirve para el intercambio de datos en el programa de


aplicación. En este sentido, se pueden dirigir las variables (located y variables
unlocated) y/o asignar un valor a las constantes.
Las variables o direcciones directas se asignan mediante la dirección de la Dotación
E/S y se pueden utilizar en la programación con el nombre simbólico (variable) o
con la dirección directa. Aquí se intercambian valores entre diferentes secciones a
través de las variables o direcciones directas.

Nota: Según CEI1131-3 sólo se admiten letras como primer carácter de nombres
de ejemplar. No obstante, si se quieren utilizar también cifras como primer
carácter, se pueden liberar las mismas con el comando de menú Opciones →
Preajustes → Expansiones IEC... → Expansiones IEC → Cifras delanteras
admisibles en identificadores.

Nota: Durante la programación se rechazan variables no declaradas.

Declarar variables

Introducción En la declaración de variables se determina el tipo de datos, la dirección y el nombre


simbólico. A través de la dirección se definen las entradas (1x/3x), o bien, las
salidas (0x/4x), las cuales están asignadas con la selección del tipo de datos a la
función correspondiente, o bien, a los módulos de función correspondientes en el
programa de aplicación.
Adicionalmente se puede asignar a cada variable un valor de inicio, el cual se
transfiere durante la primera carga al PLC.
Existe la posibilidad de escribir para cada variable o dirección directa un comentario
que permita reconocer la asignación de una función.
Si se modifican, borran o añaden estas declaraciones, se identifica este estado de
modificación mediante determinados símbolos en la primera columna.

Modificaciones El nombre y la dirección de variables se puede modificar online. Además se puede


en la modalidad modificar en línea una variable unlocated a una variable located (es decir, que se le
EN LÍNEA asigna una dirección, o bien, que se borra la dirección). Las modificaciones se
traspasan para las secciones afectadas después de accionar el botón de comando
Aceptar, es decir, la sección en la que se utilizan las variables modificadas.

454 840 USE 493 03 Septiembre de 2001


Editor de variables

Esto tiene las siguientes consecuencias:


Si... Entonces...
se modifican las variables, se ubica el estado de todas las secciones afectadas en
MODIFICADO y se deben cargar las secciones afectadas con
Online → Cargar modificaciones en el PLC.
una sección de transición también se ubica la sección SFC al estado MODIFICADO.
está afectada por las
modificaciones,
una determinada sección se finaliza la animación.
se encuentra animada,
se utiliza una variable no se pueden insertar otras variables en la ventana de editor y
modificada en el editor de se detiene la animación del editor de datos de referencia. Ello
datos de referencia, rige hasta que se hayan cargado en los autómatas las
modificaciones con Online → Cargar modificaciones
restaurando de esta manera el estado de IGUAL.

Nota: La asignación de direcciones directas y comentarios también se puede


realizar fuera de Concept, tras finalizar la programación.

Declaración de Procedimiento para la confección de una declaración de variables fuera del editor
variables fuera de variables:
del editor de
Paso Acción
variables
1 Exportar las declaraciones de variables con Fichero → Exportación →
Variables: Texto con carácter de separación.
2 Abrir el archivo exportado.
3 Introduzca las direcciones y los comentarios.
4 Importe las declaraciones de variables editadas con Fichero → Importación →
Variables: Texto con carácter de separación.

840 USE 493 03 Septiembre de 2001 455


Editor de variables

Copiar líneas en Existe la posibilidad de copiar líneas individuales y bloques de líneas enteros y, de
el editor de insertar y editar los mismos en el editor en otro lugar. Este proceso se realiza con
variables combinaciones de teclas.
Sólo se puede copiar e insertar dentro del editor de variables abierto, con lo que se
marcan con rojo las líneas insertadas. Estas líneas se deben modificar a
continuación o se pierden al salir del diálogo. Porque el editor de variables no
permite ajustes idénticos.

Nota: Se puede copiar un máximo de 500 líneas.

Procedimiento Para copiar e insertar líneas enteras, realizar los siguientes pasos:
para copiar e
Paso Acción
insertar
1 Seleccionar la línea correspondiente en la primera columna de la tabla.
Resultado: Se representa toda la línea al modificar el color.
Nota: Al copiar un bloque de líneas, seleccione la primera línea del bloque y
pulse la tecla Mayús, seleccionando a la vez la última línea del bloque.
2 Para copiar pulse la combinación de teclas Ctrl+Ins o Ctrl+Alt+c.
Resultado: Se copian las líneas seleccionadas al portapapeles.
3 Seleccione la línea, a partir de la cual se debe insertar.
Resultado: Se representa toda la línea al modificar el color.
4 Para insertar pulse la combinación de teclas Mayús+Ins o Ctrl+Alt+v.
Resultado: Las líneas copiadas se insertan a partir de la línea seleccionada en
la tabla y se representan en rojo.
Nota: Si se inserta entre dos líneas existentes, se desplazará la línea
seleccionada en función a la cantidad de líneas copiadas hacia abajo.

Imprimir lista de La impresión de la lista de variables se realiza en el menú principal Fichero. Con
variables el comando de menú Imprimir... Se deberá abrir el comando de menú Contenido
de documentos, donde se configura la ejecución de impresión con la activación de
la casilla de verificación Lista de variables.

Nota: Se debe advertir que, a la hora de imprimir, no siempre aparecerán todos


los 32 caracteres (máximo) del nombre del símbolo en el papel.

456 840 USE 493 03 Septiembre de 2001


Editor de variables

Buscar y reemplazar nombres de variables y direcciones

Introducción Con el botón de comando Buscar/reemplazar se abre un cuadro de diálogo para


buscar y reemplazar nombres de variables y direcciones. A diferencia de Buscar/
insertar se modifican los nombres de variables / direcciones existentes.
Con los botones de opción Nombre y Dirección se selecciona si se quiere buscar
por nombres de variables o direcciones.
Si se quiere restringir la búsqueda y el reemplazo a una zona determinado de
variables o direcciones, se puede marcar esta zona. En este caso sólo se busca y
reemplaza en la zona marcado. Si no hay nada marcado, buscar e insertar se
refiere siempre a todas las variables y direcciones en el editor de variables.
Si se activa la casilla de control Ampliar dirección, se amplían las direcciones
indicadas en el cuadro de texto Dirección automáticamente por el Formato
estándar.

Utilización de Para buscar y reemplazar se pueden utilizar las siguientes wildcards:


wildcards * Este carácter se utiliza como comodín para una cantidad cualquiera de caracteres.
* Sólo se puede utilizar al principio y al final de línea.
? Este carácter se utiliza como comodín para exactamente un carácter. Si se
quieren ignorar varios caracteres, se debe utilizar una cantidad correspondiente
de ?.
Las wildcards se pueden combinar. No obstante, no se permiten las combinaciones
*? y ?*.

Nota: Para buscar y reemplazar, la cantidad de wildcards en la secuencia de


caracteres de buscar y en la secuencia de caracteres a reemplazar debe ser igual.
Véase al respecto también los siguientes ejemplos en la tabla.

840 USE 493 03 Septiembre de 2001 457


Editor de variables

Ejemplos de El ejemplo muestra los diferentes métodos de búsqueda y los correspondientes


buscar/ resultados para el reemplazo.
reemplazar
Buscar: Reemplazar por: Nombres existentes Resultado
Nombre1 Nombre2 Nombre1 Nombre2
Nombre1A Nombre1A
NombreA NombreA
NombreB NombreB
???123 ???456 abc123 abc456
cde123 cde456
abcd123 abcd123
abc1234 abc1234
Nombre1* Nombre2* Nombre1A Nombre2A
Nombre1B Nombre2B
NombreAB NombreAB
*123 *456 abc123 abc456
cde123 cde456
abc1234 abc4564
abcde123 abcde456
*123* *456* abc123abc abc456abc
cde123defghi cde456defghi
abcde123def abcde456def
???123* ???456* abc123abc abc456abc
cde123defghi cde456defghi
abcde123def abcde123def

Buscar y Si se marca este botón de opción, se pueden buscar y reemplazar nombres de


reemplazar variables. Se busca exclusivamente en la columna Nombre de variable del editor
nombre de variables, la aparición de la secuencia de caracteres a buscar.

Buscar y Si se marca este botón de opción, se pueden buscar y reemplazar direcciones. Se


reemplazar busca exclusivamente en la columna Dirección del editor de variables, la aparición
dirección de la dirección a buscar.

Buscar por: Se debe introducir una secuencia de caracteres, la cual se debe buscar en variables
o direcciones.
Sin la indicación de una secuencia de caracteres, que da lugar a un resultado de
búsqueda exitoso, no se ejecuta ninguna de las funciones posibles del diálogo.

Nota: Los registros en el campo Buscar permanecen incluso después de cerrar


el cuadro de diálogo para su utilización posterior.

458 840 USE 493 03 Septiembre de 2001


Editor de variables

Reemplazar por: Se debe introducir una secuencia de caracteres, por la cual se debe reemplazar la
secuencia de caracteres en la nueva variable o dirección.

Nota: Los registros en el campo Reemplazar por permanecen incluso después


de cerrar el cuadro de diálogo para su utilización posterior.

Buscar siguiente Descripción de la función Buscar siguiente:


Nivel Descripción
1 Con el botón de comando Buscar siguiente se inicia el proceso de búsqueda
al comienzo de la tabla de editor de variables, o bien, de la zona marcada y se
marcará la variable hallada.
2 Se realiza la consulta, sobre si se debe buscar otra aparición de la secuencia de
caracteres.
3 Accionando el botón de comando Sí se marca el siguiente lugar de hallazgo de
la secuencia de caracteres buscada.
Accionando el botón de comando No se termina la búsqueda.
4 Si el proceso de búsqueda llega al final de la tabla de editor de variables, se
realizará una consulta sobre si se debe o no iniciar de nuevo el proceso de
búsqueda al comienzo de la tabla de editor de variables o de la zona marcada.
5 Accionando el botón de comando Sí se marca el siguiente lugar de hallazgo de
la secuencia de caracteres buscada.
Accionando el botón de comando No se termina la búsqueda.
6 Si no se encuentra otra aparición de la secuencia de caracteres, aparecerá el
aviso que se ha finalizado la búsqueda.

840 USE 493 03 Septiembre de 2001 459


Editor de variables

Reemplazar Descripción de la función Reemplazar:


Nivel Descripción
1 Con el botón de comando Reemplazar se inicia el proceso de búsqueda al
comienzo de la tabla de editor de variables, o bien, del zona marcada y se
marcará la variable hallada.
Nota: Esta función no se puede deshacer.
2 Se realizará una consulta, sobre si se debe reemplazar la secuencia de
caracteres encontrada.
3 Con la confirmación del botón de comando Sí se reemplaza la variable/dirección
por la secuencia de caracteres en el cuadro de texto Reemplazar por:.
Accionando el botón de comando No se termina la búsqueda.
4 Si existen varias utilizaciones de la secuencia de caracteres buscada, se marca
ahora el siguiente lugar de hallazgo y se vuelve a realizar la consulta.
5 Si el proceso de búsqueda llega al final de la tabla de editor de variables, se
realizará una consulta sobre si se debe o no iniciar de nuevo el proceso de
búsqueda al comienzo de la tabla de editor de variables o de la zona marcada.
6 Accionando el botón de comando Sí se marca el siguiente lugar de hallazgo de
la secuencia de caracteres buscada.
Accionando el botón de comando No se termina la búsqueda.
7 Si no se encuentra otra aparición de la secuencia de caracteres, aparecerá el
aviso de que se ha finalizado la búsqueda.

Reemplazar todo Se buscan todas las apariciones de la secuencia de caracteres y se reemplazan las
mismas (sin previa consulta) por las indicaciones en el cuadro de texto Reemplazar
por:. Si el proceso de búsqueda llega al final de la tabla de editor de variables, se
realizará una consulta sobre si se debe o no iniciar de nuevo el proceso de
búsqueda al comienzo de la tabla de editor de variables o de la zona marcada.

Nota: Esta función no se puede deshacer.

Buscar e insertar nombres de variables y direcciones

Introducción Por medio del botón de comando Buscar/Insertar podrá acceder a un diálogo para
crear nuevas variables que se basan en otras ya existentes. Al contrario que en
Buscar/Reemplazar se creará una copia de las variables existentes con un nuevo
nombre y dirección.

460 840 USE 493 03 Septiembre de 2001


Editor de variables

Por ejemplo, si ya ha declarado las variables para un motor y desea declarar las
mismas variables con otros nombres y direcciones para otro motor, podrá realizarlo
de forma sencilla a través de este diálogo.
Si sólo desea crear otras variables de un determinado rango de variables, podrá
seleccionar este rango. En este caso sólo se buscará en el rango seleccionado. Si
no se ha seleccionado nada, la búsqueda y la inserción se referirá siempre a todas
las variables del editor de variables.
Si activa la casilla de verificación Expandir dirección, se ampliarán automáti-
camente las direcciones contenidas en el cuadro de texto hasta adoptar el formato
standard.

Aplicación de En buscar e insertar se pueden utilizar los siguientes comodines:


comodines * Este carácter se utiliza como comodín para cualquier número de caracteres. * sólo
se puede utilizar al principio o al final de una línea.
? Este carácter se utiliza como comodín para un carácter concreto. Si desea ignorar
varios caracteres deberá utilizar el número correspondiente de ?.
Los comodines se pueden combinar. Las combinaciones *? y ?* no están
permitidas.

Nota: En Buscar e insertar, la cantidad de comodines de la secuencia de


caracteres deberá coincidir con la secuencia de reemplazar.

Buscar nombre Si selecciona este botón de opción podrá buscar nombres de variables. Se
buscarán exclusivamente en la columna Nombre de variables del editor de
variables los eventos de la secuencia de caracteres que se deben buscar.

Buscar dirección Este cuadro sólo no está disponible para constantes.

Si selecciona este botón de opción podrá buscar direcciones. Se buscarán


exclusivamente en la columna Dirección del editor de variables los eventos de la
dirección que se debe buscar .

Buscar: Introduzca una secuencia de caracteres que se deba buscar en variables o


direcciones.
Sólo se buscará en las columnas Nombre de variables y Dirección de la tabla del
editor de variables. La búsqueda en otros campos (p. ej., en Tipos de datos) no será
posible.
Sin indicar una secuencia de caracteres que conduzca a un resultado exitoso de la
búsqueda, no se ejecutará ninguna de las funciones posibles de este diálogo.

Nota: Las entradas realizadas en el campo Buscar se conservarán incluso


después de cerrarse el cuadro de diálogo para aplicaciones posteriores.

840 USE 493 03 Septiembre de 2001 461


Editor de variables

Reemplazar con: Introduzca una secuencia de caracteres con la cual se deberá reemplazar la
secuencia de caracteres que se busca en la nueva variable o dirección.
Si el nombre introducido ya existe, no se creará ninguna nueva variable.

Nota: Las entradas realizadas en el campo Reemplazar por se conservarán


incluso después de cerrarse el cuadro de diálogo para aplicaciones posteriores.

Offset de Este cuadro sólo no está disponible para constantes.


dirección:
Introduzca un valor con el cual se deberán aumentar las direcciones de las variables
existentes.

Nota: Si no introduce ningún valor offset, la nueva variable se depositará en la


misma dirección que la ya existente.

En las unlocated variables no es necesario indicar un valor.


Las entradas realizadas en este cuadro de diálogo se conservarán para
aplicaciones posteriores después de cerrar el cuadro de diálogo.

Ejemplo de offset SKOE1 tiene la dirección 000012


de dirección Buscar: SKOE1
Reemplazar con: SKOE2
Offset de dirección: 1
Como resultado se creó la siguiente nueva variable:
SKOE2 en la dirección 000013

Buscar siguiente Descripción de la función Buscar siguiente:


Fase Descripción
1 Por medio del botón de comando Buscar siguiente se iniciará el proceso de
búsqueda desde el principio de la tabla del editor de variables o del rango
elegido y se seleccionará la variable hallada.
2 Aparecerá una pregunta sobre si desea continuar buscando otros eventos de la
secuencia de caracteres.
3 Activando el botón de comando Sí se seleccionará el siguiente hallazgo de la
secuencia de caracteres que se busca.
Si se activa el botón de comando No, la búsqueda finalizará.

462 840 USE 493 03 Septiembre de 2001


Editor de variables

Fase Descripción
4 Cuando el proceso de búsqueda alcance el final de la tabla del editor de
variables aparecerá la pregunta sobre si desea o no desea iniciar de nuevo el
proceso de búsqueda desde el principio de la tabla del editor de variables o del
rango seleccionado.
5 Activando el botón de comando Sí se seleccionará el siguiente hallazgo de la
secuencia de caracteres que se busca.
Si se activa el botón de comando No, la búsqueda finalizará.
6 Si no se encuentra ninguna otra secuencia de caracteres aparecerá un mensaje
indicando que la búsqueda ha finalizado.

Iniciar pegado Descripción de la función Iniciar pegado:


Fase Descripción
1 Por medio del botón de comando Iniciar pegado se iniciará el proceso de
búsqueda desde el principio de la tabla del editor de variables o del rango
elegido y se seleccionará la variable hallada.
Nota: Esta función no se puede deshacer.
2 Aparecerá una pregunta sobre si desea crear una nueva variable con el nombre
y la dirección visualizados.
3 Activando el botón de comando Sí se creará la variable y se continuará el
proceso hasta que se hayan "procesado" todos los eventos de la secuencia de
caracteres que se busca.
Si se activa el botón de comando No, la búsqueda finalizará.
4 Cuando el proceso de búsqueda alcance el final de la tabla del editor de
variables aparecerá la pregunta sobre si desea iniciar de nuevo el proceso de
búsqueda desde el principio de la tabla del editor de variables o del rango
seleccionado.
5 Activando el botón de comando Sí se seleccionará el siguiente hallazgo de la
secuencia de caracteres que se busca.
Si se activa el botón de comando No, la búsqueda finalizará.
6 Si no se encuentra ninguna otra secuencia de caracteres aparecerá un mensaje
indicando que la búsqueda ha finalizado.

840 USE 493 03 Septiembre de 2001 463


Editor de variables

Pegar todo Buscará todos los eventos de la secuencia de caracteres que se buscan y los
reemplazará por nuevas variables (sin consulta previa), teniendo en cuenta las
indicaciones realizadas en el cuadro de texto Reemplazar por:. Este proceso se
prolongará hasta que se hayan procesado todos los eventos de la secuencia de
caracteres que se busca o hasta que surja un error.
Si surge un error, la función se cancelará inmediatamente. Pero se conservarán
todas las variables que se hayan creado hasta el momento.

Nota: Esta función no se puede deshacer.

Exportación de variables located

Introducción Para el intercambio de datos con unidades MMI se pueden marcar todas las
Variables located en la columna Exp y transferir las mismas con la función
Exportación en el menú principal Fichero.
Las variables located se pueden exportar con ModLink, Factory Link y con el
formato de exportación "Texto con carácter de separación".

Anulación de la Tras la exportación se puede eliminar la marca (en la columna Exp) de las variables
marca exportadas con la combinación de teclas Ctrl+Alt+F3 a la vez.

Nota: Esta anulación no se puede deshacer, ni siquiera con el botón de comando


Interrumpir.

464 840 USE 493 03 Septiembre de 2001


Hojeador de proyectos

16
Introducción

Visión general En este capítulo se describe el hojeador de proyectos.

Contenido: Este capítulo contiene los siguiente apartados:


Apartado Página
Generalidades sobre el Hojeador de proyectos 466
Manejo del hojeador de proyectos 468

840 USE 493 03 Septiembre de 2001 465


Hojeador de proyectos

Generalidades sobre el Hojeador de proyectos

Introducción Con el hojeador de proyectos se pueden formar grupos de secciones para facilitar
la visión global y el manejo de los proyectos. Estos grupos reciben nombres únicos
y pueden contener tanto secciones como más grupos de secciones. La represen-
tación y el manejo tienen lugar gráficamente mediante un árbol de estructura. Las
funciones del hojeador de proyectos representan una posibilidad de manejo
cómoda y mejorada, como alternativa a las funciones de Concept ya existentes.
Hojeador de proyectos:
Hojeador de proyectos

Proyecto: CC_Demo

Demo
FBD FBD_Left
FBD FBD_Right
LD LD1
FBD DFB
FBD MAC1
FBD DDT1
SFC SFC1
IL IL1
ST ST1

Test1
FBD Test11
FBD Test12

Test2
FBD Test21
Test3
FBD Test31

466 840 USE 493 03 Septiembre de 2001


Hojeador de proyectos

Funciones Las funciones disponibles en el hojeador de proyectos son las siguientes:


l Crear nuevas secciones
l Abrir secciones (acceder al editor)
l Cambiar propiedades de las secciones (nombre, comentario)
l Modificar secuencia de ejecuciones
l Borrar secciones

l Crear grupos de secciones

l Abrir grupos de secciones (mostrar los niveles inferiores de la estructura)


l Cerrar grupos de secciones (ocultar los niveles inferiores de la estructura)
l Cambiar el nombre a los grupos de secciones
l Buscar secciones/grupos de secciones en el hojeador de proyectos
l Mover secciones/grupos de secciones (con la consiguiente modificación de la
secuencia de ejecución)

l Iniciar pronóstico de memoria offline


l Borrar grupos de secciones

l Abrir el configurador

l Minimizar secciones abiertas


l Abrir secciones minimizadas
l Cerrar secciones abiertas
l Agrandar las ventanas al máximo

l En los sistemas Hot Standby, excluir determinadas secciones de la alineación


entre CPU primaria y la CPU Standby
l Mostrar estados de habilitación (animación del árbol de estructura)
l Cambiar estado de habilitación

Restricciones Tenga en cuenta las siguientes restricciones:


l Los grupos de secciones sólo se pueden crear con el hojeador de proyectos.
l Las secciones de transición no se representan en el hojeador de proyectos.
l Sólo es posible modificar la secuencia de ejecución a través de Proyecto →
Secuencia de ejecuciones si en el hojeador de proyectos no existe ningún
grupo de secciones. Después de crear el primer grupo de secciones, ya no es
posible efectuar cambios mediante Proyecto → Modificar secuencia de
ejecuciones.
l Sólo se puede cambiar el estado de habilitación de una sección si no se ha
utilizado la variable de sección correspondiente a ella (.disable).

840 USE 493 03 Septiembre de 2001 467


Hojeador de proyectos

Particularidades Tenga en cuenta las siguientes particularidades de la utilización de LL984:


de LL984 l Si hay una o varias secciones LL984, el hojeador de proyectos generará
automáticamente un grupo de secciones LL984.
l Las secciones LL984 no se pueden mover.
l No es posible mover secciones IEC al grupo de secciones LL984 ni delante de él.

Manejo del hojeador de proyectos

Introducción El hojeador se puede manejar mediante el teclado o mediante el ratón.

Manejo mediante Manejo del hojeador de proyectos mediante el ratón:


el ratón
Función Botón
Seleccionar un grupo / una sección Botón izquierdo del ratón
(Al seleccionar, una sección ya abierta se
coloca delante de todas las demás secciones
abiertas).
Activar el menú de contexto Botón derecho del ratón
Ejecutar el primer comando del menú Doble clic con el botón izquierdo del ratón
contextual
Mover un grupo / una sección Hacer clic con el botón izquierdo del ratón en
el símbolo correspondiente, mantener el
botón presionado, seleccionar la posición de
destino moviendo el ratón y soltar el botón
o bien
ejecutar el menú de contexto (botón
derecho del ratón) → seleccionar Mover
→ buscar la posición de destino con las
teclas del cursor Flecha arriba / abajo →
confirmar la posición con Entrar.
Abrir o cerrar un grupo de secciones Hacer clic con el botón izquierdo del ratón en
el símbolo +/- correspondiente.

Nota: Los menús de contexto no sólo aparecen haciendo clic en los símbolos.
Para insertar un grupo / una sección nuevos existe la siguiente posibilidad: cuando
el puntero del ratón se coloca a la derecha de la línea de unión de dos símbolos,
cambia su aspecto par indicar que en ese lugar es posible abrir un menú de
contexto haciendo clic con el botón derecho del ratón. Esto permite insertar un
grupo / una sección nuevos en la línea seleccionada.

468 840 USE 493 03 Septiembre de 2001


Hojeador de proyectos

Manejo mediante Manejo del hojeador de proyectos mediante el teclado:


el teclado
Función Tecla
Seleccionar grupo / sección siguiente / Flecha arriba/Flecha abajo
anterior
(Al seleccionar, una sección ya abierta se
coloca delante de todas las demás secciones
abiertas).
Seleccionar grupo / sección de la página RePág/AvPág
siguiente / anterior
Seleccionar símbolo de proyecto Inicio
Seleccionar último grupo / sección Fin
Desplazamiento con el teclado CTRL + Flecha arriba/Flecha abajo
o bien
CTRL + RePág/AvPág
Activar el menú de contexto Mayúsculas + F10
o bien tecla Menú de contexto
Ejecutar el primer comando de menú Entrar
Mover un grupo / una sección ejecutar el menú de contexto
(Mayúsculas + F10) → seleccionar Mover
→ buscar la posición de destino con las
teclas del cursor Flecha arriba / abajo →
confirmar la posición con Entrar
o bien
Ctrl + Mayúsculas → Flecha arriba / abajo
/ RePág / AvPág → confirmar posición
con Entrar.
Abrir o cerrar un grupo de secciones + o bien -
donde: + restaura el estado anterior al último
-.
Abrir un grupo de secciones y todos los *
subgrupos
Borrar un grupo / una sección Supr
Seleccionar el grupo de rango superior Flecha izquierda o bien Borrar
En caso de que el elemento actualmente
seleccionado sea un grupo, éste se borra al
utilizar la tecla Flecha izquierda antes de
seleccionar el grupo de rango superior.
Seleccionar la primera sección / el primer Flecha derecha
grupo en un grupo Si el grupo está cerrado y contiene
secciones / grupos, se abre.
Cancelar el desplazamiento ESC

840 USE 493 03 Septiembre de 2001 469


Hojeador de proyectos

470 840 USE 493 03 Septiembre de 2001


Tipos de datos derivados

17
Introducción

Representación En este capítulo se describe el editor de tipo de datos y la creación de tipos de datos
derivados.

Contenido: Este capítulo contiene las siguientes secciones:


Sección Apartado Página
17.1 Generalidades acerca de tipos de datos derivados 473
17.2 Sintaxis del editor de tipo de datos 479
17.3 Ocupación de la memoria mediante tipos de datos derivados 489
17.4 Llamado de tipos de datos derivados 491

840 USE 493 03 Septiembre de 2001 471


Tipos de datos derivados

472 840 USE 493 03 Septiembre de 2001


Tipos de datos derivados

17.1 Generalidades acerca de tipos de datos derivados

Introducción

Vista general Esta sección contiene información general acerca de los tipos de datos derivados.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Tipos de datos derivados 474
Tipos de datos derivador global y local 477

840 USE 493 03 Septiembre de 2001 473


Tipos de datos derivados

Tipos de datos derivados

Introducción Los tipos de datos derivados se definen con el editor de tipo de datos. Para definir
nuevos tipos de datos se pueden utilizar todos los tipos de datos elementales y
derivados que existan en un proyecto.

Nota: El editor de tipo de datos se abre en Concept/DFB Concept con Fichero →


Abrir → Formato de fichero Fichero de tipo de datos (*.dty).

Nota: Tenga en cuenta que los comandos de menú Fichero → Guardar y Fichero
→ Guardar como no están disponibles en este editor. Para guardar sus tipos de
datos derivados, seleccione el comando de menú Fichero → Salir.

474 840 USE 493 03 Septiembre de 2001


Tipos de datos derivados

Utilización de Los tipos de datos derivados permiten transmitir distintos parámetros de módulos
tipos de datos en forma de sentencia. Dentro de los DFB y los EFB esta sentencia se vuelve a
derivados dividir en los distintos parámetros, que se procesan y se vuelven a enviar como
conjunto de parámetros o de uno en uno.

Utilización de tipos de datos derivados en un DFB:

FBI_3_7
EXAMP
IN1 IN OUT OUT1

.6.5
ADD_DINT
IN.PAR1 .6.8
IN.PAR2 AND_BOOL
OUT.PAR1
.6.6 .6.7
SUB_INT INT_TO_DINT
IN.PAR3
IN.PAR4

.6.9 .6.11
AND_BOOL BOOL_TO_WORD
IN.PAR5 .6.12
IN.PAR6
AND_BOOL
.6.10 OUT.PAR2

OR_WORD
IN.PAR7
IN.PAR8

Nota: Para la definición de los tipos de datos derivados IN y OUT, véase Ejemplo
de un tipo de datos derivado, p. 481.

840 USE 493 03 Septiembre de 2001 475


Tipos de datos derivados

Definición de La definición de los tipos de datos derivados se realiza en forma de texto.


tipos de datos
derivados Para introducir el texto puede utilizar todas las funciones estándar de Windows para
el procesamiento de textos. Además, el editor de tipo de datos contiene otros
comandos para procesar textos.

Al introducir palabras clave, separadores y comentarios se realiza inmediatamente


un control ortográfico. Si se reconoce una palabra clave, un separador o un
comentario, se indicará con otro color.

Nomenclatura A los tipos de datos derivados se les aplica la siguiente nomenclatura:


l Variable de elementos múltiples
Si a una variable se le asigna un tipo de datos derivado (campo o estructura), se
designará como variable de elementos múltiples.
l Variable estructurada
Si a una variable se le asigna un tipo de datos derivado compuesto por varios
elementos, ésta se designará como variable estructurada. En este caso, la
declaración contendrá la palabra clave STRUCT (Véase STRUCT ...
END_STRUCT, p. 482). Esto también es aplicable si este tipo de datos derivado
sólo contiene declaraciones ARRAY.
Por ejemplo:
TYPE
EXP:
STRUCT
PAR1: ARRAY [0..1] OF INT;
PAR2: REAL;
PAR3: TEST;
END_STRUCT;
END_TYPE
l Variable de campo
Si a una variable se le asigna un tipo de datos derivado compuesto por una única
declaración ARRAY (Véase ARRAY, p. 483), la variable se designará como
variable de campo. En este caso no se utilizará la palabra clave STRUCT.
Por ejemplo:
TYPE
TEST: ARRAY [0..1] OF UINT;
END_TYPE

476 840 USE 493 03 Septiembre de 2001


Tipos de datos derivados

Tipos de datos derivador global y local

Descripción En Concept se diferencia entre los tipos de datos derivados globales y los locales.
Los tipos de datos derivados globales se pueden utilizar en todos los proyectos
(Concept) o en todos los DFB (DFB Concept). Los tipos de datos derivados globales
se deben depositar en el subdirectorio DFB del directorio de Concept. Los tipos de
datos derivados locales sólo se conocen en el contexto de un proyecto o de sus
DFB locales y sólo se pueden utilizar allí. Los tipos de datos derivados locales se
deben encontrar en el subdirectorio DFB del directorio del proyecto.
En el fichero Generalidades sobre el fichero INI de Concept, p. 970 puede
determinar si durante el proceso de carga de IEC, en el directorio del proyecto, se
creará un directorio GLB que contendrá los tipos de datos derivados globales. De
este modo, no se sobrescribirán los tipos de datos derivados globales disponibles
en Concept → DFB y así no podrán influir en otros proyectos.

Nota: Tenga en cuenta esta estructura de fichero al crear tipos de datos derivados,
ya que para estos no está disponible el comando de menú Fichero → Guardar
como. Preste atención y seleccione la ruta correcta antes de activar OK.

Estructura de directorios sin proyecto cargado:


C:\\ Unidad de instalación

Concept Directorio de Concept

DFB Directorio para tipos de datos derivados


globales

...

PRJ Directorio del proyecto

DFB Directorio para tipos de datos derivados


locales

...

840 USE 493 03 Septiembre de 2001 477


Tipos de datos derivados

Estructura de directorios con los ajustes INI ([Upload]: PreserveGlobalDFBs=1)


de los proyectos cargados:
C:\\ Unidad de instalación

Concept Directorio de Concept

DFB Directorio para tipos de datos


derivados globales

...

PRJ Directorio del proyecto

DFB Directorio para tipos de datos


derivados locales
GLB Directorio para
tipos de datos derivados cargados

...

Cantidad de Concept apoya sólo un único fichero de tipo de datos locales para cada proyecto y
ficheros de tipo sólo un único fichero de tipo de datos globales. Para garantizar la consistencia entre
de datos el equipo de programación y el PLC, se debe cargar de nuevo en el PLC el proyecto
que contenga uno de los tipos de datos derivados, después de cada edición de uno
de estos ficheros.
Si existen dos tipos de datos derivados, uno global y otro local, con el mismo
nombre, el tipo de datos derivado local tendrá prioridad.

Tamaño máximo
del fichero
Nota: El tamaño máximo del fichero (.dty) tanto para tipos de datos derivados
globales y locales (es decir, las definiciones incluyendo todos los comentarios) es
de 64 kilobytes. En caso de que el tamaño máximo del fichero esté demasiado
limitado, puede distribuir las definiciones de tipo de datos en los ficheros de tipo
de datos globales y locales. Para evitar modificaciones múltiples en los ficheros de
tipo de datos locales, utilice el fichero de tipo de datos globales sólo para las
definiciones de tipo de datos que espera se vayan a modificar. Defina el resto de
tipos de datos en el fichero de tipo de datos locales.

478 840 USE 493 03 Septiembre de 2001


Tipos de datos derivados

17.2 Sintaxis del editor de tipo de datos

Introducción

Vista general Esta sección describe la sintaxis a tener en cuenta para la creación de tipos de
datos derivados.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Elementos de los tipos de datos derivados 480
Palabras clave 482
Nombres de tipos de datos derivados 486
Separadores 486
Comentarios 488

840 USE 493 03 Septiembre de 2001 479


Tipos de datos derivados

Elementos de los tipos de datos derivados

Introducción Para crear tipos de datos derivados se pueden utilizar los siguientes elementos:
l Palabras clave (Véase Palabras clave, p. 482)
l Nombres (Véase Nombres de tipos de datos derivados, p. 486)
l Separadores (Véase Separadores, p. 486)
l Comentarios (Véase Comentarios, p. 488)

Sangrías Para aumentar la disposición clara, se pueden insertar sangrías y compaginación


de líneas en cualquier posición, en la cual también se permite un espacio vacío. Las
mismas no influyen en la sintaxis.

480 840 USE 493 03 Septiembre de 2001


Tipos de datos derivados

Ejemplo de un Definición de tipos de datos derivados:


tipo de datos Palabra clave (comienzo de las definiciones del tipo de datos)
derivado
TYPE
(* Tipo de datos derivados IN para EXAMP*)
Nombre de los tipos de datos derivados

IN: Tipos de datos de los


STRUCT elementos de la estructura
PAR1: DINT; (* 1. Param. para Suma *)
PAR2: DINT; (* 2. Param. para Suma *)
PAR3: DINT; (* 1. Param. para Suma *)
PAR4: DINT; (* 2. Param. para Suma *)
PAR5: BOOL; (* 1. Param. para operación Y *)
PAR6: BOOL; (* 2. Param. para operación Y *)
PAR7: BOOL; (* 1. Param. para operación Y *)
PAR8: BOOL; (* 2. Param. para operación Y *)
END_STRUCT; Separadores Comentarios
Palabra clave (comienzo de las definiciones del tipo de datos)
(* Tipo de datos derivados IN para EXAMP*)
OUT
Nombre de los elementos de la estructura
STRUCT
PAR1: DIN(* Suceso de las operaciones aritméticas *)
PAR2: DINT(* Suceso de las operaciones aritméticas *)
END_STRUCT; Palabra clave (comienzo de las
definiciones del tipo de datos)
Definición de los Arrays “EXP”
EXP: ARRAY [0..4] OF UINT

Palabra clave (comienzo de las


END TYPE definiciones del tipo de datos)

840 USE 493 03 Septiembre de 2001 481


Tipos de datos derivados

Palabras clave

Introducción Para definir los tipos de datos derivados se pueden utilizar las siguientes palabras
clave:
l TYPE ... END_TYPE (Véase TYPE ... END_TYPE, p. 482)
l STRUCT ... END_STRUCT (Véase STRUCT ... END_STRUCT, p. 482)
l ARRAY (Véase ARRAY, p. 483)
l "Tipos de datos" (Véase "Tipos de datos", p. 486)
Según IEC 1131-3 las palabras clave se deben escribir en mayúscula. Sin embargo,
en caso de que también desee utilizar minúsculas, puede habilitar su uso en el
cuadro de diálogo Opciones para el análisis con la opción Admitir mayúsculas/
minúsculas en palabras clave.

Si se reconoce una palabra clave, se marcará por medio de un recuadro de color.

TYPE ... La palabra clave TYPE denota el comienzo de las definiciones de tipos de datos. La
END_TYPE palabra clave TYPE se ingresa sólo una vez al comienzo de las definiciones de tipos
de datos y será válida para todas las definiciones de tipos de datos.

La palabra clave END_TYPE denota el final de las definiciones de tipos de datos.


La palabra clave END_TYPE se ingresa sólo una vez al final de las definiciones de
tipos de datos.

STRUCT ... La palabra clave STRUCT identifica el comienzo de los elementos de un tipo de
END_STRUCT datos derivado. Las estructuras son conjuntos de distintos tipos de datos
elementales y tipos de datos derivados. Las variables a las que se ha asignado uno
de estos tipos de datos derivados, se conocen como variables estructuradas.

La palabra clave END_STRUCT identifica el final de los elementos de un tipo de


datos derivado.

Sintaxis de STRUCT
STRUCT NAME1: Tipo de datos;
NAME2: Tipo de datos;
NAMEn: Tipo de datos;
END_STRUCT

482 840 USE 493 03 Septiembre de 2001


Tipos de datos derivados

Ejemplo: TYPE
STRUCT ... Example1:
END_STRUCT STRUCT
Name1: BOOL; (* comentario *)
Name2: INT; (* comentario *)
Name3: ARRAY [0..5] OF BOOL; (* comentario *)
END_STRUCT;
END_TYPE

ARRAY En caso de que se vayan a utilizar varios elementos seguidos del mismo tipo de
datos, puede definirlos con la palabra clave ARRAY como campo.

Tras la palabra clave ARRAY se indicará el rango, es decir, el número de elementos


y, en caso necesario, el número de subelementos. Finalmente se indicará el tipo de
datos común a todos los elementos. Para ello se pueden utilizar tipos de datos
elementales o derivados.

Si a una variable se le asigna un tipo de datos derivado compuesto por una


declaración ARRAY en el editor de variables, a esta variable se le denominará
variable de campo.

Sintaxis de NAME: ARRAY [nº del 1er elemento .. nº del último elemento, nº del 1er elemento
ARRAY ..nº del último elemento, etc.] OF Tipo de datos;

Nivel de El nivel de intercalado está prácticamente ilimitado, aunque para tener una mejor
intercalado visión de conjunto deberá limitarse a pocos pasos, p. ej. dos o tres dimensiones. El
tamaño de un fichero de tipo de datos no podrá sobrepasar 64 kBytes.

Restricciones Los índices ARRAY no se pueden utilizar en funciones o módulos de función


genéricos (p. ej. SEL o MUX).

Los siguientes comandos generarían errores:


k := Arr[a,b,MUX(i,in1=2)];
Arr30[0,1,MUX_INT( K := K, IN0 := 0, IN1 := 1, IN2 := 0)];

En todas las demás funciones o módulos de función se pueden utilizar los índices
ARRAY.

El siguiente comando es posible:


B[8] := Arr3[REAL_TO_INT(TAN_REAL(ie.real1[2]),j,2]);

840 USE 493 03 Septiembre de 2001 483


Tipos de datos derivados

Ejemplo: ARRAY En el siguiente ejemplo se define un tipo de datos derivado con el nombre par. Este
de una tipo de datos derivado contiene seis elementos (del par[0] al par[5]) del tipo de datos
dimensión BOOL.

par: ARRAY [0..5] OF BOOL;

No es absolutamente necesario que el rango comience con "0". Puede definir un


rango cualquiera. En el siguiente ejemplo, el tipo de datos derivado contiene 14
elementos (del par[51] al par[64]) del tipo de datos BOOL.

par: ARRAY [51..64] OF BOOL;

Ejemplo: ARRAY Los ARRAY también pueden utilizarse como elementos en variables estructuradas
de una (definidas con la palabra clave STRUCT):
dimensión en
variable Par3: STRUCT
estructurada Name1: ARRAY [0..5] OF INT);
Name2: BOOL;
Name3: REAL;
END_STRUCT;

Las variables del tipo de datos Par3 contienen tres elementos:


l Name1 con 6 subelementos (de Par3.Name1[0] a Par3.Name1[5] del tipo de
datos INT)
l Name2 con un elemento del tipo de datos BOOL
l Name3 con un elemento del tipo de datos REAL

ARRAY de varias En los ARRAY de varias dimensiones se amplían las indicaciones en [ ] tantas
dimensiones veces como el número de subelementos existente para cada elemento. Esto es,
cada elemento indicado en el ARRAY contiene a su vez una cantidad determinada
de elementos del mismo tipo de datos.

Ejemplo: ARRAY El siguiente ejemplo muestra un ARRAY de dos dimensiones.


de dos
dimensiones Par4: ARRAY [0..5, 1..3] OF BOOL;

Las variables del tipo de datos Par4 contienen seis elementos del tipo de datos
BOOL, cada uno de los cuales dispone de tres subelementos del tipo de datos
BOOL:
l de Par4 [0,1] a Par4 [0,3]
l de Par4 [1,1] a Par4 [1,3]
etc. hasta
l de Par4 [5,1] a Par4 [5,3]

484 840 USE 493 03 Septiembre de 2001


Tipos de datos derivados

Ejemplo: ARRAY El siguiente ejemplo muestra un ARRAY de tres dimensiones.


de tres
dimensiones Par5: ARRAY [0..5, 1..4, 11..14] OF REAL;

Las variables del tipo de datos Par5 contienen seis elementos del tipo de datos
REAL, cada uno de los cuales dispone de cuatro subelementos del tipo de datos
REAL: Cada uno de estos subelementos contiene otros cuatro subelementos del
tipo de datos REAL:
l de Par5 [0,1,11] a Par5 [0,1,14]
l de Par5 [0,2,11] a Par5 [0,2,14]
etc. hasta
l de Par5 [0,4,11] a Par5 [0,4,14]
l de Par5 [1,1,11] a Par5 [1,1,14]
etc. hasta
l de Par5 [5,4,11] a Par5 [5,4,14]

Ejemplo: ARRAY Al igual que los ARRAY de una dimensión, los ARRAY de varias dimensiones
de varias también pueden utilizarse como elementos en variables estructuradas (definidas
dimensiones en con la palabra clave STRUCT):
variable
estructurada Par6: STRUCT
Name1: ARRAY [0..5, 1..3] OF INT;
Name2: BOOL;
Name3: REAL;
END_STRUCT;

Las variables del tipo de datos Par6 contienen tres elementos:


l Name1 con 18 subelementos:
l Par6.Name1[0,1]
a
l Par6.Name1[5,3] del tipo de datos INT
l Name2 con un elemento del tipo de datos BOOL
l Name3 con un elemento del tipo de datos REAL

Ejemplo: Los ARRAY de varias dimensiones también se pueden definir paso a paso:
Definición paso a
paso de ARRAYs Par71: ARRAY [1..100] OF WORD;
de varias Par72: ARRAY [1..3] OF Par71;
dimensiones Par73: ARRAY [1..33] OF Par6;

840 USE 493 03 Septiembre de 2001 485


Tipos de datos derivados

"Tipos de datos" Los nombres de los tipos de datos elementales y los nombres de los tipos de datos
derivados definidos se reconocen como palabras clave (los nombres de tipos de
datos derivados, al contrario de lo que sucede con los nombres de tipos de datos
elementales, no aparecerán en color). Los tipos de datos deberán terminar con el
separador ";".
En caso de que en la definición de un tipo de datos derivado se utilice otro tipo de
datos derivado, primero deberá definir éste último antes de poder acceder a él.

Nombres de tipos de datos derivados

Descripción En el editor de tipo de datos se asigna el nombre para el tipo de datos derivado y
los nombres para los elementos.

Los nombres no deben exceder los 24 caracteres y deben finalizar con el separador
":".

Los nombres se indican en negro.

Nota: Los nombres no deben comenzar con cifras, ni siquiera cuando se ha


activado la opción Preajustes → Expansiones IEC... → Cifras iniciales
admisibles en identificadores.

Nota: Dentro del editor de tipo de datos es posible utilizar caracteres especiales
(diéresis, acentos, etc...). Estos caracteres se admiten también en Concept. No
obstante, NO los caracteres que hayan sido confeccionados con Concept-EFB
pueden ser utilizados por los EFB. Este modo de comportamiento se basa en
procesos internos de productos de Borland. Por este motivo se recomienda
expresamente, NO utilizar caracteres especiales en nombres.

Separadores

Introducción Para definir los tipos de datos derivados se pueden utilizar los siguientes
separadores:
l : (dos puntos) (Véase Separador ":" (dos puntos), p. 487)
l ; (punto y coma) (Véase Separador ";" (punto y coma), p. 487)
l [ ] (corchetes) (Véase Separador "[ ]" (corchetes), p. 487)
l .. (puntos) (Véase Separador ".." (puntos), p. 487)

486 840 USE 493 03 Septiembre de 2001


Tipos de datos derivados

Separador ":" Indica el final de un nombre (del tipo de datos derivado, del elemento).
(dos puntos)

Ejemplo: TYPE
Example1:
STRUCT
Name1: BOOL; (* comentario *)
Name2: INT; (* comentario *)
Name3: ARRAY [0..5] OF BOOL; (* comentario *)
END_STRUCT;
END_TYPE

Separador ";" Indica el final de una instrucción.


(punto y coma)

Ejemplo: TYPE
Example1:
STRUCT
Name1: BOOL; (* comentario *)
Name2: INT; (* comentario *)
Name3: ARRAY [0..5] OF BOOL; (* comentario *)
END_STRUCT;
END_TYPE

Separador "[ ]" Contiene la indicación del rango de la palabra clave ARRAY.
(corchetes)

Ejemplo: TYPE
Example1:
STRUCT
Name1: BOOL; (* comentario *)
Name2: INT; (* comentario *)
Name3: ARRAY [0..5] OF BOOL; (* comentario *)
END_STRUCT;
END_TYPE

Separador ".." Separa el inicio y el final del rango de la palabra clave ARRAY.
(puntos)

840 USE 493 03 Septiembre de 2001 487


Tipos de datos derivados

Ejemplo: TYPE
Example1:
STRUCT
Name1: BOOL; (* comentario *)
Name2: INT; (* comentario *)
Name3: ARRAY [0..5] OF BOOL; (* comentario *)
END_STRUCT;
END_TYPE

Comentarios

Descripción En el editor de tipo de datos comienzan los comentarios con la secuencia de


caracteres (* y terminan con la secuencia de caracteres *). Entre estas dos
secuencias de caracteres se puede introducir un comentario cualquiera.

Los comentarios se pueden introducir en una posición cualquiera en el editor de tipo


de datos.

Los comentarios se representan en color.

Con el comando de menú Opciones → Opciones para análisis → Comentarios


imbricados admisibles, se puede liberar la entrada de comentarios imbricados.
No existen restricciones para la profundidad de imbricación.

Ejemplo: TYPE
Comentarios Example1:
STRUCT
Nombre1: BOOL; (* Comentario *)
Nombre2: INT; (* Comentario *)
Nombre3: ARRAY [0..5] OF BOOL; (* Comentario *)
END_STRUCT;
END_TYPE

488 840 USE 493 03 Septiembre de 2001


Tipos de datos derivados

17.3 Ocupación de la memoria mediante tipos de datos


derivados

Ocupación de la memoria con tipos de datos derivados

Elementos Los elementos boolearios se ejecutan como si se tratara de bytes, la información de


boolearios bits permanece en el primer bit.

Situación de los elementos boolearios:


Información de bit

27 26 25 24 23 22 21 20

Elementos La situación de los tipos de datos derivados en la memoria no deja ningún espacio
WORD vacío.

Ejemplo de un tipo de datos derivado:


TYPE
SKOE:
STRUCT
PAR1: BOOL;
PAR2: WORD;
PAR3: BOOL;
PAR4: WORD;
END_STRUCT;
END_TYPE

840 USE 493 03 Septiembre de 2001 489


Tipos de datos derivados

Situación del tipo de datos derivado en la memoria:


PAR2 (LSB) PAR1

215 214 213 212 211 210 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0

PAR3 PAR2 (MSB)

215 214 213 212 211 210 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0

PAR4 (MSB) PAR4 (LSB)

215 214 213 212 211 210 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0

Se recomienda tener cuidado de que los elementos WORD comiencen en las


direcciones de palabras (en caso necesario, inserte un bit dummy).

Nota: En caso de que la variable estructurada se asigne a una dirección directa y


se siga procesando de forma externa (p. ej. se cargue desde un sistema de
visualización desde el PLC), los elementos WORD (también los elementos
ANY_NUM) deberán comenzar incondicionalmente en una dirección de palabras.

Tipos de datos Si se van a transmitir tipos de datos derivados al hardware (tipos de datos derivados
derivados Located), sólo podrán depositarse en registros 3x o 4x. No es posible depositarlos
Located en registros 0x o 1x.

490 840 USE 493 03 Septiembre de 2001


Tipos de datos derivados

17.4 Llamado de tipos de datos derivados

Llamado de tipos de datos derivados

Introducción Tras la definición de un tipo de datos derivado en el editor de tipos de dato aparece
automáticamente el nombre del tipo de datos derivado en el editor de variables
(columna Tipo de datos). La asignación de una variable a un tipo de datos derivado
se realiza de la misma manera que para los tipos de datos elementales.

El llamado de las variables de elementos múltiples se puede realizar como entrada


de texto de los diferentes elementos o a través del campo de diálogo Buscar
variables. Tras la selección de una variable de elementos múltiples se puede
seleccionar el correspondiente elemento en el campo de diálogo Seleccionar el
elemento del tipo.

Activado de un Para activar un elemento de estructura se indica primero el nombre de variable y


elemento de entonces, separada por un punto, la indicación del nombre de elemento (por
estructura ejemplo VARIABLE_NOMBRE .ELEMENTO_NOMBRE). Si este elemento también
se compone de un tipo de datos derivado, se indica, también separado por un
punto, el siguiente nombre de elemento (por ejemplo
VARIABLE_NOMBRE.ELEMENTO_NOMBRE.SUB_ELEMENTO_NOMBRE) etc.

840 USE 493 03 Septiembre de 2001 491


Tipos de datos derivados

Ejemplo: Activado de un elemento de estructura:


Activado de un
Paso Acción
elemento de
estructura 1 Definir un tipo de datos derivado.
Por ejemplo:
TYPE
Example1:
STRUCT
Par1: BOOL;
Par2: INT;
END_STRUCT;
END_TYPE
2 Declarar una nueva variable (por ejemplo con el nombre TEST) en el editor de
variables.
3 Asignar a esta variable como tipo de datos, el tipo de datos derivado
confeccionado por usted (por ejemplo Example1).
4 Cerrar el editor de variables con Aceptar.
Resultado: Ahora se ha creado una variable de elementos múltiples con el
nombre "TEST" del tipo de datos "Example1".
5 Si se quiere activar esta variable de elementos múltiples como "completa", se
introduce simplemente el nombre de la variable (TEST) de la forma
acostumbrada en el programa.

Si sólo se quiere activar un elemento individual de esta variable de elementos


múltiples (por ejemplo el elemento "Par1"), se introduce en el programa el
nombre de variable y (separado por un punto) el nombre de elemento (por
ejemplo TEST.Par1).

Activado de un Para activar un elemento ARRAY se indica primero el nombre de variable y a


elemento ARRAY continuación entre corchetes el número de elemento (por ejemplo
VARIABLE_NOMBRE[4]).

492 840 USE 493 03 Septiembre de 2001


Tipos de datos derivados

Ejemplo: Activado de un elemento ARRAY:


Activado de un
Paso Acción
elemento ARRAY
1 Definir un tipo de datos derivado.
Por ejemplo:
TYPE
Example2: ARRAY [0..5] OF BOOL;
END_TYPE
2 Declarar una nueva variable (por ejemplo con el nombre MY_VAR) en el editor
de variables.
3 Asignar a esta variable como tipo de datos, el tipo de datos derivado
confeccionado por usted (por ejemplo Example2).
4 Cerrar el editor de variables con Aceptar.
Resultado: Ahora se ha creado una variable de elementos múltiples con el
nombre "MY_VAR" del tipo de datos "Example2".
5 En caso de que se quiera activar esta variable de elementos múltiples como
"completa", simplemente se introduce el nombre de la variable (MY_VAR) de la
forma acostumbrada en el programa.

Si sólo se quiere activar un elemento individual de esta variable de elementos


múltiples (por ejemplo el elemento 4 del ARRAY), se introduce en el programa
el nombre de variable y entre corchetes el nombre de elemento (por ejemplo
MY_VAR[4[).

Activado de un Para activar un elemento ARRAY que forma parte de una estructura, se indica
elemento ARRAY primero el nombre de variable, seguidamente separado por un punto, el nombre de
en una elemento y a continuación, entre corchetes, el número de elemento (por ejemplo
estructura VARIABLE_NOMBRE ELEMENTO_NOMBRE[4]).

840 USE 493 03 Septiembre de 2001 493


Tipos de datos derivados

Ejemplo: Activado de un elemento ARRAY en una estructura:


Activado de un
Paso Acción
elemento ARRAY
en una 1 Definir dos tipos de datos derivados (donde el segundo tipo de datos derivado
estructura utiliza al primero como elemento).
Por ejemplo:
TYPE
Example3:
STRUCT
Par1: BOOL;
Par2: ARRAY [0..5] OF BOOL;
Par3; BOOL;
END_STRUCT;

Example4:
STRUCT
Elem1: Example3;
Elem2: INT;
END_STRUCT;
END_TYPE
2 Declarar una nueva variable (por ejemplo con el nombre COMPLEX_VAR) en el
editor de variables.
3 Asignar a esta variable como tipo de datos, el tipo de datos derivado
confeccionado por usted (p.ej. Example4).
4 Cerrar el editor de variables con Aceptar.
Resultado: Ahora, se ha creado una variable de elementos múltiples con el
nombre "COMPLEX_VAR" del tipo de datos "Example4".
5 En caso de que se quiera activar esta variable de elementos múltiples como
"completa", se introduce simplemente el nombre de la variable
(COMPLEX_VAR) de la forma acostumbrada en el programa.

Si por ejemplo, sólo se activa un elemento individual de esta variable de


elementos múltiples (por ejemplo se quiere llamar al elemento 5 del elemento
ARRAY "Par2" (tipo de datos derivado "Example3") como elemento del
elemento "Elem1"). Indicar en el programa el nombre de variable, separado por
el nombre del elemento (en el tipo de datos derivado "actual", aquí "Example4"),
separado por un punto, el nombre del elemento del tipo de datos "actual"
derivado llamado por el tipo de datos derivado (aquí "Example3") y
seguidamente entre corchetes el número del elemento (por ejemplo
COMPLEX_VAR.Elem1.Par2[5]).

494 840 USE 493 03 Septiembre de 2001


Editor de datos de referencia

18
Introducción

Representación En este capítulo se describe el editor de datos de referencia (RDE) y su aplicación


cuando se activa la animación.

Contenido: Este capítulo contiene los siguiente apartados:


Apartado Página
Generalidades sobre el editor de datos de referencia 496
Convertir tablas RDE 497
Modificar estados de señal de una variable located 499
Ubicación cíclica de variables 500
Bloqueo incondicional de una sección 502
Animación 503
Reemplazar nombres de variables 506
Cargar datos de referencia 506

840 USE 493 03 Septiembre de 2001 495


Editor de datos de referencia

Generalidades sobre el editor de datos de referencia

Introducción En el editor de datos de referencia (RDE) se pueden visualizar variables en la


modalidad de animación, bloquear (forzar) referencias 0x y 1x, y ajustar
cíclicamente elementos de estructuras o variables elementales Unlocated. El
comportamiento de las variables se puede seguir y modificar online mediante el
acceso directo a las variables y direcciones directas utilizadas en el programa IEC.
En la modalidad de animación se muestran los estados de las variables (bloqueada,
ajustada cíclicamente) representados con distintos colores.

Crear tabla RDE Para crear una tabla RDE, utilice las variables declaradas en el editor de variables.
Para ello hay varias posibilidades:
Si... Entonces...
hace clic en el correspondiente campo se abre el cuadro de diálogo Consultar
numérico de la primera columna, variables, en el que podrá seleccionar una
variable declarada o un componente de
estructuras.
introduce el nombre de una variable las magnitudes declaradas se copiarán en la
declarada en la columna Nombre de la tabla RDE.
variable,
introduce la dirección directa en la columna el valor, el formato y, en su caso, también el
Dirección, nombre definido de la señal correspondiente
se copiarán en la tabla RDE.
utiliza el comando de menú Insertar los valores y formatos de las señales
direcciones... para insertar bloques enteros correspondientes se copiarán en la tabla
de referencias en la columna Dirección, RDE.

Visualizar los Al abrir una tabla RDE, los estados de las señales almacenados en la memoria
estados de las siempre serán sustituidos por los valores actuales del PLC.
señales Para ver los estados de las señales en el PLC, seleccione en la modalidad online el
comando de menú Estado del PLC.... Al iniciar el PLC, puede ver en la modalidad
de animación los estados de las señales a medida que se va ejecutando el
programa.

496 840 USE 493 03 Septiembre de 2001


Editor de datos de referencia

Imprimir tablas Para imprimir una tabla RDE abierta, haga clic en el comando de menú Imprimir
RDE del menú principal RDE. Se creará en papel una copia exacta de la pantalla de la
tabla RDE.

Nota: Se recomienda modificar antes las propiedades de la impresora en el


sistema operativo (Windows) para ajustar el papel a formato horizontal. De esta
forma la tabla RDE cabrá en una página.

Utilización de la No se recomienda utilizar una tabla RDE en varios proyectos, ya que podrían
tabla RDE aparecer tanto nombres de variables repetidos como nombres de variables que no
estaban en la tabla RDE original. Las variables de la tabla RDE siempre se
muestran con las direcciones de referencia actuales.

Convertir tablas El procedimiento que debe seguir para ello se describe en Convertir tablas RDE
RDE (Véase Convertir tablas RDE, p. 497).

Convertir tablas RDE

Introducción Las tablas RDE de las versiones anteriores de Concept se convierten automáti-
camente al formato de tabla de la nueva versión de Concept. Para diferenciar las
tablas RDE convertidas de las demás tablas RDE, se guardan con la extensión
*.RDF.

AVISO
Se generan tablas RDE incompletas.
Antes de proceder a la conversión, debería asegurarse de que las
variables recogidas en dicha tabla RDE estén declaradas en el
proyecto abierto de la nueva versión de Concept. Las nuevas variables
se enumeran en un mensaje de error y no se pueden visualizar en la
tabla RDE generada con extensión *.RDF.
Si no se respetan estas precauciones pueden producirse daños
corporales y/o materiales

840 USE 493 03 Septiembre de 2001 497


Editor de datos de referencia

Conversión La conversión automática se realiza al abrir una tabla RDE de una versión anterior
automática de Concept:
Paso Acción
1 Inicie la nueva versión de Concept y abra el proyecto.
2 Haga clic en el menú principal Online en el comando de menú Editor de datos
de referencia....
Resultado: Aparece el menú principal RDE en la barra de menús.
3 Haga clic en el menú principal RDE en el comando de menú Abrir tabla de
datos de referencia....
4 Seleccione el directorio en el que está guardada la tabla RDE *.RDE (p.ej.,
D:\CONCEPT_OLD).
Resultado: Se muestran todas las tablas RDE existentes (*.RDE o *.RDF).
Nota: Los archivos con la extensión *.RDF provienen de la conversión de las
tablas RDE generadas (*.RDE).
5 Seleccione la tabla RDE *.RDE que desee convertir.
6 Haga clic en el botón de comando OK.
Resultado: Aparece el mensaje Autoconversión RDE, que informa al usuario
de que la tabla *.RDE fue generada con una versión anterior de Concept y ahora
se va a guardar con otro formato nuevo para que sea posible utilizarla con esta
versión de Concept. La tabla convertida se guarda en un archivo con la
extensión *.RDF.
7 Haga clic en el botón de comando OK.
Resultado: Aparece la tabla RDE *.RDF convertida.
Atención: Previamente hay que declarar todas las variables de la tabla RDE en
el proyecto. En caso de variables nuevas aparece en ese momento el mensaje
de error Errores de tabla RDE, en el que se enumeran todas las variables no
existentes. Después de cerrar la ventana se abre la tabla RDE convertida, pero
ésta sólo contiene las variables declaradas.
8 Con el comando de menú Guardar tabla de datos de referencia bajo... es
posible guardar la tabla RDE convertida en el directorio de Concept de la nueva
versión (C:\CONCEPT_NEW).
Resultado: La tabla RDE convertida se almacena con la extensión *.RDF en el
directorio de Concept.

498 840 USE 493 03 Septiembre de 2001


Editor de datos de referencia

Modificar estados de señal de una variable located

Introducción Se pueden modificar las variables located si se activa en la columna Bloquear la


casilla de verificación de la correspondiente señal con el símbolo de gancho y
editando el valor. Al efectuar el bloqueo se separa la variable del equipo y sólo se
vuelve a utilizar en la lógica, cuando se anule el bloqueo. Se tienen en cuenta los
estados de señal modificados de todos los editores (FBD, SFC, LD, IL, ST, LL984).

Forzar entradas y Al forzar las entradas se aceptan los estados de señal hasta que se vuelva a
salidas modificar el valor en la tabla RDE. Al forzar las salidas aparece el nuevo valor al
comienzo de cada ciclo del programa. En caso de una posterior modificación
mediante la lógica de programa, se guarda este valor en la memoria de señal hasta
que se anule el bloqueo de la salida.

AVISO
Todos los estados de señal modificados se cargan directamente
en el PLC.
Sin embargo, no es éste el caso de las variables located forzadas.
Si no se respetan estas precauciones pueden producirse daños
corporales y/o materiales

Representación Las variables que están bloqueadas por la activación del símbolo de gancho,
de variables aparecen con un fondo de color en la representación de editor. Con la desactivación
bloqueadas. del símbolo de gancho desaparece también el fondo de color en la correspondiente
variable.

Cargar datos de Los valores ubicados cíclicamente y las variables bloqueadas se pueden cargar en
referencia el PLC con el comando de menú Cargar datos de referencia.
Estos ajustes se mantienen hasta que el usuario realiza una modificación en la tabla
RDE o si pierde los datos cargados en el autómata (por ejemplo al cargar otro
proyecto).

Nota: En caso de una tabla RDE abierta se memorizan los datos modificados
automáticamente con el comando de menú Cargar datos de referencia. En tal
caso, no hace falta ejecutar el comando de menú Guardar tabla.

840 USE 493 03 Septiembre de 2001 499


Editor de datos de referencia

Ubicación cíclica de variables

Introducción Las variables y los elementos de estructuras se pueden modificar introduciendo en


la columna Introducir valor un valor de ubicación que corresponda al tipo de datos
de la variable. Este valor se escribe una sola vez, si se activa a continuación en la
columna Ubicación cíclica la casilla de verificación de la señal correspondiente
con el símbolo de gancho. El nuevo estado de señal se carga directamente en el
PLC y se acepta en la gestión para variables ubicadas cíclicamente. El estado de
señal de la variable alcanzado tras el trabajado lógico al final del ciclo se indica en
la columna Valor. En el modo de animación se visualiza la ubicación cíclica de las
variables en secciones CEI.

Ubicar
cíclicamente
Nota: La ubicación cíclica de variables sólo se ejecuta EN LÍNEA y en el modo
IGUAL, pero no en el modo de animación. En función de la lógica puede diferir el
valor indicado del valor ubicado cíclicamente.

Si la casilla de verificación para la ubicación cíclica está activada con el símbolo de


gancho, aún se puede modificar el valor ubicado en la columna Introducir valor.
Si se desactiva la casilla de verificación en la columna Ubicación cíclica (sin
símbolo de gancho), se carga en el PLC y se utiliza en la lógica el estado de señal
en la columna Valor.
Cómo máximo se pueden ubicar cíclicamente 300 variables. La longitud de la
entrada está limitada durante la ubicación cíclica a 150 caracteres en la columna
Nombre de variable, ya que este nombre se transmite al control. Si se utiliza en el
editor de datos de referencia una variable repetidamente, durante la ubicación
cíclica se tiene en cuenta siempre el último valor indicado.

Nota: Todos los estados de señal modificados se cargan directamente en el PLC.

Ubicación cíclica y bloqueo de estados de señal en los modos de servicio:


Modo Opción Significado
FUERA DE Bloquear En el modo offline se pueden escribir las variables
LÍNEA declaradas en el editor de variables en la tabla RDE.
Los estados de señal determinados en el modo online
se visualizan en el modo offline, pero no se pueden
modificar, o bien, no muestran efecto alguno.
EN LÍNEA Bloquear Los estados de señal modificados de las variables
located se importan directamente de la lógica del
programa.

500 840 USE 493 03 Septiembre de 2001


Editor de datos de referencia

Modo Opción Significado


FUERA DE Ubicación cíclica No se puede ejecutar la ubicación de las variables en el
LÍNEA modo offline.
EN LÍNEA Ubicación cíclica El estado de señal en la columna Introducir valor se
utiliza con la activación de la casilla de verificación (el
símbolo de gancho aparece visible) para el trabajado
lógico y suministra al final del ciclo, un valor que se
visualiza en la columna Valor.

Introducir/ Los valores cíclicos ubicados en el modo de animación y estando la animación


eliminar lista de desconectada, se pueden insertar en la tabla RDE con el comando de menú
ubicación cíclica Introducir CSL.
Los valores ubicados cíclicamente en la tabla RDE se reconocen por el símbolo de
gancho en la columna Ubicación cíclica y se reconocen por líneas de tal manera,
que se habla de la lista de ubicación cíclica. Con el comando de menú Online →
Introducir CSL se inserta esta lista de ubicación reconocida, a partir de la línea
seleccionada, en forma de anexo en la tabla RDE. La introducción, o bien, inserción
de la lista de ubicación cíclica se puede repetir las veces que se desee. En el
portapapeles se encuentra siempre la lista de ubicación cíclica más actual y sólo se
elimina con el comando de menú Borrar CSL. Después, la introducción, o bien, la
inserción no es posible hasta que la próxima animación vuelva a ubicar los valores
cíclicamente.

Nota: Siempre se introducen todos los valores ubicados cíclicamente.

Cargar datos de Los valores ubicados cíclicamente y las variables bloqueadas se pueden cargar en
referencia el PLC con el comando de menú Cargar datos de referencia.
Estos ajustes se mantienen hasta que el usuario realiza una modificación en la tabla
RDE o si pierde los datos cargados en el PLC (por ejemplo al cargar otro proyecto).

Nota: En caso de una tabla RDE abierta se memorizan los datos modificados
automáticamente con el comando de menú Cargar datos de referencia. En tal
caso no hace falta ejecutar el comando de menú Guardar tabla.

840 USE 493 03 Septiembre de 2001 501


Editor de datos de referencia

Bloqueo incondicional de una sección

Introducción Para la sección a bloquear, la lógica debe suministrar una "salida" del tipo de datos
BOOL y se debe prestar atención a que se bloquee la misma con "1" lógico.

AVISO
Peligro de estados de proceso no deseados.
El bloqueo de una sección no significa que se desactiven las salidas
programadas dentro de la sección. Si se ha ubicado una salida ya en
un ciclo previo, se mantiene este estado también después del bloqueo
de la sección. El estado de estas salidas no se puede modificar más
después de bloquear la sección.
Si no se respetan estas precauciones pueden producirse daños
corporales y/o materiales

Nota: A ser posible, no se debe bloquear una sección que contenga una lógica
para bloquear/habilitar otras secciones. Los estados de salida de las secciones
bloqueadas no se pueden modificar.

Procedimiento Proceder como sigue para bloquear de forma incondicional una sección en la tabla
para el bloqueo RDE.
incondicional de
Paso Acción
una sección
1 Con un doble clic en un campo de texto de la primera columna en la tabla (1 ...
100), se abre el campo de diálogo Buscar variables.
2 Seleccionar en la zona Tipo de datos el botón de opción Estructurado y en el
campo de la lista SECT_CTRL.
Resultado: Se visualizan los nombres de todas las secciones.
3 Seleccionar los nombres de la sección a bloquear y abrir con el botón de
comando Elementos... el campo de diálogo Seleccionar el elemento del tipo.
4 Seleccionar la línea disable : BOOL y confirmar con Aceptar.
Resultado: Se registra en la tabla RDE la variable estructurada (nombre de
sección.disable), asignada a la sección que se va a bloquear.
5 Conectar el PLC y el terminal (Online → Conectar...) y cargar el programa de
usuario en el PLC (Online → Cargar...).
Resultado: El PLC se encuentra en el modo EN LÍNEA y ANIMACIÓN.
6 IntroducIR en la columna Valor un "1" lógico.
Resultado: La sección está bloqueada y no se va a procesar.

502 840 USE 493 03 Septiembre de 2001


Editor de datos de referencia

Animación

Introducción La animación sólo se puede efectuar en el modo EN LÍNEA. Con la activación de la


Animación se pueden visualizar los estados de señal de las variables en el Editor
de datos de referencia y observar así el comportamiento de las señales de salida
durante la secuencia de programa.
Durante la animación también se pueden modificar online los estados de señal. Los
nuevos valores se cargan automáticamente en el PLC y se tendrán en cuenta
durante la próxima pasada de ciclo.

Nota: Al modificar un valor se debe tener en cuenta que a continuación se vuelve


a anular el bloqueo de la variable. Una animación correcta para variables
bloqueadas no resulta posible.

Estado de La columna Estado de animación indica el estado de las variables unlocated


animación registradas durante la animación.
La siguiente tabla facilita una vista general sobre los posibles estados de animación.
Visualización Modo Causa
Sin utilizar EN LÍNEA, Una variable declarada en el editor de variables,
Nota: En el modo ANIMADO que no se utiliza en el programa de usuario, se ha
FUERA DE LÍNEA registrado en la tabla RDE.
esta visualización
cambia a "Programa
desigual"
Bits bloqueados ONLINE Se ha ubicado cíclicamente una variable unlocated
durante el modo de ANIMACIÓN.
Programa desigual EN LÍNEA Una variable modificada en el editor de variables,
que no se utiliza en el programa de usuario, se ha
registrado en la tabla RDE. EL programa se
encuentra en el modo MODIFICADO.
Programa desigual FUERA DE Una variable declarada en el editor de variables,
Nota: En el modo EN LÍNEA que no se utiliza en el programa de usuario, se ha
LÍNEA esta indicación registrado en la tabla RDE.
cambia a "Sin utilizar"

840 USE 493 03 Septiembre de 2001 503


Editor de datos de referencia

Representación Las variables forzadas o ubicadas cíclicamente en el editor de datos de referencia


de señales se identifican en los diferentes editores con un fondo de color.
forzadas y Las variables forzadas se representan como sigue:
ubicadas
Editor Representación
cíclicamente en
el modo de Editores CEI (FBD, LD, SFC, IL, ST) Al forzar, el nombre de variable aparece con un
ANIMACIÓN. fondo de color ocre (amarillo sucio).
Editor LL984 Al forzar contactos se subraya el nombre de
variable.
Al forzar bobinas se indica delante de la bobina un
contacto abierto ("Bloqueado").
Campos de control y Diálogo de Al forzar, el nombre de variable aparece con un
indicación fondo de color ocre (amarillo sucio).

Las variables ubicadas cíclicamente se representan como sigue:


Editor Representación
Editores CEI (FBD, LD, SFC, IL, ST) Durante la ubicación cíclica el nombre de variable
aparece con un fondo violeta.
Campos de control y Diálogo de Durante la ubicación cíclica el nombre de variable
indicación aparece con un fondo magenta.

Nota: En el LD (diagrama Ladder) se representan también las bobinas y los


contactos con color. No obstante, también es posible que debido al forzado y la
ubicación cíclica varíen los colores del nombre de variable de la representación de
color de las bobinas y de los contactos.

504 840 USE 493 03 Septiembre de 2001


Editor de datos de referencia

Representación Si se fuerza o se ubica cíclicamente un elemento de una variable estructurada,


de variables de existen diferentes posibilidades de representación:
elementos
Representación Causa
estructurados
forzados y El nombre de la variable estructurada En el editor se indica una variable de elementos
ubicados (por ejemplo motor) aparece con un múltiples (por ejemplo motor), en la cual uno o varios
cíclicamente en fondo de color. elementos están forzados o ubicados cíclicamente.
el modo de Todo el nombre del elemento de la En el editor se indica un elemento de una variable de
ANIMACIÓN. variable estructurada (por ejemplo elementos múltiples (por ejemplo motor a la derecha
motor a la derecha conectado) conectado), el cual ha sido forzado o ubicado
aparecerá con un fondo de color. cíclicamente.
El nombre de la variable estructurada En el editor se indica un elemento de una variable de
(por ejemplo motor a la derecha elementos múltiples (por ejemplo motor a la derecha
conectado) aparece con un fondo de conectado), el cual no está forzado o ubicado
color, pero no así el nombre del cíclicamente, pero otro elemento de esta variable de
elemento. elementos múltiples está ubicado cíclicamente o
forzado.

840 USE 493 03 Septiembre de 2001 505


Editor de datos de referencia

Reemplazar nombres de variables

Introducción En la tabla RDE abierta se ofrece la posibilidad de procesar al mismo tiempo el


editor de variables. Entonces, si se modifican los nombres de las variables con la
función Buscar/Reemplazar en el editor de variables, estas modificaciones se
aceptan automáticamente en la tabla RDE abierta. En este caso, primero se finaliza
la animación RDE y se debe volver a cargar la tabla RDE.

Procedimiento y Para aceptar automáticamente los nombres de las variables reemplazadas en la


resultado tabla RDE abierta al mismo tiempo se siguen los siguientes pasos:
Paso Acción
1 Abrir una sección y establecer el enlace EN LÍNEA.
Nota: El estado entre el PLC y el terminal debe ser IGUAL. En caso de que no
lo sea, se carga el programa en el PLC.
2 Iniciar la animación (Online → Animación de valores binarios).
Resultado: Los estados de la señal de la sección aparecen coloreados.
3 Abrir una tabla RDE válida (RDE → Abrir tabla…).
Resultado: La animación RDE se inicia.
4 Abrir el editor de variables (Proyecto → Declaración de variables...).
5 Abrir con el botón de comando Buscar/Reemplazar el diálogo Buscar/
Reemplazar.
6 Se reemplaza un nombre de variable válido por un nuevo nombre (Botón de
comando Reemplazar).
Resultado: El nombre de las variables se reemplazó en el editor de variables.
7 Con Aceptar se abandona el editor de variables.
Resultado: La sección se actualiza automáticamente y se finaliza la animación
RDE.
8 Cerrar la tabla RDE y guardar las modificaciones (Botón de comando Sí).
9 Abrir de nuevo la tabla RDE guardada (RDE → Abrir tabla…).
Resultado: La animación RDE se establece de nuevo con el nombre de la
variable modificado.

Cargar datos de referencia

Introducción Las variables modificadas en el editor de datos de referencia se transmiten con el


comando de menú Online → Cargar datos de referencia en el mismo ciclo al PLC.

Nota: La animación debe estar desconectada para la ejecución de la carga.

506 840 USE 493 03 Septiembre de 2001


Editor de mensajes ASCII

19
A primera vista

Introducción Este capítulo describe el editor de mensajes ASCII.

Contenido: Este capítulo contiene las siguientes secciones:


Sección Apartado Página
19.1 Diálogo del editor de ASCII 509
19.2 Interfaz de usuario del editor de mensajes ASCII 516
19.3 Cómo continuar después de recibir una advertencia 520
19.4 Editor ASCII en los modos fuera de línea, combinados y 521
directos.

840 USE 493 03 Septiembre de 2001 507


Editor de mensajes ASCII

508 840 USE 493 03 Septiembre de 2001


Editor de mensajes ASCII

19.1 Diálogo del editor de ASCII

A primera vista

Introducción Esta sección describe el diálogo de editor de ASCII.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Generalidades para el diálogo del editor ASCII 510
Texto 510
Variables 511
Código de control 512
Espacios 513
Retorno de cursor 514
Ajuste (buffer) 514
Repetición 515

840 USE 493 03 Septiembre de 2001 509


Editor de mensajes ASCII

Generalidades para el diálogo del editor ASCII

Introducción El editor de mensajes de ASCII se emplea para crear, editar y simular mensajes de
ASCII. El control/texto de mensajes de ASCII que está creado en el editor puede
transferirse al autómata seleccionado. También a la inversa, los mensajes de ASCII
internos para el controlador, se pueden cargar en el editor.

Un set de mensajes de ASCII consta sólo de una lista de mensajes que cumplen
determinadas reglas. El número de mensajes permitido y la máxima extensión del
set de mensajes de ASCII está definido como parte de la configuración del
autómata. Cada mensaje consta de una lista de campos de mensaje de ASCII
separados por comas.

Los siguientes campos son actualmente compatibles:


l Texto, p. 510
l Variables, p. 511
l Código de control, p. 512
l Espacios, p. 513
l Retorno de cursor, p. 514
l Ajuste (buffer), p. 514
l Repetición, p. 515

Condiciones Esta función sólo está disponible cuando se emplea:


previas l Concept para Quantum
l Los módulos J892 ó P892
l Lenguaje de programación LL984

Texto

Introducción Los mensajes de texto que definen los campos de texto adquieren el formato
’Hello World’ por medio del que Hello World pasa a ser el texto que se
expide. Las comillas simples son los delimitadores. El diálogo de desarrollo del
editor de mensajes ASCII proporciona una zona de desarrollo y una zona de
simulador en las que se interpreta y se visualiza el mensaje compuesto para realizar
cualquier edición antes de dejar el diálogo del editor.

Longitud del Un mensaje ASCII puede tener de longitud 134 palabras. Tres palabras son para el
mensaje encabezado más el mensaje real de 131 palabras como máximo (2 caracteres por
palabra).

510 840 USE 493 03 Septiembre de 2001


Editor de mensajes ASCII

Las palabras del mensaje se utilizan como sigue:


Tipo de campo Longitud del campo (en palabras)
Texto ASCII 1 + longitud del texto / 2 redondeados
Regreso 1
Ajuste 0, 1 1
Ajuste 2, 3 2
Control 1
Variable 1
Repetición 2
Espacio 1

Variables

Introducción A una variable se le da el formato NTF.

Esto significa que:


l N representa el número decimal (1...99) de los campos de datos del tipo de datos
que define T.
l T es el tipo de datos de la variable.
l F es la anchura del campo decimal para la variable.

Tipos de datos Los tipos de datos compatibles son:


Tipo Factor de repetición
A = carácter ASCII 1
B = número binario 1 a 16
H = hexadecimal 1a4
I = entero 1a8
L = entero con los 0 a la 1a8
izquierda
O = octal 1a6

840 USE 493 03 Septiembre de 2001 511


Editor de mensajes ASCII

Ejemplo Por ejemplo: 2H2 significa:


l 2 registros (N)
l en hexadecimal (T)
l que contiene 2 números hexadecimales (F)
N se puede alojar en el número de los registros de datos requeridos, pero no es un
requisito indispensable.

La relación es:
Tipo Relación
A Número de registros = N/2 (valor entero superior siguiente)
B Número de registros = N
H para 1 ≤ F ≤ 4... Número de registros = N
para 5 ≤ F ≤ 8... Número de registros = 2 x N
IyL Ocurre lo mismo que con H
O Número de registros = N

Código de control

Significado del A un código de control se le da el formato "Null", siendo Null de tres caracteres OOO
código de y las comillas dobles delimitadores.
control
Por ejemplo: "017"

512 840 USE 493 03 Septiembre de 2001


Editor de mensajes ASCII

Espacios

Significado de A un campo de espacios se le da el formato ddx, siendo dd un número decimal


los espacios (1..99) que se utiliza para determinar cuántos espacios se tienen que añadir al
mensaje.

Representación Muchos espacios entre texto:


del diálogo
Editor de mensaje ASCII

Borrar
Mensaje

1 ´Hello´,10x,´World´ Borrar todo

Vista

Exportar

Importar
Simulación:
Hello World

Palabras usadas: 12 Palabras libres: 8 Longitud: 12

OK Cancelar Ayuda

840 USE 493 03 Septiembre de 2001 513


Editor de mensajes ASCII

Retorno de cursor

Significado del Un campo del retorno de cursor añade un retorno de cursor a la información de
retorno de cursor salida y tiene el formato /.

Representación Retorno de cursor:


del diálogo
Editor de mensaje ASCII

Borrar
Mensaje

1 ´Hello´,/,´World´ Borrar todo

Vista

Exportar

Importar
Simulación:
Hello
World

Palabras usadas: 12 Palabras libres: 8 Longitud: 12

OK Cancelar Ayuda

Ajuste (buffer)

Significado del Especifica, expresamente sólo para P892, como se tiene que borrar el buffer del
ajuste mensaje de entrada. Este campo tiene el formato <*>/.
El * puede ser cualquiera de los siguientes:
* Significado
0 Retirar todos los caracteres del buffer. Un ejemplo es: <0> borra todo
1;bbb Se retira el número de caracteres especificados por bbb, por el cual bbb es un
número (1...255). Por ejemplo, <1;100> vacía los primeros 100 caracteres de
un buffer.

514 840 USE 493 03 Septiembre de 2001


Editor de mensajes ASCII

* Significado
2;hhhh Se explora el mensaje para los 2 caracteres que especifican los números
hexadecimales hhhh. Si se encuentra una correspondencia, se eliminan todos
los caracteres superiores pero sin incluir la correspondencia.
Un ejemplo es: <2;5445> origina que el buffer ‘12TEST’ pase a ser "TEST".
3;rrr;hhhh Se explora el mensaje para los 2 caracteres que especifican los números
hexadecimales hhhh. Si se encuentra una correspondencia, se eliminan todos
los caracteres superiores pero sin incluir la correspondencia. La búsqueda se
lleva a cabo con la frecuencia que especifica rrr, por lo cual rrr representa un
número decimal 1...255.
Ejemplo: <3;2 5445> origina que el buffer ‘12TEST3456TEST789TEST’ pase
a ser ST789TEST.

Repetición

Significado de Este campo de mensaje se utiliza para especificar que un número de campos de
repetición mensaje se repite varias veces. Este campo tiene el formato dd(*), siendo dd un
factor de repetición decimal (1....99), ( ) son delimitadores, y * es una serie de
campos de mensaje.

Representación Texto repetido:


del diálogo
Editor de mensaje ASCII

Borrar
Mensaje

1 3[´repeat´,2x] Borrar todo

Vista

Exportar

Importar
Simulación:
repeat repeat repeat

Palabras usadas: 12 Palabras libres: 8 Longitud: 12

OK Cancelar Ayuda

840 USE 493 03 Septiembre de 2001 515


Editor de mensajes ASCII

19.2 Interfaz de usuario del editor de mensajes ASCII

A primera vista

Introducción Esta sección describe el interfaz de usuario del editor de mensajes ASCII.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Cómo utilizar el editor de mensajes ASCII 517
Número de mensaje 518
Texto de mensaje 519
Texto de simulación 519

516 840 USE 493 03 Septiembre de 2001


Editor de mensajes ASCII

Cómo utilizar el editor de mensajes ASCII

Acceder al editor Se accede al editor de mensajes ASCII con el elemento del menú Mensajes
de mensajes ASCII... en el menú Project. Este editor permite añadir/modificar/eliminar mensajes
ASCII en un espacio de trabajo temporal y posteriormente guardar o cancelar los cambios.

Añadir mensajes Para añadir un nuevo mensaje se escribe el número del nuevo mensaje en el
nuevos cuadro de texto Mensaje y se escribe un mensaje sintácticamente correcto en el
cuadro de texto del mensaje. Al introducir un mensaje en el cuadro de texto del
mensaje, se visualiza su simulación correspondiente en el cuadro de texto
Simulación. Cuando el mensaje es sintácticamente incorrecto se visualiza en rojo.

Modicar los Para modificar un mensaje existente, se selecciona un mensaje desde la lista
mensajes Número de mensaje y se modifica el texto.
existentes

Eliminar Para eliminar un mensaje, se selecciona un mensaje desde la lista de número de


mensajes mensajes y se hace clic en Eliminar.
Al hacer clic en el botón Eliminar todo se retiran todos los mensajes que están en
el espacio de trabajo temporal. El botón está activo si por lo menos hay un mensaje
ASCII en el set de mensajes. Al seleccionar esta opción, se visualiza un diálogo de
confirmación.

Vista Hacer clic en el botón, Vista permite visualizar el diálogo Mensaje ASCII. La vista
del formato del mensaje es un número de mensaje seguido del texto del mensaje.
Se puede efectuar la selección entre las opciones disponibles. Para descargar el
editor desde la lista de vista, se hace clic en el mensaje y en Aceptar.

Guardar cambios El botón Aceptar se utiliza para guardar las operaciones ejecutadas mientras se
trabaja con el editor de ASCII y para cerrar el diálogo. Llegado a este punto, se
verifica que cada mensaje creado o modificado sea correcto sintácticamente. La
verificación comienza en el mensaje actual y continúa hasta que se hayan verificado
todos los mensajes. Si se detecta un error en la sintaxis, primero se visualiza una
definición del error y, tan pronto como se borra el diálogo del error, aparece el
mensaje con el cursor en el carácter del error. Todos los intentos de añadir
caracteres ASCII que provoquen que el tamaño del set de zona de todos los
mensajes en la configuración sea excesivo, generan un error.

Longitud, Estos campos muestran la longitud del mensaje actual (en palabras), el número de
utilizada y libre palabras utilizadas y el número de palabras que permanecen.

840 USE 493 03 Septiembre de 2001 517


Editor de mensajes ASCII

Número de mensaje

Introducción El cuadro combinado Número de mensaje es un diálogo que contiene una lista de
selección de mensajes con una marca de verificación al lado del mensaje
seleccionado en ese momento.

Este diálogo se utiliza para seleccionar los números de mensaje existentes y/o para
añadir nuevos números de mensaje. Cuando no hay mensajes, el cuadro de texto
y la lista están vacíos. Si hay mensajes, al principio se visualiza el editor con el
cuadro de texto que contiene el primer número de mensaje y una lista de números
de mensaje para los mensajes existentes. El número de mensaje que se vincula al
mensaje visualizado en el momento se registra encima del cuadro de lista.

Acción Seleccionar un mensaje existente haciendo clic en el botón de la lista y marcando


un número en la lista o introduciendo el mismo en el campo de texto. Insertar un
nuevo número de mensaje escribiendo el número en el campo de texto.

Efectos Si se modifica el número de mensaje asignado a un mensaje existente (la entrada


de texto o de lista), el cuadro de texto Mensaje permite visualizar el texto del
mensaje para el número de mensaje y el cuadro Simulación muestra la simulación
del mensaje. Si se ha introducido un número de mensaje nuevo, los cuadros de
texto Mensaje y Simulación se borran.

Tratamiento de Pueden aparecer los siguientes errores:


errores
Si... Entonces ...
se introduce un carácter no se visualiza un diálogo del campo del mensaje: "El
autorizado en el campo del número número del mensaje contiene caracteres prohibidos".
del mensaje. Después de reconocer el error, el número de mensaje
se pone a cero y el proceso continua en el cuadro de
texto Mensaje.
el cuadro de texto Mensaje no está se visualiza un diálogo del campo del mensaje: "Para
completo. poder introducir el texto tiene que haber
un número de mensaje".
Después de reconocer el error, el número de mensaje
se pone a cero y el proceso continua en el cuadro de
texto Mensaje.
el número es mayor que el conjunto se visualiza un diálogo del campo del mensaje: " El
de números máximo en número de mensajes es superior al set
Configurar → Instalación de máximo en la configuración".
ASCII.... Después de reconocer el error, el número de mensaje
se pone a cero y el proceso continua en el cuadro de
texto Mensaje.

518 840 USE 493 03 Septiembre de 2001


Editor de mensajes ASCII

Texto de mensaje

Introducción El cuadro de texto Mensaje es un editor de texto con formato libre para introducir
mensajes ASCII. Este editor permite una línea arbitrariamente larga de texto con
formato libre. A pesar de que el texto debe seguir la sintaxis del mensaje ASCII, no
tiene que ser necesariamente correcto sintácticamente antes de activar el botón
Aceptar, aunque se visualiza una nota sobre la validez durante la introducción de
mensajes.

Acciones Un mensaje seleccionado en ese momento está disponible para la edición. En caso
de que no lo esté, se puede introducir un mensaje nuevo. Las operaciones estándar
de edición de Windows (Cortar, Pegar, Copiar, ...) están permitidas.

Efectos Si el mensaje es sintácticamente correcto, su texto se visualiza en el color de texto


normal, En caso contrario, será de color rojo. En caso de que el texto se visualice
así, nunca se dará el caso en el que se requiera el desplazamiento horizontal.

Texto de simulación

Introducción El cuadro de texto Simulación es un campo de varias líneas de sólo lectura. La


salida simulada del mensaje actual se visualiza en esta ventana. Al añadir o
modificar los mensajes, la salida simulada se visualiza en la ventana de simulación.

Considera- La simulación de los códigos de control se visualiza como el carácter ASCII que
ciones corresponde al controlador, excepto aquellos códigos de control que no están
especiales autorizados en el control de texto de Windows y que están escritos como un ’l’.

Nota: Cualquier simulación mayor que 32 k caracteres se reduce a este máximo.

840 USE 493 03 Septiembre de 2001 519


Editor de mensajes ASCII

19.3 Cómo continuar después de recibir una


advertencia

Cómo continuar después de recibir una advertencia

Introducción Unas pocas condiciones permiten continuar trabajando con el editor ASCII aunque
puede que la funcionalidad quede restringida.

Nota: Para casar una configuración se pueden eliminar los mensajes.

Exceso de Los números de mensaje que están por encima del límite máximo se configuran en
mensajes totales Configurar → Instalación de ASCII.... sólo está disponible para visualizar o
eliminar. Estos mensajes aparecen de color gris.
La advertencia que los acompaña dice: "Advertencia: Algunos números de
mensaje superan el número de mensaje más alto xx, definido en
Configurar. Todos los mensajes que aparecen a continuación de
xx sólo se pueden visualizar o borrar."

Exceso de Si el tamaño del mensaje en la base de datos es mayor que el tamaño definido en
tamaño del área Configurar → Instalación de ASCII..., aparecerá una advertencia. Se puede
de mensajes continuar visualizando, cambiando o eliminando pero los cambios no se pueden
guardar a no ser que el tamaño disminuya por debajo de la instalación de la
configuración.
Esta advertencia dice: "Advertencia: El tamaño del área de mensajes
ASCII, xx, supera el tamaño máximo, xx, definido en
Configurar."

Consejos
Nota: Para casar una configuración se pueden eliminar los mensajes.

Nota: La información sobre el conjunto de caracteres ASCII se puede encontrar


en el manual del usuario del autómata.

520 840 USE 493 03 Septiembre de 2001


Editor de mensajes ASCII

19.4 Editor ASCII en los modos fuera de línea,


combinados y directos.

Editor de ASCII en los modos fuera de línea, combinados y directos.

Fuera de línea Cuando se utiliza Concept en el programa en modo fuera de línea, aparece el editor
de mensajes de ASCII con el set de mensajes guardados en la base de datos. Al
pulsar el botón Aceptar, estos mensajes se guardan en la base de datos.

Directo Cuando se utiliza Concept en el programa en modo directo, aparece el editor de


mensajes de ASCII con el set de mensajes guardados en el controlador. Al hacer
clic en el botón Aceptar , los cambios introducidos en los mensajes de ASCII se
descargan en el controlador.

Modo de Cuando se introduce el modo de combinación, Concept comprueba si la


combinación información del controlador coincide con la información de la base de datos. Si se
corresponden, se considera que el controlador es IGUAL a la base de datos. Si no
se corresponden, aparece el mensaje NO IGUAL. Si el estado es IGUAL, aparece
el editor de mensajes de ASCII con el set de mensajes de ASCII de la base de
datos. Si se modifica un mensaje de editor visualizado, estas modificaciones se
guardarán en la base de datos y en el controlador, después de hacer clic en el botón
Aceptar .

840 USE 493 03 Septiembre de 2001 521


Editor de mensajes ASCII

522 840 USE 493 03 Septiembre de 2001


Funciones online

20
Introducción

Representación Este capítulo describe las diferentes funciones online.

Contenido: Este capítulo contiene las siguientes secciones:


Sección Apartado Página
20.1 Generalidades acerca de las funciones online 525
20.2 Conectar el PLC 526
20.3 Establecer y controlar el autómata 540
20.4 Leer informaciones de proceso (estado y memoria) 550
20.5 Carga de un proyecto 555
20.6 Animación de secciones 565
20.7 Diagnósticos Online 568

840 USE 493 03 Septiembre de 2001 523


Funciones online

524 840 USE 493 03 Septiembre de 2001


Funciones online

20.1 Generalidades acerca de las funciones online

Generalidades

Introducción Tras establecer con Modbus, Modbus Plus o TCP/IP, la conexión entre el equipo
programador y el PLC, se puede cargar el proyecto al PLC. En los diferentes
editores se encuentran ahora disponibles funciones online especiales para
visualizar y modificar los valores actuales en la memoria de señal del PLC. Además
se puede controlar el PLC.

AVISO
Se podría producir un timeout de comunicación o una caída
general de protección de memoria, si se modifica el reloj del
sistema de su equipo programador en el servicio online.
Si no se puede finalizar el programa en ejecución, se deberían cerrar
todas las secciones de programa animadas o desconectar la
animación, a fin de reducir la posibilidad de llegar a una operación
crítica en el tiempo.
Si no se respetan estas precauciones pueden producirse daños
corporales y/o materiales

840 USE 493 03 Septiembre de 2001 525


Funciones online

20.2 Conectar el PLC

Introducción

Visión general En este apartado se ofrece información sobre la conexión del PLC.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Generalidades 527
Preajustes para servicio EN ¨LÍNEA 529
Conexión de red Modbus 529
Conexión de red Modbus Plus 530
Bridge Modbus Plus 537
Conexión de red TCP/IP 538
Conexión con simulador IEC (32 bits) 539
Estado del PLC 539

526 840 USE 493 03 Septiembre de 2001


Funciones online

Generalidades

Introducción Puede haber varios equipos de programación conectados a un PLC, pero sólo uno
puede acceder al PLC cada vez. Los demás equipos de programación estarán en
la modalidad de vigilancia y deberán actualizar la pantalla si se efectúan modifica-
ciones en la programación. Si dos equipos de programación intentan acceder al
mismo tiempo al PLC, se producirá un mensaje de error.

Comprobación Si hay abierto un proyecto y se conecta el equipo de programación al PLC,


de consistencia automáticamente se comprobará la consistencia entre el programa, los EFB y DFB
del equipo de programación y el PLC. El resultado de esta comprobación (IGUAL,
MODIFICADO o DIFERENTE) se indicará en la barra de estado y se registrará en
un fichero. Este fichero, que se encuentra en el directorio del proyecto de Concept
y se llama NOMBRE_PROYECTO.RMK, sólo tiene carácter informativo y actualiza
automáticamente su contenido. En el gráfico inferior se puede ver el significado de
las distintas entradas.

Significado de Significado de los estados:


los estados l IGUAL
El programa del equipo de programación y el del PLC son consistentes.
l DIFERENTE
El programa del equipo de programación y el del PLC no son consistentes. Para
conseguir que lo sean, utilice el comando de menú Online → Cargar....
l MODIFICADO
Se ha modificado el programa del equipo de programación. Puede aplicar estos
cambios online en el PLC con el comando de menú Online → Cargar
modificaciones.
Nota: También si se han efectuado modificaciones no relevantes para el código
(p. ej., crear/modificar comentarios en IL/ST, mover objetos (sin consecuencias
lógicas) en FDB/LD/SFC) se indicará temporalmente el estado MODIFICADO.
La próxima vez que se analice la sección (Proyecto → Analizar proyecto,
Proyecto → Analizar sección o Online → Cargar modificaciones) el proyecto
volverá automáticamente al estado IGUAL (si entretanto no se han efectuado
modificaciones relevantes para el código). Si también se han efectuado modifica-
ciones relevantes para el código, sólo estas secciones aparecerán en el cuadro
de diálogo Cargar modificaciones.

840 USE 493 03 Septiembre de 2001 527


Funciones online

Relaciones entre El gráfico muestra las relaciones entre los distintos estados del programa:
los estados
Abrir prog. con IGUAL (EqS)
Abrir prog. con "flag cargado"

Cerrar prog. Modificar config.


Conectar prog. almacenado
con IGUAL
Con "flag modificado" Desconectar
Dis
Desconectar Conectar prog. no almacenado
con IGUAL
Con "flag modificado"

Modificar

Cerrar prog.,
no guardar
Cerrar prog., Abrir prog. Cerrar prog.
Guardar

Abrir prog. después


de modificación Abrir prog. después de Carga OK
de DDT / FFB Unk modificación de !Eq E!s
DDT / FFB

Abrir prog. Conectar Carga fallida

Finalizar
conexión

Conectar con Carga


Conectar con fallida
IGUAL MODIFICADO

Cargar /
cargar modificaciones OK
Modificar
EqS Mod Modificar

Cerrar prog. con


Desconectar Guardar Guardar

Unk DESCONOCIDO
Dis SIN CONECTAR
!Eq DIFERENTE
Mod MODIFICADO
E!S IGUAL, pero sin guardar
EqS IGUAL y guardado

528 840 USE 493 03 Septiembre de 2001


Funciones online

Preajustes para servicio EN ¨LÍNEA

Introducción En el cuadro de diálogo Conectar con PLC se pueden definir las configuraciones
para el enlace de PLC y del modo EN LÍNEA resultante.

Derecho de Es posible definir las funciones que se ejecutan en modo de servicio EN LÍNEA, es
acceso decir, los comandos de menú que estarán disponibles en el menú principal
En línea.

Tipos de Para el enlace entre equipos de programación y autómatas, es importante conocer


protocolo la red en que se encuentra el participante, de modo que se seleccione el tipo de
protocolo correcto.
Se deberá decidir mediante las tablas el tipo de protocolo que corresponde a la
conexión de red:
Conexión del participante de la red Tipo de protocolo
Interfaces en serie Modbus
Adaptador SA85 Modbus Plus
Módulo NOE (en el Ethernet-Bus SINEC H1) TCP/IP
Tarjeta de interfaz TCP/IP (simulación de 32 bits) Simulador IEC (32 bits)

Nota: Ahora puede conectar el equipo de programación a un PLC. Es decir, antes


de que crear un enlace con otro PLC, se debe salir de una unión ya existente con
el comando de menú Desconectar..

Conexión de red Modbus

Introducción Para la conexión Modbus, los ajustes de la interfase Modbus deben coincidir con
los del PLC.
La interfase se edita en el cuadro de diálogo Ajustes en puerto Modbus
(Configuración del PLC → Ajustes en puerto Modbus).

Ajustes de Con la selección del tipo de protocolo Modbus introduzca más datos en el campo
protocolo para Ajustes de protocolo: Modbus. Determine la dirección de participante (Node No.)
Modbus en el PLC e introdúzcala en el campo de texto correspondiente. También puede
establecer el modo de transferencia para la comunicación entre el PLC y el equipo
de programación.

840 USE 493 03 Septiembre de 2001 529


Funciones online

En función del tipo de comunicación que se vaya a establecer, se puede utilizar una
de estas modalidades:
Verwendung Modalidad
Comunicación con distintos dispositivos centrales (host). La ASCII
modalidad ASCII trabaja con 7 bits de datos.
Comunicación con un PC compatible con IBM. La modalidad RTU
RTU trabaja con 8 bits de datos.

Después de establecer el puerto serie para la conexión a la red Modbus, utilice el


botón Ajustes... para abrir el cuadro de diálogo Ajustes para COMx. Introduzca
aquí los ajustes para la interfase igual que en el cuadro de diálogo Ajustes en
puerto Modbus.
Con el botón OK se establece la conexión ONLINE.

SoftPLC como SoftPLC (180-ASP-26x-xx) se utiliza en la red Modbus para el control de bus
participante de remoto. El módulo tiene una interfase Modbus Plus y dos interfases Modbus (en una
Modbus placa PC104).

Conexión de red Modbus Plus

Introducción Para la conexión a una red Modbus Plus, indique en el campo Ajustes de
protocolo: Modbus Plus si se va a utilizar el simulador IEC de 16 bits (puerto 0)
o la interfase Modbus Plus (puerto 1).
En el cuadro de lista se muestran todos los participantes de la red local. Además,
se muestra la ruta de acceso de la secuencia de rotación de token en la red, que
puede contener hasta 5 direcciones de participante. En una red se puede establecer
comunicación con hasta 64 participantes, es decir, una dirección de la ruta de
acceso puede estar entre 1 y 64. También es posible conectar varias redes a través
de un puente.

Nota: Para ver la lista de participantes de otra red, haga doble clic en uno de los
puentes que aparecen en la lista.

Simulador IEC El simulador simula un PLC acoplado a través de Modbus Plus. En la ruta de acceso
(16 bits) del cuadro de lista se indica la dirección del equipo de programación.
El simulador estará activo si en el campo Ajustes de protocolo: Modbus Plus: se
selecciona la opción Puerto 0.

Nota: Si el simulador está activo, no se pueden visualizar más participantes.

530 840 USE 493 03 Septiembre de 2001


Funciones online

El simulador está disponible para los lenguajes IEC (FBD, SFC, LD, IL y ST).

PLC como Para un PLC como participante de Modbus Plus, en el cuadro de lista se muestra
participante de la dirección que éste tiene en la ruta de acceso. Esta dirección corresponde a la
Modbus Plus dirección de participante que se ajusta mediante un conmutador rotativo que hay en
la parte posterior de la CPU.

SA85 como El módulo SA85 es un adaptador Modbus Plus para ordenadores IBM-AT o
participante de compatibles.
Modbus Plus En el cuadro de lista se muestra la dirección del puerto. Esta dirección indica la red
en la que está instalado el SA85.
Representación de una ruta de acceso con SA85:

Participante Participante Participante


A otros participantes
o a través de un puente
a otra red

MODBUS PLUS

AT/MC-984 SA85

840 USE 493 03 Septiembre de 2001 531


Funciones online

Bridge Plus Un Bridge Plus (BP85) conecta a los participantes de dos redes Modbus Plus. Este
como puente aparece en el cuadro de lista, y haciendo clic sobre él se accede a la
participante de siguiente red Modbus-Plus.
Modbus Plus Representación de una ruta de acceso con Bridge Plus BP85:
Red Modbus Plus A

Participante Participante Participante

22
BP85
BRIDGE
PLUS
Red Modbus Plus B
20
BP85
BRIDGE Participante Participante
PLUS

Red Modbus Plus C


12

Participante Participante Participante Participante

Conmutador de conexión
Conmutador de terminal
Ejemplo:
El ejemplo muestra una ruta de acceso a través de 3 redes Modbus Plus. La tarea
es enviar un mensaje del participante número 5 de la red A al participante número
12 de la red C.

532 840 USE 493 03 Septiembre de 2001


Funciones online

Aquí la ruta de acceso es 22.20.12.00.00 y está compuesta de la siguiente forma:


Ruta Significado
22 La primera dirección contiene la dirección de Bridge Plus en la red A del
participante 5, que origina el mensaje; es decir, que el mensaje procedente del
participante número se transmite a través de este puente hasta la siguiente red
B.
20 La siguiente dirección contiene la dirección de Bridge Plus en la siguiente red
B. Aquí el mensaje se transmite desde la red B hasta la tercera red C.
12 La tercera dirección contiene la dirección del participante número 12, que
constituye el punto de destino.
00.00 Las direcciones cuatro y cinco están a 0 porque no hay más direcciones de
reenvío.

Bridge como Mediante el puente Modbus Plus Bridge se establece la conexión entre la red
participante de Ethernet y la red Modbus Plus, o entre dos redes Modbus Plus.
Modbus Plus Modbus Plus Bridge deberá considerarse como ordenador central y deberá
configurarse en el campo Ajustes de protocolo: TCP/IP. Indique la dirección IP o
el nombre de host del puente y, a continuación, cambie en el cuadro de texto Tipo
de protocolo: al ajuste de red Modbus Plus.
El puente Modbus Plus Bridge sólo aparecerá en la lista de participantes de la red
Modbus Plus con el nombre de host que se haya introducido antes en el campo
Ajustes de protocolo: TCP/IP. Si se hace doble clic en el nombre de host
correspondiente, se abrirá el cuadro de diálogo Modbus Plus Bridge para la
configuración de la ruta de acceso de 5 bytes.
En el capítulo Bridge Modbus Plus, p. 537 encontrará el procedimiento que se debe
seguir en el cuadro de diálogo.
Ejemplo:

840 USE 493 03 Septiembre de 2001 533


Funciones online

En el cuadro de diálogo Modbus Plus Bridge (Véase Bridge Modbus Plus,


p. 537), cree la ruta de acceso 25.8.17.33.0, que define la siguiente conexión (de A
a D):

NOE

ETHERNET ETHERNET

Dirección IP:
205.167.8.10

Modbus Plus B Modbus Plus C


Puente 1 Puente 2
: : : :
Índice TCP 17: Índice MBP 33:
205.167.8.10 12.0.0.0.0
: : : :
25

MODBUS PLUS 12 MODBUS PLUS


Ordenador A D
Participante
central

Ruta de acceso Modbus Plus:


25.8.17.33.0
A El mensaje enviado por el ordenador central contiene la ruta de acceso de 5 bytes de
Modbus Plus. El primer byte con la dirección de participante del ordenador central remite
al puente Modbus Plus conectado a él. El puente Modbus Plus Bridge 1 recibe el mensaje
en la ruta interna 8, tal como se ha especificado en el segundo byte.
B El número de índice TCP 17 gestionado en el puente Modbus Plus (byte 3) transmite el
mensaje al participante configurado con la dirección IP 205.167.8.10. En este caso, el
participante con esta dirección IP es otro puente Modbus Plus.
C El puente Modbus Plus 2 recibe el mensaje. El número de índice MBP 33 indicado en el
4º byte y gestionado por el puente transmite el mensaje al participante Modbus Plus que
se haya configurado. En este caso, se trata del participante 12.0.0.0.0.
D El mensaje ha llegado a su punto de destino, el participante número 12 de Modbus Plus.

534 840 USE 493 03 Septiembre de 2001


Funciones online

Bridge El Bridge Multiplexer BM85 conecta hasta 4 aparatos o redes Modbus con una red
Multiplexer como Modbus Plus.
participante de Véase también "User’s Guide BM85 Modbus Plus Bridge/Multiplexer".
Modbus Plus Representación de una ruta de acceso con un Bridge Multiplexer BM85:
M Módem
Red Modbus Plus A
Conmutador de Modbus 5 22
Conmutador de terminal BM85
BRIDGE Participante
Conmutador de conexión MULTIPLEXER X
1 2 3 4

MASTER
A M 25
BP85
BRIDGE
SLAVE PLUS
A 24

RED
SLAVE M
50

RED
SLAVE M
80 Red Modbus Plus B

30 2

Participante Participante
Y Z

840 USE 493 03 Septiembre de 2001 535


Funciones online

SoftPLC como SoftPLC (180-ASP-26x-xx) se utiliza en la red Modbus Plus para el control de bus
participante de remoto. El módulo tiene una interfase Modbus Plus y dos interfases Modbus (en una
Modbus Plus placa PC104).
Representación de una ruta de acceso con un controlador basado en PC:

Participante Participante Participante


A otros participantes
o a través de un puente
a otra red

MODBUS PLUS

AT/MC-984 PC based
Controller
Bus ISA

TIO 1

TIO 2

TIO
Bus remoto sin interfase de derivación

536 840 USE 493 03 Septiembre de 2001


Funciones online

Bridge Modbus Plus

Introducción En este campo de diálogo se introduce la ruta de acceso de 5 Bytes, que define el
enlace del ordenador principal al participante de Ethernet.

Realizar ajustes En la siguiente tabla se describe cómo definir la ruta de acceso.


Zona de ajustes Byte de ruta de Significado
acceso
Ruta del Bridge 2. Byte Del bridge pueden salir como máximo 8 nodos
de enlace a otros escalones, de los cuales se
debe seleccionar uno.
IP Routing Byte 3. Byte Introducir un número de índice asignado a una
dirección IP. Esta dirección IP debe
corresponder a una dirección de participante
de Ethernet, a la que entonces se envía el
mensaje. Si esta dirección IP indica otro Bridge
Modbus Plus en Ethernet, para la
transferencia al escalón de Modbus Plus se
debe asignar otra dirección de participante
(MB+ Routing Byte).
MB+ Routing Byte 4. Byte Si se realiza un enlace entre dos escalones
Modbus Plus por dos Bridge Modbus Plus, se
debe introducir aquí el número de índice del
participante Modbus Plus. También este
número de índice está asignado a un número
de participante. Si no se establece ningún
enlace mediante otro bridge, se introduce aquí
el valor "0".
Dirección completa 5. Byte Según el ajuste, se visualiza toda la ruta de
acceso de 5 Bytes. El primer Byte se ajusta
automáticamente a la dirección de participante
del ordenador principal.

Número de Las asignaciones del número de índice de Modbus Plus están preajustadas y se
índice de pueden seleccionarse entre 0 y 25. Se debe tener en cuenta que el número de
Modbus Plus índice 255 está reservado para operaciones específicas. Con la selección de este
número de índice se permite la lectura de datos o la carga entre un participante
TCP/IP y el Bridge Modbus Plus mediante una orden interna. Los números de índice
250 hasta 253 están reservados y no se pueden ser utilizar.

840 USE 493 03 Septiembre de 2001 537


Funciones online

La siguiente tabla muestra el índice en la ruta de acceso de Modbus Plus.


Índice Ruta de acceso Modbus Plus
1 ... 64 1.0.0.0.0 ... 64.0.0.0.0
65 ... 128 2.1.0.0.0 ... 2.64.0.0.0
129 ... 192 3.1.0.0.0 ... 3.64.0.0.0
193 ... 249 3.2.1.0.0 ... 3.2.57.0.0

Número de Las asignaciones del número de índice TCP se realizan automáticamente después
índice TCP/IP de haber determinado la dirección IP del Bridge Modbus Plus Bridge en el campo
de diálogo Conectar → Ajustes de protocolo: TCP/IP . A cada índice se le asigna
una dirección IP, en la cual los primeros 3 Bytes corresponden a los primeros 3
bytes de la dirección IP del Bridge Modbus Plus. El 4º Byte se computa de manera
ascendente desde 1 hasta un máximo de 255.
Ejemplo:
En caso de una dirección IP de Bridge Modbus Plus de 205.167.4.65, se preajustan
automáticamente las direcciones TCP/IP según la siguiente tabla.
Índice Dirección IP
1 205.167.4.1
2 205.167.4.2
... ...
255 205.167.4.255

Nota: En el manual de usuario"174 CEV 200 30 TSX Momentum Modbus Plus to


Ethernet Bridge User Guide", se encuentra una descripción detallada del Bridge
Ethernet.

Conexión de red TCP/IP

Introducción Para la conexión Ethernet, seleccione el tipo de protocolo TCP/IP en el cuadro de


diálogo Conectar con PLC.

Ajustes de Para el acoplamiento con otros participantes Ethernet, introduzca en el campo


protocolo para Ajustes de protocolo: TCP/IP la dirección IP o el nombre de host del participante
TCP/IP Ethernet.

538 840 USE 493 03 Septiembre de 2001


Funciones online

Para el acoplamiento con Ethernet a través de participantes Modbus Plus,


introduzca en el campo Ajustes de protocolo: TCP/IP la dirección IP o el nombre
de host de Modbus Plus Bridge (véase también "Bridge como participante de
Modbus Plus (Véase Bridge como participante de Modbus Plus, p. 533)").

Acoplar Configurando el módulo NOE se puede establecer el acoplamiento de Quantum al


Quantum a bus Ethernet. De esta forma podrá comunicarse con otros componentes de
Ethernet automatización del sistema de bus Ethernet a través del equipo de programación.

Conexión con simulador IEC (32 bits)

Introducción El simulador simula un PLC acoplado mediante TCP/IP, pudiéndose simular


también los estados de la señal de los módulos de E/S. Se pueden acoplar al PLC
simulado hasta 5 equipos de programación simultáneamente.
Para activar el simulador, en el cuadro de diálogo Conectar con PLC seleccione el
tipo de protocolo Simulador IEC (32 Bits).

Ajustes de El simulador estará activo si en el campo Ajustes de protocolo: Simulador IEC


protocolo para el (32 Bits) introduce la dirección de su tarjeta de interfase TCP/IP (p. ej.,
simulador IEC 138.200.156.183).
(32 bits) Encontrará la dirección TCP/IP en la barra de título del programa simulador
PLCSIM32 de Concept.

Nota: De momento, el simulador sólo está disponible para los lenguajes IEC (FBD,
SFC, LD, IL y ST).

Estado del PLC

Introducción Con un enlace de escalón, se visualiza el estado del autómata en el cuadro de


diálogo Conectar con PLC en la lista de los participantes del escalón Modbus Plus.

Estados del PLC En la siguiente tabla figuran todos los estados que se pueden producir.
Estado Significado
En marcha Determina un PLC con el programa en marcha.
Detenido Determina un PLC con el programa parado.
Desconocido Determina un PLC desconocido.
Sin configurar Determina un autómata sin configuración de equipo, es decir, que
las funciones online no son posibles.

840 USE 493 03 Septiembre de 2001 539


Funciones online

20.3 Establecer y controlar el autómata

Introducción

Visión general En este capítulo se ofrece información sobre cómo establecer y controlar el PLC.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Generalidades 541
Especificación del tiempo para la ejecución de ciclos constantes 541
Ciclos únicos 542
Borrar del autómata las zonas de memoria 543
Procesado LL984 con velocidad optimizada 544
Guardar en Flash 544
Reactivar Guardar en flash 546
Establecer contraseña del PLC 547

540 840 USE 493 03 Septiembre de 2001


Funciones online

Generalidades

Introducción El PLC y la funcionalidad de la CPU se pueden controlar en la modalidad online.


Para establecer la modalidad online deberá conectar el PLC al equipo de
programación.
Los siguientes comandos le permitirán influenciar directamente el PLC:
l Establecer tiempo de ciclo
l Función de ciclos únicos
l Borrar contenido de PLC
l Ajustar hora
l Ejecutar procesado optimizado
l Guardar en flash
l Ubicar contraseña de PLC
Los comandos para instalar y controlar el PLC se encuentran en Online → Control
online.

Especificación del tiempo para la ejecución de ciclos constantes

Introducción En el cuadro de diálogo Online → Control Online → Conectar ciclo constante...


→ Ajustes para ciclo constante puede establecer un tiempo de ciclo constante
para el procesado del programa de aplicación.
Si el tiempo de ciclo real fuera más largo que el tiempo de ciclo constante
establecido por el usuario, el sistema no tendrá en cuenta este ajuste y utilizará el
tiempo de ciclo normal (tiempo de ciclo libre).
Si selecciona un tiempo de ciclo constante más largo que el tiempo de ciclo real, el
autómata esperará en cada ciclo hasta que transcurra el tiempo de ciclo que ha
ajustado.

Nota: Esta función no se puede ejecutar en una conexión con el simulador.

Condición de Este cuadro de diálogo sólo está disponible si el PLC y el equipo de programación
selección están conectados entre sí (modalidad ONLINE).

Ajustes para Para determinar el ciclo constante, primero hay que establecer un registro (4x).
ciclo constante También hay que indicar el tiempo de ciclo (10 - 200 ms) asignado al registro.

Nota: El tiempo de ciclo aumenta si hay varias ventanas abiertas en Concept, p.


ej., si se están viendo varias secciones en la modalidad de animación. Por eso, si
utiliza varias ventanas, deberá reducir el tiempo de ciclo.

840 USE 493 03 Septiembre de 2001 541


Funciones online

Finalizar la Al seleccionar la ejecución de ciclos constantes con el botón Conectar ciclo


función de ciclos constante..., el nombre del botón cambia a Expl. const. desc.... Haga clic en este
constantes botón para volver a desactivar la función.

Ciclos únicos

Introducción En el cuadro de diálogo Online → Control Online → Ciclo único conectado... →


Ajustes para ciclo único puede establecer ciclos únicos para el procesado del
programa de aplicación.
Una vez ejecutada la cantidad de ciclos establecida, se detiene el procesamiento
lógico. Esta función es útil para los diagnósticos, ya que permite controlar la lógica
procesada, los datos modificados y los cálculos efectuados.

ADVERTENCIA
Puede causar operaciones inseguras, peligrosas y destructivas
de las herramientas o procesos conectados al autómata.
Los ciclos únicos no deberían utilizarse para buscar errores en
autómatas de herramientas de la maquinaria, procesos o sistemas de
administración de materiales mientras están en ejecución. Una vez
procesado el número de ciclos indicado, todas las salidas se mantienen
en su último estado. Al no realizarse más procesamiento lógico, el
autómata no tendrá en cuenta ninguna información de entrada. Por
eso, la función de ciclos únicos sólo debería utilizarse para buscar
errores durante la puesta en servicio.
Si no se respetan estas precauciones pueden producirse graves
daños corporales y/o materiales.

Condición de Este cuadro de diálogo sólo está disponible si el PLC y el equipo de programación
selección están conectados entre sí (modalidad ONLINE). La ejecución de los ciclos únicos
sólo tiene lugar si el PLC está en la modalidad EN MARCHA.

Ajustes para Para determinar los ciclos únicos, hay que establecer el tiempo de ciclo (10 - 200
ciclos únicos ms) y la cantidad de ciclos que se van a ejecutar. Se permiten como máximo 15
ciclos únicos.

542 840 USE 493 03 Septiembre de 2001


Funciones online

Ejecución de los Una vez establecido el tiempo de ciclo y la cantidad de ciclos, se pueden ejecutar
ciclos únicos los ciclos únicos con el botón Disparar.

Nota: El botón Disparar sólo está disponible si el PLC está en la modalidad EN


MARCHA.

Finalizar la Después de iniciar la función de ciclos únicos con el botón Ciclo único conectado,
función de ciclos el nombre del botón cambia a Ciclo único desc.. Si hace clic en este botón, se
únicos vuelve a desactivar la función, y los botones Ajustes... y Disparar ya no aparecen
en el cuadro de diálogo.

Borrar del autómata las zonas de memoria

Introducción Se pueden eliminar del autómata determinadas zonas de memoria cuando se activa
en el cuadro de diálogo En línea → Control en línea → Borrar PLC... → Borrar
contenido del autómata, el correspondiente botón de opción.
Con el comando de menú Cargar... se pueden volver a cargar en el autómata las
zonas de memoria eliminadas.

Condición de Este cuadro de diálogo sólo se encuentra disponible cuando se ha establecido el


selección enlace entre el autómata y el terminal (servicio EN LÍNEA) y cuando el autómata se
encuentra en el modo de PARADA.

Borrar Si se borra la configuración de equipo de un autómata, no se pueden ejecutar otras


configuración funciones en línea. En la barra de estado se visualizan los modos SIN
CONFIGURAR y DESIGUAL.

Borrar programa Si se elimina el programa de usuario en el autómata, no se puede iniciar el


autómata. En la barra de estado, se visualiza el estado DESIGUAL.

Borrar memoria Si se elimina la memoria de señal, se ubican en 0 los Valores iniciales de las
de señal variables located en el autómata.

840 USE 493 03 Septiembre de 2001 543


Funciones online

Procesado LL984 con velocidad optimizada

Introducción Un procesado LL984 con velocidad optimizada se puede iniciar en el cuadro de


diálogo Online → Control online con el botón de comando Procesado optimizado
conectado.
Después de activar el botón de comando cambia la denominación a Procesado
optimizado desconectado. Esto significa que al hacer clic en este botón de
comando se vuelve a desactivar la optimización de velocidad en ejecución.

Nota: Esta función sólo influye en los programas LL984.

Condición de Este cuadro de diálogo sólo se encuentra disponible, cuando se ha establecido el


selección enlace entre el PLC y el terminal (servicio EN LÍNEA) y cuando el autómata se
encuentra en el modo de PARADA.

Guardar en Flash

Introducción Para garantizar la seguridad de los datos es posible guardar parte de la memoria
RAM en la EPROM Flash del PLC. Después de un corte de suministro eléctrico se
vuelve a cargar el contenido de la EPROM Flash en la RAM de la CPU para el
reinicio.

ADVERTENCIA
¡El estado de proceso se modifica tras el reinicio!
Es muy importante elegir el momento apropiado para el
almacenamiento en flash ya que en la memoria flash pueden existir
valores de señal que se van a cargar después de un corte de suministro
eléctrico y no corresponden al estado de proceso para el reinicio.
Si no se respetan estas precauciones pueden producirse graves
daños corporales y/o materiales.

Condición de Esta función está disponible cuando se utilizan todos los módulos Momentum,
selección Quantum y Compact TSX 140 CPU 434 12 y 140 CPU 534 14.
Esta función no está disponible para Quantum en la modalidad Hot Standby IEC.
La función de memoria de flash no está disponible si se utiliza el simulador.

544 840 USE 493 03 Septiembre de 2001


Funciones online

Procedimiento Para guardar en la memoria flash, realice los siguientes pasos:


Paso Acción
1 Dependiendo del hardware, seleccione en el campo Tipo de Flash los botones
de opción Interno o Tarjeta PC.
Nota: Las aplicaciones que requieren más de 480 Kbytes deben guardarse en
la memoria flash tarjeta PC.
2 Seleccione en el campo Estado del PLC la modalidad de servicio (EN MARCHA
o DETENIDO) en la que se va a encontrar el PLC después del reinicio.
3 Active la casilla de verificación Admitir editado después de arrancar, si desea
editar el programa de flash cargado una vez restablecida la tensión de
alimentación.
Atención: Dado que estas modificaciones posteriores no se han cargado en la
EPROM Flash, estos datos se pierden en caso de corte de suministro eléctrico.
4 Active la casilla de verificación Guardar memoria de señal, si desea guardar
todos los registros 4x en la EPROM Flash.
Nota: Esta opción no está disponible para la familia Momentum, es decir, todas
las aplicaciones se cargan siempre en la EPROM Flash.
5 Si está activada la casilla de verificación Guardar memoria de señal, hay que
indicar la cantidad de registros en el cuadro de texto Cantidad de Reg. 4x a
guardar. El rango de registros correspondiente que se va a cargar en la EPROM
Flash se establece partir de la dirección 400001.
6 Active el botón de comando Guardar en Flash para cargar el programa de
aplicación, la configuración y los valores iniciales de la programación IEC de la
RAM en la EPROM Flash.

Edición del Siempre que esté activada la casilla de verificación Admitir editado después de
programa de arrancar, durante el almacenamiento en flash se cargan informaciones en la
flash EPROM Flash que permiten la edición del programa después de la carga del
contenido de la memoria Flash (p.ej., cuando se restablece la tensión de
alimentación). Dado que estas modificaciones posteriores no se han cargado en la
EPROM Flash, estos datos se pierden en caso de un posible corte de suministro
eléctrico. Para evitar estos casos, es necesario cargar las modificaciones en la
EPROM Flash con el botón de comando Guardar en Flash.

Modificación del Siempre que la casilla de verificación Admitir editado después de arrancar esté
programa de desactivada, es posible modificar el programa después de la carga del contenido de
flash no admitida la memoria flash (p.ej., cuando se restablece la tensión de alimentación), pero estos
cambios no se pueden cargar en la EPROM Flash.

840 USE 493 03 Septiembre de 2001 545


Funciones online

La modificación del programa causa los siguientes resultados durante la lectura de


EPROM Flash:
Procedimiento: Modificaciones Modificaciones Después de la
guardadas con guardadas con conexión se
Cargar Guardar proyecto establece el siguiente
modificaciones... estado:
a) sí no IGUAL
b) sí sí DIFERENTE

Si en el caso anterior a) se establece el estado IGUAL, el contenido del equipo de


programación es distinto del contenido de la EPROM Flash. Después de un corte
de suministro eléctrico se carga la EPROM Flash, de forma que se pierden todas
las modificaciones.
Si en el caso anterior b) se establece el estado DIFERENTE, el contenido de la
EPROM Flash es distinto del contenido del equipo de programación. Después de
un corte de suministro eléctrico se carga la EPROM Flash, de forma que se pierden
todas las modificaciones.

Nota: Para cargar de nuevo una modificación del programa en EPROM Flash,
deberá estar de nuevo disponible el botón de comando Guardar en Flash. Para
ello, se deben realizar determinados pasos que se describen en la sección
Reactivar Guardar en flash, p. 546.

CPU Ethernet M1 Si se utilizan CPU Ethernet Momentum, al guardar en EPROM Flash se pierde la
contraseña. A continuación, la aplicación protegida por contraseña se cargará
siempre de manera automática en cada ciclo de conexión o desconexión. Este
proceso ya no se puede deshacer, de forma que se deberá enviar el PLC para
realizar una revisión.

Reactivar Guardar en flash

Introducción Si no ha activado la casilla de verificación Admitir editado después de arrancar


al guardar en flash, el programa guardado en EPROM Flash ya no se podrá
modificar. Después de un corte de suministro eléctrico se lee la EPROM Flash al
reiniciar el PLC, pero los botones de comando Guardar en Flash y Borrar Flash
no están disponibles.

546 840 USE 493 03 Septiembre de 2001


Funciones online

Reactivar Para permitir de nuevo la opción de guardar en flash son necesarios los siguientes
Guardar en flash pasos:
Paso Acción
1 Desconecte el PLC.
2 CPU Compact: coloque el conmutador "Memory Protect" (protección de
memoria) en la posición ON.
CPU Quantum: coloque el conmutador en la posición "Stop".
3 Vuelva a conectar el PLC.
4 CPU Compact: coloque el conmutador "Memory Protect" (protección de
memoria) en la posición OFF.
CPU Quantum: coloque el conmutador en la posición "Start".
5 Establezca la conexión entre el equipo de programación y el PLC (Online →
Conectar...).
6 Abra el cuadro de diálogo Guardar en Flash (Online → Control online →
Programa en Flash...).
Resultado: Los botones de comando Guardar en Flash y Borrar Flash
vuelven a estar disponibles.

Establecer contraseña del PLC

Introducción Utilizando una contraseña es posible evitar la descripción no autorizada del PLC a
través de comandos Modbus.
No obstante, antes de poder establecer una contraseña nueva es necesario cargar
la configuración en el PLC. A continuación, predetermine la contraseña y vuelva a
cargar la configuración en el PLC. La contraseña queda guardada de forma que al
conectar el equipo de programación con el PLC se efectúa la protección por
contraseña. Para tener acceso es necesario indicar dicha contraseña.

Caracteres Junto a la longitud máxima de 16 caracteres se permiten los siguientes caracteres:


permitidos l a ... z
l A ... Z
l 0 ... 9
l _
l "

Nota: No se admiten los espacios en blanco.

840 USE 493 03 Septiembre de 2001 547


Funciones online

Condiciones de Esta función está disponible durante la utilización de todas las CPU Ethernet
selección Momentum y Compact TSX con el lenguaje de programación 984 Ladder Logic.

Establecer Para establecer una nueva contraseña, realice los siguientes pasos:
contraseña
Paso Acción
nueva
1 Cargue la configuración en el PLC con Online → Cargar....
2 Abra con Online → Control online... → Establecer contraseña del PLC... el
cuadro de diálogo Cambiar contraseña del PLC.
3 Introduzca la nueva contraseña en el cuadro de texto Ingresar contraseña
nueva:.
4 Vuelva a introducir la contraseña nueva en el cuadro de texto Confirmar
contraseña nueva:.
5 Haga clic en el botón de comando OK.
Resultado: Se cierra el cuadro de diálogo.
6 Cargue la configuración en el PLC con Online → Cargar....
Resultado: La contraseña se carga en el PLC y será necesario indicarla en la
próxima conexión entre el PLC y el equipo de programación.

Cambiar Para cambiar una contraseña antigua, realice los siguientes pasos:
contraseña
Paso Acción
antigua
1 Abra con Online → Control online → Establecer contraseña del PLC... el
cuadro de diálogo Cambiar contraseña del PLC.
2 Introduzca la antigua contraseña en el cuadro de texto Ingresar contraseña
anterior:.
3 Introduzca la nueva contraseña en el cuadro de texto Ingresar contraseña
nueva:.
4 Vuelva a introducir la contraseña nueva en el cuadro de texto Confirmar
contraseña:.
5 Haga clic en el botón de comando OK.
Resultado: Se cierra el cuadro de diálogo.
6 Cargue la configuración en el PLC con Online → Cargar....
Resultado: La contraseña se carga en el PLC y será necesario indicarla en la
próxima conexión entre el PLC y el equipo de programación.

548 840 USE 493 03 Septiembre de 2001


Funciones online

Generar Para generar una contraseña olvidada, realice los siguientes pasos:
contraseña
Paso Acción
olvidada
1 Desconecte la tensión eléctrica del PLC.
2 Coloque el conmutador de protección de memoria del módulo de hardware en
la posición MEM_PROT.
3 Retire la batería de litio del PLC.
4 Vuelva a conectar la tensión eléctrica del PLC.
Resultado: De este modo se borra la RAM de copia de seguridad de la batería
sin que se cargue el programa PLC de la EPROM Flash. Así se restablece el
estado inicial del PLC (sin configuración y sin contraseña de acceso).
5 Continúe con la tabla de pasos Establecer contraseña nueva, p. 548.

840 USE 493 03 Septiembre de 2001 549


Funciones online

20.4 Leer informaciones de proceso


(estado y memoria)

Introducción

Visión general En este capítulo se ofrece información sobre la lectura de la información de


proceso.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Generalidades 551
Estado del PLC 551
Estadísticas de memoria 552

550 840 USE 493 03 Septiembre de 2001


Funciones online

Generalidades

Introducción Durante la puesta en marcha de una instalación de automatización se pueden


controlar determinados procesos y su ocupación de memoria.

Nota: Durante la lectura de la configuración, generada por otra herramienta de


configuración (por ejemplo SyCon, CMD), se pueden producir errores. La lectura
se basa en una extracción de memoria, la cual no siempre es compatible con los
demás programas de software. Por tanto, se debe utilizar siempre el convertidor
de Modsoft para transmitir las aplicaciones Modsoft a Concept.

Lectura de los Los bits de estado informan sobre la comunicación del hardware con los demás
bits de estado módulos, así como sobre los errores que aparecen durante la secuencia del
programa. Ya durante la configuración, el usuario indica registros de estado. En
estos registros se reservan los bits de estado, los cuales modifican su estado,
cuando se ubica en el proceso una señal errónea o cuando no se cumple un valor
de timeout. Mediante los estados de status (0 ó 1), el usuario puede reconocer si el
proceso se ejecuta erróneamente.

Lectura de la En la estadística de memoria, el usuario puede controlar la ocupación de memoria


ocupación de para el proyecto actual. En una vista general se muestra la memoria total, el espacio
memoria de memoria disponible y la memoria utilizada para el programa de usuario, así como
los datos de usuario y las bibliotecas EFB.

Estado del PLC

Introducción Todos los estados del autómata se visualizan en el campo de diálogo de varias
páginas.
El total de 67 páginas incluye información sobre el estado diferente.

Condición de Está función sólo se encuentra disponible cuando se ha establecido un enlace entre
selección el PLC y el terminal. Con el simulador activo no se pueden llamar los estados del
PLC.

Estados de la Se facilita la siguiente información de estado acerca de la programación:


programación l Cantidad de los segmentos
l Dirección del pointer de fin de lógica
l Estado En marcha/Cargar/Depurar

840 USE 493 03 Septiembre de 2001 551


Funciones online

Estados del Se facilita la siguiente información de estado acerca del equipo:


equipo l Estado de la unidad central
l Estado Hot Standby S911
l Estado de la máquina
l Estado del procesador E/S
l Estado E/S Quantum
l Estado DIO

Códigos de error Se facilita la siguiente información de estado acerca de la aparición de errores:


l Código de parada de la máquina
l Código de error de arranque S908 de Quantum

Estados de Se facilita la siguiente información de estado acerca de las ejecuciones de


transferencia y transferencia y comunicación:
comunicación l Estado de transferencia de datos
l Estado de transferencia de mensajes
l Estado de comunicación

Estados del Se facilita la siguiente información de estado acerca del cable A + B:


cable A + B l Cable A + B contador de errores
l Estado global A + B
l Cable A + B contador de errores de comunicación

Estadísticas de memoria

Introducción En el diálogo Estadísticas de memoria tendrá una vista general de los datos de
memoria del proyecto abierto. Además, si utiliza un PLC real (y no un simulador)
aparecerá el tiempo de ciclo actual.

Memoria total Las estadísticas de memoria contienen la siguientes información:


IEC
Memoria total IEC Significado
Configurado El valor que aparece corresponde al valor indicado en el diálogo
Selección del PLC.
Nota: Si utiliza un simulador, no aparecerá la visualización de la
memoria total.
Utilizado El valor que aparece corresponde al espacio de memoria de
programa IEC utilizado por el programa de aplicación.
Nota: Si utiliza un simulador, no aparecerá la visualización del
espacio de memoria utilizado.

552 840 USE 493 03 Septiembre de 2001


Funciones online

Modificar el La memoria total IEC está compuesta por la memoria de programa IEC y los datos
tamaño de la globales. Para las extensiones de programa y para la gestión de modificaciones en
memoria total los programas será necesario disponer de espacio adicional en la memoria total
IEC IEC. Se recomienda ajustar el valor de modo que en el cuadro de texto Usado
quede libre además entre un 20% y un 30% del valor indicado.

Nota: Las modificaciones sólo podrán realizarse offline, y sólo se podrán llevar a
cabo si el programa se ha cargado en el PLC.

Memoria de Los valores que aparecen corresponden al espacio de memoria utilizado para
programa IEC l Código de programa
l Código EFB
l Datos de programa (datos de sección y de instancia DFB)

Datos globales Las estadísticas de memoria contienen la siguientes información:


Espacio de Significado
memoria
Configurado El valor que aparece corresponde al espacio de memoria para
Unlocated variables, indicado en el diálogo Selección del PLC.
Utilizado El valor que aparece corresponde al espacio de memoria de
programa de las Unlocated variables declaradas utilizado por el
programa de aplicación.

Modificar el Puede modificar el tamaño del espacio de memoria para datos globales. Para ello
tamaño de deberá tener en cuenta que un aumento de los datos globales hará que disminuya
memoria para la memoria de programa IEC. Todos los objetos, como instancias FFB, variables,
datos globales pasos, etc. necesitan ciertos bytes en la memoria de programa IEC.
Dado que al borrar Unlocated variables no se genera automáticamente espacio de
memoria, es recomendable planificar con espacio de memoria suficiente. Se
recomienda ajustar el valor de modo que en el cuadro de texto Usado quede libre
además entre un 20% y un 30% del valor indicado.

Nota: Las modificaciones sólo podrán realizarse offline, y sólo se podrán llevar a
cabo si el programa se ha cargado en el PLC.

840 USE 493 03 Septiembre de 2001 553


Funciones online

Tiempo de ciclo El valor que aparece corresponde al tiempo de ciclo actual. Durante la primera
llamada se lleva a cabo una normalización de la estación de E/S, estableciéndose
un tiempo de ciclo de 0 ms/ciclo. El tiempo de ciclo se calcula en forma de valor
medio después de la inicialización.

Nota: Si utiliza un simulador, no aparecerá la visualización del tiempo de ciclo. La


marca na significa "not available", no disponible.

554 840 USE 493 03 Septiembre de 2001


Funciones online

20.5 Carga de un proyecto

Introducción

Visión general Este capítulo contiene la información relativa a la carga de proyectos.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Generalidades 556
Cargar 557
Cargar modificaciones 558
Leer dotación del PLC 561
Procedimiento durante la carga 563

840 USE 493 03 Septiembre de 2001 555


Funciones online

Generalidades

Introducción Para la ejecución de comandos online, se debe realizar una transferencia al PLC
después de confeccionar o modificar secciones. O se puede transferir un proyecto
completo del PLC al equipo programador. Si el programa de aplicación en el equipo
programador y el PLC son consistentes, se indica el estado IGUAL en la barra de
estado.
Con la indicación de estado MODIFICADO se identifica a un programa, en el cual
ha sido modificada mínimamente una sección o en el cual se han efectuado
modificaciones en el editor de variables. Con el comando de menú Cargar
modificaciones... se restaura la consistencia entre el equipo programador y el
PLC. Con la indicación de estado DESIGUAL se identifica a un programa, en el cual
se han efectuado modificaciones "críticas". Modificaciones críticas son por ejemplo
la modificación de EFB, DFB o tipos de datos derivados. Con el comando de menú
Cargar... se establece la consistencia entre el equipo programador y el PLC.
Cargar, cargar modificaciones y Leer dotación, no son posibles en la modalidad de
animación.
Con el comando de menú Leer dotación... se puede realizar la lectura de los
siguientes rangos de proyecto del PLC:
l Configuración
l Secciones CEI
l Secciones 984 Ladder Logic
l Mensajes ASCII
l Memoria de señal
l Valores de inicio
l Memoria extendida

Proceso durante La carga al PLC se puede realizar en dos partes:


la carga 1. El código ejecutable (código de máquina) se carga siempre al PLC.
2. Se carga todo el programa de aplicación de forma comprimida en el PLC.

Nota: El programa de aplicación, compuesto por EFBs, DFBs, tipos de datos


derivados, definidos por el usuario, y el programa (variables, secciones, etc.), sólo
se carga al PLC cuando previamente se ha activado en el diálogo Opciones para
generación de códigos (Proyecto → Opciones para generación de
códigos...), la casilla de controlIncluir la lectura de información de lectura IEC.
Adicionalmente se puede seleccionar, si los comentarios incluidos en el programa
de aplicación también deben ser cargados en el PLC y si deben estar disponibles
como información de salida de lectura.
Con la lectura de la dotación se puede transferir todo el programa de aplicación
del PLC a un proyecto vacío al equipo programador.

556 840 USE 493 03 Septiembre de 2001


Funciones online

Cargar

Introducción Con el comando de menú Cargar... se puede transmitir la configuración de todo el


programa de usuario (secciones CEI o LL984), mensajes ASCII (sólo para Concept
para Quantum) y la memoria de señal con los valores iniciales de un proyecto al
PLC. De esta manera, se establece la consistencia entre el programa de usuario en
el terminal y el PLC de tal manera que se pueden ejecutar las funciones online.

Cargar partes Se pueden seleccionar las partes individuales que se deben cargar en el PLC.
individuales en el La siguiente tabla contiene las opciones disponibles y su significado:
PLC
Opción a cargar Significado
Configuración Con esta opción se transmite la configuración de equipo al PLC.
Nota: La configuración del equipo sólo se puede transmitir al
PLC, si se ha dado la correspondiente autorización en los
Derechos de acceso. Esta opción no está disponible en caso de
un enlace Modbus-Plus.
Secciones CEI Con esta opción se transmite al PLC el código de todas las
secciones confeccionadas en un lenguaje de programación CEI
(FBD, SFC, LD, IL, ST).
984 Ladder Logic Con esta opción se transmite al PLC el código de todas las
secciones confeccionadas en un lenguaje de programación
LL984.
Mensajes ASCII Con esta opción se transmiten al PLC los mensajes ASCII para
Ladder Logic.
Nota: Esta función sólo está disponible en caso de utilizar
Concept para Quantum.
Memoria de señal Con esta opción se transmite la memoria de señal al PLC.
Sólo valores iniciales Con esta opción se transmiten al PLC exclusivamente los
valores iniciales del programa de usuario.
Los valores iniciales sólo se pueden cargar con la memoria de
señal, es decir, que la casilla de verificación sólo está disponible,
si se activa la memoria de señal para la carga.
Memoria extendida Con esta opción se asigna al PLC una memoria extendida
(referencias 6x).
Nota: Esta función sólo está disponible en caso de utilizar
Concept para Quantum.

840 USE 493 03 Septiembre de 2001 557


Funciones online

Cargar la lectura Para conseguir con la lectura del PLC un proyecto completo, se debe activar antes
de información del proceso de carga en el diálogo Opciones para generación de código, la
de lectura CEI casilla de verificación Incluir la información de lectura CEI. Si esta casilla de
verificación no está activada, sólo se carga el código ejecutable (código de
máquina) al PLC.

Si la carga no Existen varias posibilidades de por qué la carga resulta imposible:


resulta posible... l Un protector de pantalla activado puede originar errores durante la carga. Por
tanto, se recomienda desactivar el protector de pantalla.
l Si la carga del programa resulta imposible debido a una memoria de datos de
programa insuficiente, se puede optimizar el tamaño de la memoria Principal
estructura de la memoria del PLC y optimización de la memoria, p. 111.

Nota: Si durante la carga del programa, debido a versiones DFB inconsistentes,


se emite un aviso, debe ejecutarse el comando de menúProyecto → Sincronizar
versiones de los DFB imbricados.

Cargar modificaciones

Introducción Cargar modificaciones se utiliza si se han modificado, agregado o borrado


secciones en la modalidad online u offline y el programa se encuentra por ello en la
modalidad MODIFICADO. Estas modificaciones se visualizan y se pueden transferir
al PLC.
Las modificaciones se cargan en el PLC de forma que el programa de aplicación del
equipo de programación vuelva a ser igual que el del PLC.

La función Cargar modificaciones no carga en el PLC las modificaciones que no


afectan a la lógica del programa (p. ej., el cambio de nombre de un paso, sección o
variable, el desplazamiento gráfico de un módulo, etc.). Si también desea cargar en
el PLC las modificaciones que no afectan a la lógica del programa (por ejemplo,
para volver a disponer de dichas opciones incluso después de cargar el PLC en el
PC), deberá cargar la totalidad del proyecto en el PLC mediante Online → Cargar.
Sólo entonces estarán disponibles estas modificaciones después de cargar el PLC.

558 840 USE 493 03 Septiembre de 2001


Funciones online

Si la carga no puede ejecutarse por no existir espacio suficiente en la memoria del


PLC, puede continuar de dos formas distintas:
l Carga secuencial de secciones modificadas
l Optimizar proyecto

Nota: Si al cargar el programa recibe un aviso de inconsistencia de las versiones


de DFB, ejecute el comando de menú Proyecto → Sincronizar las versiones
intercaladas de DFBs.

Carga secuencial Puede cargar en el PLC las secciones modificadas/nuevas una detrás de otra.
de secciones
modificadas/ Para cargar las secciones secuencialmente, tenga en cuenta los siguientes puntos:
nuevas l Si se ha modificado el valor de las constantes, no es posible la carga secuencial
de las secciones modificadas.
l Todas las secciones IEC borradas se borran de forma automática durante la
carga secuencial en el PLC.
l Todos los valores iniciales de las nuevas variables, así como todos los valores
modificados de los literales se cargan automáticamente en el PLC durante la
primera carga secuencial.
l Si las nuevas secciones contienen variables ya utilizadas, se mantendrá el valor
de dichas variables.
l Si desea cerrar el proyecto actual antes de haber cargado todas las modifica-
ciones en el PLC, deberá guardar el proyecto. Si no lo hace así, al volver a abrir
este proyecto no podrá continuar con la carga de las modificaciones que falten,
ya que en el PLC habrá secciones "más recientes" (modificaciones ya cargadas)
que en el equipo de programación.

AVISO
Riesgo de estados del proceso no deseados y peligrosos
La carga secuencial de secciones puede provocar estados de proceso
no deseados y peligrosos si el PLC se encuentra en marcha. Por eso
es recomendable detener el PLC siempre que se vaya a efectuar una
carga secuencial.
Si no se respetan estas precauciones pueden producirse daños
corporales y/o materiales

840 USE 493 03 Septiembre de 2001 559


Funciones online

Valores iniciales Los valores iniciales modificados no se cargan en el PLC. El comando de menú
modificados Cargar modificaciones... no permite sobrescribir el valor inicial transferido al PLC
en la primera carga (Cargar.../Cargar modificaciones...). Sin embargo, sí se
puede modificar el valor inicial en el editor de datos de referencia.

Procedimiento a Para llevar a cabo una carga secuencial de las modificaciones, siga estos pasos:
seguir en la
Paso Acción
carga secuencial
1 Detenga el PLC mediante Online → Control online → Detener PLC.
2 En el cuadro de lista, seleccione las secciones que desea cargar.
3 Confirme con OK.
4 Vuelva a abrir el cuadro de diálogo y repita el procedimiento hasta que se hayan
cargado en el PLC todas las secciones modificadas/nuevas y se haya alcanzado
la modalidad IGUAL.
5 Inicie el PLC mediante Online → Control online → Arrancar PLC.

Cargar Si en el cuadro de diálogoOpciones para generación de códigos está activada la


información de casilla de verificación Incluir información de carga IEC, también se cargará dicha
carga IEC información en el PLC al ejecutar el comando de menú Cargar modificaciones....

Optimizar El comando de menú Optimizar proyecto... permite eliminar los huecos que pueda
proyecto haber en la administración de memoria de los datos del programa y, de esta forma,
posibilitar la carga. No obstante, para ello deberá detener el PLC y cargar otra vez
todo el programa. Además, es posible que sea necesario adaptar el tamaño de la
memoria de datos del programa (véase Estadísticas de memoria (Véase
Estadísticas de memoria, p. 552)).
También es posible optimizar la utilización de los datos del programa con el
comando de menú Online → Estadísticas de memoria.

AVISO
Las modificaciones no se aplicarán hasta que se haya cargado el
programa en el PLC.
Después de optimizar el proyecto o modificar el tamaño de memoria de
los datos del programa, hay que detener el PLC y volver a cargar el
programa en el PLC.
Si no se respetan estas precauciones pueden producirse daños
corporales y/o materiales

560 840 USE 493 03 Septiembre de 2001


Funciones online

Leer dotación del PLC

Introducción El comando de menú Leer dotación... envía desde el PLC al equipo de


programación la configuración, el programa de aplicación completo (secciones IEC
y/o LL984), los mensajes ASCII y la memoria de señal con los valores iniciales de
un proyecto.

Nota: La información de carga (configuración del PLC) generada desde otros


programas de software como si fueran Concept puede contener errores. La lectura
se basa en un extracto de memoria que no siempre es compatible con los demás
programas de software. Utilice el convertidor de Modsoft para la transferencia de
su aplicación Modsoft a Concept.

840 USE 493 03 Septiembre de 2001 561


Funciones online

Cargar partes Puede seleccionar qué partes en concreto desea cargar del PLC al equipo de
determinadas del programación.
PLC La siguiente tabla contiene las opciones disponibles y su significado:
Opción que se desea Significado
cargar
Configuración Con esta opción se envía al equipo de programación la
configuración del hardware.
Nota: La configuración del hardware sólo se puede enviar desde
el PLC si se dispone del permiso correspondiente en Derecho de
acceso. Esta opción no está disponible en una conexión Modbus
Plus.
Secciones IEC Con esta opción se envía al equipo de programación la
información de representación inversa de todas las secciones
creadas con un lenguaje de programación IEC (FBD, SFC, LD,
IL, ST). Sin embargo, en este proceso no se cargarán los valores
de señal actuales de variables ni de registros.
Ladder Logic 984 Con esta opción se envía al equipo de programación la
información de representación inversa de todas las secciones
creadas con un lenguaje de programación LL984.
Mensajes ASCII Con esta opción se envían al equipo de programación los
mensajes ASCII para Ladder Logic.
Nota: Esta función sólo está disponible si se utiliza Concept para
Quantum.
Memoria de señal Con esta opción se envía al equipo de programación la memoria
de señal.
Sólo valores iniciales Con esta opción se envían al equipo de programación
exclusivamente los valores iniciales del programa de aplicación.
Los valores iniciales sólo se pueden cargar junto con la memoria
de señal, es decir, que esta casilla de verificación sólo estará
disponible si se activa la lectura de la memoria de señal.
Memoria extendida Con esta opción se transfiere a la configuración el espacio de
memoria extendida existente (referencias 6x) del PLC.
Nota: Esta función sólo está disponible si se utiliza Concept para
Quantum.

562 840 USE 493 03 Septiembre de 2001


Funciones online

Procedimiento durante la carga

Introducción Si durante la carga en el PLC se ha tenido en cuenta la información de carga IEC


(Proyecto → Opciones para generación de código → Incluir información de
carga IEC), durante la lectura se genera un nuevo proyecto en Concept que
contiene dicha información de carga IEC. Durante este proceso se descarga
siempre el programa de aplicación completo y las bibliotecas EFB de usuario, es
decir, no se pueden seleccionar secciones o EFB individuales para dicha
transferencia.

Nota: Durante la carga (Online → Cargar en el PLC) de la información de carga


IEC se requiere un espacio de memoria adicional, por lo que esta función sólo
debe utilizarse cuando desee volver a leer el proyecto cargado en el PLC.

Condición Para poder leer la dotación del PLC, en primer lugar se debe crear un proyecto
vacío.
Para ello, dispone de varias posibilidades:
Selecció Acción
n
1 Crear un proyecto vacío por medio de Fichero → Nuevo proyecto. A
continuación, ejecutar el comando de menú Online → Leer dotación....
Resultado: Se abre el cuadro de diálogo Cargar al proyecto. Aquí se indica el
lugar en que se debe cargar el proyecto (p. ej. D:\NEW\TESTPRJ.PRJ).
Nota: Puede seleccionar otro directorio o crear un directorio nuevo para que no
haya problemas con proyectos ya existentes. El nombre de proyecto
predeterminado equivale al nombre de proyecto que tiene en el PLC y no debe
modificarse sin motivo.
2 Crear un proyecto vacío con el comando de menú Fichero → Abrir... (p. ej.
D:\NEW\TESTPRJ.PRJ). A continuación, ejecutar el comando de menú Online
→ Leer dotación....
Resultado: Se abre el cuadro de diálogo Leer dotación del PLC.
3 Establecer una conexión con el PLC con el comando de menú Online →
Conectar... sin que haya ningún proyecto abierto. A continuación, ejecutar el
comando de menú Online → Leer dotación....
Resultado: Se abre el cuadro de diálogo Cargar al proyecto. Aquí se indica el
lugar en que se debe cargar el proyecto (p. ej. D:\NEW\TESTPRJ.PRJ).
Nota: Puede seleccionar otro directorio o crear un directorio nuevo para que no
haya problemas con proyectos ya existentes. El nombre de proyecto
predeterminado equivale al nombre de proyecto que tiene en el PLC y no debe
modificarse sin motivo.

840 USE 493 03 Septiembre de 2001 563


Funciones online

Procedimiento Para leer información IEC cargada, realice los siguientes pasos:
Paso Acción
1 Abra un proyecto nuevo.
Nota: Si durante la lectura hay un segundo proyecto abierto, tendrá que cerrarlo.
En ese caso, el sistema pregunta si desea guardar el proyecto antes de cerrarlo
para que no se pierdan los cambios.
2 Establezca una conexión entre el PLC y el equipo de programación (Online →
Conectar...).
3 Inicie el proceso de lectura (Online → Leer dotación del PLC...).
Resultado: Aparece una ventana en la que puede determinar la ruta del
proyecto que se va a cargar.

Denominación Durante el proceso de lectura pueden surgir conflictos con nombres ya existentes.
doble La denominación doble se evita de la siguiente forma dependiendo de la parte del
programa:
Parte del Proceso
programa
Biblioteca EFB de Aparece una interrogación en la que puede cancelarse la carga. Si no,
usuario el sistema pregunta si desea sobrescribir la biblioteca EFB de usuario y
generar una copia de seguridad de la biblioteca EFB de usuario antigua.
Fichero DTY Aparece una interrogación en la que puede cancelarse la carga. Si no,
(tipos de datos se sobrescribe automáticamente el fichero DTY que tiene el mismo
derivados) nombre. No se realiza ninguna copia de seguridad del antiguo archivo.
Biblioteca DFB Aparece una interrogación en la que puede cancelarse la carga. Si no,
se sobrescribe automáticamente el fichero DFB que tiene el mismo
nombre. No se realiza ninguna copia de seguridad del antiguo archivo.

564 840 USE 493 03 Septiembre de 2001


Funciones online

20.6 Animación de secciones

Introducción

Vista general Este capítulo describe los fundamentos para la animación de secciones. Los
detalles al respecto figuran en los capítulos de los diferentes lenguajes de
programación.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Animación de secciones CEI 566
Modalidades de programación LL984 567

840 USE 493 03 Septiembre de 2001 565


Funciones online

Animación de secciones CEI

Introducción Las secciones CEI no se pueden animar, es decir, que se representan los estados
actuales en la sección del programa en el PLC / en el simulador

La animación es posible con el autómata parado y en marcha. Con el PLC en


marcha se actualizan continuamente los datos de indicación. Con el PLC parado se
visualiza el estado estático del programa en el PLC.
Cargar y Cargar modificaciones no es posible en el modo de animación. Si se
ejecutan estos comandos, se desconecta automáticamente la animación.

Condiciones Condiciones para la animación:


para la l La sección que se va a animar en el terminal y la sección cargada en el PLC
animación deben ser consistentes. De otra manera, se debe establecer la consistencia con
Online → Cargar... (si modo DESIGUAL) o Online → Cargar modificaciones...
(si modo MODIFICADO).
Nota: Incluso cuando el modo programa es MODIFICADO se pueden animar las
secciones que no se han modificado. El modo indicado en el pie de página se
refiere al programa y no a la sección actual indicada.
l El terminal y el PLC deben estar en línea para la animación. De otra manera, se
debe establecer el enlace con Online → Conectar... .

Visualización de El modo de animación activa se reconoce por:


la animación l un símbolo de gancho delante del comando de menú, en el campo ANIMADO en
activa la barra de estado,
l el botón de animación pulsado en la barra de herramientas y
l el fondo gris de la ventana.

Animación de Si hay varias secciones animadas, se actualiza en cada ciclo una sección animada.
varias secciones Esto significa que, cuantas más animaciones haya activadas, tanto "mayores"
serán los valores de las diferentes animaciones. Además, la animación carga sobre
el ciclo del PLC. Por este motivo, se deben finalizar las animaciones que no se van
a necesitar más. Lo mismo rige para la animación de muchas variables o tipos de
archivos derivados muy grandes.

Nota: En caso de un acoplamiento con Modbus Plus se recomienda no animar


más de 10 secciones a la vez.

Nota: En caso de un acoplamiento con Modbus se recomienda no animar más de


5 secciones a la vez.

566 840 USE 493 03 Septiembre de 2001


Funciones online

Animación de Si se anima una sección bloqueada, se visualiza el estado en la línea de estado


una sección BLOQUEADO.
bloqueada

Animación de Si se utiliza la sección animada como sección de transición para el control


una sección de secuencial (SFC) y no se procesa la transición (y por tanto, tampoco la sección de
transición transición), aparece en la sección de transición animada el estado BLOQUEADO.

Convertir una Si se convierte una sección animada en un símbolo, se detiene la animación con los
sección animada últimos valores y se reinicia automáticamente tras el llamado de la sección.
en un símbolo

Modalidades de programación LL984

Programación Hay dos situaciones que determinan cómo se aplica la modalidad directa de edición
directa ladder. La primera se produce cuando no hay ningún proyecto abierto y el usuario
está conectado a un PLC que dispone de un programa válido. Cuando se
seleccione el comando Direct Mode LL Editor (modalidad directa del editor LL)
se visualizará el primer programa en el primer segmento. Podrá ver el estado de
modalidad directa en la parte derecha de la barra de estado, así como la ventana
de red con la etiqueta 984 LL Direct.

El segundo caso se produce cuando hay un proyecto abierto y el usuario está


conectado al PLC (pero no IGUAL ). Cuando se selecciona Direct Mode LL Editor
se visualiza un diálogo con una lista de segmentos y con el número de redes que
cada uno de ellos contiene. Haga clic en el segmento deseado y, a continuación,
haga clic en OK; de este modo, se visualizará la ventana de edición de red con una
ventana que lleva la etiqueta 984 LL directo. Si hay una ventana de edición original,
ésta permanecerá en la visualización.

Modalidad de La programación de combinación se produce cuando el panel de programación se


combinación encuentra online. Los cambios válidos del programa se escriben inmediatamente y
de forma simultánea tanto al controlador como al banco de datos del programa.

840 USE 493 03 Septiembre de 2001 567


Funciones online

20.7 Diagnósticos Online

Visualizador de diagnósticos

Introducción Con el visualizador de diagnósticos de Concept (Online → Diagnósticos


Online......) se puede ver el contenido del búfer de error de diagnóstico del PLC.

Condición de El visualizador de diagnósticos sólo está disponible cuando el PLC se encuentra en


selección la modalidad online y se ha establecido el estado IGUAL entre el PLC y el equipo
de programación.
El visualizador de diagnósticos sólo funciona con los lenguajes de programación
SFC, FBD y LD y con los módulos de diagnóstico del grupo EXTENDED.

Condiciones Para activar el diagnóstico debe haberse establecido previamente un tiempo de


para el vigilancia para el paso (diagnóstico de transición) o para el módulo de diagnóstico
visualizador de (diagnóstico de reacción). Además, en el cuadro de diálogo Opciones para
diagnósticos generación de código (Proyecto → Opciones para generación de código...)
debe estar activada la casilla de verificación Incluir información de diagnóstico.
De esta forma, en el PLC queda disponible espacio de memoria (máx. 64 entradas
de diagnóstico) para el búfer de error de diagnóstico.

Comporta- Se pueden leer 64 eventos (errores) y 20 señales por evento como máximo. En
miento del búfer caso de desborde del búfer de error de diagnóstico se pierden todas las demás
de error señales (de la 21 en adelante). Hasta que no se confirma un evento (error) de salida
en el búfer de error, no se introduce el siguiente evento de entrada (error) a
continuación.
El desborde del búfer de error de diagnóstico se indica en la línea de estado del
cuadro de diálogo.

Nota: Dentro de una sección SFC se pueden gestionar 16 eventos (errores) como
máximo. Todos los demás eventos (del 17 en adelante) se pierden. Hasta que no
se confirma un evento (error) de salida en el búfer de error, no se introduce el
siguiente evento de entrada (error) a continuación.

Diagnóstico de Encontrará información al respecto en la sección Diagnóstico de transición, p. 264.


transición

568 840 USE 493 03 Septiembre de 2001


Funciones online

Diagnóstico de Encontrará información al respecto en el manual "Biblioteca de módulos de


reacción diagnóstico".

Visualizador de Tras el análisis, los eventos (errores) y las señales analizadas se escriben en el
diagnósticos búfer y se representan en el visualizador de diagnósticos de Concept.
En caso de diagnósticos de transición, recibirá las siguientes informaciones
específicas:
l Denominación de la transición debido a la cual no se efectúa ninguna
conmutación de paso activo a paso siguiente.
l Denominación de tipo TRANS para transición a una sección SFC.
l Denominación del paso activo, que no se vuelve a conectar.
l Si la transición citada es una sección de transición, se enumeran además las
señales analizadas.

En caso de diagnósticos de reacción, recibirá las siguientes informaciones


específicas:
l Denominación del módulo de diagnóstico que no dispara ninguna reacción
debido a señales falsas.
l Denominación de tipo ACT, PRE, GRP, LOCK, REA para módulos de
diagnóstico.
l Número de estación del módulo de diagnóstico.
l Se enumeran las señales analizadas.

840 USE 493 03 Septiembre de 2001 569


Funciones online

570 840 USE 493 03 Septiembre de 2001


Importar/Exportar

21
Introducción

Vista general Este capítulo describe las diferentes posibilidades de importación y exportación
para secciones, variables y configuraciones del PLC.

Contenido: Este capítulo contiene las siguientes secciones:


Sección Apartado Página
21.1 Generalidades sobre importar/exportar 573
21.2 Exportación de secciones 574
21.3 Exportación de variables y tipos de datos derivados 577
21.4 Importar secciones 578
21.5 Importación de variables 599
21.6 Importación/exportación de la configuración del PLC 608

840 USE 493 03 Septiembre de 2001 571


Importar/Exportar

572 840 USE 493 03 Septiembre de 2001


Importar/Exportar

21.1 Generalidades sobre importar/exportar

Generalidades sobre importar/exportar

Funciones de En Concept/DFB Concept se pueden exportar los siguientes datos con


exportación Fichero → Exportar:
l Secciones de un proyecto fuente a un proyecto de destino.
l Secciones de un DFB fuente a un DFB de destino.
l Secciones de un DFB fuente a un proyecto de destino.
l Secciones de un proyecto fuente a un DFB de destino.
l Secciones FBD, SFC y LD a ficheros IL o ST.
l Declaraciones de variables a un fichero ASCII (sólo en Concept).
l Configuración del PLC (sólo en Concept).

En Concept se pueden exportar los siguientes datos con


Editar → Guardar como fichero de texto...:
l Contenido de secciones IL o ST a un fichero ASCII.
l Definiciones de tipos de datos derivados del editor de tipos de datos.

En el convertidor Concept se pueden exportar los siguientes datos con


Fichero → Exportar → Configuración :
l Configuración del PLC

Funciones de En Concept/DFB Concept se pueden importar los siguientes datos con


importación Fichero → Importar:
l Secciones exportadas de un proyecto o DFB fuente.
l Ficheros IL o ST exportados o creados externamente en secciones IL/ST.
l Ficheros IL o ST exportados o creados externamente en secciones FBD/SFC
(con conversión).
l Declaraciones de variables de un fichero ASCII (sólo en Concept).
l Configuración del PLC exportada con Concept (sólo en Concept).

En Concept se pueden importar los siguientes datos con


Editar → Insertar fichero de texto...:
l Contenido de ficheros ASCII en secciones IL o ST.
l Definiciones de tipos de datos derivados en el editor de tipos de datos.

En el convertidor Concept se pueden importar los siguientes datos con


Fichero → Importar:
l Configuración del PLC exportada con el convertidor Concept.

840 USE 493 03 Septiembre de 2001 573


Importar/Exportar

21.2 Exportación de secciones

Exportar secciones

Introducción En Concept existe la posibilidad de exportar determinados proyectos o DFB de un


proyecto/DFB fuente y, si así se desea, importarlos inmediatamente después en el
proyecto de destino.

Condición El proyecto del que se va a exportar debe ser consistente consigo mismo
(comprobar con Proyecto → Analizar programa).

Nota: Al exportar la sección IL y ST, tenga en cuenta que los ajustes para los
comentarios intercalados (Opciones → Preajustes → Expansiones IEC →
Admitir comentarios intercalados) deben ser idénticos en el proyecto fuente y
en el de destino.

Alcance de la Se exportan:
exportación l La sección seleccionada con sus correspondientes variables, DFB, EFB y tipos
de datos.
l En el caso de SFC, también se exportan las secciones de transición
correspondientes.
l La configuración del PLC no se exporta.

Exportación de Al exportar más de una sección se genera un "pseudo SFC" para mantener la
más de una secuencia de ejecución. Para ello se genera el siguiente código:
sección
INITIAL_STEP SECTION_SCHEDULER:
Section1 (N);
Section2 (N);
:
SectionN (N);
END_STEP

574 840 USE 493 03 Septiembre de 2001


Importar/Exportar

Exportación de Con Fichero → Exportar → Programa: Texto IEC puede exportar secciones FBD,
secciones FBD, SFC y LD a IL y ST. Ambos lenguajes de texto de los ficheros de exportación siguen
SFC y LD la gramática de los lenguajes de texto IEC, tal como se muestra en IEC 1131-3 y en
las tablas de prestaciones 52 ... 56 de IEC 1131-3.

El código exportado se representa en un bloque de datos PROGRAM ...


END_PROGRAM o FUNCTION_BLOCK ... END_FUNKTION_BLOCK, y contiene
todas las variables del proyecto o del DFB en un bloque de datos VAR ... END_VAR
al principio del fichero.

Si se exporta más de una sección, la separación del código se expresará mediante


un bloque de datos SFC artificial que no es parte del programa original. Este bloque
sólo tiene un INITIAL_STEP para todas las secciones vinculadas a él como
acciones (con el descriptor N). Estas acciones (secciones) se ejecutarán siempre
que el paso esté activo, cosa que siempre sucede. Las acciones vienen después
como secciones sin declaraciones de variables.

El INITIAL_STEP artificial se llama SECTION_SCHEDULER. Representa la


secuencia de ejecución de las secciones tal como se ha establecido en el cuadro
de diálogo Secuencia de ejecuciones de las secciones. El bloque de datos SFC
artificial se dejará de lado en el caso de una reimportación en Concept. El criterio
para esta exclusión es el nombre especial SECTION_SCHEDULER.

El fichero ASCII se puede volver a importar en una sección FBD o SFC con ayuda
de la importación de texto IEC. La exportación e importación permiten, por ejemplo,
convertir una sección LD en una sección FBD. En cambio, no es posible importar
en una sección LD.

Si en las secciones FBD / LD ha utilizado las entradas o salidas opcionales EN y


ENO, éstas no se tendrán en cuenta durante la exportación a IL/ST.
Lógica de la sección FBD antes de la exportación:
Z1(1) Z2(2)
TON TON

IN1 EN ENO EN ENO OT1


IN2 IN Q IN Q OT2
t#11s PT ET %4:00001 t#11s PT ET %4:00002

Lógica de la sección FBD después de la importación:


FBI_1_2(1) FBI_1_3(2)
TON TON
IN1 EN ENO
IN2 IN Q FBI_1_2Q_1 FBI_1_2Q_1 IN Q OT2
t#11s PT ET %4:00001 t#11s PT ET %4:00002

840 USE 493 03 Septiembre de 2001 575


Importar/Exportar

Los elementos LD "Normal cerrado" y "Normal abierto" se transforman en AND y


ANDNOT.

No obstante, el fichero ASCII también se puede importar en una sección IL o ST con


ayuda de la función Insertar fichero de texto. Pero en este caso será necesario
efectuar una corrección manual, ya que hay que borrar del fichero los
complementos arriba descritos.

Limitaciones de Durante la exportación SFC hay que tener en cuenta las siguientes limitaciones:
la exportación l Como acciones sólo se permiten variables. Las direcciones directas no se
SFC pueden exportar.
l Como variables de tiempo para descriptores sólo se admiten literales. Las
variables se transforman en literales con el valor 0.
l Los nombres de la sección de transición se cambian por nombres standard.
l Los tiempos de vigilancia de paso y los tiempos de retardo de paso se pierden
durante la exportación.

Exportación de Con Editar → Guardar como fichero de texto... puede exportar el contenido de
secciones IL y ST las secciones IL o ST a un fichero ASCII.

Esta función de exportación es una función de exportación de sólo texto, como la


que se efectúa a través del portapapeles (cortar/copiar/pegar). No se produce
ninguna conversión de los datos. Por este motivo, las declaraciones de variables
necesarias, por ejemplo, no se exportan con el contenido de la sección. Si hubiera
que convertir los archivos ASCII en una sección FBD o SFC mediante Fichero →
Importar → Programa: Texto IEC, habrá que introducir manualmente en el fichero
ASCII toda la información necesaria para el proyecto (p. ej., bloque de datos del
programa, nombre de la sección (véase también Importación (insertar fichero) de
programas IL y ST a secciones IL o ST, p. 594 y Procedimiento para "Copiar" una
sección IL de un proyecto existente a un proyecto nuevo., p. 596)).

576 840 USE 493 03 Septiembre de 2001


Importar/Exportar

21.3 Exportación de variables y tipos de datos


derivados

Exportación de variables y tipos de datos derivados

Exportación de Con Fichero → Exportación → Variables: Texto con carácter de separación se


variables en el pueden exportar las declaraciones de variables de un proyecto a un archivo ASCII
formato "Texto en el formato "Texto con carácter de separación" (texto delimitado) (véase también
con carácter de Importar variables en formato "Texto con caracteres de separación", p. 600 e
separación" Importación de variables estructuradas, p. 602).

También se puede volver a importar a un proyecto de Concept el archivo ASCII con


la ayuda de la importación de texto con carácter de separación (véase también
Importar variables en formato "Texto con caracteres de separación", p. 600).

Exportación de Con Fichero → Exportación → Variables: Factory Link se pueden exportar las
variables para declaraciones de variables de un proyecto a un archivo ASCII en el formato "Factory
Factory Link Link".

Si Concept no soporta la versión de Factory Link, hay que dirigirse a nuestra hotline.

El archivo ASCII se puede volver a importar a un proyecto de Concept con la ayuda


de la Importación de Factory Link (Véase Importación de variables en el formato
"Factory Link", p. 607).

Exportación de Con Fichero → Exportación → Variables: Modlink se puede generar un archivo


variables para de configuración, el cual se puede utilizar directamente en ModLink.
Modlink
El archivo de configuración ModLink contiene todas las variables located que están
marcadas en el editor de variables para exportar.

Si no hay variables located marcadas para exportar, se emite un aviso de error y no


se genera el archivo de configuración.

Más informaciones acerca de Modlink figuran en la Modicon ModLink, User Guide.

Exportación de En el editor de tipos de datos se pueden exportar definiciones de tipos de datos


tipos de datos derivados a un archivo ASCII con Procesar → Guardar como archivo de texto....
derivados

840 USE 493 03 Septiembre de 2001 577


Importar/Exportar

21.4 Importar secciones

Introducción

Vista general Esta sección describe la importación de secciones.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Importación de secciones 579
Procedimiento para la importación de secciones 583
Importación de programas IL y ST a secciones FBD, SFC, IL o ST (con 591
conversión)
Importación (insertar fichero) de programas IL y ST a secciones IL o ST 594
Procedimiento para "Copiar" una sección IL de un proyecto existente a un 596
proyecto nuevo.
Procedimiento para la conversión de secciones de FBD a un proyecto IL de un 597
proyecto nuevo

578 840 USE 493 03 Septiembre de 2001


Importar/Exportar

Importación de secciones

Introducción En Concept existe la posibilidad de exportar de forma concreta secciones


individuales de un proyecto / DFB fuente y, si así se desea, de importarlas
inmediatamente después en el proyecto / DFB de destino actual:
l Exportar sección del proyecto fuente y, a continuación, importar sección al
proyecto de destino
De este modo se toman las informaciones de sección, incluyendo secciones de
transición en SFC, todos los DFB globales y locales utilizados, así como todas
las declaraciones de variables utilizadas.
En los ficheros de tipo de datos no se toman los tipos de datos definidos (véase
la nota).
l Exportar sección del DFB fuente y, a continuación, importar sección al DFB de
destino
De este modo se toman las informaciones de sección, todos los DFB globales y
locales utilizados, así como todas las declaraciones utilizadas de variables,
entradas y salidas.
En los ficheros de tipo de datos no se toman los tipos de datos definidos (véase
la nota).
l Exportar sección del proyecto fuente y, a continuación, importar sección al DFB
de destino
De este modo se toman las informaciones de sección, todos los DFB globales y
locales utilizados, así como todas las declaraciones utilizadas por Unlocated
variables.
Es necesario borrar la declaración de direcciones directas y Located variables
antes de la exportación, ya que no se admiten en un DFB. En los ficheros de tipo
de datos no se toman los tipos de datos definidos (véase la nota).
l Exportar sección del DFB fuente y, a continuación, importar sección al proyecto
de destino
De este modo se toman las informaciones de sección, todos los DFB globales y
locales utilizados, así como todas las declaraciones utilizadas de variables.
Hay que borrar las declaraciones de las entradas / salidas de este DFB antes de
la exportación, porque no se admiten en un proyecto de Concept. En los ficheros
de tipo de datos no se toman los tipos de datos definidos (véase la nota).

840 USE 493 03 Septiembre de 2001 579


Importar/Exportar

Notas Tenga en cuenta las siguientes indicaciones:


l Las secciones importadas se insertan a continuación de las secciones ya
existentes.
l La configuración del PLC no se importa de manera automática, sino que se debe
exportar explícitamente con el convertidor Concept (véase también Importar/
Exportar la Configuración PLC con el convertidor de Concept, p. 609).
l Si va a importar proyectos con estructuras de datos locales distintas (ficheros
DTY diferentes en los directorios DFB locales), deberá fusionarlos en un único
fichero DTY antes de importarlos. Deberá guardar este fichero común en los
directorios DFB locales del proyecto fuente y del de destino. Después deberá
reconocer estos ficheros abriendo cada uno de los proyectos.
l Durante la importación de la sección IL y ST, asegúrese de que los ajustes para
los comentarios intercalados (Opciones → Preajustes → Expansiones IEC →
Admitir comentarios intercalados) sean idénticos en el proyecto fuente y en el
de destino.

Comprobación Antes de la importación en sí se comprueba si existen:


de las secciones l un entorno del proyecto idéntico (DFBs, EFBs, definición de tipos de datos
que se van a derivados),
importar l secciones ya existentes,
l secciones SFC ya existentes (no admitidas en DFB Concept),
l nombres de pasos ya existentes,
l declaración de entradas / salidas (no admitidas en proyectos de Concept),
l declaración de direcciones directas (no admitidas en DFB Concept).

Si se detecta un error, se cancela la importación.

Los errores que se produzcan a partir de entonces son "irreparables" y hacen que
se cierre el proyecto (es decir, se pierden todas las modificaciones realizadas desde
la última vez que se guardó el proyecto). Algunos errores posibles son:
l colisiones de nombres en caso de variables con distinto tipo de datos,
l colisión de nombre en caso de nombres de ejemplar,
l otros errores.
Las colisiones de nombres en caso de variables con distinto valor inicial o dirección
directa (Located variable) originan una advertencia. El valor del proyecto de destino
permanece invariable.

Ajuste Se realiza un ajuste automático de los nombres predeterminados de manera


automático de standard en caso de:
los nombres l nombres generados de manera standard, como p. ej., nombres de paso SFC
predeter- (S_x_y) y nombres de secciones de transición (TransSection_x_y),
minados de l nombres de ejemplares generados de manera standard (FBI_x_y),
manera standard l posición de entradas / salidas DFB nuevas (sólo en caso de importación en DFB
Concept).

580 840 USE 493 03 Septiembre de 2001


Importar/Exportar

Modificaciones Durante la importación, el usuario dispone de las siguientes posibilidades para


específicas realizar modificaciones específicas para adaptar individualmente las secciones que
se vayan a importar al proyecto / DFB de destino:
l reemplazo de nombres (nombres de variables, nombres de secciones, nombres
de ejemplares, nombres en lenguajes de texto, comentarios, ...)
l offset de dirección para Located variables y direcciones directas en lenguajes
gráficos (p. ej., %3:10 -> %3:20) y lenguajes de texto (%QW10 -> %QW20).
Los siguientes puntos se toman de la función de reemplazo:
l nombres DFB
l índice de matrices (p. ej., a[1])
l elementos de variables de elementos múltiples (p. ej., un dummy)
l en caso de EFBs, la función de reemplazo se utiliza sólo para los nombres no
generados (por ejemplo, nombres de instancias) automáticamente.

Sintaxis para el Para el reemplazo de nombres se aplica la siguiente sintaxis:


reemplazo de l Sólo se buscan nombres completos. Si desea sustituir partes de nombres,
nombres y offset deberá utilizar comodines.
de dirección l Como comodín se permite el carácter "?". Este carácter se utiliza como comodín
(desplazamiento para un carácter concreto. Si se deben ignorar varios caracteres deberá utilizar
de dirección) un número correspondiente de "?". El carácter "?" sólo se admite al principio del
nombre.
l Como comodín se permite el carácter "*". Este carácter se utiliza como comodín
para cualquier número de caracteres. El carácter "*" sólo se admite en la
secuencia de caracteres que se va a buscar.
l Los comodines sólo se admiten en la secuencia de caracteres de búsqueda.
l No se distingue entre mayúsculas y minúsculas.
l El nombre con el que se va a reemplazar el anterior se debe formular de acuerdo
con la nomenclatura IEC; de lo contrario, aparecerá un mensaje de error.
l Según IEC1131-3, sólo se permite una letra como primer carácter de un nombre
de ejemplar. Sin embargo, si desea utilizar también una cifra como primer
carácter, deberá habilitar el comando de menú Opciones → Preajustes →
Expansiones IEC... → Admitir cifras antepuestas en identificadores.
l El valor indicado para el desplazamiento de dirección (offset de dirección) se
añade a los rangos de direcciones correspondientes para Located variables y
direcciones directas.
l La indicación del valor de offset se realiza de forma standard en formato decimal.
Si es preciso utilizar el formato hexadecimal, esto se puede identificar colocando
el prefijo "16#" delante del propio valor de offset (p. ej., 16#100).

Nota: El reemplazo de nombres afecta a todas las variables, los nombres de


instancia y los comentarios. Cuando se utilizan comodines existe el riesgo de
sustituir también nombres que casualmente contengan la misma secuencia de
caracteres que se va a buscar. Normalmente, esto provoca una anulación.

840 USE 493 03 Septiembre de 2001 581


Importar/Exportar

Ejemplos de búsqueda y reemplazo:


Reemplazar: Por: Nombres existentes Resultado
Name1 Name2 Name1 Name2
Name1A Name1A
NameA NameA
NameB NameB
???123 456 abc123 abc456
cde123 cde456
abcd123 abcd123
abc1234 abc1234
Name1* Name2 Name1A Name2A
XName1B XName1B
NameAB NameAB
*123 456 abc123 abc456
cde123 cde456
abcde123 abcde456
abd123a abd123a
*123* 456 abc123abc abc456abc
cde123defghi cde456defghi
abcde123def abcde456def
???123* 456 abc123abc abc456abc
cde123defghi cde456defghi
abcde123def abcde123def

Sintaxis para Para la generación de la lista de reemplazo con un editor externo hay que tener en
generar la lista cuenta, además, la siguiente sintaxis:
de reemplazo l La secuencia Reemplazar-Por (nombre antiguo-nombre nuevo) debe estar
con un editor separada por una coma (p. ej., Name1,Name2).
externo l El procesado de la lista de reemplazo se realiza por líneas. Las instrucciones de
reemplazo individuales deben estar separadas por un retorno de carro.

582 840 USE 493 03 Septiembre de 2001


Importar/Exportar

l Las instrucciones para el offset de dirección tienen la siguiente estructura:


l Para añadir un offset de dirección:
<reg0>,www
<reg1>,xxx
<reg3>,yyy
<reg4>,zzz
l Para sustraer un offset de dirección:
<reg0>,-www
<reg1>,-xxx
<reg3>,-yyy
<reg4>,-zzz
l La indicación del valor se puede realizar también en formato hexadecimal, p.
ej.:
<reg1>,16#xxx

Procedimiento para la importación de secciones

Introducción Como norma general, las secciones deben exportarse primero desde proyecto
fuente / DFB fuente a un archivo de exportación (*.sec) y, a continuación, importar
el mismo al proyecto destino/DFB destino. La exportación e importación de proyecto
a proyecto, o bien, de DFB a DFB se puede realizar en una sesión común o en
sesiones separadas. La exportación e importación de proyecto a proyecto, o bien,
de DFB a proyecto se debe realizar en sesiones separadas.

Exportación de Se deben realizar los siguientes pasos, para la exportación de sección de un


sección e proyecto fuente y posterior importación de sección a un proyecto destino:
importación de
Paso Acción
sección
1 Abrir el proyecto destino en Concept.
2 Activar Fichero → Exportación → Programa: Sección(es).
3 Seleccione en la ventana Abrir archivo el proyecto fuente, por ejemplo
C:\QUELL_DIR\QUELL.PRJ
4 Seleccione en el proyecto fuente las secciones a exportar.
5 Introduzca en Guardar exportación de sección bajo, el nombre del archivo de
exportación (*.SEC), por ejemplo C:\ZIEL_DIR\ZIEL.SEC

Reacción: Se exportan las secciones y se guardan en el archivo *.SEC, por


ejemplo en ZIEL.SEC.
Se emite la pregunta ¿Importar la sección ahora al proyecto?

840 USE 493 03 Septiembre de 2001 583


Importar/Exportar

Paso Acción
6 Si se responde a la pregunta sobre si se deben importar las secciones, con
Aceptar, se realizará ahora la importación.
Si se responde con Interrumpir, se iniciará la importación más tarde, véase el
procedimiento Continuar después de una interrupción de importación (Véase
Continuar después de una interrupción de importación, p. 590).
7 Se debe responder a la pregunta, sobre si primero se debe guardar el proyecto,
con Aceptar.

Nota: La consulta ¿Guardar proyecto primero? se debería responder con


Aceptar, ya que en caso de un error de importación se cierra el proyecto actual
y se perderán todas las modificaciones realizadas desde que se ha guardado el
mismo por última vez.
8 Si así se desea o resulta necesario, en la tabla Reemplazar se pueden realizar
reemplazos para nombres de ejemplar de variables, de secciones, etc., así
como definir desplazamientos de dirección para variables located y direcciones
directas (véase también Modificaciones específicas, p. 581).
9 Seleccione Aceptar para continuar (con Interrumpir se interrumpirá todo el
proceso de importación).

Reacción: se importan al proyecto destino las Secciones, los DFB utilizados, los
tipos de datos derivados utilizados y las declaraciones de variables utilizadas,
incluidos los comentarios.
En los siguientes casos se interrumpirá la importación y se cerrará el proyecto
actual:
l Las secciones a importar contienen DFB, que no existen en el proyecto
destino.
l Las secciones a importar contienen DFB, cuyas versiones se diferencian de
los DFB ya existentes. (La versión de DFB importada se puede aceptar o
rechazar.)
l durante la importación de otros errores.
Los errores se visualizan en la ventana de mensajes y deben ser confirmados.
10 Si se ha interrumpido la importación, se elimina la causa de interrupción y se
realiza el procedimiento Continuar después de una interrupción de importación
(Véase Continuar después de una interrupción de importación, p. 590).

584 840 USE 493 03 Septiembre de 2001


Importar/Exportar

Exportación de Se debenrealizar los siguientes pasos para la exportación de sección de un DFB


DFB e fuente y posterior importación de sección a un DFB destino:
importación de
Paso Acción
DFB
1 Abrir el DFB destino en Concept-DFB
2 Active Fichero → Exportación → Programa: Sección(es).
3 Seleccione en la ventana Abrir archivo el DFB fuente, por ejemplo
C:\QUELL_DIR\QUELL.DFB
4 Seleccione en el DFB fuente las secciones a exportar.
5 Introduzca en Guardar exportación de sección bajo, el nombre del archivo de
exportación (*.SEC), por ejemplo C:\ZIEL_DIR\DFB\ZIEL.SEC

Reacción: Se exportan las secciones y se guardan en el archivo *.SEC, por


ejemplo en ZIEL.SEC.
Se emite la pregunta ¿Importar la sección ahora al proyecto?
6 Si se responde a la pregunta sobre si se deben importar las secciones, con
Aceptar, se realizará ahora la importación.
Si se responde con Interrumpir, se iniciará la importación más tarde, véase el
procedimiento Continuar después de una interrupción de importación (Véase
Continuar después de una interrupción de importación, p. 590).
7 Se debe responder a la pregunta, sobre si primero se debe guardar el proyecto,
con Aceptar.

Nota: La consulta ¿Guardar proyecto primero? se debería responder con


Aceptar, ya que en caso de un error de importación se cierra el proyecto actual
y se perderán todas las modificaciones realizadas desde que se ha guardado el
mismo por última vez.
8 Si así se desea o resulta necesario, en la tabla Reemplazar se pueden realizar
reemplazos para nombres de ejemplar de variables, de secciones, etc., así
como definir desplazamientos de dirección para variables located y direcciones
directas (véase también Modificaciones específicas, p. 581).

840 USE 493 03 Septiembre de 2001 585


Importar/Exportar

Paso Acción
9 Seleccione Aceptar para continuar (con Interrumpir se interrumpirá todo el
proceso de importación).

Reacción: se importan al DFB destino las Secciones, los DFB utilizados, los
tipos de datos derivados utilizados y las declaraciones de variables, entradas y
salidas utilizadas.
En los siguientes casos se interrumpirá la importación y se cerrará el DFB
actual:
l Las secciones a importar contienen DFB que no existen en el DFB destino.
l Las secciones a importar contienen DFB, cuyas versiones se diferencian de
los DFB ya existentes. (La versión de DFB importada se puede aceptar o
rechazar).
l Durante la importación se producen otros errores.
Los errores se visualizan en la ventana de mensajes y deben ser confirmados.
10 Si se ha interrumpido la importación, se elimina la causa de interrupción y se
realiza el procedimiento Continuar después de una interrupción de importación
(Véase Continuar después de una interrupción de importación, p. 590).

Exportación de Se deben realizar los siguientes pasos para la exportación de sección de un


sección e proyecto fuente y posterior importación de sección a un DFB destino:
importación de
Paso Acción
DFB
1 Borrar en Concept todas las declaraciones de direcciones directas y variables
located de las secciones a exportar. (Éstas no son admisibles en un DFB.)
2 Abrir el proyecto fuente en Concept.
3 Activar Fichero → Exportación → Programa: Sección(es).
4 Seleccionar en la ventana Abrir archivo el proyecto fuente, por ejemplo
C:\QUELL_DIR\QUELL.PRJ
5 Seleccionar en el proyecto fuente las secciones a exportar.
6 Introducir en Guardar exportación de sección bajo, el nombre del archivo de
exportación (*.SEC), por ejemplo C:\ZIEL_DIR\ZIEL.SEC

Reacción: Se exportan las secciones y se guardan en el archivo *.SEC, por


ejemplo en ZIEL.SEC.
se emite la pregunta ¿Importar la sección ahora al proyecto?
7 Contestar a la pregunta sobre si se deben importar las secciones, con
Interrumpir.
8 Cerrar Concept.
9 Abrir Concept-DFB y el DFB destino.

586 840 USE 493 03 Septiembre de 2001


Importar/Exportar

Paso Acción
10 Ejecutar el comando de menú Fichero → Importación → Programa:
Sección(es).
11 Seleccione el archivo de exportación (por ejemplo ZIEL.SEC).
12 Se debe responder a la pregunta sobre si primero se debe guardar el proyecto,
con Aceptar.

Nota: La consulta ¿Guardar proyecto primero? se debería responder con


Aceptar, ya que en caso de un error de importación se cierra el proyecto actual
y se perderán todas las modificaciones realizadas desde que se ha guardado el
mismo por última vez.
13 Si así se desea o resulta necesario, en la tabla Reemplazar se pueden realizar
reemplazos para nombres de ejemplar de variables, de secciones, etc., así
como definir desplazamientos de dirección para variables located y direcciones
directas (véase también Modificaciones específicas, p. 581).
14 Seleccionar Aceptar para continuar (con Interrumpir se interrumpirá todo el
proceso de importación).

Reacción: se importan al DFB destino las secciones, los DFB utilizados, los
tipos de datos derivados utilizados y las declaraciones de variables, entradas y
salidas utilizadas.
En los siguientes casos se interrumpirá la importación y se cerrará el DFB
actual:
l Las secciones a importar contienen DFB, que no existen en el DFB proyecto
destino.
l Las secciones a importar contienen DFB, cuyas versiones se diferencian de
los DFB ya existentes. (La versión de DFB importada se puede aceptar o
rechazar).
l Durante la importación se producen otros errores.
Los errores se visualizan en la ventana de mensajes y deben ser confirmados.
15 Si se ha interrumpido la importación, se elimina la causa de interrupción y se
realiza el procedimiento Continuar después de una interrupción de importación
(Véase Continuar después de una interrupción de importación, p. 590).

840 USE 493 03 Septiembre de 2001 587


Importar/Exportar

Exportación de Se deben realizar los siguientes pasos para la exportación de sección de un DFB
DFB e fuente y posterior importación de sección a un proyecto destino:
importación de
Paso Acción
sección
1 Antes de la exportación a Concept DFB, se borra la declaración de las entradas/
salidas en el DFB a exportar, ya que las mismas no se admiten en un proyecto
de Concept.
2 Abrir el DFB fuente en Concept-DFB
3 Activar Fichero → Exportación → Programa: Sección(es).
4 Seleccionar en la ventana Abrir archivo el DFB fuente, por ejemplo
C:\QUELL_DIR\DFB\QUELL.DFB
5 Seleccionar en el DFB fuente las secciones a exportar.
6 Introducir en Guardar exportación de sección bajo, el nombre del archivo de
exportación (*.SEC), p. ej. C:\ZIEL_DIR\ZIEL.SEC

Reacción: Se exportan las secciones y se guardan en el archivo *.SEC, por


ejemplo en ZIEL.SEC.
Se emite la pregunta ¿Importar la sección ahora al proyecto?
7 Contestar a la pregunta sobre si se deben importar las secciones, con
Interrumpir.
8 Cerrar Concept-DFB.
9 Abrir Concept y el proyecto destino.
10 Ejecutar el comando de menú
Fichero → Importación → Programa: Sección(es).
11 Seleccionar el archivo de exportación (por ejemplo ZIEL.SEC).
12 Se debe responder a la pregunta sobre si primero se debe guardar el proyecto,
con Aceptar.

Nota: La consulta ¿Guardar proyecto primero? se debería responder con


Aceptar, ya que en caso de un error de importación se cierra el proyecto actual
y se perderán todas las modificaciones realizadas desde que se ha guardado el
mismo por última vez.
13 Si así se desea o resulta necesario, en la tabla Reemplazar se pueden realizar
reemplazos para nombres de ejemplar de variables, de secciones, etc., así
como definir desplazamientos de dirección para variables located y direcciones
directas (véase también Modificaciones específicas, p. 581).

588 840 USE 493 03 Septiembre de 2001


Importar/Exportar

Paso Acción
14 Seleccionar Aceptar para continuar (con Interrumpir se interrumpirá todo el
proceso de importación).

Reacción: se importan al proyecto destino las Secciones, los DFB utilizados, los
tipos de datos derivados utilizados y las declaraciones de variables utilizadas,
incluidos los comentarios.
En los siguientes casos se interrumpirá la importación y se cerrará el proyecto
actual:
l Las secciones a importar contienen DFB, que no existen en el proyecto
destino.
l Las secciones a importar contienen DFB, cuyas versiones se diferencian de
los DFB ya existentes. (La versión de DFB importada se puede aceptar o
rechazar.)
l Durante la importación se producen otros errores.
Los errores se visualizan en la ventana de mensajes y deben ser confirmados.
15 Si se ha interrumpido la importación, se elimina la causa de interrupción y se
realiza el procedimiento Continuar después de una interrupción de importación
(Véase Continuar después de una interrupción de importación, p. 590).

840 USE 493 03 Septiembre de 2001 589


Importar/Exportar

Continuar Para continuar después de una interrupción de importación, realizar los siguientes
después de una pasos:
interrupción de
Paso Acción
importación
1 Vueler a abrir el proyecto destino/DFB destino.
2 Ejecutar el comando de menú Fichero → Importación → Programa:
Sección(es).
3 Seleccionar el archivo de exportación (por ejemplo ZIEL.SEC).
4 Contestar a la pregunta Salvaguardar proyecto: con Sí.

Nota: La consulta ¿Guardar proyecto? se debería responder con Sí, ya que en


caso de un error de importación se cierra el proyecto actual y se perderán todas
las modificaciones realizadas desde que se ha guardado el mismo por última
vez.
5 Si así se desea o resulta necesario, en la tabla Reemplazar se pueden realizar
reemplazos para nombres de ejemplar de variables, de secciones, etc., así
como definir desplazamientos de dirección para variables located y direcciones
directas (véase también Modificaciones específicas, p. 581).
6 Seleccionar Aceptar para continuar (con Interrumpir se interrumpirá todo el
proceso de importación).

Reacción: se importan al proyecto destino las Secciones, los DFB utilizados, los
tipos de datos derivados utilizados y las declaraciones de variables utilizadas,
incluidos los comentarios.
En los siguientes casos se interrumpirá la importación y se cerrará el proyecto
actual:
l Las secciones a importar contienen DFB, que no existen en el proyecto
destino.
l Las secciones a importar contienen DFB, cuyas versiones se diferencian de
los DFB ya existentes. (La versión de DFB importada se puede aceptar o
rechazar.)
l Durante la importación se producen otros errores.
Los errores se visualizan en la ventana de mensajes y deben ser confirmados.

590 840 USE 493 03 Septiembre de 2001


Importar/Exportar

Importación de programas IL y ST a secciones FBD, SFC, IL o ST


(con conversión)

Introducción Mediante Fichero → Importar → Programa: Texto IEC puede importar ficheros
ASCII con programas IL o ST, o secciones FBD, SFC, IL o ST. ST y IL pueden
aparecer con elementos SFC (durante la importación a la sección SFC). Ambos
lenguajes de texto deben cumplir la gramática para lenguajes de texto IEC, tal y
como figuran en IEC 1131-3 y en las tablas de rendimiento 52 a 56 de IEC 1131-3.

Unidades de La unidad de importación mínima es una unidad de organización de programa


importación (POE) según IEC (PROGRAM ... END_PROGRAM; FUNCTION_BLOCK ...
END_FUNCTION_BLOCK).
En Concept, el archivo ASCII puede contener varios POE. De un POE se forman
una o varias secciones con el nombre del POE, al cual se asigna un número
correlativo. Cuando gráficamente no existe suficiente espacio para depositar la
lógica se comienza una nueva sección. Las unidades FUNCTION_BLOCK ...
END_FUNCTION_BLOCK-POE se importan como DFB.

En DFB Concept, el archivo ASCII sólo puede contener un único POE. De este POE
(FUNCTION_BLOCK ... END_FUNCTION_BLOCK) se forma una sección.
Insertar los POE:
Tipo de POE Importación a un Importación a un DFB
proyecto abierto abierto
PROGRAM ... END_PROGRAM Como sección en el Imposible
proyecto actual.
FUNCTION_BLOCK Como DFB del proyecto. Como sección al DFB
...END_FUNCTION_BLOCK Se pueden importar varios actual. Sólo se puede
POE a la vez. importar 1 POE.
FUNCTION ... END_FUNCTION Se convierte en DFB. El Se convierte en DFB. El
nombre de función se nombre de función se
convierte en salida del DFB convierte en salida del
DFB.

Comporta- Las secciones sólo se crean cuando el texto ST/IL es sintácticamente impecable.
miento en caso Los POE que no se pueden reproducir en FBD/SFC se ignoran por completo,
de error apareciendo un mensaje de error en la ventana de mensajes.

Nota: Si el fichero que se va a importar contiene más de 200 declaraciones


(declaraciones de variables y FFB) se provoca un error de programa. En tal caso
debe distribuir las declaraciones en varios bloques VAR..END_VAR.

840 USE 493 03 Septiembre de 2001 591


Importar/Exportar

Variables Las variables declaradas en el POE aparecen después de la importación en el


editor de variables (excepción: variables del tipo SFCSTEP_STATE y
SECT_CTRL).

EFB con juego Sólo se apoyan EFBs con juego de parámetros extendido (PRE_DIA, GRP_DIA,
de parámetros LOOKUP_TABLE, ..) hasta la cantidad predefinida de entradas/salidas.
extendido

"Función de Si se importan llamadas de una "Función de paréntesis" con cantidad extendida de


paréntesis" con entradas como por ejemplo MUX_INT(...), entonces trabajan todas las instancias de
cantidad esta función con la máxima cantidad de entradas que aparece.
extendida de
entradas

Conversión de La conversión a FBD conlleva las siguientes restricciones:


IL/ST en FBD l La conversión a FBD conlleva las siguientes restricciones:
l Los ejemplares de módulo sólo se pueden abrir una sola vez.
l Sólo asignaciones y llamadas de bloques
pero sin:
l RET (tabla 52, característica 20)
l ELSIF (tabla 56, característica 4)
l ELSIF (tabla 56, característica 4)
l CASE (tabla 56, característica 5)
l FOR (tabla 56, característica 6)
l REPEAT (tabla 56, característica 8)
l EXIT (tabla 56, característica 9)
l IN no imbricado (IEC 1131-1 tabla 56, característica 4)

Conversión de Durante la importación SFC desde un fichero de texto hay que tener en cuenta las
IL/ST en SFC siguientes limitaciones:
l Como acciones sólo se permiten variables. Las direcciones directas no se
pueden importar.
l Como variables de tiempo para descriptores sólo se admiten literales.
l Los nombres de la sección de transición se cambian por nombres standard.
l Los tiempos de vigilancia de paso y los tiempos de retardo de paso se pierden
durante la importación.

592 840 USE 493 03 Septiembre de 2001


Importar/Exportar

La conversión a SFC conlleva además las siguientes restricciones IEC 1131-3


(tabla = tabla IEC 1131-3):
l Las condiciones de transición se depositan en secciones FBD especiales
(TC_secname) (tabla 41, característica 7a, 7c, 7d). La importación textual de
condiciones de transición no es posible.
l Las acciones se convierten en secciones FBD y están unidas a los pasos.
l Ningún signo de determinación SD y SL (tabla 45, característica 8, 10), se
importan como MOVE.
l Se permiten componentes de estructura y variables de dirección directa como
acciones SFC. Ello se debe contemplar como ampliación de la norma IEC 1131-
3. La exportación ST e IL no soporta ninguno de los dos.
l La utilización de variables de paso ’step.X’ ; ’step.T’ no se puede importar o
exportar y se debe generar nuevamente.

Conversión de Para la conversión a ST o IL, no realizadas en Concept, se dan las siguientes


IL/ST a ST o IL restricciones:
l La declaración de FBs, de DFBs y de direcciones directas se realiza al inicio de
la sección (VAR...END_VAR)
l El formateado fuente (sangrías, comentarios, etc.) sólo se acepta para la "parte
lógica" de las secciones, es decir, por ejemplo que no hay comentarios para
declaraciones (VAR...END_VAR)
l Los módulos de función de contador se deben homogeneizar, por ejemplo se
debe cambiar CTU a CTU_INT
l Sin palabras clave
l TYPE_...END_TYP
l VAR_INPUT...END_VAR
l VAR_OUTPUT...END_VAR
l VAR_IN_OUT...END_VAR
l VAR_EXTERNAL...END_VAR
l FUNCTION...END_FUNCTION
l FUNCTION_BLOCK...END_FUNCTIONBLOCK
l PROGRAM...END_PROGRAM
l STEP...END_STEP
l TRANSITION...END_TRANSITION
l ACTION...END_ACTION
l Sin instrucción RETURN (editor ST)
l Sin instrucción RET (editor IL)

840 USE 493 03 Septiembre de 2001 593


Importar/Exportar

Conversión a Respecto a la importación de declaraciones de variables existen las siguientes


declaración de restricciones:
variable l No se importan comentarios.
l VAR_CONSTANT se importa como Located variable.
(VAR_CONSTANT
i : INT := 10;
END_VAR
se convierte en la Located variable "i" con el valor de inicio "10")
l Las definiciones VAR_INPUT y VAR_OUTPUT se importan a los programas
como Located variables (VAR).
l Las definiciones VAR_INPUT y VAR_OUTPUT se importan a los DFB como
variables de entrada/salida (VAR_INPUT, VAR_OUTPUT).

Importación (insertar fichero) de programas IL y ST a secciones IL o ST

Introducción Con Editar → Insertar archivo de texto... se pueden importar archivos ASCII con
programas IL o ST a secciones IL o ST.

Esta función de importación es una pura función de importación de texto, tal y como
también resulta posible a través del portapapeles (cortar/copiar/insertar). No se
realiza conversión alguna de los datos. Por este motivo no se integran automáti-
camente en el editor de variables por ejemplo las declaraciones de variables
necesarias (incluso cuando las mismas están incluidas en el archivo ASCII). Las
declaraciones de variables necesarias se deben importar de un "Archivo de
variable" o generar de nuevo explícitamente con Archivo → Importación. Si la
sección contiene declaraciones de variables, se deben borrar las mismas, ya que
generan errores durante la generación de código de la sección. Además se deben
borrar del programa todas las informaciones para el POE (p. ej. de la exportación
de una sección gráfica con Archivo → Exportación → Programa: Texto IEC).

594 840 USE 493 03 Septiembre de 2001


Importar/Exportar

Restricciones Respecto a la importación de programas IL y ST existen las siguientes restricciones:


l Sin palabras clave
l TYPE_...END_TYP
l VAR_INPUT...END_VAR
l VAR_OUTPUT...END_VAR
l VAR_IN_OUT...END_VAR
l VAR_EXTERNAL...END_VAR
l FUNCTION...END_FUNCTION
l FUNCTION_BLOCK...END_FUNCTIONBLOCK
l PROGRAM...END_PROGRAM
l STEP...END_STEP
l TRANSITION...END_TRANSITION
l ACTION...END_ACTION
l VAR...END_VAR
l Sólo para la declaración de módulos de función y DFBs
l Sólo al inicio de la sección para todos los módulos de función y DFBs de la
sección
l No para declaraciones de variables
l Además para la homogeneización de direcciones directas: VAR %Q10:INT;
END_VAR
l sin instrucción RETURN (editor ST)
l sin instrucción RET (editor IL)

840 USE 493 03 Septiembre de 2001 595


Importar/Exportar

Procedimiento para "Copiar" una sección IL de un proyecto existente a un


proyecto nuevo.

Procedimiento Para "Copiar" una sección IL de un proyecto existente a una sección IL de un


proyecto nuevo, realizar los siguientes pasos:
Paso Acción
1 Abrir la sección IL a exportar.
2 Ejecutar el comando de menú Editar → Guardar como archivo de texto....
3 Seleccionar un directorio para el archivo de exportación y asigne un nombre.
Confirmar la entrada realizada con Aceptar.

Reacción: El contenido de su sección IL se copia a un archivo ASCII.


4 Ejecutar el comando de menú
Fichero → Exportación → Variables: Texto con carácter de separación.
5 Seleccionar los ajustes de filtro Variables de exportación y Constantes de
exportación. Seleccionar la coma como carácter de separación. Confirmar la
entrada realizada con Aceptar.
6 Seleccionar un directorio para el archivo de exportación y asigne un nombre.
Confirmar la entrada realizada con Aceptar.

Reacción: Se exportan las declaraciones de variables del proyecto a un fichero


ASCII.
7 Generar un nuevo proyecto con Fichero → Nuevo proyecto.
8 Abrir el configurador con Proyecto → Configuración.
9 Seleccionar un PLC con Configurar → Tipo PLC. Confirmar la entrada
realizada con Aceptar.
10 Generar una sección IL con Fichero → Nueva sección.
11 Importar el fichero IL con Editar → Insertar archivo de texto....
12 Con Fichero → Importación → Variables: Texto con carácter de separación
(Atención: El carácter de separación debe volver a ser la coma) se importan las
declaraciones de variables al editor de variables de su proyecto.
13 Comprobar el proceso de importación con Proyecto → Analizar sección.

Reacción: Ahora el proceso de importación ha finalizado y se puede procesar


el nuevo proyecto de la forma habitual (Generación de otras secciones, finalizar
la configuración, etc.)

596 840 USE 493 03 Septiembre de 2001


Importar/Exportar

Procedimiento para la conversión de secciones de FBD a un proyecto IL de un


proyecto nuevo

Procedimiento La conversión de sección FBD de un proyecto existente a secciones IL de un


proyecto nuevo se estructura en 3 pasos principales.
Paso Acción
1 Exportar la sección FBD (Véase Exportar la sección FBD, p. 597).
2 Importar la sección FBD a una sección IL (Véase Importar la sección FBD a una
sección IL., p. 598).
3 Corregir la sintaxis (Véase Corregir la sintaxis, p. 598).

Exportar la Para exportar la sección FBD realizar los siguientes pasos:


sección FBD
Paso Acción
1 Abrir el proyecto existente.
2 Exportar la sección FBD deseada con
Fichero → Exportación... → Programa: Texto CEI.
3 Seleccionar un directorio para el archivo de exportación y asignar un nombre
para el mismo. Confirmar la entrada realizada con Aceptar.

Reacción: La sección FBD se exporta a un archivo ASCII.


4 Ejecutar el comando de menú
Fichero → Exportación → Variables: Texto con carácter de separación.
5 Seleccione los ajustes de filtro Variables de exportación y Constantes de
exportación. Seleccionar la coma como carácter de separación. Confirmar la
entrada realizada con Aceptar.
6 Seleccionar un directorio para el archivo de exportación y asignar un nombre.
Confirmar la entrada realizada con Aceptar.

Reacción: Se exportan las declaraciones de variables del proyecto a un archivo


ASCII.

840 USE 493 03 Septiembre de 2001 597


Importar/Exportar

Importar la Para importar la sección FBD a una sección IL se tienen que realizar los siguientes
sección FBD a pasos:
una sección IL.
Paso Acción
1 Generar un nuevo proyecto con Fichero → Nuevo proyecto.
2 Abrir el configurador con Proyecto → Configuración.
3 Seleccionar un PLC con Configurar → Tipo PLC. Confirmar la entrada
realizada con Aceptar.
4 Generar una sección IL con Fichero → Nueva sección.
5 Importar el fichero IL con Editar → Insertar archivo de texto....
6 Con Fichero → Importación → Variables: Texto con carácter de separación
(Atención: El carácter de separación debe volver a ser la coma) se importan las
declaraciones de variables al editor de variables de su proyecto.

Reacción: Se importan la sección FBD (en formato IL) y las declaraciones de


variables.

Corregir la Para corregir la sintaxis se deben seguir los siguientes pasos:


sintaxis
Paso Acción
1 Borrar la línea PROGRAM. (Contiene el nombre del proyecto antiguo.)
2 Borrar todos los caracteres entre VAR y END_VAR, que no contengan módulos
de función o declaración DFB (por ejemplo declaraciones de variables).
3 Borrar la líneas de INITIAL_STEP hasta END_STEP. (Contienen la secuencia
de ejecuciones de las secciones en el proyecto antiguo.)
4 Convertir las líneas de ACTION onlines de comentario, por ejemplo (* ACTION
xxx *). (Contienen los nombres de las secciones FBD.)
5 Borrar las líneas END_ACTION.
6 Borrar la línea END_PROGRAM.
7 Comprobar el proceso de importación con Proyecto → Analizar sección y
eliminar eventuales errores.

Reacción: Ahora el proceso de importación ha finalizado y se puede procesar


el nuevo proyecto de la forma habitual (Generación de otras secciones, finalizar
la configuración, etc.)

598 840 USE 493 03 Septiembre de 2001


Importar/Exportar

21.5 Importación de variables

Introducción

Vista general Esta sección describe la importación de variables.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Importar variables en formato "Texto con caracteres de separación" 600
Importación de variables estructuradas 602
Importación de variables en el formato "Factory Link" 607

840 USE 493 03 Septiembre de 2001 599


Importar/Exportar

Importar variables en formato "Texto con caracteres de separación"

Introducción Con Fichero → Importar → Variables: Texto con caracteres de separación


puede importar las declaraciones de variables de un fichero ASCII en formato
"Texto con caracteres de separación" (Text delimited) en el editor de variables.

Importar valores Con este formato de importación no se pueden importar valores iniciales de
iniciales variables en tipos de datos derivados. Si desea importar valores iniciales de
variables en tipos de datos derivados, seleccione importación de texto IEC como
formato de importación/exportación.

Descripción Un fichero ASCII en formato "Texto con caracteres de separación" debe cumplir las
general del siguientes condiciones:
formato l El conjunto de caracteres utilizado corresponde a ANSI (Windows).
l Los parámetros de una variable aparecen en una línea.
l Los distintos parámetros están separados por un carácter definido por el usuario.
l En todos los campos se permiten espacios en blanco delante y detrás (a no ser
que se haya utilizado el espacio como carácter separador), ya que la función de
importación los elimina (con excepción del campo de comentario).
l Ningún parámetro debe contener el carácter separador que se haya
seleccionado.
l De acuerdo con la nomenclatura IEC, Concept no distingue entre mayúsculas y
minúsculas. Tenga en cuenta este hecho en los nombres de las variables.
l Se puede evitar el solapamiento entre las direcciones ya existentes y las
direcciones que se van a importar si en el cuadro de diálogo Opciones →
Preajustes → Analizar... → Preajustes para el análisis se activa la opción
Tratar los solapamientos de direcciones como error.

Orden de los Orden de los parámetros dentro de una línea:


parámetros l Flag de la variable
dentro de una l Nombre de la variable (nombre simbólico)
línea l Tipo de datos
l Dirección de hardware
l Valor inicial
l Comentario

Significado del Los valores posibles del flag de la variable son:


flag de la variable l 0 o N= El nombre simbólico hace referencia a una variable no exportable.
l 1 o E= El nombre simbólico hace referencia a una variable exportable.
l 2 o C = El nombre simbólico hace referencia a una constante.
l 3 o I = El nombre simbólico hace referencia a una entrada (Véase Parámetros
formales, p. 402) (sólo en DFB Concept).

600 840 USE 493 03 Septiembre de 2001


Importar/Exportar

l 4 u O = El nombre simbólico hace referencia a una salida (Véase Parámetros


formales, p. 402) (sólo en DFB Concept).
l 5 o M = El nombre simbólico hace referencia a una variable VARINOUT (Véase
Variables combinadas de entrada / salida (variables VARINOUT), p. 403) (sólo
en DFB Concept).
l S = Variable estructurada, véaseImportación de variables estructuradas, p. 602.

Sólo se importan como Located Variables aquellas variables cuyo flag tiene el valor
0/N o 1/E. El resto se importarán como Unlocated Variables.

Si el flag de la variable está ajustado como 2/C, se ignorará la dirección de


hardware.

Los valores 3/I y 4/O sólo se permiten en DFB Concept. En este caso, los valores
del campo de dirección se utilizarán como posición de las entradas y salidas
correspondientes. El valor 1/E del flag de la variable se importa en DFB Concept
como valor 0/N del flag de la variable.

Estructura del Estructura del campo de la dirección de hardware (ejemplo: %4:100):


campo de la l Carácter para la dirección directa "%" (puede faltar)
dirección de l Tipo de dirección
hardware l 0 = salida, marca
l 1 = entrada
l 3 = palabra de entrada
l 4 = palabra de salida, palabra de marca
l Carácter separador ":" o ".".
Si no se utiliza ningún separador, la dirección deberá tener 6 caracteres de
longitud.
l Dirección

Ejemplo de una Palabra de marca 123 :


descripción de l %400123 o
dirección l %4.123 o
l %4:123 o
l 400123 o
l 4.123 o
l 4:123

840 USE 493 03 Septiembre de 2001 601


Importar/Exportar

Notación IEC También se puede utilizar la notación IEC para direcciones (p. ej., %QX100
para direcciones corresponde a 000100):
Tipo de dirección Designación de Concept Designación de IEC
Salida, marca 0x %QX,%Q
Entrada 1x %IX,%I
Palabra de entrada 2x %IW
Palabra de salida, palabra 3x %QW
de marca

Campos vacíos Los campos vacíos se representan con dos caracteres de separación seguidos.
Los siguientes campos pueden estar vacíos:
l Dirección de hardware
l Valor inicial
l Comentario

Campos Los siguientes campos pueden faltar:


ausentes l Comentario
l Comentario y valor inicial
l Comentario, valor inicial y dirección de hardware

Importación de variables estructuradas

Introducción La estructura principal del archivo corresponde al de las variables en el formato


"Texto con carácter de separación" (Véase Importar variables en formato "Texto
con caracteres de separación", p. 600).

Descripciones Además se deben tener en cuenta los siguientes puntos:


de sintaxis l Se necesitan varias líneas para describir una variable.
adicionales l Cada una de estas líneas debe corresponder al formato de variables en el
formato "Texto con carácter de separación".
l Una variable estructurada con valores de inicio se describe con una línea de
introducción con la siguiente estructura:
1. Flag de variable
2. Nombre de variable (nombre simbólico)
3. Nombre del tipo de datos derivado
4. Dirección de hardware
5. Campo vacío
6. Comentario

602 840 USE 493 03 Septiembre de 2001


Importar/Exportar

l Esta línea de introducción va seguida de, por lo menos, una descripción de


componentes. Esta descripción de componentes se realiza mediante la
descripción del componente elemental (tipo de datos elemental) en forma de una
línea con la siguiente estructura (no hace falta describir un componente si su
valor de inicio es igual al valor estándar). La secuencia en la que se listan los
diferentes componentes, carece de importancia.
1. Carácter "S" (S significa estructurado)
2. Ruta de componente (no hace falta incluir el nombre de la variable)
3. Campo para el tipo de datos CEI (este campo se puede dejar en blanco)
4. Campo vacío
5. Valor de inicio
6. Campo vacío

Tratamiento de Tratamiento de errores de las descripciones de componentes.


errores de las l Si se describe varias veces un componente de una variable, se utilizará la última
descripciones de descripción.
componentes l Si el componente especificado no está incluido en la variable actual descrita, se
ignora la descripción de componentes y se emite una advertencia.
l Si el campo para la ruta de los componentes está vacío, se ignora la descripción
de componentes y se emite una advertencia.
l Si el campo para el tipo de datos CEI no está vacío, se comprueba el tipo de
datos especificado. Si el tipo de datos especificado y el tipo de datos de los
componentes no son iguales, se ignora la descripción de componentes y se
emite una advertencia.
l Se ignoran los registros en el campo de dirección.
l Se ignoran los registros en el campo de comentario.

840 USE 493 03 Septiembre de 2001 603


Importar/Exportar

Ejemplo: Definición del tipo de datos estructurado ESI_IN:


Variable ESI_In: (* ESI - input data *)
estructurada en STRUCT
el formato "Texto in: ESI_InOut; (* ESI input data *)
con carácter de esi: ESI_Status;
separación" dummy: BYTE; (* supplement to modulo 16 *)
slot: Exp_Status;
END_STRUCT;

ESI_InOut: +(* ESI input / output data structure *)


STRUCT
tstat: BYTE; (* transfer status, handshake *)
blocks: BYTE; (* number of used blocks *)
res: BYTE; (* reserved *)
block: ESI_BlockArr14; (* data block *)
END_STRUCT;

ESI_BlockArr14: ARRAY[1..14] OF ESI_Block;

ESI_Block: (* datas of ESI *)


STRUCT
func: BYTE; (* function *)
mux: WORD; (* distribution *)
attr: BYTE; (* attribute *)
cause: BYTE; (* reason *)
station: WORD; (* station number *)
object: WORD; (* objekt number *)
data: ByteArr9; (* data bytes *)
END_STRUCT;

ByteArr9: ARRAY [1..9] OF BYTE; (* 9 bytes *)

ESI_Status: (* Status of ESI *)


STRUCT
wdog: BYTE; (* expert watchdog-counter *)
stat1: BYTE; (* error status 1 *)
stat2: BYTE; (* error status 2 *)
stat3: BYTE; (* error status 3 *)
slot: WORD; (* slot number *)
user: WORD; (* virtual slot number *)
esitime: DPM_Time; (* time stamp *)
END_STRUCT;

604 840 USE 493 03 Septiembre de 2001


Importar/Exportar

DPM_Time: (* time stamp *)


STRUCT
sync: BOOL; (* sync clock *)
ms: WORD; (* milli-seconds *)
min: BYTE; (* minutes *)
hour: BYTE; (* hours; (hour AND 16#80) *)
(* = day light saving time *)
day: BYTE; (* days of week *)
mon: BYTE; (* month *)
year: BYTE; (* year *)
END_STRUCT;

STRUCT
Exp_Status: (* error status of transfer *)
ErrFlag1: BOOL; (* TRUE: epxert not pluged *)
ErrFlag2: BOOL; (* TRUE: Bit 7 of DPM *)
(* Identcode is set; *)
(* logical DMP-access-error *)
UserStatus: WORD; (* status of expert *)
ErrNo: WORD; (* errornumber *)
END_STRUCT;

840 USE 493 03 Septiembre de 2001 605


Importar/Exportar

Representación de la variable "demo" del tipo de datos ESI_IN en el formato


"Texto con carácter de separación".
1;demo;ESI_In;400002;;structured data type
S;in.tstat;BYTE;;16#0F;
S;in.blocks;BYTE;;16#0F;
S;in.res;BYTE;;16#0F;
S;in.block[1].func;BYTE;;16#0F;
S;in.block[1].mux;WORD;;16#000F;
S;in.block[1].attr;BYTE;;16#0F;
S;in.block[1].cause;BYTE;;16#0F;
S;in.block[1].station;WORD;;16#000F;
S;in.block[1].object;WORD;;16#000F;
S;in.block[1].data[1];BYTE;;16#0F;
S;in.block[1].data[5];BYTE;;16#0F;
S;in.block[3].func;BYTE;;16#0F;
S;in.block[3].mux;WORD;;16#000F;
S;in.block[3].attr;BYTE;;16#0F;
S;in.block[3].cause;BYTE;;16#0F
S;in.block[3].station;WORD;;16#000F
S;in.block[3].object;WORD;;16#000F
S;in.block[3].data[1];BYTE;;16#0F
S;in.block[3].data[2];BYTE;;16#0F
S;esi.wdog;BYTE;;16#0F
S;esi.stat1;BYTE;;16#0F
S;esi.stat2;BYTE;;16#0F
S;esi.stat3;BYTE;;16#0F
S;esi.slot;WORD;;16#000F
S;esi.user;WORD;;16#000F
S;esi.esitime.sync;BOOL;;TRUE
S;esi.esitime.ms;WORD;;16#000F
S;esi.esitime.min;BYTE;;16#0F
S;esi.esitime.hour;BYTE;;16#0F
S;esi.esitime.day;BYTE;;16#0F
S;esi.esitime.mon;BYTE;;16#0F;
S;esi.esitime.year;BYTE;;16#0F;
S;dummy;BYTE;;16#0F;
S;slot.ErrFlag1;BOOL;;FALSE;
S;slot.ErrFlag2;BOOL;;FALSE;
S;slot.UserStatus;WORD;;16#000F;
S;slot.ErrNo;WORD;;16#000F;

606 840 USE 493 03 Septiembre de 2001


Importar/Exportar

Importación de variables en el formato "Factory Link"

Descripción Con Fichero → Importación → Variables: Factory Link se pueden importar


declaraciones de variables en el formato "Factory Link". A tal fin se debe realizar
una exportación en Factory Link e indicar durante la importación en Concept la
versión de Factory Link.

Si Concept no soporta su versión de Factory Link, hay que dirigirse a la hotline.

Nota: Factory Link diferencia entre letras mayúsculas y minúsculas respecto a los
nombres de variables. Concept no diferencia según las convenciones de nombres
CEI. Tener en cuenta esta característica durante la importación.

840 USE 493 03 Septiembre de 2001 607


Importar/Exportar

21.6 Importación/exportación de la configuración del


PLC

Introducción

Vista general Esta sección describe la exportación e importación de la configuración del PLC con
Concept o con el convertidor Concept.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Importación /exportación de la configuración del PLC con Concept 609
Importar/Exportar la Configuración PLC con el convertidor de Concept 609

608 840 USE 493 03 Septiembre de 2001


Importar/Exportar

Importación /exportación de la configuración del PLC con Concept

Introducción La función Importar / Exportar permite exportar la configuración del PLC del
proyecto actual (abierto) para volverla a importar a continuación.

Exportar e Para la exportación y la subsiguiente importación de la configuración del PLC, siga


importar estos pasos:
configuración
Paso Acción
1 Para exportar la configuración del PLC del proyecto actual, inicie Concept, abra
el proyecto deseado y seleccione Fichero → Exportar → Configuración.
2 Seleccione en el cuadro Carpeta el directorio de destino para la configuración
del PLC que se va a exportar.
3 Indique en el cuadro Nombre de fichero un nombre para el fichero de
exportación (NAME.CCF) y haga clic en OK.
Resultado: La configuración del PLC se carga en formato ASCII en el directorio
seleccionado.
4 Para importar la configuración del PLC en un proyecto, abra el proyecto
deseado.
5 Seleccione en Concept el comando de menú Fichero → Importar →
Configuración.
6 Seleccione en el cuadro de lista Tipo de fichero la entrada Config. Concept
(*.CCF).
7 Seleccione el directorio deseado en el cuadro Carpeta.
8 Seleccione en el cuadro de lista Nombre de fichero la configuración del PLC
que desee importar (NAME.CCF) y haga clic en OK.
9 Atención: Se sobrescribe la configuración del PLC actual del proyecto abierto.
Responda a la pregunta con OK.
Resultado: Se importa la configuración del PLC.

Importar/Exportar la Configuración PLC con el convertidor de Concept

Introducción La función Importar/Exportar del convertidor de Concept le permitirá exportar la


configuración PLC de un proyecto A para importarlo a continuación en un proyecto
B.

840 USE 493 03 Septiembre de 2001 609


Importar/Exportar

Exportar Siga los siguientes pasos para exportar y después importar configuraciones PLC:
configuración y
Paso Acción
exportar
configuración 1 Inicie el convertidor de Concept para exportar la configuración PLC del proyecto
A y elija Archivo → Exportar → Configuración.
2 En el campo Carpeta seleccione el directorio de instalaciones del proyecto A.
3 Seleccione la configuración PLC que desee exportar (NOMBRE DE
PROYECTO.C1) y haga clic en Aceptar.
Resultado: La configuración se guarda en el directorio de instalación como
archivo ASCII (NOMBRE DE PROYECTO.CON).
4 Copie el archivo exportado al directorio de instalación del proyecto B para
importar la configuración PLC a este proyecto.
5 Elija la el comando de menúArchivo → Importar en el convertidor de Concept.
6 Seleccione en el cuadro de lista desplegable Tipo de dato la entrada
Configuración (*.CON).
7 En el campo Carpeta seleccione el directorio de instalaciones del proyecto B.
8 Seleccione en el campo de lista desplegable Nombre de archivo la
configuración PLC que desee importar (NOMBRE DE PROYECTO.CON) y
haga clic en Aceptar.
9 Atención: Se sobreescribirá la configuración PLC actual del proyecto
seleccionado.
Acepte el mensaje haciendo clic en Aceptar.
Resultado:Se importa la configuración PLC.

610 840 USE 493 03 Septiembre de 2001


Documentación y archivación

22
Introducción

Visión general Este capítulo describe la documentación, el archivado y la eliminación de proyectos,


DFB y macros.

Contenido: Este capítulo contiene las siguientes secciones:


Sección Apartado Página
22.1 Documentación de proyectos, DFB y macros 613
22.2 Administración de proyectos, DFB y macros 623

840 USE 493 03 Septiembre de 2001 611


Documentación y archivación

612 840 USE 493 03 Septiembre de 2001


Documentación y archivación

22.1 Documentación de proyectos, DFB y macros

Introducción

Vista general Esta sección describe la documentación de proyectos, DFB y macros.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Contenido de la documentación 614
Layout de la documentación 615
Definición de cambios de página de secciones 617
Utilización de palabras clave 621

840 USE 493 03 Septiembre de 2001 613


Documentación y archivación

Contenido de la documentación

Introducción El contenido de la documentación puede ir desde una página de gráfico hasta una
documentación de proyecto completa. La secuencia de impresión de los diferentes
capítulos es la especificada en el cuadro de diálogo Fichero → Imprimir →
Contenido de documentos y no se puede modificar.

Documentación Los siguientes capítulos se pueden imprimir para una documentación de proyecto
de proyecto con el comando de menú Fichero → Imprimir:
l Descripción de proyecto
l Tipos de datos derivados
l Utilización de memoria de señal
l Valores de memoria de señal
l Utilización de los DFB
l Utilización de los EFB
l Configuración del PLC
l Dotación E/S
l Secuencia de ejecuciones de las secciones
l Estructura de proyecto
l Mensajes
l Mensajes ASCII sólo en Concept para Quantum
l Lista de variables
l Utilización de las variables
l Contenido de las secciones
l Índice para la documentación impresa

Documentación Los siguientes capítulos se pueden imprimir para una documentación DFB/macro
DFB/macro con el comando de menú Fichero → Imprimir:
l Descripción DFB/macro
l Tipos de datos derivados
l Utilización de los DFB
l Utilización de los EFB
l Secuencia de ejecuciones de las secciones
l Mensajes
l Lista de variables
l Utilización de las variables
l Contenido de las secciones
l Índice para la documentación impresa

614 840 USE 493 03 Septiembre de 2001


Documentación y archivación

Layout de la documentación

Formato de La impresión puede llevarse a cabo en modalidad vertical o modalidad horizontal.


impresión Realice los ajustes necesarios en el cuadro de diálogo Fichero → Instalar
impresora → Elegir impresora.

Numeración de La numeración de páginas se realiza de forma lineal. Podrá determinar libremente


página el número de página frontal de la impresión.

Tamaño de El borde izquierdo tiene 12 caracteres de ancho. El lugar destinado al texto y a los
página gráficos ocupa aproximadamente 132 caracteres de ancho; el alto depende del
encabezamiento y del pie de página. Si el encabezamiento y el pie de página no
están activados o no se encuentra la palabra clave "%PAGENO" en ellos, el número
de página se imprimirá automáticamente en la esquina inferior derecha de la
página.

Cambios de Si un gráfico no tiene suficiente espacio en una página, dicha sección gráfica se
página dividirá en partes y se imprimirá de forma similar a un mapa. En tal caso, se
imprimirá

840 USE 493 03 Septiembre de 2001 615


Documentación y archivación

Layout Layout predeterminado:


predeterminado
Borde superior
Encabezamiento (15 líneas máx.)
Línea vacía

Rango para la impresión

de
Borde
izquier
textos, tablas
do
y gráficos

Línea vacía [%PAGENO]


Pie de página (15 líneas máx.)
Borde inferior

Encabezamiento Dispone de la posibilidad de incluir un encabezamiento en su documentación. Este


encabezamiento se guarda en un archivo ASCII y puede generarse con cualquier
editor ASCII. El tamaño máximo del fichero será de 15 líneas o, lo que es lo mismo,
aprox. 2 kilobytes.

En el directorio de Concept encontrará un archivo de ejemplo con el nombre


"HEADER.TXT" que podrá modificar y modelar según sus preferencias. Para ello
puede utilizar palabras clave (Véase Utilización de palabras clave, p. 621).

Pie de página Dispone de la posibilidad de incluir un pie de página en su documentación. Este pie
de página se guarda como archivo ASCII y puede generarse con cualquier editor
ASCII. El tamaño máximo del fichero será de 15 líneas o, lo que es lo mismo, aprox.
2 kilobytes.

En el directorio de Concept encontrará un archivo de ejemplo con el nombre


"FOOTER.TXT" que podrá modificar y modelar según sus preferencias. Para ello
puede utilizar palabras clave (Véase Utilización de palabras clave, p. 621).

Página frontal Dispone de la posibilidad de incluir una página frontal en su documentación. Esta
página frontal se guarda como archivo ASCII y puede generarse con cualquier
editor ASCII. No se ha delimitado el tamaño de este fichero.

616 840 USE 493 03 Septiembre de 2001


Documentación y archivación

En el directorio de Concept encontrará un archivo de ejemplo con el nombre


"FRONTPG.TXT" que podrá modificar y modelar según sus preferencias. Para ello
puede utilizar palabras clave (Véase Utilización de palabras clave, p. 621).

La impresión de la página frontal contiene también encabezado y pie de página, si


están activados.

Definición de cambios de página de secciones

Introducción Para la impresión de los gráficos en las secciones FBD, LD y SFC puede definir los
valores para el cambio de página o la vista de papel de los gráficos. Cuanto
mayores sean los valores que escoja, el gráfico aparecerá en un tamaño menor. Sin
embargo, así habrá más espacio en una sola página.

Ajustes Puede determinar tanto para el formato vertical como horizontal los valores para el
cambio de página. Aunque cambie el formato de papel, se asegurará el ajuste del
otro formato. Por medio del botón de comando Cargar valores standard puede
cargar los valores standard del fichero CONCEPT.INI.
Al definir los valores para el ancho y para la altura del papel deberá tener en cuenta
que los distintos editores presentan distintas unidades de reticulado.
Los valores mín. y máx. son:
Sección 1 unidad de reticulado corresponde Ancho de papel Altura de papel
al valor
FBD 10 30 - 300 30 - 230
LD 8 30 - 400 10 - 230
SFC 1 4 - 32 4 - 60

840 USE 493 03 Septiembre de 2001 617


Documentación y archivación

Ejemplo de Ajuste del diálogo


secciones FBD Opciones de secciones

FBD/LD/SFC ST/IL FBD/LD/SFC

Descripción Descripción Descripción

Gráfico Texto Gráfico

Descripción objeto Comentario de red

Utilización de variables Utilización de variables Utilización de variables

Utilización de memoria de señal Utilización de memoria de señal Utilización de memoria de señal

Ajustes de cambio de página (reticulados por página)


ancho alto
Vertical FBD 75 100 Desde red
Horizontal LD 70 35 Hasta red

Cargar valores standard SFC 11 20

OK Cancelar Ayuda

618 840 USE 493 03 Septiembre de 2001


Documentación y archivación

Representación en la ventana del editor FBD


Concept [C:\CC25T1”1\TESTPAJ\TESTPAJ] - [FBD1]
Fichero Editar Vista Objetos Proyecto Online Opciones Ventana Ayuda

.1.1 (1) .1.4 (4)


AND_BOOL OR_BOOL

LampTest1 %0:00017
LampTest2

FBI_1_2 (3) .1.5 (5)


LIGHTS OR_BOOL

S 01 %0:00018
02
03
04 .1.6 (6)
05
OR_BOOL

%0:00019

.1.7 (7)
OR_BOOL

1 .1.3 (2) .1.8 (8)


%0:00020

OR_BOOL OR_BOOL

Manual1 %0:00021
ACT4

This section is used to demonstrate one instance of LIGHTS.

The output values of LIGHTS are mapped to LEDs.

The LEDs can be tested by switching on LampTest1 AND LampTest2.

For this purpose the output of LIGHTS and lamptest are ORed.

2 3a

3b

1 Sección FBD
2 Vista de reticulado (Vista -> Reticulado)
3a Cambio de página, ancho: 75 (Vista -> Cambio de página)
3b Cambio de página, altura: 100 (Vista -> Cambio de página)

840 USE 493 03 Septiembre de 2001 619


Documentación y archivación

Impresión

10 20 30 40 50 60 70 75
.1.1 (1) .1.4 (4)
AND_BOOL OR_BOOL

LampTest1 %0:00017
LampTest2

FBI_1_2 (3) .1.5 (5)


10
LIGHTS OR_BOOL

S 01 %0:00018
02
03
04 .1.6 (6)
05
OR_BOOL

%0:00019
20

.1.7 (7)
OR_BOOL

%0:00020

.1.3 (2) .1.8 (8)


OR_BOOL OR_BOOL 30

Manual1 %0:00021
ACT4

This section is used to demonstrate one instance of LIGHTS. 40

The output values of LIGHTS are mapped to LEDs.

The LEDs can be tested by switching on LampTest1 AND LampTest2.

For this purpose the output of LIGHTS and lamptest are ORed.

50

60

70

80

90

100

620 840 USE 493 03 Septiembre de 2001


Documentación y archivación

Utilización de palabras clave

Introducción Con las palabras clave se pueden insertar informaciones específicas de proyecto u
objeto en los archivos de encabezado, pie de página y página de título.

Palabras clave Tabla de las palabras clave utilizables:


utilizables
%PROJNAME Nombre del proyecto
%SECTNAME Nombre de la sección
%VERSION Versión del programa/DFB
%CREDATE Fecha de confección
%MODDATE Fecha de la última modificación del proyecto/
DFB
%DATE_D Fecha actual (formato europeo, DD.MM.AA)
%DATE_US Fecha actual (formato americano,
MM.DD.AA)
%PAGENO Número de las páginas actuales
%RECT(columna,anchura,altura) Dibuja un rectángulo con la esquina superior
izquierda en la línea actual
%HLINE(columna,longitud) Dibuja una línea horizontal en la línea actual
%VLINE(columna,longitud) Dibuja una línea vertical con comienzo en la
línea actual

Nota: La cantidad de las líneas en el archivo de encabezado, pie de página o


página de título debe coincidir con la cantidad de líneas que se requieren para la
impresión de rectángulos y líneas verticales.

840 USE 493 03 Septiembre de 2001 621


Documentación y archivación

Ejemplo: Contenido del archivo ASCII:


Encabezado con
palabras clave %RECT (1,132,4) %VLINE (24,4) %VLINE (110,4)
S A Comentario-de-proyecto Nombre
CONCEPT %DATE_D

Nota: No se introduce el carácter ¶; sólo sirve para indicar que el archivo termina
con una línea vacía.

Impresión

S A Comentario de proyecto Nombre


CONCEPT 01.04.99

622 840 USE 493 03 Septiembre de 2001


Documentación y archivación

22.2 Administración de proyectos, DFB y macros

Introducción

Visión general Esta sección describe el archivado y borrado de proyectos, DFB y macros.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
Archivar proyectos, DFBs utilizados, EFBs y ficheros de tipo de datos 624
Borrar proyectos, DFB y macros 626

840 USE 493 03 Septiembre de 2001 623


Documentación y archivación

Archivar proyectos, DFBs utilizados, EFBs y ficheros de tipo de datos

Introducción Al archivar proyectos, DFBs utilizados, EFBs y ficheros de tipo de datos se reunirán
los datos completos del proyecto y se comprimirán. Para ello se creará el fichero
*.PRZ y se depositará en el mismo directorio en que se encuentra el proyecto.
Posteriormente se podrá volver a descomprimir el fichero en cualquier momento.

Archivar Para archivar proyectos, siga los pasos que se describen a continuación:
proyectos
Paso Acción
1 Inicie Concept.
Nota: Para realizar el archivado no puede haber ningún proyecto abierto, de lo
contrario, no podrá seleccionar el comando de menú Comprimir & Ir a....
2 Para realizar el archivado, seleccione Fichero → Comprimir & Ir a....
Resultado: Aparecerá una ventana que mostrará los proyectos de Concept.
3 Seleccione en la ventana el proyecto que desee archivar y pulse OK.
Resultado 1: Se comprobará si ya existe un fichero *.PRZ comprimido con el
mismo nombre. Si se ha detectado una coincidencia, se preguntará si el fichero
existente debe sustituirse con un nuevo fichero.
Resultado 2: Los datos de proyecto se depositarán comprimidos en el fichero
*.PRZ en el mismo directorio que el proyecto.

Expandir Para expandir proyectos archivados, siga los pasos que se describen a
proyectos continuación:
archivados
Paso Acción
1 SeleccioneFichero → Abrir.
Resultado: Aparecerá una ventana que mostrará todos los proyectos de
Concept.
2 En el cuadro de lista Tipo de fichero seleccione la opción Proyectos
archivados (*.prz).
Resultado: Aparecerán los proyectos archivados de Concept.

624 840 USE 493 03 Septiembre de 2001


Documentación y archivación

Paso Acción
3 Seleccione el proyecto que desee abrir y haga clic en OK.
Resultado 1: Se comprobará si ya existe un fichero *.PRZ con el mismo
nombre. Si se ha detectado una coincidencia, se preguntará si el fichero
existente debe sustituirse con un nuevo fichero.
Resultado 2: Se comprobará si ya existen DFBs, bibliotecas EFB o ficheros de
tipo de datos con el mismo nombre. Si se ha detectado una coincidencia, se
preguntará si el fichero existente debe sustituirse con un nuevo fichero.
Resultado 3: Se descomprimirán los datos de proyecto y se depositarán como
un proyecto normal de Concept. El proyecto se situará en el mismo directorio
que el fichero archivado.
Resultado 4: El proyecto se abrirá automáticamente en Concept.
4 Establezca una conexión entre el PC y el PLC por medio de Online →
Conectar.
Resultado: Tanto el PC como el PLC se encontrarán en el mismo estado que
tenían antes del proceso de archivado.

Archivar y Al archivar y expandir los DFB globales utilizados se sigue el orden que se describe
expandir DFBs a continuación:
globales
Paso Acción
1 En el directorio del proyecto se busca un directorio GLB existente.
2 En el fichero CONCEPT.INI se comprueban los ajustes correspondientes.
Por ejemplo:
[Path]: GlobalDFBPath=x:\DFB
[Upload]: PreserveGlobalDFBs=0
En este ejemplo, los DFB globales se buscan en el directorio DFB de la ruta
definida.
3 Se busca en el directorio DFB bajo x:\CONCEPT\DFB.

Sólo se utilizan los DFB globales de un directorio, y sólo se depositan en un


directorio. Esto es, si no se realiza el paso 1, se pasa al paso 2 y como última
posibilidad se ejecutará el paso 3.

840 USE 493 03 Septiembre de 2001 625


Documentación y archivación

Información de Al descargar un proyecto se genera información de diagnóstico que se deposita en


diagnóstico el directorio correspondiente. Posteriormente se obtiene el estado IGUAL entre el
PC y el PLC. Al archivar el proyecto, esta información de diagnóstico se comprimirá
con el resto de datos de proyecto y se depositará en un fichero.
Para utilizar la información de diagnóstico incluso después de la expansión, se
deberá asegurar que durante el archivado haya permanecido el estado IGUAL entre
el PC y el PLC. Así no será necesario realizar una descarga y podrá utilizarse el
diagnóstico inmediatamente.
Si durante el archivado se ha llegado a otro estado, p. ej. DIFERENTE, durante la
expansión y después de la conexión (Online → Conectar...) mostrará ese mismo
estado. Será necesario realizar una descarga para poder poner en marcha la
instalación. Por medio de la descarga se creará una nueva información de
diagnóstico, mientras que se perderá la información antigua.

Borrar proyectos, DFB y macros

Borrar Para borrar proyectos, DFB y macros, realizar los siguientes pasos:
proyectos, DFB y
Paso Acción
macros
1 Borre el directorio de proyecto/DFB/macro (incluido el subdirectorio "dfb").

Si sólo se quieren borrar DFB/macros determinados de este directorio, se debe


abrir el subdirectorio y borrar todos los archivos con el nombre del DFB/macro
(nombre.*).
2 Si se utilizan en el proyecto/DFB, DFB globales, macros globales y se quieren
borrar estos, éstos también se deben borrar por separado.

A tal fin se debe abrir el subdirectorio "dfb" del directorio Concept y borrar todos
los archivos con el nombre del DFB/macro (nombre.*).

626 840 USE 493 03 Septiembre de 2001


Simulación de un PLC

23
Introducción

Representación Este capítulo describe la simulación de un PLC. Se puede verificar el modo de


funcionamiento de un programa sin el equipo requerido, si se utiliza un simulador.

Contenido: Este capítulo contiene las siguientes secciones:


Sección Apartado Página
23.1 Simular un PLC (simulador de 16 bits) 629
23.2 Simular un PLC (simulador de 32 bits) 631

840 USE 493 03 Septiembre de 2001 627


Simulación de un PLC

628 840 USE 493 03 Septiembre de 2001


Simulación de un PLC

23.1 Simular un PLC (simulador de 16 bits)

Simulación de un PLC

Introducción En este apartado se describe el simulador de 16 bits SIM Concept.

Rango de Mediante SIM Concept podrá simular cualquier PLC (Quantum, Compact,
aplicación Momentum, Atrium) y, de este modo, comprobar "online" un programa de aplicación
sin necesidad de utilizar el hardware.

El simulador está disponible para los lenguajes IEC (FBD, SFC, LD, IL y ST).

El simulador de 16 bits SIM Concept se utiliza para la comprobación de programas


que contienen EFBs de 16 bits generados con EFB Concept.

Nota: En caso de que el programa no contenga EFBs de 16 bits generados con


EFB Concept, deberá utilizar para la simulación de un PLC el simulador de 32 bits
(PLCSIM) que le resultará más cómodo.

Cantidad Para la utilización del simulador de 16 bits SIM Concept, no se debe sobrepasar una
máxima de cantidad determinada de referencias de la memoria de señal (Proyecto →
variables Configuración del PLC → Configurar → Partición de memoria).

La siguiente tabla muestra la cantidad máxima de estas referencias de la memoria


de señal:
Tipo de Cantidad
referencia máxima
0x 60.000
1x 5.008
3x 4.000
4x 24.000

Concept SIM Concept y Concept no se podrán abrir de forma simultánea, es decir, para
versus SIM iniciar SIM Concept, Concept deberá estar cerrado. Por ello aconsejamos que
Concept decida si desea realizar la comprobación con el simulador o con el PLC antes de
iniciar Concept. En cualquiera de los dos casos, asegúrese de que el simulador esté
activado o desactivado según lo que haya decidido.

840 USE 493 03 Septiembre de 2001 629


Simulación de un PLC

Activación de Para activar SIM Concept, siga los pasos que se muestran a continuación:
SIM Concept
Paso Acción
1 Cierre Concept, en caso de que esté abierto.
2 Abra SIM Concept haciendo doble clic en el icono de SIM Concept.
3 Haga clic en el menú principal Fichero y active el comando de menú
Simulación CON.
Resultado: El simulador se activará.
4 Salga de SIM Concept mediante el menú principal Fichero con el comando de
menú Salir.
5 Inicie Concept.
6 A través de Online → Conectar..., abra la ventana de diálogo Conectar con
PLC.
7 En Tipo de protocolo:, seleccione en cualquier caso Modbus Plus, aun
cuando el PLC real vaya a acoplarse posteriormente por medio de otro bus.
Resultado: El simulador aparecerá en la lista de participantes en red Modbus
Plus como PLC.
8 Ahora podrá generar una conexión con el PLC que desee simular haciendo
doble clic en la entrada de la lista o haciendo clic en OK.
Resultado: Ya puede comprobar el comportamiento de su programa de
aplicación IEC.

Nota
Nota: Tenga en cuenta que, aunque reinicie el PC, el simulador permanecerá
activo. Para establecer una conexión con un PLC deberá cerrar el simulador
explícitamente.

Desactivación de Para desactivar SIM Concept, siga los pasos que se muestran a continuación:
SIM Concept
Paso Acción
1 Cierre Concept, en caso de que esté abierto.
2 Abra SIM Concept haciendo doble clic en el icono de SIM Concept.
3 Haga clic en el menú principal Fichero y active el comando de menú
Simulación DES.
Resultado: El simulador se activará.
4 Salga de SIM Concept mediante el menú principal Fichero con el comando de
menú Salir.

630 840 USE 493 03 Septiembre de 2001


Simulación de un PLC

23.2 Simular un PLC (simulador de 32 bits)

Introducción

Representación En esta sección se describe la simulación de un PLC mediante el simulador de 32


bit Concept-PLCSIM32.

Contenido Esta sección contiene los siguientes apartados:


Apartado Página
PLCSIM32 de Concept 632
Simulación de un PLC 633
Simulación de una tarjeta de interfase TCP/IP en el entorno de Windows 98 635
Simulación de una tarjeta de interfase TCP/IP en el entorno de Windows NT 636

840 USE 493 03 Septiembre de 2001 631


Simulación de un PLC

PLCSIM32 de Concept

Introducción Con PLCSIM32 de Concept se puede simular cualquier autómata (Quantum,


Compact, Momentum, Atrium) y sus estados de señal.

Campo de El simulador está disponible actualmente para los lenguajes IEC (FBD, SFC, LD, IL
aplicación y ST).

Nota: No se apoyan:
l Lenguaje LL984
l Instrucciones cargables, como por ejemplo ULEX
l Registros 6x (memoria extendida)
l RIO
l DIO
l Backplane Expander

Consejo para Debido a que el acoplamiento entre Concept y el simulador se lleva a cabo
Windows 98 y mediante una acoplamiento TCP/IP, es necesario (si se utiliza desde Windows 98
Windows NT o Windows NT) que el PC disponga de una tarjeta de interfase TCP/IP. En caso de
que no se disponga de este tipo de tarjeta, también es posible simularla. Para ello
se deben llevar a cabo los pasos para la Simulación de una tarjeta de interfase TCP/
IP en Windows 98 (Véase Simulación de una tarjeta de interfase TCP/IP en el
entorno de Windows 98, p. 635) o Simulación de una tarjeta de interfase en
Windows NT (Véase Simulación de una tarjeta de interfase TCP/IP en el entorno de
Windows NT, p. 636).

Si utiliza Windows 2000, no es necesario realizar la simulación de una tarjeta de


interfaz TCP/IP, puesto que los controladores necesarios están instalados de forma
automática para los PLCSIM32 de Concept.

Estructura del En la barra de título se indica el nombre de la aplicación (PLC Sim32) y la dirección
diálogo de la tarjeta de interfase del PC.

El primer campo de texto en la ventana del simulador muestra el estado del PLC
que se está simulando. Este cuadro sólo puede leerse cuando Concept determina
el estado indicado como para un autómata real.

632 840 USE 493 03 Septiembre de 2001


Simulación de un PLC

Pueden indicarse los siguientes estados:


l DIM (Dim Awareness)
El simulador se encuentra en un estado indefinido.
l STOPPED
El simulador (los autómatas simulados) se encuentra parado.
l RUNNING
El simulador (los autómatas simulados) están en funcionamiento.

En el primer campo de lista se puede seleccionar el tipo de autómata que se quiere


simular.

Se encuentran disponibles los siguientes registros:


l Memoria de señal
Ofrece una visión general sobre la memoria de señales.
l I/O Modules
Muestra la configuración cargada en ese momento o la memoria de señales de
un módulo seleccionado.
l Connections
Muestra los acoplamientos actuales entre el simulador y el equipo o los equipos
de programación.

Simulación de un PLC

Vista general La simulación de un PLC con el simulador PLCSIM32 se compone de cuatro pasos
principales:
Paso Acción
1 Creación del programa y de la configuración del PLC.
2 Activación del simulador.
3 Montaje de la conexión entre Concept y el simulador.
4 Carga del programa.

Creación del Los siguientes pasos describen la creación de un programa y la configuración del
programa y de la PLC:
configuración
Paso Acción
del PLC
1 Cree en Concept el programa y la configuración del PLC.
2 Guarde el proyecto con Archivo → Guardar.

840 USE 493 03 Septiembre de 2001 633


Simulación de un PLC

Activación del Los siguientes pasos describen el proceso de activación del simulador:
simulador
Paso Acción
1 Inicie el simulador PLCSIM32 en el grupo de programas Concept.
2 Seleccione en el simulador un tipo de PLC que se corresponda con su proyecto.

Montaje de la Los siguientes pasos describen el montaje de la conexión entre Concept y el


conexión simulador:
Paso Acción
1 En Concept, abra el diálogo Conectar con PLC con Online → Conectar...
2 Seleccione en el cuadro de lista Tipo de protocolo la entrada Simulador IEC
(32-Bit).
3 Active en el sector Acceso el botón de opción Modificar configuración.
4 Confirme la acción por medio de Aceptar.
Resultado: Se montará una conexión entre el equipo de programación y el
simulador. También aparecerá una nota indicando que las configuraciones del
equipo de programación y del simulador son diferentes.

Carga del Los siguientes pasos describen cómo cargar el programa:


programa
Paso Acción
1 Abra el diálogo Cargar en el PLC con Online → Cargar.
2 Confirme la acción por medio de Cargar.
Resultado: El programa y la configuración se cargarán en el simulador. Se le
preguntará si desea arrancar el PLC.
3 Confirme la acción por medio de Sí.
Resultado: Ahora puede comprobar el comportamiento del programa de
aplicación IEC.

634 840 USE 493 03 Septiembre de 2001


Simulación de un PLC

Simulación de una tarjeta de interfase TCP/IP en el entorno de Windows 98

Introducción Como el acoplamiento entre Concept y el simulador PLCSIM32 se realiza a través


de un acoplamiento TCP/IP, es necesario que su PC disponga de una tarjeta de
interfase TCP/IP. En caso de que su PC no disponga de esta tarjeta, también es
posible simularla.

AVISO
Peligro de problemas con el PC
NO lleve a cabo este proceso si su PC ya dispone de conexión TCP/IP.
La instalación de software de la conexión TCP/IP quedaría dañada
durante el proceso. Lleve a cabo este proceso una sola vez, puesto que
de otro modo podrían surgir problemas con el PC.
Si no se respetan estas precauciones pueden producirse daños
corporales y/o materiales

Simulación de Siga los pasos que se ofrecen a continuación para simular una tarjeta de interfase
una tarjeta de TCP/IP en Windows 98:
interfase TCP/IP
Paso Acción
1 En Windows 98, seleccione Inicio → Configuración → Panel de control.
2 Acceda mediante Agregar o quitar programas a la configuración de
programas.
3 En el registro Instalación de Windows, seleccione la entrada
Comunicaciones y haga clic en el comando de menú Detalles....
4 Active la entrada Acceso telefónico a redes y confirme la entrada con OK. (es
posible que para llevar a cabo este proceso debe utilizar el CD de sistema de
Windows).

Resultado: El equipo se reiniciará.


Después de reiniciarse, tanto el acceso telefónico a redes como el protocolo
TCP/IP estarán a disposición del sistema (Concept podrá crear ahora la
conexión con el simulador).

840 USE 493 03 Septiembre de 2001 635


Simulación de un PLC

Simulación de una tarjeta de interfase TCP/IP en el entorno de Windows NT

Introducción Como el acoplamiento entre Concept y el simulador PLCSIM32 se realiza a través


de un acoplamiento TCP/IP, es necesario que su PC disponga de una tarjeta de
interfase TCP/IP. En caso de que su PC no se disponga de una tarjeta de este tipo,
puede simularla.

AVISO
Peligro de que se produzcan problemas con el PC
NO lleve a cabo este procedimiento, si su PC ya dispone de una
conexión TCP/IP. Mediante este procedimiento se anularía la
instalación de la conexión TCP/IP. Realice este procedimiento sólo una
vez; de lo contrario podrían surgir problemas con el PC.
Si no se respetan estas precauciones pueden producirse daños
corporales y/o materiales

Simulación de La simulación de una tarjeta de interfase TCP/IP en el entorno de Windows NT


una tarjeta de consta principalmente de los siguientes pasos:
interfase TCP/IP
Paso Acción
1 Determinación de la configuración básica.
2 Instalar un módem nuevo.
3 Determinar el grupo de trabajo.

Determinar de la Siga los siguientes pasos para determinar la configuración básica:


configuración
Paso Acción
básica
1 En Windows NT, abra Inicio → Configuración → Panel de control → Red y
confirme el mensaje haciendo clic en Sí.
Resultado: Se abre el cuadro de diálogo Asistente para la instalación de red.
2 Desactive la opción Conectar directamente a la red.
3 Active la opción Acceso remoto a la red.
Resultado: Se abre el diálogo para instalar una tarjeta de red.
4 Active Siguiente (sin instalar una tarjeta de red).
Resultado: Se abre el diálogo para seleccionar un protocolo de red.
5 Active la opción Protocolo TCP/IP.
6 Desactive todas las demás opciones y active Siguiente.
Resultado: Se abre el diálogo para seleccionar los servicios.

636 840 USE 493 03 Septiembre de 2001


Simulación de un PLC

Paso Acción
7 Active Siguiente (sin realizar una modificación en el diálogo).
8 Confirme la pregunta por medio de Siguiente.
Resultado: Se abre el cuadro de diálogo Instalar Windows NT.

Instalación de un Realice los siguientes pasos para instalar un nuevo módem:


nuevo módem
Paso Acción
1 Introduzca su CD de Windows NT e indique la ruta con los ficheros de
instalación (p. ej., D:\i386). Pulse Continuar.
Resultado: Se abre el cuadro de diálogo Instalar TCP/IP.
2 Pulse No.
Resultado: Se abre el cuadro de diálogo Instalar RAS.
3 Pulse Sí.
Resultado: Se abrirá el cuadro de diálogo Instalar nuevo módem.
4 Active la opción Seleccionar módem (sin reconocimiento automático) y
active Siguiente.
Resultado: Se abre el diálogo para seleccionar el módem.
5 Seleccione un módem estándar (p. ej., Módem estándar de 28800 bps) y pulse
Siguiente.
Resultado: Se abre el diálogo para seleccionar la conexión.
6 Active la opción Conexiones seleccionadas y la interfase COM. Pulse
Siguiente.
Resultado: Se abre el cuadro de diálogo Información predeterminada.
7 Seleccione el país en el que se encuentre.
8 Introduzca el número de identificación de su distrito (su prefijo de teléfono) y
active Siguiente.
Resultado: Se abrirá el cuadro de diálogo Instalar nuevo módem.
9 Pulse Preparar.
Resultado: Se abre el cuadro de diálogo Agregar dispositivo RAS.
10 Pulse OK.
Resultado: Se abre el cuadro de diálogo Instalar RAS.
11 Pulse Siguiente.
Resultado: Se abre el cuadro de diálogo Asistente para la instalación de la
red.
12 Pulse dos veces Siguiente.
Resultado: Se abre el diálogo para determinar el grupo de trabajo.

840 USE 493 03 Septiembre de 2001 637


Simulación de un PLC

Establecer el Realice los siguientes pasos para establecer el grupo de trabajo:


grupo de trabajo
Paso Acción
1 Active la opción Grupo de trabajo e introduzca el nombre GRUPO DE TRABAJO.
Pulse Siguiente.
2 Pulse Preparar.
Resultado:Se abre el cuadro de diálogo Modificaciones de los ajustes de
red.
3 Pulse Sí para realizar un rearranque.
Resultado: Su PC simulará a continuación una red TCP/IP y podrá utilizar el
simulador PLCSIM de 32 bits.

638 840 USE 493 03 Septiembre de 2001


Seguridad de Concept

24
Introducción

Vista general Este capítulo describe la seguridad de Concept.

Contenido: Este capítulo contiene los siguiente apartados:


Apartado Página
Descripción general de Concept-Security 640
Derechos de acceso 641
Modificación de contraseñas 648
Activación de los derechos de acceso 649
Protección de proyectos/DFBs 650

840 USE 493 03 Septiembre de 2001 639


Seguridad de Concept

Descripción general de Concept-Security

Introducción Con Concept-Security podrá establecer Derechos de acceso (Véase Derechos de


acceso, p. 641) (definiciones de usuario). Un derecho de acceso implica la
restricción de la funcionalidad de Concept y sus programas de ayuda dependiendo
del usuario.

Nota: El editor LL984 no podrá protegerse mediante Concept-Security.

Además, con Concept-Security podrá proteger (Véase Protección de proyectos/


DFBs, p. 650) proyectos/DFB contra una posible edición.

Área de validez Los derechos de acceso definidos para un usuario serán válidos para todos los
proyectos de la instalación Concept. Si se desea editar un proyecto para un usuario
en distintas instalaciones Concept, deberá definirse como usuario en cada una de
ellas.

Número máx. de Se pueden definir 128 usuarios como máximo.


usuarios

Activación de Tras la instalación de Concept, Concept-Security estará inactivo y deberá activarlo


Concept- el administrador del sistema (supervisor).
Security

El administrador El administrador del sistema (supervisor de nombres de usuario) será quien se


del sistema ocupe de la definición de los derechos de acceso, así como la conexión y
desconexión de Concept-Security.
Durante la instalación de Concept se creará automáticamente un archivo de
contraseña con el usuario "Supervisor" (administrador del sistema) con una
contraseña vacía. Este usuario tendrá el derecho de acceso "Supervisor".

Modificaciones Concept-Security y Concept/Concept-DFB se pueden iniciar al mismo tiempo, es


en línea de los decir, los derechos de acceso se pueden modificar durante el tiempo de ejecución
derechos de de Concept/Concept-DFB y hacer que sean válidos inmediatamente.
acceso

640 840 USE 493 03 Septiembre de 2001


Seguridad de Concept

Creación de un Si en el diálogo Opciones → Preajustes → Común... → Preajustes comunes en


protocolo el área Registro activa la opciónArchivo e indica un nombre de ruta, se activará la
función de protocolo. En la carpeta seleccionada se creará un archivo con el
nombre JahrMonatTag.log (por ejemplo, con la fecha 19980926.log), que contendrá
el protocolo de todas las modificaciones vitales para el sistema (relevantes para el
tiempo de ejecución). En este archivo ASCII se protocolarizarán la fecha, la hora, el
nombre del proyecto, el tipo de modificación y, en caso de que Concept tenga una
protección con contraseña (Concept-Security estará activado), también el nombre
del supervisor. En Concept podrá visualizar el protocolo actual mediante el
comando de menú Archivo → Visualizar protocolo.

Derechos de acceso

Introducción Los derechos de acceso aparecen en una estructura jerarquizada. Si un usuario


dispone de derechos para un determinado nivel, también tendrá derechos en todos
los niveles inferiores.

Niveles de los Los siguientes niveles están definidos (desde el inferior al superior):
derechos de
Nivel Derecho de acceso Función asignada
acceso
1 Sólo leer El usuario puede visualizar proyectos tanto offline como
online, pero no puede modificarlos. Puede visualizar
online la conexión entre el equipo de programación y el
autómata, así como variables.
2 Resetear SFC Dispone de la mismas funciones que las descritas
anteriormente, además de: se puede utilizar el control
de animación para ejercer un control (p.e. bloqueo de
pasos, de transiciones, forzar pasos, etc.)
3 Modificar datos Dispone de la mismas funciones que las descritas
anteriormente, además de: el usuario puede modificar
literales online.
4 Forzar datos Dispone de la mismas funciones que las descritas
anteriormente, además de: posibilidad de forzar
variables.
5 Cargar Dispone de la mismas funciones que las descritas
anteriormente, además de: el usuario puede cargar el
programa en el autómata.
Nota: Para cargar la configuración será necesario
disponer como mínimo del derecho de acceso
Modificar configuración.

840 USE 493 03 Septiembre de 2001 641


Seguridad de Concept

Nivel Derecho de acceso Función asignada


6 Modificar programa Dispone de la mismas funciones que las descritas
anteriormente, además de: el usuario puede realizar
todo tipo de modificaciones en el programa, pero no en
DFBs ni EFBs.
7 Modificar Dispone de la mismas funciones que las descritas
configuración anteriormente, además de: el usuario puede modificar la
configuración del autómata.
8 Herramientas Dispone de la mismas funciones que las descritas
anteriormente, además de: el usuario puede utilizar DFB
Concept, EFB Concept y el convertidor Concept.
9 Supervisor Dispone de la mismas funciones que las descritas
anteriormente, además de: el usuario puede utilizar
Concept-Security en el modo Supervisor (introducción
de usuarios, activación y desactivación de Concept-
Security).

Derechos de La siguiente tabla muestra el orden de los comandos de menú del menú principal
acceso al menú Archivo en Concept con los derechos de acceso mínimos necesarios para
principal Archivo ejecutarlos:
Comando del menú principal Archivo Derecho de acceso mínimo necesario
Nuevo proyecto Modificar programa
Abrir... / Cerrar Sólo leer
Abrir... / Cerrar Modificar programa
(Reemplazar/borrar EFBs/DFBs; mensajes
de error: FFB no existe; Se modificaron los
parámetros formales del FFB, Se modificó
internamente el DFB)
Guardar proyecto Modificar datos
Guardar proyecto como... Modificar datos
Optimizar proyecto... Modificar programa
Nueva sección... Modificar programa
Abrir sección... Sólo leer
Borrar sección... Modificar programa
Propiedades de sección... (Leer) Sólo leer
Propiedades de sección... (Escribir) Modificar programa
Memoria de sección Sólo leer
Importar... Modificar programa

642 840 USE 493 03 Septiembre de 2001


Seguridad de Concept

Comando del menú principal Archivo Derecho de acceso mínimo necesario


Exportar... Sólo leer
Imprimir... Sólo leer
Instalar impresora... Sólo leer
Salir Sólo leer

Derechos de La siguiente tabla muestra el orden de los comandos de menú del menú principal
acceso al menú Editar en Concept con los derechos de acceso mínimos necesarios para
principal Editar ejecutarlos:
Comando del menú principal Editar Derecho de acceso mínimo necesario
Deshacer borrado Modificar programa
Cortar Modificar programa
Copiar Sólo leer
Pegar Modificar programa
Borrar Modificar programa
Seleccionar todo Sólo leer
Deshacer todas las selecciones Sólo leer
Ir a línea... (lenguajes de texto) Sólo leer
Ir a contraparte (lenguajes de texto) Sólo leer
Ampliar instrucción (lenguajes de texto) Modificar programa
Consultar variables... (lenguajes de texto) Modificar programa
Buscar... (lenguajes de texto) Sólo leer
Buscar siguiente (lenguajes de texto) Sólo leer
Reemplazar... (lenguajes de texto) Modificar programa
Insertar fichero de texto... (lenguajes de Modificar programa
texto)
Guardar como fichero de texto... (lenguajes Sólo leer
de texto)
Abrir columna (Editor LL984) Sólo leer
Abrir fila (Editor LL984) Sólo leer
Cerrar columna (Editor LL984) Sólo leer
Cerrar fila (Editor LL984) Sólo leer
Zoom DX... (Editor LL984) Sólo leer
Zoom de referencia (Editor LL984) Sólo leer
Referencias de offset... (Editor LL984) Sólo leer
Reemplazar referencias (Editor LL984) Sólo leer

840 USE 493 03 Septiembre de 2001 643


Seguridad de Concept

Derechos de La siguiente tabla muestra el orden de los comandos de menú del menú principal
acceso al menú Vista en Concept con los derechos de acceso mínimos necesarios para ejecutarlos:
principal Vista
Comando del menú principal Vista Derecho de acceso mínimo necesario
Vista general Sólo leer
Normal Sólo leer
Expandido Sólo leer
Zoom para acercar Sólo leer
Zoom para alejar Sólo leer
Reticulado Sólo leer
Cambio de página Sólo leer

Derechos de La siguiente tabla muestra el orden de los comandos de menú del menú principal
acceso al menú Objetos en Concept con los derechos de acceso mínimos necesarios para
principal Objetos ejecutarlos:
Comando del menú principal Objetos Derecho de acceso mínimo necesario
Propiedades... (Leer) (sólo para FBD, LD y Sólo leer
SFC)
Propiedades... (Escribir) (sólo para FBD, LD Modificar programa
y SFC)
Modalidad de selección Sólo leer
Texto Modificar programa
Reemplazar variables... Modificar programa
Conexión Modificar programa
Conexión vertical (Editor LD) Modificar programa
FFB: último tipo (Editor FBD, LD) Modificar programa
Inversión de entradas/salidas (Editor FBD, Modificar programa
LD)
Insertar macro... (Editor FBD) Modificar programa
Elegir FFB... (Editor FBD, LD) Modificar programa
Reemplazar FFBs... (Editor FBD, LD) Modificar programa
Visualizar secuencia de ejecuciones Sólo leer
(Editor FBD)
Cambiar secuencia de ejecución de FFBs Modificar programa
(Editor FBD)
Insertar contactos, bobinas (Editor LD) Modificar programa
Seleccionar estructura de columna (Editor Modificar programa
SFC)

644 840 USE 493 03 Septiembre de 2001


Seguridad de Concept

Comando del menú principal Objetos Derecho de acceso mínimo necesario


Seleccionar estructura de fila (Editor SFC) Modificar programa
Insertar contactos, transiciones (Editor Modificar programa
SFC)
Insertar FFB, Cargar, Guardar etc. (Editor Modificar programa
IL)
Insertar FFB, Asignación, Operadores, Modificar programa
Declaración etc. (Editor ST)
Insertar bobinas, contactos (Editor LL984) Modificar programa

Derechos de La siguiente tabla muestra el orden de los comandos de menú del menú principal
acceso al menú Proyectos en Concept con los derechos de acceso mínimos necesarios para
principal ejecutarlos:
Proyectos
Comando del menú principal Proyectos Derecho de acceso mínimo necesario
Propiedades... (Escribir) Modificar programa
Predicción de memoria Sólo leer
Configuración del PLC Modificar configuración
Hojeador de proyectos (Escribir) Modificar programa
Secuencia de ejecución... (Escribir) Modificar programa
Declaración de variables... (Escribir) Modificar programa
Mensajes ASCII... Sólo leer
Buscar... Sólo leer
Trace Sólo leer
Buscar siguiente Sólo leer
Resultados de búsqueda... Sólo leer
Referencias utilizadas... Sólo leer
Analizar sección Sólo leer
Analizar programa Sólo leer
Sincronizar las versiones intercaladas de Sólo leer
DFBs
Opciones para generación de código... Supervisor

840 USE 493 03 Septiembre de 2001 645


Seguridad de Concept

Derechos de La siguiente tabla muestra el orden de los comandos de menú del menú principal
acceso al menú Online en Concept con los derechos de acceso mínimos necesarios para
principal Online ejecutarlos:
Comando del menú principal Online Derecho de acceso mínimo necesario
Conectar... (Sólo visualizar) Sólo leer
Conectar... (Modificar datos) Resetear SFC
Conectar... (Modificar programa) Cargar
Conectar... (Modificar configuración) Cargar
Desconectar... Sólo leer
Control online... (todos los comandos) Cargar
Disparo individual de ciclos Cargar
Estado del PLC... Sólo leer
Indicación de eventos... Sólo leer
Diagnósticos Online (Leer) Sólo leer
Diagnósticos Online (Confirmar entradas Modificar datos
manualmente)
Registrar modificaciones Modificar programa
Información de objeto... Sólo leer
Estadísticas de memoria... Sólo leer
Cargar... (programa IEC, Ladder Logic 984, Cargar
mensajes ASCII, memoria de señal, memoria
extendida)
Cargar... (Configuración) Modificar configuración
Cargar modificaciones... Modificar programa
Leer dotación... (Memoria de señal, Modificar datos
Memoria extendida)
Leer dotación... (programa IEC, Ladder Modificar programa
Logic 984, mensajes ASCII, memoria de
señal)
Leer dotación... (Configuración) Modificar configuración
Editor de datos de referencia (Sólo leer) Sólo leer
Editor de datos de referencia (Escribir) Modificar datos
Editor de datos de referencia (Forzar) Forzar datos
Bits bloqueados... Modificar datos
Activar animación (Animar valores Sólo leer
binarios, Animar selección)
Modificar literales durante la animación Modificar datos

646 840 USE 493 03 Septiembre de 2001


Seguridad de Concept

Comando del menú principal Online Derecho de acceso mínimo necesario


Control de animación... (Editor SFC) Control de animación SFC
Control de animación... (forzar pasos SFC) Control de animación SFC
Control de animación... (restablecer una Control de animación SFC
cadena SFC)
Guardar animación (Editor IL, ST) Sólo leer
Restaurar animación (Editor IL, ST) Sólo leer
Modalidad directa de editor LL984... (Editor Sólo leer
LL984)
Evolución de señal (Editor LL984) Sólo leer
Evolución de señal con estado de Sólo leer
contactos (Editor LL984)
Trace (Editor LL984) Sólo leer
ReTrace (Editor LL984) Sólo leer

Derechos de La siguiente tabla muestra el orden de los comandos de menú del menú principal
acceso al menú Opciones en Concept con los derechos de acceso mínimos necesarios para
principal ejecutarlos:
Opciones
Comando del menú principal Opciones Derecho de acceso mínimo necesario
Confirmaciones... Modificar programa
Preajustes → Común... Modificar programa
Preajustes → Editores gráficos... Modificar programa
Preajustes → Analizar... Modificar programa
Preajustes → Expansiones IEC... Modificar programa
Guardar ajustes Modificar programa
Guardar ajustes al cerrar Modificar programa

840 USE 493 03 Septiembre de 2001 647


Seguridad de Concept

Derechos de La siguiente tabla muestra el orden de los comandos de menú del menú principal
acceso al menú Ventana en Concept con los derechos de acceso mínimos necesarios para
principal ejecutarlos:
Ventana
Comando del menú principal Ventana Derecho de acceso mínimo necesario
Cascada Sólo leer
Horizontal Sólo leer
Mosaico Sólo leer
Ordenar símbolos Sólo leer
Cerrar todo Sólo leer
Mensajes Sólo leer
Nombre de la sección abierta Sólo leer

Modificación de contraseñas

Introducción Esta sección describe los pasos necesarios para modificar la contraseña del
administrador del sistema e introducir un nuevo usuario.

Modificación de Los siguientes pasos sólo serán necesarios si Concept-Security se inicia por
la contraseña del primera vez tras la instalación de Concept. Descripción del procedimiento para la
administrador modificación de la contraseña del administrador del sistema.
del sistema
Paso Acción
1 Inicie la administración de acceso haciendo doble clic sobre el icono de
Concept-Security.
2 Introduzca como nombre de usuarioSupervisor y confírmelo con OK. En este
caso, no es necesario introducir una contraseña.
3 Pulse el botón de comando Cambiar contraseña....
4 En el campo de texto Contraseña, introduzca una contraseña (mínimo 6,
máximo 12 caracteres).
5 Para confirmarlo, introduzca la misma contraseña en el campo de texto
Confirmar contraseña.
Resultado: Si las dos entradas son iguales, se activará el botón de
comandoOK.
6 Valide la modificación con el botón de comandoOK.
7 Salga de la administración de acceso con el botón de comandoSalir.

648 840 USE 493 03 Septiembre de 2001


Seguridad de Concept

Introducción de Para introducir usuarios, asignar derechos de acceso y activar Concept-Security,


un usuario y de siga los siguientes pasos:
sus derechos de
Paso Acción
acceso
1 Inicie la administración de acceso haciendo doble clic sobre el icono de
Concept-Security.
2 Introduzca un nombre de usuario con derechos de acceso del supervisor,
introduzca una contraseña y confirme con Aceptar.
3 Seleccione el registro Usuario.
4 Pulse el botón de comando Agregar.
5 Introduzca el nombre de usuario (mínimo 2, máximo 16 caracteres) y confirme
mediante Aceptar.
6 Seleccione en el cuadro de lista Derecho de acceso: los derechos de acceso
que desee y confírmelos por medio del botón de comando OK..
7 Salga de la administración de acceso con el botón de comandoSalir.
8 Para modificar la contraseña del nuevo usuario, siga el procedimiento de
Modificación de la contraseña del administrador del sistema. Introduzca como
nombre de usuario el usuario que ha definido.

Activación de los derechos de acceso

Activación de los Para activar los derechos de acceso, realice los siguientes pasos:
derechos de
Paso Acción
acceso
1 Inicie la administración de acceso haciendo doble clic sobre el icono de
Concept-Security.
2 Introduzca un nombre de usuario con derechos de acceso del supervisor,
introduzca una contraseña y confirme con Aceptar.
3 Seleccione el registro Opciones.
4 Active la casilla de verificación Contraseña requerida.
5 Salga de la administración de acceso con el botón de comandoSalir.
Resultado: Sólo podrán iniciar Concept, DFB Concept, EFB Concept etc.
usuarios con permiso y con los derechos de acceso definidos para cada uno de
ellos.

840 USE 493 03 Septiembre de 2001 649


Seguridad de Concept

Protección de proyectos/DFBs

Introducción Con Concept-Security podrá proteger proyectos y DFBs contra posibles modifica-
ciones. Los proyectos protegidos podrán cargarse en el PLC, pero no se podrán
modificar. Los DFBs se podrán utilizar, pero no se podrán modificar.

Protección de Para proteger proyectos o DFBs, realice los siguientes pasos:


proyectos y
Paso Acción
DFBs
1 Inicie la administración de acceso haciendo doble clic sobre el icono de
Concept-Security.
2 Indique un nombre de usuario con derechos de acceso del supervisor, una
contraseña y confirme con OK.
3 Seleccione el registro Proteger.
4 Pulse el botón de comando Seleccionar y seleccione el proyecto o DFB que va
a proteger. Confirme mediante OK.
Resultado: Aparecerá el proyecto o DFB seleccionado en el cuadro de lista.
5 Seleccione el proyecto o DFB en el cuadro de lista y pulse Proteger.
Resultado: Se abrirá el diálogo Ingresar contraseña.
6 En Contraseña, escriba una contraseña y vuelva a indicarla para su
confirmación en Confirmar contraseña. Pulse OK.
Resultado: El proyecto o DFB quedará protegido. Aparecerá con una (c) en el
cuadro de lista.
7 Para facilitar la localización de proyectos o DFBs protegidos, es recomendable
guardar la lista creada en el cuadro de lista Programa/DFB mediante el botón
Guardar lista....

650 840 USE 493 03 Septiembre de 2001


Seguridad de Concept

Eliminación de la Para eliminar la protección de proyectos o DFBs, realice los siguientes pasos:
protección de
Paso Acción
proyectos/DFBs
1 Inicie la administración de acceso haciendo doble clic sobre el icono de
Concept-Security.
2 Indique un nombre de usuario con derechos de acceso del supervisor, una
contraseña y confirme con OK.
3 Seleccione el registro Proteger.
4 Pulse el botón de comando Seleccionar y seleccione el proyecto o DFB
protegido cuya protección desea eliminar. Confirme mediante OK.
Resultado: Aparecerá el proyecto o DFB seleccionado en el cuadro de lista.

Mediante Cargar lista..., cargue una lista guardada previamente.


Resultado: En el cuadro de lista aparecerán todos los proyectos o DFBs
contenidos en la lista que se ha cargado.
5 Seleccione el proyecto o DFB del cuadro de lista (aparecen marcados con una
(c)) y confirme la selección mediante Sin proteger.
Resultado: Se abrirá el diálogo Ingresar contraseña.
6 En Contraseña, indique la contraseña y pulse OK.
Resultado: El proyecto o DFB dejará de estar protegido. Aparecerá sin la (c) en
el cuadro de lista.

840 USE 493 03 Septiembre de 2001 651


Seguridad de Concept

652 840 USE 493 03 Septiembre de 2001


Índice
B
AC
A Animación, 503, 629, 631
FBD, 183
Abrir Generalidades, 565
Proyecto, 687 IL, 319, 322
Acceder LD, 212
Proyecto, 687 Sección, 565
Acceso a módulo Sección CEI, 566
IL, 305
Sección LL984, 567
ST, 355 SFC, 255, 258
Acción, 225 Animación online
Acciones
Fichero INI, 976
Procesar, 244 Apertura de columnas
Activar cuadros de diálogo, 90 LL984, 379
Administrador de segmentos, 84
Apertura de filas
Ajuste de bobina LL984, 379
LD, 197 Aprendizaje de los tiempos de vigilancia
Ajuste de interfase en Windows NT
SFC, 261
Preajustes de Modbus, 894 Archivar
Ajustes de la interfase en Windows 95/98/ DFB, 624
2000
EFB, 624
Preajustes de Modbus, 892 proyecto, 624
Ajustes especiales del PLC, 55 Archivos EXEC, 965
Ajustes para la exportación de INTERBUS
Arranque en caliente, 37
en CMD, 822 Arranque en frío, 37
Ajustes para la exportación de Profibus DP Asignación, 310, 359
en SyCon
Asignación de E/S, 52, 85
Ejemplo 7, 796 Atrium - Controlador INTERBUS, 823, 827
Ampliaciones de configuración, 90 Autómata
Amplificador del panel de fondo
Estado, 679
Edición del mapa E/S, 96 Simulación, 627
Generalidades, 96 Simular, 629, 631
Tratamiento de error, 97
Ayuda, 689
Anillo de la cadena, 232

i
Index

Ayuda de contexto, 689 Cadena simple, 231


Ayuda online, 689 Cambiar
Bobina, LD, 208
Contacto, LD, 208
B FFB, FBD, 178
Barra de estado, 679, 697, 698, 699, 700, FFB, LD, 208
702, 703, 704 Cambios de página de secciones, 617
Barra de herramientas, 695, 697, 698, 699, Caracteres de definición, 246
700, 702, 703, 704, 706 Carga de un proyecto, 555
Barra de símbolos, 695 Generalidades, 556
Bibliotecas, 9 Cargar, 557
Bifurcación alternativa, 233 Cargar datos de referencia, 506
Bifurcación simultánea, 236 Cargar firmware, 965
Bloqueo Cargar modificaciones, 558
sección, 41 Ciclos constantes, 541
Bloqueo incondicional de una sección, 502 Ciclos únicos, 542
Bobina Cierre de columnas
Cambiar, LD, 208 LL984, 380
Reemplazar, LD, 208 Comando IL
Bobinas Adición, 291
LD, 195 AND booleario, 286
Borrar Carga, 282
DFB, 626 División, 294
Macro, 626 Escribir, 283
Proyecto, 626 Guardar, 282
Borrar contenidos del autómata, 543 invertir, 291
Borrar del autómata las zonas de memoria, Llamada de módulo de función, 304, 306
543 Llamada DFB, 304, 306
Bridge Modbus Plus, 537 Multiplicación, 293
Bucles OR booleario, 287
FBD, 180 OR Exclusivo booleario, 289
LD, 209 Salto a Label, 301
Bus de E/S decentral Substracción, 292
Ejemplo de configuración de Momentum, Comando ST
830 (), 335
Buscar e insertar FUNCNAME, 335
Nombres de variables y direcciones, 460 Instrucción vacía, 354
Buscar y reemplazar llamada de función, 359
Nombres de variables y direcciones, 457 Llamada de módulo de función, 356
Búsqueda en línea Paréntesis, 335
LL984, 382 Comandos de menú, 682
Combinaciones de teclas, 695, 707, 708,
709, 711, 716, 721
C Comentario
Cadena Editor de tipo de datos, 488
Controlar, 258 Tipo de datos derivado, 488

ii
Index

Comportamiento de arranque Conexión de red Modbus, 529


Variables, 37 Conexión de red Modbus Plus, 530
Comprobación de sintaxis Conexión de red TCP/IP, 538
IL, 315 Configuración, 67
ST, 362 Generalidades, 69
Comunicación, 16 Incondicional, 75
Comunicación Modbus, 53 Opcional, 88
Comunicación Peer Cop, 54 Configuración de Compact
Concept ModConnect, 859 Extensión RTU, 104
Eliminar módulos, 864 Configuración de Peer Cop, 811
Integración de nuevos módulos, 863 Configuración de red
Uso de módulos de terceros en Concept, TCP/IP, 840
865 Configuración de sistemas de red diferentes,
CONCEPT.INI, 969 98
Ajustes de impresión, 970 Configuración de SoftPLC, 101
Ajustes para direcciones de registro, 971 Configuración del PLC, 49, 50, 67
Ajustes para la animación online, 976 Explorador de E/S Ethernet, 104
Ajustes para la sección LD, 975 Exportar, 609
Ajustes para la situación de variables, Generalidades, 70
971 Importar, 609
Definición de nombre de proyecto, 971 Configuración en la modalidad LOCAL y EN
Generalidades, 970 LÍNEA, 72
Lectura de DFBs globales, 972 Configuración en la modalidad local y online
Representación de datos internos, 975 Generalidades, 73
Ruta de acceso a los ficheros de ayuda, Configuración extendida de bastidor
972 Configurar, 95
Ruta de acceso de DFBs globales, 972 Configuración incondicional, 75
Situación de los DFB globales durante la Configuración mínima, 50
lectura de dotación, 972 Configuración mínima imprescindible
Concept-DFB, 395, 429 Condición, 76
Concept-PLCSIM32, 631 Configuración opcional, 88
Concept-Security, 640, 641, 648, 649, 650 Configuración PLC
Concept-SIM, 629 Exportar, 609
Condición para la configuración mínima Importar, 609
imprescindible, 76 Configurador del PLC
Conectar el PLC, 526 Herramientas, 705
Conectar PLC Configurar, 50
Generalidades, 527 Configuración extendida de bastidor, 95
Conexión Ethernet, 102
FBD, 173 Extensión RTU, 104
LD, 202 INTERBUS, 99
Conexión con simulador IEC (32 bits), 539 Profibus DP, 99
Conexión de red SoftPLC, 101
Modbus, 529 Configurar Ethernet, 102, 839
Modbus Plus, 530 Configurar sistema INTERBUS, 99
TCP/IP, 538 Configurar sistema Profibus DP, 99

iii
Index

Configurar sistemas de redes, 90, 98 (remote)


Conformidad de CEI, 723 Controlador MBX remoto, 886
Constantes, 35 Controlador para el funcionamiento de
Ciclos, 541 aplicaciones de 16 bits en Windows 98/
Construcción de la conexión de hardware 2000/NT
Preajustes de Modbus, 894 controlador Virtual MBX, 884
Preajustes de Modbus Plus, 889 Controlador para la conexión entre
Contacto adaptadores de interfases centrales de
Cambiar, LD, 208 ModConnect y aplicaciones de 32 bits en
Reemplazar, LD, 208 Windows 98/2000/NT
Contactos Controlador MBX, 885
LD, 194, 195 Controlador para la función de Modbus Plus
Control online, 544, 547 a través de TCP/IP
Generalidades, 541 Controlador MBX para Ethernet, 887
Controlador Compact, 817 Controlador Profibus DP, 796
Ejemplo de configuración de Compact, Ejemplo de configuración de Quantum,
817 795
Controlador decentral con bus de E/S Controlador Profibus DP Quantum, 802
(Momentum), 831, 835 Controlador SY/MAX, 792
Controlador decentral con DIO Ejemplo de configuración de Quantum,
Ejemplo de configuración de Quantum, 787
772 Controlador Virtual MBX
Controlador decentral con RIO, 758 Modbus Plus, 884
Ejemplo de configuración de Quantum, Conversión
753 Programas Modsoft, 867
Controlador decentral con RIO (Serie 800) Convertir
Ejemplo de configuración de Quantum, DFBs, 855
761 Macros, 855
Controlador decentral con RIO (serie 800), Proyectos, 855
766, 769 Convertir tablas RDE, 497
Controlador INTERBUS, 782 Creación
Ejemplo de configuración de Atrium, 821 DFB, 411
Ejemplo de configuración de Quantum, Macro, 440
781 Programa, 47
Controlador MBX Proyecto, 47
Controlador para la conexión entre Creación de programas
adaptadores de interfases centrales de FBD, 186
ModConnect y aplicaciones de 32 bits en LD, 215
Windows 98/2000/NT, 885 ST, 366
Controlador MBX para Ethernet Crear
Controlador para la función de Modbus FFB, FBD, 178
Plus a través de TCP/IP, 887 FFB, LD, 207
Controlador MBX remoto Cuadros de diálogo, 684
Modbus Plus, 886
Controlador para conexiones remotas

iv
Index

D DFBs globales
Definir ruta de acceso, 972
Datos CEI Hot Standby, 81
depositar, 974
Declaración
Fichero INI, 973
Acciones, 244
leer, 974
Propiedades de los pasos, 242
Diagnóstico de transición, 264
Declaración de variables, 454
Diagnósticos Online, 568
Declarar
DIFERENTE, 527
transición, 249
Direcciones directas, 35
Definición de nombre de proyecto
Dispositivo de apertura
Ajustes en el fichero INI, 971
LD, 194
Definir colores
Dispositivo de cierre
Fichero INI, 976
LD, 194
Definir el número de columnas/campos de
Documentación
LD
Contenido, 614
Ajustes en el fichero INI, 975
DFB, 613
Definir la conexión de contacto de LD
Layout, 615
Ajustes en el fichero INI, 975
Macro, 613
Denegar bobina
Palabras clave, 621
LD, 196
Proyecto, 613
Denominaciones "Alias"
DOS-Loader
paso, 250
Primera puesta a punto con la utilización
transición, 250
de Modbus, 915
Derechos de acceso, 641, 648, 649
Primera puesta a punto con la utilización
Deshacer
de Modbus Plus, 949
LL984, 378
Primera puesta en marcha de Atrium,
DFB, 395, 398
956
Archivar, 624
Primera puesta en marcha de Compact,
Ayuda contextual, 409
918, 953
Borrar, 626
Primera puesta en marcha de
Creación, 411
Momentum, 922, 925, 958, 961
Documentación, 613
Primera puesta en marcha de Quantum,
FBD, 172
916, 950
Global, 400
DTY, 471, 473, 474
LD, 200
Duración del paso, 223
Llamada, 304, 306, 356
Local, 400
Protección, 650 E
DFB global, 400
E/S decentrales, 53
DFB local, 400
Edición
DFBs
LL984, 374, 378
Convertir, 855
Edición de redes
LL984, 380
Edición del mapa E/S
Amplificador del panel de fondo, 96

v
Index

Edicitar Editor de variables, 453


Acciones, 244 Buscar e insertar, 460
Editar Buscar y reemplazar, 457
Propiedades de los pasos, 242 Declaración, 454
SFC, 238 Exportación de variables located, 464
transición, 249 Generalidades, 454
Editar estación de E/S 800 decentral, 769 Editor RDE
Editar estación de E/S decentral, 758, 766, Barra de herramientas, 706
777, 792, 827 Editores, 10
Editar estación decentral de E/S, 835 EFB
Editar estación local de E/S, 754, 762, 773, archivar, 624
782, 788, 797, 817, 823, 831, 850 FBD, 170
Editor de datos de referencia, 495 LD, 198
Convertir tablas RDE, 497 Ejemplo acerca de la configuración de
Generalidades, 496 hardware
Modificar estados de señal de una Sistema de bus Ethernet, 838
variable located, 499 Ejemplo de configuración de Atrium
Reemplazar nombres de variables, 506 Controlador INTERBUS, 821
Ubicación cíclica de variables, 500 Ejemplo de configuración de Compact
Editor de mensajes ASCII, 507, 509, 514 Controlador Compact, 817
Ajuste (buffer), 514 Ejemplo de configuración de hardware
Código de control, 512 Bus de E/S decentral, 830
Cómo continuar después de recibir una Controlador Compact, 817
advertencia, 520 Controlador decentral con DIO, 772
Cómo utilizar, 517 Controlador decentral con RIO, 753
Espacios, 513 Controlador decentral con RIO (Serie
Generalidades, 510 800), 761
Interfaz de usuario, 516, 517 Controlador INTERBUS, 781, 821
Modo combinado, 521 Controlador Profibus DP, 795
Modo directo, 521 Ejemplo de configuración de hardware de
Modo fuera de línea, 521 Quantum
Número de mensaje, 518 Controlador SY/MAX, 787
Repetición, 515 Ejemplo de configuración de Momentum
Texto, 510 Bus de E/S decentral, 830
Texto de mensaje, 519 Ejemplo de configuración de Quantum
Texto de simulación, 519 Controlador decentral con DIO, 772
Variables, 511 Controlador decentral con RIO, 753
Editor de tipo de datos, 471, 473, 474 Controlador decentral con RIO (Serie
Comentarios, 488 800), 761
Elementos, 480 Controlador INTERBUS, 781
Nombres, 486 Controlador Profibus DP, 795
ocupación de la memoria, 489 Controlador SY/MAX, 787
palabras clave, 482 Peer Cop, 809
Separadores, 486 Ejemplo de configuración para Momentum
Sintaxis, 479 Sistema de bus Ethernet, 838
Teclas de acceso directo, 709

vi
Index

Ejemplo de configuración-Quantum Momentum, 906, 910, 941, 945


Peer Cop, 809 Primera puesta en marcha de Quantum,
Ejemplos de configuración, 751 898, 930
Ejemplos para la configuración del equipo, Primera puesta en servicio durante el
751 uso de Modbus, 897
Elementos Primera puesta en servicio durante el
Editor de tipo de datos, 480 uso de Modbus Plus, 929
Tipo de datos derivado, 480 Explorador de E/S Ethernet
Elementos de ventana, 679 Configuración del PLC, 104
EN Utilización del explorador de E/S
FBD, 173 Ethernet, 108
LD, 202 Exportación
ENO Tipo de datos derivado, 577
FBD, 173 Variable, 577
LD, 202 Exportación de variables located, 464
Establecer conexiones online, 853 Exportar, 571
Establecer programa Configuración del PLC, 609
IL, 323 Generalidades, 573
Establecer y controlar el PLC, 540 Sección, 574
Establecer, cambiar contraseña del PLC, Expresiones
547 ST, 329
Estadísticas de memoria, 552 Extensión RTU
Estado, 527 Configuración de Compact, 104
Estado del PLC, 527, 539, 551
Estado PLC, 539
Estructura F
Memoria del PLC, 111, 113 Factory Link, 607
Programa, 29, 30 Familia PLC
Proyecto, 29, 30 Prestaciones, 655
Ethernet, 538 FBD, 167
Ethernet con Atrium, 103 Abrir macro, 449
Ethernet con Momentum, 103 Animación, 183
Ethernet con Quantum, 102 Barra de estado, 699
Ethernet MMS Bucles, 180
Establecer módulos de acoplamiento, 90 Conexión, 173
Ethernet Symax Creación de programas, 186
Establecer módulos de acoplamiento, 90 DFB, 172
Ethernet TCP/IP EFB, 170
Establecer módulos de acoplamiento, 90 EN, 173
EXECLoader ENO, 173
Primera puesta en marcha de Atrium, FFB, 170
938 Flujo de datos, 179, 180
Primera puesta en marcha de Compact, Función, 170
901, 934
Primera puesta en marcha de

vii
Index

Función elemental, 170 971


Función elemental definida por el Definición de nombre de proyecto, 971
usuario, 173 Generalidades, 970
Funciones online, 183 Lectura de DFBs globales, 972
Generación de código, 182 Representación de datos internos, 975
LD, 200 Ruta de acceso a los ficheros de ayuda,
Módulo de función, 171 972
Módulo de función derivado, 172 Ruta de acceso de DFBs globales, 972
Módulo de función elemental, 171 Situación de los DFB globales durante la
Módulo de función elemental definida por lectura de dotación, 972
el usuario, 173 Ficheros de ayuda
Objeto de texto, 175 Definir ruta de acceso, 972
Parámetro actual, 174 Flanco negativo de la bobina
Secuencia de ejecuciones, 179 LD, 197
Teclas de acceso directo, 711 Flanco positivo de la bobina
UDEFB, 173 LD, 196
FFB Flujo de datos, 209
Cambiar, FBD, 178 FBD, 180
Cambiar, LD, 208 Formato de direcciones de registro
Crear, FBD, 178 Ajustes en el fichero INI, 971
Crear, LD, 207 Función
FBD, 170 FBD, 170
Insertar, FBD, 178 LD, 198
Insertar, LD, 207 Función elemental definida por el usuario
LD, 198 FBD, 173
Llamada, 304, 306, 312, 356 LD, 201
llamada, 359 Funciones disponibles en la modalidad
Reemplazar, FBD, 178 ONLINE y OFFLINE, 73
Reemplazar, LD, 208 Funciones elementales
Ubicar, 178, 207 FBD, 170
Fichero EXEC LD, 198
CPU 424 02, 121 Funciones offline en el configurador, 73
CPU X13 0X, 121 Funciones online, 15, 523
Momentum, 153 FBD, 183
Fichero INI, 969 Generalidades, 525
Ajustes de impresión, 970 IL, 318, 319, 322
Ajustes para el formato de direcciones LD, 212
de registro, 971 SFC, 255, 258
Ajustes para la animación online, 976 ST, 365
Ajustes para la sección LD, 975 Funciones online en el configurador, 73
Ajustes para la situación de variables,

viii
Index

G I
Generación de código Iconos, 695, 697, 698, 699, 700, 702, 703,
FBD, 182 704
IL, 316 Icons, 705, 706
LD, 211 IEC
ST, 363 Primera puesta en marcha de
Generalidades, 1, 831 Momentum, 906, 941, 958
Amplificador del panel de fondo, 96 IGUAL, 527
Carga de un proyecto, 556 IL, 265
Conectar PLC, 527 Acceso a módulo, 305
Controlador INTERBUS, 782 Animación, 319, 322
Controlador INTERBUS con Atrium, 822 Barra de estado, 703
Controlador Profibus DP, 796 comprobación de sintaxis, 315
Funciones online, 525 Establecer programa, 323
Lectura de informaciones de proceso, Funciones online, 318, 319, 322
551 Generación de códigos, 316
Generalidades acerca de la configuración en Instrucción, 269, 270
la modalidad offline y online, 73 Marca, 277
Generalidades acerca de las funciones Modificador, 272
online, 525 Operadores, 274, 281
Generalidades acerca del editor de Operandos, 271
variables, 454 Teclas de acceso directo, 709
Generalidades sobre el control online, 541 Importación
Generalidades sobre el editor de datos de Sección, 583, 594, 596, 597
referencia, 496 Variables, 599, 602, 607
Generalidades sobre la configuración del Variables estructuradas, 602
equipo, 69 Importar, 571
Generalidades sobre la configuración del Configuración del PLC, 609
PLC, 70 Generalidades, 573
Generar Sección, 578, 579, 591
Símbolo de proyecto, 687 Variables, 600
Guardar en Flash, 544 Importar configuración de Profibus DP, 802
Importar configuración INTERBUS, 827
Impresión de secciones, 617
H Imprimir
Hardware Ajustes en el fichero INI, 970
Prestaciones, 655 Insertar
Herramientas, 705, 706 FFB, FBD, 178
Hojeador de proyectos, 465 FFB, LD, 207
Manejo con el ratón, 468 Instalación de los controladores Modbus
Manejo con el teclado, 468 Plus
Windows 98/2000/NT, 883

ix
Index

Instalación de SA85 FFB, 198


Preajustes de Modbus Plus, 878, 881 Flanco negativo de la bobina, 197
Windows 98/2000, 878 Flanco positivo de la bobina, 196
Windows NT, 881 Flujo de datos, 209
Instalar ficheros EXEC, 965 Función, 198
Instalar las instrucciones cargables, 51 Función elemental, 198
Instalar y controlar la ejecución del programa Función elemental definida por el
en el PLC usuario, 201
Generalidades, 541 Funciones online, 212
Instrucción Generación de código, 211
IL, 269, 270 Módulo de función, 199
Instrucciones Módulo de función derivado, 200
ST, 341, 342 Módulo de función elemental, 199
Instrucciones cargables, 81 Módulo de función elemental definida por
Atrium, 158 el usuario, 201
Compact, 143 Objeto de texto, 205
CPU 424 02, 126 Parámetro actual, 204
CPU 434 12, 133 Restablecimiento de bobina, 197
CPU 534 14, 133 Secuencia de ejecuciones, 209
CPU X13 0X, 126 Teclas de acceso directo, 716
Interacción con cuadros de diálogo UDEFB, 201
LL984, 374 Lectura de DFB globales
Intercambio de datos entre los participantes Ajustes en el fichero INI, 972
de la red Modbus Plus, 90 Lectura de informaciones de proceso
Generalidades, 551
Leer dotación del PLC, 561
L Leer informaciones de proceso
Ladder, 189 Estado y memoria, 550
Ladder Logic 984, 369 Lenguaje de bloques de función, 167
LD, 189 Lenguajes de programación, 10
Abrir macro, 449 Limitaciones
Ajuste de bobina, 197 LL984, 372
Animación, 212 Lista de instrucciones, 265
Barra de estado, 702 Literal estructurado, 325
Bobinas, 195 Literales, 35
Bucles, 209 LL984, 369
Conexión, 202 Apertura de columnas, 379
Contactos, 194, 195 Apertura de filas, 379
Creación de programas, 215 Barra de estado, 704
Denegar bobina, 196 Búsqueda en línea, 382
Dispositivo de apertura, 194 Cierre de columnas, 380
Dispositivo de cierre, 194 Deshacer, 378
EFB, 198 Edición, 374, 378
EN, 202 Edición de redes, 380
ENO, 202 Interacción con cuadros de diálogo, 374

x
Index

Modos de combinación, 393 Marca


Modos de programación, 393 IL, 277
Navegación, 374 Memoria del PLC, 111, 114, 115
Offset de referencia, 378 Estructura, 111, 113
Primera puesta en marcha de Optimar, 114
Momentum, 910, 925, 945, 961 Optimar la memoria de para las UC de
Programación directa, 393 Compact, 140
Rastreo, 382 Optimización, 111, 115
Red de ecuación, sintaxis y semántica, Optimización de la memoria de UC
389 Atrium, 156
Red de la ecuación, 385, 386 Optimización de la memoria para las
Reemplazo de referencias, 382 CPUs Momentum, 150
References, 376 Optimización de memoria
Requisitos, 374 independientemente del PLC, 115
Restricciones en línea, 375 Optimización de memoria para CPUs
Sección, 371 434 12 y 534 14 Quantum, 130
Segmento, 371 Optimización de memoria para CPUs
Selección, 379 X13 0X y 424 02 Quantum, 118
Subrutinas, 383 UC Atrium, 156
Teclas de acceso directo, 721 UCs de Compact, 140
Variables, 376 Memoria extendida, 124
Zoom de referencias, 380 Mensajes ASCII, 56, 89
Zoom DX, 381 Modbus
Llamada Primera puesta a punto con DOS-
DFB, 304, 306, 356 Loader, 915
FFB, 304, 306, 312, 356, 359 Primera puesta en marcha de Compact,
Llamar 901, 918
Proyecto, 687 Primera puesta en marcha de
Momentum, 906, 910, 922
Primera puesta en marcha de Quantum,
M 898, 916
Macro, 429, 432 Primera puesta en servicio con el
Abrir desde FBD, 449 EXECLoader, 897
Abrir desde LD, 449 Modbus Plus
Acceso desde SFC, 446 Controlador MBX remoto, 886
Ayuda contextual, 438 controlador Virtual MBX, 884
Borrar, 626 Primera puesta a punto con Loader de
Creación, 440 DOS, 949
Documentación, 613 Primera puesta en marcha de Atrium,
Global, 434 938, 956
Local, 434 Primera puesta en marcha de Compact,
Señalización de intercambio, 436 934, 953
Macro global, 434 Primera puesta en marcha de
Macro local, 434 Momentum, 925, 941, 945, 958, 961
Macros Primera puesta en marcha de Quantum,
Convertir, 855

xi
Index

930, 950 O
Primera puesta en servicio con el
Objeto de texto
EXECLoader, 929
FBD, 175
ModConnect, 859
LD, 205
Modificaciones, cargar, 558
SFC, 237
MODIFICADO, 527
Objetos
Modificador
Insertar, LD, 207
IL, 272
SFC, 222
Modificar estados de señal de una variable
Offset de referencia
located
LL984, 378
Editor de datos de referencia, 499
Online, 629, 631
Modos de programación
SFC, 254
LL984, 393
Opciones de secciones, 617
Modsoft
Opciones especiales, 93
Compatibilidad de funciones, 876
Operadores
Conversión, 867
IL, 274, 281
Referencias, 873
ST, 331, 334
Módulo de función
Operandos
FBD, 171
IL, 271
LD, 199
ST, 330
Módulo de función derivado, 398
Optimar
FBD, 172
Memoria del PLC, 114
LD, 200
Memoria del PLC de las CPUs
Módulo de función elemental
Momentum, 150
LD, 199
UCs de Compact de la memoria del PLC,
Módulo de función elemental definida por el
140
usuario
Optimización
FBD, 173
Memoria del PLC, 111, 115
LD, 201
Memoria del PLC de UC Atrium, 156
Módulo elemental
Memoria del PLC para CPUs 434 12 y
FBD, 171
534 14 Quantum, 130
Momentum - Sistema de bus Ethernet, 850
Memoria del PLC para CPUs X13 0X y
Momentum -Controlador decentral con bus
424 02 Quantum, 118
de E/S, 831
Optimización de memoria
independientemente del PLC, 115
N Orden IL
Comentario, 280
Navegación
Comparaciones, 295, 296, 297, 298,
LL984, 374
299, 300
Nombres
Declaración, 278
Editor de tipo de datos, 486
Llamada de función, 312
Tipo de datos derivado, 486
Reiniciar, 284
VAR...END_VAR, 278

xii
Index

Orden ST P
, 339, 339
Palabras clave
-, 336, 338
editor de tipo de datos, 482
&, 339
tipo de datos derivado, 482
*, 336
Para configura proceda de la siguiente
**, 335
forma, 70
+, 337
Parametraje de interfaces
/, 337
Interfaces ASCII, 92
=, 338
Interfaces Modbus, 92
>, 338
Parámetro actual
>=, 338
FBD, 174
AND, 339
LD, 204
Asignación, 342
Partición de memoria, 51
Booleano O, 340
Partición de memoria PLC, 80
Booleano O exclusivo, 340
Participantes de red Modbus Plus, 90
Booleano Y, 339
Paso, 223
CASE...OF...END_CASE, 348
denominaciones "Alias", 250
Comentario, 354
Paso de espera, 223
Construcción complementaria, 336
Paso inicial, 223
Declaración, 343
Peer Cop, 90
División, 337
Ejemplo de configuración de Quantum,
ELSE, 346
809
ELSIF...THEN, 347
Preajustes de Modbus
EXIT, 354
Ajuste de interfase en Windows NT, 894
FOR...TO...BY...DO...END_FOR, 348
Ajustes de la interfase en Windows 98/
IF...THEN...END_IF, 345
2000, 892
Igual, 338
Construcción de la conexión de
Mayor que, 338
hardware, 894
Mayor/igual, 338
Primera puesta en servicio, 891
Menor, 339
Problemas de transmisión, 895
Menor/igual, 339
Preajustes de Modbus Plus
MOD, 337
Construcción de la conexión de
Módulo, 337
hardware, 889
Multiplicación, 336
Instalación de los controladores Modbus
Negación, 336
Plus en Windows 98/2000/NT, 883
No igual, 339
Instalación de SA85, 878, 881
NOT, 336
Primera puesta en servicio, 877
OR, 340
Preajustes para servicio EN LÍNEA, 529
Potenciación, 335
Prestaciones
REPEAT...UNTIL...END_REPEAT, 352
Familia PLC, 655
Resta, 338
Hardware, 655
Suma, 337
Primera puesta a punto con DOS-Loader
VAR...END_VAR, 343
Modbus, 915
WHILE...DO...END_WHILE, 351
Primera puesta a punto con Loader de DOS
XOR, 340
Modbus Plus, 949

xiii
Index

Primera puesta en marcha de Atrium Programa


DOS-Loader, 956 Creación, 47
EXECLoader, 938 Estado, 679
Modbus Plus, 938, 956 Estructura, 29, 30
Primera puesta en marcha de Compact Procesado, 30
DOS-Loader, 918, 953 Programa de ayuda, 16
EXECLoader, 901, 934 Programación, 7
Modbus, 901, 918 Programas, 35
Modbus Plus, 934, 953 Propiedades de los pasos
Primera puesta en marcha de Momentum Procesar, 242
DOS-Loader, 922, 925, 958, 961 Protección
EXECLoader, 906, 910, 941, 945 DFB, 650
Modbus, 906, 910, 922 Proyecto, 650
Modbus Plus, 925, 941, 945, 958, 961 Protección con contraseña, 639, 640, 641,
Primera puesta en marcha de Quantum 648, 649
DOS-Loader, 916, 950 Protección de datos, 54
EXECLoader, 898, 930 Protección de datos en la memoria de señal,
Modbus, 898, 916 91
Modbus Plus, 930, 950 Proyecto
Primera puesta en servicio Abrir, 687
Preajustes para Modbus, 891 Acceder, 687
Preajustes para Modbus Plus, 877 archivar, 624
Primera puesta en servicio con el Borrar, 626
EXECLoader Creación, 47
Modbus, 897 Documentación, 613
Modbus Plus, 929 Estructura, 29, 30
Principios de Peer Cop, 810 Llamar, 687
Problemas de transmisión Procesado, 30
Preajustes de Modbus, 895 Protección, 650
Procesado Proyectos
Programa, 30 Convertir, 855
Proyecto, 30
Procesado LL984
con velocidad optimizada, 544 Q
Procesar Quantum - Controlador decentral con DIO,
Acciones, 244 773, 777
Propiedades de los pasos, 242 Quantum - Controlador decentral con RIO,
SFC, 239 754
transición, 249 Quantum - Controlador decentral con RIO
PROFIBUS (serie 800), 762
Establecer módulos de acoplamiento, 90 Quantum - Controlador Profibus DP, 797
Quantum - Peer Cop, 810, 811, 813, 815
Quantum- Controlador INTERBUS, 782
Quantum- Controlador SY/MAX, 788

xiv
Index

R Exportar, 574
Importación, 583, 594, 596, 597
Rastreo
Importar, 578, 579, 591
LL984, 382
LL984, 371
RDE, 495
secuencia de ejecuciones, 40
Convertir tablas RDE, 497
Sección CEI
Generalidades, 496
Animación, 566
Ubicación cíclica de variables, 500
Sección de transición, 228
Reactivar Guardar en flash, 546
Sección LL984
Red de ecuación, sintaxis y semántica
Animación, 567
LL984, 389
Secuencia de ejecuciones
Red de la ecuación
FBD, 179
LL984, 385, 386
LD, 209
Reemplazar
sección, 40
Bobina, LD, 208
Segmento
Contacto, LD, 208
LL984, 371
FFB, FBD, 178
Seguridad, 639, 640, 641, 648, 649, 650
FFB, LD, 208
Selección
Reemplazar nombres de variables
LL984, 379
Editor de datos de referencia, 506
Selección de CPU para el tipo de PLC, 78
Reemplazo de referencias
Selección del PLC, 76
LL984, 382
Señalización de intercambio
Referencias
Macro, 436
LL984, 376
Separadores
Requisitos
Editor de tipo de datos, 486
LL984, 374
Tipo de datos derivado, 486
Restablecimiento de bobina
Servicio EN LÍNEA
LD, 197
Preajustes, 529
Restricciones en línea
SFC
LL984, 375
Abrir macro, 446
Ruta de acceso a los ficheros de ayuda
Acción, 225
Ajustes en el fichero INI, 972
Acciones, 244
Ruta de acceso de DFBs globales
Animación, 258
Ajustes en el fichero INI, 972
animación, 255
Aprendizaje de los tiempos de vigilancia,
S 261
Barra de estado, 700
Salidas ANY, 356 Bifurcación alternativa, 233
Salto Bifurcación simultánea, 236
SFC, 231 Cadena, 258
Salto de la cadena, 231 Caracteres de definición, 246
Sección, 39 Conexión, 231
Animación, 565 Diagnóstico de transición, 264
bloqueo, 41 Duración del paso, 223
Estado, 679 En línea, 254

xv
Index

Funciones online, 255, 258 Funciones online, 365


Objeto de texto, 237 Generación de códigos, 363
Objetos, 222 Instrucciones, 341, 342
Paso, 223 Operadores, 331, 334
Paso de espera, 223 Operandos, 330
Paso inicial, 223 Teclas de acceso directo, 709
Procesar, 239 Subrutinas
Propiedades de los pasos, 242 LL984, 383
Salto, 231
Sección de transición, 228
Teclas de acceso directo, 711 T
Tiempo de retardo, 223 TCP/IP
Tiempo de vigilancia máximo, 223 Configuración de red, 840
Tiempo de vigilancia mínimo, 224 Teclas de acceso directo, 695, 707, 708,
Transición, 227, 249 709, 711, 716, 721
Unión alternativa, 235 Tiempo de retardo, 223
Unión simultánea, 236 Tiempo de vigilancia máximo, 223
Variable ’SFCSTEP_STATE’, 225 Tiempo de vigilancia mínimo, 224
Variable ’SFCSTEP_TIMES’, 224 Tipo de datos derivado, 473, 474
Variable de acción, 226 Comentarios, 488
Variable de la transición, 230 Elementos, 480
Símbolo de proyecto Global, 477
Generar, 687 Local, 477
Símbolos, 695, 697, 699, 700, 702, 703, 704 Nombres, 486
Simulación, 627, 629, 631 ocupación de la memoria, 489
Simulador IEC (32 bits), conectar, 539 palabras clave, 482
Simular Separadores, 486
Autómata, 629, 631 Sintaxis, 479
Sintaxis Utilización, 491
Editor de tipo de datos, 479 Tipo de datos derivado global, 477
Tipo de datos derivado, 479 Tipo de datos derivado local, 477
Sistema de bus Ethernet, 853 Tipo de datos derivados, 471
Ejemplo de configuración para Tipos de datos derivados
Momentum, 838 Exportación, 577
Sistema de bus Ethernet (Momentum), 839 Tipos de ventanas, 678
Situación de los DFBs globales durante la Toolbar, 706
lectura de dotación Tools, 16
Ajustes en el fichero INI, 972 Transferencia de datos directos, 815
Situación de variables Transferencia de datos globales, 813
Ajustes en el fichero INI, 971 Transición, 227
ST, 325 Declarar, 249
Acceso a módulo, 355 denominaciones "Alias", 250
Barra de estado, 703 procesar, 249
comprobación de sintaxis, 362 Tratamiento de error
Creación de programas, 366 Amplificador del panel de fondo, 97
Expresiones, 329

xvi
Index

U W
Ubicación cíclica de variables Windows, 675
Editor de datos de referencia, 500 Barra de estado, 679
Ubicar Botones de comando, 685
FFB, FBD, 178 Botones de opción, 686
FFB, LD, 207 Casilla de verificación, 686
UDEFB Comandos de menú, 682
FBD, 173 Cuadros de diálogo, 684
LD, 201 Cuadros de texto, 685
Únicos Elementos de ventana, 679
Ciclos, 542 Listas, 685
Unión alternativa, 235 Tipos de ventanas, 678
Unión simultánea, 236 Ventana, 677
Utilities, 16
Utilización del explorador de E/S Ethernet
Explorador de E/S Ethernet, 108 Z
Zoom de referencias
LL984, 380
V Zoom DX
Variable LL984, 381
Exportación, 577
Variable ’Paso’, 225
Variable ’SFCSTEP_STATE’, 225
Variable ’SFCSTEP_TIMES’, 224
Variable de acción, 226
Variable de la transición, 230
Variables, 35
Comportamiento de arranque, 37
Editor de mensajes ASCII, 511
Importación, 599, 602, 607
Importar, 600
LL984, 376
Variables estructuradas
Importación, 602
Variables located
Modificar estados de señal en RDE, 499
Variables VARINOUT, 403
Ventana, 677
Visualizador de diagnósticos, 568

xvii
Index

xviii

También podría gustarte