Сложение целых чисел
Состояние сигнала 1 на входе EN (деблокировка входа) активизирует команду Сложить целые числа в функциональном плане(FBD). Эта команда складывает входы IN1 и IN2. Результат можно считать на OUT. Если результат выходит за пределы допустимого диапазона для целых чисел, то биты OV и OS слова состояния равны 1, а ENO равно 0.
Элемент FBD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L ,T, C | Деблокировка входа |
IN1 | INT | I, Q, M, D, L или константа | Первое слагаемое | |
IN2 | INT | I, Q, M, D, L или константа | Второе слагаемое | |
OUT | INT | I, Q, M, D, L | Результат сложения | |
ENO | BOOL | I, Q, M, D, L | Деблокировка выхода |
Пример и биты слова состояния операции сложение целых чисел для функционального плана
Сложение двойных целых чисел
Состояние сигнала 1 на входе EN (деблокировка входа) активизирует команду Сложить двойные целые числа в функциональном плане программы STEP7 для контроллеров SIMATIC. Эта команда складывает входы IN1 и IN2. Результат можно считать на OUT. Если результат выходит за пределы допустимого диапазона для двойных целых чисел, то биты OV и OS слова состояния равны 1, а ENO равно 0.
Элемент FBD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L ,T, C | Деблокировка входа |
IN1 | DINT | I, Q, M, D, L или константа | Первое слагаемое | |
IN2 | DINT | I, Q, M, D, L или константа | Второе слагаемое | |
OUT | DINT | I, Q, M, D, L | Результат сложения | |
ENO | BOOL | I, Q, M, D, L | Деблокировка выхода |
Пример и биты слова состояния для сложения двойных чисел
Вычитание целых чисел
Состояние сигнала 1 на входе EN активизирует команду Вычесть целые числа. Команда вычитает вход IN2 из IN1. Результат считывается на OUT. Если результат выходит за пределы допустимого диапазона для целых чисел, то биты OV и OS слова состояния равны 1, а ENO равно 0.
Элемент FBD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L ,T, C | Деблокировка входа |
IN1 | INT | I, Q, M, D, L или константа | Уменьшаемое | |
IN2 | INT | I, Q, M, D, L или константа | Вычитаемое | |
OUT | INT | I, Q, M, D, L | Результат вычитания | |
ENO | BOOL | I, Q, M, D, L | Деблокировка выхода |
Пример и биты слова состояния для вычитания простых чисел
Вычитание двойных целых чисел
Состояние сигнала 1 на входе EN активизирует команду Вычесть двойные целые числа. Команда вычитает вход IN2 из IN1. Результат считывается на OUT. Если результат выходит за пределы допустимого диапазона для двойных целых чисел, то биты OV и OS слова состояния равны 1, а ENO равно 0.
Элемент FBD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L ,T, C | Деблокировка входа |
IN1 | DINT | I, Q, M, D, L или константа | Уменьшаемое | |
IN2 | DINT | I, Q, M, D, L или константа | Вычитаемое | |
OUT | DINT | I, Q, M, D, L | Результат вычитания | |
ENO | BOOL | I, Q, M, D, L | Деблокировка выхода |
Пример и биты слова состояния вычитания двойных слов в функциональном плане
Умножение целых чисел
Данная команда перемножает входы IN1 и IN2 если на входе EN сигнал равен 1. Результат в виде
32-битного целого числа можно считать на OUT. Если результат выходит за пределы допустимого диапазона для 16-битных чисел, то биты OV и OS слова состояния равны 1, а ENO равно 0.
Элемент FBD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L ,T, C | Деблокировка входа |
IN1 | INT | I, Q, M, D, L или константа | Первый множитель | |
IN2 | INT | I, Q, M, D, L или константа | Второй множитель | |
OUT | DINT | I, Q, M, D, L | Результат умножения | |
ENO | BOOL | I, Q, M, D, L | Деблокировка выхода |
Пример и биты слова состояния умножения слов в функциональном плане
Умножение двойных целых чисел
Если состояние сигнала на входе EN равно 1, то команда перемножает входы IN1 и IN2.
Результат в виде 32-битного целого числа можно считать на OUT. Если результат выходит за пределы допустимого диапазона для двойных целых чисел, то биты OV и OS слова состояния равны 1, а ENO равно 0.
Элемент FBD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L ,T, C | Деблокировка входа |
IN1 | DINT | I, Q, M, D, L или константа | Первый множитель | |
IN2 | DINT | I, Q, M, D, L или константа | Второй множитель | |
OUT | DINT | I, Q, M, D, L | Результат умножения | |
ENO | BOOL | I, Q, M, D, L | Деблокировка выхода |
Пример и биты слова состояния умножения двойных слов в функциональном планe
Деление целых чисел
Эта команда делит вход IN1 на IN2. команда выполняется только если сигнал на входе EN равен 1. Целую часть частного от деления (округленный результат) можно считать на OUT. Если частное выходит за пределы допустимого диапазона для целого числа, то биты OV и OS слова состояния равны 1, а ENO равно 0.
Элемент FBD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L ,T, C | Деблокировка входа |
IN1 | INT | I, Q, M, D, L или константа | Делимое | |
IN2 | INT | I, Q, M, D, L или константа | Делитель | |
OUT | INT | I, Q, M, D, L | Результат деления | |
ENO | BOOL | I, Q, M, D, L | Деблокировка выхода |
Пример и биты слова состояния деления слов для контроллеров SIMATIC
Деление двойных целых чисел
Эта команда работает также как и деление простых целых чисел, но с разницей что делит не простые 16 битные слова, а 32 битные.
Элемент FBD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L ,T, C | Деблокировка входа |
IN1 | DINT | I, Q, M, D, L или константа | Делимое | |
IN2 | DINT | I, Q, M, D, L или константа | Делитель | |
OUT | DINT | I, Q, M, D, L | Результат деления | |
ENO | BOOL | I, Q, M, D, L | Деблокировка выхода |
Пример и биты слова состояния деления двойных слов для контроллеров SIMATIC
Получение остатка от деления двойных целых чисел
Состояние сигнала 1 на входе EN (деблокировка входа) активизирует команду Вернуть остаток от деления двойных целых чисел. Эта команда делит вход IN1 на IN2. Остаток от деления можно считать на OUT. Если результат выходит за пределы допустимого диапазона для двойного целого числа, то биты OV и OS слова состояния равны 1, а ENO равно 0.
Элемент FBD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L ,T, C | Деблокировка входа |
IN1 | DINT | I, Q, M, D, L или константа | Делимое | |
IN2 | DINT | I, Q, M, D, L или константа | Делитель | |
OUT | DINT | I, Q, M, D, L | Остаток деления | |
ENO | BOOL | I, Q, M, D, L | Деблокировка выхода |
Оценка битов слова состояния в случае арифметических операций с целыми числами
Операции с целыми числами влияют на следующие биты слова состояния:
- CC1 и CC0
- OV
- OS
Тире (–) в таблице означает, что результат операции не влияет на этот бит.
Состояние сигнала битов слова состояния результат в допустимом диапазоне
Допустимый диапазон результата | Биты слова состояния | |||
---|---|---|---|---|
Целые (16 и 32 бита) | CC1 | CC0 | OV | OS |
ноль | 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 |
<--Предыдущая статья | Следующая статья--> |