Vai al contenuto
PLC Forum


pilotaggio display 7 segmenti


Messaggi consigliati

Christian Bortotto
Inserito:

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  


Inserita:

basta che converti da duale (decimale) a esadecimale, quindi colleghi le 4 uscite della cifra al nibble delle uscite del plc.

 

Giuseppe Signorella
Inserita:

Cosa intendi per:

pilotabili uno ad uno

Che 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:

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:

Niente risposte ..... ummm se non avete idee voi mi sa che sono nei guai

 

Fulvio Persano
Inserita:

Ciao.

 

Niente risposte ..... ummm se non avete idee voi mi sa che sono nei guai

Sbaglio o hai aperto la discussione solamente un paio di ore fa ?

Inserita:

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 PN

Sarebbe anche utile specificare di che tipo di display si tratta.

A led - anodo comune - catodo comune, a lampade fluorescenti....

Tipo di alimentazione

ecc ecc

Altrimenti la risposta non può che essere vaga:

CD4511 - 74HC47 - 74HC48

 

 

Christian Bortotto
Inserita:

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.

Inserita:

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

Christian Bortotto
Inserita:

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:

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 

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