Versionsnummer des SPS-Programmes

franzz

Level-2
Beiträge
23
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich suche eine Möglichkeit, eine Versionsnummer, ein Build-Datum oder eine Prüfsumme des SPS-Programms irgendwie auszulesen.

Ich will auf der Visualisierung sehen können, welche Softwareversion auf welcher Anlage läuft. Momentan wird die Versionsnummer manuell in eine Varible geschrieben:
Code:
version := 4.02;

Aber das funktioniert in der Praxis nicht. Bei der Inbetriebnahme oder bei Problemen wird das Programm geändert, und die Versionsnummer vergessen.

Zielsystem ist CX1010.

Wie macht ihr das generell?
 
hallo
schau mal unter dem Register "ressourcen" nach , da gibt es den PLC-Browser
Einloggen-> dann dort z.B. PINF eingeben weitere Befehle erhälst du mit "?"
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo
schau mal unter dem Register "ressourcen" nach , da gibt es den PLC-Browser
Einloggen-> dann dort z.B. PINF eingeben weitere Befehle erhälst du mit "?"

Der PLC Browser ist nur Bestandteil vom CoDeSys, aber nicht vorhanden bei TwinCAT.

Zwei Vorschläge von mir:
Wenn du online bist, sieht du bei den globalen Variablen die Struktur "SystemInfo" - Da kannst du "projectName" abfragen (Dateiname)

Weiter habe ich mal ein Projekt gesehen, dass immer beim Setzen des firstCycle-Flag einen Zähler inkrementiert. Ich glaube, dass war noch irgendwie mit dem onlineChangeCount verknüpft.

Ich hoffe, du kannst daraus was brauchen...
 
Hi,
so machen wir das z.B. bei einigen unserer Steuerungen.

Wir zeigen auf einer Info-Seite das zuletzt geänderte Modul mit Versionsnummer (kann im Programmiersystem unter Eigenschaften vergeben werden), Datum/Uhrzeit usw. an. Diese Info bekommen wir über eine Schleife aller im System vorhandenen Objekte.

Wir haben vorgesehen dass es ein Datenobjekt ohne speziellen Inhalt gibt, welches "Version" heißt.

Sollte auf der Inbetriebnahme nun aus welchen Gründen auch immer vergessen werden die Software mit einer Version zu versehen, steht dann z.B. sowas dort

manager V1.3 2011/06/01 17:33.22

Das ist zwar nicht schön, aber man weiß dann der Programmteil "manager" wurde als letztes geändert mit Datum/Uhrzeit.

Was als letzte Änderung bei der IBN gemacht werden soll ist: Das Datenobjekt mit dem Namen "Version" zu ändern und mit der gewünschten Versionsnummer zu versehen.

Dann siehts so aus (z.B)

Version V1.3 2011/06/01 17:40.22

Das Datenobjekt Version könnte auch nützliche Information zur Version enthalten oder dient nur als Informationslieferant....

Das ganze ist so realisiert auf B&R, ich nehme aber an dass das auch auf deinem Zielsystem funktionieren würde.

bg
bb
 
Hallo bits'bytes,

das wäre genau die Funktionalität, die ich suche.
Aber leider kann ich Dir nicht ganz folgen:

Wir zeigen auf einer Info-Seite das zuletzt geänderte Modul mit Versionsnummer [...], Datum/Uhrzeit usw. an. Diese Info bekommen wir über eine Schleife aller im System vorhandenen Objekte.

Mein TwinCAT kennt leider keine Module oder Objekte, sondern nur Tasks und Bausteine.

Sollte auf der Inbetriebnahme nun aus welchen Gründen auch immer vergessen werden die Software mit einer Version zu versehen, steht dann z.B. sowas dort

manager V1.3 2011/06/01 17:33.22

Und wie kommt das dorthin?

Ich kenne leider B&R überhaupt nicht, aber mit Beckhoff stehe ich momentan auf dem Schlauch, wie man sowas realisieren kann.

Ich werde wohl mal schauen müssen, was ich mit SystemInfo erreichen kann.

Franz
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
das ist im Prinzip eh dasselbe. Wenn ich Module sage, meine ich auch Tasks und Datenmodule (das sind ev. deine Bausteine, kenne Beckhoff nicht). Jedenfalls sind das die Bereiche welche der Programmierer ändert wenn er Programmanpassungen macht.
Und wie kommt das dorthin?
Das wird von diversen Libraries von B&R gut unterstützt. Du kannst einfach eine Schleife über alle "Module" machen und dir das Modul merken, welches den jüngsten Zeitstempel hat. Der Name, die Versionsnummer mit Änderungsdatum kann dann auf Variablen der Visu kopiert werden (z.B: Visu_ModulName, Visu_Datum usw.... welch in der Visu dann eben angezeigt werden).

Ab hier kann ich dir dann nicht helfen, wie gesagt kenne ich Beckhoff nicht, ich nehme aber an dass diese Schleife über alle installierten Tasks und Bausteine ebenfalls möglich ist und zu den Tasks und Bausteinen dann auch Detailinfos vom System abgefragt werden können.

Vielleicht steht in der Doku was dazu oder du kontaktierst den Support von Beckhoff ?

bg
bb
 
Ich mache es bei meinem Projekten immer so, dass ich den onlineChangeCount überwache, d.h. wenn der nicht =0 ist gibts ne Warnung. (So merkt man sich, dass man noch ordentlich kompilieren und laden soll)

Du könntest z.B. den onlineChangeCountimmer inkremetieren, so hast du pro jedem onlineChange eine neue Nummer (welche wohl sehr schnell gross wird). Andernfalls kannst du bei jeder Änderung des onlineChangeCount das aktuelle Datum abspeichern, dann weisst du wann das letzte mal geändert wurde...
 
Hallo!

Danke für die Anregungen.

Das mit dem OnlineChangeCount scheint mir nicht so geeignet. Der wird ja gelegentlich auch wieder auf Null gesetzt. Und: bei zwei verschiedenen Anlagen mit exakt der selben Software ist er nicht unbedingt gleich.

Und die schönen Funktionen, die B&R zu haben scheint, habe ich bei Beckhoff noch nicht gefunhden.

Es wird also wohl erstmal dabei bleiben müssen, die Versionsnummer von Hand anzupassen...

Franz
 
Zurück
Oben