Step 7 Symbol ändern und automatisch in allen Programmteilen aktualisieren

vollmi

Level-3
Beiträge
5.425
Reaktionspunkte
1.403
Zuviel Werbung?
-> Hier kostenlos registrieren
hi zusammen

Wie macht ihr die symbolisch programmiert sowas?

Ich habe bei eingestellt auf "Symbol hat Vorrang bei allen Zugriffen"

Jetzt habe ich einen globalen DB110 z.B. mit Symbol "Transfer"
Dieser DB ist in diversen Bausteinen in Verwendung. Jetzt fällt mir ein der Soll nicht Transfer heißen sondern "Comkonfig"
Also benenne ich ihn um. Nun wird bei jedem Baustein wo dieser DB drin vorkam gesagt Symbole hätten sich geändert. Soweit so gut.
Aber kann man das jetzt irgendwie dazu bringen dass wenn sich das alte Symbol nicht mehr wiederfindet, sich die Struktur aber nicht verändert hat, einfach das neue Symbol Verwendung findet?
Wenn sich allerdings die Struktur verändert hat (absolute Adresse des Symbols verändert sich), dann die Absolut Adresse nachgezogen wird.

Wenn beides sich verändert hat ist es natürlich klar dass sich nichts mehr wiederfindet.

mfG René
 
Umstellen auf Operandenvorrang, Symbol neu benennen, Step7 weiß "Ah, der DB... soll jetzt so heißen" und wieder zurück auf Symbolvorrang.

Ich kann aber irgendwie nicht so richtig glauben, dass es das war, was Du wissen wolltest?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
War schon richtig. Das mit dem umstellen des Operandenvorrangs war mir schon klar. Allerdings kommt mir das schon extrem umständlich vor, weil man ja dann auch erstmal alle Bausteine aufmachen und von hand speichern muss. Bevor man wieder den Operandenvorrang umstellen kann. Ich hoffte insgeheim man könnte mit der Konsistenzprüfung das irgendwie automatisch durchackern lassen.

mfG René
 
Umstellen auf Operandenvorrang, Symbol neu benennen, Step7 weiß"Ah, der DB... soll jetzt so heißen" und wieder zurück auf Symbolvorrang.
Das allein reicht normal nicht! Wenn man nur kurz auf absolut umstellt hilft das nicht viel. Die Symbole in einem Programmbaustein werden nur beim Öffnen, Übersetzen oder Speichern geprüft.
Wenn man vor dem Öffnen des FB wieder auf symbolisch schaltet erscheinen trotzdem noch die alten Symbole und dass noch in wunderschönem rot.

War schon richtig. Das mit dem umstellen des Operandenvorrangs war mir schon klar. Allerdings kommt mir das schon extrem umständlich vor, weil man ja dann auch erstmal alle Bausteine aufmachen und von hand speichern muss. Bevor man wieder den Operandenvorrang umstellen kann. Ich hoffte insgeheim man könnte mit der Konsistenzprüfung das irgendwie automatisch durchackern lassen.

mfG René
Ja diesen automatischen Weg gibt es! :cool:
Ich entscheide mich öfters mal bei DB-Namen oder StukturNamen um, einfach weil's besser ins Konzept passt. Ist kein großer Aufwand

Korrekte Vorgehensweise:
1. Rechtsklick auf Ordner Bausteine "Bausteinkonsistenz prüfen"
2. Dort auf Alles Übersetzen - Dann macht er genau was Vollmi wollte und man ist sicher dass das Programm symbolisch konsistent übersetzt ist.
3. Auf Absolut umschalten
4. DB-Namen oder was auch immer ändern
5. Schritt 1/2 Wiederholen
6. Wieder auf Symbolisch schalten.

Bei KOP/FUP/AWL muss man das definitiv so machen, bei SCL kann ich mich irren...
Es ist auch jedenfalls der sicherste Weg.

[EDIT]Für mich ist das eine der zentralsten und am häufigsten genutzten Funktionen in Step7. Das zwei so erfahrene Jungs die Funktion noch nicht entdeckt hatten.... ;) [/EDIT]
 
Zuletzt bearbeitet:
Ich kann aber irgendwie nicht so richtig glauben, dass es das war, was Du wissen wolltest?
Wusste ich's doch, dass da noch mehr hinter steckt:
Ich hoffte insgeheim man könnte mit der Konsistenzprüfung das irgendwie automatisch durchackern lassen.
Ja diesen automatischen Weg gibt es! ;)

Korrekte Vorgehensweise:
1. Rechtsklick auf Ordner Bausteine "Bausteinkonsistenz prüfen"
2. Dort auf Alles Übersetzen - Dann macht er genau was Vollmi wollte und man ist sicher dass das Programm symbolisch konsistent übersetzt ist.
3. Auf Absolut umschalten
4. Schritt 1/2 Wiederholen
5. Wieder auf Symbolisch schalten.
Danke, wieder was gelernt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ah genau so passt es. Ich war irritiert dass die Konsistenzprüfung schön gesagt hat. Alles in Ordnung hat sich nichts geändert obwohl ich ja das Symbol geändert habe. Also muss einfach alles übersetzt werden ohne Prüfung dann passt es nachher.

mfG René
 
Jep, ich lass die Konsistenzprüfung (Alles übersetzen) von Beginn bis zum Schluss der Programmierphase recht häufig drüberlaufen, hat bis jetzt noch nie geschadet.
Und bei solchen Symbolik/Adressänderungen, wenn man weiß was man tut und die Reihenfolge einhält kann man ganz leicht das ganze Programm umschaufeln...
 
Zuletzt bearbeitet:
1. Rechtsklick auf Ordner Bausteine "Bausteinkonsistenz prüfen"
2. Dort auf Alles Übersetzen - Dann macht er genau was Vollmi wollte und man ist sicher dass das Programm symbolisch konsistent übersetzt ist.
3. Auf Absolut umschalten
4. Schritt 1/2 Wiederholen
5. Wieder auf Symbolisch schalten.

Bei KOP/FUP/AWL muss man das definitiv so machen, bei SCL kann ich mich irren...
Zwischen Schritt 2 und 4 natürlich die neuen Symbole in der Symboltabelle eintragen.
Bei SCL geht das nicht, da muss man mit Search&Replace arbeiten.
Auch bei F-Bausteinen gibt es manchmal Probleme, dann muss man wirklich jeden betroffenen F-Baustein einzeln öffnen und speichern.
Gruß
Erich
 
Zuviel Werbung?
-> Hier kostenlos registrieren
[EDIT]Für mich ist das eine der zentralsten und am häufigsten genutzten Funktionen in Step7. Das zwei so erfahrene Jungs die Funktion noch nicht entdeckt hatten.... ;) [/EDIT]

Ich nutze die Konsistenzprüfung erst seid einigen Monaten. Andere hier in der Firma nutzen diese nie (TIA hat mich da hingeführt immer zu schauen dass alles konsistent ist).
Bisher hab ich immer auf Absolut umgestellt und dann JEDEN Baustein aufgemacht und gespeichert. Sehr mühsam.

Und das derzeitige Projekt wird riesig darum musste ich jetzt das Vorgehen dringend überdenken.
Die Fleissarbeit hab ich zu einem Drittel gemacht (z.B. 100 Auma Antriebe einbinden und steuern, 25x BSEND/RECV profinet a 1kb) Und die 417er CPU ist jetzt schon bei 8ms Zykluszeit.

SCL ist bei mir nur bei gekapselten Bausteinen in verwendung. Die Programmstruktur ist immer in AWL. Das erspart mir das suchen ersetzen in den SCL Quellen.

Ich hätte das Projekt am liebsten in TIA gemacht. Leider ja noch keine H CPUs verfügbar.

mfG René
 
Achtung, bei der Konsistenzprüfung "Alles Übersetzen" werden alle Instanzdatenbausteine initialisiert (die Aktualwerte auf die Anfangswerte gesetzt).

Harald
 
Achtung, bei der Konsistenzprüfung "Alles Übersetzen" werden alle Instanzdatenbausteine initialisiert (die Aktualwerte auf die Anfangswerte gesetzt).

Aber die werden ja nicht automatisch runtergeladen. Und wenn ich einen Instanzdatenbaustein runterlade wird er ja eh initialisiert weil ich das ja nur mache wenn sich was an der Länge oder Struktur geändert hat.

mfg René
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie sicherst Du die Aktualwerte von parametrierten IDB?

Angenommen Du hast mehrere Regler-FB-Instanzen oder einen FB für Analogsensoren und in den Instanzvariablen hast Du die Skalierungswerte und Alarmgrenzwerte und und und ... abgelegt (online in der CPU parametriert oder mit DB-Param). Vielleicht hast Du auch mal die eingestellten Aktualwerte ins Offline-Projekt zurückgeladen. Diese Aktualwerte sind durch das Initialisieren beim Konsistenz-Übersetzen futsch, die Instanz-DB kannst Du danach nicht wieder in die CPU laden.

Harald
 
Nah bei mir gibts keine Parameter die gesichert werden müssten in Instanzen. Die sind alle in Globalen DBs und werden als Parameterlisten im WinCC OA gesichert. Grad mit TIA weiss man da nie wenn was verlustig geht wenn man runterläd.
Hab ich aber auch in Step7 so gehalten.

mfG René
 
Das allein reicht normal nicht! Wenn man nur kurz auf absolut umstellt hilft das nicht viel. Die Symbole in einem Programmbaustein werden nur beim Öffnen, Übersetzen oder Speichern geprüft.
Wenn man vor dem Öffnen des FB wieder auf symbolisch schaltet erscheinen trotzdem noch die alten Symbole und dass noch in wunderschönem rot.


Ja diesen automatischen Weg gibt es! :cool:
Ich entscheide mich öfters mal bei DB-Namen oder StukturNamen um, einfach weil's besser ins Konzept passt. Ist kein großer Aufwand

Korrekte Vorgehensweise:
1. Rechtsklick auf Ordner Bausteine "Bausteinkonsistenz prüfen"
2. Dort auf Alles Übersetzen - Dann macht er genau was Vollmi wollte und man ist sicher dass das Programm symbolisch konsistent übersetzt ist.
3. Auf Absolut umschalten
4. DB-Namen oder was auch immer ändern
5. Schritt 1/2 Wiederholen
6. Wieder auf Symbolisch schalten.

Bei KOP/FUP/AWL muss man das definitiv so machen, bei SCL kann ich mich irren...
Es ist auch jedenfalls der sicherste Weg.

[EDIT]Für mich ist das eine der zentralsten und am häufigsten genutzten Funktionen in Step7. Das zwei so erfahrene Jungs die Funktion noch nicht entdeckt hatten.... ;) [/EDIT]

Hallo RONIN,

mache folgendes

1. Schalte bei "Rechtsklick-Bausteine->Eigenschaften->Operandenvorrang" auf "Symbol hat Vorrang" - "Bei allen Zugiffen"
2. Dann "Rechtsklick-Bausteine->Bausteinkonsistenz prüfen"
3. Dort auf Alles Übersetzen
4. Auf Absolut umschalten "Symbole werden bei allen Zugriffen..."
5. Ändere in der Symboltabelle die Adresse des DBs vom DB507 auf DB 509
6. Wiederhole Schritte 2/3
7. Schalte auf Symbolisch

und passiert nichts. Alle Verweise bleiben auf DB507.

Eigentlich der Projekt ist Ursprunglich auf Absolut eingestellt.
Ich habe nur unter deine Anweisungen durchgeführt.

Was mach ich falsch?

Viele Grüße
 
Zurück
Oben