Impulzus adó


Programokban sokszor szükség van impulzus sorozatra. Az S7-ben rendelkezésre áll 8 különböző fix sebességű és 50% kitöltésű impulzus sorozat ha akarjuk. Ezek beállításáról itt lehet részletesen olvasni: Impulzus sorozatok egyszerűen

Néha azonban ez kevés, mert olyan impulzus sorozat kell, aminek a sebessége tetszőlegesen állítható, és a kitöltési tényezője is változtatható.
Töbféleképpen is eleget tehetünk ennek az igénynek. Ez az írás egy módszert mutat be ezek közül. Az impulzus adó egy FC blokkban kapott helyet, ahol két időzítő kapcsolgatja egymást.

A blokk meglehetősen egyszerű. A változó deklarációs részben megadjuk a bemenő paraméterek átadására szolgáló változókat és a kimenetet:



Start: indítás
BeIT: A bekapcsolást időzítő időtag száma
BeI: Bekapcsolási idő
KiIT: A kikapcsolást időzítő időtag száma
KiI: Kikapcsolási idő

A blokk a Kimenet-et kapcsolgatja.
A program az FC215-ös blokkban kapott helyet. A blokk tartalma:




A ki és bekapcsolási időket S5Time formátumban határozhatjuk meg. A kitöltési tényező tetszőleges, csak az S5Time adattípus korlátai szabnak neki határt.
A legkisebb megadható idő tehát 10ms, a legnagyobb pedig 2 óra 46 perc 30 másodperc.

Példa a blokk használatára:



Természetesen a blokk hívásával kapcsolatban itt is be kell tartani bizonyos szabályokat.
Az egyik legfontosabb, hogy azokat az időtagokat a program más részeiben már nem használhatjuk amelyeket paraméterként megadunk az FC215-nek. A példában ez a T1 és a T2.
De természetesen az FC215-öt számtalanszor meghívhatjuk más-más paraméterekkel, amennyire szükség van.

Az időzítést a Start bemenet indítja. Az időzítés mindig a bekapcsolással kezdődik, a BeI idő a Start jel felfutó élével indul, azzal együtt bekapcsol a kimenet is.
A ki és bekapcsolásokat a blokk mindaddig ismételgeti, amíg a Start bemenet aktív. Amikor a Start bemenet inaktívvá válik, a Kimenet azonnal kikapcsol attól függetlenül, hogy éppen melyik idő telik.

A blokk idődiagramja:



Impulzus adó, késleltetéssel

Egy apró módosítással a fenti funkcióblokkot kibővíthetjük azzal, hogy a #Start jel után először vár egy meghatározott ideig és csak azután kezdi el a kapcsolgatást.
Ehhez egy újabb időtagra van szükség, amit be kell tenni a blokk interfész területére.



Az új időtag a #KIT (Késleltetési időtag). Van egy hozzá tartozó paraméter, a #KI (késleltetési idő).
A blokk a következőképpen változott meg:



A blokk hívása:



A blokk idődiagramja:



Szirty