Для ознакомления с основными возможностями библиотеки в качестве слейв-устройства используется источник питания MAISHENG WSD-6050.
Рассмотрим модель:
open_system('ritmdemo_block_modbusRTU')Соединение с сервером Modbus устанавливается при помощи блока Modbus RTU Setup. Его параметры следующие:
Из настроек видно, что устанавливается связь по порту
ttyS2, задается скорость приемопередачи равная
115200 бод. Бит четности, биты данных и стоповые биты
задаются в соответствии с требованием слейв-устройства. Данному
соединению присваивается внутренний идентификатор 1. В
дальнейшем, данный идентификатор будет использоваться в блоках чтения и
записи, например, в блоке Modbus Write Registers:
К примеру рассмотрим область Write Multiple Registers. В этой области, выход “Статус” блока чтения регистров подается на подсистему “Обработка ошибки соединения”.
Назначение этой подсистемы - отслеживать статус операции. Если статус
операции равен -1, то блок Assertion
выдаст предупреждение. Применяя такую конструкцию моделирования, можно
останавливать исполнение модели при длительном обрыве соединения.
До начала записи каких-либо данных на слейв-устройство можно заметить, что его регистры, предназначенные для записи, не содержат никаких значений:
Для демонстрации записи данных на слейв-устройство установим значение
желаемого выходного напряжения на блоке Input Voltage,
которое будет передано в блок Modbus Write Registers в
качестве данных для записи по адресу 0x0040:
На экране слейв-устройства наблюдаем записанное значение напряжения:
Чтение данных со слейв-устройства происходит при помощи блока Modbus Read Registers. В параметрах блока указываем адрес, в котором находятся интересующие нас данные:
В модели на блоке Voltage setting наблюдаем считанное значение напряжения со слейв устройства: