Tutoriels

Know-How Protection via API

Verrouillez le code source de vos blocs PLC avec le Know-How Protection natif Siemens - par programmation, en lot, depuis n'importe quelle IA ou script.

T
Equipe T-IA Connect
8 min de lecture
Mis a jour le 26 avril 2026

Automatiser le Know-How Protection a grande echelle

Le Know-How Protection de Siemens TIA Portal verrouille le code source d'un bloc derriere un mot de passe. Le bloc reste visible dans l'arborescence du projet (nom, type, interface publique), mais sa logique interne ne peut etre ni lue, ni exportee, ni modifiee sans le mot de passe. T-IA Connect permet d'appliquer cette protection par programmation via API REST, outils MCP pour les assistants IA, ou le Copilot integre - y compris la protection en lot de projets entiers en quelques secondes.

Prerequis

  • Projet TIA Portal ouvert dans T-IA Connect (V17, V18, V19 ou V20)
  • Blocs PLC compiles sans erreur (obligatoire avant la protection)
  • Serveur T-IA Connect en cours d'execution (toute edition)

Etape 1 : Identifier les blocs non proteges

Listez tous les blocs de votre automate. Chaque bloc inclut un champ isKnowHowProtected indiquant son statut de protection actuel.

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

Etape 2 : Compiler l'appareil

Les blocs doivent etre compiles avant de pouvoir etre proteges. Compilez l'appareil entier pour vous assurer que tous les blocs sont dans un etat valide.

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

Etape 3 : Appliquer le Know-How Protection

Protegez un bloc en fournissant le nom de l'appareil, le nom du bloc et un mot de passe. Le mot de passe est transmis de maniere securisee et n'est jamais stocke par 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
  }
}

Etape 4 : Verifier le statut de protection

Confirmez que la protection a ete correctement appliquee en verifiant le statut detaille du bloc. La reponse indique si le bloc est protege et protegeable.

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

Protection en lot

Protegez des dizaines de blocs en un seul appel API. L'endpoint batch utilise un traitement best-effort et retourne un rapport detaille pour chaque bloc.

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

Le Know-How Protection est le mecanisme natif de protection de blocs Siemens. Il n'a aucun impact sur les performances d'execution de l'automate. Le mot de passe n'est jamais stocke par T-IA Connect - il est transmis en SecureString a l'API Siemens Openness et n'apparait dans aucun log.

Egalement disponible via MCP et Copilot

Les memes fonctionnalites de protection sont disponibles en tant qu'outils MCP pour les assistants IA (Claude, Gemini, ChatGPT) et dans le Copilot integre. Outils : protect_block, unprotect_block, get_block_protection_status, protect_blocks (lot).

Votre savoir-faire, protege en quelques secondes

Arretez de faire clic droit sur 50 blocs un par un dans TIA Portal. Protegez votre projet entier en un seul appel API - ou laissez votre assistant IA le faire.

Obtenez T-IA Connect pour automatiser le Know-How Protection depuis du code, des scripts ou une IA.