Сложение целых чисел
Состояние сигнала 1 на разрешающем входе (EN) активизирует команду Сложение целых чисел. Эта команда складывает входы IN1 и IN2. Результат может быть опрошен на выходе OUT. Если результат лежит вне допустимого диапазона для целых чисел, то биты OV и OS слова состояния имеют значение 1, а ENO - значение 0.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN1 | INT | I, Q, M, D, L | Первое слагаемое | |
IN2 | 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 | Разрешающий выход | |
IN1 | DINT | I, Q, M, D, L | Первое слагаемое | |
IN2 | DINT | I, Q, M, D, L | Второе слагаемое | |
OUT | DINT | I, Q, M, D, L | Сумма |
Пример и биты слова состояния сложения двойных целых чисел
Вычитание целых чисел
Состояние сигнала 1 на разрешающем входе (EN) активизирует команду Вычитание целых чисел. Эта команда вычитает вход IN2 из IN1. Результат может быть опрошен на выходе OUT. Если результат лежит вне допустимого диапазона для целых чисел, то биты OV и OS имеют значение 1, а ENO - значение 0.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN1 | INT | I, Q, M, D, L | Уменьшаемое | |
IN2 | 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 | Разрешающий выход | |
IN1 | DINT | I, Q, M, D, L | Уменьшаемое | |
IN2 | DINT | I, Q, M, D, L | Вычитаемое | |
OUT | DINT | I, Q, M, D, L | Разность |
Пример и биты слова состояния вычитания двойных целых чисел
Умножение целых чисел
Состояние сигнала 1 на разрешающем входе (EN) активизирует команду Умножение целых чисел. Эта команда умножает вход IN1 на IN2. Результат может быть опрошен на выходе OUT. Если результат лежит вне допустимого диапазона для целых чисел, то биты OV и OS имеют значение 1, а ENO - значение 0.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN1 | INT | I, Q, M, D, L | Первый сомножитель | |
IN2 | INT | I, Q, M, D, L | Второй сомножитель | |
OUT | DINT | I, Q, M, D, L | Произведение |
Пример и биты слова состояния умножения целых чисел
Умножение двойных целых чисел
Эта функция действует точно также как и предыдущая, разница лишь в том что она умножает двойные целые числа.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN1 | DINT | I, Q, M, D, L | Первый сомножитель | |
IN2 | DINT | I, Q, M, D, L | Второй сомножитель | |
OUT | DINT | I, Q, M, D, L | Произведение |
Пример и биты слова состояния умножения двойных целых чисел
Деление целых чисел
Состояние сигнала 1 на разрешающем входе (EN) активизирует команду Деление целых чисел. Эта команда делит вход IN1 на IN2. Частное от этого деления (округленный до целого результат) может быть опрошен на выходе OUT. Остаток от деления не может опрашиваться. Если частное лежит вне допустимого диапазона для целых чисел, то биты OV и OS имеют значение 1, а ENO - значение 0.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN1 | INT | I, Q, M, D, L | Делимое | |
IN2 | INT | I, Q, M, D, L | Делитель | |
OUT | INT | I, Q, M, D, L | Частное |
Пример и биты слова состояния деления целых чисел
Деление двойных целых чисел
Эта функция действует точно также как и предыдущая, разница лишь в том что она делит двойные целые числа. Команда Деление двойных целых чисел сохраняет частное в виде одного 32-битного значения в формате DINT и не формирует остатка от деления.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN1 | DINT | I, Q, M, D, L | Делимое | |
IN2 | DINT | I, Q, M, D, L | Делитель | |
OUT | DINT | I, Q, M, D, L | Частное |
Пример и биты слова состояния деления двойных целых чисел
Получение остатка от деления двойного целого числа
Состояние сигнала ”1” на разрешающем входе (EN) активизирует команду Получение остатка от деления двойного целого числа. Эта операция делит вход IN1 на IN2. Остаток от деления может быть опрошен на выходе OUT. Если результат лежит вне допустимого диапазона для двойных целых чисел, то биты OV и OS имеют значение 1, а ENO - значение 0.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN1 | DINT | I, Q, M, D, L | Делимое | |
IN2 | DINT | I, Q, M, D, L | Делитель | |
OUT | DINT | I, Q, M, D, L | Остаток |
Пример и биты слова состояния получения остатка от деления двойного числа
Оценка битов слова состояния после операций с целыми числами
Основные математические команды оказывают воздействие на следующие биты слова состояния:
- CC 1 и CC 0
- OV
- OS
Тире (–) в таблице означает, что результат операции не оказывает влияния
на этот бит.
Состояние сигнала битов слова состояния: результат в допустимом диапазоне
Допустимый диапазон для результата операции с целыми числами (16 и 32 бита) |
Биты слова состояния
|
|||
CC1 | CC0 | OV | OS | |
0 (ноль) | 0 | 0 | 0 | - |
16 битов: –32 768 . результат < 0 (отрицательное число) 32 бита: –2 147 483 648 . результат < 0 (отрицательное число) |
0 | 1 | 0 | - |
16 битов: 32 767 . результат > 0 (положительное число) 32 бита: 2 147 483 647 . результат > 0 (положительное число) |
1 | 0 | 0 | - |
Состояние сигнала битов слова состояния: результат вне допустимогодиапазона
Недопустимый диапазон для результата операции с целыми числами (16 и 32 бита) |
Биты слова состояния
|
|||
CC1 | CC0 | OV | OS | |
16 битов: результат > 32 767 (положительное число) 32 бита: результат > 2 147 483 647 (положительное число) |
1 | 0 | 1 | 1 |
16 битов: результат < –32 768 (отрицательное число) 32 бита: результат < –2 147 483 648 (отрицательное число) |
0 | 1 | 1 | 1 |
Состояние сигнала битов слова состояния: операции с целыми числами
(32 бита) +D, /D и MOD
Команда |
Биты слова состояния
|
|||
CC1 | CC0 | OV | OS | |
+D: результат = –4 294 967 296 | 0 | 0 | 1 | 1 |
/D или MOD: деление на 0 | 1 | 1 | 1 | 1 |
<--Предыдущая статья | Следующая статья--> |