Grundlegendes zur Git-basierten Versionskontrolle für die industrielle Automatisierung

2022-07-23 14:02:58 By : baihe yang

Wenn ein robustes Versionskontrollsystem korrekt implementiert ist, können sich Teams mehr auf die Entwicklungsaktivitäten konzentrieren, anstatt nach Codeänderungen zu suchen und diese zu untersuchen.Dieses Feature erschien ursprünglich im E-Book Automation 2022: IIoT and Industry 4.0 (Volume 3).Gute Verfahren zur Versionskontrolle sind für eine effiziente Codeentwicklung unerlässlich.Sie stellen sicher, dass Benutzer Änderungen an Dateien im Laufe der Zeit verfolgen können, verstehen, warum und von wem die Änderungen vorgenommen wurden, und bei Bedarf auf bestimmte Codeversionen zurückgreifen können.Je mehr Ingenieure einem Projekt zugewiesen werden oder je mehr Zeit zwischen den Projektaktivitäten vergeht, desto größer werden die Vorteile einer ordnungsgemäßen Versionskontrolle.Es wird weniger Zeit benötigt, um zu verstehen, wie und warum ein Projekt seinen aktuellen Stand erreicht hat.Für einen Entwickler von Industrieautomatisierung stellt ein solides Versionskontrollsystem sicher, dass Benutzer diese Fragen beantworten können:Während es viele verschiedene Arten von Versionskontrollsystemen gibt, dominiert Git die Softwarebranche mit mehr als 80 % Marktanteil und wird von rund 100 Millionen Entwicklern verwendet.Git ist ein ausgereiftes und aktiv gepflegtes Open-Source-Tool, das 2005 von Linus Torvalds (dem Gründer von Linux) entwickelt wurde.Es ist heute das weltweit am weitesten verbreitete moderne Versionskontrollsystem.Zu den Gründen, warum Git zum Standard wurde, gehören:Für einen Fachmann für industrielle Automatisierung, der mit Git nicht vertraut ist, ist es möglicherweise einfacher zu verstehen, wenn es mit der weit verbreiteten und manuellen Praxis verglichen wird, einen „Archivordner“ zum Verwalten von Dateien für die industrielle Automatisierung zu verwenden.1. Der Steuerungstechniker erstellt mithilfe einer installierten integrierten Entwicklungsumgebung (IDE) wie Rockwell Automation Studio 5000 Logix Designer oder Siemens TIA Portal Projektdateien auf dem lokalen Computer.Die Namen der Dateien sind oft eine vom Benutzer erstellte Mischung aus Projektname, Version und Anfangsbuchstaben des Ingenieurs (z. B. Mixer_DAH_V1).2. Bearbeitungen werden gespeichert, indem die vorherige Datei überschrieben (Speichern) oder die neuen Dateien kopiert und umbenannt werden (Speichern unter).3. Wenn die Arbeit zu einem wichtigen Stand abgeschlossen ist, kann die Datei oder der gesamte Projektordner gezippt und an einen zentralen Ort kopiert werden, um sie gemeinsam zu nutzen und zu sichern.4. Wenn andere Teammitglieder auf die Dateien zugreifen müssen, um sie zu überprüfen oder Änderungen vorzunehmen, müssen sie sie auf ihre lokale Festplatte herunterladen und ihre Entwicklungsumgebung verwenden, um die Dateien anzuzeigen und zu bearbeiten.Es ist üblich, dass Steuerungsingenieure „kopieren und umbenennen“, um den Verlauf einer Datei zu verwalten, was zu einer Liste ähnlicher Dateien führt, die durch Dateinamen und Änderungsdatum unterschieden werden.Leider gibt es bei diesem Workflow viele Probleme und Einschränkungen.Zum Beispiel:Git mildert diese Nachteile.Ein einfacher Git-basierter Workflow hat viele Ähnlichkeiten mit dem Archivordner-Workflow.Die Arbeit wird lokal erledigt, Änderungen werden gespeichert und in den Verlauf der Datei übernommen, und diese übernommenen Änderungen werden an einem zentralen Ort synchronisiert.Es gibt erhebliche Vorteile, da Git das manuelle Kopieren, Verschieben und Umbenennen von Dateien überflüssig macht.Git speichert Versionen des Projekts und bietet umfassenden Kontext darüber, wer, was und warum Änderungen vorgenommen wurden.Zu den grundlegenden Git-Workflow-Schritten für ein Industrieautomatisierungsprojekt gehören:In der Zwischenzeit können Teamkollegen, die auch das zentrale Repository lokal geklont haben, die aktualisierten Dateien in ihr lokales Repository „ziehen“, sodass sie immer mit den neuesten Dateien arbeiten.Abbildung 1: In einem Git-Workflow bleiben die Dateinamen gleich und der Commit-Verlauf wird automatisch nachverfolgt.Ein einfacher Satz von Pull- und Push-Befehlen stellt sicher, dass jeder Zugriff hat und mit der neuesten Version arbeitet.Der Verlauf einer SPS-Datei kann mithilfe eines Git-Commit-Diagramms angezeigt werden (Abbildung 2).Beachten Sie, dass alle vorherigen Commits bei Bedarf abgerufen werden können.Abbildung 2: Bei Git wird jede festgeschriebene Änderung mit Kontext gespeichert und kann als Knoten entlang eines Hauptzweigs des Codes visualisiert werden.Ein einfacher Befehl zum Zurücksetzen kann verwendet werden, um auf frühere Änderungen zuzugreifen.Wie bereits erwähnt, besteht ein Vorteil der Git-Versionskontrolle darin, zu verfolgen, wenn sich Dateien ändern, und anzuzeigen, was sich geändert hat.Git tut dies, indem es Dateiversionsinhalte anzeigt und die Unterschiede in einem „Vergleichsprozess“ hervorhebt.Das „Vergleichen“ ist relativ schnell und unkompliziert, da die meisten traditionellen Softwareentwicklungen textbasierte Programmiersprachen verwenden.In einem Git-„diff“ zeigt die rote Hervorhebung Zeilen mit gelöschtem Code an, und grün steht für neu hinzugefügten Code.Leider hat sich die SPS-Programmierung anders entwickelt als die traditionelle Softwareprogrammierung.Während es einige textbasierte Sprachen für die SPS-Programmierung gibt, werden die meisten in visuellen Sprachen wie Kontaktplanlogik und Funktionsblockdiagrammen ausgeführt.Dieses Problem wurde noch verstärkt, da viele SPS-Anbieter unterschiedliche binäre Dateiformate verwenden.Die Unfähigkeit von Standard-Git, diese Sprachen anzuzeigen, hat für viele Steuerungsingenieure viel von seinem Wert gemindert.Bei den meisten industriellen Steuerungsprojekten kann Git anzeigen, wann und wer Dateien geändert hat, aber nicht, wie sich diese Dateien geändert haben.Das Fehlen dieses signifikanten Vorteils hat die Akzeptanz von Git verlangsamt.Copia Automation wurde gegründet, um Fachleuten der industriellen Automatisierung moderne Entwicklertools zur Verfügung zu stellen und die Produktivitätsgewinne zu erschließen, die bereits in der traditionellen Softwareentwicklung erzielt wurden.Sie haben damit begonnen, das Problem bei der Visualisierung und Unterscheidung von SPS-Codeänderungen bei der Verwendung von Git-basierter Quellcodeverwaltung zu lösen.Es ist wichtig zu verstehen, dass Copia den SPS-Code in seiner Desktop-App und seinem Webbrowser rendert.Diese Funktion bietet Automatisierungsteams Freiheit und beschleunigt Codeüberprüfungen und -diskussionen.Stellen Sie sich einen Junior-Ingenieur vor, der einen Codeabschnitt entwickelt, der die Maschinensicherheit steuert und eine Aufgabe spät am Tag erledigt.Mit nur einem Weblink kann sich ein Manager, der den Code überprüfen muss, sicher von einem Heimcomputer aus beim Copia-Repository anmelden und die neuesten Änderungen direkt in einem Webbrowser anzeigen (Abbildung 3).Abbildung 3: Copia zeigt Änderungen zwischen Commits in Leiterlogikdateien visuell an.Gelöschte Strompfade werden rot und hinzugefügte grün angezeigt.Git unterstützt erweiterte Workflows, die mehr Kontrolle bieten und die Zusammenarbeit verbessern, bekannt als „Branching and Merging“.Das Konzept lässt sich leicht verstehen, wenn man sich vorstellt, dass jedes Entwicklungsprojekt einen Hauptzweig hat, in dem der endgültige, fehlerfreie Code gespeichert wird.Anschließend kann ein paralleler Zweig erstellt werden, der es Benutzern ermöglicht, Änderungen vorzunehmen, ohne den Hauptzweig zu stören, und die Änderungen nach Abschluss mit dem Hauptzweig zusammenzuführen.Einer der leistungsstärksten Aspekte des Verzweigens und Zusammenführens ist die Möglichkeit, dass mehrere Entwickler gleichzeitig an demselben Projekt arbeiten können.Jeder Entwickler kann individuelle Zweige erstellen und nach Abschluss seiner Arbeit den Zusammenführungsbefehl verwenden, um seine Arbeit zusammenzufügen.Durch Verzweigen und Zusammenführen können Benutzer einem Auftrag weitere Ingenieure hinzufügen, um knappe Fristen einzuhalten (Abbildung 4).Die Hauptvorteile der Git-basierten Quellcodeverwaltung konzentrieren sich auf die Produktivität der Mitarbeiter und die Verkürzung der Produktlaufzeiten.Einzelpersonen verbringen weniger Zeit damit, nach Dateien zu suchen und zu untersuchen, wie sich Dateien während ihres Lebenszyklus unterscheiden.Eine verstärkte Zusammenarbeit ermöglicht es dem Unternehmen, seine qualifiziertesten Mitarbeiter effizienter einzusetzen, da mehrere Teammitglieder gleichzeitig an demselben Projekt arbeiten können und leitende Abbildung 4: Entwicklungszweige gleichzeitig existieren können, sodass mehrere Ingenieure gemeinsam am selben Code arbeiten können.Durch Zusammenführen können alle Arbeiten im Hauptzweig zusammengeführt werden.Steuerungsingenieure können die Arbeit weiterer Nachwuchsingenieure schnell überprüfen und Feedback kontinuierlich über eine Web-App dokumentieren.Die Zeitersparnis kann in wertvolle Arbeit zur Entwicklung von innovativem und qualitativ hochwertigem Code reinvestiert werden.Darüber hinaus kann ein solides Git-basiertes Versionskontrollsystem einem Unternehmen erhebliche Einsparungen beim Umgang mit unerwarteten Betriebsproblemen ermöglichen.Wenn ein größerer Vorfall die Produktion unterbricht, kann die letzte funktionierende Version des Codes immer schnell gefunden und zur Wiederherstellung des Betriebs verwendet werden.Git ist die allgegenwärtige Versionsverwaltungslösung für die Softwareentwicklung, und ihre Verwendung hat die Geschwindigkeit beschleunigt, mit der Code entwickelt und bereitgestellt wird.Es verkürzt nachweislich die Entwicklungszeiten, erhöht die Qualität und maximiert die Betriebszeit.Während das Speichern und Speichern von Code etwas anders ist als der herkömmliche Archivordner-Workflow, ist die Git-basierte Quellcodeverwaltung für industrielle Automatisierungsprojekte leicht zu erlernen und die Vorteile wert.Alle Bilder mit freundlicher Genehmigung von Copia Automation.Dieses Feature erschien ursprünglich im E-Book Automation 2022: IIoT and Industry 4.0 (Volume 3).Darren Henry ist Vizepräsident für Marketing bei Copia Automation.Mit mehr als 20 Jahren Erfahrung in der Vermarktung erstklassiger Softwareprodukte verfügt er über fundierte Kenntnisse in den Bereichen Fertigung und DevOps-Lösungen.Er ist sowohl mit Start-ups als auch mit etablierten Unternehmen vertraut und hatte Marketing-Führungspositionen bei Atlassian, OpsGenie, Onshape, InVue und DS SolidWorks inne.Er hat auch als Berater für mehrere Produktions-Startups gedient.Als Experte für 3-D-CAD hat Henry einen Abschluss in Maschinenbau von der University of Florida.Schauen Sie sich unsere kostenlosen E-Newsletter an, um weitere tolle Artikel zu lesen.©2020 Automation.com, eine Tochtergesellschaft von ISA