Структурное программирование
Структуры программ
Линейное программирование
Составное программирование
Структурное программирование
Типы программных блоков
Пользовательские блоки
Системные блоки
Типы блоков данных
Структура таблицы описания переменных
Блоки с параметрами и без параметров
Вызовы блока
Использование EN/ENO параметров
Сохранение временных переменных в L- стеке
Функциональные блоки (FB)
Блоки данных - экземпляры
Модель мультиэкземпляров
Создание экземпляра
Локальные символы
Упражнение 9.1: Вызов FC с / без параметров
Упражнение 9.2: Вызов функционального блока с экземпляром
Генерация исходной программы из существующей S7 программы
Генерация исходной программы
4.61M
Категория: ПрограммированиеПрограммирование

Структура программирования

1. Структурное программирование

FC
Операционная
система
FB
OB1
FB
FC
SFC
SFB
Другие
OB
SIMATIC S7
Siemens AG 1997. All rights reserved.
Date:
File:
3/4/21
PRO1_09R.1
Information and Training Center
Knowledge for Automation

2. Структуры программ

Линейная
Составная
Структурная
Рецепт A
OB1
OB1
Рецепт B
Смеситель
OB1
Насос
Выпуск
Выпуск
Линейная программа:
Все инструкции находятся в одном блоке
(обычно, в ОВ1)
SIMATIC S7
Siemens AG 1997. All rights reserved.
Составная программа:
Каждая функция программы
реализуется в одном блоке.
OB1 последовательно вызывает
все блоки.
Date:
File:
3/4/21
PRO1_09R.2
Структурная программа:
Универсальные функции реализуются в отдельных блоках. OB1 (или
другие блоки) вызывает эти блоки
и и передает им актуальные данные.
Information and Training Center
Knowledge for Automation

3. Линейное программирование

OB1
Network 1
Управление двигателем
Network 2
Сообщения
Network 3
Запись времени выполнения
SIMATIC S7
Siemens AG 1997. All rights reserved.
Date:
File:
3/4/21
PRO1_09R.3
Information and Training Center
Knowledge for Automation

4. Составное программирование

OB 1
FC 1
Управление
двигателем
Инструкция, вызывающая
другой блок
Block end
Выполнение
программы
FC 2
Сообщения
Инструкция, вызывающая
другой блок
Block end
FC 3
Инструкция, вызывающая
другой блок
Запись времени
выполнения
Block end
SIMATIC S7
Siemens AG 1997. All rights reserved.
Date:
File:
3/4/21
PRO1_09R.4
Information and Training Center
Knowledge for Automation

5. Структурное программирование

FB1
OB 1
Двигатель 1
FB1
Двигатель 2
FB1
Двигатель 3
SIMATIC S7
Siemens AG 1997. All rights reserved.
Date:
File:
3/4/21
PRO1_09R.5
Information and Training Center
Knowledge for Automation

6. Типы программных блоков

Цикл
OB
Время
Процесс
FB
FC
SFB
FB
FB
SFC
Организационный
блок
Ошибки
Операционная система
OB
FB
FC
SFB
SFC
= Организационный блок
= Функциональный блок
= Функция
= Системный функциональный блок
= Системная функция
SIMATIC S7
Siemens AG 1997. All rights reserved.
Date:
File:
Пояснение:
FB со связанным
блоком данных экземпляром
3/4/21
PRO1_09R.6
Information and Training Center
Knowledge for Automation

7. Пользовательские блоки

Типы блоков
Характеристики
Организационный
• Пользовательские интерфейсы между операционной
блок (OB)
системой и программой
• Приоритетные классы (1 - 28)
• Специальная начальная информация в локальном стеке
Функциональный
• С назначаемыми параметрами / без памяти
блок (FB)
• Без параметров / с памятью
параметров/ без памяти
(без блока DB - экземпляра)
Функция
• Без
(FC) • Может иметь возвращаемое значение при вызове блока
(Параметры должны быть назначены при вызове блока.)
• С назначаемыми параметрами / без памяти
• Без параметров/ без памяти
Блок данных
• Хранение структурированных локальных данных
(экземпляры DB)
(DB)
• Хранение структурированных глобальных данных
(использование для всей программы
SIMATIC S7
Siemens AG 1997. All rights reserved.
Date:
File:
3/4/21
PRO1_09R.7
Information and Training Center
Knowledge for Automation

8. Системные блоки

Типы блоков
Характеристики
Системная
(SFC)
• Хранится в операционной системе CPU функция
• Без памяти
(вызывается без блока DB -экземпляра)
Системный
функциональный
блок (SFB)
• Хранится в операционной системе CPU
• Имеет память
(вызывается с блоком DB -экземпляром)
Системный
блок данных
(SDB)
• Создается с помощью утилиты HW Config и
других инструментов
• Блок данных для описания конфигурации и
параметров
SIMATIC S7
Siemens AG 1997. All rights reserved.
Date:
File:
3/4/21
PRO1_09R.8
Information and Training Center
Knowledge for Automation

9. Типы блоков данных

7
8 бит
0
Бат данных 0
Максимальная длина блока данных
зависит от CPU, в котором он используется.
Максимальная длина блока в CPU 314
составляет 8 KB.
Байт данных 8191
SIMATIC S7
Siemens AG 1997. All rights reserved.
Date:
File:
3/4/21
PRO1_09R.9
Information and Training Center
Knowledge for Automation

10. Структура таблицы описания переменных

SIMATIC S7
Siemens AG 1997. All rights reserved.
Date:
File:
3/4/21
PRO1_09R.10
Information and Training Center
Knowledge for Automation

11. Блоки с параметрами и без параметров

Вызов (напр. в OB1)
CALL FC3
CALL FC4
measured : = MW20
display
: = QW12
SIMATIC S7
Siemens AG 1997. All rights reserved.
Date:
File:
3/4/21
PRO1_09R.11
Information and Training Center
Knowledge for Automation

12. Вызовы блока

FC
Язык
STL
FB
Без параметров
С параметрами
• CALL FC1
• CALL FC2
Par1: ...
Par2: ...
Par3: ...
• UC FC1
• CC FC1
Без параметров, без DB
С параметрами, с DB
• CALL FB2, DB3
Par1: ...
Par2: ...
Par3: ...
• UC FB1
• CC FB1
FC1
( CALL )
DB3
FC2
LAD
EN
FC1
EN
ENO
FB1
ENO
EN
FC2
ENO
Par1
Par2
EN
ENO
Par1
Par3
Par2
Par3
DB3
FC1
FBD
FC2
EN
EN
Siemens AG 1997. All rights reserved.
Par3
FC2
EN
EN
Par1
ENO
SIMATIC S7
FB1
Par2
Par3
Par1
ENO
Date:
File:
ENO
3/4/21
PRO1_09R.12
Par2
ENO
Information and Training Center
Knowledge for Automation

13. Использование EN/ENO параметров

Безусловный вызов
Условный вызов
FC 1
?? . ?
EN
ENO
FC 1
EN
ENO
I 0.1
Q 9.0
=
STL
A
I
JCN _001
1
_001: A
=
Q
9.0
STL
1
CALLFC
NOP 0
FC 1
?? . ?
EN
SIMATIC S7
Siemens AG 1997. All rights reserved.
ENO
FC 2
EN
CALLFC
BR
FC 3
ENO
Date:
File:
0.1
3/4/21
PRO1_09R.13
EN
ENO
=
Information and Training Center
Knowledge for Automation

14. Сохранение временных переменных в L- стеке

OB 1: Title
FC 1 : Title
1
Network 1: Title
FC 2 : Title
FC 1
ein1
20
ein2
Network 1: Title
FC 2
EN
10
2
Network 1: Title
EN
ENO
4
33
IN1
44
IN2
ENO
3
Network 2 : Title
4
LD для OB1
1
3
2
LD для OB1
LD для OB1
10
10
20
20
33
44
SIMATIC S7
Siemens AG 1997. All rights reserved.
Date:
File:
3/4/21
PRO1_09R.14
Information and Training Center
Knowledge for Automation

15. Функциональные блоки (FB)

OB 1
DB 2
DB 2
FB2
EN
input1
result
input2
input3
ENO
Address
Declaration
0.0
in
2.0
Type
Starting address
input1
in
0
in
input2
int
0
4.0
in
input3
int
0
6.0
out
result
int
0
8.0
stat
counter
int
0
Стек локальных данных
LD для OB1
Name
Address
Declaration
Name
Type
Initial value
0.0
in
input1
int
0
2.0
in
input2
int
0
4.0
in
input3
int
0
FB 2 : Kommentar
6.0
out
result
int
0
Network 1: Kommentar
8.0
stat
counter
int
0
mean
int
FB
0.0 2 : Comment
temp
LD для временных
переменных
блока
SIMATIC S7
Siemens AG 1997. All rights reserved.
Network 1: Comment
Date:
File:
3/4/21
PRO1_09R.15
Information and Training Center
Knowledge for Automation

16. Блоки данных - экземпляры

Описательная
часть FB
Экземпляр
SIMATIC S7
Siemens AG 1997. All rights reserved.
Date:
File:
3/4/21
PRO1_09R.16
Information and Training Center
Knowledge for Automation

17. Модель мультиэкземпляров

Модель с одним экземпляром
мультиэкземплярами
OB 1
Модель с
DB10
FB 100, DB10
stat Controller 1 FB10
stat Controller 2 FB10
stat Controller 1 FB10
FB10
Call FB10, DB10
DB11
Call FB10, DB11
DB10
Call control_1
FB10
Call control_2
Call FB10, DB12
DB12
Call control_3
FB10
SIMATIC S7
Siemens AG 1997. All rights reserved.
Date:
File:
3/4/21
PRO1_09R.17
Information and Training Center
Knowledge for Automation

18. Создание экземпляра

SIMATIC S7
Siemens AG 1997. All rights reserved.
Date:
File:
3/4/21
PRO1_09R.18
Information and Training Center
Knowledge for Automation

19. Локальные символы

Таблица переменных для FC1:
in
start_pb
bool
out
motor_on
bool
temp
calc_1
int
Start button
Conveyor motor
Intermediate result of calculation
Раздел кода для FC1:
Когда редактируется
Network 1:
A start_pb
motor_on
A stop_nc
auto_stop
= motor_on
SIMATIC S7
Siemens AG 1997. All rights reserved.
После проверки компилятором
A
A
Date:
File:
#start_pb,
Т.к start_pb является
локальным символом
"start_pb", Если start_pb был
глобальным символом
3/4/21
PRO1_09R.19
O
AN
Information and Training Center
Knowledge for Automation

20. Упражнение 9.1: Вызов FC с / без параметров

FC1
без параметров
OB1
Безусловный вызов
FC1 без
параметров
Условный вызов
FC2, с различными
параметрами, в
зависимости от
состояния входного
сигнала I 1.7
SIMATIC S7
Siemens AG 1997. All rights reserved.
FC2
с различными
параметрами
Date:
File:
3/4/21
PRO1_09R.20
Information and Training Center
Knowledge for Automation

21. Упражнение 9.2: Вызов функционального блока с экземпляром

Шаг
Что делать
Результат
1
Создать FB 1 в проекте PRO1, в S7программе PROGA
2
Ввести описательную часть и программу
для решения задачи
3
Ввести команду CALL FB 1, DB 20 в
1 для вызова блока
4
Загрузить блоки DB 20, FB 1 и OB 1 в
CPU
Блок FB выполняется
5
Протестировать функцию путем контроля
текущего значения статической
переменной max_value в экземпляре
DB 20
Она работает !
SIMATIC S7
Siemens AG 1997. All rights reserved.
Date:
File:
Новый FB создан
OB
Вам будет предложена подсказка для
создания блока DB
3/4/21
PRO1_09R.21
Information and Training Center
Knowledge for Automation

22. Генерация исходной программы из существующей S7 программы

SIMATIC S7
Siemens AG 1997. All rights reserved.
Date:
File:
3/4/21
PRO1_09R.22
Information and Training Center
Knowledge for Automation

23. Генерация исходной программы

Блоки в STL-представлении
Блоки в виде текста
SIMATIC S7
Siemens AG 1997. All rights reserved.
Date:
File:
3/4/21
PRO1_09R.23
Information and Training Center
Knowledge for Automation
English     Русский Правила