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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Новости

Модернизация системы измерения температурных режимов автоклава паровой вулканизации РТИ, Санкт-Петербург

09.09.17

В сентябре 2017 года компанией РИТМ выполнялись работы по замене термопар и программированию системы...

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

08.09.17

В сентябре 2017 года компанией РИТМ выполнялись сборочные работы партии шкафов управления и централи...

Проектирование и поставка шкафов управления КНС, суммарной производительностью 260 куб.м/час, г. Лабытнанги

14.08.17

В августе 2017 года компанией РИТМ были выполнены работы по разработка проекта, сборке и программиро...

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