TIA TIA Instanz-DB werden IMMER neu initialisiert

Senator42

Level-2
Beiträge
944
Reaktionspunkte
80
Zuviel Werbung?
-> Hier kostenlos registrieren
ich dreh gleich durch.

TIA 15

wenn ich in einem FB nur die Bezeichnung einer Static-Variable ändere, wird der Instanz-DB immer so erzeugt dass beim Laden in die SPS die Aktualwerte Futsch sind.

IDB-01.jpg

Var myInt4 -> 44 geändert

IDB-02.jpg

IDB-03.jpg

das mit der Remanez gilt offensichtlich nur für "Nach Stromausfall".

----------------------

Und das mit dem "Snapshot" hier im Forum gefunden, verstehe ich auch nicht.
welchen Snapshot? es gibt da verschiedene.

DBs:
VOR der Erweiterung die Aktualdaten mittels Snapshot auf die OFFLINE
Aktualdaten herüberkopieren. Erst DANACH den DB erweitern und herunterspielen.

DB-Snapshot-01.jpg

"mittels Snapshot" welchen??

Gilt das für Global-DB oder IDB ? oder beide?
 
jo dass ist halt genau das Problem mit dem reinitialisieren von DBs. Du kannst zwar nen Sack Reservevariablen im Vorfeld anlegen, aber halt nicht ohne Aktualdazenverlust umbenennen... Unserer Meinung nach das groesste NoGo fuer die S7-1500 in der Prozessautomatisierung.
Wir Retten die wichtigen DBs am Ende des OB1 in nen separaten DB. Und kopieren bei erkannter Reinitialisierung am Anfang des OB1 die Werte wieder zurueck...
Schoene neue Welt...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das mit dem "Snapshot" funktioniert auch nur bedingt. Da zwischen Sichern des DB, Aendern, Laden des DB eine gewisse Zeit vergeht, in der sich schon wieder Werte in der SPS veraendert haben koennen. Bei Bools die z.B. durch Setze, Ruecksetze beschrieben werden kann das "lustige" Folgen haben, bis hin zum Maschienenschaden... Oder waehrend ich den DB aendere macht jemand anderes Eingaben vom Leitsystem. Bei grossen Anlagen mit vielen (zig) (Web) Clients kann man das auch nicht organisatorisch Loesen. Hoechstens durch abziehen des Netzwerkkabels zur Visu 😛
 
Fazit:
die HW ist biliger als die vom Classic,
die SW + IBN dafür teurer oder (NT) NochTeurer [ gruss von Windows NT aus den 90er ]
 
Ich habe das bisher bei nicht-optimierten DBs wie von ducati beschrieben mit einer eigenen Wiederherstellungs-Funktion im SPS-Programm gelöst.

Hast du die Option mit der Speicherreserve schon mal ausprobiert?

Das mit der Speicherreserve funktioniert aber nur bei optimierten DBs. Und die Dokumentation dazu ist recht uneindeutig, auch was die einzustellende Größe betrifft, ob dann doch irgendwann trotzdem Gesamtladen notwendig ist usw. Ich würde damit erst einmal etwas herumprobieren, auch was Speicherbedarf betrifft der sich dementsprechend erhöht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
die Speicherreserve funktioniert nur beim Hinzufuegen von Variablen. Beim Umbenennen leider nicht. Und das Hinzufuegen auch nur am Ende und nicht innerhalb von Structs. Allerdings wollte Siemens das evtl. mit V15 aendern... hab ich aber noch nicht probiert.
Egal was man sich auch ueberlegt, die Superloesung ist uns noch nicht eingefallen, ausser vielleicht wieder auf Merker zu setzen 😛
Aber den Rettungsmechanismus direkt in jeden FB zu bauen waere mal ne Ueberlegung wert, machts vielleicht etwas uebersichtlicher. Dafuer funktionierts nicht fuer Fremdzugriffe auf den IDB. Was bei uns aber konzeptbedingt moeglich ist...
 
Das mit dem eigenen Rettungsmechanismus funktioniert auch nur bei nicht-optimierten Bereichen einigermaßen einfach, weil du da z.B. nur ein Byte-Array Bereich brauchst wo du die Daten hinschieben kannst. Und da musst du dann wie "früher" programmieren, also mit Reservevariablen und aufpassen, dass sich Adressen nicht verschieben.

Wenn dieses Gesamtladen nur weil eine Variable umbenannt wird nicht wäre, würde das schon einiges verbessern. Dann könnte man wenigstens Reservevariablen für spätere Nutzung anlegen.
 
jo..... Da fuehlt man sich wieder wie im Hamsterrad ;) einerseits soll man im TIA symbolisch arbeiten andererseits legt man pauschal zig Variablen nach dem Motto Byte01 Int10 usw. an, welche dann aber nicht mehr umbenannt werden koennen. Keine Ahnung, ob man wenigstens den Kommentar aendern koennte?
Die Geschichte mit dem Rettungsmechanismus gefaellt mir auch nur bedingt. Da muss man bei Erweiterungen doppelt aufpassen. Und ein Nichteingeweihter blickt das garnicht...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Keine Ahnung, ob man wenigstens den Kommentar aendern koennte?

Wohl eher nicht... Leg dir mal ein Projekt mit 2 Sprachen an, programmiere brav alles in der Erstellsprache und zu einfacheren Visu-Editierung stellst du die Editiersprache auf die 2te um... Dann änderst du zwischen drin ne Kleinigkeit im SPS-Programm inkl. alles übersetzen und schon ist das ganze Ding zu 100% unterschiedlich zur SPS... Weil du offline dann "Sprache-2" hast und auf der SPS eben online "Sprache-1"... (Na da vergeht der Tag wenigstens, wenn man ständig wieder einen Schritt zurück muss :D )

MfG Fabsi
 
> zur .. Visu-Editierung
da ist es doch sinnvoll die VISU in einen separaten Projekt zu haben.

in einem anderen Projekt hatten wir S7 Classic und die HMI auf TIA.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
im dokument

Programmierleitfaden für
S7-1200/S7-1500

steht im kap.
3.2.8 Laden ohne Reinitialisierung
dass es ja doch gehn soll.
-- ABER: gilt das nur für GLOBAL-DBs ? --
 
im dokument

Programmierleitfaden für
S7-1200/S7-1500

steht im kap.
3.2.8 Laden ohne Reinitialisierung
dass es ja doch gehn soll.
-- ABER: gilt das nur für GLOBAL-DBs ? --


M.M. nach geht das auch für FBs also IDBs. Das ganze ist diese "Speicherreserve" von der wir weiter oben geredet haben... Und wie geschrieben, es geht nur hinzufügen nicht mitten drinn einfügen und nicht umbenennen und die Speicherreserve muss schon vorher am Baustein aktiv geschaltet gewesen sein und der Baustein muss optimiert sein...

Also eigentlich nicht zu gebrauchen das ganze...
 
Also eigentlich nicht zu gebrauchen das ganze...

Natürlich nicht. Und es ist und bleibt auch der allergrösste Schwachpunkt der Software.
Als Siemens wäre dieser Punkt eigentlich das wo ich die grösste Investition an Mitarbeitern und Recourcen einschieben würde. Denn solange das nicht vernünftig läuft können sie sich alle anderen Inovationen milde irgendwohinstecken. Eine Hotstandbymaschine? Die bei einer Instanznamenänderung reinitialisiert ist doch überhaupt nix wert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und ein Nichteingeweihter blickt das garnicht...

Ist doch eine gute Arbeitsplatzsicherung :D
Solange nur du den Quark verstehst, kann man dich wenigstens nicht kündigen.

Ich hab das auch so gelöst, dass ich in den Bausteinen Reservebereiche anlege und quasi rate welche Variablen ich brauchen könnte. 10Int, 32Bool, 10Word, etc. die dann (i,x,w)Reserve.... heißen.
Ist die IBN abgeschlossen und ich räume auf, werden die verwendeten Variablen umbenannt, sodass die Reserve wieder frei wird.
Muss ich danach nochmal was ändern und eine Reserve nutzen, bleibt die halt notgedrungen drin bis ich die Anlage und die CPU stoppen kann.
Wenn das nicht geht, Pech gehabt, Arschlecken350. Ist nicht schön, aber was nicht geht, geht halt nicht.
 
Richtig geil ist doch. Ich habe dbs da sind Energiedaten gespeichert für jeden Tag und das über mehrere verbraucher und jahre. Das brauch ich genau garnicht das ich nach nem jahr auf die anlage komme, mit V18 und sämtliche energiedaten verliere.

Zur zeit werden diese dbs täglich auf die Speicherkarte gesichert. Aber richtig geil find ich das nicht.
 
Ist doch eine gute Arbeitsplatzsicherung :D
Solange nur du den Quark verstehst, kann man dich wenigstens nicht kündigen.

Ich hab das auch so gelöst, dass ich in den Bausteinen Reservebereiche anlege und quasi rate welche Variablen ich brauchen könnte. 10Int, 32Bool, 10Word, etc. die dann (i,x,w)Reserve.... heißen.
Ist die IBN abgeschlossen und ich räume auf, werden die verwendeten Variablen umbenannt, sodass die Reserve wieder frei wird.
Muss ich danach nochmal was ändern und eine Reserve nutzen, bleibt die halt notgedrungen drin bis ich die Anlage und die CPU stoppen kann.
Wenn das nicht geht, Pech gehabt, Arschlecken350. Ist nicht schön, aber was nicht geht, geht halt nicht.

nach der IBN aufzuraeumen waere ja nicht das Problem. Wir bauen aber Anlagen der Prozessautomatisierung welche stets und staendig Aenderungen und Erweiterungen im laufenden Betrieb erfahren. Teilweise gibts da pro Jahr mal eine Stunde Revision... Und das meist noch Weihnachten. Da kann man ja quasi keinen Auftrag komplett abschliessen. Jedesmal: ich komm dann Weihnachten nochmal vorbei weil ich noch Variablennamen aendern muss... Das wuerde nie einer machen mit dem Ergebnis dass dann irgendwann ne Menge Variablen Reservexy heissen, obwohl sie verwendet werden. Dann kannst gleich bei absoluter Adressierung bleiben...

In der 300/400- Welt war unsere Software so strukturiert, dass jeder einigermassen erfahrene SPS-Programmierer das in ner halben Stunde versteht. Mit TIA geht das Geschiss los.

Wie gesagt, Hauptpunke sind Aenderung im laufenden Betrieb, stossfreies Laden, kein Aktualdatenverlust, auch nicht fuer einen Zyklus...

Gruss
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In der 300/400- Welt war unsere Software so strukturiert, dass jeder einigermassen erfahrene SPS-Programmierer das in ner halben Stunde versteht. Mit TIA geht das Geschiss los.

Ja, ich werde auch ab und an zu Fremdanlagen zur Hilfe geholt. Seit ein paar Wochen habe ich beschlossen, bei 300/400ér sage ich zu und reise an, bei einer 1200/1500ér lasse ich mittlerweile die Finger davon.
 
Zurück
Oben