TIA v15.1 - Bibliotheksbausteine aktualisieren

MSP

Level-2
Beiträge
210
Reaktionspunkte
21
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

ich beschäftige mich gerade mit dem portieren einiger Bibliotheksbausteine aus Step 7 nach TIA v15.1
Hierbei habe ich mich an den Leitfaden von Siemens gehalten und entsprechend Integrator-Projekte, Entwickler-Bibliothek usw. angelegt.

Ich habe dann testweise einen Baustein einmal geändert, eine neue Version vergeben und dann in das Projekt aktualisiert.
Das hat auch alles wunderbar funktioniert... bis auf die Aktualisierung der Bausteinaufrufe im Programm...

Ich habe an einem FC lediglich den Namen einiger Eingangs-Variablen geändert, im Quellcode oder der Schnittstelle sonst nichts, nur den Namen der Variablen...

Das Ergebniss ist nun, dass ich zwar schön die neue Version überall in den Bibliotheken habe, aber ich jeden Aufruf im Programm von Hand aktualisieren darf, da mir die Meldung

Netzwerk 8,Ungültiger Bausteinaufruf, da Schnittstelle zwischenzeitlich geändert.,,,15:04:29


um die Ohren gehauen wird.

Entweder habe ich was elementares übersehen, oder die Art und Weise wie die Aktualisierung von Bausteinen funktioniert ist für die Katz...

Hier einmal mein Vorgehen:

1. Baustein als neuen Typen mit Version 1.0.1 im Integratorprojekt gespeichert
2. Baustein in die Entwickler-Bibliothek aktualisiert von 1.0.0 auf 1.0.1
3. Baustein aus der Entwickler-Bibliothek in die Unternehmens-Bibliothek aktualisiert von 1.0.0 auf 1.0.1
4. Baustein aus der Unternehmens-Bibliothek in das Projekt aktualisiert

Ergebniss ist wie oben beschrieben, der Baustein hat jetzt überall die Version 1.0.1, ich muss aber per Hand die gesamten Bausteinaufrufe aktualisieren mit Rechtsklick, die Funktion Bausteinaufrufe aktualisieren funktioniert ebenfalls nicht.

Das kann doch nicht der Sinn einer Versionsverwaltung sein? Oder übersehe ich etwas elementares?

Gruss,
Michael
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

leider funktioniert das nicht. Die Meldung bleibt weiterhin "Netzwerk 10,Ungültiger Bausteinaufruf, da Schnittstelle zwischenzeitlich geändert.,,,08:30:49"

Es werden alle Instanzen aktualisiert durch die Bibliothek, lediglich der Aufruf im Programmcode bleibt rot und wird beim Übersetzen angemeckert.
Einzig ein Rechtsklick auf den roten Baustein mit manuellem Aktualisieren bringt den "neuen" Baustein dann auch in den Programmcode....

Wenn ein Baustein nur 1-2x verwendet wird OK, aber bei mehr als 150 Aufrufen ist das nicht wirklich praktikabel und man muss sich die Frage stellen, was das soll wenn man die Bibliotheksfunktionen nur bis zum Programmcode nutzen kann, aber ab da dann Handarbeit notwendig ist...

Gruss,
Michael

Edit:
Es kommt zusätzlich noch die Meldung "Netzwerk 10,Der Bausteinaufruf oder dessen Instanz-Datenbaustein konnte nicht aktualisiert werden.,,,09:05:15"
Die Hilfe zur Meldung 604:5315 besagt nun dazu:
" Beschreibung

Der Datentyp des Formalparameters in der Schnittstelle des aufgerufenen Bausteins wurde geändert."

Wenn ich nun einen Datentypen geändert hätte würde ich das Verstehen, aber ich habe lediglich den Namen geändert am Ausgang des Bausteins....
Naja, mal einen Request abgesetzt, mal schauen was dabei raus kommt... So jedoch brauche ich ja eine halbe Ewigkeit die Bausteine im Programm zu aktualisieren...
 
Zuletzt bearbeitet:
.. Ich habe an einem FC lediglich den Namen einiger Eingangs-Variablen geändert, im Quellcode oder der Schnittstelle sonst nichts, nur den Namen der Variablen...
.. Der Datentyp des Formalparameters in der Schnittstelle des aufgerufenen Bausteins wurde geändert...

Hast du den Datentyp geändert oder nicht?

Sorry, hatte den Rest noch nicht gelesen.

Ich habe das aber eben mal nachgestellt und ich habe nicht das Problem. Ich habe den Namen einer Eingangsvariablen einer FC in der Projekt-Bib geändert, die geänderte Version freigegeben und komplett übersetzt. Das müsste doch deiner Vorgehensweise prinzipiell entsprechen?
 
Zuletzt bearbeitet:
Den Datentyp habe ich nicht geändert, das ist ja das Merkwürdige.
Ich habe aus dem Ausgang o_ValueMax lediglich in o_MaxValue geändert. Der Datentyp REAL ist gleich geblieben.

Ich habe weitere Versuche gemacht, wenn ich im Baustein den Code ändere, lokale Variablen ändere oder lösche ist das dem Aktualisieren egal, der Aufruf wird so wie gewünscht auch beim Übersetzen aktualisiert.
Nur bei der Änderung am Ausgang (oder Eingang) tritt das Problem auf.

Interessant dabei:
Die lokale Änderung im Entwicklungsprojekt funktioniert, dort wird der Aufruf automatisch aktualisiert.
Aber im Anwenderprojekt, welches eine lokale Session eines Multiuser-Projektes ist, kommt die besagte Meldung....

Mal schauen, mitlerweile hat sich der Support gemeldet und möchte das Projekt haben...

Gruss,
Michael
 
Hallo Martin,

die Einstellung habe ich aktiviert.
Das Ergebniss ist nun, dass ich den Baustein zwar aktualisiert bekomme, aber die Aktualparameter am Ausgang nun entfernt werden.... also immernoch manuelle Nacharbeit notwendig ist :-(
 
Hallo.

Ich habe über dieses Thema schonmal mit einem Siemens Kollegen gesprochen. Sowie sich irgendwas am Interface des Bausteins ändert (Datentyp, Name, usw.), müssen die Bausteinaufrufe einzeln aktualisiert werden, da TIA ja nicht weiß, ob das dann noch so richtig ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

das kann sein, aber wieso kann ich dann den Baustein im lokalen Projekt aktualisieren, allerdings in der lokalen Session bzw. im Serverprojekt unseres Projektes funktioniert das nicht.
Entweder liegt das Problem hier an TIA generell oder aber am Multiuser-Teil.

Ein weiterer Test war dann wie folgt:
Wenn ich einen neuen Typen in der lokalen Session erstelle von besagtem Baustein, dann wird der Aufruf auch rot, aber ich kann den Aufruf über Inkonsistente Bausteinaufrufe aktualisieren automatisch korrigieren.... Irgendwo passiert hier etwas auf dem Weg von der globlen Bibliothek in die lokale Session / Serverprojekt :eek:
 
.. Das Ergebniss ist nun, dass ich den Baustein zwar aktualisiert bekomme, aber die Aktualparameter am Ausgang nun entfernt werden....
Das ergibt sich (bei mir), wenn ich eine Variable lösche und neu anlege, auch wenn es sich um den selben Datentyp handelt. Es gibt also einen Unterschied zwischen "Umbenennen" und "Löschen + Neuanlegen". Mit dem Löschen sind sämtliche Bezüge erst einmal im Nirvana.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Ralle,

in der Serveransicht habe ich es auch bereits probiert, leider ohne Erfolg.

Ich werde jetzt noch einmal alles aus dem Projekt löschen und komplett neu aufbauen, vielleicht sind ja noch Reste vom Testen irgendwo die da Probleme bereiten.
Siemens möchte auf Jeden Fall eine Kopie der lokalen Session und einen Export vom Serverprojekt... Wusste garnicht das eine lokale Session schon 600MB haben kann... Datensicherung ist alles....
 
Guten Morgen Zusammen,

also nach einem Request bei Big S kam folgendes heraus:

Das Verhalten ist so.

Wenn man Bausteine, auch aus Bibliotheken, mit instanzierten Bausteinen / Typen, in ein anderes Projekt aktualisiert, dann erzeugt TIA beim aktualisieren neue Referenzen für die Parameter. Da es sich dann dabei um neue handelt, kann der Aufruf nur manuell am Baustein aktualisiert werden.
Das erkennt man auch daran, dass lediglich der Ausgang, an dem ich den Namen geändert habe, mit den drei Fragezeichen statt der vorherigen Variablen versehen ist und neu Verschaltet werden muss.
Wenn man die Bausteine hingegen im Anwenderprogramm ändert, dann funktioniert das aktualisieren... Hält man sich an den Vorschlag von Siemens aus dem Leitfaden für Bibliothekshandhabung und entwickelt im Entwicklerprogamm und arbeitet mit einem Integratorprojekt, dann geht es nicht....

Man wird dieses Verhalten wohl im Leitfaden mit einbringen und die Entwicklung kennt das auch, wird eventuell in V17 korrigiert / behoben / so gelassen...

Als einzige Lösung bleibt mir also nun, die Bausteine die ich ändern muss, im Anwenderprojekt zu ändern und in die Bibliothek zurück zu spielen. Schön entgegen dem eigenen Leitfaden... tolle Bibliotheks-Funktion.... Danke Siemens :-x
 
Zurück
Oben