Vai al contenuto
PLC Forum


Timer e variabili


markolino

Messaggi consigliati

Ciao a tutti,

vi disturbo per una domanda su PLC omron serie CP1H.

Per pura passione mi sto cimentando con qualche esperimento guardando video qua e là per documentarmi un pò su questo tipo di PLC.

Sto facendo prove per utilizzare timer, contatori e quant'altro...ma in particolare non riesco a capire come utilizzare i timer con le variabili...

Mi spiego:

TIM 0 #150    mi prepara un bel timer di 15s.   E fino a qui nessun problema.

 

La mia difficoltà è nel capire come mettere quei 15s dentro un'area di memoria, che un giorno magari sarà settabile da un pannellino...Non riesco a fargliela digerire.

Volevo quindi utilizzare qualcosa come l'area di memoria D, ma es.  se dichiaro una D100 di tipo intero e gli assegno un valore, passandola poi al timer (al posto di #150) ovviamente la cosa non funziona.

 

Gentilmente, potreste darmi una mano ?

Grazie infinite

Link al commento
Condividi su altri siti


Nicola Carlotto

dm 10= set del tempo nel touch screen

 

se imposto dm10 = 10 secondi nel mio plc  eseguo  dm10 x 10 e lo appoggio per esempio su dm 50 , converto d50 in bcd e lo metto in d100 , usero' dm 100 come base tempi per il temporizzatore .

 

ciao

image.thumb.png.a59e47c97d8776d97664f8cc08919be9.png

Link al commento
Condividi su altri siti

Per usare i timer con un dato in decimale (INT o UINT) al posto di un BCD (UINT_BCD), basta usare l'istruzione TIMX, per il resto identica alla TIM.

La seconda è stata mantenuta per compatibilità col passato (serie C e anche prima), ma è stata aggiunta la TIMX proprio per questo.

Altro sistema è mantenere la TIM e mettere nel dato un valore BCD impostando la variabile del pannello per tale notazione.

Link al commento
Condividi su altri siti

Grazie per le risposte.

@Nicola: ho provato lo schema che mi hai postato e funziona.

Dubbio:

nella moltiplicazione, potresti spiegarmi perché la d10 devo moltiplicarla per &10 e non semplicemente per 10?

Dovrei dichiarare la D10 come intero per moltiplicare * 10 ?

 

@Ctec: grazie per la segnalazione. Nella CP1H è utilizzabile la TIMX ? Nel manuale la trovo, ma se scrivo in ladder TIMX 00 &10 non prende l'istruzione...

 

Grazie infinite.

Modificato: da markolino
Link al commento
Condividi su altri siti

59 minuti fa, markolino scrisse:

perché la d10 devo moltiplicarla per &10 e non semplicemente per 10

Perché in Omron un numero senza nulla davanti è un indirizzo, cioè se scrivi 10 non è il numero, ma la word CIO10 (ingressi/uscite), quindi moltiplicherà per un valore che è contenuto in tale word.

 

Per attivare la modalità binaria nei CP, devi andare nella colonna del progetto a sx, tasto destro sull'icona del PLC, seleziona Proprietà: metti la spunta sull'ultima voce in basso "Esegio temporizzatore/contatore come binario". E consiglio sempre di togliere la spunta a "Mostra stato backup memoria PLC" se fate editazione in linea...

Link al commento
Condividi su altri siti

30 minuti fa, Ctec scrisse:

Perché in Omron un numero senza nulla davanti è un indirizzo, cioè se scrivi 10 non è il numero, ma la word CIO10 (ingressi/uscite), quindi moltiplicherà per un valore che è contenuto in tale word.

 

Per attivare la modalità binaria nei CP, devi andare nella colonna del progetto a sx, tasto destro sull'icona del PLC, seleziona Proprietà: metti la spunta sull'ultima voce in basso "Esegio temporizzatore/contatore come binario". E consiglio sempre di togliere la spunta a "Mostra stato backup memoria PLC" se fate editazione in linea…

 

Ah ok, quindi &10 in realtà è il numero intero 10.

Grazie mille, molto gentile :)

Link al commento
Condividi su altri siti

Scusate ma già che ci sono vi chiedo un ulteriore conferma.

In Omron ogni D è una word giusto ? E sono accessibili solo come tali.

Cioè in D10 ho 16 bit ,  che sono indipendenti dalla D11 .   

Perdonatemi se sembrano domande banali, ma vorrei evitare pasticci di overflow :)

 

Grazie

Link al commento
Condividi su altri siti

Tutti i dati base in Omron (come anche in Mitsubishi) sono a word (16bit), anche i canali di I/O sono a 16bit.

Sostanzialmente non esiste l'indirizzamento al byte, se non con particolari istruzioni.

Sui CP l'area D non è accessibile al bit, mentre sui CJ si può fare.

Link al commento
Condividi su altri siti

il 12/9/2019 at 07:35 , Ctec scrisse:

Tutti i dati base in Omron (come anche in Mitsubishi) sono a word (16bit), anche i canali di I/O sono a 16bit.

Sostanzialmente non esiste l'indirizzamento al byte, se non con particolari istruzioni.

Sui CP l'area D non è accessibile al bit, mentre sui CJ si può fare.

Grazie mille :)

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