Aufruf in SCL SFC1

Carsten77

Level-1
Beiträge
78
Reaktionspunkte
2
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
 
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);
 
Zuviel Werbung?
-> Hier kostenlos registrieren
danke, so gehts!!

Ich hatte schon das probiert:

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

Warum ging das denn dann nicht?
 
Zuletzt bearbeitet:
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:
*
[B]SFC1 ist:

public int ReadClock(out DateTime CDT)
{
    ...
    return Ret_Val;
}[/B]

und nicht

public void ReadClock(out DateTime CDT, out int Ret_Val)
{
    ...
    Ret_Val = 0;
}
 
Zurück
Oben