-> Hier kostenlos registrieren
Hallo,
ich habe ein paar Probleme damit bereits bekannte Programmiermethoden von C auf CoDeSys zu übertragen. Ich weiß nicht ob ich mich einfach nur vertippe, oder ob es so überhaupt nicht geht.
Am besten beschreib ich erstmal was ich in C machen würde:
Als Beschreibung: Ich will einer Funktion zwei Werte übergeben die irgendwie verarbeitet werden sollen.
Jetzt kommen aber die Methoden ins Spiel.
Meine Main Datei sieht nun so aus:
Die Methode (und Interfacekopf) sieht so aus:
Eigentlich müsste in temp1 jetzt 1 und temp2 2 stehen aber es steht in beiden 0. Warum ist das so? Wo ist mein Fehler?
Vielen Dank an den der mich mit dem Geistesblitz trifft! Ich hoffe das wird wie ein 4 zu 0 gegen Argentinien .
ich habe ein paar Probleme damit bereits bekannte Programmiermethoden von C auf CoDeSys zu übertragen. Ich weiß nicht ob ich mich einfach nur vertippe, oder ob es so überhaupt nicht geht.
Am besten beschreib ich erstmal was ich in C machen würde:
Code:
function (temp_a a, temp_b b)
{
Mach irgendwas mit temp_a und temp_b;
}
int main ()
{
int a;
int b;
function (a, b);
return 0;
}
Als Beschreibung: Ich will einer Funktion zwei Werte übergeben die irgendwie verarbeitet werden sollen.
Jetzt kommen aber die Methoden ins Spiel.
Meine Main Datei sieht nun so aus:
Code:
PROGRAM main_prog
VAR
t1 : standard;
temp : ARRAY[1 .. 4] OF functions := [t1];
a : INT := 1;
b : INT := 2;
END_VAR
temp[1].test_methode(var1 := a, var2 := b);
END_PROGRAM
Die Methode (und Interfacekopf) sieht so aus:
Code:
METHOD test_methode : BOOL
VAR_INPUT
var1 : INT;
var2 : INT;
END_VAR
VAR
temp1 : INT := 0;
temp2 : INT := 0;
END_VAR
temp1 := var1;
temp2 := var2;
END_METHOD
Eigentlich müsste in temp1 jetzt 1 und temp2 2 stehen aber es steht in beiden 0. Warum ist das so? Wo ist mein Fehler?
Vielen Dank an den der mich mit dem Geistesblitz trifft! Ich hoffe das wird wie ein 4 zu 0 gegen Argentinien .