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

Ergebnis 1 bis 10 von 10

Thema: Problem mit FB-Aufruf in SCL

  1. #1
    Registriert seit
    02.12.2005
    Ort
    Laakirchen
    Beiträge
    44
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo habe ien Problem mit einem FB Aufruf in SCL!

    Habe einen FB als In deklariert:

    VAR_INPUT
    // Eingangsparameter
    FB_SIMODRIVE_CONTR : BLOCK_FB; //FB zur Ansteuerung der SIMODRIVE Control

    .

    .
    END_VAR

    In den statischen Vraiablen möchte ich diesennun zuweisen um in aufrufen zu können

    VAR
    // statische Variablen
    STAT_FB_ACHSCONTR: FB_SIMODRIVE_CONTR;

    END_VAR

    Bekomme allerdings dann die Fehlermeldung: "Der Baustein ... konnte nicht gefunden oder kopiert werden"

    Wenn ich allerdings schreibe:
    VAR
    // statische Variablen
    STAT_FB_ACHSCONTR: FB83;

    END_VAR

    funktioniert alles einwandfrei!

    Wie kann ich nun diesen Aufruf gestalten damit SCL meine AUfruf als FB 83 interpretieren kann?

    Vielen Dank für eure Hilfe
    mfg
    Andreas Pührimair
    Promot Automation GmbH

    http://www.promot.at

    --Wenns zwickt dann zwickt's --
    Zitieren Zitieren Problem mit FB-Aufruf in SCL  

  2. #2
    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 puehri,
    wenn du den FB im STAT-Bereich anlegst, dann benutzt du Instanz des FB's in dem du ihn anlegst.
    Wenn du den FB im IN-Bereich anlegst, dann muss er als Instanz schon existieren (inkl. seines DB) und du benutzt nur eine Art Pointer auf den FB ...

    Ich hoffe, du konntest verstehen, was ich zu erklären versucht habe ...

  3. #3
    puehri ist offline Benutzer
    Themenstarter
    Registriert seit
    02.12.2005
    Ort
    Laakirchen
    Beiträge
    44
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ja, ich denke schon, Es wäre mir nur wichtig gewesen diesen Baustein flexibel zu halten, da man sonst immer im SCL Bausten den FB eintragen muss!

    Aber ich verstehe warum das so nicht funktioniert!

    Also gibt es hier keine Möglichkeit (so wie bei DB) auf diesen FB zuzugreifen??
    mfg
    Andreas Pührimair
    Promot Automation GmbH

    http://www.promot.at

    --Wenns zwickt dann zwickt's --

  4. #4
    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

    ... nein,
    auf einen DB kannst du eigentlich auch nicht flexibel zugreifen. Du must immer auch dessen innere Struktur kennen um sinnvoll damit arbeiten zu können.
    Was hast du denn vor mit diesem (flexiblen) Aufruf ?

  5. #5
    puehri ist offline Benutzer
    Themenstarter
    Registriert seit
    02.12.2005
    Ort
    Laakirchen
    Beiträge
    44
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo,

    ich glaube ich habe mich schlecht ausgedrückt!

    Die Struktur eines DBs muss ich kennen, das ist mir klar.

    Es geht eigentlich um Folgendes, das wir oft Erweiterungen haben im Moment. Jetzt kann es sein das in einem Projekt zum Beispiel der DB31 gebraucht wird dieser jedoch im nächsten Projekt nschon vorhanden ist.

    Jetzt kann ich in SCL als In-Deklaration eine INT Variable mit der DB- Nummer anlegen.

    Im SCL - Baustein wird dann der DB z.B.: mit
    WORD_TO_BLOCK_DB(INT_TO_WORD(DB_NR)).DX211.6
    aufgerufen. Dies dient nur dazu damit der SCL-Baustein nicht verändert werden muss.

    Und genau das gleiche soll auch mit einem FB gehen. Nur kann SCL bei diesem indirekten Aufruf nicht den Bezug zum FB herstellen und somit auch nicht die In-/ Out Variablen anlegen.

    Und daher meine Frage ob dies überhaupt möglich ist oder ob ich was falsch gemacht habe
    mfg
    Andreas Pührimair
    Promot Automation GmbH

    http://www.promot.at

    --Wenns zwickt dann zwickt's --

  6. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Hast du mal versucht den FB mit symbolischem Namen anzugeben und und der Symboliktabelle dann dafür die gewünschte FB-Nummer einzutragen?
    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

  7. #7
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Habs mal probiert, das ginge:

    Code:
    VAR
    Test2: BOOL; 
    TestFB: "Struct";
    END_VAR
    und in der Symolikdatei:

    Struct FB 32 FB 32
    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
    puehri ist offline Benutzer
    Themenstarter
    Registriert seit
    02.12.2005
    Ort
    Laakirchen
    Beiträge
    44
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke für den Tipp!

    Habe ich gerade, versucht! Hat geklappt!

    Wenn ich meinem Statischen FB den Symbolname zuweise funktionierts!

    Nur ist das halt auch noch nicht ganz die Lösung, Wenn jetzt die Symbolik geändert wird funktioniert der SCL-Baustein wieder nicht!

    Daher war mein Grundgedankt den FB von "aussen" in den SCl_Baustein zu bringen
    mfg
    Andreas Pührimair
    Promot Automation GmbH

    http://www.promot.at

    --Wenns zwickt dann zwickt's --

  9. #9
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von puehri Beitrag anzeigen
    Danke für den Tipp!

    Habe ich gerade, versucht! Hat geklappt!

    Wenn ich meinem Statischen FB den Symbolname zuweise funktionierts!

    Nur ist das halt auch noch nicht ganz die Lösung, Wenn jetzt die Symbolik geändert wird funktioniert der SCL-Baustein wieder nicht!

    Daher war mein Grundgedankt den FB von "aussen" in den SCl_Baustein zu bringen
    Das stimmt natürlich, ist aber wohl der einzige gangbare Weg.

    Was übrigens ginge:

    Code:
    CC    FB [#Test] //Test: Word
    Die Frage ist dann, wie kommt der FB an seine Instanzdaten und wo nimmt er die her? Da könnte man mal experimentieren. Da SCL nicht weiß welcher FB später gemeint ist, kann es die Instanzdaten ja nicht in den Multiinstanz-DB einlagern!
    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

  10. #10
    puehri ist offline Benutzer
    Themenstarter
    Registriert seit
    02.12.2005
    Ort
    Laakirchen
    Beiträge
    44
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Werde mich bei Gelegenheit damit spielen!

    Danke auf alle Fälle für die Tipps
    mfg
    Andreas Pührimair
    Promot Automation GmbH

    http://www.promot.at

    --Wenns zwickt dann zwickt's --

Ähnliche Themen

  1. aufruf von FC
    Von awl-scl im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 10.12.2007, 12:49
  2. Problem bei mehrfach aufruf von FC
    Von mzva im Forum Simatic
    Antworten: 21
    Letzter Beitrag: 22.02.2007, 07:10
  3. Problem mit FB Aufruf in Codesys
    Von master im Forum Sonstige Steuerungen
    Antworten: 3
    Letzter Beitrag: 19.04.2006, 10:06
  4. Antworten: 6
    Letzter Beitrag: 04.02.2006, 20:00
  5. DIX -Aufruf in SCL
    Von Wastel im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 20.10.2005, 11:09

Lesezeichen

Berechtigungen

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