CAEN RFID srl CAENRFID002 Low Power Communication Device Transmitter User Manual easy2read protocol rev4

CAEN RFID srl Low Power Communication Device Transmitter easy2read protocol rev4

Users Manual II

  Technical Information Manual CAEN RFID UHF READERS 17 January 2007 Revision n. 4 COMMUNICATION PROTOCOL NPO: 00117/03:PROTx.MUTx/03
  Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  INDEX 1. INTRODUCTION................................................................................................................................................3 2. PROTOCOL SPECIFICATION ........................................................................................................................4 3. ASYNCHRONOUS NOTIFICATION: PROTOCOL SPECIFICATION...................................................27 4. DEFAULT CONFIGURATION.......................................................................................................................28 5. SAMPLES...........................................................................................................................................................30 6. REFERENCES...................................................................................................................................................31 LIST OF TABLES TABLE 2.1: ATTRIBUTE TYPES.................................................................................................................................5 TABLE 2.2: COMMAND CODES...............................................................................................................................11 TABLE 3.1: ATTRIBUTE TYPES: NOTIFICATION AVP LIST.....................................................................................27 TABLE 4.1: A928EU AND A948EU CONFIGURATION PARAMETERS DEFAULT VALUES ........................................28 TABLE 4.2: A928EU AND A948EU DEFAULT COMPOSITION OF SOURCES ............................................................28 TABLE 4.3: A928EU,A948EU, A828EU, A828US, A829EU, A829US, A946EU AND A949EU CONFIGURATION PARAMETERS DEFAULT VALUES ....................................................................................................................28 TABLE 4.4: A928EU,A948EU, A828EU, A828US, A829EU, A829US, A946EU AND A949EU DEFAULT COMPOSITION OF SOURCES ............................................................................................................................29 NPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  2
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  1. Introduction This document describes the message format of the communication protocol used by the host and the reader in order to issuing commands and reply with responses. The protocol is based on the Attribute Value Pair (AVP) schema and foresees a message header in order to identify the message scope.  The command set and the firmware architecture draw inspiration from the Reader Protocol 1.0 specification draft from EPCGlobal but, at now, this protocol is not fully compatible with the same last specifications. Message fields are described left to right, with the most significant byte on the left and the least on the right.    NPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  3
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  2. Protocol specification CAEN UHF RFID Reader protocol uses two logical communication channels: one for synchronous commands and one for asynchronous notifications. Command channel is mandatory and, at now, it is implemented on top of a TCP/IP socket (port 1000) and on RS232 while notification channels are implemented only with sockets. All the messages (commands, responses and notifications) are composed by a header and a body. In all cases the body of the message is a list of attribute-value pairs. Responses always echo the Command AVP sent by the host.  All the packets for the control and notification channel share a common header format:                      1                   2                   3    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-------------------------------+------------------------------+ |             FIXED             |          Message ID          | +-------------------------------+------------------------------+ |                           Vendor ID                          | +-------------------------------+------------------------------+ |            Length             |  +-------------------------------+  FIXED: Must be 0x8001 for commands and 0x0001 for responses. Message ID: Id of the message. It is a sequence number used to map requests to its responses: a request and its corresponding response have the same message ID (the id is local to the channel). Vendor ID: Must be 21336: the IANA “SMI Network Management Private Enterprise Code” assigned to CAEN SpA. Length: Encodes the length of the message (in bytes) including the header.  The header is followed by a list of AVPs the number of which depends on the command. Each AVP have the following format:                       1                   2                   3    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-------------------------------+------------------------------+ |           RESERVED            |           Length             | +-------------------------------+------------------------------+ |        Attribute Type         |       Attribute Value ………    | +-------------------------------+------------------------------+ |              ………[ until length is reached ]………               | +--------------------------------------------------------------+   RESERVED: The first 16 bits are reserved for future extensions. All reserved bits must be set to 0 on outgoing messages and ignored on incoming messages. Length: Encodes the length of the AVP packet including the length and the reserved fields. Attribute type: A 2 byte code identifying the attribute type. Attribute value: The actual attribute value according to the type. It follows immediately after the Attribute Type field and runs for the remaining bytes indicated in the Length (i.e. Length minus 6 bytes of header).  NPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  4
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Table 2.1: Attribute types Code  Description 0x01  CommandName: the command to be executed. All the commands are specified in the relevant table. Attribute value is 2 bytes long. 0x02 ResultCode: a code representing an indication on the result of the command. All the commands are specified in the relevant table. Attribute value is 2 bytes long. 0x0E EventType: the type of the notified event. Attribute value is 4 bytes long and  can assume the following values:  0x00 = Unknown Event 0x01 = Tag glimpsed 0x02 = Tag New 0x03 = Tag Observed 0x04 = Tag Lost 0x05 = Tag Purged 0x0F  TagIDLen: the length of the tag ID. Attribute value is 2 bytes long. 0x10 TimeStamp: an indication of the time. Attribute is 8 bytes long and must be interpreted as follow: -  the 4 least significant bytes are the seconds elapsed from the 1 January 1970. -  the 4 most significant bytes are the micro-seconds. 0x11 TagID: the ID read from the tag. Attribute value has a maximum length of 12 bytes. For ISO18000 tags only the first 8 bytes are significant while for EPC tags all the 12 bytes are significant. 0x1E  ChannelName: the name of the notification channel. Attribute value has a maximum length of 30 bytes. 0x1F  ChannelAddress: the address of the notification channel. Attribute value has a maximum length of 30 bytes. 0x20  TriggerName: the name of the trigger. Attribute value has a maximum length of 30 bytes. 0x21  TriggerType: the type of the trigger. Attribute value has a maximum length of 30 bytes. NPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  5
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description 0x22 ReadPointName: a string representing the name of the read point. Attribute value has a maximum length of 5 bytes and can assume the following values: “Ant0”, “Ant1”, “Ant2”, “Ant3” 0x4D  TagValue: data read from the tag memory (when applicable). Attribute value has a maximum length of 128 bytes. 0x4E  TagAddress: the memory location address of the tag where read or write data (when applicable). Attribute value is 2 bytes long. 0x4F  RESERVED. 0x50  Length: a value representing the length of a parameter. Attribute value is 2 bytes long.  0x51 BitRate: a value representing the RF BitRate. Attribute value is 2 bytes long and can assume the following values: 0x0 – Transmit = 10kbit, Receive = 10kbit 0x1 – Transmit = 10kbit, Receive = 40kbit 0x2 – Transmit = 40kbit, Receive = 40kbit 0x3 – Transmit = 40kbit, Receive = 160kbit   0x52  PowerGet: a value representing the RF power. Attribute value is 4 bytes long. (used for read the current setting) 0x53  RESERVED. 0x54 Protocol: a value representing the air protocol. Attribute value is 4 bytes long and can assume the following values:  0x00 = ISO18000-6B 0x01 = EPCC1G1 0x02 = ISO18000-6A 0x03 = EPCC1G2 0x56 ReadPointStatus: a value representing the antenna’s status. Attribute value is 4 bytes long and can assume the following values: 0x00 = Bad: antenna is not connected or broken. 0x01 = Poor: antenna has a low quality connection. 0x02 = Good: antenna is well connected. NPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  6
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description 0x57 Boolean: a value representing a boolean data.  Attribute value is 2 bytes long and can assume the following values: 0x00 = FALSE. Not 0x00 = TRUE. 0x58 IPAddress: a string representing an IP address formatted with the standard IP dotted decimal format. Attribute value has a maximum length of 30 bytes. 0x59 IPNetMask: a string representing an IP netmask formatted with the standard IP dotted decimal format. Attribute value has a maximum length of 30 bytes. 0x5A IPGateway: a string representing an IP address formatted with the standard IP dotted decimal format. Attribute value has a maximum length of 30 bytes. 0x5B DESBEnable: used to enable/disable the Data Exchange Status Bit handling for ISO18000-6b and EPC 1.19 anti-collision algorithm. Attribute value is 2 bytes long and can assume the following values: 0x00 = Disable the DESB handling. Not 0x00 = Enable the DESB handling. 0x5C  FWRelease: a string representing the device’s firmware revision. Attribute value has a maximum length of 200 bytes. 0x5D DESBStatus: used to check the Data Exchange Status Bit handling for ISO18000-6b and EPC 1.19 anti-collision algorithm. Attribute value is 2 bytes long and can assume the following values: 0x00 = DESB handling is not enabled. Not 0x00 = DESB handling is enabled. 0x5E  EPCPWD: a value representing an EPC tag password. Attribute value is 2 bytes long. 0x5F RFOnOff: used to start the generation of a continuous wave for test purposes. Attribute value is 2 bytes long and can assume the following vaules: 0x00 = Stop the wave generation. Not 0x00 = Start the wave generation. 0x60  BaudRate: a value representing the baudrate setting of serial port. Attribute value is 4 bytes long. NPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  7
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description 0x61  DataBits: a value representing the databits setting of serial port. Attribute value is 4 bytes long. 0x62  StopBits: a value representing the stopbits setting of serial port. Attribute value is 4 bytes long. 0x63 Parity: a value representing the parity setting of serial port. Attribute value is 4 bytes long and can assume the following values: 0x00 = No parity 0x01 = Odd parity 0x02 = Even parity 0x64 FlowCtrl: a value representing the flow control setting of serial port. Attribute value is 4 bytes long and can assume the following values: 0x00 = No flow control 0x01 = Hardware flow control 0x02 = Software flow control (not yet implemented) 0x65 DateTime: a value representing a date and time. Attribute value has a maximum length of 30 bytes. The data format is: YYYY–MM–DD HH:MM:SS 0x66 SelUnselOp: a value representing the tag selection operation defined by the ISO18000-6B protocol. Attribute value is 2 bytes long and can assume the following values: 0x00 = select equal 0x01 = select not equal 0x02 = select greater than 0x03 = select lower than 0x04 = unselect equal 0x05 = unselect not equal 0x06 = unselect greater than 0x07 = unselect lower than 0x67 Bitmask: a value representing the bitmask parameter of tag selection operations defined by the ISO18000-6B protocol. Attribute value is 2 bytes long (only 8 least significant bits are used). 0x68  REESERVED.  NPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  8
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description 0x69 IORegister: a value representing the status of the I/O lines of the reader. Where input lines are separated from output ones, input lines are mapped on the less significant bits while outputs are mapped on the most significant. Attribute value is 4 bytes long (effective used bits depend on the reader model). 0x6A ConfigParameter: a value representing a configuration parameter. Attribute value is 4 bytes long and can assume the following values: 0x00 = ReadCycle configuration 0x01 = Observed Threshold configuation 0x02 = Lost Threshold configuration 0x6B  ConfigValue: a value for the configuration parameter. Attribute value is 4 bytes long. 0x6C  NoOfTriggers: a value representing the number of triggers. Attribute value is 2 bytes long. 0x6D  NoOfChannels: a value representing the number of channels. Attribute value is 2 bytes long. 0x6E EventMode: a value representing the event handling mode. Attribute value is 2 bytes long and can assume the following values: 0x00 = ReadCycle mode 0x01 = Time Mode 0x02 = No Event Mode 0x6F UpgradeType: a value representing the type of upgrade to perform. Attribute value is 2 bytes long and can assume the following values: 0x01 = TFTP firmware upgrade. 0x70 UpgradeArgument: a value representing the argument for the requested upgrade. Attribute value has a maximum length of 255 bytes. For TFTP upgrade (code 0x01) the string has the form: ‘<tftpserverip>:<filename>’. NPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  9
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description 0x71 MemoryBank: a value representing the memory bank of a EPC Class 1 Generation 2 tag. Attribute value is 2 bytes long and can assume the following values: 0x00 = Reserved Memory Bank 0x01 = EPC Memory Bank 0x02 = TID Memory Bank 0x03 = User Memory Bank 0x72 Payload: a value representing the payload parameter for the EPC Class 1 Gen 2 lock command (see the EPC Gen2 specification for details). Attribute value is 4 bytes long. 0x73 G2Password: a value representing the password parameter for the EPC Class 1 Gen 2 kill command (see the EPC Gen2 specification for details). Attribute value is 4 bytes long. 0x74 G2NSI: a value representing the numbering system identifier for the EPC Class 1 Gen 2 tags’ id (see the EPC Gen2 specification for details). Attribute value is 2 bytes long. 0x75 QParameter: a value representing the initial value for the Q parameter involved in the EPC Class 1 Gen 2 anticollision algorithm (see the EPC Gen2 specification for details). Attribute value is 2 bytes long. 0x76  ReaderInfo: a string indicating the model and the serial number of the reader. 0x77 RFRegulation: a value representing the RF regulation to use. Attribute value is 2 bytes long and can assume the following values: 0x00 = ETSI EN 302 208 0x01 = ETSI EN 300 220 0x78 RFChannel: a value representing the RF channel to use. Attribute value is 2 bytes long and can assume values in the range 0 … 9. Channels are referred to the ETSI EN 302 208 regulation.  0x96 PowerSet: a value representing the RF power emitted during the communication with tags. Attribute value is 4 bytes long. (used to set a new current value). NPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  10
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description 0xFB SourceName: a string representing the name of the data source. Attribute value has a maximum length of 30 bytes and can assume the following values: “Source_0”, “Source_1”, “Source_2”, “Source_3”   Table 2.2: Command codes Code  Description  Comp. 0x12 RawReadIDs: permits to get all the tag’s Ids that are under the RF field of the selected source. Parameters: SourceNameIn: [in] the name of the source to use. SourceNameOut: [out] the name of the source used. ReadPointName: [out] the name of the readpoint. TimeStamp: [out] the time at which the tags are detected. TagIDLen: [out] the ID length of the tags detected. ListOfIDs: [out] the list of Ids detected from the source. ResultCode: [out] the result code. Note: out parameters are repeated for each readpoint in the source. A928EU A948EUA828EU A828US A829EU A829US A946EU A949EU0x3F AddReadTrigger: permits to add a trigger to a source. Parameters: SourceName: [in] the name of the source. TriggerName: [in] the name of the trigger. ResultCode: [out] the result code. A928EUA948EU0x40 AddNotifyTrigger: permits to add a trigger to a notification channel. Parameters: ChannelName: [in] the name of the channel. TriggerName: [in] the name of the trigger. ResultCode: [out] the result code. A928EUA948EU0x41 RemoveReadTrigger: permits to remove a trigger from a source. Parameters: SourceName: [in] the name of the source. TriggerName: [in] the name of the trigger. ResultCode: [out] the result code. A928EUA948EUNPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  11
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description  Comp. 0x42 RemoveNotifyTrigger: permits to remove a trigger from a notification channel. Parameters: ChannelName: [in] the name of the channel. TriggerName: [in] the name of the trigger. ResultCode: [out] the result code. A928EUA948EU0x49 AllocateTrigger: permits to create a new trigger. Parameters: TriggerName: [in] the name of the trigger. TriggerType: [in] the type of the trigger. ResultCode: [out] the result code. A928EUA948EU0x4A DeallocateTrigger: permits to destroy an existing trigger. Parameters: TriggerName: [in] the name of the trigger. ResultCode: [out] the result code. A928EUA948EU0x53 AllocateChannel: permits to create a notification channel. Parameters: ChannelName: [in] the name of the channel. ChannelAddress: [in] the address of the channel. ResultCode: [out] the result code. A928EUA948EU0x54 DeallocateChannel: permits to destroy a notification channel. Parameters: ChannelName: [in] the name of the channel. ResultCode: [out] the result code. A928EUA948EU0x5D AddSourceToChannel: permits to add a source to a notification channel. Parameters: SourceName: [in] the name of the source. ChannelName: [in] the name of the channel. ResultCode: [out] the result code. A928EUA948EUNPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  12
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description  Comp. 0x5E RemoveSourceFromChannel: permits to remove a source from a notification channel. Parameters: SourceName: [in] the name of the source. ChannelName: [in] the name of the channel. ResultCode: [out] the result code. A928EUA948EU0x5F AddReadPointToSource: permits to add a readpoint to a source. Parameters: SourceName: [in] the name of the source. ReadPointName: [in] the name of the readpoint. ResultCode: [out] the result code. A928EUA948EU0x60 RemoveReadPointFromSource: permits to remove a readpoint from a source. Parameters: SourceName: [in] the name of the source. ReadPointName: [in] the name of the readpoint. ResultCode: [out] the result code. A928EUA948EU0x64 SetPower: permits to set the RF power level. Parameters: PowerSet: [in] the power level to set. ResultCode: [out] the result code.  A928EUA948EUA949EUA946EU0x6E ReadTagData: permits to read data from the tag memory. Parameters: SourceName: [in] the name of the source to use. TagIDLen: [in] the ID length of the tag. TagID: [in] the ID of the tag. TagAddress: [in] the address from which read the data. Length: [in] the number of bytes to read. TagValue: [out] the data read from the tag memory. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EUNPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  13
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description  Comp. 0x6F WriteTagData: permits to write data to the tag memory. Parameters: SourceName: [in] the name of the source to use. TagIDLen: [in] the ID length of the tag. TagID: [in] the ID of the tag. TagAddress: [in] the address where to write the data. Length: [in] the number of bytes to write. TagValue: [in] the data to write to the tag memory. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x70 LockTag: permits to lock data into the tag memory. Parameters: SourceName: [in] the name of the source to use. TagIDLen: [in] the ID length of the tag. TagID: [in] the ID of the tag. TagAddress: [in] the address where to write the data. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x71  RESERVED   0x72 SetBitRate: permits to set the BitRate to use. Parameters: BitRate: [in] the BitRate to set. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x73 GetPower: permits to get the current RF power level. Parameters: PowerGet: [out] the current power level. ResultCode: [out] the result code. A928EUA948EUA949EUA946EUNPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  14
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description  Comp. 0x74 SetProtocol: permits to set the protocol to use. Parameters: Protocol: [in] the protocol to use. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x75  RESERVED   0x76 CheckReadPointStatus: permits to check the quality of the antenna connection. Parameters: ReadPointName: [in] the name of the readpoint. ReadPointStatus: [out] the quality of the connection. ResultCode: [out] the result code. A928EUA948EUA949EUA946EU0x77 CheckSourceInChannel: permits to verify if a source is assigned to a notify channel. Parameters: SourceName: [in] the name of the source. ChannelName: [in] the name of the channel. Value: [out] a Boolean value meaning the belonging to the source. ResultCode: [out] the result code. A928EUA948EU0x78 CheckReadPointInSource: permits to verify if a readpoint belongs to a givens source. Parameters: ReadPointName: [in] the name of the readpoint. SourceName: [in] the name of the source. Value: [out] a Boolean value meaning the belonging to the source. ResultCode: [out] the result code. A928EUA948EUA949EUA946EUNPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  15
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description  Comp. 0x79 GetProtocol: permits to get the protocol in use. Parameters: Protocol: [out] the protocol in use. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x7A SetNetwork: permits to set up the network configuration. Parameters: IPAddress: [in] the IP address to set. IPNetMask: [in] the IP netmask to set. IPGateway: [in] the IP gateway to set. ResultCode: [out] the result code. A928EUA948EU0x7B SetDESB: permits to enable or disable the “Data Exchange Status Bit” handling during the anti-collision algorithm when ISO 18000-6b air protocol is in use. Parameters: DESBEnable: [in] enable/disable value. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x7C GetFirmwareRelease: permits to get the firmware revision. Parameters: FWRelease: [in] the firmware release. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EUNPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  16
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description  Comp. 0x7D GetDESB: permits to get the current setting of the “Data Exchange Status Bit” handling. Parameters: DESBStatus: [in] enabled/disabled value. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x7E ProgramID: permits to program the ID in the EPC Class 1 Gen 1 tags. Parameters: SourceName: [in] the name of the source. TagIDLen: [in] the ID length of the tag. TagID: [in] the ID of the tag. EPCPWD: [in] the EPC password to set. Lock: [in] a Boolean value; TRUE = lock the ID. FALSE = do not lock.ResultCode: [out] the result code. A928EUA948EU0x7F KillTag: permits to kill a EPC Class 1 Gen 1 tag. Parameters: SourceName: [in] the name of the source. TagIDLen: [in] the ID length of the tag. TagID: [in] the ID of the tag. EPCPWD: [in] the EPC password. ResultCode: [out] the result code. A928EUA948EU0x80 RFOnOff: permits to start/stop the generation of a continuous wave. Used only for test and measurements purposes. Parameters: RFOnOff: [in] = 0 Î stop; != 0 Î start  ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EUNPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  17
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description  Comp. 0x81 GetBitRate: permits to get the BitRate in use. Parameters: BitRate: [out] the BitRate in. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x82 BlockWriteTag: permits to write data to the tag memory. This function uses the ISO18000-6b Write4Byte command to speed up the writing of large amount of data at one time.  Parameters: SourceName: [in] the name of the source to use. TagIDLen: [in] the ID length of the tag. TagID: [in] the ID of the tag. TagAddress: [in] the address where to write the data. Length: [in] the number of bytes to write. TagValue: [in] the data to write to the tag memory. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x83 SetRS232: permits to modify the settings of the serial port.  Parameters: Baudrate: [in] the baud rate value. Databits: [in] the data bits setting. Stopbits: [in] the stop bits setting. Parity: [in] the parity setting. Flowctrl: [in] the flow control setting. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EUNPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  18
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description  Comp. 0x84 SetDateTime: permits to modify date and time.  Parameters: Datetime: [in] the date and time to set up. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x85 GroupSelectUnselect: permits to execute the tag selection commands defined by the ISO18000-6B protocol.  Parameters: SourceName: [in, optional] the name of the source to use. Operation: [in] the tag selection operation. Bytemask: [in] the byte mask as defined by the protocol.  TagAddress: [in] the address where to compare the data. TagValue: [in] the data to compare with the tag memory. TagID: [out] the ID of the tag. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x86 GetIO: permits to read the current status of the I/O lines. Parameters: IORegister: [out] the status of the I/O lines. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x87 SetIO: permits to set the level of the output lines. Parameters: IORegister: [in] the value to set to the output lines. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EUNPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  19
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description  Comp. 0x88 SetIODirection: permits to define the direction of the I/O lines.  (0 = input; 1 = output) Parameters: IORegister: [in] the direction to set to the I/O lines. ResultCode: [out] the result code. A828EU A828US A829EU A829US A946EU A949EU0x89 GetIODirection: permits to read the current status of the I/O lines. (0 = input; 1 = output) Parameters: IORegister: [out] the direction of the I/O lines. ResultCode: [out] the result code. A828EU A828US A829EU A829US A946EU A949EU0x8A SetSourceConfig: permits to set a configure parameter for a logical source. Parameters: SourceName: [in] the name of the source to configure. ConfigParameter: [in] the code of the parameter. ConfigValue: [in] the value for the parameter. ResultCode: [out] the result code. A928EUA948EU0x8B GetSourceConfig: permits to read a configure parameter for a logical source. Parameters: SourceName: [in] the name of the source to configure. ConfigParameter: [in] the code of the parameter. ConfigValue: [out] the value for the parameter. ResultCode: [out] the result code. A928EUA948EU0x8C GetTriggers: permits to read the names of the allocated triggers. Parameters: NoOfTriggers: [out] the number of allocated triggers. ListOfTriggerNames: [in] a list containing the names of the allocated triggers. ResultCode: [out] the result code. A928EUA948EUNPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  20
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description  Comp. 0x8D GetChannels: permits to read the names of the allocated notification channels. Parameters: NoOfChannels: [out] the number of allocated channels. ListOfChannelNames: [in] a list containing the names of the allocated channels. ResultCode: [out] the result code. A928EUA948EU0x8E CheckSourceInTrigger: permits to verify if the specified logical source is associated to the specified trigger.  Parameters: SourceName: [in] the name of the source. TriggerName: [in] the name of the trigger. Boolean: [out] 0 if they are associated, ≠0 if not. ResultCode: [out] the result code. A928EUA948EU0x8F CheckTriggerInChannel: permits to verify if the specified trigger is associated to the specified channel.  Parameters: ChannelName: [in] the name of the source. TriggerName: [in] the name of the trigger. Boolean: [out] 0 if they are associated, ≠0 if not. ResultCode: [out] the result code. A928EUA948EU0x90 CheckChannelInTrigger: permits to verify if the specified channel is associated to the specified trigger.  Parameters: ChannelName: [in] the name of the source. TriggerName: [in] the name of the trigger. Boolean: [out] 0 if they are associated, ≠0 if not. ResultCode: [out] the result code. A928EUA948EU0x91 SetEventMode: permits to set the event generation mode for the reader notification channels. Parameters: EventMode: [in] the event mode. ResultCode: [out] the result code. A928EUA948EUNPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  21
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description  Comp. 0x92 GetEventMode: permits to read the event generation mode for the reader notification channels. Parameters: EventMode: [out] the event mode. ResultCode: [out] the result code. A928EUA948EU0x93 FirmwareUpgrade: permits to upgrade the reader firmware. Parameters: UpgradeType: [in] the type of the upgrade. UpgradeArg: [in] the argument needed by the upgrade procedure. ResultCode: [out] the result code. A928EUA948EU0x94 E119ProgramID: permits to write the EPC into a EPC1.19 tag. Parameters: SourceName: [in] the name of the source to use. TagID: [in] the old EPC of the tag. TagValue: [in] the EPC to write into the tag memory. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x95 G2ProgramID: permits to write the EPC in a Class 1 Gen 2 tag. Parameters: SourceName: [in] the name of the source to use. TagIDLen: [in] the ID length of the tag (must be an even number). TagID: [in] the EPC to write into the tag memory. G2NSI: [in] the EPC numbering system. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EUNPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  22
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description  Comp. 0x96 G2Read: permits to read data from anyone of the Gen2 tag memory banks. Parameters: SourceName: [in, optional] the name of the source to use. TagIDLen: [in] the ID length of the tag. TagID: [in] the ID of the tag. MemoryBank: [in] the memory bank.  TagAddress: [in] the address where to read the data. Length: [in] the number of bytes to read (must be an even number). TagValue: [out] the data read from the tag memory. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x97 G2Write: permits to write data into anyone of the Gen2 tag memory banks. Parameters: SourceName: [in, optional] the name of the source to use. TagIDLen: [in] the ID length of the tag. TagID: [in] the ID of the tag. MemoryBank: [in] the memory bank.  TagAddress: [in] the address where to write the data. Length: [in] the number of bytes to write (must be an even number). TagValue: [in] the data to write to the tag memory. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x98 G2Lock: permits to execute the tag lock command defined by the EPC Class 1 Gen 2 protocol. Parameters: SourceName: [in, optional] the name of the source to use. TagIDLen: [in] the ID length of the tag. TagID: [in] the ID of the tag. G2Payload: [in] the lock payload.  ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EUNPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  23
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description  Comp. 0x99 G2Kill: permits to execute the tag kill command defined by the EPC Class 1 Gen 2 protocol. Parameters: SourceName: [in, optional] the name of the source to use. TagIDLen: [in] the ID length of the tag. TagID: [in] the ID of the tag. G2Password: [in] the kill password.  ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x9A G2Query: permits to execute the tag query command defined by the EPC Class 1 Gen 2 protocol. If a tag is in the field result code is ERROR_SUCCESS (0x00) else result code is ERROR_TAGNOTPRESENT (0xCA). Parameters: SourceName: [in] the name of the source to use. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x9B G2SetQ: permits to change the initial value of the Q parameter used in the Gen2 anticollision algorithm. Parameters: QParameter: [in] the value of the Q parameter. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x9C G2GetQ: permits to read the initial value of the Q parameter used in the Gen2 anticollision algorithm. Parameters: QParameter: [out] the value of the Q parameter. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EUNPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  24
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description  Comp. 0x9D G2QueryAck: permits to execute the tag query and ack command defined by the EPC Class 1 Gen 2 protocol. If a tag is in the field result code is ERROR_SUCCESS (0x00) and the command returns the EPC code stored in the tag  else the result code is ERROR_TAGNOTPRESENT (0xCA). Parameters: SourceName: [in] the name of the source to use. TagID: [out] the ID of the tag. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x9E GetReaderInfo: permits to read some information about the reader itself. Parameters: ReaderInfo: [out] a string with information about the reader. ResultCode: [out] the result code. A928EUA948EUA828EU A828US A829EU A829US A946EU A949EU0x9F SetLBTMode: permits to enable or disable the Listen Before Talk capability on ETSI EN 302 208 compatible readers. Parameters: Boolean: [in] 0 to disable LBT and ≠0 to enable LBT. ResultCode: [out] the result code. A948EUA949EUA946EU0xA0 GetLBTMode: permits to read the current setting for the Listen Before Talk capability on ETSI EN 302 208 compatible readers. Parameters: Boolean: [out] 0 if LBT is disabled, ≠0 if LBT is enabled. ResultCode: [out] the result code. A948EUA949EUA946EU0xA1 SetRFRegulation: permits to change the RF regulation used by the reader. Parameters: RFRegulation: [in] the desired RF regulation. ResultCode: [out] the result code. A948EUA949EUA946EUNPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  25
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Code  Description  Comp. 0xA2 GetRFRegulation: permits to read the RF regulation used by the reader. Parameters: RFRegulation: [out] the desired RF regulation. ResultCode: [out] the result code. A948EUA949EUA946EU0xA3 SetRFChannel: permits to set the RF channel where the reader emits the RF field. Parameters: RFChannel: [in] the RF channel. ResultCode: [out] the result code. A948EUA949EUA946EU0xA4 GetRFChannel: permits to read the RF channel currently in use. Parameters: RFChannel: [out] the RF channel. ResultCode: [out] the result code.  A948EUA949EUA946EU0xFFFF  RESERVED      NPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  26
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  3.  Asynchronous Notification: Protocol specification The notification channels are implemented only with sockets. All the messages notifications are composed by a header and a body. In all cases the body of the message is a list of attribute-value pairs. The first AVP of the body is fixed and called NotifyMessage.  All the packets for notification channel share the same header format of other packet as described at § 3.  The first AVP (NotifyMessage) is followed by a list of AVPs, the number of which depends on how many tags should be notified. Each AVP has the same format of the AVP described in § 3.  The NotifyMessage has the following fixed format:                       1                   2                   3    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-------------------------------+------------------------------+ |           RESERVED            |           8                  | +-------------------------------+------------------------------+ |         CommandName    |        ReportBuffer       | +-------------------------------+------------------------------+   After the NotifyMessage AVP we can receive:  a)  a list of AVPs (as described in table 3) followed by an AVP with ‘Attribute Type’  ResultCode  b)  a single AVP called KillMessage with the following fixed format:                         1                   2                   3    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-------------------------------+------------------------------+ |           RESERVED            |           8                  | +-------------------------------+------------------------------+ |         KillCommand    |        KillCommand       | +-------------------------------+------------------------------+ Table 3.1: Attribute types: Notification AVP List. Description TimeStamp: the timestamp of the notification TagIDLen: the ID length of the tag. TagID: the ID of the tag. SourceName: the name of the source to use. EventType: the type of the notified event NPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  27
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  4. Default configuration CAEN A928EUEU and A948EUEU UHF RFID Reader protocol has various configuration parameters; in the following table are summarized the default values. Table 4.1: A928EU and A948EU Configuration parameters default values Parameter  Default value IP Address  192.168.0.125 IP Netmask  255.255.255.0 IP Gateway  192.168.0.1 Sources  “Source_0”, “Source_1”, “Source_2”, “Source_3”  Readpoints  “Ant0”, “Ant1”, “Ant2”, “Ant3” Baud Rate  115200 Data Bits  8 Stop Bits  1 Parity None Flow Control  None The default composition of sources for A928EUEU and A948EUEU reader is the following: Table 4.2: A928EU and A948EU Default composition of sources Source  Readpoints Source_0 Ant0 Source_1 Ant1 Source_2 Ant2 Source_3 Ant3 CAEN A828EUEU, A829EUEU, A946EUEU and A949EUEU UHF RFID Reader protocol has various configuration parameters; in the following table are summarized the default values. Table 4.3: A928EU,A948EU, A828EU, A828US, A829EU, A829US, A946EU and A949EU Configuration parameters default values Parameter  Default value Sources “Source_0”  Readpoints “Ant0” Baud Rate  115200 Data Bits  8 Stop Bits  1 NPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  28
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  Parameter  Default value Parity None Flow Control  None  The default composition of sources for the A828EUEU, A829EUEU, A946EUEU and A949EUEU reader is the following: Table 4.4: A928EU,A948EU, A828EU, A828US, A829EU, A829US, A946EU and A949EU Default composition of sources Source  Readpoints Source_0 Ant0   NPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  29
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  5. Samples In the following sample a RawReadIDs command is examined together with the response coming from the reader. Command sent: 0x8001 (Fixed) 0x0000 (Message ID) 0x00005358     (Vendor ID = CAEN SpA) 0x0021  (Message Length) 0x0000  (Reserved) 0x0008  (AVP Length) 0x0001    (AVP Type = CommandName) 0x0012    (AVP Value = RawReadIDs) 0x0000  (Reserved) 0x000F  (AVP Length) 0x00FB    (AVP Type = SourceName) “Source_0” (AVP Value) Response received: 0x0001 (Fixed) 0x0000 (Message ID) 0x00005358  (Vendor ID = CAEN SpA) 0x0066 (Message Length) 0x0000 (Reserved) 0x0008 (AVP Length) 0x0001  (AVP Type = CommandName) 0x0012  (AVP Value = RawReadIDs) 0x0000 (Reserved) 0x000F (AVP Length) 0x00FB  (AVP Type = SourceName) “Source_0” (AVP Value) 0x0000 (Reserved) 0x000B (AVP Length) 0x0022  (AVP Type = ReadPointName) “Ant0” (AVP Value) 0x0000 (Reserved) 0x000E (AVP Length) 0x0010  (AVP Type = TimeStamp) 0x00000578    (AVP Value = Thu Jan  1 01:23:20 1970) 0x00000000 (AVP Value) 0x0000 (Reserved) 0x0008 (AVP Length) 0x000F  (AVP Type = TagIDLen) 0x0008  (AVP Value) 0x0000 (Reserved) 0x000E (AVP Length) 0x0011  (AVP Type = TagID) 0x05629FFF   (AVP Value) 0xC0113001   (AVP Value)  0x0000 (Reserved) 0x000E (AVP Length) 0x0011  (AVP Type = TagID) 0xE0040F0E   (AVP Value) 0x06010000   (AVP Value) 0x0000 (Reserved) 0x0008 (AVP Length) 0x0002 = ResultCode)   (AVP Type 0x0000  (AVP Value = Success) NPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  30
 Document type:  Title:  Revision date:  Revision: User's Manual (MUT)  CAEN UHF RFID Readers Communication Protocol  17/01/2007  4  6. References −  Reader Protocol 1.0 – Working Draft Version of 25 August 2004 – Document revision 33 - EPCGlobal −  EPC Radio Frequency Identity Protocols Class-1 Generation-2 UHF RFID Protocol for Communications at 860MHz – 960MHz – Version 1.0.9 – EPCGlobal −  ISO/IEC FDIS 18000-6:2003(E) – Information technology automatic identification and data capture techniques – Radio frequency identification for item management air interface – Part 6: Parameters for air interface communication at 860-960 MHz NPO:  Filename:  Number of pages:  Page: 00117/03:PROTx.MUTx/04 EASY2READ_PROTOCOL_REV4.DOC  31  31

Navigation menu