Step 7 Step7 Projekt defekt / Symboltabellen fehlen

Stanzman

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

ich habe aktuell ein Problem mit einem Step7 Projekt. In dem Projekt sind ca. 70 Steuerungen + 2 WinCC Server. Bei einigen Steuerungen fehlen die Symboltabellen und es können keine Quellen mehr übersetzt werden. Es kommt eine Fehlermeldung, dass eine Datenbank korrupt ist. Leider habe ich den Fehler erst vor kurzem festgestellt und kann über alte Projektsicherungen nachvollziehen, dass der Fehler seit über einem Jahr besteht.
Ich habe bereits versucht das Projekt mit Reorganisieren Langsam zu reparieren, aber leider ohne Erfolg. Ich habe auch versucht aus dem alten "heilen" Projekt die Symboltabellen in das alte "defekte" zu kopieren, aber ebenfalls ohne Erfolg.

Hat jemand noch ein weitere Idee wie ich das Projekt retten kann? Ansonsten müsste ich wohl alle Änderungen in den letzten "heilen" Stand nachprogrammieren.
Oder hat jemand einen Kontakt zu Siemens für eine Projektreparatur?

Ergänzung: Die SPS sind mit CFC Programmiert, da man damals versucht hatte PCS7 "nachzubauen".

MfG Stanzman
 
Zuletzt bearbeitet:
Aktuelle Bausteine und Symbolik ins alte Projekt kopieren. Wird wohl nichts nützen, auch wenn viel Aufwand für so viele Steuerungen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe auch versucht aus dem alten "heilen" Projekt die Symboltabellen in das alte "defekte" zu kopieren, aber ebenfalls ohne Erfolg.
Ich denke es sind die Instanz-DBs die man nicht einfach rüberkopieren kann.
in ein Baustein wo ein FB mit Rot markiert ist, probier mal den Bausteinaufruf zu Updaten. Wenn es gefragt wird ob die IDB aktualisiert werden soll, dann bestätigen. Wird diesen FB dann nicht mehr mit Rot dargestellt ? Diese Problem sollte auch mit ein Bausteinkonsistenz Überprüfung beseitigt werden. Sonnst wäre es ein Problem mit viele Bausteine in 70 SPSen.

Ansonsten müsste ich wohl alle Änderungen in den letzten "heilen" Stand nachprogrammieren.
Wenn es nur kleine und seltene Programänderungen gibts, dann ist dies vielleicht die beste Lösung.
'Einfach' pro Steuerung ein offline/offline und/oder offline/online Bausteinvergleich durchführen. Dann jeden Unterschied untersuchen un nachvollziehen.

Auf der HMI-Seite weis ich nicht. Gibts es ein Vergleichsfunktion in WinCC (v7 ?).
 
Ich denke es sind die Instanz-DBs die man nicht einfach rüberkopieren kann.
in ein Baustein wo ein FB mit Rot markiert ist, probier mal den Bausteinaufruf zu Updaten. Wenn es gefragt wird ob die IDB aktualisiert werden soll, dann bestätigen. Wird diesen FB dann nicht mehr mit Rot dargestellt ? Diese Problem sollte auch mit ein Bausteinkonsistenz Überprüfung beseitigt werden.
Leider habe ich vergessen oben zu erwähnen, dass die Programmierung in CFC ist. Habe das oben mal ergänzt.
 
Ich kenne CFC nicht. Gibt es eine ähnliche Problemstellung mit DBs oder FC/FBs die eventuell sein Synkronisierung verlieren kann ? Und mit ein Updaten oder Kompilieren einzeln repariert werden kann ?

In die Symboltabelle kann man die einfache Variabeln (Merker, Time, I/O) simpel editieren. Aber die Symbole die mit ein Baustein verknüft ist kann man nur ändern wenn man die Symbolische Name in die Bausteineigenschaften editiert, oder bei die erste Erstellung von die Baustein. Ich nehme an dies ist der Grund warum man nicht einfach eine alte Symboltabelle in eine neuere Projekt kopieren kann.

Gibt es die Möglichkeit mit der Bausteinsvergleich ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Funktionieren bei den betroffenen CPUn die CFC-Pläne denn noch ordentlich? Und kannst Du die Quellen anschaun?
Wenn ja, dann neue SPS anlegen, CFC-Pläne und Quellen aus dem aktuellen Projekt rüberkopiern, Den Inhalt der Symboltabelle aus dem alten von vor nem Jahr rüberkopiern, u.U. mit Excel.
 
Zuletzt bearbeitet:
Grundsätzlich liegen die Symboltabellen in den Datenbankdateien in den Unterordnern von "YDBs". Welcher Ordner zu welchem Programm gehört ist nicht ganz so einfach. Es existiert übergeordnet eine Programm-ID, mit der geht man in die YLNKLIST.dbf im Verzeichnis "YDBs" und holt sich da die SOI, mit der geht man in die SYMLISTS.dbf und dort enthält dann _DBPATH das finale Verzeichnis. Zumindest ist das mein letzter Kenntnisstand. Bei Projekten mit vielen Steuerungen und anderen Optionspaketen mag das schon wieder anders sein, darum etwas mit Vorsicht zu genießen, da ich das nur an überschaubaren Projekten herausgetüftelt habe.

Wenn das nicht 70 Stationen im Projekt wären, dann würde ich hergehen und mir ein neues Projekt mit einem Programmordner erstellen, und schrittweise die Verzeichnisinhalte aus dem defekten Projekt und den Ordnern unter YDBs wieder in das Korrekturprojekt zu kopieren, bis die vermeintlich richtige Symboltabelle wieder da ist. Deren Inhalt kann man dann per Copy&Paste in das andere Projekt kopieren. Der Nachteil ist gerade bei großen Projekten, dass auch bereits gelöschte Symboltabellen im Ordner YDBs erhalten bleiben. Du hast bei dir dort darum vermutlich viel mehr als 70 Ordner.

Aber so einen Defekt hatte ich auch noch nicht, zumindest kenne ich es nicht so, dass Siemens meckert wenn keine Symboltabelle vorhanden ist, denn diese kann ich ja auch händisch löschen und wieder eine neue anlegen. Oder dort steht ein DBPATH den es nicht mehr gibt. Aber dann gleich mehrfach ist schon seltsam. Was nach meiner Erfahrung nach eher kaputt geht, ist die linkhrs.lnk, in der eine elementare Verknüpfung zwischen Hardwarestation und Programmordner vorhanden ist. Da eine Datei mit der Endung .lnk unter Windows eine besondere Funktion hat, geht diese schon mal kaputt wenn man ein Projekt nicht mit Archivieren/Dearchivieren verschiebt, sondern einfach den Ordner per Windows Explorer verschiebt. Wenn die Datei fehlt oder fehlerhaft ist, dann fehlen aber die gesamten Programmordner unter den Stationen.
 
Mit OpenOffice lassen sich übrigens die DBF Dateien importieren, um da mal einen Blick reinwerfen zu können. MS Access kann diese auch öffnen, aber der hinterlässt immer ein paar Dateien im Projektverzeichnis.
 
Zurück
Oben