Problem mit FC in SCL

broesel

Level-1
Beiträge
29
Reaktionspunkte
0
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
 
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
 
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.
 
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
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
 
Zurück
Oben