Vai al contenuto
PLC Forum


Orologio S7200


Messaggi consigliati

Inserito:

Ciao ragazzi sto realizzando un programmino per il comando di un impianto di allarme.

Questa dovra accendersi ad una certa ora la sera e spegnersi la mattina sempre ad orario, ma non ho capito come si imposta l'orologio, qualcuno di voi può per cortesia crearmi i segmenti che dovrò inserire nel mio programmino per far accendere e spegnere l'allarme ad orario ? I programma da me creato è in kop, e la CPU è una S7200 224.

Ringrazio anticipatamente tutti gli amici del forum.

Ciao .


Inserita:

Ciao, scusa ma non riesco in questo momento a farti il programma, comunque le funzioni da usare sono le

Leggi orologio hardware (TODR) legge dall’orologio hardware l’ora e la data attuali e li carica in un buffer di 8 byte iniziando dall’indirizzo T.

L’operazioneImposta orologio hardware (TODW) scrive nell’orologio hardware l’ora e la data attuali iniziando dall’indirizzo del buffer di 8 byte specificato da T.

T anno

T+1 mese

T+2 giorno

T+3 ora

T+4minuti

T+5secondi

T+6 niente

T+7 giorno della settimana (1= domenica)

I valori della data e dell’ora devono essere codificati in formato BCD (ad esempio 16#97 per l’anno 1997).

Con semplici operazioni di confronto tra numeri BCD vai ad attivare il tuo segmento.

Se devi accendere una luce dalle 8:00 fino alle 20:00 farai un confronto se VBX (T+3) maggiore di 8 e minore di 20 allora....

Inserita:

Ciao Rimonta

ti ringrazio per la tua risposta, ma penso che solo non ce la farò, io per adesso ho creato i primi sette segmenti inserendo l' operazione leggi orologio hardware ( TODR ) e come o indirizzo di memoria ho messo relativamente per ognuno

VB0 = anno

VB1,= mese

VB2 = giorno

VB3 = ora

VB4 = minuti

VB5 = secondi

VB6 = niente

VB7 = giorno settimana

Come continuo ora ?

Ti ringrazio anticipatamente.

  • 2 weeks later...
Inserita:

Ciao a tutti gli amici del forum,

scusate la mia insistenza , ma nessuno di voi puo darmi una mano a realizzare i segmenti necessari per poter spegnere ed accendere un bit a una determinata ora tramite orologio hardware ? Rimonta è stato gentilissimo, ma la sua spiegazione non è sufficente al mio grado di preparazione.

Grazie.

Giuseppe Signorella
Inserita: (modificato)


Network 1		 // Lettura dell'orologio HW dell'S7 200

LD SM0.0		 // Bit sempre ad 1

TODR VB100		 // Legge la data è l'ora e lo memorizza a partire da VB100 fino a VB107


Network 2		 // accendi alle 13:00 l'uscita Q0.0

LD SM0.0		 // Bit sempre ad 1

AB= VB103, 16#13         //DA ESPRIMERE IN ESADECIMALE

AB= VB104, 16#00

S Q0.0, 1		 // Setta ad 1 l'uscita Q0.0


Network 3		 // spegni alle 14:10 l'uscita Q0.0

LD SM0.0		 // Bit sempre ad 1

AB= VB103, 16#14         //DA ESPRIMERE IN ESADECIMALE

AB= VB104, 16#10

R Q0.0, 1		 // Resetta a 0 l'uscita Q0.0

Dove avrai come (come spiegato da rimonta)

VB100 = anno

VB101,= mese

VB102 = giorno

VB103 = ora

VB104 = minuti

VB105 = secondi

VB106 = niente

VB107 = giorno settimana

N.B. i valori devono essere espressi in esadecimale.

By By

Modificato: da Giuseppe Signorella
Inserita:

Ciao Giuseppe,

ti ringrazio per la tua disponibilità, spero prima o poi di poter ricambiare, ma ti volevo chiedere se me lo puoi scrivere in Kop.

Grazie nuovamente !!!!!

Giuseppe Signorella
Inserita:

Non ho su questo pc il microwin, anche perché è da un po che non lo uso, ma il software è più tosto semplice, dovrebbe presentarsi pressapoco in questo modo:

RTC_S7_200.jpg

Inserita:

Ciao Giuseppe,

sei una macchina!!!!

Sono molto riconoscente per l' aiuto che mi hai dato !!!!!!

Inserita:

Dove posso andare a leggere l'ora hardware della CPU ?

Giuseppe Signorella
Inserita: (modificato)
Dove posso andare a leggere l'ora hardware della CPU ?

Forse sono io a non capirti, ma fino ad ora di cosa si è parlato nei post?

L'ora della CPU la leggi mediante l'apposita istruzione e la memorizzi integralmente nella memoria V sotto formato di byte, per l'esattezza 8 byte dove ogni singolo byte assume un significato ben definito e specificato nel manuale di sistema. (Che ti invito a leggere) Nell'esempio da me menzionato viene scritto a partire dalla VB100 fino alla VB107.

Unica precisazione, in alcune CPU devi inserire l'apposito modulo RTC che va inserito nell'apposita fessura frontale.

Modificato: da Giuseppe Signorella

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