Concept

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 418

Curso de Programación

CONCEPT – Nivel 1
CONCEPT

¿Qué es Concept?
 Concept es un entorno de programación universal de PLC’s
desarrollado por Schneider Electric
 Concept está diseñado para minimizar costes de
configuración, programación y mantenimiento
 Concept incluye todas las herramientas necesarias para:

 Configurar el PLC

 Configuración de Redes

 Programación del PLC

 Simulación / Análisis de la Aplicación

2
CONCEPT

¿Qué es la IEC 61131-3?


Estándar Internacional
de Editores para la
Programación de PLC

3
CONCEPT

El Estándar IEC 61131-3


 Define sintaxis y semántica de los editores de programación de
los PLC

 Experiencia y técnica probadas junto con nuevas herramientas


y estructuras permiten conseguir una alta productividad en el
desarrollo

 Proporciona una interrelación entre editores que permite


resolver una amplia variedad de problemas de control

 Mejora la calidad del software de aplicación gracias a un diseño


bien estructurado y a la encapsulación de datos e información

 Permite utilizar soluciones ya probadas y la reutilización de


código que aumentan la productividad

4
CONCEPT

Ventajas del Estándar IEC 61131-3


 Combina armónicamente distintos componentes desde diferentes
proyectos, empresas, etc.
 Requiere menores inversiones en cursos, mantenimiento,
consultas y análisis
 Reduce inversiones en el desarrollo de la aplicación y en la
dependencia del usuario
 Minimiza los errores y discrepancias

 Técnicas de programación utilizables en otros entornos

 Aumento de la conectividad

 Permite utilizar herramientas de software adicionales de otros


proveedores

5
CONCEPT

Ventajas del Estándar IEC 61131-3

Análisis  Uso en sistemas secuenciales del editor SFC


(Sequential Function Chart) y FB (Function Blocks)

Diseño  Diseño de la aplicación utilizando cualquiera de los


editores IEC (gráficos / textuales)

Simulación  Simulación “Off-line” del funcionamiento de la


aplicación mediante el “IEC PLC simulator”

Integración  Integración con otros controladores utilizando el


mismo estándar de datos y conceptos

Operación  Presentación estándar del funcionamiento del sistema

Mantenimiento  Optimización del mantenimiento

6
CONCEPT

7
CONCEPT

La IEC 61131-3 destaca también por:

 Programación estructurada y alto nivel de editores para


desarrollar y mantener eficientemente grandes aplicaciones

 Reutilización de módulos de programa verificados, reduce fallos

 Data communication function blocks reduce effort for external


data transfers (multi vendor communication)

 Funciones Matemáticas (trigonométricas, exponenciales,


logaritmos, etc. )

8
CONCEPT

El estándar IEC No define


 Limitaciones en la Implementación
 Tamaño de páginas, áreas
 Mínimo de elementos a implementar
 Servicios asociados
 Debug
 Documentación
 Exportación/Importación
 Editores
 Reglas de ejecución exhaustivas
 sólo se dan ligeras indicaciones
 Conversión entre editores
 LD a IL, FBD a ST, etc.

9
CONCEPT

Fiabilidad
 Desarrollo basado en la experiencia
de nuestros Usuarios

 Realizado según la experiencia


heredada de más de 25 años en el
mundo de la automatización por
Scheneider Electric

 Funcionando en más de 3,000


instalaciones de todo el mundo

10
CONCEPT

Versatilidad
 Concept abarca a más de una familia de PLC’s
MOMENTUM :
171 CCC 760 10 IEC/984
171 CCC 780 10 IEC/984
171 CCC 960 20 984
171 CCC 960 30 IEC/984 COMPACT :
171 CCC 980 20 984 PC-E984-258
171 CCC 980 30 IEC/984 PC-E984-265
171 CCS 700 10 984 PC-E984-275
171 CCS 700/780 00 984 QUANTUM :
PC-E984-285
171 CCS 760 00 IEC/984 140 CPU 113 xxX
140 CPU 213 xxX ATRIUM :
140 CPU 424 0xX 180 ASP 26x xx
140 CPU 434 12/12A 180 CCO 121 01
140 CPU 534 14/14A 180 CCO 241 01
180 CCO 241 01-S908

11
CONCEPT

Versatilidad
 La pantalla de configuración de
Concept presenta toda la
información necesaria

 Para configurar no es necesario


saltar entre distintas páginas de
diálogo

 ToolTips, que facilitan


adicionalmente el procedimiento de
configuración

 La presentación de los PLC’s es


idéntica para todos los modelos
de las distintas familias

12
CONCEPT

Versatilidad
 Admite los 5 Editores IEC 1131-3 FBD
 Total libertad para escoger el editor que LD
mejor se ajusta al tipo de aplicación y
concretamente al problema que se
deba solucionar
 IEC 1131-3 permite una estructuración
del programa de acuerdo con una
posibilidad de reutilización y reducción
de costes en su mantenimiento ST
984
 Implementación de distintas tareas en
la aplicación de control, programando
en distintos editores
 Re-utilización del código 984 LL
 Además de los 5 Editores IEC, Concept IL SFC
dispone del editor 984LL ( Ladder
Logic) que también se ejecuta

13
CONCEPT

Versatilidad
 Dos ejemplos de utilización de los editores IEC, en función del tipo de
aplicación

 Ejemplo1: Para fórmulas se puede utilizar el editor ST

Σ (Sin(Position)*Cos(Position))
Result := 0;
FOR I:=0 TO 100 DO
Result := Result + (Sin(position) * Cos (Position));
END_FOR

 Ejemplo 2: Para un control complejo


se puede utilizar el editor FBD

14
CONCEPT

Versatilidad
• Concept ofrece tres editores gráficos y dos textuales

IL

FBD
SFC

ST
LD

15
CONCEPT

Productividad
 Concept disminuye el tiempo de
desarrollo de una aplicación
gracias a la amplia y potente
Biblioteca de EFB’s disponible
de serie

 Se han añadido además,


Bibliotecas de funciones de
amplio espectro, para simplificar
el desarrollo de la aplicación

 Tan simple como seleccionar y


situar el bloque de función (FB)

16
CONCEPT

Productividad

 Concept dispone de la
posibilidad de ampliar las
Bibliotecas de EFB’s existentes
con otras creadas a
conveniencia y de acuerdo con
las necesidades del usuario

 Con el EFB Toolkit y un


Compilador en C++, se pueden
integrar nuevos EFB’s, según
las necesidades del control
 Unica opción de Concept

17
CONCEPT

Productividad
 Gracias a la reutilización del
código desarrollado en DFB’s
(Derived Function Blocks)

 Los DFB’s se pueden asociar a


subrutinas con entradas y salidas
definidas por el usuario

 Se distinguen los DFB’s de los


EFB’s por la doble línea vertical

 Concept includes un editor


específico para generación de
DFB’s

18
CONCEPT

Productividad
 Gracias a la utilización de
MACROS, que permite duplicar
secciones o redes de programa,
que al invocarse generan
automáticamente las variables

 Las secciones completas se


pueden Exportar/Importar de un
proyecto a cualquier otro

19
CONCEPT

Productividad
 ¿Problemas al arrancar la
aplicación? > Evítelos con el
Simulador de PLC de Concept, que
permite probar todo el proyecto
sin necesidad de disponer de
ninguna CPU
 Con Concept puede analizar la
aplicación determinar y corregir
los fallos
 Ejecutar el programa del PLC
”paso a paso” o en modo contínuo
 Animación directa del contenido
de las variables en cualquier
editor IEC
 Cambio del valor de las variables
de proceso, digitales y analógicas,
mientras corre la aplicación

20
CONCEPT

Compatibilidad PLCopen
 Verificación de conformidad con IEC
1131
 Instruction List
(IL)
 Structured Text
(ST)
 Function Block Diagram
(FBD)
 IEC Ladder (LD)

 Nivel de portabilidad
 Portabilidad de FB’s entre fabricantes
• Exportar los FB a Texto Estructurado
• Importar los de otra marca

 DEMOSTRADO en la Feria de Hannover,


Marzo del 2000

21
CONCEPT

Ventajas de la IEC 1131

Escoger el editor óptimo para cada aplicación

Rápido desarrollo del programa con la posibilidad de


reutilizar funciones

La Sencilla estructura de la programación reduce el


tiempo de pruebas y de puesta en marcha

Múltiples programadores

= Mayor Productividad
22
CONCEPT

Funciones Online

 Animación
 Ver en pantalla el flujo de datos en FBD y LD
 Ver en pantalla el flujo de actividad en SFC
 Ver en pantalla los valoresy estados en IL y ST
 Ver en pantalla los valores de las variables de proceso
 Ver contenido de los bloques de función derivados (DFB)
 Supervisión de errores de runtime con el registro de EVENTOS,
detección rápida de anomalías
 Cambios del Programa Online con el Online Backup:
 Permite al usuario conseguir una conexión consistente entre el
proyecto y el PLC tras errores de operación.
 Miscelánea:
 Estado del sistema, CPU, comunicaciones RIO y DIO, etc.

23
CONCEPT

Concept - Bibliotecas de Funciones

 IEC Aritmética, Biestable, Comparar,


Conversiones,Contador, Detección de flancos,
Lógica,Numérica, Selección, Temporizadores
 EXTENDIDA Aritmética, Conversiones, ...
 SISTEMA FFB’s basadas en el sistema: I/O Inmediatas...
 ANA_I/O I/O Analógicas, Configuración
 CONT_CTL Control
 FUZZY Fuzzy-Logic
 DIAGNO Diagnósticos de Proceso
 COMM comunicación IEC
 EXPERTS Módulos expertos
 LIB984 984 FFB’s

24
CONCEPT

Integración de las Comunicaciones

 Configuración del Hardware de PLC


integrado en Concept (I/O locales, I/O en
sistemas Remotos y Distribuidos)
 Comunicación MB+, Ethernet: Función
MSTR común
 Funciones conformes con IEC 6111-3
para comunicaciones
 Bloques predefinidos, CREADREG,
CWRITEREG, READREG y WRITEREG
 Integración de Interbus-S, Modbus, MB+,
Profibus DP, etc...

25
CONCEPT

Plataformas de Hardware soportadas


 Momentum

 Compact

 Quantum

 Atrium (Control basado en PC)

26
CONCEPT

Configuración Momentum

 El PC como una unidad de programación


 Componentes Momentum
 Bus de campo (Interbus S, Modbus Plus,
Modbus)

CPU E/S E/S E/S

27
CONCEPT

Configuración Compact

 El PC como una unidad de


programación
 Componentes Compact
 Bus de campo (Interbus S,
Modbus, Modbus Plus, MVB)

28
CONCEPT

Configuración Quantum
 El PC como una unidad de programación

 Componentes Quantum
Local I/O
 Bus Campo (TCP/IP, MB+, RIO, DIO ...)

 IEC Hot Standby

Distributed I/O (DIO) Remote I/O (RIO)

29
CONCEPT

Configuración Atrium
(Control basado en PC)
 PC con CoPro y Windows NT:
como unidad de programación y PLC

 Componentes:
QUANTUM, MOMENTUM, COMPACT

 Bus de campo (Interbus-S, MB+, Ethernet TCP/IP ...)

30
CONCEPT
El Grupo de Programas >> Inicio de Concept
 Concept Security
 Concept SIM puede estar ON o OFF
 Iniciar Concept o Concept DFB
 Concept Converter
 Ayudas

31
CONCEPT

32
CONCEPT

Security

 Diferentes derechos de acceso hasta 128 usuarios con su


nombre y contraseña individual, protegen el software de
accesos no autorizados.
 Nombre = > 2 a 16 caracteres, Contraseña = > 6 a 12 caracteres
 Niveles de Acceso (Derechos):
1 Sólo Monitorización
2 Panel de Animación de SFC
3 Cambio de valores de Datos
4 Forzado de E/S y Variables
5 Download del programa
6 Cambios de Programa
7 Cambios de Configuración
8 Uso de Herramientas, tales como: DFB y Concept-Converter
9 Supervisor

33
CONCEPT

Security

Por defecto:

• Nombre de Ususario: supervisor

• Sin Password

34
CONCEPT

Security

35
CONCEPT

Security
Herramienta de Protección del Proyecto / DFB

 Protege - Proyecto o DFB’s

 Permite que los Proyectos sean


cargados al PLC
• Los usuarios no pueden hacer
modificaciones en el código IEC
• Sin Animación

 Security Tool
• Nuevo Botón “PROTEGIDO”

 Protección de Proyectos o
DFB’s, no se pueden exportar
a fichero ASC sin la Contraseña

36
CONCEPT

Security
Herramienta de Protección del Proyecto / DFB
 Si el Usuario quiere acceder a ver el DFB

37
CONCEPT

Estructura
Generalidades

38
CONCEPT

Estructura
Proyecto

 Un Proyecto representa el programa completo para el control total del


proceso, que realiza una CPU

 Un Proyecto incluye archivos del programa, configuración, base de


datos, documentación y DFB’s

 Los Proyectos de una planta deberían guardarse en un directorio


previamente creado, incluyendo un subdirectorio DFB, para guardar los
DFB’s locales

 Un Proyecto puede constar de una o varias Secciones

39
CONCEPT

Estructura
Sección
 El número máximo de Secciones de un Proyecto es: 1.600

 Una Sección es como un capítulo en un libro

 Permite la estructuración del Proyecto

 Cada Sección puede ser programada en: FBD, SFC, LD, IL, ST ó 984 LL

 Cada Sección puede ser animada y permite visualizar el estado del


proceso en modo On-line

 Las Secciones puede estar habilitadas o inhabilitadas por programa

40
CONCEPT
 Ciclo de ejecución Arranque Escribe
Salidas

System Overhead, E/S, Lee


Comunicaciones, Diagnósticos Entradas
Escribe
Salidas

Ejecución del 984LL


según el orden del en cada Lee
Segment Scheduler ciclo Entradas

Programa
IEC
Ejecuta el código IEC de Sección 1
Ciclo de la Primera Sección FB, LD, IL, ST o SFC

ejecución del Sección 2


FB, LD, IL, ST o SFC
Programa Sección 3
FB, LD, IL, ST o SFC
(Scan) Ejecuta el código IEC de .
.
Sección n
la Segunda Sección FB, LD, IL, ST o SFC

Overhead

Ejecuta el código IEC de


la Tercera Sección  El orden de ejecución de las Secciones y
Funciones (FB’s) lo puede definir el usuario
 Las Secciones y FB’s pueden ser
habilitadas o inhabilitadas individualmente
Ejecuta el código IEC de  Si hay Secciones en 984LL, éstas se
ejecutan siempre por delante de las de IEC
la Ultima Sección  La lectura de E y actuación de S se efectúa
al inicio del ciclo

41
CONCEPT

Estructura
Partición de la Memoria
La memoria de un PLC está dividida en tres partes:
 Memoria para el archivo EXEC
• El archivo EXEC contiene el sistema operativo y uno o más
sistemas runtime (IEC y/o LL984) para el procesamiento de los
programas de usuario.
 State RAM puede ser dividida en varias áreas:
• las referencias 0x­, 1x­, 3x, y 4x utilizadas
• un área reservada para referencias 0x­, 1x­, 3x,y 4x adicionales
• En las CPU’s más potentes, existe un área extendida de memoria
con referencias 6x (disco virtual de datos)
 Memoria de Programa
• La memoria de programa puede ser dividida en varias áreas,
dependiendo de la aplicación:
CPU usada,software de programación IEC y/o LL984

42
CONCEPT

Estructura
Partición de Memoria
Programa de Usuario LL984

Loadables
Memoria de programa:
CPU Programa de Usuario IEC

Datos de Usuario IEC

IEC Loadables
State - RAM: Area reservada
referencias: 0x, 1x, 3x, 4x
área reservada para expansión Datos para mensajes ASCII,
Extended memory: 6x Peer Cop, Ethernet, etc.

Sistema Operativo/runtime Area reservada


Archivo Exec:
Q186V222.BIN I/O Map

43
CONCEPT

Creación de un Proyecto

44
CONCEPT

 Iniciar Concept

45
CONCEPT

Secuencia de Ingeniería
Iniciar Concept 1 2 3

Proyecto -> Lógica en: Online:


Nuevo Proyecto FBD, LD
(Abrir Proyecto) Declarar las Conectar al PLC
Variables IL, ST o SFC

Descripción
Proyecto Online:
Comentarios
 Nueva Sección Cargar y Arrancar
Documentación
Configurador

Configurar  Salvar Proyecto Online:


FBD, LD o
Tipo de CPU IL, ST o SFC Animar ...
Rangos, ... Salvarlo como...

Nombre Online:
Configurar Nombre de del Fichero = Cargar
 la Sección Nombre de Proyecto Modificaciones
Asignación de E/S...

1 2 3 Fin

46
CONCEPT

 Creación de un Proyecto
 Seleccionar “Nuevo” en menú “Archivos”

 Cuando se vaya a salvar el Proyecto por primera vez ir a “Salvar


como…” y entrar el nombre del Proyecto

 Se recomienda crear un directorio donde almacenar el Proyecto

 Si no estuviera ya creado, se puede especificar la ruta completa para


su salvaguarda: >> C:\PLANTA\Proyecto.PRJ

 Advertencia: No salvar el Proyecto en el directorio raiz CONCEPT

47
CONCEPT

Configuración del PLC

Iniciar Concept

Nuevo Proyecto
(Abrir Proyecto)

Proyecto

Configurador

Configurar
Tipo de CPU
Rangos ...

Configurar

Asignación de E/S

48
CONCEPT

Configuración del PLC

49
CONCEPT

Configuración del PLC

50
CONCEPT

Configuración para Quantum


Configurador -> Tipos de CPU

Iniciar Concept
Realizar las siguientes
selecciones:
Nuevo Proyecto
(Abrir Proyecto)
 Familia >> QUANTUM
Proyecto
 Modelo de CPU 
Configurador

 Tamaño de Memoria Configurar


Tipo de CPU
Rangos ...
 Tamaño Datos
Configurar

Asignación de E/S
 Habilitar IEC
1

51
CONCEPT

Configuración para Quantum


Tipos de CPU

Para programar, hay disponibles varios tipos de CPU:


Iniciar Concept

 CPU tipo 113 02/03 S (stripped Exec) Nuevo Proyecto


 Más memoria disponible para IEC. No admiten 984LL (Abrir Proyecto)

 CPU tipo 113 02/03


 IEC y 984LL o sólo 984LL (02) con Hot Standby y editor de Proyecto
ecuaciones 
Configurador
 CPU tipo 113 02/03 X
 Igual que la anterior, sin Hot Standby ni editor de ecuaciones, pero Configurar
admite cargar el ULEX (Interbus). Tipo de CPU
Rangos ...
 Disponible IEC Runtime
 Loadables instalados y archivos Exec cargados en el PLC ver Configurar
capítulo "Download, Inicio de Programas" 
Asignación de E/S

52
CONCEPT
Configuración para Quantum
Tipo de Memoria Normal Stripped 984 Logic/
CPU Total Executive Executive (1) State RAM

113 02 256k - 120k 8k/10k

113 03 512k 130k 379k 16k/10k

213 04 768k 140k - 32k/64k

213 04 768k 300k 619k 48k/32k

424 02 2 MB 465k - 64k/64k

434 12A 2 MB 896k - 64k

534 14A 4 MB 2,5MB - 64k

Nota: Las CPU’s 113 02 / 03 S, si se utilizan con variables del tipo “ REAL” , se les
deberá instalar el loadable “ EMUQ”

(1) Las CPU’s con “ S” son las del Stripped Executive (Sólo editores IEC)

53
CONCEPT

 Ficheros Exec para las CPU’s, situados en:


\Concept\Dat
 Q186V222.BIN CPU 213 04 / CPU 113 0x
 QIECV250.BIN CPU 213 04 / CPU 113 0xS (Stripped, Sólo IEC)
 Q486V219.BIN CPU 424 0x
 Q58v108D.BIN CPU 434 12 / CPU 534 14
 Q5RV102D.BIN CPU 434 12A / CPU 534 14A
 CTSX202D.BIN COMPACT
 M1V203.BIN 171 CCS 7x0 x0-984 Sólo LL984
 M1IEC250.BIN 171 CCS 7x0 x0-IEC Sólo IEC
 M1EV104.BIN 171 CCC 9x0 20-984 Sólo LL984
 M1EWI250.BIN 171 CCC 9x0 30-IEC Sólo IEC

54
CONCEPT

Configuración para Quantum


Configurador -> Rangos

Iniciar Concept
Tabla de referencias:
0xx.- Relés y Salidas digitales Nuevo Proyecto
(Abrir Proyecto)
1xx.- Entradas digitales

3xx.- Entradas Analógicas (16 bit) Proyecto



4xx.- Salidas Analógicas y Configurador
Palabras internas de 16 bit
Configurar
6xx.- Memoria expandida Tipo de CPU
Rangos ...

Configurar

Asignación de E/S

55
CONCEPT
Configuración para Quantum
Configuración del PLC -> I/O Map ...

Iniciar Concept

Nuevo Proyecto
(Abrir Proyecto)

Proyecto

Configurador

Configurar
Tipo de CPU
Rangos ...
Editar el Drop Local (#1)
Configurar

Asignación de E/S

56
CONCEPT
Configuración para Quantum
Configuración del PLC -> Head Setup...
Si RIO o DIO >> Introducir el numero de slot de la CRP
(RIO Head) y/o 1ª NOM y 2ª NOM (si se requieren) Iniciar Concept

Nuevo Proyecto
(Abrir Proyecto)

Proyecto

Configurador

Configurar
Tipo de CPU
Rangos ...

Configurar

Asignación de E/S

57
CONCEPT

Configuración para Quantum


Configuración del PLC -> I/O Map ... Drops

Iniciar Concept

Nuevo Proyecto
(Abrir Proyecto)

Proyecto

Configurador

Configurar
Tipo de CPU
Rangos ...

Configurar

Asignación de E/S

58
CONCEPT
Configuración para Quantum
Configuración del PLC... -> Seleccionar Módulos
Seleccionar los módulos necesarios
Iniciar Concept

Nuevo Proyecto
(Abrir Proyecto)

Proyecto

Configurador

Configurar
Tipo de CPU
Rangos ...

Configurar

Asignación de E/S

59
CONCEPT

Configuración para Quantum


Configuración del PLC -> I/O Map - Parámetros de Módulos

Iniciar Concept

Nuevo Proyecto
(Abrir Proyecto)

Proyecto

Configurador

Configurar
Tipo de CPU
1. clic aquí

Rangos ...

Configurar

Asignación de E/S

60
CONCEPT

Configuración para Quantum


Configuración del PLC -> I/O Map - Parámetros de Módulos

ANALOGICOS de ENTRADA >> Seleccionar el tipo de señal requerida Iniciar Concept


:
Nuevo Proyecto
(Abrir Proyecto)

Proyecto

Configurador

Configurar
Tipo de CPU
Rangos ...

Configurar

Asignación de E/S

61
CONCEPT

Configuración para Quantum


Configuración del PLC -> I/O Map - Parámetros de Módulos

ANALOGICOS de SALIDA >> Seleccionar el valor de Timeout : Iniciar Concept

Nuevo Proyecto
(Abrir Proyecto)

Proyecto

Configurador

Configurar
Tipo de CPU
Rangos ...

Configurar

Asignación de E/S

62
CONCEPT

Configuración para Quantum


Configuración del PLC -> I/O Map - Parámetros de Módulos

Seleccionar el tipo de formato necesario:


Binary = Código Binario o BCD SALIDA DIGITAL
 Seleccionar el tipo de señal
de las Salida: y el estado de
timeout:
 Binario
 BCD

 Selección Estado en
Timeout:
 Ultimo Valor
 Definido por Usuario:
Word 1 para Bit: 1 a 16
Word 2 para Bit 17 a 32

63
CONCEPT
Configuración para Quantum
Configuración del PLC -> I/O Map - Parámetros de Módulos
Ayuda del módulo seleccionado

Iniciar Concept

Nuevo Proyecto
(Abrir Proyecto)

Proyecto

Configurador

Configurar
Tipo de CPU
Rangos ...

Configurar

Asignación de E/S

64
CONCEPT

Configuración para Quantum


Configuración del PLC -> Extensiones: Ethernet, MB+,
Profibus, HSBY

 Utilización de Procesadores Profibus DP

 Ethernet MMS (NOE) con 984LL

 Ethernet I/O Scanner (NOE 771 01)

 Ethernet WEB SERVER (NOE 771 11)

 Selección de Peer Cop para MB+

 Selección de HSBY en 984LL o IEC

65
CONCEPT

Configuración del PLC

66
CONCEPT

Configuración para Compact


Configuración de PLC -> Tipos de CPU

Iniciar Concept
Realizar las siguientes
selecciones:
Nuevo Proyecto
(Abrir Proyecto)
 Familia >> COMPACT
Proyecto
 Modelo de CPU 
Configurador

 Tamaño de Memoria Configurar


Tipo de CPU
Rangos ...
 Tamaño Datos
Configurar

Asignación de E/S
 Habilitar IEC
1

67
CONCEPT

Configuración para Compact


Configuración de PLC -> I/O Map ...

Iniciar Concept

Nuevo Proyecto
(Abrir Proyecto)

Proyecto

Configurador

clic aqií
Configurar
Tipo de CPU
Rangos ...

Configurar

Asignación de E/S

68
CONCEPT

Configuración para Compact


Configuración de PLC -> I/O Map ...

Iniciar Concept

Nuevo Proyecto
(Abrir Proyecto)

clic aquí Proyecto



Configurador

Configurar
Tipo de CPU
Rangos ...

Configurar

Asignación de E/S

69
CONCEPT

Configuración para Compact


Configuración de PLC...-> Seleccionar Módulo

Seleccionar los módulos deseados Iniciar Concept

Nuevo Proyecto
(Abrir Proyecto)

Proyecto

Configurador

Configurar
Tipo de CPU
Rangos ...

Configurar

Asignación de E/S

70
CONCEPT

Configuración para Compact


Configuración de PLC -> I/O Map - Parámetros de Módulos

Iniciar Concept

Nuevo Proyecto
(Abrir Proyecto)
2. Clic aquí

Proyecto

Configurador
1. Clic aquí

Configurar
Tipo de CPU
Rangos ...

Configurar

Asignación de E/S

71
CONCEPT

Configuración para Compact


Configuración de PLC -> I/O Map - Parámetros de Módulos

Iniciar Concept

Seleccionar el tipo de entrada necesaria: Nuevo Proyecto


(Abrir Proyecto)
Binary = Código Binario o BCD
Proyecto

Configurador

Configurar
Tipo de CPU
Rangos ...

Configurar

Asignación de E/S

72
CONCEPT

Configuración para Compact


Configuración de PLC -> I/O Map - Parámetros de Módulos

 Seleccionar el tipo de señal


de las Salida: y el estado de
timeout:
 Binario
 BCD

 Selección Estado en
Timeout:
 Ultimo Valor
 Definido por Usuario:
Word 1 para Bit: 1 a 16
Word 2 para Bit 17 a 32

73
CONCEPT

Configuración para Compact


Configuración de PLC -> I/O Map - Parámetros de Módulos
Seleccionar los rangos deseados

74
CONCEPT

Configuración para Compact


Configuración de PLC -> I/O Map - Parámetros de Módulos

Seleccionar los rangos deseados

75
CONCEPT

Configurator del PLC

76
CONCEPT

Configuración para Momentum


Configurator -> Tipos de CPU

Iniciar Concept
Realizar las siguientes
selecciones:
Nuevo Proyecto
(Abrir Proyecto)
 Familia >> MOMENTUM
Proyecto
 Modelo de CPU 
Configurador
 IEC ó 984LL
Configurar
Tipo de CPU
 Tamaño Datos Rangos ...

Configurar

Asignación de E/S

77
CONCEPT

Configuración para Momentum


Configuración de PLC -> I/O Map - Local/Remoto
Para añadir E/S en el I/O Bus
(Interbus-S) Iniciar Concept

Nuevo Proyecto
(Abrir Proyecto)

Proyecto

Configurador

Configurar
Tipo de CPU
Rangos ...

Configurar

Asignación de E/S

78
CONCEPT

Configuración para Momentum


Configuración de PLC -> I/O Map - Seleccionar Módulo
Iniciar Concept

Nuevo Proyecto
(Abrir Proyecto)

Proyecto

Configurador

Configurar
Tipo de CPU
Rangos ...

Configurar

Asignación de E/S

79
CONCEPT

Configuración para Momentum


Configuración de PLC -> I/O Map - Local
clic aquí

80
CONCEPT

Configuración para Momentum


Configuración de PLC -> I/O Map - Remoto

clic aquí

81
CONCEPT

Configuración para Momentum


Configuración de PLC -> I/O Map - Parámetros

2. clic aquí
1. clic aquí

82
CONCEPT

Configurator del PLC

83
CONCEPT

Configuración para Atrium


Configurator -> Tipos de CPU

Iniciar Concept
Realizar las siguientes
selecciones:
Nuevo Proyecto
(Abrir Proyecto)
 Familia >> ATRIUM
Proyecto
 Modelo de CPU 
Configurador

 Tamaño de Memoria Configurar


Tipo de CPU
Rangos ...
 Tamaño Datos
Configurar

Asignación de E/S
 Habilitar IEC
1

84
CONCEPT

Configuración para Atrium


Configuración de PLC -> I/O Map - Interbus S

Iniciar Concept
clic aquí

Nuevo Proyecto
(Abrir Proyecto)

Proyecto

Configurador

Configurar
Tipo de CPU
Rangos ...

Configurar

Asignación de E/S

85
CONCEPT

Configuración para Atrium


Configuración de PLC -> I/O Map - Interbus S

clic aquí

86
CONCEPT

Configuración para Atrium


Configuración de PLC -> I/O Map - Interbus S

clic aquí

87
CONCEPT

Configuración para Atrium


Configuración de PLC -> I/O Map - Interbus S

3. clic aquí
1. clic aquí

2. Seleccionar
con CMD herramienta
generada
xxx .svc file

88
CONCEPT

Configuración para Atrium


Configuración de PLC -> I/O Map - Interbus S

89
CONCEPT

Configuración y Direccionamiento
E/S de Hardware y pins de FB
HW State-RAM Lista de Variables Programa
1:1 - 1:32 1:1 ON_LE
DDI FFB
... 1x/3x Tiempo1

0:1 - 0:32 0:1 MOT_LE


DDO
P ... 0x/4X
R
O
C
3:1 - 3:8 3:1 LEVEL_X
E AVI
S
... FFB
O 3x Tiempo2

4:1 - 4:4 4:1 LEVEL_Y


AVO
4x Declaración de Variables
... Direcciones Directas
Mapa Configurador Located Unlocated
E/S Rangos

90
CONCEPT

Variables

91
CONCEPT

Variables

Las Variables se pueden declarar:


 En Excel o Access e importarlas posteriormente en el Proyecto
 Seleccionando: =>Proyecto => Declaración de Variables… F8
 Durante la programación con doble clic en el pin de Entrada /
Salida de un FB: => Declaración de Variables
 Cada Variable tiene que ser asignada a un Tipo de Dato
 Variables elementales: Elementary Data Types
• BOOL, BYTE, WORD, INT, DINT, UINT, UDINT, REAL, TIME, ....
• ANY (ANY_BIT, ANY_INT, ...)
 Variables complejas: Derived Data Types:
• ARRAYs, STRUCTs

92
CONCEPT

Variables - Definición de los Data Type

 BOOL: 1 bit 0 (FALSE) ó 1 (TRUE).


 BYTE: 8 bits
No se le puede asignar un rango numérico.
 WORD:16 bits
16 bits, desde 0 a FFFF.
 INT: INTEGER
16 bits, desde ­32768 a +32767 (decimal)
 DINT: DOUBLE INTEGER
32 bits, desde ­2 exp (31) a 2 exp (31) ­1)
 UINT: UNSIGNED INTEGER
La longitud de los elementos de datos es de 16 bits. El rango de
valor para variables de este data type es desde 0 a 2 exp (16) ­1.
 UDINT: UNSIGNED DOUBLE INTEGER
La longitud de los elementos de datos es de 32 bits. El rango de
valor para variables de este data type es desde 0 a 2 exp (32) ­1.

93
CONCEPT

Variables - Definición de los Data Type

 REAL:
La longitud de los elementos de datos es de 32 bits. El rango de valor para variables
de este data type es desde 8.43E­37 a 3.36E+38.
 TIME:
La longitud de los elementos de datos es de 32 bits. El rango de valor para variables
de este data type es desde 0 a 2 exp (32) ­1. La unidad para el data type TIME es 1
ms.
 ANY (ANY_BIT, ANY_INT, ...)
”ANY” incluye los data types: ANL_IN, ANL_OUT, BOOL, BYTE, DINT, INT, REAL,
UDINT, UINT, TIME, y WORD, así como los data types derivados de ellos.
 ARRAY
Una colección de elementos de datos del mismo data type.
 STRUCT
Una colección de elementos de datos, generalmente con diferentes data types
(data types elementales y/o Derived Data Types).

94
CONCEPT

Variables - Direccionamiento

Variables (max. longitud del nombre hasta 32 caracteres)

 Unlocated
 es un nombre de tag sin dirección de hardware
 está implementada en el código  es más rápida que las Located
 Located
 es un nombre de tag con referencia de hardware (0x, 1x, 3x, 4x ó 6x)
 no está implementada en el código  no son tan rápidas como las Unlocated
 Input / Output
 estas variables sólo son utilizadas para definir pins externos de DFB
 no ocupan direcciones de referencias y son manejadas por el sistema
 Constantes
 son usadas para definir el valor de un tag, ej. pi = 3.14159265359
 no ocupan direcciones de referencias y son manejadas por el sistema.

95
CONCEPT

 Literales
 Los Literales son valores que se pueden utilizar en
programas IEC en lugar de variables
• ej. Números: -32768, …, 32767, o Tiempos: t#1ms a
t#49d17h2m47s295ms
 Se pueden cambiar Online

 Direcciones Directas
 Una dirección directa corresponde a una referencia
de hardware del PLC
• %IX00001 Bit Area - Input Bit 1
• %QX00017 Bit Area - Output Bit 17
• %IW00300 Word Area - Input Word 300
• %QW0029 Word Area - Output Word 29
 Se pueden utilizar en programas IEC

96
CONCEPT

Variables - Direccionamiento

Literal
 2-literal 2#0000000000000000 a 2#1111111111111111
 8-literal 8#0000 a 8#17777
 16-literal 16#0000 a 16#FFFF
 Int-literal -32768 a +32767
 Real-literal 123.4 3.4*10 exp(-38) a 3.4*10 exp(38)
 Real + exponent-lit. 1.234E2 3.4*10 exp(-38) a 3.4*10 exp(38)
 Bool False / 0, True / 1
 Time t#1ms a t#49d17h2m47s295ms

 Dependiendo del data type 2-,8-,16- e Int-literales pueden tener una


longitud de 16 ó 32 bits.
 Los valores de los literales pueden cambiarse ONLINE

97
CONCEPT

Variables - Direccionamiento

Direcciones directas
Cada dirección directa tiene una referencia, cuyo tipo determina si es
de entrada, que será sólo de lectura (1x / 3x) o si es de salida podrá
leerse o escribirse (0x / 4x ó 6x) desde el programa o desde un Host.
 0x = salidas de bit (salidas digitales y relés internos)
 1x = entradas de bit (entradas digitales)
 3x = registros de entrada (entradas analógicas)
 4x = registros de salida (salidas analógicas y palabras internas)
 6x = área de memoria extendida (sólo en CPU 434 y 534 de QUANTUM)

98
CONCEPT

Variables - Edición de Variables


Copia de una o más líneas del editor de variables

 Seleccionar líneas desde su Número (1ª columna)

 Esas líneas se copiaran al portapapeles pulsando CTRL+INS o


CTRL+ALT+C. Máximo de líneas a copiar: 500

 Colocar el cursor en una zona libre, pulsar SHIFT+INS o CTRL+ALT+V


para pegar las líneas copiadas

 Corregir las variables duplicadas (ej. nombres) con doble click en la


variable

 Se pueden copiar variables asociadas a referencias (located) y definir


un offset, para aumentar o disminuir la dirección (referencia asociada)

99
CONCEPT

Variables - Edición de Variables


 Creación por Copia de Variables Nuevas

Click aquí

Pegar aquí

Renombrar las nuevas variables creadas

100
CONCEPT

Variables - Edición de Variables


Ordenación por:
Nombre, Tipo de Dato,
Dirección o Usadas

Variables
Unlocated

Variables
Located

# de veces
utilizadas

Identificador Tipo de Dato

101
CONCEPT

Variables - Edición de Variables

• Este campo se obtiene con doble clic en


cualquier pin de Entrada / Salida de un FB.
• Si la lista de variables ya está creada, se
puede pulsar:  Consultar
• Las Variables no declaradas deben ser
declaradas con Declaración de Variables
• Conectar pins de FB con:
• Variables:
Unlocated, Located y constantes
Inputs / Outputs (sólo en DFB)
• Literales: 2 #, 8#, 16#, t#, int, real,
real+exp
• Direcciones directas: 0x, 1x, 3x, 4x

102
CONCEPT

Variables - Reemplazar Variables

 Dentro de una Sección, las variables seleccionadas


pueden ser reemplazadas.

 Todas las variables son reemplazables, las nuevas


variables deben ser declaradas antes de proceder al
reemplazo.

 Los símbolos ( * y ? ) están permitidos.

 Objects, Replace variable...

103
CONCEPT

Variables - Search / Paste

 Seleccionar las líneas o un bloque de líneas en la lista de variables en las


que se desea realizar la búsqueda
 Iniciar diálogo: Search/Paste
 Seleccionar “searching” por Address o Variable Name
 Entrar en el campo: Find what ... El texto a buscar
- Los caracteres ( * y ? ) están permitidos, pero no la combinación de ambos
- El ( * ) sólo está permitido al principio o final del texto
 Entrar en el campo: Replace with... El texto a pegar
Nota: El Número de ( * y ? ) en el Find what ... y Replace with... Deben ser iguales
 Entrar un Offset para la dirección de las referencias
 Pulsar Start Paste, si las variables deben crearse con confirmación
 Pulsar Paste All, si todas las variables deben crearse sin confirmación
 Pulsar Find next... , si una variable no debe ser creada

104
CONCEPT

Variables - Search / Paste

105
CONCEPT

Variables - Search / Replace

106
CONCEPT

Variables - Search / Replace

 Seleccionar las líneas o un bloque de líneas a buscar en la lista de


variables en las que se desea realizar la búsqueda
 Iniciar diálogo: Search/Replace
 Seleccionar ahora “searching” por Address o Variable Name
 Entrar en el campo: Find what ... El texto a buscar
- Los caracteres ( * y ?) Están autorizados, pero no la combinación de ambos
- El ( * ) sólo está permitido al principio o final del texto
 Entrar en el campo: Replace with... El texto a pegar
Nota: El Número de ( * y ? ) en el Find what ... y Replace with... Deben ser iguales
 Entrar un offset para la dirección de las referencias
 Pulsar Replace, si las variables deben crearse con confirmación
 Pulsar Replace All, si todas las variables deben crearse sin confirmación
 Pulsar Find next..., si una variable no debe ser creada

107
CONCEPT

Variables - Search / Replace

108
CONCEPT

Variables - Exportar/Importar
 Editor de Variables - Exportación

109
CONCEPT

Variables - Exportar/Importar
 Uso de EXCEL para la edición de Variables

110
CONCEPT

Variables - Exportar/Importar
 Editor de Variables - Importación

111
CONCEPT

Variables - Exportar/Importar
 Editor de Variables - Importación

 Importar Variables
 Importación Completa
 Importación Selectiva

 Ordenación
 Constantes
 Unlocated
 Located
 Input/Output para los DFB

 Filtrado
 Que empiecen por...
 Que contengan...

112
CONCEPT

Insert Logic:
FBD, LD
IL, ST, SFC

Description
Comments
Documentation

Save project
or
Save project as

Insert Filename
= Projectname
Recordar estas opciones cuando se
cree un Proyecto 3

113
CONCEPT

Opciones
Confirmaciones...

 Confirmar el borrado de un elemento


 Si está activada, se solicitará confirmación para el borrado de cada objeto.
 Confirmar el borrado de múltiples objetos
 Si está activada, se solicitará confirmación para el borrado de varios objeto.
(Recomendable)

114
CONCEPT

Opciones
Preajustes >> Comunes

 Seleccionar Común para abrir la ventana donde pueden hacerse varias


selecciones para salvar un proyecto, formato de las direcciones, etc.

115
CONCEPT

Opciones
Preajustes >> Editores Gráficos

 Usar el Editor Gráfico para abrir una ventana donde se pueden seleccionar
varias opciones de manejo del editor.

116
CONCEPT

Opciones
Preajustes >> Análisis

 Seleccionar Análisis para abrir una ventana donde se pueden seleccionar varias
opciones de Advertencia y Error.

117
CONCEPT

Opciones
Preajustes >> Extensions IEC ...

 Seleccionar IEC Extensions para abrir una ventana donde se pueden


seleccionar varias opciones de conformidad con IEC.

118
CONCEPT

Nueva Sección

FBD, LD
IL, ST o SFC

Nombre de
la Sección

Proyecto ->
Declaración
de Variables

119
CONCEPT

Programación
Creación de un Proyecto
1

Nueva Sección

FBD, LD
IL, ST o SFC

Nombre de
Nombre_de_Sección la Sección

Proyecto ->
Declaración
de Variables

120
CONCEPT
Programación
Sección - FBD

Límite de página
Nueva Sección

FBD, LD
IL, ST o SFC

30 Columnas Nombre de
23 Líneas la Sección

Proyecto ->
Declaración
de Variables

121
CONCEPT
Programación
Sección - LD

Nueva Sección
Límite de página
FBD, LD
Power rail IL, ST o SFC

30 Columnas Nombre de
23 Líneas la Sección

Proyecto ->
Declaración
de Variables

122
CONCEPT
Programación
Secciones - IL / ST

Nueva Sección

FBD, LD
IL, ST o SFC

Nombre de
la Sección

Proyecto ->
Declaración
de Variables

123
CONCEPT
Programación
Sección - SFC

Nueva Sección
Límite de página
FBD, LD
IL, ST o SFC

Nombre de
32 Columnas la Sección
200 Líneas

Proyecto ->
Declaración
de Variables

124
CONCEPT
Project Browser

125
CONCEPT
Project Browser - Funcionalidad
 El Project Browser permite crear grupos de Secciones, que
aumentan la transparencia, facilidad de manejo y
mantenimiento:
 Secciones
Crear, Abrir, Borrar Secciones
Modificar nombre y comentarios
Cambio del orden de ejecución
 Grupos de Secciones
Crear, Abrir, Renombrar, Borrar
Anidar grupos de Secciones
Búsqueda de Grupos / Secciones en el Project Browser
Mover Secciones y Grupos (cambio orden ejecución!)
 Acceso al Configurador
 Windows:
abrir, cerrar, minimizar/maximizar, Adaptar tamaño ventana
 Visulaización del estado Enable/Disable (animación de
estructura en árbol)
 Conmutación de estado: Enable/Disable

126
CONCEPT
Project Browser - Funcionalidad
 Creación de una Nueva Sección usando el Browser

Click
Ratón

127
CONCEPT
Project Browser - Predicción de Memoria
 Cálculo de Memoria Usada
 Por Sección

128
CONCEPT
Project Browser - Predicción de Memoria
 Cálculo de Memoria Usada
 Por Proyecto

129
CONCEPT

Function Block Diagram (FBD)

Insertar Lógica:
FBD, LD
IL, ST, SFC

Descripción
Comentarios
Documentación

Salvar proyecto
o
Salvarlo como...

Nombre Fichero =
Nombre Proyecto

130
CONCEPT

Programando en FBD - Items del Menú

131
CONCEPT

Programando en FBD - Toolbar (1)

Disminuir tamaño de visualización del programa


Aumentar tamaño de visualización del programa
Insertar los objetos del clipboard
Copiar los objetos seleccionados al clipboard
Cortar los objetos seleccionados al clipboard
Deshacer el último borrado
Conexión al PLC
Llamar al Online control panel
Buscar objetos
Crear o editar variables
Salvar cambios del proyecto actual o del archivo DDT
Abrir una Sección del Proyecto
Crear una nueva Sección del Proyecto

132
CONCEPT

Programando en FBD - Toolbar (2)

Seleccionar
Crear Link
Selección de FB
Inversión de Pin
Creación de texto
Muestra el diálogo de selección de FFB

Visualizar todas las variables seleccionadas


Visualizar todas las variables digitales (Bool)

133
CONCEPT

Programando en FBD - Elementos

 Funciones (F)
 Function Block (FB)
 Elementary Function Block (EFB)
 Derived Function Blocks (DFB)
 Abreviación General = FFB
 Macros (FFB’s, DFB’s)
 Los FFB’s están en Bibliotecas y Grupos
 Interconexión entre FB’s con:
 Links:
 Nombre de Variable: "MOT_M1"

134
CONCEPT

Programando en FBD - Elementos


 Modos de selección de FFB
 Por Bibliotecas
 Por Orden Alfabético de FB’s

Por Bibliotecas (por defecto)


Por Orden Alfabético

135
CONCEPT
Programando en FBD - Bibliotecas y Grupos

 Seleccionar la biblioteca apropiada


 Seleccionar el grupo
 Seleccionar el FB y situarlo en el
Programa

136
CONCEPT

Programando en FBD - Selección de un FB

2. Seleccionar

¿Cuántos pin
necesita?
¡Hasta 32 pins!

137
CONCEPT

Programando en FBD - Selección de un DFB

2. Seleccionar

1. click aquí

138
CONCEPT

Programando en FBD - Selección de Macro

1. 3.

2. 4.

139
CONCEPT

Programando en FBD - Sustitución de un FB

 Clic en un FB (seleccionarlo)
 Este FB puede ser reemplazado:
  Objects  Replace FFB
 Si el número y nombre de los
operandos (Data Types) son
idénticos, no se perderá ningún
objeto.

140
CONCEPT

Programando en FBD - EN/ENO Input/Output


 Doble clic en un FB, seleccionar “Show
EN/ENO”
 El FB o DFB sólo será ejecutado si
EN = 1 (Ahorra tiempo de scan)
 Si EN = 1 es copiado en ENO activando
la salida

141
CONCEPT

Programando en FBD - FBD - Forrmato

 FBI_1_1 (1) (puede ser cambiado por el usuario).


 Nombre del FB por defecto: FBI _ >> El usuario puede cambiar el nombre
 Sección: 1
 Orden de invocación: 1
 Orden de ejecución del FB: (1) Su visualización puede eliminarse
 .1.5 (3)
 Sección: 1 >> El usuario NO lo puede cambiar
 Orden de invocación: .3
 Orden de ejecución del FB: (2) Su visualización puede eliminarse

142
CONCEPT

FBD - Comentarios y Descripciones

 Los Comentarios se pueden dar en:

 Los Bloques de Función (FFB’s)

 Los Bloques de Función Derivados (DFB’s)

 En la propia Sección

143
CONCEPT

FBD - Comentarios de FB’s y DFB’s


 Doble click en el FB
 Click en ”Comentario”
 Entrar el Texto

Click aquí

144
CONCEPT

FBD - Comentario en la Sección

 Click en

 Seleccionar con el
cursor cualquier
posición de la
Sección

 Entrar el texto del


Comentario

 Mover libremente el
texto en la Sección

145
CONCEPT

Programando en FBD

Insertar Lógica:
FBD, LD
IL, ST, SFC

Descripción
Comentarios
Documentación

Salvar proyecto
o
Salvarlo como...

Nombre Fichero =
Nombre Proyecto

146
CONCEPT

Programando en FBD - Bibliotecas de Bloques

 IEC: con los grupos


Arithmetic, Bistable, Comparison,
Converter, Counter, Edge detection,
Numerical, Logic, Selection, Timer
 EXTENDED: con los grupos
Arithmetic, Converter, Counter,
Edge detection, Measurement, Selection
 SYSTEM: con los grupos
HSBY, Specials, System
 DIAGNOSIS
 ANA_IO: con los grupos
Analog IO Config, Analog IO Debug, Analog IO Scaling,
Compact IO Config, IBS, IMIO, Quantum IO Config

147
CONCEPT

Programando en FBD - Bibliotecas de Bloques

 CONT_CTL: con los grupos


CLC, CLC_PRO, Controller,
Conditioning, Mathematics,
Output processing,
Setpoint management
 FUZZY: con los grupos
Defuzzify, Fuzzify, Fuzzify,
Operators_AND, Operators_OR
 COMM: con los grupos
COMMON, IBS_NOA_PCP, MBP
 EXPERTS: con los grupos
IO Control, On Demand IO, RTU, ULEX Status
 LIB984: funciones Modsoft en formato IEC

148
CONCEPT

Programando en LD

Insertar Lógica:
FBD, LD
IL, ST, SFC

Descripción
Comentarios
Documentación

Salvar proyecto
o
Salvarlo como...

Nombre Fichero =
Nombre Proyecto

149
CONCEPT

Programando en LD - Objetos / Elementos

150
CONCEPT

Programando en LD
 Todos los contactos pueden ser conectados en serie (AND-BOOL)

 Todos los contactos pueden ser conectados en paralelo (OR-BOOL)

 Todos los contactos pueden ser conectados en paralelo y en serie

 La red debe estar conectada al “power rail”

 Los FFB's pueden ser insertados en cualquier posición

 Los FFB’s deben tener conexión al “power rail”

 Las Coils tienen que estar conectadas a contactos o a salidas de FFB

 El lado derecho y el izquierdo de una coil siempre tiene el mismo valor

 En las coils con negación o transición el valor se almacena en la variable asociada.

151
CONCEPT

Programando en LD
 En LD se pueden insertar FB’s del mismo modo que en el
editor FBD
 En LD se pueden utilizar DFB’s
 En LD se pueden insertar Macros ya creados en editor LD
 La línea de Estado visualiza el nombre de la Variable y su
Comentario
 Secciones LD con diagnósticos, asociadas a una
Transición de SFC
 Sustitución de Objetos LD
 Click en el nuevo objeto en la ”Tool bar”,
después click en el objeto a sustiuir.
 Sustitución de EFB’s
 Seleccionar los EFB a sustituir, ir al menú
Objects --> Replace FFB... Y entrar el nuevo EFB

152
CONCEPT

Programando en LD - Menus

153
CONCEPT

Programando en LD - Toolbar

154
CONCEPT

Programando en LD

 Ejemplos de LD
 Disable de Secciones

 Conexión serie (AND)

 Conexión paralela (OR)

 Circuito biestable con


entradas de pulsos

 Circuito biestable con


salidas de pulsos
 Posición ilegal de un FB
(debe tener conexión al
“power rail”)

155
CONCEPT

Programando en SFC

Insertar Lógica:
FBD, LD
IL, ST, SFC

Descripción
Comentarios
Documentación

Salvar proyecto
o
Salvarlo como...

Nombre Fichero =
Nombre Proyecto

156
CONCEPT

Programando en SFC

 ¿Qué es SFC? Sequential Function Chart

 Un Sequential Function Chart es un método gráfico


de representar un sistema de control secuencial,
utilizando una sucesión de Pasos y Transiciones.
 Cada Paso es una orden o acción que puede estar
activo o inactivo.
 El control de flujo avanza de un Paso al siguiente
cuando se cumple la condición (Transición).

157
CONCEPT

Programando en SFC

 Diagrama de representación secuencial de un proceso


 Subdivisión del proceso en pasos simples
 Actividad orientada al flujo
 Mantenimiento amigable
 Gráfico y claro
 Simplifica la resolución de problemas
 Generación de diagnósticos
 Tamaño de la sección: 32 columnas, 200 líneas
 Numeración dinámica de los pasos o personalizados
 Secciones asociadas a Transiciones
 Acciones en cada Paso

158
CONCEPT

Programando en SFC - Elementos

Step Transition Jump

S_2_1 S_2_1

Alternative Branch Parallel Branch

Alternative Joint Parallel Joint

159
CONCEPT

 Reglas - SFC

1. Una sección SFC debe tener un Paso


Inicial y sólo uno.

2. Una Transición debe seguir a un Paso.

3. Un Paso debe seguir a una Transición.

160
CONCEPT

Programando en SFC - Menu items

161
CONCEPT

Programando en SFC - Toolbar (1)

Selección
Seleccionar columna
Seleccionar fila
Creación de Step
Creación de Transition
Creación de Parallel branch
Creación de Parallel joint
Creación de Alternative branch
Creación de Alternative joint
Creación de Jump
Creación de Link

162
CONCEPT

Programando en SFC - Toolbar (2)

Creación de Texto
Animación del programa Online
Animación del panel de mando de la secuencia
Creación de estructuras Step -Transition
Creación de estructuras de paralelos
Creación de estructuras de paralelos alternativos
Creación de estructuras de Transition-Step

163
CONCEPT

Programando en SFC - Toolbar ampliación

164
CONCEPT

Programando en SFC - El Step

 Los tipos de Step son el Initial Step o Step.


 Un step está activo cuando la Transition
anterior ha sido cumplimentada
 Un step está inactivo cuando la Transition
siguiente ha sido cumplida o el Step Delay Time
ha transcurrido.
 Un tiempo de supervisión puede ser definido
para cada step.
 Para cada step se pueden declarar una o varias
acciones, especificadas por calificadores.

165
CONCEPT

Programando en SFC - Propiedades del Step

166
CONCEPT

Programando en SFC - Propiedades del Step

 Tipo de Step:
 Step o Step Inicial
 Uno y sólo un Step Inicial debe estar definido
en cada sección SFC
 El Step Inicial es el que inicia la secuencia
 Se remarca con doble trazo

167
CONCEPT

Programando en SFC - Propiedades del Step

 El nombre del Step puede ser definido por el usuario o automático


(sistema).
 La opción por defecto es el automático IEC.
 El nombre del Step debe ser único en todo el proyecto
 Longitud del nombre del Step: máximo 32 caracteres
 El nombre automático IEC del Step siempre tiene la estructura: S_n_m
 S = Indica un Step
 n = número de orden de la sección
 m = número de Step en la sección

168
CONCEPT

Programando en SFC - Propiedades del Step

 En etiquetado automático, se pueden seleccionar dos formatos: IEC (por


defecto) y Numeración Dinámica
 Para elegirlas, activar en:
  Options  Preferences Graphical Editors Dynamic numbered number of character
  Options  Preferences Graphical Editors IEC

 Estructura de la Numeración Dinámica: S_nn_sszz


 S_ = indica un alias para el Step
 nn = primeros caracteres del nombre de la sección
 _ss = número de branch de la sección
 zz = número de Step en un branch
 Los de tipo IEC en esta opción serán sobrescritos por los Dinámicos.
Para restaurarlos, cerrar el proyecto y No Salvar.

169
CONCEPT

Programando en SFC - Tiempos de Supervisión

 Máximo tiempo de supervisión:


 Si el Step está todavía activo tras este tiempo en modo de
animación habrá un bit de error y un cambio de color en el
Step
 Debe ser mayor que el mínimo tiempo de supervisión y el Step
Delay Time.
 Mínimo tiempo de supervisión:
 Si el Step está inactivo antes de que transcurra este tiempo,
en modo de animación habrá un bit de error y un cambio de
color en el Step
 Debe ser menor que el tiempo máximo de supervisión y mayor
que el Step Delay Time.

170
CONCEPT

Programando en SFC - Step Delay Time

 Step Delay Time:


 Define el tiempo de actividad del Step, tiempo en
que el Step estará activo.
 Debe ser menor que los valores máximo y
mínimo de los tiempos de supervisión.

171
CONCEPT

Programando en SFC - Propiedades del Step

 Literal (valores fijos, ej. 2m3s)


 Variable de Data type SFCSTEP_TIMES:
 seleccionar:
SFCSTEP_TIMES Variable  Variable Declaration...
 introducir el nombre de la variable  Data type
FCSTEP_TIMES Set... value  Step properties
 introducir el nombre de la variable de tipo SFCSTEP_TIMES
 En Online Learning Mode para la determinación automática de los
tiempos de supervisión.
"Animation Panel"

172
CONCEPT

Programando en SFC - Propiedades del Step


1. Clic aquí

2. Clic aquí
173
CONCEPT

Programando en SFC - Propiedades del Step

2. Entrar tiempo

1. Clic aquí

174
CONCEPT

Programando en SFC - Propiedades del Step

Entrar nombre
Nombre_de_la_Variable

175
CONCEPT

Programando en SFC - Acciones

 Una acción es una variable de salida del tipo BOOL.


 A un Step se le pueden asignar o no varias acciones.
 La declaración de una acción contiene:
 Determinación del tipo de acción
(dirección directa o variable).
 Selección de la variable con
 Lookup o  Variable declaration ... o
 Section instantiation... (ver siguiente hoja)
 Selección de  qualifiers (ver hojas siguientes)
y definición de la duración  Time como literal o variable (para los
calificadores L, D y DS)
 Introducir  New action

176
CONCEPT

Programando en SFC - Acciones

 Normalmente una señal de acción booleana tiene que estar conectada a una
sección de acción específica, p.e. con señales de enclavamientos de seguridad
 Para muchas o todas las secciones, la función lógica es igual o similar, en este
caso se recomienda crear una macro (ver FBD).
 Con  Section Instatiation... un template disponible (macros) puede ser
seleccionado y seleccionar  object name.
 Automáticamente establecerá una nueva sección de acción donde el macro es
insertado.
 Automáticamente insertará las declaraciones de variables de este macro en la
declaración de variables del proyecto actual.
 La variable proporcionada o cualquier otra variable booleana (de data type elementary
o derived) del macro puede ser usada como Variable de acción.

177
CONCEPT

Propiedades del Step - Acciones

1. Clic aquí

3. Entrar OK

3. seleccionar, OK

4. Entrar OK

178
CONCEPT

Propiedades del Step - Acciones

2. Clic aquí

179
CONCEPT

Propiedades del Step - Acciones

1. Clic aquí

180
CONCEPT

Propiedades del Step - Acciones/Cualificadores

 N, None La acción está activa (1) mientras el Step lo esté.


 S Set de la acción (1), sigue activa aún si el Step pasa a
inactivo
 R Reset de la acción (0)
 L Ejecuta la acción durante un tiempo Time limite, para
activarse luego y permanecer durante el Step
 D La acción retrasará su acción durante un tiempo definido
antes de la activación.
 P Set de la acción (1) durante un scan del programa (pulso)
 DS Delayed Set retardo de acción Set (S)

181
CONCEPT

Propiedades del Step - Diagrama Tiempo


Cualificadores
Step activo
1
Step
0

Calificador
1
N,NONE 0
1
S 0
1
R 0
1
L 0
1
D 0
1
P 0
1
DS 0

Actividad del Step

182
CONCEPT

Propiedades del Step - Variable de Step

 A cada Step se le asigna implícitamente una variable (read­only) del


data type SFCSTEP_STATE.
 Esta variable de Step tiene el nombre del Step al que ha sido asignada.
 La variable de Step puede ser usada en cualquier lugar como entrada
de FFB para conocer su estado.
 La variable de Step tiene la siguiente estructura:
 ’Stepnombre’: SFCSTEP_STATE
 t: TIME
 x: BOOL
 tminErr: BOOL
 tmaxErr: BOOL

183
CONCEPT

Propiedades del Step - Variable de Step

 Los Elementos tienen el siguiente significado:


 ’Stepnombre’.t Tiempo actual en el Step
 ’Stepnombre.x 1: Step activo
0: Step no activo
 ’Stepnombre’.tminErr 1: Violación del límite de tiempo mínimo de supervisión
0: No hay violación del límite de tiempo mínimo de supervisión

 ’Stepnombre’.tmaxErr 1: Violación del límite de tiempo máximo de supervisión


0: No hay violación del límite del tiempo mínimo de supervisión

 Ejemplo de stepnombre = STEP_1:


 STEP_1.t Tiempo actual en el STEP_1

184
CONCEPT

La Transición

 Una transición indica la condición que transfiere el control de


uno o varios Steps que preceden a la transición a uno o varios
pasos que la siguen a través del correspondiente link.

 El inicio de una transición desactiva (reset) todos los Steps


inmediatamente precedentes que están unidos a la transición y
activa todos los Steps siguientes, si ésta se cumple.

 Las transiciones que tengan Steps inmediatamente precedentes


que no estén activos no serán evaluadas.

185
CONCEPT

La Transición

 Una transición es una variable del data type


BOOL y se le puede asignar: Var_Lit_Dir
 una referencia (dirección directa)
 una variable
 un literal (0 ó 1)
 una Sección. Trans_Sect

186
CONCEPT

La Transición - Variable/Literal/Referencia

1. Selecc. aquí

2. Selecc. variable

187
CONCEPT

La Transición - La Sección de Transición

1. Selecc. aquí

 Contiene la lógica de la condición de transición y está conectada


automáticamente a la transición.

188
CONCEPT

La Transición - La Sección de Transición

 Se creará automáticamente cuando se asigne un nombre.


 Puede haber una para cada transición.
 Los lenguajes de programación son FBD, LD, IL o ST.
 El lenguaje de programación se define con el diálogo
 Options  Preferences...  common y su opción Editor type of
transition sections
 En las secciones FBD se le preasignará una FB tipo: AND_BOOL
 2 entradas
 una salida, preasignada con el nombre actual de la sección de la
transición

189
CONCEPT

La Transición - La Sección de Transición

 Si la selección hecha en el diálogo Options  Preferences... Grapical


Editors era Dynamic numbered, el diálogo Transition properties mostrará
automáticamente el alias name de la transición.

 Si se introduce un nombre específico para la sección de la transición, cada


sección de la transición puede utilizarse solo una vez.

 Si se introduce un nombre de sección que ya esté utilizado, aparecerá un


mensaje de error.

 Si la sección de la transición no es seleccionada tras su creación, se


preguntará por su eliminación . Si No, la sección de la transición se
mantendrá . Con Lookup... se obtiene una lista de todas las secciones de
transiciones no usadas.

190
CONCEPT

La Transición - La Sección de Transición


 Las secciones de las transiciones tienen una única salida, del data type
BOOL, nombre de la sección de la transición.

 Sólo una Sección, todas las funciones usadas están directamente o


indirectamente interconectadas.

 El acceso a las secciones de las transiciones es solo mediante  Edit... en


Transition properties.

 Las secciones de las transiciones no aparecen en el diálogo


Open section.

 Borrado de secciones de transiciones:


 Con Delete section... (identificada por una ”T”)!
 Borrar la transición o cambiar la opción a Variable... en las propiedades de la transición

191
CONCEPT

La Transición - La Sección de Transición

2. Clic aquí
1. Entrar nombre

192
CONCEPT

La Transición - La Sección de Transición

2. click here
1. Modificar, llenar con
funciones, links
1. enter name
....
Cerrar la sección

193
CONCEPT

El Jump (salto)

 El jump permite al programa continuar en otra


posición .
 Hay dos clases de Jumps:
el sequence jump y
el sequence loop
 No son posibles los Jumps a o desde una
parallel sequence.

194
CONCEPT

El Jump

Simple Sequence- Sequence-


Loop Loop Jump

195
CONCEPT

Alternative Branch

Alternative Branch
 La alternative branch ofrece la
programación condicional de branches
en el control de flujo de la estructura del
SFC.
 Sólo hay una branch activa.
 Prioridad Izquierda-a-derecha Alternative Joint
 Todas las alternative branch deben estar
unidas de nuevo en un único branch
usando alternative joint o Jumps.

196
CONCEPT

Alternative Branch

Ejemplo:
Alternative branch
(Secuencias alternativas)

197
CONCEPT

Parallel Branch

 Las Parallel branch dividen el proceso en dos o


más secuencias.
 Sólo se permite una transición común
directamente encima de la línea de sincronización.
 Las secuencias son procesadas en paralelo, p.e. Parallel Branch
Las secuencias son procesadas
independientemente una de la otra.
 La parallel joint combina dos o más parallel branch
para formar una branch única.
 Sólo se permite una transición común
directamente debajo de la línea de sincronización.
 Esta transición es evaluada cuando todos los Parallel Joint
pasos directamente precedentes de la transición
han sido activados.

198
CONCEPT

Parallel Branch

Ejemplo:
Parallel branch
(Secuencias paralelas)

199
CONCEPT

Elementos Combinados
Creación rápida de la estructura SFC

 Seleccionar la estructura
 Definir la dimensión,
filas/columnas

200
CONCEPT

Vista: Normal / Expandida


Vista Normal: Vista Expanded
0, 1 o 2 acciones simultáneamente
scroll para más acciones

201
CONCEPT

Manejo del SFC


 Crea una nueva sección SFC

 Crea una secuencia con elementos SFC Step (con acciones),


Transitions y Branches con la ayuda del toolbar o el menú.

 Simple o Estructura:
 Secuencia de Step-Transition
 Alternative branches estructuradas
 Parallel branches estructuradas
 Selecciona una estructura en columna (para cambiar el orden de ejecución)
 Selecciona una estructura en fila (para insertar más steps/transitions)

 Definir los tiempos de supervisión y los Step Delay como literal o


variable

202
CONCEPT

Animación de Steps
 En un PLC en Run, los datos mostrados son actualizados automáticamente.
Si pasa a Stop, el estado estático del programa es mostrado en el PLC.

Step Inactivo

Step Activo

Tiempo excedido >> variable tmaxErr.Paso = 1


Desaparece el error cuando el Step se Inactiva

Tiempo No alcanzado
Permanece el error aunque el Step se Inactive

203
CONCEPT

Animación - Time Display

 Muestra el tiempo que ha pasado desde que el Step se activó.

 El Time Display en los pasos activos se actualiza cada segundo.

 Después de que el Step esté Inactivo, el Time Display se mantiene hasta la


siguiente activación del Step.

 Cada vez que se activa el Step, el tiempo anterior es borrado y comienza


desde 0.

STEP_17

123s

204
CONCEPT

Animación de Transitions

La Sección de transición no está operativa

La transición: No cumple

La transición: Si cumple

205
CONCEPT

Panel de Animación
 El Panel de Animación permite probar el
proceso de una sección de SFC. Los Steps
pueden ser conmutados, el proceso de la
secuencia puede ser controlado
(transiciones o acciones a ser
procesadas), los errores de tiempos
pueden ser desactivados, o la secuencia
puede ser forzada al estado de inicio.

 El Panel de Animación proporciona todas


las opciones de operador disponibles en
un dialog box.

 SFC-Section animated, Online,


Animation Panel

206
CONCEPT

Panel de Animación

 Sección
 El nombre de la sección de SFC para la que se
activa el dialog box se muestra aquí.
 Parámetros seleccionables:
 SetResetFlag
 Para desactivar la secuencia se debe activar
SetResetFlag. Esto parará la secuencia y
desactivará todas las acciones. Las intervenciones
del operador no son posibles.
 Para iniciar la secuencia, hay que activar y luego
desactivar SetResetFlag. El pulso 1 > 0 desactivará
la secuencia y activa el Step Inicial.
 DisableTimeCheck
 Si se activa, no se realiza más la supervisión de los
tiempos de los Step.

207
CONCEPT

Panel de Animación

 Más Parámetros
 DisableTransitions
 Si está activado, los estados de las
transiciones no se analizan más. La
secuencia se queda en su estado actual,
independientemente de las señales en las
transiciones. La operación de la secuencia
sólo es posible con los comandos de
control SetResetFlag, StepUnconditional,
StepTransDependent.
 DisableActions
 Si está activado, no se procesan más las
acciones de los Step.

208
CONCEPT

Panel de Animación

 Operaciones
 StepUnconditional
• Independientemente del estado de la
transición, se activa el siguiente Step,
pero no hasta que el Step delay time
haya transcurrido.
• En Parallel Branches,
StepUnconditional siempre activa cada
branch
• en Alternative Branches, siempre se
activa la branch izquierda.
• Usar el StepTransDependent para la
activación de branches de forma
dependiente del proceso.

209
CONCEPT

Panel de Animación

 Más Operaciones
 StepTransDependent
 Cuando se cumpla la condición de transición, se
activará el siguiente Step.
 Sólo se recomienda su uso cuando está activo:
DisableTransitions.
 Congelando las transitions (DisableTransitions), el
StepTransDependent permite procesar
manualmente los elementos de la secuencia paso a
paso. Dependiendo de la condición de transición,
las transitions continúan.
 ResetTimeErrors
 Si está activo ResetTimeErrors, se hace reset del
display de mensajes de error del Time Supervision
en la sección SFC.

210
CONCEPT

Panel de Animación
 Más Operaciones
 ForceSelectedStep(s)
 Independientemente del estado de las Transitions y
Steps, el Step(s) seleccionado se activa.
 En Alternative Branches, sólo se puede activar un
Step.
 En Parallel Branches, se tiene que activar
exactamente un Step por Parallel Branch.

 Atención:
 ForceSelectedStep(s) no se recomienda para una búsqueda
de errores con controladores de máquinas herramienta,
procesos o sistemas de mantenimiento de materiales
mientras están en RUN.
 Al no resolverse la lógica, el controlador ignora toda la
información de las entradas. Esto puede resultar peligroso, y
provocar operaciones destructivas de las herramientas o de
los procesos que estén conectados al controlador.

211
CONCEPT

Panel de Animación

 Más Operaciones
 Learning mode ...
 Ver hojas siguientes

 Select active Step(s)


 El Step activo en este momento será
seleccionado en la sección

212
CONCEPT

Panel de Animación
Tiempos de Supervisión de Learning Mode
 El Learning Mode permite la determinación automática de tiempo
después de "Connect", "Download" y "Start" el programa:
  Online
 Animate SFC section
 Animation Panel
  Learning Mode On

  Waiting ..... (minutos, horas o días


mientras el proceso está en operación)
  Learning Mode Off
  Continue o Accept (Accept significa: se cargarán a los Steps los
valores determinados).

213
CONCEPT

Panel de Animación
Tiempos de Supervisión de Learning Mode

2. Clic aquí

Clic aquí(1+1)

214
CONCEPT

Control de la Animación - SFCCNTRL

 El bloque de función SFCCNTRL ofrece


las mismas acciones de control que
están disponibles en los comandos de
menú del Online Menú y el Animation
Panel.
SFC-SECTION

 La ejecución de una sección SFC puede SFCCNTRL


ser influenciada dependiente del BOOL RESETSFC RESEST BOOL
proceso. BOOL DISTIME TIME BOOL
BOOL DISTRANS TRANS BOOL
BOOL DISACT ACT BOOL
 El SFCCNTRL tiene que estar situado en BOOL STEPUN MODECHG BOOL
una sección que se procese antes de la BOOL STEPDEP STATECHG BOOL
sección SFC que va a ser controlada. BOOL RESETERR TIMEERR BOOL
BOOL DISRMOTE

 La asignación del SFCCNTRL a una


sección SFC se realiza mediante el
nombre de la instancia. Instance Name =
nombre de la SFC_Section

215
CONCEPT

Control de la Animación - SFCCNTRL

 Descripción de Parámetros (Entradas)


Parámetro Data Type Significado
 RESETSFC BOOL 0->1: Reset de la secuencia; 1->0: Inicio de la
secuencia estandarizado (set step inicial)
 DISTIME BOOL 1: Desconecta el control de tiempos
 DISTRANS BOOL 1: Desconecta la evaluación de las Transitions
 DISACT BOOL 1: Desconecta el procesado de las acciones y hace
reset de todas las acciones de la secuencia
 STEPUN BOOL 0->1: Activa el siguiente Step independientemente
de la transición
 STEPDEP BOOL 0->1: Activa el siguiente Step cuando se satisface la
condición de la transition

216
CONCEPT

Control de la Animación - SFCCNTRL

 Más Parámetros (Entradas)


Parámetro Data Type Significado
 RESETERR BOOL 0->1: Desconecta el display de los errores
de tiempo en la imagen Online
 DISRMOTE BOOL 1: Inhibe el control del SFC
con Parámetros de Proceso del Online
Animation Panel (SetResetFlag,
DisableTimeCheck, DisableTransition,
DisableActions). Sin embargo el SFC puede
ser controlado por el SFCCNTRL.

217
CONCEPT

Control de la Animación - SFCCNTRL

 Más Parámetros (Salidas)


Parámetros Data Type Significado

 RESET BOOL 1: La secuencia ha sido reseteada


 TIME BOOL 1: El control de tiempos ha sido desconectado
 TRANS BOOL 1: La evaluación de las transiciones ha sido desconectada
 ACT BOOL 1:El procesado de las acciones ha sido desconectado y todas
las acciones de la secuencia han sido reseteadas
 MODECHG BOOL 1: Ha cambiado el modo de operación de la secuencia
 STATECHG BOOL 1: El estado de la secuencia ha cambiado
 TIMEERR BOOL 1: Ha ocurrido un error de tiempo de supervisión

218
CONCEPT

Programando en ST

Insertar Lógica:
FBD, LD
IL, ST, SFC

Descripción
Comentarios
Documentación

Salvar proyecto
o
Salvarlo como...

Nombre Fichero =
Nombre Proyecto

219
CONCEPT

Programando en ST

 Es un lenguaje de alto nivel, similar al PASCAL.

 Ha sido desarrollado específicamente para aplicaciones de


control industrial.

 Tiene una variedad de construcciones fáciles de comprender


para asignar valores a las variables, llamar a FB’s, crear
expresiones, evaluar condiciones e iteracciones, p.e. repitiendo la
sección de código seleccionada.

220
CONCEPT

Programando en ST

 Ventajas:
 Mucho mas fácil de aprender y usar
 Formulación compacta de tareas complejas de programación
 Construcción clara de programas mediante Instruction Blocks
 Estructura potente para control del flujo de instrucciones
 Util para soluciones matemáticas complejas
 Soluciones simples a problemas difíciles en FBD, LD o IL
 Desventajas:
 No resulta familiar a muchos Ingenieros de Control
 El programa puede resultar difícil de escribir, leer y
comprender
 Un nivel alto de abstracción puede llevar a una pérdida de
eficiencia (programas largos y lentos)

221
CONCEPT

Programando en ST

 Se pueden ejecutar las siguientes operaciones:


 Lógicas, aritméticas, operaciones de comparación y localizaciones
 Instrucciones complejas y grupos de instrucciones
incondicionales/condicionales
 Declaración de funciones
 Ejecutar funciones incondicionales/condicionales

 Cada instancia de FB debe ser invocada una vez.

 Está permitida la múltiple invocación (instanciación)

 Llamada a FB: con una lista de parámetros de entrada.

222
CONCEPT

Programando en ST
Estructura
 Un programa en ST contiene statements (1 ... n).

 Un statement contiene
 expresiones (1 ... m) y
 keywords
 Una expresión contiene uno o más
 Operators con
 Operands (1 … y)
 Los Operandos admisibles son:
 Literales, todas las variables, elementos de variables de multi
elemento, salidas de FB o direcciones directas.
 Sólo se permiten como índice de acceso mediante ARRAY,
variables del data type ANY_INT.

223
CONCEPT

Programando en ST
Statements (1)
 Statements deben cerrarse con (;)
Una línea puede contener varios statements, separados por ;
 Están disponibles los siguientes statements:
 Allocations := (el resultado está siempre en el lado izquierdo)
 VAR ... END_VAR Declaración de FB's
 Function Block Calls Invocación de FB’s
 IF ... THEN ... END_IF Ejecución de statements condicionada
 ELSIF ... THEN Ejecución de statements condicionada, si la
expresión precedida no se cumple (falsa).
 ELSE ... Ejecución de statements no condicionada, si la
expresión precedida no se cumple (falsa).
 ( ... Significa condición/expresión)

224
CONCEPT

Programando en ST
Statements (2)
 CASE ... OF ... END_CASE una lista de statements con labels.
Se ejecutan si la label se cumple.
 FOR ... TO ... BY ... DO ... END_FOR
Ejecución repetitiva de statements hasta un
número dado.
 WHILE...DO...END_WHILE Ejecución repetitiva de statements hasta que
la condición precedida = 0.
 REPEAT ... UNTIL ... END_REPEAT
Ejecución repetitiva de statements hasta que
la condición sea = 0.
 EXIT Para terminar la repetición de statements
(FOR, WHILE, REPEAT) antes de que las
condiciones de finalización se cumplan.
 ( ... Significa condición/expresión)

225
CONCEPT

Programando en ST
Statements (3)
 Las siguientes keywords no se pueden usar:
 TYPE...END_TYP, VAR_INPUT...END_VAR,
 VAR_OUTPUT...END_VAR, VAR_IN_OUT...END_VAR,
 VAR_EXTERNAL...END_VAR, FUNCTION...END_FUNCTION,
 FUNCTION_BLOCK...END_FUNCTION_BLOCK,
 PROGRAM...END_PROGRAM, STEP...END_STEP,
 TRANSITION...END_TRANSITION, ACTION...END_ACTION,
 SEGMENT_SCHEDULER
 Tampoco se puede utilizar la afirmación RETURN.

226
CONCEPT

Programando en ST
Operators (1)
 Operators:
 Los Operators son genéricos, p.e. Se ajustan
automáticamente al data type del operando.
 La evaluación de una expresión consiste en la aplicación
de los Operators a los operandos en el orden definido por
la regla de precedencia de los Operators.
 El Operator con la regla de precedencia más alta en una
expresión se ejecutará primero.
 Los Operators con la misma precedencia se ejecutan de
izquierda a derecha, como se describa en la expresión.
 Este orden puede ser cambiado mediante paréntesis.

227
CONCEPT

Programando en ST
Operators (2)
Operator Operando Significado Regla de
precedencia
() Expresión Paréntesis 1 (la más alta)
FUNCNAME ANY Edición de funciones 2
(llamada)
** REAL, ANY_NUM Potencia 3
­ ANY_NUM Negación 4
NOT ANY_BIT Complemento 4
* ANY_NUM o TIME Multiplicación 5
/ ANY_NUM División 5
MOD ANY_NUM Módulo 5

También todos los operandos: Expresión, literal, variable, dirección directa

228
CONCEPT

Programando en ST
Operators (3)
Operator Operando Significado Regla de
precedencia
+ ANY_NUM o TIME Suma 6
­ ANY_NUM o TIME Resta 6
< ANY_ELEM Menor que 7
> ANY_ELEM Mayor que 7
<= ANY_ELEM Menor o igual 7
>= ANY_ELEM Mayor o igual 7
= ANY_ELEM Igualdad 8
<> ANY_ELEM Desigualdad 8
&, AND ANY_BIT AND Lógico 9
XOR ANY_BIT OR Lógico Exc. 10
OR ANY_BIT OR Lógico 11 (la más baja)

También todos los operandos: Expresión, literal, variable, dirección directa

229
CONCEPT

Programando en ST
Direct Addressing

 Entrada Salida Data Type por Defecto Tipos Posibles

%IX, %QX Bool Bool


%I %Q
%IB %QB Byte Byte
%IW %QW Int Int, Uint, Word
%ID %QD Real Real, Dint,
Udint, Time

230
CONCEPT

Programando en ST

 Al introducir keywords, separadores y comentarios,


hay una inmediata comprobación de las palabras

 Si se detecta una keyword, un separador o un


comentario, se identifica con un color.

 Si se introducen keywords (instrucciones o


operators) ilegales, se identificará también con otro
color.

 Los espacios y los tabuladores no tienen efecto en la


sintaxis, se pueden poner en cualquier lugar.

231
CONCEPT

Programando en ST
Menú items (1)

232
CONCEPT

Programando en ST
Menú items (2)

233
CONCEPT

Programando en ST
Tool bar

Comparar con FBD


Llamada de FB’s:
Declaración
Invocación
Asignación

234
CONCEPT

Programando en ST
Manejo general
 Crear o abrir una sección ST
 Escribir o elegir el statement, operator etc.:  Objects...
 Escribir o elegir el operando:  Edit  Lookup variables

 Escribir o elegir el FB:  Objects  Insert FFB o clic en


 Insertar un FB ver hoja siguiente

235
CONCEPT

Programando en ST

 Insertar FB
 Elegir FB
 Declararlo
 Invocarlo
 Asignarlo

236
CONCEPT

Programando en ST
 Usar Expand statement para completar p.e.
VAR ... END_VAR

 Usar Go to counterpart para encontrar p.e.


Segundo paréntesis ()

 Introducir los comentarios, considerar Options, Preferences

 Syntax check:  Project  Analyze Section.

 Los errores encontrados se muestran en la ventana de


mensajes.

 Doble clic en la primera línea significa:


ir a la línea con el primer error en ST.

237
CONCEPT

Programando en ST
Manejo y Syntax Check

238
CONCEPT

Programando en ST
Manejo - Generación de código
 Antes de cerrar la sección ST, ir a
 Project  Code generation options

Crea información adicional para el


diagnóstico durante la generación de código

Genera un código optimizado en Runtime

Analiza los bucles en las secciones ST e IL

239
CONCEPT

Programando en ST
Animación

Ver Selección

Inspeccionar la Selección

240
CONCEPT

Programando en ST
Animación: Inspeccionar la Selección
 Seleccionar una variable con doble clic
 ir al menú Online  Inspect Selected
 poner el cursor en cualquier posición
de la sección
 clic con el botón izquierdo del ratón
 poner el cursor en el campo amarillo
 pulsar el botón derecho del ratón
 seleccionar el modo de operación:
 Move el campo a otra posición
 Delete el campo o
 Options... ver hoja siguiente

242
CONCEPT

Programando en ST
Animación: Inspeccionar la Selección
 Seleccionar el modo de operación Options...
 introducir Minimum/Maximum
 Atención al cambio de color

243
CONCEPT

Programando en IL

Insertar Lógica:
FBD, LD
IL, ST, SFC

Descripción
Comentarios
Documentación

Salvar proyecto
o
Salvarlo como...

Nombre Fichero =
Nombre Proyecto

244
CONCEPT

Programando en IL

 Instruction List (IL) es un lenguaje textual de bajo nivel que tiene


una estructura similar al Assembler.

 La IEC ha desarrollado IL a partir de varios lenguajes de bajo nivel


ofrecidos por los fabricantes de PLC’s .

 IL proporciona un amplio rango de operadores que se encuentran


en los lenguajes de listas de instrucciones propietarios de los
PLC’s.

245
CONCEPT

Programando en IL
 Ventajas:
 La estructura básica de IL es muy simple y fácil de aprender

 Es ideal para la resolución de pequeños problemas directos


donde hay pocos puntos de decisión y un número limitado de
cambios en el flujo de ejecución del programa

 Es un código ajustado, optimizado y rápido para secciones de


ejecución crítica

 Desventajas:
 Difícil de escribir, leer y entender
 Difícil de seguir el flujo

246
CONCEPT

Programando en IL

 Con IL se pueden ejecutar las siguientes operaciones:


 lógica (AND...), aritmética (ADD...), comparaciones (GT...) operaciones y
asignaciones (ST, S, R).
 Jumps dentro de una sección incondicionales/condicionales
(JMP / JMP C, JMP CN)
 Funciones incondicionales/condicionales (CAL / CAL C, CAL CN)
 Antes de invocar un FB, tiene que ser declarado usando VAR y END_VAR.
 Cada instancia de FB debe ser invocada una vez.
 Se permite la Múltiple invocación (instanciación)
 Llamada a un FB:
 con CAL y una lista de parámetros de entrada
 con CAL y Load/Save de los parámetros de entrada
 usando los operadores de entradas.

247
CONCEPT

Programando en IL
Estructura

Instrucción
Operador: Operando:
AND Variable Acumulador:
ADD Direct Address Bit, Word ...
..... Literal

Controlador

248
CONCEPT

Programando en IL
Operadores
Operador Modificador Operando/Significado
 LD N Carga el valor del operando al Acumulador
Literal, variable, dirección directa de data type ANY

 ST N Salva el valor del Acumulador en el operando


Literal, variable, dirección directa de data type ANY

 S Pone el operando a 1 si el Acumulador contiene un 1


Literal, variable, dirección directa de data type BOOL

 R Pone el operando a 0 si el Acumulador contiene un 1


Literal, variable, dirección directa de data type BOOL

249
CONCEPT

Programando en IL
Operadores
Operador Modificador Operando/Significado
 AND N, N(, ( AND Lógico
Literal, variable, dirección directa de data type ANY_BIT
 OR N, N(, ( OR Lógico
Literal, variable, dirección directa de data type ANY_BIT
 XOR N, N(, ( OR Lógico Exclusivo
Literal, variable, dirección directa de data type ANY_BIT
 ADD ( Suma
Literal, variable, direc. directa data type ANY_NUM / TIME
 SUB ( Resta
Literal, variable, direc. directa data type ANY_NUM / TIME
 MUL ( Multiplicación
Literal, variable, direc. directa data type ANY_NUM / TIME
 DIV ( División
Literal, variable, direc. directa data type ANY_NUM / TIME

250
CONCEPT

Programando en IL
Operadores
Operador Modificador Operando/Significado
 GT ( Compare : >
Literal, variable, direc. directa data type ANY_ELEM
 GE ( Compare : >=
Literal, variable, direc. directa data type ANY_ELEM
 EQ ( Compare : =
Literal, variable, direc. directa data type ANY_ELEM
 NE ( Compare : <>
Literal, Variable, direc. directa data type ANY_ELEM
 LE ( Compare : <=
Literal, Variable, direc. directa data type ANY_ELEM
 LT ( Compare : <
Literal, Variable, direc. directa data type ANY_ELEM

251
CONCEPT

Programando en IL
Operadores
Operador Modificador Operando/Significado
 JMP C, CN Jump a una label
Label
 CAL C, CN FBNAME (nombre de instancia) Invocando un FB
 FUNCNAME Ejecutando una función
Literal, variable, dirección directa (el data type depende
de la función)
 ) Editando las operaciones de reset

252
CONCEPT

Programando en IL
Direccionamiento Directo

 Input Output Data Type Tipos posibles

%IX, %QX Bool Bool


%I %Q
%IB %QB Byte Byte
%IW %QW Int Int, Uint, Word
%ID %QD Real Real, Dint,
Udint, Time

253
CONCEPT

Programando en IL

 Al introducir las keywords, separadores y


comentarios, hay un chequeo inmediato.

 Si se detecta un keyword, un separador o un


comentario, se identifica con un color.

 Si se introducen keywords no autorizadas


(instrucciones o operadores), se identifica con otro
color también.

 Los espacios y los tabuladores no tienen efecto en la


sintaxis, pueden usarse en cualquier lugar.

254
CONCEPT

Programando en IL
Menú items (1)

255
CONCEPT

Programando en IL
Menú items (2)

256
CONCEPT

Programando en IL
Tool bar

Comparar con FBD


CAL FB’s:
Declaración
Invocación
Asignaciones

257
CONCEPT

Programando en IL
Manejo general

 Crear o abrir una sección IL


 Escribir o seleccionar el operador y modificador: 
Objects...
 Escribir o seleccionar el operador :  Edit  Lookup
variables
 Escribir o seleccionar un FB:  Objects  Insert FFB o clic
en Insertar FFB ver hoja siguiente

258
CONCEPT

Programando en IL

 Insertar FB
 Seleccionar FB
 Declararlo
 Invocarlo
 Asignarlo

259
CONCEPT

Programando en IL
Manejo general
 Usar Expand statement para completar p.e.
VAR ... END_VAR
 Usar Go to counterpart para encontrar p.e.
Segundo paréntesis ()
 Introducir los comentarios,
considerar: Options, Preferences
 Syntax Check:
 Project  Analyze Section.
 Los errores encontrados se muestran en la ventana
de mensajes.
 Doble clic en la primera línea significa:
ir a la línea con el primer error en IL.

260
CONCEPT

Programando en IL
Manejo y Syntax Check

261
CONCEPT

Programando en IL
Manejo y Generación de Código
 Antes de cerrar la sección IL, ir a
 Project  Code generation options

Crea información adicional para el


diagnóstico durante la generación de código

Genera un código optimizado en Runtime

Analiza los bucles en las secciones ST e IL

262
CONCEPT

Programando en IL
Animación

Inspeccionar lo Seleccionado

Ver Selección

Inspeccionar lo Seleccionado

263
CONCEPT

Programando en IL
Animación: Ver Selección
 Ver Selección
 Seleccionar una variable con doble clic

 Animation Selected mode o ir a


Online  Watch Selected

 Repetir para la siguiente variable

 Se mantiene abierto hasta que se


cierre manualmente o se termine la
animación

 Se puede abrir un dialog box para cada


sección

264
CONCEPT

Programando en IL
Animación: Inspeccionar lo Seleccionado
 Seleccionar una variable con un doble
clic
 ir al menú Online  Inspect Selected
 poner el cursor en cualquier posición
de la sección
 clic con el botón izquierdo del ratón
 Poner el cursor en un campo amarillo
 pulsar el botón derecho del ratón
 seleccionar el modo de operación:
 Move el campo a otra posición
 Delete el campo o
 Options... ver hoja siguiente

265
CONCEPT

Programando en IL
Animación: Inspeccionar lo Seleccionado
 Seleccionar el modo de operación Options...
 Introducir Minimum/Maximum
 Atención al cambio de color

266
CONCEPT

Herramientas

267
CONCEPT

Herramientas

 Proyecto
 Búsqueda...
 Trace...
 Buscar Siguiente
 Histórico de Búsqueda
 Referencias Usadas ...

268
CONCEPT

Herramientas
Buscar ...

269
CONCEPT

Herramientas
Buscar ...

 Buscar
 Trace
 Buscar el
Siguiente
 Histórico de
Búsqueda

270
CONCEPT

Herramientas
Trace
 Trace de una señal: Seleccionar
una variable y ejecutar  Project 
Trace. Esto abrirá la Sección
respectiva, la zona que contenga el
objeto quedando éste
seleccionado.
 Read variables son solo Trace para
usos escritura.
 Written variables son solo Trace
para lectura.
 Para buscar otros elementos de la
variable seleccionada usar la orden
de menú  Search Next o  Search
History, para ver la lista de
elementos buscados

271
CONCEPT

Herramientas
Referencias Usadas

272
CONCEPT

Documentación

273
CONCEPT

Comentarios de Sección

 Propiedades de la Sección
 Introducir los comentarios
generales de la sección.
 Cambio de nombre de la Sección

274
CONCEPT

La Documentación

Concept permite una 2


Documentación completa o Parcial
Insert Logic:
FBD, LD
 Fichero  Imprimir IL, ST, SFC

Description
Comments
Documentation

Save project
or
Save project as

Insert Filename
= Projectname

275
CONCEPT

La Documentación

Concept permite una


Documentación Completa o Parcial
 Fichero  Imprimir

276
CONCEPT

La Documentación

 Lista de Variables
 Opciones
 Seleccionar todas o las
especificadas

277
CONCEPT

La Documentación

 State RAM utilizada


 Opciones
 Selección de referencias a
imprimir

278
CONCEPT

La Documentación

 Secciones
 Seleccionar
 Consecutivas: mantener apretado el botón izquierdo del ratón y arrastrar, o bien Shift y el
botón izquierdo del ratón simultáneamente.
 Una sola: clic con el ratón
 No correlativas: CTRL y el botón izquierdo del ratón simultáneamente

279
CONCEPT

La Documentación

 Comentarios de  Secciones
 Selección de tipos de
impresión
 Escala de gráficos
 Formato de Página

280
CONCEPT

Insert Logic:
FBD, LD
IL, ST, SFC

Description
Comments
Documentation

Save project
or
Save project as

Insert Filename
= Projectname

281
CONCEPT

Guardar un Proyecto

 Sólo si se salva el proyecto por primera Insert Logic:


vez ir a Save Project as... e introducir un FBD, LD
IL, ST, SFC
nombre de Proyecto
Description
 Cuando no está creado un directorio de Comments
Documentation
planta, se puede introducir un path
completo Save project
or
 ej. C:\PLANT_DIR\project_name.PRJ Save project as

 Recomendación: No salvar el Proyecto Insert Filename


directamente en el directorio CONCEPT = Projectname

282
CONCEPT

Guardar un Proyecto

Insert Logic:
FBD, LD
IL, ST, SFC

Description
Comments
Documentation

Save project
or
Save project as

Insert Filename
= Projectname

283
CONCEPT

Guardar un Proyecto - Concept Converter


1. doble clic

Einfügen Logic:
FBD, LD
IL, ST, SFC
2. Clic aquí
Beschreibung
Kommentare
Dokumentation

Projekt speichern
or
Speichern unter ...

3. doble clic
Projekt
archivieren

4. Clic aquí
3

284
CONCEPT

Recuperar un Proyecto - Concept Converter


1. doble clic

Einfügen Logic:
FBD, LD
IL, ST, SFC

Beschreibung
Kommentare
Dokumentation

Projekt speichern
or
Speichern unter ...
2. Clic aquí

3. doble clic Projekt


restaurieren

4. Clic aquí
3

285
CONCEPT

Online:
Connect to SIM/PLC

Online:
Download, Start

Online:
Animation ...

Online:
Download Changes

End

286
CONCEPT

Conexión con el PLC

•Menu Online Online:


•Conectar Connect to SIM/PLC

Online:
Download, Start

Online:
Animation ...

Online:
Download Changes

End

287
CONCEPT

Conexión con el PLC

•Seleccionar tipo de comunicación


3

Online:
Connect to SIM/PLC

Online:
Download, Start

Online:
Animation ...

Online:
Download Changes

End

288
CONCEPT

Download y Arranque de un programa

Online:
Connect to SIM/PLC

Online:
Download, Start

Online:
Animation ...

Online:
Download Changes

End

289
CONCEPT

Start o Stop
Online Control Panel

290
CONCEPT

Online:
Conectar SIM/PLC

Online:
Upload

Proyecto
Nuevo o Existente

Online:
Proceder

Fin

291
CONCEPT

Upload de un programa

 Pasos para efectuar un Upload


Online:
 Conectarse o estar conectado con el Controlador Conectar SIM/PLC
  Online  Leer Dotación
 Seleccionar: Online:
Upload
 Configuración
 Memoria de Señal
 Ladder Logic 984 Proyecto
Nuevo o Existente
 Secciones de programa IEC (si previamente se determinó)

Online:
Proceder

Fin

292
CONCEPT

Conexión con el PLC

•Menu Online Online:


•Conectar Conectar SIM/PLC

Online:
Upload

Proyecto
Nuevo o Existente

Online:
Proceder

Fin

293
CONCEPT

Conexión con el PLC

•Seleccionar tipo de comunicación


3

Online:
Conectar SIM/PLC

Online:
Upload

Proyecto
Nuevo o Existente

Online:
Proceder

Fin

294
CONCEPT

Upload de un programa

Online:
Conectar SIM/PLC

Online:
Upload

Proyecto
Seleccionar Nuevo o Existente

Online:
Proceder

Fin

295
CONCEPT

Upload de un programa
Para poder recuperar un Proyecto en IEC, se debe seleccionar:
 Proyecto  Opciones para generación de Código
 Incluir Información de carga IEC
Ello permite activar la selección: Secciones de Programa IEC
En la ventada de Leer dotación del PLC

Seleccionar

296
CONCEPT

Start o Stop
Online Control Panel

297
CONCEPT

Online:
Connect to SIM/PLC

Online:
Download, Start

Online:
Animation ...

Online:
Download Changes

End

298
CONCEPT

Probar un Programa
Animación de secciones

Animar booleanas (sólo bits)


Online:
Connect to PLC
o

Animar selección - booleanas y palabras Online:


Download, Start
(para seleccionar todos los elementos: CTRL_A)

Online:
Parámetros de las FB’s >> Doble clic sobre la FB Animation ...

Online:
Download Changes

End

299
CONCEPT

Probar un Programa

 Parámetros de los Bloques de Función


Online:
 Ver, modificar, cargar valores iniciales y ver los valores Connect to PLC
actuales.
 Con FFB’s o DFB’s es también posible ver
Online:
 Gráficos: representación de curvas de los valores Download, Start
actuales (tendencias)
 Tuning Tool: para la optimización de los FFB’s de
Online:
control. Animation ...
 Doble clic en la FB  Advanced  Gráfico

Online:
Download Changes

End

300
CONCEPT

Probar un Programa
Parámetros de los Bloques de Función, Gráficas

2. Clic aquí
1. Doble click

301
CONCEPT
Parámetros de los Bloques de Función

Seleccionar

Seleccionar

302
CONCEPT

Parámetros de los Bloques de Función, Gráficas

303
CONCEPT

Probar un Programa
Funciones Online: RDE (Editor de Referencias)

 El editor de Referencias y Datos ofrece las siguientes


opciones para presentar, forzar y controlar variables en
modo Online: Predeterminar los valores de la variable, ver el
Estado de la variable en varios formatos, “disables/enables” Online -> Animation
de E/S y relés. 
Reference Data Editor

Online -> Animation



Online events

Online -> Animation



Controller Status

304
CONCEPT

Probar un Programa
Funciones Online: RDE (Editor de Referencias)

Online -> Animation



Reference Data Editor
aquí2x

Online -> Animation


1. Clic


Select Variable Online events

Online -> Animation



Controller Status

305
CONCEPT

Probar un Programa
Funciones Online: Online events

306
CONCEPT
Probar un Programa
Quantum PLC: Controller status

 Este menú muestra el Estado del PLC


configurado en 67 páginas diferentes. Ver las
hojas siguientes y la ayuda de Concept
"Controller status" para información Online -> Animation

detallada: Reference Data Editor
 Estado del PLC
 Estado del Hot Standby Online -> Animation
 Estado del sistema 
Online events
 Estado del procesador de E/S
 Códigos de stop del PLC
Online -> Animation
 Número de segmentos 
Controller Status
 Memoria protegida
 Estado de carga de la pila
1

307
CONCEPT
Probar un Programa
Quantum PLC: Controller status

 Si en Run/Load/Debug
 Estado de los módulos: Quantum, Compact y Momentum Online -> Animation

 Código de error de inicio de la CRP93x del Quantum Reference Data Editor
 Contador de Errores, cables A y B de la RIO
 Estado Global de los líneas A y B de la RIO Online -> Animation

 Estado de la Comunicación Online events
 Contador de errores de Comunicación RIO, cables A + B
 Estado de las E/S Distribuidas DIO Online -> Animation

Controller Status

308
CONCEPT
Probar un Programa
Quantum PLC: Controller status

Online -> Animation



Reference Data Editor

Online -> Animation



Online events

Online -> Animation



Controller Status

309
CONCEPT

Probar un Programa
Funciones Online: Memory statistics
 La pantalla muestra un resumen de la ocupación de
memoria y del tiempo de scan actual.

Online -> Animation



Memory statistics

Online -> Animation



Object information

End

310
CONCEPT

Probar un Programa
Funciones Online: Object Information
 Esta pantalla muestra los Objetos usados
en el PLC y su estado

Online -> Animation



Memory statistics

Online -> Animation



Object information

End

311
CONCEPT

Control de un programa

La pregunta es:

 ¿Cómo podemos controlar esta prioridad ?

La respuesta es:
 Usar  Objects  Reverse FFB execution order o
 usar más de una sección y definir el orden de ejecución con
  Project Browser  mover la posición de las secciones

312
CONCEPT

Orden de ejecución de los


Bloques de Función (FFB's)
 Un orden de ejecución definible de los FFB´s en una sección es un
requerimiento de muchos usuarios, pero...
 Las secuencias fijas por links son dominantes
 No hay un flujo automático de datos entre redes gráficas
 El orden de ejecución entre redes de una sección se determina
sólo por el usuario
 Objects  Reverse FFB execution order
 Comprobar cuidadosamente después el funcionamiento

313
CONCEPT

Orden de ejecución de los


Bloques de Funciones (FFB's)

 Si se intercambian (2) y (3):


 Comprobar cuidadosamente el funcionamiento

314
CONCEPT

Orden de ejecución de las Secciones

 El orden de ejecución de las Secciones se


determinará primero automáticamente,
dependiendo del orden de la secuencia de
declaración.
 En el  Project Browser ... Desplegar todas las
Secciones y seleccionar una, arrastrarla y llevarla
a la posición deseada.
 Las secciones dentro de los Grupos y éstos
mismos, pueden ser movidos hacia delante o
atrás.

315
CONCEPT

Enable/Disable de Secciones

 Para cada sección IEC (FBD, SFC, LD, IL, y ST), se crea
automáticamente una variable multi-elemento con el mismo nombre
que la sección. Esta variable permite el control orientado a eventos en
la ejecución de las secciones.
 Esta variable es del data type SECT_CTRL y su único elemento es
”disable” del data type BOOL.
 Este elemento puede ser usado para enable/disable la sección. La
sección respectiva será ejecutada cuando la variable multi-elemento no
se utilice, o bien cuando al elemento ”disable” se le asigne el valor ”0”.
 La sección respectiva no será ejecutada cuando al elemento ”disable”
se le asigne el valor ”1”.
 Variable name = section.disable

316
CONCEPT

Optimizar un proyecto

 El “Download” de las modificaciones crea huecos en la memoria de


programa del PLC
 La orden de menú  Optimize project... Reorganiza los datos del
programa eliminando los huecos
 Cómo esta operación sólo se puede realizar Offline, el PLC debe por
lo tanto estar stopped y downloaded de nuevo
 Se recomienda hacer  Optimize project... al final de modificar el
programa, de esta forma se mejora el rendimiento total y se minimiza
el consumo de memoria
  File  Close project...,  Optimize project...,  Select project 
Start,  Open project Online, Download...

317
CONCEPT

Preselección de la fecha y hora del PLC

 Fecha y hora:
 Project PLC-Configurations  Specials y activar el check
box Time Of Day con una cruz e introducir una dirección de
registro. Se reservan 8 registros para fecha y hora.

 El PLC debe estar en RUN, entonces seleccionar fecha y hora:

 Online  connect Online control panel  Set clock. Ahora


se puede actualizar la fecha y hora.

318
CONCEPT

Simulación del PLC


 Dos simuladores de PLC
 Permite realizar las pruebas Online del programa de 3
usuario en IEC (FBD, SFC, LD, IL y ST) sin conectarse a
ningún PLC.
Online:
 SIM (16 Bit) Connect to SIM

 Simula un PLC conectado vía Modbus Plus.


 Este simulador está disponible bajo , Online:
Windows 95 / 98, NT y 2000. Download, Start

 PLCSIM32 (32 Bit)


Online:
 Simula un PLC (todas las plataformas) conectado vía
Animation ...
TCP/IP, incluye la simulación del estado de las señales
de los módulos I/O. Hasta 5 unidades de programación
pueden estar conectadas al PLC simulando al mismo Online:
tiempo. Download Changes

 Este simulador solo está disponible bajo


Windows 98, NT y 2000. End

319
CONCEPT

Simulación del PLC


 Seleccionar menú “ Online”
 Connect al PLC
3
 Seleccionar: IEC Simulator (32 Bit)
 Download configuración y programa
Online:
Connect to SIM

Seleccionar tipo de CPU Online:


Download, Start

Online:
Animation ...

Online:
Download Changes

End

320
CONCEPT

Simulación del PLC

CPU Status Seleccionar tipo 3


de CPU

Online:
Botón Izquierdo Connect to SIM
Botón Izquierdo del ratón : del ratón :
Seleccionar grupo 16 bit input Cambiar valores de
Input, Output,
Online:
Botón Izquierdo del ratón : valores de los
Download, Start
Seleccionar grupo 16 bit output registros

Botón Izquierdo del ratón : Online:


Seleccionar dirección del Animation ...
registro
Botón Derecho del ratón :
Seleccionar valor del
rango, formato Online:
Download Changes

End

321
CONCEPT

Simulación del PLC

Online:
Connect to SIM

Online:
Download, Start
Botón Izquierdo
del ratón :
Cambiar valores
Online:
Animation ...

Botón Derecho del ratón : Online:


Cambiar formato Download Changes

End

322
CONCEPT

Simulación del PLC


Módulos de E/S
(Bastidor Central) 3

Online:
Connect to SIM

Online:
Download, Start

Online:
Animation ...

Online:
Download Changes

End

323
CONCEPT

324
CONCEPT

El DFB
 Un DFB representa una lógica definida por el
usuario en la forma definida por él, será una
function block, con pins de salidas y entradas
definidas por el propio usuario.
 Soporta 32 pins de entradas y 32 de salidas
(Posición 1 ... 32 para lado izquierdo y derecho)
 Las variables son locales para el DFB.....
 Se crea con el Concept DFB, usando lenguaje FBD,
LD, IL o ST del sistema de programación
 Los DFB se crean mediante el Concept DFB y tienen
la extensión .dfb
 En Concept representa la invocación de un tipo de
derived function block
 Las invocaciones de DFB se distinguen por mostrar
dobles líneas verticales
 Un DFB soporta valores iniciales y pins sin conectar

325
CONCEPT

El DFB

326
CONCEPT

El DFB

 Se hace el Download sólo una vez,


independientemente del número de
invocaciones
 permite visualización Online cada
invocación

327
CONCEPT

Crear un DFB
Secuencia de Ingeniería
Start 1 2 3

Save DFB
Project -> Variable
Close Concept New Section or
Declaration
Save DFB as Manejo de
Concept DFB:
igual que Concept
Start FBD, LD Insert Logic: Insert Filename
Concept DFB IL or ST FBD, LD, IL, ST = DFB name
Excepciones:
ver hojas siguientes.
Section Select path
New DFB Section name Description to store
(es Helptext!) Local or Global

End
1 2 3

328
CONCEPT

DFB y las Variables

Project -> Variable


Declaration

Insert Logic:
FBD, LD, IL, ST

Section
Description
(is Helptext!)

329
CONCEPT

DFB y las Variables


El direccionamiento
2

 Variables Unlocated:
para uso interno del DFB Project -> Variable
Declaration
 Variables Located: No son posibles

 Input /Ooutput (Unlocated) Insert Logic:


 estas variables son usadas sólo FBD, LD, IL, ST
para definir los pins externos de
los DFB’s
 no ocupan direcciones de
referencias y las maneja el Section
sistema. Description
(is Helptext!)
 Constantes: para uso interno del DFB
 Literales: para uso interno del DFB 3

330
CONCEPT

DFB y las Variables


Variable Editor, Input

Project -> Variable


Declaration

Insert Logic:
FBD, LD, IL, ST

Section
Description
(is Helptext!)

331
CONCEPT

DFB y las Variables


Variable Editor, Output

Project -> Variable


Declaration

Insert Logic:
FBD, LD, IL, ST

Section
Description
(is Helptext!)

332
CONCEPT

DFB
Programar, Guardar ...
2 3

Save DFB
Project -> Variable
or
Declaration
Save DFB as

Insert Logic: Insert Filename


FBD, LD, IL, ST = DFB name

Section Select path


Description to store
(is Helptext!) Local or Global

End
3

333
CONCEPT

DFB
Programar
2

 El mismo manejo que el Concept Project -> Variable


Declaration
 Todos los Elementos y Objetos
específicos del lenguaje actual de
programación pueden ser utilizados
Insert Logic:
 FBD, LD, IL o ST FBD, LD, IL, ST

 Se pueden crear varias Secciones


Section
 Pueden ser con distintos editores Description
(is Helptext!)

334
CONCEPT

DFB
Save como global DFB
 Concept distingue entre DFB’s globales y locales:
 Globales pueden ser usados en todos los proyectos y en
3
todos los DFB.
 Los DFB’s globales tienen que guardarse en
Save DFB
x:\concept\dfb or
Save DFB as

Insert Filename
= DFB name

Select path
to store
Local or Global

End

335
CONCEPT

DFB
Save como local DFB
 Locales pueden ser usados sólo por los proyectos salvados en
el mismo directorio de proyecto y en sus DFB’s locales 3
 Los DFB’s locales tienen que guardarse en
x:\project\dfb. Save DFB
or
Save DFB as

Insert Filename
= DFB name

Select path
to store
Local or Global

End

336
CONCEPT

DFB
Invocación de DFB
Start

Close
Concept DFB

Start
Concept

New or Open
Project and Section

Insert Logic:
FBD, LD
IL, ST, SFC

337
CONCEPT

Invocación de DFB
Selección de DFB’s

Start

Close
Concept DFB

1. Clic aquí
Start
Concept

New or Open
Project and Section
2. Clic aquí

Insert DFB:
FBD, LD
IL, ST, SFC

338
CONCEPT

Invocación de DFB
Selección de DFB’s

Start

Close
Concept DFB

Start
Concept

New or Open
Project and Section
selecc. aquí

Insert DFB:
FBD, LD
IL, ST, SFC

339
CONCEPT

DFB
Testing
1

Online:
Connect to PLC

Online:
Download, Start

Online:
Animation ...

Online:
Download Changes
 Probar un DFB, como un FB
 Para modificar el DFB ir a: Concept DFB End

340
CONCEPT

DFB
Verificación de un DFB

 Crea un DFB con sólo una Sección


 Los DFB se crean mediante el Concept DFB y tienen la
extensión .dfb
 Guarda el DFB en C:\concept\dfb con un nombre de
proyecto
 Insertar el DFB creado en un proyecto de Concept
 Abrir Sección
 Invocar DFB en librería DFB

 Hacer Download y probar el nuevo proyecto

341
CONCEPT

Modificación de un DFB

Start 1

Modify
Close Concept Project -> Variable
Declaration

Start Modify Logic:


Concept DFB FBD, LD, IL, ST

Open DFB
Save DFB
open Section

1 End

342
CONCEPT

Modificación de un DFB

 Si se modifica un DFB hay que recordar que todas las


invocaciones en todos los proyectos que utilicen este DFB serán
modificadas a no ser que sean guardados como DFB locales; en
ese caso solo serán modificadas las invocaciones locales.

 Concept diferencia entre 4 tipos de modificaciones


 DFB cuyo interface ha sido modificado
 DFB modificado internamente
 DFB duplicado existe local, global o en el directorio del proyecto
 DFB no existe local, global ni en el directorio del proyecto

343
CONCEPT

Modificación de un DFB

 DFB no existe local,


global ni en el
directorio del
proyecto

344
CONCEPT

El Macro

345
CONCEPT

El Macro
Características
 Los Macros se usan para duplicar secciones y networks
que se usan a menudo (incluyendo su lógica, variables y
declaración de variables) con nombres de variables
modificados.

 Los Macros pueden contener cualquier programa complejo,


incluyendo la declaración de variables y la llamada de DFBs existentes
 Las reglas de programación, los FFBs y DFBs disponibles y el orden
de ejecución de la lógica corresponden en su mayoría con las de
programación de FBD.
 Los Macros se crean mediante el Concept DFB software y tienen la
extensión .mac

346
CONCEPT

El Macro
Características
 Los Macros solo pueden ser creados en el lenguaje FBD o LD
 Los Macros contienen sólo una sección
 La declaración de variables, incluyendo valores iniciales, y las
estructuras de datos son locales
 El nombre de la sección, los nombres de las variables y
la estructura de los datos deben tener el carácter @x
como un marcador de intercambio.
 Un Macro insertado en una sección de Concept no es diferente de
una sección creada convencionalmente.
 Las variables declaradas en el Macro se aceptan automáticamente
 Es posible la múltiple instanciación del Macro en el programa con
diferentes variables

347
CONCEPT

El Macro
Secuencia de Ingeniería
Start 1 2 3

Save .mac
Project -> Variable
Close Concept New Section or
Declaration
Save .MAC as

Manejo de
Start
FBD
Insert Logic: Insert Filename Concept DFB
Concept DFB FBD = MAC name
para Macros:
igual que Concept!
Select path
Description
New .MAC Section name to store
Comments
Local or Global

End
1 2 3

348
CONCEPT

El Macro
Variable Editor

Project -> Variable


Declaration

Insert Logic:
FBD

Description
Comments

349
CONCEPT
Caracteres
El Macro utilizables en la
declaración de
Variable Editor variables
sustituibles en la
invocación del
Macro
@0
@1 2
@2
@3
@4
@5 Project -> Variable
@6 Declaration
@7
@8
@9

Insert Logic:
FBD

Description
Comments

350
CONCEPT

El Macro
Programar, Guardar

Project -> Variable


Declaration

Insert Logic:
FBD

Description
 Pueden utilizarse todos los Elementos y Comments

Objetos específicos del programa actual


3

351
CONCEPT

El Macro
Programar

Project -> Variable


Declaration

Insert Logic:
FBD

Description
Comments

352
CONCEPT

El Macro
Salvar como Global
 Concept distingue entre Macros locales y globales:
 Global Macros pueden ser usados in cada proyecto y en cada
3
macro.
 Los Global Macros deben ser guardadosen x:\concept\dfb
Save .mac
or
Save .MAC as

Insert Filename
= MAC name

Select path
to store
Local or Global

End

353
CONCEPT

El Macro
Salvar como Local
 Local Macros pueden ser usados solo por los proyectos
guardados en el mismo directorio y por los macros locales
3
 Local Macros deben ser guardados en x:\project\dfb.

Save .mac
or
Save .MAC as

Insert Filename
= MAC name

Select path
to store
Local or Global

End

354
CONCEPT

El Macro
Invocación
Start

Close
Concept DFB

Start
Concept

New or Open
Project and Section

Insert Macro:
FBD, SFC

355
CONCEPT

El Macro
Invocación en Secciones FBD

2.
1.

356
CONCEPT

El Macro
Invocación en Secciones FBD

4.
3.

357
CONCEPT

Importación/Exportación IEC

358
CONCEPT

Importación/Exportación IEC
 Export / Import cubre: Programas IEC, Variables y Secciones

 Export: Concept Project ----> Export File

 Import: Import File ----> Concept Project

 Los archivos Exportados e Importados pueden ser creados o


editados con cualquier otro editor.

 Hay que prestar atención a las reglas especiales de Export / Import

 Aparecerán Warnings en la ventana de mensajes.

359
CONCEPT

Importación/Exportación IEC

 La Importación permite traer Variables de un archivo Excel /


Access a Concept, programas IEC p.e. archivos IL (Instruction
List) o archivos ST (Structured Text) a secciones FBD o SFC y
Secciones de otros Proyectos

 La Exportación permite llevar Variables desde Concept y ponerlas


en un archivo Excel / Access o programas IEC, p.e. Secciones
FBD y SFC a IL (Instruction List) o ST (Structured Text), también
permite exportar Secciones de otros Proyectos

360
CONCEPT

Importación/Exportación IEC

 Si aparecen errores o advertencias durante el


Import/Export, aparecerán en la ventana de mensajes.

 Con un doble clic en el mensaje de error o advertencia de


la ventana de mensajes, se abre un editor que muestra el
texto origen e identifica la línea que causó la advertencia
o el mensaje de error.

361
CONCEPT

Importación/Exportación IEC

 Los siguientes archivos (formatos de


archivos) pueden ser importados:
 Variables
 Text delimitado Excel/Access
 Factory Link (archivos de exportación
desde Factory Link)
 Lenguajes de Programación
 texto IEC
 lenguajes IEC IL y ST, también los que
contengan SFC
 Secciones de Proyectos
Nota: Sólo los programas IL y ST que hayan mostrado capacidad
en SFC o FBD pueden ser importados

362
CONCEPT

Importación IEC
Conversión en FBD - Restricciones
 La conversión en FBD tiene las siguientes restricciones:
 no hay Jumps (Tabla 52, Característica 18)
 no hay Conditional Block Calls
 no hay Explicit Block Calls
 no hay Input Operators
 sólo Allocations & Block Calls, pero no
 RETURN, ELSIF
 CASE, FOR
 WHILE, REPEAT
 EXIT
 IF si no está anidado

363
CONCEPT

Exportación IEC
 Los siguientes archivos
(formatos de archivos)
pueden ser exportados:
 Variables
 Texto delimitado
 Factory Link (archivos de
importación para Factory
Link)
 ModLink
 Lenguajes de Programación
 texto IEC (Exportar a
lenguajes IEC IL y ST)
 Secciones de un Proyecto

364
CONCEPT

IEC Derived Data Types (DDT)

365
CONCEPT

IEC Derived Data Types (DDT)


 DDT = Derived Data Type

 Derived Data Types, aglutinan varios tipos de datos elementales (BOOL,


WORD, ...) en un conjunto de datos.

 Grupos de Data Types elementales usados frecuentemente (y también


DDT's) pueden ser definidos por el usuario como DDT.

 En los DFB’s y EFB’s, pueden aparecer como sólo una conexión, una
entrada es necesaria en el FB.

 En principio no hay ninguna restricción en el número de niveles


jerárquicos de los Data Type.

 Los DDT’s mejoran la visión de conjunto de la aplicación

366
CONCEPT

IEC Derived Data Types (DDT)

• Abrir fichero en CONCEPT

•Seleccionar directorio DFB, local o Global

•Seleccionar extensión DTY

367
CONCEPT

IEC Derived Data Types (DDT)

 Varios datos de igual Data Type han de ser


transmitidos desde DFB-X1 a DFB-Y1.

BOOL

BOOL
DFB-X1 DFB-Y1
BOOL

BOOL

Resumido como Variable Simple


= ARRAY

368
CONCEPT

IEC Derived Data Types (DDT)

Nombre del DDT: MOT_LE


DFB-X1 DFB-Y1

 Variable simple
 Derived Data Type, el cual resume Data Types iguales.
 Se declara con el keyword: ARRAY

 TYPE
MOT_LE: ARRAY [0..3] OF BOOL
END_TYPE

369
CONCEPT

IEC Derived Data Types (DDT)

 Varios datos de diferentes Data Types han de ser


transmitidos desde DFB-X2 a DFB-Y2

BOOL

BOOL
DFB-X2 DFB-Y2
TIME

INT

Resumido como Variable Estructura


= STRUCT

370
CONCEPT

IEC Derived Data Types (DDT)

Nombre del DDT: MOT_RI


DFB-X2 DFB-Y2

 Variable Esructura
 Derived Data Type, el cual aglutina diferentes tipos de datos.
 Se declara con el keyword: STRUCT
 TYPE
MOT_RI: STRUCT
VAR_1: BOOL;
VAR_2: BOOL;
VAR_3: TIME; (* Comentario *)
VAR_4: INT;
END_STRUCT;
END_TYPE

371
CONCEPT

IEC Derived Data Types (DDT)

 Variable común (keyword: ARRAY)


 Derived Data Type, el cual resume data types iguales.

 Variable Estructura (keyword: STRUCT)


 Derived data type, el cual resume data types diferentes
(elementary y derived data types).

 Variable Multi-Elemento
 Variables de un derived data type el cual es definido
utilizando los keywords ARRAY o STRUCT (Variable con el
data type asignado DDT).
 Se diferencia entre variables de array y structured.

372
CONCEPT

IEC Derived Data Types (DDT)


Elementos del Datatype Editor
 Keywords:
 TYPE END_TYPE inicio/fin de la definición del Data type
 STRUCT END_STRUCT inicio/fin de los elementos DDT
 ARRAY varios elementos consecutivos de igual data types
 Data types Nombres de data types definidos acabados en " ; "
 Nombre: Nombres de derived data types y elementos,
max. 24 caracteres acabados con el separador " : "
 Separador:
 : fin del nombre
 ; fin de la instrucción
 [ ] contiene el rango de entrada del keyword: ARRAY.
 . . Separa el inicio y el fin del rango del keyword:
ARRAY
 Comentario: (* < inicio,... Comentarios..., fin > *)

373
CONCEPT

IEC Derived Data Types (DDT)

Ejemplo: DDT de SFCSTEP_STATE:

 La declaración de los DDT's se hace con el data type editor:


 Se activa el DDT-Editor con:
  File,  Open,  name.DTY
 Para la introducción todas las características estándar de WINDOW’s
y otros comandos están disponibles (ver User Guide).

374
CONCEPT

IEC Derived Data Types (DDT)


DDT’s Globales y locales
 Concept distingue entre DDTs locales y globales.

 Global DDT pueden ser usados en todos los proyectos (Concept) o en todos los
DFB (Concept DFB). Los Global Derived Data Types deben ser guardados en el
sub­directorio DFB del directorio Concept (x:\concept\dfb\nombre.dty).

 Local DDT son sólo reconocidos en el contexto de un proyecto o en sus DFB’s


locales y solo puede ser usado allí. Los Local Derived Data Types deben ser
guardados en el sub­directorio DFB del proyecto (x:\...\project\dfb\nombre.dty).

 Concept sólo soporta un único archivo de local data type para cada proyecto y
sólo un único archivo de global data type file para todos los proyectos.

 Para asegurar la correspondencia entre la unidad de programación y el PLC, el


proyecto que contenga uno de los derived data types debe ser cargado al PLC
cada vez que uno de estos archivos es editado.

375
CONCEPT

IEC Derived Data Types (DDT)


Llamada a los DDT’s
 El nombre de los DDT’s aparece automáticamente en el
Variable editor bajo data type.
 Asignación de un elemento de una variable Multi Elemento:
 en FBD con FB connect
 en SFC con Step properties
 fieldname[elemnr] o varname.elemname
 Ejemplo1:
 TYPE
MOT_LE: ARRAY [1..4] OF BOOL;
 END_TYPE
 Nombre de la variable de multi elemento: MOTOR1_ON de tipo
MOT_LE
 Nombre de la variable: MOTOR1_ON[2]

376
CONCEPT

IEC Derived Data Types (DDT)


Llamada a los DDT’s
 Ejemplo 2:
 TYPE
MOT_RI:
STRUCT
CONTR:ARRAY [0..2] OF BOOL;
AV_TIME: TIME;
SV_RPM:INT;
END_STRUCT; END_TYPE
 Nombre de la variable de multi elemento MOTOR1_OFF de tipo MOT_RI:
 Nombre de la variable: MOTOR1_OFF.CONTR[2]
 Nombre de la variable : MOTOR1_OFF.AV_TIME

377
CONCEPT

IEC Derived Data Types (DDT)


Llamada a los DDT’s

Variable Editor

378
CONCEPT

Quantum

 Introducción, Visión general


 Instalación del Hardware
 Secuencia de Ingeniería

379
CONCEPT

IEC Hot Standby

 ¿Por qué IEC Hot Standby?


 Cuando el proceso a controlar requiere
un alto grado de disponibilidad
 ¿Cómo?
 Con redundancia: Bus y de PLC
 Redundancia de PLC = IEC Hot Standby
 ¿Qué es IEC Hot Standby?
 Dos CPU’s sincronizadas
 una CPU es Primaria (activa),
la otra CPU es Standby (no activa):
Si la CPU Primary falla, la ejecución del programa será
tomada sin interrupción por la CPU Standby

380
CONCEPT

Altos Grados de Disponibilidad


 Los requerimientos de disponibilidad en un control de procesos se
estructura en tres grupos objetivos:

 Seguridad & disponibilidad técnica

 Protección ambiental, protección de la salud y seguridad en el


trabajo definidos por condiciones y leyes.

 Disponibilidad del proceso

 Calidad de producción, protección de la planta y del sistema

 Calidad Logística

 Rapidez de entrega, costes de producción

381
CONCEPT

Altos Grados de Disponibilidad


Requerimientos: Redundancia del Sistema

 Redundancia del sistema para estaciones de operador y


control del proceso:
Si una estación falla, no afecta a la planta.

 Medida y control continuos


 Históricos y alarmas continuos
 La comunicación entre estaciones y el sistema son continuos
 La operación y monitorización son continuos
 Hay conmutación sin interrupciones en cualquier momento

382
CONCEPT

Altos Grados de Disponibilidad


Requerimientos: Redundancia del entorno de proceso

 Redundancia del entorno de proceso (parcial) para


componentes del entorno-proceso:

Si una estación falla y las reservas del proceso pueden


utilizarse, se aceptan efectos limitados en la planta durante
un tiempo calculable.
 Medida y control restringidos, sólo cuando sea necesario
 No hay históricos
 Alarmas restringidas
 Comunicación restringida
 Mando y monitorización restringidas
 Hay conmutación sin interrupciones en cualquier momento

383
CONCEPT

Quantum: IEC Hot Standby

384
CONCEPT

Configuración del Hardware


1 1 1 9 1 9 1 9 1 9 1 9
2 2 2 10 2 10 2 10 2 10 2 10
3 3 3 11 3 11 3 11 3 11 3 11
4 4 4 12 4 12 4 12 4 12 4 12
5 5 5 13 5 13 5 13 5 13 5 13
6 6 6 14 6 14 6 14 6 14 6 14
7 7 7 15 7 15 7 15 7 15 7 15
8 8 8 16 8 16 8 16 8 16 8 16

C C C C N C N
P P R H O P O
S U P S M S E
 Debe duplicarse en Redundancia
 NOM, NOE, CPS son opcionales

385
CONCEPT

Soportado por todos los


Controladores Quantum
140 140 140 140 140 140
CPU 113 02 CPU 113 03 CPU 213 04 CPU 424 02 CPU 213 04 CPU 424 02
CONTROLLER CONTROLLER CONTROLLER CONTROLLER CONTROLLER CONTROLLER

CPU 424 02

CPU 534 14
CPU 113 03

CPU 213 04

CPU 434 12
CPU 113 02

Controladores redundantes en IEC: CPU 434 12A / 534 14A

386
CONCEPT

Arquitectura del Sistema Redundante


 Controladores y Opciones Redundantes
 MB+ y Procesadores de E/S remotas
 F. de A. Redundantes
 Disponibles para CPU’s y E/S remotas
 Cableado Redundante de E/S
 Unión de Procesadores CHS en F. O.

SPLITTER
Cable Coax TAP TAP Red RIO S908 de
E/S Remotas

UNION CHS EN F. O.

387
CONCEPT
Características de la CHS11000
 Opción de alojamiento único

 LED’s de Indicación de Estado


 Llave de Selección de Operación
 Botón de Update
 Selector de inicio A o B
 Las dos CHS deben tener distinta
selección de lo contrario no arranca

A
Selector de Designación: Poner una CPU en A y la otra en B
B
Update Update Button: pulsar simultáneamente con selector en Xfer!

388
CONCEPT
Quantum: IEC Hot Standby: CHS 110
LED Display

Indicador Color Significado


 Ready Verde Si está fijo, se está alimentando el módulo y ha
superado los tests iniciales internos de diagnóstico.
Si parpadea, tiene error de hardware.
 Com Act Verde Si está fijo, los módulos CHS 110 se están
comunicando. Si parpadean, se ha detectado error.
 Primary Verde El módulo soporta al controlador Primario.
 Com Err Rojo El módulo está reintentando las comunicaciones o se
ha detectado un fallo de éstas.
 Standby Ambar Si está fijo, el módulo está en Standby,
preparado para asumir el papel de Primario
en caso de fallo.
Si parpadea, está en proceso de transferencia (Update).

389
CONCEPT

IEC Hot Standby


 No requiere programación
 Visualización directa, para una rápida puesta en marcha y mantenimiento
• Se selecciona como parte de la configuración del PLC
• Lógica de control y configuración separadas de la CHS
• No necesita manejo de bits en palabras/registros para su mando

 Conexión en Fibra Optica entre dos módulos CHS 110

Transmit Transmit  Conexión por F. O.


 Fácil conexion y mantenimiento
Receive Receive
 Kit estándar con 3 m de F.O.
 Longitud máxima hasta
1Km sin repetidor
Cable de Fibra

Selector de Designación : A Selector de Designación : B

390
CONCEPT

Operatibilidad del Hot Standby en IEC


 Sólo programación con editores IEC, no admite 984 LL
 Para situar el Standby “on-line”
 Execs iguales en los controladores Primario y Standby
 Proyectos iguales e igualdad de la aplicación IEC entre el Primario y el
Standby
 Se permiten cambios On-line en el Primario
 El controlador en Standby puede seguir “On-line” poniendo a 1 el bit
(13) “Logic Mismatch Bit” del Command Register
 Cambios “On-line” en el Primario pueden incluir
 Añadir nuevas Secciones
 Añadir DFB’s, previamente probados en oficina
 Actualmente es posible cargar una nueva versión de la aplicación al
Standby pasarlo a “On-line” y transferir el control como nuevo
Primario
 Actualización del Exec - Executive Upgrade Bit (12) del Command
Register
 El proceso puede seguir en funcionamiento
 El Exec del Primario y Standby se deben actualizan individualmente

391
CONCEPT
Arquitectura de transferencia de la State RAM

1 SCAN

IEC Logic solve Comm Diag IEC Logic solve Comm Diag IE
CPU
State RAM & IEC Heap Data
download request
128k 128k 128k
CHS
Primario
128k byte data State RAM &
transfer buffer IEC Heap
download
128k 128k
CHS
State RAM & IEC Heap
download
Diag Comm Diag Comm Diag
CPU
Standby
1 SCAN

392
CONCEPT
IEC Hot Standby Secuencia de Ingeniería
 Proceder a seleccionar la CPU de QUANTUM

393
CONCEPT
IEC Hot Standby Secuencia de Ingeniería
 Proceder a seleccionar en la configuración: Hot Standby

394
CONCEPT
IEC Hot Standby Secuencia de Ingeniería
 Definir una cantidad de memoria en IEC Hot StandBy Data
sobre 10 000 (< 100 %)

395
CONCEPT
IEC Hot Standby Secuencia de Ingeniería
 Proceder a definir: Command Register
Non Transfer Area Registers

396
CONCEPT
IEC Hot Standby
Command Register & Non Transfer Area
 El Command Register, es el que se define en
el campo superior, debe situarse fuera de la
Non Transfer Area.

 Non Transfer Area empieza en el registro


40050, como se define en el campo inferior. La
longitud sería de 10 registros, como se define
en el campo siguiente. Así pues, el último
registro de la Non Transfer Area será el 40059.

 El Status Register será el registro 40052, el


tercero de la Non Transfer Area.

Ninguno de los registros definidos en los campos


anteriores deben estar utilizados en otro lugar.

397
CONCEPT

IEC Hot Standby Command Register


No duplicar las direcciones!

398
CONCEPT

IEC Hot Standby Status Register


de la Non Transfer Area
 El Status Register requiere una:
Non Transfer Area

Dirección: 4xn + 2
n = 1ª Dirección de la
Non Transfer Area

399
CONCEPT

IEC Hot Standby


Non Transfer Area
 Es una herramienta para reducir el tiempo de ciclo (Scan)

 Está localizada enteramente dentro del rango de registros 4x


en el Transfer Area del state RAM y que son transferidos en
cada ciclo.
 consiste en un bloque de cuatro o más registros 4x.

 Permite al usuario ver el Status del sistema Hot Standby.

 Solo se pueden poner en la Non Transfer Area datos de


referencia 4x. Estros registros designados no se transferirán al
controlador Standby, reduciendo el tiempo de ciclo.

400
CONCEPT
IEC Heap, su funcionamiento

PLC State Ram IEC Heap Data


0xxxxx - Output Bits System Data
000001 ….. 0xnnnnn

Todas las Variables


Global Variable Table
1xxxxx - Input Bits Usadas o No
100001 ….. 1xnnnnn

Section 1 Instance Data


3xxxxx - Input Words
CPU: Running CHS:On-line 300001 ….. 3xnnnnn Section 2 Instance Data
Exec: A Primario Datos relacionales
Datos Internos de EFB’s
Project: X 3xxxxx - IEC Heap Section 3 Instance Data (Timer/Counter. etc)
IEC Heap
3xnnnn+1…. 3xyyyyy Datos de Instanciación de
… DFB’s
Application: V1 …
State Table
4xxxxx - Output Words
400001 ….. 4xnnnnn Section n Instance Data

401
CONCEPT
Operación Normal
 Nombre de Proyecto, Aplicación y Execs Iguales
 Ejecución de la Aplicación:
 El Primario resuelve la lógica de la Aplicación
 El Standby no la resuelve
 Scan sincronizado entre controladores Primario y Standby
 Transferencia del State Table
 Transferencia del IEC Heap
 Transferencia del control entre Primario a Standby sin brusquedad
 La primera modificación On-line, una vez cargada al Primario situa el Standby Off-line

CPU: Running CHS:On-line CPU: Running CHS:On-line


Exec: A Primario Exec: A Standby
Project: X Project: X
IEC Heap IEC Heap

Application: V1 Application: V1
State Table State Table

402
CONCEPT
Standby llevado a Off-line por el usuario
 Utilizando la Llave de la CHS en posición Off en el Standby
 Standby fuera de servicio
 El Primario ejecuta la aplicación
 El Standby NO ejecuta la aplicación
 Scan sincronizado entre controladores Primario y Standby
 NO HAY Transferencia del State Table
 NO HAY Transferencia del IEC Heap
 El tiempo de scan baja considerablemente en comparación con el de funcionamiento normal
 Cuando el Standby se pasa a On-line el IEC Heap y la Tabla de Estados (State Table) se
actualizarán nuevamente y el sistema volverá al funcionamiento normal

CPU: Running CHS:On-line CPU: Running CHS:Off-line


Exec: A Primario Exec: A Standby
Project: X Project: X
IEC Heap IEC Heap

Application: V1 Application: V1
State Table State Table

403
CONCEPT
Edición On-line del Primario con paso a Off-line del Standby
 La primera edición On-line transferida al Primario lleva el Standby a Off-line
 Igualdad de Nombre de Proyecto, Execs iguales, pero con Aplicación distinta
 Ejecución de la Aplicación:
 El Primario ejecuta la aplicación
 El Standby NO ejecuta la aplicación
 Scan sincronizado entre controladores Primario y Standby
 NO HAY Transferencia del State Table
 NO HAY Transferencia del IEC Heap
 El tiempo de scan baja considerablemente en comparación con el de funcionamiento normal
 No es posible poner el Standby On-line, hasta que el Proyecto se transfiera desde el Primario

CPU: Running CHS:On-line CPU: Running CHS:Off-line


Exec: A Primario Exec: A Standby
Project: X Project: X
IEC Heap IEC Heap

Application: V2 Application: V1
State Table State Table

404
CONCEPT
Edición On-line del Primario sin paso a Off-line del Standby
 Poner el “Logic Mismatch bit“ (bit 12) a ‘1’, con ello se podrán mantener programas distintos en los
dos controladores
 La primera modificación On-line transferida al Primario implica > Permanencia del Standby On-line
 Proyecto y Exec iguales, Aplicación Diferente
 Ejecución de la Aplicación:
 El Primario resuelve la lógica de la Aplicación
 El Standby no la resuelve
 Scan sincronizado entre controladores Primario y Standby
 Transferencia del State Table
 Transferencia del IEC Heap - Ignora los Datos Cambiados en la Sección
 Standby permanece On-line con el Proyecto Original - Transferencia sin brusquedad

CPU: Running CHS:On-line CPU: Running CHS:Off-line


Exec: A Primario Exec: A Standby
Project: X Project: X
IEC Heap IEC Heap

Application: V2 Application: V1
State Table State Table

405
CONCEPT

Optimización del Sistema

 Reducir al mínimo el número de variables de la “State Ram” en la configuración del PLC

 Optimizar la utilización de DFB’s


 No usar grandes ESTRUCTURAS en los DFB
 Utilizar variables del tipo: Var_In_Out
 No dejar variables definidas, pero no utilizadas - Todas las variables se almacenan en el
PLC

 Inhabilitar Secciones de las que no interese su actualización

 Crear funciones DFB’s de uso frecuente como EFB’s - Más rápidas y consumen menos
memoria

 Reducir el valor reservado para los Datos Globales


Verificar según los menús siguientes: On-line >> Memory Statistics >> Global Data

406
CONCEPT

Optimización del Sistema


 Control de la Transferencia de Secciones

 HSBY Transfer Status


 Cargar Modificaciones - Sin paro del PLC !
 Estado de las Secciones SFC, siempre transferidas por ciclo

407
CONCEPT

Optimización del Sistema


 Visión On-line de la Transferencia de Estados en HSBY

 El Byte de estado de la Sección - Puede se accedido por:


 SCADA/HMI
 El código de la Aplicación

408
CONCEPT

Optimización del Sistema


Inhabilitación de la Transferencias de Secciones Heap Layout
PLC State Ram Antiguo Nuevo
0xxxxx - Output Bits System Data System Data
000001 ….. 0xnnnnn

Global Variable Table Global Variable Table


1xxxxx - Input Bits
100001 ….. 1xnnnnn

Section 1 Instance Data Section 1 Instance Data


3xxxxx - Input Words
CPU: Running CHS:On-line
Exec: A Primario
300001 ….. 3xnnnnn
X
Section 2 Instance Data Section 3 Instance Data

Project: X 3xxxxx - IEC Heap Section 3 Instance Data ...


IEC Heap
3xnnnn+1…. 3xyyyyy
… …
Application: V1 … …
State Table
4xxxxx - Output Words
400001 ….. 4xnnnnn Section n Instance Data Section n Instance Data

409
CONCEPT
Procedimiento de actualización del Exec
del controlador en Hot Standby IEC
 El Control del Proceso sigue en MARCHA

Procedimiento:
 Actualizar el Exec del controlador Standby
 Transferir el Programa desde el Primario al Standby con la Llave de la
CHS o Transferirlo desde el propio Software de programación
 Arrancar el controlador y verificar su operatividad en Standby
 Forzar una conmutación con la Llave
 Actualizar le controlador Primario original, que ahora será el Standby
 Transferir el Programa desde el Primario al Standby con la Llave de la
CHS o Transferirlo desde el propio Software de programación
 Arrancar el controlador y verificar su operatividad en Standby
 El Sistema Hot Standby IEC, ya estará en funcionamiento normal

Los PLC’s deben tener un Exec mínimo para la V2.5, para que dicha
funcionalidad esté disponible

410
CONCEPT
Area “Reverse Transfer”

 Concept V2.5 soporta la funcionalidad de “Reverse Transfer”

 La Sección 1 del Controlador en Standby se EJECUTA

 Ello permite que (2) words de Datos pasen desde el controlador STANDBY al PRIMARIO
 Word de Estado (Status Word)
 Estado de la Pila (Battery Health)
 Estado de la comunicación en el SCADA

 Biblioteca SYSTEM, grupo HSBY

411
CONCEPT

IEC Hot Standby Command y Status Registers


Animación de la Lectura Online

 Biblioteca SYSTEM, grupo HSBY

412
CONCEPT
A continuación se detallan los pasos a seguir para arrancar una redundancia de QUANTUM.

Configuración:
Seleccionar la CPU que interese.
En Config Extensions > activar Hot Standby IEC o 984LL
En el menú Hot Standby > configurar un registro de control y 4 mínimo de no transferencia.
Estos registros no deben ser utilizados en ningún otro sitio.
I/OMap > seleccionar el Head set up la posición del procesador RIO (140CRP93x00)
Definir las posiciones de todos los elementos del Drop local (canal #1).
Insert un nuevo Drop, canal #2
Definirla posición de los módulos de E/S que se hayan determinado.
Seguir creando drops (canales) hasta el último necesario.
Programación:
Si es en IEC, crear una sección nueva y a programar.
Si es en 984LL, crear una sección (segmento), a partir del 2, ya que el 1 se reserva para la
función PLC stat e información propia del PLC secundario.
No es necesario introducir la función CHS en el segmento 1.
La CPU Standby no ejecuta el programa, excepto la lógica del segmento 1.

3. Carga del programa:


Conectarse On-line
Cargar el programa completo
Arrancar el PLC

4. Transferencia al Standby:
Es conveniente tener el otro PLC (Standby) sin tensión y con la pila desconectada.
Comprobar que la splitter y los cables de F. O. estén correctamente conectados.
El selector frontal A - B de la CHS debe estar en posiciones contrarias.
Dar tensión al sistema Standby.
Presionar el pulsador frontal de la CHS y sin soltarlo posicionar la llave de la CHS a Xfer
(posición intermedia) y después pasarla a Run (posición horizontal).> Soltar el pulsador.
Deberá encenderse el led Standby en intermitencia y el Com Active de la CHS.
Arrancará la CPU correspondiente y se iluminarán los led Standby y Com Active.

El procedimiento está terminado y el sistema debe quedar en condiciones de servicio, es conveniente provocar con la
llave la conmutación y ver si trabaja correctamente.

413
CONCEPT

414
CONCEPT

 El Executive Loader (carga de Firmware)

415
CONCEPT

EXEC Loader
 “EXEC Loader” es una forma sencilla para
cargar el sistema operativo bajo Windows a una
CPU o a un módulo inteligente, que lleve
sistema operativo propio
 Para efectuar la carga del fichero EXEC al
módulo o al PLC, éste se puede transferir por
los siguientes medios de comunicación:
 Modbus Plus
 Ethernet TCP/IP
 Modbus RTU
 Modbus ASCII
 El procedimiento dispone de autoguíado,
Iniciar pulsando con doble click sobre:

416
CONCEPT

EXEC Loader Permite las siguientes funciones:

 Seguir el diálogo, continuar con “NEXT” • Transferir el fichero EXEC a la CPU


• Recuperar el EXEC de la CPU

 Seleccionar archivo del EXEC en: C:\Concept\DAT • Solicitar información del EXEC de la CPU

Los ficheros acaban en .BIN

417
CONCEPT

 Ficheros de Firmware para CPU:


Ficheros situados en el directorio: C:\Concept\DAT
 Q186V222.BIN CPU 213 04 / CPU 113 0x
 QIECV250.BIN CPU 213 04 / CPU 113 0xS (Stripped, Sólo IEC)
 Q486V219.BIN CPU 424 0x
 Q58v108D.BIN CPU 434 12 / CPU 534 14
 Q5RV102D.BIN CPU 434 12A / CPU 534 14A
 CTSX206D.BIN COMPACT
 M1LLV206.BIN 171 CCS 7x0 x0-984 Sólo 984 LL
 M1IV206d.BIN 171 CCS 7x0 x0-IEC Sólo IEC
 M1EV206.BIN 171 CCC 9x0 20-984 Sólo 984 LL
 M1EV207.BIN 171 CCC 9x0 30-IEC Sólo IEC

Nota: El Fimrware se renueva periódicamente

418
CONCEPT
Glosario de términos en IEC

 Exec: Sistema operativo de los controladores Quantum


 IEC Heap: Sistema de mapear en Concept la base de datos en
registros 3xxxx para transferirla vía fibra óptica entre las CHS’s,
incluyendo:
 Variables IEC No-referenciadas
 Punteros
 Variables del Sistema y de la Aplicación
 Estados de SFC
 Otros atributos internos
 Máximo 55kwords
 State Table: Referencias del controlador Quantum para E/S reales
y variables referenciadas
 Proyecto: Ficheros que contienen la configuración del controlador y
el código del programa IEC
 Aplicación: Código del programa en editores IEC

420

También podría gustarte