maskWrite

Выполните операцию записи маски на регистре временного хранения информации

Описание

пример

maskWrite(m,address,andMask,orMask) записывает данные к объекту MODBUS m к регистру временного хранения информации в адресе address, использование обозначенных значений маски. Функция может установить или очистить отдельные биты в определенном регистре временного хранения информации. Это - читать/изменять/операция записи и использует комбинацию маски AND, маски OR и текущего содержимого регистра.

пример

maskWrite(m,address,andMask,orMask,serverId) дополнительно задает serverId как адрес сервера, чтобы отправить команду записи в.

Примеры

свернуть все

Можно изменить содержимое регистра временного хранения информации с помощью maskWrite функция. Функция может установить или очистить отдельные биты в определенном регистре временного хранения информации. Это - читать/изменять/операция записи и использует комбинацию маски AND, маски OR и текущего содержимого регистра.

Создайте AND и OR переменные.

andMask = 6
orMask = 0

Установите бит 0 в адресе 20 и выполните операцию записи маски. Начиная с andMask 6, который очищает все биты за исключением битов 1 и 2. Биты 1 и 2 сохраняются.

maskWrite(m,20,andMask,orMask)

Используйте serverId аргумент, чтобы задать адрес сервера, чтобы отправить маску пишет команду в.

Установите бит 0 в адресе 20 и выполните операцию записи маски в сервере ID 3.

maskWrite(m,20,6,0,3)

Входные параметры

свернуть все

Укажите адрес, чтобы выполнить операцию записи маски на, заданный как двойное. Адрес должен быть первым аргументом после имени объекта. Этот пример устанавливает бит 0 в адресе 20 и выполняет операцию записи маски.

Пример: maskWrite(m,20,andMask,orMask)

Типы данных: double

Значение AND, чтобы использовать в операции записи маски, заданной как двойное. andMask должен быть второй аргумент после имени объекта. Допустимой областью значений является 0–65535.

Этот пример устанавливает бит 0 в адресе 20 и выполняет операцию записи маски, с помощью 6 как значение AND.

Пример: maskWrite(m,20,6,0)

Типы данных: double

Значение OR, чтобы использовать в операции записи маски, заданной как двойное. orMask должен быть третий аргумент после имени объекта. Допустимой областью значений является 0–65535.

Этот пример устанавливает бит 0 в адресе 20 и выполняет операцию записи маски, с помощью 0 как значение OR.

Пример: maskWrite(m,20,6,0)

Типы данных: double

Адрес сервера, чтобы отправить маску пишет команду в, заданный как двойное. ID сервера должен быть задан после имени объекта, адреса, маски AND и маски OR. Если вы не задаете serverId, значение по умолчанию 1 используется. Допустимыми значениями является 0–247, с 0 быть широковещательным адресом. Этот пример устанавливает бит 0 в адресе 20 и выполняет операцию записи маски в сервере ID 3.

Пример: maskWrite(m,20,6,0,3)

Типы данных: double

Советы

Функциональный алгоритм работает можно следующим образом:

 Result = (register value AND andMask) OR (orMask AND (NOT andMask))

Например:

                 Hex    Binary
Current contents  12   0001 0010
And_Mask          F2   1111 0010
Or_Mask           25   0010 0101
(NOT And_Mask)    0D   0000 1101

Result            17   0001 0111

Если orMask значение 0, результатом является просто логическое Выполнение операции "И" текущего содержимого и andMask. Если andMask значение 0, результат равен orMask значение.

Введенный в R2017a

Для просмотра документации необходимо авторизоваться на сайте