Guider

Know-How Protection via API

Lås källkoden i dina PLC-block med Siemens nativa Know-How Protection - programmatiskt, i batch, från valfri AI eller skript.

T
T-IA Connect Team
8 min läsning
Uppdaterad 26 apr. 2026

Automatisera Know-How Protection i stor skala

Siemens TIA Portal's Know-How Protection låser ett blocks källkod bakom ett lösenord. Blocket förblir synligt i projektträdet (namn, typ, publikt gränssnitt), men dess interna logik kan inte läsas, exporteras eller ändras utan lösenordet. T-IA Connect låter dig applicera detta skydd programmatiskt via REST API, MCP-verktyg för AI-assistenter eller den inbyggda Copilot - inklusive batch-skydd för hela projekt på några sekunder.

Förutsättningar

  • TIA Portal-projekt öppet i T-IA Connect (V17, V18, V19 eller V20)
  • PLC-block kompilerade utan fel (krävs före skydd)
  • T-IA Connect-server körs (valfri utgåva)

Steg 1: Identifiera oskyddade block

Lista alla block i din PLC-enhet. Varje block innehåller ett isKnowHowProtected-fält som visar dess aktuella skyddsstatus.

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

Steg 2: Kompilera enheten

Block måste vara kompilerade innan de kan skyddas. Kompilera hela enheten för att säkerställa att alla block är i ett giltigt tillstånd.

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

Steg 3: Applicera Know-How Protection

Skydda ett block genom att ange enhetsnamn, blocknamn och ett lösenord. Lösenordet skickas säkert och lagras aldrig av 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
  }
}

Steg 4: Verifiera skyddsstatus

Bekräfta att skyddet applicerades korrekt genom att kontrollera blockets detaljerade status. Svaret talar om ifall blocket är skyddat och skyddsbart.

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

Batch-skydd

Skydda dussintals block i ett enda API-anrop. Batch-endpointen använder best-effort-bearbetning och returnerar en detaljerad rapport för varje block.

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 är Siemens nativa mekanism för blockskydd. Det har noll påverkan på PLC-prestanda vid körning. Lösenordet lagras aldrig av T-IA Connect - det skickas som en SecureString till Siemens Openness API och loggas aldrig.

Även tillgängligt via MCP & Copilot

Samma skyddsfunktioner finns tillgängliga som MCP-verktyg för AI-assistenter (Claude, Gemini, ChatGPT) och i den inbyggda Copilot. Verktyg: protect_block, unprotect_block, get_block_protection_status, protect_blocks (batch).

Ditt Know-How, skyddat på några sekunder

Sluta högerklicka manuellt på 50 block ett efter ett i TIA Portal. Skydda hela ditt projekt i ett enda API-anrop - eller låt din AI-assistent göra det.

Skaffa T-IA Connect för att automatisera Know-How Protection från kod, skript eller AI.