superpolipo Inserito: 18 febbraio 2005 Segnala Inserito: 18 febbraio 2005 Salve a tutti, mi chiedevo se qualcuno di voi sa spiegarmi come estrarre data e ora con i blocchi standard siemes dall CPU. Nel progetto ho usato una CPU 315 2 DP.In effetti La data e il giorno sono già riuscito ad estrarli trapite i blocci Siemens ( FC 6 e Fc 7) il mio problema è come ricavare l'ora per poi elabolarla nel programma. Grazie mille a tutti.
Matteo Montanari Inserita: 18 febbraio 2005 Segnala Inserita: 18 febbraio 2005 Da . in linea Siemens:Tipo datiDATE_AND_TIMELunghezza (bit)64Formato Anno mese giorno - h:mm:ss:msoppure DTEsempi di formatoDT#1995-02-02-08:30:01.999Il tipo di dati Date_And_Time viene memorizzato in formato BCD:Byte Contenuto Area0 Anno 1990 ... 20891 Mese 01 ... 122 Giorno 1 ... 313 Ora 0 ... 234 Minuto 0 ... 595 Secondo 0 ... 596 2 MSD di ms 00 ... 997 (4 MSB) LSD di ms 0 ... 97 (4 LSB) Giorno settimana 1 ... 7 (1 = domenica)---Tipo datiTIMELunghezza (bit)32FormatoIntervallo con segno:+ o - giorni, ore, minuti, secondi, millisecondiEsempi di formato (valore limite superiore ed inferiore)Max. T#+24d20h31m23s647msMin. T# -24d20h31m23s647msNon è necessario indicare tutte le unità di tempo (p. es.: T#5h10s è valido).Se viene indicata un'unica unità, il valore assoluto di giorni, ore, e minuti, non può superare i valori limite inferiori e superiori.T# -65535 e T#+65535 rappresentano il valore limite superiore ed inferiore di secondi e millisecondi.Se viene indicata più di un'unità di tempo, non si potranno rispettivamente superare:· le 23 ore· i 59 minuti· i 59 secondi· i 999 millisecondi.Avvertenza: Il tipo di dati TIME viene memorizzato quale numero intero con segno in millisecondi col formato di complemento a due.---Tipo datiDATELunghezza (bit)16FormatoAnno mese giornoEsempi di formatoMin. D#1990-01-01Max. D#2168-12-31-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-spero che ti sia chiaro, in caso contrario: CALL SFC 1 RET_VAL:=#Aux_INT CDT :=#DataOra (DBW0 IN FORMATO DATE_AND_TIME) //; // Trasformazione tutto da BCD a decimale //; // SECONDO //; L DBB 5 BTI T #Secondo //; // MINUTO //; L DBB 4 BTI T #Minuto //; // ORA //; L DBB 3 BTI T #Ora //; // GIORNO //; L DBB 2 BTI T #Giorno //; // MESE //; L DBB 1 BTI T #Mese //; // ANNO //; L DBB 0 BTI T #Anno L 4 MOD L 0 ==I = #AnnoBisestile //; // Calcolo del giorno della settimana //; L DBB 7 L B#16#F UW BTI T #GiornoSettimana //; // Domenica //; L #GiornoSettimana L 1 ==I = #Domenica //; // Lunedi //; L #GiornoSettimana L 2 ==I = #Lunedi //; // Martedi //; L #GiornoSettimana L 3 ==I = #Martedi //; // Mercoledi //; L #GiornoSettimana L 4 ==I = #Mercoledi //; // Giovedi //; L #GiornoSettimana L 5 ==I = #Giovedi //; // Venerdi //; L #GiornoSettimana L 6 ==I = #Venerdi //; // Sabato //; L #GiornoSettimana L 7 ==I = #Sabatocomunque selezionando la Funzione di sistema SFC1 e premendo F1 ti appare l'., in fondo puoi visualizzare un codice in AWL di un esempio di utilizzo delle funzioni per leggere/scrivere la data ed ora
superpolipo Inserita: 19 febbraio 2005 Autore Segnala Inserita: 19 febbraio 2005 Grazie mille per l'informazione. Sei stato "PERFETTO" nella spiegazione GRazie mille!!!
Matteo Montanari Inserita: 19 febbraio 2005 Segnala Inserita: 19 febbraio 2005 (modificato) Sei stato "PERFETTO" nella spiegazioneNessuno è perfetto, firmato Nessunoho solo cercato di darti qualche dritta...per le cose non troppo complesse e soprattutto per le funzioni standard presenti nel PLC, l'. in linea è molto utilie.occorre prendere questi piccoli mattoncini, metterli insieme l'uno con l'altro e costruire qualcosa di più grande.se hai una CPU puoi provare quello che stai facendo, rendenti conto di cosa modificare e dove (riesci a farlo anche con il simulatore).come diceva qualcuno "un lungo cammino comincia sempre da un piccolo passo" Modificato: 19 febbraio 2005 da keosmm
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora