Acquisizione lettore Wiegand
Home › Forum › Controllori SlimLine e Netsyst (LogicLab) › Acquisizione lettore Wiegand
- Questo topic ha 3 risposte, 1 partecipante ed è stato aggiornato l'ultima volta 1 mese, 1 settimana fa da
Sergio Bertana.
-
AutorePost
-
Marzo 12, 2025 alle 10:26 am #80466
Anonimo
InattivoDovrei interfacciare dei lettori Wiegand ad un PLC SlimLine.
Cercando nella Vs Knowledge base ho trovato questo codice di esempio ST_WiegandDcd, ma penso sia vecchio. Esiste qualche cosa di nuovo?
L’esempio fa riferimento all’utilizzo dei due ingressi IO della CPU, potrei usare anche quello dei moduli IO aggiuntivi?
Marzo 12, 2025 alle 10:32 am #80470Sergio Bertana
Amministratore del forumL’esempio a cui fai riferimento utilizza il FB WiegandDcd che permette di decodificare un codice Wiegand a 26 bits,. Fornendo al FB il numero di bits che compongono il codice ed il codice Wiegand da decodificare il FB darà in uscita il Facillity e IDNumber del codice decodificato.
Nell’esempio a cui fai riferimento un program eseguito in una task Fast, con tempo di esecuzione settato a 1mS viene acquisito il dato Wiegand da un lettore connesso a due ingressi digitali di un modulo CPU. Come vedi dalle specifiche del protocollo l’ampiezza dell’impulso del segnale Wiegand è compresa tra 20 uS e 100 uS e l’intervallo tra impulsi è compreso tra 200 uS e 20 mS.
Quindi nell’esempio per poter acquisire ingressi cosi veloci sono stati utilizzati due counters, alla transizione dei due segnali Wiegand si ha un incremento del relativo counter. Ora essendo l’intervallo tra gli impulsi compreso tra 200 uS e 20 mS è importante che il programma esegua il controllo sulla variazione degli ingressi in questo tempo.
Quindi il tempo di esecuzione del programma và impostato rilevando qual’è il tempo di intervallo degli impulsi del tuo lettore, nel caso del lettore utilizzato nel programma ST_WiegandDcd era necessario controllare gli impulsi ogni 1mS.
Venendo alla tua domanda se possibile utilizzare gli I/O delle estensioni, precisando che comunque devi utilizzare ingressi counter, devi tenere presente il tempo di acquisizione di un counter da modulo di estensione. Se acquisire un counter sul modulo CPU richiede qualche uS, l’acquisizione da modulo di estensione richiede 300uS dovendo acquisirne 2 sono necessari 600uS. Ora se il programma viene eseguito ogni 1mS utilizziamo più della metà del tempo solo per acquisire i moduli di estensione e questo essendo la task Fast la più prioritaria rallenta l’esecuzione sia della Slow che della Back.
Quindi la risposta è se il tuo lettore Wiegand ha un intervallo tra impulsi di qualche mS puoi tranquillamente rallentare l’escuzione della task Fast e gestire gli I/O anche da modulo di estensione.
Marzo 12, 2025 alle 2:11 pm #80481Anonimo
InattivoIn riferimento a questa frase:
Venendo alla tua domanda se possibile utilizzare gli I/O delle estensioni, precisando che comunque devi utilizzare ingressi counter.
Mi sai dare un codice del tuo prodotti con questa tipologia di ingressi?
Marzo 12, 2025 alle 2:15 pm #80485Sergio Bertana
Amministratore del forumTra i moduli di estensione quelli che prevedono una gestione counter al momento sono:
- PCB124B010 SlimLine Modulo esp. I/O uscite statiche 16In 8Out + Gestione Counter/Encoder avanzata (4 counters)
- PCB124B000 SlimLine Modulo esp. I/O uscite statiche 16In 8Out (2 counters)
Tutti e due i moduli dispongono di 4 ingressi (Di12~Di15) high speed, e con possibilità di settare l’ingresso a 5Vdc. Questo è importante perchè i segnali Wiegand sono a 5Vdc e quindi possono essere acquisiti solo da questi ingressi digitali o dagli ingressi digitali del modulo CPU.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.