Implementación Práctica Del Protocolo Iec en Subestaciones Eléctricas. Problemas y Soluciones Índice Anexo 1 DNP3... 4
Implementación Práctica Del Protocolo Iec en Subestaciones Eléctricas. Problemas y Soluciones Índice Anexo 1 DNP3... 4
Implementación Práctica Del Protocolo Iec en Subestaciones Eléctricas. Problemas y Soluciones Índice Anexo 1 DNP3... 4
ÍNDICE ANEXO
1 DNP3 ......................................................................................... 4
1.1 HISTORIA ........................................................................ 4
1.2 ARQUITECTURA EN CAPAS .................................................... 5
1.3 MODELO DE REPORTES ...................................................... 14
2 MODBUS ................................................................................... 16
2.1 ESPECIFICACIONES DEL PROTOCOLO INDUSTRIAL MODBUS ............. 16
ÍNDICE DE FIGURAS
ÍNDICE DE TABLAS
1 DNP3
1.1 HISTORIA
DNP fue creado originalmente por Westronic, Inc. (ahora GE Harris) en 1990. En
1993, el set de documentos de especificación del protocolo “DNP 3.0 Basic 4” cobró
dominio público. La propiedad del protocolo fue entregada al recientemente formado
DNP Users Group en octubre de ese año. Desde entonces, el protocolo ha ganado
aceptación mundial, incluyendo la formación de grupos de usuarios en China,
América latina y Australia.
En enero de 1995, fue formado el DNP Technical Committee para estudiar mejoras y
recomendarlas para su aprobación al Users Group general. Una de las tareas más
importantes de este cuerpo era publicar el documento DNP Subset Definitions, que
establece los estándares para las puestas en marcha de DNP 3.0.
DNP 3.0 es un protocolo para sistemas SCADA moderno, abierto, inteligente, robusto
y eficiente. Entre otras cosas, puede:
Cuando se transmiten datos, estos sufren las siguientes transformaciones al pasar por
las diferentes capas:
La capa física se refiere sobre todo a los medios físicos sobre los cuales se está
comunicando el protocolo. Por ejemplo, maneja el estado del medio (libre u
ocupado), y la sincronización a través del medio (iniciando y parando). Más
comúnmente, DNP se especifica sobre una capa física serial simple tal como RS-232 o
RS-485 usando medios físicos tales como fibra, radio o satélite. Los proyectos se
orientan actualmente para implementar DNP sobre una capa física Ethernet.
Cada frame tiene una dirección fuente de 16 bits y una dirección de destino también
de 16 bits, las que pueden ser una dirección de difusión o broadcast (0xffff).
• 2 bytes de inicio (star bytes) cuyo valor es fijo: 0x05 (valor en hexadecimal)
para el primero y 0x64 para el segundo.
• 1 byte con el tamaño de la trama. Este valor no tiene en cuenta ni la
cabecera, ni los CRC.
• 1 byte con el código de control, que permite fijar los servicios del nivel de
enlace, el sentido del flujo, etc.
• 2 bytes con la dirección de destino, codificada en big-endian.
• 2 bytes con la dirección de origen, codificada en big-endian.
• 2 bytes de CRC.
Cuando los datos a transmitir son demasiado grandes para un solo mensaje de la capa
de aplicación, se pueden construir mensajes múltiples de la capa de aplicación y
transmitirlos secuencialmente.
Cada fragmento de la capa de aplicación comienza con una cabecera seguida por una
o más combinaciones de objetos de datos y objetos cabecera. La cabecera de la capa
de aplicación contiene un código de control de la aplicación y un código de función
de la aplicación.
En DNP, los datos se ordenan en tipos de datos. Cada tipo de datos es un grupo
objeto, incluyendo:
Para cada grupo de objetos, o tipo de datos, existen uno o más puntos de referencia.
Un punto de referencia es un único valor del tipo especificado por su grupo de
objeto.
También dentro de cada grupo de objeto, existen variaciones. Una variación del
grupo de objeto se utiliza típicamente para indicar un método diferente de
especificar datos dentro del grupo de objeto. Por ejemplo, las variaciones de
entradas de información analógicas permiten la transferencia de los datos como
valores enteros con signo de 16 bits, de 32 bits, o como valores de 32 bits con coma
flotante.
Una cabecera del objeto especifica un grupo de objeto, una variación del grupo de
objeto, y un rango de puntos dentro de esa variación del grupo de objeto. Algunos
códigos de función de la cabecera de la capa de aplicación indican que a cada
cabecera del objeto siguen los datos del mismo; otros códigos de función indican que
no hay datos del objeto en el mensaje- en su lugar, múltiples cabeceras del objeto,
si existen, siguen contiguamente a cada una de las otras.
Por ejemplo, un fragmento leído del mensaje de solicitud contiene solamente las
cabeceras del objeto que describen los grupos de objeto, las variaciones, y los rangos
de puntos que se solicitan leer y responder; un fragmento leído del mensaje de
respuesta contiene cabeceras del objeto y los datos del objeto solicitado.
DNP 3.0 permite que los object point ranges sean especificados en una variedad de
maneras. Para petición de mensajes, los object point ranges pueden consistir en:
Una petición para todos los puntos del grupo de objetos especificados.
Una petición para un rango contiguo de puntos comenzando con un específico
punto de partida y terminando con un específico punto de llegada.
Una petición para una máxima cantidad de puntos con una lista de puntos
solicitados.
Para los mensajes de respuesta, los object point ranges consisten típicamente en un
rango contiguo de puntos que comienzan con un punto de partida especificado y
terminan con un punto de llegada especificado, o con una lista de puntos. Para los
object point ranges de respuesta que consisten en una lista de puntos, un número de
punto precede a cada objeto de datos. El número de puntos en la lista se especifica
como parte del object point range.
Muchos de los grupos de objeto pueden corresponder, pero se separan, los grupos de
objeto que contienen datos del cambio. Los datos del cambio representan solamente
los puntos que han cambiado para un grupo de objeto específicamente
correspondiente. Por ejemplo, el grupo número 1 de objeto representa las entradas
de información binarias (considerados los datos estáticos), y el grupo número 2 de
objeto representa datos binarios con cambio de la entrada de información.
2 MODBUS
El protocolo MODBUS define una estructura de mensajes que puede ser reconocida
por diferentes dispositivos independientemente del tipo de red de comunicaciones
utilizada. El protocolo describe el proceso para acceder a la información de un
dispositivo, cómo debe responder éste, y como se notifican las situaciones de error.
El protocolo MODBUS define una red digital de comunicaciones con un solo master y
uno o más dispositivos slave.
Si se detecta un intervalo mayor que tres veces y media el tiempo necesario para
transmitir un carácter, el dispositivo receptor ignora la trama y asume que el
siguiente carácter que recibirá será una dirección.
+ Dirección:
+ Función:
+ Datos:
El campo datos contiene la información necesaria para que los dispositivos puedan
ejecutar las funciones solicitadas, o la información enviada por los dispositivos al
master como respuesta a una función.
+ Control de Errores:
Esta función permite al usuario obtener los valores lógicos (ON/OFF) de los bits del
dispositivo direccionado. Los datos de respuesta van empaquetados en bytes de
manera que el primer bit solicitado ocupa el bit de menos peso del primer byte de
datos. Los siguientes van a continuación de manera que si no son un número múltiplo
de 8, el último byte se completa con ceros. Esta comunicación se ilustra en las tablas
A4 y A5.
Esta función permite al usuario obtener los valores de los registros del dispositivo
direccionado. Estos registros almacenan los valores numéricos de los parámetros y
variables del controlador. El rango de los datos varía de 0 a 65536. Los datos
correspondientes a direcciones de registros que pasan de la última dirección válida
de parámetros se asignan a cero (00 00). La trama de comunicación para esta función
está definida en las tablas A6 y A7.
Esta función permite al usuario escribir los valores lógicos (ON/OFF) de los bits del
dispositivo direccionado. Para desactivar el bit se debe enviar 00h, y para activarlo
se debe enviar 01h o FFh. Éste valor se debe escribir en el byte más significativo.
Como se muestra en las tablas A8 y A9.
3 IEC 60870-5-104
Para detectar el comienzo y el fin de cada ASDU (Application Service Data Unit),
cada APCI incluye los siguientes elementos: un carácter de inicio, la especificación
de la longitud del ASDU y el campo de control, tal como se muestra en la figura A7.
Para propósitos de control, el APDU corresponde únicamente a los campos del APCI.
En las figuras A9 y A10 se muestran los formatos para tramas de supervisión (S) y de
control (U). Este campo de control también es utilizado para la implementación de
mecanismos para prevenir la pérdida y duplicación de mensajes.
La figura A11 ilustra un escenario donde se trasmiten tramas tipo I entre dos
estaciones y el mecanismo para el reconocimiento en el envío y recepción de tramas.
Ack= Indica que el DTE ha recibido correctamente todas las tramas de formato I
numeradas arriba, incluyendo la actual.
Cada formato tipo I enviado reconoce las tramas recibidas por la estación origen, en
este ejemplo la estación B envía 3 tramas I e indica que no ha recibido ninguna de
este tipo en la estación A. Posteriormente la estación A envía 2 tramas I
reconociendo las 3 que ha recibido de la estación B.
El disparo de uno de estos temporizadores (t2) hace que se envíe una trampa tipo S
para reconocer los paquetes de información que han llegado, tal como se ilustra en
la figura A12.
+ Temporizadores:
• Información Moniton M
• Información Control C
• Parámetros P
• Transferencia de archivos F
3.1.5 FUNCIONES
La figura A19 muestra como la estación primaria inicia la sincronización del reloj de
la estación secundaria, en este caso, lo hace debido a que un evento reportado desde
la estación secundaria difiere en gran proporción del reloj de la estación primaria.
Pero no siempre la sincronización del reloj, se presenta por este motivo. En muchas
ocasiones, se sincroniza el reloj después de inicializar la subestación.
Esta función está definida en la sección 6.8 de IEC 60870-5-5. La figura A20 muestra
la comunicación para la transmisión de comandos desde la estación principal hacia la
subestación. Muchas de estas comunicaciones son opcionales, de acuerdo a la
configuración del sistema, por ejemplo, se hacen opcionales las tramas de
terminación de la ejecución del comando.