PDA

Просмотр полной версии : Опрос нескольких регистров ПЧ одним запросом



ppwkh
02.06.2021, 16:48
Здравствуйте.
С частотника опрашиваем с десяток параметров: слово состояния, фазный ток, аналоговый вход и т.п. отдельными пакетами. Хочу оптимизировать запросы, т.е. одним запросом считать группу параметров. Но т.к. адреса у них как правило не смежные, то одним пакетом это не сделать.
Слышал, что для этого нужно задействовать параметр 8-43 "Конфигурирование чтения PCD порта".
Объясните, как это сделать?

keysansa
02.06.2021, 18:25
Модбас все равно умеет либо пакет подряд стоящих регистров опрашивать, либо по одному регистру.

ppwkh
02.06.2021, 20:43
Вопрос был - как сделать групповой опрос через параметр 8-43 ?

keysansa
26.06.2021, 22:53
Групповой опрос Модбас и параметр 8-43 слабо связаны, читайте Модбас.

ppwkh
28.06.2021, 10:40
Ну почему же. В моём случае, используя индексацию параметра 8-43 я вбиваю № опрашиваемого параметра. А считываю эту группу параметров через параметр 291.Х.
Уже разобрались.

Итак, кому-то это пригодится.
Если стоит цель оптимизировать опросы с частотника, нужно сделать групповые опросы, т.е. одним запросом получить значения группы регистров (до 37 шт.)
Как это делается (привожу пример для удалённого программирования):
1. Через функцию 5 по адресу 65 (dec.) посылаете "1". Это позволит передаваемые данные сохранить в постоянной памяти ПЧ. Иначе, при обесточивании это не сохранится.
2. В регистр 9 посылаете № индекса массива.
2. В регистр 8-43 посылаете выбранный № параметра из таблицы (2,3,4...36). Для некоторых частотников (напр. DANFOSS AQUA Drive) посылается фактический № параметра (1502,1613,1664 и т.д.).
Если используете 32-бит. параметры (1501 и 1502), нужно по двум смежным индексам занести один и то-же № параметра.
После этого групповое чтение производить по адресам 2910,2911,2912 и т.д. Если используете 32-битные параметры, то читаете младшее и старшее слово в отдельности.
Для удобства, адресацию использую 10-ричную, начиная с "1".
Таблицу параметра 8-43 взял из "Руководства по программированию Danfoss VLT MicroDrive".

keysansa
06.07.2021, 12:02
"1. Через функцию 5 по адресу 65 (dec.) посылаете "1". Это позволит передаваемые данные сохранить в постоянной памяти ПЧ. Иначе, при обесточивании это не сохранится."
1. А зачем системе знать о частотнике что-то, что было до его (или системы управления) обесточивания? Минус вашего решения - постоянная память имеет ограниченное число перезаписи. Вызывая запись параметров в постоянную память, вы ОЧЕНЬ СИЛЬНО сокращаете время жизни памяти.
2. Общая длинна ваших команд на обслуживание пакетного чтения, по моему нивелирует чтение порегистрово, тем более, что параметры (к которым не относятся указанные вами "слово состояния, фазный ток, аналоговый вход") читать и записывать возникает не так часто. По моей практике - при смене или подстройке техпроцесса.

ppwkh
15.07.2021, 08:44
1. Частотники расположены на скважинах. Периодически на них происходит отключения питания (РЭС отключает). PCD и служит для того, чтобы обращаться к группе регистров, список которых создаёт пользователь. Перечень разово был прописан и больше не планируется его менять.
2. С частотников я опрашиваю 11 параметров. Мне сказали "сверху" проводить опрос этих параметров :). Групповой опрос здорово экономит и время опроса, и трафик, учитывая, что опрашиваемых частотников у нас более десятка. К тому же GSM-связь в нашем регионе сильно страдает, при опросе регистров поштучно периодически возникает эффект, когда значение какого-то регистра при опросе соответствует значению смежного (кстати, это касается не только частотников). После перехода на групповой опрос такая проблема исчезла.