vlad63
Junior Member / Новичок
Участник № / Member № 5605
отправлено / posted
Здравствуйте! Подскажите, пожалуйста, возможен ли с помощью канала CALL.ChGroupReq по протоколу MODBUS TCP групповой запрос на запись в контроллер блока до 32 байт в базовой версии? С чтением разобрался с помощью Вашего видеопримера, все работает. А вот на запись не получается. Отправляет значение только одного аргумента из нескольких. До 6 байт можно записать с помощью привязки MODBUS.R_FIFO_Queue. Но мне нужно большее количество байт на запись в одном пакете. В документации на эту тему только два предложения: "выполняется ...групповая запиь (WORD, FLOAT)... по MODBUS TCP/IP ...количество ... устанавливаемых параметров определяется числом аргументов канала." Использовал функции W_WORD(6), привязанные к CALL.ChGroupReq. В канале несколько аргументов с привязками из программы. Посылку инициирую атрибутом EXEC после запуска МРВ. На стороне контроллера перехватываю пришедший по TCP/IP запрос. В запросе идет только первый аргумент.
Сообщения / Posts 2 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Функция W_WORD(6), согласно стандарту, действительно отправляет только 1 регистр. Надо использовать функцию W_WORD(16).
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |
vlad63
Junior Member / Новичок
Участник № / Member № 5605