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 http://localhost:9000/api/devices/PLC_1/blocks \ -H "X-API-Key: your-api-key"
{
"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 -X POST http://localhost:9000/api/devices/PLC_1/actions/compile \ -H "X-API-Key: your-api-key"
{
"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 -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"
}'{
"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 http://localhost:9000/api/devices/PLC_1/blocks/FB_Fill/protection \ -H "X-API-Key: your-api-key"
{
"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 -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"
}'{
"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).