Struct im DB ermitteln

marcel_

Level-1
Beiträge
65
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Morgen,


habe da mal eine Frage, und zwar ist es möglich die Startaddresse eines Structs in einem Globalen-DB zu ermitteln?

Problem ist ich habe in einem DB mehrere gleich aufgebaute Structs. Bei jedem steht an erster Stelle die Nummer des Structs als INT-Variable.

Nur nach der INT-Variable zu gehen halte ich für zu unsicher - sollte sich mitten in einem Struct zufällig der gleiche Wert wiederfinden.



Gruß Marcel
 
Hallo,
mir fällt dazu nur ein Weg ein :
Du machst dir (z.B.) einen FC, der als IN-Parameter eine Variable vom Typ Pointer erwartet und der dir als Out-Parameter als Int die Adresse übergibt. Dem FC übergibst du symbolisch den Struct und erhältst so dessen Adresse.
Code:
      L     P##myPointer  // IN-Parameter vom Typ Pointer
      LAR1  
      L     D [AR1,P#2.0]
      SRD   3
      L     DW#16#FFFF
      UD    
      T     #Adresse  n// OUT-Parameter vom Typ INT
... das System arbeitet aber sowieso nur mit hinterlegten Strukturen. Den Namen einer nicht vorhandenen Struktur kannst du hier gar nicht übergeben ...

Gruß
Larry
 
Eher anders herum ... es gibt immer eine Beziehung zwischen einer symbolischen und einer absoluten Adressen. Real arbeitet die S7 intern nur mit absoluten Adressen. Die ganze symbolische Adressierung existiert nur im Step7-Editor.

Gruß
Larry
 
Zurück
Oben