Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Учебно-методическое пособие
Новокузнецк
2010
АВТОР:
Романов В. П., преподаватель высшей квалификационной категории НОУ «РЦПП «Евраз - Сибирь» .
РЕЦЕНЗЕНТ:
Функции контроля
Диагностика очень важна при работе системы (установки). Диагностика обычно
вызывается в случае, если неисправность или другая проблема приводит к остановке
машины или ее неправильному функционированию. Для снижения затрат от простоя
оборудования или его неправильного функционирования, ошибка должна быть быстро
обнаружена, оценена и устранена.
Неисправности при текущей эксплуатации объясняются почти исключительно
ошибками и повреждениями в аппаратуре.
Категории ошибок
Все ошибки, возникающие при функционировании микропроцессорной системы
управления, в общем виду могут быть разделены на следующие группы:
Программные;
Аппаратные;
Программно – аппаратные.
Ошибки, которые распознаются CPU S7 и, на которые можете реагировать
пользователь с помощью организационных блоков (ОВ), можно разделить на следующие
две категории:
• Синхронные ошибки: ошибки, которые можно поставить в соответствие
определенному месту в программе пользователя (напр., ошибки при обращении к
периферийному модулю).
• Асинхронные ошибки: ошибки, которые нельзя поставить в соответствие
определенному месту в программе пользователя (напр., превышение времени цикла,
неисправности модулей).
В зависимости от того, могут ли ошибки быть определены в самом CPU или нет
возникающие ошибки делятся на две категории:
Ошибки, которые отслеживаются операционной системой CPU и приводят к
вызову соответствующих организационных блоков или переводу CPU в режим
«Stop» (системная ошибка), например:
Ошибка в модуле
Короткое замыкание в сигнальном кабеле
Превышение времени цикла
Ошибка программирования (обращение к несуществующему
блоку)
Ошибки функционирования, которые не переводят CPU в «STOP» , но при
этом установка функционирует с ошибками. Найти ошибки такого рода гораздо
сложнее, так как для выяснения причины их возникновения приходится
анализировать всю логическую часть программы.
Ошибки функционирования в свою очередь можно разделить на две большие
группы:
• Ошибка процесса (например, ошибка монтажа):
Ошибка, вызванная неверной информацией, поступившей от процесса из-за
неисправности датчиков или исполнительных устройств или дефектов
монтажа.
Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens
5
•Логическая ошибка программирования (например, ошибка двойного
формирования операнда):
Программная ошибка, которая не была обнаружена во время создания и
отладки пользовательской программы при наступлении каких-либо
непредусмотренных программой событий.
Упреждающее программирование и, прежде всего, знание и правильное
применение диагностического инструментария дают пользователю при возникновении
ошибок следующие преимущества:
• Существенно уменьшить влияние ошибок.
• Поможет легче локализовать ошибки (например, программируя ОВ ошибок).
• Позволит сократить потери рабочего времени.
Ошибка
Системная ошибка: Ошибка функционирования:
Особенность: CPU переходит в STOP Особенность: CPU остается в RUN
(Например, обращение к незагруженному (Ошибка процесса, например, обрыв
DB или диагностическое прерывание от провода или логическая ошибка, например
модуля) двойное формирование)
Инструменты отладки: Инструменты отладки:
Module Information Monitor / Modify variable (Управление
Диагностический буфер переменными)
Стек прерываний Monitor blocks (Состояние блока)
Стек блоков Reference Data (Справочные данные):
Локальный стек Cross references (перeкрестные
Hardware Diagnostics ссылки)
Assignment of I/O/М/Т/С (план
использования) '
Program Structure (Структура
программы)
Дополнительные возможности поиска ошибок:
• Функция Force
• Сравнение блоков
• Точки останова
Диагностический буфер
Диагностический буфер организован по принципу FIFO (первым пришел - первым
вышел). Он находится в области памяти CPU с батарейной поддержкой и не может быть
удален при сбросе памяти. Он содержит записи о всех диагностических событиях в
порядке их возникновения.
Все события могут быть показаны на программаторе или ПК в виде простого
текста и в порядке их возникновения.
Информация, необходимая для диагностики, доступна из всех инструментальных
средств через команду: PLC > Module Information > закладка : "Diagnostic Buffer"
(рисунок 2)
I-Stack
I -стек (interrupt stack - стек прерывания) всегда относится к одному классу
приоритета. Прежде чем вызвать информацию об I -стеке, выберите интересующий
организационный блок в В –стеке и нажмите кнопку I Stak
Наблюдение переменных
Активируйте функцию наблюдения командой меню Variable —> Monitor
(Переменная —> Наблюдение). Переменные в VAT обновляются в соответствии с
заданными условиями триггера. Постоянное наблюдение позволяет отслеживать
изменения значений на экране. Значения отображаются в формате данных, установленном
вами в столбце «Display format» («Формат отображения»). Клавиша ESC завершает посто-
янную функцию наблюдения.
Variable —> Update Monitor Values (Переменная —> Обновить наблюдаемые
значения) обновляет отслеживаемые значения один раз и немедленно, несмотря на
установленные условия триггера.
Рисунок 12 - Внешний вид блока в режиме статуса в разных режимах представления программы
Вы можете установить условия триггера, выбрав команду Debug —> Call Environment
(Отладка —> Параметры вызова). Данная установка потребуется, если отлаживаемый
блок вызывается в программе более одного раза. Можно инициировать запись состояния
либо путем определения порядка вызовов, либо поставив ее в зависимость от открытого
блока данных (рисунок 13).
Опции функции "Modify Trigger Point" определяют момент времени, в который
установленные значения будут записаны в соответствующие переменные.
Установки "Monitor Trigger Frequency" определяют, должны ли переменные
читаться однократно (только по запросу, когда точка достигнута) или в каждом цикле.
Установки "Modify Trigger Frequency" определяют, должны ли новые значения
передаваться в соответствующие переменные однократно или в каждом цикле.
Если блок вызывается только один раз, отметьте «No condition» («Без условий»).
Точки останова
С помощью этой функции пользователь можете отлаживать программу, созданную
на языке STL в пошаговом режиме. Это особенно полезно во время написания программы,
например для отладки циклов.
Можно устанавливать несколько точек останова в зависимости от CPU. Выбрать
функции точек останова можно в редакторе выбрав пункт меню «Test» или посредством
Breakpoint Bar (Панель инструментов для точек останова).
Перед отладкой убедитесь в выполнении следующих требований:
Должны быть включен режим "Test Operation (см. рисунок 15);
Отлаживаемый блок должен быть открыт в режиме «online».
Во время активации точки останова CPU останавливается на данном выражении.
Выходы деактивируются по соображениям безопасности.
Примечание: Данная функция реализована только в некоторых версиях CPU
(например, CPU 314-1AE03).
Перекрестные ссылки
Вы открываете список перекрестных ссылок, выбирая команду меню View -> Cross
References или кликнув мышью на соответствующую кнопку.
Список перекрестных ссылок является списком адресов, использованных в
конкретной пользовательской программе.
Кликнув на выбранное место использования операнда, запускается редактор с
указанным блоком и сегментом.
Вы можете выбрать адрес в списке перекрестных ссылок, а далее выбрать меню
View -> Cross References for Address . При этом откроется новое окно, содержащее
перекрестные ссылки только для выбранного адреса.
Структура программы
Структура программы показывает иерархию вызовов блоков в программе. В
колонке Local показывается глубина использования локального стека для блоков ОВ и для
вызываемых блоков.
Сравнение блоков
Одной из причин возникновения ошибок (обычно в случае нескольких
пользователей) может быть различие между программами в проекте и в CPU. Поэтому
поиск логических ошибок (нарушения в логике работы программы) проще начинать со
сравнения блоков.
Можно сравнить блоки online и offline или в двух программах пользователя на
жестком диске программатора.
С помощью этой функции, можно определить, какие программные коррекции были
сделаны в CPU позже и, в каком сегменте блоки отличаются.
Порядок действий (рисунок 22):
1. Правой кнопкой мыши, выберите папку блоков в S7-программе
2. Выберите команду меню Compare Blocks.
3. Выберите, хотите ли Вы сравнить online/offline или 2 offline программы и
подтвердите нажатием кнопки «ОК».
4. В окне будут показаны блоки, которые отличаются.
5. Выберите строку, в которой определено различие и нажмите кнопку «Details».
6. В окне "Compare Blocks - Details" (сравнение блоков - детали), Вы можете
установить, когда блок был модифицирован и был ли изменен размер блока.
7. После выбора кнопки "Go To..." отличающиеся блоки, например, online и
offline, открываются в двух окнах и показываются сегменты, в которых было найдено
первое отличие.
Изменения программы могут быть сделаны только в окне offline.
Блоки ошибок
При возникновении большинства ошибок операционная система CPU вызывает
различные организационные блоки (ОВ) в зависимости от типа ошибок. При отсутствии
данных блоков CPU переходит в STOP (кроме ОВ81, ОВ84). Ниже приведена таблица ОВ
ошибок.
1)
= = нет в случае S7-300
Перекомпоновка программы
Необходимость перекомпоновки программы возникает, если в результате
диагностики системы установили, что во входном блоке неисправен канал (например, I
Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens
29
16.7). В этом блоке еще не все входы заняты, так что для устранения неисправности
можно переключиться на свободный канал.
После перемонтажа должна, быть адаптирована программа к новому аппаратному
обеспечению. Значит, везде, где был запрограммирован неисправный вход (в нашем
случаи I16.7), он должен заменяться на исправный вход (допустим, что на I 17.0).
Программа пользователя может быть перекомпонована (каждый опрос операнда
116.7 должен быть заменен на 117.0) тремя способами:
• Перемонтаж с помощью SIMATIC Manager: указание старых и новых
операндов. Этот метод не предполагает использования таблицы символов (Symbol Table).
• Перемонтаж с помощью таблицы символов с использованием "приоритета
символов"
• Перемонтаж с помощью исходного текста программы. При этом требуется
таблица символов
Перекомпоновка с помощью SIMATIC Manager
Вне зависимости от таблицы символов, старый адрес (I 16.7 в примере) заменяется
в программе пользователя новым (I 17.0 в примере). Первоначальный блок
перезаписывается новым, „перемонтированным" блоком.
При перемонтаже с помощью SIMATIC® Manager, должен быть установлен
"Приоритет : Абсолютных значений" в свойствах объекта Blocks.
Блоки, в которых необходимо произвести замену должны быть выделены перед
запуском процедуры
Следует учитывать, что при активации этой опции, все отдельные биты указанного
байта, слова или двойного слова будут также переназначены. В примере, I16.7, является
отдельным "старым адресом " из байта IB 16, переназначается отдельному входу 117.0
входного байта IB 17.
Порядок действий (рисунок 26):
1. Закройте LAD/STL/FBD редактор для уверенности, что блоки не обрабатываются
2. В SIMATIC® Manager, выделите папку Blocks или те блоки, в которых необходимо
сделать переназначения
3. Запустите перемонтаж: SIMATIC® Manager -> Options -> Rewiring...
4. Введите старые и новые операнды, если необходимо, активируйте "Аll accesses
within the specified addresses" (Все доступные в пределах определенных адресов (не
для периферийных устройств))в экране Rewire
5. Нажмите "OK".
Замена модулей
Для демонтажа модуля следует действовать следующим образом см. рисунок 29:
Таблица 7 - Порядок демонтажа модуля
Шаг 20-контактный фронтштекер 40-контактный фронтштекер
1. Переведите CPU в STOP
2. Отключите напряжение нагрузки для модуля
3. Вытащите из модуля маркировочную ленту
4. Откройте переднюю дверцу
Разблокируйте фронтштекер и вытащите его
Для этого одной рукой нажмите вниз Отвинтите крепежный винт в середине
5. деблокирующую кнопку (5), а другой рукой фронтштекера. Вытащите фронтштекер за
вытащите фронтштекер за поверхности для поверхности для захвата.
захвата (5а).
4. Вложите новую буферную батарею или аккумулятор в нишу для батареи на CPU
5. Закройте переднюю дверцу CPU.
Литература
1. Бергер Г. Автоматизация посредством STEP 7 с использованием STL и SCL и
программируемых контроллеров SIMATIC S7-300/400. Siemens AG, Нюрнберг, 2001.