This is topic запись в регистры групповым запросом по Modbus TCP in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


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

Posted by sa104 (Участник № / Member № 5825) on :
 
Добрый день.
Есть ли какая-то особенность при создании групповых запросов на запись 16 функцией Modbus TCP?
Создал проект. Групповое чтение работает.
Нет записи в регистры по групповому запросу.
По сетевому снифферу видно, что не уходит ни одного пакета.
В чем может быть проблема?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Запись осуществляется только при изменении значения канала OUT, привязанного к соответствующему компоненту слоя "Источники/Приемники" (W_Word(16)).
Если это числовой канал HEX16, то будет осуществляться запись только одного регистра.
Если привязка осуществляется к каналу CALL.ChGroupReq, то количество записываемых регистров будет определяться количестовм аргументов в канале (см. описание канала CALL.ChGroupReq).
 
Posted by sa104 (Участник № / Member № 5825) on :
 
Привязка осуществляется к каналу CALL.ChGroupReq, тип OUT. К аргументам этого канала привязаны текстовые переменные (ГЭ Текст), метод ввода - ввести и передать. Как описал выше,IP пакетов на передачу нет , даже после ввода значений переменных.

В режиме передачи одиночных регистров все работает.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Наверное, "числовые переменные (ГЭ Текст)".
Вы одновременно меняете несколько аргументов канала CALL.ChGroupReq и хотите отослать их в контроллер единовременно?
Тогда надо изменить все те аргументы, которые необходимо, а после этого дополнительной командой передать "1" в атрибут 39 (EXEC) канала CALL.ChGroupReq (OUT).
 
Posted by sa104 (Участник № / Member № 5825) on :
 
Про 39 атрибут я даже не догадывался,
думал что по изменению любой числовой переменной в ГЭ Текст , МРВ сам передачу инициирует.
Спасибо!
 
Posted by sa104 (Участник № / Member № 5825) on :
 
До кучи уж спрошу.
А как сделать, чтобы после ввода значения в ГЭ Текст, 39 атрибут в 1 сам устанавливался. Пробовал кнопкой - получается. Но хотелось бы, чтобы без дополнительных действий оператора работало.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
"думал что по изменению любой числовой переменной в ГЭ Текст , МРВ сам передачу инициирует."
Для числовых каналов именно так и есть, а для некоторых CALL - надо дополнительно инициировать отработку.

"чтобы после ввода значения в ГЭ Текст, 39 атрибут в 1 сам устанавливался."
В этом случае передача всех аргументов будет осуществляться при изменении одного аргумента. Будет необоснованно увеличиваться трафик.

Если Вам необходимо, чтобы при изменении любого аргумента канала CALL именно этот аргумент и передавался в свой регистр контроллера, задайте (согласно документации) "Источнику" W_Word(16) тип INPUT и каналу CALL, который с ним связан, тоже INPUT.
 
Posted by sa104 (Участник № / Member № 5825) on :
 
Документация конечно вещь полезная, когда знаешь, что искать.
Единственное, что не совсем понял, почему канал типа INPUT будет ПЕРЕДАВАТЬ данные в контроллер.
Но Вам конечно виднее, Спасибо за разъяснения.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2