Barcode Fonts, Components, ActiveX and .NET Windows Forms Controls, Java Servlets, DLLs and Barcode Scanners.
Home:  Products:  Barcode FAQ: MIL-STD-130 UID

MIL-STD-130 UID Marking Label Generation

This tutorial outlines how to generate MIL-STD-130 UID Marking Labels using Code-128 or ECC200 Data Matrix with label design printing software or barcode fonts from IDAutomation.

Index:

Actual implementation of MIL-STD-130, UID and IUID Marking Labels requires specific formatting and placement.
This tutorial focuses on creating and generating the barcode according to MIL-STD-130N.

UID Marking Label Implementation Example

Within MIL-STD-130, there are several types of labels that may be created. This tutorial implements the GS1 2D Data Matrix symbol in figure 8 from the MIL-STD-130N specification. This label will encode the following fields and GS1 AIs (Application Identifiers).
 
Field Name AI Data Field Type
UII 8004 06141419999960MH80312 Constant
Serial Number 21 MH80312 Incrementing
SPLR ID GS1 95 0614141 Constant
Part Number 240 99999 Constant or Incrementing

This specific label requires the data to be encoded in ISO/IEC 15434 Format "05", which defines a specific header, group separator and trailer.

Popular ISO/IEC 15434 Formats

Format Header Group Separator Trailer Purpose
05 [)><RS>05<GS> <GS> <RS><EOT> GS1 AIs
06 [)><RS>06<GS> <GS> <RS><EOT> ASC MH 10 AIs
12 [)><RS>12<GS> <GS> <RS><EOT> Structured data

Therefore, the data above would be encoded as:
[)><RS>05<GS>800406141419999960MH80312<GS>21MH80312
<GS>950614141<GS>24099999<RS><EOT>

The <RS>, <GS> and <EOT> commands defined above represent non-printable ASCII characters 30, 29 and 4. In all IDAutomation Data Matrix products, ASCII characters may be encoded with ApplyTilde. The complete text string to use as the "data to encode" for any IDAutomation product, such as the Data Matrix Font and Encoder, would be:
[)>~d03005~d029800406141419999960MH80312~d02921MH80312
~d029
950614141~d02924099999~d030~d004

When testing the scanned image with a barcode scanner, IDAutomation's Free Barcode Scanner ASCII String Decoder may be used to view the <RS>, <GS> and <EOT> commands. Implementation and testing may be easily accomplished with IDAutomation's Online Barcode Generator for Data Matrix with the following URL:

http://www.bcgen.com/demo/IDAutomationStreamingDataMatrix.aspx?MODE=0&D=[)>~d03005~d029800406141419999960MH80312~d02921MH80312
~d029950614141~d02924099999~d030~d004&PT=T

UID Label Generation Example

  1. The IUID is encoded in the Data Matrix barcode type, which is offered in the Pro version of IDAutomation's Barcode Label Software. Install the Label Software; download the demo or purchase online. The purchased version is available for download immediately after order approval.
  2. Open the Label Software. Ensure no objects are selected on the label (it should be blank) and choose Edit - Properties, which opens the label properties dialog. Choose the Label Fields tab. Add the field names from the chart above with appropriate data. Choose the "Rename Field" link to rename each field so it may be properly referenced within the label. Notice that the SerialNumber field is an incrementing number which cannot contain text, therefore, the AI and text portion of "21MH" will be added in the formula as the other AIs are.
    IUID Label Fields
  3. To make formulas easier to edit, enter the Header, GS and EOT as fields of ISO/IEC 15434 Format 05.
  4. Choose the Data Matrix icon to add it to the label, right-click on the Data Matrix object and choose Properties.
  5. Choose the DataMatrix tab; enable Apply Tilde and ensure ASCII Mode is selected as the encoding mode.
    DataMatrix ASCII Mode
  6. Choose the Value tab. Change the Value Type to Formula and enter the VB script in green below. Notice that each row begins with a header or GS, the AI and a data field.
    LabelField(Header) & "8004" & LabelField(UII)
    & LabelField(GS) & "21MH" & LabelField(SerialNumber)
    & LabelField(GS) & "95" & LabelField(SPLR)
    & LabelField(GS) & "240" & LabelField(PartNumber)
    & LabelField(RS) & LabelField(EOT)

  7. Choose Apply. If errors occur, check the VB script formula syntax. Test scan the result with a Data Matrix Barcode Imager and verify the correct ASCII characters are encoded with the Barcode Scanner ASCII String Decoder. The result from label 1 should scan as:
    [)><RS>05<GS>800406141419999960MH80312<GS>21MH80312
    <GS>950614141<GS>24099999<RS><EOT>
  8. The barcode should now be complete. When the labels are advanced or printed, the barcode should change. The VB script formula may be changed accordingly. After a successful print job, the serial number field is advanced to the last printed label, so that the same number will not print twice. This unique serial number memory functionality is provided in all versions of the IDAutomation Barcode Label Software.
  9. Human readable text interpretations may be created in the same way as necessary with a text object on the label. In text interpretations, the Header, GS and EOT should not be included and the VBCRLF should be used to create a new line.
    "(8004) " & LabelField(UII) & VBCRLF &
    "(21MH) " & LabelField(SerialNumber) & VBCRLF &
    "(95) " & LabelField(SPLR) & VBCRLF &
    "(240) " & LabelField(PartNumber) & VBCRLF
  10. The label used in this example may be downloaded and used in the Pro and RFID versions of the IDAutomation Barcode Label Software.
  11. If MOD 10 calculations need to be performed within the formula, IDAutomation suggests using the MOD10() macro provided in the label software.

Code-128 Label Generation Example

  1. Using the information from the chart above, the AI of 8004 encodes the GIAI in Code-128 according to the GS1-128 section of IDAutomation's Code 128 FAQ.
  2. Therefore, the complete text string to use as the "data to encode" for any IDAutomation product, such as the Code 128 Font Package, would be: ~214800406141419999960MH80312
  3. Open the label software and add a linear barcode object. Choose the Encoding tab and enable Apply Tilde.
  4. Choose the Value tab. Change the Value Type to Formula and enter the VB script in green below.
    "~214" & "8004" & LabelField(UII)
  5. Test scan the result with the IDAutomation USB Scanner or other Compatible Scanner. The result should scan as:
    ]C1800406141419999960MH80312
  6. The label used in this example may be downloaded and used in the Pro or RFID version of the IDAutomation Barcode Label Software.

ATA and CEA Label Example

Data Matrix label generation of ATA and CEA labels are the same as described above, except different ISO/IEC header formats are used. For example, the complete text string to use as the "data to encode" for any IDAutomation product, such as the Data Matrix Font and Encoder, for the Data Matrix symbol in Figure 5 would be:
[)>~d03012~d029MFR 1U2R7~d029SEQ MH80312P~d029PNO F100200300400AP~d030~d004

For linear barcodes, the FNC1 characters are not included in the data encoded. For example, the first linear barcode in figure 5 of the MIL-STD-130N specification is encoded just as it reads MFR 1U2R7.

MIL-STD-130 Refinements and Versions

  • MIL STD 130L which laid the foundation for unique item identification (UID) and machine readable information (MRI)
  • MIL STD 130L released in 2004 provided improved definitions for the quality standards of the linear bar code and 2D Data Matrix UID.
  • MIL STD 130M in 2005 made significant improvement in further defining approved implementation guidelines for UID.
  • MIL STD 130N is the latest specification for implementation of UID and IUID using Data Matrix ECC200 and Code-128 as of November, 2009.

To sign up for monthly updates about new products or upgrades, please click here.
  © Copyright 2010 IDAutomation.com, Inc., All Rights Reserved. Legal Notices.