PDA

Просмотр полной версии : Плк-154 и modbus rtu.



Denis2901
10.06.2022, 13:05
Здравствуйте. Столкнулся с о следующей проблемой: не получается опросить дискретные входы модуля ввода-вывода ICP CON M7026 по RS485 (протокол Modbus RTU). М7026 настроен и исправен, линия исправна (проверил утилитой изготовителя и ноутбуком). Codesys 2.3. Параметры связи в М7026, модуле Modbus master, подмодуле Universal Modbus Device совпадают. Программа компилируется, прогружается в плк без ошибок. Пробовал увеличить минимальный цикл программы, увеличивал framing time - не помогло. Где ещё может быть проблема? Может ПЛК-154 не понимает функцию Read Input Status(0х02) и не может её выполнить? Не нахожу списка поддерживаемых функций.

petera
10.06.2022, 13:41
Здравствуйте. Столкнулся с о следующей проблемой: не получается опросить дискретные входы модуля ввода-вывода ICP CON M7026 по RS485 (протокол Modbus RTU). М7026 настроен и исправен, линия исправна (проверил утилитой изготовителя и ноутбуком). Codesys 2.3. Параметры связи в М7026, модуле Modbus master, подмодуле Universal Modbus Device совпадают. Программа компилируется, прогружается в плк без ошибок. Пробовал увеличить минимальный цикл программы, увеличивал framing time - не помогло. Где ещё может быть проблема? Может ПЛК-154 не понимает функцию Read Input Status(0х02) и не может её выполнить? Не нахожу списка поддерживаемых функций.

А это, что?
61160

Denis2901
10.06.2022, 14:08
В Codesys я это вижу. Но данных нет. Где-то проблема есть. Не нахожу где.

glazastik
10.06.2022, 14:25
а попробуйте 8 bit input module использовать

petera
10.06.2022, 14:30
В Codesys я это вижу. Но данных нет. Где-то проблема есть. Не нахожу где.

Что за адрес регистра - 10033?
Явная лажа!

glazastik
10.06.2022, 14:32
да не в инструкции к модулю реально написано 10033

10033 ~
10035

Reads the status of the Digital Input for channels 0
to 2

R

petera
10.06.2022, 14:37
да не в инструкции к модулю реально написано 10033

1хххх - префикс области памяти Input Status, его писать не надо! Если функция 02, то это и значит обращение к области 1хххх

остается 0033, однако и здесь скорей всего используется смещение +1

Таким образом - адрес нужного регистра - 32!

Denis2901
10.06.2022, 14:38
1хххх - префикс области памяти Input Status, его писать не надо! Если функция 02, то это и значит обращение к области 1хххх

остается 0033, однако и здесь скорей всего используется смещение +1

Таким образом - адрес нужного регистра - 32!

сейчас попробую

glazastik
10.06.2022, 14:38
а пробовали соседние адреса читать?
вообще что-то кроме этого читается?

glazastik
10.06.2022, 14:40
1хххх - префикс области памяти Input Status, его писать не надо! Если функция 02, то это и значит обращение к области 1хххх

остается 0033, однако и здесь скорей всего используется смещение +1

Таким образом - адрес нужного регистра - 32!

будем знать

Denis2901
10.06.2022, 14:40
1хххх - префикс области памяти Input Status, его писать не надо! Если функция 02, то это и значит обращение к области 1хххх

остается 0033, однако и здесь скорей всего используется смещение +1

Таким образом - адрес нужного регистра - 32!

Помогло, спасибо

petera
10.06.2022, 14:46
будем знать

Области памяти классического слейва
61163 61164

61165 61166