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

Ergebnis 1 bis 4 von 4

Thema: Aufruf in SCL SFC1

  1. #1
    Registriert seit
    19.07.2007
    Beiträge
    78
    Danke
    14
    Erhielt 2 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen!

    Kann mir jemand sagen was ich an diesem Aufruf falsch mache?

    READ_CLK(CDT := "DB_VARIABLEN".SYSTEMZEIT);

    Fehlermeldung:
    "Ungültiger oder fehlender Funktionstyp"

    Der Aufruf erfolgt unter SCL und die Variable ist im DB als DATE_AND_TIME deklariert.

    Kann mir jemand helfen?
    Ich werde am frühern Montag Morgen schon wieder fast verrückt...

    Danke!
    Grüße Carsten
    Zitieren Zitieren Aufruf in SCL SFC1  

  2. #2
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    die funktion SFC1 benötigt einen rückgabewert vom typ INT.
    deklariere also ein INT z.B. iReturn und rufe SFC1 wie folgt auf:

    Code:
    iReturn:= READ_CLK(CDT := "DB_VARIABLEN".SYSTEMZEIT);
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

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

    Carsten77 (23.05.2011)

  4. #3
    Registriert seit
    19.07.2007
    Beiträge
    78
    Danke
    14
    Erhielt 2 Danke für 1 Beitrag

    Standard

    danke, so gehts!!

    Ich hatte schon das probiert:

    READ_CLK(CDT := "DB_VARIABLEN".SYSTEMZEIT , RET_VAL := ireturn);

    Warum ging das denn dann nicht?
    Geändert von Carsten77 (23.05.2011 um 11:05 Uhr)

  5. #4
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Carsten77 Beitrag anzeigen
    danke, so gehts!!

    Ich hatte schon das probiert:

    READ_CLK(CDT := "DB_VARIABLEN".SYSTEMZEIT , RET_VAL := ireturn);

    Warum ging das denn dann nicht?
    weil RET_VAL nicht als FunktionsOutput sondern als RETURN der Funktion definiert ist.

    vielleicht verstehst du es, wenn man es so darstellt:

    Code:
    *
    SFC1 ist:
    
    public int ReadClock(out DateTime CDT)
    {
        ...
        return Ret_Val;
    }
    
    und nicht
    
    public void ReadClock(out DateTime CDT, out int Ret_Val)
    {
        ...
        Ret_Val = 0;
    }
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

Ähnliche Themen

  1. Probleme mit dem SFC1
    Von Magni im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 19.08.2014, 22:32
  2. S7-300 / SFC1 einfügen...
    Von pinolino im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 06.04.2009, 07:43
  3. Sfc1
    Von crazygerman im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 09.01.2008, 15:00
  4. Probleme mit sfc1
    Von controller im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 10.05.2007, 16:36
  5. sfc1
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 25.11.2004, 19:42

Lesezeichen

Berechtigungen

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