step7-pro
голосование
Чего не хватает сайту
поиска
новых статей
статей о подключении оборудования
примеров решения задач
форума
ничего не нужно
поиск


новости
Появился поиск по сайту. Обещаю его улучшить и сделать более адекватным
--------------11.10.11
Новая гостевая книга надеюсь избавит от спама. Еще немного и появится поис и многое другое
--------------11.07.11
C НАСТУПАЮЩИМ НОВЫМ ГОДОМ И РОЖДЕСТВОМ!
--------------30.12.10
Новые статьи по системным функциям и блокам
--------------25.12.10
Теперь у нас новый дизайн, конечно не супер но надеюсь всем понравиться
--------------05.12.10
Форум закрыт по причине ненадобности
--------------08.09.10
Гостевая книга временно отключена из спама
--------------15.10.10
Наш форум forum.step7-pro.ru общайтесь на здоровье!
--------------03.06.10
Наш сайт в twitter Вы сможете подписаться на рассылку новостей и узнавать о новых статьях на нашем сайте.
--------------20.03.10
После долгого перерыва наш сайт снова начал работать
--------------26.02.10
реклама

 

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

Типы запуска

Различают следующие типы запуска:

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

Тип запуска Соответствующий OB
Горячий рестарт OB101
Теплый рестарт OB100
Холодный рестарт OB102

Более подробную информацию о типах запуска можно прочесть в руководстве "Программирование и конфигурирование аппаратных средств с помощью STEP 7" и "S7-400H Programmable Controller". к сожалению эти разделы я пока еще не представил, но для начальных знаний и понимания написанной здесь информации Вам должно хватить.

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

CPU выполняет запуск в следующих случаях:

В зависимости от стартового события, конкретного CPU и его параметров вызывается соответствующий OB запуска (OB100, OB101 или OB102). Посредством подходящего программирования Вы можете настраивать определенные параметры Вашей циклической программы (исключение: в H-системе, когда подключен резервный CPU, в резервном CPU имеет место запуск, но OB запуска не вызывается).

Локальные данные для OB запуска

Следующая таблица описывает временные (TEMP) переменные для стартовых OB. Имена переменных являются заданными по умолчанию именами OB100.

Переменная Тип Характеристика
OB10x_EV_CLASS BYTE Класс события и идентификаторы: B#16#13: активный
OB10x_STRTUP BYTE Запрос запуска:
B#16#81: Ручной теплый рестарт
B#16#82: Автоматический теплый рестарт
B#16#83: Запрос ручного горячего рестарта
B#16#84: Запрос автоматического горячего рестарта
B#16#85: Запрос ручного холодного рестарта
B#16#86: Запрос автоматического холодного рестарта
B#16#87: Главный: Запрос ручного холодного рестарта
B#16#88: Главный: Запрос автоматического холодного рестарта
B#16#8A: Главный: Запрос ручного теплого рестарта
B#16#8B: Главный: Запрос автоматического теплого рестарта
B#16#8C: Резервный: Запрос ручного рестарта
B#16#8D: Резервный: Запрос автоматического рестарта
OB10x_PRIORITY BYTE Класс приоритета: 27
OB10x_OB_NUMBR BYTE Номер OB (100, 101 или 102)
OB10x_RESERVED_1 BYTE Резерв
OB10x_RESERVED_2 BYTE Резерв
OB10x_STOP WORD Номер события, вызвавшего останов CPU
OB10x_STRT_INFO DWORD Дополнительная информация о текущем запуске
OB10x_DATE_TIME DATE_AND_TIME Дата и время дня, когда вызывался OB



переменные OB100_STR_INFO и OB101_STR_INFO.

№ бита Значение Возможные двоичные значения Объяснение
31 - 24 Стартовая
информация
0000 xxxx

0100 xxxx
1000 xxxx
0001 xxxx
0010 xxxx
xxxx xxx0
xxxx xxx1
xxxx xx0x
xxxx xx1x
xxxx x0xx
xxxx x1xx
xxxx 0xxx


xxxx 1xxx
Номер стойки 0 (только H CPU)

Номер стойки 1 (только H CPU)
Номер стойки 2 (только H CPU)
Многопроцессорный режим (только S7-400)
Работа более одного CPU в сегментированной стойке (только S7-400)
Нет различия между ожидаемой и фактической конфигурацией (только S7-300)
Есть различие между ожидаемой и фактической конфигурацией (только S7-300)
Нет различия между ожидаемой и фактической конфигурацией
Есть различие между ожидаемой и фактической конфигурацией
Не H CPU
H CPU
Часы для отметки времени при последнем включении питания без резервного батарейно гопитания

Часы для отметки времени при последнем включении питания с резервным батарейным питанием
23 - 16 Запуск только что завершился 0000 0001


0000 0011

0000 0100
0000 0101


0000 0011

0000 1000

0000 1010


0000 1011


0000 1100
0001 0000


0001 0001


0001 0011


0001 0100


0010 0000


0010 0001


0010 0011


0010 0100


1010 0000
Теплый рестарт в многопроцессорной системе обработки без изменения установки в CPU согласно назначению параметров (только S7-400)

Рестарт (теплый), запущенный с помощью переключателя режимов работы

Рестарт (теплый), запущенный командой через MPI
Холодный рестарт в многопроцессорной системе обработки без изменения установки в CPU согласно назначению параметров (только S7-400)

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

Холодный рестарт, запущенный командой через MPI

Горячий рестарт в многопроцессорной системе обработки без изменения установки в CPU согласно назначению параметров (только S7-400)

Горячий рестарт, запущенный с помощью переключателя режимов работы (только S7-400)

Горячий рестарт, запущенный командой через MPI (только S7-400)
Автоматический рестарт (теплый) после включения питания при наличии резервного батарейного питания

Автоматический холодный рестарт после включения питания при наличии резервного батарейного питания

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

Рестарт (теплый), запущенный командой через MPI; последнее включение питания при наличии резервного батарейного питания

Автоматический рестарт (теплый) после включения питания при наличии резервного батарейного питания (со сбросом памяти системой)

Автоматический холодный рестарт после включения питания при наличии резервного батарейного питания (со сбросом памяти системой)

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

Рестарт (теплый), запущенный командой через MPI; последнее включение питания без резервного батарейного питания

Автоматический горячий рестарт после включения питания при наличии резервного батарейного питания согласно назначению параметров (только S7-400)
15 - 12 Допустимость автоматического запуска 0000
0001


0111
1111
Автоматический запуск запрещен, требуется сброс памяти
Автоматический запуск запрещен, необходимы изменения параметров и т.д.

Автоматический запуск (теплый) разрешен
Автоматический запуск (теплый/горячий) разрешен (только S7-400)
11 - 8 Допустимость ручного запуска 0000
0001
0111
1111
Запуск запрещен, запрошен сброс памяти
Запуск запрещен, запрошены изменения параметров и т.д.
Запуск (теплый) разрешен
Запуск (теплый/горячий) разрешен (только S7-400)
7 - 0 Последнее допустимое вмешательство или установка автоматического запуска при включении питания 0000 0000
0000 0001


0000 0011
0000 0100
0000 1010


0000 1011


0000 1100
0001 0000


0001 0011


0001 0100


0010 0000


0010 0011


0010 0100


1010 0000
Нет запуска
Теплый рестарт в многопроцессорной системе без изменения установки в CPU согласно назначению параметров (только S7-400)

Рестарт (теплый), запущенный с помощью переключателя
Рестарт (теплый), запущенный командой через MPI
Горячий рестарт в многопроцессорной системе без изменения установки в CPU согласно назначению параметров (только S7-400)

Горячий рестарт, запущенный с помощью переключателя режимов работы (только S7-400)

Горячий рестарт, запущенный командой через MPI (только S7-400)
Автоматический рестарт (теплый) после включения питания при наличии резервного батарейного питания

Рестарт (теплый), запущенный командой через MPI; последнее включение питания при наличии резервного батарейного питания

Рестарт (теплый), запущенный командой через MPI; последнее включение питания при наличии резервного батарейного питания

Автоматический рестарт (теплый) после включения питания при наличии резервного батарейного питания (со сбросом памяти системой)

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

Рестарт (теплый), запущенный командой через MPI; последнее включение питания без резервного батарейного питания

Автоматический горячий рестарт после включения питания при наличии резервного батарейного питания согласно назначению параметров (только S7-400)

 

 

Организационный блок ошибок программирования (OB121)

Операционная система CPU вызывает OB 121 в тех случаях, когда происходит событие, вызванное ошибкой, связанной с обработкой программы.Например, Вы вызвали в своей программе блок, который не был загружен в CPU, то вызывается OB 121.

Принцип работы OB ошибок программирования

OB121 исполняется в том же классе приоритета, что и прерванный блок. Если OB121 не был запрограммирован, то CPU переходит в состояние STOP. S7 предоставляет в распоряжение следующие SFC, с помощью которых Вы можете маскировать и демаскировать стартовые события OB 121 во время обработки Вашей программы:

таблица описывает временные (TEMP) переменные ОВ ошибок программирования. В качестве имен переменных взяты имена по умолчанию OB121.

Переменная Тип Описание
OB121_EV_CLASS BYTE Класс события и идентификаторы: B#16#25
OB121_SW_FLT BYTE Код ошибки : (возможные значения
B#16#21, B#16#22, B#16#23, B#16#24, B#16#25, B#16#26, B#16#27, B#16#28, B#16#29, B#16#30, B#16#31, B#16#32, B#16#33, B#16#34, B#16#35, B#16#3A, B#16#3C, #16#3D, B#16#3E или B#16#3F)
OB121_PRIORITY BYTE Класс приоритета: класс приоритета OB, в котором произошла ошибка На резервном CPU H-системы в режиме LINK-UP, STARTUP или UPDATE:
Биты 0 - 2: Номер стойки
Бит 3: 0=резервный CPU, 1=основной CPU
Биты 4 - 7: 1111
OB121_OB_NUMBR BYTE Номер ОВ (121)
OB121_BLK_TYPE BYTE Тип блока, в котором произошла ошибка (для S7-300 сюда
не заносится никакого действительного значения): B#16#88: OB, B#16#8A: DB, B#16#8C: FC, B#16#8E: FB
OB121_RESERVED_1 BYTE резерв
OB121_FLT_REG WORD Источник ошибки (зависит от кода ошибки). Например:
Регистр, в котором возникла ошибка преобразования Неправильный адрес (для ошибки чтения/записи) Неправильный номер таймера, счетчика или блока Неправильный идентификатор области памяти
OB121_BLK_NUM WORD Номер блока с командой MC7, вызвавшей ошибку (для S7- 300 сюда не заносится никакого действительного номера)
OB121_PRG_ADDR WORD Относительный адрес команды MC7, вызвавшей ошибку (для S7-300 сюда не заносится никакого действительного значения)
OB121_DATE_TIME DATE_AND_TIME Дата и время, когда был вызван OB

Переменные, зависящие от кодов ошибок, имеют следующие значения

Код ошибки    
OB121_FLT_REG: B#16#21: Ошибка преобразования в BCD-код. OB121_FLT_REG: Идентификатор соответствующего регистра (W#16#0000: аккумулятор 1)
OB121_FLT_REG:
OB121_RESERVED_1:
B#16#22:
B#16#23:
B#16#28:



B#16#29:
Ошибка длины области при чтении
Ошибка длины области при записи
Обращение для чтения к байту, слову или двойному словус указателем, битовый адрес которого не равен нулю.

Обращение для записи к байту, слову или двойному слову с указателем, битовый адрес которого не равен нулю.
Ошибочный байтовый адрес. Область данных и тип
доступа можно считать из OB121_RESERVED_1.
Биты 7 - 4 тип доступа.
0: битовый доступ, 1: байтовый доступ, 2: доступ к слову, 3: доступ к двойному слову
Биты 3 - 0 область памяти:
0: область периферии,
1: таблица образа процесса на входах,
2: таблица образа процесса на выходах,
3: память с побитовым доступом (меркеры),
4: глобальный DB,
5: экземпляр DB,
6: собственные локальные данные,
7:локальные данные вызывающего блока
OB121_FLT_REG: B#16#24:
B#16#25:
Ошибка области при чтении
Ошибка области при записи
Содержит в младшем байте идентификатор недопустимой области (B#16#86 из области собственных локальных данных)
OB121_FLT_REG: B#16#26:
B#16#27:
Ошибка номера таймера
Ошибка номера счетчика
Недопустимый номер
OB121_FLT_REG: B#16#30:

B#16#31:

B#16#32:

B#16#33:
Попытка записи в защищенный от записи глобальный DB
Попытка записи в защищенный от записи экземпляр DB
Ошибка номера DB при обращении к глобальному DB
Ошибка номера DB при обращении к экземпляру DB

Недопустимый номер DB
OB121_FLT_REG: B#16#34:
B#16#35
B#16#3A:


B#16#3C:


B#16#3D:


B#16#3E:


B#16#3F:
Ошибка номера FC при вызове FC
Ошибка номера FB при вызове FB
Обращение к незагруженному DB; номер DB находится в допустимом диапазоне

Обращение к незагруженной FC; номер FC находится в допустимом диапазоне

Обращение к незагруженной SFC; номер SFC лежит в допустимом диапазоне

Обращение к незагруженному FB; номер FB лежит в допустимом диапазоне

Обращение к незагруженному SFB; номер SFB лежит в допустимом диапазоне

Недопустимый номер

 

 

Организационный блок ошибок доступа к периферии(OB122)

Операционная система CPU вызывает OB 122 в случае, если при обращении к данным какого-либо модуля происходит ошибка. Например, CPU распознает ошибку чтения при обращении к данным модуля ввода/вывода, то операционная система вызывает OB122.

Принцип работы OB ошибок доступа к периферии

OB122 исполняется в том же классе приоритета, что и прерванный блок. Если OB 122 не запрограммирован, то CPU переходит из RUN в STOP. S7 предоставляет следующие SFC, с помощью которых можно маскировать и демаскировать стартовые события ОВ 122 во время исполнения Вашей программы (то есть теже что и для OB 121):

В таблице описаны временные (TEMP) переменные ОВ ошибок программирования. В качестве имен переменных взяты имена по умолчанию OB122.

Переменная Тип Описание
OB122_EV_CLASS BYTE Класс события и идентификаторы: B#16#29
OB122_SW_FLT BYTE Код ошибки:
B#16#42
Для S7-300 и CPU 417: ошибка доступа к периферии при чтении. Для всех остальных CPU S7-400: ошибка при первом обращении для чтения после появления ошибки
B#16#43
Для S7-300 и CPU 417: ошибка доступа к периферии при записи. Для всех остальных CPU S7-400: ошибка при первом обращении для записи после появления ошибки
B#16#44
(только для S7-400, кроме CPU 417) ошибка при n-ом обращении для чтения (n > 1) после появления ошибки
B#16#45
(только для S7-400, кроме CPU 417) ошибка при n-ом обращении для записи (n > 1) после появления ошибки
OB122_PRIORITY BYTE Класс приоритета:
Класс приоритета ОВ, в котором произошла ошибка На резервном CPU H-системы в режиме LINK-UP, STARTUP или UPDATE:
Биты 0 - 2: Номер стойки
Бит 3: 0=резервный CPU, 1=основной CPU
Биты 4 - 7: 1111
OB122_OB_NUMBR BYTE Номер ОВ (122)
OB122_BLK_TYPE BYTE Тип блока, в котором произошла ошибка (B#16#88: OB, B#16#8A: DB, B#16#8C: FC, B#16#8E: FB) (для S7-300 здесь не вводится никакого действительного значения)
OB122_MEM_AREA BYTE Область памяти и тип доступа:
Биты 7 - 4 тип доступа:
0: битовый доступ
1: байтовый доступ
2: доступ к слову
3: доступ к двойному слову
Биты 3 - 0 область памяти:
0: область периферии,
1: образ процесса на входах
2: образ процесса на выходах
OB122_MEM_ADDR WORD Адрес в памяти, на котором произошла ошибка
OB122_BLK_NUM WORD Номер блока с командой MC7, вызвавшей ошибку (для S7- 300 здесь не вводится никакого действительного номера)
OB122_PRG_ADDR WORD Относительный адрес команды MC7, вызвавшей ошибку (для S7-300 здесь не вводится никакого действительного значения)
OB122_DATE_TIME DATE_AND_TIME Дата и время, когда был вызван OB

 

<-- Предыдущая статья   Следующая статья -->
сделано djoni политика конфидициальности Rambler's Top100