Hallo Bodensee123,
das Ding ist, der FT_RMP Block ist mit "in" Wert erst initialisiert. In dem Block steht:
So in deinem Fall, du rufst den Block mit IN:=1000 und aufm erstem Zyklus der Program ist OUT mit diesem Wert initialisiert.
Was du ausprobieren könnte ist:
- haben noch eine Variable für "rSpeed_SET", und wechseln die dynamisch in der Programm
UPD1: zu spät gerade, glaube ich... =)
das Ding ist, der FT_RMP Block ist mit "in" Wert erst initialisiert. In dem Block steht:
Code Auswählen
IF NOT init THEN
init := TRUE;
last := tx;
tx := t#0s;
out := in;
END_IF;
So in deinem Fall, du rufst den Block mit IN:=1000 und aufm erstem Zyklus der Program ist OUT mit diesem Wert initialisiert.
Was du ausprobieren könnte ist:
- haben noch eine Variable für "rSpeed_SET", und wechseln die dynamisch in der Programm
Code Auswählen
test2: OSCAT_BASIC.FT_RMP;
out: REAL;
rSpeed_SET :REAL;
xStart :BOOL;
test2(RMP := TRUE, in := rSpeed_SET, KR:= 100,KF:=100);
out := test2.out;
IF xStart THEN
rSpeed_SET := 1000; // give a SP to the Ramp Block, ramp up
ELSE
rSpeed_SET := 0; // stop by ramp, when no command
UPD1: zu spät gerade, glaube ich... =)