Vai al contenuto
PLC Forum


estrarre orologio su cp1e-n14


harl

Messaggi consigliati

Salve a tutti.................

so cercando di estrarre l'orologio da un cp1e ovvero tramite il comando

MOVD

a352

 #12

d300

 ovvero prendo l'area dove ha memorizzato giorno data a352 spsoto i digit che mi interessano e li muovo in una dm.

il problema sta nel fatto che sul simulatore mi funziona tutto mentre quando lo invio al plc la dm che raccoglie i dati mi fornisce valori sbagliati

Link al commento
Condividi su altri siti


occhio che i flag sono come segue (supponiamo di numerare i digit 1234):

 

A351: 12= minuti, 34= secondi

A352: 12= giorno, 34= ora

A353: 12= anno, 34= mese

A354  12=non usato, 34= giorno della settimana

 

quindi la tua istruzione precedente muove solo il giorno su D300

 

per avere l'ora in formato HH:MM su un unico DM devi fare ad esempio:

 

MOVD

A351

#113

D300

 

e poi

 

MOVD

A352

#210

D300

 

tieni presente che il formato è  BCD

 

ciao

 

 

Link al commento
Condividi su altri siti

ti ringrazio dell'interessamento all'argomento, il mio peoblema maggiore è che mettendo il programma sul plc i valori si sfalsano mi scrive delle fesserie, mentre sul  simulatore funziona correttamente e non capisco perchè

Link al commento
Condividi su altri siti

se guardi le due immagini una è in run con il simulatore e va tutto bene , altra immagine è in run su plc e li i valori cambiano e non capisco il perchè

Cattura.PNG

Cattura1.PNG

Link al commento
Condividi su altri siti

Forse nel PLC hai qualche altro dato scritto sul D252 ed inoltre hai la visualizzazione decimale mentre le date sono in BCD. Prova a pulire il D252 con un MOV #0000 prima di eseguire la MOVD e quando sei online commuta sulla visualizzazione esadecimale (icona occhialini 16)

Link al commento
Condividi su altri siti

Antonio Mascolo

io ho usato nel movd #10 #0010 e #12 col valore #34 mi dava errore bohhh, comunque un modo veloce per resettare a zero tutte le dm in modo da non ricadere nello sbaglio di dm sporche che mi falsano i valori esiste ?

Link al commento
Condividi su altri siti

Antonio Mascolo

il cp1 ha poi un comando per confrontare il suo calendario ? il cj1 mi sembra che dovrebbe avere un comando chiamato load !!!!!!!!!!!!!!!!!!!!!!

praticamente ad un determinato orario impostato dovrei alzare un bit, per ora sto eseguendo dei confronti di uguale dove immetto l'ora che mi interessa ed alzo i bit, ma se qualcuno aveva un idea più pratica di come sviluppare la cosa sarei grato 

Link al commento
Condividi su altri siti

Ciao

Esistono dei comandi appositi.

Sono dei confronti sulla data (quindi i vari >,<,=,<>,>=, <= seguiti da DT che sta per Date) che fanno tutto da soli.

Hai la possibilità di mascherare la data in modo da fare i confronti su tutti i parametri della data oppure solo su alcuni (per esempio, fai il confronto solo su ore e minuti per far scattare un evento tutti i giorni alla solita ora).

 

PS: Antonio, come mai hai cambiato nome utente?

Link al commento
Condividi su altri siti

mi sono collegato semplicemente con accesso tramite facebook......................^_^

mascherare la data sarebbe ???????

devo tramite l'ora rilevare i pezzi in vari punti della linea salvarli ogni otto orecome parziale (un turno) tutto il giorno come totale  e come giorno della settimana quindi questo comando è molto utile mi evito di riscrivere righe di comando, oggi lo provo subito, e vedrai che dopo mi servirà sapere come voi programmatori di professione e non burbe come me salvate i dati in un mese 

Link al commento
Condividi su altri siti

La funzione e quella giusta, e un pò ostica da parametrizzare ma va che e una bomba. Alla fine della fiera ti restituisce appunto un bit che sarà 0-1 in funzione della tabella oraria.

Link al commento
Condividi su altri siti

un piccolo esempio su come parametrizzare la funzione per favore , non sono un gran programmatore .................................................

Link al commento
Condividi su altri siti

Dunque, le istruzioni di comparazione sulla data hanno tutte tre parametri, C, S1, S2.

Il primo è C il canale di controllo, che permette di decidere su quali dati dell'orologio di sistema (la data) dovrà essere eseguito il confronto.

L'area S1 (che va da S1 a S1+2) contiene la data attuale, e in genere la si imposta a A531, che è l'area che contiene l'orologio interno.

L'area S2 (che va da S2 a S2+2) contiene la data di confronto, che servirà quindi da paragone.

 

Se C=0, il confronto tra le due date S1 e S2 avverrà su tutti e sei i dati dell'orologio (dai secondi all'anno).

I primi 6 bit consentono di "spegnere" quei dati dell'orologio che non vogliamo paragonare, nell'. in linea e nel manuale trovi la mappa (maschera). Se un bit è a 1, quel dato non sarà considerato per il confronto. Se tutti e 6 i bit sono a 1, non confronta un bel nienete e setta il bit di errore ER.

Per esempio, se vogliamo comparare solo ora e minuti (faccio un timer che tutti i giorni alla stessa ora faccia partire qualcosa, magari una sveglia....), scrivo

=DT #0006 A531 D300

in D300 bit 8-15 avrò i minuti e in D301 bit 0-7 avrò l'ora in cui voglio far partire quel qualcosa, nel resto non importa ci sia qualcosa (viene ignorato), e la word di controllo è impostata in modo che si confrontino solo ora e minuti (bit 1 e 2 attivi, quindi 0000000000000110b, che in esadecimale è #0006).

Al tempo impostato, l'istruzione emetterà sulla sua destra un 1, eseguendo quindi quello che segue.

 

Spero di essere stato chiaro

Link al commento
Condividi su altri siti

andrea scusami specificami il manuale quello che ho io non ho trovato nulla o cosa devo scrivere nella guida in linea  riguardo alle tue spiegazioni grazie 

Link al commento
Condividi su altri siti

andrea scusami ma non mi funziona;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;potresti dirmi un esempio per fare on uscita alle 5:00:00 per cercare di capire meglio perché sul manuale che ho io mi spiega differentemente e mi sa che ho fatto confusione da solo 

Link al commento
Condividi su altri siti

ho copiato spudoratamente il tuo esempio , cambiato orario del plc e niente da fare unica cosa strana il comando date è evidenziato in giallo 

Cattura.PNG

Cattura 1.PNG

Link al commento
Condividi su altri siti

Non so che dire. A me a sempre funzionato, e funziona pure l'esempio.

E' anche vero che i CP1E non li uso mai, ma in simulazione funziona lo stesso.

Link al commento
Condividi su altri siti

ho fatto un esperimento simulando su un cj e funziona si vede che il cp1 non lo digerisce il comando o almeno il mio che ho qui in officina ..................

grazie mille Andrea alla prossima 

Link al commento
Condividi su altri siti

Il CP1E-E non ha la batteria e non può essere installata

Il CPUE-N non ha la batteria ma può essere installata come opzione

La batteria serve a mantenere il valore delle aree di memoria ritentive ( D e H solitamente ) e l'orologio

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