Страница 2 из 2

Нет связи по Modbus TCP c контроллером R500

Добавлено: 24 май 2024, 13:53
taranur
В канале регистры хранения. Дискретные - просто название

Нет связи по Modbus TCP c контроллером R500

Добавлено: 24 май 2024, 14:10
Joshua
Не знаю, как там Регул в Астра.ИДЕ сделали, но в стандартном Codesys описание slave устройства выглядит почти одинаково. Не добавили ли вы slave как устройство, опрашиваемое мастером? Вместо того, чтобы сделать слейвом сам ПЛК?
modbus.PNG
modbus.PNG (13.13 КБ) 918 просмотров

Нет связи по Modbus TCP c контроллером R500

Добавлено: 24 май 2024, 14:20
Parliament74
Ну тогда да, для Holding Registers 03 функция.
А начинать читать с адреса 1 не пробовали, а то может у Regul по аналогии с Siemens по умолчанию Holding registers с 40001 начинаются?..

Как вариант, можно ещё попробовать в-принципе открытые в контроллере регистры найти, Modbus Poll (в последних версиях точно) умеет сканировать диапазон заданных регистров на предмет их доступностидоступности:
https://www.modbustools.com/poll-address-scan.html

Отправлено спустя 1 минуту 38 секунд:
Joshua писал(а): 24 май 2024, 14:10 Не добавили ли вы slave как устройство, опрашиваемое мастером? Вместо того, чтобы сделать слейвом сам ПЛК?
Тогда ошибка в теории должна быть Connection Error / Time-out, а так Modbus Poll сервер-то видит, просто недоступные на нëм адреса пробует прочитать.

Нет связи по Modbus TCP c контроллером R500

Добавлено: 24 май 2024, 14:27
AlexandrGr
taranur писал(а): 24 май 2024, 13:25 компилятор выдаёт ошибку
А проект в контроллер загружен?

Нет связи по Modbus TCP c контроллером R500

Добавлено: 24 май 2024, 15:33
taranur
Joshua писал(а): 24 май 2024, 14:10 Не знаю, как там Регул в Астра.ИДЕ сделали, но в стандартном Codesys описание slave устройства выглядит почти одинаково. Не добавили ли вы slave как устройство, опрашиваемое мастером? Вместо того, чтобы сделать слейвом сам ПЛК?
Не. Чтобы был outer slave, надо сначала добавить мастера. Мастер сам же не отвечает.
Parliament74 писал(а): 24 май 2024, 14:21 А начинать читать с адреса 1 не пробовали, а то может у Regul по аналогии с Siemens по умолчанию Holding registers с 40001 начинаются?..
Пробовал с разных адресов в пределах диапазона. Всё равно ошибка.

Отправлено спустя 12 минут 11 секунд:
AlexandrGr писал(а): 24 май 2024, 14:27 А проект в контроллер загружен?
Нет, не компилировался даже. Проект чистый. Обнаружил следующее: так как никакая переменная из глобал списка не используется, то и для канала переменные не видны. Прописал в PRG использование переменных из глобал списка, тогда нужная переменная стала видна и для канала. Компилируется нормально теперь, без ошибок и предупреждений.
Но, при загрузке в контроллер выпадает ошибка загрузки драйверов от CmpCodeMeter, двух штук. Пока не победил. Может с библиотекой не то что-то. Ошибки только завтра смогу отскринить.

P.S. Техподдержка по вопросу связи Modbus TCP упорно молчит :ges_no:

Нет связи по Modbus TCP c контроллером R500

Добавлено: 24 май 2024, 19:31
AlexandrGr
taranur писал(а): 24 май 2024, 15:45 Нет, не компилировался даже. Проект чистый.
Я вам предлагаю обратиться в техподдержку с вашим тестовым проектом.
А контроллер у вас есть?

Нет связи по Modbus TCP c контроллером R500

Добавлено: 27 май 2024, 10:34
taranur
AlexandrGr писал(а): 24 май 2024, 19:31 А контроллер у вас есть?
Да. Ошибка [FATAL ERROR] Неразрешённая ссылка: 'CODEMGETCONTENTBYFIRMCODE2'

Нет связи по Modbus TCP c контроллером R500

Добавлено: 27 май 2024, 10:47
leon78
Т.е. проект не компилируется и не грузится в контроллер, но при этом вы пытаетесь контроллер опрашивать? Запутанно... Какой проект тогда залит в контроллер?

Нет связи по Modbus TCP c контроллером R500

Добавлено: 27 май 2024, 11:48
taranur
В техподдержке попросили удалить CmpCodeMeter из репозитория. У меня там оказались две версии. Удалил 30, оставил 0, проект загрузился без ошибок.
Parliament74 писал(а): 24 май 2024, 14:21 Как вариант, можно ещё попробовать в-принципе открытые в контроллере регистры найти, Modbus Poll (в последних версиях точно) умеет сканировать диапазон заданных регистров на предмет их доступностидоступности:
https://www.modbustools.com/poll-address-scan.html
Попробовал сканером с разными диапазонами. На все запросы пишет illegal data address.

Отправлено спустя 1 минуту 32 секунды:
leon78 писал(а): 27 май 2024, 10:47 Т.е. проект не компилируется и не грузится в контроллер, но при этом вы пытаетесь контроллер опрашивать? Запутанно... Какой проект тогда залит в контроллер?
С новым проектом возникли недомолвки. Сейчас грузится нормально.

Нет связи по Modbus TCP c контроллером R500

Добавлено: 28 май 2024, 15:10
taranur
Пересоздал вопрос по Modbus TCP, взял другой человек. Сразу же дал ответ, который сработал: массив, который задан для канала, не используется. Память под массив не выделена. То есть, использование в канале - это ещё не использование. Бред какой-то, если честно.
В общем, какое-либо использование необходимо, чтобы массив был увиден каналом.
Странно только: линковщик же должен был сделать все связи :ges_hmm:

Нет связи по Modbus TCP c контроллером R500

Добавлено: 28 май 2024, 21:27
Jackson
taranur писал(а): 27 май 2024, 11:49 Попробовал сканером с разными диапазонами. На все запросы пишет illegal data address.
Так это означает не "связи нет" а "запрос некорректный". Связь есть.
taranur писал(а): 28 май 2024, 15:10 Пересоздал вопрос по Modbus TCP, взял другой человек. Сразу же дал ответ, который сработал: массив, который задан для канала, не используется. Память под массив не выделена.
Вот и ответ. Контроллер отвечает что запрошенный диапазон адресов не существует. Связь была с самого начала.