Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование контроллеров для АСУ и мехатронных систем. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
1. Какие подвиды CFC реализованы в CoDeSys v3.5?
3321321
++=
3221321
++=
3221321
−+=
2. Какие функциональные графические элементы присутствуют в CFC?
3. Перечислите преимущества и недостатки CFC.
4. Какими способами можно осуществить вставку в рабочую область
проекта элемент ?
5. Для каких целей используются элементы «Jump», «Label», «Return»?
6. Для каких целей используется элемент (компоновщик)?
7. Для каких целей используется элемент (селектор)?
1. Разработать приложение на языке CFC, реализующее вычисление сле-
Контрольные вопросы
Контрольные задания
дующих арифметических и логических выражений (табл. 3.1):
№
Выражение №
Выражение
1
25),,( xxxxxxxy
5
xxy
21
=
),(
 
2
1003),,(
xxxxxxxy
6
xxy
=
),(
21
 
 
3
=
),(
21
1
 
3
<+
;5если,
xxx
321
=
),,(
xxxy
321
 
=
5 если,0
x
3
>+−
;5если,
xxx
321
7
xxy
Таблица 3.1
<+
xxx
xxx
211
xxx
xx
21
xxx
211
xxx
211
;4 если,
212
=+
xxxx
>+
212
=+
>+
xxx
212
xxx
>+
;4 если,
2121
4 если,
<+
;100 если,
;100 если,0
100 если,
<+
;3 если,
=+
;3 если,
21
3 если,
>−
;если,
 
=
),,(
4
xxxy
321
 
если,
xxxx
2121
<+
;если,
xxxx
=
xxxx
3221
8
2121
32),,( xxxxxxxy
41
Продолжение табл. 3.1
32132
1
+++
=
15
3
+
100
3321321
+
=
32132
1
++=
+
=
32132
1
++=
10
№ Выражения № Выражения
9
10
11
12
13
14
xxxxxxy
xx
),,( x
xxxy +=
321
21
2
3
3
10),,( xxxxxxxy
32),,( xxxxxxy
100)3(),,(
16
17
18
xxxy
321
),,(
=
xxxy
321
),,(
=
xxxy
321
5,0),,( xxxxxxxxy
x
2
),,(
=
xx
21
2
x
2
−
1
2
x
3
2
x
3
<
1
5
+
xx
2
53
+
xx
21
12
+
23321321
;0если,1
=
)(
1083),,( xxxxxxy
19
xy
1
 
<
x
1
=
)(
xy
1
 
x
1
x
1
;20если,100
xx
=
;20если,0
>
20 если,8
20
),,( x
xxxy +=
321
=
x xx
31
;0если,10
1 11
>
0 если,
5,2
2
2.
Разработать приложение на языке
дующей статической характеристикой (рис
FBD,
. 3.6).
реализующее звено со сле
-
Рис. 3.6
42
3.
Разработать приложение на языке
−
стандартный
−
стандартный
−
стандартный
−
апериодическое
−
апериодическое
−
колебательное
−
интегральное
−
реально
−
интегро
ПИ-регулятор
ПД-
регулятор
ПИД-регулятор
звено первого порядка
звено второго порядка
звено
звено
-
дифференцирующее звено
-
дифференцирующее звено
;
;
CFC,
реализующее
:
;
;
;
;
;
; .
43
Глава 4
РАЗРАБОТКА ПРОГРАММ В CODESYS
В РЕДАКТОРЕ FBD/LD/IL
Языки
ские языки программирования стандарта
LD
также используют различные названия
−
−
−
−
Язык
FBD (Function Block Diagram) и LD (Ladder Diagram) –
IEC61131-3.
Для обозначения языка
:
релейно-контактные схемы (РКС
язык релейно-контактной логики
релейные диаграммы
язык лестничной логики
LD
применяется в первую очередь для описания логических выра
;
.
); ;
графиче
жений различного уровня сложности, графического представления булевых
уравнений. Кроме того
нентами
POU.
В
CoDeSys v3.5
, LD
достаточно удобен для управления другими компо
присутствует комбинированный редактор
FBD/LD/IL.
Комбинированный редактор использует общий набор команд и элементов
-
-
-
,
а также выполняет автоматическую внутреннюю конверсию между языками
При разработке программы программист в любой момент может переключить
режим отображения через меню
«FBD/LD/IL»
подменю
«View» и
далее
«View
as FBD»/«View as LD».
Диаграмма
ной линией
–
содержащую контакты
(
элементы) и соединяющие линии. Слева любая цепь начинается набором кон
тактов
«ON»
(
или одним контактом
или
«OFF»,
Каждому контакту (табл
менная имеет значение
44
LD
состоит из ряда цепей. Слева схема ограничена вертикаль
шиной питания. Цепь представляет собой электрическую схему
(Contact),
соответствующие логическим значениям
. 4.1)
TRUE,
катушки реле
),
которые посылают слева направо состояние
(Coil),
дополнительные
TRUE
или
FALSE.
POU
соответствует логическая переменная. Если пере
то состояние передаётся через контакт
.
­,
-
­.
4.1. Виды контактов
P
N
P
N
P
Обозначение Вид контакта
Прямой контакт
Инвертированный контакт
Контакт с определением переднего фронта
Контакт с определением заднего фронта
В противном случае правое соединение получает значение выключено
(«OFF»).
При этом в заданную логическую переменную записывается соответствующее
значение
TRUE
или
FALSE.
Прямой контакт соответствует нормально открытому контакту на релей
но-контактных электрических схемах, инвертированный контакт
–
нормально
разомкнутому контакту. Добавить в цепь прямой или инверсный контакт мож
но несколькими способами
−
используя
пиктограммы
:
в
верхней панели инструментов
;
-
-
−
используя
боковую панель инструментов, раздел
«Ladder elements»
( , );
−
мыши
через
;
−
через
контекстное меню, вызываемое при нажатии правой кнопки
меню
«FBD/LD/IL»
подменю
«Insert Contact», «Insert Negative
Contact».
Использование контакта с определением переднего фронта
приводит
к тому, что состояние линии соединения справа от контакта устанавливается в
TRUE
ние переменной, связанной с контактом, изменилось с
Во всех остальных случаях состояние линии справа
ливает линию справа от контакта в
только тогда, когда состояние линии слева от контакта
FALSE на TRUE.
– FALSE.
Контакт с определением заднего фронта
TRUE
тогда, когда состояние линии слева от
, в
отличие от
TRUE, и
,
состоя
устанав
-
-
контакта
TRUE, и
состояние переменной, связанной с контактом, изменилось с
TRUE на FALSE.
45
В качестве имени переменной контакта может выступать любая входная
или внутренняя булевская переменная
.
Установить тип контакта с определением переднего или заднего фронта
можно
мыши на контакте, выбрав пункт
фических символов (табл
:
−
с
−
через
помощью пиктограммы
контекстное меню, вызываемое при нажатии правой кнопки
на
верхней панели инструментов
;
−
через
меню
«FBD/LD/IL»
подменю
Для изображения различных катушек в
. 4.2).
«Edge Detection».
LD
используются несколько гра
;
Прямая катушка устанавливает значение переменной, связанной с катуш
кой, равное состоянию левой линии катушки, а обратная катушка инвертирует
состояние этой линии
Для катушки с установкой
.
выходная переменная устанавливается в
-
-
TRUE,
тушки со сбросом
переменной, связанной с этой катушкой
тов
выражений
безусловные переходы
когда состояние левой линии соединения становится в
переход левой линии в
TRUE
.
В таблице
LD-
диаграммы в системе
4.3
приведены несколько примеров использования компонен
ISaGRAF
при реализации различных логических
.
В языке
LD
может быть использован оператор
.
4.2. Виды катушек
Обозначение Вид катушки
Прямая катушка
(Coil)
TRUE.
приводит к сбросу в
RETURN, а
также метки и
Для ка
-
FALSE
-
46
Обратная катушка
Катушка с установкой
Катушка со сбросом
(Negative Coil)
(Set Coil)
(Reset Coil)
4.3. Примеры простейших LD-диаграмм
in2
in1
out1
∧
=
in2
in1
out1
∧
=
in2
in1
out1
∨
=
in1
out2
=
Обозначение LD-диаграмма
in1out1
=
Оператор
вить условное завершение программы
RETURN
может быть использован как выход, чтобы предста
:
При выполнении оператора
принимает значение
ON (
или иначе
RETURN (т.е.,
TRUE))
программа завершает своё выпол
когда линия слева от
RETURN
нение на этом шаге, цепи, расположенные ниже, не выполняется и управление
передаётся на начало
Для управления выполнением
LD-
диаграммы, на самую первую цепь
LD-
диаграммы можно использовать метки
.
и условные (безусловные) переходы к ним. Справа от имени метки или перехо
да не может быть никаких линий соединения. Если линия соединения слева от
-
-
-
перехода имеет состояние
TRUE, то
выполнение программы продолжится с
фрагмента, расположенного после соответствующей метки
В редакторе
линиям. Вставку функционального блока
осуществить
:
LD
можно подключать функциональные блоки к логическим
(
или другого
.
POU) в
цепь можно
47
−
используя
боковую панель инструментов, для этого необходимо вы
-
брать необходимый функциональный блок и перенести его на диаграмму
−
используя
−
через
мыши на контакте, выбрав пункт
верхнюю панель инструментов
контекстное меню, вызываемое при нажатии правой кнопки
;
,
;
−
через
В С
EN/ENO BOOL,
или без них. Вход
который позволяет управлять выполнением этого блока. Блок выполня
ется только тогда, когда вход
значение, что и вход блока
В качестве примера на рис
меню
oDeSys
«FBD/LD/IL».
имеется возможность вставки блока со входом/выходом
EN –
EN
дополнительный вход блока, имеющий тип
равен
TRUE.
Выход
ENO
всегда имеет то же
EN.
. 4.1
представлен фрагмент программы на
;
или
-
LD,
который реализует вычисление суммы и разности двух чисел
мости от значения переменной
in1 = FALSE –
На рисунке
считается разность
4.2
приведён пример использования блока без
мер реализует задержку на включение переменной
in1:
.
при
in1 = TRUE
считается сумма чисел, при
out1.
r1 и r2 в
EN/ENO.
зависи
При
-
-
48
Рис. 4.1. Пример использования блока с входом EN
Рис. 4.2. Пример использования блока без EN
тов
322113321
∨∧∨∧∨
=
213231321
∨∧∨∧∨
=
213231321
213221321
313221321
313121321
322113321
322113321
322113321
213231321
313221321
1.
2.
3.
4.
5.
?
6.
7.
Из
чего состоит
Какие Какие Какими Какой
Какой Какими
Контрольные вопросы
LD-
диаграмма
виды контактов присутствуют в
виды катушек присутствуют в
способами можно добавить в цепь новый контакт
?
LD?
LD?
?
тип логики реализует последовательное подключение контак
тип логики реализует параллельное подключение контактов
способами в редакторе
LD
можно вставить в цепь функцио
?
-
-
нальный блок
8.
Для
?
какой цели используется дополнительный вход блока
Контрольные задания
1.
Разработать приложение на языке
дующих логических выражений
1)
2)
3)
4)
5)
EN?
LD,
реализующее вычисление сле
-
:
)()()(),,(
xxxxxxxxxf
;
)()()(),,(
xxxxxxxxxf
;
)(),,(
xxxxxxxxxf ∨∧∧∨∧=
;
)()()(),,(
xxxxxxxxxf ∨∨∨∧∨=
;
)()(),,( xxxxxxxxxf ∧∨∨∧∨=
;
6)
7)
8)
9)
10)
11)
)()(),,( xxxxxxxxxf ∧∨∨∧∨=
)()(),,( xxxxxxxxxf ∧∨∨∧∨=
)()(),,( xxxxxxxxxf ∧∨∧∧∧=
;
)(),,(
xxxxxxxxxf ∨∨∧∨∧=
;
;
)()()(),,(
xxxxxxxxxf ∧∨∨∨∧=
;
)()(),,(
xxxxxxxxxf ∨∧∧∨∧=
; ;
49
12)
322113321
∨∧∨∧∧
=
213221321
313121321
322113321
313221321
313221321
322123321
∧∧∨∧∧
=
322113321
322113321
13)
)()(),,(
xxxxxxxxxf
;
)()()(),,(
xxxxxxxxxf ∨∧∨∧∨=
;
14)
15)
16)
17)
18)
19)
20)
2.
Разработать приложение на языке
щей таблицей истинности
)()(),,( xxxxxxxxxf ∧∨−∧∨=
)()(),,( xxxxxxxxxf ∧∨∨∧∨= )()(),,( xxxxxxxxxf ∨∨∨∧∨=
)()(),,( xxxxxxxxxf ∧∧∨∧∨=
LD,
;
)()(),,(
xxxxxxxxxf ∨∨∧∨∧=
; ; ;
)()()(),,(
xxxxxxxxxf
;
;
)()(),,(
xxxxxxxxxf ∨∨∧∧∨=
.
реализующее звено со следую
-
:
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]