Rela AIRela AI Docs
Integraciones

Conectar un PLC Siemens S7 a la nube paso a paso (sin gateway)

Guía para leer datos de un Siemens S7-300/400/1200/1500 en la nube con S7comm: rack, slot, data blocks, intervalos de sondeo y troubleshooting — sin hardware adicional.

Conectar un PLC Siemens S7 a la nube

Rela AI habla S7comm nativo: lee los data blocks de tu Siemens S7-300, S7-400, S7-1200 o S7-1500 directamente, sin gateway físico, sin OPC server intermedio y sin tocar el programa del PLC. La conexión sale por una VPN segura entre tu planta y la nube.

¿Prefieres no abrir el PLC en absoluto? Si tu planta ya tiene un servidor OPC UA o un broker MQTT, también puedes conectar por esas vías: OPC UA · MQTT.

Qué necesitas antes de empezar

RequisitoDetalle
IP del PLCAlcanzable desde la red de planta (puerto 102 TCP)
Rack y slotS7-300/400: rack 0, slot 2 (típico) · S7-1200/1500: rack 0, slot 1
Data blocks a leerNúmero de DB, offset y tipo de dato de cada variable
Acceso PUT/GET (solo S7-1200/1500)Habilitado en TIA Portal (ver abajo)
VPN de plantaConfigurada una sola vez: ver VPN

En S7-1200/1500, TIA Portal bloquea las lecturas externas por defecto. Habilita en las propiedades de la CPU: Protection & Security → Connection mechanisms → "Permit access with PUT/GET communication from remote partner". En S7-300/400 no hace falta.

Paso a paso

1. Crea la fuente S7

En el dashboard: Industrial → Conexiones → Nueva fuente, protocolo S7comm (Siemens):

CampoEjemploNotas
s7_host192.168.0.10IP del PLC en la red de planta
s7_port102Puerto ISO-TSAP estándar
s7_rack0Rack del bastidor
s7_slot11 en S7-1200/1500 · 2 en S7-300/400

2. Define los data blocks

Cada variable que quieras monitorear es una entrada en s7_data_blocks:

CampoEjemploSignificado
db_number12Número del data block (DB12)
offset4Byte inicial de la variable dentro del DB
data_typerealint, real, bool o string
poll_interval_seconds5Frecuencia de sondeo (1–3600 s)
nametemp_hornoNombre legible de la variable
descriptionTemperatura cámara de cocción (°C)El agente de IA razona con esta descripción
{
  "source_id": "plc-horno-1",
  "protocol": "s7",
  "s7_host": "192.168.0.10",
  "s7_rack": 0,
  "s7_slot": 1,
  "s7_data_blocks": [
    {
      "db_number": 12,
      "offset": 4,
      "size": 4,
      "data_type": "real",
      "poll_interval_seconds": 5,
      "name": "temp_horno",
      "description": "Temperatura cámara de cocción (°C)"
    },
    {
      "db_number": 12,
      "offset": 8,
      "size": 2,
      "data_type": "int",
      "poll_interval_seconds": 10,
      "name": "ciclos_lote",
      "description": "Ciclos completados del lote actual"
    }
  ]
}

3. Prueba la conexión

Usa el botón Probar conexión de la fuente (o POST /api/v1/machine/sources/{source_id}/test). Deberías ver el primer valor de cada data block en segundos.

4. Vincula la fuente a un activo

En Activos, asocia la fuente al equipo correspondiente. A partir de ahí el pipeline completo corre solo: línea base → detección de anomalíassalud del activo (AHI)predicción de vida útil (RUL) → alerta por WhatsApp.

Troubleshooting

SíntomaCausa probableSolución
Timeout al conectarPuerto 102 bloqueado o VPN caídaVerifica firewall de planta y estado de la VPN
Conecta pero lee cerosOffset o tipo de dato incorrectoRevisa el layout del DB en TIA Portal (offsets en bytes)
Connection refused en S7-1500PUT/GET deshabilitadoHabilítalo en Protection & Security (ver arriba)
Lecturas intermitentesOtro cliente saturando la CPUSube poll_interval_seconds de las variables menos críticas
Reconexiones constantesConexión zombie detectadaEl listener reconecta solo tras 3 ciclos fallidos — revisa la red si persiste

Preguntas frecuentes

¿Tengo que modificar el programa del PLC? No. La lectura S7comm es pasiva: Rela AI lee los data blocks existentes sin escribir ni cargar bloques nuevos.

¿Funciona con un S7-200 o LOGO!? No directamente (no exponen S7comm estándar). La vía recomendada es un bridge MQTT: ver MQTT sin gateway.

¿Cuántas variables puedo leer? No hay límite duro por fuente; el límite práctico es la carga de la CPU del PLC. Empieza por las 5–15 variables que mejor describen la salud del equipo.

En esta página