This is topic TM6.09 modbus TCP in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Использую PLC owen и trace mode 6.09, хочу организовать связь по modbus tcp (используя встроенный протокол). В скаде создаю (источники/приемники) группу MODBUS в ней компонент Rin_Word(4). Редактирую (адрес модуля, адрес регистра, тип TCP/IP и ввожу IP адрес контроллера). После запуска обмена не происходит! Собственно возникает вопрос о предназаначении встроеного протокола, возможен ли обмен по нему с крнтроллером owen (по документации контроллер поддерживает данный протокол)... Наблюдения: при отладке (запуск проекта trace mode) создается пустой файл tcp_modbus. При записи в него (в ручную) строки 1 10.0.6.10 ситуация не меняется (файл пересоздается пустой)...
Заранее спасибо за помощь!
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Если контроллер поддерживает Modbus TCP, то обмен должен осуществляться. После запуска узла откройте окно "Просмотр компонентов" (Меню "Вид/Компоненты"). Раскройте в этом окне дерево каналов и найдите канал, который Вы привязали к указанному Modbus-источнику. Перед его именем должен быть задан его тип [64.04].
Posted by zicst (Участник № / Member № 4997) on :
Все каналы которые были привязаны соответствуют типу [64.04], но данные так и не поступают(
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В Modbus-каналах выставляется признак недостоверности (атрибут 4)?
Создайте файл конфигурирования запуска узла TMCom_xx.cnf (см."Приложения/Задание параметров работы мониторов") с ключом DEBUGON=400
В профайлерном протоколе в папке узла должны быть сообщения об ошибках обмена по сети.
Пришлите на hotline@adastra.ru файл *.prj и папку узла после запуска под профайлером.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Настройки "Источников/Приемников" неверные. Разъяснения отправлены почтой.
Posted by zicst (Участник № / Member № 4997) on :
Вопрос решен... Спасибо!
Posted by Alexander Rakhman (Участник № / Member № 6352) on :
Приветствую! А можно озвучить путь решения? Похоже, у меня аналогичная проблема. Заранее спасибо!
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Надо соблюдать порядок настройки компонентов слоя "Источники/Приемники". Например. 1. Настройка "Порт" в Modbus TCP не используется. 2. Если в контроллере порт обмена по по Modbus TCP отличен от 502 (который задается по умолчанию), надо задавать его в поле "Дополнительно", например: IP=10.0.6.10:550; Здесь 550 - номер порта. 3. Префикс <IP=> обязателен! 4. Настройка "Адрес" - это адрес устройства в сети Modbus. Он не должен быть равным 0. 5. Настройка "Канал" - это адрес Modbus-переменной.
Posted by Alexander Rakhman (Участник № / Member № 6352) on :
Большое спасибо, всё прояснилось! <IP=> было ни разу не очевидно.
Posted by zicst (Участник № / Member № 4997) on :
Доброго времени суток всем! Необходимо в real поменять порядок слов... Есть ли в trace mode функции преобразования типов? Функции копирования аналогична memcpy()???
Posted by Nico (Участник № / Member № 5342) on :
modbus.set файл ; в help есть
Posted by Nico (Участник № / Member № 5342) on :
MDB_FLOATCNV=101 – этот ключ разрешает задание порядка следования байтов отдельно для каждого устройства (с помощью ключей MDB_AFCNV<nn>); MDB_AFCNV<nn>=<M, DEC> –
Posted by zicst (Участник № / Member № 4997) on :
Поддержка отклонений от стандарта MODBUS
TRACE MODE поддерживает отклонения от стандарта MODBUS при работе с переменными FLOAT. Для выбора порядка следования байтов нужно вручную создать текстовый файл modbus.set в папке узла. Файл содержит целое число от 0 до 3, указывающее следующий порядок байтов (байт 0 – младший байт мантиссы, байт 3 – байт знака и порядка): 0 – 3-2-1-0 (данный порядок следования байтов устанавливается в отсутствие файла modbus.set); 1 – 0-1-2-3; 2 – 1-0-3-2; 3 – 2-3-0-1. О ключах ничего не упоминается... Можно простой шаблон файла?
Posted by zicst (Участник № / Member № 4997) on :
Да, <nn> адрес com-порта? А у мне по IP нужно...
Posted by Nico (Участник № / Member № 5342) on :
nn это не порт !!!!!!!!!!!!! MDB_AFCNV<nn>=<M, DEC> – порядок следования байтов для устройства с адресом nn. Число M вычисляется следующим образом (BO – номер порядка следования байтов, см. Обмен по MODBUS ): для переменных FLOAT BO записывается в полубайт 0xF; для переменных LONG (8 байтов) BO записывается в полубайт 0xF0; для переменных даты и времени (для чтения архива) BO записывается в полубайт 0xF0 и устанавливается бит 12 (0x1000).
Posted by zicst (Участник № / Member № 4997) on :
MDB_FLOATCNV=101 MDB_AFCNV192.168.3.10:504=4147
вот содержимое файла но ничего не работает
Posted by Nico (Участник № / Member № 5342) on :
nn это не IP адресс !!!!!!!!!!!!!!!!!!!!!
Posted by zicst (Участник № / Member № 4997) on :
Уважаемая техподдержка! Ранее (http://forum.adastra.ru/cgi-bin/ultimatebb.cgi/ubb/get_topic/f/45/t/000248.html) рассматривался вопрос рассмотрения RTM как сервер modbus tcp. Не могли бы на мой адрес выслать инфу предлагаемую в том разделе (файл конфигурации и по каким адресам производить запросы). Спасибо!
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Базовая линия не поддерживает функцию работы МРВ, как сервера протоколов поверх TCP(UDP)/IP.