
- •Предисловие
- •Содержание
- •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 Использование тактовых сигналов и таймеров
- •Указатель

Приложение
Network 14 |
Управление сливным вентилем |
|
A |
"Drain_open" |
|
A |
#Enable_Valve |
|
= |
#Open_Drain |
|
A( |
|
|
O |
"Drain_closed" |
|
ON |
#Enable_Valve |
|
) |
|
|
= |
#Close_Drain |
|
CALL "Valve_block" |
||
Open |
:=#Open_Drain |
|
Close |
:=#Close_Drain |
Dsp_Open |
:="Drain_open_disp" |
Dsp_Closed |
:="Drain_closed_disp" |
Valve |
:="Drain" |
Network 15 |
Отображение уровня резервуара |
AN "Tank_below_max"
="Tank_max_disp"
AN "Tank_above_min"
="Tank_min_disp"
AN "Tank_not_empty"
="Tank_empty_disp"
A.5.3 Пример обработки прерываний по времени
A.5.3.1 Пример обработки прерываний по времени
Структура пользовательской программы "Прерывания по времени " FC12
OB10
OB1 и OB80
|
Программирование с помощью STEP 7 v5.3 |
A-86 |
A5E00261405-01 |

Приложение
A.5.3.2 Структура программы пользователя "Прерывания по времени дня"
Задача
Выход Q 4.0 должен быть установлен в период с 5.00 утра в понедельник до 8.00 пополудни в пятницу. В период с 8.00 пополудни в пятницу до 5.00 утра в понедельник выход Q 4.0 должен быть сброшен.
Преобразование в программу пользователя
Следующая таблица показывает подзадачи используемых блоков.
Блок |
Подзадача |
|
OB1 |
Вызывает функцию FC12 |
|
FC12 |
В зависимости от состояния выхода Q 4.0, состояния прерывания по |
|
|
времени и входов I 0.0 и I 0.1 |
|
|
• |
Определить время запуска |
|
• Установить прерывание по времени |
|
|
• Активизировать прерывание по времени |
|
|
• |
CAN_TINT |
OB10 |
В зависимости от текущего дня недели |
|
|
• |
Определить время запуска |
|
• Установить или сбросить выход Q 4.0 |
|
|
• Установить следующее прерывание по времени |
|
|
• Активизировать следующее прерывание по времени |
|
OB80 |
Установить выход Q 4.1 |
|
|
Сохранить информацию о событии запуска OB80 в области |
|
|
меркеров |
Используемые адреса
Следующая таблица показывает используемые общедоступные адреса. Временные локальные переменные описываются в разделе описаний соответствующего блока.
Адрес |
Значение |
I0.0 |
Вход для разблокировки действий "установка прерывания по |
|
времени" и "запуск прерывание по времени" |
I0.1 |
Вход для отмены прерывания по времени |
Q4.0 |
Выход, устанавливаемый/сбрасываемый прерыванием по времени |
|
OB (OB10) |
Q4.1 |
Выход, устанавливаемый ошибкой времени (OB80) |
MW16 |
STATUS [состояние] прерывания по времени (SFC31 "QRY_TINT") |
с MB100 по |
Память для информации о событии запуска OB10 (только время |
MB107 |
суток) |
с MB110 по |
Память для информации о событии запуска OB80 (ошибка |
MB129 |
времени) |
MW200 |
RET_VAL в SFC28 "SET_TINT" |
MB202 |
Буфер двоичного результата (бит состояния BR) для SFC |
MW204 |
RET_VAL в SFC30 "ACT_TINT" |
MW208 |
RET_VAL в SFC31 "QRY_TINT" |
Программирование с помощью STEP 7 v5.3 |
|
A5E00261405-01 |
A-87 |

Приложение
Системные функции и используемые функции
В примере программирования используются следующие системные функции:
• |
SFC28 "SET_TINT" |
: |
Установка прерывания по времени |
• |
SFC29 "CAN_TINT" |
: |
Отмена прерывания по времени |
• |
SFC30 "ACT_TINT" |
: |
Запуск прерывания по времени |
• |
SFC31 "QRY_TINT" |
: |
Запрос прерывания по времени |
• |
FC3 "D_TOD_DT" |
: |
Объединение DATE и TIME_OF_DAY в DT |
A.5.3.3 FC12
Раздел описаний
В разделе описаний FC12 описываются следующие временные локальные переменные:
Имя переменной |
Тип данных |
Описание |
Комментарий |
IN_TIME |
TIME_OF_DAY |
TEMP |
Время запуска |
IN_DATE |
DATE |
TEMP |
Дата запуска |
OUT_TIME_DATE |
DATE_AND_TIME |
TEMP |
Дата/время запуска |
|
|
|
преобразованные |
OK_MEMORY |
BOOL |
TEMP |
Разблокировка установки |
|
|
|
прерывания по времени |
Раздел кода STL
Введите в раздел кода FC12 следующую программу пользователя на STL:
|
STL (FC12) |
|
|
Объяснение |
|
|
Network 1 |
|
|
|
|
|
|
CALL SFC 31 |
|
SFC QRY_TINT |
|
|
|
OB_NO := 10 |
|
Запрос STATUS [состояния] прерываний по |
|
|
|
RET_VAL:= MW 208 |
времени |
||
|
|
STATUS := MW 16 |
|
|
|
|
Network 2: |
|
|
|
|
|
|
AN |
Q |
4.0 |
|
|
|
JC |
mond |
|
Задать время запуска в зависимости от |
|
|
L |
D#1995–1–27 |
Q 4.0 (в переменной |
|
|
|
T |
#IN_DATE |
#IN_DATE и #IN_TIME) |
|
|
|
L |
TOD#20:0:0.0 |
Дата запуска – пятница |
|
|
|
T |
#IN_TIME |
|
|
|
|
JU |
cnvrt |
|
|
|
mond: |
L |
D#1995–1–23 |
|
|
|
|
T |
#IN_DATE |
|
|
|
|
L |
TOD#5:0:0.0 |
Дата запуска – понедельник |
|
|
|
T |
#IN_TIME |
|
|
|
cnvrt: |
NOP |
0 |
|
|
|
STL (FC12) |
|
|
Объяснение |
|
|
|
|
|||
|
Network 3: |
|
|
|
|
|
|
|
|
|
Программирование с помощью STEP 7 v5.3 |
A-88 |
|
|
|
A5E00261405-01 |

Приложение
|
CALL FC 3 |
|
|
IN1 |
:= #IN_DATE |
|
IN2 |
:= #IN_TIME |
|
RET_VAL := #OUT_TIME_DATE |
|
Network 4: |
|
|
|
A |
I 0.0 |
|
AN |
M 17.2 |
|
A |
M 17.4 |
|
= |
#OK_MEMORY |
Network 5: |
|
|
|
A |
#OK_MEMORY |
|
JNB |
m001 |
|
CALL SFC 28 |
|
|
OB_NO := 10 |
|
|
SDT |
:= #OUT_TIME_DATE |
|
PERIOD := W#16#1201 |
|
|
RET_VAL := MW 200 |
|
m001 |
A |
BR |
|
= |
M 202.3 |
Network 6: |
|
|
|
A |
#OK_MEMORY |
|
JNB |
m002 |
|
CALL SFC 30 |
|
|
OB_NO := 10 |
|
|
RET_VAL := MW 204 |
|
m002 |
A |
BR |
|
= |
M 202.4 |
Network 7: |
|
|
|
A |
I 0.1 |
|
JNB |
m003 |
|
CALL SFC 29 |
|
|
OB_NO := 10 |
|
|
RET_VAL := MW 210 |
|
m003 |
A |
BR |
|
= |
M 202.5 |
Преобразовать форматы DATE и TIME_OF_DAY в формат DATE_AND_TIME (для установки прерывания по времени)
Все требования для установки прерывания по времени удовлетворены? (вход разблокировки установлен, и прерывание по времени не активно и OB прерывания по времени загружен)
Если да, то установить прерывание по времени ...
...и запустить прерывание по времени.
Если установлен вход отмены прерываний по времени, то отменить прерывание по времени.
Программирование с помощью STEP 7 v5.3 |
|
A5E00261405-01 |
A-89 |

Приложение
A.5.3.4 OB10
Раздел описаний
В отличие от раздела описаний OB10, заданного по умолчанию, описываются следующие временные локальные переменные:
•Структура для всей информации о событии запуска (STARTINFO)
•Структура для времени (T_STMP) внутри структуры STARTINFO
•Другие временные локальные переменные WDAY, IN_DATE, IN_TIME и OUT_TIME_DATE
Имя переменной |
Тип данных |
Описание |
Комментарий |
STARTINFO |
STRUCT |
TEMP |
Вся информация о событии |
|
|
|
запуска OB10, описанная как |
|
|
|
структура |
E_ID |
WORD |
TEMP |
Идентификатор события: |
PR_CLASS |
BYTE |
TEMP |
Класс приоритета |
OB_NO |
BYTE |
TEMP |
Номер OB |
RESERVED_1 |
BYTE |
TEMP |
Зарезервировано |
RESERVED_2 |
BYTE |
TEMP |
Зарезервировано |
PERIOD |
WORD |
TEMP |
Периодичность прерывания по |
|
|
|
времени |
RESERVED_3 |
DWORD |
TEMP |
Зарезервировано |
T_STMP |
STRUCT |
TEMP |
Структура для элементов |
|
|
|
времени суток |
YEAR |
BYTE |
TEMP |
|
MONTH |
BYTE |
TEMP |
|
DAY |
BYTE |
TEMP |
|
HOUR |
BYTE |
TEMP |
|
MINUTES |
BYTE |
TEMP |
|
SECONDS |
BYTE |
TEMP |
|
MSEC_WDAY |
WORD |
TEMP |
|
|
END_STRUCT |
TEMP |
|
|
END_STRUCT |
TEMP |
|
WDAY |
INT |
TEMP |
День недели |
IN_DATE |
DATE |
TEMP |
Входная переменная FC3 |
|
|
|
(преобразования формата |
|
|
|
времени) |
IN_TIME |
TIME_OF_DAY |
TEMP |
Входная переменная FC3 |
|
|
|
(преобразования формата |
|
|
|
времени) |
OUT_TIME_DATE |
DATE_AND_TIME |
TEMP |
Выходная переменная FC3 и |
|
|
|
входная переменная SFC28 |
|
Программирование с помощью STEP 7 v5.3 |
A-90 |
A5E00261405-01 |

Приложение
Раздел кода STL
Введите в раздел кода OB10 следующую программу пользователя на STL:
STL (OB10) |
|
Объяснение |
Network 1 |
|
|
L |
#STARTINFO.T_STMP.MSEC_WDAY |
Выбрать день недели |
L |
W#16#F |
|
AW |
|
|
T |
#WDAY |
и сохранить. |
Network 2: |
|
|
L |
#WDAY |
Если день недели не понедельник, то задать |
L |
2 |
понедельник 5.00 утра как следующий момент |
<>I |
|
запуска и сбросить выход Q 4.0. |
JC |
mond |
|
Network 3: |
|
В противном случае, если день недели |
L |
D#1995–1–27 |
понедельник, то задать пятницу 8.00 |
T |
#IN_DATE |
пополудни (20.00) как следующий момент |
L |
TOD#20:0:0.0 |
запуска и установить Q 4.0. |
T |
#IN_TIME |
|
SET |
|
|
= |
Q 4.0 |
|
JU |
cnvrt |
|
mond: L |
D#1995–1–23 |
|
T |
#IN_DATE |
|
L |
TOD#5:0:0.0 |
|
T |
#IN_TIME |
Время запуска задано. |
CLR |
|
|
= |
Q 4.0 |
Преобразовать заданное время запуска в |
|
|
формат DATE_AND_TIME (для SFC28). |
cnvrt: NOP |
0 |
Network 4: |
|
CALL |
FC 3 |
IN1 |
:= #IN_DATE |
IN2 |
:= #IN_TIME |
RET_VAL := #OUT_TIME_DATE Network 5:
CALL SFC 28
OB_NO := 10
SDT |
:= #OUT_TIME_DATE |
PERIOD := W#16#1201 |
|
RET_VAL := MW 200 |
|
A |
BR |
= |
M 202.1 |
Network 6:
CALL SFC 30
OB_NO := 10
RET_VAL := MW 204
A |
BR |
= |
M 202.2 |
Network 7: |
|
CALL SFC 20
SRCBLK := #STARTINFO.T_STMP RET_VAL := MW 206
DSTBLK := P#M 100.0 BYTE 8
Установить прерывание по времени.
Запустить прерывание по времени.
Пересылка блоков: сохранить время суток из информации о событии запуска OB10 в области памяти с MB100 по MB107.
Программирование с помощью STEP 7 v5.3 |
|
A5E00261405-01 |
A-91 |

Приложение
A.5.3.5 OB1 и OB80
Поскольку в этом примере информация о событии запуска OB1 (OB для циклической программы) не оценивается, то отображается только информация о событии запуска OB80.
Раздел кода OB1
Введите в раздел кода OB1 следующую программу пользователя на STL:
STL (OB1) |
Объяснение |
CALL FC 12 |
Вызвать функцию FC12 |
Раздел описаний OB80
В отличие от заданного по умолчанию раздела описаний, в OB80 описываются следующие временные локальные переменные:
•Структура для всей информации о событии запуска (STARTINFO)
•Структура для времени (T_STMP) внутри структуры STARTINFO)
Имя переменной |
Тип данных |
Описание |
Комментарий |
STARTINFO |
STRUCT |
TEMP |
Вся информация о событии запуска |
|
|
|
OB80, объявленная как структура |
E_ID |
WORD |
TEMP |
Идентификатор события: |
PR_CLASS |
BYTE |
TEMP |
Класс приоритета |
OB_NO |
BYTE |
TEMP |
Номер OB |
RESERVED_1 |
BYTE |
TEMP |
Зарезервировано |
RESERVED_2 |
BYTE |
TEMP |
Зарезервировано |
A1_INFO |
WORD |
TEMP |
Дополнительная информация о |
|
|
|
событии, вызвавшем ошибку |
A2_INFO |
DWORD |
TEMP |
Дополнительная информация об |
|
|
|
идентификаторе события, классе |
|
|
|
приоритета и номере OB ошибки |
T_STMP |
STRUCT |
TEMP |
Структура для элементов времени |
|
|
|
суток |
YEAR |
BYTE |
TEMP |
|
MONTH |
BYTE |
TEMP |
|
DAY |
BYTE |
TEMP |
|
HOUR |
BYTE |
TEMP |
|
MINUTES |
BYTE |
TEMP |
|
SECONDS |
BYTE |
TEMP |
|
MSEC_WDAY |
WORD |
TEMP |
|
|
END_STRUCT |
TEMP |
|
|
END_STRUCT |
TEMP |
|
|
Программирование с помощью STEP 7 v5.3 |
A-92 |
A5E00261405-01 |