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

Ergebnis 1 bis 10 von 10

Thema: Problem mit FC in SCL

  1. #1
    Registriert seit
    14.05.2007
    Beiträge
    29
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich rufe in einem FB die folgende Funktion auf:

    Der Funktion übergebe ich den Parameter Adr_ret (int) an den
    input Adr.

    FC1(Adr:=Adr_ret);

    Funktion FC1:
    Code:
    FUNCTION FC1 : VOID
    VAR_INPUT
        Adr:INT;
    END_VAR
    VAR_TEMP
      // temporäre Variablen
    END_VAR
    VAR_OUTPUT
        Return_next:BOOL;
    END_VAR
    BEGIN
      // Anweisungsteil
     
    END_FUNCTION
    Bekomme den Fehler angezeigt. Eingangsparameter der Funktion sind unvollständig.

    Danke
    Zitieren Zitieren Problem mit FC in SCL  

  2. #2
    Registriert seit
    23.11.2004
    Beiträge
    347
    Danke
    2
    Erhielt 28 Danke für 28 Beiträge

    Standard

    Zitat Zitat von broesel Beitrag anzeigen
    Ich rufe in einem FB die folgende Funktion auf:

    Der Funktion übergebe ich den Parameter Adr_ret (int) an den
    input Adr.

    FC1(Adr:=Adr_ret);

    Funktion FC1:
    Code:
    FUNCTION FC1 : VOID
    VAR_INPUT
        Adr:INT;
    END_VAR
    VAR_TEMP
      // temporäre Variablen
    END_VAR
    VAR_OUTPUT
        Return_next:BOOL;
    END_VAR
    BEGIN
      // Anweisungsteil
     
    END_FUNCTION
    Bekomme den Fehler angezeigt. Eingangsparameter der Funktion sind unvollständig.

    Danke
    Beim Aufruf fehlt die Übergabe für:
    VAR_OUTPUT
    Return_next:BOOL;


    Gruß
    raika
    Rainer Kandziora
    Grollmus GmbH
    Qualität in SIMATIC Schulungen
    E-Mail: mailto:Rainer.Kandziora@grollmus.de
    Internet: http://www.grollmus.de

  3. Folgender Benutzer sagt Danke zu RaiKa für den nützlichen Beitrag:

    broesel (04.06.2007)

  4. #3
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Code:
    FC1(Adr := Test_Int, Return_next := Test_Bool);
    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. #4
    broesel ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.05.2007
    Beiträge
    29
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich brauche beim AUfruf der Funtion doch in der
    Parameterliste nur den Input also

    FC1(Adr:=Adr_ret);

    bekannt machen.

    Habe den Output jetzt noch dazu genommen.

    FC1(Adr:=Adr_ret, Return_next);

    Gibt auch einen Fehler beim Aufruf.

  6. #5
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Der Aufruf ist so nicht richtig, siehe oben!
    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. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    broesel (04.06.2007)

  8. #6
    broesel ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.05.2007
    Beiträge
    29
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja jetzt gehts! Ich dachte ich brauche nur den Input bekannt machen.

    Danke an Alle

  9. #7
    Registriert seit
    06.10.2003
    Beiträge
    3.403
    Danke
    447
    Erhielt 502 Danke für 406 Beiträge

    Standard

    Etwas eleganter ist es, der Funktion den entsprechenden Datentyp zuzuweisen.
    Code:
     
    FUNCTION FKT_NAME : BOOL  <-----
    VAR_INPUT
        Adr:INT;
    END_VAR
     
    BEGIN
      FKT_NAME:=...
    END_FUNCTION
    Der Aufruf der Funktion sieht dann so aus:
    Code:
     
    TEST_BOOL := FKT_NAME(Adr:=TEST_INT);

    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  10. #8
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Zitat Zitat von Onkel Dagobert Beitrag anzeigen
    Etwas eleganter ist es, der Funktion den entsprechenden Datentyp zuzuweisen.
    ...
    100% Ack.
    Das ist für FCs auch die übliche Vorgehensweise.
    Auch in Hochsprachen wird das meist so gemacht.
    Geändert von zotos (05.06.2007 um 08:06 Uhr)
    If you open your Mind too much, your Brain will fall out.

  11. #9
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 182 Danke für 167 Beiträge

    Standard

    Zitat Zitat von Onkel Dagobert Beitrag anzeigen
    Etwas eleganter ist es, der Funktion den entsprechenden Datentyp zuzuweisen.
    Code:
     
    FUNCTION FKT_NAME : BOOL  <-----
    VAR_INPUT
        Adr:INT;
    END_VAR
     
    BEGIN
      FKT_NAME:=...
    END_FUNCTION
    Der Aufruf der Funktion sieht dann so aus:
    Code:
     
    TEST_BOOL := FKT_NAME(Adr:=TEST_INT);

    Gruß, Onkel
    Hallo!

    Kann mir das bitte jemand genauer erklären was das für Vorteile hat?
    Bringt aber nur was wenn man den Baustein auch wieder in einen SCL Baustein aufruft, bei einen AWL aufruf ist da kein unterschied, oder?

    godi

  12. #10
    Registriert seit
    23.11.2004
    Beiträge
    347
    Danke
    2
    Erhielt 28 Danke für 28 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von godi Beitrag anzeigen
    Hallo!

    Bringt aber nur was wenn man den Baustein auch wieder in einen SCL Baustein aufruft, bei einen AWL aufruf ist da kein unterschied, oder?

    godi
    In AWL/KOP/FUP wäre das der Returnwert (siehe Schnittstellenparameter: RET_VAL), der beim Aufruf zurückgegeben wird.

    Gruß
    raika
    Rainer Kandziora
    Grollmus GmbH
    Qualität in SIMATIC Schulungen
    E-Mail: mailto:Rainer.Kandziora@grollmus.de
    Internet: http://www.grollmus.de

Ähnliche Themen

  1. OPC Problem routen problem
    Von kpeter im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 25.08.2010, 19:54

Lesezeichen

Berechtigungen

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