Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 2 von 2

Thema: Zugriff mit mehreren FCs auf einen variablen DB

  1. #1
    Carsten Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Ich möchte in meinem Programm mit mehreren FCs auf einen (globalen) DB zugreifen. Das sollte normalerweise nicht das Problem sein, aber erschwerend kommt hinzu, dass sich die Nummer des DB ändern lassen soll, d.h. als Variable vorliegt. Innerhalb des DB sind logischerweise auch Felder deklariert, auf die ebenfalls direkt zugegriffen werden soll. Hat jemand eine Idee, wie ich das bewerkstelligen könnte??

    Danke schon mal im voraus!

    Gruß
    -Carsten-

    PS: Derzeit habe ich versucht das Problem so in den Griff zu kriegen:

    L #Datenbaustein // INT Eingangsvariable im FC, die die Nr. des DB angibt
    T #zugeord_DB // INT Temp-Variable, da der nächste Befehl nicht mit IN-Var. funktioniert
    AUF DB[#zugeord_DB] // Öffnen des DB mit der Nr. "zugeord_DB"

    Jetzt will ich aber einen sinngemäßen Aufruf/Zuweisung vornehmen wie

    L DB[#zugeord_DB].Eingangsdaten.Adresse,
    wobei Eingangsdaten als STRUCT im DB und Adresse ein Feld im Struct darstellt.

    Leider funktioniert das so aber nicht - hat jemand eine Idee, wie das geht??
    Zitieren Zitieren Gelöst: Zugriff mit mehreren FCs auf einen variablen DB  

  2. "Hallo Carsten,

    wenn ich dich richtig verstanden habe solltest du eine IN-Variable als POINTER anlegen. Mit dieser kannst du dann den jeweiligen DB öffnen und auf das entsprechende STRUCT zugreifen.

    Bsp.:

    L P##BILDNUMMER_OP
    LAR2
    L W [AR2,P#0.0]
    T #TEMP_INT
    AUF DB [#TEMP_INT] // öffne DB
    L D [AR2,P#2.0]
    LAR2
    L B [AR2,P#0.0] // lade 1.Byte vom STRUCT

    mfG, Stefan"


  3. #2
    Registriert seit
    17.06.2003
    Beiträge
    18
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Carsten,

    wenn ich dich richtig verstanden habe solltest du eine IN-Variable als POINTER anlegen. Mit dieser kannst du dann den jeweiligen DB öffnen und auf das entsprechende STRUCT zugreifen.

    Bsp.:

    L P##BILDNUMMER_OP
    LAR2
    L W [AR2,P#0.0]
    T #TEMP_INT
    AUF DB [#TEMP_INT] // öffne DB
    L D [AR2,P#2.0]
    LAR2
    L B [AR2,P#0.0] // lade 1.Byte vom STRUCT

    mfG, Stefan

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 26.02.2010, 22:31
  2. Zugriff auf einen UDT / Array mit Variablen?
    Von MSP im Forum Programmierstrategien
    Antworten: 68
    Letzter Beitrag: 13.06.2008, 21:03
  3. Hardwarenaher Zugriff durch einen FC / FB
    Von mclear im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 10.07.2006, 15:53
  4. Variable aus mehreren Variablen zusammensetzen
    Von AndyPed im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 17.01.2005, 08:28
  5. Zugriff auf DP-Slaves von mehreren Mastern
    Von Markus im Forum Feldbusse
    Antworten: 5
    Letzter Beitrag: 09.07.2004, 16:51

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •