FB_BA_PWM
Puls-Weiten-Modulations-Baustein
Funktionsbeschreibung
Der Funktionsbaustein errechnet aus einem analogen Eingangssignal rIn (0..100%, intern fest begrenzt) und einer Periodendauer udiPrd [s] eine Ein- und eine Ausschaltzeit, welche an den Ausgängen als rActTiOn und rActTiOff in Sekunden angezeigt werden.
Dabei entsprechen:
- 100% am Eingang einer Einschaltzeit von der gesamten Periodendauer udiPrd und einer Ausschaltzeit von 0s.
- 0% am Eingang einer Einschaltzeit von 0s und einer Ausschaltzeit von der gesamten Periodendauer udiPrd.
Darüber hinaus gibt es die Möglichkeit über udiMinOnTi [s] die Einschaltdauer nach unten hin zu begrenzen, um Schäden an Antrieben durch zu kurze Stellimpulse zu vermeiden. Dieses Verhalten gilt gilt jedoch nur für 0>rIn>100!
Für die Eingangssignale:
- rIn=0: Einschaltzeit=0, Ausschaltzeit=udiPrd -> bOut bleibt dauerhaft FALSE
- rIn=100: Einschaltzeit=udiPrd , Ausschaltzeit=0 -> bOut bleibt dauerhaft TRUE
Schaltverhalten
- Ein FALSE-Signal am Eingang bEn setzt den Baustein außer Funktion und bQ auf FALSE. Es werden lediglich die Ein-und Ausschaltzeiten kontinuierlich berechnet und an den Ausgängen rActTiOn und rActTiOff [s] angezeigt.
- Eine steigende Flanke am Eingang bEn aktiviert den Baustein: Er springt zunächst in einen Entscheidungs-Schritt. Je nach vorherigem Zustand vom Schaltausgang bQ wird nun in den umschaltenden Schritt gesprungen, es sei denn, der Eingang rIn steht auf 0.0. Dann erfolgt ein Sprung in den Aus-Schritt (bQ=FALSE).
- In dem jeweils aktiven Schritt (EIN oder AUS) läuft nun ein Countdown-Timer mit dem aktuell errechneten Startwert ab, der sich aus dem Puls-Pause-Verhältnis ergibt. Der Ein- bzw. Aus-Schritt wird mit der errechneten Zeit durchlaufen, egal, ob sich währenddessen das Puls-Pause-Verhältnis ändert. Der jeweilige Countdown wird an den Ausgängen udiRemTiOn und udiRemTiOff in vollen Sekunden angezeigt.
- Nach Ablauf des Ein- bzw. des Aus-Schrittes erfolgt ein Rücksprung in den Entscheidungsschritt (Punkt 2).
Ein-Ausgänge
VAR_INPUT
bEn : BOOL;
rIn : REAL;
udiPrd : UDINT;
udiMinOnTi : UDINT;
bEn : Aktivierung der Puls-Weiten-Modulation
rIn: Eingangssignal, intern auf 0..100% fest begrenzt
udiPrd: Periodenzeit [s]
udiMinOnTi: Minimale Einschaltzeit [s]
VAR_OUTPUT
bOut : BOOL;
bLmtSwiTi : BOOL;
rActTiOn : REAL;
rActTiOff : REAL;
udiRemOnTi : UDINT;
udiRemOffTi : UDINT;
bOut: PWM-Ausgang.
bLmtSwiTi: Informationsausgang, dass das Eingangssignal so niedrig ist, dass mit der minimalen Einschaltzeit begrenzt wird.
rActTiOn: Informationsausgang: Errechnete Einschaltzeit
rActTiOff: Informationsausgang: Errechnete Ausschaltzeit
udiRemOnTi: Countdown Einschalttimer
udiRemOffTi: Countdown Ausschalttimer
Voraussetzungen
Entwicklungsumgebung | Zielsystem | erforderliche Bibliothek | erforderliches Supplement |
---|---|---|---|
TwinCAT 2.11 R3/x64 | PC/CX | TcBA-Bibliothek ab V1.0.0 | TS8040 | TwinCAT Building Automation ab V1.0.0 |