B87_PULSE_WIDTH_MODULATION
PROGRAM TEST_B87 VAR BOOL1,BOOL2 : BOOL; REAL1 :REAL; TIME1 : TIME; FB: LIB.CORE.V1_0.B87_PULSE_WIDTH_MODULATION; END_VAR FB(IN:= REAL1, ENABLED:= BOOL1,T:=T#10S,MIN:=0,MAX:=100,OUT=>BOOL2,TRES=>TIME1); END_PROGRAM
LIB\CORE
V1.0
Blok převádí vstupní signál 0…100 % v pulsně šířkovou modulaci, tedy v binární periodický signál, jehož perioda je určena parametrem T a střída (poměr aktivní části periody k délce periody) vstupní hodnotou IN.
Vstup | Typ | Význam | Výchozí hodnota |
IN | REAL | Vstupní hodnota | 0 |
ENABLE | BOOL | Povolení generátoru (true - generátor běží) | True |
T | TIME | Perioda generátoru | 15 m |
MIN | REAL | Minimální hodnota spuštění generátoru | 0 |
MAX | REAL | Maximální hodnota spuštění generátoru | 100 |
Výstup | Typ | Význam |
OUT | BOOL | Výstup generátoru |
OUTN | BOOL | Negace výstupu generátoru |
TRES | TIME | Zbývající čas periody v ms |
Blok implementuje pulsní šířkovou modulaci. Vstup In je převeden na periodický logický signál s periodou t. Hodnota vstupního signálu je proporcionálně převedena (pro min ⇐ In ⇐ max). Když In ⇐ min pak out = false po celou dobu t, když In >= max pak out=true po celou dobu t.
Výstup outn je negací výstupu out. Blok obsahuje zbývající čas tres jako výstup, což je čas, zbývající do konce aktuální periody.
Vstup enable umožňuje vypnout Blok B87 a nastaví výstup následně out=false a tres=0.
Když vstup in je skryt nebo min > max nebo min ⇐ 0 pak out= false.
Na obrázku je jako příklad vstupem x hodnota od 0 do 1, do bloku se však přivádí hodnota od 0 do 100.