Codesys-Quellcode an Kunden ausliefern - wie Veränderungen feststellen?

enginear

Level-2
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe die Situation, dass ich ein Codesys-Programm geschrieben habe und dies an einen Kunden ausliefern möchte.

Nun soll auf einfache Art und Weise festgestellt werden, ob ein ausgeliefertes Projekt manipuliert wurde. Das Datum der letzten Änderung des Projekts kann sich schließlich schon ändern, wenn es ohne Veränderung zu einem späteren Zeitpunkt woanders hin gespeichert wurde. Und manchmal sind kleine Änderungen im Code gar nicht so leicht ersichtlich, können aber trotzdem zu stark verändertem Verhalten führen.

Mein Vorschlag:
Einen Hash-Wert vom Quellcode generieren. Dann kann im Fall der Fälle wieder den Hash-Wert von dem Programm an dem der Kunde evtl. selbst versucht hat etwas zu ändern generieren und sieht, dass dieses nicht mehr im Originalzustand ist. Dafür müsste man aber am besten den Quellcode als einzelne Datei haben. Soweit ich weiß speichert, Codesys diesen in der Projektdatei mit ab, oder wie könnte das gehen?

Hat noch jemand einen anderen Vorschlag?

Wie macht ihr das, wenn ihr für Kunden Software entwickelt und diese den Code haben möchten?

VG

enginear
 
Aus meiner Zeit als Zulieferer kenne ich kein Projekt, in dem der Kunde nicht das Projekt/den Quellcode hatte.
Meistens hatten die Endkunden eigene Lösungen für Versionsverwaltung, oft war es Versiondog.

Tools wie Winmerge oder Versionsverwaltungstools wie Git sind hier dein Stichwort.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn du dich mit dem laufenden Projekt verbindest und der Code nicht zum Projekt passt, bekommst du von CODESYS eine Meldung das sich das Programm geändert hat. Über den Button Details siehst du auch was gemacht wurde.
 

Anhänge

  • 2024-07-23 22_23_36-Window.png
    2024-07-23 22_23_36-Window.png
    18,8 KB · Aufrufe: 30
Danke an @ccore und @DCDCDC

Das sind beides gute Hinweise. Ich habe natürlich auch schon an Git gedacht. Git ist aber in meiner Codesys SP12 leider noch nicht mit drin. Ich könnte also nur die gesamten Projektdateien auf einem Git-Server ablegen, dann kann ich mir aber whsl. nicht die genauen Unterschiede im Code so ohne weiteres anzeigen lassen, wie ich das von anderen Quellcodes gewöhnt bin.

Mich würde zudem noch interessieren, wie ihr solche Projekte an die Kunden ausliefert. Also packt ihr das Codesysprojekt als Archiv und gebt ihnen das dann oder exportiert ihr es als PLCopenXML oder als CODESYS-XML?
 
Danke an @ccore und @DCDCDC

Das sind beides gute Hinweise. Ich habe natürlich auch schon an Git gedacht. Git ist aber in meiner Codesys SP12 leider noch nicht mit drin. Ich könnte also nur die gesamten Projektdateien auf einem Git-Server ablegen, dann kann ich mir aber whsl. nicht die genauen Unterschiede im Code so ohne weiteres anzeigen lassen, wie ich das von anderen Quellcodes gewöhnt bin.

Mich würde zudem noch interessieren, wie ihr solche Projekte an die Kunden ausliefert. Also packt ihr das Codesysprojekt als Archiv und gebt ihnen das dann oder exportiert ihr es als PLCopenXML oder als CODESYS-XML?
Du kannst auch ein Git bei dir selbst instanzieren.. Gitea ist da das Stichwort. Projekte werden wie gesagt, sogar meistens beim Kunden direkt versioniert, wenn die Anlage da mal steht, davor in der Erstinebtriebnahme bleibt das natürlich alles lokal inkl. eines Usb Sticks welcher im Schrank/Hmi Gehäuse liegt.

Wenn beim Kunden noch Inbetriebnahme notwendig ist, bleibt die Software natürlich beim Maschinenhersteller/etc und nicht beim Kunden, ist die Maschine dann vom Kunden final abgenommen und der Betrieb übergeben, geschieht der Versionierung über die Tools/Prozesse vom Kunden.

Natürlich zeigt dir zB Gitea die Änderungen im Commit jeder Datei zwischen letztem Push und aktuellem Push an.

Aber generell, merkst du ja wenn Änderungen vorgenommen wurden, dass du beim online verbinden Unterschiede angemerkt bekommst von deiner Entwicklungsumgebung
 
Zurück
Oben