Gant Chart Retail by woz18343

VIEWS: 98 PAGES: 9

More Info
									                                                                                      Deniz Atlı
                                                                                     Selim Bora
                                                                           Kazım Tuncay Tekle


                 ENS 491 GRADUATION PROJECT (DESIGN)
                         PROJECT PROGRESS REPORT 1


INTRODUCTION


       In this progress report, we are presenting a literature survey on the field, the
implementation we have done so far, the technical details of the implementation, and a gant
chart of our proposed work.




RFID LITERATURE SURVEY


       The Radio Frequency Identification (RFID) industry is growing exponentially.
Although RFID has been used for automatic data collection since World War II, its growth
has been relatively slow through the 1990s. Recent technological developments have opened
the door to many new applications of RFID technology that, combined with end-user
education, should drive excellent growth through the end of this decade and beyond. Current
and emerging uses for RFID technology include a variety of applications such as: toll road
and parking area access, intermodal freight container identification, pallet tracking, railroad
and truck (rolling stock) tracking, animal identification, work-in-progress tracking, and
matching passengers with bags at airports. The strongest new trend in the industry is entry of
large semiconductor companies into the marketplace.
       Before starting to describe possible or currently in use applications of RFID, let‟s first
start with general equipments that make up the fully functional system.             Read Only
Transponders: The first tags were defined as passive and read-only (R/O). This meant that like
anti-shoplifting tags, they were battery free, powered by the signal from the reading device.
       Embedded codes were permanently inserted during factory manufacture, guaranteed to
be unique to each transponder, and were twenty decimal characters in length, or sixty four
(64) bits of binary computer data.
       The advanced design also includes hidden error checking codes to prevent data
distortion by radio inference. This ensures accurate data can be retrieved in a single reading
cycle unlike some other systems which required the comparison of several consecutive values
before displaying a result.
       Another technical advance was the use of FM radio transmission techniques for even
greater noise immunity, needed in many factory and office environments.
       R/O tags are effective, reliable, secure, and the lowest cost. But R/O tags have one
inconvenience – the numbers are set by the manufacturer and consequently are not always the
most suitable for the end user. This problem was solved by producing a tag identical to the
R/O in all respects but one – it is capable of being rewritten by the user. Now, numbers can be
chosen to suit the database, real values can be used – for example, in an access control
system; the employee‟s payroll number could be coded in a door security system.
       Farther, read/write (R/W) tags can be recoded many times, typically in excess of
10000 writing cycles. This flexibility opens up many applications in custom manufacturing
for example, where, by being reusable, the cost per use of the transponder can drop to
fractions of a penny, way below the cost of many printed label methods while still offering the
precision of exact identification of work in progress.
       Multipage Transponders: The very characteristic that made R/W tags reusable for so
many industrial applications, un fortunately also limited their use for security by the simple
reason that the data itself was no longer secure – if the user could change it, then so could
anyone else. R/W tags cannot be guaranteed to be unique.
       This problem was immediately addressed with the Multipage (M/P), a single device
containing as many as seventeen pages, each the equivalent of one 64 bit transponder. Page 1
is R/O, programmed at the factory, while the next sixteen pages (P2-P17) are all R/W for
storage of user data. A capability to “lock” a page, thus converting it to read only once it is
coded, is also provided so some data, such as serial numbers, cannot be erased. Each page is
individually addressable for both reading and writing, and readers can be set to default to a
particular page containing specific data. Normally, Page 1 would only be used for verification
if forgery or tampering is suspected.
       It should be remembered that all these transponder types retain the small size passive
technology of the R/O, and are generally compatible with each other. This meant that in some
applications the various types can be mixed and used together.
       For wider market use, different packaging forms were developed for more convenient
mounting, or to provide different antenna designs for improved reading performance.
Transponders are now available in miniature glass capsule, credit card, disk, and large
cylindrical formats, while specially adapted designs can be provided quickly for some users.
         One such design, a mount on metal package developed from the large cylinder for
vehicle use is now finding wide acceptance in industrial manufacturing and freight container
tracking as well as its original purpose, while a compact form is being developed for
identification of computers.
         Among the applications of RFID in supply chain, warehousing and logistics, one can
for example identify roll cages, as they are loaded onto the vehicle by using the tag on the roll
cage and RFID readers on each of the loading bays. By using a buzzer or light, a warning can
be given to the operator to indicate that the cage is being loaded incorrectly. At each of the
delivery points that the vehicle stops at, another reader can be used to identify the cages that
are supposed to be unloaded at that point. The advantage of using RFID tags in this way is
that the reading and verification is done completely automatically, therefore the operator only
has to worry about loading the vehicle, and does not need to use any equipment, leaving his
hands free.
         Roll cages themselves are expensive assets. By using the loading bay readers, one can
also determine where roll cages have been delivered. This allows one to keep track of the roll
cages, and know where they are "bottle necking". I.e. roll cages are used to deliver goods,
however, since no goods come back, roll cages are either returned empty or left at the delivery
point.
         Roll cages also need to be maintained. In the past it bas been very difficult to identify
a roll cage, because they go through such rough handling labels and other visible
identification becomes damaged quite quickly. By using the RFID tag serial number, one can
uniquely identify the tag and therefore maintain a service history, as well as making sure the
cage is serviced on a regular basis.
         Another application in warehousing is that by attaching a reader to a forklift truck, and
employing tags in the floor, the truck can know the general area that it's in. If greater accuracy
is required, this is achieved by simply putting more tags within the floor.
         This leads to numerous benefits, for example, the truck can provide information about
it's location to a warehouse management system (using a radio data terminal), which can the
allocate work to the nearest truck. The truck route can also be monitored to make sure that the
truck is taking the optimum route between two points. One customer also wants to use the
location tags to monitor the speed of trucks, this relates to a health and safety issue with some
truck drivers driving too quickly around the warehouse. Again, these are all examples of
multiple applications using the same tag, therefore improving the cost justification.


       RFID systems can be used for retail applications, too. By tagging the trolleys and
employing readers strategically throughout the store and in the car park, you can make sure a
trolley entering the store can only exit after going through a payment point. Likewise, by
placing readers on the exits to the car park, you can stop trolleys being taken off the premises.
       Having knowledge of where trolleys are, and also to record maintenance history can
provide asset-tracking benefits. By deploying readers throughout the aisles and then linking
the trolley to a loyalty card, specific customers buying/waking patterns can be tracked around
the store. By linking readers in the aisles to displays, customer specific marketing can be
advertised as the trolley approaches and is read by the reader.




BASIC IMPLEMENTATION: TECHNICAL DETAILS


       Having completed the literature survey on the field and having proposed a flow
diagram for the mechanism of the manufacturing line, we started a basic implementation in
C++/MFC for connection with the RF/ID reader.
       The first step in communicating with the reader is an initialization step which is
basically as follows:
       char cPortNr[4];
       itoa(1, cPortNr, 10) ;
       int handle = FECOM_OpenPort(cPortNr);


       if (handle < 0)
               cout << "Port Not Opened\n";


       FECOM_SetPortPara(handle,"Baud","38400");
       FECOM_SetPortPara(handle,"Frame","8E1");
       FECOM_SetPortPara(handle,"Timeout","3000");


       int readerHnd = FEISC_NewReader(handle);
       if (readerHnd < 0)
               cout << "Reader Not Opened\n";
       The code fragment above opens COM1 (which is the default serial port), and then sets
the baud rate of the port to 38400, the frame to 8E1 and timeout for the response to 3 seconds.
In any case of error the functions return a negative value, which prints out an error message.
After this command is executed, we have two handles, the first one pointing to the port, the
second one pointing to the reader.
       After this initialization step, we need to build a protocol to the reader to execute any
command and then send it through the port; this protocol can be built and sent in two ways as
can be seen in the following. The first code fragment can be called a manual build-send, and
the second one is a pack-up for the code to make things easier.
       1. To manually build the protocol and send it to the reader through the port, we need
the handles created above, a bus address which is 254 by default, the command number as
indicated in the documentation and character arrays to send what we request and to hold what
we want to receive. In the following code RF is set to ON:


       UCHAR cDataLen,cSendData[32], cSendProt[256], cRecProt[256],
       cRecData[256];
       int iStatus, iRecLen;
       UCHAR cBusAdr = 0xFE;
       UCHAR cCmdByte = 0x6A;
       cSendData[0] = 0x01;
       cSendData[1] = '\0';
       cDataLen = 0x01;


       int iErr = FEISC_BuildProtocol(readerHnd,cBusAdr,cCmdByte,cSendData,
       cDataLen, cSendProt, 0);
       if ( iErr < 0 )
               cout << "Protocol Not Built\n";


       iRecLen = FECOM_Transceive(handle, cSendProt, cSendProt[0], cRecProt,
       256);
       if (iRecLen > 0)
       {
               iStatus=FEISC_SplitProtocol(readerHnd, cRecProt,(UCHAR)iRecLen,
               &cBusAdr,&cCmdByte, cRecData, (int *)&cDataLen, 0);
               if (iStatus == 0) // Statusbyte == 0x00
               {// Process receive data
               }
       }
       else
               cout << “Transceive unsuccessful!\n";


       We send 1 over the command 0x6A, which tells the RF to be set to ON. Basically, we
send and receive the following info:




       In fact you may have noticed that we only prepare the command byte (0x6A), the on
signal (0x01) and the length of it (0x01); however the 6 bytes format above is provided by the
FEISC_BuildProtocol function into the array cSendProt, by calculating total length, CRC16
and bus address. Then we call the FECOM_Transceive function with the array cSendProt,
which writes the result back to the array cRecProt. Then we can use the FEISC_SplitProtocol
function to get the Status byte into cRecData, and data into other variables to process them. A
much easier way follows.
       2. We have the option to build and send the protocol in one function as far as the
library provides it. This seems as a convenient way, since the code becomes more structured,
the code fragment above is equal to the below one:

       UCHAR cRF = 0x01, cBusAdr = 0xFE;
       UCHAR status = FEISC_0x6A_RFOnOff (readerHnd, cBusAdr, cRF);



       We do not need to build the protocol, and then send it and then split the protocol to
receive the status byte in this case whatsoever. So this is a better option, we shall use this
method in writing all our code as far as the library provides it. Let‟s see how we write to a tag
with this method:
       cSendData[0]=0x24;
       cSendData[1]=0x00;
       cSendData[2]=0x12;
       cSendData[3]=0x01;
       cSendData[4]=0x04;
       cSendData[5]=0xDE;
       cSendData[6]=0xDE;
       cSendData[7]=0xBA;
       cSendData[8]=0xBA;
       cSendData[9]='\0';
       cDataLen = 0x09;


       FEISC_0xB0_ISOCmd(readerHnd,cBusAdr,cSendData,cDataLen,
cRecData,&iRecLen, 0);


       The FEISC_0xB0_ISOCmd function executes an ISO command over the reader, these
commands range from reading the inventory, to writing multiple blocks to a tag. The first byte
in the data defines what the command is (0x24 is writing to a tag, and you need to send this as
the sending array).




       where mode is defines if the tag is to be selected by the antenna (0 if non-addressed, 1
if addressed or 2 if selected) is to be addressed with its UID, and DBR-ADR is the starting
block address of the tag‟s memory to be written to, DB-N is the number of blocks to be
written, DB-SIZE is the size in bytes of one block, and DB is the block to be written, hence
the code above writes one block of the data 0xDEDEBABA to the 0x12th block of a non-
addressed tag.




IMPLEMENTATION PROPOSALS


       After exposing the above details of the implementation of an RF-ID communication
basic system, we have started to implement the following proposed programs:


       Program 1: The program will have three parameters: Supplier Number, Part Number,
       and Station Sequence. After entering the input parameters to this program, this
       program will write the same Supplier Number and Station Sequence to all tags in
       range and a Part Number unique to each tag starting from the given parameter and
       increasing one by one, and the time written. The next block will be a checksum for the
       stations to confirm that the numbers are not by chance written on tag, and all other
       fields will be set to 0. This program will be run on a computer prior to the
       manufacturing line by an operator, who will manually enter the parameters.
       Program 2: The second program has only one parameter as the station number, which
       will be once entered and then no operator interaction will be needed. The program
       keeps a tag vector and frequently checks the inventory to see if any new tag has
       arrived. When a new tag arrives it checks if it really had to come here, else it specifies
       an error. On a correct arrival, the station will write to the tag that it arrived there and
       on what time, and add it to its own tag vector with its UID. Also a thread working
       frequently will write to the „departed from station n‟ field to all of the tags stored in
       the vector, the current time. Hence when a tag leaves the range, it will be recorded to
       depart the last time it was seen, and the tag will be removed from the vector.


       Program 3: The third program will just be an inspection program. It will write the
       statistics of each tag in the range to a text file with the data : “The tag was
       programmed to come from Supplier No. x, with Part Number y, at time t to arrive at
       the stations a,b,c. It arrived at Station a at time u, departed at time v …..”


We have started implementing these programs, completed the first one and made necessary
tests for correctness, we saw that the program works but it needs more exception handling.
The second and the last one are not complete but are planned to be ended by the start of the
second semester.


THE GANT CHART


       The Gant Chart that we prepared in Microsoft Project is attached.


REFERENCES


M M Oliver, RFID – “A New Solution Technology For Security Problems”, Texas
Instruments Ltd., UK


M. Lampe, M. Strassner, “The Potential of RFID for Moveable Asset Management”


J. R. Tuttle, “Traditional and Emerging Technologies and Application in the Radio Frequency
Identification (RFID) Industry”, Micron Communication, Inc.
N. Raza, V. Bradshaw, M. Hague, “Application of RFID Technology”, Microlise Systems
Integratiom Ltd.


A. Brewer, N. Sloan, T. L. Landers, “Intelligent tracking in Manufacturing”, Journal of
Intelligent Manufacturing, 1999


J. Gragg, “The Emergence of RFID Technology in Modern Society”, 2003


M. Schneider, “RFID Technology and Its Applications in the Commercial Construction
Industry”, 2003

								
To top