Коды ошибок Siemens S7 (OB82, OB83, SF-LED)
Синонимы: ошибки Siemens S7, OB82 Siemens, SF LED S7, Diagnostic Buffer S7
Диагностика ошибок программируемых контроллеров Siemens Simatic S7-300, S7-400, S7-1200, S7-1500. Индикация LED (SF, BF, DP), системные блоки OB82-OB86, OB121, OB122. Диагностика через TIA Portal, Step 7.
Siemens Simatic S7 — семейство ПЛК для автоматики всех масштабов. Система диагностики ошибок основана на LED-индикаторах CPU + системных блоках организации (OB).
LED-индикация CPU
S7-300 / S7-400
- SF (System Fault) — системная ошибка CPU (мигает красным)
- BF (Bus Fault) — ошибка Profibus DP (красный)
- DP — связь с подчинёнными устройствами Profibus активна
- FRCE — активны форсированные значения
- RUN — программа выполняется
- STOP — CPU в режиме STOP
S7-1200 / S7-1500
- RUN/STOP — состояние CPU
- ERROR — активная ошибка (красный)
- MAINT — требуется обслуживание (жёлтый)
- LINK / RX/TX — состояние Ethernet порта
Системные блоки OB (Organization Blocks) для обработки ошибок
При возникновении ошибки CPU автоматически вызывает соответствующий OB:
- OB80 — Time error — превышено время цикла, пропущено прерывание
- OB81 — Power supply fault — проблема питания CPU или источников I/O
- OB82 — Diagnostic interrupt — диагностическое прерывание от модуля (неисправный модуль I/O)
- OB83 — Insert/Remove module — модуль I/O добавлен или удалён в работе
- OB84 — CPU hardware fault — внутренняя неисправность CPU
- OB85 — Priority class error — ошибка класса приоритета (OB не найден и т.п.)
- OB86 — Rack failure — отказ стойки расширения
- OB87 — Communication error
- OB121 — Programming error — ошибка выполнения (деление на ноль, выход за массив, обращение к несуществующей DB)
- OB122 — I/O access error — обращение к I/O адресу, которого нет (модуль отключён)
Если OB не создан в проекте, при вызове CPU переходит в STOP.
Коды событий через диагностический буфер
TIA Portal → PLC → Диагностический буфер (Diagnostic Buffer) → список событий:
- 16#0056 — CPU STOP, нажата кнопка
- 16#4000-16#4FFF — ошибки компилятора/программы
- 16#2522 — Area length error — выход за массив, чтение DB
- 16#2524 — Range length error
- 16#2526 — Timer number error
- 16#2528 — Counter number error
- 16#3301-16#3303 — ошибки на модуле (диагностическое прерывание)
- 16#73A3 — I/O access error (модуль не отвечает)
Диагностика через TIA Portal
- Online & Diagnostics → Hardware Diagnostics — цветная индикация всех модулей (зелёный / жёлтый / красный)
- Diagnostic Buffer — хронология событий (последние 200+)
- Watch Table — наблюдение переменных в реальном времени
- LED simulation — виртуальная индикация в среде
Применение знания
- SF мигает после замены модуля I/O — создайте OB83 для корректной обработки (без OB83 CPU → STOP)
- BF красный на Profibus — проверить подключение, терминаторы 220 Ом, адреса устройств
- 16#2522 после обновления проекта — изменилась длина DB, но клиентский код использует старые смещения
- OB122 часто срабатывает — модуль I/O подвисает (блок питания, перегрев, помехи)
Частые вопросы
CPU S7-300 переходит в STOP при вытаскивании модуля — как исправить?
Это нормальная реакция, если в проекте отсутствует OB83 (Insert/Remove Module). Решение: в TIA Portal / Step 7 добавить OB83 в проект (можно пустой — просто для отлова события), скомпилировать и загрузить. После этого при изъятии модуля вызовется OB83, CPU продолжит работу, в OB83 можно обработать событие (вывести сообщение оператору, перевести систему в безопасное состояние).Как читать событие 16#2522 в диагностическом буфере?
16#2522 — Area length error (ошибка длины области). Означает, что программа обращается к элементу массива или DB за пределами допустимого. В буфере указан блок (например FC100), адрес обращения (например DB10.DBW50), размер области (например DB10 длиной 48 байт). Поиск: открыть DB10, увидеть что он короче 50 байт, увеличить или исправить индекс в FC100. Чтобы предотвратить STOP при такой ошибке — создать OB121.
Источники
- SIMATIC S7-1500 System Manual — Siemens
- STEP 7 Professional V17 — Programming Manual — Siemens
Автор: Sergey
Опубликовано: 28.10.2026
Обновлено: 28.10.2026