TIA Bereichsfehler nach SPS Tausch

Zuviel Werbung?
-> Hier kostenlos registrieren
Du machst bevor du gehst einen Bausteinevergleich Editor <->SPS Online.Wenn das alles passt, gehst du hin und spielst am besten
am letzten Tag alles DB's der SPS zurück in den Editor.Und das gibst du dann am Kunden auf dem Stick zur Ablage.
Ich bin vorort und in der Instandhaltung. Das Programm ist grün: das wäre es ja auch wenn die Startwerte andere wären
 
Vorsicht Falle: wenn man das Programm nicht genau kennt, sollte man nicht wahllos alle offline-Aktualwerte durch die online-Aktualwerte ersetzen. Findige Programmierer könnten den Unterschied zwischen gepufferten/remanenten Aktualwerten im Arbeitsspeicher und Ladespeicher-Werten ausgenutzt haben, um einen "Kaltstart" (Urlöschen oder CPU-Tausch) zu erkennen und dann speziell zu initialisieren. Sind die in dem Fall gewollten Aktualwerte im Ladespeicher durch online-Aktualwerte ersetzt, dann funktioniert das nicht mehr, wie vom ursprünglichen Programmierer ausgedacht.
Für mich macht der durchdachte Umgang mit Aktualwerten und Unterstützung von sinnvollen Anfangswerten bei Urlöschen/CPU-Tausch den Unterschied zwischen Qualitäts-Programmierer und Husch-Husch-Programmierer :cool:
 
Zuletzt bearbeitet:
In TIA gibt es für S7-1500 eine neue 'Snapshot' Funktion. Wenn Online, die relevante DBs markieren, rechtsklicken und 'Snapshot erzeugen' wählen.
Damit wird kopien von die Aktualwerten in eine separaten Snapshot gespeichert.
Nachher kann man die Snapshot Werte in die Startwerte und/oder die Aktualwerte kopieren.
Meiner Erfahrung nach hat diese Art der Sicherung seine ganz eigenen Fallstricke, beispielsweise wenn man dabei versehentlich irgendwelche Laufzeitvariablen mitsichert die bei SPS-Start nicht nochmal explizit mit Startwerten initailisiert werden.
Betrifft häufig beispielsweise kleine SCL-Zustandsautomaten mit CASE, die dann aufeinmal in einem Schritt hängen, den diese logisch eigentlich nicht erreichen können (sollten). Und wenn der Programmerer nicht an eine saubere Initailisierung gedacht hat, dann fehlt auch eine Möglichkeit für einen HardReset.
Oder IEC-TIMER. Die laufen NUR bei steigender Flanke an "IN" los.
Hast du die Timer-Instanz mit Startwert "IN" = TRUE gesichert & die Beschaltung wird im ersten SPS-Zyklus sofort TRUE läuft der Timer nicht.
Gibt bestimmt noch mehr lustige Sachen, die bei Sicherung per Startwert so passieren können.

Es gäbe noch die Möglichkeit für eine Onlinesicherung, die wirklich einen konsistenten 1:1 Schnappschuss des aktuellen Programmzustands im Arbeitsspeicher macht.
1725457621975.png
Nachteil:
- zum Sichern muss die SPS in Stop.
- Zurückspielen geht nur auf eine identische SPS mit identischer Firmware. Ersatzteilkompatibilität am 🍑
- In die Sicherung reinschauen um kurz die Einstellwerte von einzelnen Variablen nachzuschauen geht auch nicht, was den Wert der Sicherung recht...begrenzt(╯‵□′)╯︵┻━┻
- Und falls du versuchen solltest die Sicherung in eine simmulierte SPS zu laden: Siemens wäre nicht Siemens wenn das funktionieren würde

Für mich macht der durchdachte Umgang mit Aktualwerten und Unterstützung von sinnvollen Anfangswerten bei Urlöschen/CPU-Tausch den Unterschied zwischen Qualitäts-Programmierer und Husch-Husch-Progammierer :cool:
+1
 
Also w
Richtig! Und trotzdem läuft das Programm nicht ... die grünen Kugeln in TIA gaukeln dem unerfahrenen TIA-Anwender nur vor, dass alles gut wäre...
Also würde das einspielen meiner derzeitigen Version nichts bringen, da ich immer nur mit der Projektdatei gearbeitet habe. Ich werde morgen einfach den Hersteller der Anlage kontaktieren. So werde ich leider nicht vorankommen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich bin vorort und in der Instandhaltung. Das Programm ist grün: das wäre es ja auch wenn die Startwerte andere wären
Richtig! Und trotzdem läuft das Programm nicht ... die grünen Kugeln in TIA gaukeln dem unerfahrenen TIA-Anwender nur vor, dass alles gut wäre...
Öhm, ich meine nein.
Wenn man die Startwerte in die Offline DBs ändert, dann ist die Deklaration von die DB geändert, und sie stimmen nicht mehr mit die Online DBs.
Das gelt auch wenn man die Snapshot Werte in die Offline Startwerte kopiert.
Die Aktualwerte kann man ändern, und sie verbleiben grün.
 
Meiner Erfahrung nach hat diese Art der Sicherung seine ganz eigenen Fallstricke, beispielsweise wenn man dabei versehentlich irgendwelche Laufzeitvariablen mitsichert die bei SPS-Start nicht nochmal explizit mit Startwerten initailisiert werden.
Da bin ich einig.
Man muss gut überlegen, was man tut.
Auf den Grund zeigt aber die Offline/Online Vergleich nicht mehr grün sondern blau. Man wird also gewarnt wenn man versucht eine Programm mit neue Startwerte zu laden.

- In die Sicherung reinschauen um kurz die Einstellwerte von einzelnen Variablen nachzuschauen geht auch nicht, was den Wert der Sicherung recht...begrenzt
Doch, es geht.
Öffne den relevante DB, dann muss man aber den Anzeige ändern so dass die Kolonne mit die Snapshotwerte angezeigt werden.

Ich verwende den Snapshot wenn ich (in sehr seltener Fall) eine fremde Programm hat mit eine Programmupdate, und ich bin nicht 100% dass die Update korrekt ist. Dann kann ich zurück zum vorher den Update kommen. In den Fall kann ich die Snapshot Werte in die Aktualwerte kopieren..
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Öhm, ich meine nein.
(...)
Die Aktualwerte kann man ändern, und sie verbleiben grün.
Das ist der Punkt, den ich meine. z.B. der ursprüngliche Husch-Husch-Programmierer hat DB im Projekt alle nur mit Standardwerten angelegt und so gelassen und in die CPU geladen (alles andere macht ja sooo viel Arbeit). Und bei der IBN mit Beobachtungstabelle oder sonstwie steuern die Werte im Arbeitsspeicher "manipuliert", bis das Programm ohne meckern läuft. Dann hat er sich schnellstmöglich vom Acker gemacht... Ein solches Programm funktioniert zunächst, bis jemand mal die Speicherkarte zieht oder sonstwie urlöscht oder gar die CPU tauscht. Dann ist nach dem Urlöschen und laden des Programms vom Ladespeicher für TIA alles grün, und trotzdem läuft das Programm nicht. Gibt es den Hersteller noch, dann ist das die Gelegenheit, diesen Qualitätsmangel für exorbitante Bezahlforderungen auszunutzen...

PS: und wer nun noch die ganzen tollen automatischen online-Backup-Tools für Dummies benutzt, der kann sehr schön auf die Schn... fallen, sollte er jemals das zurückspielen eines Backups benötigen...
 
Das ist der Punkt, den ich meine. z.B. der ursprüngliche Husch-Husch-Programmierer hat DB im Projekt alle nur mit Standardwerten angelegt und so gelassen und in die CPU geladen (alles andere macht ja sooo viel Arbeit). Und bei der IBN mit Beobachtungstabelle oder sonstwie steuern die Werte im Arbeitsspeicher "manipuliert", bis das Programm ohne meckern läuft. Dann hat er sich schnellstmöglich vom Acker gemacht... Ein solches Programm funktioniet zunächst, bis jemand mal die Speicherkarte zieht oder sonstwie urlöscht oder gar die CPU tauscht. Dann ist nach dem Urlöschen und laden des Programms vom Ladespeicher für TIA alles grün, und trotzdem läuft das Programm nicht. Gibt es den Hersteller noch, dann ist das die Gelegenheit, diesen Qualitätsmangel für exorbitante Bezahlforderungen auszunutzen...
Ja das ist schlecht. Alle wichtige Parameter sollte entweder gut gewählte Startwerte haben, und/oder durch die HMI einstellbar sein.
Eine gute Programm hat sogar eine 'auf Werkseinstellungen setzen' Funktion haben. Und mit die Werkseinstellungen soll die Maschine fahren können.
 
Werkseinstellung ist das was ich normalerweise hinterlege:

Bei mir gibt es immer direkt im SPS Programm hinterlegte Konstanten die dann (bei mir heisst das normalerweise "Alles auf Automatik", das mach bei meinen Anlagen Sinn) auch die hinterlegten Konstanten dann in die DB, . . . schreibt.

Über HMI kann man dann meist über Rezepturen dann ander e Werte da drüberprügeln.

Die Anlage läuft aber auf alle Fälle (egal ob Urlöschen und von SD, Neueinspielen des Programms, . . . immer vernünftig mit bei der Inbetriebnahme getesteten Werten wenn die Konstanten da reingewürgt werden (entweder über HMI, "Resettaser" oder einen freien Eingang (unbeschaltet) den man mit einer Drahtbrücke setzen muss.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Doch, es geht.
Öffne den relevante DB, dann muss man aber den Anzeige ändern so dass die Kolonne mit die Snapshotwerte angezeigt werden.
Du meinst die Momentaufnahme, richtig?
1725509749818.png
Das ist soweit richtig, ich bezog mich aber auf die "richtige" Onlinesicherung.
Und da hätte ich noch keine Lösung gefunden diese zugänglich zu machen, außer die Sicherung in eine identische SPS zu laden & dann online zu gehen (Stand TIA V19).
PS: und wer nun noch die ganzen tollen automatischen online-Backup-Tools für Dummies benutzt, der kann sehr schön auf die Schn... fallen, sollte er jemals das zurückspielen eines Backups benötigen...
Und die Forumssoftware verlinkt schonmal die Werbepartner für solche Online-Backup-Tools für Dummies...
1725510051020.png
 
Vorsicht Falle: wenn man das Programm nicht genau kennt, sollte man nicht wahllos alle offline-Aktualwerte durch die online-Aktualwerte ersetzen. Findige Programmierer könnten den Unterschied zwischen gepufferten/remanenten Aktualwerten im Arbeitsspeicher und Ladespeicher-Werten ausgenutzt haben, um einen "Kaltstart" (Urlöschen oder CPU-Tausch) zu erkennen und dann speziell zu initialisieren. Sind die in dem Fall gewollten Aktualwerte im Ladespeicher durch online-Aktualwerte ersetzt, dann funktioniert das nicht mehr, wie vom ursprünglichen Programmierer ausgedacht.
Für mich macht der durchdachte Umgang mit Aktualwerten und Unterstützung von sinnvollen Anfangswerten bei Urlöschen/CPU-Tausch den Unterschied zwischen Qualitäts-Programmierer und Husch-Husch-Programmierer :cool:
Als jemand, der gern zu den Qualitäts-Programmierenden gehören würde, hast du hier einen kurzen Anwendungsfall/Beispiel?
 
Zurück zum Problem. Dem Namen nach handelt es sich bei dem UDT um eine IN_OUT Variable. Demzufolge müsste man prüfen, wo dieser FC aufgerufen wird und was da an dieser Stelle drauf geschaltet ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So, der Fehler ist weg. 😊

Es waren mehrere Bausteine, die nicht in der Visu aktiviert waren, aber trotzdem in der Software programmiert waren. Die aktiven Bausteine haben die Device-Adresse durch die Visu bekommen. Bei den anderen wurde diese händisch beschrieben, und beim Neustart war keine Nummer mehr vorhanden. Das war ein “wenig” Sucharbeit.

Trotzdem werde ich die S7-1500 wieder downgraden und eine separate neue SPS auf V19 hochrüsten, damit ich auch die richtige Firmware auswählen kann.

Ich bedanke mich für die tolle Unterstützung bei der Fehlersuche. :)
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Interessant finde ich das bei euch der OB121 in einer laufenden Maschine verwendet wird:rolleyes:
Ja, ist ein Skandal, lieber die SPS in Stopp schicken.
Bei Anlagen die mit Pointern arbeiten, welche zum Teil aus der HMI beschickt werden, ist das bestimmt besser.
 
Zurück
Oben