Tutoriales

Know-How Protection vía API

Bloquee el código fuente de sus bloques PLC con la Know-How Protection nativa de Siemens: de forma programática, por lotes, desde cualquier IA o script.

T
Equipo de T-IA Connect
Lectura de 8 min
Actualizado el 26 de abr. de 2026

Automatice Know-How Protection a escala

La Know-How Protection de Siemens TIA Portal bloquea el código fuente de un bloque con una contraseña. El bloque permanece visible en el árbol del proyecto (nombre, tipo, interfaz pública), pero su lógica interna no puede leerse, exportarse ni modificarse sin la contraseña. T-IA Connect le permite aplicar esta protección de forma programática a través de REST API, herramientas MCP para asistentes de IA o el Copilot integrado, incluyendo protección por lotes para proyectos completos en segundos.

Requisitos previos

  • Proyecto de TIA Portal abierto en T-IA Connect (V17, V18, V19 o V20)
  • Bloques PLC compilados sin errores (necesario antes de la protección)
  • Servidor T-IA Connect en ejecución (cualquier edición)

Paso 1: Identificar bloques no protegidos

Enumere todos los bloques en su dispositivo PLC. Cada bloque incluye un campo isKnowHowProtected que muestra su estado de protección actual.

curl - GET /api/devices/{deviceName}/blocks
curl http://localhost:9000/api/devices/PLC_1/blocks \
  -H "X-API-Key: your-api-key"
Response
{
  "Success": true,
  "Data": [
    {
      "Name": "FB_Fill",
      "Type": "FB",
      "Number": 1,
      "Language": "SCL",
      "IsKnowHowProtected": false
    },
    {
      "Name": "FB_Drain",
      "Type": "FB",
      "Number": 2,
      "Language": "SCL",
      "IsKnowHowProtected": false
    },
    {
      "Name": "FC_Recipe_Manager",
      "Type": "FC",
      "Number": 10,
      "Language": "SCL",
      "IsKnowHowProtected": false
    },
    {
      "Name": "FB_SafetyMonitor",
      "Type": "FB",
      "Number": 3,
      "Language": "LAD",
      "IsKnowHowProtected": true
    }
  ]
}

Paso 2: Compilar el dispositivo

Los bloques deben estar compilados antes de poder protegerlos. Compile todo el dispositivo para asegurarse de que todos los bloques estén en un estado válido.

curl - POST /api/devices/{deviceName}/actions/compile
curl -X POST http://localhost:9000/api/devices/PLC_1/actions/compile \
  -H "X-API-Key: your-api-key"
Response
{
  "Success": true,
  "Message": "Compilation completed.",
  "Data": {
    "Errors": 0,
    "Warnings": 2
  }
}

Paso 3: Aplicar Know-How Protection

Proteja un bloque proporcionando el nombre del dispositivo, el nombre del bloque y una contraseña. La contraseña se transmite de forma segura y T-IA Connect nunca la almacena.

curl - POST /api/devices/{deviceName}/blocks/{blockName}/actions/protect
curl -X POST http://localhost:9000/api/devices/PLC_1/blocks/FB_Fill/actions/protect \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "password": "MySecretPassword123"
  }'
Response
{
  "Success": true,
  "Message": "Block 'FB_Fill' is now know-how protected.",
  "Data": {
    "BlockName": "FB_Fill",
    "IsKnowHowProtected": true,
    "IsProtectable": true
  }
}

Paso 4: Verificar el estado de protección

Confirme que la protección se aplicó correctamente verificando el estado detallado del bloque. La respuesta le indica si el bloque está protegido y si es protegible.

curl - GET /api/devices/{deviceName}/blocks/{blockName}/protection
curl http://localhost:9000/api/devices/PLC_1/blocks/FB_Fill/protection \
  -H "X-API-Key: your-api-key"
Response
{
  "Success": true,
  "Data": {
    "BlockName": "FB_Fill",
    "IsKnowHowProtected": true,
    "IsProtectable": true,
    "Reason": null
  }
}

Protección por lotes

Proteja docenas de bloques en una sola llamada API. El punto de conexión por lotes utiliza procesamiento best-effort y devuelve un informe detallado para cada bloque.

curl - POST /api/devices/{deviceName}/blocks/actions/protect-batch
curl -X POST http://localhost:9000/api/devices/PLC_1/blocks/actions/protect-batch \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "blockNames": ["FB_Fill", "FB_Drain", "FC_Recipe_Manager", "DB_Config"],
    "password": "MySecretPassword123"
  }'
Response
{
  "Success": true,
  "Message": "3/4 blocks protected successfully.",
  "Data": {
    "TotalRequested": 4,
    "Succeeded": 3,
    "Failed": 1,
    "Details": [
      { "BlockName": "FB_Fill", "IsKnowHowProtected": true, "Reason": null },
      { "BlockName": "FB_Drain", "IsKnowHowProtected": true, "Reason": null },
      { "BlockName": "FC_Recipe_Manager", "IsKnowHowProtected": true, "Reason": null },
      { "BlockName": "DB_Config", "IsKnowHowProtected": true, "Reason": "Already protected." }
    ]
  }
}

Know-How Protection es el mecanismo nativo de protección de bloques de Siemens. No tiene impacto en el rendimiento en tiempo de ejecución del PLC. T-IA Connect nunca almacena la contraseña: se pasa como un SecureString a la Siemens Openness API y nunca se registra.

También disponible vía MCP y Copilot

Las mismas funciones de protección están disponibles como herramientas MCP para asistentes de IA (Claude, Gemini, ChatGPT) y en el Copilot integrado. Herramientas: protect_block, unprotect_block, get_block_protection_status, protect_blocks (por lotes).

Su Know-How, protegido en segundos

Deje de hacer clic derecho manualmente en 50 bloques uno por uno en TIA Portal. Proteja todo su proyecto en una sola llamada API, o deje que su asistente de IA lo haga.

Obtenga T-IA Connect para automatizar la Know-How Protection desde código, scripts o IA.