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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: SCL Datenbaustein zu FB über Eingangsparameter

  1. #1
    Registriert seit
    11.05.2006
    Beiträge
    72
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    Weiss jemand wie ich den Instanzdatenbaustein bei einem FB-Aufruf als Eingangsparameter übergeben kann?
    Der Aufruf des FB's erfolgt im SCL in einer Funktion.

    danke im voraus
    martin
    Zitieren Zitieren SCL Datenbaustein zu FB über Eingangsparameter  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Hallo,
    schau mal unter "Einfügen - Baustein-Aufruf" innerhaölb der SCL-Umgebung ...
    Das müßte dir schon weiterhelfen ...

  3. #3
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Das scheint nicht vorgesehen zu sein, jedenfalls habe ich keinerlei Variante gefunden, die der Compiler zumindest passieren läßt.
    Einzige, allerdings recht grobe Variante die mir da einfällt:

    FB mit einem globalen Instanz-DB aufrufen (Das geht ja zumindest).
    Vor dem FB Daten mit Blockmove von DBx in den globalen Instanz-DB umkopieren, nach dem FB wieder zurück. Aber schön ist das sicher nicht .
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  4. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Und wenn man sich mal ansieht, was aus so einem Aufruf wird:

    Code:
    FB41.DB41(stunde := 1 // IN: INT
               ,minute := 2 // IN: INT
               ,sekunde := 3 // IN: INT
               );

    Code:
          L     1
          T     DB41.DBW    0
          L     2
          T     DBW    2
          L     3
          T     DBW    4
          LAR2  P#DBX 0.0
          TDB   
          UC    FB    41
          TDB   
          L     100
          T     #RET_VAL
    Man könnte allenfalls hinterher im AWL-Code rumpoken, aber das ist ja auch kriminell.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  5. #5
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    @Ralle:
    Warum nicht ?
    Laut Siemens-Hilfe (SCL) "Aufruf und Parameterübergabe von FB's / FC's" :
    Code:
    FB10.DB20 (x1:=5 , x2:=10 , ... ) ;
    Gruß
    LL

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    ... das wollte Tarzipan7 doch wissen ...

  7. #7
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Nein, er will jedesmal andere IDB mitgeben, also einmal DB20, dann DB21.
    Das läßt SCL aber nicht zu.

    Was aber evtl. geht: einen FC bauen, der alle IN, INOUT, OUT-Parameter des FB hat und den IDB als BLOCK-DB mitbekommt. Dieser FC wird in SCL aufgerufen, der FC selbst ruft den FB auf, quasi als Wrapper. AWL läßt jedenfalls den Aufruf eines FB mit einem Block-DB zu.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  8. #8
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    FC als Wrapper geht auch nicht, da läßt SCL dann auch keinen Block_DB als Input zu, nur eine direkte Angabe, also z.Bsp. DB41.
    Bleibt erstmal nur die Blockmove-Variante. Nicht so toll.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  9. #9
    Registriert seit
    11.05.2006
    Beiträge
    72
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Tönt alles ziemlich kompliziert. Werde wohl im AWL eine "Balckbox" machen müssen.

    Danke für die Hilfe!

    gruss
    martin

  10. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ...?
    wäre dann nicht vielleicht Multi-Instanz ein Thema ?
    Das wäre ja in SCL auch machbar und mach die Angelegenheit (vielleicht) durchschaubarer ...

    Gruß
    LL

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

    tarzipan7 (15.01.2008)

Ähnliche Themen

  1. Antworten: 19
    Letzter Beitrag: 09.11.2010, 13:58
  2. Antworten: 15
    Letzter Beitrag: 03.11.2009, 17:32
  3. FB: nicht belegter Eingangsparameter
    Von Isha im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 22.01.2008, 17:44
  4. Antworten: 19
    Letzter Beitrag: 17.01.2008, 14:27
  5. Problem mit Real-Eingangsparameter
    Von Onkel Dagobert im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 13.04.2004, 22:19

Lesezeichen

Berechtigungen

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