Руководство по программированию
6.1 Основные команды
S7-1200 Programmable controller
System Manual, 11/2009, A5E02669003-02
131
6.1.5 Арифметические команды
Команды сложения, вычитания, умножения и деления
Блоковые арифметические команды используются для
программирования основных арифметических операций:
ADD: Сложение (IN1 + IN2 = OUT)
SUB: Вычитание (IN1 - IN2 = OUT)
MUL: Умножение (IN1 * IN2 = OUT)
DIV: Деление (IN1 / IN2 = OUT)
При целочисленном делении дробная часть частного
отбрасывается, что приводит к появлению целочисленного
выходного значения.
Щелкните под именем блока и выберите тип данных из ниспадающего меню.
Указание
Параметры основных арифметических команд IN1, IN2 и OUT должны относиться к
одному и тому же типу данных.
Параметр Тип данных Описание
IN1, IN2 SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Constant Входы арифметических
команд
OUT SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal Выход арифметических
команд
Если арифметическая команда активизирована (EN = 1), то она выполняет указанную
операцию над входными значениями (IN1 и IN2) и сохраняет результат по адресу,
указанному в выходном параметре (OUT). После успешного выполнения операции
команда устанавливает ENO = 1.
Состояние
ENO
Описание
1 Нет ошибки
0 Результирующе значение арифметической операции находится вне допустимого
диапазона значений для выбранного типа данных. Возвращается наименьшая
значащая часть результата, которая подходит по размеру целевой величине.
0 Деление на 0 (IN2 = 0): Результат неопределен, и возвращается ноль.
0 Real/LReal: Если одна из входных величин является NaN (не число), то
возвращается NaN.
0 ADD Real/LReal: Если обе входных величины (IN) равны бесконечности (INF) с
разными знаками, то эта операция недопустима, и возвращается NaN.
0 SUB Real/LReal: Если обе входных величины (IN) равны бесконечности (INF) с
одинаковым знаком, то эта операция недопустима, и возвращается NaN.
0 MUL Real/LReal: Если одна из входных величин (IN) равна нулю, а другая INF, то
эта операция недопустима и возвращается NaN.
0 DIV Real/LReal: Если обе входных величины (IN) равны нулю или INF, то эта
операция недопустима и возвращается NaN.