This is topic Запись 32 битных регистров in forum Общие вопросы / Common questions at Форум TRACE MODE: техническая поддержка.


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

Posted by jasper1 (Участник № / Member № 9434) on :
 
Добрый день.

Планирую применить 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.
Благодарю за консультацию.
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
По протоколу нет 4-байтных чисел. Для записи в 2 16-битных регистра используйте групповой запрос. Канал CALL.CGR с направлением OUT, в нем создать 2 16-битных аргумента OUT. Программно разбить HEX32 на 2 пару байт и записать в эти аргументы. CALL.CGR привязать к начальному по счету адресу регистра. Для записи по протоколу или записать число в значение CALL.CGR, или дернуть его атрибут EXEC.
 
Posted by jasper1 (Участник № / Member № 9434) on :
 
Спасибо за помощь.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2