Vai al contenuto
PLC Forum


Esecuzione OB10


Messaggi consigliati

Inserito:

Buongiorno A tutti,

 

Volevo cheidervi, è possibile che per eseguire correttamente l'ob10 devo impostare su ob1 l'sfc30?

 

Saluti.


Inserita:

Ciao, puoi eseguire il blocco OB10 (Time of day interrupt) anche senza usare le istruzioni SFC28 "SET_TINT" e SFC30 "ACT_TINT" (e tali funzioni le puoi usare anche in una function block e non necessariamente in OB1, ovviamente in tal caso devi essere sicuro che vengano richiamate). Se non usi tali istruzioni (SET_TINT e ACT_TINT) devi attivare il blocco OB10 da step7, per fare questo clicca tasto desto sulla cpu->properties->Interrupts->Time of day interrupts, dopo di chè spunta "Active" e su "Execution" scegli il tempo di interruzione.

Per ulteriori informazione puoi consultare questo manuale della Siemens a pag 22
http://www.itk.ntnu.no/**/TTK4175/Lab/Profibus/System and Standard Functions for S7-300 and S7-400.pdf dove puoi chiaramente vedere che hai tre possibilità per configurare un "time of day interrupt".

Inserita:

Ciao Android,

Il motivo della mia domanda è il seguente:

L'OB10 l'ho configurato nell'hw di Step7, attivando la spunta "attiva" dicendogli di eseguirlo giornalmente alle 23:59 a partire dal giorno successivo, e fino a qui non avevo fatto altro.

Dentro l'OB10 avevo inserito il seguente codice per monitorare la corretta esecuzione:

L MW10

L 1

+ I

T

MW10

Il fatto è che la MW10 puntualmente la trovavo a 0 quindi significa che il blocco non viene eseguito, allora per un test ho inserito l'scf30 in ob1 per attivarlo, e da quel momento in poi ho visto la MW10 che giornalmente si incrementa.

Domani provo a rimuovere l'sfc30 e lasciare solo i settaggi della hw config, e vedo che succede.

 

Saluti.

Inserita:

Prova ad usare l'istruzione "QRY_TINT" (SFC31) (pag 151 del manuale di prima), nell'output "STATUS" devi avere
bit0=0; bit1=0; bit2=1; bit4=1; (ossia 0000_0000_0001_0100),

se bit1=1 allora il "time-of-time interrupt" è disabilitato da "DIS_IRT".
se bit2=0 allora il "time-of-time interrupt" non è attivato

Non puoi provare ad eseguirlo ogni minuto? (intendo anche col simulatore se non è possibile nell'impianto)

Inserita:

Si posso provare anche con il simulatore.

comunque grazie per le dritte, domani tempo permettendo fare qualche test e poi ti farò sapere.

 

Grazie :thumb_yello:

Inserita:

Ciao Android,

Oggi ho verificato, lo stato del "time-of-time interrupt" tramite l'SFC31 e lo stato dell'output era esattamente come avevi descritto, 

nell'output "STATUS" devi avere
bit0=0; bit1=0; bit2=1; bit4=1; (ossia 0000_0000_0001_0100),

A questo punto ho cancellato sia il richiamo all'SFC30 ed all'SFC31, a questo punto non mi aspetto sorprese, domani mattina ti saprò dire.

Saluti

Reverendo.

Inserita: (modificato)

Ciao Reverendo,

Dovrebbe funzionare :thumb_yello:, però a volte le sorprese sono sempre dietro l'angolo :smile:

PS: ovviamente devi aver verificato l'output "STATUS" di SFC31 quando SFC30 non era richiamato

Modificato: da android633
Inserita:

Ciao Android33,

 

Adesso funziona, ho apsettato qualche giorno per verificare che non si piantasse dopo il primo richiamo.

comunque si prima ho cancellato il richiamo di SFC30 e poi ho verificato.

Non so quale sia stato il problema, ma l'importante che funzioni. 

Grazie.

 

Reverendo.

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...