TIA TP1900 Comfort Prüfsumme/Projektvergleich?!

escride1

Level-1
Beiträge
1.110
Reaktionspunkte
262
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

ich muss für die Endabnahme von der Steuerung und der HMI eine während der Laufzeit oder über PG auslesbare Prüfsumme notieren oder alternativ einen Online/Offline-Vergleich anbieten.

Bei der 1500er habe ich kein Problem, dort wird bei Endabnahme die Prüfsumme per GetChecksum ausgelesen und in der HMI angezeigt, wodurch eine (irrelevant was geändert wurde) Projektänderung nachvollziehbar ist und der Vergleich kann mittels Onlinevergleich stattfinden.

Beim Panel allerdings komm ich nicht weiter.
Der Kd wünscht, das in der Doku die Prüfsumme steht die er auf dem PG auch im Projekt irgendwie sehen und mit dem Panel vergleichen kann. Also - Ist das geladene Projekt in der HMI tatsächlich das was im Projekt ist. Wäre ja eigentlich die Prüfsumme, aber wie kann ich die auf der HMI anzeigen lassen (EA-Feld?!) und natürlich auch im Projekt diese Prüfsumme für die geladene HMI?
Das Panel kann ich doch nicht mit dem Projekt vergleichen, oder ist da was an mir vorbeigehuscht?

Das ist leider abnahmerelevant, stand nur schickerweise mal wieder nirgends in den Anforderungen.

whoops: TIA V15.1 :D
 
Zuletzt bearbeitet:
Für Panels gibt es meines Wissens keine Prüfsumme oder ähnliches automatisches, was man anzeigen oder gar vergleichen könnte.
Ist das eine Forderung des Kunde? Dann laß Dir von dem Kunde erklären, welche Prüfsumme er meint, und wie er meint diese sehen zu können.

Ich führe in den Panels eine Info-Seite mit einer eigenen Versionsnummer/Buildnummer, die bei jeder Änderung des HMI-Projektes von mir oder dem ändernden Programmierer händisch geändert/erhöht werden muß.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich hab mal versucht, Erstelldatum und Uhrzeit einiger Projektdateien auf dem Panel anzuzeigen. Das ist aber die Paneluhrzeit von der Zeit, als das Panel das letzte mal geladen wurde.
Im Projekt haben die Dateien den Zeitstempel vom letzten übersetzen

Also nicht optimal, aber besser wie nix. Wenn die Zeitstempel im Panel neuer sind als im Projekt, dann hast Du definitiv nen altes Projekt. (oder ne Uhrzeit auf dem Panel die in der Zukunft liegt)

Mir ist auch keine Möglichkeit bekannt, nen Online Offline Vergleich für nen Panel zu machen. Und da suche ich schon ewig danach...
 
Grundsätzlich müsste man ne Möglichleit finden, die Uhrzeit vom letzten Übersetzen auf nen Visubild anzuzeigen. Oder nen automatisch hochzählenden Versionszähler. Händisch kannst Du vergessen. Das macht sowieso niemand...
 
Hallo,

vom Kd her ist es aufgrund der Sicherheit, damit man nachweisen kann welcher Projektstand auf dem Panel und der Steuerung ist. Bei der 1500 wie gesagt reicht die GetChecksum und der Projektvergleich. Die Prüfsummen hat er vorgeschlagen, ich habe natürlich auch Alternativen, aber diese müssen eben nahezu manipulationssicher sein. Ich kenne nur keine beim Panel ^^.

Das manuelle Nachführen von Versionsständen ist leider nicht sicher genug. Es kann ja problemlos geändert werden.

Das einzige was mir grad noch spontan eingefallen ist wäre die Option vom Panel ein Backup zu machen. Zwar kann ich die Dateien dann nicht bearbeiten, aber aus diesen Dateien einen Vergleich mit vorher bereits angefertigten könnte vielleicht was bringen. Dann könnte ich ja nach der abschließenden IB das Panel als Backup sichern, diese Dateien mit übergeben und wenn er dann prüfen will ob die mit dem Panel gleich sind müsste er nochmals ein Backup ziehen und dann vergleichen. Umständlich, aber mehr fällt mir so nicht ein ^^.

Ich werd das nächste Woche mal probieren und schauen ob die Backups immer gleich sind oder sich ändern, z.B. durch die Uhrzeit oder das Datum. Hab heute kein Panel mehr zur Hand dafür.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Tja, was alles soll als Online/Offline-Unterschied des Panel-Projektes interpretiert werden?
Wenn ein Runtime-Benutzer sein Password geändert hat?
Wenn der Touchbildschirm kalibriert oder der Kontrast geändert wurde?
Wenn das offline-Projekt ohne Änderung einfach nur neu übersetzt wurde?
Wenn sich eine Rezeptur oder andere Daten (z.B. eine ini/settings-Datei) auf einer Speicherkarte/USB-Stick/Netzlaufwerk geändert haben?
...

Harald
 
Eine Änderung die gemeint ist, ist halt eine Änderung am Projekt und nicht eine Kalibrierung oder Passwortänderung.

Davon abgesehen sind hier alle Passwörter fest vergeben, Änderungen finden nicht statt, Kalibrierung oder Kontrast sind nicht notwendig und werden ohnehin im vierteljährlichen Wartungsintervall geprüft.
Rezepturen gibt es nicht.

Eine neue Übersetzung ist definitiv eine Änderung, aber das lässt sich ja vermeiden.

Sollte es künftig eine Änderung geben, so muss halt vorher verglichen werden, dann geändert und wieder aufgespielt, dann wieder die aktuelle Version verifizierbar hinterlegt werden.

Wie groß der Aufwand ist um diese Verifikation durchzuführen oder nachzustellen spielt überhaupt keine Rolle. Von daher ist es völlig egal wie lange es dauert, Hauptsache ist das es machbar ist. Ob ich nun also 4h nur zur Verifizierung brauche jedes Mal oder nicht ist unerheblich. Das ist zumindest das Glück das ich dabei habe.
 
naja, ausser die Idee mit den Zeitstempeln der Projektdateien auf dem Panel ist mir bisher nix eingefallen... Wenn das Panel ne Uhrzeitsynchronisation hat, sieht man zumindest schon mal, wann das Panel das letzte mal geladen wurde.

PS. ich kann am Montag mal das Script dafür hier reinstellen...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
um das Projektdatum im Panel auszulesen nutze ich folgendes Script:

Code:
Sub Projektdatum()


Dim Datum
Dim FileSystem


Set FileSystem = CreateObject("FileCtl.FileSystem")


Datum = FileSystem.FileDateTime("\flash\simatic\pdata.fwc")


Projektdatum_i = Datum




End Sub

vielleicht hilfts ja jemandem...
 
Hey, das Thema ist gerade etwas untergegangen, kann mich ab Freitag wieder dem widmen.

Ich nehmr Deinen Code mal mit und schau mir an was damit geht. Vielen Dank!


Mein anderer Versuch, einfach ein Backup vom Panel zu machen und dann aus dem File die Prüfsumme zu ziehen klappte nicht. War fast zu erwarten. Also wenn ich zwei mal im Abstand von 5 Minuten das Panel als Backup zurück lade dann bekomme ich auch zwei verschiedene Dateien.
 
vor dem übertragen wird die pdata.fwc ja im projektodner ../im/.. (oder so) generiert und anschließend übertragen
dort landet sie im panel im verzeichnis "\flash\simatic\pdata.fwc"
lade nun einfach mal diese datei runter (webserver/usb-stick oä) und prüfe ob diese gleich sind.

also grundsätzlich solllte es funktionieren wenn man die im panel vorhandene datei mit einer neuen datei vergleicht.

EDIT:
ich hab mal die von tia erzeugte datei und die auf den panel vorhndene datei angeschaut. die anzahl der bytes ist jedenfalls gleich. eine prüffsumme der dateien habe ich aber noch nicht getestet
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein Comfort-Panel hatte ich noch nicht, doch bei WinCC flex war es so, daß die pdata-Datei den Zeitstempel von der Panel-Uhr beim Transfer erhielt. Ich vermute, bei TIA ist das auch noch so.

Das Skript von ducati zeigt den Zeitstempel der Datei pdata.fwc, nicht mehr und nicht weniger. Ein geänderter Zeitstempel bedeutet lediglich, daß die pdata-Datei wahrscheinlich ein weiteres mal auf das Panel geladen wurde. Es bedeutet nicht, daß/ob am Projekt irgendwas geändert wurde. Sobald die pdata-Datei erneut aufs Panel transferiert wird, erhält die Datei einen neuen Zeitstempel - egal ob geändert oder nicht. Ein nicht geänderter Zeitstempel sagt andererseits nicht, daß es noch die selbe Datei ist wie zu einem früheren Zeitpunkt (der Zeitstempel kann manipuliert sein).

Der Zeitstempel sagt auch nicht unbedingt, wann die Datei transferiert wurde. Wird ein neues Panel installiert, und vor dem Transfer wird nicht die Uhr des Panels gestellt, dann ist der Zeitstempel irgendwann in der Vergangenheit. Man kann auch die Panel-Uhr auf das Datum+Uhrzeit des letzten Transfers stellen, und danach ein geändertes Projekt transferieren - dann unterscheidet sich der Zeitstempel der neuen pdata-Datei von der vorherigen nur bei den Minuten und Sekunden.
Wenn das Panel den Windows Explorer hat, dann kann man auch eine geänderte pdata.fwc-Datei mit manipuliertem Zeitstempel aufs Panel laden, z.B. mit haargenau dem selben Zeitstempel wie die vorherige pdata.fwc. Möglicherweise kann man auch in einem Skript des Projektes den Zeitstempel der pdata.fwc manipulieren, so daß nach dem ersten Start der RT wieder der Zeitstempel von der IBN angezeigt wird.

Den Inhalt oder Prüfsumme der pdata.fwc-Datei braucht man auch nicht vergleichen - bei jedem Übersetzen wird eine neue pdata.fwc-Datei mit abweichendem Inhalt erzeugt, auch wenn im Projekt überhaupt nichts geändert wurde.

Die pdata.fwc-Datei des Panels mit einer gesicherten pdata-Datei vergleichen ergibt lediglich, ob auf dem Panel noch die selbe Datei ist oder nicht. Ein Unterschied sagt nicht, daß da irgendwas im Projekt unterschiedlich ist.

Durch Auslagern und Nachladen von Projektteilen in Dateien (z.B. Texte und Einstellwerte) kann man erreichen, daß sichtbare Unterschiede und unterschiedliche Funktionalität in den Panelbildern vorhanden sind, obwohl die pdata.fwc-Datei noch haargenau die selbe Datei wie bei der IBN ist - also: kein Unterschied bei der pdata.fwc heißt nicht, daß das Panel noch genauso funktioniert wie nach der IBN.

Siemens-typisch: In meinem TIA V15.1 kann man sich ein Systembild "Projektinformationen" erzeugen lassen, da drin steht dann sowas Sinnvolles wie "Erstellt: 21.01.2020 19:02:47" - das ist der Zeitstempel, wann das TIA-Projekt das erste mal angelegt wurde :roll: "Natürlich" ändert sich an dieser Anzeige nichts bei späteren Projektänderungen. Gut gemeint ist meistens das Gegenteil von gut gemacht ...

Harald
 
ja, ich weiss, das das mit der pdata nicht optimal ist. hatte ich weiter oben ja geschrieben. aber es ist besser wie nix. und was anderes ist mir nicht eingefallen. vor mutwilligen Manipulationen schützt es nicht.
Aber ich weiss zumindest mal grob, wann das Panel das letzte mal geladen wurde. Und wenn mein TIA Projekt älter ist, dann stimmt da was nicht.
Für mich wäre wichtig zu merken, dass ich nicht das aktuelle TIA Projekt habe. Weil sonst gibts schnell richtig Ärger.
 
So, nachdem ich mich heute nochmals damit beschäftigt habe musste ich das so erstmal wieder auf Eis legen.
Es ist ohne Weiteres nicht möglich das Projekt mit dem Panel zu vergleichen.

Harald - Das bei jedem Übersetzen eine andere Datei erstellt wird ist gut. Denn alleine das Übersetzen ist ein Eingriff der nicht erlaubt ist.
Es geht, wie ich eigentlich auch geschrieben hatte, darum, das ich meine Projektdatei abgebe und der Kd muss sehen können das es genau das Projekt ist, ohne Änderungen. Wenn er es übersetzt ist es ein anderes.
Bei der CPU wird das über eine Prüfsumme gemacht. Sprich, das Projekt wird im 8-Augen-Prinzip geladen, verglichen, die Projektdatei geschlossen, verschlüsselt und darüber eine CRC-Prüfsumme erstellt und die CPU selbst wird über getchecksum die Prüfsumme erstellen und ausgeben. Beide Prüfsummen werden notiert und gegenseitig unterschrieben.
Beim Panel allerdings ist eine nachträgliche Änderung nicht erkennbar, da es ja keine Prüfsumme gibt. Daher ist das da leider so nicht machbar. Zwar kann der Nachweis erbracht werden das es das richtige Projekt im PG ist, aber eben leider nicht auf dem Panel überprüfbar.

Ich habe Siemens dazu nun kontaktiert, bekam meinen Rückruf, der wurde weil das keine normale Anfrage ist weitergeleitet und nun warte ich auf eine Rückmeldung.
Mal sehen was dabei herauskommt.

An dieser Stelle dann erstmal Danke für Eure Bemühungen!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
die Antwort vermutlich wie immer: "wenden Sie sich an den Vertriebler, damit die neue Funktionalität evtl. in einer späteren TIA Version hinzugefügt wird"

Kommt ja bald Unified, da wird alles besser ;)
 
Wenn Du nur nachweisen willst, daß/ob eine Datei noch die Datei ist, die zu einem früheren Zeitpunkt vorhanden war (bzw. der Inhalt noch gleich ist), dann könntest Du ein (Kommandozeilen-)Tool zur Bildung einer Datei-Checksumme verwenden.

z.B. beim Start der WinCC RT auf dem Panel (oder auf "Knopfdruck") könntest Du ein Programm zur Ermittlung der MD5-Checksumme der Datei pdata.fwc aufrufen und den MD5-Hash in einem Infobild anzeigen. (für diesen Zweck sollte das MD5-Verfahren sicher genug sein).
https://de.wikipedia.org/wiki/Message-Digest_Algorithm_5

Hat das Windows Embedded des Comfort Panels ein Datei-Checksum-Tool wie MD5sum? Oder gibt es Datei-Checksum-Tools für Windows CE/Embedded von Microsoft oder Drittanbietern? Oder Du implementierst selber einen Datei-Checksum-Generator als Skript in VBS in dem WinCC Projekt, oder als eigenständige EXE. (Quelltext für MD5 in C gibt es bei MicroSoft)


Hmm, wenn der Kunde das TIA-Projekt nicht übersetzen darf, dann kann er gar nicht prüfen/sicher sein, ob das Projekt dem Compilat entspricht. Dann könnte der Lieferant z.B. à la "KnowHow-Schutz" nach dem Übersetzen Skripte oder anderes aus dem Projekt löschen...


PS: Gibt es für Eure Anwendung vielleicht schon bewährte oder vorgeschriebene Vorgehensweisen zur Sicherstellung des Zustandes der Panel Runtime?

Harald
 
Zuletzt bearbeitet:
Wenn Du nur nachweisen willst, daß/ob eine Datei noch die Datei ist, die zu einem früheren Zeitpunkt vorhanden war (bzw. der Inhalt noch gleich ist), dann könntest Du ein (Kommandozeilen-)Tool zur Bildung einer Datei-Checksumme verwenden.

z.B. beim Start der WinCC RT auf dem Panel (oder auf "Knopfdruck") könntest Du ein Programm zur Ermittlung der MD5-Checksumme der Datei pdata.fwc aufrufen und den MD5-Hash in einem Infobild anzeigen. (für diesen Zweck sollte das MD5-Verfahren sicher genug sein).
https://de.wikipedia.org/wiki/Message-Digest_Algorithm_5

Hat das Windows Embedded des Comfort Panels ein Datei-Checksum-Tool wie MD5sum? Oder gibt es Datei-Checksum-Tools für Windows CE/Embedded von Microsoft oder Drittanbietern? Oder Du implementierst selber einen Datei-Checksum-Generator als Skript in VBS in dem WinCC Projekt, oder als eigenständige EXE. (Quelltext für MD5 in C gibt es bei MicroSoft)

Hmm, wenn der Kunde das TIA-Projekt nicht übersetzen darf, dann kann er gar nicht prüfen/sicher sein, ob das Projekt dem Compilat entspricht. Dann könnte der Lieferant z.B. à la "KnowHow-Schutz" nach dem Übersetzen Skripte oder anderes aus dem Projekt löschen...

[...]

Harald

Er muss das Projekt nicht übersetzen. Es wurde von uns ja übersetzt und geladen. Der Stand ist dann ja übersetzt. Auch wird er exakt die TIA-Version einhalten die wir nutzen, kein Update, nichts. Das ist aber später seine Sache wie er es schafft damit umzugehen.

Von uns wird eben die Lösung der Sicherstellung verlangt. Im Nachgang, wird zusätzlich bezahlt, aber eben trifft es mich hier unvorbereitet, da ich bei sowas von Anfang an womöglich erst mit Lieferanten darüber gesprochen hätte wie es möglich ist und dann ausgesucht welche Hardware verwendet wird.

Die Idee eine MD5 im Projekt zur Laufzeit per Script zu generieren ist interessant. Ich schau mir das mal an. Ein externes Tool wäre nicht möglich, da das wieder Bedenken hervorrufen würde.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie übergibst Du ihm das Projekt? Als mit TIA erzeugtes Projekt-Archiv? Da sind die übersetzten Dateien nicht enthalten. Was passiert, wenn das Comfort Panel kaputt geht? Dann kann der Kunde ein neues Panel nicht bespielen/laden, ohne in TIA zu übersetzen. Du müsstest zusätzlich sämtliche Dateien übergeben, welche durch TIA auf das Panel geladen werden, z.B. als zip-Datei ggf. mit Password. Oder ein Komplett-Backup des Panels.

Es wäre interessant/nötig zu wissen, was genau mit diesem Aufwand bezweckt werden soll, um einzuschätzen, ob der gewählte Weg das überhaupt erfüllen kann.

Harald
 
Wie im Beitrag #12 bereits angedeutet, reicht es nicht, nur die pdata.fwc-Datei mit Prüfsumme zu überwachen. Zur Runtime auf dem Panel gehören mehr Dateien. Alle diese Dateien müssten mit online anzeigbarer Prüfsumme überwacht werden.

Oder es wird regelmäßig/täglich ein RESTORE von einem "zertifizierten" Panel-Backup auf das Panel gemacht. Dann ist direkt danach gewährleistet, daß das Panel dem Stand der IBN entspricht.

Harald
 
Zurück
Oben