Структурный и логический контроль входных сообщений.
Различают структурный (форматный) и логический контроль поступающих сообщений.
При форматном контроле:
- определяется число знаков в каждом введенном показателе и сравнивается с необходимым их количеством,
- проверяется наличие допустимого количества показателей во введенном сообщении,
- проверяется наличие алфавитного символа там, где должен стоять цифровой символ и наоборот.
При логическом контроле:
- проверяется значение каждого показателя сообщения области допустимых значений, которая содержится в НСИ,
- делается проверка на взаимное логическое соответствие отдельных показателей друг другу внутри каждой фразы введенного сообщения (внутрифразовый) и между различными фразами (межфразовый контроль),
- выявляется наличие ошибок в наиболее важных показателях сообщения (коды станций, номера вагонов и т.д.) с помощью расчета контрольных знаков.
Форматный и логический контроли выполняются для служебной и информационных фраз сообщения.
Основные типы ошибок, наиболее часто встречающихся при подготовке информационных сообщений приведены в табл.4.1.
Таблица 4.1.
Типы ошибок при подготовке информационных сообщений
Код ошибки | Тип ошибки | Пояснения |
1. Ошибки форматного характера | ||
1.1. Контроль правильности оформления сообщения 02 в целом | ||
Несуществующий код сообщения | Искажен код номера сообщения | |
Сообщение без признака начала или/и конца | Нет признака начала (: или/и конца :) сообщения | |
1.2. Форматный контроль служебной фразы | ||
Недопустимое количество показателей во фразе | Количество показателей в служебном блоке (фразе) должно находиться в пределах 11-17 | |
Ошибка формата показателя | Неверное количество знаков в показателе или недопустимый символ | |
1.3. Форматный контроль информационной фразы | ||
Недопустимое количество показателей во фразе | Количество показателей в информационной фразе должно находиться в пределах 3-15 | |
Ошибка формата показателя | Неверное количество знаков в показателе или недопустимый символ | |
2. Ошибки логического характера | ||
2.1. Логический контроль служебной фразы | ||
Номер поезда должен соответствовать заданным в НСИ пределам | Номер сквозного грузового поезда должен находиться в пределах 2001-2998 | |
Код станции формирования должен соответствовать заданным в НСИ пределам | Код станции формирования должен находиться в пределах 01002-99992 | |
Признак списывания состава должен соответствовать заданным в НСИ пределам | Признак списывания состава должен быть 1 или 2 | |
Дата и время должны соответствовать заданным в НСИ пределам | Число должно находиться в пределах 01-31, месяц – 01-12, минуты – 00-59 | |
Код отметки о маршруте должен соответствовать заданным в НСИ пределам | Код должен находиться в пределах 0-4 |
Продолжение табл. 4.1.
2.2. Логический контроль информационной фразы | ||
При ненулевом весе груза должны быть сведения о станции назначения вагона | Анализируются показатели 4 и 5 информационного блока | |
При ненулевом весе груза должны быть сведения о коде грузополучателя | Анализируются показатели 4 и 6 информационного блока | |
Вес груза должен быть не более грузоподъемности вагона | Значение показателя 4 сравнивается с данными НСИ | |
Недопустимое значение контрольного знака в номере вагона | Контрольный 8-й знак должен быть равен знаку, рассчитанному по модулю 10 на основе первых семи знаков номера вагона | |
Недопустимое значение контрольного знака в коде станции | Контрольный 5-й знак в коде ЕСР должен быть равен знаку, рассчи-танному по модулю 11 на основе первых четырех знаков кода | |
2.3. Логический межфразовый контроль | ||
Неверно оформлена группа вагонов, следующих по одной накладной или сцеп | Отметка о группе вагонов, следующих по одной накладной, СЦЕПе должна присутствовать не менее, чем у двух вагонов | |
Неверно оформлена группа вагонов, следующих по одной накладной или сцеп | В группе вагонов, оформленной по одной накладной, ненулевой вес груза должен быть проставлен у каждого вагона | |
Нарушена порядковая нумерация информационных фраз | Пояснения не требуется | |
Значения показателей в служебной фразе не соответствуют значениям показателей информационных фраз | Значения «Особых отметок» в служебной фразе не соответствуют значениям аналогичных «Особых отметок» в информационных фразах | |
Одинаковые инвентарные номера вагонов | Пояснения не требуются |
Пример выявления ошибок в служебной и информационной фразах сообщения 02
При обнаружении ошибок абоненту, пославшему сообщение, выдается диагностическое сообщение 497, содержащее наименование показателей, где обнаружены ошибки и коды ошибок.
Пример сообщения 497:
(: 0497 ВЦМСК 0700008 25 07 14 30 001:
Ю1 0000 0002 59 00 0700+051+0707 :)
0497 – код сообщения
ВЦМСК – код пункта передачи сообщения;
0700008 – код абонента
25 07 14 30 – дата, месяц, час, минуты формирования сообщения;
001 – количество сообщений в пакете;
Ю1 – название информационного блока;
0000 – сообщение принято без ошибок;
0002 – код проконтролированного сообщения;
59 – количество записей в информационном блоке;
00 – количество непринятых записей;
0700+051+0707 – идентификатор сообщения (индекс поезда).
Если проконтролированное сообщение содержало ошибки то, в сообщении 497 будет указан номер ошибочной записи, идентификатор записи, код ошибки, номер ошибочного поля.
В таблице 4.2 приведены примеры ошибок, выявляемых в процессе форматного и логического контроля.
Таблица 4.2.
Приложение Б (информационное) | |||||
Перечень ошибок структурного и логического контроля входных сообщений | |||||
Номер ошибки | Номер исходящего сообщения | Текст ошибки | Характер ошибки | Краткая аннотация ошибки | |
.01 | 02, 09, 200-205, 333, 241, 242, 244, 249, 555 | Ю2 000.01 | Несуществующий номер исходящего сообщения | Исправить номер сообщения и ввести его заново в ЭВМ | |
.02 | 02, 09, 200-205, 333, 241, 242, 244, 248, 249, 555 | .02 NC | Количество показателей в фразе больше или меньше допустимого | Для сообщения 02: служебная фраза может содержать минимум 11 показателей ("дата и время" включительно) и максимум 15 показателей ("Маршрут" включительно). Информационная фраза - минимум 3 показателя ("Ролик" включительно), максимум 15 показателей ("Примечание" включительно) | |
Для сообщения 09: а) служебная фраза - min 11 показателей ("Минуты" включительно) и max 12 показателей ("Номер парка / номер пути" включительно). Информационная фраза - min 2 показателя ("Номер вагона" включительно), max 15 показателей ("Примечание" включительно); б) по операции прицепки (код 14): после информационной фразы с кодом корректировки 14 должна следовать информационная фраза с кодом корректировки 00, которая включает номер вагона и необходимые сведения о нем. | |||||
Продолжение табл. 4.2.
.02 | 02, 09, 200-205, 333, 241, 242, 244, 248, 249, 555 | .02 NC | Количество показателей в фразе больше или меньше допустимого | Для сообщения 241: служебная фраза должна содержать 8 показателей ("Код операции" включительно). Информационная фраза - минимум 4 показателя ("Масса груза" включительно), максимум 13 показателей ("Примечание" включительно). |
Для сообщения 242: служебная фраза должна содержать 8 показателей ("Код операции" включительно). Информационная фраза - минимум 2 показателя ("Номер вагона" включительно), для первой фразы - минимум 4 показателя ("Код грузополучателя" включительно) и максимум 7 показателей ("Примечание" включительно). | ||||
Для сообщения 200, 201, 204: служебная фраза может содержать минимум 11 показателей ("Дата и время" включительно) и максимум 13 показателей (для номера 200 "Номер пути перегона"; 201, 204 "Признак работы с локомотивом" включительно). | ||||
Для сообщения 202, 203, 05: может содержать минимум 11 показателей ("Минута" включительно) и максимум 15 показателей ("Номер парка / номер пути" включительно). | ||||
.02 | 02, 09, 200-205, 333, 241, 242, 244, 248, 249, 555 | .02 NC | Количество показателей в фразе больше или меньше допустимого | Для сообщения 200, 201: информационная фраза может содержать минимум 7 показателей ("Табельный номер машиниста" включительно) и максимум 8 показателей ("Фамилия машиниста" включительно). |
Продолжение табл. 4.2.
.03 | 02, 09, 200-205, 333, 241, 242, 244, 248, 249, 555 | .03 | Отсутствуют информационные фразы или все информационные фразы ошибочны | |
.04 | 02, 09, 241, 555 | .04 | Неверно оформлен маршрут, группа вагонов, следующих по одной накладной, сцеп, рефрижераторные секции и поезда | Маршрут, группа вагонов, следующих по одной накладной, сцеп, рефрижераторные секции и поезда оформляются согласно инструкции по ДУ-1 |
.05 | 02, 09, 241, 242, 248, 249, 555 | .05 | Не возрастают номера информационных фраз исходного сообщения | Для сообщений 02, 241, 242: если в сообщении нет других ошибок, то сообщение принимается к расчету, при этом ЭВМ нумерует информационные фразы в порядке возрастания фраз (ошибка является предупреждающей) |
.05 | 02, 09, 241, 242, 248, 249, 555 | .05 | Не возрастают номера информационных фраз исходного сообщения | Для сообщения 09, 248, 249: а) после информационной фразы с кодом корректировки 02, 04, 14, 33, 81, 83, 86, 88, 91 должна следовать информационная фраза с кодом корректировки 00, содержащая номер вагона и необходимые сведения о нем; б) в первой информационной фразе код корректировки не может быть равен 00. |
Продолжение табл. 4.2.
.07 | 02, 200-205, 333, 241, 242, 244, 248, 249, 555 | .07 NC | Отсутствует значение требуемого показателя исходного сообщения | необходимо дополнить фразу требуемыми показателями (NC - номер показателя) |
.08 | 02, 200-205, 333, 241, 242, 244, 248, 249, 555 | .08 NC1 - NC2 | Значение показателей во фразе не соответствует друг другу | К фразе исходного сообщения NC1 должен соответствовать показателю NC2. |
.09 | .02 | .09 18 | Неверно оформлен маршрут | Если в служебной фразе сообщения 02 признак маршрута проставлен от 1 до 4, то в информационной фразе принадлежность вагона к маршруту указывается цифрой 2. Общая масса маршрута против первого вагона разрешается проставлять только при перевозке грузов прямыми и кольцевыми маршрутами. При формировании маршрутной групповой отправки с признаком от 3 до 6 масса груза должна быть указана против каждого вагона. |
.09 | 200-205, 241, 242, 244, 248, 249, 555 | .09 NC1 - NC2 | Значение показателей служебной и информационной фраз не соответствуют друг другу | Показатель NC1 служебной фразы должен соответствовать показателю NC2 информационной фразы |
Продолжение табл. 4.2.
02, 09, 241, 242, 248, 249, 555 | .10 | Одинаковые инвентарные номера вагонов | ||
02, 09, 200-205, 333, 241, 242, 244, 248, 249, 555 | .11 | Код пункта передачи из автоответа не соответствует станции совершения операций из сообщения | ||
02, 09, 200-205, 333, 241, 242, 244, 248, 249, 555 | .12 | Сбой ЭВМ | ||
02, 09, 200-205, 333, 241, 242, 244, 248, 249, 555 | .13 | Нет начала "(:" или конца ":)" исходного сообщения |
Продолжение табл. 4.2.
.02 | .14 | В ЭВМ для сообщения 02 есть информация о поезде с подробным индексом | Если при поступлении сообщения 02 установлено, что в ЭВМ есть сведения о поезде с таким же индексом (на который не передавались другие сообщения) и совпадают инвентарные номера хотя бы у трех вагонов, то сообщение принимается к расчету, заменяя предыдущее; в противном случае сообщение принимается к обработке, присваивая третий знак порядковому номеру этого состава (слева относительно двух основных) и информирует от этом абонента | ||
09, 200-205, 244, 333, 555 | .14 | Информация о данном поезде нет в ЭВМ или в ней имеются ошибки. В ЭВМ нет информации о вагонах, на которые пришло информационное сообщение | |||
02, 09, 241, 555 | .15 NC | Недопустимое значение служебных символов Щ1, Щ2, апостроф | NC - номер показателя, который принимает недопустимое значение. Символ Щ1 используется для пропуска нулевых показателей с 4 по 8 включительно; Щ2 - для пропуска нулевых показателей с 9 по 14 включительно; ' (апостроф) - для разделения (начиная с 4-го показателя включительно) буквенного и буквенно-цифрового примечания от остальной информации в случае, когда нужно опустить незначащие реквизиты строки до графы "Примечание" | ||
Продолжение табл. 4.2.
02, 09, 200-205, 333, 241, 242, 244, 248, 249, 555 | .16 NC | Недопустимое значение показателя исходного сообщения | NC - номер показателя, который принимает недопустимое значение. Для сообщений 09: а) код корректировки может принимать только значение 01, 02, 03, 04, 06, 08, 11, 14, 33, 81, 83, 86; б) нельзя удалять группу вагонов из маршрута с одной массой в голове, если масса груза после удаления группы больше, чем суммарная масса вагонов в маршруте | |
02, 09, 200-205, 333, 241, 242, 244, 248, 249, 555 | .17 NC | Количество знаков в показателе больше или меньше допустимого или недопустимый (нецифровой) символ | ||
09, 248, 249, 555 | .19 | Корректируемых фраз нет в исходном сообщении | Для сообщения 09 ошибка возникает, когда в составе поезда нет отцепляемого или перецепляемого вагона, вагона, у которого корректируются данные, или вагона, за которым (перед которым) вставляются или прицепляются вагоны. Для сообщений 248, 249 ошибка возникает, когда в ЭВМ нет удаляемого вагона или вагона, за которым должны вставляться вагон или группа вагонов | |
241, 242, 244, 248, 249 | .20 | Нарушена порядковая нумерация сообщений |
Продолжение табл. 4.2.
200, 201, 202 | .21 | Локомотив отсутствует в числе контролируемых | ||
02, 09, 248, 249 | .22 | Недопустимый интервал времени между текущей и предыдущими операциями | ||
200-205 | .23 | Нарушена логическая операция с поездом | Текущая операция, указанная в сообщении, не может следовать непосредственно за предыдущей операцией с поездом | |
02, 09, 200-205 | .25 | Время совершения операций дольше текущего | Для сообщений 02, 09 время, указанное в служебной фразе, не должно превышать времени ЭВМ больше чем на 10 минут. Для сообщений 200-205 время, указанное в служебной фразе, не должно превышать времени ЭВМ | |
09, 200-205 | .26 | Дата и время совершения операций меньше времени предыдущего сообщения | Дата и время совершения операций меньше или равны дате и времени предыдущего сообщения |
Продолжение табл. 4.2.
02, 09, 200, 201, 202, 241, 242, 248, 249, 555 | .33 02 | Неверно указан контрольный знак в инвентарном номере вагона (локомотива) | ||
.02 | .34 | Количество фраз в сообщении больше допустимого предела | ||
02, 09 | .90 | Нарушение плана формирования поездов или вагонов | ||
02, 09 | .92 XXX | Поезд недогружен (указывается масса недогруза в тоннах - XXX) | Ошибка является предупреждающей и исправлений не требует | |
02, 09 | .93 ХХ | Поезд следует с нарушением нормы длины (указывается количество недогруженных вагонов) | Ошибка является предупреждающей и исправлений не требует | |
Р1 | 200-205 | .Р1 | Повторный ввод | В ЭВМ вводится сообщение, которое уже принято |