easy-forum
Deutsch - Applikationen => easy in der Gebäudetechnik => Thema gestartet von: Andrus Saar am November 30, 2024, 11:54:26 Vormittag
-
Hallo
ich würde gerne ein Demoprogramm erstellen, bei dem zwei Bewegungssensoren zwei Ausgänge schalten, mit ca 20 cm langen LED-Streifen Die Ausgänge würden PWM-gesteuert sein.
Ich würde gerne verschiedene Dimmgeschwindigkeiten verwenden, z.B. 0 bis 100% Geschwindigkeit für 2 Sekunden und zurück (100 bis 0%) für 5 Sekunden. In der Zwischenzeit sollen auch unterschiedliche Prozentsätze verwendet werden (wie analoge Rampe in Siemens LOGO).
Soll ich Impulsgeber mit unterschiedlichen Laufzeiten und Zählern verwenden, deren Ausgang ich an den Eingang des PWM-Blocks schicke?
Ich würde es vorziehen, die ST-Sprache zu verwenden.
Andrus
Übersetzt mit DeepL.com (kostenlose Version)
-
Hallo Andrus,
teste mal diesen Code
M01:= MB2 > 0;
//Rampe hoch 2000ms
T01 (
EN := I01 and not T01Q1,
RE := ,
ST := ,
I1 := T#20ms,
I2 := ,
Q1 => ,
QV => );
//Rampe runter 5000ms
T02 (
EN := not I01 and not T02Q1,
RE := ,
ST := ,
I1 := T#50ms,
I2 := ,
Q1 => ,
QV => );
// Counter 0 - 100%
IF T02Q1 and MB2 > 0 THEN
MB2:= MB2 - 1;
ELSIF T01Q1 and MB2 < 100 THEN
MB2:= MB2 + 1;
ELSE
;
END_IF;
//salierung 0-100% -> 12Bit
LS01 (
EN := true,
I1 := MB2,
X1 := 0,
Y1 := 0,
X2 := 100,
Y2 := 4095,
QV => );
PW01 (
EN := M01,
SV := LS01QV,
PD := 50,
ME := 0,
E1 => );
Gruß Thomas