write
функция выполняет операции записи к двум типам целевых адресуемых областей:
Обмотки
Регистры временного хранения информации
Каждая из этих двух областей может принять запрос записи к одному адресу или непрерывному диапазону адресов. Когда вы выполняете операцию записи, необходимо задать целевой тип (target
), начальный адрес (address
), и значения, чтобы записать (values
). Можно также опционально задать адрес сервера (serverId
) и формат данных (precision
).
Если цель записи является обмотками, функция пишет непрерывную последовательность 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)
Если цель записи является регистрами временного хранения информации, функция пишет блок 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
единственный
, и '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')