markolino Report Share Posted September 10, 2019 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 Quote Link to post Share on other sites
Nicola Carlotto Report Share Posted September 10, 2019 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 Quote Link to post Share on other sites
Ctec Report Share Posted September 11, 2019 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. Quote Link to post Share on other sites
markolino Author Report Share Posted September 11, 2019 (edited) 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. Edited September 11, 2019 by markolino Quote Link to post Share on other sites
Ctec Report Share Posted September 11, 2019 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... Quote Link to post Share on other sites
markolino Author Report Share Posted September 11, 2019 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 Quote Link to post Share on other sites
markolino Author Report Share Posted September 11, 2019 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 Quote Link to post Share on other sites
Ctec Report Share Posted September 12, 2019 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. Quote Link to post Share on other sites
markolino Author Report Share Posted September 16, 2019 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 Quote Link to post Share on other sites