jasper1
Junior Member / Новичок
Участник № / Member № 9434
отправлено / posted
Добрый день.
Планирую применить Trace mode 6 для автоматизации рабочего места. Сейчас тестирую работу оборудования с помощью бесплатной среды разработки. Связь по Modbus RTU. Возникла проблема с записью 32-битного регистра DINT в контроллер. При записи 32 битного регистра либо через групповой запрос, либо через канал HEX32 , в порт передается команда на запись 1 16-битного регистра. В групповом запросе создан аргумент формата dint. Тип группового запроса Output, в источниках/приемниках создан компонент W_Word(16) с направлением output. команда на передачу подается записью 1 в атрибут 2 "входное значение" группового запроса. Какую настройку необходимо поменять для передачи в порт команды на запись 2х 16 битных регистров, привязанных к аргументу формата dint? Трафик перехватывается с помощью ПО Serial Port Monitor. Благодарю за консультацию.
Сообщения / Posts 8 | Из / From: Russia
| IP / IP: IP адрес / IP address |
отправлено / posted
По протоколу нет 4-байтных чисел. Для записи в 2 16-битных регистра используйте групповой запрос. Канал CALL.CGR с направлением OUT, в нем создать 2 16-битных аргумента OUT. Программно разбить HEX32 на 2 пару байт и записать в эти аргументы. CALL.CGR привязать к начальному по счету адресу регистра. Для записи по протоколу или записать число в значение CALL.CGR, или дернуть его атрибут EXEC.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
jasper1
Junior Member / Новичок
Участник № / Member № 9434