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

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

Thema: Instanz-DB an SCL übergeben

  1. #1
    Registriert seit
    20.01.2009
    Beiträge
    190
    Danke
    32
    Erhielt 15 Danke für 14 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    Ich rufe in einem SCL-Baustein einen FB (z.B. CONT_C) auf.
    Dieser FB braucht natürlich einen Instanz-DB
    z.B.: CONT_C.DB81(...);
    oder CONT_C.ReglerDB1(...);
    Funktioniert soweit.

    Wenn ich den SCL-Baustein jedoch öfters verwenden will, kann ich den DB nicht absolut angeben. Es wird ja jedesmal ein anderer Instanz-DB benötigt.
    Der DB, bzw. die DB-Nr müßte über einen Bausteineingang übergeben werden.
    z.B.:
    VAR_INPUT
    ReglerDB : ???;
    END_VAR
    CONT_C.???(...);

    Ist das irgendwie möglich ?
    Wenn ja, wie ?
    (Wenn möglich, ohne Multiinstanzen)

    hub.
    Zitieren Zitieren Instanz-DB an SCL übergeben  

  2. #2
    Registriert seit
    22.07.2006
    Beiträge
    132
    Danke
    24
    Erhielt 18 Danke für 12 Beiträge

    Standard

    Probiere es mal mit:

    VAR_INPUT
    ReglerDB : CONT_C;
    END_VAR

    ReglerDB(...);

    Das wäre ja ähnlich wie bei den Multiinstanzen, bin mir aber nicht sicher ob es geht.

  3. #3
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    Hallo,
    an dem Problem habe ich auch schon einmal herumgeknuspert. Sogar mit Siemens dazu Rücksprache gehalten.
    In AWL könntest du es so machen, wie du willst - in SCL leider (und für mich unverständlicherweise) nicht.

    Bleibt dir also wirklich nur die Multi-Instanz - aber ist das denn wirklich ein Nachteil ?

    Gruß
    LL

  4. #4
    hub ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    20.01.2009
    Beiträge
    190
    Danke
    32
    Erhielt 15 Danke für 14 Beiträge

    Standard

    Ja, das funktioniert. Danke.
    Die Definition (ReglerDB:CONT_C) muß jedoch im VAR-Block stehen.
    Im VAR_INPUT-Block funktioniert die Definition leider nicht.

    Dies setzt voraus, das mein SCL-Baustein ein FB ist.

    Vielleicht gibt es auch eine Lösung, die in einer FC funktioniert ?

    hub.

  5. #5
    hub ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    20.01.2009
    Beiträge
    190
    Danke
    32
    Erhielt 15 Danke für 14 Beiträge

    Standard

    @Larry Laffer
    Ich weiß nicht, ob bei Multiinstanz das Parametriertool für den Regler noch funktioniert.
    hub.

  6. #6
    hub ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    20.01.2009
    Beiträge
    190
    Danke
    32
    Erhielt 15 Danke für 14 Beiträge

    Standard

    Die Lösung mit dem FB hat den Nachteil, dass sich der Instanz-DB folgendermasen zusammensetzt:
    - SCL-Baustein-Eingänge
    - SCL-Baustein-Ausgänge
    - Reglerdaten

    Die Reglerdaten sollten wegen dem Regler-Parametriertool in einen eigenem DB bleiben.

    Werd es jetzt mal, wie LL schreibt, in AWL probieren.

    hub.

  7. #7
    Registriert seit
    29.03.2004
    Beiträge
    5.739
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von hub Beitrag anzeigen
    @Larry Laffer
    Ich weiß nicht, ob bei Multiinstanz das Parametriertool für den Regler noch funktioniert.
    hub.
    Das funktioniert trotzdem. Du musst dann nur beim Öffnen des Instanz-DB den Offset angeben an dem deine CONT_C Struktur beginnt.

  8. #8
    hub ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    20.01.2009
    Beiträge
    190
    Danke
    32
    Erhielt 15 Danke für 14 Beiträge

    Standard

    Ja funktioniert auch.

    Ich hab jetzt die AWL-Variante probiert und werd wohl dabei bleiben.

    Vorteile:
    - als FC realisierbar
    - Standard-DB für Reglerdaten

    Danke an alle.
    hub.

  9. #9
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Hi,

    das andere würde auch gehen. Du müsstest halt nur als IN Parameter (der DB) in einen ANY Pointer wandeln und diesen am Bausteinanfang in einen Dummy Instanz DB kopieren. Am Bausteinende (FC) kopierst Du den Dummy wieder zurück in den ANY-Pointer.

    Fertig.

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  10. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @Daniel:
    zeigst du mir das, was du da vorschlägst bitte mal als SCL-Script ?

    Gruß
    LL

Ähnliche Themen

  1. FB Instanz an FB übergeben
    Von Integer im Forum CODESYS und IEC61131
    Antworten: 6
    Letzter Beitrag: 08.04.2011, 11:23
  2. Instanz-DB
    Von SPS_NEU im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 18.03.2009, 14:08
  3. Antworten: 13
    Letzter Beitrag: 18.01.2008, 12:47
  4. Instanz-DB
    Von titinparma im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 15.10.2007, 17:56
  5. Instanz DB
    Von Flo im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 14.10.2006, 20:04

Stichworte

Lesezeichen

Berechtigungen

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