УДК 681.5

О ПРОВЕРКЕ ПРОГРАММ АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ

Антипин Андрей Федорович
Стерлитамакский филиал Башкирского государственного университета
кандидат технических наук, доцент кафедры прикладной информатики и программирования

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

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


ABOUT VERIFICATION OF PROGRAMS OF AUTOMATED CONTROL SYSTEMS

Antipin Andrey Fedorovich
Sterlitamak branch of the Bashkir state University
candidate of technical sciences, associate Professor of the Department of applied informatics and programming

Abstract
The article is devoted to the questions of verification of programs of automated control systems, based on the concept of semantic analysis of the condition-action rules of multidimensional logic controllers, in order to identify critical errors.

Keywords: automated control system, fuzzy controller, multidimensional logic regulator, system of condition-action rules


Библиографическая ссылка на статью:
Антипин А.Ф. О проверке программ автоматизированных систем управления // Современная техника и технологии. 2015. № 1 [Электронный ресурс]. URL: http://technology.snauka.ru/2015/01/5458 (дата обращения: 27.05.2017).

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

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

Автором предлагается следующий способ проверки программного кода АСУ, основанный на концепции семантического, или смыслового, анализа системы продукционных правил (СПП) многомерного логического регулятора (МЛР) с переменными в виде совокупности аргументов двузначной логики.

МЛР, разработанный автором, является разновидностью нечётких регуляторов (НР), где каждому терму непрерывной физической величины на каком-либо отрезке числовой оси отводится отдельный участок, который не перекрывается соседними термами.

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

На рис. 1 представлена упрощенная блок-схема МЛР, где И1, И2, …, Иn и Д1, Д2, …, Дk – интервализаторы и деинтервализаторы МЛР соответственно, объединенные в блоки БИ и БД; X1, X2, …, Xn и Z1, Z2, …, Zk – входные и выходные переменные МЛР соответственно; БЛВ – блок логического вывода МЛР; T (X1), T (X2), …, T (Xn) и T (Z1), T (Z2), …, T (Zk) –номера термов, значения которых равны логической единице; Nтек – идентификационный номер (ID-номер) продукционного правила в текущий момент t; # – составляющая ID-номера правила, формируемого из порядковых номеров термов T (X1), T (X2), …, T (Xn) и T (Z1), T (Z2), …, T (Zk) [1].


Рисунок 1 – Упрощенная блок-схема МЛР

Семантический анализ системы правил МЛР с целью выявления пустых, противоречащих и дополняющих друг друга правил, а также неиспользуемых термов, основан на концепции, состоящей из следующих основных положений [2]:

а) если продукционное правило не содержит термы переменных МЛР, то это аварийное правило или правило защиты. В МЛР может быть только одно такое правило;

б) если правило или только консеквент (заключение) не содержит термы переменных МЛР, то это пустое правило;

в) если правило A соответствует правилу B, то это повторяющиеся правила;

г) если консеквенты правил A и B идентичны, но их условные части (антецеденты) – нет, то это взаимодополняющие правила. Их можно и нужно объединять при возможности;

д) если антецеденты правил A и B идентичны, но при этом значения их консеквентов не равны друг другу и не содержат одинаковых номеров термов для каждого из используемых блоков МЛР, то это противоречащие правила, иначе это взаимодополняющие правила;

е) если правило A не равно правилу B, то:

– если условные части правил не содержат одинаковых порядковых номеров термов для каждого из используемых блоков, то правила A и B – нормальные, т. е. они удовлетворяют структуре МЛР;

– если правила A и B не нормальные, но при этом значения их консеквентов не равны друг другу и не содержат одинаковых порядковых номеров термов для каждого из блоков МЛР, то это противоречащие правила, иначе это взаимодополняющие правила.

Далее введем понятия полной, частично полной и неполной системы правил.

Предположим, что значение переменной x может меняться в диапазоне [0; 100]. Тогда для системы правил S (здесь и далее примеры программ приведены в синтаксисе языка Pascal):

if x < 70 then begin <блок операторов 1> end

else if x < 80 then begin <блок операторов 2> end

else begin <блок операторов 3> end;

термы переменной x соответствуют следующим интервалам: [0; 70), [70; 80) и (80; 100].

Такая система правил является полной, то есть она описывает все возможные действия при всех возможных вариантах значений переменной x.

В общем виде полная система правил Sп для непрерывной переменной x, представленной совокупностью n термов T, имеет вид

if T1 then begin <блок операторов 1> end

else if T2 then begin <блок операторов 2> end


else begin <блок операторов n> end;

СПП Sчп для непрерывной переменной x является частично полной, если её можно считать полной, но при этом в ней отсутствует проверка истинности некоторых термов. Например, в системе правил S:

if T1 then begin <блок операторов 1> end

else if T3 then begin <блок операторов 2> end


else begin <блок операторов n – 1> end;

отсутствует проверка истинности терма T2, но, если нахождение x в пространстве значений данного терма не влияет на значения других переменных АСУ, то такая система правил является частично полной.

Если система правил не включает все возможные действия при всех возможных вариантах значений переменной x, то она является неполной и обозначается как Sн.

Решить, является ли некоторая СПП полной, частично полной или неполной может только эксперт [5].

Предлагаемый автором способ анализа программ АСУ заключается в следующем:

1. Для того чтобы в полной мере использовать преимущества описанных выше подходов, следует представить АСУ в виде МЛР, а все ее параметры (переменные) интерпретировать эквивалентной совокупностью аргументов двузначной логики (термами).

2. Выделить в программном коде АСУ системы правил для каждой из её переменных, термы которых содержатся в антецедентах правил.

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

4. Выполнить семантический анализ МЛР, согласно приведенной выше концепции.

Шаги п. 1 и п. 2 можно объединить.

Рассмотрим пример использования данного способа для АСУ дистилляционной колонны, важной составляющей которой является конденсатор дистилляции (КДС). Автоматическое поддержание температурного режима колонны выполняется путём изменения расхода пара в дистиллер [3]. Блок-схема алгоритма регулирования представлена на рисунке 3, где TКДС – температура газа из КДС [4].


Рисунок 3 – Блок-схема алгоритма регулирования температурного режима колонны

Пример интерпретации TКДС совокупностью термов представлен на рис. 4, где термы T2, T3, T5 и T6 позволяют осуществить более плавное регулирование, а термы T1 и T7 – какие-либо защитные действия.


Рисунок 4 – Пример интерпретации TКДС совокупностью термов

Шаги п. 3 и п. 4 можно выполнять в любой последовательности и неоднократно.

Если шаг п. 3 может выполнить только специалист, или эксперт, то шаг п. 4 можно и нужно автоматизировать, что позволяет сделать данный способ более доступным. Так описанный выше способ семантического анализа реализован в разработанном автором программном обеспечении в составе системы автоматизированной разработки многомерных логических регуляторов с переменными в виде совокупности аргументов двузначной логики, скриншот которого представлен на рис. 5.


Рисунок 5 – Скриншот программы семантического анализа системы автоматизированной разработки многомерных логических регуляторов

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


Библиографический список
  1. Антипин А.Ф. Сравнительный анализ быстродействия дискретно-логического регулятора // Программные продукты и системы. 2010. № 1. С. 75–77.
  2. Антипин А.Ф. Об одном способе анализа структуры многомерного четкого логического регулятора // Прикладная информатика. 2012. № 5. С. 30–36.
  3. Крашенинников С.А. Технология кальцинированной соды и очищенного бикарбоната натрия. 3-е изд., перераб. и доп. М.: Высшая школа, 1985. – 287 с.
  4. Антипин А.Ф. Системы управления технологическими процессами на базе многомерных логических регуляторов // Автоматизация и современные технологии. 2014. № 1. С. 12–18.
  5. Степашина Е.В., Мустафина Е.А. Численный алгоритм уточнения механизма химической реакции DRGEP-методом // Журнал Средневолжского математического общества. 2011. Т. 12. № 3. С. 122.


Все статьи автора «Антипин Андрей Федорович»


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

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

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

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться: