Vai al contenuto
PLC Forum


Selettori Bcd


barbato giuseppe

Messaggi consigliati

barbato giuseppe

salve,sono da poco passato a programmare s7-200

ho un problema

dovrei impostare il valore di un contatore con selettori bcd a 2 cifre

ho trovato la funzione BCD_I e potrebbe anche funzionare,ma come collego i selettori bcd agli ingressi del plc

la cpu è la CPU216.

vi ringrazio in anticipo

Link al commento
Condividi su altri siti


Devi collegare 1 resistore da kohm tra ogni uscita del selettore e +24, il comune dei 2 selettori lo colleghi a 0V; le 8 uscite dei 2 selettori le colleghi ad 8 ingressi. Questo è il modo più semplice e diretto.

Riepilogando: 8 ingressi digitali del PLC collegate alle 8 uscite dei selettori ed ad 8 resistori da 10 kohm; tutti i resistori collegati al + 24V i 2 comuni dei 2 selettori a 0V.

Link al commento
Condividi su altri siti

Devi collegare 1 resistore da kohm tra ogni uscita del selettore e +24, il comune dei 2 selettori lo colleghi a 0V; le 8 uscite dei 2 selettori le colleghi ad 8 ingressi.

Ma così li fai lavorare al contrario: contatto selettore BCD chiuso = ingresso basso.

Con ingressi PNP, io ho sempre collegato il 24Vdc al comune del selettore, e le uscite del selettore direttamente agli ingressi.

Nel caso (oramai raro) di ingressi NPN, si collega al comune dei selettori lo 0Vdc invece del 24Vdc. Il resto non cambia.

Le uscite del selettore BCD hanno, in ordine, il seguente valore: 1-2-4-8 (10-20-40-80 per la seconda cifra).

Link al commento
Condividi su altri siti

Ma così li fai lavorare al contrario: contatto selettore BCD chiuso = ingresso basso.

Dipende dal tipo di selettore che usi. I classici "Contraves" han sempre lavorato come li ho descritti. Lo "1" corrisponde al contatto aperto. Per averli come li descivi tu dovevi ordinare i modelli con codice negato.

Comunque, essendo un paio di decenni che non ne faccio uso, può essere che i codici "diritti" sian spariti.

Nel caso (oramai raro) di ingressi NPN, si collega al comune dei selettori lo 0Vdc invece del 24Vdc. Il resto non cambia.

E poi cosa fai? Lasci gli ingressi flottanti per gli "1"?

Rimane il fatto incontestabile che il tipo di colelgamento devrebbe essere dato dal foglio tecnico di quel selettore.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

E poi cosa fai? Lasci gli ingressi flottanti per gli "1"?

I "Contraves" che ho usato io hanno sempre lavorato con la logica "contatto chiuso = 1", ma sicuramente esistono anche quelli che lavorano al contrario.

Per quanto riguarda invece lasciare l'ingresso flottante, per un ingresso di PLC è la cosa più normale del mondo.

Se collego un finecorsa, un pulsante o qualsiasi altro tipo di contatto, quando questo è aperto non c'è nulla (se non nel circuito interno alla scheda di ingressi) che mi tiri già la tensione.

Comunque, al limite, basta mettere delle resistenze con funzione pull-down, ma io le ritengo assolutamente inutili.

Link al commento
Condividi su altri siti

barbato giuseppe

ok funziona così

+24v sul comune del selettore e uscite secondo il peso binario sul giusto ingresso.

il problema adesso sta negli ingressi perchè la conversion BCD_I vuole una parola di ingressi, siccome gli ingressi sono pochi sulla 216

come faccio ad utilizzare gli ingressi per altre funzioni?

Link al commento
Condividi su altri siti

siccome gli ingressi sono pochi sulla 216

come faccio ad utilizzare gli ingressi per altre funzioni?

O utilizzi un uscita del plc per discriminare l'operazione di lettura BCD da quella di lettura degli ingressi "normali" o inserisci un'espansione per gli ingressi.

Link al commento
Condividi su altri siti

  • 1 month later...

Puoi anche leggere 2 o + contraves con solo 4 ingressi e una uscita per ogni cifra (multiplexer).

In questo caso sui contraves devi saldare 4 diodi sulle 4 uscite, di solito sono già predisposti per farlo, a valle dei diodi colleghi in parallelo tutti i pin con lo stesso valore (1-2-4-8) e li mandi a 4 ingressi, le 2 alimentazioni le mandi a 2 uscite.

Nel software devi smacchinare un po' perchè devi mettere delle temporizzazioni

predisponi una MW di appoggio ed azzerala,

alimenti una uscita,

aspetti circa 0.2s e poi leggi i 4 ingressi e li trasferisci nella word di appoggio (puoi farlo bit a bit sui primi 4 bit)

ora alimenti l'altra uscita

aspetti circa 0.2s e poi leggi gli altri 4 ingressi e li trasferisci nella word di appoggio (puoi farlo bit a bit sui successivi 4 bit)

a questo punto hai 2 tetradi bcd nella word, puoi usare l'istruzione BCD_I per convertirla in intero, dopodichè ripeti dall'inizio...

Link al commento
Condividi su altri siti

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