
- •Предисловие
- •Содержание
- •1 Знакомство с продуктом и установка программного обеспечения
- •1.1 Обзор STEP 7
- •1.2 Стандартный пакет STEP 7
- •1.3 Что нового содержится в STEP 7 версии 5.3?
- •1.4.1 Инструментальные средства для проектирования
- •1.4.3 Человеко-машинный интерфейс
- •2 Установка
- •2.1 Авторизация
- •2.1.1 Авторизация и права пользователя
- •2.1.2 Установка Automation License Manager
- •2.1.3 Принципы работы лицензионных ключей
- •2.2 Установка STEP 7
- •2.2.1 Процедура установки
- •2.2.2 Настройка интерфейса PG/PC
- •2.3 Удаление STEP 7
- •2.3.1 Удаление STEP 7
- •3 Решение задачи автоматизации
- •3.1 Основная последовательность действий при планировании проекта автоматизации
- •3.2 Деление процесса на задачи и области
- •3.3 Описание отдельных функциональных областей
- •3.4 Список входов, выходов и входов/выходов
- •3.5 Создание диаграмм входов/выходов для моторов
- •3.6 Создание диаграммы входов/выходов для вентилей
- •3.7 Определение требований безопасности
- •3.8 Описание требуемых для оператора устройств отображения и управления
- •3.9 Составление конфигурационной диаграммы
- •4 Основы проектирования структуры программы
- •4.1 Программы в CPU
- •4.2 Блоки в программе пользователя
- •4.2.1 Блоки в программе пользователя
- •4.2.2 Организационные блоки и структура программы
- •4.2.3 Типы блоков
- •4.2.3.1 Организационный блок для циклической обработки программы (OB1)
- •4.2.3.2 Функции (FC)
- •4.2.3.3 Функциональные блоки (FB)
- •4.2.3.4 Экземплярные блоки данных
- •4.2.3.5 Глобальные блоки данных (DB)
- •4.2.3.6 Системные функциональные блоки (SFB) и системные функции (SFC)
- •4.2.4 Организационные блоки для обработки программ, управляемой прерываниями
- •4.2.4.1 Организационные блоки для обработки программ, управляемой прерываниями
- •4.2.4.6 Стартовые организационные блоки (OB100 / OB101 / OB102)
- •4.2.4.7 Фоновый организационный блок (OB90)
- •5 Запуск и функционирование
- •5.1 Запуск STEP 7
- •5.1.1 Запуск STEP 7 со стартовыми параметрами, используемыми по умолчанию
- •5.2 Вызов функций помощи
- •5.3 Объекты и их иерархия
- •5.3.1 Объекты и их иерархия
- •5.1.2 Объект Проект
- •5.1.3 Объект Библиотека
- •5.1.4 Объект Станция
- •5.1.5 Объект Программируемый модуль
- •5.1.6 Объект Программа S7/M7
- •5.1.7 Объект Папка блоков
- •5.1.8 Объект Папка с исходными файлами
- •5.1.9 Программа S7/M7 без станции или CPU
- •5.4 Пользовательский интерфейс и работа пользователя
- •5.4.1 Философия работы с пакетом
- •5.1.10 Компоновка окна
- •5.4.2 Элементы в диалоговых окнах
- •5.1.11 Создание объектов и управление ими
- •5.1.12 Выбор объектов в браузере
- •5.1.13 Память сеанса работы
- •5.1.14 Изменение расположения окон
- •5.1.15 Сохранение и восстановление расположения окон
- •5.5 Управление с клавиатуры
- •5.5.1 Управление с клавиатуры
- •5.5.2 Комбинации клавиш для команд меню
- •5.1.16 Комбинации клавиш для перемещения курсора
- •5.5.3 Комбинации клавиш для выделения текста
- •5.5.4 Комбинации клавиш для обращения к оперативной помощи
- •5.5.5 Комбинации клавиш для переключения между окнами
- •6 Сборка и редактирование проекта
- •6.1 Структура проекта
- •6.2 Сборка проекта
- •6.2.1 Создание проекта
- •6.2.2 Вставка станций
- •6.2.3 Вставка программ S7/M7
- •6.2.4 Редактирование проекта
- •6.2.5 Проверка программных пакетов, использованных в проекте
- •6.3 Управление многоязыковыми текстами
- •6.3.1 Управление многоязыковыми текстами
- •6.3.2 Типы многоязыковых текстов
- •6.3.3 Структура экспортируемого файла
- •6.3.4 Управление пользовательскими текстами, для которых не установлен шрифт языка
- •6.3.5 Оптимизирование исходного текста для перевода
- •6.4 Микрокарта памяти (MMC) как носитель данных
- •6.4.1 Что Вам нужно знать о микрокарте памяти (MMC)
- •6.4.2 Использование ММС как носителя данных
- •6.4.3 Файл карты памяти
- •6.4.4 Хранение данных проекта на микрокартах памяти (MMC)
- •7 Редактирование проекта при помощи различных версий STEP 7
- •7.1 Редактирование Проектов и Библиотек Версии 2
- •7.2 Расширение ведомых DP, которые были созданы с помощью предыдущих версий STEP 7
- •7.3 Редактирование текущих конфигураций с помощью предыдущих версий STEP 7
- •7.4 SIMATIC PC
- •7.5 Отображение модулей, сконфигурированных с помощью поздних версий STEP 7 или Дополнительных пакетов
- •8 Определение символов
- •8.1 Абсолютная и символьная адресация
- •8.2 Глобальные и локальные символы
- •8.3 Отображение глобальных или локальных символов
- •8.4 Установка адресных приоритетов (Символьный/Абсолютный)
- •8.5 Таблица символов для глобальных имен
- •8.5.1 Таблица символов для глобальных имен
- •8.5.2 Структура и компоненты таблицы символов
- •8.5.3 Адреса и типы данных, разрешенные в таблице символов
- •8.5.4 Неполные и неуникальные символы в таблице символов
- •8.6 Ввод глобальных символов
- •8.6.1 Ввод глобальных символов
- •8.6.2 Общие советы по вводу символов
- •8.6.3 Ввод отдельных глобальных символов в диалоговом окне
- •8.6.4 Ввод нескольких глобальных символов в таблицу символов
- •8.6.5 Использование верхнего и нижнего регистров для символов
- •8.6.6 Экспорт и импорт таблиц символов
- •8.6.7 Форматы файлов для импорта и экспорта таблицы символов
- •8.6.8 Области редактирования в таблице символов
- •9 Создание блоков и библиотек
- •9.1 Выбор метода редактирования
- •9.2 Выбор языка программирования
- •9.3 Создание блоков
- •9.4 Работа с библиотеками
- •10 Создание логических блоков
- •10.1 Основы создания логических блоков
- •10.2 Редактирование таблицы описания переменных
- •10.3 Мультиэкземпляры в таблице описания переменных
- •10.4 Общие замечания по редактированию команд и комментариев
- •10.5 Редактирование команд LAD в разделе кодов
- •10.6 Редактирование команд FBD в разделе кодов
- •10.7 Редактирование команд STL в разделе кодов
- •10.8 Корректировка вызовов блока
- •10.9 Сохранение логических блоков
- •11 Создание блоков данных
- •11.1 Основная информация о создании блоков данных
- •11.2 Отображение описания блоков данных
- •11.3 Отображение данных, содержащихся в блоках данных
- •11.4 Редактирование и сохранение блоков данных
- •12 Назначение параметров для блоков данных
- •12.1 Назначение параметров блокам данных
- •12.2 Назначение параметров технологическим функциям
- •13 Создание исходных файлов на STL
- •13.1 Основная информация по программированию исходных файлов на STL
- •13.3 Структура блоков в исходных файлах на STL
- •13.4 Создание исходных файлов STL
- •13.5 Сохранение и компиляция исходных файлов на STL и проверка непротиворечивости
- •13.6 Примеры исходных файлов на STL
- •14 Отображение справочных данных
- •14.1 Отображение справочных данных
- •14.2 Работа со справочными данными
- •15 Метка времени как свойство блока и конфликты меток времени
- •15.1 Проверка совместимости блоков
- •15.2 Метка времени как свойство блока и конфликты меток времени
- •15.3 Метки времени в логических блоках
- •15.4 Метки времени в глобальных блоках данных
- •15.5 Метки времени в экземплярных блоках данных
- •15.6 Метки времени в UDT и блоках данных, полученных из UDT
- •15.7 Исправление интерфейсов в функциях, функциональных блоках или UDT
- •15.8 Предотвращение ошибок при вызове блоков
- •16 Проектирование сообщений
- •16.1 Концепция сообщений
- •16.2 Конфигурирование сообщений для проекта
- •16.3 Конфигурирование сообщений для CPU
- •16.4 Советы для редактирования сообщений
- •16.5 Передача и редактирование текстов связанных с оператором
- •16.6 Перевод и редактирование текстовых библиотек
- •16.7 Передача данных проектирования сообщений в программируемый контроллер
- •16.8 Отображение сообщений CPU и диагностических сообщений, определенных пользователем
- •16.9 Конфигурирование «Отчета о системных ошибках»
- •17 Управление и наблюдение за переменными
- •17.1 Проектирование переменных для управления и наблюдения со стороны оператора
- •17.2 Установление атрибута управления и наблюдения оператором в случае списка команд, контактного плана и функционального плана
- •17.3 Установление атрибутов для управления и наблюдения со стороны оператора через таблицу символов
- •17.4 Изменение атрибутов управления и наблюдения со стороны оператора в случае CFC
- •17.5 Передача данных проектирования интерфейса программируемого контроллера с оператором
- •18 Установление соединения online и настройка CPU
- •18.1 Установление соединения online
- •18.2 Отображение и изменение режима работы
- •18.3 Отображение и установка времени и даты
- •18.4 Обновление версии встроенного ПО
- •19 Загрузка и считывание
- •19.1 Загрузка из PG/PC в программируемый контроллер
- •19.2 Компилирование и Загрузка Нескольких Объектов из PG
- •19.3 Загрузка из программируемого контроллера в PG/PC
- •19.4 Удаление в программируемом контроллере
- •19.5 Сжатие памяти пользователя (RAM)
- •20 Отладка
- •20.1 Введение в тестирование с помощью таблицы переменных
- •20.2 Основная последовательность действий при наблюдении и изменении переменных с помощью таблицы переменных
- •20.3 Редактирование и сохранение таблиц переменных
- •20.4 Ввод переменных в таблицу переменных
- •20.5 Установление связи с CPU
- •20.6 Наблюдение переменных
- •20.7 Изменение переменных
- •20.8 Принудительное присваивание значений переменным
- •21 Тестирование с использованием состояния программы
- •21.1 Отображение состояния программы
- •21.2 Что Вам следует знать о тестировании в пошаговом режиме и о контрольных точках
- •21.3 Что Вам следует знать о режиме HOLD
- •21.4 Программное состояние блоков данных
- •21.5 Настройка отображения для состояния программы
- •21.6 Установка режима для тестирования
- •22 Тестирование с использованием программы моделирования (дополнительный пакет)
- •22.1 Тестирование с использованием программы моделирования (дополнительный пакет)
- •23 Диагностика
- •23.1 Диагностика аппаратных средств и поиск неисправностей
- •23.2 Диагностические символы в представлении online
- •23.3 Диагностика аппаратных средств: Быстрый обзор
- •23.4 Диагностика аппаратных средств: Диагностический обзор
- •23.5 Информация о модулях
- •23.6 Диагностика в состоянии STOP
- •23.7 Проверка времен цикла сканирования во избежание временных ошибок
- •23.8 Поток диагностической информации
- •23.9 Программные средства обработки ошибок
- •24 Печать и архивирование
- •24.1 Печать проектной документации
- •24.2 Архивирование проектов и библиотек
- •25 Работа с программируемыми системами управления M7
- •25.1 Процедура для систем M7
- •25.2 Дополнительное программное обеспечение для программирования M7
- •26 Советы
- •26.1 Смена модулей в Конфигурационной таблице
- •26.2 Проекты с большим количеством сетевых станций
- •26.3 Реорганизация
- •26.4 Как редактировать символы нескольких сетей
- •26.5 Тестирование с таблицей переменных
- •26.6 Изменение переменных с помощью редактора программ
- •26.7 Виртуальная рабочая память
- •A Приложение
- •A.1 Режимы работы
- •A.2 Области памяти CPU S7
- •A.3 Типы данных и типы параметров
- •A.3.1 Введение в типы данных и типы параметров
- •A.3.2 Элементарные типы данных
- •A.3.4 Параметрические типы
- •A.4 Работа с более старыми проектами
- •A.4.1 Преобразование проектов версии 1
- •A.4.2 Преобразование проектов версии 2
- •A.4.3 Замечания к проектам STEP 7 V.2.1 со связью через глобальные данные
- •A.4.4 Ведомые DP при отсутствии или дефектных файлах GSD
- •A.5 Типовые программы
- •A.5.1 Типовые проекты и типовые программы
- •A.5.3 Пример обработки прерываний по времени
- •A.5.4 Пример обработки прерываний с задержкой
- •A.6 Доступ к области данных процесса и области периферийных данных
- •A.6.1 Доступ к области данных процесса
- •A.6.2 Доступ к области периферийных данных
- •A.7 Настройка рабочего режима
- •A.7.1 Настройка рабочего режима
- •A.7.2 Изменение режима и характеристик модулей
- •A.7.3 Обновление фирменной версии (операционной системы) в Модулях и подмодулях Offline
- •A.7.4 Использование функций часов
- •A.7.5 Использование тактовых сигналов и таймеров
- •Указатель

Отображение справочных данных
Правила открытия без конфликтов
Метки времени интерфейса FB/SFB и соответствующего экземплярного блока данных должны совпадать.
Последовательность действий при возникновении конфликта меток времени
Если Вы изменяете интерфейс FB, то метка времени интерфейса этого FB обновляется. Когда Вы открываете соответствующий экземплярный блок данных, то появляется сообщение о конфликте меток времени, так как метки времени экземплярного блока данных и FB больше не совпадают. В разделе описаний блока данных интерфейс отображается с символами, сгенерированными компилятором (псевдосимволы). Экземплярный блок данных теперь можно только просматривать.
Для устранения конфликтов меток времени этого типа Вы должны создать экземплярный блок данных для измененного FB снова.
15.6Метки времени в UDT и блоках данных, полученных из UDT
Типы данных, определенные пользователем (UDT), могут быть использованы, например, для создания нескольких блоков данных с одинаковой структурой.
Метка времени кода
Метка времени кода обновляется при каждом изменении.
Метка времени интерфейса
Метка времени интерфейса обновляется, когда изменяется описание интерфейса (изменения типов данных или начальных значений, новые параметры).
Метка времени интерфейса UDT обновляется также при компиляции исходного ASCII-файла.
Правила открытия без конфликтов
•Метка времени интерфейса типа данных, определенного пользователем, должна быть старше, чем метка времени интерфейса в логических блоках, в которых этот тип данных используется.
•Метка времени интерфейса типа данных, определенного пользователем, должна быть идентична метке времени блока данных, полученного из
UDT.
•Метка времени интерфейса типа данных, определенного пользователем, должна быть младше, чем метка времени вторичного UDT.
Программирование с помощью STEP 7 v5.3 |
15-5 |
A5E00261405-01 |

Error! Style not defined.
Последовательность действий при возникновении конфликта меток времени
Если Вы изменяете определение UDT, который используется в блоке данных, функции, функциональном блоке или в другом определении UDT, STEP 7 сообщает о конфликте меток времени при открытии блока.
Компонент UDT показывается в виде расширенной структуры. Все имена переменных заменяются значениями, предустановленными системой.
15.7Исправление интерфейсов в функциях, функциональных блоках или UDT
Если Вы хотите исправить интерфейс в FB, FC, или UDT, проделайте следующее чтобы избежать конфликтов меток времени:
1.Сгенерируйте исходный файл STL из блока, который Вы хотите изменить и все непрямые или прямые справочные блоки.
2.Сохраните изменения в сгенерированном исходном файле.
3.Скомпилируйте измененный исходный файл обратно в блоки.
Вы можете сохранить/загрузить изменения интерфейса.
15.8Предотвращение ошибок при вызове блоков
STEP 7 переписывает данные в регистр DB
STEP 7 изменяет регистр S7-300/S7-400 CPU, когда выполняются различные инструкции. Содержание регистров DB и DI, например, подкачивается, когда Вы вызываете FB. Это позволяет экземпляру DB вызванного FB открываться без потери адресов предыдущего экземпляра DB.
Если Вы работаете с абсолютными адресами, в регистрах могут появляться ошибки. В таком случае, адреса в регистре AR1 (адресный регистр 1) и в регистре DB будут переписаны. Это значит, что Вы читаете или записываете неправильные адреса.
!Опасно
Опасность аварии возникает когда:
1.Используются CALL FC, CALL FB, CALL мультиэкземпляры
2.Доступный DB использует абсолютные адреса (например DB20.DBW10)
3.Переменные сложных типов данных
Возможно, что содержание регистров DB (DB и DI), адресных регистров (AR1, AR2), и аккумуляторов (ACCU1, ACCU2) можно изменить.
Дополнительно, Вы не можете использовать бит RLO слова состояния как дополнительный параметр, когда Вы вызываете FB или FC.
Когда используете технику программирования упомянутую выше, Вы должны убедиться, что Вы сохранили содержимое; в противном случае могут появиться.
15-6 |
Программирование с помощью STEP 7 v5.3 |
A5E00261405-01 |

Отображение справочных данных
Сохранение правильных данных
Содержимое регистра DB может стать причиной критической ситуации, если у Вас есть доступ к абсолютным адресам данных, используемых в формате аббревиатур. Если, например, Вы допускаете, что DB20 открыт (и что его номер сохранен в регистре DB), Вы можете определить DBX0.2 для доступа к данным в бите 2 бита 0 DB, чей адрес введен в регистр DB (другими словами DB20). Если, однако, регистр DB содержит другой номер DB, Вы получите неверные данные.
Вы можете избежать ошибок, когда доступ к данным регистра DB использует следующие методы для адресации данных:
•Используйте символьные адреса
•Используйте полный абсолютный адрес (например, DB20.DBX0.2)
Если Вы используете эти методы адресации, STEP 7 автоматически открывает правильный DB. Если Вы используете регистр AR1 для косвенной адресации, Вы всегда должны читать правильный адрес в AR1.
Программирование с помощью STEP 7 v5.3 |
15-7 |
A5E00261405-01 |

Error! Style not defined.
Ситуации, в которых изменяются регистры
Манипулирование адресными регистрами для косвенной адресации доступно только в STL. Другие языки не поддерживают косвенный доступ к адресным регистрам.
Адаптация регистра DB компилятором должна выполняться в соответствии со всеми языками программирования, чтобы убедиться в правильности передачи данных при вызове блоков.
Содержимое адресного регистра AR1 и регистра DB вызванного блока переписывается в следующих ситуациях:
Ситуация |
Описание |
С актуальными |
• Вы единожды назначаете актуальные параметры блоку из DB |
параметрами из DB |
(например, DB20.DBX0.2) STEP 7 открывает DB (DB20) и |
|
адаптирует содержимое регистра DB. Затем программа работает |
|
с адаптированным DB после вызова блока. |
Когда вызванные блоки |
• После вызова блока из FC, который передает компоненту |
вместе с высшими типами |
формального параметра высшего типа данных (строка, массив, |
данных |
структура или UDT) вызванному блоку, содержимое регистров |
|
AR1 и DB вызванного блока меняется. |
|
• Это же применяется к вызову в FB , если параметр вызван из |
|
области VAR_IN_OUT. |
Когда доступны |
• Когда при доступе к FB компонент формального параметра |
компоненты высшего типа |
высшего типа данных в области VAR_IN_OUT (строка, массив, |
данных |
структура или UDT), STEP 7 использует адресный регистр AR1 и |
|
DB. Это значит, что содержимое обоих регистров изменено. |
|
• Когда при доступе к FC компонент формального параметра |
|
высшего типа данных в области VAR_IN_OUT (строка, массив, |
|
структура или UDT), STEP 7 использует адресный регистр AR1 и |
|
DB. Это значит, что содержимое обоих регистров изменено. |
Замечание
•Когда FB вызван из блока версии 1, актуальный параметр для первого параметра Boolean IN или IN_OUT передается неправильно, если цепь вычисления RLO команда не завершена перед вызовом. Возникает логическая комбинация с существующим RLO.
•Когда вызван FB (простой или мультиэкземпляр), адресный регистр AR2 также переписывается.
•Если адресный регистр AR2 изменен в FB, нет гарантии, что FB будет выполняться правильно.
•Если полный абсолютный адрес DB не передается параметру ANY, указатель ANY не получает номер DB открытого DB. Вместо этого он всегда получает номер 0.
15-8 |
Программирование с помощью STEP 7 v5.3 |
A5E00261405-01 |