1.  Field of the Invention
This invention relates to a wireless tag system adapted to communications between a plurality of wireless tags (to be also referred to as IC tags hereinafter) and a read/write device and also to a wireless tag access control device, a wireless tag access control method, a wireless tag access control program and a tag that can be used for such a wireless tag system. 
2.  Description of Related Art
As a result of the rapid development of IC technologies in recent years, wireless tag systems using ICs have become very popular and are currently spreading very fast (see, inter alia, Patent Document 1: Jpn.  Pat.  Appln.  Laid-Open Publication No.  2003-196360). 
With such a wireless tag system, a plurality of wireless tags are attached to respective objects that have to be held under control so that any of the tags can be accessed by way of a read/write device in order to read information from and/or write information to it, thereby systematizing and facilitating the operation of controlling the objects of control. 
When accessing a wireless tag (to be referred to simply as tag hereinafter), the read/write device firstly operates for an anti-collision process and acquires the unique IDs (to be referred to as UIDs hereinafter) of the tags of the system.  Subsequently, it accesses the tag by using the acquired UID of the tag. 
FIG.  21 of the accompanying drawings is a flow chart of the operation of the read/write device for an anti-collision process. 
Referring to FIG.  21, the read/write device firstly transmits a group select command to the tags and waits for acknowledgements from the tags (Step S1).  Then, it determines if it has properly received acknowledgements from the tags and acquired the UIDs of the tags (Step S2).  If it is determined that the read/write device has properly acquired the UIDs (Step S2, Yes), the device transmits a read command (READ) to the tags and receives an acknowledgement from the tags (Step S3).  Thereafter, the tags do not respond to any Fail command nor to any Success command from the read/write device. 
Then, the read/write device determines if it has received acknowledgements consecutively for not less than a predetermined number of times (Step S4).  If it is determined that it has not received acknowledgements for a predetermined number of times (Step S4, Yes), the read/write device terminates the process.  If, on the other hand, it is determined that it has received acknowledgements for the predetermined number of times (Step S4, No), the read/write device transmits a Success command and receives an acknowledgement from the tags (Step S5). 
On the other hand, if it is determined that the read/write device has not properly acquired the UIDs (Step S2, No), the read/write device determines if it has not received acknowledgements because there were collisions of acknowledgements from the tags (Step S6).  If, on the other hand, it is determined that the read/write device has received acknowledgements (Step S6, Yes), it transmits a Fail command to the tags and receives an acknowledgement from the tags (Step S7). 
If it is determined that the read/write device has not received acknowledgements because there were collisions of acknowledgements from the tags (Step S6, No), it determines if it has not received an acknowledgement from any of the tags or not (Step S8).  If it is determined that the read/write device has not received an acknowledgement from any of the tags (Step S8, No), it terminates the process.  However, if the read/write device has received at least an acknowledgement (Step S8, Yes), it proceeds to the above described processing operation of Step S4 and that of Step S5. 
FIG.  22 of the accompanying drawings is a flow chart of the operation of a tag for an anti-collision process from the start of power supply. 
Firstly, as power is supplied, the tag turns its mode of operation to a ready mode (Step S21).  Then, it determines if it has received a command from the read/write device (Step S22).  If it is determined that the tag has not received any command (Step S22, No), it repeats the processing operation of Step S22.  If, on the other hand, it is determined that the tag has received a command (Step S22, Yes), the tag determines if it has received a group select command or not (Step S23). 
If it is determined that the tag has received a group select command (Step S23, Yes), it turns its mode of operation to an ID mode (Step S24) and then returns to the ready mode.  If, on the other hand, it is determined that the tag has not received a group select command (Step S23, No), the tag determines if its mode of operation is an ID mode or not (Step S25).  If it is determined that the mode of operation is an ID mode (Step S25, Yes), the tag further determines if it has received a fail command or not (Step S26). 
If it is determined that the tag has not received a fail command (Step S26, No), it determines if it has received a success command or not (Step S27).  If it is determined that the tag has received a success command (Step S27, Yes), it updates the reading of the counter in the tag by decrementing the reading by −1 (Step S28) and determines if the reading of the counter in the tag is 0 or not (Step S29).  If it is determined that the reading of the counter in the tag is 0 (Step S29, Yes), the tag transmits its own UID (unique ID) to the read/write device (Step S30). 
If, on the other hand, it is determined that the tag has received a fail command (Step S26, Yes) as a result of the operation of determining if it has received a fail command or not (Step S26), it determines if the reading of the counter in the tag is 0 or not (Step S31) and, if it is determined that the reading of the counter in the tag is 0 (Step S31, Yes), the tag updates the reading of the counter by incrementing it by +1 (Step S32).  If, on the other hand, it is determined in Step S31 that the reading of the counter in the tag is not 0 (Step S31, No), the tag generates a random number of 1 or 0 (Step S33) and determines if the generated random number is −0 or not (Step S34).  If it is determined that the generated random number is −0 (Step S34, Y), the tag transmits its own UID to the read/write device (Step S35). 
Thus, with an anti-collision process as described above, it is possible for the read/write device to acquire the UID of each tag, while preventing mutual interferences of a plurality of tags. 
In order to prevent collisions, an anti-collision process as described above is conducted while restricting the transmission of tag UIDs for part of the tags and the process is repeated until the read/write device receives the UIDs of all the tags.  Therefore, the processing operation proceeds fast when the number of tags is small because the probability of collisions is low.  However, as the number tags increases, the number of times of repeating the process has to be raised in order to prevent collisions and hence the process is accompanied by a problem that a considerably long time is required before acquiring the UIDs of all the tag.