Главная Книги - Разные Программируемые управляющие устройства VersaMax (ПЛК Micro и ПЛК Nano). Руководство пользователя (2002 год)
поиск по сайту правообладателям
|
|
содержание .. 10 11 12 13 ..
16
Функции Преобразования Типов Данных
Преобразовать в целое число со знаком (INT)
Функция преобразования в целое число со знаком выводит целочисленный
эквивалент данных в формате BCD-4 или вещественных данных. Исходные данные
этой функцией не изменяются. Выходные данные могут непосредственно
использоваться как входные в других функциях программы.
Когда функция получает питание, она выполняет преобразование, выводя результат
на выход Q. Функция пропускает питание всякий раз, когда она его получает, если
данные не выходят за пределы допустимого диапазона.
Enable
BCD4TO
OK
INT
Преобразуемое
значение
IN Q
Выход
Параметры функции преобразования в целое число со знаком
Вход/
Варианты
Описание
выход
enable
питание
Преобразование выполняется, когда подано
питание.
IN
Для BCD-4: I, Q, M, T, G, R, AI, AQ,
IN содержит значение в формате BCD-4,
константы
вещественном, или значение константы,
преобразуемое в целое число со знаком.
Для вещественных чисел: R, AI,
AQ
ok
питание, отсутствие питания
Выход OK включается всякий раз, когда функция
получает питание, если данные не выходят из
диапазона и являются числом.
Q
Для BCD-4: I, Q, M, T, G, R, AI, AQ
Выход Q содержит целочисленный эквивалент
исходного значения IN.
Для вещественных чисел: R, AI,
AQ
16-54
16
Функции Преобразования Типов Данных
Преобразовать в целое число со знаком (INT)
Пример
В примере всякий раз, когда вход %I0002 устанавливается в 1, число в формате
BCD-4 из параметра PARTS преобразуется в целое число со знаком и передается в
функцию сложения, где складывается с целым числом со знаком RUNNING. Сумма
выводится функцией сложения в ячейку TOTAL.
%I0002
BCD4TO
ADD
INT
INT
PARTS
IN Q
%R0001
%R0001
IN1 Q
TOTAL
RUNNING
IN2
Глава 16 Система команд
16-55
16
Функции Преобразования Типов Данных
Преобразование в целое число двойной точности (DINT)
Функция преобразования в целое число двойной точности со знаком выводит
целочисленный эквивалент вещественных данных двойной точности. Исходные
данные этой функцией не изменяются. Выходные данные могут непосредственно
использоваться как входные в других функциях программы.
Когда функция получает питание, она выполняет преобразование, выводя результат
на выход Q. Функция пропускает питание всякий раз, когда она его получает, если
вещественные данные не выходят за пределы допустимого диапазона.
Enable
REALTO
OK
INT
Преобразуемое
значение
IN Q
Выход
Обратите внимание, что при преобразовании вещественных данных в целое число
двойной точности может произойти потеря точности, т. к. вещественные данные
имеют 24 значащих бита.
Параметры функции преобразования в целое число двойной точности со
знаком
Вход/
Варианты
Описание
выход
enable
питание
Преобразование выполняется, когда подано питание.
IN
I, Q, M, T, G, R, AI, AQ, константы
Константа или ячейка с преобразуемым значением.
ok
питание, отсутствие питания
Выход OK включается всякий раз, когда функция
получает питание, если данные не выходят за пределы
диапазона.
Q
R, AI, AQ
Ячейка, содержащая целочисленный эквивалент со
знаком исходного значения двойной точности.
Пример
В примере всякий раз, когда вход %I0002 устанавливается в 1, целое значение из
ячейки %I0017 преобразуется в целое значение двойной точности со знаком, и
результат помещается в ячейку %R0001. Выход %Q1001 устанавливается в 1 всякий
раз, когда функция выполняется успешно.
%I0002
%Q1001
INT TO
DINT
%I0017
IN Q
%R0001
16-56
16
Функции Преобразования Типов Данных
Преобразование в вещественные данные (REAL)
Функция преобразования в вещественные данные выводит вещественный
эквивалент входных данных. Исходные данные этой функцией не изменяются.
Выходные данные могут непосредственно использоваться как входные в других
функциях программы.
Когда функция получает питание, она выполняет преобразование, выводя результат
на выход Q. Функция пропускает питание всякий раз, когда она его получает, если
значение результата указанного преобразования не выходит за пределы
допустимого диапазона.
Обратите внимание, что при преобразовании целого числа с двойной точностью в
вещественные данные может произойти потеря точности, т. к. количество значащих
бит уменьшается до 24.
Enable
INT TO
OK
REAL
Преобразуемое
значение
IN Q
Выход
Параметры функции преобразования в формат вещественного числа
Вход/
Варианты
Описание
выход
enable
питание
Преобразование выполняется, когда подано питание.
IN
R AI, AQ, константа
IN содержит ячейку с целым числом, преобразуемым в
вещественное.
Только для INT: I, Q, M, T, G
ok
питание, отсутствие
ОК включен, если функция выполнена без ошибок.
питания
Q
R, AI, AQ
Вещественный эквивалент исходного значения в IN.
Пример
В примере целочисленное значение входа IN равно 678. Результат, помещенный в
%T0016, равен 678.000.
%I0002
INT TO
REAL
%T0001
IN Q
%R0016
Глава 16 Система команд
16-57
16
Функции Преобразования Типов Данных
Преобразование вещественных данных в форму слов (WORD)
Функция преобразования в данные слова выводит эквивалент вещественных данных
в формате слова. Исходные данные этой функцией не изменяются.
Когда функция получает питание, она выполняет преобразование, выводя результат
на выход Q. Функция пропускает питание всякий раз, когда она его получает, если
значение результата указанного преобразования не выходит из диапазона 0 - FFFFh.
Enable
REALTO
OK
WORD
Преобразуемое
значение
IN Q
Выход
Параметры функции преобразования в данные слова
Вход/
Варианты
Описание
выход
enable
питание
Преобразование выполняется, когда подано питание.
IN
R AI, AQ, константа
IN содержит ячейку со значением, преобразуемым в формат
слова.
ok
питание, отсутствие питания
ОК включен, если функция выполнена без ошибок.
Q
I, Q, M, T, G, R, AI, AQ
Содержит исходное значение IN в форме целого числа без
знака.
Пример
%I0002
REALTO
RANGE
WORD
WORD
%Q1001
%R0001
IN Q
%R0003
HI_LIM
L1
Q
LOW_LIM
L2
%R0003
IN
16-58
16
Функции Преобразования Типов Данных
Округление вещественного числа (TRUN)
Функция округления копирует вещественное число и округляет скопированное
число в сторону уменьшения до целого или целого с двойной точностью. Исходные
данные этой функцией не изменяются. Выходные данные могут непосредственно
использоваться как входные в других функциях программы.
Когда функция получает питание, она выполняет преобразование, выводя результат
на выход Q. Функция пропускает питание всякий раз, когда она его получает, если
значение результата указанного преобразования не выходит за пределы
допустимого диапазона, и значение IN является числом.
Enable
TRUNC
OK
INT
Преобразуемое
значение
IN Q
Выход
Параметры функции округления (TRUN)
Вход/
Варианты
Описание
выход
enable
питание
Преобразование выполняется, когда подано питание.
IN
R AI, AQ, константа
IN содержит ячейку с округляемым вещественным
значением.
ok
питание, отсутствие
Выход OK включается всякий раз, когда функция
питания
получает питание, если данные не выходят за
пределы допустимого диапазона и являются числом.
Q
R, AI, AQ
Q содержит округленное целое или целое с двойной
Только для целых чисел:
точностью значение исходного значения IN.
I, Q, M, T, G
Пример
В примере показанная константа округляется и получившееся целое число 562
помещается в ячейку %T0001.
%I0002
TRUNC
OK
INT
CONST
IN Q
%T0001
5.62987E+02
Глава 16 Система команд
16-59
16
Математические и Арифметические Функции
Этот раздел описывает математические и арифметические функции системы
команд:
Стандартные математические функции: Сложение (ADD), Вычитание (SUB),
Умножение (MUL), Деление (DIV)
Деление по модулю
Функция масштабирования
Квадратный корень
Тригонометрические функции
Логарифмические/Экспоненциальные функции
Перевести в градусы
Перевести в радианы
Преобразование данных для математических и числовых функций
Может потребоваться включить в программу логику для преобразования данных в
другой тип перед использованием математической или числовой функции.
Описание каждой функции включает информацию о подходящих типах данных. Как
преобразовать данные в другой тип, объясняется в разделе Функции
Преобразования типов Данных.
16-60
16
Математические и Арифметические Функции
Сложение (ADD), Вычитание (SUB), Умножение (MUL), Деление (DIV)
Стандартными математическими функциями являются сложение (ADD), вычитание
(SUB), умножение (MUL), деление (DIV). Функция деления (DIV) округляет в
меньшую сторону; она не округляет до ближайшего целого.
(Например, 24 DIV 5 = 4.)
Когда математическая функция получает питание, выполняется действие с
входными параметрами IN1 и IN2. Параметры IN1, IN2 и выход Q должны быть
данными одного типа.
Enable
ADDINT
OK
Вход 1
IN1 Q
Выход
Вход 2
IN2
Стандартные математические функции пропускают питание, если нет
математического переполнения. В случае переполнения результатом будет самое
большое значение с соответствующим знаком и отсутствие питания на выходе.
Параметры стандартных математических функций
Вход/
Варианты
Описание
выход
enable
питание
Операция выполняется, когда подано питание.
IN1
Все типы данных: R AI,
IN1 содержит константу или ячейку с первым значением, используемым
AQ, константа
в действии. (IN1 находится на левой стороне математического
выражения, как в IN1 + IN2).
Только данные типа
INT: I, Q, M, T, G
Диапазон констант при действиях с целыми числами двойной точности
со знаком составляет минимум/максимум значения DINT.
IN2
Все типы данных: R AI,
IN2 содержит константу или ячейку со вторым значением,
AQ, константа
используемым в действии. (IN2 находится на правой стороне
математического выражения, как в IN1 + IN2). Диапазон констант при
Только данные типа
действиях с целыми числами двойной точности со знаком составляет
INT: I, Q, M, T, G
минимум/максимум значения DINT.
ok
питание, отсутствие
Выход OK включен, когда функция выполняется без переполнения,
питания
если не происходит недопустимой операции.
Q
Все типы данных: R, AI,
Выход Q содержит результат операции.
AQ
Только данные типа
INT: I, Q, M, T, G
Глава 16 Система команд
16-61
16
Математические и Арифметические Функции
Сложение (ADD), Вычитание (SUB), Умножение (MUL), Деление (DIV)
Типы данных для стандартных математических функций
Стандартные математические функции работают со следующими типами данных:
INT
Целое число со знаком
DINT
Целое число со знаком двойной
точности
REAL
Число с плавающей точкой
Типы данных входных и выходных параметров должны быть одинаковыми (16 бит
или 32 бита).
16-62
16
Математические и Арифметические Функции
Сложение (ADD), Вычитание (SUB), Умножение (MUL), Деление (DIV)
Избежание переполнения
Будьте внимательны, чтобы избежать переполнения при использовании функций
умножения (ADD) и деления (DIV).
Если Вы должны преобразовать целое значение в целое с двойной точностью,
помните, что ЦПУ использует стандартное двоичное представление со знаком,
расположенным в старшем бите второго слова. Вы должны проверить знак
младшего 16-битового слова и перенести его во второе 16-битовое слово. Если
старший бит в 16-битовом слове типа INT - 0 (плюс), перенесите 0 во второе слово.
Если старший бит в 16-битовом слове - 1 (минус), перенесите 1 или
шестнадцатиричное значение 0FFFFh во второе слово.
Преобразование из целого с двойной точностью в целое проще, т. к. младшее 16-
битовое слово (первый регистр) является целой частью 32-битового слова в формате
целого значения с двойной точностью (DINT). Старшие 16 бит должны быть 0
(плюс) или 1 (минус), в противном случае целое число с двойной точностью будет
слишком большим для преобразования в 16 бит.
Глава 16 Система команд
16-63
16
Математические и Арифметические Функции
Сложение (ADD), Вычитание (SUB), Умножение (MUL), Деление (DIV)
Пример
В этом примере используются функции сложения и вычитания для учета количества
деталей в зоне временного хранения. Каждый раз, когда деталь поступает в зону
хранения, питание через реле %I0004 поступает на катушку положительного
перехода с адресом %M0001. Реле %M0001 подает питание на функцию сложения,
прибавляя значение 1 (константу) к текущему общему значению, находящемуся в
ячейке %R0201.
Каждый раз, когда деталь покидает в зону хранения, питание через реле %I0005
поступает на катушку положительного перехода с адресом %M0002. Реле %M0002
подает питание на функцию вычитания, вычитая значение 1 (константу) из
текущего общего значения, находящегося в ячейке %R0201.
%I0004
%M0001
%I0005
%M0002
%M0001
ADDINT
%R0201
IN1 Q
%R0201
CONST
IN2
+00001
%M0002
SUBINT
%R0201
IN1 Q
%R0201
CONST
IN2
+00001
16-64
16
Математические и Арифметические Функции
Деление по модулю (MOD)
Функция деления по модулю делит одно значение на другое (имеющее тот же тип
данных), для получения остатка. Знак остатка всегда совпадает со знаком входного
параметра IN1. Функция деления по модулю работает со следующими типами
данных:
INT
Целое число со знаком
DINT
Целое число со знаком двойной
точности
Когда функция получает питание, она делит вход IN1 на вход IN2. Эти параметры
должны иметь одинаковый тип данных. Выход Q считается по формуле:
Q = IN1-((IN1 DIV I2) * I2)
Деление (DIV) дает целое число. Тип данных выхода Q совпадает с типом данных
входов IN1 и IN2.
При получении функцией питания выход OK всегда включен, если не выполняется
деление на 0. В этом случае он выключен.
Enable
MODINT
OK
Вход 1
IN1 Q
Выход
Вход 2
IN2
Параметры функции деления по модулю (MOD)
Вход/
Варианты
Описание
выход
enable
питание
Операция выполняется, когда подано питание.
IN1
Все типы данных: R AI, AQ,
IN1 содержит константу или ячейку со значением, которое
константа
будет делиться на IN2. Диапазон констант при действиях с
целыми числами двойной точности со знаком составляет
Только данные типа INT: I, Q,
минимум/максимум значения DINT.
M, T, G
IN2
Все типы данных: R AI, AQ,
IN2 содержит константу или ячейку со значением, на которое
константа
будет делиться IN1. Диапазон констант при действиях с
целыми числами двойной точности со знаком составляет
Только данные типа INT: I, Q,
минимум/максимум значения DINT.
M, T, G
ok
питание, отсутствие питания
Выход OK включается, когда функция выполняется без
переполнения.
Q
Все типы данных: R, AI, AQ
Выход Q содержит остаток от деления IN1 на IN2.
Только данные типа INT: I, Q,
M, T, G
Глава 16 Система команд
16-65
16
Математические и Арифметические Функции
Деление по модулю (MOD)
Пример
В примере остаток от деления значения PALLETS на значение BOXES помещается
в NT_FULL, всякий раз, когда контакт %I0001 включен.
%I0001
MODINT
PALLETS
-00017
IN1 Q
NT_FULL
-0005
BOXES
IN2
+0006
16-66
16
Математические и Арифметические Функции
Масштабирование (SCALE)
Функция масштабирования масштабирует входной параметр и помещает результат
в выходную ячейку. Для данных целого типа (INT) все параметры должны быть
целыми (со знаком). Для данных типа слово (WORD) все параметры должны быть
типа слово (без знака).
Enable
SCALE
OK
INT
Макс. Вх. значение
IHI
OUT
Выход
Мин. Вх. значение
ILO
Макс. Вых. значение
OHI
Мин. Вых. значение
OLO
Вход
IN
Параметры функции масштабирования (SCALE)
Вход/
Варианты
Описание
выход
enable
питание
Операция выполняется, когда подано питание.
IHI
R AI, AQ,
Параметры IHI и ILO содержат константы или адреса ячеек для верхнего
константа
и нижнего пределов немасштабированных данных. Эти пределы,
ILO
совместно со значениями параметров OHI и OLO, используются для
вычисления коэффициента масштабирования, который будет
применяться к входному значению IN.
OHI
R AI, AQ,
Параметры OHI и OLO содержат константы или адреса ячеек для
OLO
константа
верхнего и нижнего пределов масштабированных данных.
IN
R AI, AQ,
IN содержит константу или адрес ячейки фактического масштабируемого
константа
значения.
ok
питание,
Выход OK включается, когда функция выполняется без переполнения.
отсутствие
питания
OUT
R, AI, AQ
Выход OUT содержит масштабированный эквивалент входного значения.
Глава 16 Система команд
16-67
16
Математические и Арифметические Функции
Масштабирование (SCALE)
Пример
В примере регистры с %R0120 по %R0123 используются для хранения верхних и
нижних границ масштабирования. Входным масштабируемым значением является
аналоговый вход %AI0017. Масштабированные выходные данные используются для
управления аналоговым выходом %AQ0017. Масштабирование выполняется всякий
раз, когда контакт %I0001 включен.
%I0001
SCALE
OK
INT
%R0120
IHI
OUT
%AQ0017
%R0121
ILO
%R0122
OHI
%R0123
OLO
%AI0017
IN
16-68
16
Математические и Арифметические Функции
Квадратный корень (SQROOT)
Функция квадратного корня (SQROOT) находит квадратный корень значения. Когда
функция получает питание, выход Q устанавливается в значение целой части
квадратного корня значения входа IN. Тип данных выхода Q должен совпадать с
типом данных IN.
Функция квадратного корня (SQROOT) работает со следующими типами данных:
INT
Целое число со знаком
DINT
Целое число со знаком двойной точности
REAL
Число с плавающей точкой
Выход OK включен, если функция выполняется без переполнения, пока не
возникнет одна из следующих недопустимых ситуаций:
IN < 0
IN не является числом (NaN)
В этом случае выход OK выключен.
Enable
SQRT INT
OK
Вход
N Q
Выход
Параметры функции квадратного корня (SQROOT)
Вход/
Варианты
Описание
выход
enable
питание
Операция выполняется, когда подано питание.
IN
Все типы данных: R AI, AQ,
Константа или адрес значения, квадратный корень
константа
которого будет вычисляться. Если IN меньше 0, функция
не пропустит питания. Диапазон констант при действиях
Только данные типа INT: I, Q, M, T, G
с целыми числами двойной точности со знаком
составляет минимум/максимум значения DINT.
ok
питание, отсутствие питания
Выход OK включен, когда функция выполняется без
переполнения, если не происходит недопустимой
операции.
Q
Все типы данных: R, AI, AQ
Выход Q содержит квадратный корень IN.
Только данные типа INT: I, Q, M, T, G
Глава 16 Система команд
16-69
16
Математические и Арифметические Функции
Квадратный корень (SQROOT)
Пример
В примере квадратный корень целого числа, находящегося в ячейке %AI001,
помещается в ячейку %R0003 всякий раз, когда контакт %I0001 включен.
%I0001
SQRT INT
%AI001
IN Q
%R0003
16-70
16
Математические и Арифметические Функции
Тригонометрические функции (Trigonometric Functions)
Существует шесть тригонометрических функций: синус (SIN), косинус (COS),
тангенс (TAN), арксинус (ASIN), арккосинус (ACOS) и арктангенс (ATAN).
Синус (SIN), косинус (COS) и тангенс (TAN)
Когда функция синус (SIN), косинус (COS) или тангенс (TAN) получает питание,
она выполняет действие над значением IN, выраженным в радианах, и сохраняет
результат в выходе Q. И IN, и Q являются значениями с плавающей точкой.
Enable
sin
OK
Вход
IN Q
Выход
Функции синус (SIN), косинус (COS) и тангенс (TAN) обрабатывают широкий
диапазон входных значений, а именно
-263 < IN <+263, (263 = 9.22x1018)
Арксинус (ASIN), арккосинус (ACOS) и арктангенс (ATAN)
Когда функция арксинус (ASIN), арккосинус (ACOS) или арктангенс (ATAN)
получает питание, она выполняет действие над значением IN, и сохраняет результат,
выраженный в радианах, в выходе Q. И IN, и Q являются значениями с плавающей
точкой.
Функции арксинус (ASIN) и арккосинус (ACOS) обрабатывают узкий диапазон
входных значений, а именно
-1 < IN < 1.
Получив допустимое значение параметра IN, арксинус выдает результат Q, как:
ASIN (IN)
=
π
Q
<
< π
2
2
Арккосинус выдает результат Q, как:
<
<
ACOS (IN)
=
0
Q
π
Глава 16 Система команд
16-71
16
Математические и Арифметические Функции
Тригонометрические функции (Trigonometric Functions)
Арктангенс принимает широкий диапазон значений, а именно
IN
Получив допустимое значение параметра IN, арктангенс выдает результат Q, как:
=
π
Q
ATAN (IN)
<
< π
2
2
16-72
16
Математические и Арифметические Функции
Тригонометрические функции (Trigonometric Functions)
Параметры тригонометрических функций
Вход/
Варианты
Описание
выход
enable
питание
Операция выполняется, когда подано питание.
IN
R AI, AQ, константа
IN содержит константу или адрес вещественного значения, над
которым выполняется действие.
ok
питание, отсутствие
Выход OK включен, когда функция выполняется без
питания
переполнения, если не происходит недопустимая операция
и/или параметр IN не окажется не числом (NaN).
Q
R, AI, AQ
Выход Q содержит тригонометрическое значение параметра
IN.
Пример
В примере косинус (COS) значения ячейки %R0001 помещается в ячейку %R0033.
cos
%R0001
%R0033
IN Q
+3.141500
-1.000000
Глава 16 Система команд
16-73
16
Математические и Арифметические Функции
Логарифмические/Экспоненциальные функции (Logarithmic / Exponential
Functions)
Когда логарифмическая или экспоненциальная функция получает питание, она
выполняет соответствующее логарифмическое/экспоненциальное действие над
вещественным значением входа IN и помещает результат в выход Q.
Для функции десятичного логарифма (LOG), десятичный логарифм значения IN
помещается в Q.
Для функции натурального логарифма (LN), натуральный логарифм значения
IN помещается в Q.
Для функции возведения e в степень (EXP), e возводится в степень, указанную в
IN, и результат помещается в Q.
Для функции возведения X в степень (EXPT), значение входа IN1 возводится в
степень, указанную значением IN2, и результат помещается в Q. (Функция
EXPT имеет три входных параметра и два выходных параметра.)
Выход OK будет включен, пока вход не будет отрицательным или не окажется не
числом.
Enable
LOG
OK
Enable
EXPT
OK
Вход
IN Q
Выход
Вход 1
IN1 Q
Выход
Вход 2
IN2
Параметры логарифмических/экспоненциальных функций
Вход/
Варианты
Описание
выход
enable
питание
Операция выполняется, когда подано питание.
IN или
R AI, AQ,
Для EXP, LOG и LN, IN содержит вещественное значение, над
IN1, IN2
константа
которым выполняется действие.
Функция EXPT имеет два входа, IN1 и IN2. Для EXPT, IN1 - значение
основания, а IN2 - степень.
ok
питание,
Выход OK включен, когда функция выполняется без переполнения,
отсутствие
если не происходит недопустимая операция и/или параметр IN не
питания
окажется не числом (NaN) или отрицательным.
Q
R, AI, AQ
Выход Q содержит значение логарифмирования/возведения в степень
IN.
16-74
16
Математические и Арифметические Функции
Логарифмические/Экспоненциальные функции (Logarithmic / Exponential
Functions)
Пример функции возведения в степень (EXPT)
В примере значение ячейки %AI001 возводится в степень 2.5, и результат
помещается в ячейку %R0001.
expt
%AI001
IN1 Q
%R0001
CONST
IN2
2.50000E+00
Глава 16 Система команд
16-75
16
Математические и Арифметические Функции
Функции преобразования радиан
Когда функция преобразования градусов/радиан получает питание, выполняется
соответствующее преобразование (радианы в градусы (RAD_TO DEG) или градусы
в радианы (DEG_TO RAD)) вещественного значения входа IN, и результат
помещается в выход Q.
Выход OK будет получать питание, если параметр IN не окажется не числом (NaN).
RADTO
Enable
OK
DEG
Вход
IN Q
Выход
Параметры функции преобразования радиан
Вход/
Варианты
Описание
выход
enable
питание
Операция выполняется, когда подано питание.
IN
R AI, AQ, константа
IN содержит вещественное значение, над которым
выполняется действие.
ok
питание, отсутствие
Выход OK включен, когда функция выполняется без
питания
переполнения, пока IN не окажется не числом (NaN).
Q
R, AI, AQ
Выход Q содержит преобразованное значение
параметра IN.
Пример
В примере +1500 преобразуется в градусы (DEG) и помещается в %R0001.
RADTO
DEG
CONST
IN
%R0001
+1500.000
Q
85943.67
16-76
16
Функции сравнения
Функции сравнения используются для сравнения двух чисел и определения,
находится ли число в указанном диапазоне.
Равно (EQ)
Проверяет два числа на равенство
Не равно (NE)
Проверяет два числа на неравенство
Больше (GT)
Проверяет, больше одно число другого, или нет
Больше или равно
Проверяет, больше или равно одно число другому, или
(GE)
нет
Меньше (LT)
Проверяет, меньше одно число другого, или нет
Меньше или равно
Проверяет, меньше или равно одно число другому, или
(LE)
нет
Диапазон (RANGE)
Проверяет, находится ли одно число между двумя
другими числами
Когда функция получает питание, она сравнивает вход IN1 и вход IN2. Эти
параметры должны иметь одинаковый тип данных.
Enable
EQ INT
Вход 1
IN1 Q
Выход
Вход 2
IN2
Если входы IN1 и IN2 удовлетворяют указанным условиям сравнения, выход Q
получает питание и устанавливается в 1; в противном случае он устанавливается в 0.
Типы данных для функций сравнения
Функции сравнения работают со следующими типами данных:
INT
Целое число со знаком
DINT
Целое число со знаком двойной
точности
REAL
Число с плавающей точкой
Бит %S0020 устанавливается в 1, когда функция сравнения, использующая
вещественные данные, выполняется успешно. Сбрасывается, когда NaN (Не число).
Глава 16 Система команд
16-77
16
Функции сравнения
Равно (EQ), Не равно (NE), Меньше (LT), Меньше или равно (LE), Больше (GT),
Больше или равно (GE)
Параметры функций сравнения
Вход/
Варианты
Описание
выход
enable
питание
Операция выполняется, когда подано питание.
IN1
R AI, AQ, константа
IN1 содержит константу или адрес первого сравниваемого
значения. Значение IN1 должно быть допустимым. Константы
Только для данных
типа INT: I, Q, M, T, G
должны быть целыми для действий с целыми числами двойной
точности со знаком.
IN1 находится в выражении сравнения слева, как в IN1 < IN2.
IN2
R AI, AQ, константа
IN2 содержит константу или адрес второго сравниваемого
Только для данных
значения. Значение IN2 должно быть допустимым. Константы
должны быть целыми для действий с целыми числами двойной
типа INT: I, Q, M, T, G
точности со знаком.
IN2 находится в выражении сравнения справа, как в IN1 < IN2.
Q
питание, отсутствие
Выход Q включается, когда IN1 и IN2 удовлетворяют указанному
питания
сравнению.
Пример
В примере два целых числа двойной точности со знаками проверяются на
равенство. Когда контакт %I0001 пропускает питание на функцию Меньше или
равно (LE), значение с именем PWR_MDE сравнивается со значением с именем
BIN_FUL. Если значение PWR_MDE меньше или равно значению BIN_FUL,
включается катушка %Q0002.
%I0001
%Q0002
LE INT
PWR_MDE
IN1 Q
BIN_FUL
IN2
16-78
16
Функции сравнения
Диапазон (RANGE)
Функция Диапазон (RANGE) определяет, находится ли значение в диапазоне между
двумя числами.
Типы данных для функции Диапазон (RANGE)
Функция Диапазон (RANGE) работает со следующими типами данных:
INT
Целое со знаком (по умолчанию).
DINT
Целое число со знаком двойной точности
WORD
Данные типа слово.
Когда на функцию Диапазон (RANGE) подается питание, она сравнивает значение
входа IN с диапазоном, указанным пределами L1 и L2. И L1, и L2 могут быть как
верхним, так и нижним пределом. Когда значение находится внутри диапазона,
указанного пределами L1 и L2 включительно, выходной параметр Q
устанавливается в 1, в противном случае Q устанавливается в 0.
RANGE
Enable
INT
Предел 1
L1
Q
Выход
Предел 2
L2
Сравниваемое
IN
значение
Параметры функции Диапазон (RANGE)
Вход/
Варианты
Описание
выход
enable
питание
Операция выполняется, когда подано питание.
L1
R AI, AQ, константа
L1 содержит начальную точку диапазона.
Данные только типа INT и
Константы должны быть целыми для действий с целыми
WORD: I, Q, M, T, G
числами двойной точности со знаком.
L2
R AI, AQ, константа
L2 содержит конечную точку диапазона.
Данные только типа INT и
Константы должны быть целыми для действий с целыми
WORD: I, Q, M, T, G
числами двойной точности со знаком.
IN
R, AI, AQ
IN содержит значение, сравниваемое с диапазоном,
указанным L1 и L2.
Данные только типа INT и
WORD: I, Q, M, T, G
Q
питание, отсутствие
Выход Q включается, когда значение IN находится
питания
внутри диапазона, указанного пределами L1 и L2,
включительно.
Глава 16 Система команд
16-79
16
Функции сравнения
Диапазон (RANGE)
Пример
В этом примере, когда функция Диапазон (RANGE) получает питание через контакт
%I0001, функция определяет, находится ли значение %AI001 внутри диапазона от 0
до 100.
%R0001 содержит значение 100. %R2 содержит значение 0.
%I0001
RANGE
INT
%Q0001
%R0001
L1
Q
%R0002
L2
%AI001
IN
Выходная катушка %Q0001 включена, только если значение %AI0001 находится
внутри диапазона от 0 до 100.
Значение IN %AI001
Состояние Q %Q0001
< 0
Выключен
0 - 100
Включен
> 100
Выключен
16-80
16
Функции реле
Нормально разомкнутый контакт
-| |-
Нормально замкнутый контакт
-|/|-
Обычная катушка -( )-
Записывающая катушка SET -(SM)-
Записывающая катушка RESET
-(RM)-
Записывающая катушка с инверсией -(/M)-
Катушка с инверсией -(/)-
Записывающая катушка -(M)-
Катушка фиксации (SET) -(S)-
Катушка сброса (RESET) -(R)-
Катушка положительного перехода -(↑)-
Катушка отрицательного перехода -(↓)-
Вертикальная связь vert |
Горизонтальная связь horz -
Катушка продолжения ---<+>
Контакт продолжения <+>---
Каждый контакт и катушка реле имеют один вход и один выход. Вместе они
обеспечивают прохождение логики через контакт или катушку.
Вход→ ----| |---- ← Выход
Глава 16 Система команд
16-81
16
Функции реле
Нормально разомкнутый, нормально замкнутый контакты и контакт
продолжения
Контакт используется для контроля состояния ячейки. Будет ли контакт пропускать
питание, зависит от состояния или статуса контролируемой ячейки и типа контакта.
Ячейка включена, если она находится в состоянии 1; она выключена, если она
находится в состоянии 0.
Тип контакта
Изображение
Контакт пропускает питание направо:
Нормально разомкнутый
-| |-
Когда ячейка включена.
Нормально замкнутый
-|/|-
Когда ячейка выключена.
Контакт продолжения
<+>---
Если предшествующая катушка продолжения
включена.
Нормально разомкнутый контакт -| |-
Нормально разомкнутый контакт работает как выключатель, пропускающий
питание, если включена связанная с ним ячейка.
Нормально замкнутый контакт -|/|-
Нормально замкнутый контакт работает как выключатель, пропускающий питание,
если выключена связанная с ним ячейка.
Пример
В примере показано звено из 10 элементов, имеющих имена от E1 до E10. Катушка
E10 включена, если ячейки E1, E2, E5, E6 и E9 включены, а ячейки E3, E4, E7 и E8
выключены.
E1
E2
E3
E4
E5
E6
E7
E8
E9
E10
Катушки и контакты продолжения
Катушки продолжения и контакты продолжения используются для продолжения
звена релейно-контактной логики после последнего столбца. Состояние последней
выполненной катушки является состоянием питания, используемого контактом
продолжения, выполняемым следующим. Если логическое питание не подается на
катушку продолжения, находящуюся перед выполняемым контактом продолжения,
то на контакт питание не подается. В звене может быть только одна катушка
продолжения и контакт продолжения; контакт продолжения должен находиться в
столбце 1, а катушка продолжения должна быть в последнем столбце.
16-82
16
Функции реле
Катушки
Катушки используются для управления дискретными ячейками. Для управления
питанием катушки должна использоваться условная логика. Катушки вызывают
непосредственное действие; они не передают питание направо. Если
дополнительная логика в программе должна выполняться в зависимости от
состояния катушки, можно использовать внутренние ячейки для катушки или
комбинацию катушка продолжения/контакт продолжения.
Катушки всегда находятся в самой правой позиции линии логики:
Ячейки и проверка катушек
Когда уровень проверки катушек установлен на “однократное использование”
(single), вы можете использовать указанную ячейку %M или %Q только с одной
катушкой, однако, вы можете одновременно использовать ее с одной катушкой
фиксации (Set) и одной катушкой сброса (Reset). Когда уровень проверки катушек
установлен на “предупреждать о многократном использовании” (warn multiple) или
“многократное использование” (multiple), каждая катушка может использоваться с
несколькими обычными катушками, катушками фиксации (Set) и катушками сброса
(Reset). При многократном использовании ячейки могут быть включены катушкой
фиксации (Set) или обычной катушкой, и могут быть выключены катушкой сброса
(Reset) или обычной катушкой.
Глава 16 Система команд
16-83
16
Функции реле
Катушки
Питание и записываемость
В следующей таблице показано, как питание различных типов катушек влияет на их
ячейки. Состояние записывающих катушек сохраняется при пропадании питания
ПЛК и при переходе ПЛК из режима Stop в режим Run. Незаписывающие катушки
устанавливаются в 0 при пропадании питания ПЛК и при переходе ПЛК из режима
Stop в режим Run.
Тип катушки
Символ
Питание
Результат
катушки
Обычная
-( )-
ON
Устанавливает ячейку в 1, незаписывающая.
OFF
Устанавливает ячейку в 0, незаписывающая.
Инверсия
-(/)-
ON
Устанавливает ячейку в 0, незаписывающая.
OFF
Устанавливает ячейку в 1, незаписывающая.
Записывающая
-(M)-
ON
Устанавливает ячейку в 1, записывающая.
OFF
Устанавливает ячейку в 0, записывающая.
Записывающая
-(/M)-
ON
Устанавливает ячейку в 0, записывающая.
инвертирующая
OFF
Устанавливает ячейку в 1, записывающая.
Положительный
-(P)-
OFF→ON
Если питание на катушку в предыдущем цикле не
переход
подавалось, а в текущем цикле подается,
устанавливает катушку в 1.
Отрицательный
-(N)-
ON→OFF
Если питание на катушку в предыдущем цикле
переход
подавалось, а в текущем цикле не подается,
устанавливает катушку в 1.
SET (фиксация)
-(S)-
ON
Устанавливает ячейку в 1, пока не будет установлена
OFF
в 0 катушкой ( R ), не записываемая.
Не изменяет состояние катушки, незаписывающая.
RESET (сброс)
-(R)-
ON
Устанавливает ячейку в 0, пока не будет установлена
OFF
в 1 катушкой (S), не записываемая.
Не изменяет состояние катушки, незаписывающая.
Фиксация (SET) с
-(SM)-
ON
Устанавливает ячейку в 1, пока не будет установлена
записью
OFF
в 0 катушкой (RM), записывающая.
Не изменяет состояние катушки.
Сброс (RESET) с
-(RM)-
ON
Устанавливает ячейку в 0, пока не будет установлена
записью
OFF
в 1 катушкой (SM), записывающая.
Не изменяет состояние катушки.
Катушка
----<+>
ON
Устанавливает следующий контакт продолжения в 1.
продолжения
OFF
Устанавливает следующий контакт продолжения в 0.
16-84
16
Функции реле
Катушки
При получении питания обычная катушка устанавливает дискретную ячейку в 1.
Она незаписывающая, следовательно, она не может использоваться с ячейками
состояния системы (%SA, %SB, %SC, или %G).
Пример
В примере катушка E3 включена, когда ячейка E1 включена, а ячейка E2
выключена.
E1
E2
E3
Инвертирующая катушка
Инвертирующая катушка устанавливает дискретную ячейку в 1, когда она не
получает питание. Она незаписывающая, следовательно, она не может
использоваться с ячейками состояния системы (%SA, %SB, %SC, или %G).
Пример
В примере катушка E2 включена, когда ячейка E1 выключена.
E1
E2
E2
E3
Записывающая катушка
Как и нормально разомкнутая катушка, записывающая катушка устанавливает
дискретную ячейку в 1, когда она получает питание. Состояние записывающей
катушки сохраняется при пропадании питания. Следовательно, она не может
использоваться с ячейками строго не записываемой памяти (%T).
Записывающая инвертирующая катушка
Записывающая инвертирующая катушка устанавливает дискретную ячейку в 1,
когда она не получает питание. Состояние записывающей катушки сохраняется при
пропадании питания. Следовательно, она не может использоваться с ячейками
строго не записываемой памяти (%T).
Глава 16 Система команд
16-85
16
Функции реле
Катушки
Катушка положительного перехода
Если ячейка, связанная с катушкой положительного перехода, была выключена, то
при получении катушкой питания она устанавливается в 1 до следующего
выполнения катушки. (Если звено, содержащее катушку, пропускается в
последующих циклах, она остается включенной.) Эта катушка может
использоваться как импульсная.
Катушки перехода могут использоваться с ячейками записываемой и не
записываемой памяти (%Q, %M, %T, %G, %SA, %SB или %SC).
Катушка отрицательного перехода
Если ячейка, связанная с катушкой, выключена, когда катушка перестает получать
питание, ячейка устанавливается в 1 до следующего выполнения катушки.
Катушки перехода могут использоваться с ячейками записываемой и не
записываемой памяти (%Q, %M, %T, %G, %SA, %SB или %SC).
Пример
В примере, когда ячейка E1 переходит из 0 в 1, катушки E2 и E3 получают питание,
включая E2 на один цикл. Когда E2 переходит из 1 в 0, с E2 и E3 снимается
питание, включая катушку E3 на один цикл.
E1
E2
(P)
E2
E3
(N)
16-86
16
Функции реле
Катушки
Катушка фиксации (SET)
Катушки фиксации (SET) и сброса (RESET) являются не записывающими
катушками, которые используются для фиксации состояния ячейки в 1 или в 0.
Когда катушка фиксации (SET) получает питание, ее ячейка остается включенной
(независимо от того, получает сама катушка питание или нет) пока ячейка не будет
сброшена другой катушкой.
Для данной ячейки катушка фиксации (SET) записывает неопределенный результат
в бит перехода.
Катушка сброса (RESET)
Катушка сброса (RESET) устанавливает дискретную ячейку в 0, если катушка
получает питание. Ячейка остается выключенной, пока она не будет включена
другой катушкой. Приоритет в паре имеет катушка, установленная последней
(фиксации (SET) или сброса (RESET)).
Для данной ячейки катушка сброса (RESET) записывает неопределенный результат
в бит перехода.
Пример
В примере катушка E1 включается при каждом включении ячеек E2 или E6.
Катушка E1 выключается при каждом включении ячеек E5 или E3.
E2
E1
S
E6
E5
E1
R
E3
Записывающая катушка фиксации (SET)
Записывающие катушки фиксации (SET) и сброса (RESET) подобны катушкам
фиксации (SET) и сброса (RESET), но они сохраняют свое значение при пропадании
питания и при переходе ПЛК из режима Stop в режим Run. Записывающая катушка
фиксации включает дискретную ячейку, если катушка получает питание. Ячейка
остается включенной, пока не будет сброшена записывающей катушкой сброса
(RESET).
Глава 16 Система команд
16-87
16
Функции реле
Катушки
Для данной ячейки записывающая катушка фиксации (SET) записывает
неопределенный результат в бит перехода.
Записывающая катушка сброса (RESET)
При получении питания эта катушка выключает дискретную ячейку. Ячейка
остается выключенной, пока не будет установлена записывающей катушкой
фиксации (SET). Состояние этой катушки сохраняется при пропадании питания и
при переходе ПЛК из режима Stop в режим Run.
Для данной ячейки записывающая катушка сброса (RESET) записывает
неопределенный результат в бит перехода.
16-88
16
Табличные функции
Табличные функции используются для:
Копирования массива данных: Пересылка массива
Поиска значений в массиве
Максимальная длина, допустимая для этих функций, составляет 32767 для любого
типа.
Типы данных для табличных функций
Табличные функции работают со следующими типами данных:
INT
Целое число со знаком
DINT
Целое число со знаком двойной
точности
BOOL *
Данные типа бит
BYTE
Данные типа байт
WORD
Данные типа слово.
* Используется только с функцией пересылки массива (Array Move).
Глава 16 Система команд
16-89
16
Табличные функции
Пересылка массива (Array Move)
Функция пересылки массива (Array Move) копирует указанное количество
элементов исходного массива в массив назначения. Когда функция получает
питание, она копирует указанное количество элементов исходного массива,
начинающегося с ячейки, указанной индексом. Затем функция записывает
скопированные элементы в выходной массив, начинающийся с ячейки, указанной
индексом.
Для битовых данных, когда для параметров начальных адресов исходного массива
и/или массива назначения выбрана память слов, младший бит указанного слова
является первым битом массива.
Отсчет индексов инструкции пересылки массива (Array Move) начинается с 1. При
использовании функции пересылки массива (Array Move) не могут использоваться
ячейки, находящиеся вне исходного массива или массива назначения (указанных их
начальными адресами и длиной).
Выход OK получает питание, если не имеет место следующее:
Вход Enable выключен.
(N + SNX - 1) больше, чем длина.
(N + DNX - 1) больше, чем длина.
ARRAY
Enable
OK
MOVE
BOOL
Адрес исходного
??
массива
SR
DS
Адрес массива назначения
Индекс исходного
массива
SNX
Индекс массива
назначения
DNX
(передаваемые
N
элементы)
16-90
16
Табличные функции
Пересылка массива (Array Move)
Параметры функции пересылки массива (Array Move)
Вход/
Варианты
Описание
выход
enable
питание
Операция выполняется, когда подано питание.
SR
Для всех: R, AI, AQ
SR содержит начальный адрес исходного массива.
Для INT, BIT, BYTE, WORD: I, Q, M, T,
Для ARRAY_MOVE_ BIT могут использоваться любые
G,
ячейки; выравнивание по байтам не требуется.
Для BIT, BYTE, WORD: SA, SB, SC
SNX
I, Q, M, T, G, R, AI, AQ, константы
SNX содержит индекс исходного массива.
DNX
I, Q, M, T, G, R, AI, AQ, константы
DNX содержит индекс массива назначения.
N
I, Q, M, T, G, R, AI, AQ, константы
N обеспечивает индикатор количества.
ok
питание, отсутствие питания
Выход OK включается, когда на вход enable подано
питание.
DS
Для всех: SA, SB, SC, R, AI, AQ
Начальный адрес массива назначения. Для
ARRAY_MOVE_ BIT могут использоваться любые
Для INT, BIT, BYTE, WORD: I, Q, M, T,
ячейки; выравнивание по байтам не требуется.
G
Длина
Количество элементов, начинающихся с SR и DS,
которые формируют каждый массив. Он определяется
длиной SR+DS.
Глава 16 Система команд
16-91
16
Табличные функции
Пересылка массива (Array Move)
Пример 1:
В этом примере если %R100=3, тогда читаются ячейки %R0003 - %R0007 массива
%R0001 - %R0016 и записываются в ячейки %R0104 - %R0108 массива %R0100 -
%R0115. (%R001 и %R0100 объявлены типом WORD при длине 16.)
%I0001
ARRAY
MOVE
WORD
16
%R0001
R
DS
%R0100
%R0100
SNX
CONST
00005
DNX
CONST
00005
N
Пример 2:
Для SR и DS используется память битов, читаются ячейки %M0011 - %M0017
массива %M0009 - %M0024 и записываются в ячейки %Q0026 - %Q0032 массива
%Q0022 - %Q0037. (%M009 и %Q0022 объявлены типом BOOL при длине 16).
%I0001
ARRAY
MOVE
BOOL
16
%M0009
SR
DS
%Q0022
CONST
00003
SNX
CONST
00005
DNX
CONST
00007
N
Пример 3:
Для SR и DS используется память слов, читаются биты, начиная с третьего бита
регистра %R0001 по второй бит регистра %R0002 массива, содержащего все 16
битов регистра %R0001 и четыре бита регистра %R0002 и затем записываются в
биты, начиная с пятого бита регистра %R0100 по четвертый бит регистра %R0101
массива, содержащего все 16 битов регистра %R0100 и четыре бита регистра
%R0101. %R0001 и %R0100 объявлены типом BOOL при длине 20.
%I0001
ARRAY
MOVE
BOOL
20
%R0001
SR
DS
%R0100
CONST
00003
SNX
CONST
00005
DNX
CONST
00016
N
16-92
16
Табличные функции
Поиск значений в массиве
Используйте функции поиска, перечисленные ниже, для поиска значений в массиве.
Поиск равных (Search Equal)
Равенство указанному значению.
Поиск не равных (Search Not
Неравенство указанному значению.
Equal)
Поиск больших (Search Greater
Большее, чем указанное значение.
Than)
Поиск больших или равных
Большее или равное указанному значению.
(Search Greater Than or Equal)
Поиск меньших (Search Less
Меньшее, чем указанное значение.
Than)
Поиск меньших или равных
Меньшее или равное указанному значению.
(Search Less Than or Equal)
Когда функция поиска (Search) получает питание, она просматривает указанный
массив. Поиск начинается с начального адреса (AR) плюс значение индекса (NX).
enable
Поиск
EQ INT
Начальный
??
адрес
Указатель
AR
FD
обнаружения
Входной индекс
NX
NX
Выходной
индекс
Объект поиска
IN
Поиск продолжается, пока не будет найден элемент массива просматриваемого
объекта (IN) или пока не будет достигнут конец массива. Если элемент массива
найден, указатель обнаружения (FD) устанавливается в 1, а индекс выхода (выход
NX) устанавливается в относительную позицию этого элемента в массиве. Если
элемент массива не найден до достижения конца массива, указатель обнаружения
(FD) и индекс выхода (выход NX) устанавливаются в 0.
Допустимые значения входа NX от 0 до (длина)- 1. NX следует установить в 0 для
начала поиска с первого элемента. Это значение увеличивается на 1 во время
выполнения. Следовательно, выход NX может принимать значения от 1 до (длина).
Если значение входа NX выходит за диапазон, (< 0 или > длина), его значение
устанавливается в 0 по умолчанию.
Глава 16 Система команд
16-93
16
Табличные функции
Пересылка массива (Array Move)
Параметры функций поиска
Вход/
Варианты
Описание
выход
enable
питание
Поиск выполняется, когда подано питание.
AR
Для всех: R, AI, AQ
Содержит начальный адрес массива.
Для INT, BYTE, WORD: I, Q, M, T,
G,
Для BYTE, WORD: S
Вход NX
I, Q, M, T, G, R, AI, AQ, константы
Содержит индекс массива, с которого начнется поиск,
отсчитываемый от 0.
IN
Для всех: R, AI, AQ
IN содержит объект поиска.
Для INT, BYTE, WORD: I, Q, M, T,
G,
Для BYTE, WORD: S
Выход NX
I, Q, M, T, G, R, AI, AQ
Содержит позицию найденного элемента в массиве,
отсчитываемую от 1.
FD
питание, отсутствие питания
FD указывает, что элемент массива найден, и
функция успешно выполнена.
Длина
от 1 до 32,767 байтов или слов.
Количество просматриваемых элементов, которые
формируют массив, начинающихся с AR.
16-94
16
Табличные функции
Поиск значений в массиве
Пример 1:
Массив AR определен как ячейки памяти %R0001 - %R0005. Когда EN включен,
просматривается часть массива между %R0004 и %R0005 в поисках элемента,
значение которого равно значению IN. Если %R0001 = 7, %R0002 = 9, %R0003 = 6,
%R0004 = 7, %R0005 = 7 и %R0100 = 7, то поиск начнется с %R0004 и закончится в
%R0004, при этом FD устанавливается в 1, и 4 записывается в %R0101.
%I0001
SEARCH
EQ INT
5
%Q0001
(
)
%R0001
AR FD
CONST
NX
NX
%R0101
00003
%R0100
IN
Пример 2:
Массив AR определен как ячейки памяти %AI001 - %AI016. Значения элементов
массива - 100, 20, 0, 5, 90, 200, 0, 79, 102, 80, 24, 34, 987, 8, 0 и 500. В исходном
состоянии %AQ001 равен 5. Когда EN включен, каждый цикл будет
просматриваться массив в поисках значения, совпадающего со значением IN = 0. В
первом цикле поиск начнется с %AI006, и совпадение будет найдено в %AI007, FD
включится, а %AQ001 станет равным 7. Во втором цикле поиск начнется с %AI008,
и совпадение будет найдено в %AI015, FD останется включенным, а %AQ001 станет
равным 15. В следующем цикле поиск начнется с %AI016. Т. к. совпадения не
найдены до конца массива, FD выключится, а %AQ001 станет равным 0. В
следующем цикле поиск начнется с начала массива.
%I0001
SRCH
EQ INT
16
%M001
(
)
%AI001
AR FD
%AQ001
NX
NX
%AQ001
00005
CONST
IN
00000
Глава 16 Система команд
16-95
16
Функции таймера и счетчика
Этот раздел описывает функции времени и счета системы команд. Данные,
связанные с этими функциями, сохраняются при пропадании питания.
Таймер задержки по включению со сбросом
Таймер задержки по выключению
Таймер задержки по включению
Инкрементный счетчик
Декрементный счетчик
Периодические контакты времени
В дополнение к функциям таймера системы команд, ПЛК VersaMax имеет четыре
периодических контакта времени. Их можно использовать для передачи другим
функциям программы периодических импульсов. Четыре периодических контакта
времени имеют периодичность: 0.01 секунды, 0.1 секунды, 1.0 секунда, и 1 минута.
Состояние этих контактов не изменяется во время выполнения цикла. Длительность
импульса для этих контактов равна длительности паузы.
Ячейки контактов: T_10MS (0.01 секунды), T_100MS (0.1 секунды), T_SEC (1.0
секунда), и T_MIN (1 минута).
Приведенная ниже диаграмма показывает длительность импульсов и пауз для этих
контактов.
X
T XXXXX
СЕК
X/2
X/2
СЕК
СЕК
Периодические контакты времени отображают определенные ячейки в памяти %S.
16-96
16
Функции таймера и счетчика
Функциональный блок данных, требуемый для таймеров и счетчиков
Каждый блок данных использует три слова (регистра) памяти %R для хранения
следующей информации:
текущее значение (CV)
слово 1
заданное значение (PV)
слово 2
управляющее слово
слово 3
Когда вы вводите таймер или счетчик, вы должны ввести начальный адрес для этих
трех слов (регистров). Не используйте смежные регистры для блоков
таймера/счетчика из 3 слов. Таймеры и счетчики не будут работать, если вы
поместите текущее значение блока поверх заданного значения предыдущего блока.
Enable
dnctr
(Q)
time
Reset
R
Заданное
PV
значение
Адрес
Управляющее слово сохраняет состояние логических входов и выходов связанного с
ним функционального блока, в следующем формате:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
зарезервированы
Вход сброса (Reset)
Вход enable, предыдущее выполнение
Q (состояние выхода счетчика/таймера)
EN (вход enable)
Биты с 0 по 11 используются для обеспечения точности таймера; для счетчиков они
не используются.
Если заданное значение (PV) не является константой, PV обычно размещается в
ячейке, отличной от второго слова. Некоторые приложения используют адрес
второго слова для PV, например %R0102, если блок данных начинается с %R0101.
Это позволяет изменять заданное значение во время работы. Первое (CV) и третье
(Control) слова могут быть прочитаны, но не могут быть записаны, в противном
случае функция не будет работать.
Глава 16 Система команд
16-97
16
Функции таймера и счетчика
Таймер задержки по включению со сбросом
Записывающий таймер задержки по включению со сбросом (ONDTR) накапливает
время, когда он получает питание, и сохраняет свое значение, когда питание
прерывается. Время может отсчитываться в десятых (0.1), сотых (0.01), или
тысячных (0.001) долях секунды. Диапазон единиц времени составляет от 0 до
+32,767. Состояние таймера сохраняется при прерывании питания; при подаче
питания автоматическая инициализация не происходит.
Как только эта функция получает питание, она начинает накапливать время
(текущее значение). Когда релейно-контактная логика доходит до этого таймера,
его текущее значение обновляется.
Enable
ondtr
(Q)
TENTHS
????
Reset
R
Текущее
Заданное
PV
значение
значение
Адрес
Когда текущее значение равно заданному значению PV или превышает его,
включается выход Q. В течение всего времени, когда таймер получает питание, он
продолжает накапливать время до тех пор, не будет достигнуто максимальное
значение. Когда максимальное значение достигнуто, оно удерживается, и выход Q
остается включенным независимо от состояния входа enable.
Если в течение цикла CPU выполняются несколько одинаковых таймеров с
одинаковыми адресами, текущие значения таймеров будут одинаковыми.
16-98
16
Функции таймера и счетчика
Таймер задержки по включению со сбросом
Параметры функции таймера задержки по включению со сбросом
Вход/
Варианты
Описание
выход
адрес
R
Функция использует три последовательных слова (регистра)
памяти %R для хранения следующих данных:
Текущее значение (CV)
= слово 1.
Заданное значение (PV)
= слово 2.
Управляющее слово
= слово 3.
Не используйте этот адрес с другими инструкциями.
Осторожно: Наложение ячеек вызовет неустойчивую работу
таймера.
enable
питание
Текущее значение таймера увеличивается, когда подано
питание.
R
питание
Когда на вход R подано питание, он устанавливает текущее
значение в 0.
PV
I, Q, M, T, G, R, AI, AQ,
Заданное значение, используемое, когда таймер включен или
константа, отсутствие
сбрасывается.
значения
Q
питание, отсутствие
Выход Q включается, когда текущее значение таймера больше
питания
или равно заданному значению.
время
десятые, сотые или
Время увеличения для младшего бита заданного значения и
тысячные доли секунды
текущего значения.
Глава 16 Система команд
16-99
16
Функции таймера и счетчика
Таймер задержки по включению со сбросом
Работа функции таймера задержки по включению со сбросом
ENABLE
RESET
Q
A
B C
D
E
F G H
A.
ENABLE переходит в 1; таймер начинает накапливать значение
B.
Текущее значение достигает заданного значения PV; Q включается
C.
RESET переходит в 1; Q выключается, накопленное время
сбрасывается (CV=0)
D.
RESET переходит в 0; таймер снова начинает накапливать значение
E.
ENABLE переходит в 0; таймер прекращает накопление. Накопленное
время остается тем же. Шаг F: Как только вход enable снова перейдет в
1, таймер продолжит накапливать время.
F.
ENABLE снова переходит в 1; таймер продолжает накапливать время.
G.
Текущее время становится равным заданному значению PV; Q
включается. Таймер продолжает накапливать время, пока ENABLE не
перейдет в 0, RESET не перейдет в 1 или текущее значение не станет
равным максимальному времени
H.
ENABLE переходит в 0; таймер прекращает накапливать время.
Когда прекращается подача питания на таймер, текущее значение перестает
увеличиваться и удерживается. Выход Q, если включен, останется включенным.
Когда функция получает питание снова, текущее значение опять увеличивается,
начиная с удерживаемого значения. Когда вход R получает питание, текущее
значение устанавливается в 0, а выход Q выключается, если PV не равно 0.
Пример
В примере записывающий таймер задержки по включению используется для
формирования сигнала (%Q0011), который включается через 8.0 секунд после
включения %Q0010, и выключается, когда %Q0010 выключается.
%Q0010
%Q0011
ondtr
0.15
%Q0010
R
CONST
PV
+00080
%R0004
16-100
16
Функции таймера и счетчика
Таймер задержки по включению
Таймер задержки по включению (TMR) накапливает время, когда получает питание,
и сбрасывается в 0, когда питание пропадает. Время может отсчитываться в
десятых (настройка по умолчанию), сотых, или тысячных долях секунды. Диапазон
единиц времени составляет от 0 до +32,767. Состояние таймера сохраняется при
прерывании питания; при подаче питания автоматическая инициализация не
происходит.
Enable
tmr
(Q)
TENTHS
Заданное
Текущее
значение
значение
PV
Адрес - 3 слова
Когда таймер задержки по включению получает питание, таймер начинает
накапливать время (текущее значение). Текущее значение обновляется, когда
логика доходит до таймера, оно отображает общее время, прошедшее с момента
последнего сброса таймера.
Если в течение цикла CPU выполняются несколько одинаковых таймеров с
одинаковыми адресами, текущие значения таймеров будут одинаковыми.
Обновление происходит в течение всего времени, пока разрешающая логика
остается включенной. Когда текущее значение равно заданному значению PV или
превышает его, функция начинает пропускать питание направо. Таймер продолжает
накапливать время до тех пор, пока не будет достигнуто максимальное значение.
Когда параметр разрешения переходит из 1 в 0, таймер прекращает накапливать
время, и текущее значение сбрасывается 0.
Глава 16 Система команд
16-101
16
Функции таймера и счетчика
Таймер задержки по включению
Параметры функции таймера задержки по включению
Вход/
Варианты
Описание
выход
адрес
R
Функция использует три последовательных слова (регистра)
памяти %R для хранения следующих данных:
•
Текущее значение (CV)
= слово 1.
•
Заданное значение (PV)
= слово 2.
•
Управляющее слово
= слово 3.
Не используйте этот адрес с другими инструкциями.
Осторожно: Наложение ячеек вызовет неустойчивую работу
таймера.
enable
питание
Текущее значение таймера увеличивается, когда подано питание.
Когда на TMR питание не подается, текущее значение
сбрасывается в 0 и выход Q выключается.
PV
I, Q, M, T, G, R, AI, AQ,
Значение PV копируется в заданое значение таймера, когда на
константа, отсутствие
таймер подается питание или он сбрасывается.
значения
Q
питание, отсутствие
Выход Q включается, когда на таймер подано питание и текущее
питания
значение больше или равно заданному значению.
время
десятые (0.1), сотые
Время увеличения для младшего бита заданного значения и
(0.01), или тысячные
текущего значения.
(0.001) доли секунды
16-102
16
Функции таймера и счетчика
Таймер задержки по включению
Работа функции таймера задержки по включению
ENABLE
Q
A
B C
D
E
A. ENABLE переходит в 1; таймер начинает накапливать время.
B. Текущее значение достигает заданного значения PV; Q включается, и таймер
продолжает накапливать время.
C. ENABLE переходит в 0; Q выключается; таймер прекращает накапливать
время и текущее время очищается.
D. ENABLE переходит в 1; таймер начинает накапливать время.
E. ENABLE переходит в 0 до достижения текущим значением заданного значения
PV; Q остается выключенным; таймер прекращает накапливать время и
текущее время очищается (CV=0).
Пример
В примере таймер задержки (с адресом) TMRID используется для управлением
продолжительностью времени, в течение которого катушка включена. Этой катушке
назначено имя DWELL. Когда нормально разомкнутый (импульсный) контакт с
именем DO_DWL включается, катушка DWELL включается.
Контакт катушки DWELL держит катушку DWELL включенной (когда контакт
DO_DWL разомкнут), а также запускает таймер TMRID. Когда TMRID достигает
заданного ему значения (0.5 с), катушка REL включается, разрывая подхваченное
состояние катушки DWELL. Контакт DWELL прерывает питание TMRID,
сбрасывая текущее значение и выключая катушку REL. Теперь цепь готова к
следующей импульсной активизации контакта DO_DWL.
DO_DWL
REL
DW ELL
DW ELL
DW ELL
REL
tmr
0.15
CONST
PV
+00005
TMRID
Глава 16 Система команд
16-103
содержание .. 10 11 12 13 ..
|
||
|
|
|