Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
28.03.2024, 14:07:13
 
Начало Помощь Поиск Войти Регистрация
Новости: Форум обновлен

+  Форум АО "ВЗЛЕТ"
|-+  Приборы ЗАО "Взлет"
| |-+  Отдел программистов
| | |-+  Формирование адреса в запросе архива ТСРВ-010М
0 Пользователей и 1 Гость смотрят эту тему. « предыдущая тема следующая тема »
Страниц: [1] Печать
Автор Тема: Формирование адреса в запросе архива ТСРВ-010М  (Прочитано 6478 раз)
frolov_evgeny
Гость
« : 24.08.2010, 08:23:34 »

День добрый!
Подскажите, пожалуйста, начинающему программисту как рассчитать 16-битный адрес в запросе архива ТСРВ-010М. В документации для часового архива написано:

Adr = StartAdr + ((AbsDay ·24 + H) mod ArchiveSize) · RecordSize
AbsDay = (Y - 1) ·365 + ((Y - 1) div 4) + DayInYear
DayInYear = Days[M-1] + D + (M>2)LeapYear
LeapYear = (Y mod 4 == 0)(Y mod 100 != 0) + (Y mod 400 == 0)
Days[] = {0,31,59,90,120,151,181,212,243,273,304,334}

где
ArchiveSize – размер архива (часового - 1428 записи)
RecordSize – размер записи (часовой - 42 байта)
StartAdr – адрес начала массива записей (часового - 2048 (0х0800))
H (0-23), D (1-31) ,M (1-12), Y (0-99) – час, день, месяц, год записи;
mod - возвращает остаток от деления;
div –возвращает результат деления нацело.

Для примера берем сегодняшнюю дату - 24.08.2010 11 часов утра, программа "Монитор Взлет ЭМУ" выдает запрос часового архива в виде:

00 00 30 08 83 DE 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00 9B

То есть адрес в запросе = 0х83DE.

Если можно - напишите по шагам с подстановкой конкретных чисел в каждой строке алгоритма расчета, что/куда, чтобы в конце получилось  0х83DE.

Спасибо!
Записан
frolov_evgeny
Гость
« Ответ #1 : 24.08.2010, 10:03:50 »

Разобрался. Отбой Smiley
Записан
Страниц: [1] Печать 
« предыдущая тема следующая тема »
Перейти в:  


Войти

© 1990—2016, АО «Взлет».
Все права защищены.
Контактная информация
Powered by SMF 1.1.13 | SMF © 2006-2011, Simple Machines LLC
Материалы, размещенные на сайте, охраняются законодательством об авторском праве. Перепечатка материалов допускается только со ссылкой на сайт.