Vai al contenuto
PLC Forum


Temporizzatori


mazzinga

Messaggi consigliati

Non è molto che utilizzo PLC omron,ho sempre usato siemens,è in gran parte non ho trovato molta difficoltà a passare da un prodotto ad un'altro,salvo alcuni concetti che non riesco a capire.

Una differenza notevole tra i due dispositivi,si trova sul numeri in BCD che siemens non usa o diciamo che non ho mai usato,sto sviluppando un piccolo programma per una macchina su un CP1L,e ho trovato delle difficoltà sui temporizzatori,in pratica devo muovere due tempi in funzione di un ingresso su un temporizzatori,molto semplice.

Ho inserito il temporizzatore,su N ho inserito il numero del timer e su S ho inserito una DM dove appoggio il tempo che voglio impostare,provando il tutto mi sono accorto che se inserisco un valore superiore a 10 mi da errore,smanettando con delle conversioni BCD sono riuscito ad trasferire il valore,ma navivo un po a tentativi.

Qualcuno potrebbe spiegarmi esattamente come lavora omron in BCD e dove è previsto un'istruzione di conversione e dove no,e corretto passare per la conversione in BCD su un temporizzatore,ho sbaglio qualcosa

Link al commento
Condividi su altri siti


ciao,

se stai usando il Cp1L puoi anche usare i temporizzatori con impostazione del tempo in decimale.

si tratta di mettere una apposita spunta allo scopo, poi però devi trasferire progetto e impostazioni.

Tieni conto comunque che ti cambiano tutti i temporizzatori, anche quelli eventualmente che hai già usato nel programma.

per l'impostazione

3d9309d7c646623f8dd556f3adf86f60.PNG

nell'albero a sinistra del cx programmer evidenzia il nome del plc con il pulsante destro del mouse,

clicca su proprietà, ti appare una maschera dove puoi attivare delle spunte.

l'ultima in basso è : esegui temporizzatore / contatore come binario

devi notare poi dall'immagine che ti ho allegato, che i temporizzatori si chiamano TIMX oppure quelli veloci TIMHX ecc...

e che il valore del tempo deve essere scritto con il prefisso &, per esempio se vuoi scrivere 10 cioè dieci decimi devi inserire &10.

un saluto Valvolina

Modificato: da valvolina
Link al commento
Condividi su altri siti

grazie della delucidazione,ma vorrei avere delle informazioni in più sul BCD.

Quando conviene usare il BCD,ed a cosa si usano.Come ho scritto nel primo post vengo da un mondo dove questo formato non veniva usato.

Ho dei progetti di esempio e molti dati sono in BCD,vorrei capirci qualche cosa in più,non specifico sui temporizzatori,ma in generale,forse ho sbagliato il titolo della discussione dovevo scrivere "info formato BCD"

Link al commento
Condividi su altri siti

Il BCD (Binary Coded Decimal) era un formato parecchio usato per l'espressione di numeri interi.

Era derivato da come si impostavano i numeri utilizzando i Contraves (quei codificatori a rotella che si trovavano sui frontali dei pannelli di controllo delle macchine prima dell'avvento dei pannelli operatori.

Ogni cifra decimale veniva espressa utilizzando 4 fili, quindi 4 bit (nibble), e potevano starci anche le lettere A-F dell'esadecimale.

Siccome però il BCD codifica solo i decimali, le lettere vennero abolite.

Utilizzando la Omron sistemi a 16bit, quindi l'uso di word anziché byte, in ogni word si potevano mettere 4 nibble, quindi 4 cifre decimali.

Pertanto un numero espresso in BCD occupa sempre 16bit, ed è composto da 4 cifre. Ciascuna è in binario e rappresenta la medesima cifra in decimale.

Questo rende comoda la scrittura. Un numero decimale come 1234 viene espresso con #1234 in bcd.

Il cancelletto # davanti specifica che si sta esprimendo in esadecimale (senza però le lettere A..F) Questo comporta alcune caratteristiche.

Innanzi tutto ci si limita il range dei numeri che possono essere memorizzati in una word, che vanno da #0000 a #9999, anziché da 0 a 65537 in decimale (che sarebbe la normale rappresentazione binaria), ma si semplificava l'immissione dei valori mediante le vecchie apparecchiature esterne (contraves e simili).

Altra limitazione erano i numeri negativi, non esprimibili in tale codifica.

 

Per spiegare il comportamento dell'errore quando immettevi 10 (decimale) in una word, è che questa oramai (dai CJ/CP in poi di default) viene codificata in binario, quindi viene immagazzinata come #000A. Ma questo non è un numero BDC accettato, e per questo avevi l'errore. Avresti dovuto mettere #0010 (che è 16 in decimale non codificato) che è invece accettabile e corretto.

 

Oramai non conviene più usare la codifica in BCD, è presente principalmente per compatibilità con i vecchi programmi. Tra l'altro oramai tutte le normali operazioni aritmetiche utilizzano il decimale standard, essendo più efficiente. La Siemens non ha mai, a mia memoria, utilizzato tale codifica, anche a causa del suo indirizzamento al byte che la rendeva assai poco efficiente.

Link al commento
Condividi su altri siti

grazie della delucidazione.

Se ho ben capito il formato BCD è un formato word che va da #0 a #9999 senza le lettere A..F,per esprimere un formato BCD si mette davanti al numero il simbolo #,mentre per numeri binari si usa il simbolo &.Non mi consigli di utilizzare questo formato perché è obsoleto,ed se volessi usare un sistema a timer binario devo seguire la guida di valvolina,utilizzando un forma binario riesco anche ad utilizzare timer con un tempo maggiore di #9999,posso arrivare fino a 65537 

Link al commento
Condividi su altri siti

ciao

 

eventualmente ci sono anche i timer lunghi  TIML o TIMLX

The PV can range from #00000000 to #99999999 for TIML(542) and &00000000 to &4294967295 (decimal) or #00000000 to #FFFFFFFF (hexadecimal) for TIMLX(553).

 

un saluto Valvolina

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