О методах отладки программ автоматизированных систем управления технологическими процессами

Отладку программного обеспечения АСУ ТП традиционно осуществляют по классической схеме (снизу—вверх) в следующей последовательности: авто­номная программ в статике; комплексная — подсистем и системы в ста­тике, а также в динамике без подключения к реальному объекту и с реальными объектами.

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

Автономную отладку систем управления технологическими процессами подразделяют на три этапа: ручной отладки без ис­пользования вычислительных машин; отладки на универсальных и отладки на управляющих программируемых логических контроллерах (ПЛК). Второй этап может отсутствовать.

При ручной отладке ПО программируемых логических контроллеров (ПЛК) автоматизированных систем, спроектированного на автокоде, решаются сле­дующие задачи: проверка записи программы на соответствие синтаксическим и семантическим правилам выбранного языка; логики программы на соот­ветствие ТЗ и структурной схеме; основных логических маршрутов обработки информации; уточнение содержания и структуры входной и выходной инфор­мации и способа сопряжения проверяемого модуля с другими по информации и управлению; подготовка и предварительная проверка программ по тестам, используемым при автономной отладке на программируемых логических контроллерах (ПЛК).

Для повышения методичности процесса отладки систем управления технологическими процессами применяют различные бланки и таблицы, содержащие следующие разделы:

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

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

  • соответствие переходов в тексте программы логике ТЗ (спецификациям); последовательность расчета, запоминания и использования переменных величин;
  • правильность использования данных;
  • состав исходной информации при включении ЦВМ и при изменении режи­мов функционирования и возможность решения задачи при этих условиях.

После трансляции и устранения синтаксических ошибок, выявленных при трансляции, наступают этапы автономной отладки на ЦВМ. Отладка систем управления технологическими процессами начинается с проверки прохождения частных тестов и носит итерационный характер с постепенным усложнением тестов.

Прежде чем приступить к локализации причины неработоспособности программы, следует определить ее природу — является ли она следствие ошибки: аппаратуры, операционной системы, компилятора или специального ПО. При обнаружении ошибки в специальном ПО возникает вопрос, в какой его части находится ошибка. Ответ на этот вопрос обычно удается найти методом исключения из рассмотрения маловероятных источников ошибки. Реко­мендуется проверить, является ли ошибка повторяющейся и устойчивой, такие ошибки легче обнаружить. Классическими способами отладки являются дампинг памяти и трассировка.

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

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

  • для подпрограммы — для отпечатки индикационных признаков каждой ситуации, в которой осуществляется вызов конкретной подпрограммы (жела­тельно печатать все аргументы, представленные в подпрограмме, и признаки того, осуществила ли подпрограмма нормальный выход);
  • для переменной — для распечатки значений указанных переменных, элементов данных, областей рабочей памяти, массивов и т. п.;
  • для оператора — как вынужденное средство после того, как все другие ви­ды отладочных приемов не дают результата (в этом виде распечатки выдаются значения всех переменных (регистров), которые затрагиваются некоторым программным оператором как до, так и после выполнения этого оператора);
  • для терминала — показывает все входные и выходные сообщения для кон­кретного терминала или группы терминалов;
  • по времени — в АСУ ТП иногда трудно понять, что нужно прослеживать, так как ошибку трудно привязать к какой-либо подпрограмме или конкрет­ной переменной (для этого случая используют трассировочную программу, периодически печатающую (или записывающую на диск) содержимое выбран­ных участков памяти);
  • условные — работают при выполнении тех или иных условий (например, «пришел сигнал А и переменная В положительна» и т. п.).

Комплексная отладка подсистем и системы в статике. Проверяется и корректируется сопряжение отдельных автономно отлаженных программ автоматизированных систем по информации и управлению в некоторые фиксированные моменты времени. При этом устанавливается тождественность входных и выходных связей со­прягаемых частей (как по информации, так и по управлению). Этот этап отличается от последующих полным игнорированием реального времени включения программ операционной системой и реальной динамики взаимо­действия подсистем. Функционирование этих подсистем имитируется ин­формацией, подготавливаемой в составе тестов. Реальный объект систем управления технологическими процессами к контуру управления и обработки данных не подключен. Все обратные связи разомк­нуты либо представлены упрощенно. Система прерывания выключена.

Комплексная отладка системы в динамике без подключения к реальному объекту (с использованием программных или физических имитаторов автоматизированных систем) обес­печивает:

проверкой отладку начального режима включения системы при отсут­ствии информации от внешних терминалов;

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

Комплексная отладка системы с реальным объектом — завершающий этап отладки автоматизированных систем. При этом корректируется взаимодействие программного обес­печения в реальном масштабе времени и уточняется автономное решение за­дач АСУ ТП в реальных условиях. Проверяются и отлаживаются система функционального контроля, системы контроля подсистем передачи данных, а также всего комплекса средств, обеспечивающих устойчивость ПО программируемых логических контроллеров (ПЛК).

На этом этапе происходит уточнение целей управления, выбранных мето­дов решения задач АСУ ТП, используемых математических моделей и спосо­бов реализации ПО, приводящее к пересмотру проектных решений и повторе­нию этапов проектирования.

Эффективным отладочным средством на этапе динамической отладки яв­ляется диалоговая отладочная система реального времени с использованием языков высокого уровня. Такая система обычно обеспечивает следующее:

  1. Операторы или команды для установления и изъятия контрольных

точек в любом месте программы. При достижении программой этой точки ее текущее, состояние «замораживается» и управление передается программисту. Точка устанавливается заданием номера оператора относительно какой-либо метки или входной точки. Следовательно, отладочная система должна иметь доступ к таблице символов или к исходному тексту программы. Проблема значительно упрощается при работе с интерпретирующими трансляторами (типа языка БЕЙСИК).

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

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

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

  1. Средства анализа и изменения любого элемента данных в программе после того, как ее состояние «заморожено» и управление передано програм­мисту. Для этого в простейшем случае может понадобиться выполнение опе­раторов назначения или печати, из чего следует, что система должна быть в состоянии вызвать компилятор. Более сложные операции могут, например, использовать операторы цикла для распечатки элементов массива.

Язык от­ладочной системы автоматизированных систем обычно оказывается шире исходного языка. Например, мо­гут понадобиться последние N наборов параметров, с которыми происходил вызов какой-либо процедуры и т. п.

  1. Возможность перезапуска программы автоматизированных систем не обязательно с той точки, где она прервана.
  2. Средства для изъятия, замены и вставки новых частей в программы систем управления технологическими процессами. Идеальным случаем является возможность получить требуемые изменения немедленно. Если программа хранится в скомпилированной форме, единственным способом внесения изменений является редактирование символьного текста и перекомпиляции (повторная трансляция). Если в системе используется интерпретатор, то модификация программы легко реализуема.

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

  1. Средства получения статистической информации о поведении программы (список операторов и подпрограмм, которые не выполнялись, список неиспользованных переменных и др.).
  2. Средства конструирования тестового обрамления. В ка­честве средства общения с программистом обычно используется видеотерми­нал.

Новости

Установка производства кристаллов по методу MPECVD, модернизация системы автоматического управления, г. Москва

22.11.22

Установка производства кристаллов по методу MPECVD, модернизация системы автоматического управления,...

Установка для точного дозирования заданного объема реагента, пос. Кузьмолово, Ленинградская обл.

02.12.22

Установка для точного дозирования заданного объема реагента, пос. Кузьмолово, Ленинградская обл. В ...

Водогрейная газовая котельная 30 МВт, разработка ПО и пуско-наладочные работы, г. Кудрово, Санкт-Петербург

01.12.22

Водогрейная газовая котельная 30 МВт, разработка ПО и пуско-наладочные работы, г. Кудрово, Санкт-Пет...

Заказчики
Поставщики