willy76 Posted August 29, 2015 Report Posted August 29, 2015 Buongiorno a tutti, stavo realizzando un nuovo quadro elettrico per una macchina autocostruita, premetto che non ho molta esperienza come programmatore plc.La macchina è composta da 4 elettrovalvole e 2 teleruttori e viene comandata mediante un pulsante di start, stop e diversi selettori per le varie lavorazioni...Essenso legata ad ogni selettore una lavorazione univoca volevo creare un controllo sugli stessi in modo da accendere una spia di allarme in caso di più selettori attivi allo stesso momento. Chiedo scusa per la spiegazione ma non saprei come spiegare in altro modo...Supponendo di avere 6 selettori, uscirebbero un numero impressionanti di combinazioni... ho provato a cercare un po' in rete ma non ho capito con che comando posso effettuare questa segnalazione di allarme...Dimenticavo, per programmare utilizzo Rslogix500.Come ultima cosa vorrei un consiglio da parte vostra, ad ogni selettore corrisponde una lavorazione univoca con un relativo contatore. Volevo creare una subroutine (lad) per ogni conteggio (in modo da individuare subito il contatore in caso di modifica) e nel programma principale effettuare i richiami mediante JSR (jump to subroutine), secondo voi può creare problemi?Scusate se per voi sono domande stupide ma vorrei imparare...Grazie!
Giuseppe Signorella Posted August 29, 2015 Report Posted August 29, 2015 (edited) Il metodo più semplice per che mi viene in mente ora per verificare se vi sono almeno due selettori attivi, è quello di farsi 6 confronti.Andando a monitorare il peso dei bit all'interno di un byte. (Va bene monitorare semplicemente il byte della memoria immagine degli ingressi)Ti faccio un esempio:Ingresso primo selettore connesso al primo bit del byteIngresso secondo selettore connesso al secondo bit del byte Ingresso terzo selettore connesso al terzo bit del byte eccecceccIngresso sesto selettore connesso al sesto bit del byte Se il valore che leggi nel byte è 1 vuol dire che è attivo il primo selettore (do il consenso alla lavorazione e so anche che è stato selezionato il primo programma)Se il valore che leggi nel byte è 2 vuol dire che è attivo il secondo selettore (do il consenso alla lavorazione e so anche che è stato selezionato il secondo programma)Se il valore che leggi nel byte è 4 vuol dire che è attivo il terzo selettore (do il consenso alla lavorazione e so anche che è stato selezionato il terzo programma)ecceccSe il valore che leggi nel byte è ad esempio 3 vuol dire che è attivo il primo ed il secondo selettore (non do il consenso alla lavorazione perche è stato selezionato il primo e secondo programma)Buon lavoro Edited August 29, 2015 by Giuseppe Signorella
willy76 Posted August 29, 2015 Author Report Posted August 29, 2015 Grazie mille! non ci avevo pensato...Appena riesco ci provo e poi vi faccio sapere.... io mi immaginavo soluzioni molto più complesse... ammesso che ci riesco!
willy76 Posted August 30, 2015 Author Report Posted August 30, 2015 Pensavo era più facile... non riesco ad associare i vari selettori ai bit per poter fare il confronto... mi sa che per le mie conoscenza mi sono spinto troppo oltre! Sarà il caso di studiare un pò... cercherò degli esempi in rete da cui prendere spunto.
gremodic Posted February 26, 2016 Report Posted February 26, 2016 Se vuoi seguire la strada più semplice, devi fare solo 6 combinazioni anzi te ne bastano 5 If X1 = 1 and (x2 or X3 or X4 or X5 or X6 =1) -> allarme If X2 = 1 and (X3 or X4 or X5 or X6 =1) -> allarme If X3 = 1 and (X4 or X5 or X6 =1) -> allarme If X4 = 1 and (X5 or X6 =1) -> allarme If X5 = 1 and X6 =1 -> allarme Con questi hai esaurito tutte le posibbili combinazioni.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now