TIA TIAAutosaver - Programm für automatisches Speichern in TIA Portal

Schievel

Well-known member
Beiträge
77
Punkte Reaktionen
17
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo Freunde,

nachdem sich TIA letzte Woche mal wieder verabschiedet hatte und ich vor lauter Gespanntheit beim Bitschupsen vergessen hatte, alle paar Sekunden auf den Speichern-Knopf zu hauen und daher ein paar Stunden Arbeit wiederholen musste, hab ich mich dieses Wochenende mal darangesetzt eine einfache Autosaveloesung fuer TIA zu schreiben. So ganz richtig geil ist das nicht, weil die Funktion "Rueckgaengig" nach dem Speichern nicht mehr geht, aber das muss reichen bis sich Siemens mal dazu erbarmt eine richtige Wiederherstellung nach Absturz zu bauen, aehnlich wie die neueren MS Office Programme (also nie :p).

TIAAutoSave.exe:

Zugrunde liegt der Code von ihm hier:

Das ganze geschieht also per TIA Openess. Sobald in einer TIA-Instanz ein Projekt geoeffnet wurde, erscheint der Prozess der Instanz in der linken Liste:
1.jpg

Der Prozess kann dann mit der linken Maustaste markiert werden und mit klick auf den Button ">" verschoben werden in die rechte Liste.
Oder man verschiebt alle Prozesse in der linken Liste mit ">>" in die rechte Liste.
Mit markieren und "<" geht es wieder zurueck, bzw. mit "<<" fuer alle Prozesse.

Alle Prozesse in der rechten Liste werden automatisch gespeichert in dem unten im Fenster angegebenen Intervall. Momentan weckt die Aenderung der Zeit noch nichts, daher muss der letzte Intervall der eingestellt war immer erst ablaufen, bis die neu eingestellte Zeit gueltig wird. (Beispiel: Es war 5 Minuten eingestellt, es wird gespeichert und der Prozess legt sich 5 Minuten schlafen. Waehrend dieser 5 Minuten wird die Zeit auf eine Minute runtergesetzt, dann muessen die 5 Minuten erst zuende ablaufen bevor die neue Zeit von einer Minute gilt.)
2.jpg

Bitte beachten: Das "Last time saved" in der rechten Liste wird nur neu gesetzte, wenn das Projekt auch wirklich gespeichert wurde. Das ist in TIA nur dann der Fall, wenn auch etwas geaendert wurde. Also nicht wundern, wenn da auch nach dem eingestellten Intervall noch die selbe Zeit steht.
Zudem ist es in TIA leider so, dass die Funktion "Rueckgaengig" maximal bis zum Zeitpunkt des letzten Speichern moeglich ist.

TIAAutosaveStarter.exe:


Um einem das Geklicke zu ersparen gibt es auch ein Programm mit dem man eine Verknuepfung auf ein TIA Portal erstellen kann bei dem von Anfang an automatisch gespeichert wird. Diese TIAAutosaveStarter.exe startet die TIAAutosaver.exe, die sich mit ihr im selben Ordner befindet und startet dann die exe, die ihr als Argument uebergeben wird (Mit Pfad). Dann meldet es den Prozess der als Argument uebergeben .exe als Autosave-Prozess bei TIAAutosaver.exe an.
Lange Rede, kurzer Sinn: Um so eine Verknuepfung zu bekommen, die TIA mit Autosave startet, einfach eine Verknuepfung zu TIAAutosaveStarter.exe erstellen:
(zb mit rechter Maustaste auf TIAAutosaveStarter.exe, ziehen, loslassen und dann auf "Verknuepfungen hier erstellen")
3.jpg

Dann in den Eigenschaften der Verknuepfung hinter dem Pfad zu TIAAutoSaveStarter.exe "C:\pfad\zu\Siemens.Automation.Portal.exe" einfuegen. (Einfach der selbe Pfad wo auch die anderen Verknuepfungen von TIA im Startmenue usw. hinzeigen. Also meistens C:\Program Files\Siemens\Automation\Portal V16\Bin\Siemens.Automation.Portal.exe) Die "" am Anfang und Ende sind wichtig, wenn der Pfad Leerzeichen enthaelt.
Im Ziel der Verknuepfung sollte also in etwa sowas stehen:
"C:\%PATHTOTIAAUTOSAVE%\TIAAutoSave\TIAAutoSaveStarter.exe" "C:\Program Files\Siemens\Automation\Portal V16\Bin\Siemens.Automation.Portal.exe"
4.jpg

Git Repository:
Da ist auf der rechten Seite das Release. Einfach die TIAAutosaverEXE.zip runterladen und entpacken. Keine Installation. Die beiden .exe-Dateien befinden sich in der selben Ordner. Sie sollten auch zusammen mit den anderen Dateien in dem Ordner bleiben.
Ich weiss jetzt nicht genau, ob man fuer TIA Openess irgendetwas auf seinem Rechner zusaetzlich installiert haben muss und ich das schon vor Ewigkeiten mal gemacht habe und es nichtmehr weis. Ich meine Openess kommt automatisch mit jedem TIA Portal.

Getestet habe ich das bisher nur mit Openess fuer TIA 16. Denke aber das geht fuer alle neueren TIA-Versionen.
Bei Fehlern und Bugs einfach hier melden oder halt https://github.com/Schievel1/TIAAutoSaver/issues

Hoffe das hilft so Manchem weiter.
 

Imolator

Active member
Beiträge
42
Punkte Reaktionen
12
Zumindest bei den älteren TIA-Versionen (V13, V14) vermute ich sogar einen Zusammenhang zwischen Abstürzen und langem "Nicht-Speichern". Eventuell hängt/hing das mit der Undo-Funktion zusammen, die alle Änderungen bis zum letzten Speichern irgendwie zwischenspeichert.
Man neigt ja erst einmal zu Murphys Gesetzen, so nach dem Motto:" Typisch: Da speichert man mal nicht für eine längere Zeit und prompt schmiert das TIA-Portal ab".
Reproduzierbar ist mir das TIA-Portal beim Wechsel von der Bibliotheksansicht in die "normale" Ansicht abgestürzt, wenn ich dort viele Änderungen vorgenommen habe und vor dem Wechsel nicht abgespeichert habe.

Mittlerweile drücke ich andauernd "Ctrl"+"s" zum schnellen Speichern und die TIA-Abstürze sind deutlich weniger geworden.
Eine Autosave-Funktion könnte da Ähnliches bewirken. Könnte mir vorstellen, dass das TIA-Portal damit sogar stabiler läuft.

Das wäre sogar was für die TIA-Wunschliste: Eine Autosave Funktion.
 
Zuletzt bearbeitet:
OP
S

Schievel

Well-known member
Beiträge
77
Punkte Reaktionen
17
Zumindest bei den älteren TIA-Versionen (V13, V14) vermute ich sogar einen Zusammenhang zwischen Abstürzen und langem "Nicht-Speichern". Eventuell hängt/hing das mit der Undo-Funktion zusammen, die alle Änderungen bis zum letzten Speichern irgendwie zwischenspeichert.
Man neigt ja erst einmal zu Murphys Gesetzen, so nach dem Motto:" Typisch: Da speichert man mal nicht für eine längere Zeit und prompt schmiert das TIA-Portal ab".
Reproduzierbar ist mir das TIA-Portal beim Wechsel von der Bibliotheksansicht in die "normale" Ansicht abgestürzt, wenn ich dort viele Änderungen vorgenommen habe und vor dem Wechsel nicht abgespeichert habe.

Mittlerweile drücke ich andauernd "Ctrl"+"s" zum schnellen Speichern und die TIA-Abstürze sind deutlich weniger geworden.
Eine Autosave-Funktion könnte da Ähnliches bewirken. Könnte mir vorstellen, dass das TIA-Portal damit sogar stabiler läuft.

Das wäre sogar was für die TIA-Wunschliste: Eine Autosave Funktion.

Ja das mit dem staendigen CRTL+S habe ich mir auch angewoehnt, meistens stuerzt TIA ab und ich frage mich wann ich das letzte mal gespeichert habe. Nachdem ich das Projekt wieder geoeffnet habe, merke ich, dass das eigentlich nicht laenger als ein paar Sekunden her sein kann und ich es schon garnicht mehr bewusst wahrnehm, das ich speichere. (Das ging so weit das ich mich bei Lieferfreigabe von TIA 16 gefragt habe, ob Siemens jetzt echt schon selber so eine Autosavefunktion eingebaut hat :D)
Nur wenn ich laenger nicht mit TIA Arbeite, vergesse ich das.
Jedenfalls macht es dann die Autosavefunktion hier nicht schlechter, durch das staendige CTRL+S gedruecke, ist die Undo-Funktion ja auch fast wertlos.
 
OP
S

Schievel

Well-known member
Beiträge
77
Punkte Reaktionen
17
Wenn man beim Übersetzen eines HMI manuell speichern drückt, dann bricht ja der laufende Übersetzungsvorgang ab. Ist das bei Autosave über Openess dann auch so?
Ist notiert, das wusste ich nicht.
Ja, vermutlich wird es so sein. Ich denke openess wird da beim Speichern keine checks machen sondern auch nichts anderes machen wie wenn man auf den Knopf drueckt.

Vielleicht kann man ueber die Openess-API rausfinden, ob gerade eine Uebersetzung stattfindet, ansonsten wirds schwer.
 
OP
S

Schievel

Well-known member
Beiträge
77
Punkte Reaktionen
17
Zuviel Werbung?
->Hier kostenlos registrieren
Da man mit Openess V16 nur TIA V16 Prozesse beeinflussen kann, funktioniert das Programm aktuell nur mit TIA V16.
Ich werde in Zukunft beim Start abfragen, welche TIA Version man nutzt und dann die entsprechende Openess Version laden.
 
Oben