PDA

Просмотр полной версии : Нестандартный запрос Slave устройства МКОН



DmitriiAnyushin
20.10.2023, 14:33
Здравствуйте! Подскажите пожалуйста.
При помощи МКОН хочу опросить 5 устройств по RS-485 (Modbus RTU) и передать сигналы по TCP (Modbus TCP)
С четырех устройств конвертация идет отлично, но одно устройство обладает модбасоподобным протоколом (у него необходимо запрашивать строгую посылку определенной длины и тогда он отправит ответную посылку). МКОН настроил через Owen Configurator - Настроить шлюз (Параметры TCP (Server): 192.168.1.2:502, Параметры RTU (Master): 115200xNx8x1). В настройках маршрутизации 40:0:1:C0A80102:1F6:1:P
71069
Все опросы (и по RTU и по TCP) веду Modbus Pool. Когда опрашиваю устройства до МКОН по RTU - все устройства отвечают, а через МКОН посылка с одного из устройств (по TCP) не доходит.
Подскажите пожалуйста, в чем может быть проблема?
Спасибо!

melky
20.10.2023, 14:57
МКОН преобразователь протокола Modbus TCP в RTU и на нестандартные модбасоподобные протоколы не рассчитан

imaex
20.10.2023, 15:22
МКОН преобразователь протокола Modbus TCP в RTU и на нестандартные модбасоподобные протоколы не рассчитан

Умничает? Отыскивает нестандарт и с негодованием отвергает?

melky
20.10.2023, 15:31
imaex ну видимо в МКОН заложены стандартные 03, 06, 10 что там чаще используется в Modbus, а остальное он наверное не понимает

И что значит модбас подобный протокол? только расчет CRC как у Modbus а все остальное вообще отсебятина?

imaex
20.10.2023, 15:41
Так ТС ничего не сказал про то, какая функция используется с проблемным устройством. Если я правильно его понял, то опрос напрямую по RTU у него для всех нормально идёт, а через МКОН - проблемное не опрашивает.

melky
20.10.2023, 16:05
С четырех устройств конвертация идет отлично, но одно устройство обладает модбасоподобным протоколом (у него необходимо запрашивать строгую посылку определенной длины и тогда он отправит ответную посылку)

Ну откель МКОН будет знать о строгости посылки вообще, и как ее он должен обрабатывать, чтобы вернуть взад?

МКОН же не заявлен как преобразователь интерфейсов, чтобы просто гонять туда сюда наборы байт не разбираясь...

DmitriiAnyushin
20.10.2023, 16:17
Функция 3, запрос с регистра 40, 21 регистр. Это фиксированная посылка и на другую устройство отвечать не будет. ПЛК ОВЕН стандартными библиотеками модбас я все спокойно опрашиваю - получаю ответ в буфер и разбираю посылку

melky
20.10.2023, 16:33
И почему тогда не отвечает, если это стандартный запрос? Может не отвечает тогда, потому что не успевает по таймаутам? вы все таки 21 регистр запрашиваете, 42 байта + заголовок и CRC.
Почему вы тогда пишите, что это модбас подобный протокол если функция 3 ?

Адрес устройства не номер 1 случайно ?

imaex
20.10.2023, 16:34
Функция 3, запрос с регистра 40, 21 регистр.

Я так и не понял - в чём заключается "модбасоподобность" устройства? Дамп запроса можете привести?

DmitriiAnyushin
20.10.2023, 17:20
Я в понедельник скриншот modbus poll, если получится, сделаю.
Тайм аут секунда стоит.
Ну на счёт модбасоподобности неверно выразился все же. Просто некоторые устройства (мастера) устроены так, что им обязательно объектное обращение к слэйву необходимо (или по регистру). Остальные устройства которые подключены к МКОН могут спокойно и всю посылку и по регистрам.
Вопрос - правильно ли в настройках маршрутизации код указан (в первом сообщении темы) ?

melky
20.10.2023, 18:28
Не знаю, что там с правильностью маршрутизации.
Я почему про адрес устройства спросил, тут на форуме была инфа по мкон, где говорилось, что адрес 1 принадлежит самому МКОНу и устройств с таким адресом вроде быть не должно.

DmitriiAnyushin
20.10.2023, 18:47
Адрес 4. Про то что 1 быть не должно я помню

DmitriiAnyushin
23.10.2023, 13:51
Посмотрел сегодня трафик
71121
Поменял адрес slave на 100. Судя по коду ошибки 0B - Slave устройства нет в сети или от него нет ответа. Хотя slave-устройство в сети присутствует и 6 функция на управление работает. Slave-устройство получает код запроса на считывание (64 03 00 28 00 15 0D F8), но МКОН его почему-то не принимает ответную посылку (не могу считать Modbus Pool, ModScan). В скиффере написано - нет ответа от устройства Slave (Код ошибки: 6)

melky
23.10.2023, 14:07
64 03 00 28 00 15 0D F8 - запрос корректный, а вот глядя на лог ModScan я что-то таких не вижу, или не туда смотрю...

DmitriiAnyushin
23.10.2023, 14:27
Сделал лог из ModPool (адрес slave вернул на 4)
71124

melky
23.10.2023, 14:45
Ну устройство вам не отвечает, все та же ошибка 0B даже при 4-м адресе.
Запросы в само устройство то идут ?

DmitriiAnyushin
23.10.2023, 14:53
Идут. Когда напрямую по RS-485 подключаюсь, то ответы приходят. Устройство тоже посылки получает

DmitriiAnyushin
23.10.2023, 15:32
Да, я подключался к слейву.
Победил - скорость по RS была очень высокая (115200) и из-за посылка не принималась. На 9600 все хорошо работает (на 57600 тоже)

capzap
23.10.2023, 15:41
Да, я подключался к слейву.

это правило 40:0:1:C0A80102:1F6:1:P из первого поста, значит не актуальное

melky
23.10.2023, 15:48
Запросы в само устройство то идут ? имел ввиду при подключеном к МКОН, проверить на линии устройства есть ли запросы к устройству...

DmitriiAnyushin
23.10.2023, 18:43
имел ввиду при подключеном к МКОН, проверить на линии устройства есть ли запросы к устройству...

Запросы были и слэйв устройство посылку видело, только на скорости 115200 почему-то МКОН ответ от слэйва не получал (3 функция), запись функцией 6 проходила успешко. От четырех остальных слэйвов МКОН все ответы получал. На скорости 52600 слэйв начал отвечать успешно.
Напрямую, минуя МКОН, по RS 485 слэйв благополучно отвечал и на скорости 115200

Валенок
23.10.2023, 19:30
в этом мконе есть задание принудительных пауз до/после запроса сверх положенных? Овен любит положить болт на стандартные паузы, и может этот девайс тупо не может вычленить свое поэтому и не отвечает?

DmitriiAnyushin
25.10.2023, 21:43
Ну в OwenConfigurator в явном виде я таких параметров не нашёл - есть только время ожидания ответа (я так полагаю это Time out) и время задержки между пакетами (это отправка следующего запроса после получения предыдущего). Поигрался немного с этими параметрами, но желаемого результата не получил (на скорости 115 200).
Но меня устроил результат, когда я понизил скорость до 57 600. Непонятно конечно, почему именно одно устройство из пяти не максималке не принимается МКОН (даже если его одно оставить в системе), но эту задачку я оставлю на потом.
Всем спасибо за помощь!