Codync
免費、開源的 1:1 替代方案,取代 Grok Bot 與 Muse。從 iPhone、Mac 或 Linux 桌面將 Claude Code、Codex、Cursor 與 40+ 程式碼代理人作為持續機器人傳訊。群組聊天、主題串…
AI 翻譯
Herramienta de escritorio en Java para exploración, simulación y análisis del protocolo IEC 61850, orientada a la formación técnica en automatización de subestaciones. Desarrollada por Emilio Medina (Paraguay). Software libre bajo GPL v3.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗🇪🇸 Español · 🇬🇧 English · 🇨🇳 中文 · 🇧🇷 Português · 🇸🇦 العربية
Herramienta de escritorio en Java para exploración, simulación y análisis del protocolo IEC 61850, orientada a la formación técnica en automatización de subestaciones. Desarrollada por Emilio Medina (Paraguay). Software libre bajo GPL v3.
Es la versión evolucionada (núcleo activo) del proyecto IEDNavigator, con interfaz Java Swing + FlatLaf.
⚠ Uso exclusivamente educativo. No apta para pruebas FAT/SAT, comisionamiento ni maniobras en instalaciones en servicio. El desarrollador no garantiza el desempeño ni la idoneidad para ningún propósito; el uso es bajo exclusiva responsabilidad del usuario.
retrieveModel estándar.iec61850bean 1.9.0 no implementa el select-with-value del modelo reforzado (ctlModel = 4), el intercambio SBOw → Oper (con el mismo ctlNum) está implementado manualmente conforme a IEC 61850-7-2 §20. Verificado contra un relé de protección NARI PCS-9611S real.sboTimeout) —, Ejecutar (OPER) y Cancelar SELECT.Test, campo Check (synchroChk / interlkChk), identificador de operador (orIdent).stVal del objeto controlado hasta confirmar (o no) la maniobra física.Cancel repite el ctlVal del SELECT. Verificado contra el registro de control del propio relé.Beh, Health, autoridad de mando (Loc, LocKey, LocSta), enclavamiento (CILO.EnaOpn / EnaCls) y sincronismo (RSYN.Rel).AddCause con su nombre —o el ServiceError si el IED no publica AddCause— junto con el LastApplError. Si la orden se pidió con Modo Test sobre un nodo en servicio (Beh=on), se nombra ese motivo (Blocked-by-Mode) en lugar de atribuirlo al mando local.sqNum monótono).libiec61850 (JNA), incluido en lib/.simulation del PDU): un suscriptor conforme solo la acepta si él mismo está en modo simulación (LPHD.Sim). Se puede desmarcar desde el panel, con aviso en el registro.stNum nuevo) y omite los latidos.Equipos reales contra los que se ejercitó la herramienta, con lo que se verificó en cada uno. Los nombres se usan para identificar el producto (uso referencial): no implican compatibilidad declarada, homologación ni respaldo de ningún fabricante.
| Equipo | Qué se verificó |
|---|---|
| Siemens SIPROTEC 5 7SJ85 | Exploración de modelo y maniobra SBO con seguridad reforzada en campo, con verificación de posición |
| Siemens SIPROTEC 5 6MD85 | Exploración de modelo en banco (31 dispositivos lógicos, 117 nodos lógicos, 2.009 objetos de datos) y lectura del modelo de control |
| NARI PCS-9611S | Exploración de modelo (por construcción manual: rechaza el retrieveModel estándar), maniobras SBO con seguridad reforzada de apertura y cierre, y Cancel conforme a §20.8 confirmado en el registro de control del propio relé. Rechazo con el selector en mando local verificado en ambas posiciones: el equipo rechaza sin poblar Loc / LocKey / LocSta. Lectura completa del modelo y exportación de CID con los valores del equipo |
| ZIV 2IRX | Exploración de modelo y mando directo (ctlModel = 3) |
| ABB REC670 | Exploración de modelo, bloques de control de reporte y verificación previa de condiciones |
| Ingeteam Ingepac EF-ZTO | Exploración de modelo. El equipo corta la asociación tras 90 s sin pedidos (ABORT): es un temporizador de inactividad configurable del propio equipo (AplicTms), no una falla. La lectura de mantenimiento de la herramienta sostiene la conexión |
| Efacec TPU S420 | Exploración de modelo |
Exploración de modelo significa que la herramienta recuperó y navegó el modelo de datos del equipo; no implica que se haya operado nada sobre él. El ABB REC670 y el Ingeteam están retirados de servicio y se usan como banco de pruebas: sirven para verificar funcionamiento, no para afirmaciones de rendimiento. El 6MD85 se exploró sobre mesa, alimentado solo con tensión auxiliar: sin realimentación de posición ni magnitudes de medida.
Fuera de la tabla, porque no hay una sesión registrada de la herramienta contra el equipo real:
jlink). Para compilar desde el código: JDK 11 o superior.Opción A — Instalador (recomendado)
C:\IEDNavigatorPRO).INSTALAR.bat (no requiere administrador). Se abre una ventana con las opciones Instalar y Desinstalar; si detecta que falta Npcap, ofrece un botón que lo descarga e instala.IEDNavigatorPRO.exe.Opción B — Maven (desde el código)
mvn clean package -DskipTests
java --enable-native-access=ALL-UNNAMED -Djna.library.path=lib \
-jar target/ied-navigator-1.0.0-jar-with-dependencies.jar
Opción C — Script PowerShell
.\compile.ps1 # compila a classes/ usando lib/*.jar
Luego ejecutar con el jar generado (Opción B) o con la clase principal com.iednavigator.IEDNavigatorApp sobre classes/ + lib/*.
Conectar a un IED real
102).Simular un IED propio
.icd / .cid / .scd.Archivo de prueba incluido: test/test_ied.cid
src/main/java/com/iednavigator/
IEDNavigatorApp.java # GUI principal (Swing)
IEC61850Client.java # Cliente MMS/ACSE, descubrimiento, polling, control
IEC61850Server.java # Servidor/simulador de IED desde SCL
GoosePublisher.java # Publicación GOOSE (pcap4j)
GooseSubscriber.java # Suscripción GOOSE
GooseUdpBridge.java # Puente GOOSE sobre UDP
ConnectionManager.java # Gestión de conexión
SclCompare.java # Comparación de archivos SCL
GooseMapAnalyzer.java # Mapa de suscripciones GOOSE
Iec61850Dictionary.java # Diccionario IEC 61850
native_lib/ # Bindings JNA a iec61850.dll (GOOSE/SV nativo)
[+ paneles y clases auxiliares]
lib/ # Dependencias Java + iec61850.dll
test/test_ied.cid # CID de prueba
| Librería | Versión | Licencia | Incluida |
|---|---|---|---|
| iec61850bean | 1.9.0 | Apache 2.0 | Sí |
| libiec61850 (iec61850.dll) | — | GPL v3 | Sí |
| asn1bean | 1.13.0 | Apache 2.0 | Sí |
| pcap4j | 1.8.2 | MIT | Sí |
| FlatLaf | 3.2 | Apache 2.0 | Sí |
| JNA | 5.14.0 | Apache 2.0 / LGPL 2.1 | Sí |
| SLF4J | 2.0.9 | MIT | Sí |
| ANTLR | 2.7.7 | ANTLR 2 (tipo BSD) | Sí |
| Npcap | — | Npcap License | No (aparte) |
Los avisos y licencias completos están en THIRD-PARTY-NOTICES.txt.
La aplicación no recopila ni envía datos: no tiene telemetría, cuentas de usuario ni búsqueda automática de actualizaciones. Qué guarda en tu computadora y cómo borrarlo, paso a paso: PRIVACIDAD.md.
Se distribuye bajo la GNU General Public License v3 (GPL v3) — ver LICENSE. Esta condición deriva de la biblioteca nativa libiec61850 (iec61850.dll, GPL v3), que se incluye para las funciones GOOSE/SV nativas; las demás dependencias son permisivas (Apache 2.0, MIT, LGPL/BSD). Podés usar, modificar y redistribuir el software siempre que mantengas la misma licencia, incluyas el código fuente y conserves los avisos de copyright.
Npcap no se redistribuye con este proyecto (su licencia no lo permite); se enlaza al sitio oficial de descarga, lo cual no constituye redistribución.
Copyright © Emilio Medina.