Home › Forum › Programmazione IEC 61131 (LogicLab) › Calcolo CRC per dispositivi One-Wire Maxim
- Questo topic ha 1 risposta, 2 partecipanti ed è stato aggiornato l'ultima volta 6 anni, 6 mesi fa da Sergio Bertana.
-
AutorePost
-
Ottobre 10, 2017 alle 8:36 am #36154MarcelloPartecipante
Abbiamo acquistato da voi delle sonde 1Wire, le sonde sono configurate e associate ad una zona climatica tramite HMI. Per motivi di “spazio” sul TouchScreen vorrei non dover inserire tutto l’array (8 BYTE) ma solo la parte di ID (6 BYTE) e calcolare in automatico il CRC.
La Maxim Dallas fornisce le specifiche di calcolo di questo CRC ma mi chiedevo se voi avevate già un FB per questo calcolo.
Ottobre 10, 2017 alle 9:01 am #39989Sergio BertanaAmministratore del forumI prodotti Maxim iButton sono una famiglia di dispositivi che comunicano tutti su un solo filo con il protocollo 1-Wire, ogni dispositivo ha un codice univoco di 8 byte. Il byte meno significativo (letto per primo) identifica il tipo di prodotto (family code), i successivi 6 byte contengono il numero seriale (indirizzo dispositivo), il byte più significativo (letto per ultimo) è il cyclic redundancy check (CRC).
Utilizzando una comunicazione seriale ad indirizzamento è possibile collegare in parallelo (Su un unico bus) più dispositivi come le sonde di temperatura One-Wire della Sensit. Ma è possibile anche utilizzare TAG di riconoscimento per controllo accessi ed una gamma di altri prodotti commerciali. L’acquisizione avviene con un adattatore 1-Wire a RS232 connesso alla porta seriale o collegando il dispositivo al terminale Picoface (Supporta 1 solo dispositivo).
Per la lettura dei dispositivi da noi commercializzati forniamo delle librerie già pronte, venendo dietro alla tua richiesta ho estrapolato dalla libreria ePLC1WireLib la funzione OWCRC8Calc che esegue il calcolo del CRC. Ecco il programma OWCRCCalculation (stampa e download) che esegue il calcolo del CRC.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.