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

+  Форум АО "ВЗЛЕТ"
|-+  Вопросы измерений и учета
| |-+  Технические вопросы
| | |-+  Архивы ТСРВ-024
0 Пользователей и 1 Гость смотрят эту тему. « предыдущая тема следующая тема »
Страниц: [1] Печать
Автор Тема: Архивы ТСРВ-024  (Прочитано 13029 раз)
iSv
Гость
« : 24.12.2010, 06:17:17 »

Добрый день. Столкнулся со следующей проблемой:
ваша программа "Отчёт ТСРВ 02х" не может прочитать суточный архив с прибора.
Прибор определяется, но получить с него хоть одну запись не удаётся.
>Запрашивается структура архивной таблицы...
>Запрашивается строка архивной таблицы за xx.xx.xx xx:xx:xx
после этого выскакивает сообщение "Закончился таймаут ожидания"
При всём этом мгновенные показания снимаются по modbus без каких либо проблем.
Записан
andr62
Administrator
*****

Харизма: 12
Офлайн Офлайн

Сообщений: 287



« Ответ #1 : 24.12.2010, 09:10:06 »

Надо с клавиатуры тепловычислителя проверить наличие в архиве соответствующих записей. Если реально записей за запрашиваемые сутки нет, то и программа их не считает.
Записан
vsp
Наш человек
***

Харизма: 15
Офлайн Офлайн

Сообщений: 430


« Ответ #2 : 24.12.2010, 11:22:22 »

Такое может быть, если Вы используете конвертор USB/COM. Не все они в этом смысле полноценны.
Записан
iSv
Гость
« Ответ #3 : 06.01.2011, 08:44:10 »

Как оказалось проблема была в "зашитом" в код программы "Отчёт" таймауте.
Используя универсальный просмотрщик и монитор тсрв-024, а такзе меняя значения таймаутов на приборе и в программе все архивы снимались без ошибок.
А "Отчёт..." так и не работает. Используйте УП! Wink
Записан
iSv
Гость
« Ответ #4 : 06.01.2011, 10:30:45 »

Теперь, когда проблемы со связью устранены, можно перейти к главному вопросу:
Необходимо по modbus считывать с прибора суточный архив за прошедший день по ТС1 и ТС2.
После изучения документации по тсрв-024 пришёл к выводу, что нужно использовать пользовательскую функцию 65, а запросы в моём случае (прибор с адресом 1, на 6.01.11) должны выглядеть так: 01 41 00 01 00 01 01 00 00 00 06 01 0B и 01 41 00 04 00 01 01 00 00 00 06 01 0B.
Но к какому регистру обращаться с таким запросом?
Потом нашёл тему http://www.vzljot.ru/forum/index.php?topic=4610.0 и modbus регистры "Адрес в архиве, у.е. Тип Суточный ТС1 (1) - 4014" и "Адрес в архиве, у.е. Тип Суточный ТС2 (4) - 4017" обрели смысл. Т.е. по логике вещей так и должно быть: зная дату архивной записи (или индекс в архиве) можно расчитать адрес регистра, начиная с которого хранится эта запись в памяти вычислителя.
К сожалению в документации по ТСРВ-024 ничего подобного я не нашёл Undecided
Помогите разобраться, как по modbus получать архтвные записи.
Записан
vsp
Наш человек
***

Харизма: 15
Офлайн Офлайн

Сообщений: 430


« Ответ #5 : 11.01.2011, 11:54:14 »

Что-то там с пользовательской функцией у Вас сумбур.

Полагаю, эти рабочие записи  помогут:
-------------------------------------------------------------------------
Запросы архива для прибора с адресом 1.

01 41  00  ArcNum  00 01 01  Sec Min Hour Day Month Year   CS1 CS2

Year – год минус 2000. Для 2007 года - 07

ArcNum – номер архива по таблице:
0 – Часовой архив, 1 часть
3 – Часовой архив, 2 часть
6 – Часовой архив, 3 часть
9 – Часовой архив, суммарный

1 – Суточный архив, 1 часть
4 – Суточный архив, 2 часть
7 – Суточный архив, 3 часть
10 – Суточный архив, 3 часть


Ответ такой :        адрес,функция, длина, запись, КС(2байта)


Размер записи одной части любого архива по ТС – 172 байт (полный запрос 177)
Размер записи  любого суммарного архива – 18 байт (полный запрос 23)
Записан
iSv
Гость
« Ответ #6 : 13.01.2011, 08:53:10 »

Перечитал мануал "структура архивов тсрв-024", но ничего не нашёл о дроблении архива на части (массивы с индексами 1, 4, 7). Т.е. получается, на запрос массива с индексом 1 функцией 65 придёт в ответ только часть 172-байтной архивной записи?
Записан
vsp
Наш человек
***

Харизма: 15
Офлайн Офлайн

Сообщений: 430


« Ответ #7 : 13.01.2011, 13:12:12 »

1 часть - это архив по первой теплосистеме.
Записан
iSv
Гость
« Ответ #8 : 15.01.2011, 11:07:48 »

Цитировать
1 часть - это архив по первой теплосистеме.
Спасибо за пояснение.
Я так и предположил в самом начале, но писать запросы, основываясь только на предположениях нельзя.
Ещё требует пояснения контрольная сумма, указываемая в запросе

- пример запроса из приложения А к описанию протокола modbus

vsp, вы пишете:
Цитировать
01 41  00  ArcNum  00 01 01  Sec Min Hour Day Month Year   CS1 CS2
т.е. контрольная сумма - 2 байта?
По документации modbus вообще не ясно сколько байт занимает контрольная сумма.
Расчёт контрольной суммы должен выполнять я? И вообще следует ли туда что-либо записывать?
Из описания структуры архивов ТСРВ-024:
Цитировать
Примечание: У всех архивов, запись которых защищена контрольной суммой, при
запросе записи по интерфейсу сначала проверяется контрольная сумма записи и если она
повреждена, то возвращается обратно запрос с взведенным флагом ошибки (см. описание
протокола ModBus). При успешном чтении, контрольная сумма передается в записи
Записан
vsp
Наш человек
***

Харизма: 15
Офлайн Офлайн

Сообщений: 430


« Ответ #9 : 17.01.2011, 16:52:18 »

1. Контрольная сумма состоит из 2 байт.
2. Контрольную сумму запроса должны формировать Вы.
3. Контрольную сумму ОТВЕТА Вы должны проверить на предмет выявления ошибок передачи.
4. Контрольную сумму архивной записи (ответ состоит из архивной записи, обрамленной протокольными добавками ModBus) рекомендую Вам игнорировать, с ней пусть разбирается сам прибор.
Записан
Страниц: [1] Печать 
« предыдущая тема следующая тема »
Перейти в:  


Войти

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