Запись данных к серверу MODBUS

Типы данных можно записать в по MODBUS

Функция write выполняет операции записи к двум типам целевых адресуемых областей:

  • Обмотки

  • Регистры временного хранения информации

Каждая из этих двух областей может принять запрос записи к одному адресу или непрерывному диапазону адресов. Когда вы выполняете операцию записи, необходимо задать целевой тип (target), начальный адрес (address) и значения, чтобы записать (values). Можно также опционально задать адрес сервера (serverId) и формат данных (precision).

Обмотки записи по MODBUS

Если цель записи является обмотками, функция пишет непрерывную последовательность 1–1968 обмоток или к на или к прочь (1 или 0) в удаленном устройстве. Обмотка является одним выходным битом. Значение 1 указывает, что обмотка включена, и значение 0 означает, что это выключено.

Синтаксис, чтобы записать в обмотки:

write(obj,'coils',address,values)

Параметр obj является именем объекта MODBUS. Примеры принимают, что вы создали объект MODBUS, m. Для получения информации о создании объекта смотрите, Создают Связь MODBUS.

Параметр address является начальным адресом обмоток, чтобы записать в, и это - двойное. Параметр values является массивом значений, чтобы записать. Для цели обмоток допустимыми значениями является 0 и 1.

Этот пример пишет в 4 обмотки, запускающиеся в адресе 8289.

write(m,'coils',8289,[1 1 0 1])

Можно также создать переменную для значений, чтобы записать.

values = [1 1 0 1];
write(m,'coils',8289,values)

Запись регистров временного хранения информации по MODBUS

Если цель записи является регистрами временного хранения информации, функция пишет блок 1–123 непрерывных регистров в удаленном устройстве. Значения, представление которых больше, чем 16 битов, хранятся в последовательных адресах регистра.

Синтаксис, чтобы записать в регистры временного хранения информации:

write(obj,'holdingregs',address,values)

Параметр obj является именем объекта MODBUS. Примеры принимают, что вы создали объект MODBUS, m. Для получения информации о создании объекта смотрите, Создают Связь MODBUS.

Параметр address является начальным адресом регистров временного хранения информации, чтобы записать в, и это - двойное. Параметр values является массивом значений, чтобы записать. Для цели регистров временного хранения информации допустимые значения должны быть в области значений заданной точности.

Этот пример устанавливает регистр в адресе от 49153 до 2 000.

write(m,'holdingregs',49153,2000)

Опция точности

Аргумент 'precision' задает формат данных регистра, записанного в на сервере MODBUS. Допустимыми значениями является 'uint16', 'int16', 'uint32', 'int32', 'uint64', 'int64', 'single' и 'double'. Этот аргумент является дополнительным, и значением по умолчанию является 'uint16'.

Значения передали в быть записанными, преобразованы, чтобы указать значения на основе заданной точности. Для значений точности 'int32', 'uint32' и 'single', каждое значение соответствуют 2 регистрам, и для 'uint64', 'int64' и 'double', каждое значение соответствует 4 регистрам. Для 'int16' и 'uint16', каждое значение от одного 16-битного регистра.

Этот пример пишет 3 значения, запускающиеся в адресе 29473 и преобразовывающие в точность single.

write(m,'holdingregs',29473,[928.1 50.3 24.4],'single')