MSI Code

MSI (also known as Modified Plessey) is a fixed-length, non-self-checking symbology derived from the original Plessey Code, mainly used in retail.

Introduction

MSI Data Corporation introduced MSI based on the original Plessey Code. Therefore, MSI is also known as Modified Plessey. It is mainly used in retail business.

MSI/Plessey is a fixed-length, non-self-checking symbology.

Most applications still support MSI only for backward compatibility, because MSI/Plessey is based on Pulse-Width Modulation technology.

MSI requires start/stop characters. MSI is used to encode numeric data, and a check digit must be added at the end of the data.

Variants

MSI is sometimes called Plessey Code or MSI/Plessey.

Structure of a Code 11 barcode

A typical MSI/Plessey barcode has the following structure:

  1. A start character
  2. Encoded message
  3. Check digit
  4. A stop character
Check Digit Calculation

MSI uses one or two check digits, which may be calculated in a number of different ways. As such, it is really up to the software application to implement and verify the check digit(s).

The most common methods for calculating MSI check digits are:

Modulo 10

To calculate the modulo 10 checksum digit, use the following steps:

  1. Create a new number using every other digit from the original code, such that the right-most digit of the new number is the right-most digit of the old number. For example, in the barcode above, the data encoded was "8052". In this case, the "new number" is 02.
  2. Take the new number calculated in step 1 and multiply it by 2. In this case, 02 * 2 is 4.
  3. Add the digits of the value calculated in the previous step (4), and add them to the digits that were not used in step 1 to form the new number. In this example, that would be 4 + 8 + 5 = 17. The "4" comes from step 2; the 8 and 5 come from "8052" and are the digits that were not used to form the new number in step 1. If the result from step 2 were, for example, 123, you would add 1 + 2 + 3 = 6 (plus the digits not used from step 1).
  4. Perform a modulo 10 calculation on the result of step 3. In this case, 17 modulo 10 = 7.
  5. The check digit is the value which, added to the result from step 4, equals 10. In this case, you must add 3 to 7 to get 10 -- so the check digit is 3.