FB_BA_PWM

FB_BA_PWM 1:

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:

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

  1. 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.
  2. 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.
  3. 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.
  4. 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