Разработать генерации запроса для СПТ943 на python
400 руб. за проект
Необходимо создать python скрипт генерации запроса для часового архива прибора СПТ943
Документацию приложил
К коду необходимо прокомментировать строки кода как происходят все расчеты
Пример запроса:
10 01 00 01 10 1F 28 0B 10 02 10 10 00 48 7D 01 14 0C 19 16 10 03 BE 24
Это примерно роспись бит в документации подробнее описано:
0x10 — управляющий код начала кадра.
0x01 — сетевой номер тепловычислителя (NT).
0x00 0x01 0x10 0x1F 0x28 — блок данных, назначение которого зависит от контекста команды.
0x0A - номер страницы (В тепловычислителе СПТ943 архивные данные хранятся в виде страниц, каждая из которых содержит определённый объём информации. Для последовательного чтения архивных данных необходимо указывать номер страницы в запросе. Номер страницы определяется в зависимости от того, какие данные вы хотите получить и за какой период.)
0x10 0x02 — управляющие коды DLE STX, обозначающие начало блока прикладных данных.
0x10 0x10 0x00 — часть блока прикладных данных, где 0x10 0x10 представляет экранированный байт 0x10.
0x48 — код запроса на чтение часового архива.
0x7D 0x01 0x14 0x0B — дата и время запроса:
0x7D — год (2025).
0x01 — месяц (январь).
0x14 — день (20).
0x0B — час (11).
0x1A — контрольная сумма (КС).
0x16 — управляющий код конца кадра.
0x10 0x03 — управляющие коды DLE ETX, обозначающие конец блока прикладных данных.
0xBD 0x24 — контрольная сумма и завершающий байт.
- КЗ – код запроса.
КС - Контрольная сумма вычисляется арифметическим суммированием байтов NT и КЗ заголовка и
байтов блока данных с последующим побитовым инвертированием. В качестве значения КС используется младший байт полученной суммы.
Документацию приложил
К коду необходимо прокомментировать строки кода как происходят все расчеты
Пример запроса:
10 01 00 01 10 1F 28 0B 10 02 10 10 00 48 7D 01 14 0C 19 16 10 03 BE 24
Это примерно роспись бит в документации подробнее описано:
0x10 — управляющий код начала кадра.
0x01 — сетевой номер тепловычислителя (NT).
0x00 0x01 0x10 0x1F 0x28 — блок данных, назначение которого зависит от контекста команды.
0x0A - номер страницы (В тепловычислителе СПТ943 архивные данные хранятся в виде страниц, каждая из которых содержит определённый объём информации. Для последовательного чтения архивных данных необходимо указывать номер страницы в запросе. Номер страницы определяется в зависимости от того, какие данные вы хотите получить и за какой период.)
0x10 0x02 — управляющие коды DLE STX, обозначающие начало блока прикладных данных.
0x10 0x10 0x00 — часть блока прикладных данных, где 0x10 0x10 представляет экранированный байт 0x10.
0x48 — код запроса на чтение часового архива.
0x7D 0x01 0x14 0x0B — дата и время запроса:
0x7D — год (2025).
0x01 — месяц (январь).
0x14 — день (20).
0x0B — час (11).
0x1A — контрольная сумма (КС).
0x16 — управляющий код конца кадра.
0x10 0x03 — управляющие коды DLE ETX, обозначающие конец блока прикладных данных.
0xBD 0x24 — контрольная сумма и завершающий байт.
- КЗ – код запроса.
КС - Контрольная сумма вычисляется арифметическим суммированием байтов NT и КЗ заголовка и
байтов блока данных с последующим побитовым инвертированием. В качестве значения КС используется младший байт полученной суммы.
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.