fetente Inserito: 29 marzo 2016 Segnala Share Inserito: 29 marzo 2016 Buongiorno a tutti, sono nuovo, pertanto, mi presento. Mi chiamo Andrea e sono dipendente di un'Azienda di riciclo materie plastiche. Siccome ho fatto diversi programmi con PLC in passato, adesso mi hanno chiesto di fare il programma per una applicazione un po' particolare. Ho già fatto tutto quello che potevo per quanto riguarda l'automazione ecc, lasciando per ultimo il problema del tempo. In sostanza, ho bisogno di avere data e ora di un certo evento, e l'unico modo per farlo è usare un RTC. Ho fatto tutto il programma con un Cubloc CB220 (lo avevo comprato tanto tempo fa, ma non ci ho mai fatto niente, quindi l'ho utilizzato). Il problema è che non capisco come fare a farlo dialogare con l'RTC. Di esempi sul web ce ne sono tanti, ma tutti utilizzano librerie preconfezionate che non posso utilizzare (tipo arduino ecc). Qualcuno ha idea di come fare? Grazie a tutti, Andrea Link al commento Condividi su altri siti More sharing options...
Lucky67 Inserita: 29 marzo 2016 Segnala Share Inserita: 29 marzo 2016 Io ho un manuale un pò datato ma mi pare spiegato molto bene cubloc_rtc.pdf Link al commento Condividi su altri siti More sharing options...
fetente Inserita: 29 marzo 2016 Autore Segnala Share Inserita: 29 marzo 2016 Grazie mille! Meglio di così non si poteva! Gli integrati non hanno differenze? Link al commento Condividi su altri siti More sharing options...
Lucky67 Inserita: 29 marzo 2016 Segnala Share Inserita: 29 marzo 2016 Non ci giuro però non ho il tempo per adesso di approfondire..se vuoi guarda qui. E' solo un esempio e credo che guardando gli sheets potrai rendertene conto da solo.. Link al commento Condividi su altri siti More sharing options...
fetente Inserita: 30 marzo 2016 Autore Segnala Share Inserita: 30 marzo 2016 Ciao, in effetti, ieri sera, ho guardato i datasheet e ho visto che uno è un SPI e l'altro I2C. Questa mattina presto, mi sono messo a studiare un po' il ds del 1307 e ho cercato di cavarne qualcosa. Oggi pomeriggio faccio le prime prove Nel frattempo, se qualcuno avesse già scritto qualcosa.... Grazie, Andrea Link al commento Condividi su altri siti More sharing options...
fetente Inserita: 2 aprile 2016 Autore Segnala Share Inserita: 2 aprile 2016 Dopo un po' di ore, questo è il risultato.... Dim rec(15) As Byte Set I2c 9,8 Sub ReadRTC() Dim minuti As Byte Dim ore As Byte Dim gg As Byte Dim giorno As Byte Dim mese As Byte Dim anno As Byte Dim ss As String Dim tmph As Integer Dim tmpl As Integer Dim r As Integer I2cstart r=I2cwrite(&b11010000) 'slave address write mode If r=1 Then errore 0 r=I2cwrite(&H01) 'puntatore dell'indirizzo partendo da 1 (non ci interessano i secondi) If r=1 Then errore 1 I2cstart r=I2cwrite(&b11010001) 'slave address read mode If r=1 Then errore 9 minuti=I2cread(0) 'da qui leggo e il puntatore dell'indirizzo incrementa di 1 ad ogni lettura tmph=minuti.Nib1 'leggo il nibble superiore per trovare le decine tmph=tmph*10 'e lo moltiplico per 10 tmpl=minuti.Nib0 'leggo il nibble inferiore per trovare le unità minuti=tmpl+tmph 'che sommo alle decine lette in precedenza ore=I2cread(0) 'ripeto l'operazione per tutte le altre letture tmph=ore.Nib1 tmph=tmph*10 tmpl=ore.Nib0 ore=tmpl+tmph gg=I2cread(0) 'il numero di giorno (da 1 a 7) non mi interessa ma lo devo leggere per incrementare il puntatore giorno=I2cread(0) tmph=giorno.Nib1 tmph=tmph*10 tmpl=giorno.Nib0 giorno=tmpl+tmph mese=I2cread(0) tmph=mese.Nib1 tmph=tmph*10 tmpl=mese.Nib0 mese=tmpl+tmph anno=I2cread(0) tmph=anno.Nib1 tmph=tmph*10 tmpl=anno.Nib0 anno=tmpl+tmph I2cstop Delay 15 If Len(Dec giorno)=1 Then 'aggiungo uno '0' se il giorno va da 1 a 9 per formattare la data gg/mm/aa ss="D=0" + Dec giorno Else ss="D=" + Dec giorno End If If Len(Dec mese)=1 Then ss=ss + "/0" + Dec mese Else ss=ss + "/" + Dec mese End If ss=ss + "/" + Dec anno Putstr 0, ss Delay 200 ss="H=" + Dec ore If Len(Dec minuti)=1 Then 'faccio la stessa cosa con l'ora per formattarla hh:mm ss=ss + ":0" + Dec minuti Else ss=ss + ":" + Dec minuti End If Putstr 0, ss Delay 200 End Sub Sub errore(sas As Integer) Debug "Errore" + Dec sas End Sub 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