Ганс Бергер
Table of contents :
Автоматизация посредством STEP 7 с использованием STL и SCL и программируемых контроллеров SIMATIC S7-300/400……Page 1
ПРЕДИСЛОВИЕ……Page 3
КРАТКИЙ ОБЗОР СОДЕРЖАНИЯ КНИГИ……Page 5
КРАТКИЙ ОБЗОР СОДЕРЖАНИЯ ДИСКЕТЫ С ПРИМЕРАМИ ПРОГРАММ……Page 7
Автоматизация с применением STEP 7: схемы применения……Page 9
СОДЕРЖАНИЕ……Page 13
Введение……Page 29
1.1.1 Компоненты……Page 31
1.1.2 Станция S7-300……Page 32
1.1.3 Станция S7-400……Page 34
1.1.4 Области памяти CPU……Page 36
1.1.5 Модуль памяти……Page 37
1.1.6 Системная память……Page 38
1.2 Распределенные I/O (входы/выходы)……Page 39
1.2.1 Система ведущего DP-устройства……Page 40
1.2.3 Ведомые DP-устройства (DP Slaves)……Page 41
1.2.4 Подключение к PROFIBUS-PA……Page 43
1.2.5 Подключение к AS-интерфейсу……Page 44
1.3.1 Введение……Page 46
1.3.2 Подсети……Page 48
1.3.3 Службы обмена (communications services)……Page 52
1.3.4 Соединения (connections)……Page 53
1.4.1 Путь прохождения сигнала……Page 54
1.4.3 Начальный адрес модуля……Page 55
1.4.4 Диагностические адреса……Page 56
1.5.1 Область данных пользователя……Page 57
1.5.2 Отображение процесса (образ процесса)……Page 59
1.5.3 Меркеры……Page 60
2.1.1 Инсталляция……Page 63
2.1.3 SIMATIC Manager……Page 64
2.1.4 Проекты и библиотеки (Project(s) и Library(ies))……Page 68
2.1.5 Интерактивная справочная система (Online Help )……Page 69
2.2.1 Создание проектов……Page 70
2.2.2 Управление, перекомпоновка и архивирование……Page 72
2.3 Конфигурирование станций……Page 75
2.3.2 Адресация модулей……Page 77
2.3.3 Параметризация модулей……Page 78
2.3.4 Объединение в сеть модулей посредством MPI……Page 79
2.4 Конфигурирование сети (Network)……Page 80
2.4.1 Конфигурирование графического представления сети (Network View)……Page 82
2.4.3 Конфигурирование соединений (Connections)……Page 84
2.4.4 Переходы между подсетями (Network Transitions)……Page 89
2.4.5 Загрузка таблицы соединений (Loading the Connection Data)……Page 90
2.5.1 Введение……Page 91
2.5.2 Таблица символов (Symbol Table)……Page 92
2.5.3 Редактор STL-программ (STL Program Editor)……Page 94
2.5.4 Редактор SCL-программ (SCL Program Editor)……Page 99
2.5.5 Перекомпоновка (Rewiring)……Page 102
2.5.6 Приоритет адресов (Address Priority)……Page 103
2.5.7 Ссылки (Reference Data)……Page 104
2.5.8 Многоязыковая поддержка комментариев и отображаемых текстов……Page 106
2.6.1 Подключение к PLC (Connection a PLC)……Page 108
2.6.2 Защита программы пользователя……Page 109
2.6.3 Информация о CPU (CPU Information)……Page 111
2.6.5 Работа с блоками (Block Handling)……Page 112
2.7.1 Диагностика оборудования……Page 114
2.7.2 Определение причины перехода в состояние STOP……Page 115
2.7.3 Мониторинг и модификация переменных (Monitoring and Modifying Variables)……Page 116
2.7.4 Форсирование переменных (Forcing Variables)……Page 118
2.7.5 Разблокировка периферийных выходов (функция Enable peripheral outputs)……Page 121
2.7.6 Функция “Program Status” (“Состояние программы”) для STL……Page 122
2.7.7 Отладка SCL-программ……Page 124
3.1.1 Методы обработки программы……Page 127
3.1.2 Классы приоритетов……Page 129
3.1.3 Спецификации для обработки программы……Page 130
3.2 Блоки……Page 131
3.2.1 Типы блоков (Block Types)……Page 132
3.2.2 Структура блоков (Block Structure)……Page 134
3.2.3 Свойства блоков (Block Properties)……Page 136
3.2.4 Интерфейс блоков (Block Interface)……Page 139
3.3 Адресация переменных (Addressing Variables)……Page 141
3.3.1 Абсолютная адресация переменных……Page 142
3.3.3 Символьная адресация переменных……Page 144
3.4.1 Структура STL-выражения……Page 146
3.4.2 Инкрементное программирование кодовых блоков на STL……Page 147
3.4.3 Программирование кодовых блоков на STL, ориентированное на создание исходных файлов……Page 151
3.5.1 Структура SCL-выражения……Page 154
3.5.2 Программирование кодовых SCL-блоков……Page 156
3.6 Программирование блоков данных……Page 160
3.6.1 Инкрементное программирование блоков данных……Page 161
3.6.2 Программирование блоков данных, ориентированное на создание исходных файлов……Page 163
3.7.1 Общие замечания по поводу переменных……Page 165
3.7.2 Общие замечания по поводу типов данных……Page 167
3.7.4 Сложные типы данных……Page 168
3.7.5 Параметрические типы……Page 171
Базовые функции……Page 173
4.1 Структура программируемого контроллера……Page 175
4.2 Элементарные двоичные логические операции……Page 179
4.2.1 Функция AND (И)……Page 180
4.2.3 Функция Exclusive OR (Исключающее ИЛИ)……Page 182
4.2.4 Допущения, принимаемые по отношению к типам датчиков……Page 183
4.4 Сложные двоичные логические операции……Page 185
4.4.1 Обработка вложенных выражений (вложенных операторов)……Page 186
4.4.2 Объединение AND-функций (И) в операторе OR (ИЛИ)……Page 188
4.4.3 Объединение OR (ИЛИ) и Exclusive OR (Исключающее ИЛИ) в операторе AND (И)……Page 189
4.4.5 Объединение функций OR (ИЛИ) в операторе Exclusive OR (Исключающее ИЛИ)……Page 190
4.4.6 Инвертирование вложенных выражений……Page 191
5.1 Функция Assign (Присвоение)……Page 193
5.2 Функции Set (Установка бита) и Reset (Сброс бита)……Page 195
5.3.1 Операции с памятью при установленном приоритете функции Reset (Сброс бита)……Page 196
5.3.2 Операции с памятью при установленном приоритете функции Set (Установка бита)……Page 197
5.3.3 Операции с памятью в сочетании с двоичными логическими функциями……Page 198
5.4 Функция Edge Evaluation (Проверка наличия фронта сигнала)……Page 199
5.4.1 Положительный фронт сигнала……Page 200
5.4.2 Отрицательный фронт сигнала……Page 201
5.4.3 Проверка меркера импульса……Page 202
5.4.5 Двоичный делитель (Binary Scaler)……Page 203
5.5 Пример системы управления ленточным конвейером……Page 205
6.1 Общие замечания по поводу операций загрузки и выгрузки данных……Page 211
6.2.1 Общее представление о функциях загрузки Load……Page 214
6.2.2 Загрузка в аккумулятор из памяти……Page 216
6.3.1 Общее представление о функциях выгрузки Transfer……Page 217
6.3.2 Выгрузка данных из аккумулятора в различные области памяти……Page 218
6.4.1 Прямая пересылка данных между аккумуляторами……Page 219
6.6 Системные функции для пересылки данных……Page 222
6.6.2 Непрерывное копирование из области данных……Page 224
6.6.3 Вставка данных в область назначения……Page 225
6.6.4 Копирование переменных типа STRING……Page 226
7 Функции таймеров (Timer Functions)……Page 227
7.1.2 Задание временных параметров таймера……Page 228
7.1.3 Сброс таймера (Resetting a timer)……Page 230
7.1.5 Проверка (опрос) таймера (Checking a timer)……Page 231
7.1.6 Последовательность инструкций при использовании функций таймера……Page 233
7.2 Таймер с управляемым импульсом (Pulse timer)……Page 234
7.3 Таймер с расширенным импульсом (Extended pulse timer)……Page 238
7.4 Таймер с задержкой включения (On-delay timer)……Page 241
7.5 Таймер с задержкой включения с памятью (Retentive On-delay timer)……Page 245
7.6 Таймер с задержкой выключения (Off-delay timer)……Page 249
7.7 IEC-функции таймеров (IEC Timer Functions)……Page 252
7.7.1 Генератор импульсов SFB 3 TP……Page 254
7.7.3 Генератор импульсов с задержкой выключения SFB 5 TOF……Page 255
8.1 Установка и сброс счетчиков……Page 257
8.2 Счет (Counting)……Page 259
8.3 Проверка (опрос) счетчика (Checking a Counter)……Page 260
8.4 Разблокировка счетчика (Enabling a counter)……Page 261
8.5 Последовательность инструкций при использовании функций счетчика……Page 264
8.6 IEC-функции счетчиков (IEC Counter Functions)……Page 265
8.6.1 Функция прямого счета SFB 0 CTU……Page 266
8.6.3 Функция прямого и обратного счета SFB 2 CTUD……Page 267
8.7 Пример счетчика деталей……Page 268
Функции для обработки чисел……Page 273
9 Функции сравнения……Page 275
9.1 Общее представление функций сравнения……Page 276
9.2 Описание функций сравнения……Page 277
9.3 Функции сравнения в логических операциях……Page 280
10.1 Общее представление арифметических функций……Page 283
10.2 Вычисления с данными типа INT……Page 285
10.3 Вычисления с данными типа DINT……Page 287
10.4 Вычисления с данными типа REAL……Page 288
10.5 Последовательное выполнение арифметических функций……Page 290
10.6 Добавление констант к содержимому аккумулятора Accumulator 1……Page 292
10.7 Операции декрементирования и инкрементирования……Page 293
11.1 Общее представление математических функций……Page 295
11.2 Тригонометрические функции……Page 296
11.3 Обратные тригонометрические функции (Arc-функции)……Page 297
11.4 Другие математические функции……Page 298
12.1 Выполнение функций преобразования……Page 301
12.2 Преобразование чисел форматов INT и DINT……Page 303
12.3 Преобразование чисел формата BCD……Page 304
12.4 Функции преобразования чисел формата REAL……Page 305
12.5 Другие функции преобразования чисел……Page 307
13.1 Выполнение функций сдвига……Page 309
13.2 Операции сдвига……Page 312
13.3 Операции циклического сдвига……Page 315
14.1 Выполнение логических операций для слов данных……Page 317
14.2 Описание логических операций для слов данных……Page 320
Управление выполнением программы……Page 323
15.1 Описание битов состояния……Page 325
15.2 Описание битов состояния……Page 329
15.3 Проверка битов состояния……Page 332
15.4 Использование двоичного результата (бита состояния BR)……Page 334
16.1 Программирование функций перехода……Page 339
16.3 Функции перехода в зависимости от состояния RLO и BR……Page 341
16.4 Функции перехода в зависимости от состояния CC0 и CC1……Page 343
16.5 Функции перехода в зависимости от состояния OV и OS……Page 346
16.6 Распределитель переходов (Jump Distributor)……Page 347
16.7 Циклический переход (Loop Jump)……Page 348
17.1 MCR-зависимость (MCR Dependency)……Page 349
17.3 MCR-зона (MCR Zone)……Page 351
17.4 Установка и сброс битов периферии (I/O битов)……Page 353
18.1 Функции для кодовых блоков……Page 357
18.1.1 Вызов блока: общая информация……Page 358
18.1.2 Оператор вызова блока CALL……Page 359
18.1.3 Операторы вызова UC и CC……Page 360
18.1.5 Временные локальные данные……Page 362
18.1.6 Статические локальные данные……Page 366
18.2 Функции для блоков данных……Page 370
18.2.1 Два регистра блоков данных……Page 371
18.2.2 Адресация данных……Page 372
18.2.3 Открытие блока данных……Page 375
18.2.4 Обмен содержимым между регистрами блоков данных……Page 376
18.2.6 Особенности, имеющие место при адресации данных……Page 377
18.3 Системные функции для блоков данных……Page 380
18.3.3 Тестирование блока данных……Page 381
18.4.2 Оператор отображения программы BLD……Page 382
19.1.2 Обработка параметров блока……Page 383
19.1.3 Объявление (declaration) параметров блока……Page 384
19.1.4 Объявление (declaration) значения функции……Page 387
19.2 Формальные параметры……Page 388
19.3 Фактические параметры……Page 393
19.4 Последовательная передача (“Pass On”) параметров блока……Page 398
19.5.1 Пример: ленточный конвейер……Page 399
19.5.2 Пример: счетчик деталей……Page 401
19.5.3 Пример: подающий механизм……Page 402
Выполнение программы……Page 407
20.1.1 Структура программы……Page 409
20.1.2 Организация программы……Page 411
20.2.1 Обновление отображения состояния процесса……Page 414
20.2.2 Время мониторинга цикла сканирования……Page 416
20.2.3 Минимальное время цикла сканирования Сканирование в фоновом режиме……Page 418
20.2.4 Время отклика (“Response Time”)……Page 420
20.2.5 Стартовая информация (“Start Information”)……Page 421
20.3.1 Управление часами реального времени (Real-Time Clock)……Page 423
20.3.2 Системные часы (System Clock)……Page 424
20.3.3 Измеритель времени наработки (Run-Time Meter)……Page 425
20.3.4 Сжатие информации в памяти CPU (Compressing CPU Memory)……Page 426
20.3.6 Мультипроцессорный режим……Page 427
20.4 Связь (communications) посредством распределенной периферии I/O……Page 429
20.4.1 Адресация распределенной периферии (I/O)……Page 430
20.4.2 Конфигурирование распределенной периферии (I/O)……Page 436
20.4.3 Системные функции для распределенной периферии (I/O)……Page 451
20.5.1 Основы……Page 455
20.5.2 Конфигурирование GD-коммуникаций……Page 459
20.5.3 Системные функции для GD-коммуникаций……Page 462
20.6.1 Внутристанционные (Station-Internal) SFC-коммуникации……Page 463
20.6.2 Системные функции для обмена данными внутри станции……Page 465
20.6.3 Внестанционные (Station-External) SFC-коммуникации……Page 467
20.6.4 Системные функции для обмена данными между станциями (“внестанционные” SFC)……Page 469
20.7.1 Основы……Page 473
20.7.2 Двусторонний обмен данными (Two-way Data Exchange)……Page 476
20.7.3 Односторонний обмен данными (One-way Data Exchange)……Page 478
20.7.4 Передача данных на принтер (Print Data)……Page 480
20.7.5 Функции управления (Control Functions)……Page 481
20.7.6 Функции мониторинга (Monitoring Functions)……Page 483
21.1 Общие замечания……Page 487
21.2.1 Генерация аппаратных прерываний……Page 490
21.2.2 Обслуживание аппаратных прерываний……Page 491
21.3 Таймерные прерывания (watchdog Interrupts)……Page 492
21.3.1 Обработка таймерных прерываний (watchdog Interrupts)……Page 493
21.3.2 Конфигурирование таймерных прерываний (watchdog Interrupts) с помощью STEP 7……Page 495
21.4.1 Обработка прерываний по времени суток (time-of-day interrupts)……Page 496
21.4.2 Конфигурирование прерываний по времени суток (time-of-day interrupts) с помощью STEP 7……Page 498
21.4.3 Системные функции для прерываний по времени суток (time-of-day interrupts)……Page 499
21.5.1 Обработка прерываний c задержкой обработки (time-delay interrupts)……Page 501
21.5.3 Системные функции для прерываний c задержкой обработки (time-delay interrupts)……Page 503
21.6 Прерывание мультипроцессорного режима……Page 505
22.1.1 Режимы работы……Page 511
22.1.2 Режим HOLD (ПАУЗА)……Page 512
22.1.3 Блокировка выходных модулей (disable)……Page 513
22.1.4 Организационные блоки для перезапуска……Page 514
22.2.1 Режим STOP (СТОП)……Page 515
22.2.3 Реманентность (Retentivity)……Page 516
22.2.4 Определение параметров для перезапуска……Page 517
22.3.1 Режим запуска (START-UP)……Page 518
22.3.2 “Холодный” перезапуск (Cold Restart)……Page 519
22.3.3 “Полный” перезапуск (Complete Restart)……Page 521
22.3.4 “Теплый” перезапуск (Warm Restart)……Page 522
22.4 Установление адреса модуля……Page 523
22.5 Параметризация модулей……Page 525
23.1 Синхронные ошибки……Page 531
23.2.1 Фильтрация ошибок……Page 533
23.2.3 Демаскирование синхронных ошибок……Page 536
23.2.5 Ввод “заменяющего” значения (значения замены)……Page 537
23.3 Асинхронные ошибки……Page 538
23.4.1 Диагностические события и диагностический буфер……Page 542
23.4.2 Запись пользовательских сообщений в диагностический буфер……Page 543
23.4.3 Проверка диагностического прерывания……Page 544
23.4.4 Считывание списка состояний системы……Page 545
Обработка переменных……Page 547
24.1.1 Объявление простых типов данных……Page 549
24.1.2 Типы данных BOOL, BYTE, WORD, DWORD, CHAR……Page 550
24.1.3 Представление чисел……Page 552
24.1.4 Представление времени……Page 555
24.2 Сложные типы данных……Page 557
24.2.1 Тип данных DATA_AND_TIME……Page 558
24.2.2 Тип данных STRING……Page 560
24.2.3 Тип данных ARRAY……Page 562
24.2.4 Тип данных STRUCT……Page 563
24.3.1 Инкрементное программирование данных, определенных пользователем (UDT)……Page 566
24.3.2 Применение данных UDT при создании исходных текстов программы……Page 567
25.1.1 Указатели на область (area pointers)……Page 569
25.1.2 Указатели на DB (DB pointers)……Page 570
25.1.3 ANY-указатели (ANY pointer)……Page 572
25.2.1 Общая информация……Page 573
25.2.3 Косвенная адресация посредством памяти……Page 575
25.2.4 Косвенная внутризонная адресация посредством регистра……Page 578
25.2.5 Косвенная межзонная адресация посредством регистра……Page 579
25.2.6 Резюме……Page 580
25.3 Использование адресных регистров……Page 581
25.3.1 Загрузка в адресный регистр……Page 582
25.3.3 Обмен содержимым между адресными регистрами……Page 583
25.3.4 Операция сложения с содержимым адресного регистра……Page 584
25.4.2 Использование адресного регистра AR2……Page 586
25.4.3 Ограничения на использование статических локальных данных……Page 588
26.1 Загрузка адреса переменной……Page 591
26.2 Хранение переменных……Page 593
26.2.1 Хранение переменных в блоках глобальных данных……Page 594
26.2.2 Хранение переменных в блоках экземплярных данных……Page 595
26.2.3 Хранение переменных в области временных локальных данных……Page 596
26.3.1 Доступ к параметрам в функциях……Page 598
26.3.2 Хранение параметров в функциональных блоках……Page 601
26.3.3 “Переменная” ANY-указатель (ANY-pointer)……Page 603
26.4 Краткое описание примера “Message Frame Example”……Page 605
Структурированный язык управления SCL……Page 617
27.1.2 Создание проекта……Page 619
27.1.3 Редактирование SCL-программы……Page 620
27.1.4 Заполнение таблицы символов (Symbol Table)……Page 622
27.1.7 Тестирование SCL-блоков……Page 623
27.1.8 Адреса и типы данных……Page 624
27.1.9 Виды типа данных (Data Type Veiws)……Page 626
27.2.1 Абсолютная адресация……Page 628
27.2.3 Косвенная адресация в SCL……Page 629
27.3 Операторы……Page 631
27.4 Выражения……Page 632
27.4.2 Выражения сравнения……Page 633
27.4.3 Логические выражения……Page 635
27.5.1 Присвоение значений в случае простых типов данных……Page 636
27.5.4 Присвоение значений массивам……Page 637
28.1 Оператор IF……Page 639
28.2 Оператор CASE……Page 641
28.3 Оператор FOR……Page 642
28.4 Оператор WHILE……Page 643
28.5 Оператор REPEAT……Page 644
28.6 Оператор CONTINUE……Page 645
28.8 Оператор RETURN……Page 646
28.9 Оператор GOTO……Page 647
29.1 SCL-блоки: общая информация……Page 649
29.2 Программирование SCL-блоков……Page 650
29.2.2 Функции FC с возвращаемым значением функции……Page 651
29.2.3 Функциональный блок FB……Page 652
29.2.4 Временные локальные данные……Page 653
29.2.5 Статические локальные данные……Page 655
29.2.6 Параметры блока……Page 656
29.2.7 Формальные параметры……Page 657
29.3 Вызов SCL-блоков……Page 658
29.3.2 Функции FC с функциональным значением……Page 659
29.3.3 Функциональный блок со своим собственным блоком данных……Page 660
29.3.4 Функциональный блок как локальный экземпляр……Page 661
29.3.5 Фактические параметры……Page 662
29.4.1 ОК-переменная……Page 663
29.4.2 Выход ENO (ENO output)……Page 664
29.4.3 Вход EN (EN input)……Page 665
30.1 Функции таймеров……Page 667
30.2 Функции счетчиков……Page 668
30.3 Математические функции……Page 670
30.4 Функции сдвига (Shifting) и циклического сдвига (Rotating)……Page 671
30.5 Функции преобразования (Conversion Functions)……Page 672
30.5.1 Неявные функции преобразования……Page 673
30.6 Программирование Ваших собственных функций на SCL……Page 674
30.7 Программирование Ваших собственных функций на STL……Page 679
30.8.1 Пример “Conveyor” (“Конвейер”)……Page 681
30.8.3 Общие примеры……Page 682
31.1 Функции преобразования (Conversion Functions)……Page 685
31.2 Функции сравнения (Comparison Functions)……Page 688
31.3 Функции для данных типа STRING (STRING Functions)……Page 692
31.5 Функции для обработки численных данных……Page 698
Приложения……Page 701
32.1 Общая информация……Page 703
32.2.1 Проверка выполнимости программы в системе назначения……Page 705
32.2.2 Проверка параметров выполнения программы……Page 706
32.2.3 Проверка модулей……Page 708
32.2.4 Проверка адресации……Page 710
32.3.1 Создание макросов……Page 711
32.3.3 Запуск конвертера……Page 713
32.3.4 Конвертертируемые функции……Page 714
32.4.1 Создание проекта в STEP 7……Page 717
32.4.2 Неконвертертируемые функции……Page 718
32.4.4 Косвенная адресация……Page 719
32.4.6 Использование абсолютных адресов……Page 721
32.4.9 Обработка ошибок……Page 723
33.1 Организационные блоки (ОВ)……Page 727
33.2 Системные функциональные блоки (SFB)……Page 729
33.3 Функциональные IEC-блоки……Page 735
33.4 Блоки для S5-S7-преобразования……Page 737
33.5 Блоки для TI-S7-преобразования……Page 741
33.6 Блоки ПИД-управления……Page 742
34.1.1 Двоичные логические операции……Page 743
34.1.3 Функции передачи……Page 745
34.1.4 Функции таймеров……Page 746
34.2.2 Математические функции……Page 747
34.2.4 Функции преобразования……Page 748
34.2.6 Логические функции для слов данных……Page 749
34.3.1 Функции перехода……Page 750
34.3.3 Функции обработки блоков……Page 751
34.4 Косвенная адресация……Page 752
35.2 Управляющие операторы……Page 753
35.3 Вызов блоков……Page 754
35.4.2 Функции счетчиков……Page 755
35.4.3 Функции преобразования……Page 757
35.4.4 Математические функции……Page 758
35.4.5 Функции сдвига и циклического сдвига……Page 759
Предметный указатель……Page 761
Сокращения……Page 773
Демонстрационные программы для STEP 7……Page 775
Reviews
There are no reviews yet.