Cum să creați un impuls?

(Vineet Singh)

Pot exista momente când aveți nevoie de un impuls în codul dvs.

De exemplu, vreau ca un transportor să funcționeze timp de 6 secunde și apoi să se oprească timp de 3 secunde. În acest caz, aș putea dori să fac asta cu un puls. Și poate exista o aplicație în care este necesar controlul asupra timpului de pornire și a timpului de oprire sau orice altă aplicație la care vă puteți gândi.

Există multe modalități de a o face, dar o voi menționa pe cea pe care o am utilizare, este simplă și ajută la o vizualizare mai bună.

Folosesc biții de testare și cronometrele de testare.

Cronometrele TON și TOF utilizate pentru a crea un impuls

1 . În starea inițială, bitul zz\_vineetTestbits.00 este Dezactivat.

2. Am setat valorile presetate TON și TOF așa cum le doresc. Deocamdată, le-am păstrat pe amândouă la 5000 ms.

3. Pe măsură ce comut bitul zz\_vineetTest.00, cronometrul TON va porni și după 5000 ms, va fi Terminat.

4. De îndată ce cronometrul TON este terminat, cronometrul TOF va începe, deoarece condiția din treapta respectivă se va transforma de la Adevărat la Fals.

5. TOF va fi realizat după 5000 ms, iar acest lucru va face ca treapta cu temporizatorul TON să devină falsă pentru o perioadă foarte scurtă de timp. Aceasta resetează temporizatorul TON și întregul ciclu începe din nou.

6. Așadar, acum pot evolua zz\_VS\_run și voi vedea următorul impuls:

Generated Pulse, TON 5s / TOF 5s

7. După cum ați văzut, pulsul generat dă 1 pentru 5000 ms sau 5 secunde și 0 pentru același timp.

8. Permite schimbarea presetării timerului acum pentru a genera un impuls de timp TON 6 secunde și timp TOF 3 secunde:

Generated Pulse, TON 6s / TOF 3s

Deci, acum puteți utiliza zz\_vineetTestbits.01 pentru a porni și opri transportorul. Iată un mod exemplar (zz\_vineetTestbits.00 este prezent doar pentru a activa / dezactiva ieșirile):

Exemplu de cod

Sper că acest lucru vă va ajuta. Noroc!

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *