DevOps / Distribution

Automatiserad PLC-distribution
för TIA Portal-projekt

Automatisera hela livscykeln för distribution: kompilera hårdvara och mjukvara, upprätta online-anslutningar, jämför online/offline-tillstånd, ladda ner firmware och program till PLC och styr CPU-driftläge - allt skriptat via REST API.

Full automatisering av distributionslivscykeln

Varje steg från källkod till fungerande PLC, skriptbart och repeterbart

Kompilering

Kompilera hårdvarukonfiguration och mjukvarublock individuellt eller tillsammans. Kompileringsresultat inkluderar fel och varningar - integrera i CI-pipelines för att villkora distribution på framgångsrika byggen.

Online-anslutning

Upprätta och avsluta online-anslutningar till PLC:er. Stöder PLCSim Softbus, PROFINET och manuell sökvägsöverskrivning. Detektera anslutningsparametrar automatiskt eller ange åtkomstpunkter explicit.

Nedladdningsomfång

Välj nedladdningsomfång per distribution: Endast mjukvara, endast hårdvara, hårdvara och mjukvara kombinerat, eller endast mjukvaruändringar för uppdateringar med minimal påverkan. Exakt kontroll över vad som når PLC:n.

CPU-statushantering

Starta och stoppa CPU programmatiskt. Läs aktuell CPU-status före och efter distribution. Bygg säkra distributionssekvenser som automatiskt för CPU:n genom STOP, nedladdning och RUN.

Stöd för lösenordsskyddad PLC

Autentisera mot lösenordsskyddade PLC:er innan du går online. Ställ in, uppdatera och rensa online-autentiseringsuppgifter via API:et för att stödja säkra produktionsmiljöer.

Säkerhetsspärrar

Flaggan confirmPhysicalDownload förhindrar oavsiktliga nedladdningar till riktig hårdvara - endast PLCSim-mål tillåter nedladdningar utan explicit bekräftelse. Ett kritiskt skyddsräcke för CI/CD-pipelines som riktar sig mot fysiska PLC:er.

Standardarbetsflöde för distribution

Fem steg från kompilerad kod till en fungerande PLC

1

Kompilera

Trigga hårdvaru- och mjukvarukompilering via compile_device eller compile_block. Kontrollera resultatet för fel innan du fortsätter. En misslyckad kompilering avbryter distributionen.

2

Gå online

Anropa go_online med målenheten. T-IA Connect löser åtkomstpunkten automatiskt eller accepterar en manuell sökväg. Verifiera anslutningsstatus med get_online_state innan du fortsätter.

3

Jämför Online / Offline

Kör compare_online_offline för att kontrollera om PLC:n redan matchar projektet. Hoppa över onödiga nedladdningar om inget delta upptäcks, vilket minskar PLC-störningar i produktionen.

4

Ladda ner till PLC

Exekvera download_to_plc med valt omfång (Software, Hardware, HardwareAndSoftware eller SoftwareOnlyChanges). Sätt confirmPhysicalDownload till true endast vid avsiktlig riktning mot riktig hårdvara.

5

Starta CPU

Utfärda start_cpu för att överföra PLC:n från STOP till RUN. Bekräfta sluttillståndet med get_cpu_state. Logga resultatet för granskningshistorik och CI-rapportering.

Skriptning för REST API-distribution

Integrera PLC-distribution i valfritt CI/CD-verktyg med standard-HTTP-anrop

Kompilera och kontrollera resultat

# Kompilera enheten (hårdvara + mjukvara)
curl -X POST http://localhost:5000/api/compile-device \
  -H 'Content-Type: application/json' \
  -d {"deviceName": "PLC_1"}

Gå online och ladda ner

# Gå online
curl -X POST http://localhost:5000/api/go-online \
  -H 'Content-Type: application/json' \
  -d {"deviceName": "PLC_1"}\n\n# Ladda ner endast mjukvara
curl -X POST http://localhost:5000/api/download-to-plc \
  -H 'Content-Type: application/json' \
  -d {"deviceName": "PLC_1", "scope": "Software", "confirmPhysicalDownload": true}

Starta CPU och verifiera status

# Starta CPU
curl -X POST http://localhost:5000/api/start-cpu \
  -H 'Content-Type: application/json' \
  -d {"deviceName": "PLC_1"}\n\n# Läs CPU-status
curl -X GET 'http://localhost:5000/api/get-cpu-state?deviceName=PLC_1'

Tillgängliga distributionsverktyg

Alla verktyg är tillgängliga via REST API och MCP-protokoll

VerktygBeskrivning
compile_deviceKompilerar hela enheten (hårdvara + mjukvara) och returnerar fel och varningar.
compile_blockKompilerar ett enskilt programblock. Användbart för riktade förkontroller i CI-pipelines.
go_onlineUpprättar en online-anslutning till PLC:n. Stöder PLCSim, PROFINET och manuell sökväg.
go_offlineAvslutar online-anslutningen och återställer enheten till offline-läge.
get_online_stateReturnerar aktuellt online/offline-anslutningstillstånd för en enhet.
download_to_plcLaddar ner projektdata till PLC:n. Omfång: Software, Hardware, HardwareAndSoftware, SoftwareOnlyChanges.
upload_from_plcLaddar upp det aktuella PLC-programmet tillbaka till TIA Portal-projektet.
compare_online_offlineJämför PLC-tillstånd online mot offline-projektet för att detektera skillnader.
start_cpuÖverför CPU:n från STOP- till RUN-läge.
stop_cpuÖverför CPU:n från RUN- till STOP-läge före en nedladdning.
get_cpu_stateLäser aktuellt CPU-driftläge (RUN, STOP, STARTING, etc.).
list_access_pointsListar alla konfigurerade åtkomstpunkter för att lösa PLC-anslutningssökvägar.
list_parameter_setsListar tillgängliga parameteruppsättningar för anslutningskonfiguration.
get_pgpc_diagnosticHämtar PG/PC-gränssnittsdiagnostik för att felsöka anslutningsproblem.

Distribuera din första PLC automatiskt

Sluta klicka dig igenom TIA Portal. Skripta hela din distributionspipeline en gång och kör den vid varje commit.