Лекция
Привет, сегодня поговорим про команды переылки, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое команды переылки, преобразования в контактном плане , настоятельно рекомендую прочитать все из категории Программирование в контактном плане / LAD.
Команда Присвоить значение дает возможность предварительно снабдить переменную определенным значением. Значение, заданное на входе IN, копируется по адресу, указанному на выходе OUT. ENO имеет такое же состояние сигнала, как EN.
С помощью блока MOVE команда Присвоить значение может копировать все типы данных длиной 8, 16 или 32 бита. Определяемые пользователем типы данных, такие как массивы или структуры, должны копироваться при помощи встроенной системной функции Direct Word Move [прямая пересылка слова].
На команду присвоить значение оказывает воздействие Главное управляющее реле (Master Control Relay, MCR).
Блок 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 | Адрес назначения |
Пример и биты слова состояния команды присвоения значения
![]() |
Команда выполняется, если состояние сигнала входа I 0.0 равно 1. Содержимое слова памяти MW10 копируется в слово данных 12 открытого DB. Если операция выполнена, то выход Q 4.0 равен 1. |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | 1 | - | - | - | - | - | 1 | 1 | x |
Команда Преобразовать двоично-десятичное число в целое считывает содержимое входного параметра IN как трехразрядное двоично-десятичное число (BCD, ± 999) и преобразует это число в целое значение. Выходной параметр OUT предоставляет результат. ENO и EN всегда имеют одинаковое состояние сигнала. Если разряд двоично-десятичного числа находится в недопустимом диапазоне от 10 до 15, то во время попытки преобразования возникает ошибка BCDF.
Блок 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 | Целое значение двоично-десятичного числа |
Пример и биты слова состояния преобразования двоично-десятичного числа в целое
![]() |
Если состояние сигнала входа I 0.0 равно 1, то преобразование выполняется. Содержимое слова памяти MW10 считывается как трехразрядное двоично-десятичное число и преобразуется в целое. Результат сохраняется в слове памяти MW12. Если преобразование не выполнено, то состояние сигнала выхода Q 4.0 равно 1 (ENO = EN). |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | 1 | - | - | - | - | 0 | 1 | 1 | x |
Команда Преобразовать целое число в двоично-десятичное считывает содержимое входного параметра 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 | Результат в двоично-десятичном формате |
Пример и биты слова состояния преобразования целого числа в двоично-десятичное
![]() |
Если состояние сигнала входа I 0.0 равно 1, то преобразование выполняется. Содержимое слова памяти MW10 считывается как целое число и преобразуется в трехразрядное двоично-десятичное число. Результат сохраняется в слове памяти MW12. Если произошло переполнение, то состояние сигнала Q 4.0 равно 1. Если состояние сигнала на входе EN равно 0 (то есть преобразование не выполняется), то состояние сигнала выхода Q 4.0 также равно 1. |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | 1 | - | - | x | x | 0 | 1 | x | x |
Команда Преобразовать целое число в двойное целое считывает содержимое входного параметра 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 | Результат |
Пример и биты слова состояния преобразования целового числа в двойное целое число
![]() |
Если состояние сигнала входа I 0.0 равно 1, то преобразование выполняется. Содержимое слова памяти MW10 считывается как целое число и преобразуется в двойное целое число. Результат сохраняется в двойном слове памяти MD12. Если преобразование не выполнено, то состояние nсигнала выхода Q 4.0 равно 1 (ENO = EN). |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | 1 | - | - | - | - | 0 | 1 | 1 | x |
Команда Преобразовать двоично-десятичное число в двойное целое считывает содержимое входного параметра IN как семиразрядное двоично-десятичное число (BCD, ± 9 999 999) и преобразует это число в двойное целое число. Выходной параметр OUT предоставляет результат. ENO и EN всегда имеют одинаковое состояние сигнала.
Если разряд двоично-десятичного числа находится в недопустимом диапазоне от 10 до 15, то во время попытки преобразования возникает ошибка BCDF.
Блок 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 | Значение двоично-десятичного числа в формате двойного целого числа |
Пример и биты слова состояния преобразования двоично-десятичного числа в двойное целое
![]() |
Если состояние сигнала входа I 0.0 равно 1, то преобразование выполняется. Содержимое двойного слова памяти MD8 считывается как двоично-десятичное число и преобразуется в двойное целое число. результат сохраняется в двойном слове памяти MD12. Если преобразование не выполнено, то состояние сигнала выхода Q 4.0 равно 1 (ENO = EN). |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | 1 | - | - | - | - | 0 | 1 | 1 | x |
Эта команда считывает содержимое входного параметра IN как двойное целое число и
преобразует это значение в семиразрядное двоично-десятичное число (± 9 999 999). Об этом говорит сайт https://intellect.icu . Выходной параметр 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 | Результат в формате двоично- десятичного числа |
Пример и биты слова состояния преобразования двойного целого числа в двоично-десятичное
![]() |
Если состояние сигнала входа I 0.0 равно 1, то преобразование выполняется. Содержимое двойного слова памяти MD8 считывается как двойное целое число и преобразуется в семиразрядное двоично-десятичное число. Результат сохраняется в двойном слове памяти MD12. Если происходит переполнение, то состояние сигнала выхода, Q 4.0 равно 1. Если состояние сигнала на входе EN равно 0 (то есть преобразование не выполняется), то состояние сигнала выхода Q 4.0 также равно 1. |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | x | - | - | x | x | x | 1 | x | x |
Команда считывает содержимое входного параметра 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 | Результат в формате вещественного числа |
Пример и биты слова состояния преобразования двойного целого числа в число с плавающей точкой
![]() |
Если состояние сигнала входа I 0.0 равно 1, то преобразование выполняется. Содержимое двойного слова памяти MD8 считывается как двойное целое число и преобразуется в вещественное число. Результат сохраняется в двойном слове памяти MD12. Если преобразование не выполнено, то состояние сигнала выхода Q 4.0 равно 1 (ENO = EN). |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | 1 | - | - | - | - | 0 | 1 | 1 | x |
Команда Дополнить целое число до единицы считывает содержимое входного параметра 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 | Дополнение целого числа до единицы |
Пример и биты слова состояния дополнения целого числа до единицы
![]() |
Если состояние сигнала входа I 0.0 равно 1, то преобразование, выполняется. Каждый бит в MW8 инвертируется. MW8 = 00000000 00000000 —> MW10 = 11111111 11111111 Если преобразование не выполнено, то состояние сигнала выхода Q 4.0 равно 1 (ENO = EN). |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | х | - | - | - | - | х | 1 | х | x |
Команда Дополнить двойное целое число до единицы считывает содержимое входного параметра 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 | Дополнение двойногоцелого числа до единицы |
Пример и биты слова состояния дополнения двойного целого числа до единицы
![]() |
Если состояние сигнала входа I 0.0 равно 1, то преобразование выполняется. Каждый бит двойного слова MD8 изменяется: MD8 =FFFF FFFF –>MD10 = 0000 0000. Если преобразование не выполнено, то состояние сигнала выхода Q 4.0 равно 1 (ENO = EN). |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | х | - | - | - | - | х | 1 | х | x |
Эта команда считывает содержимое входного параметра 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 | Дополнение целого числа до двух |
Пример и биты слова состояния дополнение целого числа до двух
![]() |
Если состояние сигнала входа I 0.0 равно 1, то преобразование выполняется. Значение слова памяти MW8 через OUT передается с противоположным знаком в слово памяти MW10, как показано в следующем примере: MW8 = +10 —> MW10 = - 10. Если состояние сигнала EN равно 1 и происходит переполнение, то состояние сигнала ENO равно 0 и состояние сигнала выхода Q 4.0 равно 1. Если преобразование не выполнено, то состояние сигнала выхода Q 4.0 равно 1 (ENO = EN). |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | х | х | х | х | х | х | 1 | х | x |
Команда эдентична предыдущей, разница лишь в том, что операция выполняется над двойными числами.
Блок 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 | Дополнение двойного целого числа до двух |
Пример и биты слова состояния дополнения двойного целого числа до двух
![]() |
Если состояние сигнала входа I 0.0 равно 1, то преобразование выполняется. Значение слова памяти MW8 через OUT передается с противоположным знаком в слово памяти MW10, как показано в следующем примере: MW8 = +10 —> MW10 = - 10. Если состояние сигнала EN равно 1 и происходит переполнение, то состояние сигнала ENO равно 0 и состояние сигнала выхода Q 4.0 равно 1. Если преобразование не выполнено, то состояние сигнала выхода Q 4.0 равно 1 (ENO = EN). |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | х | х | х | х | х | х | 1 | х | x |
Эта команда изменяет знаковый бит числа (например, с 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 | Результат, представляющий собой входное значение с обратным знаком. |
Пример и биты слова состояния изменения знака числа с плавающей точкой
![]() |
Если состояние сигнала входа I 0.0 равно 1, то преобразование выполняется. Значение двойного слова памяти MD8 через OUT передается с противоположным знаком в двойное слово памяти MD12, как показано в следующем примере: MD8 = +6.234 x 10-3 —> MD12 = -6.234 x 10-3 Если преобразование не выполнено, то состояние сигнала выхода Q 4.0 равно 1 (ENO = EN). |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | х | - | - | - | - | 0 | x | х | 1 |
Команда Округлить до двойного целого числа считывает содержимое входного параметра 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, округленное до ближайшего целого числа |
Пример и биты слова состояния округления до двойного целого числа
![]() |
Если состояние сигнала входа I 0.0 равно 1, то преобразование выполняется. Содержимое двойного слова памяти MD8 считывается как вещественное число и преобразуется в двойное целое число. Результат этой функции округления до ближайшего двойного целого числа сохраняется в двойном слове памяти MD12. Если происходит переполнение, то состояние сигнала выхода Q 4.0 равно 1. Если состояние сигнала на входе EN равно 0 (то есть преобразование не выполняется), то состояние сигнала выхода Q 4.0 также равно 1. |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | х | - | - | x | x | x | 1 | х | x |
Команда Выделить целую часть числа считывает содержимое входного параметра 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 |
Пример и биты слова состояния выделения целой части числа
![]() |
Если состояние сигнала входа I 0.0 равно 1, то преобразование выполняется. Содержимое двойного слова памяти MD8 считывается как вещественное число и преобразуется в двойное целое число. Целая часть является результатом и сохраняется в двойном слове памяти MD12. Если происходит переполнение, то состояние сигнала выхода Q 4.0 равно 1. Если состояние сигнала на входе EN равно 0 (то есть преобразование не выполняется), то состояние сигнала выхода Q 4.0 также равно 1 |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | х | - | - | x | x | x | 1 | х | x |
Команда Округлить до ближайшего большего целого числа считывает содержимое входного параметра 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 | Результат |
Пример и биты слова состояния округления до ближайшего большего целого числа
![]() |
Если состояние сигнала входа I 0.0 равно 1, то преобразование выполняется. Содержимое двойного слова памяти MD8 считывается как вещественное число и преобразуется в двойное целое число с округлением до ближайшего большего (или равного) целого числа. Результат сохраняется в двойном слове памяти MD12. Если происходит переполнение, то состояние сигнала выхода Q 4.0 равно 1. Если состояние сигнала на входе EN равно 0 (то есть преобразование не выполняется), то состояние сигнала выхода Q 4.0 также равно 1. |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | х | - | - | x | x | x | 1 | х | x |
\
Команда Округлить до ближайшего меньшего целого числа считывает содержимое входного параметра 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 | Результат |
Пример и биты слова состояния округления до ближайшего меньшего целого числа
![]() |
Если состояние сигнала входа I 0.0 равно 1, то преобразование выполняется. Содержимое двойного слова памяти MD8 считывается как вещественное число и преобразуется в двойное целое число с округлением до ближайшего меньшего (или равного) целого числа. Результат сохраняется в двойном слове памяти MD12. Если происходит переполнение, то состояние сигнала выхода Q 4.0 равно 1. Если состояние сигнала на входе EN равно 0 (то есть преобразование не выполняется), то состояние сигнала выхода Q 4.0 также равно 1. |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | х | - | - | x | x | x | 1 | х | x |
Надеюсь, эта статья об увлекательном мире команды переылки, была вам интересна и не так сложна для восприятия как могло показаться. Желаю вам бесконечной удачи в ваших начинаниях, будьте свободными от ограничений восприятия и позвольте себе делать больше активности в изученном направлени . Надеюсь, что теперь ты понял что такое команды переылки, преобразования в контактном плане и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Программирование в контактном плане / LAD
Комментарии
Оставить комментарий
Промышленное программирование. программирование контроллеров
Термины: Промышленное программирование. программирование контроллеров