FUNCTION_BLOCK FB10
// Eingangsvariablen
VAR_INPUT
x : REAL;
a : REAL;
END_VAR
// Ausgangsvariable
VAR_OUTPUT
y : REAL;
END_VAR
// Temp Variablen
VAR_TEMP
Real_y : REAL; // Temp. Variable fuer Ausgangsvariable y
Real_x : REAL; // Temp. Variable fuer Eingangsvariable y
Real_a : REAL; // Temp. Variable fuer Eingangsvariable a
END_VAR
// Temp Variablen
// Werte uebergeben an Temp. Variablen
Real_x := x;
Real_a := a;
// Berechnung der Formel
Real_y := Real_x**Real_a;
y := Real_y;
END_FUNCTION_BLOCK
Bei der Eingabe von Werten mit dem PLC-Editor über Beobachten/Steuern wird nichts berechnet und das direkte beobachten über die Brille im Code zeigt keine Werte.
Ich habe gerade leider keine Ahnung wo mein Fehler liegt oder ob ich für diese Aufgabe etwas grundlegend falsch mache im FB (FB wird in OB1 aufgerufen und DB1 zugeordnet).
Wenn ich die Aussage Mit dem Merkerwort richtig verstehe, liegt das Problem bei der Zuordnung von dem Merkerwort zu einer REAL Variable?
Ich wüsste nicht wie ich sonst Werte steuern kann, außer über ein Merkerwort.
Die Ansteuerung von FB10 war falsch, diese sieht nun wie folgt aus:
Anhang anzeigen 42103
Nun ändern sich auch die beobachteten Variablen, allerdings stimmen diese nicht mit den eingegebene Steuerwerten in Gleipunktformat überein.
Edit: Wie konntest du überhaupt MW102 und MW104 symbolisch an deinen FB anschliessen? Das müsste eigentlich einen Fehler geben weil die Typen nicht zusammenpassen.
.. außer vielleicht die Funktion die hinter der Potenzfunktion "**", muss ja irgendwie herkömmlich programmiert sein, dazu finde ich allerdings nichts. ..
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?