FB_BA_PWM

Der Funktionsbaustein errechnet aus einem analogen Eingangssignal rIn (0..100%, intern fest begrenzt ) und dem der Periodendauer udiPrd_sec [s] eine Ein- und eine Ausschaltzeit rActTiOn_sec und rActTiOff_sec [s].
Dabei entspricht:
- 100% am Eingang einer Einschaltzeit rActTiOn_sec von der gesamten Periodendauer udiPrd_sec und einer Ausschaltzeit rActTiOff_sec von 0s
- 0% am Eingang einer Einschaltzeit rActTiOn_sec von 0s und einer Ausschaltzeit rActTiOff_sec von der gesamten Periodendauer udiPrd_sec.
Darüber hinaus gibt es die Möglichkeit über udiMinSwiTi_sec [s] die Schaltdauer nach unten hin zu begrenzen, um Schäden an Antrieben durch zu kurze Stellimpulse zu vermeiden. Dieses Verhalten gilt jedoch nur für 0>rIn>100!
Bei rIn=0 bzw. 100 bleibt der Ausgang bQ jedoch gelöscht, bzw. gesetzt, Nach Ablauf der Periodenzeit wird erneut das aktuelle Eingangssignal bewertet. Steht es immer noch auf 0 bzw. 100 erfolgt kein Zustandswechsel von bQ.
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_sec/rActTiOff_sec [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. Steht der Eingang rIn jedoch auf 0, so erfolgt ein unmittelbarer Sprung in den Aus-Schritt (bQ=FALSE) bzw. bei rIn=100 in den EIN-Schritt (bQ=TRUE), ohne auf den vorherigen Zustand von bQ zu achten. Die Mindest-Schaltzeit ist für diese beiden Fälle deaktiviert.
- 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_sec/udiRemTiOff_sec in vollen Sekunden angezeigt.
- Nach Ablauf des Ein- bzw. des Aus-Schrittes erfolgt ein Rücksprung in den Entscheidungsschritt (Punkt 2).
VAR_INPUT
bEn : BOOL;
rIn : REAL;
udiPrd_sec : UDINT;
udiMinSwiTi_sec : UDINT;
bEn: Aktivierung der Puls-Weiten-Modulation.
rIn: Eingangssignal, intern auf 0..100% fest begrenzt.
udiPrd_sec: Periodenzeit [s]. Intern begrenzt auf einen Minimalwert von 0.
udiMinSwiTi_sec: Minimale Einschaltzeit [s], zur Vermeidung zu kurzer Pulse. Intern begrenzt auf Werte von 0 bis udiPrd_sec.
VAR_OUTPUT
bQ : BOOL;
bLmtSwiTi : BOOL;
rActTiOn_sec : REAL;
rActTiOff_sec : REAL;
udiRemTiOn_sec : UDINT;
udiRemTiOff_sec : UDINT;
bQ: PWM-Ausgang.
bLmtSwiTi: Informationsausgang, dass das Eingangssignal so niedrig ist, dass mit der minimalen Einschaltzeit begrenzt wird.
rActTiOn_sec: Informationsausgang: errechnete Einschaltzeit.
rActTiOff_sec: Informationsausgang: errechnete Ausschaltzeit.
udiRemTiOn_sec: Countdown Einschalttimer.
udiRemTiOff_sec: Countdown Ausschalttimer.
Voraussetzungen
Entwicklungsumgebung | Erforderliche SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4024.7 | Tc3_BA ab v1.1.6.0 |