Syntax für Anrufe:
<Rückgabewertvariable> := <POU-Name> . <Methodenname> ( <Argumentenübergabe> );
<Rückgabewert variabel> |
Variable für den Rückgabewert Der Typ muss mit dem Rückgabetyp der Methode übereinstimmen. Hinweis: Bei Methoden, die keinen expliziten Rückgabetyp haben, wird die erste deklarierte Ausgabe als Rückgabewert verwendet. Eine Methode gibt nur dann keinen Wert zurück, wenn weder der Rückgabetyp noch die Ausgabe deklariert sind. In beiden Fällen wird jedoch kein Compilerfehler erzeugt. |
<POU-Name> |
Kennung der Funktionsblockinstanz, unter der die Methode angeordnet ist |
<Methodenname> |
Bezeichner der Methoden |
<Argumentenübergabe> |
Durch Kommata getrennte Liste mit den eigentlichen Argumenten Ein Argument wird an jeden Parameter (Variable) der Methode übergeben: <Parametername> := <Aktuelles Argument>
|
Beispiel
Deklaration
METHOD PUBLIC DoIt : BOOL VAR_INPUT iInput_1 : DWORD; iInput_2 : DWORD; sInput_3 : STRING(12); END_VAR
Aufruf mit Übergabe eines Arguments an einen Parameter
bFinishedMethod := fbInstance.DoIt(sInput_3 := 'Hello World ', iInput_2 := 16#FFFF, iInput_1 := 16);
Wenn die Methode aufgerufen wird, wird der Rückgabewert der Methode einer lokal deklarierten Variablen zugewiesen.
Beispiel
Wenn Sie die Namen der Eingabevariablen weglassen, ergibt sich die Zuordnung der Argumente aus der Reihenfolge der Deklaration.
Deklaration
METHOD PUBLIC DoIt : BOOL VAR_INPUT iInput_1 : DWORD; iInput_2 : DWORD; sInput_3 : STRING(12); END_VAR IF iInput_1 = iInput_2 THEN DoIt := TRUE; // explicit return value END_IF
Aufruf mit Übergabe eines Arguments entsprechend der Reihenfolge in der Deklaration
bFinishedMethod := fbInstance.DoIt( 16, 16#0010,'Hello World ');