PDA

Просмотр полной версии : ПЛК150-220-А-М и самодельное устройство Modbus-master



fatlortroll
21.02.2020, 08:56
Добрый день.

Случилась необходимость связать с ПЛК150-220-А-М по протоколу Modbus самодельное устройство. Устройство будет master-ом.
Вопрос в том, как подэлементы модуля Modbus-slave отображаются на модель данных самого протокола (например, подэлемент Float), и какая у подэлементов модель адресации в рамках, опять же, самого Modbus-а?

Т.е. если я самодельным устройством запрошу у ПЛК подэлемент Float (AT %QD9.4.0) -- какими функциями и по какому адресу нужно выполнять запрос?

melky
21.02.2020, 10:54
Все переменные в Конфигураторе slave с нуля, выравнивание для 1-но и 2-х регистровых (float) учитывайте. Где-то было в документации.

A.Simonov
21.02.2020, 12:47
Добрый день.

Случилась необходимость связать с ПЛК150-220-А-М по протоколу Modbus самодельное устройство. Устройство будет master-ом.
Вопрос в том, как подэлементы модуля Modbus-slave отображаются на модель данных самого протокола (например, подэлемент Float), и какая у подэлементов модель адресации в рамках, опять же, самого Modbus-а?

Т.е. если я самодельным устройством запрошу у ПЛК подэлемент Float (AT %QD9.4.0) -- какими функциями и по какому адресу нужно выполнять запрос?

Добрый день.

Это подробно описано в руководстве
https://owen.ru/uploads/23/rp_plc100-plc150-plc154_25.pdf

Стр. 56 - 62.

fatlortroll
21.02.2020, 13:04
Правильно ли я понимаю, что принудительно задать адрес в модели данных Modbus для подэлементов Modbus-slave в ПЛК невозможно, и он (адрес) будет определяться лишь расположением подэлемента в списке?

A.Simonov
21.02.2020, 16:38
Правильно ли я понимаю, что принудительно задать адрес в модели данных Modbus для подэлементов Modbus-slave в ПЛК невозможно, и он (адрес) будет определяться лишь расположением подэлемента в списке?

Да, вы правы.

fatlortroll
10.03.2020, 16:28
А какую функцию, тогда, несёт поле Node Id в базовых параметрах подэлемента? С его изменением меняются и адреса ввода/вывода/диагностики для подэлемента.

Опять же, птица Automatic calculation of addresses во вкладке настройки ПЛК тоже для чего-то существует?

И, если мне нужно получить от ПЛК функцию Modbus-Slave с регистром по адресу, например, 100 -- как решается подобная задача?

Филоненко Владислав
10.03.2020, 17:13
Для распределения памяти, а не адресов ModBus.

А решается задача использованием библиотеки. Вариантов много

fatlortroll
10.03.2020, 19:06
> только зачем?

Эмуляция связки пары-тройки устройств одним ПЛК. А у этих устройств вот такие адреса регистров, в районе сотни.

Всё, как обычно. Задание выдали, а ты извращайся, как хочешь.

fatlortroll
10.03.2020, 19:08
> ...библиотеки. Вариантов много

А можно подробности, и ссылки? Для особо ленивых, вроде меня.

A.Simonov
12.03.2020, 15:15
> ...библиотеки. Вариантов много

А можно подробности, и ссылки? Для особо ленивых, вроде меня.

Библиотека OwenModbusSlave
https://owen.ru/product/codesys_v2/libraries

fatlortroll
15.03.2020, 08:50
Спасибо большое, буду разбираться.