Beruflich Dokumente
Kultur Dokumente
SIMATIC Sensors
Answers for industry.
Introduction 1
Quick Reference 2
Description 3
SIMATIC Sensors
Messaging Overview 4
RFID Systems Connection Set Up
SIMATIC RF660R XML Interface Procedure and Messages 5
Service Provisioning
Messages 6
Function Manual
Standard Configuration
Messages 7
Control Messages 9
Smart Reader Tag Inventory
Management 10
Smart Reader Data
Exchange Messages 11
Development Testing 13
Firmware Update 14
Appendix A
Appendix B
12/2009
J31069-D0173-U001-A6-7618
Legal information
Warning notice system
This manual contains notices you have to observe in order to ensure your personal safety, as well as to prevent
damage to property. The notices referring to your personal safety are highlighted in the manual by a safety alert
symbol, notices referring only to property damage have no safety alert symbol. These notices shown below are
graded according to the degree of danger.
DANGER
indicates that death or severe personal injury will result if proper precautions are not taken.
WARNING
indicates that death or severe personal injury may result if proper precautions are not taken.
CAUTION
with a safety alert symbol, indicates that minor personal injury can result if proper precautions are not taken.
CAUTION
without a safety alert symbol, indicates that property damage can result if proper precautions are not taken.
NOTICE
indicates that an unintended result or situation can occur if the corresponding information is not taken into
account.
If more than one degree of danger is present, the warning notice representing the highest degree of danger will
be used. A notice warning of injury to persons with a safety alert symbol may also include a warning relating to
property damage.
Qualified Personnel
The product/system described in this documentation may be operated only by personnel qualified for the specific
task in accordance with the relevant documentation for the specific task, in particular its warning notices and
safety instructions. Qualified personnel are those who, based on their training and experience, are capable of
identifying risks and avoiding potential hazards when working with these products/systems.
Proper use of Siemens products
Note the following:
WARNING
Siemens products may only be used for the applications described in the catalog and in the relevant technical
documentation. If products and components from other manufacturers are used, these must be recommended
or approved by Siemens. Proper transport, storage, installation, assembly, commissioning, operation and
maintenance are required to ensure that the products operate safely and without any problems. The permissible
ambient conditions must be adhered to. The information in the relevant documentation must be observed.
Trademarks
All names identified by ® are registered trademarks of the Siemens AG. The remaining trademarks in this
publication may be trademarks whose use by third parties for their own purposes could violate the rights of the
owner.
Disclaimer of Liability
We have reviewed the contents of this publication to ensure consistency with the hardware and software
described. Since variance cannot be precluded entirely, we cannot guarantee full consistency. However, the
information in this publication is reviewed regularly and any necessary corrections are included in subsequent
editions.
1 Introduction................................................................................................................................................ 9
1.1 Introduction ....................................................................................................................................9
1.2 Typographical Convention ...........................................................................................................10
2 Quick Reference ...................................................................................................................................... 11
3 Description............................................................................................................................................... 17
3.1 General Operation .......................................................................................................................17
3.2 Note on the Ethernet Usage ........................................................................................................18
4 Messaging Overview ............................................................................................................................... 19
4.1 Message Format ..........................................................................................................................20
4.2 General Format of Host Initiated Messages ................................................................................21
4.2.1 Messages with no Parameters.....................................................................................................21
4.2.2 Messages with Multiple Parameters ............................................................................................22
4.2.3 Messages with a Single Parameter .............................................................................................23
4.2.4 Retrieving a Single Parameter from the Reader..........................................................................23
4.2.5 Retrieving a Set of Parameters from the Reader.........................................................................24
4.3 General Format of Reader Responses........................................................................................25
4.3.1 Normal Responses ......................................................................................................................25
4.3.1.1 Responses without any Return Parameters ................................................................................25
4.3.1.2 Responses with a Single Return Parameter................................................................................26
4.3.1.3 Responses with Multiple Return Parameters...............................................................................26
4.3.2 Error Responses ..........................................................................................................................27
4.3.3 Notifications..................................................................................................................................27
4.4 Backward Compatibility Issues ....................................................................................................28
4.4.1 Overview of XML Changes with Firmware Version V1.3.............................................................29
4.4.1.1 HostGreetings Message (Host -> Reader) ..................................................................................29
4.4.1.2 Notification Channel.....................................................................................................................29
4.4.1.3 ETSI Frequency Switching Settings ............................................................................................29
4.4.1.4 Error Code Changes for Firmware Version V1.3 .........................................................................29
4.4.2 Overview of XML Changes with Firmware Version V1.2.............................................................30
4.4.2.1 tagIdType .....................................................................................................................................30
4.4.2.2 tagID.............................................................................................................................................30
4.4.2.3 tagProgramID...............................................................................................................................30
4.4.2.4 tagDataWrite ................................................................................................................................30
4.4.2.5 Ter................................................................................................................................................30
4.4.2.6 hostGreetings...............................................................................................................................31
4.4.2.7 channelConfig - CHINA Frequency Settings ...............................................................................31
4.4.2.8 SetReaderProfile CHINA Settings ...............................................................................................32
4.4.2.9 GetReaderProfile CHINA Settings ...............................................................................................32
4.4.2.10 Get ETSI ChannelConfig .............................................................................................................32
4.4.2.11 setNotifyChannel..........................................................................................................................32
4.4.2.12 EPC GEN 2 tagSelectionRange ..................................................................................................33
4.4.2.13 resetConfig...................................................................................................................................33
4.4.2.14 Error Code Changes for firmware version V1.2...........................................................................33
A Appendix................................................................................................................................................ 141
A.1 FCC Sub Bands ........................................................................................................................ 141
A.2 ETSI Sub Bands........................................................................................................................ 142
A.3 ETSI Sub Bands for Dedicated Zones in France ...................................................................... 143
A.4 CHINA Sub Bands .................................................................................................................... 144
A.5 Reader To Tag Communications Schemes .............................................................................. 145
A.6 Reader Default Configuration.................................................................................................... 147
A.7 Discovering MAC / IP of Reader for DHCP............................................................................... 148
A.8 Error Codes From The Reader ................................................................................................. 155
A.9 Error Codes - Displayed by ERROR-LED................................................................................. 166
B Appendix................................................................................................................................................ 167
B.1 Certificates and Approvals ........................................................................................................ 167
B.2 Service and support .................................................................................................................. 169
B.3 Contact partner ......................................................................................................................... 170
B.4 Training ..................................................................................................................................... 170
Index...................................................................................................................................................... 171
History
Issue Comment
11/2005 First edition
03/2006 Second edition
Changes first edition -> second edition firmware version V1.1
Setting The Real Time Clock -> new feature
Alerts from The Reader -> more info
Reader to Tag Communications Schemes -> more features
Reader Default Configuration -> more detailed info
Serial Port Auto Baud-Rate Detection -> new feature
Discovering MAC / IP of Reader for DHCP -> new feature
More Error Codes -> more info
11/2006 Third edition
Minor modifications
07/2008 Fourth edition / firmware version V1.2
12/2009 Fifth edition / firmware version V1.3
Conventions
Within this documentation following terms are used synonym:
● Reader, Portal Reader
● Tag, Transponder, Smartlabel
Be careful if you are going to copy and paste messages from this document into your code
as, the application used to write this specification may have used smart quotes or other
special characters that may make the XML syntax invalid.
For easier copy-and-pasting messages into your code, the use of the plain-text file 'XML-
Protocol-commands-RF660R.txt' is recommended.
This text file contains all Set/Get configuration messages from host to reader/reader to host
which are covered by the Function Manual.
Besides, for many commands, various examples are given.
Configuration Messages
Control Messages
General Enquiries
Firmware Update
NOTICE
Reader reboot may be necessary
When there are many tags inside the antenna field and the tag reading mode of operation
is such that the reader mode is AUTONOMOUS and the trigger is set to CONTINUOUS
then the air interface of the reader will be under heavy load. In these cases it is prohibited
that re-configurations or other commands are sent from the host to the reader.
Reader configurations and other commands shall only be sent from the host to the reader
when either no tags are in the field or the reader does not operate in the continuous reader
mode.
It is required, that the tag event buffer (tag event report list) of the reader will be cleared
prior to any further communication from the host to the reader (no further tag events will be
displayed).
Note
Strictly synchronous operation of the reader
The host shall only send a command to a reader after the response of the previous
command has been received.
Reader profile is a legal requirement to use the correct profile for the country of
operation
Antenna configuration includes the Power settings for each antenna
Channel configuration this has a dependency on the Power settings which determine the
range of the channel IDs for this configuration item
Protocol configuration configures the reader to handle tags from the three supported
protocols. This configuration aspect is dependent on the choice of
the profile when it comes to the allowed reader to tag
communications schemes. This is also a reasonable stage to set
any filter options
Trigger configuration defines the trigger to start the tag reading process.
Reader mode Having performed the above steps, the reader can be activated to
start the tag reading process (which depends on the choice of
trigger configuration)
Format
<message>
<name type="c|r|n">message name</name>
</message>
Here the type indicates whether the message is a command, response or notification. This
attribute has not been added to the message element itself to keep the parsing of such
documents simple.
Example
<message>
<name type="c">resetReader</name>
</message>
Format
<message>
<name type="c">message name</name>
<paramGroup name="paramGroupName">
<param-1> parameter 1 value </param-1>
Example
<message>
<name type="c">hostGreetings</name>
<paramGroup name="readerGreetings">
<messagingVersion> messagingVersion </messagingVersion>
<appVersion> appVersion </appVersion>
</paramGroup>
</message>
Format
<message>
<name type="c">message name</name>
<param> parameter value </param>
</message>
Example
<message>
<name type="c">set</name>
<rm> 0 </rm>
</message>
Format
<message>
<name type="c">get</name>
<param name="parameter name"/>
</message>
Example
<message>
<name type="c">get</name>
<param name="rm"/>
</message>
The 'param.name' attribute value must match the name of a valid element as defined in this
specification.
Format
<message>
<name type="c">get</name>
<paramGroup name="parameter group name" />
</message>
Example
The 'paramGroup' name value must be a valid name that the reader recognises, for
example:
<message>
<name type="c">get</name>
<paramGroup name="ethernetConfig"/>
</message>
Format
<message>
<name type="r" status="ack" >request message name</name>
< param name="parameter name"- />
</message>
Example
<message>
<name type="r" status="ack" >set</name>
<param name="rm"/>
</message>
Another example of a response to a ‘set’ message with a parameter group would be:
<message>
<name type="r" status="ack" >set</name>
<paramGroup name="ethernetConfig"/>
</message>
Format
<message>
<name type=”r” status=”ack” >request message name</name>
<parameter name> parameter value </parameter name>
</message>
Example
<message>
<name type=”r” status=”ack” >get</name>
<readerProfile> FCC </readerProfile>
</message>
Format
<message>
<name type=”r” status=”ack” >request message name</name>
<paramGroup>
<param-1 name> parameter 1 value </param-1 name>
…
<param-n name> parameter n value </param-n name>
</paramGroup>
</message>
Example
A 'paramGroup' element will be included in responses to ‘get’ requests from the host that
had asked for a named 'paramGroup'. For example when the host asks for the current
Ethernet configuration, the normal response from the reader will be:
<message>
<name type=”r” status=”ack”>get</name>
<paramGroup name=”ethernetConfig”>
<ipAddress>192.168.0.254</ipAddress>
<portNumber>10001</portNumber>
<gatewayAddress>10.10.10.1</gatewayAddress>
<subnetMask>255.255.255.0</subnetMask>
</paramGroup>
</message>
Format
<message>
<name type="r" status="fail" >request message name</name>
<reason> error code </reason>
</message>
Example
The reason must indicate why the reader failed to comply with the request.
<message>
<name type="r" status="fail" >set</name>
<reason> invalid power level value </reason>
</message>
4.3.3 Notifications
The reader will use a regular message format to send notifications to the host. For example
tag event reports may use the following format:
<message>
<name type="n"> ter </name>
<ter> w,x,y,z,AABBCCDDEEFF,nnnn </ter>
</message>
Here the type attribute is set to 'n' to indicate a notification; 'ter' stands for tag event report.
Note
Exception
If you have a special customer application (using GR_XML_2.0 or GR_XML_2.1), this
application may access firmware version V1.3, as long as you don't use any commands,
which are not allowed in firmware version V1.3.
Note
Exception
If you have a special customer application (using GR_XML_2.0 or GR_XML_2.1), this
application may access firmware version V1.3, as long as you don't use any commands,
which are not allowed in firmware version V1.3.
4.4.2.1 tagIdType
For EPC Global Gen 2, the "tagIdType" field is now ignored, and inferred from the number of
characters in the "tagId" field (which must be a multiple of 4).
4.4.2.2 tagID
The "tagId" field may be omitted, indicating that the reader should perform the operation on
the first tag which responds.
4.4.2.3 tagProgramID
For "tagProgramId", if "currTagId" is omitted the reader also checks to ensure that the tag
operated on is the only one in the field.
4.4.2.4 tagDataWrite
The "tagDataWrite" command can (optionally) take a field <mask>xxxxxxxx</mask>. This
must be of the same length as the data field and is used for specifying which bits to set/clear.
The write command does not act on the fields "EPC2Mode" (WRITE/BLOCK_WRITE) and
"verifyOn". Whilst it is intended ultimately to take account of these fields, currently it verifies
all writes (using the "assured_write" function) and uses write rather than blockwrite.
4.4.2.5 Ter
The "ter" (tag event report) messages from the reader now report tags of all lengths. Tags of
96 or 64 bits will be reported with "tagIdTypes" as before, but tags of other lengths will be
reported with "tagIdType" 6. No alerts are sent in the event of encountering a blank tag (as it
will be reported ordinarily.)
4.4.2.6 hostGreetings
If "hostGreetings" fails because the supplied "messagingVersion" is invalid, the returned
error now includes a field indicating which messaging version(s) would have been accepted.
At firmware version V1.2 the valid "messagingVersions" are GR_XML_2.0 and GR_XML_2.1.
This version (v1.22) of the Config Application passes this information on to the user.
Obviously this functionality is not available with earlier versions of the Config Application, as
the presence of this new field in the returned error is simply ignored.
Format
<message>
<name type="c">set</name>
<paramGroup name="channelConfig" type="CHINA">
<fhState>ON | OFF</fhState >
<channelList> channelList </channelList>
<switchingInterval> switchingInterval </switchingInterval>
</paramGroup>
</message>
When the "channelConfig" is set to the CHINA profile
● "channelList" must be in the range 150 to 169. The list may only include the channels
depending on the power level settings in the previous step (See 'antennaConfig').
● "switchingInterval" must be in the range 100 to 2000. This is the minimum time interval in
milliseconds before switching to the next frequency.
For China, the recommended values are frequency switching on (fhState=ON), using the 16
centre channels (channelList=152,153,154,155, to 167), with a switching interval of 1 second
(switchingInterval=1000). The minimum China switching interval is 100 ms and the maximum
2000 ms. This message uses the type attribute in the "paramGroup" to indicate the
frequency protocol, i.e. CHINA.
Message
<message>
<name type="c">set</name>
<readerProfile>ETSI | ETSI_SRD | FCC | CHINA </readerProfile>
</message>
Note
With firmware version V1.3 ETSI_SRD radio profile is not longer available.
Message
<message >
<name type="r" status="ack">get</name>
<readerProfile>ETSI | ETSI_SRD | FCC | CHINA </readerProfile>
</message>
Note
With firmware version V1.3 ETSI_SRD radio profile is not longer available.
4.4.2.11 setNotifyChannel
The "notifyChannel" config now optionally includes a "messagingVersion" parameter, which
may be used to override the default behavior, which is to set the notification channel format
to be the same as the format used by the Host when configuring the notify channel. See
section Setting the Notification Channel (Page 52) .
4.4.2.13 resetConfig
The reader now supports a "resetConfig" command, which will reset the reader settings to
their factory defaults. See section Resetting Configuration to Factory Settings (Page 72) for
details on this.
Also, the reader now automatically detects any invalid configuration when the config is
loaded from flash at boot time. If any bad or corrupted config is found, the reader config is
reset to the factory settings. When a Host subsequently connects, the alert message 10005
is sent to inform the user of this.
The format of these messages and the expected responses is described here.
Note
This procedure expects a physical connection (either Serial Port or Ethernet) between the
Host and Reader to exist.
Note
Clearing the reader buffer
When the reader has been running in the continuous tag reading mode the buffer may be
filled up with tag events.
Establishing or re-establishing the connection between host and reader initiates the reader to
send its tag events to its host. This process of the reader to empty its buffer will take,
depending on the data rate and the number of accumulated tag events, up to a couple of
minutes.
Step Description
1 Host sends hostGreetings message to the
Reader
+RVW 5HDGHU
2 The Reader will respond with a normal response
and send some information about itself
KRVW*UHHWLQJV 3 After the connection has been established, the
Host initiates the heartbeat at regular intervals
4 The Reader will respond to the message by
sending the heartbeat message back
KRVW*UHHWLQJV5VS
KHDUWEHDW
KHDUWEHDW5VS
Sequence diagram
Note
During the Reader Connect or Reader Disconnect procedure the reader may send
malformed messages. Users are therefore advised to allow the reader to be connected
'stable' prior to sending commands.
Error Responses
If for some reason the reader is unable to offer its service, it will send an error response:
< message >
<name type="r" status="fail">hostGreetings</name>
<reason> error code </reason>
</ message>
The reason could be one of the following:
● Already connected to another Host application (e.g. when controlled by SIMATIC)
● Authentication failure (for future use)
● Hardware/software issues (e.g. firmware load issues)
● Host messaging version not supported
Note
From V1.2 firmware revision onwards, if hostGreetings fails because the messaging
version is invalid, the returned error includes a field indicating which messaging
version(s) would have been accepted. From revision V1.2 (and later revisions) of the
RF660R Configuration Software onwards the application passes this information on to the
user. Obviously this functionality is not available with earlier versions of the RF660R
Configuration Software, as the presence of this new field in the returned error is simply
ignored.
Note
For the unlikely event of users addressing the reader via SIMATIC RF660R Configuration
Software and via XML interface during the same configuration session, users are
informed that the parameters displayed by the Configuration Software are those which
were present at the time of connecting the reader to the host. If in the meantime
parameters have been changed using XML interface, the new values (changed
parameters) are NOT displayed by the Configuration Software screens.
Instruction
The format of the message will be:
<message>
<name type="c">heartbeat</name>
</message>
Normal Response
The reader will respond to the message by sending the heartbeat message back.
<message >
<name type="r" status="ack">heartbeat</name>
</message>
Example
The following diagram provides an overview of how two separate processes within an
application could be managed including the heartbeat mechanism.
&RQQHFWLRQWRWKH5HDGHUKDVEHHQHVWDEOLVKHG
3URFHVV$ 3URFHVV%
&KHFNWLPHVWDPS 6WRUDJHRIWLPHVWDPSRIWKH
RIWKHPRVWFXUUHQW PRVWFXUUHQWWHOHJUDPUHFHLYHG
WHOHJUDPIURPWKH IURPWKHUHDGHU
UHDGHU
7UDQVPLW
7LPHVWDPS KHDUWEHDW
ROGHUWKDQ <HV
FRPPDQGWRWKH
VHFRQGV" UHDGHU
1R
+DVWKHKHDUWEHDW
DFNQRZOHGJH
:DLWIRU
PHQWEHHQ
VHFRQGV
UHFHLYHG"
<HV
1R
,QFUHPHQWRIWKH
KHDUWEHDWUHWU\
FRXQWHUE\RQH
+HDUWEHDWUHWU\FRXQWHU
! 1R :DLWIRUVHFRQGV
QXPEHURIDOORZHG
UHWULHV"
<HV
(UURUPHVVDJHWKDW
KHDUWEHDW
FRPPDQGKDVEHHQ
XQVXFFHVVIXO
There are different standard ways to format timestamps. According to ISO 8601, a
timestamp value should be formatted as:
YYYY -MM-DDThh:mm:ss.sTZD
where:
Parameter Description
YYYY four-digit year
MM two-digit month (01=January, etc.)
DD two-digit day of month (01 through 31)
hh two digits of hour (00 through 23) (am/pm NOT allowed)
mm two digits of minute (00 through 59)
ss two digits of second (00 through 59)
s one or more digits representing a decimal fraction of a second
TZD time zone designator (Z or +hh:mm or -hh:mm)
Example:
2006-04-01T12:23:05.81+01:00
Note
The reader will follow the ISO 8601 format but will not use the TZD field. After a Powercycle
the clock will start from 2000-01-01T00:00:00.000+00:00. Remember also that the real time
clock is yet not used for timestamping any messages sent by the reader.
Example
<message>
<name type="c"> set </name>
<clockTime> 2006-08-09T15:23:05.81+00:00 </clockTime>
</message>
The components shown here must be present with exactly this punctuation. Note that the "T"
appears literally in the string, to indicate the beginning of the time element.
Normal Response
<message>
<name type="r" status="ack"> set </name>
<param name="clockTime"/>
</message>
Error Response
An error response is not defined for this operation.
Message
<message>
<name type="c"> get </name>
<param name="clockTime"/>
</message>
Normal Response
<message>
<name type="r" status="ack"> get </name>
<clockTime>2006-03-03T15:06:11.000+00:00</clockTime>
</message>
Error Response
An error response is not defined for this operation.
Message
<message>
<name type="c">hostGoodbye</name>
</message>
Normal Response
The reader will response with a normal response using the general format.
Error Response
An error response is not defined.
For Serial Port based connections, this restriction is likely to be forced by the operating
system on the Host itself which may report the serial port being busy when a second Config
Application tries to connect to the Reader. For Ethernet, the Reader may refuse the
connection attempt at the TCP/IP socket connection level or send an explicit connection
rejection response.
The use of a single connection raises the question of dealing with the cases where the host
application may have crashed without releasing the connection (or sending the hostGoodbye
message). To prevent the Reader from getting ‘stuck’ with a stale connection, the Reader
will make a decision about the state of the connection based on the absence of control
commands (and heartbeats). If the Reader doesn’t see any control commands or heartbeats
for more than 2 minutes, it will go into a state where it will accept a new connection request
and (only then) close the old connection.
Xon/Xoff
Xon/Xoff is a protocol for controlling the flow of data between computers and other devices
on an asynchronous serial connection.
Setting
<message>
<name type="c">set</name>
<paramGroup name="ethernetConfig">
<ipAddress> ipAddress </ipAddress>
<portNumber> portNumber </portNumber>
<gatewayAddress> gatewayAddress </gatewayAddress>
<subnetMask> subnetMask </subnetMask>
</paramGroup>
</message>
This procedure may take up to 30 seconds to complete. This should be kept in mind when
using a timeout value when waiting for the response. The 'ethernetConfig' needs not to be
saved with 'saveConfig' to FLASH.
Note
When utilizing the Ethernet configuration for more than one Reader and/or using the
Ethernet notification channel for a reader, a separate "portNumber" has to be chosen for
each connection configuration, i.e., when a "portNumber" is no longer in use it may be re-
used.
Normal Response
<message>
<name type="r" status="ack"> set </name>
<paramGroup name="ethernetConfig"/>
</message>
Instruction
<message>
<name type="c">get</name>
<paramGroup name="ethernetConfig"/>
</message>
Normal Response
The reader will use the following response:
<message >
<name type="r" status="ack"> get </name>
<paramGroup name="ethernetConfig">
<ipAddress> ipAddress </ipAddress>
<portNumber> portNumber </portNumber>
<gatewayAddress> gatewayAddress </gatewayAddress>
<subnetMask> subnetMask </subnetMask>
<macAddress> macAddress </macAddress>
</paramGroup>
</message>
The reader will use the following response:
Error Response
An error response is not defined for the ‘get’ operation in this case as the Reader is expected
to have a default set of these parameters.
Instruction
Since DHCP based Ethernet set up is a special procedure, the workstation will send an
explicit command to the reader:
<message>
<name type="c">setupEthernetDHCP</name>
</message>
Normal Response
<message >
<name type="r" status="ack">setupEthernetDHCP</name>
</message>
Note
The DHCP mode of operation is intended for making the Ethernet configuration process
automated. The Ethernet device on the Reader will try to contact a DHCP server to get an
address. If it cannot find one, it will use the BOOTP protocol and if that doesn't work, it will
use AUTO-IP to assign itself an IP-address. Due to the automated nature of this procedure,
the Ethernet device doesn't reveal the assigned IP-address, gateway address and subnet
mask values to the Reader. Performing a 'get' on Ethernet configuration after a DHCP set up
will result in the following response from the reader:
When the Host and Reader are connected over the Configuration Interface RS232, the
Reader will send the response after completing the DHCP procedure.
When the Host and Reader are connected over the System Interface (Ethernet), the Reader
will send the response before starting the DHCP procedure because the Reader will have to
drop the existing Ethernet connection once it has been assigned a new IP-address. The Host
will need to need to perform a network scan to discover the new address details of the
Reader.
Setting
<message >
<name type="r" status="ack">get</name>
<paramGroup name="ethernetConfig">
<ipAddress>DHCP</ipAddress>
<portNumber> portNumber </portNumber>
<gatewayAddress>DHCP</gatewayAddress>
<subnetMask>DHCP</subnetMask>
<macAddress> macAddress </macAddress>
</paramGroup>
</message>
The Host may make use of the macAddress value following a port scan procedure to
discover the actual IP-address of the Reader.
Setting
<message>
<name type="c">set</name>
<paramGroup name="notifyChannel">
<notifyChannel> NONE | RS232 | ETHERNET </notifyChannel>
<ipAddress> ipAddress </ipAddress>
<portNumber> portNumber </portNumber>
<messagingVersion> GR_XML_2.0 | GR_XML_2.1 | GR_XML_3.0 </messagingVersion>
</paramGroup>
</message>
Note
Optional use of messagingVersion parameter
The "messagingVersion" parameter is optional, and new in Release 3. It indicates the
messaging version with which the messages in the notification channel (when distinct from
the configuration channel) should be compatible. As the value for this parameter when not
specified defaults to the "messagingVersion" declared by the Host in the hostGreetings
message, this parameter is only needed if different "messagingVersions" are to be used on
the configuration and notification channels.
Note
When utilizing the Ethernet configuration for more than one Reader and/or using the
Ethernet notification channel for a reader a separate "portNumber" has to be chosen for
each connection configuration, i.e., when a "portNumber" is no longer in use it may be re-
used.
The response for this message may take up to 30 seconds if the notify channel is configured
to use Ethernet. For other cases it should be within the normal 5 sec duration. By default the
'notifyChannelId' will be NONE, which is also the recommended setting.
The reader will send the following response:
Normal Response
<message>
<name type="r" status="ack"> set </name>
<paramGroup name="notifyChannel"/>
</message>
Request
<message>
<name type="c">get</name>
<paramGroup name="notifyChannel"/>
</message>
Normal Response
The normal response from the reader will be:
<message>
<name type="r" status="ack"> get</name>
<paramGroup name="notifyChannel">
notifyChannelId> NONE | RS232 | ETHERNET </notifyChannelId>
<ipAddress> ipAddress </ipAddress>
<portNumber> portNumber </portNumber>
<messagingVersion> GR_XML_2.0 | GR_XML_2.1 | GR_XML_3.0 </messagingVersion>
</paramGroup>
</message>
Setting
The first step in configuring the reader is to set up the desired profile. The Host sends the
following message:
<message>
<name type="c">set</name>
<readerProfile>ETSI⃒ FCC|CHINA</readerProfile>
</message>
CAUTION
It is very important to select the correct country in which to operate the device. Otherwise
operation may be against the law. In those European countries where it is possible to
transmit using the new RFID regulations, the option country_RFID can be selected. If your
country is not available in the list then the reader is not approved for operation there. Some
countries permit either.
Normal Response
<message >
<name type="r" status="ack">set</name>
<param name="readerProfile"/>
</message>
Request
To retrieve the existing profile setting, the host may use a ‘get’ message:
<message>
<name type="c">get</name>
<param name="readerProfile"/>
</message>
Normal Response
The reader will reply with:
<message >
<name type="r" status="ack">get</name>
<readerProfile>ETSI | FCC| CHINA</readerProfile>
</message>
Setting
<message>
<name type="c"> set </name>
<paramGroup name="antennaConfig">
<switchingState> ON | OFF </switchingState>
<switchingInterval> switchingInterval </switchingInterval>
<antenna number="1" power="power" gain="gain"
cableLoss="cableLoss">antenna</antenna>
<antenna number="2" power="power" gain="gain"
cableLoss="cableLoss">antenna</antenna>
<antenna number="3" power="power" gain="gain"
cableLoss="cableLoss">antenna</antenna>
<antenna number="4" power="power" gain="gain"
cableLoss="cableLoss">antenna</antenna>
</paramGroup>
</message>
Please note the difference in the power level specifications for the above profiles. FCC
specifies a peak power at the end of cable whereas for ETSI, this is Effective Radiated
Power (ERP). The reader will automatically work out which specification to use and work out
the appropriate value from the message parameters.
Example
An example for an 'antennaConfig' response with 'readerProfile' is ETSI:
<message>
<name type="r" status="ack"> get </name>
<paramGroup name="antennaConfig">
<switchingState>ON</switchingState>
<switchingInterval>1000</switchingInterval>
<antenna number="1" power="1900" gain="7.000000"
cableLoss="4.000000">TXRX</antenna>
<antenna number="2" power="1500" gain="7.000000"
cableLoss="4.000000">TXRX</antenna>
<antenna number="3" power="0" gain="0.000000" cableLoss="0.000000">OFF</antenna>
<antenna number="4" power="0" gain="0.000000" cableLoss="0.000000">OFF</antenna>
</paramGroup>
</message>
Setting
If the profile is ETSI, the host sends the following message to set the ETSI frequency
hopping:
<message>
<name type="c">set</name>
<paramGroup name="channelConfig" type="ETSI">
<fhState>ON | OFF</fhState >
<channelList> channelList </channelList>
<switchingInterval> switchingInterval </switchingInterval>
</paramGroup>
</message>
Note
When the XML interface is used to send and receive commands, it is the customer’s
responsibility to ensure that no incorrect or illegal settings are made.
This affects particularly Frequency Hopping mode, which is compulsory for those countries
where the FCC regulations apply.
Frequency Hopping (fhState) = ON must always be chosen for FCC.
Settings
When using the FCC profile, the host may use the following message to set the channel id:
<message>
<name type="c">set</name>
<paramGroup name="channelConfig" type="FCC">
<fhState> fhState </fhState>
<channelList> channelList </channelList>
<switchingInterval> switchingInterval </switchingInterval>
<lbtState> ON | OFF </lbtState >
</paramGroup>
</message>
Settings
When using the CHINA profile, the host may use the following message to set the channel
id:
<message>
<name type="c">set</name>
<paramGroup name="channelConfig" type="CHINA">
<fhState>ON | OFF</fhState >
<channelList> channelList </channelList>
<switchingInterval> switchingInterval </switchingInterval>
<lbtState> OFF </lbtState >
</paramGroup>
</message>
Note
The "lbtState" parameter indicates whether listen before talking should be performed when
switching between frequencies. This parameter is new in Release 3 (FW V 1.2), and is
optional – it defaults to OFF for CHINA. In CHINA profile, the only valid option is OFF.
Note
The current standard for CHINA requires the use of at least two channels, as a channel
(frequency) has to be changed after 2000 ms at a maximum.
For China, the recommended values are frequency switching on (fhState=ON), using the 16
centre channels (channelList=152,153,154,155, to 167), with a switching interval of 1
seconds (switchingInterval=1000). The minimum China switching interval is 1000 ms and the
maximum 2000 ms. This message uses the type attribute in the paramGroup to indicate the
frequency protocol i.e. CHINA.
NOTICE
Error message signals not allowed combination
Certain reader to tag communication schemes are not allowed in combination with certain
reader profiles.
For any inconsistent combination of reader-to-tag communication scheme and reader
profile an error message will be generated. However, whilst the Configuration Application
prevents you from utilizing combinations of reader-to-tag communication schemes and
reader profiles which are not allowed, you have to take responsibility for ensuring that the
reader operates according to the standards of the local authorities.
Normal Response
The Reader will respond using the general format for a response message.
See also
Reader To Tag Communications Schemes (Page 145)
Request
The host will use the ‘type’ attribute for the ‘get’ operations for the messages in this section.
For example to get the current protocol config for EPC_GEN_2, use the following message:
<message>
<name type="c">get</name>
<paramGroup name="protocolConfig" type = "EPC_ GEN_2"/>
</message>
Normal Response
The reader will respond with:
<message>
<name type="r" status="ack">get</name>
<paramGroup name="protocolConfig" type = "EPC_ GEN_2">
<numReadCycles> numReadCycles </numReadCycles>
<rtCommsScheme>rtCommsScheme </rtCommsScheme>
<initialQ> initialQ </initialQ>
</paramGroup>
</message>
Error Response
In the case a protocol has not been explicitly configured, a ‘get’ message for that protocol will
retrieve the default values.
Instruction
To prevent the Reader from saving each and every configuration change to its FLASH
(which is a relatively slow operation), the Reader will only save configuration changes (since
the last reader boot-up) when the Host asks for this explicitly. The message will be:
<message>
<name type=”c”>saveConfig</name>
</message>
Normal Response
The Reader will reply with the normal response using the general response message format.
Request
To retrieve the current config version the Host may send the following message:
<message>
<name type="c">get</name>
<param name="configVersion"/>
</message>
Normal Response
The Reader will respond with:
<message>
<name type="r" status="ack">get</name>
<configVersion> configVersion </configVersion>
</message>
The Configuration messages of a reader with config 'DEFAULT' are shown at Appendix.
Error Response
An error response is not defined for the ‘get’ operation.
Instruction
The "resetConfig" command may be used to reset the entire reader configuration to its
factory defaults. To reset the configuration to factory defaults the Host may send the
message:
<message>
<name type="c">resetConfig</name>
</message>
Normal Response
The reader will reply with the normal response using the general response message format.
Setting
The host will send the following command to set the read trigger on the reader:
<message>
<name type="c">set</name>
<paramGroup name="readTriggerConfig" >
<readTriggerType>readTriggerType </readTriggerType>
<digitalInputType> digitalInputType </digitalInputType>
<digitalInputNumber> digitalInputNumber </digitalInputNumber>
<triggerDuration>triggerDuration </triggerDuration>
</paramGroup>
</message>
Normal Response
The reader will respond using the general format of a normal response.
Request
To retrieve the current read trigger value, the host may send the following message:
<message>
<name type="c">get</name>
<paramGroup name="readTriggerConfig"/>
</message>
Normal Response
The normal response from the reader will be in the following form:
<message>
<name type="r" status="ack">get</name>
<paramGroup name="readTriggerConfig">
<readTriggerType> readTriggerType </readTriggerType>
<digitalInputNumber> digitalInputNumber </digitalInputNumber>
<digitalInputType> digitalInputType </digitalInputType>
<triggerDuration > triggerDuration </triggerDuration>
</paramGroup>
</message>
Error Response
An error response is not defined for the ‘get’ operation as the reader will simply return the
default trigger value if none has been explicitly set by the Host.
Setting
<message>
<name type="c">set</name>
<paramGroup name="digitalInputConfig">
<port number="0 | 1 | 2"> ENABLE | DISABLE </port>
...
</paramGroup>
</message>
Example
For example the following message may be used to enable reporting on digital inputs 0 & 2
and disable it on 1.
<message>
<name type="c">set</name>
<paramGroup name="digitalInputConfig">
<port number="0"> ENABLE </port>
<port number="1"> DISABLE</port>
<port number="2"> ENABLE </port>
</paramGroup>
</message>
Normal Response
The Reader will use the general format for normal and ‘get’ responses for retrieving the
digital input config.
Notification
When the digital input trigger takes place, depending on the mask settings, the Reader will
automatically send a notification in the following format:
<message>
<name type="n">digitalInputEvent</name>
<port number="0 | 1 | 2"> HIGH | LOW </port>
</message>
Note
During the Reader Connect or Reader Disconnect procedure the reader may send
malformed messages. Users are therefore advised to allow the reader to be connected
'stable' prior to sending commands.
Request
<message>
<name type="c">get</name>
<paramGroup name="digitalInputState">
</message>
Normal Response
The response to the above ‘get’ will be:
<message>
<name type="r" status="ack">get</name>
<paramGroup name="digitalInputState">
<port number="0"> HIGH | LOW </port>
<port number="1"> HIGH | LOW </port>
<port number="2"> HIGH | LOW </port>
</paramGroup>
</message>
Instruction
<message>
<name type="c">resetConfig</name>
</message>
Normal Response
The reader will reply with:
<message >
<name type="r" status="ack">resetConfig</name>
</message>
Having sent the response, the reader will be set to its factory settings. This operation is
effectively a software controlled reconfiguration of the reader system parameters with its
default values.
Error Response
An error response is not defined for this request as the reader must comply with this
command.
Instruction
<message>
<name type="c">resetReader</name>
</message>
Normal Response
The reader will reply with:
<message >
<name type="r" status="ack">resetReader</name>
</message>
Having sent the response, the reader will reboot itself. This operation is effectively a software
controlled power cycle.
Error Response
An error response is not defined for this request as the reader must comply with this
command.
Setting
The host can request the reader to enter a specific mode of operation:
<message>
<name type="c">set</name>
<rm> 0 | 1 | 2 </rm>
</message>
The supported mode values are:
Note
The behavior of indicating blank Gen 2 tags (without EPC ID) by an absence of hex
characters in the "tagId"-field is new for firmware Version 1.2. With previous releases all tags
were 96 or 64 bits in length.
The "tagIDType" 6 is also new in Release 3, and is used in all cases where the tag ID length
is not 96 or 64.
For the sake of backward compatibility, tags of ID type 6 are not reported when the
"messagingVersion" of the notification channel is set to messaging version GR_XML_2.0,
indicating applications which are compatible to previous firmware and software releases
V1.1 or even earlier.
Note
When a power cycle has been applied to the reader it has to be ensured that the connection
has been properly established, i e. the "hostGreetings" message has been sent, in order to
ensure that the complete tag event report list will be displayed.
Note
Tags of the same ID but of different tag ID type will not be displayed as two different tags.
Note
Clearing the reader buffer
When the reader has been running in the continuous tag reading mode the buffer may be
filled up with tag events.
This process of the reader to empty its buffer will take, depending on the data rate and the
number of accumulated tag events, up to a couple of minutes.
Instruction
The Host will send the following message to the Reader:
<message>
<name type="c">tagRead</name>
</message>
Normal Response
The Reader will interpret this command as the soft, application generated trigger and
perform the read operation based on the trigger duration.
Notification
The Reader will then send any tag notifications over the Notification channel. It will then send
a response back to the Host (over the Control channel) including the count of notifications.
<message>
<name type="r" status="ack">tagRead</name>
<notifyCount> notifyCount </notifyCount>
</message>
Note
For the sake of backward compatibility, tags of ID type 6 are not reported when the
"messagingVersion" of the notification channel is set to messaging version GR_XML_2.0,
indicating applications which are compatible to previous firmware and sofware releases
V 1.1 or even earlier.
Tags which are not reported for backwards compatibility reasons (see above) will not
contribute to the "notifyCount", despite having been read by the reader and caused the
reader "tag detect" LED to illuminate.
Setting
The Host may use the following message to set the digital output to the desired value:
<message>
<name type="c"> set </name>
<paramGroup name="digitalOutputState">
<port number="0 | 1 | 2"> LOW | HIGH </port>
…
</paramGroup>
</message>
The message may include multiple port elements to set the values on multiple ports with a
single message. The reader will respond using the normal format of a response. An error
response is not defined for this operation.
Request
To retrieve the status of the output ports, the Host may use the following message.
<message>
<name type="c"> get </name>
<paramGroup name="digitalOutputState"/>
</message>
As described earlier the reader sends simple tag events using notifications using the
'tagEventReport' notification (see chapter Autonomous mode). Such notification will contain
the Tag ID related information only and will not include information about other data which
may be stored on the tag.
Instruction
<message>
<name type="c">set</name>
<paramGroup name="tagSelectionRange" type="ISO_18000_6_B">
<filter action="action" type="type" address="address" mask="mask"> filter</filter>
….
</paramGroup>
</message>
Instruction
<message>
<name type="c">set</name>
<paramGroup name="tagSelectionRange" type="ISO_18000_6_B">
</paramGroup>
</message>
The RF660R always applies SELECT actions first, in the order given, followed by
UNSELECT actions, again in the order given. If no SELECT commands are given, but an
UNSELECT is set, the RF660R will automatically SELECT all tags first.
ISO 18000-6B Tags power up in the READY state but only respond when they are in the ID
state. The RF660R will report all those tags in the ID state after applying all the filters
specified.
SELECT moves tags meeting the filter parameters into the ID state. Those already in the ID
state will remain there.
UNSELECT moves tags meeting the filter parameters from the ID state to the READY state.
Those remaining in the ID state will respond. Those Tags in the READY state will remain in
the READY state.
Here are some examples to select a subset of tags.
Examples
Separation of EPC 1.19 tags (U-Code) tags is achieved by data structure.
The tag's reported UID consists of 8 bytes, however, according to EPC Specification, only 6
bytes are part of the actual UID.
Example 1:
Reported UID: A5 01 01 EA 91 60 53 FD (= 8 Bytes)
Bytes relevant for UID: A5 EA 91 60 53 FD (= 6 Bytes)
Example 2:
<message>
<name type="c">set</name>
<paramGroup name="tagSelectionRange" type="ISO_18000_6_B">
Example 3:
Select all tags with an EPC header greater than 0x77.
<message>
<name type="c">set</name>
<paramGroup name="tagSelectionRange" type="ISO_18000_6_B">
<filter action="SELECT" type="GREATERTHAN" address="2"
mask="80">7700000000000000
</filter>
</paramGroup>
</message>
Note
EPC Gen1 Tag Selection is NOT yet implemented. Do NOT attempt to use TagSelect
command for Gen1 tags since this may cause reader instability!
Instruction
<message>
<name type="c">set</name>
<paramGroup name="tagSelectionRange" type="EPC_GEN_2">
<target> S0 | S1 | S2 | S3 </target>
<mask action="action" memBank="memBank" pointer="pointer" length="lenght"> mask
</mask>
<mask action="action" memBank="memBank" pointer="pointer" length="lenght"> mask
</mask>
<mask action="action" memBank="memBank" pointer="pointer" length="lenght"> mask
</mask>
<mask action="action" memBank="memBank" pointer="pointer" length="lenght"> mask
</mask>
<mask action="action" memBank="memBank" pointer="pointer" length="lenght"> mask
</mask>
</paramGroup>
</message>
The mask elements are optional and a paramGroup can contain up to 5 of these. If there are
no elements in the paramGroup then a select all is performed. A target is always mandatory
and the reader will return all of those which remain set to State "A" after applying all the
subsets. The reader starts by selecting all tags and setting the target flag to State "A".
The subset selects/unselects are performed in the order given in the message. Sending a
new tag selection message removes the old specification.
The action is a decimal value from 0 to 7 corresponding to the action described in Table 6.19
of the EPC Gen 2 spec which has been duplicated below:
Instruction
<message>
<name type="c">set</name>
<paramGroup name="tagSelectionRange" type="EPC_GEN_2">
<target>S2</target>
</paramGroup>
</message>
Example
To select tags with a Id length of 96 bits (based upon PC bits 0x10 to 0x14 being equal
00110) and have a ISO/IEC 15963 allocation class identifier set to (11100010=0xE2) in TID
memory (address 0). Tags with their 12-bit tag mask-designer identifier (in TID memory at
0x08) set to 0x68C shall be unselected.
<message>
<name type="c">set</name>
<paramGroup name="tagSelectionRange" type="EPC_GEN_2">
<target>S3</target>
<mask action="0" memBank="1" pointer="10" length="5">06</mask>
<mask action="2" memBank="2" pointer="0" length="8">E2</mask>
<mask action="5" memBank="2" pointer="8" length="12">68C</mask>
</paramGroup>
</message>
Responses to the above commands will be:
Normal Responses
<message>
<name type="r" status="ack">set</name>
<paramGroup name ="tagSelectionRange" type= "ISO_18000_6_B | EPC_GEN_1
| EPC_GEN_2"/ >
</message>
Instruction
<message>
<name type="c">set</name>
<paramGroup name ="tagSelectionRange" type= "type">
<force> TRUE | FALSE </force>
<target> S0 | S1 | S2 | S3 </target>
</paramGroup>
</message>
For the ISO_18000_6_B case only an empty 'paramGroup' with the desired protocol type is
required (i.e. the message with no selection criteria).
The get message response if no filter was applied will be:
Normal Response
<message>
<name type="r" status="ack">get</name>
<paramGroup name ="tagSelectionRange" type= "type">
<force> TRUE | FALSE </force>
<target> S0 | S1 | S2 | S3 </target>
</paramGroup>
</message>
Note
For firmware/software release V 1.2 onwards currentTagId as well as the tagId field may be
omitted:
If currentTagId is omitted then the reader will check that the tag operated on is the only tag in
the field and if not it will not program it.
Omitting the tagId field will cause the reader to perform the tagProgramId operation on the
first tag which responds, regardless of its EPC id.
For EPC_GEN_1 the kill password is written at the same time. For EPC_GEN_2 the Protocol
Control (PC) field is programmed at the same time, the numbering system identifier (NSI) is
part of the PC field and is given in the tagProgramId message.
For ISO_18000_6_B the permitted values for newTagIdType are 1 (ISO/IEC 64), 4 (UCODE
EPC 1.19 64), or 5 (UCODE EPC 1.19 96). For EPC_GEN_1 the permitted newTagIdType
values are 2 (EPC 64) and 3 (EPC 96). For EPC_GEN_2 currentTagIdType and
newTagIdType can only be set to 3 (EPC 96).
Note
The tagProgrammmId password is a single hexadecimal byte for EPC_GEN_1 (Password-
range: 0-FF) and four bytes for EPC_GEN_2 (Password range: 0-3FF)
Message format:
Normal Response
A successful response to the message would look like this:
<message>
<name type="r" status="ack">tagProgramId</name>
<paramGroup name ="tagIdSpec" type="ISO_18000_6_B | EPC_GEN_1 | EPC_GEN_2"/>
</message>
Error Response
If the programme failed, the response to the message would look like this:
<message>
<name type="r" status="fail">tagProgramId</name>
<paramGroup name ="tagIdSpec" type="ISO_18000_6_B | EPC_GEN_1 | EPC_GEN_2"/>
<reason> error code </reason>
</message>
Examples
Some examples of this command are given below.
Example 1: ISO UID
<message>
<name type="c">tagProgramId</name>
<paramGroup name="tagIdSpec" type="ISO_18000_6_B">
<newTagIdType>1</newTagIdType>
<newTagId>310000000000AC27</newTagId>
</paramGroup>
</message>
This will program an EPC2 with the existing id 000000000000000A to the new value
0000000000123456. The command assumes the tag will enter its open state after
singulation and will require an access password equal to 0xAA112233 before the
programming can take place.
If the access password on the tag is not equal to 0xAA112233 the command will fail, even if
no access password is programmed into the tag. For such a case exclude the password:
<message>
<name type="c">tagProgramId</name>
<paramGroup name="tagIdSpec" type="EPC_GEN_2">
<currentTagIdType> 3</currentTagIdType>
<currentTagId>00000000000000000000000A</currentTagId>
<newTagIdType>3</newTagIdType>
<newTagId>000000000000000000123456</newTagId>
</paramGroup>
</message>
Note
As of firmware/software Release V1.2 all Gen2 tagIdType fields are ignored, the length of
the ID being calculated from the contents of the corresponding tagId fields.
Moreover, the currentTagId field is also optional – if omitted, the reader will program
whatever tag it finds, provided it is the only tag in the field.
Due to the current implementations the following XML-command leads to the same result as
the previous one:
<message>
<name type="c">tagProgramId</name>
<paramGroup name="tagIdSpec" type="EPC_GEN_2">
<newTagId>000000000000000000123456</newTagId>
</paramGroup>
</message>
In both cases the reader will automatically assume the access password is not required.
Note
Success and failure of all programming commands is also dependent upon the lock status of
the tags.
Note
Note ISO does not have a kill property.
Note
EPC Gen 1 Tag: tagKill command does not work with all tags as specified. In some cases
the tag is rather erased than killed, even though reader gets response 'killing successful'.
For EPC Gen 2 Tags: tagKill command works as specified.
The message format for EPC Gen 1 and EPC Gen 2 is:
Instruction
<message>
<name type="c">tagKill</name>
<paramGroup name ="tagKillSpec">
<protocolId> protocolId </protocolId>
<tagIdType> tagIdType </tagIdType>
<tagId> tagId </tagId>
<password> password </password>
</paramGroup>
<message>
Note
From firmware Release V 1.2 onwards:
Omitting the tagId field will cause the reader to perform the tagKill operation on the first tag
which responds, regardless of its ID.
Normal Response
A successful response to the message would look like this:
<message>
<name type="r" status="ack">tagKill</name>
</message>
Error Response
If the operation failed, the response to the message would look like this:
<message>
<name type="r" status="fail">tagKill</name>
<reason> error code </reason>
</message>
For error response messages refer to Appendix
Instruction
<message>
<name type="c">tagDataRead</name>
<paramGroup name ="tagReadSpec">
<protocolId> protocolID</protocolId>
<tagIdType> tagIdtype </tagIdType>
<tagId> tagId </tagId>
<tagAddress> tagAddress </tagAddress>
<tagDataLength> tagDataLength </tagDataLength>
<memBank> memBank </memBank>
<password> password </password>
</paramGroup>
</message>
Normal Response
A successful response to the message would look like this:
<message>
<name type="r" status="ack">tagDataRead</name>
<tagData> tagData </tagData>
</message>
Error Response
If the read failed, the response to the message would look like this:
<message>
<name type="r" status="fail">tagDataRead</name>
<reason> error code </reason>
</message>
Examples
Note
From firmware Release V 1.2 onwards the TagIdType will be ignored.
Note
The Access Password may be required for EPC GEN 2 tags. If not supplied the RF660R will
assume a zero password and that the tag will enter the Secured state. The command will fail
if the EPC GEN 2 has a non-zero access password. The command may also fail depending
upon the lock status of the EPC GEN 2 tag.
Instruction
<message>
<name type="c">tagDataWrite</name>
<paramGroup name ="tagWriteSpec">
<protocolId> protocolId </protocolId>
<tagIdType> tagIdType </tagIdType>
<tagId> tagId </tagId>
<verifyOn> ON | OFF </verifyOn>
<tagAddress> tagAddress </tagAddress>
<tagDataLength> tagDataLength </tagDataLength>
<tagData> tagData </tagData>
<mask> xxxxxxx </mask>
<memBank> memBank </memBank>
<password> password </password>
<EPC2Mode> WRITE | BLOCK_WRITE </EPC2Mode>
</paramGroup>
</message>
Note
Firmware Release V 1.2 and later ones ignore the tagIdType field for EPC Global Gen 2 tags
and infer it from the number of characters in the tagId field (which must be a multiple of 4).
In addition, the tagId field may be omitted. This will cause the reader to perform the
tagDataWrite operation on the first tag which responds, regardless of its ID.
Also a mask field has been added to allow control of which tag data bits are programmed.
The mask must be of the same length as the tag data field.
Firmware Release V 1.2 and later ones do not act on the fields EPC2Mode
(WRITE/BLOCK_WRITE) and verifyOn within the write command. Whilst it is intended
ultimately to take account of these fields, the current version verifies all writes and uses write
rather than blockwrite.
That is blockwrite and unverified write are not supported by the current firmware Release
Successful Response
<message>
<name type="r" status="ack"> tagDataWrite </name>
</message>
If the operation failed, the error response to the message would look like this:
Error Response
<message>
<name type="r" status="fail">tagDataWrite</name>
<reason> error code </reason>
</message>
Example 1: ISO-B protocol with ISO/IEC 64 tag Id type writing 0x1A to memory address
0x18, the write is verified.
<message>
<name type="c">tagDataWrite</name>
<paramGroup name="tagWriteSpec">
<protocolId>1</protocolId>
<tagIdType>1</tagIdType>
<tagId>ef04020000de77fc</tagId>
<tagAddress>18</tagAddress>
<tagDataLength>1</tagDataLength>
<tagData>1A</tagData>
<verifyOn>ON</verifyOn>
</paramGroup>
</message>
Example 2: ISO-B protocol with UCODE EPC 1.19 64 tag Id type writing 0x0123456789 to
memory address 0x24, the write is not verified.
<message>
<name type="c">tagDataWrite</name>
<paramGroup name="tagWriteSpec">
<protocolId>1</protocolId>
<tagIdType>4</tagIdType>
<tagId>0200000000de77fc</tagId>
<tagAddress>24</tagAddress>
<tagDataLength>5</tagDataLength>
<tagData>0123456789</tagData>
<verifyOn>OFF</verifyOn>
</paramGroup>
</message>
Example 3: ISO-B protocol with UCODE EPC 1.19 96 tag Id type writing 0xABCDEF to
memory address 0x12, the write is verified.
<message>
<name type="c">tagDataWrite</name>
<paramGroup name="tagWriteSpec">
<protocolId>1</protocolId>
<tagIdType>5</tagIdType>
<tagId>0200000003ffff0000de77fc</tagId>
<tagAddress>12</tagAddress>
<tagDataLength>3</tagDataLength>
<tagData>ABCDEF </tagData>
<verifyOn>ON</verifyOn>
</paramGroup>
</message>
Note
Smart Reader Tag Locking is not supported for ETSI 64-bit Gen 1 tags.
Instruction
For ISO 18000-6B Protocol:
<message>
<name type="c">tagLock</name>
<paramGroup name ="tagLockSpec">
<protocolId> protocolId </protocolId>
<tagIdType> tagIdType </tagIdType>
<tagId> tagId </tagId>
<tagAddress> tagAddress </tagAddress>
<tagDataLength> tagDataLength </tagDataLength>
</paramGroup>
</message>
Note
For firmware Release V 1.2 the tagId field may be omitted. This will cause the reader to
perform the tagLock operation on the first tag which responds, regardless of its ID.
EPC Gen 2 does not allow the reading of the tag lock bits directly. The lock bit status can
only be inferred from failed or successful actions. A tag would enter the secured state
automatically if it has an access password of all zeros, i.e. 0x00000000. Otherwise a tag will
enter the open state. To move a tag from the open to secured state add the optional access
password field to the EPC_GEN_2 'tagProgramId', 'tagDataRead', 'tagDataWrite' and
'tagLock' commands. If the wrong access password is supplied, these commands will fail
even though they may already be in secured state.
'lockMask' is the hex value (Bit) from the table below, with Bit 0 the most significant and
transmitted first:
Table 11- 4 Lock Actions for EPC Gen 2, EPC, TID and User Memory Banks
Table 11- 5 Lock Actions for EPC Gen 2, Kill and Access Passwords
Successful Response
<message>
<name type="r" status="ack">tagLock</name>
</message>
If the program failed, the response to the message would look like this:
Error Response
<message>
<name type="r" status="fail">tagLock</name>
<reason> error code </reason>
</message>
An example of an EPC Gen 2 Tag Lock message is given:
Example
Table 11- 6 Example EPC Gen 2 Lock bits and their representation as a hexadecimal value
Error Response
<message>
<name type="r" status="fail">tagLock</name>
<reason> error code <reason>
</message>
For error response messages refer to Appendix.
Note
For EPC Gen 2 tags the TagLock command principally works but may not be successful if
sent only once. In order to make sure that the tagLock is received and implemented by the
EPC Gen 2 tag correctly, re-send this command several times.
Note
Some specific commands (Talk, Quiet, Erase, Lock) do not work satisfactory with all EPC
Gen 1 tags on ETSI frequency band (thus leading to limited reading/writing range). This is a
tag-power issue, not reader-related.
Only RAFSEC tag (3000432) provides full range on ETSI band.
For FCC band no range limitations of Gen 1 tags were found.
Instruction
<message>
<name type="c">EPC1Command</name>
<paramGroup name="EPC1CmdSpec">
<epc1Cmd>TALK| QUIET | ERASE | VERIFY</epc1Cmd>
<value> value </value>
<length> length </length>
<pointer> pointer </pointer>
</paramGroup>
</message>
These commands (except ERASE and VERIFY) can be applied to all tags in the view or to a
subset. When applying these commands to all tags, only the ‘epc1Cmd’ element is needed.
When applying these to a subset, the value, length and pointer elements should also be
specified.
11.4.2 QUIET
To set all tags to QUIET:
Example 1: All Tags QUIET
<message>
<name type="c">EPC1Command</name>
<paramGroup name="EPC1CmdSpec">
<epc1Cmd> QUIET </epc1Cmd>
</paramGroup>
</message>
11.4.3 TALK
To wake up all tags use the TALK command:
Example 1: All Tags TALK
<message>
<name type="c">EPC1Command</name>
<paramGroup name="EPC1CmdSpec">
<epc1Cmd> TALK </epc1Cmd>
</paramGroup>
</message>
11.4.4 VERIFY
The VERIFY command can be applied to a single tag only. The Tag ID is not checked,
therefore the reader cannot address an individual specific tag in a EPC Gen 1 tag population
(field).
When a Verify command is sent, any one EPC Gen 1 tag may answer.
In addition to the epc1Cmd element the only other element needed is the value. The value
must contain the entire ID of the tag. Also note that a tag will only respond to VERIFY if it is
unlocked.
Example: VERIFY
<message>
<name type="c"> EPC1Command </name>
<paramGroup name="EPC1CmdSpec">
<epc1Cmd> VERIFY </epc1Cmd>
<value> A50102030405060708090a0b </value>
</paramGroup>
</message>
Note
The VERIFY-command does NOT support 64-bit-EPC Gen1-tags.
11.4.5 ERASE
Erase is not addressable, it erases all tags in view:
Instruction
<message>
<name type="c">EPC1Command</name>
<paramGroup name="EPC1CmdSpec">
<epc1Cmd> ERASE </epc1Cmd>
</paramGroup>
</message>
A successful response to the message would look like this:
Successful Response
<message>
<name type="r" status="ack">EPC1Command</name>
<password> password </password>
</message>
Note
The password element will only be present in the response if the EPC1Command was
VERIFY.
If the command failed, the response to the message would look like this:
Error Response
<message>
<name type="r" status="fail"> EPC1Command </name>
<reason> error code </reason>
</message>
Table 11- 7 The parameters prefixed with a"*" indicate empty elements.
Instruction
<message>
<name type="c">tagBlockErase</name>
<paramGroup name="tagBlockEraseSpec">
<tagIdType> tagIdType </tagIdType>
<tagId> tagId </tagId>
<tagAddress> tagAddress </tagAddress>
<tagDataLength> tagDataLength </tagDataLength>
<memBank> memBank </memBank>
</paramGroup>
</message>
Example
<message>
<name type="c">tagBlockErase</name>
<paramGroup name=" tagBlockEraseSpec ">
<tagId> 3000214160C00400000A3596 </tagId>
<tagIdType> 3 </tagIdType>
<tagAddress> 0 </tagAddress>
<tagDataLength> 2 </tagDataLength>
<memBank> 3 </memBank>
</paramGroup>
</message>
Request
<message>
<name type="c">get</name>
<paramGroup name="readerInfo" />
</message
Normal Response
The reader will send a normal response containing the desired information (the information
in bold is fixed for this range of products):
<message >
<name type="r" status="ack">get</name>
<paramGroup name="readerInfo">
<readerName> SIMATIC RF660R Portal Reader </readerName>
<mfrDesc> 6GT2811-0AA01</mfrDesc>
<readerDesc> readerDesc</readerDesc>
</paramGroup">
</message>
Setting
<message>
<name type="c">set</name>
<readerDesc> readerDesc </readerDesc>
</message>
Normal Response
The reader will respond with a normal response message.
Error Response
Error responses are not defined for the messages in this section.
The alert codes are a subset of the error codes list and may indicate an error, warning or just
simple user information. In the case of serious software failures, the extra parameters may
include the source file name and the line number.
Requirement
When the reader has already been operated using firmware in one version and this should
be replaced with another version (e.g. V1.2 and V1.3), the following components must also
be available:
● SIMATIC RF660R reader firmware version V1.2
● SIMATIC RF660R bootloader for version V1.2
● SIMATIC RF660R reader firmware version V1.3
Note
Please note that the safest way for performing a firmware update is via the Configuration
Software.
NOTICE
Reader inoperable
The reader may become inoperable and can only be repaired by the Siemens Service
Center for MOBY products if the following requirement is NOT met:
The operating steps of the update or downgrade process listed in the following
sections must be performed exactly as described in accordance with the specified
sequence.
Note
Performing updates to version V1.3 and downgrades from version V1.3
Updates to version V1.3 are only allowed from V1.2 and downgrades from version V1.3
are only allowed to version V1.2. If older Firmware versions are used the
update/downgrade procedure to and from V1.2 has to be implemented. See also
Configuration Manual "RF660R Configuration Software", Edition 07/2008.
Note
Performing updates and downgrades
As the user, you are responsible for performing updates and downgrades of the firmware
and software correctly. Siemens will not accept any liability whatsoever for correct
performance of the processes.
Contact your technical support team or where you purchased your device to find out
which RF660R reader versions are suitable for downgrades.
CAUTION
Risk of damage!
Under no circumstances must you disconnect the RF660R unit from the power supply
during the firmware update procedure.
CAUTION
Risk of damage
During the firmware update procedure, no further communication, such as triggers, must
take place with the reader that should not be set at this time via the digital inputs of the
reader.
NOTICE
Inoperability
When updating the reader with firmware version V1.3 ensure that the identical firmware
version is always used for both banks, Bank A and Bank B, e.g. V1.3
(01.03.00.00_04.14).
Parameters
The parameters prefixed with a ‘*’ indicate empty elements.
Note
Note for host applications:
The various images (firmware, bootloader, boardtest etc) are supplied in a certain format
(XML). This format includes the image type and version, along with the checksum and length
attributes. This information makes it possible for a host application to check the integrity of
the image. This also enables the host application to verify that the correct image type is
transferred to the correct flashbank on the reader.
A sample of a firmware image is given below. It shows that the data element which is in the
same format as used in the message 'updateFirmware'.
<data len="977132" csum="850ce814" type="firmware" version="V1.1 (01.01.00.00_01.08)">
80 0F 37 80 00 02 00 00 00 E0 02 00 2A C0 07 00 EA 1B 40 00 62 03 00 00
C2 08 00 00 A2 03 00 02 00 00 00 00 00 00 00 00 00 00 00 00 12 00 00 00
00 60 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
...
...
</data>
Instruction
The firmware update procedure is a multi-step process. The first step includes a firmware
update request message from the host:
<message>
<name type=”c”>updateFirmwareReq</name>
</message>
Normal Response
The reader will reply with an acknowledgment:
<message>
<name type=”r” status=”ack”> updateFirmwareReq </name>
</message>
Error Response
A failure response is not expected as the embedded software will ensure that the reader
enters an appropriate mode for this operation.
Instruction
<message>
<name type="c"> uploadFirmware</name>
<data len="len" csum="csum" type="type" version="version">
…data data data data...
</data>
</message>
Normal Response
When the Reader receives the message "updateFirmware", it will read the firmware image
directly into RAM without saving it on to the FLASH. It will then send the following response
back.
<message >
<name type="r" status="ack">updateFirmware</name>
</message>
Error Response
In the event of a failure, the Reader will send an error response:
<message>
<name type="r" status="fail">updateFirmware</name>
<reason>error code </reason>
</message>
Instruction
<message>
<name type="c"> flashFirmware </name>
<flashBank> A | B | L | T </flashBank>
</message>
Normal Response
The reader will send a normal response in the general format.
Instruction
<message >
<name type=”c”> setFirmware </name>
<flashBank> A | B |T</flashBank>
</message>
Normal Response
The reader will send a normal response in the general format.
The final step would be to reset the Reader. See section Control Message for more details
on that procedure.
At the very end of each firmware update procedure a Powercycle must be done.
Request
<message>
<name type="c">get</name>
<paramGroup name="firmwareInfo"/>
</message>
Normal Response
The reader will send the following response:
<message >
<name type="r" status="ack">get</name>
<paramGroup name="firmwareInfo">
<flashBank number="A"> flashBank </ flashBank>
<flashBank number="B"> flashBank </ flashBank>
</paramGroup>
</message>
Error Response
A failure response is not defined for the ‘get’ operation.
Instruction
<message>
<name type="c">updateFirmwareReq</name>
</message>
Normal Response
The reader will reply with an acknowledgment:
<message>
<name type="r" status="ack"> updateFirmwareReq </name>
</message>
Error Response
A failure response is not expected as the embedded software will ensure that the reader
enters an appropriate mode for this operation.
<message>
<name type="c"> updateFirmware</name>
<data len="len" csum="csum" type="bootloader" version="version">
…data data data data...
</data>
</message>
In the event of a failure, the Reader will send an error response:
<message >
<name type="r" status="fail">updateFirmware</name>
<reason>error code</reason>
</message>
Instruction
<message >
<name type=”c”> flashFirmware</name>
<flashBank> A | B | L</flashBank>
</message>
<message >
<name type=”c”> flashFirmware</name>
<flashBank> L</flashBank>
</message>
Normal Response
The Reader will send a normal response in the general format.
Unlike the main firmware image update, the boot loader update doesn’t require setting the
flash bank (as there is only one flash bank for the boot loader).
To make the new boot loader effective, the Reader should be reset. See section ‘Control
Message’ for more details on that procedure. At the very end of each firmware update
procedure a Powercycle must be done.
Note
Validity of ETSI Sub Band according to EN 302208 V1.2.1
The Sub Bands according to the ETSI-standard EN 302208 V1.2.1 are mandatory for all
RF600-Readers which have been put into operation from 01.01.2010. Hence, from Firmware
Version V 1.3 (Release 4) onwards, only channels listed above can be selected.
Note
Validity of ETSI Sub Band according to EN302208 V1.2.1
The Sub Bands according to the ETSI-standard EN302208 V1.2.1 are mandatory for all
RF600-Readers which have been put into operation from 01.01.2010. Hence, from Firmware
Version V 1.3 (Release 4) onwards, only channels listed above can be selected.
Geographical regions
Due to a European Commission decision as of 16th May 2007 granting France a derogation
to further limit the emission powers for the use of the 865.6-867.6 MHz frequency band for
radio frequency identification devices (RFID) operating within certain zones on the territory of
France, the operation of the RF600 system is limited to operate within the power levels
indicated above, when it is inside the following areas:
Index Tag Protocol Tx Rate Tari x DR Rx Rate Link Freq Rx Decode Mod. Mod.
[kbps] [us] [kbps] [kHz] Type Index type
1 ISO Type B 40 N/A N/A N/A 40 40 FM0 100% DSB
2 ISO Type B 10 N/A N/A N/A 40 40 FM0 100% DSB
3 ISO Type B 40 N/A N/A N/A 160 160 FM0 100% DSB
10 EPC Gen 1 70.18 N/A N/A N/A 140.35 140.35 FM-EPC1 90% DSB
11 EPC Gen 1 15 N/A N/A N/A 30 30 FM-EPC1 50% DSB
20 EPC Gen 2 26.7 25 1 8 40 40 FM0 90% DSB
22 EPC Gen 2 53.3 12.5 1 8 160 160 FM0 90% DSB
23 EPC Gen 2 26.7 25 1 64/3 40 160 Miller 4 90% PR-ASK
25 EPC Gen 2 53.3 12.5 1 8 80 80 FM0 90% DSB
26 EPC Gen 2 32 25 0.5 64/3 80 160 FM0 90% DSB
27 EPC Gen 2 26.7 25 1 64/3 80 160 FM0 90% DSB
28 EPC Gen 2 64 12.5 0.5 8 160 160 FM0 90% DSB
29 EPC Gen 2 106.7 6.25 1 8 160 160 FM0 90% DSB
30 EPC Gen 2 128 6.25 0.5 8 160 160 FM0 90% DSB
Index Label
1 Standard 40-40
2 Low Rate 10-40
3 High Rate 40-160*
10 FCC Region EPC Gen 1 Class 1
11 ETSI Region EPC Gen 1 Class 1
20 Standard 25-1.0-40
22 Higher Rate 12.5-1.0-160
23 Dense Interrogator Environment 25-1.0-160 PR-ASK
25 Higher Rate 12.5-1.0-80
26 Higher Rate (25-0.5-160)
27 Higher Rate (25-1-160)
28 Higher Rate (12.5-0.5-160)
29 Higher Rate (6.25-1-160)
30 Higher Rate (6.25-0.5-160)
* For ISO 18000-6B tags when sending WRITE commands avoid using Higher Data Rate
(40-160), this may not work stable. Instead use standard data rate (40-40) for writing.
ISO Labels indicate reader to tag and tag to reader data rates.
EPC Gen 2 labels indicate the Tari, X value, return link frequency and if the reader to tag
signalling is phase reversal ASK.
Note
This set is valid from firmware release version V1.3 (01.02.00.00_01.17).
readerProfile: ETSI
antennaConfig: not set, antennas need to be configured before it can be used.
channelConfig ETSI:
fhState: ON
channelList: 103, 106, 109, 112
switchingInterval: 1000 (msec)
channelConfig FCC:
fhState: ON
channelList: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49
switchingInterval: 300 (msec)
lbtState: OFF
channelConfig CHINA:
fhState: ON
channelList: 152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167
switchingInterval: 1000 (msec)
lbtState: OFF
protocolConfig ISO_18000_6_B:
numReadCycles: 1
rtCommsScheme: 1
readMode: BULK_READ
protocolConfig EPC_GEN_1:
numReadCycles: 0
protocolConfig EPC_GEN_2:
numReadCycles: 0
rtCommsScheme: 20
initialQ: 4
readTriggerConfig:
readTriggerType: CONTINUOUS
digitalInputConfig:
port numbers 0 to 2: DISABLE
readerMode: 0 (INACTIVE)
tagSelectionRange ISO_18000_6_B: Select all (i.e. no filters specified)
tagSelectionRange EPC_GEN2: Select all
ethernetConfig:
ipAddress: 192.168.0.254
portNumber: 10001
gatewayAddress: 192.168.0.1
subnetMask: 255.255.255.0
notifyChannel:
notifyChannelId: NONE
// data container. for the first version just use a generic map to store the ip address keyed on
the
// MAC addresses.
private HashMap readerAddrMap = new HashMap();
public XPortQueryThread2(DatagramSocket thisSocket) {
//get the socket to send and receive on
mySocket = thisSocket;
stillRunning = true;
status = STATUS_IDLE;
}
/*
* Sends query firmware version command to port number 30718 (0x77FE). XPorts
* respond with firmware information, MAC and IP address.
*/
public void sendQuery(InetAddress thisAddress) {
byte[] queryMsg = new byte[4];
DatagramPacket queryPacket;
InetAddress broadcastIP; // broadcast IP address for this subnet
// get broadcast address
broadcastIP=getBroadcastAddress(thisAddress);
try{
// should really check the subnet mask and work out the broadcast
// IP from that
broadcastIP = InetAddress.getByName("255.255.255.255");
}
catch(UnknownHostException uhe){
status = STATUS_FINISHED_ERROR;
error = ERROR_GET_HOSTNAME;
System.out.println(uhe);
}
return(broadcastIP);
}
// not really needed anymore as the thread is self terminating
public void kill() {
stillRunning = false;
status = STATUS_TERMINATED;
error = ERROR_UNKNOWN;
}
public void run() {
InetAddress ipAddr;
String message;
readerAddrMap.clear();
try{
Thread.sleep(100);
}
catch(InterruptedException interrupted){
}
}
catch(IOException e){
// error receiving datagram so stop thread
status = STATUS_FINISHED_ERROR;
error = ERROR_DATAGRAM_RX;
return;
}
}
// we had a complete scan - doesn't matter if we found any readers or not
status = STATUS_FINISHED_OK;
error = ERROR_UNKNOWN;
}
/*
* The Query message is <00> <00> <00> <F6>.
* The answer will be formatted as:
* <00> <00> <00> <F7>
* <16 bytes of firmware info>
* <4 bytes not used>
* <6 bytes MAC address>
*/
public String getMAC_address(String payload) {
int i;
byte[] byteArray = new byte[payload.length()];
int[] intArray = new int[payload.length()];
// convert the String to a byte array
byteArray = payload.getBytes();
}
else
{
String hexStr = Integer.toHexString(intArray[i]).toUpperCase();
hexStr = "0" + hexStr;
buff.append(hexStr);
}
}
if(i!=29){
buff.append("-");
}
}
return buff.toString();
}
else{
return null;
}
e.printStackTrace();
}
}
// double check the status
if(listener.getStatus() == XPortQueryThread2.STATUS_FINISHED_OK)
{
Iterator it = values.iterator();
Iterator macIt = keys.iterator();
if(values.size() > 0)
// remove the Unknown reader from the combo
this.comboReaders.removeItemAt(0);
while(it.hasNext())
{
InetAddress inetAddr = (InetAddress) it.next();
String addr = inetAddr.getHostAddress();
String macAddr = (String) macIt.next();
String displayItem = addr + "/" + macAddr;
// do whatever the application needs to do with this information.
}
}
else
{
// procedure didn't finish successfully, something went wrong
System.out.println("query listener, unsuccessful finish!");
return false;
}
return true;
(UURUB/('
RQ
RII
PV
PV PV
In many cases the error can be fixed by rebooting the reader. (Power off->on).
Notes on CE marking
Principle
Safety
Underwriters Laboratories (UL) according to standard UL 60950, Report E11 5352 and
Canadian standard C22.2 No. 60950 (I.T.E) or UL508 and C22.2 No. 142
(IND.CONT.EQ)
UL recognition mark
Canadian Standard Association (CSA) per Standard C22.2. No. 60950 (LR 81690) or
per C22.2 No. 142 (LR 63533)
Canadian Standard Association (CSA) per American Standard UL 60950 (LR 81690) or
per UL 508 (LR 63533)
EMC
USA
Federal Communications This equipment has been tested and found to comply with the limits for a
Commission Class A digital device, pursuant to Part 15 of the FCC Rules. These limits
Radio Frequency are designed to provide reasonable protection against harmful
Interference Statement interference when the equipment is operated in a commercial
environment. This equipment generates, uses, and can radiate radio
frequency energy and, if not installed and used in accordance with the
instruction manual, may cause harmful interference to radio
communications. Operation of this equipment in a residential area is likely
to cause harmful interference in which case the user will be required to
correct the interference at his own expense.
Shielded Cables Shielded cables must be used with this equipment to maintain compliance
with FCC regulations.
Modifications Changes or modifications not expressly approved by the manufacturer
could void the user’s authority to operate the equipment.
Conditions of Operations This device complies with Part 15 of the FCC Rules. Operation is subject
to the following two conditions: (1) this device may not cause harmful
interference, and (2) this device must accept any interference received,
including interference that may cause undesired operation.
CANADA
Canadian Notice This Class B digital apparatus complies with Canadian ICES-003.
Avis Canadien Cet appareil numérique de la classe b est conforme à la norme NMB-003
du Canada.
AUSTRALIA
This product meets the requirements of the AS/NZS 3548 Norm.
Technical Support
You can reach the technical support team for all IA&DT projects at
● Telephone: +49 (0) 180 5050 222
● Fax: +49 (0) 180 5050 223
Internet
● You can contact us via the Internet at:
http://www.siemens.com/automation/service&support
● You can find the latest general information about our identification systems on the
Internet at:
http://www.siemens.com/simatic-sensors/rf
● You will find the online catalog and the online ordering system at:
http://www.siemens.com/industrymall
B.4 Training
We offer appropriate courses to get you started. Please contact your local Training Center or
the Central Training Center in
D-90327 Nuremberg.
Telephone: +49 (911) 895-3200
You will find information about our course programme for SITRAIN on the home page at:
http://www.siemens.com/sitrain
D
B
Data bits, 47
Boot Loader, 139
DataWrite, 112
BULK_READ, 67
Default configuration, 147
Device & Data Management, 10
DHCP Based Ethernet Setup, 50
C
Digital Input
cableLoss, 59 Current State, 78
Certificates, 167 Digital Input Configuration, 76
Channel Id, 141, 142, 143 Get The Current State Of The Digital Input, 78
channel spacing, 141 Set The Digital Input Configuration, 76
channelConfig digital output, 86
Get, 55 DIGITAL_INPUT_PORT, 74, 82
Set, 55 DigitalInputNumber, 75
CHINA, 57, 64 digitalInputState, 78
Channel ID, 144 DigitalInputType, 75
Channel Id Settings, 64 digitalOutputState, 79, 86
Frequency, 144
Maximum Transmit Power, 144
Sub-bands, 144 E
Commands
Effective Radiated Power, 59
EPC Class 1 Gen 1, 122
EMC Directives, 168
EPC Class 1 Gen 2, 127
EPC Class 1 Gen 1, 66
Config Application, 10
EPC Class 1 Gen 1 commands, 122
Configuration
EPC Class 1 Gen 2, 66
Digital Input, 76
hostGreetings, 37 '
Operational, 20
'Reader description', 130
Read Trigger Options, 12
Service Provisioning, 11
Tag Exchange, 107
R
With A Single Parameter, 23
With Multiple Parameters, 22 Reader Frequency Settings, 61
With No Parameters, 21 China Frequency Switching Settings, 64
Messages ETSI Frequency Switching Settings, 61
operational, 20 FCC Channel ID Settings, 62
Mod. Index, 145 reader information, 129
Mod. Type, 145 Reader Profile
Modes of Operation, 13 Get, 57
Set, 56
Reader Responses, 25
N Error Responses, 27
Normal Responses, 25
Notification Channel, 52
Notifications, 27
Retrieve Notification Channel Details, 54
With A Single Return Parameter, 26
Setting The Notification Channel, 52
With Multiple Return Parameters, 26
Notifications, 27
Without Any Return Parameters, 25
Notifications Channel, 10
Reader to Tag Communication, 145
notifyChanne, 47
readerDesc, 130
notifyChannel, 54
readerInfo, 129
notifyCount, 79, 85
readerProfile
Get, 55
Set, 55
P
Reading
Parameters Tag Data, 107
Multiple, 22 readTags, 79
No, 21 readTriggerConfig, 73, 75
Serial Port, 47 readTriggerType, 75
With A Single, 23 real time clock, 42
With A Single Return, 26 resetConfig, 70
With Multiple Return, 26 resetReader, 21, 81
Without Any Return, 25 Resetting Configuration to Factory Settings, 72
Protocol Configuration, 66 Retrieve
Get Protocol Configuration, 69 General Info About The Reader, 129
Set The Protocol Configuration, 66 Retrieving
protocolConfig, 22, 24, 66, 69 A Set Of Parameters From The Reader, 24
Get, 55 A Single Parameter From The Reader, 23
Set, 55 RS232, 50
rtCommsScheme, 66, 69
Rx Decode Type, 145
Q Rx Rate, 145
Quick Reference, 11
S
R saveConfig, 70
Saving
RAM, 55
Configuration Changes, 12
The Image To FLASH, 137
www.siemens.com/automation