НПО Тепловизор. Теплосчетчики и расходомеры К вершинам эволюции теплосчетчика
Продукция Поддержка Форум Контакты
     
Пользователь    Пароль  
Регистрация | Пароль?  
Главное меню
НовостиПродукцияФайлы/ДокументыСтатьиФорумОпросыФотогалереяО компанииРекламодателям
Потребители о нас
"ГУП ДЕЗ района «Текстильщики» рекомендует привлечь ЗАО «Сервисная Компания «Тепловизор» для выполнения работ по сервисному обслуживанию узлов учета тепловой энергии на других объектах г. Москвы."

Н.Н. Елисеева, Главный инженер ГУП ДЕЗ «Текстильщики»
Наши партнёры
Свернуть/Развернуть ТЕПЛОСЧЕТЧИКИ • ВОДОСЧЕТЧИКИ • РАСХОДОМЕРЫ • ВИС.Т Свернуть/Развернуть
/  Архив форума
   /  Оборудование производства НПО "Тепловизор"
/  ВИС.Т MODBUS - Чтение архивов без "файловых" функций

Форум : Оборудование производства НПО "Тепловизор"

Название : ВИС.Т MODBUS - Чтение архивов без "файловых" функций

© NegaSoft co., 2005
http://www.teplovizor.ru

URL этой темы
http://www.teplovizor.ru/forum/viewtopic.php?topic_id=733&forum=1


 Jenius :

13.12.21 15:31
 Вопрос по Архивам ВИС.Т (не файловой функцией).
Не могу полностью разобраться как с ними работать.
1) Я прочитал Спецификацию архивных файлов:
01_03_0A_10_00_00_4F_C1_B1_08_93_1B_00 - Спец. прибора 1.
01_03_0A_1B_00_00_00_00_00_00_00_00_00 - Спец. прибора 2(+ смещение 1 байт)
01_03_0A_00_00_00_00_00_00_00_00_00_00 - Спец. прибора 3.
2) Понял что сконфигурирован только Прибор 1 и могу считать информацию с 1000h регистра.
00_4F_C1_B1 = 0100 1111 1100 0001 1011 0001 - настроено Время наработки, Масса 1, Масса 2, Средняя Темп. 1, Средняя Темп. 2, Тепловая Энергия,
Критические ошибки, Время расхода мин и мах, Время Т мин, Время пропадания питания и время простоя. Предельное число записей 2195. Длина архивной записи 27.
3) Готов отправить команду на чтение структуры заголовка по документации стр. 15:
01_04_10_00_00_30
4) Готов получить и запомнить значения(смещения) в ответе: 6, 10, 12, 16 + разобрать ответ по стр. 15.

Далее возник вопрос:
1)Как дальше работать с записями архива если мне нужны значения за прошлый час?
2)Записи с данными лежат сразу после 1000h регистра + заголовка и можно опросить командой: 01_04_10_30_00_1B(первая запись) 01_04_10_4B_00_1B(вторая запись)
3)Время для записи будет: Дата и Время обновления архива(из заголовка файла) - Номер записи(т.е. 1 час)
т.е. время для второй записи будет: Дата и Время обновления архива - 2 часа?


[ Редактировано Jenius в 13.12.21 16:49 ]

[ Редактировано Jenius в 13.12.21 17:26 ]

 CH :

14.12.21 11:35
 Считать запись с данными за предыдущий час работы прибора (новейшая запись) вы можете с указанного в заголовке архива индекса ("Индекс будущей записи в архиве" - 1), а не с нулевого индекса (сразу за заголовком архива). Её время будет совпадать с временем заголовка архива, она создаётся одновременно с обновлением заголовка. Запись, сделанная ещё за час до того по индексу ("Индекс будущей записи в архиве" - 2), её время на 1 час меньше времени заголовка архива. И т. д.
Если ("Индекс будущей записи в архиве" - x) получается меньше нуля, прибавляете "Предельное число записей в архиве". Ну и учитываете, что архив может оказаться ещё не заполненным, больше чем "Текущее число записей в архиве" не прочитать.

 Jenius :

15.12.21 13:58
 Спасибо за ответ.
Можно вас попросить проверить адресацию запросов записей и длину команд?(обмен ниже)
Цель считать последние данные за 5 часов из архивов.
Должно быть все правильно. В запросах учел: Длина записи в байтах, а работаем в запросах с регистрами. Архив может обновиться.
Ниже пример работы с Архивом прибора 1. Для приборов 2 и прибора 3 адресацию заголовка я рассчитываю по формуле:
A:=(X + $1000) / 2; где X это значение @Байтового адреса заголовка архивного файла в адресном пространстве прибора".

Спецификация архивов по приборам|01_03_1C_10_00_00_4F_C1_B1_08_93_1B_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00
>Чтение заголовка архива|Адрес:4096|Длина записи архива:27(байты)|01_04_10_00_00_30
<Чтение заголовка|0|4096|0|01_04_60_01_32_01_00_00_00_00_4F_C1_B1_08_93_00_E2_08_93_0D_00_00_0F_0C_15_0A_C8_78_10_0A_76_67_E7_00_00_00_00_0A_79_60_F6_0A_65_26_CE_00_00_00_00_00_53_49_71_00_00_00_00_12_12_7E_FB_03_03_02_05_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00
>Проверка заголовка|Параметры:0|5226929|2195|226|2195|44545.5416666667|3|3|2|5|01_04_10_00_00_30
2195(текущее число записей в архиве)|226(Индекс будущей записи)|2195(Предельное число записей)
44545.5416666667(15.12.2021 13:00:00 Дата и время обновления архива)
<Проверка заголовка|1|1|0|01_04_60_01_32_01_00_00_00_00_4F_C1_B1_08_93_00_E2_08_93_0D_00_00_0F_0C_15_0A_C8_78_10_0A_76_67_E7_00_00_00_00_0A_79_60_F6_0A_65_26_CE_00_00_00_00_00_53_49_71_00_00_00_00_12_12_7E_FB_03_03_02_05_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00
>Чтение записи за -0ч|Номер записи:225|01_04_1C_0D_00_0E
<Чтение записи за -0ч|3|1|0|01_04_1C_00_E8_64_00_00_0B_E4_00_00_0B_D7_03_74_02_35_00_00_25_E0_00_00_00_00_00_00_00_00_00
>Проверка заголовка до чтения за -1ч|01_04_10_00_00_30
<Проверка заголовка -1ч|1|2|0|01_04_60_01_32_01_00_00_00_00_4F_C1_B1_08_93_00_E2_08_93_0D_00_00_0F_0C_15_0A_C8_78_10_0A_76_67_E7_00_00_00_00_0A_79_60_F6_0A_65_26_CE_00_00_00_00_00_53_49_71_00_00_00_00_12_12_7E_FB_03_03_02_05_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00
>Чтение записи за -1ч|Номер записи:224|01_04_1C_00_00_0E
<Чтение записи за -1ч|3|2|0|01_04_1C_01_64_00_00_0B_C6_00_00_0B_BA_03_76_02_28_00_00_27_3D_00_00_00_00_00_00_00_00_00_E8
>Проверка заголовка до чтения за -2ч|01_04_10_00_00_30
<Проверка заголовка -2ч|1|3|0|01_04_60_01_32_01_00_00_00_00_4F_C1_B1_08_93_00_E2_08_93_0D_00_00_0F_0C_15_0A_C8_78_10_0A_76_67_E7_00_00_00_00_0A_79_60_F6_0A_65_26_CE_00_00_00_00_00_53_49_71_00_00_00_00_12_12_7E_FB_03_03_02_05_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00
>Чтение записи за -2ч|Номер записи:223|01_04_1B_F2_00_0E
<Чтение записи за -2ч|3|3|0|01_04_1C_00_09_64_00_00_0B_AE_00_00_0B_A2_03_75_02_1A_00_00_28_83_00_00_00_00_00_00_00_00_00
>Проверка заголовка до чтения за -3ч|01_04_10_00_00_30
<Проверка заголовка -3ч|1|4|0|01_04_60_01_32_01_00_00_00_00_4F_C1_B1_08_93_00_E2_08_93_0D_00_00_0F_0C_15_0A_C8_78_10_0A_76_67_E7_00_00_00_00_0A_79_60_F6_0A_65_26_CE_00_00_00_00_00_53_49_71_00_00_00_00_12_12_7E_FB_03_03_02_05_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00
>Чтение записи за -3ч|Номер записи:222|01_04_1B_E5_00_0E
<Чтение записи за -3ч|3|4|0|01_04_1C_E6_64_00_00_0B_AD_00_00_0B_A1_03_7D_02_3E_00_00_25_39_00_00_00_00_00_00_00_00_00_09
>Проверка заголовка до чтения за -4ч|01_04_10_00_00_30
<Проверка заголовка -4ч|1|5|0|01_04_60_01_32_01_00_00_00_00_4F_C1_B1_08_93_00_E2_08_93_0D_00_00_0F_0C_15_0A_C8_78_10_0A_76_67_E7_00_00_00_00_0A_79_60_F6_0A_65_26_CE_00_00_00_00_00_53_49_71_00_00_00_00_12_12_7E_FB_03_03_02_05_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00
>Чтение записи за -4ч|Номер записи:221|01_04_1B_D7_00_0E
<Чтение записи за -4ч|3|5|0|01_04_1C_00_70_64_00_00_0B_9F_00_00_0B_94_03_80_01_04_00_00_49_F2_00_00_00_00_00_00_00_00_00

">" - что отправляю
"<" - что получаю на запрос

 CH :

17.12.21 11:41
 Насчёт вашей просьбы о проверке - я не могу её выполнить.