Vai al contenuto
PLC Forum


Rotazione


damitisi

Messaggi consigliati

Ciao,

in un programma dove è creato in ob35 una fc35 con il seguente codice:

auf db17 // richiamo del db 17

l dbd 0

srd 1

t dbd 0

l dbd 4

rrda

t dbd 4

l dbd 8

rrda

t dbd 8

rrda

l dbd 12

rrda

t dbd 12

e cosi via fino a dbd 100.

sempre in ob1 vi è una fc con l' instruzione:

auf db 17

u dbx[md50]

=m 240.0

dove in md 50 viene scritto il valore in centesimi di secondo (ovviamente con altre istruzioni per renderlo in formato puntatore) e cioè il tempo che deve trascorrere prima che m 240.0 vada a 1.

Praticamente dopo varie prove ho visto che è proprio grazie alle varie rotazioni dei bit che trascorre il tempo e quando il bit scritto in md50 è come il bit che ruota nel db 17 si setta m 240.0.

Non riesco e capire se queste istruzioni essendo richiamate in ob 35 ogni 100 ms e come se fossero un temporizzatore molto preciso e se effettivamente è questo il suo utilizzo non si poteva creare un temporizzatore presente sulle librerie?

Questa è una macchina che dopo il tempo impostato su md50 (ovviamente con altre istruzioni per renderlo in formato puntatore)tramite un hmi fa punzonare una lamiera.

Grazie

Link al commento
Condividi su altri siti


Non riesco e capire se queste istruzioni essendo richiamate in ob 35 ogni 100 ms e come se fossero un temporizzatore molto preciso e se effettivamente è questo il suo utilizzo non si poteva creare un temporizzatore presente sulle librerie?

In effetti la routine di servizio dell'interrutp a tempo (OB35) è un timer preciso che non risente dei tempi di ciclo.

Va usato con attenzione e solo quando è realmente necessario perchè interrompe il processo in corso con priorità elevata.

I normali temporizzatori non hanno ne questa precisione, ne questa priorità. E' il programmatore che deve valutare, secondo le sue eseigenze, cosa usare.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...