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

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

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

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

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

Существенное влияние на процесс тестирования и отладки систем автоматизации при проектировании оказывают документация, отладочные коды, модульность и пара, метизация.

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

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

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

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

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

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

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

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

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

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

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

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

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

Планирование в процессе проведения отладки систем управления технологическими процессами. Проведение экспери­мента предусматривает три вида работ: планирование; реализацию; обработ­ку результатов.

При составлении плана отладки должны решаться следующие зада­чи:

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

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

При построении заданий на отладку должны быть решены следующие задачи:

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

Новости

Линия производства цветных принтерных чернил общим объемом 2000 литров - проектирование и поставка автоматической системы управления, г. Эгль, Швейцария

06.01.24

Линия производства цветных принтерных чернил общим объемом 2000 литров - проектирование и поставка а...

Снабжение факельной установки топливным газом на период аварийного отключения - поставка системы управления и выполнение ПНР, порт Тамань, Краснодарский край

06.01.24

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

Контроль расхода кислорода. Проектирование и поставка шкафа автоматики мониторинга, Санкт-Петербург

06.01.24

Контроль расхода кислорода. Проектирование и поставка шкафа автоматики мониторинга, Санкт-Петербург ...

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