Handling von DBs und Änderungen

Mütze

Level-1
Beiträge
52
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

mal ne Frage zum Umgang mit Datenbausteinen:
Ich hab ne S7-4142DP und möchte die Werte in den DBs (zum Beispiel Grenzwerte) nachträglich ändern (über OP). Da funzt wunderbar. Aber wie kann ich mir dann irgendwann am ende der IBN das ganze im Programm ablegen, sodass die Aktualwerte in meine Offlinedaten stehen, und anschliessend als neue Startwerte übernommen werden.

Ein zweites Problem stellt sich für mich dar, wenn ich Daten hinzufügen will, was passiert mit meinen Aktualwerten beim Übertragen mit dem neuen Db? Gehen die Aktualwerte verloren oder nicht?

Bestimmt wurde sowas schon in einem Thema behandelt, aber ich habe nicht richtig gefunden!

Das nächste Problem besteht für mich darin, dass wenn ich die Baustelle verlassen will, möchte ich ja ein EPROM brennen. Dafür muss ich die BDs ja vorher sicherm (mit den Aktualwerten als Anfangswerte) wie muss ich vorgehen?

Danke für Eure hilfe.

Gruß Mütze
 
1. Bausteine vergleichen - sind die DB´s identisch bzw. unterscheiden sich nur durch unterschiedliche Inhalte, dann weiter bei 3.
Wen die Strkturen oder längen nicht passen dann weiter bei 2.


2. DB mit der SPS umkopieren:
- Im Simatic-Manager eine Kopie des DB´s machen,die Kopie bekommt eine andere Nummer.
- Die Kopie in die SPS übertragen
- In der SPS eine kleine Routine programmieren um die Daten vom Orginal-DB in die Kopie zu übertragen (Schleife oder SFC20 Blockmove).
- Wenn die Kopie die gleichen Daten enthält, wird das Original mit der richtigen Struktur in die SPS übertragen und der DB in der SPS überschrieben.
- Jetzt die routine so ändern das von dem Kopie DB wieder zurück in den übertragenen Original DB kopiert wird.
- Die Kopie des DB und die Routine kann gelöscht werden
- ZIEL: Jetzt hat der DB Online und Offline die selbe Struktur und der Online DB hat alle Daten noch.


3. Im Simatik-Manager den Online Bausteinoderner öffnen.
Das geht mit den Buttons rechts neben dem Downloadbutton.
Der linke davon wählt die Offlineansicht (Standart), der rechte schlaltet in die Onlineansicht und den drückst du auch.


4. Im Online Bausteinoderner die gewünschten DBs markieren und mit der rechten Maustaste kopieren auswählen

5. mit den in (3.) erwähnten Tasten wieder ins Offlinemenü umschalten

6. Die DBs mit der rechten Maustaste einfügen und überschreiben.

7. Fertig - wenn die Strukturen der DBs gleich waren, dann hast du noch deine gesamte Symbolik und offline die selben Werte wie online.


WICHTIG!
Du Musst immer mit dem in (3.) erwähnten Button in den Onlineornder wechseln! Über "Erreichbare Teilnehmer" kommt man auch in diesen Ordner, aber wenn man von da kopiert zerschiesst man sich die Symbolik der Offline-DBs!


Wenn du einen bestehnden DB ändern willst, dann kopierst du ihn erst mit den obigen Schritten in dein Offlineprojekt, machst die Änderungen und spielst in wieder in die SPS.


Dafür das es für diese elemtare Funktion keinen komfortableren Weg gibt, darfst du dich bei dem Helden von Siemens bedanken...
An dieser stelle viel Grüße raus ins All, oder wieviele Lichtjahre auch immer die Simaticentwicklung inzwischen von uns und der Praxis weg ist...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für Deine Anleitung. Ist super klasse.
Werde ich mir mal abspeichern. Vergesse das immer wieder.

Eine kleine Frage habe ich aber dann doch noch.

Wenn ich nen DB anlege und mir Reserven lasse, die ich dann einfach mit z.B.
.
.
DB100DBD100
DB100DBD104
.
.
.
bezeichne, und dann nachträglich Namen vergebe (im Offline Baustein), dann kann ich die online DBs doch einfach so kopieren, oder?

Gruß Mütze
 
Danke für Deine Anleitung. Ist super klasse.
Werde ich mir mal abspeichern. Vergesse das immer wieder.

Eine kleine Frage habe ich aber dann doch noch.

Wenn ich nen DB anlege und mir Reserven lasse, die ich dann einfach mit z.B.
.
.
DB100DBD100
DB100DBD104
.
.
.
bezeichne, und dann nachträglich Namen vergebe (im Offline Baustein), dann kann ich die online DBs doch einfach so kopieren, oder?

Gruß Mütze

Wenn du nur die Bezeichnungen änderst, nicht aber die Dimensionen der Variablen, geht das. Wenn du z.Bsp. aus einem Word-Platzhalter 16 Boolean machst, dann wird der Step7-Manager eine DB-Änderung entsprechend anmeckern.
 
uraltes Problem - aber seit WinCC flex hab ich eine neue Lösung: wenn kein physikalisches OP vorhanden, mache ich ein virtuelles Inbetriebnahme-OP für meine Simulationsruntime am PG, ansonsten nehme ich halt das physisch vorhandene (soweit es Rezepturverwaltung kann, sonst halt noch ein virtuelles).

Und dann benutze ich die Rezepturverwaltung (auch wenn sonst alles mögliche an Flex sch***e ist - das funktioniert gut): alle Parameter in eine oder mehrere Rezeptur(en) zusammenstellen, aus Steuerung laden (und natürlich speichern) - und Export als CSV oder TXT.

Vorteil 1: die Parameter stehen sofort für Dokumentationszwecke zur Verfügung.

Vorteil 2: egal, wie sehr ein DB umstrukturiert wurde - vor Programmupdate Parameter ziehen - Update machen - Parameter zurückspielen - fertig! (Voraussetzung Symbolanbindung, entsprechend alt und neu generiertes WCf-Projekt, ggf. frischer Reimport der Altdaten ...)

zugegeben: Vorraussetzung ist WCf!

Gruß!
 
Und da gehört sie sicherlich auch hin!!!

Ist zwar ein uraltes Problem, aber ich muss immer wieder darüber nachdenken. Gerade wenn man nicht nur mit Siemens programmiert.

Also nochmals vielen Dank.

Gruß Mütze
 
6. Die DBs mit der rechten Maustaste einfügen und überschreiben.

7. Fertig - wenn die Strukturen der DBs gleich waren, dann hast du noch deine gesamte Symbolik und offline die selben Werte wie online.
Das habe ich auch immer so gemacht, nur wie funktioniert jetzt der Trick das man die Initialwerte mit den Aktualwerten überschreibt?
Wenn ich in der Deklarationsansicht bin, habe ich offline immer noch die uralten Startwerte. Würde ja Sinn machen diese gleich mit den "richtigen" Maschinenparametern vorzubelegen.

Aber wahrscheinlich gibts nicht genügend Entwicklungskapazitäten für Step7, da diese hauptsächlich im Support gebunden sind ;)

An dieser stelle viel Grüße raus ins All, oder wieviele Lichtjahre auch immer die Simaticentwicklung inzwischen von uns und der Praxis weg ist...
100% Agree! Allein in der grundlegenden Bedienung vom Simaticmanager und dem FUP/AWL-Editor sind ja einige Verbesserungsmöglichkeiten...

Gruß
Markus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das habe ich auch immer so gemacht, nur wie funktioniert jetzt der Trick das man die Initialwerte mit den Aktualwerten überschreibt?
Wenn ich in der Deklarationsansicht bin, habe ich offline immer noch die uralten Startwerte. Würde ja Sinn machen diese gleich mit den "richtigen" Maschinenparametern vorzubelegen.

bearbeiten --> datenbaustein initialisieren ??
 
bearbeiten --> datenbaustein initialisieren ??
Nein das geht nicht :
Meldung : "Sollen alle Aktualwerte mit den Anfangswerten überschrieben werden?"

Ich möchte ja den umgekehrten Fall, alle Anfangswerte mit den Aktualwerten überschreiben. Macht ja auch Sinn nach der Inbetriebnahme.
 
Das geht nur über die Quelle und ein Excelscript bzw. etwas Handarbeit.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Initialwerte mit den Aktualwerten ueberschreiben geht meines Wissens nur mittels Umweg ueber AWL-Quelle.

Evtl. hilft auch dieses Excel-Sheet bzw. die enthaltenen Makros von Siemens:
Link <--- das gibt´s aber nicht umsonst.

Mfg
uncle_tom
 
Zurück
Oben