alber to Inserito: 1 luglio 2009 Segnala Share Inserito: 1 luglio 2009 Ciao a tutti, premetto che programmo sporadicamente e ogni volta devo ricordarmi come si fa... Domandina molto semplice sulle subroutine. Faccio un esempio banale: richiamo uno subr in cui viene attivata una uscita, all'uscita dalla subr (per uscita intendo quando viene tolta la condizione che l'ha chiamata) l'uscita riamane attiva. Mi sarei aspettato il contrario sinceramente. Grazie mille Link al commento Condividi su altri siti More sharing options...
busanela Inserita: 1 luglio 2009 Segnala Share Inserita: 1 luglio 2009 (modificato) Mi sarei aspettato il contrario sinceramenteE perchè mai? L'S7-200 esegue ripetutamente una serie di task. L'esecuzione ciclica dei task viene definita ciclo di scansione.Inizialmente avviene la lettura degli ingressi: l'S7-200 copia lo stato degli ingressi fisici nel registro di immagine di processo degli ingressi.Poi c'è l'esecuzione della logica di controllo nel programma: l'S7-200 esegue le operazioni del programma e le memorizza nelle variearee di memoria. Per ultimo la scrittura nelle uscite: i valori memorizzati nel registro dell'immagine di processo delle uscite vengono scritti nelle uscite fisiche.Se prima di quest'ultimo task non viene dato il comando di spegnimento di un'uscita, il ciclo di scansione non incontrando mai questa istruzione non ha motivo per spegnerla.Se vuoi essere sicuro di aver spento un'uscita attivata all'interno di una sub, sul main appena dopo il segmento di richiamo alla sub, devi condizionare la sua disattivazione. Modificato: 1 luglio 2009 da busanela Link al commento Condividi su altri siti More sharing options...
alber to Inserita: 1 luglio 2009 Autore Segnala Share Inserita: 1 luglio 2009 grazie busanela (trevigiano come me)me lo aspettavo ragionando a contatti, nel senso che il ramo principale della sub è spento e di conseguenza si spegne anche il segmento contatto+bobina dell'uscita. Invece se utilizzo ad esempio la funzione di set bit allora si mi aspetto che rimanga scritto in memoria anche all'uscita dalla sub, fino a quando un altra istruzione non lo resetta. Credevo che utilizzando le "bobine" avessero implicito l'autoreset se non sono alimentate. Anche con i temporizzatori ho visto che funziona che se non sono resettati ripartono a contare dall'ultimo valore con cui erano usciti dalla sub. Se funziona cosi mi adeguo. Grazie Link al commento Condividi su altri siti More sharing options...
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