Вы находитесь на странице: 1из 39

Сопровождение, диагностика и техническое

обслуживание автоматизированных систем


управления технологическими процессами на
основе программируемых логических
контроллеров S7 фирмы Siemens

Учебно-методическое пособие

Новокузнецк
2010
АВТОР:

Романов В. П., преподаватель высшей квалификационной категории НОУ «РЦПП «Евраз - Сибирь» .

РЕЦЕНЗЕНТ:

Зав. кафедрой «Автоматизация и информационные системы» ФГОУ ВПО «СибГИУ» доктор


технических наук, профессор Кулаков С. М.

Методическое пособие разработано в соответствии с рабочей программой курса


«Сопровождение автоматизированных систем управления технологическими процессами (АСУ
ТП) построенных на основе программируемых контроллеров Simatic S7».
В методическом пособии представлены перечень и методика использования встроенных
средств диагностики, тестирования и отладки программ управления технологическими
процессами построенных на основе программируемых контроллеров Simatic S7. Освоение
методов диагностики и ТО АСУ ТП построенных на основе программируемых контроллеров
Simatic S7 позволит эксплуатирующему персоналу, не привлекая специалистов сервисных служб,
существенно сократить время простоя оборудования в результате нарушений в его работе и тем
самым повысить эффективность использования оборудования в целом.
Табл. 9. Ил. 33. Библиогр.: 5 назв.

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


2
Оглавление
Введение ..................................................................................................................................................... 4
Диагностика системы (общие сведения)................................................................................................. 5
Встроенные диагностические средства системы..................................................................................... 6
Диагностика с помощью светодиодов.................................................................................................. 6
Обзор инструментов отладки ................................................................................................................ 9
Обнаружение системных ошибок (системная диагностика) .............................................................. 9
Диагностический буфер ................................................................................................................... 10
Диагностика с использованием стеков I, В, L ................................................................................. 12
Отображение диагностики оборудования (Hardware Diagnostics) .............................................. 14
Наблюдение и модифицирование переменных ........................................................................... 16
Принудительная установка переменных (функция Force)............................................................ 17
Изменение выходов в состоянии «Stop»........................................................................................ 18
Статус программы LAD/FBD ............................................................................................................. 19
Управление переменными в режиме статуса программы ........................................................... 21
Функция "Go To Location"................................................................................................................. 21
Точки останова.................................................................................................................................. 22
Поиск логических ошибок................................................................................................................ 23
Сравнение блоков............................................................................................................................. 25
Блоки ошибок.................................................................................................................................... 26
Программные средства обработки ошибок................................................................................... 26
Вывод сообщений (функция CPU Messages) .................................................................................. 29
Перекомпоновка программы .......................................................................................................... 29
Диагностика............................................................................................................................................... 32
Диагностика в состоянии STOP ........................................................................................................ 33
Проверка времен цикла сканирования во избежание временных ошибок ............................... 33
Техническое обслуживание ..................................................................................................................... 35
Сохранение операционной системы .................................................................................................. 35
Обновление операционной системы.................................................................................................. 35
Замена модулей.................................................................................................................................... 36
Замена буферной батареи или аккумулятора (только для CPU с МС) ............................................. 38
Замена предохранителей цифровых выходов................................................................................... 38
Литература................................................................................................................................................. 39

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


3
Введение
Ускорение научно-технического прогресса и интенсификация производства
невозможны без применения средств автоматизации. Характерной особенностью
современного этапа автоматизации состоит в том, что она опирается на революцию в
вычислительной технике, на самое широкое использование микропроцессорных
контроллеров, а также на быстрое развитие робототехники, гибких производственных
систем, интегрированных систем проектирования и управления, SCADA-систем.
Применение современных средств и систем автоматизации позволяет решать
следующие задачи:
 вести процесс с производительностью, максимально достижимой для данных
производительных сил, автоматически учитывая непрерывные изменения
технологических параметров, свойств исходных материалов, изменений в
окружающей среде, ошибки операторов;
 управлять процессом, постоянно учитывая динамику производственного плана для
номенклатуры выпускаемой продукции путем оперативной перестройки режимов
технологического оборудования, перераспределения работ на однотипном
оборудовании и т. п.;
 автоматически управлять процессами в условиях вредных или опасных для человека.
Широкое применение систем автоматизации привело с одной стороны к
существенному сокращению количества работников занятых в производстве, а с другой
стоны повысила роль персонала занятого обслуживанием и сопровождением систем
автоматизации, так как в виду очень высокой производительности автоматизированных
систем даже не большой по времени простой системы приводит к существенным
экономическим потерям.
Решение данной проблемы предусматривает целый комплекс вопросов по
сопровождению, диагностированию и техническому обслуживанию систем автоматизации
технологических процессов.
В данном учебном пособии рассматриваются встроенные средств отладки и
диагностирования АСУ ТП построенных на основе программируемых контроллеров
Simatic S7 и представлена методика и алгоритм их применения.

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


4
Диагностика системы (общие сведения)
На этапе ввода системы в эксплуатацию особенно часто могут возникать ошибки,
локализация которых требует больших затрат времени, так как они равным образом
вероятны в аппаратном и программном обеспечении.

Функции контроля
Диагностика очень важна при работе системы (установки). Диагностика обычно
вызывается в случае, если неисправность или другая проблема приводит к остановке
машины или ее неправильному функционированию. Для снижения затрат от простоя
оборудования или его неправильного функционирования, ошибка должна быть быстро
обнаружена, оценена и устранена.
Неисправности при текущей эксплуатации объясняются почти исключительно
ошибками и повреждениями в аппаратуре.

Категории ошибок
Все ошибки, возникающие при функционировании микропроцессорной системы
управления, в общем виду могут быть разделены на следующие группы:
 Программные;
 Аппаратные;
 Программно – аппаратные.
Ошибки, которые распознаются CPU S7 и, на которые можете реагировать
пользователь с помощью организационных блоков (ОВ), можно разделить на следующие
две категории:
• Синхронные ошибки: ошибки, которые можно поставить в соответствие
определенному месту в программе пользователя (напр., ошибки при обращении к
периферийному модулю).
• Асинхронные ошибки: ошибки, которые нельзя поставить в соответствие
определенному месту в программе пользователя (напр., превышение времени цикла,
неисправности модулей).
В зависимости от того, могут ли ошибки быть определены в самом CPU или нет
возникающие ошибки делятся на две категории:
 Ошибки, которые отслеживаются операционной системой CPU и приводят к
вызову соответствующих организационных блоков или переводу CPU в режим
«Stop» (системная ошибка), например:
 Ошибка в модуле
 Короткое замыкание в сигнальном кабеле
 Превышение времени цикла
 Ошибка программирования (обращение к несуществующему
блоку)
 Ошибки функционирования, которые не переводят CPU в «STOP» , но при
этом установка функционирует с ошибками. Найти ошибки такого рода гораздо
сложнее, так как для выяснения причины их возникновения приходится
анализировать всю логическую часть программы.
Ошибки функционирования в свою очередь можно разделить на две большие
группы:
• Ошибка процесса (например, ошибка монтажа):
Ошибка, вызванная неверной информацией, поступившей от процесса из-за
неисправности датчиков или исполнительных устройств или дефектов
монтажа.
Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens
5
•Логическая ошибка программирования (например, ошибка двойного
формирования операнда):
Программная ошибка, которая не была обнаружена во время создания и
отладки пользовательской программы при наступлении каких-либо
непредусмотренных программой событий.
Упреждающее программирование и, прежде всего, знание и правильное
применение диагностического инструментария дают пользователю при возникновении
ошибок следующие преимущества:
• Существенно уменьшить влияние ошибок.
• Поможет легче локализовать ошибки (например, программируя ОВ ошибок).
• Позволит сократить потери рабочего времени.

Встроенные диагностические средства системы


Диагностика с помощью светодиодов
Диагностика с помощью светодиодов представляет собой первое вспомогательное
средство для локализации ошибок. Для дальнейшей локализации ошибок, как правило,
используются встроенные диагностические функции операционной системы ПЛК, пакета
программирования «SIMATIC Manager».
Светодиоды, установленные на аппаратуре SIMATIC S7, выполнены в следующих
трех цветах:
 Зеленые светодиоды сообщают о протекании нормальных режимов работы (напр.,
приложено напряжение питания).
 Желтые светодиоды указывают на особые режимы (напр., активна функция „Force").
 Красные светодиоды указывают на неисправности (напр., ошибка в шине).
Мигание светодиода указывает на особое событие (напр., общее стирание памяти).
Возможные состояния светодиодов представлены в таблице 1.
Таблица 1 -Возможные состояния светодиодов ПЛК
Светодиод
Значение
SF 5VDC FRCE RUN STOP
На CPU отсутствует питающее напряжение.
Устранение:
Выкл Выкл Выкл Выкл Выкл Убедитесь, что блок питания соединен с сетью и включен.
Убедитесь, что CPU соединен с блоком питания и включен.
CPU находится в состоянии STOP. Устранение: Запустите CPU.
Выкл Вкл X Выкл Вкл
CPU находится в состоянии STOP в результате ошибки.
Вкл Вкл X Выкл Вкл
Устранение: см. следующие таблицы, анализ светодиода SF
Мигает CPU требует общего стирания памяти.
X Вкл X Выкл
(0,5 Гц)
Мигает CPU выполняет общее стирание памяти.
X Вкл X Выкл
(2 Гц)
Мигает CPU находится в состоянии запуска.
X Вкл X Вкл
(2 Гц)
CPU остановлен в запрограммированной точке останова.
Мигает
X Вкл X Вкл Подробности читайте в руководстве по программированию
(0,5 Гц)
Программирование с помощью STEP 7.
Аппаратная или программная ошибка.
Вкл Вкл X X X Устранение: см. следующие таблицы, анализ светодиода SF
Вы активизировали функцию принудительного задания
X X Вкл X X значений(Force)

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


6
Примечание к таблице: состояние X - это состояние не имеет значения для
функции, выполняемой в данный момент CPU.

Возможные состояния светодиода SF представлены в таблице 2.


Таблица 2 - Возможные состояния светодиода SF
Возможные ошибки Реакция CPU Возможности устранения
Активизировано и запускается Вызов ОВ 85. CPU не Загрузить ОВ 10 или 11 (только CPU
прерывание по времени. Но переходит в STOP, если 318-2) (номер ОВ можно увидеть в
подходящий ОВ не загружен ОВ 85 загружен. диагностическом буфере).
(Программная ошибка/Ошибка
параметризации)
Был пропущен момент запуска Вызов ОВ 80. При Перед установкой часов с помощью SFC
активизированного прерывания по незагруженном ОВ 80 CPU 29 заблокировать прерывание по
времени. напр., из-за перевода переходит в состояние времени.
вперед внутренних часов. STOP.
Функцией SFC 32 запускается Вызов ОВ 85. CPU не Загрузить ОВ 20 или 21 (только CPU
прерывание с задержкой. Но переходит в STOP, если 318-2) (номер ОВ можно увидеть в
подходящий ОВ не загружен ОВ 85 загружен. диагностическом буфере).
(Программная ошибка/Ошибка
параметризации)
Активизировано и запускается Вызов ОВ 85. CPU не Загрузить ОВ 40 или 41 (только CPU
аппаратное прерывание. Но переходит в STOP, если 318-2) (номер ОВ можно увидеть в
подходящий ОВ не загружен ОВ 85 загружен. диагностическом буфере).
(Программная ошибка/Ошибка
параметризации)
Генерируется прерывание по Вызов ОВ 85. CPU не Загрузить ОВ 55
состоянию, но соответствующий ОВ 55 переходит в STOP, если
не загружен. ОВ 85 загружен.
Генерируется прерывание по Вызов ОВ 85. CPU не Загрузить ОВ 56
обновлению, но соответствующий ОВ переходит в STOP, если
56 не загружен. ОВ 85 загружен.
Попытка обращения к Вызов ОВ 85. CPU не Создать ОВ 85, в стартовой
несуществующему или неисправному переходит в STOP, если информации этого ОВ находится адрес
модулю. (Программная или ОВ 85 загружен или, если соответствующего модуля. Заменить
аппаратная ошибка) при загруженном ОВ 80 этот модуль или устранить ошибку в
время цикла превышается программе.
во второй раз без
последующего запуска.
Было превышено время цикла. Вызов ОВ 80. CPU не Увеличить время цикла (STEP 7
Возможно, было одновременно переходит в STOP, если - Конфигурирование аппаратуры),
вызвано слишком много ОВ ОВ 80 загружен или вызван изменить структуру программы.
прерываний. во второй раз. Устранение: при необходимости
повторно запустить контроль времени
цикла с помощью SFC 43.
Ошибка программирования: Вызов ОВ 121. CPU не Устранить ошибку программирования.
• блок не загружен переходит в STOP, если При поиске ошибки использовать
• неверен номер блока ОВ 121 загружен. тестовые функции STEP 7.
• неверен номер таймера
или счетчика
• обращение для чтения
или записи к неправильной области
• и т.д.
Ошибка доступа к периферии ВызовОВ 122. CPU не Проверьте адресацию модулей с
При обращении к данным переходит в STOP, если помощью утилиты HW Config или, не
модуля произошла ошибка ОВ 122 загружен. вышел ли из строя модуль или DP Slave.
Ошибка при связи с помощью Вызов ОВ 87. CPU не Проверьте связь с помощью глобальных
глобальных данных, напр., DB для переходит в STOP, если данных в STEP 7 и, если необходимо,
связи с помощью глобальных данных ОВ87 загружен. скорректируйте размер DB.
слишком мал.

Источник питания имеет диагностику - светодиод "DC24V" на передней панели


модуля. Используя этот светодиод можно определить состояние источника питания.
Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens
7
Состояние светодиода блока питания представлено в таблице 3.

Таблица 3 Состояние светодиода блока питания


Светодиод
Состояние Реакция блока питания
"DC24V
Включен 24 В О.К. 24 В ОК.
Мигает Цепь выхода перегружена;
до 130% (динамически.) Падение напряжения,
восстановление напряжения
когда перегрузки нет.
до 130% (постоянно.) До 130% (постоянная
перегрузка» понижение
напряжения, сокращение срока
службы
Выкл. Короткое замыкание в выходных цепях Прекращение подачи
напряжения, автоматическое
восстановление при устранении
короткого
Выкл. Перенапряжение или пониженное Перенапряжение может вызвать
напряжение на первичной стороне разрушение. Недостаточное
(разрешаемый диапазон: напряжение -автоматическое
от 187В до 264 В переменного тока) прерывание работы.

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


8
Обзор инструментов отладки
Система PLC S7 имеет развитую систему инструментов отладки программ и
поиска ошибок различных видов.
Встроенные диагностические функции позволяют получить представленную
открытым текстом информацию о возникшей ошибке. Например, определить номер
соответствующего ОВ ошибок. А если его создать заблаговременно, то можно
воспрепятствовать переходу CPU в состояние STOP. В зависимости от типа ошибки
предлагаются следующие методы диагностики и отладки:

Ошибка
Системная ошибка: Ошибка функционирования:
Особенность: 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
• Сравнение блоков
• Точки останова

Рассмотрим более подробно доступные методы диагностики

Обнаружение системных ошибок (системная диагностика)


Все функции наблюдения за функционированием компонентов контроллера
группируются вместе под общим названием "Системная диагностика".
Все S7-CPU имеют интеллектуальную систему диагностики. При этом, для получения
системных диагностических данных, не надо ничего программировать! Эти функции
встроены в операционную систему самого CPU и других, способных к диагностике
модулей и работают автоматически. CPU сохраняет ошибки и помещает их в
диагностический буфер, откуда они могут быть считаны и проанализированы
обслуживающим персоналом.
Операционная система, при обнаружении ошибки, выполняет определенные процедуры
вплоть до изменения рабочего режима (RUN > STOP):
Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens
9
• Сообщение, снабженное датой и временем, вводится в диагностический буфер.
Последнее сообщение хранится в начале буфера. Если буфер заполнен,
наиболее старые данные удаляются. Размер этого буфера зависит от типа CPU
(например, CPU 314 = 100 сообщений). Содержимое диагностического буфера
не удаляется даже при полном стирании памяти.
• Ввод событий в системный список состояний.
• Если необходимо, событие активизирует соответствующий ОВ
(организационный блок) обработки ошибки, что дает возможность
пользователю произвести программную оценку ошибки.

Рисунок 1 - Потоки диагностической информации в SIMATIC S7


В случаи необходимости, CPU может передать причину перехода в режим STOP всем
устройствам отображения, таким как операторская панель и программатор. Функция
"Report Cause of STOP" может быть активирована в свойствах CPU в "Diagnostics/Clock"
при конфигурировании аппаратных средств.

Диагностический буфер
Диагностический буфер организован по принципу FIFO (первым пришел - первым
вышел). Он находится в области памяти CPU с батарейной поддержкой и не может быть
удален при сбросе памяти. Он содержит записи о всех диагностических событиях в
порядке их возникновения.
Все события могут быть показаны на программаторе или ПК в виде простого
текста и в порядке их возникновения.
Информация, необходимая для диагностики, доступна из всех инструментальных
средств через команду: PLC > Module Information > закладка : "Diagnostic Buffer"
(рисунок 2)

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


10
Рисунок 2 - Внешний вид диагностического буфера
Если выделить событие, в поле "Details on Event" будет показана дополнительная
информация:
• Идентификационный и порядковый номер события,
• Дополнительная информация, относящаяся к событию, например, адреса команд,
вызвавших событие,
• Тип и номер блока и т.д.
При нажатии кнопки Help on Event открывается помощь к
событию, выделенному в списке.

Рисунок 3 - Интерпретация сообщения об ошибке


При нажатии кнопки произойдет открытие блока, который привел к
ошибке.
Если при программировании блока выбран язык STL, курсор устанавливается
точно напротив инструкции, приведшей к ошибке. В LAD/FBD, показывается сегмент,
содержащий ошибку (см. рисунок 4).

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


11
Рисунок 4 - Открытие блока, содержащего ошибку

Диагностика с использованием стеков I, В, L


Для того, чтобы получить дополнительную информацию о месте ошибки, можно
прочитать содержание стеков (I - стек, В - стек, L - стек). Это позволяет, например,
определить какие величины хранились в аккумуляторах перед тем, как CPU перешел в
Stop.
B-Stack
Блоки часто вызываются по нескольку раз в пользовательской программе. Это
означает, что информация в диагностическом буфере о номере блока и инструкции,
вызвавшим ошибку, не показывают при каком вызове произошла ошибка. Когда
параметрируемый блок вызывается несколько раз, важна информация, при каком вызове
блока было прервано выполнение программы. Это может быть важным, т.к. причина
ошибки может быть в неверном задании параметров вызываемого блока.
Вывод информации о стеках возможен в следующих случаях перехода CPU в
режим STOP:
• вследствие программной ошибки,
• вследствие команды STOP,
• при достижении точки останова.
Стек блоков (В - стек) - графическое представление последовательности вызовов,
то есть в нем отображается последовательность и вложенность блоков, вызываемых до
точки прерывания (ошибки).
Информация, необходимая для диагностики, доступна из всех инструментальных
средств через команду: PLC > Module Information > закладка : "Stack" (рисунок 5)
Стек блоков содержит все прерывания, вызванные ОВ прерываний и ОВ ошибок,
также как и открытые DB. Выполнение программы было прервано в блоке, показанном
внизу списка.
Чтобы открыть блок online, Вы выбираете блок в списке В - стека и, затем,
нажимаете на кнопку "Open Block". Далее, Вы можете отредактировать этот блок. Курсор
располагается слева от ошибочной инструкции.

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


12
Рисунок 5 - Открытие В - стека (B-Stak)

I-Stack
I -стек (interrupt stack - стек прерывания) всегда относится к одному классу
приоритета. Прежде чем вызвать информацию об I -стеке, выберите интересующий
организационный блок в В –стеке и нажмите кнопку I Stak

Рисунок 6 - Открытие окна I - стека (I Stek)

Регистры I -стек показывает содержимое регистров CPU в момент прерывания:


 Аккумуляторы (Можно выбрать формат числа, в котором должно отображаться
содержимое аккумуляторов, используя поле "Display Format)
 Адресные регистры (можно выбрать формат числа, в котором должно
отображаться содержимое адресных регистров, используя поле "Display Format".)
 Слово состояния (отображаются биты слова состояния (status word). Их значения
выводится с указанием аббревиатур)
 Точка прерывания поле Point of Interruption (точка прерывания) содержит
следующую (Point of Interruption) информацию:
o Блок, при выполнении которого произошло прерывание, с возможностью
непосредственного открытия блока нажатием кнопки "Open Block* (курсор
при этом непосредственно указывает на инструкцию, содержащую ошибку).
o Класс приоритета того ОВ, уровень программного выполнения которого был
прерван.
o Открытые блоки данных с указанием их номеров и размера.
Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens
13
L-Stack
Текущие значения временных переменных блоков, незаконченных в момент
прерывания (ошибки), содержатся в L - стеке.
Прежде чем вызвать информацию об I -стеке, выберите интересующий
организационный блок в В –стеке и нажмите кнопку I Stak

Рисунок 7 - Содержимое L - стека (L Stek)


В окне L - стека показываются локальные данные, относящиеся к блоку,
выбранному в В - стеке. Блоки, незаконченные в момент перехода CPU в STOP,
перечислены в стеке блоков (В - стек).
На рисунке , временная переменная #variable1 определена как INT в блоке FC 10.
Соответственно, она занимает два байта в L - стеке.
В таблице деклараций блока FC 10, относительный начальный адрес переменной в
L-стеке показывается в колонке "Address".
Переменная #variable1 занимает байты 0 и 1 L-стека и имеет значение 0078Hex.
Переменная #variable2 занимает байты 2 и 3 L-стека и имеет значение 0007Hex

Отображение диагностики оборудования (Hardware Diagnostics)


Среди сигнальных модулей есть модули с возможностью диагностики. В таких
модулях идентифицируются ошибки внутренние или внешние, например, обрыв
проводов, что индицируется в модуле светодиодом "SF".
В случаи ошибки модуль инициирует диагностическое прерывание OB82 в CPU.
Чтобы узнать, какие модули имеют встроенную систему диагностики, необходимо
обратиться к каталогу ST 70 или к описаниям модулей. Для активации системы
диагностики модуля следует установить флажок параметров “Diagnostic Interrupt“
(диагностическое прерывание), назначить параметры и определить, какие каналы должны
контролироваться.
Затем отметить поля контроля ошибок, которые должны проверяться, например,
обрыв провода.
На рисунке для примера показан аналоговый модуль 335 со встроенной системой
диагностики.

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


14
Рисунок 8 - Назначение параметров модуля, поддерживающего диагностику
Если в CPU отсутствует OB82, то при ошибке в модуле CPU переходит в
прерывание состояние СТОП. Исходная информация для OB82 содержит
дополнительную информацию о причине ошибки, которая может оцениваться в
программе.
Функция Hardware Diagnostics дает быстрый обзор состояния PLC. Эта функция
открывает online-станцию, доступную в сети, и позволяет получить информацию о
состоянии или рабочем режиме модулей.
Информация отображается в виде диагностических символов, которые отображают
состояние модулей или рабочий режим CPU. Если выполнить двойной щелчок на
неисправном модуле, отображается дополнительная информация.
Запуск функции: опция меню: PLC -> Diagnose Hardware в SIMATIC Manager или
утилиты из утилиты HW Config, открывая станцию в интерактивном режиме с
помощью кнопки на панели инструментов.
В представленном примере (рисунок 9) при включении диагностики в окне
утилиты отображаются все модули (даже те, что в стойках расширения или в
распределенной периферии). Если CPU находится в режиме СТОП или если есть сбой в
модуле, это индицируется символами красного цвета.
Выполнив двойной щелчок на CPU или на неисправном модуле, можно получить
дополнительную диагностическую информацию (см. правый экран на рисунке 9). В этом
примере - сбой питания в аналоговом модуле.

Рисунок 9 - Отображение результатов диагностики оборудования утилитой HW Config

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


15
Наблюдение и модифицирование переменных
Превосходным ресурсом для диагностики оборудования (поиск аппаратных,
программно-аппаратных неисправностей) и отладки программ пользователя является
наблюдение и модифицирование переменных с помощью таблиц переменных VAT.
C помощью таблицы переменных могут быть отображены сигнальные состояния
или значения переменных простых типов данных. Если есть доступ к пользовательской
программе, также можно модифицировать переменные, то есть изменить сигнальное
состояние или присвоить новые значения.
Внимание: вы должны быть уверены в том, что в результате модифицирования
переменных не возникнет опасных состояний.

Основная последовательность действий при наблюдении и изменении


переменных с помощью таблицы переменных
Для использования функций Monitor [Наблюдение] и Modify [Изменение]
Необходимо выполнить следующие действия:
1. Создайте новую или откройте существующую таблицу переменных.
2. Отредактируйте или проверьте содержимое таблицы переменных.
3. Установите связь online между текущей таблицей переменных и нужным CPU с
помощью команды меню PLC > Connect То [ПЛК > Соединить с].
4. С помощью команды меню Variable > Trigger [Переменная > Запустить],
выберите подходящую точку запуска и установите частоту запуска.
5. Команды меню Variable > Monitor [Переменная > Наблюдать] и Variable >
Modify [Переменная > Изменить] включают и выключают функции наблюдения
и изменения переменных.
6. Сохраните завершенную таблицу переменных с помощью команды меню Table >
Save [Таблица > Сохранить] или Table > Save As [Таблица > Сохранить как...],
так что вы сможете вызвать ее снова в любое время.

Создание таблицы переменных


Для наблюдения и изменения переменных необходимо создать таблицу
переменных VAT, содержащую переменные и ассоциированные форматы данных. Можно
сгенерировать до 255 таблиц переменных (от VAT 1 до VAT 255) и присвоить им имена в
таблице символов. Максимальный размер таблицы переменных составляет 1024 строки
длиной до 255 знаков (рисунок 10).

Рисунок 10 - внешний вид таблицы переменных


Можно сгенерировать VAT автономно, выбрав Blocks {Блоки} пользовательской
программы и команду меню Insert —> S7 Block —> Variable Table (Вставка —> Блок S7
—> Таблица переменных), также можно сгенерировать VAT без имени в онлайновом

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


16
режиме путем выбора S7 Program (S7-программа) и команды меню PLC —> Moni-
tor/Modify Variables (PLC —> Наблюдение/модифицирование переменных).
Переменные можно определить либо по абсолютным, либо по символическим
адресам и выбрать тип данных (формат отображения), с использованием которого
переменная будет отображена и модифицирована (по команде меню View —> Display
Format - Вид —> Отобразить формат или щелкнув правой кнопкой мыши прямо на
«Display Format» или «Формате отображения»).

Условия триггера (пуска)


Находясь в таблице переменных, выберите Variable —> Trigger (Переменная —>
Триггер), чтобы установить триггерную точку и условия триггера отдельно для наблюде-
ния и модифицирования. Триггерная точка - это точка, в которой CPU считывает значения
из системной памяти или записывает значения в системную память. Вы должны
определить, как будут осуществлены чтение и запись - один раз или периодически.
Если наблюдение и модифицирование имеют одинаковые условия триггера, то на-
блюдение выполняется перед модифицированием. Если вы для изменения выбираете
триггерную точку «Start of circle» («Начало цикла»), переменные модифицируются после
обновления входного образа процесса и перед вызовом ОВ 1. Если для наблюдения вы
выбираете триггерную точку «End of circle» («Конец цикла»), значения статуса
отображаются после завершения ОВ 1 и перед выводом выходного образа процесса.

Наблюдение переменных
Активируйте функцию наблюдения командой меню Variable —> Monitor
(Переменная —> Наблюдение). Переменные в VAT обновляются в соответствии с
заданными условиями триггера. Постоянное наблюдение позволяет отслеживать
изменения значений на экране. Значения отображаются в формате данных, установленном
вами в столбце «Display format» («Формат отображения»). Клавиша ESC завершает посто-
янную функцию наблюдения.
Variable —> Update Monitor Values (Переменная —> Обновить наблюдаемые
значения) обновляет отслеживаемые значения один раз и немедленно, несмотря на
установленные условия триггера.

Контроль и изменение переменных


Процедура для изменения значений переменных состоит в следующем:
1. Щелкните в колонке "Modify Value" в строке для переменной, которую Вы
желаете изменить.
2. Введите значение в корректном для выбранного типа данных виде.
3. Чтобы активировать изменение переменной однократно, выберите меню
Variable -> Activate Modify Values или нажмите кнопку (или, вместо этого, выполните
шаг 4).
4. Чтобы активировать изменение переменной каждый цикл, выберите меню
Variable -> Modify или нажмите кнопку .
5. Используйте тестовую функцию "Monitor", чтобы проверить, введено или нет
новое значение для переменной.

Принудительная установка переменных (функция Force)


С помощью функции Force можно установить предопределенные переменные
пользовательской программы. В ПЛК S7-400 можно принудительно изменять входы,
Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens
17
выходы, меркеры и периферию, а ПЛК S7-300 – только входы и выходы.
Пользовательская программа не сможет изменить эти значения («принудительная
установка»). Принудительная установка допустима в любом режиме работы CPU и
исполняется немедленно.
Внимание: вы должны быть уверены в том, что в результате принудительной ус-
тановки переменных не возникнет опасных состояний.
Стартовой точкой для принудительной установки является таблица переменных
(VAT). Создайте VAT, введите адреса для принудительной установки значений и ус-
тановите соединение с CPU. Выбрав Variable —> Display Force Values (Переменные —>
Отобразить принудительные значения), можно открыть окно, содержащее прину-
дительные значения.
Если в CPU принудительные значения уже активизированы, то они выделены в
окне принудительных установок значений жирным шрифтом. Теперь вы можете перемес-
тить некоторые или все адреса из таблицы переменных в окно принудительных установок
или добавить новые адреса. Сохранение содержимого окна принудительных установок в
VAT осуществляется по команде меню Table —> Save As (Таблица —> Сохранить как).
Принудительные значения допустимы для следующих областей адресов:
• Входы I (образ процесса) (S7-300 и S7-400)
• Выходы Q (образ процесса) (S7-300 и S7-400)
• Периферийные входы PI (только S7-400)
• Периферийные выходы PQ (S7-300 и S7-400)
• Память меркеров М(только S7-400)
Задание принудительной установки начинается с Variable —> Force (Переменная
—» Присвоить принудительное значение). CPU принимает принудительные значения и
изменений принудительно установленных адресов больше не допускает.
Пока активна функция принудительной установки, выполняется следующее:
 Все обращения для чтения к принудительно заданным адресам через пользова-
тельскую программу (например, загрузка) и через системную программу (на-
пример, обновление образа процесса) всегда выдают принудительно установленное
значение.
 В S7-400 все обращения для записи к принудительно заданным адресам через
пользовательскую программу (например, передача) и через системную программу
(например, через SFC - последовательные функциональные схемы) остаются
безрезультатными. В S7-300 пользовательская программа может переписать ус-
тановленные принудительно значения.
Принудительная установка в S7-300 аналогична циклическому модифицированию:
 после обновления образа входов процесса CPU переписывает входы принудитель-
ными значениями; перед выводом образа выходов процесса CPU переписывает вы-
ходы принудительными значениями.
Примечание: принудительная установка не завершается закрытием окна
принудительных значений или таблицы переменных или прерыванием соединения с CPU!
Удалить задание принудительной установки можно только с помощью Variable —>
Delete Force (Переменная —> Снять принудительную установку).

Изменение выходов в состоянии «Stop»


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

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


18
Модифицирование осуществляется посредством таблицы переменных с помощью
функции "Enable Peripheral Outputs".
Функция "Enable Peripheral Outputs" может быть использована, только когда CPU
находится в состоянии STOP.
Возможное применение функции "Enable Peripheral Outputs": тест монтажных
соединений выхода в режиме STOP и без программы пользователя или даже если CPU
перешёл в состояние STOP из-за появления ошибки.

Внимание: вы должны быть уверены в том, что в результате модифицирования


переменных не возникнет опасных состояний.
Необходимо выполните следующее, чтобы разрешить работу выходов периферии:
(см. рисунок)
1. Откройте или отредактируйте таблицу переменных (VAT), которая
содержит периферию, которую хотели бы проверить или изменить. (задайте
периферийные выходы побайтно, пословно или в формате двойного слова; нельзя
изменить отдельные биты выходов!)
2. Выберите пункт меню PLC -> Connect to для установки соединения с
требуемым CPU.
3. Переключите CPU в режим STOP.
4. Введите необходимые значения периферии в столбце "Modify Value".
5. Для того, чтобы назначить новые значения, введите их и затем
выберите Variable -> Activate Modify Values
Примечание: Периферия остаётся активной до тех пор, пока Вы не отключите этот
режим или не нажмете клавишу ESC.

Рисунок 11 - Изменение выходов в состоянии «Stop»

Статус программы LAD/FBD


С помощью функции Program status (Состояние программы) программный
редактор предоставляет дополнительный метод тестирования программы пользователя.
Редактор покажет поток двоичного сигнала и цифровых значений в сети (network).

Основная последовательность действий для наблюдения статуса программы


Настоятельно рекомендуется не вызывать для отладки всю программу, а вызывать
по одному блоки и отлаживать их индивидуально. Начинать следует с блоков на
последнем уровне вложения иерархии вызовов, например, путем вызова их из ОВ1 и
создания среды тестирования для блока с помощью функции наблюдения и изменения
переменных.
 Откройте блок online;
 Определите способ отображения статуса программы;
 Определите среду вызова (не обязательно);
Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens
19
 Выберите режим выполнения тестирования;
 Включите/выключите тестирование;
Для тестирования в статусе программы, для установки контрольных точек и для
исполнения программы в пошаговом режиме должен быть установлен режим
тестирования. Эти функции тестирования невозможны в режиме обработки (process
operation).
Для тестирования программного блока Вы используете функцию Debug ->Monitor или
кнопку инструментального меню.

Запуск данной функции означает перевести блок в режим статуса.


Теперь в окне блока (см. рисунок12) можно увидеть поток двоичного сигнала и
следить за его изменением. Параметры отображения в программном редакторе (к
примеру, цвет) настраиваются на вкладке «LAD/FBD» после вызова Options —> Customize
(Опции —> Настроить). Деактивировать функцию состояния программы можно, вновь
нажав Debug —> Monitor (Отладка —> Наблюдение).

Рисунок 12 - Внешний вид блока в режиме статуса в разных режимах представления программы
Вы можете установить условия триггера, выбрав команду Debug —> Call Environment
(Отладка —> Параметры вызова). Данная установка потребуется, если отлаживаемый
блок вызывается в программе более одного раза. Можно инициировать запись состояния
либо путем определения порядка вызовов, либо поставив ее в зависимость от открытого
блока данных (рисунок 13).
Опции функции "Modify Trigger Point" определяют момент времени, в который
установленные значения будут записаны в соответствующие переменные.
Установки "Monitor Trigger Frequency" определяют, должны ли переменные
читаться однократно (только по запросу, когда точка достигнута) или в каждом цикле.
Установки "Modify Trigger Frequency" определяют, должны ли новые значения
передаваться в соответствующие переменные однократно или в каждом цикле.
Если блок вызывается только один раз, отметьте «No condition» («Без условий»).

Рисунок 13 - Окно установок триггера условий

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


20
Для записи информации по статусу программы требуется дополнительное рабочее
время в программном цикле. По этой причине для целей отладки вы можете выбрать два
рабочих режима: режим отладки и режим процесса.

Рисунок 14 - Выбор режимов отладки


В режиме отладки (debug mode) все функции отладки могут использоваться без
ограничения. Данный режим можно избрать, например, для отладки блоков без
подключения к системе, так как это может значительно увеличить время исполнения
цикла.
В режиме обработки (process mode) внимание уделяется сведению к минимуму
увеличения времени цикла, что приведет к возникновению ограничений отладки,
например, в программных циклах (отображаются не все циклические проходы).
В CPU, оснащенных соответствующим образом, установить рабочий режим вы мо-
жете во время параметризации CPU на вкладке «Protection» («Защита»). Если режим
отладки выбран во время параметризации CPU, то изменить его вы сможете только путем
повторной параметризации. В противном случае он может быть изменен в отображаемом
диалоговом окне. Установленный режим работы отображается по команде меню Debug —
> Operation (Отладка —> Операция) см. рисунок 14 .

Управление переменными в режиме статуса программы


Встроенные функции программы «SIMATIC Manager» позволяют оперативно
изменить состояние переменных (ячейки из области М, а также блоки данных) в режиме
статуса. Для этого, выделите операнд, и выполните функцию "Modify" из контекстного
меню.

Рисунок 15 - Управление переменными в режиме статуса программы

Функция "Go To Location"


Если выделить ячейку памяти и вызвать функцию "Go То Location", то откроется
соответствующее окно, в котором можно увидеть все случаи использования данной
Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens
21
переменной. Выделив нужную строку и нажав кнопку "Go To", Вы перейдете в новую
точку для режима статуса или отображения.

Рисунок 16 - Вызов функции "Go To Location"

Точки останова
С помощью этой функции пользователь можете отлаживать программу, созданную
на языке STL в пошаговом режиме. Это особенно полезно во время написания программы,
например для отладки циклов.
Можно устанавливать несколько точек останова в зависимости от CPU. Выбрать
функции точек останова можно в редакторе выбрав пункт меню «Test» или посредством
Breakpoint Bar (Панель инструментов для точек останова).
Перед отладкой убедитесь в выполнении следующих требований:
 Должны быть включен режим "Test Operation (см. рисунок 15);
 Отлаживаемый блок должен быть открыт в режиме «online».
Во время активации точки останова CPU останавливается на данном выражении.
Выходы деактивируются по соображениям безопасности.
Примечание: Данная функция реализована только в некоторых версиях CPU
(например, CPU 314-1AE03).

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


22
Рисунок 17 - Порядок использования точек останова

Поиск логических ошибок


Для поиска логических ошибок, следует использовать инструменты "Program
Status" и "Reference Data" (ссылки).
Распространенная причина ошибок - повторное присваивание адресов. Это
означает, что адрес используется в различных местах программы. Такие ошибки легко
найти с помощью "Reference Data" (в SIMATIC Manager или LAD/STL/FBD редакторе
через меню Options -> Reference Data -> Display).

Рисунок 18 - Вызов окна «ссылки»

Перекрестные ссылки
Вы открываете список перекрестных ссылок, выбирая команду меню View -> Cross
References или кликнув мышью на соответствующую кнопку.
Список перекрестных ссылок является списком адресов, использованных в
конкретной пользовательской программе.
Кликнув на выбранное место использования операнда, запускается редактор с
указанным блоком и сегментом.
Вы можете выбрать адрес в списке перекрестных ссылок, а далее выбрать меню
View -> Cross References for Address . При этом откроется новое окно, содержащее
перекрестные ссылки только для выбранного адреса.

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


23
Рисунок 19 - Окно перекрестных ссылок

Таблица используемых ячеек (план использования)


Этот список дает обзорный план, из которого видно, какие биты и в каких байтах
областей памяти I, Q, М, Т, С использованы в вашей программе. Вызывается используя
команду меню View -> Assignment или кликнув мышью на соответствующую кнопку.

Рисунок 20 - Таблица используемых ячеек

Структура программы
Структура программы показывает иерархию вызовов блоков в программе. В
колонке Local показывается глубина использования локального стека для блоков ОВ и для
вызываемых блоков.

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


24
Используемые символы:
Нормальный вызов блока (CALL FC1)
Безусловный вызов блока (UC FC1)
Условный вызов блока (СС FC1)
Блок данных
Рекурсия (вызов блока из самого себя)
Блок не вызывается

Рисунок 21 - Структура программы

Сравнение блоков
Одной из причин возникновения ошибок (обычно в случае нескольких
пользователей) может быть различие между программами в проекте и в 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.

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


25
Рисунок 22 - Выполнение сравнения блоков

Блоки ошибок
При возникновении большинства ошибок операционная система CPU вызывает
различные организационные блоки (ОВ) в зависимости от типа ошибок. При отсутствии
данных блоков CPU переходит в STOP (кроме ОВ81, ОВ84). Ниже приведена таблица ОВ
ошибок.

Тип ошибки Пример Error


Ошибка Вызываемого блока нет в CPU OB
программы ОВ 121
Ошибка Прямой доступ к модулю, который неисправен или
ОВ122
доступа неправильно указан
Ошибка Превышено максимального время цикла ОВ80
времени
Дефект блока Неисправность резервной батареи ОВ81
питания
Диагностическ Обрыв проводов на входах модуля,
ОВ82
ое прерывание поддерживающего диагностику
Неисправность Ошибка в памяти операционной системы ОВ84
CPUОшибка Ошибка обновления области отображения
выполнения (неисправность модуля) ОВ85
программы
Неисправность Неисправность удаленной стойки или DP Slave ОВ86
стойки
Коммуникацио Ошибка в передаче "Global Data"
ОВ87
нная ошибка
Блоки ошибок подготавливаются пользователем. В простейшим случаи блок ОВ может
быть "пустым", т.е. не содержать команд пользователя.

Программные средства обработки ошибок


Когда обнаруживаются ошибки в обработке программы (синхронные ошибки) и
ошибки в программируемом контроллере (асинхронные ошибки), CPU вызывает
соответствующий организационный блок (ОВ) для обработки ошибки:
Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens
26
Ошибка ОВ для ошибки
Ошибка резервирования ввода/вывода ОВ70
Ошибка резервирования CPU ОВ72
Ошибка времени ОВ80
Сбой источника питания ОВ81
Диагностическое прерывание ОВ82
Прерывание при вставке/снятии модуля ОВ83
Отказ аппаратных средств CPU ОВ84
Ошибка класса приоритета ОВ85
Отказ стойки или отказ станции в децентрализованной периферии ОВ86
Ошибка связи ОВ87
Ошибка программирования ОВ121
Ошибка доступа для ввода/вывода ОВ122
Если соответствующий OB отсутствует, то CPU переходит в режим STOP. В
противном случае в ОВ может содержать команды относительно того, как он должен
реагировать на такую сбойную ситуацию. Это означает, что воздействие ошибки можно
уменьшить или устранить.

Пример использования организационного блока ошибки ОВ81


Используя локальные данные (стартовую информацию) в ОВ ошибки, Вы можете
оценить тип произошедшей ошибки.
Например, если CPU обнаруживает неисправность батареи, то операционная
система вызывает ОВ81 (см. рисунок).

Рисунок 23 - Порядок использования ОВ81

Локальные данные организационного блока ошибки ОВ81


Таблица 4 показывает временные переменные, которые должны быть описаны в
этом случае в таблице описания переменных ОВ81.
Символ Battery error [сбой батареи] (BOOL) должен быть идентифицирован как
выход (например, Q 4.0) так, чтобы другие части программы могли обращаться к этим
данным.

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


27
Таблица 4 - Временные переменные блока OB81
Описание Имя Тип Объяснение
TEMP OB81EVCLASS BYTE Класс ошибки/Идентификатор ошибки 39хх

TEMP OB81FLTID BYTE Код ошибки:


B#16#21 = по крайней мере, одна батарея резервного
питания CPU истощена 1)
B#16#22 =нет резервного напряжения в CPU
b#16#23 =отказ источника питания 24 В в CPU 1)
B#16#31 =по крайней мере, одна батарея резервного
питания стойки расширения истощена 1J
b#16#32 =нет резервного напряжения в стойке
расширения1)
B#16#33 =отказ источника питания 24 В стойки
расширения 1)
TEMP OB81 PRIORITY BYTE Класс приоритета = 26/28
TEMP OB810BNUMBR BYTE 81 = ОВ81
TEMP OB81RESERVED1 BYTE Зарезервировано
TEMP OB81RESERVED2 BYTE Зарезервировано
TEMP OB81MDLADDR INT Зарезервировано
TEMP OB81RESERVED3 BYTE Имеет смысл толbко для кодов ошибки В#16#31, В#16#32,
В#16#33
TEMP OB81RESERVED4 BYTE
TEMP OB81RESERVED5 BYTE
TEMP OB81RESERVED6 BYTE
TEMP OB81DATETIME DATE ANDTI Дата и время запуска ОВ
ME

1)
= = нет в случае S7-300

Типовая программа для организационного блока ошибки ОВ81


Типовая программа на языке STL показывает, как Вы можете считывать код
ошибки в ОВ81.
Программа структурирована следующим образом:
• В ОВ81 (ОВ81FLTID) считывается код ошибки и сравнивается со значением для
события "battery exhausted [истощение батареи]" (В#16#3921).
• Если код ошибки соответствует коду события "battery exhausted [истощение батареи]",
то программа переходит к метке Вегг и активизирует выход batteryerror.
• Если код ошибки не соответствует коду события "battery exhausted [истощение
батареи]", то программа сравнивает этот код с кодом события "battery failure [отказ
батареи]".
• Если код ошибки соответствует коду события "battery failure [отказ батареи]", то
программа переходит к метке Вегг и активизирует выход batteryerror. В противном
случае блок завершается.

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


28
Рисунок 24 - Пример листинга программы

Вывод сообщений (функция CPU Messages)


Запуск этой функции позволяет немедленно отобразить сообщение об ошибке на
экране программаторе (PG) или устройстве HMI. Окно сообщения выводится поверх
других окон на PG или ОР, как только CPU перейдет из-за ошибки в STOP . Используя в
программе системные функции (SFC17, SFC18), Вы можете также выводить
пользовательские сообщения, содержащие собственные тексты и, при необходимости,
значения переменных.

Рисунок 25 - Вызов функции CPU Messages


Бокс "W" активируется для приема системных и пользовательских диагностические
сообщения.
Бокс"А", активируется для приема сообщения, передаваемых через системные
функции (ALARM-функции).
Вы можете модифицировать размер архива (40 - 3000 сообщений) или очистить
архив через функцию меню "Option -> Customize". Архив сообщений можно сохранить,
например, в текстовом файле с помощью функции "Flle->Export Archive".

Перекомпоновка программы
Необходимость перекомпоновки программы возникает, если в результате
диагностики системы установили, что во входном блоке неисправен канал (например, 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".

Рисунок 26 - Перекомпоновка с помощью SIMATIC Manager


После перекомпоновки, Вы можете распечатать протокол, который показывает -
сколько изменений в каком блоке было произведено.
Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens
30
Перекомпоновка с использованием "Приоритета символов"
перекомпоновку S7 программы можно выполнить, используя "Приоритет
символов" в LAD/STL/FBD редакторе или функцией "Check Block Consistency".
Для применения данного метода предварительно должно быть выполнено:
• созданна таблица символов
• в свойствах объекта папки Block, выбрано "Symbol has priority.... For all accesses (I, Q,
M, T, C, and DB)" (рисунок 23)
Порядок действий (рисунок 24):
1. Выделите папку Blocks в S7 программе в offline виде SIMATIC® Manager
2. Откройте Object Properties папки Blocks
3. Меню Edit или щелчек правой кнопкой мыши на папке Blocks •> и выбор опции
Object Properties
4. Выберите кнопку "Address Priority" в предложенном диалоге
5. Выберите следующие свойства: "Symbol has priority.....For all accesses (I, Q, M, T, C,
and DB)".

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


31
Диагностика
Диагностика состояния всех модулей системы осуществляется с использованием
диагностических символов
Диагностические символы отображаются в окне проекта в представлении online, а
также в быстром обзоре (установка по умолчанию) или в диагностическом обзоре, когда
вы вызываете функцию "Diagnose Hardware [Диагностика аппаратуры]"(см. раздел
«Отображение диагностики оборудования»). Подробная диагностическая информация
отображается в приложении "Module Information [Информация о модуле]", которое вы
можете запустить двойным щелчком по диагностическому символу в быстром обзоре или
в диагностическом обзоре.

Рисунок 27 - Отображение информации о состоянии CPU и модулей

Определение неисправного модуля


Последовательность действий при установки местоположения неисправностей
1. Откройте окно проекта online при помощи команды меню View > Online [Вид >
Online].
2. Откройте все станции так, чтобы были видимы сконфигурированные в них
программируемые модули.
3. Выясните, какой CPU отображает диагностический символ, указывающий на
ошибку или неисправность. С помощью клавиши F1 вы можете открыть справочную
страницу с объяснением диагностических символов.
4. Выберите станцию, которую вы хотите проверить.
5. Выберите команду меню PLC > Module Information [ПЛК > Информация о
модуле], чтобы отобразить информацию для CPU в этой станции.
6. Выберите команду меню PLC > Diagnose Hardware [ПЛК > Диагностика
аппаратуры], чтобы отобразить вывести на экран "быстрый обзор" с CPU и
неисправными модулями этой станции. Отображение быстрого обзора установлено
по умолчанию (команда меню Options > Customize [Параметры > Настройка],
вкладка "View" [Вид]).
7. Выберите в быстром обзоре неисправный модуль.
8. Щелкните на кнопке "Module Information [Информация о модуле]", чтобы получить
информацию об этом модуле.

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


32
9. Щелкните по кнопке "Open Station Online [Открыть станцию online]" в быстром
обзоре, чтобы отобразить диагностический обзор. Диагностический обзор содержит
все модули станции в порядке расположения их слотов.
10. Дважды щелкните по модулю в диагностическом обзоре, чтобы отобразить
информацию о нем. Этим способом вы можете получить информацию также для тех
модулей, которые не вышли из строя и поэтому не отображаются в быстром обзоре.
При достаточном опыте не обязательно выполнять все эти шаги; можно
остановиться, как только получите требуемую диагностическую информацию.

Диагностика в состоянии STOP


Основная последовательность действий для определения причины перехода в
STOP
Чтобы определить причину перехода CPU в режим "STOP", следует действовать
следующим образом:
1. Откройте окно проекта online при помощи команды меню View > Online [Вид >
Online].
2. Откройте все станции так, чтобы были видимы сконфигурированные в них
программируемые модули.
3. Выделите CPU, перешедший в STOP.
4. Выберите команду меню PLC > Module Information [ПЛК > Информация о модуле].
5. Выберите вкладку "Diagnostic Buffer [Диагностический буфер]".
6. Вы можете определить причину перехода в STOP по последним записям в
диагностическом буфере.

Если встречается ошибка программирования: Например, входное сообщение


"STOP because programming error OB not loaded [STOP, так как ОВ обработки ошибок
программирования не загружен]" означает, что CPU обнаружил ошибку в программе и
затем попытался запустить (несуществующий) ОВ, чтобы обработать ошибку
программирования. Предыдущие записи указывают на фактическую ошибку
программирования.
1. Выберите сообщение, относящееся к ошибке программирования
2. Щелкните по кнопке "Open Block [Открыть блок]".
3. Выберите вкладку "Stacks [Стеки]".

Оценивая содержимое диагностического буфера и стеков можно определить


причину сбоя в обработке программы.
Например, если CPU перешел в STOP вследствие ошибки программирования или
команды STOP, то вкладка "Stacks [Стеки]" в информации о модулях отображает стек
блоков. Вы можете отображать содержимое других стеков, используя кнопки "I Stack
[Стек прерываний]", "L Stack [Локальный стек]" и "Nesting Stack [Стек вложений]".
Содержимое стека дает вам информацию о том, какая команда и в каком блоке привела к
переходу CPU в STOP (порядок обращения к стекам представлен в соответствующим
разделе).

Проверка времен цикла сканирования во избежание временных ошибок


С целью исключения остановки технологического процесса из-за «зависания» CPU
операционная система постоянно выполняет контроль времени выполнения цикла
программы (см. рисунок 26) и в случаи его превышения перевод CPU в режим STOP.
Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens
33
Вкладка "Scan Cycle Time [Время цикла сканирования]" в информации о модулях
дает сведения о временах цикла сканирования программы пользователя.

Рисунок 28 - Работа системы в пределах одного цикла


Если продолжительность самого длинного цикла близка к сконфигурированному
максимальному времени цикла, то имеется опасность того, что флуктуации времени цикла
могут вызвать временную ошибку. Этого можно избежать, если вы увеличите
максимальное время цикла (контрольное время) для программы пользователя.
Если длительность цикла меньше, чем сконфигурированное минимальное время
цикла сканирования, то CPU/FM автоматически продлевает цикл до сконфигурированного
минимального времени цикла сканирования. В данном случаи CPU в течение этого
продленного времени обрабатывает фоновый ОВ (ОВ90) (если он был загружен).
Установка максимального и минимального времени цикла производится при
конфигурации аппаратные средства. Для этого в представлении конфигурационной
таблицы в режиме offline дважды щелкните на CPU/FM, чтобы определить его
характеристики. Вы можете вводить соответствующие значения во вкладке "Cycle/Clock
Memory [Цикл/Тактовые меркеры]".

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


34
Техническое обслуживание
S7 - это система автоматизации, не требующая обслуживающего персонала.
Поэтому под обслуживанием понимаем выполнение следующих операций:
• сохранение операционной системы на плате памяти (МС) или на плате
микропамяти (ММС). Использование в качестве средства хранения
информации МС или ММС зависит от типа используемого CPU.
• обновление операционной системы с МС или ММС
• замену модулей
• замену буферной батареи или аккумулятора (только для CPU с МС)
• замену предохранителей цифровых модулей вывода

Сохранение операционной системы


Необходимость сохранить операционную систему CPU может возникнуть в
следующих случаях:
 При замене CPU установленного на установке другим CPU из запаса, и при этом
необходимо гарантировать, что этот CPU снабжен такой же операционной
системой, что и заменяемый CPU;
 При создании резервной копии операционной системы;
При обновлении операционной системы.
Сохранение операционной системы производится следующим образом:
Таблица 5 - Сохранение операционной системы на МС или ММС
Шаг Требуемое действие Реакция CPU
Вставить в CPU новую плату памяти или CPU требует общего стирания.
1.
плату микропамяти.
Удерживать переключатель режимов -
2.
работы в положении MRES.
Выключить/включить питание и ... не начнут мигать светодиоды
3. удерживать переключатель режимов STOP, RUN и FRCE.
работы в положении MRES, пока ...
Перевести переключатель режимов работы -
4.
в положение STOP.
Кратковременно перевести переключатель • CPU начинает сохранять
режимов работы в положение MRES, а операционную систему на МС/ММС.
затем отпустить его, чтобы дать ему • Во время сохранения горят все
возможность вернуться в STOP. светодиоды.
5. • По окончании процесса
сохранения мигает светодиод STOP.
Тем самым CPU требует общего
стирания памяти.
6. Вытащить плату памяти или микропамяти. -

Обновление операционной системы


После расширения (совместимого) функциональных возможностей или увеличения
производительности операционной системы следует переходить к самой новой версии
операционной системы, обновить ее (update).

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


35
Самую новую версию операционной системы вы можете получить у представителя
фирмы Siemens или из Интернета (базовая страница фирмы Siemens; Automation and
Drives [Автоматизация и приводы], Customer Support [Поддержка клиентов]).
Если перед обновлением вы сохраните свою операционную систему на пустой
плате МС/ММС (см. предыдущий раздел), то при возможном возникновении проблем вы
сможете снова загрузить "старую" операционную систему.
Обновление операционной системы (ОС) производится следующим образом:
Таблица 6 - Обновление операционной системы с помощью МС/ММС
Шаг Требуемое действие Реакция CPU
Перенести файл изменений с помощью -
STEP 7 и своего устройства
1. программирования на пустую плату
МС/ММС.
У CPU с батареей или аккумулятором -
2.
вынуть его/их из CPU.
Включить CPU, не подавая питания, и -
3.
вставить МС/ММС с новой версией ОС.
Включить напряжение. • CPU автоматически распознает
МС/ММС с новой версией ОС и запустит
обновление.
• Во время обновления ОС горят все
4.
светодиоды.
• По окончании процесса обновления
ОС мигает светодиод STOP. Тем самым
CPU требует общего стирания памяти.
_
Выключить питание CPU и вытащить
5. МС/ММС с новой версией ОС.
У CPU с батареей или аккумулятором -
6. вставить их в CPU.

Замена модулей
Для демонтажа модуля следует действовать следующим образом см. рисунок 29:
Таблица 7 - Порядок демонтажа модуля
Шаг 20-контактный фронтштекер 40-контактный фронтштекер
1. Переведите CPU в STOP
2. Отключите напряжение нагрузки для модуля
3. Вытащите из модуля маркировочную ленту
4. Откройте переднюю дверцу
Разблокируйте фронтштекер и вытащите его
Для этого одной рукой нажмите вниз Отвинтите крепежный винт в середине
5. деблокирующую кнопку (5), а другой рукой фронтштекера. Вытащите фронтштекер за
вытащите фронтштекер за поверхности для поверхности для захвата.
захвата (5а).

6. Отвинтите крепежный(е) винт(ы) модуля.


7. Поверните модуль наружу.

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


36
Рисунок 29 - Порядок демонтажа модуля

Удаление кодирующего устройства фронтштекера из модуля


Перед монтажом нового модуля следует удалить верхнюю часть кодирующего
устройства фронтштекера на этом модуле (см. рисунок 30), так как эта часть уже
находится в подсоединенном к проводам фронтштекере

Рисунок 30 - Удаление кодирующего устройства фронтштекера


Монтаж нового модуля
Для монтажа нового модуля действуйте следующим образом:
1. Навесьте новый модуль того же самого типа и поверните его вниз.
2. Привинтите модуль до упора.
3. Вдвиньте маркировочную полоску демонтированного модуля во вновь
смонтированный модуль.
Ввод в действие нового модуля
Для ввода в действие нового модуля действуйте следующим образом:
1. Откройте переднюю дверцу.
2. Снова установите фронтштекер.
3. Закройте переднюю дверцу.
4. Включите снова напряжение нагрузки.
5. Снова переведите CPU в состояние RUN.

Рисунок 31 - Монтаж нового модуля


Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens
37
Замена буферной батареи или аккумулятора (только для CPU с МС)
Буферную батарею или аккумулятор следует менять только при включенном
питании CPU, чтобы не потерялись данные из внутренней памяти пользователя или не
остановились часы CPU.
Для замены буферной батареи или аккумулятора следует действовать следующим
образом (см. рисунок32):
Таблица 8 - Порядок замены буферной батареи
CPU 314 IFM/315/315-2 DP/ 316-2 DP/318-2
Шаг CPU 313/314
DP
1. Откройте переднюю дверцу CPU.
С помощью отвертки выньте буферную Вытащите буферную батарею или
2. батарею или аккумулятор из ниши для батареи. аккумулятор за кабель из ниши для батареи

Вставьте штекер новой буферной батареи или аккумулятора в соответствующее гнездо в


3. нише для батареи на CPU. Вырез на штекере батареи должен показывать налево!

4. Вложите новую буферную батарею или аккумулятор в нишу для батареи на CPU
5. Закройте переднюю дверцу CPU.

Рисунок 32 - Замена буферной батареи на CPU 313/314

Замена предохранителей цифровых выходов


Цифровые выходы следующих цифровых модулей вывода защищаются группами
каналов от короткого замыкания предохранителями:
• Цифровой модуль вывода SM 322; DO 16 х А 120 V
• Цифровой модуль вывода SM 322; DO 8 х АС 120/230 V
Прежде чем выполнять замену предохранителей следует устранить причины,
которые привели к выходу из строя предохранителей.
Расположение предохранителей
Цифровые модули вывода имеют по одному предохранителю на группу каналов.
Предохранители находятся на левой стороне цифрового модуля вывода. Следующий
рисунок показывает, где находятся предохранители на цифровых модулях вывода.

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


38
Рисунок 33 - . Расположение предохранителей у цифрового модуля вывода переменного тока 120/230 В
Предохранители находятся на левой стороне модуля. При замене предохранителя
действуйте следующим образом:
1. Переведите CPU в STOP.
2. Выключите напряжение нагрузки цифрового модуля вывода.
3. Вытащите фронтштекер из цифрового модуля вывода.
4. Отвинтите крепежный винт цифрового модуля вывода.
5. Отклоните модуль цифрового вывода наружу.
6. Вывинтите держатель плавкой вставки из цифрового модуля вывода.
7. Замените предохранитель.
8. Снова завинтите держатель плавкой вставки в цифровой модуль вывода.
9. Снова смонтируйте цифровой модуль вывода.

Литература
1. Бергер Г. Автоматизация посредством STEP 7 с использованием STL и SCL и
программируемых контроллеров SIMATIC S7-300/400. Siemens AG, Нюрнберг, 2001.

2. Программирование с помощью STEP 7 V5.3. Руководство 6ES7810-4CA07-8BW1.


Siemens AG, Нюрнберг, 2004.

3. Программируемый контроллер S7-300. Аппаратура и монтаж. Руководство 6ES7398-


8FA10-8BA0, Нюрнберг, 2005

4. Программирование в помощью STEP 7 версии 5.0 C79000-G7076-C562-02, Нюрнберг,


2002

5. Романов В. П. Основы языка программирования STEP7 и базового программного


обеспечения промышленных контроллеров SIEMENS. Учебно-методическое пособие,
Новокузнецк 2009.

Романов В. П. Диагностика и техническое обслуживание АСУ ТП на основе ПЛК S7 фирмы Siemens


39