Лекция
Привет, сегодня поговорим про операции с целыми числами в контактном плане, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое операции с целыми числами в контактном плане , настоятельно рекомендую прочитать все из категории Программирование в контактном плане / LAD.
Состояние сигнала 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 | Сумма |
Пример и биты слова состояния сложения целых чисел
Состояние сигнала 1 на входе I 0.0 активизирует блок ADD_I. Результат сложения MW0 + MW2 помещается в слово памяти MW10. Если результат выходит за пределы допустимого диапазона для целых чисел или состояние сигнала на входе I 0.0 равно 0, то выход Q 4.0 устанавливается. |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | x | x | x | x | x | x | 1 | x | х |
Эта функция действует точно также как и предыдущая, разница лишь в том что она складывает двойные целые числа.
Блок 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 на входе I 0.0 активизирует блок ADD_DI. Результат сложения MD0 + MD4 помещается в двойное Слово памяти MD10. Если результат выходит за пределы допустимого диапазона для двойных целых чисел или состояние сигнала на входе I 0.0 равно 0, то выход Q 4.0 устанавливается. |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | x | x | x | x | x | x | 1 | x | х |
Состояние сигнала 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 | Разность |
Пример и биты слова состояния вычитания целых чисел
Состояние сигнала 1 на входе I 0.0 активизирует блок SUB_I. Результат вычитания MW0 - MW2 помещается в слово памяти MW10. Если результат выходит за пределы допустимого диапазона для целых чисел или состояние сигнала на входе I 0.0 равно 0, то выход Q 4.0 устанавливается. |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | x | x | x | x | x | x | 1 | x | х |
Эта функция действует точно также как и предыдущая, разница лишь в том что она вычитает двойные целые числа.
Блок 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 на входе I 0.0 активизирует блок SUB_DI. Об этом говорит сайт https://intellect.icu . Результат вычитания MD0 - MD4 помещается в двойное слово памяти MD10. Если результат выходит за пределы допустимого диапазона для двойных целых чисел или состояние сигнала на входе I 0.0 равно 0, то выход Q 4.0 устанавливается. |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | x | x | x | x | x | x | 1 | x | х |
Состояние сигнала 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 | Произведение |
Пример и биты слова состояния умножения целых чисел
Состояние сигнала 1 на входе I 0.0 активизирует блок MUL_I. Результат умножения MW0 x MW2 помещается в двойное слово памяти MD10. Если результат выходит за пределы допустимого диапазона для двойных целых чисел или состояние сигнала на входе I 0.0 равно 0, то выход Q 4.0 устанавливается. |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | x | x | x | x | x | x | 1 | x | х |
Эта функция действует точно также как и предыдущая, разница лишь в том что она умножает двойные целые числа.
Блок 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 на входе I 0.0 активизирует блок MUL_DI. Результат умножения MD0 x MD4 помещается в двойное слово памяти MD10. Если результат выходит за пределы допустимого диапазона для двойных целых чисел или состояние сигнала на входе I 0.0 равно 0, то выход Q 4.0 устанавливается. |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | x | x | x | x | x | x | 1 | x | х |
Состояние сигнала 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 | Частное |
Пример и биты слова состояния деления целых чисел
Состояние сигнала 1 на входе I 0.0 активизирует DIV_I. Частное от деления MW0 на MW2 помещается в слово памяти MW10. Если частное выходит за пределы допустимого диапазона для целых чисел или состояние сигнала на входе I 0.0 равно 0, то выход Q 4.0 устанавливается. |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | x | x | x | x | x | x | 1 | x | х |
Эта функция действует точно также как и предыдущая, разница лишь в том что она делит двойные целые числа.Команда Деление двойных целых чисел сохраняет частное в виде одного 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 на входе I 0.0 активизирует блок DIV_DI.Частное от деления MD0 на MD4 помещается в двойное слово памяти MD10. Если частное выходит за пределы допустимого диапазона для двойных целых чисел или состояние сигнала на входе I 0.0 равно 0, то выход Q 4.0 устанавливается. |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | x | x | x | x | x | x | 1 | x | х |
Состояние сигнала ”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 | Остаток |
Пример и биты слова состояния получения остатка от деления двойного числа
Состояние сигнала 1 на входе I 0.0 активизирует блок MOD. Остаток от деления MD0 на MD4 хранится в двойном слове памяти MD10. Если результат выходит за пределы допустимого диапазона для двойных целых чисел или состояние сигнала на входе I 0.0 равно 0, выход Q 4.0 устанавливается. |
Биты слова состояния | |||||||||
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | FC | |
Запись | x | x | x | x | x | x | 1 | x | х |
Основные математические команды оказывают воздействие на следующие биты слова состояния:
Тире (–) в таблице означает, что результат операции не оказывает влияния
на этот бит.
Состояние сигнала битов слова состояния: результат в допустимом диапазоне
Допустимый диапазон для результата операции с целыми числами (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 |
Надеюсь, эта статья об увлекательном мире операции с целыми числами в контактном плане, была вам интересна и не так сложна для восприятия как могло показаться. Желаю вам бесконечной удачи в ваших начинаниях, будьте свободными от ограничений восприятия и позвольте себе делать больше активности в изученном направлени . Надеюсь, что теперь ты понял что такое операции с целыми числами в контактном плане и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Программирование в контактном плане / LAD
Комментарии
Оставить комментарий
Промышленное программирование. программирование контроллеров
Термины: Промышленное программирование. программирование контроллеров