Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
273
Добавлен:
15.04.2015
Размер:
1.74 Mб
Скачать
    1. Объекты Stateflow диаграммы

Stateflow диаграмма ( Stateflow Chart) состоит из набора графических (состояния, переходы, соединения) и неграфических (события, данные, программные коды) объектов.

Состояние (State) – режим, в котором моделируемая система пребывает некоторое время, в течение которого она ведет себя одинаковым образом. Например, система может находиться в одном из двух состояний: работоспособном и неработоспособном. В диаграмме состояний и переходов состояния изображаются прямоугольниками с округленными углами.

Переход (Transition) – изменение состояния, обычно вызываемое некоторым событием. Переходы показываются линиями со стрелками, указывающими направление перехода. В большинстве случаев переход указывает на изменение состояния системы.

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

События управляют выполнением диаграммы Stateflow. Наступление события может запустить переход, и тогда он происходит, или может запустить действие, и тогда оно выполняется.

Действие (Action) – это результат выполнения какой-либо части диаграммы Stateflow.

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

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

Entry – действия при входе в состояние;

During – действия во время активности состояния;

Exit - действия при выходе из состояния;

On event_name – действия при наступлении события event_name.

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

На рис. 2 для состояния с именем H0 указано действие S=S+1, которое выполняется при входе в это состояние.

H0/

Entry: s=s+1

Рис. 2. Пример изображения состояния

Линии соединения могут разделяться на сегменты. Для этого используют объекты – соединения (узлы).

Соединение (Connective Junction) – графический объект, предназначенный для указания точки принятия решения в системе.

В следующем примере имеются два сегментированных перехода: один из состояния H0 к состоянию H1, а другой – от состояния H0 обратно к состоянию H0 (рис. 3).

Рис. 3. Использование перехода (узла)

Переходы характеризуются метками. Метка может включать в себя имя события, условие, действие и/или действие перехода. Метки перехода имеют следующий формат:

Событие [ условие] { действие условия}/ действие перехода.

Любая часть метки может отсутствовать.

Переход происходит при наступлении события, но с учетом истинности условия, если оно определено. Условия заключаются в квадратные скобки, а действия условий – в фигурные скобки. Действия условий выполняются перед тем как переход осуществится. Действия перехода выполняются после того, как переход стал возможен и при истинности условия. Действия перехода обозначаются символом (/).

Переход по умолчанию (рис. 3) определяет, какое из нескольких состояний должно быть активным, когда имеется неопределенность между двумя или более исключительными (ИЛИ) состояниями.

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

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