Присваивание значения
Команда Присвоить значение дает возможность предварительно снабдить переменную определенным значением. Значение, заданное на входе IN, копируется по адресу, указанному на выходе OUT. ENO имеет такое же состояние сигнала, как EN.
С помощью блока MOVE команда Присвоить значение может копировать все типы данных длиной 8, 16 или 32 бита. Определяемые пользователем типы данных, такие как массивы или структуры, должны копироваться при помощи встроенной системной функции Direct Word Move [прямая пересылка слова].
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN | Все типы данных длиной 8, 16 и 32 бита | I, Q, M, D, L или константа |
Исходное значение | |
OUT | Все типы данных длиной 8, 16 и 32 бита | I, Q, M, D, L | Адрес назначения |
Пример и биты слова состояния команды присвоения значения
Преобразование двоично-десятичного числа в целое
Команда Преобразовать двоично-десятичное число в целое считывает содержимое входного параметра IN как трехразрядное двоично-десятичное число (BCD, ± 999) и преобразует это число в целое значение. Выходной параметр OUT предоставляет результат. ENO и EN всегда имеют одинаковое состояние сигнала. Если разряд двоично-десятичного числа находится в недопустимом диапазоне от 10 до 15, то во время попытки преобразования возникает ошибка BCDF.
- CPU переходит в режим STOP. В диагностический буфер записывается сообщение «BCD Conversion Error [ошибка преобразования двоично- десятичного числа]» с идентификационным номером события 2521.
- Вызывается OB121, если он запрограммирован.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN | WORD | I, Q, M, D, L | Двоично-десятичное число | |
OUT | INT | I, Q, M, D, L | Целое значение двоично-десятичного числа |
Пример и биты слова состояния преобразования двоично-десятичного числа в целое
Преобразование целого числа в двоично-десятичное
Команда Преобразовать целое число в двоично-десятичное считывает содержимое входного параметра IN как целое значение и преобразует это значение в трехразрядное число двоично-десятичное число (BCD, ± 999). Выходной параметр OUT предоставляет результат. Если происходит переполнение, то ENO равен 0.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN | INT | I, Q, M, D, L | Целое число | |
OUT | WORD | I, Q, M, D, L | Результат в двоично-десятичном формате |
Пример и биты слова состояния преобразования целого числа в двоично-десятичное
Преобразование целого числа в двойное целое
Команда Преобразовать целое число в двойное целое считывает содержимое входного параметра IN как целое число и преобразует это целое число в двойное целое число. Выходной параметр OUT предоставляет результат. ENO и EN всегда имеют одинаковое состояние сигнала.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN | INT | I, Q, M, D, L | Преобразуемое значение | |
OUT | DINT | I, Q, M, D, L | Результат |
Пример и биты слова состояния преобразования целового числа в двойное целое число
Преобразование двоично-десятичного числа в двойное целое
Команда Преобразовать двоично-десятичное число в двойное целое считывает содержимое входного параметра IN как семиразрядное двоично-десятичное число (BCD, ± 9 999 999) и преобразует это число в двойное целое число. Выходной параметр OUT предоставляет результат. ENO и EN всегда имеют одинаковое состояние сигнала.
Если разряд двоично-десятичного числа находится в недопустимом диапазоне от 10 до 15, то во время попытки преобразования возникает ошибка BCDF.
- CPU переходит в режим STOP. В диагностический буфер записывается сообщение «BCD Conversion Error [ошибка преобразования двоично- десятичного числа]» с идентификационным номером события 2521.
- Вызывается OB121, если он запрограммирован.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN | DWORD | I, Q, M, D, L | Двоично-десятичное число | |
OUT | DINT | I, Q, M, D, L | Значение двоично-десятичного числа в формате двойного целого числа |
Пример и биты слова состояния преобразования двоично-десятичного числа в двойное целое
Преобразование двойного целого числа в двоично-десятичное
Эта команда считывает содержимое входного параметра IN как двойное целое число и
преобразует это значение в семиразрядное двоично-десятичное число (± 9 999 999). Выходной параметр OUT предоставляет результат. Если происходит переполнение, то ENO равен 0.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN | DINT | I, Q, M, D, L | Двойное целое число | |
OUT | DWORD | I, Q, M, D, L | Результат в формате двоично- десятичного числа |
Пример и биты слова состояния преобразования двойного целого числа в двоично-десятичное
Преобразование двойного целого числа в число с плавающей точкой
Команда считывает содержимое входного параметра IN как двойное целое число и преобразует это значение в вещественное число. Выходной параметр OUT предоставляет результат. ENO и EN всегда имеют одинаковое состояние сигнала.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN | DINT | I, Q, M, D, L | Двойное целое число | |
OUT | REAL | I, Q, M, D, L | Результат в формате вещественного числа |
Пример и биты слова состояния преобразования двойного целого числа в число с плавающей точкой
Дополнение целого числа до единицы
Команда Дополнить целое число до единицы считывает содержимое входного параметра IN и выполняет над этим словом и маской FFFFH поразрядную команду булевой логики Поразрядное исключающее ИЛИ над словами (см. раздел 10.5), так что каждый бит слова изменяет свое значение на противоположное. Выходной параметр OUT предоставляет результат. ENO и EN всегда имеют одинаковое состояние сигнала.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN | INT | I, Q, M, D, L | Входное значение | |
OUT | INT | I, Q, M, D, L | Дополнение целого числа до единицы |
Пример и биты слова состояния дополнения целого числа до единицы
Дополнение двойного целого числа до единицы
Команда Дополнить двойное целое число до единицы считывает содержимое входного параметра IN и выполняет над этим словом и маской FFFF FFFFH поразрядную команду булевой логики Поразрядное исключающее ИЛИ над двойными словами (см. раздел 10.6), так что каждый бит слова изменяет свое значение на противоположное. Выходной параметр OUT предоставляет результат. ENO и EN всегда имеют одинаковое
состояние сигнала.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN | DINT | I, Q, M, D, L | Входное значение | |
OUT | DINT | I, Q, M, D, L | Дополнение двойногоцелого числа до единицы |
Пример и биты слова состояния дополнения двойного целого числа до единицы
Дополнение целого числа до двух
Эта команда считывает содержимое входного параметра IN и изменяет его знак (например, с положительного значения на отрицательное). Выходной параметр OUT предоставляет результат. Если состояние сигнала EN равно 0, то и состояние сигнала ENO равно 0. Если состояние сигнала EN равно 1 и происходит переполнение, то состояние сигнала ENO равно 0.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN | INT | I, Q, M, D, L | Входное значение | |
OUT | INT | I, Q, M, D, L | Дополнение целого числа до двух |
Пример и биты слова состояния дополнение целого числа до двух
Дополнение двойного целого числа до двух
Команда эдентична предыдущей, разница лишь в том, что операция выполняется над двойными числами.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN | DINT | I, Q, M, D, L | Входное значение | |
OUT | DINT | I, Q, M, D, L | Дополнение двойного целого числа до двух |
Пример и биты слова состояния дополнения двойного целого числа до двух
Изменение знака числа с плавающей точкой
Эта команда изменяет знаковый бит числа (например, с 0 для «плюс» на 1 для «минус»). Биты порядка и мантиссы остаются неизменными. Выходной параметр OUT предоставляет результат. ENO и EN всегда имеют одинаковое состояние сигнала.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN | REAL | I, Q, M, D, L | Входное значение | |
OUT | REAL | I, Q, M, D, L | Результат, представляющий собой входное значение с обратным знаком. |
Пример и биты слова состояния изменения знака числа с плавающей точкой
Округление до двойного целого числа
Команда Округлить до двойного целого числа считывает содержимое входного параметра IN как вещественное число и преобразует это число в двойное целое число, округляя его до ближайшего целого числа. Результатом является ближайшая целая составляющая вещественного числа (то есть ближайшее целое число).
Выходной параметр OUT предоставляет результат. Если происходит переполнение, то ENO равен 0.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN | REAL | I, Q, M, D, L | Округляемое значение | |
OUT | DINT | I, Q, M, D, L | Значение IN, округленное до ближайшего целого числа |
Пример и биты слова состояния округления до двойного целого числа
Выделение целой части числа
Команда Выделить целую часть числа считывает содержимое входного параметра IN как вещественное число и преобразует это число в двойное целое число, округляя его до ближайшего меньшего или равного ему целого числа. Результатом является целая составляющая заданного вещественного числа (то есть целая часть вещественного числа). Выходной параметр OUT предоставляет результат. Если происходит переполнение, то ENO равен 0.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN | REAL | I, Q, M, D, L | Округляемое значение | |
OUT | DINT | I, Q, M, D, L | Целая часть значения IN |
Пример и биты слова состояния выделения целой части числа
Округление до ближайшего большего целого числа
Команда Округлить до ближайшего большего целого числа считывает содержимое входного параметра IN как вещественное число и преобразует это число в двойное целое число. Результатом является наименьшее целое число, которое больше заданного вещественного числа или равно ему. Выходной параметр OUT предоставляет результат. Если происходит переполнение, то ENO равен 0.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN | REAL | I, Q, M, D, L | Преобразуемое значение | |
OUT | DINT | I, Q, M, D, L | Результат |
Пример и биты слова состояния округления до ближайшего большего целого числа
Округление до ближайшего меньшего целого числа
Команда Округлить до ближайшего меньшего целого числа считывает содержимое входного параметра IN как вещественное число и преобразует это число в двойное целое число. Результатом является наибольшее целое число, которое меньше заданного вещественного числа или равно ему. Выходной параметр OUT предоставляет результат. Если происходит переполнение, то ENO равен 0.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN | REAL | I, Q, M, D, L | Преобразуемое значение | |
OUT | DINT | I, Q, M, D, L | Результат |
Пример и биты слова состояния округления до ближайшего меньшего целого числа
<--Предыдущая статья | Следующая статья--> |