Sollwert mit + und - Tasten verstellen

Martinaprilia

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
ich habe bis jetzt nur mit Siemens gearbeitet und auch nur dort Programmiert.
Jetzt der Umstieg auf Beckhoff war im großen und ganzen ganz Okay.

Jetzt habe ich nur noch ein Problem ich habe in meinem Siemens Programm eine Verstellung des Sollwertes über 2 Tasten gehabt.
Nur bringe ich diese unter Twincat nicht zum laufen.
U M 3.0 //Taster Plus
FP M 39.0 //Positive Flanke Taster Plus
SPB M003
u M 3.0 //Taster Minus
FP M 39.1 //Positive Flanke Taster Minus
SPB M004
SPA M005
M003: L Maximaler Wert Verstellung
L Aktuelle Geschwindigkeit
<=R
SPB M005
L Verstellschritt
+R
T Aktuelle Geschwindigkeit
SPA M005
M004: L Minimaler Wert Verstellung
L Aktuelle Geschwindigkeit
>=R
SPB M005
L Verstellschritt
-R
T Aktuelle Geschwindigkeit
M005: NOP 0
Das ist der Programmteil in meinen Siemens Programm in AWL könnte mir den jemand für "normales" awl umschreiben?

So jetzt noch ein Problem ich Speichere meine Persistent Daten mit dem Baustein FB_WritePersistentData.
Jetzt die Frage wie kann ich erkenn ob die abgespeicherten noch zu den Aktuellen im Programm eingegeben passen
um einen neuen Speichervorgang des FBs auszulösen?

schonmal Danke und ein sehr interessantes Forum:)
 
Hallo zusammen,
ich habe bis jetzt nur mit Siemens gearbeitet und auch nur dort Programmiert.
Jetzt der Umstieg auf Beckhoff war im großen und ganzen ganz Okay.

Jetzt habe ich nur noch ein Problem ich habe in meinem Siemens Programm eine Verstellung des Sollwertes über 2 Tasten gehabt.
Nur bringe ich diese unter Twincat nicht zum laufen.
U M 3.0 //Taster Plus
FP M 39.0 //Positive Flanke Taster Plus
SPB M003
u M 3.0 //Taster Minus
FP M 39.1 //Positive Flanke Taster Minus
SPB M004
SPA M005
M003: L Maximaler Wert Verstellung
L Aktuelle Geschwindigkeit
<=R
SPB M005
L Verstellschritt
+R
T Aktuelle Geschwindigkeit
SPA M005
M004: L Minimaler Wert Verstellung
L Aktuelle Geschwindigkeit
>=R
SPB M005
L Verstellschritt
-R
T Aktuelle Geschwindigkeit
M005: NOP 0
Das ist der Programmteil in meinen Siemens Programm in AWL könnte mir den jemand für "normales" awl umschreiben?

So jetzt noch ein Problem ich Speichere meine Persistent Daten mit dem Baustein FB_WritePersistentData.
Jetzt die Frage wie kann ich erkenn ob die abgespeicherten noch zu den Aktuellen im Programm eingegeben passen
um einen neuen Speichervorgang des FBs auszulösen?

schonmal Danke und ein sehr interessantes Forum:)

Einfaches Beispiel:

PROGRAM MAIN
VAR
Taste_Plus:BOOL;
Taste_Minus:BOOL;
Speed_Max:INT:=100;
Speed_Min:INT:=10;
Step:INT:=5;
Speed_Now:INT:=50;
Time_ON: TON;
_flashbit:BOOL;
END_VAR

(********************************************************************************)
Time_ON(IN:=Taste_Plus OR Taste_Minus,PT:=T#150ms);

(*Rauf*)
IF Taste_Plus AND Time_ON.Q AND NOT Taste_Minus AND NOT _flashbit THEN(*Nur wenn Taste Plus 150 ms gedrueckt und Taste Minus nicht !*)
_flashbit:=1;(*Sperre aktiviert, nur einmalige Durchlauf an der Stelle moeglich*)
IF Speed_Now < Speed_Max THEN (*es geht noch nach Oben ?*)
Speed_Now:=Speed_Now + Step;
END_IF;
END_IF;
(*Runter*)
IF Taste_Minus AND Time_ON.Q AND NOT Taste_Plus AND NOT _flashbit THEN
_flashbit:=1;
IF Speed_Now > Speed_Min THEN
Speed_Now:=Speed_Now - Step;
END_IF;
END_IF;
IF Taste_Plus=0 AND Taste_Minus=0 THEN
_flashbit:=0;
END_IF;

(*Pro Tastendruck Aenderung nur um Step (Flashbit), Tastenentprellung und Tastensperre*)
 
Zurück
Oben