Step 7 Problem Übergabe struct aus DB mittels Pointer auf In eines FBs

sebzat

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo und guten Morgen,

folgende Situtation:
Bislang habe ich immer mittels des Befehls p#DB1700.dbx0.0 Byte 288 einen Struct aus dem DB1700 auf den Eingang eines FBs gelegt. Im struct sind nur feste real Werte (alles initialisiert). Im Kopf des FBs ist bei IN ebenfalls natürlich ein Struct mit der gleichen Anzahl an Elementen angelegt. Dies hat bislang super und ohne Probleme funktioniert.

Nun zu meinem Problem:
Ich muss den Struct also den DB vergrößern. Habe natürlich auch den Kopf des FBs vergrößert wo der Struct als Eingang übergeben wird. Wenn ich nun die Übergabe mittels p#DB1700.dbx0.0 Byte 320 schreibe, erhalte ich folgenden Fehler: Konstantenformat zu Datentyp Byte paßt nicht zu formalem Typ STRUCT des Formalparameters struct_eingang.

Ich habe das entsprechende NW schon komplett neu angelegt. Den InitialDb des FBs komplett neu erstellt, der Fehler bleibt jedoch bestehen.
Wenn ich den FB öffne, wo der bereits angesprochene FB aufgerufen wird erscheint als Fehlermeldung: Bei mindestens einem Bausteinaufruf ist ein Zeitstempelkonflikt vorhanden.
Klicke ich auf den FB mit dem StructEingang steht als Info: Ungültiger Bausteinaufruf, da Schnittstelle zwischenzeitlich geändert.
Klicke ich auf den Eingang, des FBs steht als Info: Erwarteter Datentyp: IN: STRUCT
ANY
Alles ist in FUP programmiert.
CPU 416
Weitere Besonderheit: Will ich wieder mit p#DB1700.dbx0.0 Byte 288 die alte Größe übergeben, ist der Fehler weiter vorhanden. Es geht also nichts mehr.
Gebe ich einen anderen DB (Kopie) mit alter Größer ein p#DB1701.dbx0.0 Byte 288 Erhalte ich als Meldung Compiler Information: Typkonflikt

Über jegliche Hilfe wäre ich sehr dankbar.
 
Zuletzt bearbeitet:
Hallo,
Einfach den FB, wo er aufgerufen wird auskommentieren, dann wieder einbinden. Dann sollte es gehen. Zumindest verschwindet der Zeitstempelkonflikt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja das stimmt. Das Problem mit dem Struct Eingang bleibt jedoch.
Habe eben mittels des AUswahlverfahrens wenn ich den Namen des DB schreibe probiert.
Da kriege ich dann folgenden Fehler: Aktualdatentyp STRUCT paßt nicht zu formalem Typ STRUCT des Formalparameters struct_eingang .
Klicke ich bei dem Auswahlverfahren nur auf den DB und nicht auf den struct im DB erhalte ich: Aktualdatentyp BLOCK_DB paßt nicht zu formalem Typ STRUCT des Formalparameters struct_eingang
 
Was mir noch einfällt,
den FB öffnen, dann auf Datei gehen und Zugriffe prüfen und aktualisieren anklicken.
 
Ich habe den Fehler gefunden. Ich habe mich bei der Vergrößerung im Kopf des FBs verzählt. Es war ein Eintrag zu viel. Ich hätte angenommen, dass das ja eigentlich kein Problem sein sollte aber nun gut.
Das hat mir sehr viel Zeit gekostet.

Danke Henry
 
Zurück
Oben