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

Содержание

Слайд 2

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

Линейная

Составная

Структурная

Линейная программа:
Все инструкции нахо-
дятся в одном блоке
(обычно, в ОВ1)

Составная программа:
Каждая функция

Структуры программ Линейная Составная Структурная Линейная программа: Все инструкции нахо- дятся в
программы
реализуется в одном блоке.
OB1 последовательно вызывает
все блоки.

Структурная программа:
Универсальные функции реализу-
ются в отдельных блоках. OB1 (или
другие блоки) вызывает эти блоки
и и передает им актуальные данные.

OB1

OB1

OB1

Рецепт A

Рецепт B

Смеситель

Выпуск

Насос

Выпуск

Слайд 3

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

OB1

Network 1

Network 2

Network 3

Управление двигателем

Сообщения

Запись времени выполнения

Линейное программирование OB1 Network 1 Network 2 Network 3 Управление двигателем Сообщения Запись времени выполнения

Слайд 4

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

Сообщения

Запись времени выполнения

OB 1

FC 1

FC 2

FC 3

Выполнение
программы

Инструкция, вызывающая
другой блок

Инструкция, вызывающая

Составное программирование Сообщения Запись времени выполнения OB 1 FC 1 FC 2

другой блок

Инструкция, вызывающая
другой блок

Управление
двигателем

Слайд 5

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

OB 1

Двигатель 1

FB1

Двигатель 2

FB1

Двигатель 3

FB1

Структурное программирование OB 1 Двигатель 1 FB1 Двигатель 2 FB1 Двигатель 3 FB1

Слайд 6

FB

FB

FB

FC

SFC

SFB

FB со связанным
блоком данных -
экземпляром

Пояснение:

OB

Организационный
блок

Цикл

Время

Процесс

Ошибки

Операционная система

OB = Организационный блок
FB = Функциональный

FB FB FB FC SFC SFB FB со связанным блоком данных -
блок
FC = Функция
SFB = Системный функциональный блок
SFC = Системная функция

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

Слайд 7

Типы блоков Характеристики
Организационный • Пользовательские интерфейсы между операционной блок (OB) системой и программой

Типы блоков Характеристики Организационный • Пользовательские интерфейсы между операционной блок (OB) системой
• Приоритетные классы (1 - 28)
• Специальная начальная информация в локальном стеке
Функциональный • С назначаемыми параметрами / без памяти
блок (FB) • Без параметров / с памятью • Без параметров/ без памяти (без блока DB - экземпляра)
Функция (FC) • Может иметь возвращаемое значение при вызове блока
(Параметры должны быть назначены при вызове блока.)
• С назначаемыми параметрами / без памяти
• Без параметров/ без памяти
Блок данных • Хранение структурированных локальных данных (экземпляры DB)
(DB) • Хранение структурированных глобальных данных
(использование для всей программы

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

Слайд 8

Типы блоков Характеристики
Системная • Хранится в операционной системе CPU функция (SFC) • Без памяти (вызывается без блока

Типы блоков Характеристики Системная • Хранится в операционной системе CPU функция (SFC)
DB -экземпляра) Системный • Хранится в операционной системе CPU функциональный • Имеет память блок (SFB) (вызывается с блоком DB -экземпляром)
Системный • Создается с помощью утилиты HW Config и блок данных других инструментов
(SDB) • Блок данных для описания конфигурации и параметров

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

Слайд 9

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

Бат данных 0

Байт данных 8191

8 бит

Максимальная длина блока данных
зависит

Типы блоков данных Бат данных 0 Байт данных 8191 8 бит Максимальная
от CPU, в котором он используется.
Максимальная длина блока в CPU 314
составляет 8 KB.

0

7

Слайд 10

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

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

Слайд 11

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

Вызов (напр. в OB1)
CALL FC3
CALL FC4
measured :

Блоки с параметрами и без параметров Вызов (напр. в OB1) CALL FC3
= MW20
display : = QW12

Слайд 12

Вызовы блока

FC

FB

Без параметров

С параметрами

Без параметров, без DB

С параметрами, с DB

• CALL FC1

Вызовы блока FC FB Без параметров С параметрами Без параметров, без DB
UC FC1
• CC FC1

STL

Язык

• CALL FC2
Par1: ... Par2: ...
Par3: ...
• UC FB1
• CC FB1

• CALL FB2, DB3
Par1: ... Par2: ...
Par3: ...

LAD

FBD

FC2

( CALL )

FC1

FC2

DB3

DB3

Слайд 13

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

A I 0.1 JCN _001 CALL FC 1 _001: A BR = Q 9.0

STL

Безусловный вызов

Условный вызов

CALL FC 1

Использование EN/ENO параметров A I 0.1 JCN _001 CALL FC 1 _001:
NOP 0

FC 1

EN

ENO

?? . ?

FC 2

EN

ENO

FC 3

EN

ENO

=

FC 1

EN

ENO

?? . ?

FC 1

EN

ENO

I 0.1

=

Q 9.0

STL

Слайд 14

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

1

2

LD для OB1

10
20

LD для OB1

10
20

33
44

LD для OB1

3

4

FC

Сохранение временных переменных в L- стеке 1 2 LD для OB1 10
1

EN

ein1

ENO

10

ein2

20

OB 1: Title
Network 1: Title

Network 2 : Title

FC 2

EN

IN1

ENO

33

IN2

44

FC 1 : Title
Network 1: Title

FC 2 : Title
Network 1: Title

1

2

3

4

Слайд 15

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

OB 1

FB2

EN

input1

ENO

result

input2

input3

Address Declaration Name Type Starting address

DB 2

FB 2 :

Функциональные блоки (FB) OB 1 FB2 EN input1 ENO result input2 input3
Kommentar
Network 1: Kommentar

DB 2

0.0 in input1 in 0
2.0 in input2 int 0
4.0 in input3 int 0
6.0 out result int 0
8.0 stat counter int 0

Address Declaration Name Type Initial value

0.0 in input1 int 0
2.0 in input2 int 0
4.0 in input3 int 0
6.0 out result int 0
8.0 stat counter int 0
0.0 temp mean int

FB 2 : Comment
Network 1: Comment

LD для OB1

LD для временных переменных блока

Стек локальных данных

Слайд 16

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

Описательная
часть FB

Экземпляр

Блоки данных - экземпляры Описательная часть FB Экземпляр

Слайд 17

Модель мультиэкземпляров
Call FB10, DB10
Call FB10, DB11
Call FB10, DB12
Call control_1
Call control_2
Call control_3

DB10

DB11

DB12

DB10

Модель с

Модель мультиэкземпляров Call FB10, DB10 Call FB10, DB11 Call FB10, DB12 Call
одним экземпляром Модель с мультиэкземплярами

FB10

FB10

FB10

OB 1

FB 100, DB10

Слайд 18

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

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

Слайд 19

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

Таблица переменных для FC1:
in start_pb bool Start button
out motor_on bool Conveyor motor
temp calc_1 int Intermediate result of calculation
Раздел кода для

Локальные символы Таблица переменных для FC1: in start_pb bool Start button out
FC1:
Когда редактируется После проверки компилятором
Network 1:
A start_pb A #start_pb, Т.к start_pb является O motor_on локальным символом
A stop_nc A "start_pb", Если start_pb был AN auto_stop глобальным символом
= motor_on

Слайд 20

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

OB1

FC1
без параметров

FC2
с различными

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

параметрами

Безусловный вызов
FC1 без
параметров
Условный вызов
FC2, с различными
параметрами, в
зависимости от
состояния входного
сигнала I 1.7

Слайд 21

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

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

Слайд 22

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

Генерация исходной программы из существующей S7 программы
Имя файла: Структура-программирования.pptx
Количество просмотров: 34
Количество скачиваний: 0