Использование команды "Запрос номера дозы"

+7 (383) 358-68-69; semico@mail.ru |  Контакты  |  Прайс-лист

Главная / Оборудование для АЗС / Техническая информация

Команда запроса номера дозы (код 56h) предназначена для использования в АРМ оператора или в автоматизированных системах управления АЗС. С ее помощью в программах исключается возникновение нештатных ситуаций, связанных с нарушением обмена в момент передачи дозы.

В контроллерах управления ТРК, использующих данную команду, каждая загруженная доза имеет собственный номер от 0 до 999999. При приеме команды 31h "Доза" или 39h "До полного бака" происходит увеличение значения номера на единицу. После достижения номера 1000000 счет продолжается с нуля. Другие команды протокола номер не изменяют. Команда "Запрос номера дозы" позволяет получить значение номера последней загруженной дозы для выбранного контроллера.

Таким образом, система может отслеживать отпуск не просто дозы топлива объемом столько-то литров, а конкретной дозы, имеющей собственный уникальный номер.

Рассмотрим ситуацию, которая может возникнуть при работе. Система управления командой "Тест" проверяет наличие контроллера и его нахождение в состоянии "Сброс - дозы нет". После чего передает команду "Доза - X литров", но ответа не получает. Причины могут быть любыми - помеха на линии, отключение питания КУ ТРК, намеренные действия оператора и т.д. Подробно эта ситуация рассмотрена в статье "Особенности использования универсального протокола".

В рамках "Универсального протокола" версии 1.72 невозможно определить была ли эта доза X литров успешно принята контроллером и полностью отпущена, или не была принята вообще. В обоих случаях после восстановления связи контроллер будет находиться в состоянии "Сброс - дозы нет".

Поэтому система при выборе действий может опираться только на косвенные признаки. Например, можно учитывать время, прошедшее с момента потери связи. Если оно превышает достаточное для отпуска с ТРК дозы X литров, то запрещать повторную передачу дозы. Использование подобных критериев чревато либо невозможностью отпуска оплаченной дозы, либо возможностью отпуска любого количества топлива без контроля системы. И то и другое явно нежелательно.

В случае использования команды "Запрос номера дозы" необходимо подать ее перед посылкой команды "Доза" вместо команды "Тест". Допустим, от контроллера приходит ответ "Номер дозы N, состояние Сброс - дозы нет". Посылаем команду "Доза - X литров", ответ на которую, как и в предыдущем случае, не получаем.

Предположим, что чек на дозу X оформлен. На время отсутствия связи ТРК с данным номером, естественно, в системе блокируется. Что не мешает произвести возврат и учесть это впоследствии. Аналогичным образом решается вопрос при оформлении чека после отпуска дозы.

После восстановления связи в контроллер следует снова передать команду "Запрос номера дозы" и действовать в зависимости от ответа следующим образом. Предполагается, что оплата производилась до начала отпуска дозы.

Ответ КУ ТРК Возможная причина возникновения Действия в случае
Номер Доза Состояние возврата не было возврат был
N 0 Сброс-дозы нет Команда "Доза" не принята контроллером Передать повторно "Доза X литров" Действия не требуются
N Не равная 0 Все Замена контроллера Предложить замену контроллера Предложить замену контроллера
N+1 0 Сброс-дозы нет Команда "Доза" принята контроллером Доза X литров отпущена полностью Оформить чек на дозу X
N+1 Y<X Пуск или Останов То же Завершить отпуск дозы Завершить отпуск дозы и оформить чек на дозу X
N+1 Y<X Все, кроме Пуск или Останов Замена контроллера Предложить замену контроллера Предложить замену контроллера
N+1 X Готовность к пуску Команда "Доза" принята контроллером Начать отпуск дозы Передать команду "Сброс"
N+1 X Все, кроме Готовность к пуску Замена контроллера Предложить замену контроллера Предложить замену контроллера
N+1 Y>X Все То же То же То же
Не равен N или N+1 Любое значение Все -"- -"- -"-

Заменой контроллера здесь считается ситуация, которая не может возникнуть без вмешательства оператора. При отказе от замены действия не предпринимаются, но колонка остается блокированной. Это необходимо для исключения случаев непреднамеренной замены. При подтверждении замены контроллера в системе следует выполнить команду его сброса и, если возврата не было, запросить у оператора необходимость повторного ввода дозы. Замену контроллера следует отмечать в файлах журналов системы.

При этом наиболее вероятной является ситуация, когда номер не равен N или N+1 - это однозначно свидетельствует о замене. Вероятность возникновения остальных подобных ситуаций без специальных действий оператора порядка 1/1000000. Для повторной установки номера дозы N вместо N+1 после отпуска X литров даже при использовании специальных программ на компьютере потребуется несколько суток непрерывной работы.

В некоторых случаях после нарушения обмена действительно может потребоваться замена вышедшего из строя контроллера. Но несколько десятков замен за смену позволяют строить предположения о намеренных действиях оператора. Использование команды "Запрос номера дозы" таким образом, позволяет разделить случаи реальных сбоев обмена и намеренных действий.

Если убрать из рассмотрения состояния, которые не могут возникнуть без вмешательства оператора, остается всего четыре ситуации с четко регламентированными действиями системы. Именно эти ситуации наиболее часто встречаются при реальной работе. Использование команды "Запрос номера дозы" в этом случае позволяет полностью разделить случаи принятия или непринятия дозы контроллером при однократном сбое обмена или временной потере связи.


НПП "СЕМИКО" (383) 271-01-25 (многоканальный)