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

TM223

Диагностика в Automation Studio

TM223TRE.40-RUS
2013/09/20
Необходимые условия и требования
Обучающие курсы TM210 — Работа с Automation Studio
(тренинг-модули): TM213 — Automation Runtime
Программное обеспе- Automation Studio 4.0
чение
Аппаратное обеспе- X20CP1486
чение

2 TM223 - Диагностика в Automation Studio


Оглавление

ОГЛАВЛЕНИЕ

1 ВВЕДЕНИЕ.......................................................................................................................................... 4
1.1 Цель обучающего курса....................................................................................................... 5
2 ВЫБОР ПРАВИЛЬНОГО ДИАГНОСТИЧЕСКОГО ИНСТРУМЕНТА................................................6
2.1 Контрольный список..............................................................................................................7
2.2 Обзор диагностических инструментов................................................................................ 9
3 СБОР СИСТЕМНОЙ ИНФОРМАЦИИ............................................................................................. 10
3.1 Текущее состояние ЦПУ.....................................................................................................11
3.2 Онлайн-сравнение...............................................................................................................12
3.3 Анализ событий в журнале Logger....................................................................................14
4 КОНТРОЛЬ И АНАЛИЗ ПАРАМЕТРОВ ПРОЦЕССА.....................................................................18
4.1 Контроль и изменение переменных.................................................................................. 19
4.2 Запись переменных в режиме реального времени..........................................................22
4.3 Монитор ввода/вывода (I/O monitor)..................................................................................27
5 АНАЛИЗ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ В ПРОЦЕССЕ ПРОГРАММИРОВАНИЯ.............. 28
5.1 Настройка инструмента Profiler и оценка полученных с него данных............................ 29
5.2 Поиск ошибок в исходном коде......................................................................................... 34
5.3 Использование переменных в программах...................................................................... 40
6 ПОДГОТОВКА К ТЕХНИЧЕСКОМУ ОБСЛУЖИВАНИЮ................................................................ 43
6.1 Использование менеджера диагностики системы (SDM)................................................ 43
6.2 Запрос и отображение состояния батареи.......................................................................46
6.3 Диагностический инструмент Runtime Utility Center......................................................... 47
7 ИТОГ.................................................................................................................................................. 51

TM223 - Диагностика в Automation Studio 3


Введение

1 ВВЕДЕНИЕ

В Automation Studio и Automation Runtime включены средства диагностики и отладки, подходящие


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

Диагностика

Диагностические функции были специально включены в состав ОС Automation Runtime для того
чтобы можно было осуществлять диагностику не только с применением Automation Studio, но и
без неё.
Менеджер диагностики системы (System Diagnostics Manager) является неотъемлемым компо-
нентом ОС Automation Runtime, начиная с версии V3.0.

4 TM223 - Диагностика в Automation Studio


Введение

1.1 Цель обучающего курса

В ходе данного курса, на основе специально подобранных примеров, вы узнаете, как использо-
вать инструменты диагностики для решения таких задач как: программирование, ввод в эксплуа-
тацию и обслуживание.
Вы узнаете, как...
• Выбрать правильный диагностический инструмент
• Собрать информацию о системе для анализа сбоев
• Регистрировать значения переменных процесса
• Устранять ошибки исходного кода
• Правильно сконфигурировать целевую систему,чтобы произвести сбор диагностических
данных для последующей обработки

TM223 - Диагностика в Automation Studio 5


Выбор правильного диагностического инструмента

2 ВЫБОР ПРАВИЛЬНОГО ДИАГНОСТИЧЕСКОГО ИНСТРУМЕНТА

Выбор правильного диагностического инструмента позволяет быстро и эффективно установить


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

Превышение времени цикла может быть диагностировано, используя журнал Logger. Од-
нако, с помощью журнала Logger не всегда можно корректно выявить причину, по кото-
рой возникло превышение.

Информация о превышении времени цикла в журнале Logger

Причина возникновения ошибки отображается в журнале как нарушение цикла в классе


задач № 1. Данные Backtrace также указывают на задачу, в которой произошло наруше-
ние цикла.

Ситуация № 1
Любая пользовательская задача может быть вытеснена задачей с более высоким приоритетом.
Именно поэтому причину нарушения цикла следует искать не только в задаче, которой не хватило
процессорного времени (отражена в журнале Logger ), но и во всех более приоритетных (распо-
ложенных в более приоритетном классе задач). Это будет означать, что у задачи, отраженной в
журнале Logger, не осталось времени на исполнение в рамках заданного времени цикла + допу-
стимого отклонения, т.е. система была занята выполнением более приоритетной задачи.

Ситуация № 2
В рамках одного и того же класса задач все задачи выполняются последовательно. Таким обра-
зом, причиной нарушения цикла может оказаться любая задача, вызывающаяся перед той, ко-
торая отображается в журнале Logger. Если для завершения выполнения одной из предыдущих
задач требуется больше времени, то задача, отображаемая в регистраторе (Logger), также не
является причиной нарушения цикла.
В обоих случаях журнал Logger будет являться неподходящим диагностическим инструментом
для выявления причины ошибки. Причина сбоя может быть выявлена только с помощью Profiler
(5.1 "Настройка инструмента Profiler и оценка полученных с него данных"), который отражает хро-
нологическую последовательность отдельных задач, а также время необходимое для их завер-
шения.

6 TM223 - Диагностика в Automation Studio


Выбор правильного диагностического инструмента

2.1 Контрольный список

Контрольный список не только помогает при анализе неисправ-


ностей и сбоев, возникающих при обслуживании системы, но
также может быть полезен непосредственно перед тем как при-
ступить к написанию исходного кода.
Информация, собранная в данном разделе, позволяет техни- Контрольный список
ческим специалистам, занимающимся устранением ошибок, бо-
лее быстро выявить проблему, предоставляя в их распоряже-
ние фактические данные и, тем самым, избавляя их от необхо-
димости проведения дальнейших исследований.

Существует несколько подходов, применимых к анализу технических сбоев и отказов. Использо-


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

Методы локализации ошибок


Чрезвычайно важно определиться с методом поиска ошибок, поскольку это позволит избиратель-
но применять имеющиеся в распоряжении инструменты. При этом будет необходимо выполнить
анализ имеющегося оборудования, начиная от общего окружения системы, переходя к процес-
сам, происходящим в контроллере.
• Анализ существующей технической проблемы
• Исключение прочих возможных ошибок
• Анализ сигналов и измеряемых параметров

После составления общей картины, можно выделить конкретные области и проанализировать их


более подробно.

Окружение и общие условия


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

Возникает однократный сбой или повторяющаяся ошибка?


Если ошибки могут быть воспроизведены при выполнении определенного действия, то они могут
быть проанализированы в программном коде с помощью отладчика (Debugger).
Программные ошибки, которые не связаны с каким-либо определенным действием или при их
возникновении не прослеживается какой-либо регулярности, крайне трудно воспроизвести, и да-
же это воспроизведение не всегда может быть достоверно.

TM223 - Диагностика в Automation Studio 7


Выбор правильного диагностического инструмента

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

Ошибка возникла в программе или последовательности программ?


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

Какую информацию необходимо передавать при описании технической проблемы?


Если для анализа проблемы необходимо вмешательство других специалистов, то им
должна быть предоставлена следующая подробная информация:
• Подробные ответы на вопросы контрольного списка
• Какие меры уже приняты?
• Какие окружающие условия могут быть исключены?
• Может ли проблема быть воспроизведена в условиях офиса?

Чем точнее были задокументированы все выполненные действия и собрана информа-


ция, тем больше шансов, что причина проблемы может быть найдена (см. также учебное
пособие «TM920 — Диагностика и техн.обслуживание для конечных пользователей»).

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


Программное обеспечение Версия Описание, примечания
• • •

• • •
Используемое аппаратное обеспечение (включая установленные операционные системы)
Номер модели Модификация Описание, примечания
Серийный номер
• • •

• • •
Может ли ошибка быть воспроизведена, или она возникает однократно?

Какие действия необходимо выполнить, чтобы воспроизвести ошибку?

Когда начала возникать ошибка? Были ли с тех пор внесены какие-либо изменения в конфигу-
рацию программного и/или аппаратного обеспечения или окружение системы?

Table: Контрольный список для передачи информации

8 TM223 - Диагностика в Automation Studio


Выбор правильного диагностического инструмента

В каком состоянии находится ЦПУ и что отображают индикаторы состояния соответствующих


компонентов?

Какая информация была загружена из ЦПУ для анализа (без скриншотов!)? Например, данные
журнала Logger, данные Profiler и т.д.

Table: Контрольный список для передачи информации

2.2 Обзор диагностических инструментов

В составе Automation Studio имеется ряд соответствующих инструментов, позволяющий выпол-


нить диагностику во время программирования, ввода в эксплуатацию системы и её дальнейшего
технического обслуживания.
Только правильный выбор подходящих диагностических инструментов позволяет обеспечить воз-
можность точного и быстрого доступа к необходимой информации.

Справочная документация Automation Studio обеспечивает по-


стоянную поддержку на протяжении всего процесса разработки,
ввода в эксплуатацию и обслуживания, предоставляя подроб-
ную информацию о различных диагностических инструментах.

Описание диагностических функций в


справочной документации

Упражнение: Откройте раздел справочной документации с описанием диагностических


инструментов
Диагностические инструменты описываются в разделе «Диагностика и сервис».

Diagnostics and service

В данном учебном пособии рассматриваются примеры использования некоторых из воз-


можных диагностических инструментов для решения различных задач.

TM223 - Диагностика в Automation Studio 9


Сбор системной информации

3 СБОР СИСТЕМНОЙ ИНФОРМАЦИИ

Информация о системе может быть считана из целевой системы, как с помощью Automation
Studio, так и с помощью Интернет-браузера.

Сбор системной информации


3.1.1 "Строка состояния" Информация о состоянии соединения, версия ОС Automation
Runtime и текущее состояние контроллера
3.1.2 "Информация о целевой Отображение информации об объеме памяти, состоянии эле-
системе" мента питания, параметрах настройки даты / времени на кон-
троллере
3.2 "Онлайн-сравнение" Сравнение версий программного обеспечения, относящихся
к проекту и контроллеру. Эта функция также доступна и для
аппаратного обеспечения. Сравнение может быть выполне-
но для модулей, сконфигурированных в проекте и фактически
имеющихся в контроллере.
3.3 "Анализ событий в журнале Отображение событий, которые возникают в целевой системе
Logger" во время выполнения.
6.1 "Использование менеджера Менеджер диагностики системы (SDM) представляет собой
диагностики системы (SDM)" веб-интерфейс, интегрированный непосредственно в ОС
Automation Runtime. Проанализировать основные парамет-
ры целевой системы можно, используя стандартный Интер-
нет-браузер.
Table: Сбор системной информации

Требования к упражнениям в данном разделе


Приведенные ниже упражнения могут быть выполнены с любым проектом Automation Studio, в
котором используется необходимое оборудование.
Описания и изображения, приведенные в этой главе, относятся к проекту на основе ЦПУ X20,
рассмотренному в учебных пособиях TM210 («Работа с Automation Studio») и TM213 («Automation
Runtime»).

ЦПУ X20

Необходимые условия
• Наличие исполняемого проекта в контроллере
• Онлайн-соединение между Automation Studio и контроллером

10 TM223 - Диагностика в Automation Studio


Сбор системной информации

3.1 Текущее состояние ЦПУ

Есть несколько способов, с помощью которых из среды Automation Studio можно определить те-
кущее состояние контроллера.
• 3.1.1 "Строка состояния"
• 3.1.2 "Информация о целевой системе"
• 3.2 "Онлайн-сравнение"

Также эта информация может быть получена с помощью System Diagnostics Manager(6.1
"Использование менеджера диагностики системы (SDM)").

3.1.1 Строка состояния

Строка состояния расположена в нижней части окна Automation Studio.

В строке состояния выводится следующая


информация:
1. Параметры соединения
Строка состояния
2. Тип ЦПУ и версия Automation Runtime
3. Текущее состояние контроллера (см. «TM213
— Automation Runtime»)

Project management \ The workspace \ Status bar

3.1.2 Информация о целевой системе

При наличии активного соединения для получения системной информации необходимо из глав-
ного меню выбрать <Online / Info> или из контекстного меню ЦПУ <Online/Info> (окно Physical
View)
Часы целевой системы могут быть настроены вручную или синхронизированы с часами ПК в этом
диалоговом окне.

В диалоговом окне Info выводится следующая информация:


• Состояние внутренней резервной батареи
• Тип ЦПУ и версия Automation Runtime
• Номер узла оборудования
• Объем доступной памяти целевой системы
• Дата и время в целевой системе (с возможностью настройки)

TM223 - Диагностика в Automation Studio 11


Сбор системной информации

Настройка даты и времени в целевой системе

Diagnostics and service \ Diagnostic tools \ Information about the target system

3.2 Онлайн-сравнение

3.2.1 Онлайн-сравнение программного обеспечения

Онлайн-сравнение программного обеспечения может использо-


ваться для сравнения состояний и версий задач, выполняемых
на целевой системе, с теми,которые созданы в конфигурации
программного обеспечения проекта.
Для этого необходимо из главного меню выбрать Online /
Запуск онлайн-сравнения
Compare / Software.
программного обеспечения

Выполняется анализ следующей информации:


• Сравниваются задачи, содержащиеся в проекте, с за-
дачами, выполняемыми в целевой системе
• Тип памяти целевой системы, в которой выполняется
задача
• Текущие состояния отдельных задач
• Версия и время последней сборки

Окно Онлайн-сравнения разделено на две колонки. В левой части выводятся все, что настроено
в проекте в окне Software configuration, а в правой части — актуальная конфигурация непосред-
ственно целевой системы.
В показанном на рисунке примере задача "LampTest" остановлена в целевой системе, а задача
"Loop1" вообще в ней отсутсвует.

12 TM223 - Диагностика в Automation Studio


Сбор системной информации

Онлайн-сравнение программного обеспечения

Diagnostics and service \ Diagnostic tools \ Monitors \ Online software comparison

3.2.2 Онлайн-сравнение аппаратного обеспечения

Онлайн-сравнение аппаратного обеспечения позволяет срав-


нить аппаратную конфигурацию,созданную в проекте, с факти-
чески используемой конфигурацией. Чтобы начать анализ, из
главного меню следует выбрать пункты <Online> / <Compare> /
<Software>.

Открытие окна онлайн-сравнения


аппаратного обеспечения

Открывается окно с двумя колонками. В левой части выводится аппаратная конфигурация, на-
строенная в проекте. В правой части выводится аппаратная конфигурация, используемая целе-
вой системой. Различия отмечаются красными треугольниками.

Онлайн-сравнение аппаратного обеспечения

В показанной конфигурации, по шине X2X Link в проекте должны опрашиваться два дискретных
модуля, но в целевой системе используются два аналоговых модуля. Все остальные обнаружен-
ные модули не были сконфигурированы в проекте.

Diagnostics and service \ Diagnostic tools \ Monitors \ Online hardware comparison

TM223 - Диагностика в Automation Studio 13


Сбор системной информации

3.3 Анализ событий в журнале Logger

Automation Runtime регистрирует все неустранимые ошибки (например, превышение времени


цикла), предупреждения и информационные сообщения (например, о совершенной горячей пе-
резагрузке (Warm restart)), которые выдаются в процессе выполнения приложения.
Журнал хранится в памяти контроллера.

Diagnostics and service \ Diagnostic tools \ Logger window

3.3.1 Журнал Logger при активном онлайн-соединении

Для открытия журнала Logger необходимо из контекстного меню выбрать Open / Logger или вос-
пользоваться сочетанием клавиш <Ctrl> + <L>.

Окно журнала Logger

Записи, показанные на рисунке сверху, отображают информацию о событиях, зареги-


стрированных ОС Automation Runtime после переноса данных с CompactFlash и самой
первой загрузки ЦПУ.

Упражнение: Вызвать нарушение цикла и проверить записи в журнале Logger


Используя задачу "Loop", созданную на обучающем курсе "TM213 - Automation Runtime", можно
вызвать нарушение цикла путем увеличения значения переменной "udiEndValue" в окне Watch.
После перезагрузки и восстановления онлайн-соединения между средой Automation Studio и це-
левой системой, откройте окно журнала Logger и проанализируйте причину перехода в сервисный
режим.

1) Откройте окно Watch для задачи "Loop" из окна Software configuration.

14 TM223 - Диагностика в Automation Studio


Сбор системной информации

2) Увеличивайте значение переменной "udiEndValue" до тех пор, пока не возникнет нарушение


цикла (потеря соединения и перезагрузка в сервисный режим).

3) Откройте журнал Logger из окна Physical View. Проанализируйте причину загрузки в сервис-
ном режиме.
4) Выберите запись и нажмите F1.

В открытом журнале Logger отображена информация о причине перехода в сервисный


режим.

Информация о нарушении цикла в журнале Logger

После выделения записи и нажатия <F1> , на дисплей выводится подробное описание ошибки из
справочной документации Automation Studio.

Описание ошибки с выбранным номером выводится в отдельном окне справочной доку-


ментации Automation Studio.

Контекстно-зависимая справочная информация по ошибкам Automation Runtime

3.3.2 Оценка данных журнала Logger без подключения

Записи журнала Logger могут быть проанализированы также и "без подключения".


Однако, в любом случае, данные должны быть предварительно сохранены или с помощью
Automation Studio при существующем онлайн-соединении или с помощью менеджера диагности-
ки системы (SDM).

TM223 - Диагностика в Automation Studio 15


Сбор системной информации

В случае возникновения проблем


Считывание данных журнала Logger действу-
ющей системы осуществляется специалистом
по техническому обслуживанию. Полученные
файлы анализируются программистом в среде
Automation Studio. Сохранение записей журнала Logger

Сохранение и загрузка записей журнала в


Automation Studio осуществляется из панели
инструментов окна Logger.

3.3.3 Создание пользовательского журнала

Журнал Logger могут также использовать прикладные программы, добавляя в журнал некоторые
события, которые возникают в процессе работы этого приложения.
Этот функционал может быть реализован с помощью библиотеки AsArLog

Programming \ Libraries \ Configuration, system information, runtime control \ AsArLog

Примеры применения:
• Регистрация сервисных операций (например, замены батареи)
• Регистрация действий пользователя
• Отслеживание срабатывания исключений и занесение отметки об этом в журнал Logger

Упражнение: Создайте пользовательский журнал


Создайте пользовательский журнал в имеющемся проекте Automation Studio. В журнал должно
быть записано событие "This is a test logger entry" с номером пользовательской ошибки "55000".
Проще всего выполнить это задание с помощью примера, включенного в состав Automation Studio.

1) Добавление примера

Вставьте пример в окно Logical View, выбрав <Add Object> / <Samples> / <Library samples>
из контексного меню корневой папки.

Добавление примера в проект

2) Выберите файл с примером LibAsArLog1_ST.zip из каталога AsArLog.

16 TM223 - Диагностика в Automation Studio


Сбор системной информации

LibAsArLog1_ST.zip

3) Добавьте программу в активную конфигурацию (выполняется автоматически).

4) Перенесите программу в контроллер.

5) Следуйте инструкциям, приведенным в справочной документации студии Automation Studio.


6) Создайте запись в журнал Logger из окна Watch
° Logger.Step = 1: создает модуль с названием usrlog
° Logger.Step = 3: записывает информацию в журнал Logger

7) Загрузите файл пользовательского журнала в Automation Studio.

Номера ошибок, определенных пользователем, допускается задавать только в пределах


"50000 - 59999". Все остальные номера зарезервированы под нужды системы управления.

Если после выполнения последнего упражнения ЦПУ будет продолжать находиться в


сервисном режиме, то он может быть снова перезагружен в рабочий (RUN) режим путем
горячей перезагрузки (Warm Restart) из Automation Studio.

Запись значений 1 и 3 в переменную состояния конечного автомата Logger.Step приводит


к созданию модуля usrlog в журнале Logger и занесения туда события.

Создание пользователем записи в журнал

Programming \ Examples \ Libraries \ Configuration, system information, runtime control \


Create and evaluate user logbook

TM223 - Диагностика в Automation Studio 17


Контроль и анализ параметров процесса

4 КОНТРОЛЬ И АНАЛИЗ ПАРАМЕТРОВ ПРОЦЕССА

Контроль, анализ и изменение параметров процесса могут быть выполнены в Automation Studio
различными способами.

Контроль и анализ параметров процесса


4.1 "Контроль и изменение пе- Окно Watch позволяет отображать, контролировать и изме-
ременных" нять значения переменных в целевой системе, а кроме того
отображать текущее состояние оси (NC Watch для управле-
ния приводом).
4.2 "Запись переменных в ре- Инструмент диагностики Trace позволяет регистрировать зна-
жиме реального времени" чения переменных в режиме реального времени в течение за-
данного периода, затем эти данные загружаются с помощью
Automation Studio и отображаются в виде графика.
Функция NC Trace обеспечивает регистрацию данных в ре-
альном времени непосредственно с привода.
4.3 "Монитор ввода/вывода (I/ I/O monitor (монитор ввода/вывода) позволяет отслеживать
O monitor)" значения переменных ввода/вывода, наличие неиспользуе-
мых каналов ввода/вывода, а также качество сети.
5.2 "Поиск ошибок в исходном Широкий спектр диагностических функций доступен как для
коде" текстовых, так и визуальных языков программирования.
Table: Контроль и анализ параметров процесса

Требования, предъявляемые к выполнению примеров


данной главы
Описания и изображения, приведенные в данной главе, от-
носятся к проекту CoffeeMachine, создаваемому в среде
Automation Studio и выполняемому с использованием эмулято-
ра контроллера (ArSim).
• Переносите проект CoffeeMachine в эмулятор контрол- ArSim

лера (ArSim)
• Установите соединение между Automation Studio и эму-
лятором контроллера (ArSim)

Более подробная информация по анализу NCdata приведена в обучающих курсах


(TM4xx).

18 TM223 - Диагностика в Automation Studio


Контроль и анализ параметров процесса

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

Окно Watch позволяет отобразить, отследить и изменить значения переменных в целевой систе-
ме.
Списки отслеживаемых переменных могут быть сохранены из окна Watch для повторного исполь-
зования на последующих этапах и выполнения различных диагностических и функциональных
тестов.

Упражнение: Выполните диагностику в проекте CoffeeMachine


Для управления проектом "CoffeeMachine" в среде Automation Studio используйте окно Watch.
Добавьте в окно Watch переменные из следующей таблицы. Протестируйте последовательность
операций в проекте "CoffeeMachine", изменяя и контролируя значения переменных.

Для выполнения этой задачи требуются следующие переменные процесса:


Операция Переменные процесса Описание
Диапазон значе-
ний
Выбор типа кофе gMainLogic.par.coffeeType Переход к выбранному рецепту
0–2
Уточнение характе- gMainLogic.par.receipe.coffee Эти параметры используются, чтобы изменить
ристик рецепта gMainLogic.par.receipe.milk рецепт выбранного типа кофе (0, 1 или 2).
0–100 gMainLogic.par.receipe.sugar
gMainLogic.par.receipe.water
Ввод цены на кофе gMainLogic.par.recipe.price Итоговая цена для выбранного рецепта кофе
0,0–10,0
Оплата gMainLogic.par.givenMoney Количество полученных монет сравнивается с
0–10 ценой кофе.
Включение / отклю- gMainLogic.cmd.switchOnOff После включения должен быть выполнен
чение разогрев. Контролируется температура воды.
0–1
Подготовка diStartCoffee Эта команда запускает процесс подготовки к
1 изготовлению выбранного напитка.
Задание темпера- gHeating.status.actTemp Температура воды регулируется в соответ-
туры воды ствии с типом выбранного кофе.

Выдача сообщений gMainLogic.cmd.vis.messageIndex Здесь отображается индекс сообщения во


время разогрева и после достижения задан-
ной температуры.
Отображение вре- gMainLogic.status.progressStep Во время приготовления кофе отображается
менной диаграммы индикатор хода процесса.
процесса Значение = 1 соответствует заполнению.
Значение = 2 соответствует выдаче чашки.

Добавление переменных процесса в окно Watch.


• Перенесите проекта "CoffeeMachine" в эмулятор кон-
троллера (ArSim)
Открытие панели отслеживания
• Откройте окно Watch для задачи "mainlogic" из окна переменных (окно Watch)
Software configuration.

TM223 - Диагностика в Automation Studio 19


Контроль и анализ параметров процесса

• Добавьте переменные из приведенной выше таблицы с


помощью панели инструментов или используя клавишу
<Ins> .

Добавление переменных

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

Отображение переменных в окне Watch.

Включите кофемашину и управляйте ею из окна Watch


1 Включите машину, задав значение переменной
"gMainLogic.cmd.switchOnOff = 1"
2 Проверьте состояние процесса
При достижении уставки температуры значение переменной станет равно
двум"gMainLogic.cmd.vis.messageIndex = 2".
3 Опустите монеты в монетоприемник
Количество выбранных монет (значение переменной gMainLogic.par.givenMoney) не
должно быть меньше цены на кофе (gMainLogic.par.receipe.price).

20 TM223 - Диагностика в Automation Studio


Контроль и анализ параметров процесса

Выполните эмуляцию добавления монет

4 Запустите процесс подготовки


"diStartCoffee = 1"
5 Проконтролируйте ход процесса
Проверьте значение переменной статуса "gMainLogic.status.progressStep" .
Значение переменной равное 1 соответствует заполнению; значение переменной равное
2 соответствует выдаче чашки.

Списки используемых в окне Watch переменных следует сохранить для использования


на последующих этапах. Благодаря этому последовательность операций может быть
воспроизведена в любое время.

Контроль и изменение переменных контроллера осуществляются с помощью окна Watch.


Наряду со значениями также отображается и дополнительная информация о перемен-
ных, такая как: область их видимости, тип данных, тип ввода/вывода.
Кроме того, переменные могут быть сгруппированы в отдельные списки для использова-
ния в несвязанных между собой отладочных задачах.

Сохранение списка переменных

Diagnostics and service \ Diagnostics tool \ Variable watch

4.1.1 Одновременная запись значений переменных

Если значение переменной изменилось в окне Watch , оно будет перенесено на контроллер сразу
же после нажатия клавиши <Enter>.
Контроллер будет использовать новое значение переменной с началом следующего цикла.
Если необходимо одновременно изменить значения нескольких переменных, но не требуется их
немедленное применение, то следует активировать Archive mode.

TM223 - Диагностика в Automation Studio 21


Контроль и анализ параметров процесса

Архивный режим может быть включен или


отключен щелчком на пиктограмме "Archive
mode" на панели инструментов.

Включение Archive mode записи переменных

После введения в окне Watch значений всех переменных, которые должны быть изменены, они
могут быть пересланы в контроллер щелчком по пиктограмме "Write values" .

Изменение всех значений в режиме Archive mode.

В случае выполнения операций синхронной записи необходимо обязательно учитывать,


какие переменные были добавлены в окно Watch. Неправильное использование режима
Archive mode в данном случае может привести к нежелательным последствиям при вне-
сении изменений в последовательность выолнения технологических операций процесса.

Diagnostics and service \ Diagnostic tools \ Watch window \ Archive mode

4.2 Запись переменных в режиме реального времени

При использовании окна Watch переменные контроллера опрашиваются средой Automation


Studio.
Тем не менее, этот тип асинхронного доступа к фактическим изменениям значений в классах за-
дач системы Automation Runtime приводит к следующим ограничениям:
• Значения отображаются асинхронно по отношению к классу задач
• Невозможно определить серию прошедших изменений значений переменных их зависи-
мости друг от друга.

Инструмент "Trace" может использоваться для отслеживания изменений значений в целевой си-
стеме синхронно с контекстом класса задач, в котором используются переменные.

22 TM223 - Диагностика в Automation Studio


Контроль и анализ параметров процесса

Пример записи данных с помощью Trace

Данный пример демонстрирует, как отследить, что изменение состояния определенной перемен-
ной запускает какой-либо другой процесс. Для определения временной разницы между соответ-
ствующими изменениями значений обеих переменных могут использоваться измерительные кур-
соры.
Анализ собранных данных может помочь оптимизировать процессы, происходящие в приложе-
нии, и выявить ошибки.
Для запуска Trace необходимо в окне Software Configuration открыть для соответствующей задачи
контекстное меню и выбрать пункт <Open> / <Trace>.

Открытие Trace из окна Software configuration

В первую очередь необходимо добавить новую конфигурацию записи щелчком по пиктограмме


„Insert Trace Configuration“ в открытом окне Trace.
Затем для того, чтобы выбрать какие переменные будут регистрироваться, следует щелкнуть на
пиктограмме „Insert new variable“.

Упражнение: Запись зависимости переменных друг от друга в виде графика


В проекте "CoffeeMachine" по технологической последовательности операций после включения
машины вода проходит через фазу нагревания. Изменение типа кофе также приводит к изменению
заданной температуры, температура воды затем непрерывно контролируется до тех пор, пока не
будет достигнута требуемая величина.
В этом задании демонстрируется, как процесс управления температурой, в данном случае с от-
четливым перерегулированием, может быть легко проанализирован путем записи профиля тем-
пературы в режиме реального времени.

Для выполнения этой задачи требуются следующие переменные процесса:


Операция Диапазон Переменные процесса
Выбор типа кофе 0-2 gMainLogic.par.coffeeType

TM223 - Диагностика в Automation Studio 23


Контроль и анализ параметров процесса

Операция Диапазон Переменные процесса


Включение / отключение 0-1 gMainLogic.cmd.switchOnOff
Задание температуры воды - gHeating.status.actTemp

Открытие окна Trace и добавление переменных


• Откройте окно Trace для задачи "mainlogic" .
• Добавьте новую конфигурацию снятия параметров.
• Добавьте переменные процесса, данные которых необходимо записать.
Конфигурация инструмента Trace выглядит следующим образом:

Конфигурация Trace

Значения регистрируются циклически в контексте класса задач. Период времени, который реги-
стрируется, и условия, при каких он начинается, могут быть настроены в свойствах конфигурации
Trace.
В данном примере значения трех переменных регистрируются каждые 10 мс.
Начинается же запись в данном примере с момента включения кофемашины
(gMainLogic.cmd.switchOnOff = 1).

Конфигурация Trace: настройка буфера,выделенного под запись, и условия старта


• Откройте диалоговое окно свойств для конфигурации Trace.

Свойства Trace

• Настройка выделяемого буфера


Количество сохраняемых записей в буфере может быть задано на вкладке свойств
"General" и доходить до 30 000 единиц.
• Изменение режима записи Trace
Условия, при каких запись начнется, могут быть настроены на вкладке свойств "Mode" (в
данном случае, gMainLogic.cmd.switchOnOff = 1).

24 TM223 - Диагностика в Automation Studio


Контроль и анализ параметров процесса

Настройка условий запуска

Диалоговое окно выбора переменных, по которым будут задаваться условия запуска,


открывается нажатием на <Spacebar>.

После того как параметры регистрации настроены, их необходимо передать в целевую систему
щелчком по пиктограмме "Install"
В текущем примере, запись начнется не сразу же по щелчку на пиктограмме "Start" , а как только
будут соблюдены начальные условия старта.

Запуск процесса и анализ полученных данных с помощью Trace


• Открытие окна Watch
Откройте окно Watch и добавьте необходимые переменные в соответствии с таблицей
выше.
• Включите кофемашину
Задайте значение переменной "gMainLogic.cmd.switchOnOff".
• Изменение типа кофе
Измените значение переменной "gMainLogic.par.coffeeType" на 0,1 или 2. Изменение ти-
па кофе также приведет к изменению уставки температуры. Изменения фактической тем-
пературы регистрируются в окне Trace.

Если до этого переменные задачи из окна Watch были сохранены в виде списка (Раздел
Контроль и изменение переменных ), то они откроются автоматически.

Запись может быть приостановлена в любой момент щелчком на пиктограмме "Stop" . Результаты
же отобразятся после выбора пиктограммы "Show target data".

TM223 - Диагностика в Automation Studio 25


Контроль и анализ параметров процесса

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

Данные Trace

Изменение значения с течением времени может быть проанализировано с помощью измеритель-


ного курсора, который имеет одинаковый вид для всех переменных на оси времени.

Diagnostics and service \ Diagnostic tools \ Trace window

26 TM223 - Диагностика в Automation Studio


Контроль и анализ параметров процесса

4.3 Монитор ввода/вывода (I/O monitor)

Двойной щелчок на любом модуле ввода/вывода в окне Physical View приводит к открытию окна
распределения I/O mapping.

Если режим монитора включен и установлено онлайн-соедине-


ние, то в этом окне отображаются физические состояния кана-
лов ыввода/вывода. Включение режима монитора

Окно I/O mapping в режиме монитора

Команда "Force" позволяет задать любой из точек ввода/вывода, независимо от их фактическо-


го физического значения, фиксированное значение для этого канала (применяется, например, с
целью тестирования выполнения технологической последовательности).

Точки данных ввода


Если для одного из каналов входного модуля (например, X20DI9371) задана команда "force" , то
заданное форсированное значение эмулируется ОС Automation Runtime. Прикладная программа
будет использовать это форсированное значение вместо фактического состояния модуля входа.

Точки данных вывода


Если для одного из каналов модуля вывода (например, X20DO9322) задана команда "force", это
форсированное значение записывается непосредственно в выходной параметр соответствующе-
го оборудования, независимо от того, какое значение присвоила ему прикладная программа.

После завершения ввода системы в эксплуатацию необходимо проверить, чтобы все


операции "force" были отменены. Это может быть сделано автоматически путем переза-
грузки системы или вручную путем перехода в меню <Online> / <Force> / <Global force
off> .

Diagnostics and service \ Diagnostic tools \ Monitors \ Mapping I/O channels in monitor mode

TM223 - Диагностика в Automation Studio 27


Анализ программного обеспечения в процессе программирования

5 АНАЛИЗ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ В ПРОЦЕССЕ ПРОГРАММИРОВАНИЯ

В Automation Studio имеется ряд диагностических инструментов, обеспечивающих поддержку при


разработке прикладного программного обеспечения.
Кроме того, предусмотрены способы обнаружения программных ошибок как в ОС Automation
Runtime, так и в исходном коде прикладной программы.

Анализ программного обеспечения в процессе программирования


Настройка инструмента Инструмент Profiler может использоваться для измерения и отоб-
Profiler и оценка получен- ражения таких системных данных, как например: время выполне-
ных с него данных ния задач, загрузка системы, стек и т.д.
5.2.3 "Функция анализа вы- Функция анализа выполнения строк кода (line coverage) указыва-
полнения строк кода (line ет на строки исходного кода, которые в настоящее время выпол-
coverage)" няются.
5.2.5 "Отладка исходного Отладчик "debugger " упрощает поиск ошибок в исходном коде
кода (Debug)" программы или библиотеки.
5.2.6 "Оценка переменных Выходные переменные "Status" функций и функциональных бло-
состояния и возвращаемых ков используются для оценки их состояния, определения текущей
значений" ошибки при вызове функции в пределах прикладной программы.
5.3 "Использование пере- Окно вывода (output window) используется для отображения ин-
менных в программах" формации о текущих процессах, например, выполнении компиля-
ции, загрузке, создании списка перекрестных ссылок, отображе-
нии результатов поиска и т.д.

Требования, предъявляемые к выполнению примеров данной главы


Приведенные ниже упражнения могут быть выполнены с любым проектом Automation Studio, в
котором используется необходимое оборудование.

Описания и изображения, приведенные в этой главе, отно-


сятся к проекту на основе ЦПУ X20, рассмотренному в учеб-
ных пособиях TM210 («Работа с Automation Studio») и TM213
(«Automation Runtime»).
• Наличие исполняемого проекта в контроллере
• Онлайн-соединение между Automation Studio и кон- ЦПУ X20
троллером

28 TM223 - Диагностика в Automation Studio


Анализ программного обеспечения в процессе программирования

5.1 Настройка инструмента Profiler и оценка полученных с него данных

Можно настроить автоматическую регистрацию всех процессов, происходящих в самой ОС


Automation Runtime.
Для этого необходимо в из контекстного меню узла ЦПУ в окне "software configuration" выбрать
<Properties>.

Включение/отключение работы Profiler в свойствах


программного обеспечения системы

Пример работы регистратора Profiler

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

Diagnostics and service \ Diagnostics tools \ Profiler

5.1.1 Конфигурирование регистратора Profiler

Profiler открывается из окна "software configuration" при выборе


<Open> / <Profiler>
Для открытия диалогового окна настроек Profiler необходимо
щелкнуть на пиктограмме „Configuration“.

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


регистрируемых с помощью Profiler

TM223 - Диагностика в Automation Studio 29


Анализ программного обеспечения в процессе программирования

Рекомендуется задать запись всех событий во вкладке "Events". В случае возникновения


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

При изменении настроек Profiler, обновленную информацию необходимо внести в целевую систе-
му. Для этого необходимо щелкнуть на пиктограмме "Install" .

Diagnostics and service \ Diagnostic tools \ Profiler \ Preparing the Profiler

5.1.2 Анализ данных Profiler

Данные Profiler могут быть загружены из целевой системы в Automation Studio для проведения
анализа выполнения циклических задач.

Упражнение: Вызвать нарушение цикла и проанализировать данные с помощью Profiler


Превышение времени цикла может быть вызвано путем увеличения значения "udiEndValue" пе-
ременной в задаче "Loop" .
После перезагрузки целевой системы в сервисный режим откройте Profiler и загрузите в него дан-
ные из целевой системы.

1) Вызовите превышение времени выполнения цикла, присвоив переменной "udiEndValue"


значение 500 000 в окне "Watch"

2) После перезагрузки в сервисный режим откройте Profiler в окне конфигурации программного


обеспечения, выбрав в меню пункт <Open> / <Profiler> .

Если во время исполнения превышены время цикла+допуск, то ОС Automation Runtime


вызовет исключение. Если прикладная программа не настроена на обработку этого ис-
ключения, целевая система выполняет перезагрузку в сервисный режим.

Загрузка данных в Profiler осуществляется по щелчку на пикто-


грамме Upload data object на панели инструментов. В случае
возникновения ошибки после перезагрузки генерируется новый
файл регистратора Profiler. Соответствующий файл может быть
выбран из списка в процессе загрузки.

Выбор данных для отображения

30 TM223 - Диагностика в Automation Studio


Анализ программного обеспечения в процессе программирования

Для выбора отображаемого диапазона или области данных в Profiler используется кнопка
"Zoom" на панели инструментов. При анализе данных рекомендуется начинать анализ
при масштабе 100%. Для этого необходимо просто нажать клавишу <ESC> .
Для освобождения максимального пространства на экране проводник проекта (Project
Explorer) может быть скрыт.

Для ограничения объема отображаемых событий, данные Profiler могут быть отфильтрованы.

То, какие события должны отображаться, зависит от самой си-


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

Фильтрация данных регистратора


Profiler

Diagnostics and service \ Diagnostic tools \ Profiler \ Recording Profiler data \ Analyzing Profiler
data

TM223 - Диагностика в Automation Studio 31


Анализ программного обеспечения в процессе программирования

В определенный момент (например, когда выполняется слишком много циклов "For" в


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

Наличие исключение в данных регистратора Profiler.

Для выяснения причины возникновения этого события необходимо проанализировать данные до


этого момента времени.
При анализе данных Profiler необходимо использовать две функции — измерительный курсор и
масштабирование.

Время выполнения задачи Loop


Как видно из рисунка ниже, выполнение задачи Loop, как правило, завершается в течение всего
лишь нескольких микросекунд (синяя стрелка), нарушение же цикла возникает, если заданное
время цикла превышается на величину, равную допустимому отклонению (красная стрелка).

32 TM223 - Диагностика в Automation Studio


Анализ программного обеспечения в процессе программирования

Определение нарушения цикла

На рисунке показано как выглядит работа простого приложения с точки зрения регистратора
Profiler. В реальных приложениях причину возникновения ошибки, как правило, обнаружить слож-
нее, поскольку обычно выполняется несколько задач или классов задач.

Пример:
Две задачи, выполняемые в классе задач № 1, как правило, завершают выполнение в пределах
заданного им цикла класса задач.

Временная диаграмма

Если для завершения первой задачи требуется больше времени (более n+30 мс на диаграмме) и
суммарное время завершения обеих задач превышает заданное время цикла на величину допус-
ка, то в качестве причины ошибки будет выводиться вторая задача, несмотря на то что на самом
деле причина в более приоритетной задаче.

Временная диаграмма

Последовательность событий может быть проанализирована в хронологическом порядке путем


оценки первичных данных ( иконка Raw Data“ на панели инструментов).

TM223 - Диагностика в Automation Studio 33


Анализ программного обеспечения в процессе программирования

Первичные данные для Profiler

В списке показаны записи начала и окончания задачи Loop. Если впоследствии будет выполнен
анализ хронологической последовательности, то будет обнаружено, что задача была запущена,
но не была завершена.

5.1.3 Производительность системы

Profiler используется для анализа производительности ЦПУ.


Данные Profiler, представленные в табличной форме и отсортированные с помощью фильтра,
позволяют определить время выполнения и загрузку ЦПУ для каждой задачи.
Табличное представление данных выводится щелчком на пиктограмме „Table“ на панели инстру-
ментов.

Анализ загрузки ЦПУ с помощью Profiler

Diagnostics and service \ Diagnostic tools \ Profiler \ Recording Profiler data \ Analyzing Profiler
data \ Analyzing Profiler data in table form

5.2 Поиск ошибок в исходном коде

Согласно статистике, собранной в отношении программного обеспечения, на каждую 1000 строк


кода, как правило, приходится две-три ошибки.
Automation Studio предоставляет диагностические инструменты с расширенными функциями для
обнаружения источников ошибок в программах.

5.2.1 Режим монитора в редакторе программ

Режим монитора запускается нажатием на пиктограмму


"Monitor" на панели инструментов.
Включение режима монитора
Режим монитора, реализованный для всех языков программи-
рования, предоставляет несколько способов контроля перемен-
ных:

34 TM223 - Диагностика в Automation Studio


Анализ программного обеспечения в процессе программирования

Всплывающие подсказки в текстовых языках программи-


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

Подсказка в исходном коде

Отображение значений на экране при использовании ви-


зуальных языков программирования.
Значения переменных непосредственное отображаются в ме-
сте использования.

Визуальный язык программирования в


режиме монитора

Окно Watch в режиме монитора


Окно Watch отображается рядом с исходным кодом после
включения режима монитора. Кроме того, окно Watch может
быть открыто из контекстного меню задачи в окне "software
configuration" или из окна онлайн-сравнения программного обес-
печения.

Окно Watch из контекстного меню


задачи в окне "software configuration"

5.2.2 Powerflow (отображение пути сигнала)

В визуальных языках программирования, например, языке лестничных диаграмм (Ladder Diagram)


возможно отображение пути прохождения сигнала.
Включение отображения пути сигнала осуществляется нажатием на иконку "Powerflow" на пане-
ли инструментов.

Упражнение: Отображение пути сигнала (Powerflow) при программировании на языке лест-


ничных диаграмм (Ladder Diagram)
Включите функцию Powerflow для программы "LampTest" (описана в TM210 – Работа с Automation
Studio)
Путь сигнала будет наглядно виден после изменения значения переменной "Switch" в окне
"Watch".

1) После установки онлайн-соединения откройте программу "LampTest" .

2) Включите режим монитора.

3) Добавте в окно "Watch" переменные "Switch" и "Lamp" .

TM223 - Диагностика в Automation Studio 35


Анализ программного обеспечения в процессе программирования

4) Задайте значение переменной "Switch".

Как только контакт разомкнется, активируется сигнал переменной "Lamp".

Функция Power Flow включена в языке лестничных диаграмм (Ladder Diagram)

Diagnostics and Service \ Diagnostic tools \ Monitors \ Programming languages in monitor mode
\ Powerflow

5.2.3 Функция анализа выполнения строк кода (line coverage)

Если для текстовых языков программирования включена функция анализа выполнения строк кода
(line coverage), то выполняемые в текущий момент строки кода отмечаются маркером.

Эта функция позволяет точно определять, какие строки кода


выполняются в текущий момент. Включение функции анализа
выполнения строк кода (line coverage) осуществляется нажати-
ем на панели инструментов пиктограммы Line Coverage.

Функция анализа выполнения


строк кода (line coverage) при
программировании на языке
структурированного текста (Structured
Text)

Diagnostics and service \ Diagnostics tool \ Monitors \ Programming languages in monitor mode
\ Line coverage

5.2.4 Библиотека IEC Check

Библиотека IEC Check содержит функции для проверки операций деления, соответствия диапа-
зону, доступа к массивам, а также записи в ячейки памяти и считывания из них.
Соответствующая функция проверки вызывается программой (поддерживающей языки МЭК
61131-3 или Automation Basic) перед выполнением каждой из этих операций.
С помощью библиотеки IEC Check пользователь может использовать динамические переменные
(REFERENCE TO), которые определяют действия в случае обнаружения деления на ноль, ошибки
выхода за пределы диапазона или неразрешенного доступа к памяти.

36 TM223 - Диагностика в Automation Studio


Анализ программного обеспечения в процессе программирования

Programming \ Libraries \ IEC Check library

5.2.5 Отладка исходного кода (Debug)

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


ошибок в программе или исходном коде библиотеки.

Возможности отладки в Automation Studio


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

Упражнение: Найти с помощью отладчика ошибки в программе на языке структурирован-


ного текста (Structured Text)
Создайте программу на языке структурированного текста (Structured Text) и назовите ее "dbgTest"..
Добавьте массив типа USINTс именем "AlarmBuffer" длинной в 10 элементов и переменную типа
UINT в файл "dbgTest.var".
В циклической части программы используйте цикл для инициализации массива любым значением
(например, 10).
На примере следующего ошибочного программного кода продемонстрирована одна из наиболее
часто совершаемых ошибок.

PROGRAM _CYCLIC
FOR index := 0 TO 10 DO
Программный код AlarmBuffer[index] := 10;
END_FOR
END_PROGRAM
Table: Ошибочная подпрограмма

Описание ошибки: Произошел выход индекса за пределы массива (0-10), так как массив содер-
жит только 10 элементов (0-9). Этот тип ошибки, который во многих случаях сложно поддается
обнаружению, приводит к тому, что программа перезаписывает следующую ячейку памяти.

Создание программы dbgTest


• Создайте в окне "logical view" программу на языке Structured Text и назовите ее
"dbgTest" .
• Откройте окно Watch для используемой программы и добавьте переменные
"AlarmBuffer" (тип USINT[0..9]) и "index"(тип UINT).
• Вставьте программный код в циклическую часть программу.

TM223 - Диагностика в Automation Studio 37


Анализ программного обеспечения в процессе программирования

После запуска программы в каждый из десяти элементов массива записывается значе-


ние 10; программа, кажется, работает.

Окно Watch в режиме монитора

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

Режим монитора может быть включен только в том случае, если


открыт редактор программ.
Включение режима монитора

Отладчик (debugger) может быть включен и отключен с панели инструментов.

Включение / отключение Debugger

Добавление переменных в окно Watch


• После включения режима монитор добавьте переменную AlarmBuffer в правой части ок-
на Watch.

В левой части окна отображается код программы, в правой — панель отслеживания пе-
ременных.

Режим монитора в редакторе программ

Установка breakpoints
• Переместите курсор в первую строку цикла FOR.
• Установите breakpoint, выбрав пункт меню <Debug> / <Toggle Breakpoint> или нажав
клавишу <F9>.

38 TM223 - Диагностика в Automation Studio


Анализ программного обеспечения в процессе программирования

При достижении заданной точки breakpoint останавливаются все приложения, запущен-


ные на целевой системе!

Включение отладчика (debugger)


• Включение отладчика и установка всех точек breakpoint осуществляются из меню.

При достижении отладчиком точки breakpoint активная строка обозначается желтым мар-
кером.

Активная строка в отладчике

Отладка в пошаговом режиме


• Присвойте элементам массива "AlarmBuffer" значения 0 в панели отслеживания пере-
менных.
• Для построчного выполнения программного кода используется команда "Step
Into" (<F11>) . Активная строка всегда отображается желтым маркером.

Активная строка, отмеченная желтым маркером

При нажатии клавиши <F11> несколько раз, каждый проход цикла приводит к изменению
значения элемента массива.

Запись значений в переменные в пошаговом режиме

Пошаговое выполнение
• Продолжайте нажимать <F11> до тех пор, пока последнему элементу массива не будет
присвоено новое значение.

В рассматриваемом случае переменная index получает значение 9, что также соответ-


ствует верхнему пределу массива ([0..9]).
Если продолжить пошаговое выполнение и нажать клавишу <F11> еще раз, цикл выпол-
нится еще раз и произойдет выход переменной за пределы массива.

TM223 - Диагностика в Automation Studio 39


Анализ программного обеспечения в процессе программирования

Ошибки этого типа обнаруживаются с помощью библиотеки IEC Check.

Diagnostics and service \ Diagnostics tool \ Debugger

5.2.6 Оценка переменных состояния и возвращаемых значений

Каждое значение, возвращаемое функцией, также должны быть оценено самой программой.

Использование возвращаемых значений:


На следующем примере продемонстрирован вызов функции. Эта функция возвращает информа-
цию о своем состоянии, на основании которой может быть определено наличие ошибки во время
вызова (ERROR) или невозможность доступа к функции в данный момент цикла (BUSY).

Оценка состояния функциональных блоков

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

5.3 Использование переменных в программах

Правильно ли используются переменные в различных программах, представленных в окне Logical


View, может быть проверено путем создания списка перекрестных ссылок (cross-reference list) или
в явном виде путем поиска известного имени переменной.

40 TM223 - Диагностика в Automation Studio


Анализ программного обеспечения в процессе программирования

5.3.1 Список перекрестных ссылок (cross-reference list)

Список перекрестных ссылок указывает на то, какие перемен-


ные процесса, функции и функциональные блоки в действи-
тельности используются в проекте.
Список перекрестных ссылок не является обязательным и мо-
жет быть сгенерирован при компиляции (built) проекта, резуль-
таты же будут отображаться в окне вывода (output window) на
вкладке „Cross reference“.
Для генерации списка перекрестных ссылок он должен быть ак-
тивирован в меню <Project> / <Settings>.

Активация генерации списка


перекрестных ссылок во время сборки
проекта

Упражнение: Создайте список перекрестных ссылок


Создайте список перекрестных ссылок в открытом проекте (например, в основном проекте из обу-
чающего курса «TM210 — Работа с Automation Studio»).

1) Активируйте генерацию списка перекрестных ссылок в настройках проекта.

2) Выполните сборку проекта.

Анализ списка перекрестных ссылок на переменные и их атрибуты может быть выпол-


нен в окне вывода (при этом результаты могут отличаться в зависимости от того, что
взято за основу — курс «TM210 — Работа с Automation Studio» или «TM213 — Automation
Runtime»).
Выбор переменной осуществляется в левой части окна, ее назначение и тип доступа
будут отображаться в правой части окна.

Отображение списка перекрестных ссылок

TM223 - Диагностика в Automation Studio 41


Анализ программного обеспечения в процессе программирования

Project management \ The workspace \ Output window \ Cross reference


Project management \ The workspace \ Menus \ Project \ Build cross reference
Project Management / The Workspace / Menus / Project / Build cross reference

5.3.2 Поиск в файлах

Если известно имя переменной, по нему может быть выполнен ее поиск и в соответствующих
файлах просмотрена информация о ее использовании.
Запуск функции поиска осуществляется из меню <Edit> / <Find and REplace - Find in Files> или
нажатием комбинации клавиш <CTRL> + <Shift> + <F>.
Искомая информация вводится в поле диалогового окна, а результаты поиска отображаются в
окне вывода (output window) на вкладке Find in Files.

Поиск в файлах

Двойной щелчок на записи из списка найденных результатов в окне вывода (output window) при-
водит к открытию соответствующего исходного файла и помещению курсора в соответствующую
позицию.

42 TM223 - Диагностика в Automation Studio


Подготовка к техническому обслуживанию

6 ПОДГОТОВКА К ТЕХНИЧЕСКОМУ ОБСЛУЖИВАНИЮ

На этапе настройки конфигурации, ввода в эксплуатацию и тестирования приложений необходи-


мо подготовить оборудование или систему для проведения операций технического обслужива-
ния, которые могут потребоваться в процессе эксплуатации.

6.1 Использование менеджера диагностики системы (SDM)

Менеджер диагностики системы (SDM), входящий в состав ОС


Automation Runtime версии 3.0 и выше, может использоваться
для диагностики контроллера с помощью стандартного веб-бра-
узера из любого места (в сети интранет или Интернет).
Единственное требование, обеспечивающее возможность диа-
гностики, — это наличии Ethernet-соединения с контроллером.

Начальный экран менеджера SDM

Diagnostics and service \ Diagnostics tools \ System Diagnostics Manager

6.1.1 Включение менеджера SDM

В проектах, собранных на основе ОС Automation Runtime версии 3.0 или выше, менеджер SDM
активирован по умолчанию.
Настроить менеджер SDM можно из окна Physical View путем открытия конфигурации AR узла
ЦПУ.

Открытие конфигурации, просмотр настроек менеджера SDM и веб-сервера

TM223 - Диагностика в Automation Studio 43


Подготовка к техническому обслуживанию

Для работы менеджера диагностики системы (SDM) требуется наличие служб, которые
входят в состав веб-сервера, являющегося встроенным компонентом ОС Automation
Runtime.

Упражнение: Проверьте настройки конфигурации AR, относящиеся к менеджеру SDM


Проверьте, включен ли веб-сервер и менеджер диагностики системы (SDM) в конфигурации ОС
AR.

1) Откройте конфигурацию AR из узла ЦПУ в окне Physical View.

Параметры Web Server и System Diagnostics должны быть отмечены флажком.

6.1.2 Доступ к менеджеру SDM

Информация, выводящаяся в System Diagnostics Manager, может быть просмотрена с помощью


любого веб-браузера.
Для того, чтобы получить доступ к менеджеру SDM, необходимо знать IP-адрес целевой системы.

IP-адрес целевой системы указывается в настройках Ethernet-конфигурации ЦПУ.

Открытие конфигурации IFx Ethernet

Для поддержки масштабируемой векторной графики (формата SVG — Scaleable Vector Graphics)
автоматически устанавливается плагин для браузера Internet Explorer (начиная с версии 7.x).

Diagnostics and service \ Diagnostic tools \ System Diagnostics Manager \ FAQ \ SVG plug-in

Упражнение: Получите доступ к менеджеру SDM с помощью веб-браузера


Для доступа к менеджеру SDM введите URL-адрес.
Например, http://10.0.0.2/SDM

1) Запустите браузер Internet Explorer.

2) Для доступа к менеджеру SDM введите URL-адрес.

44 TM223 - Диагностика в Automation Studio


Подготовка к техническому обслуживанию

После ввода адреса и нажатия <Enter> , из целевой системы загружаются страницы ме-
неджера SDM и отображаются в браузере. Левая часть менеджера SDM используется
для навигации.

Отображение страниц менеджера SDM в веб-браузере

Упражнение: Сохраните записи журнала Logger в менеджере SDM и выполните их анализ


в среде Automation Studio.
Описание ситуации:
Система загружается в сервисный режим без видимых причин. К сожалению, на сайте среда
Automation Studio не доступна. Поскольку менеджер диагностики системы (SDM) включен в целе-
вой системе, то с помощью веб-браузера может быть установлено TCP/IP соединение с контрол-
лером.
После открытия менеджера SDM записи журнала Logger могут быть выведены на дисплей из меню
навигации. Загрузите файл "$arlogsys" и откройте его с помощью инструмента Logger в Automation
Studio.

1) Установите соединение с менеджером SDM и перейдите на страницу Logger

2) Загрузите модуль $arlogsys.

3) Сохраните файл с расширением .br.

4) Откройте журнала Logger в среде Automation Studio


5) Загрузите сохраненный файл, имеющий расширение .br.

TM223 - Диагностика в Automation Studio 45


Подготовка к техническому обслуживанию

Тип файла с расширением .br

В журнале SDM события Automation Runtime выводятся без дополнительной информа-


ции. Эта информация доступна только в среде Automation Studio.

Записи Logger в менеджере диагностики системы (SDM)

На момент анализа сохраненных раннее данных журнала, необходимо отключить отоб-


ражение онлайн-данных в журнале Logger Automation Studio, в противном случае, будут
выводиться как онлайн-записи, так и записи из модуля .BR.

Отключение онлайн-записей журнала Logger

6.2 Запрос и отображение состояния батареи

Резервная батарея используется для питания часов реально-


го времени и энергонезависимой памяти хранения переменных
(типы retain, permanent), и ее состояние может быть проконтро-
лировано из самого приложения.
Батарея

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


ного в документации к оборудованию ЦПУ, а также принимая при этом во внимание ука-
зания руководства по эксплуатации системы.

Информация о состоянии батареи может быть запрошена одним из двух способов:


• С помощью библиотеки AsHW
• С помощью переменной в окне распределения I/O mapping

46 TM223 - Диагностика в Automation Studio


Подготовка к техническому обслуживанию

Окно I/O mapping может быть открыто из контекстного меню


ЦПУ <Open I/O mapping> в окне Physical View. Значение пе-
ременной BatteryStatusCPU может быть при необходимости за-
прошено из прикладной программы.

Переменная статуса батареи в окне I/


O mapping

Запрос информации о состоянии элемента питания в окне распределения точек ввода/вывода (I/O mapping)

6.3 Диагностический инструмент Runtime Utility Center

Программный пакет Runtime Utility Center используется не только для записи из среды
Automation Studio исполняемого проекта на карту памяти CompactFlash.
В состав Runtime Utility Center также включены функции, которые могут быть полезны при вводе
системы в эксплуатацию, плановом и внеплановом техническом обслуживании и ремонте.
Программа Runtime Utility Center запускается из меню Automation Studio через команду <Tools> /
<Runtime Utility Center>.

Runtime Utility Center

TM223 - Диагностика в Automation Studio 47


Подготовка к техническому обслуживанию

После окончания компиляции (Build) проекта в Automation Studio генерируется файл


инструкций(.pil), путь к которому отображается при открытии пакета Runtime Utility Center.

Diagnostics and Service \ Diagnostics Tool \ Runtime Utility Center

6.3.1 Резервное копирование и восстановление значений переменных

Одна из функций Runtime Utility Center заключается в снятии текущих значений переменных из
контроллера и восстановления их в более поздний момент времени.

Упражнение: Сохраните значения переменных.


К примеру, из-за возникновения механического повреждения системы может потребоваться заме-
на ЦПУ. Чтобы предотвратить потерю данных, например, потерю значений переменных, описыва-
ющих рецепт, или других переменных процесса, необходимо скачать всю содержащуюся в ЦПУ
информацию с помощью пакета Runtime Utility Center, а затем снова загрузить ее в новый ЦПУ.
Создайте с помощью Runtime Utility Center список, в котором будут храниться значения перемен-
ных, относящихся к задаче Loop.

1) Откройте Runtime Utility Center из среды Automation Studio.

2) Создайте новый лист, выбрав <File> / <New> из главного меню.

3) Добавьте команду для установления соединения, выбрав слева <Command> /


<Connection>.

В настройках соединения должен быть задан IP-адрес целевой системы.

4) Добавьте команду, по которой будет загружен список переменных с целевой


системы<Command> / <Process variable functions> / <Variable list.

В этом примере производилось резервное сохранение переменных только для задачи "Loop" .
Список может быть сохранен в любой директории.

5) Выполните указанные выше команды, нажав <F5>.

Diagnostics and service \ Service tools \ Runtime Utility Center \ Operation \ Commands \ List
functions
Diagnostics and service \ Service tools \ Runtime Utility Center \ Operation \ Commands \
Establish connection, wait for reconnection
Diagnostics and service \ Service tools \ Runtime Utility Center \ Operation \ Menus \ Start

Резервная копия значений переменных, относящихся к задаче Loop, сохраняется в фай-


ле с указанным именем в указанной директории.

48 TM223 - Диагностика в Automation Studio


Подготовка к техническому обслуживанию

Упражнение: Восстановление значений переменных


Значения переменных, резервная копия которых сохранена в предыдущем задании, теперь долж-
ны быть перенесены в контроллер с помощью пакета Runtime Utility Center.
С помощью Runtime Utility Center создайте список, из которого будут восстанавливаться значения
переменных.

1) Откройте Runtime Utility Center из среды Automation Studio. Создайте новый лист, выбрав
<File> / <New> из главного меню.

2) Добавьте команду для установления соединения, выбрав слева <Command> /


<Connection>.
3) В настройках соединения должен быть задан IP-адрес целевой системы.

4) Добавьте команду, по которой переменные будут загружены на целевую систему


<Command> / <Process variable functions> / <Variable list.

Список переменных, сохраненных в предыдущем задании, может быть выбран в диалоговом


окне <Browse>

5) Выполните указанные выше команды, нажав <F5>.

Значения переменных, сохраненные в файле, записываются в соответствующие пере-


менные задачи "Loop" .

Если резервное копирование было выполнено для всех переменных всех задач, а затем
эти значения были перенесены обратно в контроллер, необходимо принять во внимание,
что последовательная запись значений в переменные может привести к непредсказуе-
мому поведению со стороны системы.
Если выполнение данной операции тем не менее необходимо, рекомендуется предвари-
тельно перевести контроллер в сервисный режим.

6.3.2 Передача проекта с помощью Runtime Utility Center

Сформированный в программе Runtime Utility Center лист инструкций может быть передан в ка-
честве исполняемого приложений для технического обслуживания и установки в систему.
Для выполнения данной операции необходим только компьютер с физическим онлайн-соедине-
нием с ЦПУ.

Упражнение: Перепрошейте контроллер


Перепрошивка контроллера должна быть выполнена без использования среды Automation Studio.
По окончании процесса компиляции (Build) проекта запустите Runtime Utility Center в среде
Automation Studio. В Runtime Utility Center процесс создания установочного образа запускается по
команде из меню <Tools> / <Create installation package> .

TM223 - Диагностика в Automation Studio 49


Подготовка к техническому обслуживанию

Требования:
• В контроллер должна быть вставлена карта памяти CompactFlash, на которой записана
исполняемая версия Automation Runtime.
• Необходимо также знать IP-адрес ЦПУ.

Создание установочного пакета


• Скомпилируйте проект в среде Automation Studio.
• Запустите Runtime Utility Center из среды Automation Studio, перейдя в меню <Tools> /
<Runtime Utility Center>
• Создайте исполняемый установочный образ Runtime Utility Center, использую команду
<Tools> / <Create installation package>
• После указания конечной директории для сохранения файлов процесс создания запуска-
ется нажатием клавиши <Start> .
После завершения процесса создания установочного образа Runtime Utility Center может
быть закрыт.

Исполняемый образ для установки проекта был создан без использования среды
Automation Studio.

Передача и выполнение установочного пакета


• Откройте проводник Windows и перейдите в директорию, указанную в процессе создания
установочного образа.
• Выполните командный файл "Start.bat".

Чтобы передать созданный в Runtime Utility Center установочный образ другим лицам, необходи-
мо записать на компакт-диск или скопировать на флеш-накопитель содержание директории, ко-
торая была указана в процессе создания образа .
Затем необходимо просто запустить файл "Start.bat" на ПК в новой системе.

Diagnostics and Service \ Service Tool \ Runtime Utility Center \ Creating a list / data medium

50 TM223 - Диагностика в Automation Studio


Итог

7 ИТОГ

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


и устранение ошибок.
Диагностические инструменты следует использовать совместно с аналитическими методами.

Диагностика

Для эффективного использования средств диагностики необходимо получить общее представле-


ние о сложившейся ситуации, уточнить общие условия эксплуатации и проанализировать окру-
жение системы.
Только после этого можно приступать к выяснению причин и детальному анализу. Сужение об-
ласти поиска возможных первопричин возникновения ошибок, позволяет значительно упростить
процесс исправления оставшихся ошибок.

TM223 - Диагностика в Automation Studio 51


ОБУЧАЮЩИЕ КУРСЫ (ТРЕНИНГ-МОДУЛИ)