Wer kann mir helfen!!!

Noxx797

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Komme mit den Funktionen in St nicht klar

PROGRAM Test_Funktionen_in_ST
VAR
FUNCTION Fu_Linear_2Punkt : REAL;
rEingang_X: REAL;
rX1 : REAL := 0;
rY1 : REAL := 0;
rX2 : REAL := 4000;
rY2 : REAL := 32767;
END_FUNCTION
END_VAR

Fu_Linear_2punkt(
rX1,
rY1,
rX2,
rY2,
rEingang_X);

Danke schön
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Noxx797,

Bitte als Themenüberschrift schon etwas vom Thema mit rein packen. "Wer kann mir helfen" wird nicht so oft beantwortet wie "Hilfe zu ST Funktion xxxxx gesucht!"

"Wer kann mir helfen!!!" --> Das ist eine Frage also bitte Fragezeichen!
Was hast du denn für ein Problem?

Grüße,

Flo
 
Ich möchte gerne mehrere Analogwerte Skalieren in ST,
ich bekomme aber die Fehlermeldung nicht weg,
Fehler 3781 und 3782 werden mir Angezeigt.
 
Wer hat denn die Funktion "Fu_Linear_2punkt" geschrieben? Warst du das selber?

Diese Funktion hat einen Rückgabewert vom Typ Real. Das Ergebnis wirst du wohl auswerten wollen.
 
Ok,

viel besser, tu mir noch einen Gefallen und nutze die "Code" Funktion (Raute) um deine Programme hier einzustellen.
Dann sehe ich genau, wo dein Deklarationsteil endet und dein Programm beginnt.

Bisher sieht es für mich so aus, als wolltest du eine Function im Deklarationsteil erstellen und diese dann im Programm benutzen.
Ich gehe davon aus, die Function hast du im Programm als Funktion erstellt.

Du musst dann im Deklarationsteil vom PLC_PRG (oder welchen Baustein du hier auch immer eingestellt hast) nur die Variablen rx1, rx2 usw. deklarieren.
Dann die Funktion wie oben aufrufen und die Variablen an die Eingänge schreiben.

Gruß
 
Aufrufen sollte z.B. so gehen:
Code:
PROGRAM Test_Funktionen_in_ST
VAR
  rX : REAL;
  rY : REAL;
END_VAR

BEGIN
rX := 123.0; (* Hier deinen Eingangswert eintragen *)
rY := Fu_Linear_2Punkt (
  rEingang_X := rX,
  rX1 := 0.0,
  rY1 := 0.0,
  rX2 := 4000.0,
  rY2 := 32767.0
);
END_PROGRAM

in rY sollte dann das Ausgangssignal stehen.

(Das BEGIN und END_... musst du bei Codesys weglassen, den Teil schreibst du einfach ins Codefenster)
 
Zurück
Oben