Allen-Bradley SLC 500 processor module used in legacy chassis systems prone to overflow trap faults

Ошибка переполнения SLC 500 Trap 0020: устранение защёлки S:5/0

Серьёзная ошибка SLC 500 0020 означает, что после некорректного математического вычисления сработал фиксируемый бит ловушки переполнения S:5/0. Сброс с помощ...

Каждые несколько дней SLC переходит в состояние неисправности. Критическая ошибка 0020. Операторы разводят руками, специалисты по обслуживанию сбрасывают её, производство возобновляется — пока та же математическая ошибка снова не возникает в ночную смену. Это срабатывает бит ловушки переполнения S:5/0, именно так, как задумала Rockwell: он фиксирует ошибку, чтобы нельзя было сделать вид, будто неверного вычисления не было.

В контроллере 5/04, например 1747-L524, код 0020 означает, что инструкция выдала результат за пределами допустимого диапазона целых чисел. Для знаковых 16-разрядных вычислений допустим диапазон от −32768 до +32767. Если превысить этот предел с помощью ADD или MUL, выполнить деление на ноль, выйти за пределы буфера FIFO/LIFO или применить NEG к значению −32768, процессор устанавливает S:5/0, а затем остаётся в состоянии неисправности, пока этот бит не будет снят. Руководства семейства публикаций 1747-UM011 / 1747-UM001 описывают эту ловушку; на производстве просто видят неработающий ЦП.

Модуль процессора Allen-Bradley SLC 500, используемый в системах на базе устаревших шасси, подверженных неисправностям из-за ловушки переполнения

Устаревшие процессоры SLC по-прежнему управляют множеством дискретных машин. Ловушки переполнения почти всегда вызваны математикой приложения, а не неисправностью объединительной платы.

Инструкция OTU, которая останавливает распространение проблемы

Для быстрого восстановления обычно добавляют OTU к S:5/0, чтобы сканирование могло продолжиться после срабатывания ловушки. Ключевое значение имеет размещение. Поместите её на последнюю ступень LAD 2 — файла, в котором находятся вызовы JSR, — чтобы все подпрограммы успели завершиться до снятия фиксации. Тогда переполнение обнаруживается во время сканирования, а затем один раз сбрасывается перед переходом в режим простоя.

LAD 2 — последняя ступень
  S:5/0
----] [----(OTU)----

Если поместить ту же OTU внутрь переполняющей подпрограммы, появится новый режим отказа: бит будет снят слишком рано, позднее в том же сканировании произойдёт повторное переполнение, и контроллер немедленно снова перейдёт в неисправность. Или OTU сработает по ветви, которая в этом сканировании вообще не выполняет ошибочное вычисление, и вам покажется, что проблема «исправлена», хотя настоящая ступень по-прежнему дважды в неделю вызывает остановку.

Элемент Назначение
Бит S:5/0 ловушка переполнения (с фиксацией)
Инструкция OTU
Файл LAD 2 (основной)
Позиция После каждого JSR, последняя ступень

Переведите контроллер в RUN и понаблюдайте, остаётся ли S:5/0 сброшенным в течение нескольких смен. Если он не срабатывает, вы выиграли время, но не устранили первопричину.

Найдите вычисление, которое действительно вызвало переполнение

Считайте OTU ремнём безопасности. Затем начинайте поиск:

  • Любые недавние изменения, затрагивающие целые числа: счётчики партий, масштабированные аналоговые значения, записанные в N-файлы, или «временная» MUL для преобразования единиц измерения
  • ADD / SUB / MUL / DIV / DDV без ограничителей диапазона
  • Места, где после выхода значений за комфортный 16-разрядный диапазон следовало использовать LADD / LMUL (32-разрядные инструкции)
  • NEG для значения, которое может достигать −32768
  • Длина FIFO/LIFO по сравнению с фактически зарезервированным буфером

Полезные биты состояния, о которых стоит помнить при отладке: S:5/1 — разрешение ловушки переполнения, S:1/0 — первое сканирование, S:2/0 — неисправность процессора. Не сбрасывайте ловушки вслепую при онлайн-редактировании, не выяснив, какая ступень вызывает проблему.

Проверка аппаратной части

Процессоры 5/04 класса 1747-L524 давно сняты с производства. Если вы продолжаете использовать это шасси, держите на складе проверенный запасной 5/04 — предприятия, которые по-прежнему закупают оборудование этого семейства, часто выбирают модули вроде 1747-L542. Небольшие машины иногда переводят на 5/03, например 1747-L532, но это решение отдельного проекта, а не способ устранить переполнение. В долгосрочной перспективе большинство предприятий переводят процесс на CompactLogix или ControlLogix и избавляются от ловушек 16-разрядной арифметики вместе с платформой. Стратегия хранения запасных частей для смешанных парков Logix по-прежнему зависит от того, как вы комплектуете системы PLC и PAC.

Пока миграция не завершена, принцип прост: OTU в конце LAD 2, затем докажите, какая ADD/MUL неверно обрабатывает свой диапазон.

Об авторе

Mark Townsend | Ведущий инженер по автоматизации — системы Allen-Bradley

Mark Townsend — ведущий инженер по автоматизации с более чем 18-летним опытом работы с платформами Allen-Bradley, включая ControlLogix, CompactLogix и устаревшие системы SLC-500. В его повседневную работу входят разработка логики RSLogix / Studio 5000 и запуск HMI FactoryTalk View на устаревших и смешанных парках оборудования.

Ошибка переполнения SLC 500 Trap 0020: устранение защёлки S:5/0

Серьёзная ошибка SLC 500 0020 означает, что после некорректного математического вычисления сработал фиксируемый бит ловушки переполнения S:5/0. Сброс с помощью OTU может сохранить работу ЦП, но тол...

Каждые несколько дней SLC переходит в состояние неисправности. Критическая ошибка 0020. Операторы разводят руками, специалисты по обслуживанию сбрасывают её, производство возобновляется — пока та же математическая ошибка снова не возникает в ночную смену. Это срабатывает бит ловушки переполнения S:5/0, именно так, как задумала Rockwell: он фиксирует ошибку, чтобы нельзя было сделать вид, будто неверного вычисления не было.

В контроллере 5/04, например 1747-L524, код 0020 означает, что инструкция выдала результат за пределами допустимого диапазона целых чисел. Для знаковых 16-разрядных вычислений допустим диапазон от −32768 до +32767. Если превысить этот предел с помощью ADD или MUL, выполнить деление на ноль, выйти за пределы буфера FIFO/LIFO или применить NEG к значению −32768, процессор устанавливает S:5/0, а затем остаётся в состоянии неисправности, пока этот бит не будет снят. Руководства семейства публикаций 1747-UM011 / 1747-UM001 описывают эту ловушку; на производстве просто видят неработающий ЦП.

Модуль процессора Allen-Bradley SLC 500, используемый в системах на базе устаревших шасси, подверженных неисправностям из-за ловушки переполнения

Устаревшие процессоры SLC по-прежнему управляют множеством дискретных машин. Ловушки переполнения почти всегда вызваны математикой приложения, а не неисправностью объединительной платы.

Инструкция OTU, которая останавливает распространение проблемы

Для быстрого восстановления обычно добавляют OTU к S:5/0, чтобы сканирование могло продолжиться после срабатывания ловушки. Ключевое значение имеет размещение. Поместите её на последнюю ступень LAD 2 — файла, в котором находятся вызовы JSR, — чтобы все подпрограммы успели завершиться до снятия фиксации. Тогда переполнение обнаруживается во время сканирования, а затем один раз сбрасывается перед переходом в режим простоя.

LAD 2 — последняя ступень
  S:5/0
----] [----(OTU)----

Если поместить ту же OTU внутрь переполняющей подпрограммы, появится новый режим отказа: бит будет снят слишком рано, позднее в том же сканировании произойдёт повторное переполнение, и контроллер немедленно снова перейдёт в неисправность. Или OTU сработает по ветви, которая в этом сканировании вообще не выполняет ошибочное вычисление, и вам покажется, что проблема «исправлена», хотя настоящая ступень по-прежнему дважды в неделю вызывает остановку.

Элемент Назначение
Бит S:5/0 ловушка переполнения (с фиксацией)
Инструкция OTU
Файл LAD 2 (основной)
Позиция После каждого JSR, последняя ступень

Переведите контроллер в RUN и понаблюдайте, остаётся ли S:5/0 сброшенным в течение нескольких смен. Если он не срабатывает, вы выиграли время, но не устранили первопричину.

Найдите вычисление, которое действительно вызвало переполнение

Считайте OTU ремнём безопасности. Затем начинайте поиск:

  • Любые недавние изменения, затрагивающие целые числа: счётчики партий, масштабированные аналоговые значения, записанные в N-файлы, или «временная» MUL для преобразования единиц измерения
  • ADD / SUB / MUL / DIV / DDV без ограничителей диапазона
  • Места, где после выхода значений за комфортный 16-разрядный диапазон следовало использовать LADD / LMUL (32-разрядные инструкции)
  • NEG для значения, которое может достигать −32768
  • Длина FIFO/LIFO по сравнению с фактически зарезервированным буфером

Полезные биты состояния, о которых стоит помнить при отладке: S:5/1 — разрешение ловушки переполнения, S:1/0 — первое сканирование, S:2/0 — неисправность процессора. Не сбрасывайте ловушки вслепую при онлайн-редактировании, не выяснив, какая ступень вызывает проблему.

Проверка аппаратной части

Процессоры 5/04 класса 1747-L524 давно сняты с производства. Если вы продолжаете использовать это шасси, держите на складе проверенный запасной 5/04 — предприятия, которые по-прежнему закупают оборудование этого семейства, часто выбирают модули вроде 1747-L542. Небольшие машины иногда переводят на 5/03, например 1747-L532, но это решение отдельного проекта, а не способ устранить переполнение. В долгосрочной перспективе большинство предприятий переводят процесс на CompactLogix или ControlLogix и избавляются от ловушек 16-разрядной арифметики вместе с платформой. Стратегия хранения запасных частей для смешанных парков Logix по-прежнему зависит от того, как вы комплектуете системы PLC и PAC.

Пока миграция не завершена, принцип прост: OTU в конце LAD 2, затем докажите, какая ADD/MUL неверно обрабатывает свой диапазон.

Об авторе

Mark Townsend | Ведущий инженер по автоматизации — системы Allen-Bradley

Mark Townsend — ведущий инженер по автоматизации с более чем 18-летним опытом работы с платформами Allen-Bradley, включая ControlLogix, CompactLogix и устаревшие системы SLC-500. В его повседневную работу входят разработка логики RSLogix / Studio 5000 и запуск HMI FactoryTalk View на устаревших и смешанных парках оборудования.

Оставить комментарий

Обратите внимание, комментарии должны быть одобрены перед публикацией.