The present disclosure relates generally to generating RFID labels, and more particularly to generating RFID labels using automated RFID encoding, and verification of RFID labels post generation.
Equipment for facilitating the production of Radio Frequency Identification (RFID) labels are known, which may be used in conjunction with a standard, non-RFID label printer to allow the label printer to otherwise print RFID labels embedded with RFID chips. One example is an RFID encoder known as Flexstr8 Clip-On RFID encoder for the Epson™ 7500 printer by Flexstr8, Inc. (El Segundo, Calif.) that transforms the Epson™ printer into a high-speed RFID printer. Another example is an easy-to-attach RFID encoder described in WO2018/175558 A1, the contents of which are herein incorporated by reference in its entirety. The users of such RFID encoders would need to upload the desired RFID data to the encoder, before RFID labels can be printed by the non-RFID label printer. However, the users of conventional encoders often experience difficulty in uploading such desired RFID data to the encoder.
In particular, conventional encoders need to encode labels coming from the printer while the printing process is occurring. Therefore, encoders need to have a high-level of synchronization with the printing process because encode data is often related to, if not directly translated from print data. However, encoders can have trouble synchronizing with the printing process since label producers typically use well-known graphic label programs to create and print the labels.
Conventional attempts to provide encoding data entail modifying an encoder to fit specifically with the printing label program. This method is functional but has serious disadvantages due to the time necessary to customize an encoder for each printing label program. For example, conventional print software are often not integrated with RFID, and the ones that do have RFID data integrated do not readily integrate with an external encoder. Moreover, different customers may use different label programs, or their own in house versions thereof. For example, graphic label programs can have proprietary rapid raster image processing (RIP) algorithms to speed up the printing process. An encoder has to receive the printing data and provide encoding data to the printer so that the tags are printed with encoded labels.
Therefore, there is a need for an encoder that can plug in with any printing label program and can use any external source, in particular, by deriving the encode data directly from the print data post printing.
This summary and the following detailed description should be interpreted as complementary parts of an integrated disclosure, which parts may include redundant subject matter and/or supplemental subject matter. An omission in either section does not indicate priority or relative importance of any element described in the integrated application. Differences between the sections may include supplemental disclosures of alternative embodiments, additional details, or alternative descriptions of identical embodiments using different terminology, as should be apparent from the respective disclosures.
In an aspect, a computer-implemented method for synchronizing a radio frequency identification (RFID) label printing and encoding using a label printer and an RFID encoder communicably connected thereto may include, by one or more processors, scanning an image of a serialization data printed by the label printer on one of a plurality of RFID labels on a moving roll. The method may further include receiving, by the RFID encoder, the serialization data. The method may further include, by the one or more processors, reading a transponder ID (TID) of the one of the plurality of RFID labels on the moving roll. The method may further include, by the one or more processors, transforming the serialization data into an encode data. The method may further include, by the one or more processors, mask encoding the one of the plurality of RFID labels with the encode data, wherein the mask encoding is synchronized with the reading.
The method may further include, prior to the scanning: receiving the serialization data from a user; and printing, by the label printer, the plurality of RFID labels including the image of the serialization data.
In an aspect, the image may be a barcode on the one of the plurality of RFID labels printed by the label printer. In an aspect, the barcode may be a one-dimensional barcode. In another aspect, the barcode may be a two-dimensional barcode. In an aspect, the mask encoding includes encoding an encode data for TID mask into the one of the plurality of RFID labels. In an aspect, the encode data may be EPC data.
The method may further include, by the one or more processors, receiving a barcode offset from a user.
The method may further include, by the one or more processors, providing an ordered list of TIDs in the plurality of RFID labels.
The method may further include, by the one or more processors, determining that the mask encoding of the one of the plurality of RFID labels is not successful. The method may further include, by the one or more processors, recording a tag index of the one of the plurality of RFID labels as bad. The method may further include, by the one or more processors, initiating a bad label process.
The method may be performed by a system or apparatus including one or more processors coupled to a computer memory holding program instructions that when executed by the one or more processors causes the system or apparatus to perform the method.
The present disclosure is described with reference to the attached figures, wherein like reference numerals are used throughout the figures to designate similar or equivalent elements. The figures are not drawn to scale and they are provided merely to illustrate the instant disclosure. Several aspects of the disclosure are described below with reference to example applications for illustration. It should be understood that numerous specific details, relationships, and methods are set forth to provide a full understanding of the disclosure. One having ordinary skill in the relevant art, however, will readily recognize that the disclosure can be practiced without one or more of the specific details or with other methods. In other instances, well-known structures or operations are not shown in detail to avoid obscuring the disclosure. The present disclosure is not limited by the illustrated ordering of acts or events, as some acts may occur in different orders and/or concurrently with other acts or events. Furthermore, not all illustrated acts or events are required to implement a methodology in accordance with the present disclosure.
Various examples of the present disclosure provide systems and methods for generating RFID labels using a non-RFID label printer and an easy-to-attach RFID encoder. The RFID encoder comprises an RFID controller coupled to a network, one or more antennas, a label detector, and an RFID reader. In an aspect, the RFID controller receives a packet of reader settings and a packet (array) of encode data. In an aspect, some or all of the reader settings and encode data may be received from a serial communication connection, a WiFi, or other suitable connection, communicably connected with a human machine interface. The antennas may be also be used for encoding in accordance with an embodiment of the present disclosure.
As imprinted labels pass through the non-RFID label printer and the RFID encoder, the label detector (e.g., gap sensor, RFID inlay sensor, etc.) senses RFID chips of the unprinted labels.
In an example, the RFID encoder 102 can be packed into one or more encoder units that are clipped onto the front and back of the non-RFID label printer. As a web of unprinted labels pass through the non-RFID label printer and the RFID encoder, the RFID encoder senses RFID chips of the unprinted labels, and encode RFIDs (data packet) onto the tags (chips).
With respect to the present disclosure, the terms, “RFID label,” and “RFID tag,” “printing label,” and “printing tag,” or “label” and “tag,” respectively, are used interchangeably to refer to a physical RFID tag which hold electronically-stored information. An RFID tag contains an RFID chip equipped with one or more memory banks, and it may operate under a variety of frequencies (e.g., LF/NFC, HF, UHF, etc.).
In some aspect, the present disclosure is directed to methods and systems for generating RFID labels using automated tag encoding. For example, in an implementation, the present disclosure relates to synchronizing: a) automated transformation of print data for an RFID label, and b) encoding of RFID label with the encode data. In some aspect, the method of the present disclosure includes using a software executed on a computer to monitor the same resources that hold the print data and the encode data, and combining the print data and the encode data for use by a printer for generating a print label. In another aspect, a mix of hardware and software may be used (e.g., a camera) to capture images of printing labels passing through the printer. In such example, the captured image may be used by the methods and systems of the present disclosure to synthesize an encode data and send the encode data (encoding instructions) to an encoding antenna. In an aspect, the encode data may be an EPC data transformed from a barcode data. In some aspect, the encode data may be an NFC data that is transformed from or based on visual data (e.g., QR code, barcode, etc.). If a label contains both an embedded NFC inlay and a UHF inlay, the methods and systems of the present disclosure may read a barcode, a QR code, etc., and encode either or both the NFC data and the UHF data based thereon. In an aspect, barcode data is a SKU level data (which may not be unique for every item, but may be unique for every SKU). In some aspect, RFID (EPC) is generally an item level data (e.g., unique for every item and SKU). For example, if tags are encoded based on a SKU level barcode, a unique number for serialization may be injected into the EPC, in addition to the barcode. This “serialization” number can either come from counting, or preferably, from a tag TID. In an aspect, the systems and methods of the present disclosure work with a list of TIDs before starting the label printing or encoding process (for masking the encode), whereby the serialization source is made available and may be referenced to serialize the EPC data being encoded with very little overhead during the encode job. In an aspect, a roll data (roll of TIDs) is downloaded for every roll of labels the RFID encoder uses. In some aspect, not only is this roll of TIDs used for masking (further described below), but it may also be used, for example, to easily encode serialization data based on TID. In some aspect, the roll data may store RFID tags that are known to be “bad” (e.g., broken, cannot be read, etc.). For example, roughly 0.5% of tags produced by manufacturers come out “bad” from manufacturing. Conventional RFID printers may not recognize when bad tags are used with them, and stall their label printing or encoding processes on the bad tags. In an aspect, the RFID encoder of the present disclosure may easily process (e.g., printing or encoding) the bad tags, because the RFID encoder of the present disclosure already recognizes the bad tags prior to starting the job , and just alert the user or automatically reprint the tags that are bad.
In another aspect, reader tuning data is used for every roll of labels in accordance with an embodiment of the present disclosure. Conventional RFID printers must be tuned to the media, and if done incorrectly, the incorrect tuning can cause more errors, e.g., slower encoding by the RFID printers. In an aspect, by having this tuning done in the factory and automatically retrieved by the RFID encoder of the present disclosure, the user may rest assured that the optimal settings are always used.
In an aspect, the encode jobs may also be summarized with a report, which can allow the user to trace the serial data that are encoded on every tag.
The methods and systems of the present disclosure thus provide benefits over conventional processes, because label producers may use their existing print techniques and software with minimal new installations and training. The methods and systems of the present disclosure advantageously prevent label producers from having to manually ensure that an encoder works with every external source and print application.
In an aspect according to an embodiment of the present disclosure, at 102, a user may provide the print software with the serialization data to be transformed as encode data for encoding the RFID label, which may be a unique RFID raw data for the RFID label. Some non-limiting examples of the print software include “Bartender,” “NiceLabel,” and “Loftware,” among other print software that a person skilled in the part may find suitable. The user may provide, or identify electronic location of, the barcode raw data and RFID raw data for each label, and the print serialization data is injected into a label template at 103, which is then sent to the printer from the print software at 104.
Alternatively, in another aspect according to another embodiment, the encode data may be derived from the print data. For example, one or a combination of serialization data may be used to calculate the RFID encode data, at 106. During the print process 100, each embedded RFID chip in every label receives the encode data in one or more packets at 108, uniquely identifying that label from all others being printed. The encode software checks whether the print data from 104 and encode data from 106 is received, at 107, and then typically sends the encode data directly to the encoder to start the encoding at 108.
At the same time or close in time to the encode software's receiving and sending of the encode serialization process at 107, the print software can receive print serialization data at 102, inject the data into a label template at 103, and send the print data to a printer at 104.
The method can then check using a printer-encoder communication channel whether both the print data and the encode data have been received, at 107. For example, on an Epson™ C7500 label printer, the method can execute the communication using Esc Label Codes over TCP-IP. The method can complete when the encoder starts the printer at 108.
The method of
Alternatively, or in addition, to these methods, another method according to the present disclosure can allow an option in a printing program to both print and encode RFID data. The method can then just intercept the encode data by the printing program when the print/encode job is sent to, or completed by, the printing program. The encoder can then encode the tags with the intercepted data.
The electronic or computing components in the exemplary system 200 can be configured to execute various types of application, and/or can use various types of operating systems. These operating systems can include, but are not limited to, Android, Berkeley Software Distribution (BSD), iPhone OS (iOS), Linux, OS X, Unix-like Real-time Operating System (e.g., QNX), Microsoft Windows, Window Phone, and IBM z/OS. As shown by
An exemplary system as depicted by
In an aspect, the user of the encoding system according to the present disclosure may control the print and encode jobs from a user interface screen displayed on a computer screen (not shown in
In an embodiment, the following hardware in the non-exhaustive list below was selected as functional components of the Gen2 Flexstr8 Encoding System:
Once a printing job has started, at step 501, an RFID reader/writer of an RFID encoder can determine a current TID of the current tag. At step 502, the RFID encoder is provided with an ordered list of next TID's, which it may create or assemble, or which it may simply be provided by a user for a particular print job. In some implementation, the TID list may be stored on the RFID encoder, a server networked with the encoder, or a cloud. For example, in some aspect, at the start of a job, the read antenna reads the closest TID. In an aspect, the TID may be used as a reference to retrieve all TIDs for the label roll from the cloud, and may be cached in the RFID encoder for future jobs. The encoder may use the next TIDs in sequence in the roll for mask encoding the next tags in the print job. In some aspect, by downloading the roll data above, other information about the roll may also be retrieved, for example, tags known to be bad. Hence, before they are printed on, a label printer may deal with all tags in the roll automatically without ever stopping the print process.
Or, in some implementation, the ordered list of next TID's may be generated by reading TID's on a roll of RFID labels using an RFID reader. At step 503, the RFID encoder determines whether a barcode data of the current tag is received. If no barcode data is received or detected, the method proceeds to step 504, where the RFID encoder determines whether an RFID label is detected. For example, a gap detector may be used to determine whether a label is detected, rather than a gap in between the labels. At step 507, the RFID encoder iterates the process 700 by moving on to the next TID on the TID list. Going back to step 503, if the barcode data is detected, then the method proceeds to step 505, where the RFID encoder translates the received barcode data into an EPC data. At step 506, the RFID encoder encodes the current tag with the TID tag mask including the translated EPC data, and then the method 700 proceeds to step 504.
To enable user interaction with the computing device 600, an input device 620 is provided as an input mechanism. The input device 620 can comprise a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, and so forth. In some instances, multimodal systems can enable a user to provide multiple types of input to communicate with the system 300. In this example, an output device 622 and a display 636 are also provided. The communications interface 624 can govern and manage the user input and system output.
Storage device 612 can be a non-volatile memory to store data that are accessible by a computer. The storage device 62 can be magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random access memories (RAMs) 608, read only memory (ROM) 306, and hybrids thereof.
The controller 610 can be a specialized microcontroller or processor on the system 600, such as a baseboard management controller. In some cases, the controller 610 can be part of an Intelligent Platform Management Interface (IPMI). Moreover, in some cases, the controller 610 can be embedded on a motherboard or main circuit board of the system 600. The controller 610 can manage the interface between system management software and platform hardware. The controller 610 can also communicate with various system devices and components (internal and/or external), such as controllers or peripheral components, as further described below.
The controller 610 can generate specific responses to notifications, alerts, and/or events, and communicate with remote devices or components (e.g., electronic mail message, network message, etc.) to generate an instruction or command for automatic hardware recover}' procedures, etc. An administrator can also remotely communicate with the controller 610 to initiate or conduct specific hardware recovery procedures or operations, as further described below.
The controller 610 can also include a system event log controller and/or storage for managing and maintaining events, alerts, and notifications received by the controller 610. For example, the controller 610 or a system event log controller can receive alerts or notifications from one or more devices and components, and maintain the alerts or notifications in a system event log storage component.
Flash memory 632 can be an electronic non-volatile computer storage medium or chip that can be used by the system 600 for storage and/or data transfer. The flash memory 632 can be electrically erased and/or reprogrammed. Flash memory 632 can include EPROM (erasable programmable read-only memory), EEPROM (electrically erasable programmable read-only memory), ROM, NVRAM, or CMOS (complementary metal-oxide semiconductor), for example. The flash memory 632 can store the firmware 634 executed by the system 600, when the system 600 is first powered on, along with a set of configurations specified for the firmware 634. The flash memory 632 can also store configurations used by the firmware 634.
The firmware 634 can include a Basic Input/Output System or equivalents, such as an EFI (Extensible Firmware Interface) or UEFI (Unified Extensible Firmware Interface). The firmware 634 can be loaded and executed as a sequence program each time the system 600 is started. The firmware 634 can recognize, initialize, and test hardware present in the system 600 based on the set of configurations. The firmware 634 can perform a self-test, such as a POST (Power-on-Self-Test), o the system 600. This self-test can test functionality of various hardware components such as hard disk drives, optical reading devices, cooling devices, memory modules, expansion cards, and the like. The firmware 634 can address and allocate an area in the memory 604, ROM 606, RAM 608, and/or storage device 612, to store an operating system (OS). The firmware 634 can load a boot loader and/or OS, and give control of the system 600 to the OS.
The firmware 634 of the system 600 can include a firmware configuration that defines how the firmware 634 controls various hardware components in the system 600. The firmware configuration can determine the order in which the various hardware components in the system 600 are started. The firmware 334 can provide an interface, such as an UEFI, that allows a variety of different parameters to be set, which can be different from parameters in a firmware default configuration. For example, a user (e.g., an administrator) can use the firmware 634 to specify clock and bus speeds; define what peripherals are attached to the system 600; set monitoring of health (e.g., fan speeds and CPU temperature limits); and/or provide a variety of other parameters that affect overall performance and power usage of the system 600. While firmware 634 is illustrated as being stored in the flash memory 632, one of ordinary skill in the art will readily recognize that the firmware 634 can be stored in other memory components, such as memory 604 or ROM 606.
System 600 can include one or more sensors 626. The one or more sensors 626 can include, for example, one or more temperature sensors, thermal sensors, oxygen sensors, chemical sensors, noise sensors, heat sensors, current sensors, voltage detectors, airflow sensors, flow sensors, infrared thermometers, heat flux sensors, thermometers, pyrometers, etc. The one or more sensors 626 can communicate with the processor, cache 628, flash memory 632, communications interface 624, memory 604, ROM 606, RAM 608, controller 610, and storage device 612, via the bus 602, for example. The one or more sensors 626 can a so communicate with other components in the system via one or more different means, such as inter-integrated circuit (I2C), general purpose output (GPO), and the like. Different types of sensors (e.g., sensors 626) on the system 600 can also report to the controller 610 on parameters, such as cooling fan speeds, power status, operating system (OS) status, hardware status, and so forth.
It can be appreciated that example system 600 can have more than one processor (e.g., 630), or be part of a group or cluster of computing devices networked together to provide greater processing capability.
Referring to
Referring to
Referring to
Referring to
A principal goal of clip-on encoders is to encode labels coming from the printer with minimal interruption to the printing process. An encoder is at the mercy of the printer to set pace of the encode rate and label speed. Encoding NFC tags have a notoriously slow encoding rate. Current printers have a fast printing rate. This creates a serious mismatch when trying to encode NFC tags with a contemporary, fast printer.
Additionally, there is the problem of identifying tags which were not successfully encoded, also called ‘bad labels’. Contemporary attempts to identify bad labels might use a stand-alone inkjet marker which operates by firing when a bad label reaches the marker. This method is functional, but has serious disadvantages including: (1) the printer's ink needs to be refilled regularly, (2) the print-head of the printer can get clogged by the ink without an operator knowing, and (3) inkjet markers are typically expensive.
Other contemporary attempts to identify bad labels include using an electric power marker (e.g., a hole punch) to mark bad labels. Labels are often made with thick, high strength polymer materials. Commercial hole punches that were suitable for this application were all pneumatically driven, operated by high pressures of air or gas. These pneumatic commercial hole punches are highly expensive as well.
Therefore, what is needed is an effective, cheap methods and systems for encoding and marking tags which does not require upkeep or external maintenance of the system.
In some aspect, the methods and systems of the present disclosure is also directed to reading, encoding and marking moving tags. The present disclosure provides for systems and methods of encoding tags at the fast rate of standard printers. The systems and methods do not require external maintenance in order to mark tags that failed to encode while passing through the printer or encoder.
In an aspect, tags encoded by the printer or encoder of in accordance with a system or method of the present disclosure may be near-field communication (NFC) tags, RFID tags, or any other electronically encoded tags.
Step 1: Tag enters readers B field
Step 2: Induction causes tag to wakeup
Step 3: Tag handshakes with reader, establishing communication
Step 4: Tag 4 gets read/written
Step 5: Tag notifies reader of read/write status (success/failure)
Step 6: Tag exits readers B field, communication is lost, tag powers down (tag is passive)
However, as with all tag encodings, there can still be instances where a tag is not encoded. Clip-on encoders typically encode RFID tags after they have been printed. One disadvantage to this approach is if encoding fails, there is no way to use the printer to mark the bad label; as the bad label is already downstream from the print head.
The encoder is first configured to receive a submitted job, and validates the job. In an aspect, the submitted job refers to a job submitted by a user or a print server. An encode data may be sent separately from the print data, as an array of encode data. The encode data may also be integrated with print data; for example, a PDF can hold encode metadata. Or, the encode data may be derived from barcode data, either from a barcode image, or from raw barcode data that's sent to the printer. In an aspect, validation of a job may include checking that the data is in a format that can be encoded in the tags. In some aspect, a specific tag may be read before encoding. Doing so would allow downloading the TID data, but such method may also be used to determine if the data matches the tag that the encoder is attempting to encode (e.g., there may be many different tag models, which may have varying amounts of data to encode, and different branches of data available). If the job is found to be not valid, then the task is aborted, and the failure is reported with an alert. For example, the job may be found to be invalid if the requested data to encode is: too large (bytes); in a branch not available in the tag (for example, user data—not all tags have a user data branch); with a lock specification that's not available in the tag, etc. In some aspect, the reporting is made to the user and/or a web server/computer. Alerts may include, for example: a screen dialog pop-up, a physical alarm, a physical light, or the like. In some aspect, the encoder may be a microcontroller connected to the internet via LAN and may also be connected to a PLC and/or a printer. For example, the alarm may include: an alarm connected to microcontroller; a red (or any other suitable colored) flashing light communicably connected to the microcontroller; a stop sequence sent to PLC or printer, an alarm sent to a web server that displays an error dialog, an alarm sequence sent to aw eb server that is recorded on a database, etc. If the job is instead found to be valid, then the encoder starts encoding the tag. For example, the encoding may be done with a standard NFC protocol, such as a library call with a licensed NFC reader, with which a microcontroller may communicate via USB, RS232A, or any other suitable communication interface. A general purpose input can be triggered which can provide a command. In general, timing is critically important for maximizing the throughput of a multi-machine process. In an aspect, the present disclosure may include using an optical triggering to notify the NFC encoder of precisely when to attempt encoding (when the tag has just entered the range of the NFC writer antenna). In an aspect, the optical trigger may detect a tag gap and send a digital signal to the microcontroller to indicate such detection.
On the backend of the system, a discovery command (e.g., a standard NFC reader command sent from a microcontroller) can be received and enable a discovery mode. As used herein, “discovery mode” means a mode whereby the NFC reader continually broadcasts a signal, and sits and waits for a response from a tag which has come into the read range. A NFC reader can then discover the tag.
In some aspect, the backend may persistently or continually check whether the tag was discovered in a predefined amount of time, e.g., 100 milliseconds (ms). In an aspect,100 ms was empirically found to work well with a certain type of printer, but it is to be understood that a different value may be more suitable for a different machine. In some implementation, the discovery mode may be triggered automatically when the tag is detected or identified to be within a read range of the antenna. If the tag still has not been read after the predefined amount of time (e.g., 100 ms), the system of the present disclosure may determine that the tag is likely defective. In some aspect, if a tag is detected, but after the predefined amount of time (e.g., 100 ms), the system may determine that the next tag in sequence has entered the antenna read range. If the tag was not discovered, then the encoding will be marked as a failure, the discovery will be disabled (automatically, manually, or both), and a failure may be reported to the encode report. In some aspect, the encode report includes an XML/CSV file that details all tags, and what happened for the encoding attempts. If the tag was discovered, then encoding may be attempted immediately. For instance, in some aspect, the marking of the failure may include using a down-stream marking system, such as an inkjet printer, a hole punch, or a laser printer.
The encoder will then check to see whether the write was a success. If it was a success, then the encoding will be labeled a success, the discovery will be disabled, and the encoded result will be provided back to the encoder. The encoder will report the encoded result.
If the write of a tag was not a success, the encoder may mark that the encoding failed, disable discovery (e.g., via a standard command to an NFC reader), and then report the result received in the encode report as previously discussed. In some aspect, the encoder will then cause a downstream marker to mark the tag. For example, the downstream marker may also be triggered with a digital trigger. In some aspect, because the tag position is always tracked with optical sensors, the system may be able to detect when a failed tag has reached the marker, and trigger the marker to fire.
The power supply unit provides the power for the electronic parts of the system 400, including at least one of the boost converter, the high power solid state relay, the microcontroller, the encoder, and the hole punch. The boost converter converts the energy from the power supply unit into use by the hole punch. The microcontroller indicates when the encoder should operate.
Along the bottom of the system is the label feed path where tags are fed along the system and pass underneath the encoder and the hole puncher. The tags should move in the direction such that they pass under the encoder first and the hole punch second.
In some aspect, the hole punch plunger may be spring loaded to return to an initial position so that the hole punch plunger is out of the label feed path. The hole punch tip can be a custom designed spade to minimize dragging and snagging moving labels. For instance, the tip may include serrated edges that start the cut, on the edges, and cut along a circle to ends of the cut. In some aspect, the cut may rather start on the tip of the paper path, and allow for the web to drag along the edges, using the moving web to aid the cut.
A hole punch can mark bad labels by punching a hole through the tags that failed to be properly encoded. Labels are often made with thick, high strength polymer materials. A hole punch according to an embodiment of the present disclosure can use a linear actuator solenoid (e.g., any electromechanical device that creates suitable linear motion), hooked up to a PSU, to boost converter, to an optional high energy reservoir capacitor. When triggered through a solid state relay, the reservoir discharges into the solenoid, resulting in a high voltage and current applied for a very short period of time. For example, the discharge can result in a high voltage of 200 watts over a short period of fifteen milliseconds.
The hole punch can be mounted over a moving web of labels. However, the hole punch needs to be configured to punch a hole in the moving web without stopping the web or significantly disrupting the movement of the web. This requires a critical high speed switch and design of the penetrating bit to mark the label without impeding the web.
Therefore, the hole punch itself needs to be triggered at the exact moment when the bad tag passes under the hole punch. Contemporary practices respond to this problem by using a linear encoder, that keeps track of the position of the web at all times. However, linear encoders often use pinching wheels.
In some aspect, the hole punch sits downstream of the printer and the encoder. Therefore, the system needs to identify when a tag needs its initial encoding and when a bad tag has reached the hole punch and needs to be marked. A through beam detector can be configured in the system to identify when the RFID tag passes underneath the encoder and a second through beam detector can be configured to identify when the RFID tag passes underneath the hole punch. For example, the beam detector can be configured to activate the hole punch when exposed to the RFID tag. The two beam detectors can act as sensors to derive the position of the bad tag, in order to also discover web direction, speed, and position, without actually contacting the web (e.g., by counting triggers: Trigger 1=label 1, trigger 2=label 2, etc.).
Referring to
In an aspect, the verification device 1700 may be placed as an add-on to a label printer 1710, such as an RFID label printer (e.g., SATO® CL4NX RFID printer, etc.) or a non-RFID label printer (e.g., EPSON™ C7500 printer), but it could be placed on any printer or any device that helps generate or check an RFID data, a barcode data, or both. In some aspect, as printed RFID tags 1750 exit the printer 1710, the verification device 1700 will automatically isolate every tag and simultaneously scan the barcode and read the embedded RFID tag 1750. As such, the verification device 1700 will compare both datasets to verify that both match and are synchronized.
Once the verification device 1700 has been installed and properly configured, the systems and methods of the present disclosure may work independently from the printer 1710, automatically scanning every tag 1750 that passes through the verification device 1700 or the printer 1710. The verification device 1710 will only interfere with the print process when the printer system 1710 is not ready, or if an illegible barcode, a mis-encoded RFID tag 1750, or a mismatched barcode/RFID data combination is detected. Since the verification device 1700 will be designed with ease of use in mind, it may require minimal user intervention between label print jobs.
Still referring to
The barcode data and EPC data will then immediately be compared to ensure they match, following an algorithm or lookup table provided or referenced by the user. In some aspect, the comparison may be done by translating the RFID EPC data into barcode data using an algorithm supplied by GS1 (a global standards creator), or by the customer. For example, one of the most common algorithms used in retail is the GS1 EPC Tag Data Standard. In an aspect, if the barcode is found to be illegible, the RFID tag found to be dead, or if the algorithm finds that the barcode data does not match the EPC data, then an alarm will be activated, and the printer 1710 paused. In some aspect, the printer 1710 may be communicably connected to the microcontroller 1701 via USB, LAN, dedicated IO ports, RS232, etc. For example, the alarm may be an audible one sounded by a speaker (not shown) connected to the microcontroller, or a visual or audio alert on the verifier (user)'s interface 1760 connected to a webserver 1740.
Alternatively, an automatic back-feed and overprint on the bad label or a downstream marker could strike out bad tags. For instance, the auto back-feed or overprint may be enabled with specific printer commands. In an aspect, the downstream marker may be a marker that is fired when the tag found to be faulty is under the RFID reader 1703. In some aspect, the downstream marker is fired by the microcontroller 10, and the microcontroller 1701 knows when to fire by counting the current label 1750 under the RFID reader 1703 at all times.
In an aspect, the verification device 1700 will be fully networked (i.e., communicably coupled to another computer device or a network node), in order to send verification data to the Nexgen servers 1760.
Referring to
Referring to
Job Initialization Phase (1910):
When a user starts the operation of the verifier 1700, job initialization phase 1910 is the first phase it enters. During this phase, the verifier 1700 pauses the printer 1710 (
One of the first steps the verifier 1700 must perform is to prepare itself for tag singulation, i.e., the act of isolating one specific RFID tag to operate on. In an aspect, singulation may include creating or using an “ignore” list, e.g., a list of tags that may be ignored when deciding which tag is correct to singulate. When the operation of the verifier 1700 is started, the number of tags readable is indeterminate: it could be one, none, or several. For this reason, at job start, the RFID reader 1703 (
All tags found at this step are added to the ignore list. That way, when the first tag 1750 (
Reference is now made to
Referring to
Referring back to
In some aspect, if the gap sensor (detector) 1705 detects a problem in the verifier positioning, it can alert the verifier 1700 to abort the job, and alert the user to move the verifier 1700 into an appropriate position.
It should be noted that a barcode scanner may face many of the same foregoing problems as an RFID reader, in terms of tag singulation. Hence, in some aspect, a barcode scanner may be designed to have its field of view terminate at the gap sensor 1705, allowing users to clearly visualize which barcodes can be seen, and which ones cannot. For example, in some aspect, the placement and angle of the barcode scanner may be made adjustable by the user using custom brackets. In an aspect, the gap sensor 1705 may include a red bar of a size visibly large enough to mark the start of what is in the field of view for the verifier 1700 (e.g., the field of view of the barcode scanner 1702). For example, the barcode camera 1702 may be hooked up to a computer display to visually display what is currently “seen” by the barcode camera 1702 in its field of view.
Assuming all initialization steps occur without error, in some aspect, the methods and systems of the present disclosure performing the verification process moves to an “armed” state. In this state, the systems and methods will attempt to verify all tags that pass through the verifier 1700. At this step, the verifier 1700 will un-pause the printer 1710 to start the job.
Additionally, a common setting in many label printers is a “feed to peel off position” function, whereby the printer always feed labels until a whole label exits entirely out of the printer. Such function enables users to easily peel off the label thus printed, but it may also mean that at a stationary state, a label is fed by the printer (i.e., the printer drives the label web outwardly) until the gap is exposed past the printer exit. In some aspect, the shielding 2010 and gap sensor 1705 may be placed right at the printer exit, such that the shielding will always be in the ideal position to run the initialization step, regardless of the label size or pitch. For example, the shielding 2010 may be fixed in such position, so that the user would not need to adjust the shielding position (see correct/incorrect starting positions in
Alternatively, in some aspect, the printer 1710 may output a signal (e.g., via its communication or IO port) to the verifier 1700 or the user interface 1740 every time a label has been printed, instead of using a gap sensor 1705.
Still further, in some embodiment, the printer face may be used as the shielding 2010, rather than a separate shielding.
Job Running Phase (1920):
In the job running phase 1920, the verifier 1700 passively waits for labels to enter the verification region, and automatically verifies tags as they pass. In an aspect, this phase is triggered by the gap sensor 1705, which is normally placed at the edge of the verifier's (barcode scanner 1702) field of view. The gap sensor 1705 triggers the barcode scanner 1702 and RFID reader 1703 at the falling edge of the label, when the label 1750 has completely entered the (operational or detection range of) verifier 1700.
During every job running cycle, the verifier 1700 checks if the singulated RFID tag's EPC data matches the tag's barcode data. In an aspect, this match could be based on an algorithm (such as the widely adopted ken-traub EPC decoder algorithm), a custom algorithm, or a lookup table. In some aspect, more quality checks could be added to this step, such as barcode grading, RSSI threshold, tag lock status, etc.
Job Completion Phase (1930):
When the verification job is stopped, or when the user stops the verifier 1700, the methods and systems of the present disclosure prepares a job summary in the job completion phase 1930. The verifier 1700 may send the verification data to an FTP server (e.g., via common FTP data push) to be backed up.
Upgrades:
The verification device may verify a single label, or it may verify more than one label at a time. It is Flexstr8's goal is to build an adaptable unit. The control unit 1701 may functionally communicate with any USB barcode scanner, USB RFID reader, and gap sensor. In some implementation, in order to accommodate verification of additional labels, the user may select presets (e.g., tag verification parameters such as antenna power, tag size, read time, etc.), using a web app communicably connected to the controller 1701 and accessible via the user interface 1740. In some aspect, the preset may adjusts the RFID read power and read time to those that are found empirically to read and singulate tags in a most reliable fashion. In some aspect, a marker may also be added and controlled (e.g., via a verifier IO port) by the verification device 1700. For example, an optional marker may be communicably connected to and reside downstream of the verifier 1700, and fires over tags that are found to be bad, mis-encoded, misprinted, etc.
In some aspect, a success criteria for the tag verification may include one or more of the following:
Print 1000 pre-agreed upon barcodes/RFID tags with no more than 10 known bad tags. Let no more than 1 through.
Successfully pull barcode and EPC data of all 1000 tag prints with no more than one misread on either barcode, EPC, or TID.
Successfully upload EPC, TID, and UPC data to Nexgen FTP location.
Successfully test the pause and resume function with a production operator.
Successfully test the strikeout functionality.
Demonstrate and validate that production operator(s) understand how to operate the equipment, setup jobs, and change any required configurations necessary based on a new job.
Demonstrate and validate that production operator(s) can complete basic troubleshooting, and understand how to properly obtain support and escalate issues.
While various examples of the present disclosure have been described above, it should be understood that they have been presented by way of example only, and not limitation. Numerous changes to the disclosed examples can be made in accordance with the disclosure herein without departing from the spirit or scope of the disclosure. Thus, the breadth and scope of the present disclosure should not be limited by any of the above described examples. Rather, the scope of the disclosure should be defined in accordance with the following claims and their equivalents.
Although the disclosure has been illustrated and described with respect to one or more implementations, equivalent alterations and modifications will occur to others skilled in the art upon the reading and understanding of this specification and the annexed drawings. In addition, while a particular feature of the disclosure may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application.
The terminology used herein is for the purpose of describing particular examples only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Furthermore, to the extent that the terms, “including,” “includes,” “having,” “has,” “with,” or variants thereof are used in either the detailed description and/or the claims, such terms are intended to be inclusive in a manner similar to the term, “comprising.”
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
The present application is a continuation of U.S. patent application Ser. No. 17/468,532, filed Sep. 7, 2021, which is a continuation of U.S. patent application Ser. No. 17/037,219, filed Sep. 29, 2020, now abandoned, which is a continuation of International Patent Application PCT/US19/24839, filed Mar. 29, 2019, which claims priority pursuant to 35 U.S.C. § 119(e) to U.S. Provisional Patent Application Nos. 62/797,142, filed Jan. 25, 2019 and 62/649,779, filed Mar. 29, 2018, the disclosures of all of which are incorporated herein in their entirety.
Number | Date | Country | |
---|---|---|---|
62797142 | Jan 2019 | US | |
62649779 | Mar 2018 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17468532 | Sep 2021 | US |
Child | 18091134 | US | |
Parent | 17037219 | Sep 2020 | US |
Child | 17468532 | US | |
Parent | PCT/US19/24839 | Mar 2019 | US |
Child | 17037219 | US |