DataMatrix code
The DataMatrix code is one of the best-known 2D codes . It was founded in the United States in the late 1980s by Acuity Corp. developed.
Areas of application
Today this code is one of the best-known types of 2D codes and is used for permanent direct labeling by means of lasers in production (e.g. printed circuit boards ), with needle embossing in the automotive industry , for analysis devices and instruments ( chemistry , medicine ), but also increasingly as printed Code image used in document handling (tickets, IT franking for postage).
Appearance and size
The size of the mostly square, sometimes also rectangular code image is determined from a large selection set. The symbol elements in the code image are square or round depending on the manufacturing process ; this also applies to the edge pattern (finder pattern).
Structure of the code image
The DataMatrix code consists of four or five main components:
- the two pairs of solid continuous and interrupted edges as boundary lines (finder pattern)
- The fixed delimitation lines serve as demarcation. They are used to erect and correct the data matrix code so that any reading angle is possible.
- the surrounding quiet zone (Quiet Zone)
- This empty zone surrounds the data matrix code. It does not contain any information or samples. The width of the quiet zone is at least one column or one line (better four times the width or height of a module) and is required to distinguish it from other optical picture elements in the area.
- the corner opposite the closed edges
- This corner allows quick identification of the code schemes. In the code scheme ECC 200 with an even number of rows and columns, the element in the upper right corner is always white. For the other standardized code schemes with an odd number of rows and columns, the element in the upper right corner is always black.
- the alignment pattern
- This paired combination of continuous and broken lines in both directions, horizontally and vertically, facilitate image evaluation. You subdivide large data fields for codes with at least 32 modules edge length into equal parts.
- the data area
- This data area contains the actual binary information in coded form. Depending on the size of the matrix, this also defines the number of possible information.
With the DataMatrix code 144 × 144 ECC 200 (plus search pattern and alignment pattern) up to 1556 bytes , i.e. 3116 digits (3.5 bits per character) or 2335 ASCII characters (7 bits per character) can be encoded.
Error handling
The DataMatrix code exists in combination with a procedure for error detection and two different procedures for error correction. All variants use a CRC algorithm for error detection.
The method originally used uses a convolutional code for forward error correction for error correction . This variant is referred to as ECC00 up to ECC140, where ECC stands for error correcting code and the number indicates the extent to which the data is redundantly stored in the code. The more powerful Reed-Solomon algorithm has recently been used for error correction . This variant is referred to as the ECC200. It is generally recommended to only use the current ECC200 version.
The ECC200 error correction is based on the code words of the code, which each consist of eight matrix cells. One matrix cell per code word (8 matrix cells in total) that is defective destroys the code word. However, only one code word is destroyed if all eight matrix cells of the code word are destroyed. In the rectangular version of the DataMatrix code, between 3 and 14 incorrect code words can be corrected. In the square version, between 2 and 310 incorrect code words can be corrected. Each individual number of correctable code words is only ever valid for one matrix size (between 10 × 10 up to 144 × 144)
If the errors are distributed in such a way that the destroyed areas destroy 25% of the code area and the number of permitted destroyed code words is not exceeded, an automatic correction is possible. If the errors are distributed in such a way that a small code area is destroyed, but many code words are affected, the error correction no longer works or only works up to the defined extent of the permitted code words destroyed.
standardization
The DataMatrix code is standardized by the International Organization for Standardization (ISO) (ISO / IEC 16022: 2006). The technical report ISO / IEC TR 24720: 2008 describes the use of the code in direct part marking (DPM - Direct Part Marking). These standards provide a uniform basis and thus allow codes to be produced and read regardless of the manufacturer of the printer or reader.
The registry for issuing agencies (IACs) is the Dutch standards institute NEN. With the help of this registration, IACs can set up internationally unique article number systems and serial number systems. The whole thing happens under the umbrella of the ISO. Registered IACs are, for example, EDIFICE, GS1, HIBC, ODETTE, etc.
GS1 and Data Matrix
In the GS1 system, Data Matrix ISO Version ECC 200 is released for defined areas of application. The coding of the special character FNC1 after the start character is mandatory. This shows the applications that the code content is structured according to GS1 specifications. The basis of this concept is laid down in international standards. GS1 is registered as an issuing agency according to ISO / IEC 15459-2. ISO / IEC 15434 specifies how the structure used can be recognized and ISO / IEC 15418 describes the data structure.
So that the data obtained from a GS1 DataMatrix symbol can be clearly interpreted, the format and meaning of each individual data content that can be represented in the GS1 data designator concept is precisely described.
GS1 DataMatrix has already established itself as a global standard in the healthcare sector. Further applications can be found in the technical industries and in the defense sector. But there are also more and more use cases for the use of the GS1 DataMatrix in areas such as logistics and retail, where linear symbologies have prevailed up to now.
Comparison with one-dimensional barcodes
With the DataMatrix code, the information is coded very compactly in a square or rectangular area as a pattern of points. When reading a data matrix code, two different bar widths are no longer clearly defined in the sequence, as is the case with a one-dimensional bar code (1D code), but the arrangement of the points of the same size within the boundary (search pattern) and in the grid of the matrix. The dots are black or white boxes that connect to each other, or round dots with gaps in between. This uniform symbol size and the fixed symbol spacing alone make reading the image and decoding the information significantly more secure and the size of the code considerably more compact. Since the DataMatrix code also offers a method of error correction , it replaces the barcode, which usually only supports the detection of a single error, in many applications.
HIN, HIBCC and Data Matrix
The standardized symbologies of a data matrix code according to ISO / IEC 16022 are used. The first coded character is always the characteristic special character.
HIBCC and EHIBCC themselves are not a standards organization, but organizations that ensure that there are unambiguous number ranges worldwide in the field of application of the industry, especially the health sector. Since the DataMatrix code system was generally developed for international industry, no industrial area dominates the system. This system is particularly well known in the pharmaceutical industry.
HIBCC and EHIBCC are registered as IACs in accordance with ISO / IEC 15459-2 (Issuing Agency) with the official registration office for IACs. The users of the HIBCC system use the manufacturer numbers (LIC) under a license from the HIBCC or the EHIBCC, but free of charge.
HIN is part of the HIBCC DataMatrix code and designates the result as the Health Industry Number within the HIBCC data structure. This is just a location indicator for a health care company, for example a clinic.
There is no general symbology protection for DataMatrixCodes. However, the use of other labeling systems is not optional; the requirements of ISO / IEC 15418 (reference to ANSI MH10.8.2) must generally be observed in order to avoid mix-ups and errors. For example, the first character (+) is followed by a defined HIBCC data structure.
Readers
In contrast to the 1D code, a digital camera is ideally used with the 2D code. The code image only has to be in the camera window, the orientation in relation to the image field is irrelevant. This means that the data matrix code can be automatically mapped without moving the device or optics. The codes are usually read when the object is stationary or when it is in constant motion, with a single image being captured and evaluated. The use of line scan cameras enables higher recording speeds.
The camera records the information in two dimensions and software evaluates the image. Therefore, 2D codes have to be illuminated over a large area with a light source . The light reflected by the 2D code is then sharply imaged in an "image plane", for example a CMOS sensor.
Many cell phones with cameras are equipped with a code scanner. For example, a telephone number encoded in a data matrix code or a website address can be easily read in.
Line scanners are uncommon and not so reliable in mapping the code image.
Printing requirements
The requirements for the print quality of matrix codes are defined in ISO / IEC 15415. This standard includes the respective symbology standard, here ISO / IEC 16022. Among other things, it defines requirements for contrasts and matrix distortions.
It should be noted that the DataMatrix code according to ISO / IEC 16022 for direct marking (laser, dot peen, etc.) is not specified.
Since this is a typical application of the DataMatrix code in industry, a print quality requirement was developed with ISO / IEC TR 29158 that closes this gap. The technical report ISO / IEC TR 24720 describes the various methods for direct labeling. One aspect is the use of the data matrix code. Another similar application of the data matrix code is described in DIN V 66401.
In particular, needled codes (dot peening) are robust identification that remains legible over the life of the labeled products.
Similar codes are the QR code according to ISO / IEC 18004, the MaxiCode according to ISO / IEC 16023, the Aztec code , the Mesa code and other, partly proprietary codes.
Usage examples
The German Post AG uses the franking codes of size 22 × 22 and 26 × 26, for the Internet brand codes of size 26 × 26, for the product Stampit codes of size 32 × 32, for the product Frankit the size 36 × 36 and codes of size 52 × 52 for press mail with edge lettering.
Swiss Post also uses the DataMatrix code - among other things for franking bulk mail. These franking solutions are offered under the product names PP Easy (a static code for the entire shipment) and PP Business (dynamic code; each element of a shipment is given individual information). The data matrix code contains information about the sender (billing of the shipment) and the handling of the returns. In the case of PP Business , the customer (the sender) has additional characters available that he can use for his own information.
A data matrix code can be used for UDI labeling in Europe in accordance with the Medical Device Regulation ( MDR ) and In-Vitro Diagnostic Regulation ( IVDR ). With the implementation decision of the EU Commission, GS1 was named as the UDI allocation point on June 6, 2019. A GS1 DataMatrix with the corresponding GS1 data elements thus fulfills the legal labeling requirements for medical products.
In the pharmaceutical industry, legal regulations (EU Directive 2011/62 / EU) require the detection of counterfeits. A data matrix code with a serial number is used in the implementation (www.ifaffm.de, PPN code). The data structure is based on ISO / IEC 15418, ISO / IEC 15434 and ISO / IEC 15459-2.
In general, the international standard ISO 22742 describes the labeling of product packaging with codes. Product labeling is described in ISO 28219. ISO-compliant data structures are used as well as codes that, like the DataMatrix code, are specified in an ISO / IEC standard.
literature
- Bernhard Lenk: manual of automatic identification. Volume 2. 2D Codes. Matrix codes, stack codes, composite codes, dot codes. Monika Lenk Fachbuchverlag, Kirchheim unter Teck 2002, ISBN 3-935551-01-0 .
- Richard Albrecht: DataMatrix. My product gets an identity. Unglaube Identech, Massenhausen 2012, ISBN 978-3-00-037599-6 .
Web links
- Understanding and translating barcodes (PDF; 2.46 MB)
- Detailed explanation and free font (English)
- Data Matrix Lexicon
- Information from GS1 Austria
- Detailed explanation and free font (English)
- Data Matrix Generator WITH JavaScript implementation