Symbolbezeichnugn von Globalvariabeln

MStastny

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich habe hier ein leichtes Problem. Wir haben mehrere Maschinen gleichen Typ. Bei einer ist aber das Programm nicht 100 % so wie die anderen.

EA S , Merker, Globalvariabelbezeichnung ist aber überall gleich.

Jetzt habe ich das Programm online aus der Maschine ausgelesen.

Auserdem habe ich auch die Symboltabelle von einer anderen Maschine übernommen, hat gepasst.

Jetzt hab ich nur noch ein Problem mit den ganzen Globalvariabeln.

wo legt die Step 7 die den ab. Denn diese werden ja auch nicht mit in die CPU übertragen.


mfg

Marc
 
Symbolik

Hallo,

in der S7 nennt sich das Symbolik. Und die gibts nur offline. Du könntest bei ausreichendem Seicherplatz das Projekt auf der SPS archivieren.

André
 
Zuviel Werbung?
-> Hier kostenlos registrieren
re

Moment kann sein, das ich gerade die Global mit den Lokalen durcheinander geworfen haben


ich meine die Daten die im FB oder FC oben eingetragen werden und bei den FBs dann in dem Instanzbaustein stehen.

Die Bezeichnungen der EAs Merker, Timer steht ja in der Symboltabelle, diese braucht man ja nur rüber zu kopieren.
 
Variablennamen

jo kann sein. Sämtliche Deklarationen IN, OUT, INOUT, TEMP, STAT und auch die Deklarationen im DB gibt es auch nur offline. Beim Abzug aus der SPS werden diese nur durchnummeriert. IN0, IN1, TEMP0...

André
 
re

genau. und wie bekommt man die nach dem runterladen aus der cpu wieder da rein


oder wo sind die in dem Archiv abgelegt. wie heist die datei
 
Hi,

die alles entscheidende Frage ist: Hast du von deinen "ähnlichen" Projekten eine Offline-Version? Vorher brauchst du gar nicht weiterfragen.

Torsten
 
re

Ja ich habe von dem ähnlichen Projekt eine Offline Version.

Und ich möchte mit deren Hilfe aus dem ausgelesenen Projekt wieder eine Vollwertige Offline Version mit allen Komentaren machen. Das ich da noch nen bischen dann warscheinlich Hand zu Fuss nachtragen muss, ist mir bewust.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok,

die Symbolik hast du ja schon.

ACHTUNG, bitte nur mit Sicherungskopien arbeiten!!!
Das ganze funktioniert nur relativ einfach wenn sich die Programme nur im Code unterscheiden, aber in den Datenstructuren gleich sind!

Das einfachste wird sein das du erstmal guckst welche Bausteine unterschiedlich sind. Das kannst du machen indem du das Offline-Projekt öffnest mit deinem Online-Abzug vergleichst. Dabei konzentrierst du dich erstmal nur auf die FB, FC und OBs. Die Datenbausteine werden sehr wahrscheinlich andere Daten enthalten, das ist normal.

Bei geöffnetem Projekt wählst du einen Bausteinordner an, dann gehst du auf Extras->Bausteine vergleichen->
und wählst deine beiden Projekte aus.

Notiere dir in welchen Bausteinen es CODE! Unterschiede gibt.

Prüfe ob die Datenbausteine Online und Offline die gleiche Grösse haben.
Wenn nicht, hast du ein Problem.

Nun wählst du mit der rechten Maustaste einmal den Bausteinordner von deinem Offline-Projekt an, und wählst "Objekteigenschaften".
Dann auf den Reiter "Operandenvorrang". Hier muss "Ablsoutwert hat Vorrang, alle Symbole werden...blabla" angewählt sein.

Nun kannst du die Bausteine die sich im CODE! unterscheiden öffnen, und alle Netzwerke der Online-Version mit "kopieren" in die Offline-Version übertragen. Das was in der Offline-Version an Netzwerken vorhanden ist sollte natürlich vorher gelöscht werden.

Nun speicherst du dass, und machst das bei jedem Baustein der Unterschiede hatte.

Danach stellst du den Operandenvorrang wieder auf Symbolisch, öffnest alle geänderten Bausteine, speicherst sie, und schliesst sie wieder.

Jetzt hast du wieder die Symbolik. Ob das was da an Symbolik richtig ist, muss du dann schon selbst prüfen, in dem du guckst ob das was da nun steht einen Sinn ergibt.
Das ist nur ein Weg das zu machen...

Wenn die globalen DBs in der grösse gleich sind, können die erstmal so im Projekt bleiben.

Nun gehst du an die Maschine, und machst mit deinem Projekt (die Offline-Version) einen Vergleich mit dem was in der CPU ist. Es sollten keine Code-Unterschiede da sein. Wenn keine da sind, wechselt du in den Online-Modus (bei der Standarteinstellung von Step7 ist es das 10 Icon von links).

Es öffnet sich ein Fenster in dem der Baustein-Ordner der CPU ist. Doppelklick...nun hast du deine Bausteine, die in der CPU sind.

Nun markierst du alle DBs in diesem Online-Ordner, rechte Maustaste ->kopieren.
Dann schliesst du das Fenster, wählst in deinem Offline-Projekt den Bausteinordner -> Einfügen ... Überschreiben...Ja.

Achtung! Ändere nichts in dem Online-Ordner, bis du sicher bist das dein Offline und dein Online-Projekt gleich sind! Arbeite nur mit Sicherheitskopien von beiden ! ! !

Es kann sein, das du nun beim öffnen von Bausteinen einen Zeitstempelkonflikt angezeigt bekommst. Das gilt dann aber nur für die Instanz-DBs. Deine globalen DBs sollten nun die aktuellen Werte in der CPU als Anfangswerte haben. Ich bin nicht sicher ob das bei den Instanz-DBs auch so funktioniert. Es könnte sein das du "Zugriffe prüfen und aktualiesieren" ausführen musst. Das hat zur Folge das die aktuellen, in der CPU gespeicherten Daten nicht mit den Anfangswerten im Projekt übereinstimmen.
Das kann zu Problemen führen wenn du diese Instanz-DBs in die CPU spielst, und wichtige Werte darin vom Programmierer Online geändert wurden, sie aber sonst nirgendwo im Programm oder der HMI zugewiesen werden...

Ich hoffe ich habe es einigermassen verständlich erklärt, und nichts vergessen...

Viel Glück!


Torsten
 
Zurück
Oben