Просмотр полной версии : Чтение среза часового архива
Здравствуйте.
Пишу чтение среза часового архива для ТЭКОН-17, столкнулся с проблемой: прибор не отвечает на запрос (все другие запросы отрабатывает нормально).
Параметры подключения: FT1.2, CRC в данных, сетевой адрес 1.
Запрашиваю срез часового архива на 00 часов текущих суток. Запрос (в hex-е): 10 40 01 01 FF 60 00 F8 BE 57 16
Не подскажите, где ошибка?
Поскольку ни одна из наших программ верхнего уровня этой функцией не пользуется, при разработке ТЭКОН-17 функция чтения общего среза осталась непроверенной и не работает. Приборы разработаны давно, и программу в них дорабатывать вряд ли будут. При необходимости используйте эту же команду, но без "1" в первом байте номера параметра, задав предварительно список требуемых часовых архивов. Такая функция работает точно.
P.S. И охота Вам возиться с CRC? Мы рекомендуем настройку и обмен в формате "FT1.2 без CRC", надежность КС вполне достаточна, а разбирать посылки и ответы гораздо легче.
Спасибо, попробую чтение по списку.
Кстати, после отправки нескольких десятков этих запросов ТЭКОН-17 наглухо виснет - перестает отвечать по сети и не реагирует на нажатие кнопок на лицевой панели. Лечится только сбросом питания.
P.S. КС имеет низкую надежность, даже по сравнению с CRC-8. Вот несколько пакетов с одинаковой КС:
10 00 01 00 80 00 00 D8 0F 68 16
10 40 01 01 29 00 00 7B 82 68 16
10 40 01 01 83 0B 00 7E 1A 68 16
P.P.S. Спасибо за хороший форум, вы выгодно отличаетесь от форумов других производителей приборов учета.
Во всяком случае, на многих сотнях и даже тысячах приборов, работающих по всей стране, информация с которых снимается с защитой только КС, на такие "интеллигентные" искажения пакетов, как в Вашем примере, не жалуются. Обычно связь или есть, или ее просто нет, т.е. пакет искажается до неузнаваемости и не опознается как правильный. Ведь КС лишь одна из защит, защитой является и сама достаточно определенная внутренняя структура пакета.
А зависание ТЭКОН-17, видимо, и объясняется неотлаженностью программы обмена по такой команде.
Чтение среза архива по списку работает, спасибо за помощь.
Возникла еще пара вопросов по чтению срезов архивов:
1. КС в ответе со срезом архива не совпадает с рассчитанной по блоку пользовательских данных. При этом CRC-16 сходится. Пример обмена запроса 0-го архива по 7-му списку параметров (FT1.2, CRC в данных, сетевой адрес 1):
==========================================
>> 68 09 09 68 40 01 05 47 50 00 FF FB 5B 32 16
<< A2
>> 10 40 01 01 DF 00 00 96 D8 8F 16
<< 10 00 01 00 15 00 14 B9 E9 59 16
>> 10 40 01 01 DF 00 00 96 D8 8F 16
<< 10 00 01 14 B9 E9 59 E0 55 D2 16
==========================================
2. В примере выше на один и тоже запрос, ТЭКОН возвращает разные ответы. Как такое возможно?
При запросе с 0-го по 6-й архив (чтобы ответ пришел в виде кадра с переменной длиной), на одинаковые запросы приходят одинаковые ответы (КС также не сходится, CRC-16 сходится):
==========================================
>> 68 0E 0E 68 40 01 05 47 50 00 01 02 03 04 05 FF AC 15 AC 16
<< A2
>> 10 40 01 01 DF 00 00 96 D8 8F 16
<< 68 1C 1C 68 00 01 34 3A 80 00 00 00 80 00 00 00 80 00 00 00 80 00 00 00 FF FF FF FF FF FF 96 EE E4 16
>> 10 40 01 01 DF 00 00 96 D8 8F 16
<< 68 1C 1C 68 00 01 34 3A 80 00 00 00 80 00 00 00 80 00 00 00 80 00 00 00 FF FF FF FF FF FF 96 EE E4 16
==========================================
В чем причина?
Честно говоря, ответа на вопросы не знаю, а разбираться в старой программе на предмет наличия в ней ошибок не хочется. Давайте так. Вопрос номер 1 особого смысла не имеет - что за запрос группы из одного архива? Ну и читайте его прямо, без аппарата среза.
Вопрос номер 2. Видимо, где-то осталось недопроверенное взаимодействие КС и CRC, потому что обычно используется что-то одно. Хорошее у Вас CRC - ну и верьте только ему.
vBulletin® v3.6.8, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot