Pagina 1 di 1

impostare l'orologio della cpu 315-2DP

MessaggioInviato: 19 giu 2007, 9:23
da faustoleone
Come posso settare l' orologio del PLC ?
Non volevo scrivere programma ma solo forzare le dovute aree di memoria se è possibile
poi usavo l' SFC1 per leggere l'ora , la data e visualizzarle :wink: su di una OP177
Grazie amici :wink:

MessaggioInviato: 20 giu 2007, 18:58
da Ivan_Iamoni
Caro faustoleone,
Scrivevi,
Non volevo scrivere programma ma solo forzare le dovute aree di memoria
:roll:

Non e' cosi' semplice, e siccome non voglio aprire un topic di 2 pagine, ti passo direttamente gli esempi di codice che ho fatto con il mio Simatic Manager.
Segui questa procedura passo passo.
Primo, crea nel tuo progetto una DB1 (ho usato questa per esempio)
Inserisci nel tuo progetto se non vi fossero , i blocchi SFC0 ed SFC1.
Apri OB1 ed aggiungi nell'intestazione del blocco , le ultime tre variabili TEMP che vedi nell'immagine.
http://immagini.p2pforum.it/out.php/i18 ... ribili.bmp

Secondo, inserisci questo segmento.
http://immagini.p2pforum.it/out.php/i18 ... gmento.bmp

Terzo aggiungi subito dopo questo segmento.
http://immagini.p2pforum.it/out.php/i18 ... gmento.bmp

Quarto aggiungi subito dopo questo segmento.
http://immagini.p2pforum.it/out.php/i18 ... gmento.bmp

Salva e carica OB1 e DB1, crea nel pannello i campi lettura/scrittura per la data tipo YY/MM/DD e per l'ora tipo HH/MM/SS , poi associa ciscun campo ad una rispettiva variabile a 2 digit formato HEX , da associare allo specifico byte della DB1.
Ho inserito nel mio codice piu' commenti che potevo per rendertelo leggibile, spero che basti. Al limite penso che l'unico problema sia scrivere , l'etichetta di salto in LADDER (maledetto compilatore STEP7!), se proprio non sei capace usa AWL.
L'ho provato con CPU 315 TP277 e ti assicuro che funziona al 100%

Ciao
Ivan

impostare l'orologio della cpu 315-2DP

MessaggioInviato: 22 giu 2007, 14:02
da faustoleone
Grazie Ivan
il segmento scritto in LADDER serve solo per fare girare il segmento di impostazione orologio ?
credo di riuscire a tradurre tutto ma il JMPN è un risultato di logica di confronto per non eseguire parte del listato ?

comunque provo xche devo a mia volta eseguire prove su una CPU simile in cui non avendo il PANNELLO mi consentirà comunque di capire almeno il listato
Ok Ciao
Grazie ancora

MessaggioInviato: 22 giu 2007, 16:43
da Ivan_Iamoni
Non c'e' di che, 39Leon,




Si, il segmento 2 verifica che nella DB1 , che io ho supposto dedicata all'orologio, non vengano fatti cambiamenti da parte del pannello.
Con la condizione logica dei confronti, se nessun cambiamento fosse stato rilevato , salto "a pie' pari" il segmento 3 che serve a scrivere il nuovo valore nell'orologio.

comunque provo xche devo a mia volta eseguire prove su una CPU simile in cui non avendo il PANNELLO mi consentirà comunque di capire almeno il listato

Funziona anche senza pannello, ma dovrai essere tu a leggere i byte in stato e forzarli per testare l'aggiornamento orologio.
Ricordati , i valori di forzamento , in annotazione esadecimale HEX , 16#...

Buon lavoro.

Ivan