Vai al contenuto
PLC Forum


S300: Leggere Orario Corrente


Messaggi consigliati

Inserito:

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


Inserita:

Guarda tra le variabili TEMP di OB1

(eventualmente, per scrivere, devi usare SFC 0)

Inserita:

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?

Inserita:

è 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

Inserita:

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

Inserita:

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

Inserita:

le rinomini con altri nomi e le usi.

se non te lo fa fare rinomi le tue funzioni. nulla cambia

Inserita:

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

Inserita:

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

  • 6 years later...
Inserita:

Ciao come mai mi rimane rosso

cdt quando metto le variabili che mi dite di mettere grazie 

Giuseppe Signorella
Inserita:

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

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