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 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
}
]
}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 -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
}
}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 -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
}
}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 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
}
}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 -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 ä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).