Christian Bortotto Inserito: 17 ottobre 2015 Segnala Inserito: 17 ottobre 2015 Salve a tutti,premetto che il plc siemens lo so programmare non benissimo so fare delle piccole automazioni ma le operazione più complesse come quella che vi sto per indicare mi portano al mio limite.M a veniamo al progetto, io dovrei visualizzare su un display a tre cifre formate da 7 segmenti pilotabili uno ad uno, un dato che non sarebbe altro che la velocita di uscita pezzi di una linea. Tale linea è molto lenta farà all'incirca 300 pezzi/h .Per il calcolo dei pezzi non ci son problemi conto il tempo per il passaggio di 5 pezzi e poi faccio il calcolo in una word. Il problema viene ora questa word devo andarla a scrivere sul display . Pensavo di usare un gruppo di uscite per ogni display, ne avanzo una ma poco importa. Come faccio ad prendere cifra per cifra e commutarla in segmenti , secondo voi un array mi può bastare?Grazie Christian
pigroplc Inserita: 17 ottobre 2015 Segnala Inserita: 17 ottobre 2015 basta che converti da duale (decimale) a esadecimale, quindi colleghi le 4 uscite della cifra al nibble delle uscite del plc.
Giuseppe Signorella Inserita: 17 ottobre 2015 Segnala Inserita: 17 ottobre 2015 Cosa intendi per:pilotabili uno ad unoChe vuoi pilotare i singoli display, oppure i segmenti del display?In ogni caso per i display a segmenti si utilizza il formato BCD, quindi se devi visualizzare tre cifre, devi scomporre il numero in singole cifre, e convertirle in BCD. Poi le daiin pasto alle uscite del PLC.Per comandare tre display, ti bastano 11 uscite open collector 8 per i display (7 per i segmenti + 1 per il punto collegati tutti in parallelo) e tre per i singoli comuni dei display. (1 per display).Ciao
Christian Bortotto Inserita: 17 ottobre 2015 Autore Segnala Inserita: 17 ottobre 2015 Grazie delle risposte ma volevo precisare che dovrei pilotare i display segmento per segmento (purtroppo). Ma il problema principale è come scomporre valore tipo 258 in 2 5 8 per poi inviarlo ai singoli gruppi di uscite
Christian Bortotto Inserita: 17 ottobre 2015 Autore Segnala Inserita: 17 ottobre 2015 Niente risposte ..... ummm se non avete idee voi mi sa che sono nei guai
Fulvio Persano Inserita: 17 ottobre 2015 Segnala Inserita: 17 ottobre 2015 Ciao. Niente risposte ..... ummm se non avete idee voi mi sa che sono nei guaiSbaglio o hai aperto la discussione solamente un paio di ore fa ?
dott.cicala Inserita: 17 ottobre 2015 Segnala Inserita: 17 ottobre 2015 Fare la decodifica direttamente in plc, significa realizzare le funzioni del decoder driver.....esistono anche display con bus di campo e un S7-300 come minimo ha MPI-DP oppure PNSarebbe anche utile specificare di che tipo di display si tratta.A led - anodo comune - catodo comune, a lampade fluorescenti....Tipo di alimentazioneecc eccAltrimenti la risposta non può che essere vaga:CD4511 - 74HC47 - 74HC48
Christian Bortotto Inserita: 19 ottobre 2015 Autore Segnala Inserita: 19 ottobre 2015 Scusa Fulvio non volevo essere apprensivo.Dott. Cicala , il display non lo ho ancora preso ma pensavo ad un semplice display ad catodo comune, pilotando un segmento alla volta, così posso attacargli direttamente le uscite del plc . Anche per limitare i costi.
Livio Orsini Inserita: 19 ottobre 2015 Segnala Inserita: 19 ottobre 2015 Meglio usaredisplaies con decodifica e latch, così basta 4 uscite per i dati ed un'uscita di strobe per ogni cifra.Se invece iloti direttamente i 7 segmenti da PLC, oltre alla complicazione della decodifica, o usi un multiplo di 7 usicte quante sono le cifre oppure ......meglio non definere con una parola il risultato che otterresti.
Christian Bortotto Inserita: 19 ottobre 2015 Autore Segnala Inserita: 19 ottobre 2015 Grazie Livio , per il tipo di display non è un problema visto che lo devo ancora acquistare. il mio problema principale è dividere il risultato del temporizzatore (es. 258Hex) in tre cifre cioè 2 5 8 e poi inviarli al display , qualsiasi esso sia.Il programma lo volevo impostare così il primo fronte di salita fa partire un temporizzatore che smetterà di contare al 5° fronte di salita. poi farò la operazione di confronto tipo : 5FS : sec_temporizzatore = X : 3600sec in questo modo dovrei trovare quanti fronte di salita ho in un ora. Un metodo non molto professionale ma funzionante.ma il problema resta scomporre X da inviare al display in multiplexer o in qualsiasi altro modo.
Christian Bortotto Inserita: 19 ottobre 2015 Autore Segnala Inserita: 19 ottobre 2015 poteri comprare tre display pilotabili in bcd attaccarli direttamente alle uscite del plc (stando attento al voltaggio) trasformare il temporizzatore in BCD con l'istruzione ITB , trasferisco i primi 8 bit alle prime 8 uscite e faccio le ultime due cifre. poi giro la word con l'istruzione TAW e trasferisco la terza cifra.... un po contorto ma forse funzionante
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