VINZENT Inserito: 15 aprile 2016 Segnala Share Inserito: 15 aprile 2016 Gentilissimi, S7_300 programmata con tia portal v13. Leggo l'ora del PLC con il blocco funzioni SFC1 e lo metto in una area dati db con il formato DT. Leggo tranquillamente. Pero' ora vorrei puntare il singolo byte per estrarre anno,mese,ora,minuti,secondi. Che blocco uso? oppure l'istruzione in AWL quale sarebbe? o difficoltà a fare il puntatore. Grazie Link al commento Condividi su altri siti More sharing options...
Operational Amplifier Inserita: 15 aprile 2016 Segnala Share Inserita: 15 aprile 2016 Se guardi nel DB dove hai configurato il dato in formato DTL vedrai che è una struttura di variabili e troverai già le informazioni che ti servono. Buon Lavoro Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 15 aprile 2016 Autore Segnala Share Inserita: 15 aprile 2016 infatti...non ho parlato di DTL ma di DT che non crea una struttura gia' divisa ma e' in formato bcd. Link al commento Condividi su altri siti More sharing options...
Operational Amplifier Inserita: 15 aprile 2016 Segnala Share Inserita: 15 aprile 2016 Mi puoi indicare perchè non utilizzi il formato DTL....? Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 15 aprile 2016 Autore Segnala Share Inserita: 15 aprile 2016 perché in formato DTL non ce' per la 300 nel Tia Portal V13 Link al commento Condividi su altri siti More sharing options...
Operational Amplifier Inserita: 15 aprile 2016 Segnala Share Inserita: 15 aprile 2016 Bene...lo devi scomporre, appoggia il dato su una variabile temporanea di un FC e poi leggi il singolo byte puntando all'area, sono 8 Byte. Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 15 aprile 2016 Autore Segnala Share Inserita: 15 aprile 2016 perfetto..gia' fatto tutto..e la tabella che mi hai girato lo gia' vista...ma non so come creare un puntatore per leggere solo la data o l'ora Link al commento Condividi su altri siti More sharing options...
Operational Amplifier Inserita: 15 aprile 2016 Segnala Share Inserita: 15 aprile 2016 Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 15 aprile 2016 Autore Segnala Share Inserita: 15 aprile 2016 la funzione SFC1 lato tia si chiama RD_SYS_T cosa dovrei scrivere giu' per fare il puntatore Link al commento Condividi su altri siti More sharing options...
Operational Amplifier Inserita: 15 aprile 2016 Segnala Share Inserita: 15 aprile 2016 Ti ho messo l'esempio è uguale cambia solo l'istruzione RD_SYS_T copialo e prova. Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 15 aprile 2016 Autore Segnala Share Inserita: 15 aprile 2016 sto' gia' tentando di copiarlo...ma mi manca il CDT che io non ho. e inoltre vorrei sapere sulla prima righa dell'anno...cosa ci metto tu hai messo LB0 a cosa si riferisce? Link al commento Condividi su altri siti More sharing options...
Operational Amplifier Inserita: 15 aprile 2016 Segnala Share Inserita: 15 aprile 2016 Aspetta facciamo un passo indietro...vedo che non stai capendo l'esempio che ti ho allegato. Quel CDT che vedi nel mio esempio per te è l' OUT (del blocco di sistema) e lì metti una variabile temporanea di tipo DT (sopra nell'albero di step7), fino a quì non dovresti avere problemi giusto? Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 15 aprile 2016 Autore Segnala Share Inserita: 15 aprile 2016 si perfetto ora o fatto una prova e riesco a leggere tutto. Non sto' capendo perché mi da' in giallo la parte LB Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 15 aprile 2016 Autore Segnala Share Inserita: 15 aprile 2016 Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 15 aprile 2016 Autore Segnala Share Inserita: 15 aprile 2016 e questi sono i dati caricati Link al commento Condividi su altri siti More sharing options...
Operational Amplifier Inserita: 15 aprile 2016 Segnala Share Inserita: 15 aprile 2016 Perchè con il Tia Portal accere in quel modo non è il massimo devi usare lo slice access digita il nome della variabile temporanea poi fai .b di byte Link al commento Condividi su altri siti More sharing options...
Operational Amplifier Inserita: 15 aprile 2016 Segnala Share Inserita: 15 aprile 2016 READ_OROLOGIO.b0....b1...b2 ecc. Link al commento Condividi su altri siti More sharing options...
nikestep10 Inserita: 5 settembre 2016 Segnala Share Inserita: 5 settembre 2016 Io lo ho fatto in questo modo e ti garantisco che funziona, provalo anche tu. Fai attenzione che la variabile CDT è temporanea ed è definita come date_and_time. SET CALL "READ_CLK" RET_VAL:=#error CDT :=#readDateAndTime LAR1 P##readDateAndTime /// Lettura dell'anno L B [AR1,P#0.0] T "DB_PANNELLI_PEZZI".READ_DT.ANNO /// Lettura del mese L B [AR1,P#1.0] T "DB_PANNELLI_PEZZI".READ_DT.MESE /// Lettura del giorno L B [AR1,P#2.0] T "DB_PANNELLI_PEZZI".READ_DT.GIORNO /// Lettura dell'ora L B [AR1,P#3.0] T "DB_PANNELLI_PEZZI".READ_DT.ORA /// Lettura dei minuti L B [AR1,P#4.0] T "DB_PANNELLI_PEZZI".READ_DT.MINUTI /// Lettura dei secondi L B [AR1,P#5.0] T "DB_PANNELLI_PEZZI".READ_DT.SECONDI /// Lettura del giorno della settimana L B [AR1,P#7.0] L B#16#F UW // And a parola a 16 bit T "DB_PANNELLI_PEZZI".READ_DT.WEEKDAY Link al commento Condividi su altri siti More sharing options...
suppaman87 Inserita: 12 settembre 2016 Segnala Share Inserita: 12 settembre 2016 Se provi a fare una ricerca nel forum l'argomento è stato trattato varie volte. Addirittura se non erro, il buon batta aveva messo a disposizione una libreria che spacchettava il formato DT. Comunque in sostanza i metodi descritti sopra dovrebbero andare, si tratta solo di scomporre il DT andando a leggere i singoli byte come descritto dalla struttura che trovi nella guida Step7 Link al commento Condividi su altri siti More sharing options...
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