DevOps / Implementatie

Geautomatiseerde PLC-implementatie
voor TIA Portal-projecten

Automatiseer de volledige implementatielevenscyclus: compileer hardware en software, stel online verbindingen vast, vergelijk online/offline toestanden, download firmware en programma's naar de PLC en beheer de CPU-run-status - allemaal gescript via REST API.

Volledige automatisering van de implementatielevenscyclus

Elke stap van broncode naar werkende PLC, scriptbaar en herhaalbaar

Compilatie

Compileer hardwareconfiguratie en softwareblokken afzonderlijk of samen. Compilatieresultaten bevatten fouten en waarschuwingen - integreer in CI-pipelines om implementatie afhankelijk te maken van succesvolle builds.

Online Verbinding

Stel online verbindingen met PLC's vast en verbreek deze. Ondersteunt PLCSim Softbus, PROFINET en handmatige pad-overrides. Detecteer automatisch verbindingsparameters of specificeer toegangspunten expliciet.

Downloadscopes

Kies de downloadscope per implementatie: alleen software, alleen hardware, hardware en software gecombineerd, of alleen softwarewijzigingen voor updates met minimale impact. Nauwkeurige controle over wat de PLC bereikt.

CPU-statusbeheer

Start en stop de CPU programmatisch. Lees de huidige CPU-status voor en na de implementatie. Bouw veilige implementatiesequenties die de CPU automatisch door STOP, download en RUN leiden.

Ondersteuning voor wachtwoordbeveiligde PLC

Authenticeer bij wachtwoordbeveiligde PLC's voordat u online gaat. Stel online authenticatiegegevens in, werk ze bij en wis ze via de API om veilige productieomgevingen te ondersteunen.

Veiligheidswaarborgen

De confirmPhysicalDownload-vlag voorkomt onbedoelde downloads naar echte hardware - alleen PLCSim-doelen staan downloads toe zonder expliciete bevestiging. Een kritische vangrail voor CI/CD-pipelines die gericht zijn op fysieke PLC's.

Standaard implementatieworkflow

Vijf stappen van gecompileerde code naar een werkende PLC

1

Compileren

Activeer hardware- en softwarecompilatie via compile_device of compile_block. Controleer het resultaat op fouten voordat u verdergaat. Een mislukte compilatie breekt de implementatie af.

2

Ga online

Roep go_online aan met het doelapparaat. T-IA Connect lost het toegangspunt automatisch op of accepteert een handmatig pad. Controleer de verbindingsstatus met get_online_state voordat u verdergaat.

3

Online / Offline vergelijken

Voer compare_online_offline uit om te controleren of de PLC al overeenkomt met het project. Sla onnodige downloads over als er geen verschil wordt gedetecteerd, waardoor PLC-onderbreking in de productie wordt verminderd.

4

Downloaden naar PLC

Voer download_to_plc uit met de gekozen scope (Software, Hardware, HardwareAndSoftware of SoftwareOnlyChanges). Stel confirmPhysicalDownload alleen in op true wanneer u opzettelijk op echte hardware mikt.

5

CPU starten

Verstuur start_cpu om de PLC van STOP naar RUN te laten gaan. Bevestig de eindtoestand met get_cpu_state. Log de uitkomst voor audit trail en CI-rapportage.

REST API Implementatie-scripting

Integreer PLC-implementatie in elke CI/CD-tool met standaard HTTP-aanroepen

Compileren en resultaat controleren

# Compileer het apparaat (hardware + software)
curl -X POST http://localhost:5000/api/compile-device \
  -H 'Content-Type: application/json' \
  -d {"deviceName": "PLC_1"}

Ga online en downloaden

# Ga online
curl -X POST http://localhost:5000/api/go-online \
  -H 'Content-Type: application/json' \
  -d {"deviceName": "PLC_1"}\n\n# Download alleen software
curl -X POST http://localhost:5000/api/download-to-plc \
  -H 'Content-Type: application/json' \
  -d {"deviceName": "PLC_1", "scope": "Software", "confirmPhysicalDownload": true}

CPU starten en status verifiëren

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

Beschikbare implementatie-tools

Alle tools zijn toegankelijk via REST API en MCP-protocol

ToolBeschrijving
compile_deviceCompileert het volledige apparaat (hardware + software) en retourneert fouten en waarschuwingen.
compile_blockCompileert een enkel programmablok. Handig voor gerichte pre-checks in CI-pipelines.
go_onlineStelt een online verbinding met de PLC vast. Ondersteunt PLCSim, PROFINET en handmatig pad.
go_offlineVerbreekt de online verbinding en zet het apparaat terug in offline modus.
get_online_stateRetourneert de huidige online/offline verbindingsstatus voor een apparaat.
download_to_plcDownloadt projectgegevens naar de PLC. Scope: Software, Hardware, HardwareAndSoftware, SoftwareOnlyChanges.
upload_from_plcUploadt het huidige PLC-programma terug naar het TIA Portal-project.
compare_online_offlineVergelijkt de online PLC-status met het offline project om verschillen te detecteren.
start_cpuZet de CPU over van de STOP- naar de RUN-toestand.
stop_cpuZet de CPU over van de RUN- naar de STOP-toestand voor een download.
get_cpu_stateLeest de huidige CPU-bedrijfstoestand (RUN, STOP, STARTING, etc.).
list_access_pointsGeeft een lijst van alle geconfigureerde toegangspunten voor het oplossen van PLC-verbindingspaden.
list_parameter_setsGeeft een lijst van beschikbare parametersets voor verbindingsconfiguratie.
get_pgpc_diagnosticHaalt diagnostische gegevens van de PG/PC-interface op om verbindingsproblemen op te lossen.

Implementeer uw eerste PLC automatisch

Stop met klikken in TIA Portal. Script uw gehele implementatiepipeline eenmalig en voer deze uit bij elke commit.