Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PRESENTADO POR:
INGENIERO ELECTRICISTA
RECTOR:
SECRETARIA GENERAL:
DECANO:
SECRETARIO:
DIRECTOR:
INGENIERO ELECTRICISTA
Título:
Presentado por:
Docente Asesor:
Docente Asesor:
A mis padres Rosa Cerón y Miguel Vásquez dos seres ejemplares con los que estoy
eternamente agradecido, por cada consejo, regaño y amor brindado, por guiarme siempre
por el camino del bien, por su gran esfuerzo y sacrificio, quienes hicieron posible que yo
llegara a culminar mi carrera universitaria.
A mi amada Abigail Montano quien ha estado conmigo desde que inicié mi carrera y me ha
brindado su amor y apoyo incondicional en los momentos buenos y malos, quien siempre ha
confiado y ha tenido fe en mí en que puedo llegar y lograr mis metas.
A mi gran y hermosa familia que me han brindado su apoyo de diferentes maneras a lo largo
de mi trayectoria y vida entera, especialmente a mis hermanos Tatiana, Jacqueline y Douglas
que siempre me han apoyado en cada paso importante de mi vida.
A mi compañero y amigo de tesis Joel López, por su confianza y esfuerzo para que
pudiéramos finalizar este proyecto que inicio de la nada, que a pesar de todas las dificultades
que se nos presentaron siempre se mostró firme y seguro, siempre buscó la manera de salir
adelante.
A mis amigos Kevin Vargas y Javier Mejía dos personas que conozco desde hace mucho
tiempo, que a pesar de los altos y bajos que vivimos en la universidad siempre mostraron su
apoyo y amistad sincera.
A mis amigos Jorge Rivera, Alberto Cano, Harold Romero y Fidel Castro, no puedo
dedicaros un párrafo a cada uno, pero os tengo mucho que agradecer, siempre fueron mi
equipo con los que cursé las materias más difíciles de la universidad, quienes gracias a sus
esfuerzo y dedicación siempre logramos salir adelante a pesar de cualquier dificultad, y a
todos aquellos amigos que hice a lo largo de mi carrera, gracias por su amistad.
Sin más, queda aquí plasmado mi nombre y este proyecto de grado como fiel testimonio de
mi paso por las aulas de mi querida alma mater, mudos testigos de mi esfuerzo y sacrificio
que viví en mi larga carrera de ingeniería eléctrica.
A mis compañeros de carrera y amigos Alonso, Laura y William, con quienes compartí
momentos buenos y malos pero que a pesar de las dificultades siempre estuvieron ahí para
brindarme su ayuda, sin la cual me hubiera sido mucho más difícil finalizar mi meta, también
agradecer a las amistades que hice a lo largo de la carrera a quienes aprecio mucho y que
llevare siempre en mi memoria.
A mi amigo y compañero de tesis Miguel Cerón, con el cual emprendimos este proyecto y a
pesar de las dificultados nunca se rindió en seguir y se preocupó por dejar un trabajo bien
hecho y que tuviera impacto en el país.
CAPÍTULO II.................................................................................................................................. 76
3.2 Escenario 2, disparo de barra acelerada (protección por sobre corriente instantánea)
........................................................................................................................................ 135
Contenido de figuras
Estructura del estándar IEC 61850. ..................................................................................... 8
Arquitectura de un SAS en IEC61850. ................................................................................ 9
Interfases de comunicación. ............................................................................................... 10
Modelo de datos para virtualización de dispositivos del estándar IEC61850. ................... 12
Concepto del modelo de datos. .......................................................................................... 13
Nodo Lógico del Interruptor de Potencia........................................................................... 20
Ejemplo de modelado de datos. ......................................................................................... 22
Dataset de posición de un XCBR....................................................................................... 24
Bloque de transmisión de datos. ........................................................................................ 25
Modelo de transmisión de Datos Reportes con búfer y sin búfer. ................................... 25
Descripción general de los mensajes y servicios de IEC61850. ...................................... 26
Modelo OSI y el Estándar IEC61850. ............................................................................. 28
Proceso de ingeniería en subestaciones. .......................................................................... 29
Proceso de configuración de archivos SCL. .................................................................... 30
61850 ICD Editor............................................................................................................. 31
Creación de un ICD. ........................................................................................................ 32
Creación de un Dispositivo Lógico.................................................................................. 33
Archivo ICD. ................................................................................................................... 33
Creación de un Nodo Lógico. .......................................................................................... 34
Creación de DataSet......................................................................................................... 35
Creación de un Bloque de Control. .................................................................................. 36
ReLab OPC Console. ....................................................................................................... 37
Pestaña dashboard. ........................................................................................................... 38
Creación de un Driver en Relab. ...................................................................................... 38
Selección del driver para un dispositivo IEC61850. ........................................................ 39
Configuración del Driver IEC61850. ............................................................................... 39
Configuración TCP/IP. .................................................................................................... 40
IED conectado a Relab OPC. ........................................................................................... 40
Mapeado de Tags del IED. .............................................................................................. 41
Interfaz gráfica IEDexplorer. ........................................................................................... 42
Configuración de IEDExplorer. ....................................................................................... 42
Vista de Datos del IED. ................................................................................................... 43
Ventana de monitoreo de atributos. ................................................................................. 44
Ventana de envió de comando MMS. .............................................................................. 44
Goose Explorer. ............................................................................................................... 45
i
GOOSE sender................................................................................................................. 46
Visualización de Reportes. .............................................................................................. 46
GOOSE sender................................................................................................................. 47
GOOSE Receiver. ............................................................................................................ 48
Archivo SCL de mensajes GOOSE importado. ............................................................... 49
Simulación de envío de mensajes GOOSE. ..................................................................... 49
Búsqueda de mensajes GOOSE. ...................................................................................... 50
Simulador RELE EIC61850. ........................................................................................... 51
Goose Publisher. .............................................................................................................. 52
Remote Protection Simulator GOOSE............................................................................. 52
Simulator Bay. ................................................................................................................. 53
Tráfico de Datos en Wireshark. ....................................................................................... 54
Trama Sampled Value capturado en Wireshark. ............................................................. 55
Trama GOOSE capturado en Wireshark.......................................................................... 55
Selección de adaptadores de Red en Wireshark. ............................................................. 56
Selección de Protocolo bajo análisis. ............................................................................... 56
Tráfico de datos de mensajes GOOSE. ............................................................................ 57
Software Elipse Power. .................................................................................................... 58
Creación de un nuevo proyecto en Elipse Power. ............................................................ 58
Configuración del modelo eléctrico. ................................................................................ 59
Configuración del modelo de la Subestación................................................................... 59
Importando modelo eléctrico hacia el SCADA. .............................................................. 60
Importando modelo eléctrico de subestación. .................................................................. 61
Sincronización del modelo eléctrico en pantalla principal SCADA. ............................... 62
Creación de Driver OPC. ................................................................................................. 62
Configuración de servidor OPC. ...................................................................................... 63
Ventana de configuración de VNCViewer. ..................................................................... 64
Estructura de servidor IEC61850 de la librería................................................................ 64
Archivos necesarios para ejecutar servidor bajo el estándar IEC61850. ......................... 66
Distribución de pines Raspberry Pi 3B. ........................................................................... 71
Rele SEL 351. .................................................................................................................. 72
Funciones del Relé de Protección SEL351. ..................................................................... 73
Pines GPIO Raspberry pi 3B. .......................................................................................... 74
Router Claro A7600 A1 ................................................................................................... 75
Red de comunicación para implementación de escenarios. ............................................. 77
Modelo de Datos del Rele Infotech. ................................................................................ 78
Atributos y Objetos de Datos del LN Obj1XCBR1. ........................................................ 80
DataSet, Reportes y Mensajes GOOSE del Relé INFOTECH. ....................................... 81
Habilitar mensajes GOOSE. ............................................................................................ 82
Datos del mensaje GOOSE gcb1. .................................................................................... 83
Mensaje GOOSE del software GOOSE Publisher........................................................... 84
Parámetros GOOSE para el disparo del interruptor INFOTECH. ................................... 84
Envió de mensaje GOOSE desde el GOOSE Sender. ..................................................... 85
Habilitar Reportes Almacenados y No Almacenados. ..................................................... 86
Configuración de comunicación del Relé AxonGroup. ................................................... 87
Modelo de Datos del Relé Simulator Bay de Axon Group. ............................................. 87
DataSet, Reportes y Mensajes GOOSE del Relé Simulator Bay. .................................... 88
ii
Desactivando envió de mensajes GOOSE. ...................................................................... 89
Mensaje GOOSE del Software Remote Proteccion Simulator. ....................................... 90
Parámetros GOOSE para el disparo del interruptor INTA_XCBR1. .............................. 91
Envió de mensaje GOOSE desde el GOOSE Sender. ..................................................... 91
Estructura IEDRASPBERRY. ......................................................................................... 92
Elementos y diagrama electrico IEDRapsberry. .............................................................. 93
Modelo de Datos del IEDRaspberry. ............................................................................... 95
Configuración de ICD IEDRaspberry. ............................................................................. 96
Configuración de DataSet del ICD IEDRaspberry. ......................................................... 97
Configuración de mensajes GOOSE en el ICD IEDRaspberry. ...................................... 97
ICD IEDRaspberry Pi. ..................................................................................................... 98
Esquema de Configuración SEL351 bajo el estándar IEC61850. ................................. 101
Modelo de Datos del Relé SEL351................................................................................ 104
Configuración ICD SEL351. ......................................................................................... 105
Configuración de Dataset del relé SEL351. ................................................................... 106
Configuración de mensaje GOOSE del Relé Sel351. .................................................... 106
ICD del Relé Sel351. ..................................................................................................... 107
Listado de registro Modbus de salidas del Relé SEL351............................................. 109
Modelo Eléctrico de un SAS. ...................................................................................... 110
Drivers IEC61850 para la comunicación de IEDs simulados/emulados. .................... 111
Tags mapeados en ReLab OPC.................................................................................... 113
Importando Tags desde el servidor Relab OPC. .......................................................... 114
Elementos del modelo eléctrico en PowerElipse. ........................................................ 114
Indicadores del transformador. .................................................................................... 115
Asignación de Tag para la posición del interruptor I10. .............................................. 116
Tag de posición para el interruptor I10. ....................................................................... 117
Configuración de tags para los parámetros eléctricos del interruptor I10. .................. 118
Propiedades del indicador 71Q. ................................................................................... 118
Asignación de Tags al indicador 71Q. ......................................................................... 119
Configuración de TAG para el indicador 71Q. ............................................................ 120
Asignación de evento del indicador 71Q. .................................................................... 120
Configuración del evento de activación de indicador 71Q. ......................................... 121
Configuración de Alarmas en PowerElipse SCADA. .................................................. 122
Creacion de Alarmas en PowerElipse SCADA. .......................................................... 122
Configuración de Alarma para disparo del Relé 1 AxonGroup. .................................. 123
Configuración de alarma digital para el disparo del Relé 1 de AxonGroup. ............... 123
Configuración de alarma analógica para niveles altos de corriente del relé INFOTECH.
......................................................................................................................................................... 124
Asignación de panel para visualización de alarmas. .................................................... 125
Diagrama general para los escenarios de pruebas........................................................ 127
Esquema de Protección de transformador.................................................................... 128
Mensaje GOOSE enviado por las protecciones del transformador.............................. 129
Esquema comunicaciones escenario #1 ....................................................................... 130
Verificación inicio interruptor INFOTECH. ................................................................ 130
Ejecución de convertidor IEC61850/Modbus. ............................................................. 131
Ejecución de convertidor IEC61850/Modbus. ............................................................. 132
Detección de disparo de protección mecánica de TX. ................................................. 133
iii
HMI AcSELerator Quickset. ....................................................................................... 133
Mensaje GOOSE enviado por IEDRASPBERRY. ...................................................... 134
Comando MMS de reseteo en alarma Gateway IEC61850/Modbus. .......................... 135
Esquema de Protección de barra simple. ..................................................................... 136
Esquema de comunicación del escenario 2. ................................................................. 137
Verificación inicio interruptor INFOTECH. ................................................................ 138
Ejecución de relés virtuales Simulator Bay e Infotech ................................................ 139
Monitoreo a través de GOOSE del relé INFOTECH. .................................................. 139
Simulación de una falla en los alimentadores de salida. .............................................. 140
Monitoreo a través de reportes del estado del Relé AxonGroup. ................................ 141
Simulación de una falla a la salida de I11.................................................................... 142
Simulación de una falla a la salida de I12.................................................................... 143
Simulación de una falla en la barra utilizando el relé INFOTECH. ............................ 144
Mensaje GOOSE para el cambio de estado del Relé INFOTECH. ............................. 145
Simulación de una falla en la barra (alimentador de entrada I10). .............................. 145
Envío de mensaje GOOSE del IEDRaspberry a los relés de bahía.............................. 146
Disparo de los relés de bahía a través de protocolo GOOSE. ...................................... 146
Mensaje GOOSE enviado por la IEDRaspberry .......................................................... 147
Simulación de un SAS niveles de Estación y Bahía. ................................................... 149
Modelo eléctrico en SCADA ....................................................................................... 150
SCADA de la subestación de barra simple .................................................................. 152
Protecciones mecánicas del transformador supervisado a través de SCADA. ............ 153
Protección del transformador 63B supervisado a través de SCADA........................... 154
Condiciones de sobre corriente en I11 ......................................................................... 155
Interruptor I11 disparado por sobre corriente instantánea ........................................... 156
Sobre corriente en la barra simulado por el relé INFOTECH ...................................... 157
Disparo de I10 por falla en la barra ............................................................................. 158
Proteccion de barra por sobre corriente instantánea .................................................... 159
Pantalla de selección sistema operativo. ...................................................................... 176
iv
Glosario
SEP Un sistema eléctrico de potencia es una red de componentes
eléctricos instalados para suministrar, transferir y usar energía
eléctrica. Un ejemplo de un sistema de potencia es la red que
proporciona energía a un área extendida.
v
Introducción
El estándar IEC61850 viene a revolucionar a los Sistemas de Automatización de
Subestaciones (SAS) los cuales son los responsables de la protección, monitoreo y control
de equipos eléctricos en una subestación. El estándar incorpora el uso de nodos lógicos para
resolver problemas relacionados con la interoperabilidad y la intercambiabilidad en sistemas
de subestaciones. Además, incluye protocolos que actúan con mayor rapidez dentro de los
sistemas de comunicación (GOOSE y Sample Value) y reducen el cableado de cobre en una
subestación.
Teniendo en cuenta la importancia del estándar este documento en su primer capítulo aborda
la investigación del estándar mediante la síntesis de la norma, se incluye información e
instrucciones de uso de softwares y una librería bajo el estándar que permite el montaje de
un laboratorio mediante simuladores, IEDs emulados, clientes virtuales entre otras
herramientas. Se incluye en dicho capitulo información y configuraciones del software
ElipsePower (SCADA) funcionando bajo el estándar.
1
Justificación
El protocolo IEC61850 se ha convertido en un estándar en la mayoría de los dispositivos
inteligentes que se utilizan en subestaciones eléctricas; en nuestro país son pocas las
subestaciones donde ha sido aplicado el estándar, sin embargo, su uso se incrementa con el
paso del tiempo y con la llegada de las redes inteligentes (SmartGrid) a futuro el sector
eléctrico tendrá que migrar a dicho estándar, de tal forma que la investigación y
documentación de pruebas en simuladores, emuladores y equipos representa un avance en el
desarrollo de estas nuevas tecnologías en el país.
Por lo que surge la necesidad de preparar a futuros profesionales del sector electricidad o
carreras afines en las nuevas tecnologías de subestaciones, incluyendo en su plan de estudio
muchos de los temas desarrollados en este documento, por tanto, el presente documento
considerarse una aportación de conocimiento técnico para ser retomado por la planta docente
del sector de ingeniería eléctrica en el país.
2
CAPÍTULO I
Marco Conceptual
3
1.0 Introducción
En el presente capítulo se muestra la investigación del estándar IEC61850, sus conceptos,
ventajas, uso actual en subestaciones, como está conformada, ejemplos de su uso entre otros
temas. También incluye la investigación de software y librerías para poder realizar pruebas
a nivel académico de forma virtual mediante simuladores, IEDs virtuales, servidores, clientes
y otros. Se listan las características de algunos equipos necesarios para el montaje del
laboratorio.
Los IED´s son los responsables de recibir datos y medidas generados en los equipos de una
subestación y pueden emitir ordenes de disparos a los equipos de protección ante la presencia
de anomalías, por lo que la comunicación en estos dispositivos debe estar bien estructurada
y diseñada para el correcto intercambio de datos, es así que el desarrollo de un protocolo de
comunicación confiable, robusto e interoperable se vuelve indispensable para el correcto
funcionamiento en un SAS, como solución a los problemas de comunicación surgieron
protocolos propietarios y libres como DNP3, MODBUS, IEC61870 101, 102, 104, etc.
Durante mucho tiempo estos protocolos han sido utilizados en sistemas de automatización, y
aunque han tenido logros favorables en el campo de los sistemas de comunicación, el
inconveniente de dichos protocolos es su complejidad en términos de subestación y
configuración del instrumento, además presentan dificultad para identificar las ingenierías de
control y protección, por otro lado no logran garantizar por completo que IED´s de distintos
proveedores se comuniquen entre sí (interoperabilidad), a esto se suma también la llegada de
las redes inteligentes (SmartGrid) ya que las nuevas tecnologías sobrepasan las capacidades
de red para las que estos protocolos fueron diseñados originalmente.
En 1994 el grupo “Subestation Control and Protection Interfaces” del comité técnico TC57,
adscrito a IEC elaboraron los primeros objetivos para lo que sería el futuro del estándar en
sistemas de comunicaciones en subestaciones eléctricas. Tan solo 10 años después en
4
conjunto con Institute of Electrical and Electronic Engineers (IEEE) y Electric Power
Research Institute (EPRI) en el proyecto Utility Comunicaction Architecture (UCA), se llegó
a un acuerdo para generar una norma de aceptación mundial, la cual denominaron “IEC61850
Redes de Comunicaciones y Sistemas en Subestaciones”, publicada en el año 2004.
La interoperabilidad prevista en el estándar IEC 61850 es mucho más que una simple
transferencia de datos, también toma en cuenta el intercambio de información entre dos o
más dispositivos similares. El receptor tiene que entender no solo la estructura de los datos
(sintaxis), sino que también deberá comprender su significado, es decir la semántica basada
en los atributos de los datos recibidos en la comunicación.
Para lograr el objetivo principal de interoperabilidad la norma establece una serie de aspectos
importantes los cuales se describen a continuación:
5
• Define la comunicación entre IEDs en la subestación y los requerimientos
relacionados del sistema.
• Introducción general de la norma y sus partes.
6
• IEC 61859-7-1 Principios y modelos
Contiene los principios y modelos de comunicaciones, además presenta una
introducción a todo el contenido de IEC 61850-7-X.
7
Estructura del estándar IEC 61850.
1) Nivel de Proceso. Es el que tiene mayor interacción con los equipos primarios de la
subestación; contiene todas las funciones encargadas de transportar la información no
procesada del sistema de potencia, como las medidas adquiridas por los
transformadores de instrumentación, el estado de los equipos de maniobra de la
subestación o las señales de mando de estos. En este nivel típicamente son situados
las Merging Unit y sensores inteligentes.
2) Nivel de bahía. Se ubican las funciones que principalmente usan información de una
bahía en especial de la subestación, además de actuar sobre los equipos de esta misma.
Consta de las unidades de protección, de monitoreo y de control de cada una de las
bahías.
3) Nivel de Estación. De este nivel hace parte el computador de la subestación en el
cual se almacena la base de datos con toda la información de maniobras, eventos,
alarmas, tendencias, etc. de la subestación y la interfaz remota de comunicación. Es
el centro de control y supervisión de la subestación (SCADA).
8
El nivel de estación tiene dos clases de funciones de estación: funciones de estación
relacionadas con el proceso, las cuales usan la información de la subestación para
actuar sobre los equipos primarios de una bahía o de la subestación completa, y
funciones de estación relacionadas con la interfaz, las cuales relacionan el SAS con
la interfaz hombre máquina (IHM) del mismo.
9
En la figura 2 se observa los equipos de un SAS físicamente instalados en los distintos
niveles, en el nivel proceso encontramos actuadores, sensores, transformadores de
instrumentación etc. que envían información a equipos instalados en patio llamados
“Merging Unit”.
Las “Merging Unit (MU)” han surgido de la necesidad de cumplir con los requerimientos de
la norma pues dichos equipos reciben las mediciones y datos de sensores que se encuentran
en patio y de forma digital envían dicha información a los equipos ubicados en el nivel bahía
a través de ethernet o fibra óptica (Sampled Values y GOOSE), reduciendo de una manera
significativa el exceso de cables.
Los equipos del nivel de bahía consisten en las unidades de protección y control o
supervisión. Mientras que los de nivel de estación son el ordenador de la estación con la base
de datos, el puesto de operador, interfaces para comunicación remota, etc.
Entre estos niveles y dentro de los mismos existen interfaces lógicas de comunicaciones que
conforman la red de comunicaciones del SAS. Estas interfaces están representadas en la
figura 3 estando los números 2 y 10 fuera del alcance de la norma.
Interfaces de comunicación.
Cada una de las interfaces mostradas representan una función en el sistema de comunicación
de un SAS, estos se definen como:
10
• Interfaz 1: Intercambio de datos de protección entre los niveles de bahía y estación.
• Interfaz 2: Intercambio de datos protección entre el nivel bahía y protección remota.
• Interfaz 3: Intercambio de datos dentro del nivel de bahía.
• Interfaz 4: Intercambio de datos instantáneos entre el nivel de proceso y el de bahía.
• Interfaz 5: Intercambio de datos de control entre los niveles de proceso y bahía.
• Interfaz 6: Intercambio de datos de control entre los niveles de bahía y estación.
• Interfaz 7: Intercambio de datos del nivel de estación y el puesto remoto de ingeniería.
• Interfaz 8: Intercambio de datos directo entre de bahías.
• Interfaz 9: Intercambio de datos dentro del nivel de estación.
• Interfaz 10: Intercambio datos de control entre equipos de subestación y centro
control remoto.
La arquitectura de un SAS planteado en la norma muestra también dos redes LAN o buses
de comunicación que son la base fundamental para el mejoramiento de la comunicación en
las subestaciones actuales, estos reciben el nombre de BUS de proceso y BUS de estación:
• BUS de estación o inter bahías: Esta red es la que establece comunicación entre
equipos del nivel de bahía y equipos de estación, en el interactúan las interfaces IF3,
IF1, IF6, IF9 e IF8, él envió de información en este bus se hace a través de protocolos
GOOSE y MMS.
• BUS de proceso: El bus de proceso es la nueva red que introduce la norma a los
sistemas de comunicación en subestaciones y es un concepto de tecnología E/S
distribuidas para sistemas de protección y control, establece la comunicación entre
equipos de patios y equipos de bahía, las interfaces IF4 y la IF5 son las que interactúan
en esta red enviando información a través de protocoles GOOSE y Sampled Values
(SV).
Lo que se pretende con la definición del modelo de datos es obtener una imagen virtual del
mundo real, Así, se podrán modelar todos los objetos físicos reales (transformador,
interruptor, seccionador, etc.) con todas sus propiedades, así como todas las funciones que
deben ser desarrolladas dentro de una subestación. La norma establece un modelo de
11
información jerárquico, el cual permite virtualizar los dispositivos físicos y consta de cinco
niveles los cuales son mostrados en la figura 4.
Tal como se observa en la figura 4 existen cinco niveles que determinan el modelo de datos,
en orden ascendente se tiene:
12
La definición de este modelo de datos constituye el núcleo de la norma y atribuye al estándar
dos de sus principales características: la posibilidad de auto descripción de los objetos y la
posibilidad de intercambiar dispositivos de diferentes fabricantes siempre y cuando cumplan
con las mismas funciones (interoperabilidad).
Como se puede observar en la figura 5 la parte fundamental para que exista una virtualización
del mundo real son los llamados Nodos Lógicos, los cuales representan funciones que
intervienen en la automatización de una subestación, sin duda, son los pilares de la norma
por lo que su estudio, será necesario para una mejor comprensión del estándar IEC61850.
13
la letra PXXX, A continuación, se presentan los grupos que se encuentran dentro de la norma
según los niveles de la subestación:
• Nivel de Estación:
Grupo I: Interfaces y registros.
• Nivel de Posición o Bahía:
Grupo A: Control Automático.
Grupo C: Control.
Grupo F: Bloques Funcionales.
Grupo M: Medida.
Grupo P: Protección.
Grupo R: Relacionadas con protección.
Grupo S: Supervisión y monitorización.
• Nivel de Proceso:
Grupo T: Transformadores de instrumentación.
Grupo X: Interruptores.
Grupo Y: Transformadores de potencia.
Grupo Z: Transformadores de potencia secundaria.
• Nodos de sistema y otros:
Grupos L: Nodos lógicos del sistema.
Grupo W: Energía Eólica (Ed2).
Grupo G: Nodos lógicos genéricos.
Grupo K: Nodos lógicos para equipamiento mecánico y no eléctrico.
Grupo Q; Nodos lógicos para eventos de calidad de energía.
Grupo D: Fuentes de Energía Distribuida (Ed2).
Grupo H: Hidroeléctricas (Ed2).
Cada grupo describe las diferentes funciones en una subestación, en el apartado IEC61850
7-2 del estándar se definen las funciones mostradas en la tabla 1.
14
Describen las funciones de control de procesos, que no están asociadas a la
protección
NODO LÓGICO DESCRIPCIÓN
ANCR Regulador de corriente de neutro
ARCO Control de potencia reactiva
ARIS Control de resistor
ASEQ Secuenciador
ATCC Controlador automático cambiador de tomas
AVCO Control de voltaje
GRUPO C: NODO LÓGICO DE CONTROL
Describen las funciones de control, asociado principalmente con los equipos de
corte
NODO LÓGICO DESCRIPCIÓN
CALH Manejo de alarmas
CCGR Control del grupo de refrigeración
CILO Interlocking
CPOW Cambio de punto en onda
CSWI Controlador de interruptor
CSYN Controlador de sincronismo
GRUPO F: NODO LÓGICO DE BLOQUES FUNCIONALES
Describe las funciones de nodos lógicos que se encuentran implícitas en la
configuración de los dispositivos
NODO LÓGICO DESCRIPCIÓN
FCNT Contador de nodo lógico
FCSD Descripción de forma de onda
FFIL Filtro genérico
FLIM Limitación de salida de la función de control
FPID Regulador de control PID
FRMP Función de rampa
FSCC Controlador de horario
FSCH Horario
FSPT Función de control de ajuste
FXOT Acción de sobreumbral
FXUT Acción de subumbral
GRUPO G: NODOS LÓGICOS GENÉRICOS
Permiten representar funciones que no están disponibles en los nodos existentes
NODO LÓGICO DESCRIPCIÓN
GAPC Genérico de control de proceso automático
GGIO Genérico de proceso de entrada salida
GLOG Genérico de registro
GSAL Genérico de aplicación de seguridad
15
GRUPO I: NODO LÓGICO DE INTERFACE Y ARCHIVO
Describe las funciones que determinan las interfaces y opciones de archivo en el
sistema
NODO LÓGICO DESCRIPCIÓN
IARC Archivo
IHMI Interface humano-máquina
ISAF Función de alarma de seguridad
ITCI Interface de telecontrol
ITMI Interface de telemonitoreo
ITPC Interface de comunicación de teleprotección
GRUPO K: NODOS LÓGICOS PARA EQUIPOS PRIARIOS MECÁNICOS
Y NO ELÉCTRICOS
Describe los equipos no eléctricos del sistema y sus funciones
NODO LÓGICO DESCRIPCIÓN
KFAN Ventilador
KFIL Filtro
KPMP Bombas
KTNK Tanque
KVLV Control de Válvula
GRUPO M: NODOS LÓGICOS DE MEDIDA
Describe las funciones de medida que se presentan en los equipos destinados para
ello
NODO LÓGICO DESCRIPCIÓN
MENV Información Ambiental
MFLK Medida de fluctuaciones
MFLW Medida de flujo
MHAI Medida de armónicos
Medida de armónicos no relacionados con fases de Corriente
MHAN
alterna
MHET Valores medidos en calor
MNTN Medidas monofásicas
MMTR Medidas trifásicas
MMXN Medidas no relacionadas con fase de corriente alterna
MMXU Medidas generales
MSQI Medidas de secuencia
GRUPO P: NODOS LÓGICOS FUNCIONES DE PROTECCIÓN
Describen las funciones de protección
NODO LÓGICO DESCRIPCIÓN
PDIF Protección Diferencial
PDIR Protección Direccional
PDIS Protección de distancia
PDOP Protección de sobrepotencial direccional
PDUP Protección de su potencia direccional
16
PFRC Protección de frecuencia
PHAR Restricción de armónicos
PHIZ Protección de falla de aislamiento
PIOC Protección instantánea de sobre corriente
PMRI Protección de inhibición de reinicio de motor
PMSS Protección de supervisión del tiempo de inicio del motor
POPF Protección de sobre factor de potencia
PPAM Protección de medida de ángulo de fase
PRTR Protección de rotor
PSCH Esquema de protección
PSDE Protección sensitiva direccional de falla a tierra
PTEF Protección de falla transiente a tierra
PTHF Protección de tiristor
PTOC Protección temporizada de sobrecorriente
PTOF Protección de sobrefrecuencia
PTOV Protección de sobretensión
PTRC Disparo general
PTTR Protección de temperatura
PTUC Protección de subcorriente
PTUF Protección de subfrecuencia
PUPF Protección de sub factor de potencia
PVOC Protección de sobrecorriente controlada por tensión
PVPH Protección voltios por Hertz
PZSU Protección de velocidad cero o subvelocidad
GRUPO Q: NODOS LÓGICOS PARA EVENTOS DE CALIDAD DE
POTENCIA
Describe las funciones que permiten evidenciar los sucesos que afectan el
correcto funcionamiento de la subestación
NODO LÓGICO DESCRIPCIÓN
QFVR Variación de frecuencia
QITR Transiente de corriente
QIUB Variación de desbalance de fase
QVTR Transiente de tensión
QVUB Variación de desbalance de voltaje
QVVR Variación de Voltaje
GRUPO R: NODOS LÓGICOS DE FUNCIONES RELACIONADAS CON
PROTECCIÓN
Describe las funciones que complementan las funciones de protección
NODO LÓGICO DESCRIPCIÓN
RADR Registrador de eventos de canal análogo
RBDR Registrador de eventos de canal binario
RBRF Falla de interruptor
17
RDIR Elemento Direccional
RDRE Función de registrador de eventos
RDRS Manejo de registrador de eventos
RFLO Localizador de fallas
RMXU Medidas diferenciales
RPSB Detección y bloqueo de oscilaciones de potencia
RREC Recierre
RSYN Verificación de sincronismo
GRUPO S: NODOS LÓGICOS DE SUPERVISIÓN Y MONITOREO
Describen las funciones relacionadas con la supervisión y monitoreo de la
subestación
NODO LÓGICO DESCRIPCIÓN
SARC Monitoreo y diagnóstico de arcos
SCBR Supervisión de interruptor
SIMG Supervisión de medio aislante, gas
SIML Supervisión de medio aislante, líquido
SLTC Supervisión del cambiador de tomas
SOPM Supervisión de los mecanismos de operación
SPDC Monitoreo y diagnóstico para descargas parciales
SPRS Supervisión de presión
SPTR Supervisión de transformador de potencia
SSWI Supervisión de seccionador
STMP Supervisión de Temperatura
SVBR Supervisión de presión
GRUPO T: NODOS LÓGICOS DE TRANSFORMADORES DE
INSTRUMENTOS
Describen las funciones asociadas a los transformadores de instrumentos
NODO LÓGICO DESCRIPCIÓN
TANG Sensor de ángulo
TAXD Sensor de Desplazamiento axial
TCTR Transformador de corriente
TDST Sensor de distancia
TFLW Sensor de Flujo de caudal
TFRQ Sensor de frecuencia
TGSN Sensor genérico
THUM Sensor de Humedad
TLVL Sensor de nivel
TMGF Sensor de campo magnético
TMVM Sensor de movimiento
TPOS Indicador de posición
TPRS Sensor de presión
TRTN Trasmisor de velocidad angular
18
TSND Sensor de presión sonora
TTMP Sensor de temperatura
TTNS Sensor de tensión mecánica
TVBR Sensor de vibración
TVTR Transformación de tensión
TWPH Nivel de PH
GRUPO X: NODOS LÓGICOS DE EQUIPOS DE CORTE
Describen los equipos de corte o maniobra presentes en la subestación
NODO LÓGICO DESCRIPCIÓN
XCBR Interruptor
XSWI Seccionador
GRUPO Y: NODOS LÓGICOS DE QUIPOS DE POTENCIA
Describen los quipos de potencia presentes en la subestación
NODO LÓGICO DESCRIPCIÓN
YEFN Limitador de falla a tierra
YLTC Cambiador de tomas
YPSH Derivación de potencia
YPTR Transformador de potencia
GRUPO Z: NODOS LÓGICOS PARA OTROS EQUIPOS DEL SISTEMA DE
POTENCIA
Describe los equipos y demás funciones que no están incluidas en los demás
grupos
NODO LÓGICO DESCRIPCIÓN
ZAXN Red auxiliar
ZBAT Batería
ZBSH Cojinetes
ZCAB Cables de potencia
ZCAP Banco de capacitores
ZCON Convertidor
ZGEN Generador
ZGIL Línea aislada a gas
ZLIN Línea aérea
ZMOT Motor
ZREA Reactor
ZRES Resistor
ZRRC Componente reactivo rotativo
ZSAR Pararrayos
ZSCR Rectificador controlado
ZSMC Máquina sincrónica
ZTCF Convertidor de frecuencia controlado por tiristor
ZTCR Componente reactivo controlado por tiristor
Tabla 1. Funciones de nodos lógicos.
19
Los nodos lógicos y sus funciones descritos en la tabla 1 son utilizados dependiendo los
requerimientos de una subestación, sin embargo, la norma establece el uso obligatorio de 2
nodos lógicos que deben estar presentes en cualquier dispositivo lógico estos son:
• Nodo Lógico LPHD: El cual contiene toda la información del dispositivo físico.
• Nodo Lógico LLN0: El cual contiene la configuración del dispositivo lógico, en este
nodo se encuentra configurados los Dataset y Reportes.
Los nodos lógicos también presentaran objetos de datos que son de uso obligatorio (M),
opcional (O) y Condicional (C), la norma define 4 DO que son de carácter mandatorio en un
nodo lógico común (LPHD o LLN0) los cuales son Mode, Behavior, Health y NamePlt.
20
1.1.5 Clases de Datos Comunes (CDC)
Según su funcionalidad los nodos lógicos contienen una lista de objetos (nivel 4 “DO”) con
sus correspondientes atributos (nivel 5 “DA”). Para el modelado de estos atributos, los tipos
de datos simples (enteros, boléanos, etc.), se organizan formando tipos de datos compuestos
(calidad, escala), y estos, a su vez, se agrupan para formar los tipos de datos comunes
Common Data Classes (CDC), medida, datos controlables, información de estados, etc. La
agrupación de estos últimos forma los nodos lógicos, tal como se observa en la figura 6.
Los CDC dan información sobre parámetros de estado, parámetros de medida, información
para ajustes, avisos, medidas, alarmas, información de protección y falla, configuraciones
analógicas, etc. Los Atributos, constituyen la característica especifica otorgada a cada CDC,
refiriéndose a valores de estado (stVal), Valores de calidad (q), estampas de tiempo (t), etc.
21
1.1.6 Restricciones Funcionales (FC)
Los FC (Funtional Constraint), facilitan la identificación de los atributos presente en cada
objeto de datos, agrupando los DA según su característica, esto permite en caso un cliente
consulte la posición de un interruptor, el FC “ST” mostrara el estado del interruptor sin mayor
dificultad, dado que permite conocer el estado del dispositivo en tiempo real (ver figura 6).
En la tabla 3 se muestran los FC presentes en la norma.
FC DESCRIPCIÓN
ST Estado de dispositivos
MX Valores de medida
CO Comandos de Proceso, control
SP Puntos de Ajuste,
SV Sustitución
CF Configuración
DC Descripción
SG Grupos Ajustables
SE Valores editables
CB Circuit Breaker
SP Parámetros de Salida
Ex Valores externos
Tabla 3. Restricciones Funcionales de IEC61850.
22
Un nodo lógico tendrá agrupaciones que permitirán un orden en su estructura de datos, en la
figura 7 se muestra un ejemplo del modelado de un nodo lógico de tipo transformador de
intensidad (TCTR) formado por varios atributos. De estos atributos, Amp (valor instantáneo
de intensidad) es una clase de datos compatible (CDC) de tipo SAV (Sampled Value) que
está compuesto por un conjunto de atributos. El atributo sVC (escala) está formado por dos
objetos (factor de escala y offset), este último construido con dos datos básicos (FLOAT32)
que corresponden a una descripción (DC) dentro de una restricción funcional (FC).
Rele1/TCTR$Amp$sVC$scaleFactor
Para que la información contenida en el modelo de datos y por ende en un nodo lógico pueda
interactuar con el exterior y establecer comunicación con otros dispositivos, es necesario
crear los servicios (Reportes, Goose, SV) que ayudaran a extraer la información desde un
nodo lógico agrupando cada uno de sus datos en un conjunto de datos llamados Datasets.
Los data sets se utilizan en IEC 61850 para leer o escribir varios objetos o atributos de datos
al mismo tiempo mediante un único mensaje. Los servicios de Reportes, GOOSE y SV se
basan en el concepto de los data sets para la transmisión de información.
23
Los datos referenciados en una data set deben ser conocidos tanto por el servidor como por
el cliente. En este caso, sólo se necesitará transmitir el nombre del Dataset y los valores de
los datos, esto permite optimizar las comunicaciones.
• Todos los objetos de datos o sus atributos de datos se pueden seleccionar para un
Dataset.
• Solo aquellos atributos de datos de un objeto de datos pueden ser seleccionados
siempre y cuando tengan el mismo FC.
• Se pueden seleccionar objetos de datos con diferente FC para un Dataset. Por ejemplo,
DO con FC =ST y DO con FC = MX pueden ser miembros en un conjunto de datos.
• Se puede seleccionar un solo atributo de datos cuando se especifica con una opción
de activación. Por ejemplo, el atributo de datos stVal del objeto de datos Pos puede
seleccionarse como miembro de un Dataset, porque se especifica con el cambio de
datos de opción de disparo detectado (dchg), tal como está definido en la Figura
anterior.
24
1.1.9 Reportes de Bloques de Control (URCB/BRCB)
Para poder transmitir las señales configuradas en un DataSet, debe haber un bloque de control
de informe configurado para manejar y especificar cómo se transmiten los eventos a los
clientes. Por tanto, para la transmisión de datos de un nodo lógico hacia el exterior se deberá
crear un DataSet y posteriormente un Reporte de Bloque de Control. El diagrama de bloque
mostrado en la figura 9 especifica el proceso para la comunicación y transmisión de datos.
25
Hay dos tipos de bloques de control de informes; sin búfer y con búfer. El bloque de control
con búfer (informe almacenado) almacena los eventos durante una interrupción de
comunicación, posteriormente cuando se reestablece la comunicación enviara los datos
almacenados que fueron generados durante de la interrupción, seguidamente enviara los
datos actuales, mientras que el bloque de control sin búfer (no almacenado) enviara
únicamente los datos actuales al reestablecerse la comunicación, todos aquellos datos que
fueron generados durante la interrupción no serán recuperados. La figura 10 muestra de
manera ilustrativa el funcionamiento de los reportes con búfer y sin búfer.
Los modelos y servicios propios del estándar IEC 61850 se catalogan como modelos y
servicios de tipo Abstract Communication Service Interface (ACSI por sus siglas en inglés)
los cuales deben ser traducidos a modelos y servicios que empleen protocolos estándares, la
norma emplea tres protocolos principales de comunicación, MMS, GOOSE y Sampled
Values (Valores Muestreados) los cuales permiten el intercambio de información entre los
distintos niveles de la subestación.
26
• Tipo 1: Mensajes rápidos.
• Tipo 1A: Ordenes de disparos.
• Tipo 2: Mensajes de velocidad media.
• Tipo 3: Mensajes de velocidad baja.
• Tipo 4: Mensajes de valores análogos.
• Tipo 5: Mensajes de transferencia de archivos.
• Tipo 6: Mensajes de sincronización
El protocolo SNTP pertenece a servicios de sincronismos por lo que queda fuera del alcance
de este documento. Los servicios presentes en la figura 11 se describen a continuación:
• Mensajería GOOSE: La información que se debe gestionar y que tienen que dársele
la mayor prioridad como por ejemplo una acción de disparo para protección, el
accionamiento de un disyuntor, etc. Debe atenderse con la máxima rapidez y
establecer por lo tanto un medio de comunicación de muy alto rendimiento, estas
comunicaciones los brinda los entorno del IEC 61850, mediante GOOSE (Generic
Object Oriented Substation Events), que corresponde a los mensajes que se
transmiten, entre IED’s esto es en forma horizontal en los niveles de bahía, e
identifican a los eventos que se puedan dar en el proceso, se define en el IEC 61850-
1, como una transferencia de datos en tiempo critico orientada a eventos.
El servicio GOOSE es la herramienta que se utiliza para transmitir datos que lleven
información de estado, información de medidas, información de control, información
que será distribuida a la red de tal forma que otros dispositivos hagan uso de la
información enviada como mensajes multidifusión (multicast), esto es, no están
dedicados a ningún dispositivo receptor en particular si no que lo reciben todos los
dispositivos del bus de red, haciendo uso de la información el dispositivo que lo
requiera, esta actividad de mensajería se realiza varias veces por lo que la
probabilidad de que algún dispositivo haga uso de las misma es mayor.
27
digitales. Las señales analógicas son muestreadas y transmitidas. Tanto el servicio
GOOSE como SV se encapsulan sobre capa 2 del modelo OSI Ethernet por lo que la
transmisión de estos protocolos en una red de comunicación será más rápida en
comparación al MMS ya que este último como se ha mencionado anteriormente está
basado en el modelo OSI tradicional y utiliza un modelo Cliente/Servidor para
transferencia de datos.
Como se ha descrito en este apartado los servicios o protocolos que trae consigo el estándar
son los que permitirán una correcta comunicación en los niveles de un SAS por un lado
tendremos los SV que serán los encargados de obtener y transmitir señales analógicas de los
instrumentos en patio, a su vez contaremos con mensaje GOOSE encargados de transmitir
señales digitales tanto de nivel de proceso como de nivel bahía, finalmente tendremos los
servicios MMS que permitirán recibir y descifrar de una manera sencilla la información
transmitida de nivel de bahía a nivel de estación.
28
• Relación entre los equipos y sus funciones de instrumentación.
El objetivo principal del lenguaje SCL es el intercambio interoperable de los datos de
ingeniería en la subestación entre las herramientas de ingeniería de los distintos fabricantes.
Este modelo también permite obtener una configuración automatizada de las funciones y de
las comunicaciones, así como la comprobación del funcionamiento del sistema. Para poder
proporcionar esta interoperabilidad es necesario:
• Una descripción formal del sistema de automatización de la subestación, incluyendo
todos los enlaces de comunicación.
• Describir sin ningún tipo de ambigüedad las capacidades de los dispositivos IED’s.
• Descripción de los servicios de comunicación aplicables.
• Descripción formal de la relación entre la instalación de distribución y los datos del
sistema de automatización.
El lenguaje SCL establece cuatro archivos:
1) El archivo SSD (System Specification Description): En el cual constan las
especificaciones del sistema y también describe el diagrama unifilar de la subestación
y los LN requeridos.
2) El archivo ICD (IED Capability Description): Describen las capacidades de los IEDs,
incluye también el soporte de la información de los LN y GOOSE.
3) El archivo SCD (Substation Configuration Description): Refieren también al detalle
de la configuración de la subestacion. Contiene todos los IED’s, una sección de
configuración y una de subestación.
4) El archivo CID (Configured IED Description): Que detalla las configuraciones y
descripciones completas de los IED, archivos que actuaran según los diferentes
requerimientos por lo cual están construidos bajo los mismos formatos.
29
La figura 13 muestra el proceso de ingeniería para la configuración de una subestación y cada
uno de sus dispositivos, en el cual al hacer la ingeniería de proceso obtenemos el archivo
ICD de cada relé de protección el cual contiene la base de datos completa de variables
análogas, digitales de control y medición de IEC 61850.
Posteriormente con una herramienta de configuración se crea el archivo SCD el cual contiene
los archivos necesarios y la configuración para el mapeo cruzado de publicador y receptor.
Finalmente se obtiene el archivo CID, el cual contiene la configuración para los servicios
proporcionados por IEC 61850 (Mensajes MMS, GOOSE y Sampled Values).
En resumen, el archivo ICD (contiene la información del relé) esta previamente instalado en
el IED y con las herramientas de cada fabricante (Siemens, ABB, Schneider, etc.) se
transforma a archivos SCD (contiene la información de equipos de la subestacion) para
posteriormente descargar los archivos CID (configuración del relé) a los IED’s
correspondientes. La figura 14 muestra los pasos enumerados para el proceso de
configuración de archivos SCL.
30
1.2 Equipos y software en una infraestructura de
simulación/emulación en un laboratorio de aprendizaje de la
norma IEC61850
En esta sección del documento se recopila información de características y configuraciones
básicas de softwares con licencia de prueba o gratuitos útiles para la configuración de
escenarios de pruebas bajo el estándar IEC61850, entre los programas que se utilizan para
propósitos educativos del aprendizaje de la norma se tienen: software de configuración de
IED’s, simuladores, IED’s virtuales, clientes entre otros.
31
A continuación, se describen los elementos que se encuentran en la barra de herramientas:
Para la creación de un nuevo archivo ICD hacer clic en el botón “new”, lo cual abrirá la
ventana mostrada en la figura 16.
Creación de un ICD.
32
Tal como se observa en la figura anterior el software permite crear archivos ICD ya sea en
edición 1 o edición 2 según las características del IED a configurar. También permite editar
el nombre del IED, el fabricante, el tipo y una pequeña descripción, estos últimos ítems no
son obligatorios y solo sirven para información general del dispositivo a configurar.
Luego de rellenar los campos de información del archivo ICD, hacer clic en OK, esto abrirá
una nueva ventana la cual permite crear un dispositivo lógico tal como se muestra en la figura
siguiente.
Luego de asignar el nombre y el tipo del dispositivo lógico hacer clic en OK, finalmente se
crea el nuevo archivo ICD el cual contiene en el dispositivo lógico, dos nodos lógicos
obligatorios (LLN0 y LPHD1) tal como se muestra en la figura 18.
Archivo ICD.
En caso de agregar más dispositivos lógicos hacer clic en LD (Logical Device) el proceso a
seguir para la creación de un dispositivo lógico es el que se ha descrito anteriormente. Si se
33
desea agregar más nodos lógicos hacer clic en LN (Logical Nodo), esto abrirá la ventana
mostrada en la figura 19.
Como se observa en la figura anterior el software solo permite crear 8 nodos lógicos en su
versión de prueba, dependiendo de las necesidades del IED a configurar se selecciona el nodo
lógico adecuado, se debe asignar también un nombre y un prefijo, el programa también
permite crear un numero de instancia, al terminar de editar el nodo lógico hacer clic en OK.
Para la creación de un Dataset se selecciona el nodo lógico LLN0 (nodo lógico asignado para
la configuración de servicios de comunicación del IED), una vez ubicado en LLN0 hacer clic
en DS, se abrirá la ventana de la figura 20.
34
Creación de DataSet.
Para la creación de un bloque de control hacer clic en CB, esto abrirá la ventana que se
muestra en la figura 21, se debe tener en cuenta que al igual el DS, el bloque de control se
configura en el nodo lógico LLN0.
35
Creación de un Bloque de Control.
Tal como se muestra en la figura anterior el programa permite crear reportes búfereados y no
búfereados, bloques de control GOOSE, Sampled Values y de configuración, en el capítulo
2 se desarrollan las configuraciones de un CB de tipo GOOSE.
36
La figura 22 muestra la interfaz principal del software, sirviendo como cliente de un relé
simulado, del lado izquierdo se encuentra el modelo de datos del IED, a la derecha se
encuentra el mapeo de los TAGs (etiqueta o segmento de código) del relé simulado. En la
parte inferior se encuentra una ventana de consola que brinda información acerca de las
acciones realizadas, las conexiones y errores que ocurran.
La figura 23 muestra la pestaña dashboard en la que se encuentran los TAG que se han
agregado, se visualiza su nombre completo, nombre del tag, valor, estampa de tiempo,
calidad, tipo de acceso (solo lectura, o lectura y escritura), tipo de dato y descripción. Permite
monitoreo en tiempo real para tipos de datos de lectura, y puede realizarse control en los
casos de TAG’s de tipo CO.
37
Pestaña dashboard.
Para la creación de un driver bajo el estándar IEC61850 hacer clic en la pestaña “configure”
del software Relab OPC tal como se muestra en la figura 24, seguidamente hacer clic en
LoadDriver y aparecerá la ventana mostrada en la figura 25.
38
Selección del driver para un dispositivo IEC61850.
Como se observa en la figura 25 el software permite crear Drivers para diferentes protocolos,
se selecciona el Driver para IEC61850 y se asigna un nombre a dicho driver “Driver2”, luego
de nombrar el driver hacer clic en OK, seguidamente se abrirá la ventana mostrada en la
figura 26.
39
Relab permite exportar archivos CID para visualizar los nodos lógicos, dataset y reportes del
CID, para ello se hace clic en Load configuration from CID file, esto habilitará la opción para
exportar el archivo CID, luego de exportar el archivo hacer clic en OK.
Si se desea leer los datos de un IED conectado a la red hacer clic en OK sin realizar ninguna
modificación, aparecerá la ventana mostrada en la figura 27, se escribe la dirección IP del
IED y el puerto TCP, el estándar define el puerto 102 por defecto, luego de ingresar los datos
hacer clic en OK y el software buscará al dispositivo conectado en la red, una vez el software
detecte el IED aparecerá el modelo de datos que contiene el dispositivo tal como se muestra
en la figura 28.
Configuración TCP/IP.
40
Para mapear los datos del IED seleccionar el nodo lógico que contiene los tags de interés,
hacer clic derecho y seleccionar Auto Map Recommended para que los datos aparezcan en el
Dashboard del Relab tal como se muestra en la figura 29.
Para continuar agregando más tags al Dashboard se seguirá el mismo proceso descrito
anteriormente, una vez se tengan los datos de interés se podrá visualizar en tiempo real el
estado de los atributos del IED tal como se ha mostrado en la figura 23.
En la ventana IEDview se visualizan los nodos lógicos, dataset, mediciones, comandos entre
otros. Proporciona información como el nombre, valor actual y el tipo de dato, los valores
monitoreados pueden ser leídos en tiempo real.
41
Interfaz gráfica IEDexplorer.
A continuación, se muestran las funciones utilizadas durante las pruebas realizadas en este
documento.
Configuración de IEDExplorer.
42
1.2.3.2 Monitoreo de atributos vía MMS y estructuras de árbol
Una vez configurados los parámetros de conexión, hacer clic al botón OK, el programa
iniciara la conexión al IED mostrando en forma de diagrama de árbol su modelo de datos, así
como sus nodos lógicos, objetos y atributos, tal como se muestra en la figura 32. En la ventana
del lado izquierdo (IEDTreeView), se tienen dos opciones para la visualización del IED
conectado.
IEDView MMS, el cual muestra los datos del IED de manera ordena, es decir, en vista MMS
los reportes, dataset y datos del nodo lógico están separados según su categoría al que
pertenecen, mientras que en IECView 61850 los datos aparecen como la norma lo establece,
es decir, en esta opción se visualiza únicamente los nodos lógicos existentes en el IED, los
reportes, datos y dataset se encuentran en el nodo lógico de configuración LLN0. Tal como
se muestra en la figura 42.
43
Ventana de monitoreo de atributos.
Entre la información que se envía al IED está la categoría, la cual sirve para identificar de
que parte de la subestación procede el comando, también se envía un identificador, esto para
determinar si el comando es válido, entre las categorías están:
44
• BAY_CONTROL
• STATION_CONTROL
• REMOTE_CONTROL
• AUTOMATIC_BAY
• AUTOMATIC_STATION
• AUTOMATIC_REMOTE
• MAINTENANCE
• PROCESS
1.2.3.4 Explorar mensajes GOOSE
Para abrir un explorador GOOSE seleccionar la opción GooseExplorer ubicado en barra de
herramientas (subrayado de color verde), se abrirá una pestaña donde se selecciona el
adaptador de red a utilizar y se obtiene el número de IED’s identificados, su respectiva
dirección MAC y la cantidad de mensajes GOOSE recibidos, tal como se muestra
seleccionado de color rojo en la figura 35. Una vez se reciban los mensajes GOOSE
aparecerán organizados como diagramas de árbol (subrayado de color azul), del lado derecho
encerrado en amarillo aparecerán los datos del mensaje, nombre, tipo y valor. En la parte
inferior de la ventana se tiene un gráfico con el valor vs el tiempo del mensaje seleccionado.
Goose Explorer.
Otra funcionalidad del software es exportar la configuración de los mensajes GOOSE como
un archivo XML, esto se realiza al hacer clic derecho sobre el mensaje GOOSE o su conjunto,
se selecciona la opción “export data from selected database” o “export goose including this
dataset” y seleccionamos la ruta de destino del archivo XML.
45
La figura 36 muestra enmarcado en azul los parámetros necesarios para él envío del mensaje,
al presionar en Edit se podrá modificar los valores que se envían, y con el botón run/stop se
comenzaran a enviar los mensajes.
GOOSE sender.
Otra opción que incluye el software es la lectura de reportes con bufer o sin bufer, para
visualizarlos estos deben ser habilitados desde IEDExplorer, Cuando los reportes sean
habilitados serán mostrados en la sección ReportsView tal como se muestra en la figura 37,
estos aparecen cuando exista un cambio de medida o estado.
Visualización de Reportes.
46
1.2.4 Goose Sender/Receiver (Suscriptor/Publicador GOOSE)
Software de la empresa INFOTECH creado con propósitos educativos cuyo fin es el envío
de mensajes GOOSE a través de una VLAN, tal como se observa en la figura 38 se configuran
los parámetros del adaptador de red que ocupa, las direcciones MAC de fuente y destino, el
número de VLAN, su prioridad, el App ID, el identificador de GOOSE, el nodo lógico y
dataset al cual va dirigido el mensaje. En la parte inferior se observa un recuadro donde se
encuentran los datos a ser enviados, este puede ser desde un valor bool, hasta un conjunto de
valores a partir de una formula.
GOOSE sender.
Los valores enviados pueden ser captados por su programa dual GOOSE receiver de la misma
empresa o pueden ser enviados a un equipo capaz de recibir mensajes GOOSE ya sea de
forma simulada o un IED real.
Los elementos que se encuentran en la barra de herramientas del GOOSE Sender son
descritos a continuación
47
Exit: Cierra el programa GOOSE Sender.
GOOSE Receiver.
Los elementos que se encuentran en la barra de herramientas del GOOSE Receiver son
descritos a continuación:
48
Para él envió de mensajes GOOSE se importa un archivo SCL o se configura directamente
un mensaje desde el GOOSE Sender, la figura 40 muestra los mensajes GOOSE de un
archivo importado, para realizar esta acción hacer clic en Import y seleccionar el archivo
SCL que contiene los mensajes GOOSE.
Para simular un mensaje GOOSE se selecciona el mensaje que se desea simular desde el
archivo importado y luego se hace clic en el botón Use, al realizar esta acción se mostrara en
la ventana principal los atributos que contiene el mensaje, así como su configuración, tal
como lo muestra la figura 41.
49
Una vez se tengan los mensajes GOOSE a simular, seleccionar el adaptador de Red en el cual
se estarán enviando dichos mensajes y hacer clic en Start, para la visualizar los mensajes
enviados se utiliza el software GOOSE Receiver para ello se hace clic en Detect Streams, al
realizar esta acción se mostrarán en una ventana todos los mensajes GOOSE que están siendo
enviados por un publicador en la Red, tal como se muestra en la figura 42.
Luego de seleccionar el mensaje GOOSE que se desea visualizar, hacer clic en Suscribe,
seguidamente aparecerá en la ventana principal los atributos y la configuración que contiene
el mensaje GOOSE al cual se está suscrito, por último, dar clic en Start.
Es importante que el adaptador de Red sea el mismo que está configurado en el Goose Sender,
los cambios realizados en cada atributo desde el GOOSE Sender se reflejan inmediatamente
en el GOOSE Receiver.
50
Simulador RELE EIC61850.
El software funciona como un servidor bajo el estándar IEC61850, el archivo ICD del relé
simulado se encuentra en la ruta de instalación con las configuración y modelado del IED,
dicho archivo puede ser simulado en otro servidor y funcionara de igual manera, pero sin
interfaz gráfica, también es posible cambiar la dirección IP, puerto, dirección MAC entre
otros parámetros al editar dichos archivos.
Para él envió de disparos del relé a través de mensajes GOOSE se utiliza el software GOOSE
Publisher, este es instalado junto con el Simulador del Relé, para enviar un mensaje GOOSE
al relé se debe configurar el adaptador de Red donde se enviará la trama de mensajes GOOSE
y luego se hace clic en GO, tal como se muestra en la figura siguiente.
51
Goose Publisher.
52
La herramienta ofrece una interfaz interactiva en las que se podrá simular elementos comunes
de una bahía en configuración barra con doble salida. Para ello, utiliza tres equipos: dos
interruptores y un seccionador. Además, presenta un panel de medidas que se pueden ajustar
en modelo de auto-simulación para la falla de un motor, posee también 6 indicadores los
cuales enviaran tramas de mensajes GOOSE, la figura siguiente muestra la interfaz gráfica
del software.
Simulator Bay.
53
1.2.7 Wireshark (Analizador de red)
Es un software gratuito que permite analizar el tráfico en la red en tiempo real. La herramienta
intercepta el tráfico y lo convierte en un formato legible para las personas. Esto hace que sea
más fácil identificar qué tráfico está cruzando la red, con qué frecuencia y la latencia que hay
entre ciertos saltos. Wireshark admite más de 2000 protocolos de red, incluidos entre ellos
IEC61850, en la figura siguiente muestra la interfaz gráfica del software.
Para propósitos de este documento, Wireshark se utiliza para analizar el tráfico de datos del
protocolo GOOSE, también es posible analizar el tráfico del protocolo Sampled Value. La
publicación de estos protocolos se realiza a través de tramas de multidifusión, un paquete de
trama ethernet estará conformado por una MAC de origen, una MAC de destino y el
Ethertype este último permite identificar el tipo de mensaje que se está transmitiendo, por
ejemplo, para un mensaje GOOSE el Ethertype utilizado será 0x88B8, en el caso de un
mensaje SV el Ethertype utilizado es 0x88BA.
54
Trama Sampled Value capturado en Wireshark.
Como se logra apreciar en las ilustraciones anteriores las tramas aquí presentes están
definidas como:
Para visualizar el tráfico de datos de mensajes GOOSE seleccionar el adaptador de red por
el cual se estarán publicando dichos mensajes, esto se logra en la ventana de inicio tal como
lo muestra la figura 50, una vez seleccionado el adaptador de red, se abrirá una ventana
mostrando el tráfico existente en la red.
55
Selección de adaptadores de Red en Wireshark.
Para poder visualizar únicamente el tráfico de mensajes Goose hacer clic en “Expresión”
ubicado al lado derecho de la barra de herramientas, seguidamente se abrirá una nueva
ventana que mostrará todos los protocolos que puede analizar el software, ubicarse en
“Search” y escribir el nombre del protocolo de interés. tal como se muestra en la figura 51.
56
Una vez se encuentre el protocolo deseado se selecciona y se hace clic en aceptar, esto
permitirá ver únicamente el tráfico de datos de mensajes GOOSE tal como se muestra en la
figura 52.
Para propósitos de este documento se utilizará Elipse Power como centro de control de la
subestación, el cual simulará una SAS a niveles de bahía y de estación. La figura siguiente
muestra la interfaz gráfica del software.
57
Software Elipse Power.
El diseño de un sistema SCADA quedan fuera de los alcances de este documento, por lo que
únicamente se describen de manera breve algunas herramientas del software que serán útiles
para la aplicación de uno de los escenarios de prueba planteado en la sección 3.3 del capítulo
3. Para la creación de un nuevo proyecto hacer clic al icono “nuevo” ubicado en la barra de
herramientas, esto abrirá una ventana donde se agrega el nombre del proyecto y la dirección
donde desea guardarse, al finalizar hacer clic en avanzar hasta llegar a la última ventana
donde se debe hacer clic en “concluir”, la figura siguiente muestra lo descrito en este párrafo.
58
Una vez que se han configurado los parámetros para un nuevo proyecto se abre una nueva
ventana, en la cual se configura el modelo eléctrico del proyecto, es posible modelar un
sistema eléctrico de potencia completo, sin embargo, en este documento se utiliza el software
para un proyecto de subestación, por lo que en la barra de herramientas de dicha ventana se
presiona el icono de subestación y se arrastra hacia el área de trabajo tal como se muestra en
la figura 55.
Para la configuración del modelo de la subestación hacer doble clic sobre el elemento
“subestación” que se colocó en el área de trabajo, se abrirá una nueva ventana donde se podrá
diseñar el modelo de la subestación, tal como se muestra a continuación.
59
Cada uno de los elementos que se observan en la figura anterior han sido agregados desde la
barra de herramientas de la ventana configuración del modelo eléctrico, para ello se debe
seleccionar el equipo (Interruptores, transformadores, seccionadores etc.) que tendrá el
modelo de subestación y arrastrar el elemento hasta el área de trabajo.
60
Importando modelo eléctrico de subestación.
Luego de seleccionar “Importar para Tela” aparecerá una nueva ventana como se muestra en
la figura 58. Aquí se selecciona los objetos de datos del modelo eléctrico que se desea
sincronizar y la pantalla a la cual se desea importar el archivo, por último, se hace clic en
OK.
Una vez realizada esta acción aparecerán en la pantalla principal todos los elementos del
modelo eléctrico, los cuales están sincronizados y se configuran desde la pestaña Subestación
asignando los tags correspondientes a cada elemento para su supervisión en la pantalla
principal SCADA.
La figura 59 muestra la pantalla principal del SCADA, desde la cual es posible configurar el
entorno e interfaz gráfica que tendrá el SAS para su control y supervisión.
Para que ElipsePower pueda extraer los tags desde los servidores que trabajen bajo el
estándar IEC61850, será necesario agregar un Driver OPC (Cliente) esto permite
comunicarse con un servidor OPC (Relab) desde el SCADA, para crear un nuevo driver se
selecciona Driver OPC ubicado en la pestaña “Organizer” y se hace clic derecho sobre él,
esta acción abrirá un submenú en el cual se selecciona el item Insertar driver de
comunicación OPC, seguidamente se abre un nuevo menú donde se selecciona el item Nuevo
Archivo tal como se muestra en la figura 60. Finalmente debe agregarse un nombre al Driver
y guardarlo en la dirección que aparece asignada por defecto la cual corresponde al proyecto
en el cual se está trabajando.
61
Sincronización del modelo eléctrico en pantalla principal SCADA.
62
Luego de crear el Driver aparecerá la ventana que se muestra en la figura 61, se selecciona
un servidor OPC, para este trabajo se utiliza el CV.OPC.1 del software ReLab OPC, el cual
se ha descrito en el apartado 1.2.2 por último se finaliza haciendo clic en OK. Para activar la
comunicación entre el SCADA y Relab OPC se hace clic en activar comunicación (icono
dentro de círculo rojo), al realizar esta acción aparecerán todos los tags que se han mapeado
en el Dashboard del ReLab, se importarán aquellos tags que sean de interés en el control y
supervisión del SAS.
Para este proyecto se utiliza esta herramienta para controlar desde la PC local la Raspberry
Pi y acceder a las librerías que ayudan a emular un IED. Para la conexión PC-Raspberry Pi,
bastará con conocer la dirección IP que tiene la Raspberry, una vez se establece la conexión
se ingresa el nombre de usuario y contraseña del dispositivo, la figura siguiente muestra la
ventana de inicio del software donde se configuran estos parámetros.
63
Ventana de configuración de VNCViewer.
El soporte para IEC61850 incluye la generación automática del modelo del dispositivo vía
MMS en estructura de árbol aparte del modelo de datos bajo el estándar IEC61850. También
la API provee soporte para el modelo de control IEC 61850, servicios log, modelo de ajuste
de grupo, etc. El servidor IEC61850 soporta data sets, logeo y reportes, la estructura se
muestra en la figura 63.
64
1.2.10.1 Instalación
Para la instalación en sistemas Linux se siguen los siguientes pasos:
1. Descarga de librería desde el sitio oficial:
https://libiec61850.com/libiec61850/documentation/
2. Instalación de ambiente de desarrollo bajo C++, para esto se ejecutan las siguientes líneas
en la ventana de comandos:
$sudo apt-get build essential
3. Instalar la librería ejecutando en la terminal los siguientes comandos ubicándose en la
carpeta principal de la librería:
$sudo make
$sudo make install
65
• Código principal: Archivo que será compilado y ejecutado, todas las instrucciones
y funciones que realice el IED estarán escritas en este archivo, el código principal
hace posible la publicación y suscripción de mensajes GOOSE, ejecución de
comandos MMS, activación de pines GPIO y lectura de sensores.
1) checkHandler: Verifica que el comando recibido sea de uno de los atributos para
control disponibles, el siguiente ejemplo muestra la función para un LN de tipo GGIO
y un objeto de tipo single point control status (SPCS), la función retorna un valor
indicando si el control es aceptado o indefinido en caso contrario.
66
static ControlHandlerResult
controlHandlerForBinaryOutput (ControlAction action, void*
parameter, MmsValue* value, bool test)
{
uint64_t timestamp = Hal_getTimeInMs ();
if (parameter == IEDMODEL_GenericIO_GGIO1_SPCSO1) {
IedServer_updateUTCTimeAttributeValue (iedServer,
IEDMODEL_GenericIO_GGIO1_SPCSO1_t, timestamp);
IedServer_updateAttributeValue (iedServer,
IEDMODEL_GenericIO_GGIO1_SPCSO1_stVal, value);
}
else
return CONTROL_RESULT_FAILED;
3) Main: Función principal, hace el llamado a las funciones anteriores, esto se hace con
la función setControlHandler y setPerformCheckHandler donde se colocan el
nombre del servidor y atributo, llamando a la función de control, atributo. Tal como
se muestra a continuación:
IedServer_setControlHandler (iedServer,
IEDMODEL_GenericIO_GGIO1_SPCSO1,
(ControlHandler) controlHandlerForBinaryOutput,
IEDMODEL_GenericIO_GGIO1_SPCSO1);
IedServer_setPerformCheckHandler (iedServer,
IEDMODEL_GenericIO_GGIO1_SPCSO1, checkHandler,
IEDMODEL_GenericIO_GGIO1_SPCSO1);
Como se observa en el ejemplo se tiene el appId, la dirección MAC del adaptador que enviara
los mensajes, el ID de la VLAN a utilizar y su prioridad. En sistemas Linux la librería puede
obtener automáticamente la dirección MAC en caso que no se incluyera entre los argumentos
cuando se ejecuta el código, para esto se lee el fichero stack_config.h el cual contiene el
67
campo CONFIG_ETHERNET_INTERFACE_ID que contiene la MAC del adaptador
ethernet si los hubiere.
Por último, se habilita el envío de mensajes GOOSE con la siguiente instrucción que necesita
de parámetro el nombre del servidor IED:
IedServer_enableGoosePublishing(iedServer);
3. Se crea el objeto subscriber el cual contiene los atributos que serán leídos en el
adaptador de red seleccionado:
GooseSubscriber subscriber = GooseSubscriber_create
("DemoProtCtrl/LLN0$GO$gcb2", NULL);
5. La siguiente instrucción inicia la lectura de los mensajes goose según los parámetros
que se han seleccionado
GooseReceiver_start(receiver);
68
1.2.11 Librería libmodbus-3.1.6
Es una librería de software libre para enviar/recibir datos bajo el protocolo Modbus. Dicha
librería está escrita en lenguaje C y soporta comunicaciones vía RTU (serial) y TCP
(Ethernet).
#include <stdio.h>
#include <modbus.h> // incluimos la librería
int main(void) {
modbus_t *mb;// creamos puntero para parametros modbus
uint16_t tab_reg[32];// Arreglo de enteros de 16bits
mb = modbus_new_tcp("127.0.0.1", 1502);//añadimos parametros a
puntero
modbus_connect(mb);//realizamos conexión
/* Lectura de 5 registros desde la dirección 0*/
modbus_read_registers(mb, 0, 5, tab_reg);
modbus_close(mb);//cerramos conexión
modbus_free(mb); //liberamos puntero
}
El protocolo Modbus define diferentes tipos de datos y funciones para la lectura y escritura
de datos, las cuales ya están definidas en la librería, algunas de ellas son:
• modbus_read_bits (): Lee el contenido de los bits de entrada nb de la dirección
Modbus configuradas, el resultado se almacena en el arreglo dest con un dato signo
de 8 bits. Este utiliza la función modbus de código 0x01(read coil status).
Sintaxis:
int modbus_read_bits(modbus_t *ctx, int addr, int nb, uint8_t *dest);
69
1.2.12 Librería WiringPi
Librería escrita en C para el acceso de los pines GPIO de dispositivos SoC BCM2835
BCM2836 y BCM2837 usados en todas las versiones de Raspberry Pi, permite configurar
los pines GPIO para escritura/lectura de señales, también pueden utilizarse los pines I2C, SPI
y UART como pines de propósito general I/O cuando no son utilizados en sus modos de
comunicación.
La librería viene instalada por defecto en el sistema operativo raspbian, para comprobar que
este instalado usamos el siguiente comando en consola:
$gpio -v
• pinMode (int pin, int mode): Configura el modo de funcionamiento del pin, ya sea
INPUT, OUTPUT, PWM_OUTPUT (únicamente pin 1), GPIO_CLOCK
(únicamente pin 18).
• digitalWrite (int pin, int value): Escribe el valor HIGH (1) o LOW (0) al pin
indicado, el cual debe haber sido configurado como salida.
• pwmWrite (int pin, int value): Escribe el valor al registro PWM del pin indicado,
la Raspberry Pi posee un pin PWM (pin 1) con un rango de 0 a 1024.
• digitalRead (int pin): Retorna el valor leído del pin indicado, con valores HIGH (1)
o LOW (0).
70
Distribución de pines Raspberry Pi 3B.
71
El relé cuenta con una diversidad de protocolos de comunicación los cuales se listan a
continuación:
Debido a problemas con el acuerdo de usuario final de SEL al ser un equipo comprado a
terceros, no es posible coordinar la instalación sin pago del estándar en el relé, por lo que se
optó por desarrollar un Gateway entre los protocolos del estándar IEC61850 y el protocolo
modbus, para esto se utilizó las librerías opensource libiec61850 y libmodbus. Así se
establece comunicación con los simuladores y clientes instaladas en las PC a utilizar.
72
Funciones del Relé de Protección SEL351.
1.2.14 Raspberry PI 3B
Es una computadora de bajo costo y con un tamaño compacto, creada en febrero de 2012 por
la Raspberry Pi Foundation con fines educativos. Ejecuta un sistema GNU/Linux y para los
propósitos de este documento se desarrolló un programa descrito en el capítulo 2 el cual al
ejecutarse en el OS Rasbpian en la Raspberry funciona como un IED bajo el estándar
IEC61850 y con la capacidad de controlar las entradas y salidas GPIO de la tarjeta.
73
• Puerto CSI para conectar una cámara.
• Puerto DSI para conectar una pantalla táctil
• Salida de audio estéreo y vídeo compuesto
• Micro-SD
• Power-over-Ethernet (PoE)
En la figura siguiente se muestra la placa de desarrollo Raspberry pi con los pines GPIO que se
utilizan para la creación de un IED emulado.
74
En caso de un laboratorio de tipo profesional o montaje de equipo industrial es necesario que
los equipos de la red de comunicación tengan compatibilidad con la norma, debido a que los
tiempos de comunicación y confiabilidad son características de suma importancia, en
contraste con la importancia de dichos parámetros para el montaje de equipos y software para
propósitos didácticos.
Para propósitos de este documento se utiliza un router de uso residencial, el cual posee entre
sus características la función de switch de 4 puertos, y con asignación de IP vía DHCP,
modelo Claro A7600 A1, la figura 69 muestra una imagen del router.
75
CAPÍTULO II
Simuladores y emuladores para el desarrollo de escenarios
para pruebas bajo la norma IEC61850
76
2.0 Introducción
El presente capitulo describe la configuración de equipos y software utilizados para la
implementación de escenarios de pruebas desarrollados en el capítulo 3 de este documento.
La figura 70 muestra un esquema general de la comunicación entre simuladores y
emuladores, el cual está basado en una Red LAN de tipo estrella en el cual los equipos
simulados y emulados se comunicarán vía MMS y GOOSE, este esquema se segmenta para
crear escenarios específicos para la configuración de protocolos del estándar.
77
2.1 CONFIGURACIÓN DE RELÉS SIMULADOS
En esta sección se describen los parámetros configurados en los relés virtuales de la marca
Infotech y Axon Group, para los escenarios de pruebas del capítulo 3 de este documento, se
incluyen mensajes GOOSE para el disparo del relé y para el monitoreo del mismo con sus
componentes.
• IP: 127.0.0.1.
• Puerto: 502.
Una vez iniciado y configurado se podrá visualizar su modelo de datos tal como se muestra
en la figura 71.
78
En el modelo de datos del Relé es posible observar que este posee dos dispositivos lógicos
(LD) que corresponden a las medidas y protecciones del Relé Infotech los cuales son:
1) LD DemoMeasurement: posee cinco nodos lógicos (LN), dos de ellos son los que
la norma ha establecido obligatorios LLN0 y LPHD los cuales fueron explicados en
el capítulo anterior, El LN I3pMHAI1 representa las mediciones de los armónicos del
Relé, el LN I3pMMXU1 y U3pMMXU representa las mediciones de corriente (IL1,
IL2, IL3) y voltaje (VL1, VL2, VL3) del Relé respectivamente.
2) El LD DemoProtCtrl: posee diez nodos lógicos, LLN0 y LPHD los cuales son nodos
no lógicos obligatorios, el LN Obj1XCBR1 y Obj3XCBR2 contienen la información
de los interruptores de potencia presentes en el Relé, Obj1CSWI1 y Obj3CSWI2
contienen la información para el control de los interruptores de potencia, el LN
Obj2XSWI1 posee la información del seccionador del Relé.
Los LN I3GtPTOC1 e I3GtPTRC1 poseen las protecciones del Relé para disparos por
sobre corriente y disparo general respectivamente, por último, se encuentra el nodo
lógico DIGGIO1 este LN contiene las entradas y salidas genéricas del Relé, se estará
utilizando este nodo lógico para los indicadores presentes en el Relé (DI1… DI5).
Como se muestra en la sección 1.1 de este documento IEC61850 posee un modelo de datos
jerárquico por lo que cada uno de estos nodos lógicos tendrán dentro de ellos objetos de datos
y atributos de datos que representarán las funciones o parámetros de cada uno de los
elementos presentes en relé.
La figura 72 muestra el contenido del nodo lógico Obj1XCBR1 (Interruptor 1) el cual posee
objetos de datos (DO) y atributos de datos (DA), para el ejemplo se ha tomado el DO Pos el
cual contiene la posición del interruptor y dentro del objeto de datos se encuentran los
atributos de datos como el estado del interruptor (stVal), calidad de comunicación (q) y
estampa de tiempo (t), tal como se puede observar en los DA aparecen entre paréntesis las
restricciones funcionales (FC) a los cuales pertenecen. Para visualizar cualquiera de estos
atributos posicionar en el DA, para el ejemplo se ha tomado el stVal del interruptor, lo cual
permite observar el estado del interruptor en el IEDDataView, para este caso ya que el
interruptor se encuentra abierto el valor del DA corresponde a 01.
79
Atributos y Objetos de Datos del LN Obj1XCBR1.
80
DataSet, Reportes y Mensajes GOOSE del Relé INFOTECH.
Los dos dispositivos lógicos del Relé también contienen reportes bufereados (brcb) y no
bufereados (urcb) los cuales están configurados con cada uno de los DataSet antes
mencionados. El LD DemoProtCtrl además de contener reportes, posee dos mensajes goose
gcb1 el cual posee los datos contenidos en el DS3_GOOSE y gcb2 que posee los datos del
DS4_GOOSE estos mensajes pueden activarse o desactivarse desde el IEDExplorer.
81
Para propósitos de este documento únicamente se utiliza el mensaje gcb1 el cual contiene el
triger del Interruptor 1, para la activación de dicho mensaje se debe seleccionar el control
block (gcb1) y abrir su contenido, en el submenú que se despliega se selecciona GoEna (GO)
y se hace clic derecho sobre él, seguidamente se selecciona la opción Write Data, al realizar
estos pasos se abrirá la ventana mostrada en la figura 74, para activar el mensaje se digita
“True” y finalmente se hace clic en OK.
De esta forma quedaran habilitados los mensajes GOOSE de gcb1. Para gcb2 (estados de los
indicadores) se realizan los pasos antes descritos pero esta vez se digita la palabra false, esta
acción desactiva el mensaje GOOSE para los indicadores.
Para poder observar el mensaje GOOSE del Relé INFOTECH que se ha habilitado se utiliza
la herramienta GOOSE Receiver, para la suscripción del mensaje GOOSE se realizan los
pasos descritos en el apartado 1.2.4 del capítulo 1, una vez suscritos al mensaje aparecerán
los datos contenidos en él, tal como se muestra en la siguiente figura.
82
Datos del mensaje GOOSE gcb1.
Como se logra observar en la figura 75, el parámetro DSRef contiene el DataSet del mensaje
GOOSE, CBRef contiene la trama de datos del mensaje GOOSE, el identificador del mensaje
se encuentra en GID y el App ID se identifica como 1. Cada uno de estos parámetros son de
utilidad para la configuración de un publicador desde el IEDRaspberrry (Apartado 1.2.1),
para propósitos de este documento dicho mensaje será el encargado de indicar a los otros
simuladores cuando exista una falla en el relé INFOTECH y de esta manera permita realizar
cambios en los demás dispositivos simulados.
También es necesario especificar el adaptador de red por donde se enviarán los mensajes,
para algunos casos también será necesario especificar la MAC de destino.
El Relé INFOTECH cuenta con el GOOSE Publisher (ver apartado 1.2.5 capítulo 1), este
envía un mensaje GOOSE para el disparo del interruptor 1, sin embargo, no se visualiza en
el modelo de datos del Relé ya que ha sido programado internamente por el fabricante, pero
es posible obtener sus parámetros utilizando el GOOSE Receiver. Para ello se presiona el
botón “Go” ubicado en el programa GOOSE Publisher, al realizar esta acción se publicará el
mensaje GOOSE en la red, la suscripción del mensaje se realiza a través del GOOSE
Receiver el nuevo mensaje GOOSE tiene un AppId 3 y GoID G3, el cual corresponde al
mensaje GOOSE enviado por el software, la figura 76 muestra lo descrito anteriormente.
83
Mensaje GOOSE del software GOOSE Publisher.
Luego que se identifica el mensaje se hace clic en el botón Subscribe, esta acción mostrara
los parámetros contenidos en el mensaje GOOSE.
La figura 77 muestra los datos del mensaje para el cual el App ID tiene un valor de 3, el
DataSet de Referencia es LLN0$DS1, el CBRef es LLNO$gcb1 y el GID es igual a G3, para
este caso también se configura la MAC del Relé INFOTECH (01:0C:CD:01:00:02).
84
Conocidos los parámetros del mensaje GOOSE es posible activar o desactivar los disparos
del Interruptor de potencia desde un software o dispositivo que publique mensajes GOOSE,
como por ejemplo el GOOSE Sender, IEDRapsberry PI o el Relé SEL 351. La Figura 78
muestra la configuración de dicho mensaje desde el GOOSE Sender.
Para el ejemplo se ha tomado el reporte ucrb02, el cual contiene las medidas de corriente del
relé INFOTECH, la ventana Configure and Actívate RCB muestra cada uno de los
parámetros que contiene el reporte, se debe ubicar el item RptEna (Report Enable) y
seleccionar RptEna, luego se hace clic en Send y de esta forma quedara habilitado el reporte.
Los reportes que se habiliten pueden ser visualizados en la sección ReportsView, tal como
se explicó en la sección 1.2.3.5.
85
Habilitar Reportes Almacenados y No Almacenados.
86
Configuración de comunicación del Relé AxonGroup.
Una vez el Relé ha sido configurado con los parámetros de comunicación correctos, es
posible ver su modelo de datos con el IED Explorer el cual se muestra en la figura 81.
87
En el costado izquierdo de la figura anterior se observa el modelo de datos del Relé Axon
Group este posee cinco dispositivos lógicos (LD) los cuales son:
1) AXONBAYApplication: Este dispositivo contiene toda la configuración de los
DataSet, Reportes y Mensajes GOOSE del Relé, a diferencia del relé INFOTECH el
relé Axon Group ubica todas sus configuraciones en un único Dispositivo Lógico.
88
Tal como se muestra en la figura anterior el Rele AxonGroup posee cuatro DataSet los cuales
son:
El relé incluye reportes bufereados y no bufereados los cuales corresponden a cada uno de
los DS antes mencionados, para habilitarlos se realizan los mismos pasos que se describieron
el apartado del Relé INFOTECH.
Como se ha podido observar en el modelo de datos del relé AxonGroup los nodos lógicos
(LN) presentes en los dispositivos lógicos, son idénticos al del relé INFOTECH esto es lo
que cumple con el primer objetivo de la norma IEC61850 el cual es la interoperabilidad de
los dispositivos.
89
El Relé Simulator Bay también posee un publicador de mensajes GOOSE el cual envía
mensajes para disparos del interruptor de potencia “INTA_XCBR1”, este mensaje GOOSE
al igual que el del Relé INFOTECH no se puede visualizar en el modelo de datos del relé ya
que ha sido programado internamente por el fabricante, por lo cual se utiliza el software
GOOSE Receiver para conocer los parámetros con los que ha sido programado el mensaje
GOOSE, para ello se inicia el programa Remote Protection Simulator y se selecciona el
adaptador de Red (Eterneth) donde se enviara el mensaje GOOSE, al efectuar esta acción se
observa el mensaje en el GOOSE Receiver, tal como se muestra en la figura siguiente.
La figura 85 muestra los datos del mensaje para el cual el App ID tiene un valor de 1000, el
DataSet de referencia es:
REMOTEProtections/LLN0$DS1_GOOSE
El CBRef es:
REMOTEProtections/LLN0$GO$gcb1
90
Parámetros GOOSE para el disparo del interruptor INTA_XCBR1.
Una vez se conozca los parámetros del mensaje GOOSE es posible activar o desactivar los
disparos del Interruptor de potencia desde un software o dispositivo que publique mensajes
GOOSE, como por ejemplo el GOOSE Sender, la Raspberry PI o el Rele SEL 351.
91
2.2 CONFIGURACIÓN DE RELÉS EMULADOS
En esta sección se aborda la programación y configuración de emuladores de IEDs bajo el
estándar, específicamente utilizando la librería libiec61850 la cual permite crear un servidor
emulando un dispositivo en una PC y mediante el control de entradas/salidas tener funciones
básicas para la realización de pruebas con señales e indicadores físicos, los dispositivos
emulados en este documento son el equipo IEDRaspberry y el Gateway IEC61850/Modbus.
Estructura IEDRASPBERRY.
92
2.2.1.1 Interfaz física
93
de estado y su publicación vía MMS y mensaje GOOSE. Estos están configurados como
Indicadores de un nodo lógico de tipo uso general o GGIO, y están conectados a los pines
GPIO 22 – 25.
Incluye también 5 salidas de pines GPIO (26-29,6) conectados a un shield de relays con leds,
esto con el fin de indicar la actuación de alguna de las entradas que monitorean protecciones.
La figura 88 muestra los componentes y el diagrama eléctrico del IEDRASPBERRY.
La instalación del ambiente de desarrollo C++ en el sistema se realiza iniciando una terminal
bash y ejecutando los siguientes comandos:
$apt-get -y update
$apt-get -y install build-essential
94
ejecutándose un servidor IEC61850 el cual pueden visualizarse mediante un cliente
como el IEDExplorer, en la figura 89 se muestra el modelo de Datos de la
IEDRapsberry que se ha configurado en el archivo CID.
Como se ha descrito en la sección 1.1 para todo IED bajo el estándar es necesario
crear un archivo ICD el cual contendrá el modelo de datos de la IEDRaspberry. Para
propósitos de este documento se utiliza el software ICD Editor (ver sección 1.2.1) con
el nombre IEDRpi, se agrega dos dispositivos lógicos CFG el cual contiene la
configuración de DataSet y Mensajes GOOSE y PRTC el cual contiene el nodo lógico
GGIO que simula entradas de protecciones de un transformador y salidas de estados
de protecciones, tal como se muestra a continuación.
95
Configuración de ICD IEDRaspberry.
96
Configuración de DataSet del ICD IEDRaspberry.
97
ID del mensaje es 10 y G10 respectivamente, también se designa una prioridad de 4
(muy alta) en el mensaje GOOSE. Luego de realizar la configuración de parámetros
se hace clic en OK y de esta manera se creará un DS y un mensaje GOOSE en el ICD
tal como se muestra en la Figura 92. Finalmente se guarda el archivo bajo la extensión
CID.
Los pines utilizados para salidas se muestran en la tabla 5 y son utilizados para indicar
físicamente el estado en que se encuentran las entradas mediante un LED y una salida
de relé para conectar alguna alerta sonora o visual. Se configura también una salida
98
para monitorear el mensaje GOOSE que envía el interruptor de INFOTECH en la red,
se utiliza el pin 9 y posee indicador LED y salida de relé.
PIN
LD LN Tags Descripción
GPIO
26 PRTC GGIO CO$SPCSO1$ctVal Relé 1
27 PRTC GGIO CO$SPCSO2$ctVal Relé 2
28 PRTC GGIO CO$SPCSO3$ctVal Relé 3
29 PRTC GGIO CO$SPCSO4$ctVal Relé 4
Tabla 5. Salidas digitales IEDRASPBERRY.
99
o VLANID: 0
o Prioridad: 4
Disparo de interruptores virtuales de AxonGroup en caso de falla en la barra de
escenario de capítulo 3, parámetros:
o Adaptador de red: Ethernet (eth0)
o Tipo de publicación: Multicast
o AppID: 1000=4096 hexadecimal
o CBRef: "REMOTEProtections/LLN0$GO$gcb1"
o GOOSEID: "RemoteProtection"
o DataSet: "REMOTEProtections/LLN0$DS1_GOOSE"
o Tipo de dato: Booleano
o VLANID: 0
o Prioridad: 4
Para la compilación de la aplicación se utiliza un archivo Makefile con todas las instrucciones
que van desde el llamado a los archivos con el archivo CID convertido a código C, hasta
aplicaciones en java para generar el modelo del IED a crearse como servidor, se tomó de base
el archivo Makefile del ejemplo basic_io de la librería, con el agregado de incluir la librería
wiringPi al inicio y denominarla EXTRA_LIBS en el archivo Makefile.
Para compilar ejecutar el comando: “make” en una terminal bash ubicada en la carpeta
principal de la aplicación, a continuación, se presenta el contenido del archivo makefile:
EXTRA_LIBS=-lwiringPi -lm
LIBIEC_HOME=../..
PROJECT_BINARY_NAME = server_example_simple
PROJECT_SOURCES = server_example_simple.c
PROJECT_SOURCES += static_model.c
PROJECT_ICD_FILE = sampleModel_with_dataset.cid
include $(LIBIEC_HOME)/make/target_system.mk
include $(LIBIEC_HOME)/make/stack_includes.mk
all: $(PROJECT_BINARY_NAME)
include $(LIBIEC_HOME)/make/common_targets.mk
model: $(PROJECT_ICD_FILE)
java -jar $(LIBIEC_HOME)/tools/model_generator/genmodel.jar
$(PROJECT_ICD_FILE)
$(PROJECT_BINARY_NAME): $(PROJECT_SOURCES) $(LIB_NAME)
$(CC) $(CFLAGS) $(LDFLAGS) -o $(PROJECT_BINARY_NAME)
$(PROJECT_SOURCES) $(INCLUDES) $(LIB_NAME) $(LDLIBS) $(EXTRA_LIBS)
clean:
rm -f $(PROJECT_BINARY_NAME)
100
2.2.2 Gateway IEC61850/Modbus
Debido a que el relé de protección SEL 351 con el que se cuenta no posee el estándar
IEC61850, se creó un Gateway virtual IEC61850 a modbus el cual nos permite crear un
servidor IEC61850 que emula un IED el cual contiene varias funciones básicas del relé
SEL351 que se utiliza en los escenarios del capítulo 3. Dicho Gateway funciona bajo el OS
Xubuntu en una máquina virtual, con adaptador de red de tipo puente configurado. La figura
94 muestra un esquema del proceso que realiza el servidor IEC61850.
101
Puerto 5
Nombre Descripción Valor
EPORT Enable Port Y
IPADDR Device IP Address (zzz.yyy.xxx.www) 192.168.1.80
SUBNETM Subnet Mask (zzz.yyy.xxx.www) 255.255.255.0
DEFRTR Default Router (zzz.yyy.xxx.www) 192.168.1.1
ETCPKA Enable TCP Keep-Alive Y
KAIDLE TCP Keep-Alive Idle Range (seconds) 10
KAINTV TCP Keep-Alive Interval Range (seconds) 10
KACNT TCP Keep-Alive Count Range 5
NETMODE Operating Mode FAILOVER
FTIME Failover Time-out (seconds) 1.00
NETPORT Primary Net Port B
ETELNET Enable Telnet Y
MAXACC Maximum Access Level C
TPORT Telnet Port 23
AUTO Send Auto Messages to Port N
FASTOP Fast Operate Enable Y
EFTPSERV Enable FTP Y
FTPUSER FTP User Name FTPUSER
FTPCBAN FTP Connect Banner(254 char; NA to NULL) FTP SERVER
FTPIDLE FTP Idle Timeout (min) 5
EHTTP Enable HTTP Server Y
HTTPACC HTTP Maximum Access Level 2
HTTPPORT TCP/IP Port 80
102
2.2.2.2 Sistema operativo
Para la ejecución del Gateway IEC61850 es necesario una PC con S.O GNU/Linux, para los
propósitos de este documento se utiliza la distribución Xubuntu, debido a su poco consumo
de recursos y su interfaz gráfica agradable al usuario, se instaló el S.O en una máquina virtual,
esto con el fin de utilizar en una misma PC softwares simuladores de dispositivos virtuales
que funcionan bajo el S.O Windows. Se instala en la distro GNU/Linux el ambiente de
desarrollo para el lenguaje C, esto se logra mediante las siguientes instrucciones en una
consola bash:
103
Modelo de Datos del Relé SEL351.
Como se ha descrito en la sección 1.2.1 para que el relé SEL351 ejecute funciones
bajo el estándar IEC61850 es necesario crear un ICD, para ello creamos un IED en el
software ICD Editor (ver sección 1.2.5) el cual se llama IEDSEL351, el IED tendrá
en su modelo de datos dos dispositivos lógicos los cuales son CFG el cual contiene
la configuración de Dataset y Mensajes GOOSE del Relé SEL351 y PTRC el cual
posee un nodo lógico GGIO con 7 objetos de datos SPCSO que representan las salidas
del relé y 6 indicadores que representas las entradas, tal como se muestra a
continuación.
104
Configuración ICD SEL351.
Para él envió de mensajes GOOSE del relé Sel351 se configura un Dataset (ver
apartado 1.2.1) que contenga el estado de los indicadores (entradas) al cual
llamaremos In351, luego se configuran los mensajes GOOSE. La figura 95 muestra
la configuración del Dataset.
105
Configuración de Dataset del relé SEL351.
Una vez que se ha creado el Dataset In351 se configura un bloque de control de tipo
GOOSE con nombre InputSEL, tal como se muestra en la figura 97.
106
La figura 97 muestra los parámetros que tiene el mensaje GOOSE el cual se configura
con el DS que se crea previamente, se selecciona un MAC de tipo multicast y App ID
5, se coloca una prioridad de 4 y un GOOSE ID con nombre G5. Una vez configurado
el mensaje GOOSE se guarda el archivo con extensión CID. La figura 98 muestra el
archivo ICD del Relé SEL351.
LLN0/GGIO/SPCS01/ctlValue
107
asociados al relé SEL, la configuración se realizó tal como se mostró en la sección
1.2.10 con los siguientes parámetros:
5) Escritura de registros Modbus del Relé SEL- 351. Para él envió de los comandos
de activación de las salidas del relé se utilizó la función modbus_write_bit (), y se
configura tal como se mostró en la sección 1.2.11 utilizando los registros Modbus
mostrados en la figura 100 obtenidos del manual del relé y que funcionan para activar
las salidas del relé durante 1 segundo.
108
Listado de registro Modbus de salidas del Relé SEL351.
Para la compilación del código se utiliza un archivo Makefile con todas las instrucciones que
van desde el llamado a los archivos con el archivo CID convertido a código C, hasta
aplicaciones en java para generar el modelo del IED a crearse como servidor, se tomó de base
el archivo Makefile del ejemplo server_example_control de la librería, con el agregado de
incluir la librería libmodbus al inicio y denominarla LIBPQ-LIBS en el archivo Makefile.
Para compilar se ejecuta el comando: make en una terminal bash ubicada en la carpeta del
programa principal.
109
2.3 CONFIGURACIÓN DEL POWERELIPSE SCADA
El modelo eléctrico que se utiliza en el SCADA es el que se muestra en la figura 101, el cual
está configurado con los tags de los dispositivos simulados y emulados, para ello se debe
importar el modelo eléctrico hacia la pantalla principal de control y supervisión del SCADA
(ver apartado 1.2.8)
110
En el Relab se crean 5 Drivers IEC61850 (Para la configuración de un Driver, ver apartado
1.2.2) que estarán comunicándose con cada uno de los IEDs presentes en las pruebas, los
cuales se muestran en la Figura 102.
Cada uno de estos Driver posee el modelo de datos de los IEDs simulados y emulados, para
propósito de este documento únicamente se mapean aquellos Tags que sean de interés en la
supervisión y control del SCADA, los cuales se presentan en la Tabla 7.
111
Posición del
ReleIn0 simpleOGenericIO GGIO1 ST$SPCSO1$stVal Interruptor
SEL351
ReleO1 AXONBAYMeasurement MMXU1 MX$A$phsA$cVal$mag$f Corriente Fase A
ReleO1 AXONBAYMeasurement MMXU1 MX$A$phsB$cVal$mag$f Corriente Fase B
ReleO1 AXONBAYMeasurement MMXU1 MX$A$phsC$cVal$mag$f Corriente Fase C
Triger del
Interruptor 1
ReleO1 AXONBAYProtections PTOC1 ST$Str$general
activado por
Sobre corriente
Posición del
ReleO1 AXONBAYControl INTA_XCBR1 ST$Pos$stVal
Interruptor 1
ReleO2 AXONBAYMeasurement MMXU1 MX$A$phsA$cVal$mag$f Corriente Fase A
ReleO2 AXONBAYMeasurement MMXU1 MX$A$phsB$cVal$mag$f Corriente Fase B
ReleO2 AXONBAYMeasurement MMXU1 MX$A$phsC$cVal$mag$f Corriente Fase C
Triger del
Interruptor 1
ReleO2 AXONBAYProtections PTOC1 ST$Str$general
activado por
Sobre corriente
Posición del
ReleO2 AXONBAYControl INTA_XCBR1 ST$Pos$stVal
Interruptor 1
Protección del
ReleRpi simpleOGenericIO GGIO1 ST$Ind1$stVal transformador
49T
Protección del
ReleRpi simpleOGenericIO GGIO1 ST$Ind2$stVal transformador
63T
Protección del
ReleRpi simpleOGenericIO GGIO1 ST$Ind3$stVal transformador
63B
Protección del
ReleRpi simpleOGenericIO GGIO1 ST$Ind4$stVal transformador
71Q
Tabla 7. Tags para la comunicación de SCADA.
Una vez mapeado cada uno de los tags presentes en la tabla 7, es posible visualizarlos en el
Dashboard del ReLab OPC en tiempo real, tal como se muestra a continuación.
112
Tags mapeados en ReLab OPC.
Para importar los Tags mapeados se crea un Driver OPC Cliente en ElipsePower SCADA
(ver apartado 1.2.8), luego se ejecuta el Driver OPC y se importan todos los tags que se
encuentran en el Dashboard ReLab. En la figura 104 se muestran los drivers que
anteriormente se habían creado desde ReLab.
Para agregar los tags al GrupoOPC del Driver Protecciones bastara con seleccionar el driver
que se desea configurar desde el SCADA y arrastrarlo al GrupoOPC, luego se hace clic en
OK, al realizar esta acción el driver creado en SCADA se comunicara con el ReLab OPC
extrayendo la información en tiempo real de aquellos tags que se encuentra en el dashboard.
Las configuración y asociaciones de los Tags a los elementos del modelo eléctrico se realizan
desde el ítem subestaciones ubicados en el PowerElipse. La figura 105 muestra cada uno de
los elementos presentes en el modelo eléctrico.
113
Importando Tags desde el servidor Relab OPC.
114
49T
63T
63B
71Q
Como se logra apreciar en la figura 106 en la pantalla principal del SCADA también se
agregan indicadores y alarmas, las cuales están asociados a los disparos de los interruptores
y las protecciones del transformador.
115
I11
ReleO1 AXONBAYMeasurement MMXU1 MX$A$phsC$cVal$mag$f
(Corriente Fase C)
ReleO1 AXONBAYProtections PTOC1 ST$Str$general Indicador I11
ReleO1 AXONBAYControl INTA_XCBR1 ST$Pos$stVal I11
I12
ReleO2 AXONBAYMeasurement MMXU1 MX$A$phsA$cVal$mag$f
(Corriente Fase A)
I12
ReleO2 AXONBAYMeasurement MMXU1 MX$A$phsB$cVal$mag$f
(Corriente Fase B)
I12
ReleO2 AXONBAYMeasurement MMXU1 MX$A$phsC$cVal$mag$f
(Corriente Fase C)
ReleO2 AXONBAYProtections PTOC1 ST$Str$general Indicador I12
ReleO2 AXONBAYControl INTA_XCBR1 ST$Pos$stVal I12
ReleRpi simpleOGenericIO GGIO1 ST$Ind1$stVal Indicador 49T
ReleRpi simpleOGenericIO GGIO1 ST$Ind2$stVal Indicador 63T
ReleRpi simpleOGenericIO GGIO1 ST$Ind3$stVal Indicador 63B
ReleRpi simpleOGenericIO GGIO1 ST$Ind4$stVal Indicador 71Q
Tabla 8. Tags asociados a los elementos del modelo eléctrico.
Para poder asociar un tag a un elemento del modelo eléctrico, se selecciona el elemento que
se desea configurar, para el ejemplo se toma el interruptor I10, el cual cuenta con medidas
de corriente y posición para su monitoreo en SCADA, se selecciona el tipo de dato del
interruptor que se desea configurar y se hace clic en el símbolo “tres puntos” de la sección
tag, tal como se muestra en la siguiente figura.
116
Seguidamente aparece una nueva ventana donde se selecciona el Driver donde se encuentra
el tag de posición del interruptor I10, se selecciona el tag como Value y hace clic en Colar,
tal como se muestra en la figura 108.
Para asociar los tags de las mediciones de corriente del interruptor I10 se seguirán los pasos
antes mencionados, la figura 109 muestra la configuración de tags del interruptor I10 para su
posición y mediciones de corriente.
117
Configuración de tags para los parámetros eléctricos del interruptor I10.
Para la configuración de los interruptores restantes se siguen los mismos pasos que se
realizaron en el interruptor I10, se utiliza la tabla 8 como guía para la asignación de tags de
cada elemento.
De manera similar se realizan la asignación de tags para los indicadores, para el ejemplo se
toma el indicador de bajo/alto nivel de aceite del transformador (71Q), para ello se selecciona
el indicador 71Q y se hace clic derecho sobre él, seguidamente se selecciona el ítem
propiedades, esto abrirá una nueva ventana la cual se muestra en la siguiente figura.
118
Asignación de Tags al indicador 71Q.
Luego de efectuar los pasos descritos en el párrafo anterior se abrirá una nueva ventana donde
se selecciona el Driver y tag que contiene la información del indicador que se desea
configurar, se selecciona Valué y se hace clic en Colar, tal como lo muestra la figura 112.
119
Configuración de TAG para el indicador 71Q.
Una vez que se ha configurado el tag del indicador 71Q se debe asignar un evento para poder
visualizar en el SCADA cuando este sea activado, para ello se selecciona el item
ForegroundColor y en la sección Conexao de la ventana propiedades, se selecciona la opción
Conexao por Tabela, tal como se muestra en la figura 113.
120
Luego se abrirá una nueva ventana donde se agrega un nuevo evento para el cual se configura
los valores Min. y Max. con un valor de 0 y 1 respectivamente, se asignará un color
intermitente al indicador (rojo-amarillo), esto se realizará seleccionando la opción pisca, tal
como se puede observar en la figura 114.
121
Configuración de Alarmas en PowerElipse SCADA.
Para propósitos de este documento únicamente se utilizarán alarmas digitales y análogas, que
se activarán por disparos de los interruptores y protecciones del transformador o por niveles
altos de corrientes.
Para asignar un tag a una alarma se seguirán los mismos pasos que anteriormente se han
descrito en los apartados de indicadores y elementos del modelo eléctrico, una vez se ha
asignado un tag a la alarma se selecciona y se hace clic derecho sobre él, al efectuar esta
acción se despliega el submenú mostrado en la figura anterior donde se selecciona el ítem
propiedades, seguidamente aparece la ventana que se muestra en la figura 117.
122
Para el ejemplo se configura una alarma digital cuyo tag ha sido asignado al disparo por sobre
corriente del relé AxonGroup.
123
Para la configuración de alarmas digitales por disparo por sobre corriente de un relé y para
las protecciones del transformador se seguirán cada uno de los pasos que se han descrito
anteriormente.
Para la configuración de alarmas analógicas se crea una alarma análoga desde el submenú
mostrado en la figura 116, luego de asignar un tag y un nombre a la alarma se selecciona la
sección Analógico de la ventana propiedades tal como se muestra en la figura 118. Para el
ejemplo se configura la corriente de la fase A del relé INFOTECH.
En la figura 119 se presenta cuatro condiciones de niveles de corriente LoLo, Lo, Hi, HiHi
los cuales se clasifican según su importancia, para el caso se considera con valor muy bajo
(Lolo) el nivel de corriente 0A para el cual mostrará un mensaje de alerta “Sin carga”, para
un nivel de corriente de 1A se considera un nivel bajo (Lo) para el cual se mostrará un
mensaje “Condiciones Normales”.
124
Se considera un nivel alto (Hi) y de importancia media a los niveles de corrientes entre 50A
y 60A en este caso se mostrará un mensaje de alerta “Condiciones de sobre corriente”, para
valores mayores a 60A se considera un nivel muy alto (HiHi) y de importancia alta para el
cual se mostrará un mensaje de alerta “Sobre corriente en la barra”. De esta manera se
configuran las alarmas analógicas para medidas de corriente.
Las alarmas analógicas relacionadas a las fases restantes del relé y de los relés restantes se
configurarán siguiendo los pasos que se han descrito en los párrafos anteriores.
Finalmente se debe asignar en la pantalla principal un resumen de alarmas para poder
visualizar todas las alarmas que se han creado, para ello en la pantalla principal del SCADA
y en barra de herramientas se selecciona el icono E3Alarm (Sumário de Alarmes) y se arrastra
hacia el área de trabajo, luego se configura el tamaño que tendrá el panel, tal como se presenta
en la figura 120.
125
CAPÍTULO III
Escenarios para pruebas de un SAS bajo el estándar
IEC61850
126
3.0 Introducción
En el presente capítulo se describen tres escenarios de pruebas para una subestación de barra
simple en el cual los IED’s encargados de las protecciones son dispositivos simuladores y
emuladores revisados y configurados en el capítulo anterior.
La figura 121 muestra el modelo de una subestación de distribución de barra simple el cual
posee un transformador delta/estrella aterrizada 46/23 kV en su entrada y dos bahías en su
salida.
Los escenarios que se presentan en este capítulo han sido determinados a partir del diagrama
general presentado en la figura anterior, los cuales son:
127
3.1 Escenario 1, esquema de actuación de protecciones mecánicas
de un transformador de potencia
El objetivo en este escenario es simular la actuación de protecciones mecánicas de un
transformador, enviando mensajes GOOSE para el disparo de los interruptores I81 e I10,
despejando la falla en el transformador.
128
3.1.2 Esquema de protecciones
Las protecciones mecánicas del transformador son condiciones en las cuales se debe aislar el
transformador por lo que se debe abrir los interruptores del lado de sub transmisión (I81) y
de distribución (I10) mostrados en la figura 122.
129
Esquema comunicaciones escenario #1
130
cd /home/libiec61850-1.4/examples/rele_sel
La última línea se refiere al estado de los mensajes GOOSE indicando las 4 entradas
en el IEDRASPBERRY, el quinto digito se refiere a la banderilla de disparo del relé,
la cual no permite que vuelva a dispararse el relé SEL mientras existan condiciones
de alarma. Dicha alarma se resetea siempre que las condiciones de disparo en el
transformador hayan sido normalizadas y se envíe un comando MMS de nivel alto al
SPCS01 del convertidor.
131
4) Acceder vía VNC viewer al IEDRaspberrry, ingresar la dirección IP, el usuario(pi) y
la contraseña (1234), tal como se muestra en el apartado 1.2.9. Ingresar a una terminal
bash y ejecutar el siguiente comando para ubicarse en la carpeta de la aplicación:
$cd /home/pi/libiec61850-1.4/examples/iedraspberry
132
observa como el quinto bit en la consola con el valor de “1”. La activación de dicha banderilla
no permite la normalización del estado del relé aun cuando la condición de fallo sea
reestablecida.
133
En la figura 130 se utilizó Wireshark para analizar los mensajes GOOSE que envía el
IEDRASPBERRY del estado de sus entradas al convertidor IEC61850/Modbus:
134
dispositivo SEL351 regrese a condiciones normales. Para esto se envía un comando False al
atributo “cltVal” del objeto “SPCS01” del convertidor. Tal como se muestra en la figura 131.
135
Esquema de Protección de barra simple.
1) Falla externa (bahía): En el caso que la falla ocurra en los alimentadores de bahía
los relés AxonGroup serán los encargados de despajar dicha falla en su circuito,
garantizando el suministro de energía en los demás alimentadores, para ello se simula
una falla con el software correspondiente.
136
• AppID: 1000=4096 hexadecimal
• CBRef: "REMOTEProtections/LLN0$GO$gcb1"
• GOOSEID: "RemoteProtection"
• DataSet: "REMOTEProtections/LLN0$DS1_GOOSE"
• Tipo de dato: Booleano
• Prioridad: 4
Para monitorear el estado del Simulator Bay de AxonGroup se configura el tag de Pikup del
software de esta manera el relé INFOTECH determina cuando existe una falla externa a él,
el tag es el siguiente:
137
Verificación inicio interruptor INFOTECH.
4) Iniciar el relé virtual #2 de Simulator Bay en la PC- 02, cambiar en el apartado settings
a 103 el número de puerto y verificar este seleccionado el adaptador de red ethernet
(ver apartado 2.1.2), a continuación, presionar F2 para reiniciar, esto se realiza debido
a que el relé virtual de Infotech utiliza el puerto 102 por defecto y existe conflicto
entre ambos relés.
138
Ejecución de relés virtuales Simulator Bay e Infotech
$cd /home/pi/libiec61850-1.4/examples/iedraspberry
El dispositivo IEDRaspberry monitorea el estado del relé INFOTECH a través del protocolo
GOOSE tal como se muestra en la figura 136, permitiendo realizar el disparo en los relés de
bahía al existir una falla en la barra.
139
3.2.5 Evento #1, falla en el alimentador de salida
Al existir una falla a la salida de los alimentadores, los interruptores que tienen que operar
son los relés simulados de AxonGroup. El relé INFOTECH solo está informado de lo que
sucede aguas abajo pero no efectúa un disparo, los encargados de despejar las fallas son los
relés correspondientes al interruptor I11 e I12.
Para simular una falla en los alimentadores de salida, se aumenta la corriente de una de las
fases del relé AxonGroup para el ejemplo se aumenta la corriente en fase B, el tag que se está
monitoreando indica cuando el pickup del relé ha cambiado de estado tal como se muestra
en la figura siguiente.
El relé AxonGroup también cuenta con reportes que han sido programados por el fabricante,
dentro de ellos se encuentran reportes que monitorean el estado del relé, puede visualizarse
dichos reportes al habilitarlos, tal como se ha mostrado en el apartado 2.1.1.2. La figura 138
muestra la información del estado Relé AxonGroup a través de reportes.
140
Monitoreo a través de reportes del estado del Relé AxonGroup.
Como se observa en la figura anterior al existir una sobrecorriente en cualquiera de las fases
del interruptor (INTA_XCBR1), inmediatamente su protección realiza un disparo al
interruptor del relé Axongroup, en la figura 138 se logra apreciar el cambio de estado del
interruptor a través de reportes, de esta manera se está simulando una falla en la salida de los
interruptores I11 e I12, en caso de falla en cualquiera de los dos se genera la siguiente
condición:
• Falla en I11:
141
Simulación de una falla a la salida de I11.
Como se muestra en la figura 139, al existir una falla en el alimentador de salida I11, el relé
que debe operar para despejar dicha falla es el relé de AxonGroup 01, los relés restantes
siguen operando con normalidad.
• Falla en I12:
142
Simulación de una falla a la salida de I12.
Como se muestra en la figura 140, al existir una falla en el alimentador de salida I12, el relé
que debe operar para despejar dicha falla será el relé de AxonGroup 02, los relés restantes
seguirán operando con normalidad.
Para simular una falla en la barra se aumenta la corriente de cualquiera de las fases del
interruptor del relé INFOTECH. Para el ejemplo se aumenta la corriente en la fase A, tal
como se muestra en la figura 141.
143
Simulación de una falla en la barra utilizando el relé INFOTECH.
La figura 142 muestra el cambio del TRIP a través de mensaje GOOSE del relé INFOTECH.
Este genera un cambio inmediato por el disparo del relé (TRUE), pero luego de haber operado
regresa a su normalidad (FALSE).
144
Mensaje GOOSE para el cambio de estado del Relé INFOTECH.
145
En el esquema de la figura anterior el relé que opera inicialmente es el relé INFOTECH, el
IEDRaspberry responde enviando un mensaje GOOSE para que las protecciones de los
alimentadores de salida también operen tal como se muestra en las figuras 144 y 145.
146
En la figura 146 se muestra el interruptor INTA_XCBR1 del relé SimulatorBay de
AxonGroup el cual ha sido disparado por un mensaje GOOSE (Remote Trip).
147
• Contenido del mensaje GOOSE: APPID, GoRef, DataSet, GoID, estampa de tiempo
(t), cambios de estado en el DS (stNum), veces en que se ha enviado el mensaje
GOOSE (SqNum), modo de prueba del IED (test) y el estado del dato del mensaje
GOOSE booleano (Data)
148
Simulación de un SAS niveles de Estación y Bahía.
El router utilizado en este escenario posee únicamente cuatro puertos ethernet por lo que
dificulta la conexión de más dispositivos, por tanto, se emplean dos máquinas físicas (PC01
y PC02) en el cual se ejecutan varios programas a la vez, los puertos restantes se utilizan para
la conexión del IEDRaspberry y el relé SEL351.
En la figura 148 se muestra el modelo eléctrico del SCADA, el interruptor I81 representa al
relé SEL351, I10 representa al relé INFOTECH y los interruptores I11 e I12 representan a
los relés de AxonGroup. El transformador posee una barra con indicadores que representan
sus protecciones (relé térmico, relé presión, relé Buchholz y relé de nivel de aceite) las cuales
se activan desde el IEDRaspberry.
También se incluye un panel de alarmas en la parte inferior que muestra los disparos de los
interruptores por sobre corriente y la activación de las protecciones del transformador, la
comunicación a nivel de SCADA se realiza bajo el protocolo Cliente/Servidor MMS.
149
Modelo eléctrico en SCADA
1) Realizar una red LAN con los dispositivos emulados y simulados tal como se muestra
en la figura 147, el IEDRaspberry y el relé SEL351 se conectan directamente a un
puerto ethernet cada uno, en los puertos restantes se conectan dos máquinas físicas
(PC01 y PC02) donde se ejecutan los distintos softwares de simulación los cuales se
distribuyen de la siguiente manera:
i. PC01: Máquina Virtual (se ejecuta el Gateway IEC61850/Modbus), relé
INFOTECH (puerto 102) y relé AxonGroup 1 (puerto 103).
150
ii. PC02: Relé AxonGroup 2 (puerto 102), IEDExplorer, ReLab OPC y
SCADA.
2) En el software Relab OPC se configura los drivers asignando la dirección IP y puertos
de los dispositivos emulados y simulados (ver apartado 1.2.2). El direccionamiento
IP de cada dispositivo se realiza automáticamente por DHCP.
3) Mapear en el software Relab OPC los tags que se utilizan en el SCADA (ver tabla 8),
los cuales se pueden visualizar en el dashboard del software tal como se muestra en
la figura 103 del capítulo 2.
4) En el software elipse SCADA se realiza la comunicación entre Relab OPC y un driver
OPC del SCADA (ver apartado 2.3).
5) Se configura los tags de los dispositivos emulados y simulados, asignándolos a cada
elemento del modelo eléctrico del SCADA (ver apartado 2.3.1.1).
6) Se establece comunicación con el Gateway IEC61850 a través de IEDExplorer para
el control del disparo del relé SEL351 activado por las protecciones del
transformador, lo que permite regresar a condiciones normales el sistema de
subestación simulado (ver apartado 3.1.6).
7) Se ejecuta el dominio del SCADA, permitiendo supervisar los IED´s que se encuentra
en el nivel de bahía, cuando se establece la comunicación con los IED´s el SCADA
muestra el estado de cada interruptor, alarmas, indicadores y corrientes de la
subestación simulada tal como se muestra en la figura 149.
151
SCADA de la subestación de barra simple
El sistema SCADA mostrado en la figura 149 corresponde a una subestación de barra simple
y emplea los escenarios mostrados en los apartados 3.1 y 3.2, a continuación, se presentan
los resultados de las pruebas de cada uno de los escenarios utilizando el software Elipse
SCADA.
152
Protecciones mecánicas del transformador supervisado a través de SCADA.
En el panel de alarmas es posible observar las alarmas que se han activado al ocurrir este
evento, las cuales se describen a continuación:
• Relé I10: Esta alarma se activa al no detectar carga en el interruptor I10.
• Protección 49T: Indica cual ha sido la protección y el motivo por el cual ha sido
activada (Aumento de temperatura en el transformador).
• Disparo I81: Esta alarma indica el motivo por el cual se ha disparado el I81.
153
Los interruptores I11 e I12 se mantienen activos con un indicador en la parte superior (punto
amarillo), que indica que el interruptor I10 esta disparado. También es posible observar en el
SCADA el flujo de energía.
Este mismo evento ocurrirá al activarse cualquiera de las protecciones del transformador, en
la figura siguiente se muestra el caso para la protección del relé Buchholz (aumento de gases
en el transformador) en el cual es posible identificar el motivo por cual se ha disparo el
interruptor I81.
154
3.3.4 Evento #2, protección de barra acelerada
La protección de barra acelerada o por sobre corriente instantánea se ha descrito en el
apartado 3.2, su funcionamiento se visualiza mejor desde el SCADA donde se muestra los
eventos descritos en los aparatados 3.2.5 (Protección alimentador de salida) y 3.2.6
(Protección alimentador de entrada), en la figura siguiente se muestra el evento cuando existe
una falla en la salida del alimentador I11.
Al existir una sobre corriente en I11 (simulado con relé AxonGroup), se activa una alarma
indicando que el estado de I11 (ReleO1) se encuentra en condiciones de sobre corriente, el
interruptor I10 detectara la falla, pero no efectuara un disparo, en su lugar solo muestra un
155
indicador de color amarillo en la parte superior, lo que indica que la falla se encuentra en uno
de los alimentadores de salida.
La figura 153 muestra las condiciones después de que el relé AxonGroup ha efectuado el
disparo, en el panel inferior se activa una nueva alarma indicando que I11 está sin carga, el
flujo de energía representado en el SCADA se muestra con un color menos intenso a la salida
del interruptor I11 lo que indica que el interruptor está abierto.
Las condiciones que se han descrito en los párrafos anteriores se repiten para el caso en el
que exista una sobre corriente en I12.
156
Cuando existe una sobre corriente en la barra, la protección del interruptor I10 actúa primero,
instantáneamente envía un mensaje GOOSE a los interruptores de los alimentadores de salida
(ver aparatado 3.2). La figura 154 muestra este evento en el SCADA.
Como se observa en la figura anterior al existir una falla en la barra (simulada por el relé
INFOTECH) se activa una alarma la cual indica que existe una sobre corriente en la barra,
los interruptores I11 e I12 se mantienen estables hasta el momento en que la protección de
I10 se activa.
157
La figura siguiente muestra el evento una vez que I10 es disparado por su protección, se
activa una nueva alarma indicando que ha ocurrido un disparo por sobre corriente en la barra
inmediatamente se envía un mensaje GOOSE a los interruptores de salida, el indicador de
color amarillo en la parte superior de los interruptores de salida, muestra que ha ocurrido una
falla en el alimentador principal.
Finalmente se activa la protección de los interruptores de salida simulados por los relés de
AxonGroup despejando totalmente la falla en la barra, luego de ocurrir este evento se
activarán nuevas alarmas indicando que los interruptores de I10, I11 e I12 se encuentran sin
carga tal como se muestra en la figura 156.
158
Protección de barra por sobre corriente instantánea
159
CONCLUSIONES
160
RECOMENDACIONES
161
REFERENCIAS
2. Bernal, J., Herrera, N. y Guevara, J. (2017). Aplicación del estándar IEC61850 en los
sistemas de protecciones y mediciones eléctricas en subestaciones de alta tensión,
Universidad de El Salvador.
162
ANEXOS
Anexo A. Código básico servidor IEC61850
/***********************************************************************
*Autores: Joel Arnoldo Lopez Alvarado, Miguel Enrique Vasquez Ceron
*Versión: 1.0
*Licencia: GPL v2
*Se ha retomado del ejemplo “server_example_simple” de la librería
*libiec61850-1.4
*Copyright 2013 Michael Zillgith
*Descripción: El presente codigo contiene las instrucciones básicas para
*la creación de un servidor bajo el estándar IEC61850, dicho servidor podrá
*ser explorado desde cualquier cliente bajo el protocolo, el código fue
*comentado al español para una mejor compresión de los parámetros y
*funciones utilizadas, las cuales se encuentra una descripción en la sección
*1.2.10
*Para la ejecución de código ejecutar el siguiente comando en una consola
*bash ubicada en la carpeta del código:
*$sudo ./nombre_del_archivo.c [nombre adaptador de red]
*En caso se utilice el adaptador eth0 no escribir argumento del nombre
*adaptador de red
************************************************************************/
#include "iec61850_server.h"
#include "hal_thread.h"
#include <signal.h>
#include <stdlib.h>
#include <stdio.h>
#include "static_model.h"
/* importamos modelo del dispositivo IEC 61850 creado de archivo SCL */
extern IedModel iedModel;
static int running = 0;
void sigint_handler(int signalId)//funcion para detener la ejecucion del
servidor
{
running = 0;
}
int main(int argc, char** argv) {
int tcpPort = 102;// Puerto a utilizar
/*En la terminal de ejecucion incluimos argumento para seleccionar
adaptador de red
en caso contrario se tomara por defecto el adaptador "eth0"*/
if (argc > 1) {
tcpPort = atoi(argv[1]);
}
//creación de modelo a partir de archivos SCL
IedServer iedServer = IedServer_create(&iedModel);
/*Servidor MMS comenzara a recibir conexiones de clientes IEC61850*/
IedServer_start(iedServer, tcpPort);
/*En caso exista error en la creación del servidor se detendra el programa*/
if (!IedServer_isRunning(iedServer)) {
printf("Inicializacion de servidor fallida! Saliendo.\n");
163
IedServer_destroy(iedServer);
exit(-1);
}
running = 1;
signal(SIGINT, sigint_handler);
while (running) {//funcion repetitiva
Thread_sleep(1);
}
/* Se detiene servidor MMS */
IedServer_stop(iedServer);
/* Limpia - Libera todos los recursos*/
IedServer_destroy(iedServer);
}
164
Anexo B. Código IEDRASPBERRY
/***********************************************************************
*Autores: Joel Arnoldo Lopez Alvarado, Miguel Enrique Vasquez Ceron
*Versión: 1.0
*Licencia: GPL v2
*Se ha retomado de los ejemplos “server_example_basic_io”,
*“server_example_goose” y “goose subscriber” de la librería *libiec61850-
*1.4
*Copyright 2013 Michael Zillgith
*Descripción: El presente código contiene las instrucciones para la
*creación del servidor IEC61850 que se monta en el IEDRaspberry en el cual
*se actualiza en tiempo real el estado del IED, de igual forma contiene la
*publicación GOOSE del estado de sus entradas digitales y el comportamiento
*a seguir al recibir comandos de otro IED vía suscripción GOOSE. Las
*funciones y parámetros utilizados se explican en la sección 1.2.10 y 2.2.1
*respectivamente.
*
*Para la ejecución de código ejecutar el siguiente comando en una consola
*bash ubicada en la carpeta del código:
*$sudo ./nombre_del_archivo.c [nombre adaptador de red]
*En caso se utilice el adaptador eth0 no escribir argumento del nombre
*adaptador de red
*
************************************************************************/
#include "goose_receiver.h"
#include "goose_subscriber.h"
#include "iec61850_server.h"
#include "hal_thread.h"
#include <signal.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <wiringPi.h>
#include <stdbool.h>
#include <stdint.h>
#include "mms_value.h"
#include "goose_publisher.h"
#include "static_model.h"
/* importamos modelo del dispositivo IEC 61850 creado de archivo SCL */
extern IedModel iedModel;
165
}
/* Función para lectura de mensajes de subscripcion GOOSE*/
void
gooseListener(GooseSubscriber subscriber, void* parameter)
{
/*Condicion para detener impresion de mensajes al no recibir nuevos
mensajes GOOSE*/
if (numanterior != GooseSubscriber_getSqNum(subscriber)){
/*impresion de datos importantes del mensaje GOOSE*/
printf("GOOSE event:\n");
printf(" stNum: %u sqNum: %u numant: %u \n",
GooseSubscriber_getStNum(subscriber),
GooseSubscriber_getSqNum(subscriber),numanterior);
printf(" timeToLive: %u\n",
GooseSubscriber_getTimeAllowedToLive(subscriber));
//obtenemos e imprimimos estampa de tiempo de publicador
uint64_t timestamp = GooseSubscriber_getTimestamp(subscriber);
printf(" timestamp: %u.%u\n", (uint32_t) (timestamp / 1000),
(uint32_t) (timestamp % 1000));
// obtenemos mensaje goose y lo almacenamos en un buffer de tipo char
MmsValue* values = GooseSubscriber_getDataSetValues(subscriber);
char buffer[1024];
char *p;
//imprimimos en consola mensaje goose recibido
MmsValue_printToBuffer(values, buffer, 1024);
/* condiciones para clasificar mensajes GOOSE recibidos y cambiar
estado de LEDs*/
if (strcmp(buffer,"{true}") == 0){
valor[0] = 1;}
else {
valor[0] = 0;}
}
numanterior = GooseSubscriber_getSqNum(subscriber);
}
int main(int argc, char** argv) {
int tcpPort = 102;// Puerto a utilizar
//creación de modelo a partir de archivos SCL
iedServer = IedServer_create(&iedModel);
/*Servidor MMS comenzara a recibir conexiones de clientes MMS server
will be instructed to start listening to client connections. */
IedServer_start(iedServer, 102);
166
GooseReceiver_start(receiver);//Inicio de recepcion de mensajes GOOSE
//FIN SUSCRIPCION GOOSE
char* interface;
interface = "eth0"; //Seleccion de adaptador de red ethernet
//Inicializamos los parametros goose y configuramos appid, dirección
MAC y VLAN
CommParameters gooseCommParameters;
gooseCommParameters.appId = 4096 ;
gooseCommParameters.dstAddress[0] = 0x01;
gooseCommParameters.dstAddress[1] = 0x0c;
gooseCommParameters.dstAddress[2] = 0xcd;
gooseCommParameters.dstAddress[3] = 0x01;
gooseCommParameters.dstAddress[4] = 0x00;
gooseCommParameters.dstAddress[5] = 0x01;
gooseCommParameters.vlanId = 0;
//creamos objeto tipo GOOSE PUBLISHER
GoosePublisher publisher =
GoosePublisher_create(&gooseCommParameters, interface);
167
}
/*FIN DE ENVIO GOOSE*/
if (!IedServer_isRunning(iedServer)) {
printf("Inicializacion de servidor fallida! Saliendo.\n");
IedServer_destroy(iedServer);
exit(-1);
}
IedServer_enableGoosePublishing(iedServer);//Comienza a publicar
mensajes GOOSE
wiringPiSetup (); // Inicializamos librería WiringPi
/*Configuramos pines GPIO a utilizar*/
pinMode (29, OUTPUT);
pinMode (28, OUTPUT);
pinMode (27, OUTPUT);
pinMode (26, OUTPUT);
pinMode (25, OUTPUT);
pinMode (21, INPUT);
pinMode (22, INPUT);
pinMode (23, INPUT);
pinMode (24, INPUT);
running = 1;
signal(SIGINT, sigint_handler);
while (running) { // Función repetitiva
IedServer_updateUTCTimeAttributeValue(iedServer,IEDMODEL_GenericIO_GGIO1_
Ind1_t, timeStamp);
IedServer_updateBooleanAttributeValue(iedServer,
IEDMODEL_GenericIO_GGIO1_Ind1_stVal, digitalRead(21));
168
IedServer_updateUTCTimeAttributeValue(iedServer,IEDMODEL_GenericIO_GGIO1_
Ind2_t, timeStamp);
IedServer_updateBooleanAttributeValue(iedServer,
IEDMODEL_GenericIO_GGIO1_Ind2_stVal, digitalRead(22));
IedServer_updateUTCTimeAttributeValue(iedServer,IEDMODEL_GenericIO_GGIO1_
Ind3_t, timeStamp);
IedServer_updateBooleanAttributeValue(iedServer,
IEDMODEL_GenericIO_GGIO1_Ind3_stVal, digitalRead(23));
IedServer_updateUTCTimeAttributeValue(iedServer,IEDMODEL_GenericIO_GGIO1_
Ind4_t, timeStamp);
IedServer_updateBooleanAttributeValue(iedServer,
IEDMODEL_GenericIO_GGIO1_Ind4_stVal, digitalRead(24));
//Actualizamos salidas para relés para indicar estado de las entradas
digitalWrite(28,digitalRead(21));
digitalWrite(27,digitalRead(22));
digitalWrite(26,digitalRead(23));
digitalWrite(25,digitalRead(24));
/*Llamado a funcion para lectura de subscripcion GOOSE*/
gooseListener(subscriber,NULL);
}
/* Se detiene servidor MMS */
IedServer_stop(iedServer);
/* Limpia - Libera todos los recursos*/
IedServer_destroy(iedServer);
}
169
Anexo C. Código convertidor IEC61850/Modbus
/***********************************************************************
*Autores: Joel Arnoldo Lopez Alvarado, Miguel Enrique Vasquez Ceron
*Versión: 1.0
*Licencia: GPL v2
*Se ha retomado de los ejemplos “server_example_basic_io”,
*“server_example_goose” y “goose subscriber” de la librería *libiec61850-
*1.4
*Copyright 2013 Michael Zillgith
*Descripción: El presente código contiene las instrucciones para la
*creación de un servidor virtual IEC61850 que se monta en una PC y hace las
*funciones de gateway entre el protocolo modbus y los protocolos del
*estándar IEC61850 MMS y GOOSE, contiene también el comportamiento al
*recibir instrucciones mediante las suscripciones GOOSE a otros equipos en
*la subestación. Las funciones y parámetros utilizados se explican en la
*sección 1.2.10 y 2.2.2 *respectivamente.
*
*Para la ejecución de código ejecutar el siguiente comando en una consola
*bash ubicada en la carpeta del código:
*$sudo ./nombre_del_archivo.c [nombre adaptador de red]
*En caso se utilice el adaptador eth0 no escribir argumento del nombre
*adaptador de red
*
************************************************************************/
#include "goose_receiver.h"
#include "goose_subscriber.h"
#include "iec61850_server.h"
#include "hal_thread.h"
#include <signal.h>
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <modbus.h>
#include <string.h>
#include "static_model.h"
#include <stdbool.h>
#include <stdint.h>
#include "mms_value.h"
#include "goose_publisher.h"
#define SERVIDOR 0x01 //Direccion asignada al servidor modbus
modbus_t *ctx=NULL; //Crea puntero
/* importamos modelo del dispositivo IEC 61850 creado de archivo SCL */
extern IedModel iedModel;
static int running = 0;
static IedServer iedServer = NULL;
static int valor[5];//Variable para almacenar datos de suscripcion GOOSE
static unsigned int numanterior = 100;//Variable para control de impresion
en consola
void sigint_handler(int signalId)//funcion para detener la ejecucion del
servidor
{
running = 0;
170
}
static CheckHandlerResult
checkHandler(ControlAction action, void* parameter, MmsValue* ctlVal, bool
test, bool interlockCheck)
{// Función para comprobar los comandos MMS recibidos sean validos
if (parameter == IEDMODEL_GenericIO_GGIO1_SPCSO1)
return CONTROL_ACCEPTED;
if (parameter == IEDMODEL_GenericIO_GGIO1_SPCSO2)
return CONTROL_ACCEPTED;
if (parameter == IEDMODEL_GenericIO_GGIO1_SPCSO3)
return CONTROL_ACCEPTED;
if (parameter == IEDMODEL_GenericIO_GGIO1_SPCSO4)
return CONTROL_ACCEPTED;
return CONTROL_OBJECT_UNDEFINED;
}
static ControlHandlerResult
controlHandlerForBinaryOutput(ControlAction action, void* parameter,
MmsValue* value, bool test)
{// Función para cambio de estado de objetos SPCS por comando MMS
uint64_t timestamp = Hal_getTimeInMs();// obtiene la estampa de tiempo
/*Condiciones para actualizar valor segun atributo al que se envio comando*/
/* Se utilizara el objeto SPCS01 para resetear el relé en caso ser
reestablezcan condiciones*/
if (parameter == IEDMODEL_GenericIO_GGIO1_SPCSO1) {
/*actualizacion de estampa de tiempo*/
IedServer_updateUTCTimeAttributeValue(iedServer,
IEDMODEL_GenericIO_GGIO1_SPCSO1_t, timestamp);
/*actualizacion de valor segun comando recibido*/
IedServer_updateAttributeValue(iedServer,
IEDMODEL_GenericIO_GGIO1_SPCSO1_stVal, value);
//usamos funcion get boolean para obtener booleano a partir de dato
MMS
valor[4] = MmsValue_getBoolean(value);
valor[4] = valor[4] != 1;//negamos valor obtenido
else
return CONTROL_RESULT_FAILED;
return CONTROL_RESULT_OK;
}
/* Función para lectura de mensajes de subscripcion GOOSE*/
void
gooseListener(GooseSubscriber subscriber, void* parameter)
{
/*Condicion para detener impresion de mensajes al no recibir nuevos
mensajes GOOSE*/
if (numanterior != GooseSubscriber_getSqNum(subscriber)){
/*impresion de datos importantes del mensaje GOOSE*/
printf("GOOSE event:\n");
171
printf(" stNum: %u sqNum: %u numant: %u \n",
GooseSubscriber_getStNum(subscriber),
GooseSubscriber_getSqNum(subscriber),numanterior);
printf(" timeToLive: %u\n",
GooseSubscriber_getTimeAllowedToLive(subscriber));
//obtenemos e imprimimos estampa de tiempo de publicador
uint64_t timestamp = GooseSubscriber_getTimestamp(subscriber);
printf(" timestamp: %u.%u\n", (uint32_t) (timestamp / 1000),
(uint32_t) (timestamp % 1000));
// obtenemos mensaje goose y lo almacenamos en un buffer de tipo char
MmsValue* values = GooseSubscriber_getDataSetValues(subscriber);
char buffer[1024];
char *p;
//imprimimos en consola mensaje goose recibido
MmsValue_printToBuffer(values, buffer, 1024);
/* condiciones para convertir en numeros enteros mensajes GOOSE
recibidos */
if ((strcmp(buffer,"{true,false,false,false}") ==
0)||(strcmp(buffer,"{true,false,false,true}") ==
0)||(strcmp(buffer,"{true,false,true,false}") ==
0)||(strcmp(buffer,"{true,false,true,true}") ==
0)||(strcmp(buffer,"{true,true,false,false}") ==
0)||(strcmp(buffer,"{true,true,false,true}") ==
0)||(strcmp(buffer,"{true,true,true,false}") ==
0)||(strcmp(buffer,"{true,true,true,true}") == 0)){
valor[0] = 1;}
else {
valor[0] = 0;}
if ((strcmp(buffer,"{false,true,false,false}") ==
0)||(strcmp(buffer,"{false,true,false,true}") ==
0)||(strcmp(buffer,"{false,true,true,false}") ==
0)||(strcmp(buffer,"{false,true,true,true}") ==
0)||(strcmp(buffer,"{true,true,false,false}") ==
0)||(strcmp(buffer,"{true,true,false,true}") ==
0)||(strcmp(buffer,"{true,true,true,false}") ==
0)||(strcmp(buffer,"{true,true,true,true}") == 0)){
valor[1] = 1;}
else {
valor[1] = 0;}
if ((strcmp(buffer,"{false,false,true,false}") ==
0)||(strcmp(buffer,"{false,false,true,true}") ==
0)||(strcmp(buffer,"{false,true,true,false}") ==
0)||(strcmp(buffer,"{false,true,true,true}") ==
0)||(strcmp(buffer,"{true,false,true,false}") ==
0)||(strcmp(buffer,"{true,false,true,true}") ==
0)||(strcmp(buffer,"{true,true,true,false}") ==
0)||(strcmp(buffer,"{true,true,true,true}") == 0)){
valor[2] = 1;}
else {
valor[2] = 0;}
172
if ((strcmp(buffer,"{false,false,false,true}") ==
0)||(strcmp(buffer,"{false,false,true,true}") ==
0)||(strcmp(buffer,"{false,true,false,true}") ==
0)||(strcmp(buffer,"{false,true,true,true}") ==
0)||(strcmp(buffer,"{true,false,false,true}") ==
0)||(strcmp(buffer,"{true,false,true,true}") ==
0)||(strcmp(buffer,"{true,true,false,true}") ==
0)||(strcmp(buffer,"{true,true,true,true}") == 0)){
valor[3] = 1;}
else {
valor[3] = 0;}
printf("%i %i %i %i
%i\n",valor[0],valor[1],valor[2],valor[3],valor[4]);
}
numanterior = GooseSubscriber_getSqNum(subscriber);
}
int main(int argc, char** argv) {
int tcpPort = 102;
//creación de modelo a partir de archivos SCL
iedServer = IedServer_create(&iedModel);
/*Llamado a funcion para cambiar valor a atributos SPCS
por recibir comando MMS*/
IedServer_setControlHandler(iedServer,
IEDMODEL_GenericIO_GGIO1_SPCSO1,
(ControlHandler) controlHandlerForBinaryOutput,
IEDMODEL_GenericIO_GGIO1_SPCSO1);
//INICIO CONEXION MODBUS
uint16_t tab_reg[32]; //Crea un arreglo unsigned long int 16-bit para
colocar los datos
int socket;
int rc,rct;
int puerto;
int nb;
char *ip="192.168.1.80"; // IP A UTILIZAR
struct timeval old_response_timeout;
struct timeval response_timeout;
//validacion de la ip y puerto
puerto=502;
printf("Se utilizara la IP %s y el puerto %d\n",ip,puerto);
173
/*Servidor MMS comenzara a recibir conexiones de clientes MMS*/
IedServer_start(iedServer, 102);
if (!IedServer_isRunning(iedServer)) {
printf("Starting server failed! Exit.\n");
IedServer_destroy(iedServer);
exit(-1);
}
running = 1;
signal(SIGINT, sigint_handler);
//INICIALIZACION DE PARAMETROS PUBLICADOR GOOSE PARA DISPARO AXON GROUP
char* interface;
interface = "enp0s3";//Seleccion de adaptador de red
//Inicializamos los parametros goose y configuramos appid, dirección MAC,
VLAN y prioridad
CommParameters gooseCommParameters;
gooseCommParameters.appId = 3;
gooseCommParameters.dstAddress[0] = 0x01;
gooseCommParameters.dstAddress[1] = 0x0c;
gooseCommParameters.dstAddress[2] = 0xcd;
gooseCommParameters.dstAddress[3] = 0x01;
gooseCommParameters.dstAddress[4] = 0x00;
gooseCommParameters.dstAddress[5] = 0x02;
gooseCommParameters.vlanId = 0;
gooseCommParameters.vlanPriority = 4;
//creamos objeto tipo GOOSE PUBLISHER
GoosePublisher publisher =
GoosePublisher_create(&gooseCommParameters, interface);
if (publisher) {
//Agregamos los parametros GOOSE ID, Data set.
GoosePublisher_setGoCbRef(publisher, "LLN0$gcb1");
GoosePublisher_setGoID(publisher, "G3");
GoosePublisher_setConfRev(publisher, 1);
GoosePublisher_setDataSetRef(publisher, "LLN0$DS1");
}
IedServer_enableGoosePublishing(iedServer);//Comienza a publicar
mensajes GOOSE
while (running) {
Thread_sleep(100);
//evaluamos si se recibe alguna activacion de protecciones de la
IEDRASPBERRY para disparar el relé
if ((valor[0] == 1 || valor[1] == 1 || valor[2] == 1 || valor[3] ==
1) && valor[4] == 0){
valor[4] = 1;
ctx = modbus_new_tcp(ip,puerto); //Usando contexto TCP, ip y puerto
comunicacion modbus
modbus_set_slave(ctx, SERVIDOR);
if (ctx == NULL) {
fprintf(stderr, "No pudo ubicar el contexto libmodbus\n");
return -1;
}
if (modbus_connect(ctx) == -1) {
174
fprintf(stderr, "La conexión fallo: %s\n", modbus_strerror(errno));
modbus_free(ctx);
return -1;
}
//Mandamos la orden de disparo de una de las salidas del relé vía
modbus
modbus_write_bit(ctx,0,valor[4]);
modbus_free(ctx);//liberamos recursos utilizados para la
comunicacion
}
/*Enviamos disparo vía GOOSE de interruptores de lado de alta y baja
de TX de potencia*/
bool disparo = valor[4]!=0;
LinkedList dataSetValues = LinkedList_create();
LinkedList_add(dataSetValues, MmsValue_newBoolean(disparo));
if (GoosePublisher_publish(publisher, dataSetValues) == -1) {
printf("Error sending message!\n");
}
LinkedList_destroyDeep(dataSetValues,
(LinkedListValueDeleteFunction) MmsValue_delete);
IedServer_updateAttributeValue(iedServer,
IEDMODEL_GenericIO_GGIO1_SPCSO1_stVal, MmsValue_newBoolean(disparo != 1));
gooseListener(subscriber,NULL);
}
/* Se detiene servidor MMS */
IedServer_stop(iedServer);
/* Limpia - Libera todos los recursos*/
IedServer_destroy(iedServer);}
175
Anexo D. Instalación Raspbian desde S.O Windows
3) Una vez seleccionado hacer clic sobre el botón “write”, se descarga e instala el
sistema operativo en la tarjeta SD
4) Colocar la tarjeta micro SD en la ranura respectiva de la raspberry pi.
5) Instalar pantalla en puerto HDMI, teclado y mouse.
6) Conectar cable de alimentación para encender raspberry pi.
176
Anexo E. Software, simuladores y equipos que se entregan para
uso y estudio del estándar a la Escuela de Ingeniería Eléctrica
177
Anexo F. Contenido del CD
178