luppi24 Inserito: 17 febbraio 2005 Segnala Inserito: 17 febbraio 2005 Mi sto leggendo tutto il manuale di STEP 7, e una cosa non mi e´ molto chiara, ovvero: i blocchi organizzativi di interrupt di processo (OB da 40 a 47). Un esempio dice che si possono usare per indicare che il livello max di un serbatoio e´ stato raggiunto...presumo che il segnale che attivera´ il mio blocco (x es OB40) sara´ il segnale del livellostato che rileva il livello max, premesso cio´ non ho capito se una volta raggiunto tale livello max parte il bloccho OB40 (con eventuale programmino in scritto in esso) fungendo come un CALL o se accade qualcosa altro. Dove posso trovare semmai un esempiettino pratico?Vi ringrazio come sempre della attenzione. Ciao Davide
Livio Orsini Inserita: 17 febbraio 2005 Segnala Inserita: 17 febbraio 2005 Per scatenare l'interrupt è necessario che ci sia un ingresso di tipo veloce configurato e legato ad un interrupt di processo; questa configurazione è a livello di HW di sistema. Si sceglie la scheda e si configura un'ingresso in modo che, p.e., sul livello alto si scateni l'interrupt gestito dall'OBxxLa gestione dell'interrput avviene nell'OB asociato all'interrupt.Per ragioni di comprensibilità si tende a gestire nell'OB solo se la funzione è breve, altrimenti è consigliabile richiamare le relative funzioni, FC, dall'OB che ha praticamente funzioni simili ad un main program
luppi24 Inserita: 17 febbraio 2005 Autore Segnala Inserita: 17 febbraio 2005 grazie mille Livio........sei sempre gentilissimo e molto chiaro. Buon lavoro!
bluetooth Inserita: 27 marzo 2007 Segnala Inserita: 27 marzo 2007 Ciao Livio,scusami ma non sono riuscito a capire come si configura un'ingresso in modo che, p.e., sul livello alto si scateni l'interrupt gestito dall'OBxx.Io ho scelto una scheda DI32xDC24V nella mia configurazione hardware, ho creato il codice nell ob40 che gestisce la situazione di interrupt, ma in ob1, non riesco a scatenare l'interrupt(io lo voglio scatenare in ogni ciclo).Dove posso trovare un esempio pratico?Grazie saluti Luca.
Luca Bab Inserita: 27 marzo 2007 Segnala Inserita: 27 marzo 2007 Io ho scelto una scheda DI32xDC24Vcon questo non lo puoi fare , come diceva Livio Per scatenare l'interrupt è necessario che ci sia un ingresso di tipo veloceriesco a scatenare l'interrupt(io lo voglio scatenare in ogni ciclo).non e' piu' un interrupt se lo fai a ogni ciclo ma una normale funzione ( FC )CiaoLuca
bluetooth Inserita: 27 marzo 2007 Segnala Inserita: 27 marzo 2007 Grazie Luca,se ho capito bene la scheda DI32xDC24V non è predisposta con un ingresso veloce da associare ad un evento di interrupt.Nel mio caso quindi risovo il problema introducendo una FC che fà il compito del ob40 richiamandola nel 0b1.Davvero molto gentile.Saluti Luca
Luca Bab Inserita: 27 marzo 2007 Segnala Inserita: 27 marzo 2007 se ho capito bene la scheda DI32xDC24V non è predisposta con un ingresso veloce da associare ad un evento di interruptsirisovo il problema introducendo una FC che fà il compito del ob40 richiamandola nel 0b1dipende , se il tuo problema era di fare in interrupt , non lo risolviL'interrupt di processo , generalmente e' usato per evitare dei ritardi dovuti alla scansione del plcesempio : Un movimento con motore e finecorsa induttivo che rileva la fase di stop , ha delle posizioni di stop diverse ogni cicloper eliminare l'errore dovuto alla scansione , colleghi il finecorsa induttivo in un ingresso veloce che genera l'OBquesto OB provvedera' alla fermata del motore , aggiornando l'immagine di processo delle uscite relative all'uscita del contattore motore.ciaoLuca
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora