Interfaz de programación
4.1 Las funciones del DLL
4.1.7
vhl_select
Con esta función se selecciona una tarjeta que está dentro del campo de la antena. Si la
selección es correcta se devuelve el estado "OK".
El tipo de tarjeta seleccionada se devuelve en el parámetro "CardType". Tenga en cuenta
que el tipo de tarjeta se determina por medio del número de serie, la longitud de dicho
número y otras informaciones que se recopilan durante la fase de selección del PICC.
Puesto que no es posible garantizar que el número de serie sea unívoco, tampoco tiene que
ser necesariamente correcto el tipo de tarjeta.
Si hay varias tarjetas dentro del campo de la antena del lector, se procesarán
individualmente mediante la función "VHLSelect". Cada vez que se llama "VHLSelect", la
tarjeta que acaba de seleccionarse se pone en "modo de parada" y se selecciona la próxima
tarjeta. Una vez se han procesado todas las tarjetas, "VHLSelect" devuelve el valor
"NOTAG_ERR". Si se saca una tarjeta del campo de la antena y se vuelve a entrar,
"VHLSelect" volverá a seleccionar la tarjeta. Si desea seleccionar tarjetas sin sacarlas
físicamente del campo de la antena, hay que poner el parámetro "Reselect" a "TRUE".
El parámetro "CardTypeMask" permite seleccionar únicamente determinadas familias de
tarjetas. Si desea seleccionar todas las tarjetas soportadas por el hardware del lector, hay
que poner este parámetro al valor "0xFFFF". La mitad más significativa del byte del
parámetro "CardType" especifica la familia de tarjetas (1-6), mientras que la mitad menos
significativa del byte (X) indica el tipo de tarjeta detectado.
Tabla 4- 2
CardTypeMask
0x0001 (bit 1)
0x0002 (bit 2)
0x0004 (bit 3)
0x0008 (bit 4)
0x0010 (bit 5)
0x0020 (bit 6)
Llamada de la función
int
vhl_select(
int Handle,
word CardTypeMask,
bool Reselect,
bool AllowConfig,
byte * CardType,
int * Status
);
16
Los diferentes tipos de tarjetas y su representación
CardType
0x1X
0x2X
0x3X
0x4X
0x5X
0x6X
Familia de tarjetas
ISO 14443 A / mifare
Reservado
ISO 15693
ISO 14443 B
Reservado
Reservado
Instrucciones de servicio, 02/2017, C79000-G8978-C432-01
SIMATIC RF1060R