MSI (также известная как Modified Plessey ) - это символика штрих-кода, разработанная MSI Data Corporation на основе оригинальной символики Plessey Code. Это непрерывная символика, не подлежащая самопроверке. MSI используется в основном для управления запасами, маркировки складских контейнеров и полок в складских помещениях.
Штрих-код MSI представляет собой только цифры 0–9; он не поддерживает буквы и символы.
Каждая цифра преобразуется в 4 двоичных десятичных бита. Затем добавляется 1 бит и два 0 бита.
Наконец, каждый бит печатается как пара штрих / пробел шириной в три модуля. Бит 0 представлен как 1/3 полоски, за которой следуют 2/3 пробела, а бит 1 представлен как 2/3 полоски, за которой следует 1/3 пробела.
Каждая цифра и защитный символ представлены двоичным числом, как показано в таблице ниже.
Персонаж | Двоичный | Бары | карта |
---|---|---|---|
Начинать | 1 | ▋ | 110 |
0 | 0000 | ▍▍▍▍ | 100100100100 |
1 | 0001 | ▍▍▍▋ | 100100100110 |
2 | 0010 | ▍▍▋▍ | 100100110100 |
3 | 0011 | ▍▍▋▋ | 100100110110 |
4 | 0100 | ▍▋▍▍ | 100110100100 |
5 | 0101 | ▍▋▍▋ | 100110100110 |
6 | 0110 | ▍▋▋▍ | 100110110100 |
7 | 0111 | ▍▋▋▋ | 100110110110 |
8 | 1000 | ▋▍▍▍ | 110100100100 |
9 | 1001 | ▋▍▍▋ | 110100100110 |
Стоп | 00 | ▍▍ | 1001 |
Чтобы создать изображение штрих-кода из этой карты, нужно просто считать цифру 1 черной полосой, а цифру 0 белой полосой и соответственно создать изображение.
Штрих-код MSI использует одну из пяти возможных схем вычисления контрольной цифры :
При использовании алгоритма контрольной цифры Mod 10 строка, которая должна быть закодирована 1234567, будет напечатана с контрольной цифрой 4:
12345674
Алгоритм контрольной цифры Mod 10 использует алгоритм Луна.
1. Переверните кодируемую строку (в данном случае 1234567).
Let S be the reverse of the string to be encoded S = 7654321
2. Затем строка «взвешивается» с использованием повторяющегося шаблона весовых коэффициентов. Существует два алгоритма по модулю 11, которые используют разные повторяющиеся шаблоны весовых коэффициентов: алгоритм IBM, который использует (2,3,4,5,6,7), и алгоритм NCR, который использует (2,3,4,5,6, 7,8,9). Получите сумму строки, перебирая каждый символ в цикле и умножая его на вес от 2 до 7 (IBM) или от 2 до 9 (NCR) в зависимости от его положения. Если значение веса превышает максимальное число (7 или 9), сбросьте вес обратно на 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. Измените сумму на 11, вычтите результат из 11, а затем снова примените функцию mod 11.
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
Контрольная цифра - 4.
Просто вычислите контрольную цифру Mod 10 в первый раз, а затем вычислите ее снова с предыдущим результатом и добавьте результат второго вычисления Mod 10 к строке, которая будет закодирована.
То же, что и Mod 1010, но первое вычисление должно быть контрольной цифрой Mod 11.
В качестве примера мы сгенерируем штрих-код MSI для числовой последовательности 1234567, используя наиболее распространенную методологию контрольных цифр Mod 10.
Контрольная цифра (рассчитанная выше) для этой последовательности - 4.
После того, как вы рассчитали контрольную цифру, просто сопоставьте каждый символ в кодируемой строке, используя приведенную выше таблицу в качестве справочной информации, чтобы получить двоичную карту штрих-кода; не забудьте поставить перед кодом «start» и заканчивать его «stop». Например, чтобы сопоставить строку 1234567 с контрольной цифрой Mod 10, будет получена следующая двоичная карта:
Персонаж | карта | Комментарий |
---|---|---|
Начинать | 110 | Начальный персонаж |
1 | 100100100110 | Число 1 |
2 | 100100110100 | Число 2 |
3 | 100100110110 | Число 3 |
4 | 100110100100 | Число 4 |
5 | 100110100110 | Число 5 |
6 | 100110110100 | Число 6 |
7 | 100110110110 | Число 7 |
4 | 100110100100 | Контрольная цифра 4 |
Стоп | 1001 |
В результате получается следующий штрих-код: