Блок EZCP
Аргументы: DX、DY、DM、DS、T、C、D、FD、K
Данный блок производит сравнение области значений
(D11,D10) : (D21,D20)→M0,M1,M2
(D11,D10) > (D21,D20)
(D11,D10) = (D21,D20)
(D11,D10) < (D21,D20)
(K500)∶(D101,D100)→M10,M11,M12
EZCP
D10
D20
D0
M3
M4
M5
X0
S1·
S2·
M3
D1·
D2·
Результаты сравнения сохранятся, даже если команда сравнения будет отключена. Если в качестве параметров используются константы, они автоматически будут приведены к вещественному типу.
Блок EADD
Аргументы: DX、DY、DM、DS、T、C、D、FD、K
EADD
D10
D20
D50
S1·
S2·
D·
X0
Данный блок производит алгебраическое сложение двух вещественных значений. Есть возможность использовать блок без третьего аргумента, тогда результат суммы будет заноситься в первый аргумент. Если используются константы, они автоматически преобразуются в вещественный тип.
EADD
D100
K1234
D110
X1
Блок ESUB
Аргументы: DX、DY、DM、DS、T、C、D、FD、K
ESUB
D10
D20
D50
S1·
S2·
D·
X0
Данный блок производит арифметическое вычитание. Характеристики и принцип работы аналогичны с предыдущим блоком.
Блок EMUL
Аргументы: DX、DY、DM、DS、T、C、D、FD、K
(D20,D21) > (D1,D0) ON
(D21,D10)≤ (D1,D0)≤(D31,D30) ON
(D1,D0) > (D31,D30) ON
(D11,D10) + (D21,D20) → (D51,D50)
(K1234) + ( D101,D100) → (D111,D110)
(D11,D10) - (D21,D20) → (D51,D50)
EMUL
D10
D20
D50
S1·
S2·
D·
X0
Данный блок производит умножение 2 вещественных значений. Если используются константы – они автоматически приводятся к вещественному типу.
EMUL
D100
K100
D110
X1
Блок EDIV
Аргументы: DX、DY、DM、DS、T、C、D、FD、K
EDIV
D10
D20
D50
S1·
S2·
D·
X0
Данный блок производит деление аргумента S1 на S2 и заносит результат в аргумент D. Если параметр S2 =0, то произойдет ошибка и блок не выполнится.
Если используются константы, они приводятся к вещественному типу до выполнения данного блока.
EDIV
D100
K100
D110
X1
Блок ESQR
Аргументы: DX、DY、DM、DS、T、C、D、FD、K
ESOR
D10
D20
X0
S·
D·
Данный блок позволяет вычислить квадратный корень переданного значения. При использовании констант, они автоматически приводятся к вещественному типу
(D11,D10)×(D21,D20)→(D51,D50)
(K100) × (D101,D100) → (D111,D110)
(D11,D10)÷(D21,D20)→(D51,D50)
(D101,D100) ÷ (K2346) →(D111,D110)
(D11,D10) →(D21,D20)
(K1024)→(D111,D110)
ESOR
K1024
D110
X1
Если результат равен нулю, флаг нуля активен. Если в качестве аргумента передано отрицательное значение, произойдет ошибка и блок не выполнится.
Блок SIN
Аргументы: DX、DY、DM、DS、T、C、D、FD、K
SIN
D50
D60
X0
S·
D·
Данный блок рассчитывает синус значения, заданного в аргументе S (в радианах).
D51
D50
D61
D60
S·
D·
Блок COS
Аргументы: DX、DY、DM、DS、T、C、D、FD、K
COS
D50
D60
X0
S·
D·
Этот блок вычисляет математический косинус аргумента, заданного в S (в радианах).
D51
D50
D61
D60
S·
D·
Блок TAN
Аргументы: DX、DY、DM、DS、T、C、D、FD、K
TAN
D50
D60
X0
S·
D·
Данный блок вычисляет математический тангенс аргумента, заданного в S (в радианах).
(D51,D50) → (D61,D60)SIN
RAD переменная(угол×Π/180)
Заданная вещественным значением
SIN переменная
Вещественный тип
(D51,D50)RAD → (D61,D60)COS
RAD переменная(угол×Π/180)
Вещественный тип
COS переменная
Вещественный тип
(D51,D50)RAD → (D61,D60)TAN
D51
D50
D61
D60
S·
D·
5.9 Операции со временем (часы, секунды, минуты)
Обозначения
Функция
TCMP
Сравнение времен
TZCP
Сравнение области времен
TADD
Сложение времени
TSUB
Вычитание времени
TRD
Чтение времени с контроллера
TWR
Установка времени на контроллере
Блок TCMP
Аргументы: DX、DY、DM、DS、T、C、D、FD、K
Сравнивает введенные данные с установленным временем
Результаты сравнения сохраняются даже при неработающем блоке TCMP. Данный блок сравнивает два блока. В данном примере:
S1 – часы D0 - часы
S2 – минуты и D1 - минуты
S3 – секунды D2 – секунды
Час должен быть в диапазоне 0-23
Минуты должны быть в диапазоне 0-59
Секунды должны быть в диапазоне 0-59
Блок TZCP
RAD переменная(угол×Π/180)
Вещественный тип
TAN переменная
Вещественный тип
Аргументы: DX、DY、DM、DS、T、C、D、FD、K
Данный блок сравнивает два определенных времени с текущим временем.
В блоке задается 3 времени (час, минута, секунда) для сравнения. Результаты начинаются с флага M0.
Временные блоки должны быть в рамках:
- час – 0-23
- минута 0-59
- секунда 0-59
Блок TADD
Аргументы: DX、DY、DM、DS、T、C、D、FD、K
D10 (Hour)
D11 (Minute)
D12 (Second)
D20 (Hour)
D21 (Minute)
D22 (Second)
D30 (Hour)
D31 (Minute)
D32 (Second)
+
S1
S2
D
10 hour 20 min. 30 sec.
3 hour 20 min. 10 sec.
13 hour 40 min. 40 sec.
Данный блок производит сложение времени. В качестве аргументов в него передаются первые адреса 3-х временных блоков. Аргументы S1 и S2 складываются, и результат заносится в D. Если результат сложения больше 24 часов, то срабатывает флаг-регистр
М8022, а результат будет приведен к 24 часам. Когда результат сложения равен 0 (0 часов, 0 минут, 0 секунд) – установится нулевой флаг.
TADD
D10
D20
D30
X0
S1·
S2·
D·
(D10,D11,D12)+(D20,D21,D22)→(D30,D31,D32)
Блок TSUB
Аргументы: DX、DY、DM、DS、T、C、D、FD、K
TSUB
D10
D20
D30
X0
S1·
S2·
D·
D10 (Hour)
D11 (Minute)
D12 (Second)
D10 (Hour)
D11 (Minute)
D12 (Second)
D10 (Hour)
D11 (Minute)
D12 (Second)
_
=
S1
S2
D
10 hour 20 min. 30 sec.
3 hour 20 min. 10 sec.
7 hour 0 min. 20 sec.
Данный блок вычисляет разницу двух времен. Если в результате вычитания получится меньше 0 часов, 0 минут и 0секунд, то сработает флаг М8021, результатом будет 0 часов, 0 минут, 0 секунд. Если результат равен 0, то сработает нулевой флаг.
Данные должны входить в следующие границы:
- часы -0-23
- минуты 0-59
- секунды 0-59
Блок TRD
Аргументы: DX、DY、DM、DS、T、C、D、FD、K
TRD
D0
X0
D·
Данный блок считывает с контроллера текущие время и дату, и записывает их в 7 регистров, начиная с D.
На контроллере текущие время – дата находятся в регистрах D8013D8019.
Device
Meaning
Values
Year
Month
Date
Hours
Minutes
Seconds
Day
199 112 131 023 059 059 0 (Sat.)6 (Sun.)
D8018
D8017
D8016
D8015
D8014
D8013
D8019
Device Meaning
Year
Month
Date
Hours
Minutes
Seconds
Day
D0
D1
D2
D3
D4
D5
D6
Блок TWR
(D10,D11,D12)-(D20,D21,D22)→(D30,D31,D32)
Аргументы: DX、DY、DM、DS、T、C、D、FD、K
TWR
D10
X0
S·
Данный блок устанавливает (настраивает) текущие дату – время на контроллере, используя регистры, которые начинаются с адреса, указанного в аргументе S.
Device
Meaning
Values
Year
Month
Date
Hours
Minutes
Seconds
Day
199 112 131 023 059 059 0 (Sat.)6 (Sun.)
D0
D1
D2
D3
D4
D5
D6
Device Meaning
Year
Month
Date
Hours
Minutes
Seconds
Day
D8018
D8017
D8016
D8015
D8014
D8013
D8019
Специальные функции6.1 Высокоскоростные счетчики
6.2 Импульсные выходы
6.3 Инструкции модбас
6.4 Свободный формат передачи данных
6.5 PWM модулятор импульсов
6.6 Испытание с частотой
6.7 Точное время
6.8 Функции прерывания
6.9 CANBUS протокол связи (для серии XC5)
6.1 Высокоскоростные счетчики
Все ПЛЦ серии XC поддерживают функции высокоскоростного счета. В
зависимости от вида счетчика, функции делятся на режимы приращения, с выбором направления (инкремент, декремент), для двухфазных счетчиков. Максимальная частота 200 КГц.
Назначенные входы для высокоскоростных счетчиков
В таблице ниже дается перечень высокоскоростных счетчиков для разных ПЛК
Для определения нужного счетчика сошлитесь на следующую таблицу.
Если вход Х на контроллере не применяется как вход высокоскоростного счетчика, он может применяться как обычный вход.
[U]---вход для счета импульсов [Dir]---направление счета (OFF тогда +, ON тогда -)
[A]---A первая входная фаза [B]---B вторая входная фаза
Модель ПЛК
Высокоскоростные счетчики
Инкрементирующий тип
Импульс+ направления счета двухфазный
XC3 серия
XC3-14 4
2 2
XC3-24/XC3-
32 5
3 3
XC3-48/XC3-
60 4
2 2
XC5 серия
XC5-32 2
1 1
XC5-48/XC5-
60 5
3 3
XC3-48、XC3-60 PLC модели
Инкрементирующий тип
Импульс+ направления счета двухфазны й
C600 C602 C604 C606 C608 C610 C612 C614 C616 C618 C620 C622 C624 C626 C628 C630 C632 C634
X000 U
U
B
X001
Dir
A
X002
U
U
B
X003
Dir
A
X004
U
X005
U
XC3-24、XC3-32 и XC5-48、XC5-60 PLC модели
Инкрементирующий тип
Импульс+ направления счета двухфазны й
C600 C602 C604 C606 C608 C610 C612 C614 C616 C618 C620 C622 C624 C626 C628 C630 C632 C634
X000 U
U
B
X001
Dir
A
Высокоскоростные счетчики, которые не поддерживают 4 частоты в двухфазных счетчиках, перечислены в таблице ниже
XC3-14 PLC модель
Инкрементирующий тип
Импульс+ направления счета двухфазны й
C600 C602 C604 C606 C608 C610 C612 C614 C616 C618 C620 C622 C624 C626 C628 C630 C632 C634
X000 U
U
B
X001
Dir
A
X002
U
X003
U
X004
U
B
X005
U
Dir
A
XC5-32 PLC модель
Инкрементирующий тип
Импульс+ направления счета двухфазный
C600 C602 C604 C606 C608 C610 C612 C614 C616 C618 C620 C622 C624 C626 C628 C630 C632 C634
X000 U
U
B
X001
Dir
A
X002
X003
U
PLC модель
Высокоскоростные счетчики с 4-мя частотами
XC3 серия
XC3-14
C630
XC3-24/ XC3-32
C632
XC3-48/ XC3-60
C630
XC5 серия
XC5-32
-
XC5-48/ XC5-60
C632
Тип входных для высокоскоростных счетчиков разных видов
Инкрементирующий тип:
При данной модификации значение счетчика увеличивается при поступлении сигнала на вход контроллера:
+1
+1
+1
+1
+1
+1
+1
+1
Импульс + направления счета:
При данной модификации используются 2 входа – один для подачи импульсов, второй для направления счета
+1
+1
+1
+1
-1
-1
-1
-1
Двухфазный счетчик:
У двухфазного счетчика значение может инкрементироваться или декрементироваться в зависимости от разности сигналов 2-х фаз
+1
-1
Максимальное значение счетчика:
Значение счетчика находится в пределах : K-2,147,483,648 K+2,147,483,647. Если значение выходит за пределы верхней границы, то следующее значение будет равно -2,147,483,648, если за нижнюю границу - 2,147,483,648.
Сброс.
RST
C600
C600
M0
M1
K2000
Подсоединение к входному терминалу (вход анна контроллере).
В примере рассмотрено подключение счетчика С600.
Входящий сигнал
ON
OFF
Вх. сигнал
Направление счета
ON
OFF
ON
OFF
Фаза A
Фаза B
ON
OFF
ON
OFF
В данном примере при активации катушки М0 запустится счетчик С600 входа Х0. Когда М1 сменит свое значение с 0 на 1, счетчик С600 будет выключен, а его значение обнулится.
Двухфазный счетчик
COM
COM
X1
X0
X3
X2
X4
X5
X6
импульс + направления счета
COM
COM
X1
X0
X3
X2
X4
X5
X6
инкрементирующий тип
COM
COM
X1
X0
X3
X2
X4
X5
X6
Примеры программы
Ниже, мы на примере XC3-60 PLC рассмотрим как в программе обработать сигналы с высокоскоростного счетчика:
Фаза B
Фаза A
Входящий сигнал направление
Входящий сигнал
RST
C600
C600
RST
C604
C604
M0
M1
M2
M3
K2000
D0(D1)
RST
C620
C620
M4
M5
D0(D1)
RST
C622
C622
M6
M7
K100
Двухфазный счетчик может инкрементировать/ декрементировать значение в зависимости от скачков (уровней, прыжков) фаз А и В.
Ин кре м
ен ти рую щ
ий ти п
когда M0 будет включена, счетчик C600 начнет принимать сигналы с Х0
когда М1 сменит значение с 0 на 1 выполнится инструкция RST и счетчик будет сброшен
Когда М2 включится, начнет работать счетчик С604,привязанный на вход Х4. В данном примере величина значения счетчика устанавливается регистром данных и используется косвенная адресация.
Катушка
М3, при срабатывании сбрасывает счетчик С604
Им пу ль с +
н ап ра вле ни я сч ет а
mode
Когда включится катушка М4, счетчик
С620 начнет принимать сигналы с входа
Х0, в зависимости от состояния входа Х1 будет производиться инкремент/ декремент значения счетчика. Если на входе нет сигнала
- значение увеличивается, если есть – уменьшается.
Когда сработает катушка М6, счетчик
С622 начнет принимать сигналы с входа
Х2, и в зависимости от значения Х3 будет увеличивать/ уменьшать значение. Если
Х3 – 0, значение инкрементируется, Х3 –
1 – декрементируется.
AB
двухфазн
ый тип
RST
C630
C630
Y002
K1000
RST
C632
C632
Y004
D0(D1)
M8
M9
C630
M10
M11
C632
Если фаза А находится в промежутке между OFF→ON и если на фазе В нет сигнала, производится инкрементирование значения счетчика, если на фазе В единица, то производится декрементирование.
Высокоскоростных счетчиков, которые поддерживают 2 типа частоты срабатывания, два. По умолчанию они настроены на 4-х частотное срабатывание. Счетчики, поддерживающие 2 типа, показаны ниже:
Частота срабатывания 1, двухфазный счетчик имеет следующий вид:
+1
-1
A
B
Инкремент значения декремент значения
Частота срабатывания 4; для данной модификации счетчик имеет вид:
Инкремент значения счетчика
+1 +1 +1 +1
+1 +1 +1 +1+1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1
A
B
Когда М8 сработает, С630 начинает считывать импульсы с X000 (B фаза), X001(A фаза) через перерывы.
Если сработала М9, выполнится сброс счетчика
Когда текущее значение счетчика С630 превысит заданное (1000), установится выход Y2, если значение счетчика меньше заданного, выход не будет работать
Когда М10 активна, C632 начинает счет. Сигналы принимаются с X002 (B фаза)、X003(A фаза).
Катушка М11 сбрасывает счетчик
Если текущее значение превышает указанное, то
Y4 включается, если нет – то Y4 выключено.
Частота срабатывания
Декремент счетчика
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
A
B
Переключение работы счетчиков по частоте срабатывания
6.2 Выходные импульсы
Контроллеры серии XC3 и XC5 имеют 2 импульсных выхода. Используя инструкции (блоки) программирования, вы можете реализовать одиночный (или несколько) импульсный выход с увеличивающейся/ уменьшающиеся частотой, с конкретным временем достижения этой частоты, подачей положительных/ отрицательных импульсов. Максимальная частота 400
КГц.
Y0
COM0
Y1
COM1
Y2
COM2
Примечания:
1) если вы хотите использовать импульсные выхода, вы должны использовать транзисторные
ПЛК или транзисторно-релейные XC3-14T-E, XC3-60RT-E.
2) XC5-32 ПЛК имеет 4 импульсных выхода Y0、Y1、Y2、Y3.
Типы и обработка высокоскоростных выходов в программе.
FD8241
Частота срабатывания для
C630 1 is 1 time frequency,
4 is 4 times frequency,
FD8242
Частота срабатывания для
C632 1 is 1 time frequency,
4 is 4 times frequency
FD8243
Частота срабатывания для
C634 1 is 1 time frequency,
4 is 4 times frequency драйвер
Шаговый двигатель
Один импульсный выход без возможности установки времени разгона/ торможения.
- частота 0-400 КГц
- выхода Y0-Y1
- тип выходного сигнала – продолжительный или ограниченный
- максимальное число импульсов:
16 битная инструкция 0K32767 32 битная инструкция 0K2147483647
- инструкции (блоки) PLSF, PLSY.
PLSY – генерирует заданное число импульсов с заданной частотой
PLSF – генерирует продолжительные импульсы с переменной частотой
PLSY инструкция:
PLSY
K30
D1
Y0
M0
S1·
S2·
D·
M8170
RST
M0
Когда М0 включится, блок PLSY сгенерирует количество импульсов, заданное в параметре
D1, с частотой 30 Гц в выход Y0. Когда текущее количество импульсов сравнится с заданным, M8170 выключится, что приведет к остановке работы блока PLSY, и сбросу катушки М0.
PLSF инструкция:
PLSF
D0
Y0
M0
S·
D·
Также для генерации ограниченного числа импульсов используется 32-х битная инструкция DPLSY
Заданная частота. Аргументы: K、TD、CD、D、FD
Заданное количество импульсов. Аргументы: K、TD、CD、D、FD
Назначенный выход (он посылает импульсы), может быть Y000 или Y001
S1·
S2·
D·
Ограниченное количество импульсов
Количество импульсов number
Один импульсный выход с возможностью установки времени разгона/ торможения
1) диапазон частот 0400KHz
2) время разгона/ торможения приблизительно 5000 мс
3) выходы Y0 или Y1 4) выходная характеристика: ограниченное количество импульсов
5) количество импульсов:
16-ти битная инструкция 0K32767
32-х битная инструкция 0K2147483647 6) блок (инструкция) PLSR, она генерирует заданное количество импульсов, с заданной частотой и заданным временем разгона.
PLSR
K3000
D300
Y0
M0
K300
S1·
S2·
S3·
D·
M8170
RST
M0
Когда катушка М0 включиться, начнет работать блок PLSR с заданной частотой, и временем разгона. При работающем блоке катушка М8170 будет находиться во включенном состоянии.
Когда текущее количество импульсов сравняется с заданным, выдача импульсов прекратится, катушка М8170 выключится, что приведет к сбросу катушки М0. Смотрите график ниже.
Если до достижения заданного количества импульсов сбросить катушку М0, катушка М8170 тоже сбросится.
Генерирует последовательные импульсы с переменной частотой
32-х битный аналог [DPLSF].
Параметр частоты. Аргументы: K、TD、CD、D、FD
Границы: 200400KHz (если установленная частота меньше 200Hz, устанавливается 200Hz)
установка Y порта генерирующего импульсы, могут использоваться Y0 или Y1
С непостоянной частотой указанной в D0 импульсы подаются на Y0
Импульсы аккумулируются в регистре D8170
Продолжительные импульсы
Генерация
определенного числа импульсов с заданной частотой; использование 32 битной инструкции [DPLSR]。
Заданная частота. Аргументы: K、TD、CD、D、FD
Общее количество импульсов. Аргументы: K、TD、CD、D、FD
Время разгона/ установки. Аргументы: K、TD、CD、D、FD
Установленный выход, может быть Y0 или Y1
Выдача сегментов импульсов в одну фазу
PLSR
D0
D100
Y3
RST
M0
M0
M8170
S1·
S2·
D·
Данная инструкция генерирует заданное количество импульсов с заданной частотой.
Область начинается с Dn или FDn стартового адреса. В данном примере, D0 устанавливает частоту импульсов для первого сегмента, D1 количество импульсов первого сегмента, D2 устанавливает частоту импульсов для 2-го сегмента, D3 устанавливает количество импульсов для 2-го сегмента, ……если значение переменных Dn, Dn+1 равно 0, это является окончанием сегментов.
Вы можете использовать 24 сегмента. Аргументы: D, FD
Время разгона/ торможения. Она используется при разгоне первого сегмента,
2-го до достижения заданной частоты, короче используется для всех сегментов, и в итоге для остановки. Аргументы: K, TD, CD, D, FD
Указывается выход, могут использоваться Y0 или Y1
При использовании 32-х битной инструкции DPLSR, D0、D1 устанавливают частоту сегмента 1、D2、D3, устанавливают количество импульсов сегмента 1, D4、D5 устанавливают частоту сегмента 2、D6、D7 устанавливают количество импульсов для сегмента 2……
Двойной импульсный выход с заданной скоростью разгона/ торможения.
Частота: 0400KHz
Время разгона/ торможения: максимум 5000ms
выходы: Y0 или Y1
выход для направления: любой Y
выходная модификация: ограниченное число импульсов
количество импульсов: 16-ти битная инструкция: 0K32767 32-х битная инструкция: 0K2147483647
инструкция (блок): PLSR
PLSR
D0
D100
Y0
RST
M0
M0
M8170
S1·
S2·
Y3
D1·
D2·
Генерируется определенное количество импульсов с заданной частотой, временем разгона/ торможения, сигналом направления (например, шаговый двигатель).
Область включает в себя Dn или FDn стартовые адреса. В данном примере, D0 устанавливает максимальную частоту сегмента 1, D1 количество импульсов для сегмента 1. D2 устанавливает максимальную частоту для сегмента 2, D3 устанавливает количество импульсов сегмента 2, …… если Dn、Dn+1 равны 0, этот сегмент является конечным. Вы можете использовать 24 сегмента.
Аргументы: D, FD.
Время разгона/ торможения используется для достижения максимальной частоты с момента старта. Также используется в каждом сегменте и для торможения в конце последнего сегмента. Аргументы: K、TD、CD、D、FD
Выход для подачи импульсов, могут использоваться Y000 или Y001
Выход для установки сигнала направления (может быть любой свободный Y).
Данный параметр устанавливается в зависимости от знака количества импульсов в первом сегменте, если - +, то Y включен, иначе, если минус – выключен.
S1·
S2·
D1·
D2·