User's Manual

CAEN RFID API User Manual
5
Overview
This guide describes the model, design concepts and the Application Software Interface (API) offered by CAEN RFID for
the development of software for use, integrate and control CAEN RFID readers and accessories.
CAEN RFID provides a Software Development Kit (SDK) that includes APIs for the most common programming
languages: Java, .NET (C# and Visual Basic) and Visual C/C++.
In details, the SDK package contains:
a .NET library in the form of a DLL file with its own history file, the help file (CHM format), the .NET CF (Compact
Framework) version and a demo application (with source code)
a Java library in the form of a JAR file with its own history file, the corresponding JavaDoc files (HTML format)
and a demo application (with source code)
a Visual C library in the form of a DLL file, with its own history file, the stub file (.lib), the headers and a demo
application (with source code)
the CAEN RFID API User Manual (this document)
the CAEN RFID API Reference Manual
The differences between the APIs are mostly related to the different language syntax and architecture but, from a
semantic point of view, the methods/functions are maintained the same in all the languages.
CAEN RFID provides also the complete documentation of the raw binary protocol that can be used to communicate
with CAEN RFID readers for languages or architectures not supported by the APIs.
SDK Design Concepts
A CAEN RFID reader can be seen, in a simplified model, as a box with one or more communication interfaces on the
host's side and one or more antennas on the tags' side. The reader accepts commands coming from an host (a PC or
any other controlling device), it uses the interface to the tag (typically one or more antennas) to perform operations on
the tags and it replies to the host.
The API defines a number of classes (emulated in C language by functions and data types) in order to represent this
simplified model; two of them define most of the methods and can be considered the core classes of the API itself:
CAENRFIDReader and CAENRFIDLogicalSource.
CAENRFIDReader class provides methods for the general reader configuration, host communication interfaces
configuration, HW parameters etc.
CAENRFIDLogicalSource class defines the methods for the reader to tag communication and its configuration.
Working with the host interfaces, mostly represented in the CAENRFIDReader class, is quite straightforward since they
are standard communication interfaces (Ethernet, RS232 and similar) while for the CAENRFIDLogicalSource class a
deeper insight is needed.
One or more physical RFID antennas (called ReadPoints in the API) can be connected to a CAEN RFID, each one able to
detect tags and it is typical, in UHF RFID installations, to place multiple antennas in the same place for a better
coverage of the reading area. In this case, even if multiple antennas are used, the reading area is the same so, from a
logical point of view, it is a single source of homogeneous information. In order to model this concept we introduced
the Logical Source concept that is implemented into the CAEN RFID API with the CAENRFIDLogicalSource class: it
permits to group together ReadPoints (antennas) that are logically related. Each data exchange concerning tags is
implemented through the CAENRFIDLogicalSource class, the case of a single antenna is a special case where a Logical
Source contains a single Read Point.
The CAEN RFID API permits to add and remove Read Points to/from the Logical Source so that the user can easily
represent its installation.