This is topic Архивы взлёта in forum Редактор проекта TRACE MODE 6 / at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/32/t/000418.html

Posted by i.Sineev (Участник № / Member № 4448) on :
 
Здравствуйте.
Необходимо считывать архивные данные с прибора взлёт тсрв-024 по modbus. Одна архивная запись (кол-ва теплоты по трубопроводам, объёмы, массы...) занимает 172 байта. возможно ли получить такую запись с помощью источника MODBUS.R_FIFO_QUEUE с привязкой к Call.ChGroupReq?
Если можно, то просьба объяснить поподробнее, если нет - то предложить другой способ.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Теоретически возможно. Надо точно знать формат запроса и ответа.
Однако, насколько нам известно из практики пользователей, формат записей и в особенности формат соответствующих этим записям меток времени настолько специфичны, что дальнейшее их использование в проекте потребует очень громоздких преобразований.
Практика показала, что полученный результат не оправдывает затрат.
 
Posted by i.Sineev (Участник № / Member № 4448) on :
 
Касательно специфики формата записей:
Такие трудности имеют место только у приборов "Взлёта", или вообще при работе с архивами?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Организация и считывание архивов определяется устройством прибора и его протоколом обмена.
У значительного большинства современных приборов, например, счетчиков электроэнергии, подобные проблемы отсутствуют или могут быть преодолены, как, например, у контроллеров фирмы Emerson.
 
Posted by i.Sineev (Участник № / Member № 4448) on :
 
Известны как формат запроса, так и формат ответа, также известно представление данных в ответе.
Но: TM при использовании канала CALL.ChGroupReq с параметром 4 и привязкой к MODBUS.R_FIFO_QUEUE позволяет посылать запросы устройству максимальной длины 12 байт (1й-адрес, 2й- № ф-ции, 3-10-параметры, 11,12-КС).Нужно же отправить запрос длиной 14 байт (на 2 байта больше параметров).
Вопрос №1: Каким способом это можно сделать?
Идём далее: в ТМ параметры задаются с помощью 2х байтовых аргументов, но в запросе есть несколько однобайтных параметров, и вместо 01 и 01 приходится использовать значение 257
Вопрос №2: Можно ли обойти это?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Реализация Вашей пользовательской функции с помощью канала ChGroupReq, привязанного к к Modbus-переменной R_FIFO_Queue невозможна.

Можно реализовать эту функцию с помощью описанного в документации релиза 6.07 механизма "Обмен по произвольному протоколу по RS".

Однако при этом надо будет дополнительно пользовательской программой вычислять контрольную сумму (CRC) и вносить ее в соответствующие аргументы канала ChGroupReq, реализующего команду.

Проверку корректности ответа также надо будет осуществлять пользовательской программой.

Кроме того, надо учитывать, что все аргументы канала будут передаваться в формате Intel - младшим байтом вперед.
 
Posted by i.Sineev (Участник № / Member № 4448) on :
 
Практически удалось реализовать необходимый запрос.
quote:

Однако при этом надо будет дополнительно пользовательской программой вычислять контрольную сумму (CRC) и вносить ее в соответствующие аргументы канала ChGroupReq, реализующего команду.

В справке сказано:
quote:

... эти аргументы не должны иметь привязки.

А привязывать к ним другие (выходные аргументы программ) можно?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Можно.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2