Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1882

.pdf
Скачиваний:
6
Добавлен:
15.11.2022
Размер:
978.4 Кб
Скачать

логической операции равен 1;

Безусловный вызов (UC): вызывает функцию или функциональный блок, указанную(ый) в качестве операнда, независимо от результата

логической операции или какого-либо иного условия. Функциональные блоки, вызываемые с помощью команды CC или UC, не могут иметь соответствующих блоков данных.

Пример

Для вызова созданной вами FC с присвоенным ей номером 12 вам следует одну из следующих команд в зависимости от того, хотите ли вы, чтобы вызов был условным или нет:

CC FC12 (Вызвать FC12, если RLO равен 1);

UC FC12 (Вызвать FC12 независимо от значения RLO).

27.4.ЗАВЕРШЕНИЕ БЛОКОВ

Команда Конец блока сама по себе является оператором, завершающим обработку блока. Вы можете использовать для завершения блока любой из следующих типов команд Конец блока:

Безусловный конец блока (BEU): Эта команда завершает обработку текущего блока и возвращает управление блоку, вызвавшему завершенный блок. Когда программа встречает команду BEU, она завершает текущий блок независимо от результата логической операции;

Условный конец блока (BEC): Эта команда завершает обработку текущего блока и возвращает управление блоку, вызвавшему завершенный блок. Когда программа встречает команду BEC, она завершает текущий блок только в том случае, если результат логической операции равен 1 (RLO = 1). Если RLO равен 0, то программа не выполняет оператор Условный конец блока (BEC). RLO устанавливается в 1, и обработка программы продолжается внутри текущего блока.

28. ПРИМЕРЫ ПРОГРАММИРОВАНИЯ

28.1. ГЕНЕРАТОР ТАКТОВЫХ ИМПУЛЬСОВ

Генератор тактовых импульсов можно использовать для создания периодически повторяющегося сигнала. Генератор тактовых импульсов часто используется в системах сигнализации, управляющих миганием индикаторных ламп.

При использовании S7–300 вы можете реализовать функцию генератора тактовых импульсов, применив управляемую временем обработку в специальных организационных блоках. Пример, показанный в следующей программе на языке Список операторов, иллюстрирует использование таймерных функций для генерирования тактовых импульсов.

Следующий пример показывает, как реализовать тактовый генератор в режиме свободных колебаний с помощью таймера (относительная

130

длительность импульсов 1:1). Частота принимает значения, приведенные в таблице П1.

 

AWL

Объяснение

 

AN T1

Если таймер T 1 закончил работу, загрузить в Т 1

 

L S5T#250ms

значение времени 250 мс и запустить T 1 как

 

SE T1

формирователь продленного импульса.

 

NOT

Инвертировать результат логической операции.

 

BEC

Если таймер работает, завершить текущий блок. Если

 

L MB100

таймер завершил работу, загрузить содержимое байта

 

INC 1

памяти MB100, увеличить это содержимое на 1 и

 

T MB100

передать результат в байт памяти MB100.

Опрос сигнала таймера T 1 определяет результат логической операции.

1

0

250 ms

t(c)

Как только время таймера истекает, таймер запускается вновь. Поэтому опрос сигнала, который выполняется оператором AN T 1, выдает состояние сигнала "1" очень кратковременно.

Каждые 250 мс бит RLO становится равным 0. Тогда команда BEC не завершает обработку блока. Вместо этого увеличивается на 1 содержимое байта памяти MB100.

Содержимое байта памяти MB100 меняется каждые 250 мс следующим образом: 0 →1→2→3→ ... →254→255→0→1 ...

Достижение определенной частоты

В таблице П1 перечислены частоты, которые вы можете получить из отдельных битов байта памяти MB100. Программа на языке Список операторов, следующая за таблицей, показывает, как можно использовать сгенерированные частоты.

 

 

 

Таблица П1

Биты MB100

Частота в герцах

 

Длительность

M 100.0

2.0

0,5 с (250 мс вкл./250 мс выкл.)

M 100.1

1.0

1

с (0.5 с вкл./0.5 с выкл.)

M 100.2

0.5

2

с (1 с вкл./1 с выкл.)

M 100.3

0.25

4

с (2 с вкл./2 с выкл.)

M 100.4

0.125

8

с (4 с вкл./4 с выкл.)

M 100.5

0.0625

16 с (8 с вкл./8 с выкл.)

131

M 100.6

 

0.03125

32 с (16 с вкл./16 с выкл.)

M 100.7

 

0.015625

64 с (32 с вкл./32 с выкл.)

 

 

 

 

 

 

 

AWL

 

 

 

Объяснение

 

A M10.0

 

 

M 10.0 = 1, когда появляется неисправность.

 

A M 100.0

 

 

 

= Q4.0

 

 

Лампа, сигнализирующая о неисправности, мигает с

 

 

 

 

частотой 1 Гц при ее появлении.

 

 

28.2. ОПЕРАЦИИ СЧЕТА И СРАВНЕНИЯ

Зона хранения со счетчиком и компаратором

Ниже приведена система с двумя конвейерами и зоной временного хранения между ними. Конвейер 1 транспортирует пакеты к зоне хранения. Фотодатчик в конце конвейера 1 рядом с зоной хранения определяет, сколько пакетов доставлено в зону хранения. Конвейер 2 транспортирует пакеты из зоны временного хранения к погрузочной площадке, где грузовые автомобили забирают пакеты для доставки их клиентам. Фотодатчик в конце конвейера 2 у зоны временного хранения определяет, сколько пакетов покидает зону хранения для отправки на погрузочную площадку.

Информационное табло с пятью лампочками показывает уровень заполнения зоны временного хранения. Программа, приведенная в качестве примера, активизирует индикаторные лампы на информационном табло.

Рис. 28.1. Зона хранения со счетчиком и компаратором

132

AWL

Объяснение

A I0.0

Каждый импульс, сгенерированный фотодатчиком 1,

CU C1

увеличивает значение счетчика С 1 на единицу, подсчитывая тем

 

самым количество пакетов, поступающих в зону хранения.

A I0.1

Каждый импульс, сгенерированный фотодатчиком 2, уменьшает

CD C1

значение счетчика С 1 на единицу, подсчитывая тем самым

 

количество пакетов, покидающих зону хранения.

AN C1

Если значение счетчика равно 0, загорается индикаторная лампа

= Q4.0

«Зона хранения пуста».

A C1

Если значение счетчика не равно 0, загорается индикаторная

= Q4.1

лампа «Зона хранения не пуста».

L +50

Если 50 меньше или равно значению счетчика, то загорается

L C1

<= I

индикаторная лампа «Зона хранения заполнена на 50%».

= Q4.2

 

L +90

Если значение счетчика больше или равно 90, то загорается

>= I

индикаторная лампа «Зона хранения заполнена на 90%».

= Q4.3

 

L C1

Если значение счетчика больше или равно 100, то загорается

L 100

индикаторная лампа «Зона хранения заполнена на 100%».

>= I

(Cледует также использовать выход Q 4.4 для блокировки

= Q4.4

конвейера 1.)

ЛИТЕРАТУРА

1.Ганс Бергер. Автоматизация посредством STEP 7 с использованием

STL и SCL и программируемых контроллеров SIMATIC S7 -300/400. SIEMENS, 2001. 776 с.

2.Программирование с помощью STEP 7 версии 5.0. Техническая документация. SIEMENS, 2001. 551 с.

133

ОГЛАВЛЕНИЕ

 

1. ЗНАКОМСТВО С ПРОДУКТОМ .........................................................................

3

Что такое STEP 7? ..................................................................................................

3

2. ОСНОВЫ ПРОЕКТИРОВАНИЯ СТРУКТУРЫ ПРОГРАММЫ.......................

4

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

5

Программа пользователя.......................................................................................

5

3. БЛОКИ В ПРОГРАММЕ ПОЛЬЗОВАТЕЛЯ.......................................................

5

Блоки в программе пользователя..........................................................................

5

Типы блоков............................................................................................................

6

Организационные блоки и структура программы..............................................

6

Приоритет организационного блока ....................................................................

7

Типы прерываний и классы приоритета..............................................................

7

Изменение приоритета...........................................................................................

9

Локальные данные..................................................................................................

9

Стартовая информация OB..................................................................................

10

Отмененные ОВ прерываний..............................................................................

10

Циклическая обработка программы...................................................................

10

Обработка программы, управляемая событиями..............................................

10

Иерархия вызовов в программе пользователя...................................................

11

Порядок и глубина вложения..............................................................................

11

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

12

4. ТИПЫ БЛОКОВ И ЦИКЛИЧЕСКАЯ ОБРАБОТКА ПРОГРАММЫ.............

13

Организационный блок для циклической обработки программы (OB1) .......

13

Последовательность циклической обработки программы...............................

13

Образ процесса .....................................................................................................

14

Программирование циклической обработки программы ................................

14

Прерывания...........................................................................................................

14

Время выполнения цикла ....................................................................................

15

Максимальное время цикла.................................................................................

15

Минимальное время цикла..................................................................................

15

Коммуникационная нагрузка..............................................................................

16

Функции (FC)........................................................................................................

17

Применение......................................................................................................

18

Назначение фактических параметров формальным параметрам...............

18

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

18

Применение...........................................................................................................

18

Функциональные блоки и экземплярные блоки данных..................................

19

Переменные, имеющие тип данных FB ........................................................

19

Назначение фактических параметров формальным параметрам....................

19

Присвоение начальных значений формальным параметрам...........................

20

Экземплярные блоки данных..............................................................................

21

134

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

 

21

Один экземплярный DB для каждого отдельного экземпляра...................

21

Один

экземплярный

DB

для нескольких экземпляров

FB

(мультиэкземпляры).............................................................................................

 

 

21

Один

экземплярный DB

для

нескольких экземпляров различных

FB

(мультиэкземпляры).............................................................................................

 

 

22

5. СОВМЕСТНО ИСПОЛЬЗУЕМЫЕ БЛОКИ ДАННЫХ (DB)...........................

22

Совместно используемые блоки данных в программе пользователя.............

22

6. СИСТЕМНЫЕ ФУНКЦИОНАЛЬНЫЕ БЛОКИ (SFB) И СИСТЕМНЫЕ

ФУНКЦИИ (SFC)......................................................................................................

 

 

23

Предварительно запрограммированные блоки.................................................

23

Системные функциональные блоки...................................................................

23

Системные функции.............................................................................................

 

 

23

7.ОРГАНИЗАЦИОННЫЕ БЛОКИ ДЛЯ ОБРАБОТКИ ПРОГРАММ,

УПРАВЛЯЕМОЙ ПРЕРЫВАНИЯМИ ...................................................................

24

Организационные блоки прерываний по времени (OB10 OB17) ................

25

Правила для прерываний по времени ................................................................

25

Запуск прерывания по времени...........................................................................

26

Опрос прерываний по времени...........................................................................

26

Деактивизация прерываний по времени............................................................

26

Приоритет ОВ прерываний по времени.............................................................

26

Изменение установленного времени..................................................................

26

Реакция на изменение времени...........................................................................

26

Организационные блоки прерываний с задержкой (OB20 OB23)...............

27

Правила для прерываний с задержкой..........................................................

27

Запуск прерывания с задержкой....................................................................

27

Приоритет ОВ прерываний с задержкой ......................................................

27

Организационные блоки циклических прерываний (OB30 OB38)..............

28

Правила для циклических прерываний.........................................................

28

Запуск циклического прерывания .................................................................

28

Сдвиг фазы в циклических прерываниях......................................................

28

Приоритет ОВ циклических прерываний.....................................................

29

Организационные блоки аппаратных прерываний (OB40 OB47)...............

29

Правила для аппаратных прерываний...........................................................

30

Назначение параметров сигнальным модулям, способным к аппаратным

прерываниям....................................................................................................

30

Приоритет ОВ аппаратных прерываний.......................................................

30

Организационные блоки запуска (OB100 / OB101 / OB102)...........................

30

Типы запуска....................................................................................................

30

Стартовые события для ОВ запуска..............................................................

31

Программа запуска..........................................................................................

31

Тип запуска после ручного рестарта.............................................................

31

135

Тип запуска после автоматического рестарта..............................................

31

Очистка образа процесса................................................................................

31

Контроль существования и типа модулей....................................................

32

Времена контроля............................................................................................

32

Фоновый организационный блок (OB90) ..........................................................

32

Приоритет фонового ОВ.................................................................................

32

Программирование ОВ90 ...............................................................................

32

Организационные блоки обработки ошибок (OB70 OB87 / OB121

OB122) ...................................................................................................................

33

Типы ошибок....................................................................................................

33

Использование ОВ для синхронных ошибок...............................................

34

Использование ОВ асинхронных ошибок ....................................................

34

Маскирование стартовых событий................................................................

34

8. ЗАПУСК STEP 7....................................................................................................

35

SIMATIC Manager............................................................................................

35

Запуск STEP 7 со стартовыми параметрами, используемыми по

 

умолчанию........................................................................................................

36

Установка параметров путем копирования и вставки.................................

36

Пример параметров:........................................................................................

36

Замечания о структуре пути к проекту .........................................................

36

Замечания о структуре логического пути.....................................................

37

Объекты и их иерархия........................................................................................

37

Объекты и их иерархия...................................................................................

37

Объекты как носители свойств......................................................................

38

Объекты как папки..........................................................................................

38

Объекты как носители функций ....................................................................

38

Объект Программируемый модуль................................................................

42

Объект Программа S7/M7...............................................................................

43

9. АБСОЛЮТНАЯ И СИМВОЛИЧЕСКАЯ АДРЕСАЦИЯ..................................

48

Абсолютные адреса..............................................................................................

48

Символические адреса.........................................................................................

48

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

50

Структура таблицы символов ........................................................................

50

Столбцы O/M/C................................................................................................

50

Символическое имя (Symbol).........................................................................

50

Адрес (Address)................................................................................................

50

Тип данных (Data Type) ..................................................................................

51

Комментарий (Comment) ................................................................................

51

Преобразование в переменные языка С........................................................

51

Адреса и типы данных, разрешенные в таблице символов.............................

51

Общие советы по вводу символов......................................................................

53

10. СОЗДАНИЕ БЛОКОВ .......................................................................................

54

Типы данных, определенные пользователем (UDT) ........................................

54

136

Структура типа данных, определенного пользователем..................................

55

Свойства блоков...................................................................................................

55

11. СОЗДАНИЕ БЛОКОВ ПРОГРАММЫ НА AWL ............................................

57

Что такое Список операторов?.......................................................................

57

Язык программирования AWL.......................................................................

57

Программный пакет ........................................................................................

57

12. СТРУКТУРА И КОМПОНЕНТЫ КОМАНД И ОПЕРАТОРОВ ...................

58

Компоненты оператора...................................................................................

58

Операнд команды............................................................................................

58

Биты слова состояния......................................................................................

58

Символическое имя.........................................................................................

61

Блок данных и адрес в блоке данных............................................................

62

Идентификаторы операндов...........................................................................

62

Работа со словом или двойным словом как с объектом данных................

63

Области памяти и их функции.......................................................................

63

13. АДРЕСАЦИЯ.......................................................................................................

65

13.1. Непосредственная адресация....................................................................

65

13.2. Прямая адресация.......................................................................................

66

13.3. Косвенная адресация через память............................................................

66

Формат указателя.............................................................................................

67

13.4. Адресные регистры...................................................................................

67

13.5. Косвенная адресация внутри области через регистр...............................

68

Вычисление адреса операнда.........................................................................

68

Формат указателя.............................................................................................

69

14. ОПЕРАЦИИ С АККУМУЛЯТОРАМИ И КОМАНДЫ, ИСПОЛЬЗУЮЩИЕ

АДРЕСНЫЕ РЕГИСТРЫ .........................................................................................

70

Пояснения к некоторым командам.....................................................................

72

Инкрементирование и декрементирование ..................................................

72

+AR1 и +AR2: прибавление константы к адресному регистру 1 или

 

адресному регистру 2......................................................................................

73

15. БИТОВЫЕ ЛОГИЧЕСКИЕ ОПЕРАЦИИ........................................................

73

15.1. Булева битовая логика................................................................................

73

Таблица истинности внутри булевой логической цепи ..............................

74

Операнды основных функций........................................................................

74

15.2. Анализ условий с помощью И, ИЛИ и исключающего ИЛИ.................

76

Отношение результата к 0 ..............................................................................

76

15.3. Команды для оценки фронтов: FP, FN......................................................

77

15.4. Выход цепи булевых логических операций.............................................

79

15.5. Команды установки и сброса: S и R..........................................................

79

15.6. Команда присваивания (=) .........................................................................

80

15.7. Отрицание, установка, сброс и сохранение RLO.....................................

80

16. ТАЙМЕРНЫЕ КОМАНДЫ ...............................................................................

80

Имеющиеся в распоряжении команды..........................................................

80

137

16.1. Размещение таймера в памяти и компоненты таймера...........................

81

16.2. примеры таймеров.......................................................................................

82

Таймер как формирователь импульса: SP.....................................................

82

Таймер как формирователь удлиненного импульса: SE .............................

84

Таймер как формирователь задержки включения: SD ................................

85

Таймер как формирователь задержки включения с запоминанием: SS ....

86

Таймер как формирователь задержки выключения: SF ..............................

88

17. ОПЕРАЦИИ СО СЧЕТЧИКАМИ......................................................................

89

17.1. Установка, сброс и разблокировка счетчика............................................

90

Пример установки счетчика...........................................................................

90

Сброс счетчика.................................................................................................

90

Разблокировка счетчика для повторного пуска...........................................

91

17.2. Прямой и обратный счет.............................................................................

91

17.3. Загрузка значения счетчика в виде целого числа ....................................

91

17.4. Загрузка значения счетчика в двоично-десятичном формате ...............

92

17.5. Пример счетчика..........................................................................................

92

18. КОМАНДЫ ЗАГРУЗКИ И ПЕРЕДАЧИ...........................................................

94

18.1. Загрузка и передача.....................................................................................

94

Непосредственная адресация.........................................................................

95

Прямая и косвенная адресация ......................................................................

96

18.2. Чтение слова состояния или передача в слово состояния .....................

96

18.3. Загрузка значений времени и счетчиков...................................................

97

18.4. Загрузка и передача между адресными регистрами................................

97

18.5. Загрузка информации о блоке данных......................................................

98

19. АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ С ЦЕЛЫМИ ЧИСЛАМИ .....................

99

19.1. Основные арифметические операции.......................................................

99

Связь между арифметическими операциями и аккумуляторами...............

99

Анализ битов в слове состояния..................................................................

100

20. ОПЕРАЦИИ НАД ЧИСЛАМИ С ПЛАВАЮЩЕЙ ТОЧКОЙ......................

100

10.1. Основные арифметические операции.....................................................

100

10.2. Образование абсолютной величины числа с плавающей точкой........

102

10.3. Расширенные арифметические операции...............................................

102

21. ОПЕРАЦИИ СРАВНЕНИЯ..............................................................................

105

22. КОМАНДЫ ПРЕОБРАЗОВАНИЯ..................................................................

107

BCD в целое: BTI...........................................................................................

108

BCD в двойное целое: BTD ..........................................................................

109

Целое в BCD: ITB..........................................................................................

109

Целое в двойное целое: ITD .........................................................................

109

Двойное целое в BCD: DTB .........................................................................

109

Двойное целое в вещественное: DTR..........................................................

110

22.2. Преобразование чисел с плавающей точкой (32 бита) в целые числа (32

бита) .....................................................................................................................

110

22.3. Изменение последовательности байтов в аккумуляторе 1 .................

112

138

22.4.Образование дополнений и изменение знака чисел с плавающей

точкой..................................................................................................................

113

23. ЛОГИЧЕСКИЕ ОПЕРАЦИИ СО СЛОВАМИ...............................................

115

24. КОМАНДЫ СДВИГА И ЦИКЛИЧЕСКОГО СДВИГА................................

116

Команды сдвига: числа без знака.................................................................

116

Операции сдвига: числа со знаком..............................................................

117

Команды циклического сдвига ....................................................................

118

25. ОПЕРАЦИИ С БЛОКАМИ ДАННЫХ ...........................................................

120

26. КОМАНДЫ ПЕРЕХОДА.................................................................................

120

26.1. Команды безусловного перехода.............................................................

122

Перейти безусловно: JU................................................................................

122

Перейти по списку: JL...................................................................................

122

26.2. Команды условного перехода, зависящие от результата логической

операции..............................................................................................................

123

26.3. Команды условного перехода, зависящие от битов BR, OV или OS

слова состояния ..................................................................................................

124

26.4. Команды условного перехода, зависящие от значения битов CC 1 и CC

0 слова состояния ...............................................................................................

125

26.5. Циклическое управление..........................................................................

125

Метка перехода в качестве операнда ..........................................................

126

27. КОМАНДЫ УПРАВЛЕНИЯ ПРОГРАММОЙ..............................................

127

27.1. Назначение параметров при вызове FC и FB........................................

127

Терминология.................................................................................................

127

27.2. Вызов функций и функциональных блоков с помощью CALL ...........

127

Формальные и фактические параметры......................................................

127

Задание фактических параметров................................................................

127

Вызов FB с экземплярным DB и параметрами блока................................

128

Вызов FC с параметрами блока....................................................................

129

Вызов FC, поставляющей возвращаемое значение....................................

129

27.3. Вызов функций и функциональных блоков с помощью CC и UC......

129

27.4. Завершение блоков....................................................................................

130

28. ПРИМЕРЫ ПРОГРАММИРОВАНИЯ ...........................................................

130

28.1. Генератор тактовых импульсов...............................................................

130

Достижение определенной частоты............................................................

131

28.2. Операции счета и сравнения....................................................................

132

Зона хранения со счетчиком и компаратором............................................

132

ЛИТЕРАТУРА.........................................................................................................

133

ОГЛАВЛЕНИЕ........................................................................................................

134

139

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]