PlcGit Produkte, Arbeitsweise und Ziele
PlcGit bietet mehrere Funktionen
- SPS Programm Sicherung und Zurückspielen
- Prüfen und Zusammenführen von Unterschieden in den Versionen des SPS Programms
- Verwalten Sie den SPS Programmcode in einem verteilten Entwicklungsteam
Die folgende Beschreibung ist ein Beispiel einem Siemens S7 1500 Modell. Programmiert wurde mit dem Siemens TIA Portal.
Sicherung und Wiederherstellung des PLC-Programms
Beim ersten Start muss ein Repository definiert werden. In der Regel handelt es sich dabei einfach um den Namen des Repositories.
Anschließend wird für die Erstkonfiguration ein TIA-Projekt benötigt. Dieses Projekt definiert das PLC-Programm eines oder mehrerer PLCs.
Ein Repository kann mehrere TIA-Projekte verwalten.
Jeder PLC wird mit seinem Namen und seiner TCP/IP-Adresse definiert.
Die Erstkonfiguration liest das TIA-Projekt und bietet eine Liste der PLCs mit ihren IP-Adressen an.
Einer oder mehrere davon können für die Backup- und Wiederherstellungsfunktionen ausgewählt werden.
Anschließend können die Backup-Zeit und die Backup-Frequenz definiert werden. In der Regel erfolgt dies einmal täglich in der Nacht.
Intern wird das TIA-Projekt gelesen, decodiert und alle Programmteile werden in lesbarer Form an das Repository gesendet.
Zusätzlich wird das TIA-Projekt aus Sicherheitsgründen eingecheckt.
Jede Nacht wird der echte PLC auf Änderungen überprüft. Wenn Änderungen festgestellt werden, werden die betroffenen Elemente aus dem PLC gelesen und ins Repository gesendet. Dies wird als Tag bezeichnet und durch Zeitstempel und den Mitarbeiter, der die Änderung vorgenommen hat, identifiziert.
Wenn einige Änderungen, hauptsächlich am Wochenende durchgeführt, die Produktion am Montag oder später stören könnten, überprüft das Wartungspersonal die Liste der verfügbaren Backups der letzten Tage. Dies erfolgt über einen Browser. In der Regel kennt die Schichtleitung das Datum der letzten stabilen Produktion. Daher wird beispielsweise die Version vom letzten Dienstag gewählt. Anschließend wird die Wiederherstellungsfunktion gestartet. Diese nimmt das bestehende TIA-Projekt, liest alle Änderungen im PLC, kopiert das TIA-Projekt und aktualisiert es mit den bis Dienstag vorgenommenen Änderungen. Nach Abschluss wird das Projekt auf einen Rechner mit installiertem TIA Portal heruntergeladen – meist ein Rechner des Wartungspersonals. Dann wird TIA gestartet, das heruntergeladene Projekt geladen, und der betroffene PLC wird aktualisiert und neu gestartet. Die Maschine wird so arbeiten wie am Dienstag.
Einige Details zu Backup und Wiederherstellung:
Wenn das Backup in der Nacht nicht durchgeführt werden kann, meist weil der PLC nicht verfügbar ist, wird ein Alarm ausgelöst.
Der Alarm wird in einem Logbuch eingetragen. In diesem Fall kann auch der Versand einer E-Mail-Benachrichtigung konfiguriert werden.
Dann kann in dieser Nacht kein Backup durchgeführt werden.
Bei der Wiederherstellung werden Prüfungen zur Konsistenz von TIA-Projekt und PLC durchgeführt. Wenn die Hardware-Konfiguration des PLC abweicht, funktioniert die Wiederherstellung meist nicht korrekt.
Dies wird auch bei den nächtlichen Backups überprüft, und wenn die Hardware-Konfiguration des PLC abweicht, wird eine Warnung gesendet.
In der Regel muss bei Änderung der PLC-Hardware-Konfiguration ein neues TIA-Projekt eingecheckt werden.
Unterschiede zwischen SPS-Programmversionen überprüfen und zusammenführen
Nach einer Notfallwiederherstellung oder aus anderen Gründen kann das Wartungspersonal Änderungen zwischen verschiedenen erkannten Änderungen und dem
ursprünglichen TIA-Projektinhalt überprüfen. Dies erfolgt ebenfalls in einem Browser.
Dazu wird das Repository aus der Liste ausgewählt, dann eine SPS. Die Ansicht ähnelt der im TIA Portal mit einer Liste der SPS-Blöcke. Geänderte Blöcke sind markiert.
Anschließend wird ein (geänderter) Block ausgewählt. Der Blockinhalt wird im Browser ähnlich wie im TIA Portal als KOP/FUP/SCL/Graph angezeigt.
Der Block wird zweimal angezeigt, der eine und der andere Block. Erkannte Änderungen werden sichtbar markiert.
Der SPS-Programmcode wird in Sprossen programmiert, es wird nur eine Sprosse angezeigt. Geänderte Sprossen werden in der Liste der Sprossen markiert.
Zusammenführen bedeutet, dass der Benutzer nun komplette Blöcke von einer Version in eine andere oder komplette Sprossen übernehmen kann.
Oder in einer Sprosse können einzelne Elemente oder Elementgruppen zum Zusammenführen verwendet werden.
Das Testen erfolgt wie beim Wiederherstellen: TIA-Projekt generieren, Projekt herunterladen. TIA öffnen, Projekt in TIA laden und anschließend in die SPS.
Verwalten von SPS-Programmcode in verteilten Softwareentwicklungsteams
Bei der Softwareentwicklung gibt es normalerweise keine SPS. Mehrere Personen im Team arbeiten an verschiedenen Teilen der SPS-Software.
Es werden lediglich die SPS-Blockauswahl und die Zusammenführungsfunktionen benötigt.
In diesem Fall können mehrere TIA-Projekte existieren. Diese können in ein Repository eingecheckt werden.
Zum Kombinieren des Codes können die Blöcke ausgewählt und zu einem resultierenden TIA-Projekt zusammengeführt werden.
Dies kann zu verschiedenen Merge-Konflikten führen. Solche Elemente werden markiert. Anschließend können die Probleme durch manuelle Arbeit gelöst werden, z. B. durch
Umbenennen einiger Variablen oder Blöcke oder durch Neunummerierung von Blöcken. In der Regel unterscheiden sich die in verteilten Entwicklungsteams verwendeten Strukturen.
Eine mögliche Lösung ist die Erstellung einer neuen Struktur im Merge, die alle Variablen der Teammitglieder enthält.
Es sind jedoch auch andere Lösungen möglich.
Unterschiedliche TIA-Versionen im Team sind meist kein Problem. Die Zusammenführung von niedrigeren zu höheren TIA-Versionen funktioniert immer.
Ein Downgrade ist möglich, wenn die betroffenen SPS-Blöcke keine speziellen Funktionen verwenden, die die ältere TIA nicht verarbeiten kann.
Das Einzige, was nicht zusammengeführt werden kann, sind Hardwarekonfigurationen. Diese sind immer inkompatibel.