B broesel Level-1 Beiträge 29 Reaktionspunkte 0 4 Juni 2007 #1 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
RaiKa Level-1 Beiträge 357 Reaktionspunkte 25 4 Juni 2007 #2 broesel schrieb: 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 Zum Vergrößern anklicken.... Beim Aufruf fehlt die Übergabe für: VAR_OUTPUT Return_next:BOOL; Gruß raika
broesel schrieb: 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 Zum Vergrößern anklicken.... Beim Aufruf fehlt die Übergabe für: VAR_OUTPUT Return_next:BOOL; Gruß raika
Ralle Super-Moderator , User des Jahres 2006-2007 Teammitglied Power-User Beiträge 15.435 Reaktionspunkte 4.050 4 Juni 2007 #3 Code: FC1(Adr := Test_Int, Return_next := Test_Bool);
OP B broesel Level-1 Beiträge 29 Reaktionspunkte 0 4 Juni 2007 #4 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.
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.
Ralle Super-Moderator , User des Jahres 2006-2007 Teammitglied Power-User Beiträge 15.435 Reaktionspunkte 4.050 4 Juni 2007 #5 Der Aufruf ist so nicht richtig, siehe oben!
OP B broesel Level-1 Beiträge 29 Reaktionspunkte 0 4 Juni 2007 #6 Ja jetzt gehts! Ich dachte ich brauche nur den Input bekannt machen. Danke an Alle
Onkel Dagobert Level-3 Beiträge 5.850 Reaktionspunkte 1.473 4 Juni 2007 #7 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
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
zotos User des Jahres 2007 Beiträge 4.509 Reaktionspunkte 1.204 5 Juni 2007 #8 Onkel Dagobert schrieb: Etwas eleganter ist es, der Funktion den entsprechenden Datentyp zuzuweisen. ... Zum Vergrößern anklicken.... 100% Ack. Das ist für FCs auch die übliche Vorgehensweise. Auch in Hochsprachen wird das meist so gemacht. Zuletzt bearbeitet: 5 Juni 2007
Onkel Dagobert schrieb: Etwas eleganter ist es, der Funktion den entsprechenden Datentyp zuzuweisen. ... Zum Vergrößern anklicken.... 100% Ack. Das ist für FCs auch die übliche Vorgehensweise. Auch in Hochsprachen wird das meist so gemacht.
godi Level-1 Beiträge 1.460 Reaktionspunkte 185 5 Juni 2007 #9 Onkel Dagobert schrieb: 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 Zum Vergrößern anklicken.... 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
Onkel Dagobert schrieb: 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 Zum Vergrößern anklicken.... 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
RaiKa Level-1 Beiträge 357 Reaktionspunkte 25 5 Juni 2007 #10 godi schrieb: 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 Zum Vergrößern anklicken.... In AWL/KOP/FUP wäre das der Returnwert (siehe Schnittstellenparameter: RET_VAL), der beim Aufruf zurückgegeben wird. Gruß raika
godi schrieb: 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 Zum Vergrößern anklicken.... In AWL/KOP/FUP wäre das der Returnwert (siehe Schnittstellenparameter: RET_VAL), der beim Aufruf zurückgegeben wird. Gruß raika