Академический Документы
Профессиональный Документы
Культура Документы
TM223TRE.40-RUS
2013/09/20
Необходимые условия и требования
Обучающие курсы TM210 — Работа с Automation Studio
(тренинг-модули): TM213 — Automation Runtime
Программное обеспе- Automation Studio 4.0
чение
Аппаратное обеспе- X20CP1486
чение
ОГЛАВЛЕНИЕ
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
1 ВВЕДЕНИЕ
Диагностика
Диагностические функции были специально включены в состав ОС Automation Runtime для того
чтобы можно было осуществлять диагностику не только с применением Automation Studio, но и
без неё.
Менеджер диагностики системы (System Diagnostics Manager) является неотъемлемым компо-
нентом ОС Automation Runtime, начиная с версии V3.0.
В ходе данного курса, на основе специально подобранных примеров, вы узнаете, как использо-
вать инструменты диагностики для решения таких задач как: программирование, ввод в эксплуа-
тацию и обслуживание.
Вы узнаете, как...
• Выбрать правильный диагностический инструмент
• Собрать информацию о системе для анализа сбоев
• Регистрировать значения переменных процесса
• Устранять ошибки исходного кода
• Правильно сконфигурировать целевую систему,чтобы произвести сбор диагностических
данных для последующей обработки
Превышение времени цикла может быть диагностировано, используя журнал Logger. Од-
нако, с помощью журнала Logger не всегда можно корректно выявить причину, по кото-
рой возникло превышение.
Ситуация № 1
Любая пользовательская задача может быть вытеснена задачей с более высоким приоритетом.
Именно поэтому причину нарушения цикла следует искать не только в задаче, которой не хватило
процессорного времени (отражена в журнале Logger ), но и во всех более приоритетных (распо-
ложенных в более приоритетном классе задач). Это будет означать, что у задачи, отраженной в
журнале Logger, не осталось времени на исполнение в рамках заданного времени цикла + допу-
стимого отклонения, т.е. система была занята выполнением более приоритетной задачи.
Ситуация № 2
В рамках одного и того же класса задач все задачи выполняются последовательно. Таким обра-
зом, причиной нарушения цикла может оказаться любая задача, вызывающаяся перед той, ко-
торая отображается в журнале Logger. Если для завершения выполнения одной из предыдущих
задач требуется больше времени, то задача, отображаемая в регистраторе (Logger), также не
является причиной нарушения цикла.
В обоих случаях журнал Logger будет являться неподходящим диагностическим инструментом
для выявления причины ошибки. Причина сбоя может быть выявлена только с помощью Profiler
(5.1 "Настройка инструмента Profiler и оценка полученных с него данных"), который отражает хро-
нологическую последовательность отдельных задач, а также время необходимое для их завер-
шения.
Для упрощения анализа ошибок, которые не имеют циклического характера, необходимо выпол-
нить определенные подготовительные операции в приложении (например, настроить автомати-
ческий запуск инструмента Profiler).
• • •
Используемое аппаратное обеспечение (включая установленные операционные системы)
Номер модели Модификация Описание, примечания
Серийный номер
• • •
• • •
Может ли ошибка быть воспроизведена, или она возникает однократно?
•
Какие действия необходимо выполнить, чтобы воспроизвести ошибку?
•
Когда начала возникать ошибка? Были ли с тех пор внесены какие-либо изменения в конфигу-
рацию программного и/или аппаратного обеспечения или окружение системы?
•
Table: Контрольный список для передачи информации
Информация о системе может быть считана из целевой системы, как с помощью Automation
Studio, так и с помощью Интернет-браузера.
ЦПУ X20
Необходимые условия
• Наличие исполняемого проекта в контроллере
• Онлайн-соединение между Automation Studio и контроллером
Есть несколько способов, с помощью которых из среды Automation Studio можно определить те-
кущее состояние контроллера.
• 3.1.1 "Строка состояния"
• 3.1.2 "Информация о целевой системе"
• 3.2 "Онлайн-сравнение"
Также эта информация может быть получена с помощью System Diagnostics Manager(6.1
"Использование менеджера диагностики системы (SDM)").
При наличии активного соединения для получения системной информации необходимо из глав-
ного меню выбрать <Online / Info> или из контекстного меню ЦПУ <Online/Info> (окно Physical
View)
Часы целевой системы могут быть настроены вручную или синхронизированы с часами ПК в этом
диалоговом окне.
Diagnostics and service \ Diagnostic tools \ Information about the target system
3.2 Онлайн-сравнение
Окно Онлайн-сравнения разделено на две колонки. В левой части выводятся все, что настроено
в проекте в окне Software configuration, а в правой части — актуальная конфигурация непосред-
ственно целевой системы.
В показанном на рисунке примере задача "LampTest" остановлена в целевой системе, а задача
"Loop1" вообще в ней отсутсвует.
Открывается окно с двумя колонками. В левой части выводится аппаратная конфигурация, на-
строенная в проекте. В правой части выводится аппаратная конфигурация, используемая целе-
вой системой. Различия отмечаются красными треугольниками.
В показанной конфигурации, по шине X2X Link в проекте должны опрашиваться два дискретных
модуля, но в целевой системе используются два аналоговых модуля. Все остальные обнаружен-
ные модули не были сконфигурированы в проекте.
Для открытия журнала Logger необходимо из контекстного меню выбрать Open / Logger или вос-
пользоваться сочетанием клавиш <Ctrl> + <L>.
3) Откройте журнал Logger из окна Physical View. Проанализируйте причину загрузки в сервис-
ном режиме.
4) Выберите запись и нажмите F1.
После выделения записи и нажатия <F1> , на дисплей выводится подробное описание ошибки из
справочной документации Automation Studio.
Журнал Logger могут также использовать прикладные программы, добавляя в журнал некоторые
события, которые возникают в процессе работы этого приложения.
Этот функционал может быть реализован с помощью библиотеки AsArLog
Примеры применения:
• Регистрация сервисных операций (например, замены батареи)
• Регистрация действий пользователя
• Отслеживание срабатывания исключений и занесение отметки об этом в журнал Logger
1) Добавление примера
Вставьте пример в окно Logical View, выбрав <Add Object> / <Samples> / <Library samples>
из контексного меню корневой папки.
LibAsArLog1_ST.zip
Контроль, анализ и изменение параметров процесса могут быть выполнены в Automation Studio
различными способами.
лера (ArSim)
• Установите соединение между Automation Studio и эму-
лятором контроллера (ArSim)
Окно Watch позволяет отобразить, отследить и изменить значения переменных в целевой систе-
ме.
Списки отслеживаемых переменных могут быть сохранены из окна Watch для повторного исполь-
зования на последующих этапах и выполнения различных диагностических и функциональных
тестов.
Добавление переменных
После добавления переменных в окно Watch в приложении может быть выполнена эму-
ляция последовательности выполнения технологических операций.
Если значение переменной изменилось в окне Watch , оно будет перенесено на контроллер сразу
же после нажатия клавиши <Enter>.
Контроллер будет использовать новое значение переменной с началом следующего цикла.
Если необходимо одновременно изменить значения нескольких переменных, но не требуется их
немедленное применение, то следует активировать Archive mode.
После введения в окне Watch значений всех переменных, которые должны быть изменены, они
могут быть пересланы в контроллер щелчком по пиктограмме "Write values" .
Инструмент "Trace" может использоваться для отслеживания изменений значений в целевой си-
стеме синхронно с контекстом класса задач, в котором используются переменные.
Данный пример демонстрирует, как отследить, что изменение состояния определенной перемен-
ной запускает какой-либо другой процесс. Для определения временной разницы между соответ-
ствующими изменениями значений обеих переменных могут использоваться измерительные кур-
соры.
Анализ собранных данных может помочь оптимизировать процессы, происходящие в приложе-
нии, и выявить ошибки.
Для запуска Trace необходимо в окне Software Configuration открыть для соответствующей задачи
контекстное меню и выбрать пункт <Open> / <Trace>.
Конфигурация Trace
Значения регистрируются циклически в контексте класса задач. Период времени, который реги-
стрируется, и условия, при каких он начинается, могут быть настроены в свойствах конфигурации
Trace.
В данном примере значения трех переменных регистрируются каждые 10 мс.
Начинается же запись в данном примере с момента включения кофемашины
(gMainLogic.cmd.switchOnOff = 1).
Свойства Trace
После того как параметры регистрации настроены, их необходимо передать в целевую систему
щелчком по пиктограмме "Install"
В текущем примере, запись начнется не сразу же по щелчку на пиктограмме "Start" , а как только
будут соблюдены начальные условия старта.
Если до этого переменные задачи из окна Watch были сохранены в виде списка (Раздел
Контроль и изменение переменных ), то они откроются автоматически.
Запись может быть приостановлена в любой момент щелчком на пиктограмме "Stop" . Результаты
же отобразятся после выбора пиктограммы "Show target data".
Данные были сняты,как только выполнились условия запуска. Значения переменных мо-
гут быть заданы такими, какими надо в окне Watch. После того как данные будут выгру-
жены из целевой системы, график будут выглядеть приблизительно следующим образом
(в зависимости от того, как были изменены значения переменных):
Данные Trace
Двойной щелчок на любом модуле ввода/вывода в окне Physical View приводит к открытию окна
распределения I/O mapping.
Diagnostics and service \ Diagnostic tools \ Monitors \ Mapping I/O channels in monitor mode
При возникновении ошибки (например, превышение времени цикла) из целевой системы в любое
время может быть загружены данные для дальнейшего анализа в Automation Studio.
При изменении настроек Profiler, обновленную информацию необходимо внести в целевую систе-
му. Для этого необходимо щелкнуть на пиктограмме "Install" .
Данные Profiler могут быть загружены из целевой системы в Automation Studio для проведения
анализа выполнения циклических задач.
Для выбора отображаемого диапазона или области данных в Profiler используется кнопка
"Zoom" на панели инструментов. При анализе данных рекомендуется начинать анализ
при масштабе 100%. Для этого необходимо просто нажать клавишу <ESC> .
Для освобождения максимального пространства на экране проводник проекта (Project
Explorer) может быть скрыт.
Для ограничения объема отображаемых событий, данные Profiler могут быть отфильтрованы.
Diagnostics and service \ Diagnostic tools \ Profiler \ Recording Profiler data \ Analyzing Profiler
data
На рисунке показано как выглядит работа простого приложения с точки зрения регистратора
Profiler. В реальных приложениях причину возникновения ошибки, как правило, обнаружить слож-
нее, поскольку обычно выполняется несколько задач или классов задач.
Пример:
Две задачи, выполняемые в классе задач № 1, как правило, завершают выполнение в пределах
заданного им цикла класса задач.
Временная диаграмма
Если для завершения первой задачи требуется больше времени (более n+30 мс на диаграмме) и
суммарное время завершения обеих задач превышает заданное время цикла на величину допус-
ка, то в качестве причины ошибки будет выводиться вторая задача, несмотря на то что на самом
деле причина в более приоритетной задаче.
Временная диаграмма
В списке показаны записи начала и окончания задачи Loop. Если впоследствии будет выполнен
анализ хронологической последовательности, то будет обнаружено, что задача была запущена,
но не была завершена.
Diagnostics and service \ Diagnostic tools \ Profiler \ Recording Profiler data \ Analyzing Profiler
data \ Analyzing Profiler data in table form
Diagnostics and Service \ Diagnostic tools \ Monitors \ Programming languages in monitor mode
\ Powerflow
Если для текстовых языков программирования включена функция анализа выполнения строк кода
(line coverage), то выполняемые в текущий момент строки кода отмечаются маркером.
Diagnostics and service \ Diagnostics tool \ Monitors \ Programming languages in monitor mode
\ Line coverage
Библиотека IEC Check содержит функции для проверки операций деления, соответствия диапа-
зону, доступа к массивам, а также записи в ячейки памяти и считывания из них.
Соответствующая функция проверки вызывается программой (поддерживающей языки МЭК
61131-3 или Automation Basic) перед выполнением каждой из этих операций.
С помощью библиотеки IEC Check пользователь может использовать динамические переменные
(REFERENCE TO), которые определяют действия в случае обнаружения деления на ноль, ошибки
выхода за пределы диапазона или неразрешенного доступа к памяти.
PROGRAM _CYCLIC
FOR index := 0 TO 10 DO
Программный код AlarmBuffer[index] := 10;
END_FOR
END_PROGRAM
Table: Ошибочная подпрограмма
Описание ошибки: Произошел выход индекса за пределы массива (0-10), так как массив содер-
жит только 10 элементов (0-9). Этот тип ошибки, который во многих случаях сложно поддается
обнаружению, приводит к тому, что программа перезаписывает следующую ячейку памяти.
Для анализа ошибки будет использоваться информация, содержащаяся в отладчике, а также пе-
ременные (и их значения) в панели отслеживания переменных.
В левой части окна отображается код программы, в правой — панель отслеживания пе-
ременных.
Установка breakpoints
• Переместите курсор в первую строку цикла FOR.
• Установите breakpoint, выбрав пункт меню <Debug> / <Toggle Breakpoint> или нажав
клавишу <F9>.
При достижении отладчиком точки breakpoint активная строка обозначается желтым мар-
кером.
При нажатии клавиши <F11> несколько раз, каждый проход цикла приводит к изменению
значения элемента массива.
Пошаговое выполнение
• Продолжайте нажимать <F11> до тех пор, пока последнему элементу массива не будет
присвоено новое значение.
Каждое значение, возвращаемое функцией, также должны быть оценено самой программой.
Если состояние функции (программный код в оранжевом прямоугольнике) не может быть точно
оценено, то сама функция или последующая программа не могут выполняться правильно.
Если известно имя переменной, по нему может быть выполнен ее поиск и в соответствующих
файлах просмотрена информация о ее использовании.
Запуск функции поиска осуществляется из меню <Edit> / <Find and REplace - Find in Files> или
нажатием комбинации клавиш <CTRL> + <Shift> + <F>.
Искомая информация вводится в поле диалогового окна, а результаты поиска отображаются в
окне вывода (output window) на вкладке Find in Files.
Поиск в файлах
Двойной щелчок на записи из списка найденных результатов в окне вывода (output window) при-
водит к открытию соответствующего исходного файла и помещению курсора в соответствующую
позицию.
В проектах, собранных на основе ОС Automation Runtime версии 3.0 или выше, менеджер SDM
активирован по умолчанию.
Настроить менеджер SDM можно из окна Physical View путем открытия конфигурации AR узла
ЦПУ.
Для работы менеджера диагностики системы (SDM) требуется наличие служб, которые
входят в состав веб-сервера, являющегося встроенным компонентом ОС Automation
Runtime.
Для поддержки масштабируемой векторной графики (формата SVG — Scaleable Vector Graphics)
автоматически устанавливается плагин для браузера Internet Explorer (начиная с версии 7.x).
Diagnostics and service \ Diagnostic tools \ System Diagnostics Manager \ FAQ \ SVG plug-in
После ввода адреса и нажатия <Enter> , из целевой системы загружаются страницы ме-
неджера SDM и отображаются в браузере. Левая часть менеджера SDM используется
для навигации.
Запрос информации о состоянии элемента питания в окне распределения точек ввода/вывода (I/O mapping)
Программный пакет Runtime Utility Center используется не только для записи из среды
Automation Studio исполняемого проекта на карту памяти CompactFlash.
В состав Runtime Utility Center также включены функции, которые могут быть полезны при вводе
системы в эксплуатацию, плановом и внеплановом техническом обслуживании и ремонте.
Программа Runtime Utility Center запускается из меню Automation Studio через команду <Tools> /
<Runtime Utility Center>.
Одна из функций Runtime Utility Center заключается в снятии текущих значений переменных из
контроллера и восстановления их в более поздний момент времени.
В этом примере производилось резервное сохранение переменных только для задачи "Loop" .
Список может быть сохранен в любой директории.
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
1) Откройте Runtime Utility Center из среды Automation Studio. Создайте новый лист, выбрав
<File> / <New> из главного меню.
Если резервное копирование было выполнено для всех переменных всех задач, а затем
эти значения были перенесены обратно в контроллер, необходимо принять во внимание,
что последовательная запись значений в переменные может привести к непредсказуе-
мому поведению со стороны системы.
Если выполнение данной операции тем не менее необходимо, рекомендуется предвари-
тельно перевести контроллер в сервисный режим.
Сформированный в программе Runtime Utility Center лист инструкций может быть передан в ка-
честве исполняемого приложений для технического обслуживания и установки в систему.
Для выполнения данной операции необходим только компьютер с физическим онлайн-соедине-
нием с ЦПУ.
Требования:
• В контроллер должна быть вставлена карта памяти CompactFlash, на которой записана
исполняемая версия Automation Runtime.
• Необходимо также знать IP-адрес ЦПУ.
Исполняемый образ для установки проекта был создан без использования среды
Automation Studio.
Чтобы передать созданный в Runtime Utility Center установочный образ другим лицам, необходи-
мо записать на компакт-диск или скопировать на флеш-накопитель содержание директории, ко-
торая была указана в процессе создания образа .
Затем необходимо просто запустить файл "Start.bat" на ПК в новой системе.
Diagnostics and Service \ Service Tool \ Runtime Utility Center \ Creating a list / data medium
7 ИТОГ
Диагностика