Instanzdatenbaustein Größe Multiinstanzen

xhasx

Level-2
Beiträge
416
Reaktionspunkte
48
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo.

Wie groß darf ein Instanzdatenbaustein sein wenn sich darin Multiinstanzen befinden?

Hab hier ganz komisches Verhalten wenn ich mehrer Multiinstanzen habe und der IDB größer als 8kB ist... Wenn ich eine Quelle (Keine Fehler) aus meinem ganzen Projekt erzeuge und nach dem übersetzen alles in die Steuerung schiebe bleibt die INTF Led der Cpu (WinAcRtx 2005) dunkel. Sobald ich dann nur den Baustein nochmal lade bekomme ich nen INTF und im Diagnosepuffer steht Adressierungsfehler....

Standard Db's dürfen ja nur eine größe von 64kB haben... Das Sollte doch denn ein IDB auch haben, oder?

Gruß
Christian
 
Vielleicht liegt es weniger an den IDB, als an Berechnungen im IDB. Z.Bsp. haben wir letzthin festgestellt, das die Adressregisteradressierung Grenzen unterliegt.

http://www.sps-forum.de/showthread.php?t=17397&highlight=AR2+addieren

PS: Ich habs gerade bei einer 315 versucht, weinen DB größer 32K kann ich nicht erzeugen (Array[0..32000] of Byte geht, 33000 macht er nicht mehr)
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo.

Danke für den Link! Genau das ist mein Problem. Ich habe auch Multiinstanzen bei denen Any's übergeben werden. Auf den Offset mit dem +AR2 bin ich auch schon gekommen. Deshalb hab ich diese Fb's auch mit nem eigenen IDB versorgt.
Jetzt hab ich eigentlich nur noch Multiinstanzen die ohne SCL erstellt worden sind und hab noch immer die Probleme. Hab Siemens schon mal im Customer Support scharf gemacht... Die wollen - weil Extended support - natürlich wieder mal Credits... Hab meine bisher aber immer wieder zurückbekommen. Diesmal wär's mir lieber wenn sie sie behalten und ne Lösung präsentieren...
 
Stellt sich nur die Frage wie ich das in meinen FUP Bausteinen machen soll. Ich hab da keine Any, Pointer und sonstige Sachen... Sind halt Fb's die bis zu vier Ebenen tief hängen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich hab hier ne Lösung zum Problem!

So wie es in der FAQ ID 20443243 steht geht es nur wenn der STAT Bereich in der Multiinstanz nicht größer als +4096.0 wird!!!

Hier der Code den ich einsetzte nachdem ich mit Siemens einen regen Mailverkehr hatte...

1. TAR1 #TempAr1 // Ar1 sichern in temporaerer Variable
2. TAR2 #TempAr2 // Ar2 sichern in temporaerer Variable
3. TAR // Tausche Ar1 mit Ar2
4. L P##Versatz // Versatz laden
5. +AR1 // Addiere AKKU1 zum Ar1
6. LAR2 #TempAr2
7. LAR1 #TempAr1
 
Zurück
Oben