This is topic Управление по Modbus in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Здравствуйте. С помощью обучающих видеороликов мне удалось подключиться к контролеру фирмы Segnetics SMH 2G по протоколу modbus rtu и получить данные с аналогового входа контролера, а вот управлять им ни как не получается
[ 06.11.2012, 11:32: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Если в каналах, отправляющих Modbus-запросы, возникает недостоверность, то можно либо воспользоваться средствами диагностики Trace Mode, либо сделать перехват обмена COM-порта, например, с помощью Free Serial Port Monitor, и проанализировать его.
Posted by drmors (Участник № / Member № 5834) on :
Почему-то не создается файл отчета. В чем может быть проблема? Пример проекта скачал от сюда: http://adastra.ru/files/support/tm6/free/projects/test/tm6pb_Doc_arhtable.zip Компилирую проект. Запускаю. При запуске проекта на тренде начинает рисоваться график. Нажимаю кнопку "Записать в документ" - и ничего не происходит. В папке с проектом в подпапке RTM_1 файла index.html не появляется. Может что-то нужно сделать еще? (Win7 Pro 32bit, TM6.08 base, пример загружаю соответствующий с меткой base)
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Профайлер базовой версии, как отмечено в справочной системе, не поддерживает генерацию документов. Проект базовой версии с этой функцией будет генерировать документы только под управлением МРВ базового формата.
Posted by drmors (Участник № / Member № 5834) on :
Спасибо за ответ, подскажите, откуда можно загрузить МРВ базового формата? Или он продается отдельно? Спасибо.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
МРВ базового формата - коммерческий продукт, продается отдельно.
Posted by Valera (Участник № / Member № 5869) on :
Здравствуйте! Может и глупый вопрос, но что-то я парюсь. Связь с устройством IOLogic Io2210 по Modbus TCP/Ip. У устройства сухие контакты. Задача видеть сигнал на мониторе от этих сухих контактов в виде зажигающейся и гаснущей лампочки. Связь по Ip налажена. В источниках приемниках Modbus выбрал Rin_Byte. Потом это все перенесено в RTM. Создан экран с лампочками и 12 аргументами. К каждому аргументу привязка от первого бита до 12 бита соответственно.(ARG_000 - Rin_Byte: Бит1 и т.д.) и аргументы привязаны к лампочкам. Что происходит при запуске Профайлера: когда замыкаешь контакты по очереди с DI0 по DI6, лампочки загораются соответственно c 1 по 7-мую. Когда замыкаешь DI7 начинают гореть лампочки с 8-ой по 12-тый.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Согласно документации: "Rin_Byte(2) – считать байт данных типа in".
Надо создать второй аналогичный "Источник" с настройкой "Канал"=8, привязать к нему второй канал HEX16 и с него брать биты 1,...,4 для просмотра переменных с номерами 8-11.
Posted by Valera (Участник № / Member № 5869) on :
Создал в источниках приемниках - Modbus - Rin_Byte(2)#2(второй такой же источник) Настроил TCP/IP такой же как и у первого. В редактировать, в параметрах, канал поставил 0х8. Создал в системе RTM - Modbus - Канал HEX16 привязал туда источник вновь созданный Rin_Byte(2)#2. Сохранил, запустил профайлер. Перестало показывать первые восемь(00 - 07). Также 08 по 11 не работает. Удаляю этот канал первые восемь показывают нормально. Последние
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Присылайте проект на hotline@adastra.ru.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
У нас Ваш проект не дает данных ни в каком варианте.
По стандарту Modbus запрос с адресом устройства “0” является широковещательным и на него не ожидается ответ.
Надо задать в настройке “Адрес” реальный (!) адрес устройства в сети Modbus (не равный 0).
Я задал в Вашем проекте “Адрес” у обоих источников равным 1, сохранил проект для МРВ и запустил под профайлером. Проверял на связи с ModSim32 (симулятор Modbus). Все работает.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Возможно, у устройства существуют какие-либо ограничения на считывание, например, требование считывать все 12 входов одной командой. Это следует уточнить по документации на устройство. В этом случае можно воспользоваться каналом CALL.ChGroupReq, привязанным к переменной MODBUS.R_FIFO_Queue (см. документацию).
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Пользователем экспериментально подтверждено высказанное предположение: групповой запрос по указанному алгоритму оказался эффективным.
Posted by Valera (Участник № / Member № 5869) on :
Действительно так. Но опять проблема, теперь не могу настроить связь в дискретными выходами устройства io2210.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Надо изучить документацию на устройство, чтобы четко представлять себе, с какими командами и по каким адресам следует обращаться.
Posted by Drahtor (Участник № / Member № 5910) on :
Имеется ОВЕН ТРМ210 и базовая версия Trace Mode. Пытаюсь связать их по Modbus RTU. С чтением проблем нет. При записи создаю канал W_word(6). В меню экран - атрибут текст, делаю его привязку к имеющемуся аргументу W_word(6), в событиях атрибута "текст" при "Press Mouse" присваиваю "Изменить и передать. Там же: результат в W_word(6). При запуске профайлера и попытке изменить регистр, он изменяется только на 1 сек., после этого возвращает свое первоначальное значение, записи в прибор нет. Тоже самое и при использовании ОРС-сервера Овен. Хотя в самом при изменении тега в самом ОРС-сервере, значения в приборе меняются. Извините за делитанство, но что я не так делаю?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Соответствующий аргумент экрана должен быть типа OUT и привязываться к атрибуту ВХОД канала OUT, связанного с компонентом W_word(6) слоя "Источники/Приемники". То же самое относится и к каналу OUT, связанному с соответствующим OPC-тегом.
Posted by Drahtor (Участник № / Member № 5910) on :
Чуть по-подробнее, если возможно..
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Почитайте, пожалуйста, примеры в уроках "Быстрого старта".
Posted by Drahtor (Участник № / Member № 5910) on :
Возможно ли к одному и тому же ГЭ (текст)привязать как индикацию один аргумент (в частности Rout_Word_3), а как событие при нажатии ЛК - W_word(6)? Оба аргумета с одним и тем же номером регистра Modbus. У меня получается или то, или то. Если присвоить аргументу W_word(6) тип IN/OUT возможно будет и считывать и записывать регистр с одного и того же ГЭ?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Поле "Основная привязка" у ГЭ "Текст" должно быть пустым. Для индикации должен быть использован аргумент типа IN, привязанный к КАНАЛУ, связанному с переменной Rout_Word(3). Для управления в том же ГЭ должен быть задан аргумент типа OUT, привязанный к атрибуту ВХОД КАНАЛА, связанного с переменной W_Word(6). Адреса регистров для функций Rout_Word(3) и W_Word(6) могут совпадать.
Posted by enavru (Участник № / Member № 6358) on :
Здравствуйте. Не стал создавать тему. Осваиваю ваш продукт, пока в бесплатной версии. Рассматриваю Быстрый старт->Часть вторая->Создание экранов АРМ. В сво-ах экрана События, я добавляю (как по инструкции)три привязки. Дальше как я понял они должны появиться в экране События в виде плюсика(+), но они не появляются. Подскажите что я делаю не так.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
ГЭ "События" запомнил заданные Вами "Привязки". В самой таблице ГЭ "События" эти привязки отобразятся после перерисовки экрана в процессе редактирования.