gregorio Inserito: 15 novembre 2019 Segnala Inserito: 15 novembre 2019 Buon giorno, dovrei estrarre ora e minuti da un plc omron CP1L per abilitare una uscita ad un orario impostato. Ho trovato questo esempio ma non mi funziona, chi mi può chiarire come avere il valore e poter confrontare
gregorio Inserita: 15 novembre 2019 Autore Segnala Inserita: 15 novembre 2019 Ho provato anche con =DT ma non riesco a farlo funzionare, ho trovato questo esempio che dovrebbe confrontare ore e minuti per abilitare la uscita 100.0 ma mettendo qualsiasi valore su D400 non riesco a farlo funzionare. Nel mio caso devo comandare una uscita alle 5,30 di mattino, inoltre vedo che la funzione è in giallo.
Ctec Inserita: 15 novembre 2019 Segnala Inserita: 15 novembre 2019 Allora, ci sono un po' di errori. Nel primo post sono errati i codici di controllo della MOVD. Per spostare i minuti (cifre 2 e 3 della A351) nella D300, devi mettere MOVD A351 #0012 D300. Per spostare le ore (cifre 0 e 1 della A352) nella D301, devi mettere MOVD A352 #0010 D301. A questo punto, fai dei confronti in BCD e funziona. Nel secondo post, in primis, le DT vogliono come word di controllo la mascheratura, cioè la non lettura, dei dati non necessari. Pertanto, per confrontare solo minuti e ore, non va messo #0006 (che invece ti esclude proprio i minuti e ore), ma #0039. Poi devi considerare che tali istruzioni confrontano un gruppo di 3 word strutturate come datario, per cui va bene A351 come primo parametro, ma D400 è solo la prima word (quindi avrai impegnato anche la D401 e la D402). Ergo, se devi sapere quando sono le 5:30, dovrai avere D400 a #3000 e D401 a #0005 (notare la scrittura dei valori in BCD)
gregorio Inserita: 15 novembre 2019 Autore Segnala Inserita: 15 novembre 2019 7 ore fa, Ctec ha scritto: Grazie, ho eseguito la funzione DT e funziona perfettamente, mi sarebbe utile scrivere il valore D400 e D401 direttamente da un pannello operatore NB Ho sbagliato a scrivere, ma il mio messaggio è quello sopra, se puoi essermi di aiuto grazie
gregorio Inserita: 16 novembre 2019 Autore Segnala Inserita: 16 novembre 2019 Ho provato anche con =DT ma non riesco a farlo funzionare, ho trovato questo esempio che dovrebbe confrontare ore e minuti per abilitare la uscita 100.0 ma mettendo qualsiasi valore su D400 non riesco a farlo funzionare. Nel mio caso devo comandare una uscita alle 5,30 di mattino, inoltre vedo che la funzione è in giallo. Preciso, le ore non ho problemi, metto il valore sul pannello e sul plc è corretto. I minuti non bisogna impostare 30 ma 3000, quindi impostando il valore 30 in una DM esempio D410 e poi nel plc facendo una moltiplicazione mi dà il valore corretto 3000 ma mi azzera la D401 come se la moltiplicazione sconfina in d401
gregorio Inserita: 16 novembre 2019 Autore Segnala Inserita: 16 novembre 2019 (modificato) Ho provato anche con =DT ma non riesco a farlo funzionare, ho trovato questo esempio che dovrebbe confrontare ore e minuti per abilitare la uscita 100.0 ma mettendo qualsiasi valore su D400 non riesco a farlo funzionare. Nel mio caso devo comandare una uscita alle 5,30 di mattino, inoltre vedo che la funzione è in giallo. Preciso, le ore non ho problemi, metto il valore sul pannello e sul plc è corretto. I minuti non bisogna impostare 30 ma 3000, quindi impostando il valore 30 in una DM esempio D410 e poi nel plc facendo una moltiplicazione mi dà il valore corretto 3000 ma mi azzera la D401 come se la moltiplicazione sconfina in d401 Ho fatto cosi: non so se questa sia la soluzione più elegante, ma funziona I minuti li ho messi nella D410 e le ore nella D420 Modificato: 16 novembre 2019 da gregorio
Livio Orsini Inserita: 16 novembre 2019 Segnala Inserita: 16 novembre 2019 Prima di scrivere il messaggio esegui un "Ctrl + z" così pulisci la finestra dell'editor, altrimenti riscrivi anche il messaggio precedente e la discussione diventa illeggibile.
gregorio Inserita: 17 novembre 2019 Autore Segnala Inserita: 17 novembre 2019 Non sapevo che con CTRL+Z si puliva lo schermo. Sono riuscito a completare il progetto e capire bene il funzionamento, ho adoperato anche i giorni della settimana al fine di escludere l'avvio di sabato e domenica. Grazie dell'aiuto. Un'ultima domanda: E' possibile modificare l'ora e i minuti nel caso siano errati tramite il pannello NB. Da quello che ho letto dal manuale mi sembra che non sia possibile, non conosco la precisione dell'orologio interno quindi è una cosa da valutare.
gregorio Inserita: 17 novembre 2019 Autore Segnala Inserita: 17 novembre 2019 Ho visto la funzione DATE, ho provato a modificare ora e minuti senza riuscirci
Ctec Inserita: 17 novembre 2019 Segnala Inserita: 17 novembre 2019 Ho perso un po' il controllo... Una parte l'hai risolta e ora hai bisogno di altro? Fammi una cortesia, ricapitola un po' cosa ti serve adesso. Mi pare di capire che vuoi correggere la data/ora nel PLC da pannello, giusto? In tal caso, la DATE è l'istruzione necessaria, ma deve essere composta a modino l'area di 4 word specificata nel comando. Devono essere composte tutte e quattro, non puoi semplicemente impostare i byte delle ore e minuti, altrimenti avrai un errore. Normalmente si legge l'area datario attuale di A351 e successivi in un'area temporanea, si fanno le modifiche necessarie in questa area temporanea, poi si esegue la DATE puntando a questa area.
gregorio Inserita: 17 novembre 2019 Autore Segnala Inserita: 17 novembre 2019 Mi sembra complicato, sono riuscito a comandare le uscite, visualizzare sul pannello NB ora e minuti del plc, ma non riesco nel caso di necessità modificare dal pannello NB ora e minuti. La funzione DATE mi sembra complicata, se mi puoi dare un esempio
gregorio Inserita: 17 novembre 2019 Autore Segnala Inserita: 17 novembre 2019 Ho messo i minuti in DM 140 e le ore in DM 160 Ho fatto l'istruzione MOVD con #211 e i minuti li mette al posto giusto, non riesco a mettere le ore al suo posto, quale è il valore da inserire
Ctec Inserita: 17 novembre 2019 Segnala Inserita: 17 novembre 2019 Ti ho fatto un esempio, perfettamente funzionante. Ho definito delle variabili (occhio agli array) per rendere più leggibile il programma. A presto
gregorio Inserita: 17 novembre 2019 Autore Segnala Inserita: 17 novembre 2019 Grazie, ho eseguito le istruzioni e funziona perfettamente vedrò di capire bene le istruzioni
Roberto massa Inserita: 3 maggio 2023 Segnala Inserita: 3 maggio 2023 Salve, mi aggancio a questo post per avere un consiglio. Vorrei aggiungere data e ora sul pannello HMI, come posso fare? Grazie
Livio Migliaresi Inserita: 3 maggio 2023 Segnala Inserita: 3 maggio 2023 @Roberto massa Perché accodarsi ad altrui discussione se puoi aprirne una propria. Questa discussione chiude; apri una tua discussione magari riportando il link di questa se pensi possa esserti utile.
Messaggi consigliati