Capturing barcodes on the move

2022-03-28  |  9 min read 

My previous post “Automate Your Functional Test” talks about a conveyor board transfer method on the FlexiCore In-circuit Parallel Test system that allows you to read the barcode labels on the fly. In this post, let’s go into the details of the commands and sequences you need to get a scan going for the test cycle.

Normal Board Transfer
A typical test cycle on the FlexiCore will start with the user issuing the FirstRun command. This initiates the handler and starts the input board transfer sequence. A normal transfer like this does not operate at different speeds. The transfer is made with the standard speed, and it doesn’t cater for scanning on the fly. 

The FlexiCore system is a single zone handler and does not have the staging zone to hold the board for scanning. Therefore, when using the standard board transfer method, the scanning operation will either be done upstream before the transfer or inside the system after the board reaches its position. Both scanning methods are easy as the board will be stationary and there are no dependencies on the handler’s firmware. User can do as many scans as needed before issuing the command to move to the next stage of operation. While this is stable and simple, cycle time is wasted in waiting for the scan to be completed.

Two-speed conveyor board transfer
The two-speed transfer saves cycle time by scanning the barcode while it is still moving. Using this method is a little trickly as there are considerations around the speed of the conveyor motors and the timing of each commands. However, once you understand how the firmware operates the two-speed transfer, it will be easy to implement on any projects that you have.

Two speed board transfer

Scanning on the fly works for most barcode sizes using a general reader, but there are situations where the barcode is too faint, or its size is too small, making it difficult for the reader to get a good capture when the barcode is on the move. In those cases, a high-end reader may be needed to make fast captures, or you can slow down the conveyor speed for the reader to take a good shot.

So how do we use the two-speed conveyor transfer?

There are two bits in the handler firmware register that controls this operation. These are the Barcode OK bit and the Barcode Enable bit. 

The Barcode Enable bit tells the handler that you want to operate in the two-speed transfer mode. Once this bit is set, handler will start the board transfer at slow speed until you set the Barcode OK bit active. You perform the capture at this slow speed and only set the Barcode OK bit to active after a good scan. Once the handler detects that the Barcode OK bit is set, it increases the transfer to normal speed and continue with the rest of the operations. Sounds simple enough doesn’t it?

Now the tricky part of this is how long should the handler continue to transfer the board at slow speed if it did not receive the Barcode OK bit. This is where the slow down sensor comes in.

Bad capture resulting in Barcode Error when board triggers slow down sensor

When the handler starts its transfer at slow speed, it monitors both the Barcode OK bit and the slow down sensor state. When the board reaches the slow down sensor and triggers it, the handler will stop and report Barcode Error if it has yet to receive the Barcode OK bit. So, this works like a timeout, except that it is not defined by a numeric value. It is a function of how fast the conveyor is moving and the distance the board needs to travel to trigger the slow down sensor. If you move the slow down sensor closer to the entrance of the handler, the distance is reduced, and the board will trigger the sensor earlier.

The next consideration is the time needed for the user test plan to validate the captured barcode. This is typically done by checking the barcode against the production manufacturing server. While the test plan is busy doing the validation, the board is still being moved slowly towards the slow down sensor. If the validation takes too long, this will allow the board to reach the slow down sensor and trigger a Barcode Error. Therefore, it is recommended to position the slow down sensor closer to the stopper position such that it allows more distance and time for the test plan to complete its validation of the barcode.

Once the barcode is validated, test plan sets the Barcode OK bit, and the transfer resumes to normal speed and delivers the board to the stopper position. The rest of the operation continues as normal.

Good capture of barcode speeds up board transfer into position


Flowchart of typical test cycle scanning barcode on the fly

The flowchart shows the sequence of the events during a test cycle using two-speed board transfer. Before starting the test cycle, trigger the scanner and set the Barcode OK bit to low and set the Barcode Enable bit to high. This sets the handler into the two-speed board transfer mode. The next command is the FirstRun command which starts the transfer. With the Barcode OK bit at low, the transfer will take place in slow speed while the scanner can take its time to capture the barcode.

You can get more detailed information about the test cycle commands from my earlier post entitled “Test Automation in your hands

Once the barcode is captured and validated, set the Barcode OK bit high and this speed up the transfer to bring the board into position. The rest of the test sequence follows until the end of the test cycle. After sending the board out to the downstream station, the flowchart returns to the triggering of the scanner to get it ready for the next transfer.

So basically, all you need are the two commands in the table below.

Commands to set Barcode OK and Barcode Enable bit

Insert them into your test plan and you will be scanning on the fly in no time!

Until the next post, stay healthy and safe!

Ping me up with your questions or comments !