RFID & Data Management Using Rockwell PLCs - Newb

elfmanp

Member
Join Date
Feb 2011
Location
Salt Lake City, Utah
Posts
18
We have a product we are now building and are planning on using RFID tags to ID trays of product as they move through the process (5 individual machines, the product has to go through each of the machines in order). We will have an RFID reader on each machine that will verify that tray of product is in the right place and, if the process completes properly, that tray will be OK'd for the next process.

I will be using a CompactLogix PLC to manage all of this. I haven't done much with databases, am capable with Rockwell PLCs, and completely perplexed about where to start and what the best way to do this? I am really just looking for some direction and general concepts as to how to proceed with this. Please and TIA!!
 
I've given this some thought in the past, but never was allowed to spend money on it, so didn't actually test or implement anything. Given the need for the line to run all the time, and concerns about the reliability of the database connection to all of the machines that would need it, I wanted to try having all of the relevant data stored on the RFID tag itself, obviously in as abbreviated a format as needed. It really wouldn't take that much space to record a date/time stamp and an INT code for each machine that indicates whether the process completed successfully, hasn't been run, or had a failure that means it shouldn't be processed further. I remember there being RFID tags that could be written a bunch of times, but there was a limit so if you're re-using trays that becomes an issue where the tag might need to be replaced at some point. At the end of the last process, you could write the data to a database from a single point as it's read from the RFID tag.
If you need the RFID tag to just be a serial number with everything else stored in a database, I'm not your guy...but...I would probably have the 5 machines networked together and passing info back and forth with only 1 of them handling the database interface.
 
1. Since you don have much experience with the DB, I'd transfer this responsibility to your IT.

2. If you dont have an IT, you can do it with just PLC, depending on how many RFID you have.
Basically the idea here is Mach#1 will produce RFID# and Pass Status of 1.
Mach#2 will produce RFID# and Pass Status of 2 and so on.
The next process will be for Machine#2 to see machine #1 have the RFID# with pass status, if so you allow it to process , if not put up a message & reject it.
 
you haven't given much detail.

plc model #
rfid tag system, controller, rfid tag size, and communications protocol?
what are the trays made of and how do you plan to put the rfid tags on the trays?
how far apart are the trays?
please reply while i think of how we did our system.
james
 
If all you need is a pass/fail indication for each tray at each machine, you can probably accomplish that by writing the status back to the RFID tag at each machine. If you need information about each item on each tray, you'll probably need to communicate with the device hosting the database more frequently.
In general, PLCs aren't the best choice for hosting a database. The last time I did anything along the lines of what you're investigating, the RFID tag held a character string. It started out with the serial number of the part and a timestamp. At each workstation we appended additional characters representing pass/fail and pertinent data from the station with commas as delimiters between fields. When each pallet came to the end of the production line, the host SCADA software read the entire string, added another timestamp, and saved the string as a new line in a csv file, then wiped the RFID tag.
 
Describe more about your system and how the RFID integrates with the manufacturing execution system.

There are a handful of RFID readers that can connect to CompactLogix via EtherNet/IP; RFIdeas is the best US resource.
 
Seems like you will be using HF RFID, which is short range(Upto 10cm lets say)
Here is a general SOP to integrated RFID into your plant's production flow:

  1. You start by figuring out the mechanical piece first. Is there one RFID attached to you part, to your pallet?
  2. Do you want to store the part number on the RFID datatag, or the pallet's number only?
    • Part number would need to be re-written on the load station every time the part comes around.
    • Pallet number would only need to be read at the load station, and the part# would come from a secondary source like QR/Barcode/RFID/NewPart#
  3. Now decide if you want to write the process data inside the RFID, or in a multidimensional array/UDT inside the PLC which is referenced via the Pallet Number. I would suggest an external backup area such as an OPC or a secondary PLC which keeps this pallet map.
  4. If you are just using the RFID as an identifier, and the data is kept on the PLC in a array/UDT, you can use FAL/indexing to search/retrieve/write data.


For your system, I would suggest linking all the RFID readers to the same Controllogix PLC, making a UDT, and then keeping your PartNumbers/PartLocationsInTray/OK/NotOK information for each station in this UDT. Then create a UDT array with the tray number as an index for maintenance friendliness.
Your RFID tag would have the tray number. It will be read on the 1st station, PLC will make a determination if we should proceed on this station, then once the op is successfully done, it'll turn a bit on for your part, saying that the operation was done successfully.


UDT can look like this:
Code:
TrayUDT
    [INDENT]TrayOnHold(Bit)
    TrayPassedStation1(Bit)
    TrayPassedStation2(Bit)
    TrayPassedStation3(Bit)
    TrayPassedStation4(Bit)
    TrayPassedStation5(Bit) 
    PartUDT[1]
    PartUDT[2]
    PartUDT[3]
    .
    .
    PartUDT[N][/INDENT]

PartUDT
[INDENT]    PartLocationInTray(1->N)
    PartPassedStation1
    PartPassedStation2
    PartPassedStation3
    PartPassedStation4
    PartPassedStation5
    AnyProcessSpecificParameters[/INDENT]
In the end, you can create a new TrayUDT Array, like TrayUDT[50] for 50 trays.

Code can use this information to keep track of data in the PLC. I would 100% keep an OPC server which keeps track of this information too, so if your PLC dies, your WIP doesn't need to be thrown away. Hopefully this helps.
 
Last edited:

Similar Topics

so im trying to figure out a way around a little dilemma here with an RFID reader. I have older logic from another setup that works with all of...
Replies
8
Views
2,869
I posted earlier about how to set up some logic to read/write RFID tags using a Turck BL67-PG-EN-IP. As an update, I got some example code for...
Replies
1
Views
2,594
Hi All, We are about to add two RFID readers to an AB PLC control system for our non-destructive test equipment. We are planning to use...
Replies
11
Views
5,492
Hi. I was wondering if any of you guys have a problem with the RFID reader/write BIS M-4A7-082-401-07-S4 from Balluff. The problem we are...
Replies
0
Views
652
Good afternoon! For the past several days, I have been trying to set up this Balluff BIS018A RFID head to communicate with a Do-more BRX DM1E-M-D...
Replies
10
Views
5,555
Back
Top Bottom