Title: Optimizacin de Comunicaciones
1Optimización de Comunicaciones
- CX-Supervisor y
- CX-Server
2Comunicaciones
3El Motor de Comunicaciones CX-Server
Aplicaciones
Motor de Comunicaciones
Hardware de Control
4A la Hora de Hacer una Aplicación SCADA
- Hay que dimensionar correctamente las
comunicaciones - Qué datos es necesario leer
- Tiempo de refresco necesario para cada uno de
esos datos - 5 s
- 1 s
- 50 ms?
- Cuándo son necesarios esos datos
5A la Hora de Hacer una Aplicación SCADA
- Hay que conocer cómo funciona el motor de
comunicaciones - No al más bajo nivel
- No es necesario saber como se compone una trama
FINS - Pero sà saber qué variables intervienen en la
comunicación - Qué formas tiene el motor de leer y escribir los
datos - Y cómo podemos optimizar todo el proceso de
comunicación
6Variables que Intervienen en la Comunicación
- Interfaz de Comunicaciones
- El interfaz de comunicaciones es el puerto a
través del cual se envÃan y reciben las señales
del sistema. - Cada interfaz permite una velocidad de
comunicación bajo unas condiciones determinadas. - Medio de Transmisión
- Es el soporte fÃsico a través del cual se
desplazan las señales del sistema - Cada medio presenta una serie de caracterÃsticas,
como su tolerancia al ruido externo
7Variables que Intervienen en la Comunicación
- Protocolo de comunicación
- Define el tipo de mensajes que intercambian los
dispositivos y el conjunto de reglas para que ese
intercambio se produzca correctamente - Tiempo de Latencia
- Referido a un PLC, es el tiempo que tarda desde
que recibe una petición hasta que tiene lista la
respuesta - En este tiempo influye la potencia del procesador
del PLC y la cantidad de peticiones de
comunicación a atender
8Formas de Leer los Datos
- A nivel de bit
- Se lee un solo bit de la memoria del PLC
- A nivel de canal
- Se lee un canal completo de la memoria del PLC
(16 bits) - Arrays
- Este método permite transferir varios bits o
canales en un solo paquete - Se usa automáticamente al leer algunos tipos de
datos como doble o IEEE Float
9Formas de Leer/Escribir los Datos Ejemplo 1
- Lectura de un solo bit
- Lectura de un array de 16 bits
- Lectura de un canal
_at_00FA08000020000000000FC00010130006400000178.
_at_00FA00C000020000FC00000000010100000033.
_at_00FA08000020000000000FC00010130006400001078.
_at_00FA00C000020000FC0000000001010000000000000000000
0000000000000000033.
_at_00FA08000020000000000FC000101B0006400000109.
_at_00FA00C000020000FC0000000001010000000033.
10Formas de Leer los Datos Ejemplo 2 90 Canales
11Formas de Leer/Escribir los Datos (y II)
- De forma SÃncrona
- CX-Server lee/escribe el dato en el momento que
se realiza una petición - Cada vez que se quiere leer un dato hay que hacer
una petición - De forma AsÃncrona
- El dato se solicita una sola vez y se establece
un tiempo de refresco (ciclo de polling) - Automáticamente, y ajustandose lo más posible al
ciclo de polling establecido, CX-Server notifica
el valor del dato
12Optimizaciones Automáticas
- CX-Server se encarga de agrupar las direcciones
consecutivas o próximas si tienen el mismo tiempo
de refreso. AsÃ, son leÃdas siempre en un array
hasta el máximo que permita la longitud de trama - CX-Supervisor sólo escribe un valor si es
distinto al que existe en el PLC - Al escribir un punto de un array únicamente se
escribe ese elemento, no el array completo
13Optimizaciones a realizar por el usuario
- Establecer los datos a leer en direcciones
consecutivas o agruparlos en array - Agrupar direcciones similares y consecutivas en
Grupos - Estos grupos se pueden habilitar o deshabilitar
según se requieran - Usar la propiedad de sólo actualizar el valor
del punto al visualizar cuando sea posible
14Optimizaciones a realizar por el usuario
- Usar el tipo de entrada A petición para puntos
que necesiten ser actualizados en un momento
concreto una sola vez y cuya dirección no se
incluyan en ningún otro paquete de comunicaciones - No usar de forma continua las lecturas sÃncronas
(comando InputPoint) - No usar las escrituras (sÃncronas) en rutinas
temporizadas
15Optimizaciones a realizar por el usuario
- Se pueden escribir arrays completos usando la
instrucción OutputPoint. Para escribir gran
cantidad de datos esporádicamente es la mejor
opción (punto de salida, definido A Petición)
16Datos Prácticos
- CX-Supervisor y
- CX-Server
17Nº Máximo de Actualizaciones CS1H
18Nº Máximo de Actualizaciones CQM1H
19Nº Máximo de Actualizaciones C200HX y CQM1
20Nº Máximo de Actualizaciones Resumen
21Herramientas
- CX-Supervisor y
- CX-Server
22Monitor de Rendimiento
- Debe ser usada frecuentemente por el
desarrollador de la aplicación. Presenta los
siguiente datos de interés - Tiempo medio de latencia del PLC
- Debe estar entre 9-30 ms
- Número de mensajes activos
- A menor número, mejores comunicaciones
- Rendimiento de la red
- Ancho de banda real usado. El porcentaje no
deberÃa sobrepasar las cifras siguientes.
23Rendimiento Máximo
24Ventana de Diagnóstico
- Debe ser usada por el desarrollador y enviada
como reporte al soporte técnico. Presenta los
siguientes datos de interés - Número total de elementos a refrescar
- Nº medio de elementos que se refrescan cada
segundo - Nº de elementos que el desarrollador quiere
refrescar cada segundo - Otra información relacionada con el CX-Server
25CX-Server Trace Tool / CX-Diagnostics
- Será usado por el soporte técnico o bajo su
asesoramiento - Muestra información detallada de todo el proceso
de comunicación - Soporta múltiples configuraciones que dependen
del caso a tratar - CX-Diagnostics permite la recogida de datos y
estará disponible junto a otros productos
26Alguna Duda?