Shpakov V.M.

Russia, St. Petersburg, St. Petersburg Institute for Informatics and Automation of Russian Academy of Sciences, e-mail: vlad@iias.spb.su

AN ENVIRONMENT FOR DEVELOPMENT OF CONTROL SYSTEM MODELS SITUATION BASED EXECUTABLE SPECIFICATIONS

 

 

The paper describes an environment for development of simulation models of control systems which use knowledge about a current situation evolution. Suggested rules for the situation discrete and continuous parts transformations are considered. An effectiveness and expressiveness of using the rules for control systems executable specifications development are discussed.

 

 

Шпаков В.М.

Россия, Санкт-Петербург, Санкт-Петербургский институт информатики и автоматизации Российской академии наук, e-mail: vlad@iias.spb.su

СРЕДА РАЗРАБОТКИ СИТУАЦИОННЫХ ИСПОЛНЯЕМЫХ СПЕЦИФИКАЦИЙ МОДЕЛЕЙ СИСТЕМ УПРАВЛЕНИЯ

 

 

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

 

 

Использование исполняемых спецификаций является удобным способом разработки имитационных моделей процессов и систем, так как позволяет легко реализовать итерационный процесс их создания и модификации. Исполняемые спецификации должны отвечать двум основным требованиям. Во первых, они должны допускать эффективную реализацию с помощью исполняющей процедуры и, во вторых, обладать достаточной выразительностью спецификации процессов предметной области [1]. Ситуационный подход к спецификации процессов управления, на наш взгляд, является весьма перспективным  в смысле удовлетворения указанных требований. В работе рассматривается предложенный ограниченный набор правил трансформации дискретной и непрерывной составляющих текущей ситуации в моделях объекта управления и регулятора и обсуждаются эффективность и выразительность основанных на их использовании исполняемых спецификаций систем [2,3].

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

Состояние системы определяется состоянием ее дискретных и непрерывных элементов, внешними (входными ) воздействиями и выполнением заданных ограничений на изменения непрерывных переменных состояния.. Глобальная ситуация в модели задается множеством логических переменных S, которое разбито на классы по способу обновления состояния:  – подмножество внешних (external) воздействий,  – входных (input) сигналов,  – состояний устройств (apparatus) и  – выполнения ограничений (constraints), т.е. . С целью повышения эффективности реализации процедур обновления состояния эти переменные структурированы в виде вектора и соответствующих подвекторов. Произвольное подмножество логических переменных определяет некоторую локальную ситуацию, истинностное значение которой равно значению конъюнкции составляющих ее переменных или их отрицаний .

Рассмотрим процедуры обновления ситуаций. Изменение внешних воздействий производится пользователем интерактивно. Входные воздействия  определяются значениями координат выходного логического вектора модели объекта (регулятора) и заданными пользователем связями.

Изменения внутренних аппаратных переменных состояния  задаются пользователем с помощью набора продукционных правил типа “условие – действие”, которые имитируют причинно-следственные отношения между ситуациями. Исполняющая процедура в цикле сканирует правила и, реализуя логическое связывание вперед, осуществляет пошаговое обновление ситуаций:

,                        (1)

где , , i – индекс шага. Если на i – том шаге значение конъюнкции в левой части правила (1) имеет значение “истина”, то на следующем шаге все переменные из правой части правила принимают значения “истина”.

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

,                (2)

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

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

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

,                         (3)

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

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

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

, ,                 (4)

где  - k-тая функциональная переменная,  - функция, определяющая ее значение  на i+1 шаге в ситуации ,  - произвольная непрерывная переменная. Правила этого типа позволяют реализовать интегро-дифференциальные зависимости, контакторные схемы и типовые нелинейности систем управления. Редактор таких правил может содержать проблемно ориентированный набор функций. В разработанном в СПИИРАН прототипе среды, в частности, реализованы интегральная, дифференциальная, апериодическая и колебательная динамические функции, ПИД – зависимость и чистое запаздывание. При реализации контакторных схем может понадобиться имитация замыкания контакта при наступлении некоторого события. С каждой ситуацией можно связать два события: одно будет состоять в изменении истинностного значения ситуации  со “лжи” на “истину”, назовем его  , второе,  - с “истины” на  “ложь”. При абстрактном рассмотрении считается, что событие не имеет длительности. В среде моделирования событие представляется логической переменной  , которая истинна в течение одного шага непосредственно после изменения специфицируемой ситуации. Для реализации события используется вспомогательная логическая переменная  , которая повторяет значение ситуации со сдвигом на один шаг, т.е.  . С учетом этого в соответствии с правилом (1) для событий будем иметь: (not  и (not  .Сформированные таким образом логические переменные могут использоваться в левых частях правил (4) для имитации замыкания контакта - присваивания функциональным переменным значений функций от произвольных непрерывных переменных.

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

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

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

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

 

            V.M.Shpakov, M.V.Shpakov, A.V.Smirnov “A Tool for Creation of Executable Discrete-Event System Specification”, Инструмент, no. 6, (in English), The special issue of the Magazine for the Hanover Fair, 1997, pp. 4-5.

            F.Pichler, H.Schwartzel (eds.) (1992), "CAST Methods in Modelling", Springer Verlag, Berlin.

            Vladimir Shpakov, Alexander Smirnov, Oleg Zaikin “An Approach and an Environment for Hybrid Dynamic System Simulation”, Proceedings of the 6 th International Conference on Advanced Computer Systems, 1999, Szczecin, Poland, pp.147-152.