Vai al contenuto
PLC Forum


S300: Leggere Orario Corrente


autojac

Messaggi consigliati

Salve, scusate l'ignoranza. C'è un modo semplice, in step7, per leggere l'ora corrente? Per esempio, determinare la mezzanotte (o un qualsiasi altro orario) della giornata, è possibile?

Io avrei bisogno di salvare una misura, esattamente allo scadere di ogni ora...

Link al commento
Condividi su altri siti


Anche leggendo il manuale, vedo che dovrei usare l'SFC1.

Quindi provo a chiamare l'SFC1, dall'OB1 (giusto per provare).

CALL "READ_CLK"

RET_VAL:=MW12

CDT :="Prova".Current_DateTime

NOP 0

Deduco che la data sia appoggiata nella variabile temporanea che mi sono dichiarato Current_DateTime (che è di tipo Date_and_Time).

Come faccio però ad esportarla, e a vederla all'esterno, per utilizzarla in una logichetta di controllo?

Link al commento
Condividi su altri siti

è già in quella variabile, puoi usarla come ti pare e piace nel tuo programma.

se guardi il manuale ci sono vari blocchi standard per estrarre data ora minuti etc etc, per convertirli in altri formati.

senza usare sfc1 puoi leggere la data e l'ora nel formato date and time nelle variabili temp di ob1, come già suggerito da gapo

Link al commento
Condividi su altri siti

Il problema è che vedo dall'., che per convertire la data e l'ora, si usano funzioni preimpostate, che però hanno nome fc6, fc8.. e che io non posso assolutamente importare, perche nel mio progetto ci sono gia funzioni molto importanti che hanno quel nome... :(

Link al commento
Condividi su altri siti

Nell'OB1, come mi fate notare voi, c'è una variabile contenente l'ora corrente. Però la domanda è sempre la stessa. Come posso fare per utilizzarla, senza andare a chiamare le funzioni fc6, fc8 che trovo nell'.??

Link al commento
Condividi su altri siti

Per utilizzare le funzioni, come suggerito da Ken, basta rinominarle.

Per estrarre direttamente data e ora dal formato date_and_time basta guardare sul manuale cosa contiene questa variabile.

Quello che segue è copiato direttamente dalla guida in linea di Step 7, e trovato in pochissimi secondi semplicemente digitando "date" come ricerca.

Byte   Contenuto
0       Anno                 
1       Mese                 
2       Giorno               
3       Ora                   
4       Minuto               
5       Secondo            
6       Due cifre più significative di MSEC
7       (4MSB) Cifre meno significative di MSEC
7       (4LSB) Giorno settimanale
         1 = Domenica
         2 = Lunedì
         ...
         7 = Sabato

Link al commento
Condividi su altri siti

io ho fatto cosi'..

CALL "READ_CLK"

RET_VAL:=#Error

CDT :=#DateTime

L LD 14

T MD 50

L LD 18

T MD 54

dove DateTime e' una variabile di tipo Date_Time all'indirizzo locale 14, poi nelle doppie word 50 e 54 copio la data e l'ora, ricorda che le variabili sono in esadecimale, cioe' il minuto "30" per intenderci viene fornito come HEX30

saluti

Link al commento
Condividi su altri siti

  • 6 years later...
Giuseppe Signorella

Massimo1234, come da regolamento, (che ti invito a rileggere), è vietato accodarsi a discussioni esistenti, sopratutto se vetuste, in quanto si crea solo confusione.

Se necessario apri una nuova discussione.

 

*******************DISCUSSIONE CHIUSA**********************

Link al commento
Condividi su altri siti

  • Giuseppe Signorella locked this discussione
Ospite
Questa discussione è chiusa alle risposte.
×
×
  • Crea nuovo/a...