Lettura TAGs RFID con connessione 1Wire
Home › Forum › Discussioni su problematiche generali › Lettura TAGs RFID con connessione 1Wire
- Questo topic ha 8 risposte, 1 partecipante ed è stato aggiornato l'ultima volta 4 anni, 11 mesi fa da
Sergio Bertana.
-
AutorePost
-
Maggio 15, 2019 alle 8:56 am #47439
Anonimo
InattivoDove posso trovare un’esempio di lettura tramite il vostro lettore RFID 1W-H3-05 M12 abbinato a CPU SlimLine, indicativamente nella documentazione ho trovato i riferimenti alla libreria eLLab1WireLib_D100.
Da quello che ho capito che il FB OWRdTemperature legge le temperature anche da più sensori sullo stesso BUS. Mentre la funzione OWRdIdentifier legge solo da un dispositivo collegato al BUS.
Come faccio a leggere da quattro lettori RFID montati sullo stesso BUS? Auspico che sia fattibile.
Maggio 15, 2019 alle 9:05 am #47443Sergio Bertana
Amministratore del forumTutta la gestione dei dispositivi 1Wire è fornita nella libreria eLLab1WireLib_D100, per i vari oggetti funzioni e blocchi funzioni sul Manuale programmazione IEC61131-3 è riportato un esempio, se vedi sull’esempio riferito al FB sOWRdIdentifier è riportato il riferimento (PTP120A600, FBD_OWRdIdentifier), questo significa che puoi importare il programma FBD_OWRdIdentifier dal dimostrativo PTP120A600.
In questo articolo trovi informazioni su come utilizzare le librerie, e nello stesso modo in cui si importano gli oggetti da libreria si possono importare programmi da dimostrativi.
Il bus 1Wire permette di poter gestire più dispositivi tutti connessi in parallelo sul bus, questo perchè ogni dispositivo ha un suo identificatore unico che lo distingue dagli altri. Nella acquisizione dei TAGs sia a contatto che RFID, si và proprio ad acquisire questo identificativo, quindi si usa il comando 1Wire read ROM identifier che legge in broadcast, quindi si può avere 1 solo dispositivo connesso al bus.
Se utilizzi un modulo MPS054 visto che dispone oltre che della porta 1Wire anche due porte RS232, puoi utilizzare due adattator1 1-Wire a RS232 per avere in totale la possibilità di acquisire 3 lettori RFID. Se utilizzi un lettore RFID R3, lo puoi connettere ai due ingressi digitali e così puoi avere un ulteriore lettore (Articolo).
Maggio 18, 2020 alle 9:15 am #55255Giovanni
PartecipanteSto collaudando un sistema di identificazione con dispositivi 1Wire e uso il dimostrativo indicato, però il PTP120A600 non lo trovo, ho trovato solo un PTP120A400, che contiene il programma FBD_OWRdIdentifier, con delle differenze però …
l’ FB_OWireCore usata nell’esempio del manuale è diversa, FB_OWireCore_v1 ed ha un pin di ingresso DTCheck che la versione FB_OWireCore non ha.
Nella libreria eLLab1WireLib_D100 trovo la versione della FB presente nel dimostrativo, non quella presente nel manuale, cioè la FB_OWireCore
La lettura dei tag avviene con successo, solo che il pin Ok della FB_OWRdIdentifier dopo la lettura si attiva per un loop più volte, e non solo una volta a tag presente, come mi aspetterei…
Maggio 18, 2020 alle 1:48 pm #55266Giovanni
PartecipanteHo proseguito le prove e ho trovato che usando la porta 1W del PLC il programma funziona, pur con il problema sul bit Ok, mentre usando il convertitore 1-Wire to RS232 DS9097U collegato alla porta COM0 non funziona… se testo l’uscita OwBOk resta a 0 come se non ci fosse nessun dispositivo 1W collegato.
Maggio 18, 2020 alle 2:03 pm #55277Sergio Bertana
Amministratore del forumHo ricompilato la libreria ora è possibile scaricare dal sito la nuova versione della libreria ePLC1WireLib (Sfr059e000) con il nuovo programma dimostrativo Ptp120b000.
In merito all’uscita Ok del FB OWRdIdentifier, se usi il programma di esempio riportato in questo articolo, è normale che continui ad attivarsi. Infatti se vedi l’uscita Done và a togliere l’Enable e quindi resetta il FB che poi con Done FALSE riparte per una nuova lettura del TAG. Quindi è una esecuzione continua, ad ogni esecuzione cha sia positiva (Ok a TRUE) o negativa (Ok a FALSE) viene eseguita un’altra acquisizione.
Sarai tu sull’Ok a TRUE a bloccare la lettura, oppure a continuarla per accorgerti quando viene tolto il TAG dal lettore.
Maggio 19, 2020 alle 3:31 pm #55301Giovanni
PartecipanteComunque non riesco a far funzionare il convertitore 1-Wire to RS232 DS9097U collegato alla porta COM0. Mi sembra che l’unica modifica rispetto all’uso della porta 1W della CPU sia mettere COM0 al posto di PCOM255.0 … o no?
Maggio 19, 2020 alle 3:32 pm #55303Giovanni
PartecipanteHo risolto scoprendo che il pinout del connettore DB9 del 1-Wire to RS232 DS9097U è indicato con il RXD e il TXD al contrario, per cui ho attaccato il TXD del DB9 al TXD del RJ45 SlimLine e il RXD del DB9 al RXD del RJ45 SlimLine e così funziona….
Maggio 20, 2020 alle 5:05 pm #55356Giovanni
PartecipanteAncora una cosa… nel programma dimostrativo Ptp120b000 la FBD_OWRdIdentifier è nella task Boot invece che in Back … e non funziona … mettendola in Back funziona regolarmente.
Maggio 20, 2020 alle 5:13 pm #55363Sergio Bertana
Amministratore del forumNei programmi di esempio ci sono gli esempi di tutti i FB della libreria, quindi ci sono svariati POU che utilizzano tutti magari la stessa porta di comunicazione e che non possono coesistere in esecuzione.
Per sopiegarmi meglio il programma dimostrativo lo utilizziamo per verificare che non si generino errori nella compilazione della libreria, quindi occorre che tutti gli oggetti della libreria siano istanziati. Siccome i FB accedono alle stesse risorse del sistema metto in task di Boot tutti i programmi e poi sposto di volta in volta in task Back il programma che voglio testare.
Riassumendo lo scopo del dimostrativo è di avere al suo interno tutti i programmi utili per verificare il funzionamento degli oggetti di libreria, ma NON VA’ UTILIZZATO così com’è, DEVE ESSERE UTILIZZATO solo per copiare i vari oggetti nel proprio programma.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.