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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 26

Thema: Block_DB in Multiinstanz

  1. #11
    Gerri ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.01.2008
    Ort
    Wien
    Beiträge
    772
    Danke
    136
    Erhielt 39 Danke für 35 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    NEIIIIIN
    irgendetwas ist ja immer...
    ING. Gerald Miedler

  2. #12
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.354
    Danke
    455
    Erhielt 693 Danke für 518 Beiträge

    Standard

    Zitat Zitat von Gerri Beitrag anzeigen
    Hallo,
    zB MAIN_FB.
    Darin gibt es nun 2 weitere FB´s (statische Variablen) - DATA_FB und SEND_FB.
    In meinem Fall braucht SEND_FB Werte von dem Instanzdatenbaustein DATA_FB (Übergabewert als BLOCK_DB).

    Kann man das nun irgendwie hintricksen, anstelle eines Block_DB´s eben aus dem STAT Teil der lokalen Variablen der Multiinstanz den FB_SEND zu bestücken.
    Zitat Zitat von Gerri
    Der AWL FB wird im SCL FB im Teil VAR deklariert (Lokale instanz).

    Nun will ich diesen AWL FB ja auch beschalten.

    Gibt es eine Möglichkeit, dass schön und effizient auszuwählen oder muss man die ganze AWL FB struktur nun händisch abtippen?
    Ich versuch mal dein "Kauderwelsch" (nicht persönlich nehmen ) zusammen zu fassen.

    1.) Du hast einen FB "DATA_FB" und einen FB "SEND_FB"
    2.) Beide FB weden im FB "MAIN_FB" aufgerufen und sind als Multiinstanz angelegt.
    3.) In den Instanzdaten von DATA_FB liegt eine Struktur mit Daten
    4.) Die Struktut liegt in Realität daher im Instanz-Datenbaustein von "MAIN_FB"
    5.) Du möchtest diese Struktur jetzt auch im FB "SEND_FB" zur Verfügung haben.

    Dein Problem ist als wie du das sauber (möglichst symbolisch) übergeben kannst. Habe ich das richtig?

    Wenn ja, dann ist das eigentlich nicht so schwer, allerdings kenne ich's nur für AWL FUP.
    Geändert von RONIN (19.11.2014 um 13:21 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  3. #13
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard

    @Ronin:
    So,wie du, habe ich das auch verstanden (und beantwortet - ANY-Pointer halt ... )
    Sehr schön läßt sich das mit dfem ANY in SCL umsetzen - da einfach nur den Datenbereich einer ANY-Variablen zuweisen - fertig.
    Nun den ANY an den FB-Send übergeben ...

    Gruß
    Larry

  4. #14
    Gerri ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.01.2008
    Ort
    Wien
    Beiträge
    772
    Danke
    136
    Erhielt 39 Danke für 35 Beiträge

    Standard

    Was meintest du mit der AT-Sicht?
    irgendetwas ist ja immer...
    ING. Gerald Miedler

  5. #15
    Gerri ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.01.2008
    Ort
    Wien
    Beiträge
    772
    Danke
    136
    Erhielt 39 Danke für 35 Beiträge

    Standard

    Genua Ronin. Aber eben als Eingangsdatentyp mit Block_DB...
    irgendetwas ist ja immer...
    ING. Gerald Miedler

  6. #16
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard

    Du kannst in SCL auf jede beliebige Variable eine AT-Sicht legen (bitte dazu einfach auch mal die SCL-Hilfe lesen bzw. nach dem Stichwort ANY & AT hier im Forum suchen).
    Diese AT-Sicht interpretiert die Variable dann komplett neu - entsprechend des in der AT-Sicht vorgegebenen Aufbaus.
    Auf diese Weise bist du dann in der Lage, den ANY-Pointer z.B. in der AT-Sicht als die Struktur zu behandeln, aus der er besteht.
    IN SCL gibt es keinen Befehl um an den I-DB des FB dran zu kommen. Wenn du nun aber aus einer beliebigen Variablen einen ANY-Pointer bildest so beinhaltet dieser ja u.A. die Information des I-DB's.

    Gruß
    Larry

  7. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    Gerri (19.11.2014)

  8. #17
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.354
    Danke
    455
    Erhielt 693 Danke für 518 Beiträge

    Standard

    @Larry: Wenn er die Daten innerhalb von DATA_FB als Struct (oder noch besser als UDT) hat, dann kann er doch symbolisch diesen Struct z.b. an den IN/OUT des FB_SEND weiter reichen, oder?
    Sollte in SCL doch auch gehen oder?

    Wobei große Strukturen über IN/OUT eher schlecht sind.
    Ich würde in dem Fall einen am FB_SEND einen IN-Parameter vom Typ ANY machen...
    den Datenblock (aus der Instanz innerhalb von MAIN_FB) dann symbolisch an diesen IN schreiben...
    innerhalb des FB_SEND dann den Pointer entgegennehmen...
    und die Daten mittels BLCKMOVE ins TEMP übernehmen.
    Erfordert allerdings mehr Arbeit...
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  9. #18
    Gerri ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.01.2008
    Ort
    Wien
    Beiträge
    772
    Danke
    136
    Erhielt 39 Danke für 35 Beiträge

    Standard

    Das Problem ist nur das es sich um einen KNOW How Geschützten SIEMENS FB handelt. Da kann ich nix machen
    irgendetwas ist ja immer...
    ING. Gerald Miedler

  10. #19
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.354
    Danke
    455
    Erhielt 693 Danke für 518 Beiträge

    Standard

    Zitat Zitat von Gerri Beitrag anzeigen
    Das Problem ist nur das es sich um einen KNOW How Geschützten SIEMENS FB handelt. Da kann ich nix machen
    Der Satz hätte auch im Eingangspost stehen können...

    Wie wärs wenn du uns mal ein bisschen Code hier reinwirfst dann sehen wir mehr...
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  11. #20
    Gerri ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.01.2008
    Ort
    Wien
    Beiträge
    772
    Danke
    136
    Erhielt 39 Danke für 35 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Unbenannt.png ich will also die FB´s nur beschalten können um das ganze zu Kapseln
    irgendetwas ist ja immer...
    ING. Gerald Miedler

Ähnliche Themen

  1. TIA INT to BLOCK_DB
    Von BiLLyGuN im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 12.07.2014, 22:29
  2. TIA Block_DB bei einer 1200er
    Von Manfred Stangl im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 10.01.2014, 10:37
  3. mehrere Block_DB Aufrufe
    Von 1985zottel im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 16.10.2012, 19:19
  4. Block_DB übergibt kein DB
    Von Nordischerjung im Forum Simatic
    Antworten: 25
    Letzter Beitrag: 02.02.2011, 07:48
  5. BLOCK_DB
    Von Lazarus™ im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 16.09.2005, 09:54

Lesezeichen

Berechtigungen

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