Термотроник АДИ-0-0 [23/24] Приложение 6 оптимизация алгоритма считывания архивов
![Термотроник АДИ-0-0 [23/24] Приложение 6 оптимизация алгоритма считывания архивов](/views2/1542596/page23/bg17.png)
АДИ Описание протокола обмена с.23
Приложение 6. Оптимизация алгоритма считывания архивов
Доступ к архивам прибора реализован через считывание файлов по записям без
возможности указания желаемой даты архивной записи. Это предполагает считывание
всего файла архива целиком в каждом сеансе связи. При регулярном считывании
архива это приводит к дополнительным временным затратам на получение архивных
записей, которые были прочитаны во время предыдущих сеансов связи. Для экономии
времени считывания алгоритм может быть оптимизирован на стороне программного
обеспечения верхнего уровня, если оно имеет возможность сохранять прочитанные
данные в каком-нибудь хранилище, например, базе данных.
Алгоритм основан на том, что база данных (БД) хранит как содержимое архивных
записей, так и служебную информацию о записях (номер файла и индекс записи, из
которых запись была прочитана).
Если для данного файла в БД нет информации, то производится считывание всех
имеющихся в приборе записей (количество записей может быть определено из
дескриптора файла).
Если БД содержит информацию о предыдущем считывании, то необходимо
произвести считывание из прибора, указав номер файла и индекс записи такие же, как
в последней записи БД (т.о. выполняется контрольное считывание последней
известной записи).
Несовпадение инкрементного номера записи (тип unsigned __int64) или контрольной
суммы прочитанной из прибора записи с аналогичными полями записи из БД говорит о
том, что архивная запись была переписана с момента последнего считывания (архив
«закольцевался»). В этом случае следует произвести считывание данных так, как
будто БД не содержала информации об архиве.
В противном случае считывание данных выполняется, начиная со следующей
записи. Считывание продолжается до возникновения одного из событий:
Прочитаны все записи файла;
Прочитана запись, имеющая значение инкрементного номер меньше
максимального известного значения инкрементного номера записи
(хранящегося в БД или прочитанного во время текущего сеанса связи).
Данная ситуация говорит о том, что прочитана запись, которая уже должна
находиться в БД.
Содержание
- Описание протокола обмена 1
- Преобразователя измерительного ади 1
- Редакция 1 2 1
- С системой верхнего уровня 1
- Введение 4 2
- Карта переменных 16 2
- Организация доступа к данным 10 2
- Приложение 1 функция расчета контрольной суммы lrc 18 приложение 2 функции преобразования в ascii и обратно 19 приложение 3 коды ошибок возвращаемые прибором 20 приложение 4 функция расчета контрольной суммы crc32 21 приложение 5 функции преобразования в bcd и обратно 22 приложение 6 оптимизация алгоритма считывания архивов 23 приложение 7 функция расчета контрольной суммы cyclical redundancy checking crc16 24 2
- Реализованные функции протокола 7 2
- Содержание 2
- Введение 4
- Реализованные функции протокола 7
- O тип всегда равен 6 o номер файла o номер записи внутри файла o длина записи определяет количество запрашиваемых регистров 8
- Pdu запроса 8
- Pdu ответ при возникновении ошибки 8
- Pdu ответа в случае выполнения без ошибок 8
- Ади описание протокола обмена с 8
- Байт 8
- Байты рег ов 2 3 n 8
- В случае успешного выполнения pdu ответа содержит копию первых пяти байт pdu 8
- Группы 8
- Для информирования ведущего о том что операция не выполнена или выполнена с 8
- Записей с номерами от 0000 до 9999 функция может читать несколько различных групп регистров группы могут быть непоследовательными но регистры внутри группы должны быть последовательными 8
- Запроса 8
- Кол во байт для записи 8
- Кол во рег ов 8
- Кол во регистров младший байт 8
- Кол во регистров старший байт 8
- Младши й байт 8
- Нач ый адрес 8
- Нач ый адрес младший байт 8
- Нач ый адрес старший байт 8
- Описание групп запрашиваемых регистров каждое из которых имеет поля 8
- Ошибкой прибор устанавливает старший бит поля функция в ответе байт следующий за полем функция будет содержать код ошибки значения кодов ошибок приведены в приложении 3 8
- Поле data pdu запроса содержит 8
- Поле data pdu запроса содержит поля начальный адрес указывающий с какого 8
- Поле длина запроса 7 n где n количество групп запрашиваемых 8
- Регистр младши й байт 8
- Регистр старший 8
- Регистра начинать запись количество регистров указывающее сколько регистров следует записать количество байт для записи и непосредственно значения записываемых регистров 8
- Регистров 8
- Регистров прибора 8
- Старший 8
- Функция 8
- Функция 0x90 установлен старший бит код ошибки 8
- Функция modbus 16 0x10 hex write multiple registers 8
- Функция modbus 20 0x14 hex read file record 8
- Функция предназначена для записи двоичного содержимого шестнадцатиразрядных 8
- Функция предназначена для чтения регистров файла файл организован как набор 8
- O длина группы байт o тип всегда равен 6 o регистры данных 9
- Pdu ответ при возникновении ошибки 9
- Pdu ответа в случае выполнения без ошибок 9
- Ади описание протокола обмена с 9
- Для информирования ведущего о том что операция не выполнена или выполнена с 9
- Ошибкой прибор устанавливает старший бит поля функция в ответе байт следующий за полем функция будет содержать код ошибки значения кодов ошибок приведены в приложении 3 9
- Поле data pdu запроса содержит 9
- Поле длина ответа группа х длина 2 группа х 1 длина 2 группы регистров каждая из которых имеет 9
- Функция 0x94 установлен старший бит код ошибки 9
- Организация доступа к данным 10
- 0 калибровки разрешены 1 доступ к изменению параметров настройки разрешен 2 сбой ацп 3 сбой flash 4 p1 min 5 p1 max 6 p2 min 7 p2 max 8 нет связи по lin 9 было изменение настроек 10 отключение питания 11 авторизация по ключу 12 факт выполнения калибровок 13
- Ади описание протокола обмена с 3 13
- Архив событий может содержать более одного файла поэтому следует прочитать 13
- Архивная запись содержит следующие поля 13
- Байт тип примечание 13
- Все записи всех файлов архива событий затем записи у которых сходится контрольная сумма отсортировать по возрастанию поля номер события см ниже и затем интерпретировать 13
- Интерпретация архива событий 13
- Кодирует следующие ошибки и состояния 13
- Название смещение размер 13
- Параметры имеющие в названии lin получают значения путем чтения из 13
- Поле ошибки и состояния является битовым полем в котором каждый из битов 13
- Расходомера питерфлоу рс подключенного к прибору по интерфейсу lin 13
- Ади описание протокола обмена с 6 16
- Карта переменных 16
- Название адрес размер байт тип доступ примечание 16
- Ади описание протокола обмена с 7 17
- Группа параметров сервисная команда при выполнении команды запись разрешено изменение только всех трех 17
- Значение название доступ примечание 17
- Название адрес размер байт тип доступ примечание 17
- Параметр команда может принимать следующие значения 17
- Параметров команда дата время и эталон одним запросом параметр дата время представлен массивом из 6 ти байт в формате bcd секунда минута час день месяц год 17
- Где psrc указатель на буфер содержащий сообщение length количество байт данных для которых требуется произвести подсчет lrc 18
- Приложение 1 функция расчета контрольной суммы lrc 18
- Пример функции расчета контрольной суммы кадра на языке си 18
- Приложение 2 функции преобразования в ascii и обратно 19
- Приложение 3 коды ошибок возвращаемые прибором 20
- Приложение 4 функция расчета контрольной суммы crc32 21
- Приложение 5 функции преобразования в bcd и обратно 22
- Приложение 6 оптимизация алгоритма считывания архивов 23
- Unsigned char тогда для этого сообщения контрольную сумму следует формировать следующим образом 24
- Ади описание протокола обмена с 4 24
- Алгоритму текст на языке программирования си 24
- Приложение 7 функция расчета контрольной суммы cyclical redundancy checking crc16 24
- Пусть какое либо сообщение имеющего длину n записано в массиве datan 2 типа 24
- Расчет контрольной суммы кадра rtu может выполняться по следующему 24
Похожие устройства
- Термотроник АДИ-0-0 Описание типа
- Термотроник АДИ-0-0 Режимы дискретного выхода
- Термотроник АДИ-0-0 Руководство по эксплуатации
- Термотроник АДИ-0-1 Конфигуратор. Руководство пользователя
- Термотроник АДИ-0-1 Методика поверки
- Термотроник АДИ-0-1 Описание протокола обмена
- Термотроник АДИ-0-1 Описание типа
- Термотроник АДИ-0-1 Режимы дискретного выхода
- Термотроник АДИ-0-1 Руководство по эксплуатации
- Термотроник АДИ-1-0 Конфигуратор. Руководство пользователя
- Термотроник АДИ-1-0 Методика поверки
- Термотроник АДИ-1-0 Описание протокола обмена
- Термотроник АДИ-1-0 Описание типа
- Термотроник АДИ-1-0 Режимы дискретного выхода
- Термотроник АДИ-1-0 Руководство по эксплуатации
- Casio EF-S12D-4A Инструкция по эксплуатации
- Casio AW-S90D-2A Инструкция по эксплуатации
- Casio LCF-30-1B Инструкция по эксплуатации
- Casio EF-S12D-7A Инструкция по эксплуатации
- Термотроник АДИ-1-1 Конфигуратор. Руководство пользователя
Скачать
Случайные обсуждения