Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

MSI Barcode

From Wikipedia, the free encyclopedia
Barcode symbology
MSI barcode for the number 1234567 with Mod 10 check digit

MSI (also known asModified Plessey) is abarcodesymbology developed by the MSI Data Corporation, based on the originalPlessey Code symbology. It is a continuous symbology that is not self-checking. MSI is used primarily forinventory control, marking storage containers and shelves in warehouse environments.

Character set and binary lookup

[edit]

The MSI bar code represents only digits 0–9; it does not support letters or symbols.

Each digit is converted to 4binary-coded decimal bits. Then a 1 bit is prepended and two 0 bits are appended.

Finally, each bit is printed as a bar/space pair totalling three modules wide. A 0 bit is represented as 1/3 bar followed by 2/3 space, while a 1 bit is represented as 2/3 bar followed by 1/3 space.

Binary mapping

[edit]

Each digit and guard character is represented by a binary number, as shown in the table below.

CharacterBinaryBarsMap
Start1110
00000▍▍▍▍100100100100
10001▍▍▍▋100100100110
20010▍▍▋▍100100110100
30011▍▍▋▋100100110110
40100▍▋▍▍100110100100
50101▍▋▍▋100110100110
60110▍▋▋▍100110110100
70111▍▋▋▋100110110110
81000▋▍▍▍110100100100
91001▋▍▍▋110100100110
Stop00▍▍1001

To produce a barcode image from this map, one simply must consider the digit 1 to be a black bar and the digit 0 to be a white bar and produce an image accordingly.

Check digit calculation

[edit]

The MSI barcode uses one of five possible schemes for calculating acheck digit:

  • No check digit (least common)
  • Mod 10 (most common)
  • Mod 11
  • Mod 1010
  • Mod 1110

Mod 10 Check Digit

[edit]
Main article:Luhn algorithm

When using the Mod 10 check digit algorithm, a string to be encoded 1234567 will be printed with a check digit of 4:

 12345674

The Mod 10 check digit algorithm[1]uses theLuhn algorithm.

Mod 11 Check Digit

[edit]
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "MSI Barcode" – news ·newspapers ·books ·scholar ·JSTOR
(July 2007) (Learn how and when to remove this message)

1. Reverse the string to be encoded (in this case 1234567).

 Let S be the reverse of the string to be encoded S = 7654321

2. The string is then "weighted" using a repeating weighting factor pattern. There are two modulo 11 algorithms which use different repeated weighting factor patterns: theIBM algorithm which uses (2,3,4,5,6,7), and theNCR algorithm which uses (2,3,4,5,6,7,8,9). Get the sum of the string by looping through each character and multiply it by a weight from 2 to 7 (IBM) or 2 to 9 (NCR) depending on its position. If the weight's value exceeds the highest number (7 or 9), reset the weight back to 2.

 This example is using the IBM modulo 11 algorithm with a weighting pattern of (2,3,4,5,6,7) Let X = the final product of the string to encode. X = 7 * 2 X = 6 * 3 X = 5 * 4 X = 4 * 5 X = 3 * 6 X = 2 * 7 X = 1 * 2
 X = 14 + 18 + 20 + 20 + 18 + 14 + 2 X = 106

3. Mod the sum by 11, subtract the result from 11, and then apply the mod 11 function again.

 Let C equal the check digit. C = (11 - (X mod 11)) mod 11 C = (11 - (106 mod 11)) mod 11 C = (11 - 7) mod 11 C = 4 mod 11 C = 4

The check digit is 4.

Mod 1010 check digit

[edit]

Simply calculate the Mod 10 check digit the first time and then calculate it again with the previous result and append the result of the second Mod 10 Calculation to the string to be encoded.

Mod 1110 check digit

[edit]

Same as Mod 1010 but the first calculation should be a Mod 11 Check digit.

Example

[edit]

As an example, we will generate an MSI barcode for the number sequence 1234567 using the most common Mod 10 check digit methodology.

The check digit (as calculated above) for this sequence is 4.

Once you have calculated your check digit, simply map each character in the string to be encoded using the table above as a reference to get the binary map of the bar code; remember to precede the code with "start" and to end it with "stop" For example, to map the string 1234567 with a Mod 10 check digit it would produce the following binary map:

CharacterMapComment
Start110The start character
1100100100110The number 1
2100100110100The number 2
3100100110110The number 3
4100110100100The number 4
5100110100110The number 5
6100110110100The number 6
7100110110110The number 7
4100110100100The check digit 4
Stop1001

This results in the following barcode:

References

[edit]
  1. ^IBM Printing Systems Information Center - Check Digit Calculation Method,IBM.

External links

[edit]
Linear barcodes
Post office barcodes
2D barcodes (stacked)
2D barcodes (matrix)
Polar coordinate barcodes
Other
Technological issues
Other data tags
Related topics
Retrieved from "https://en.wikipedia.org/w/index.php?title=MSI_Barcode&oldid=1219774915"
Category:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp