Tutoriais

Know-How Protection via API

Bloqueie o código-fonte do seu bloco de PLC com o Know-How Protection nativo da Siemens - de forma programática, em lote, a partir de qualquer IA ou script.

T
Equipe T-IA Connect
8 min de leitura
Atualizado em 26 de abr de 2026

Automatize o Know-How Protection em Escala

O Know-How Protection do Siemens TIA Portal bloqueia o código-fonte de um bloco atrás de uma senha. O bloco permanece visível na árvore do projeto (nome, tipo, interface pública), mas sua lógica interna não pode ser lida, exportada ou modificada sem a senha. O T-IA Connect permite que você aplique essa proteção programaticamente via REST API, ferramentas MCP para assistentes de IA ou o Copilot integrado - incluindo proteção em lote para projetos inteiros em segundos.

Pré-requisitos

  • Projeto TIA Portal aberto no T-IA Connect (V17, V18, V19 ou V20)
  • Blocos de PLC compilados sem erros (necessário antes da proteção)
  • Servidor T-IA Connect em execução (qualquer edição)

Passo 1: Identificar Blocos Não Protegidos

Liste todos os blocos no seu dispositivo PLC. Cada bloco inclui um campo isKnowHowProtected que mostra seu status de proteção atual.

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
    }
  ]
}

Passo 2: Compilar o Dispositivo

Os blocos devem ser compilados antes de poderem ser protegidos. Compile todo o dispositivo para garantir que todos os blocos estejam em um 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
  }
}

Passo 3: Aplicar Know-How Protection

Proteja um bloco fornecendo o nome do dispositivo, o nome do bloco e uma senha. A senha é transmitida de forma segura e nunca é armazenada pelo T-IA Connect.

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
  }
}

Passo 4: Verificar o Status da Proteção

Confirme se a proteção foi aplicada corretamente verificando o status detalhado do bloco. A resposta informa se o bloco está protegido e se é protegível.

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
  }
}

Proteção em Lote

Proteja dezenas de blocos em uma única chamada de API. O endpoint de lote usa processamento best-effort e retorna um relatório detalhado para cada bloco.

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." }
    ]
  }
}

O Know-How Protection é o mecanismo de proteção de blocos nativo da Siemens. Ele tem impacto zero no desempenho de execução do PLC. A senha nunca é armazenada pelo T-IA Connect - ela é passada como uma SecureString para a Siemens Openness API e nunca é registrada em log.

Também Disponível via MCP e Copilot

Os mesmos recursos de proteção estão disponíveis como ferramentas MCP para assistentes de IA (Claude, Gemini, ChatGPT) e no Copilot integrado. Ferramentas: protect_block, unprotect_block, get_block_protection_status, protect_blocks (lote).

Seu Know-How, Protegido em Segundos

Pare de clicar manualmente com o botão direito em 50 blocos, um por um, no TIA Portal. Proteja todo o seu projeto em uma única chamada de API - ou deixe seu assistente de IA fazer isso.

Obtenha o T-IA Connect para automatizar o Know-How Protection a partir de código, scripts ou IA.