Automatiseer Know-How Protection op schaal
Siemens TIA Portal's Know-How Protection vergrendelt de broncode van een blok met een wachtwoord. Het blok blijft zichtbaar in de projectstructuur (naam, type, publieke interface), maar de interne logica kan niet worden gelezen, geëxporteerd of gewijzigd zonder het wachtwoord. Met T-IA Connect kunt u deze bescherming programmatisch toepassen via de REST API, MCP-tools voor AI-assistenten of de ingebouwde Copilot - inclusief batchbescherming voor volledige projecten in enkele seconden.
Vereisten
- TIA Portal project geopend in T-IA Connect (V17, V18, V19 of V20)
- PLC-blokken gecompileerd zonder fouten (vereist vóór bescherming)
- T-IA Connect server draait (elke editie)
Stap 1: Identificeer onbeschermde blokken
Geef alle blokken in uw PLC-apparaat weer. Elk blok bevat een isKnowHowProtected veld dat de huidige beschermingsstatus toont.
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
}
]
}Stap 2: Compileer het apparaat
Blokken moeten worden gecompileerd voordat ze kunnen worden beschermd. Compileer het hele apparaat om ervoor te zorgen dat alle blokken zich in een geldige staat bevinden.
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
}
}Stap 3: Know-How Protection toepassen
Bescherm een blok door de apparaatnaam, bloknaam en een wachtwoord op te geven. Het wachtwoord wordt veilig doorgegeven en nooit opgeslagen door 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
}
}Stap 4: Verifieer beschermingsstatus
Bevestig dat de bescherming correct is toegepast door de gedetailleerde status van het blok te controleren. Het antwoord vertelt u of het blok beschermd en beschermbaar is.
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
}
}Batchbescherming
Bescherm tientallen blokken in een enkele API-aanroep. Het batch-eindpunt maakt gebruik van best-effort verwerking en retourneert een gedetailleerd rapport voor elk blok.
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 is het systeemeigen blokbeschermingsmechanisme van Siemens. Het heeft nul impact op de PLC runtime prestaties. Het wachtwoord wordt nooit opgeslagen door T-IA Connect - het wordt als een SecureString doorgegeven aan de Siemens Openness API en nooit gelogd.
Ook beschikbaar via MCP & Copilot
Dezelfde beschermingsfuncties zijn beschikbaar als MCP-tools voor AI-assistenten (Claude, Gemini, ChatGPT) en in de ingebouwde Copilot. Tools: protect_block, unprotect_block, get_block_protection_status, protect_blocks (batch).