2.2 Описание запросов
2.2.1 Установление сеанса связи.
Обмен с тепловычислителем должен начинаться процедурой установления сеанса связи. Для этого внешнее устройство должно передать тепловычислителю стартовую последовательность не менее чем из шестнадцати байтов 0хFF. Далее должен быть передан запрос вида:
Где: 0x92 0x29 – код прибора СПТ941 моделей 10, 11;
Байт VX – идентификатор версии внутреннего программного обеспечения прибора.
Если номер NT в запросе не совпадает с номером NT тепловычислителя и не равен 255 (безадресный запрос), тепловычислитель прекращает прием и обработку дальнейший информации вплоть до получения следующей стартовой последовательности 0xFF. Таким образом, при работе с группой тепловычислителей, после установки сеанса связи с запрашиваемым тепловычислителем, дальнейший обмен информацией будет возможен только с ним. Все остальные приборы группы будут игнорировать последующие запросы внешнего устройства.
Внимание! Все тепловычислители, объединенные в группу, должны иметь различные сетевые номера.
При установлении сеанса связи важно выполнять требования к временным характеристикам обмена, описанным в разделе 2.4.
Процедура установления сеанса должна выполняться на скорости 2400 бит/с.
2.2.2 Чтение FLASH-памяти.
Запрос чтения FLASH-памяти:
Где: N1, N0 – соответственно младший и старший байты номера первой считываемой страницы 64 байта; К – количество считываемых страниц.
Количество считываемых одним запросом страниц – 1...64.
Каждая страница FLASH заключается в один кадр. Количество кадров в ответе соответствует количеству запрашиваемых страниц.
2.2.3 Чтение ОЗУ.
Запрос чтения ОЗУ:
Где: А1, А0 – соответственно младший и старший байты адреса первого считываемого байта ОЗУ; КБ – количество считываемых байтов ОЗУ. КБ должно находиться в пределах 1...64.
Список доступных для чтения параметров ОЗУ приведен в приложении 1.
2.2.4 Запросы для работы с архивами.
Тепловычислитель СПТ941 (мод. 941.10, 941.11) поддерживает ряд запросов, позволяющих выводить накопленные им архивные данные.
Запрос поиска записи в часовом архиве:
Где: гг-мм-дд-чч – заголовок искомой записи (год, месяц, день, час соответственно).
Диапазон допускаемых значений байта чч – 0…23. Запись, датированная нулем часов, будет относиться интервалу 23 – 24 час предыдущих суток; запись, датированная 23 часами – к интервалу 22 – 23 часа конца суток. Для всех запросов архивных записей значение байта "гг" вычисляется по формуле:
гг = (год – 2000) + 100.
Например, заголовок часовой записи, сформированной в 20 часов 01 суток 02 месяца 2005 года, будет выглядеть следующим образом:
гг-мм-дд-чч = 105-2-1-20.
Аналогичным образом строятся запросы суточных и месячных записей.
Запрос поиска записи в суточном архиве:
Запрос поиска записи в месячном архиве:
При отсутствии в архиве искомой записи тепловычислитель возвращает ответ с кодом ошибки 0x03 (см. 2.3). Структура архивных данных, выводимых в ответах тепловычислителя, приведена в приложении 2.
2.2.5 Ввод параметров настроечной базы данных тепловычислителя.
Запрос ввода параметра БД:
Где: N1, N0 – соответственно младший и старший байты номера параметра.
Ввод параметра настроечной БД тепловычислителя возможен при выключенном переключателе ЗАЩИТА или при включенном переключателе – если параметр является оперативным. Если ввод параметра разрешен, тепловычислитель формирует подтверждение:
В противном случае будет сформирован ответ с кодом ошибки 0x01 – "Защита от ввода параметра" (2.3).
При подтверждении ввода тепловычислителю должен быть передан блок данных, содержащий значение параметра:
Структура передаваемого блока данных:
Где: В0…В7 – ASCII код значения параметра. При этом В0 – старший разряд значения параметра или знак, если значение параметра отрицательное; 0/* - признак "оперативный параметр".
ASCII символ "*" в позиции 0/* устанавливает принадлежность вводимого параметра к списку оперативных. Ноль (0х00) в указанной позиции исключает параметр из списка оперативных. При любом другом значении байта 0/* отношение параметра к списку оперативных не модифицируется.
Если значение параметра содержит менее восьми значащих цифр, неиспользуемые младшие байты значения должны быть заполнены кодом 0x20. Примеры вводимых данных показаны в таблице 2.1. После приема и обработки блока информации формируется подтверждение:
В случае некорректности вводимых данных тепловычислитель формирует ответ с кодом ошибки 0x02 – "Недопустимые значения параметров запроса" (2.3). Запись параметра в БД при этом не выполняется.
Чтение параметров БД в их внутреннем представлении может быть выполнено с помощью запроса чтения FLASH-памяти. Формат хранения параметров описан в приложении 3.
Таблица 2.1 – Примеры вводимых данных
2.2.6 Вывод отчетов на печать.
Вывод квитанций на принтер осуществляется с помощью адаптера АПС45.
Символьный образ квитанции формируется в памяти тепловычислителя. Адаптер АПС45 с помощью описанных ниже запросов считывает сформированную квитанцию и транслирует ее на принтер.
АПС45 ведет периодический опрос состояния очереди печати тепловычислителя. Для этого применяется запрос вида:
Где: N1, N0 – номер квитанции, готовой к выводу на печать (младший и старший байты соответственно); С1, С0 – количество блоков 64 байта, содержащихся в квитанции.
При отсутствии квитанций в очереди печати тепловычислитель возвращает ответ с С1 = С0 = 0.
Готовые к распечатке квитанции поблочно считываются адаптером.
Запрос чтения блока квитанции:
Где: N1, N0 – номер квитанции; B1, B0 – номер запрашиваемого блока.
Нумерация блоков начинается с нуля.
Поблочное чтение выполняется до тех пор, пока не будет считано полное количество блоков квитанции, переданное тепловычислителем в ответе на запрос состояния очереди печати. При успешном завершении печати АПС45 удаляет квитанцию из очереди печати.
Запрос удаления квитанции из очереди печати:
2.2.7 Запросы управления счетом.
Запросы предназначены для выполнения пуска/останова счета и сброса архивов.
Общий вид запроса:
Где: КОП – код операции: 0 – останов счета; 1 – пуск счета; 0хFF – сброс архивов.
Подтверждение:
Внимание! Обработка запроса производится только при выключенном переключателе ЗАЩИТА. При включенном переключателе будет сформирован ответ с кодом ошибки 0х01.
Обработка запроса может занимать значительное время (см. параметр t5 п. 2.3).
2.2.8 Выбор скорости обмена.
Обмен с тепловычислителем может вестись скоростях 2400, 4800, 9600 и 19200 бит/с.
Установление скорости обмена осуществляется по запросу внешнего устройства. При этом начальная скорость обмена, т.е. скорость на этапе установления сеанса связи с тепловычислителем, всегда равна 2400 бит/с.
Запрос выбора скорости обмена:
Где: байт S – код скорости обмена.
Значение 0х00 соответствует скорости 2400 бит/с; 0х01 – 4800 бит/с; 0х02 – 9600 бит/с; 0х03 – 19200 бит/с.
Подтверждение:
Подтверждение передается тепловычислителем на неизменной скорости, после чего вступает в силу ее новое значение. При отсутствии обмена в течение 10 с тепловычислитель автоматически перестраивает свой интерфейс на исходную скорость обмена 2400 бит/с.
|