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

Results 1 to 2 of 2

Thread: Zugriff mit mehreren FCs auf einen variablen DB

  1. #1
    Carsten Gast

    Default


    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??
    Reply With Quote Reply With Quote Answered: 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
    Join Date
    17.06.2003
    Posts
    18
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default


    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

Similar Threads

  1. Replies: 5
    Last Post: 26.02.2010, 22:31
  2. Zugriff auf einen UDT / Array mit Variablen?
    By MSP in forum Programmierstrategien
    Replies: 68
    Last Post: 13.06.2008, 21:03
  3. Hardwarenaher Zugriff durch einen FC / FB
    By mclear in forum Simatic
    Replies: 0
    Last Post: 10.07.2006, 15:53
  4. Replies: 8
    Last Post: 17.01.2005, 08:28
  5. Zugriff auf DP-Slaves von mehreren Mastern
    By Markus in forum Feldbusse
    Replies: 5
    Last Post: 09.07.2004, 16:51

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •