StateFlow   ОКМ   ДМ   экономическая информатика   визуальные среды - 4GL   Теория и практика обработки информации

Cистема численно-математического моделирования MatLab

Stateflow - Simulink

Выходы вызова функций Stateflow

Взаимодействие между Simulink и Stateflow может осуществляться по-разному. Каждая Stateflow-диаграмма является подсистемой Simulink-модели и поэтому может как запускаться другими подсистемами, так и запускать их. Stateflow-диаграммы запускаются на выполнение каждый раз, когда они модифицированы Simulink-моделью в процессе моделирования. Диаграмма Stateflow может быть модифицирована либо в том случае, когда это инициировано сигналом Simulink-модели (событием для Stateflow-диаграммы или поступающей на вход Stateflow-диаграммы переменной), либо на каждом шаге дискретизации модельного времени. В свою очередь и Stateflow-диаграмма имеет возможность запускать другие Simulink-подсистемы. С этой возможностью Stateflow нас знакомит группа примеров Function Call Outputs (Выходы вызова функции). Выходы вызова функции используются, чтобы управлять процессом активизации других Stateflow-диаграмм или Simulink-подсистем.

Первый пример - function call (subsystem and chart) вызов функции (в подсистеме и диаграмме)

Запустим Simulink-модель sf_eventfcn.mdl.

В этом демонстрационном примере Stateflow-диаграмма с именем 'Source' управляет активизацией другой Stateflow-диаграммы Function-Call Chart и подсистемы Function-Call Subsystem. Диаграмма Function-Call Chart активизируется после каждого 3-го временного шага моделирования сигналом 'out_fcn' вызова функции. Подсистема Function-Call Subsystem активизируется после каждого 2-го временного шага моделирования, получая сигнал вызова функции с именем 'out_fcn_two'. Логика работы Stateflow-диаграммы 'Source' представлена на следующем рисунке.

То, как описаны используемые в диаграмме 'Source' события и переменные, можно увидеть в окне обозревателя Stateflow Explorer.

Работа Function-Call Chart понятна из следующей диаграммы.

Для нее имеет место следующее описание переменных.

Подсистема Function-Call Subsystem организована так.

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

На этих графиках интервалы дискретизации времени составляют 3 единицы для диаграммы Function-Call Chart и 2 единицы для подсистемы Function-Call Subsystem. Это легко увидеть, если увеличить масштаб изображения по оси X.

Второй пример - function call to multiple charts вызов функции в нескольких диаграммах

Так выглядит Simulink-модель sf_multfuncout.mdl.

Цель этого демонстрационного примера - проиллюстрировать применение обратной связи при использовании выходов вызова функции. Диаграмма 'Source' посылает сигнал 'out_fcn_two' когда переходит от состояния A к состоянию B или наоборот.

Каждый раз сигнал 'out_fcn_two' активизирует диаграмму 'Counter'.

Диаграмма 'Counter' выдает на выход переменную 'out_one', которая поступает назад к 'Source' как переменная 'Input from Simulink'. Если диаграмма 'Source' находится в состоянии B, то происходит переход из состояния B в состояние C, если при этом величина сигнала 'out_one' больше 10. Если этот переход состоялся, то новое событие вызова функции, 'out_fcn' отправляется диаграмме 'Delay' ('Задержка').

Диаграмма 'Delay' добавляет к своему выходу 'out_two' единицу каждый раз, когда активизируется. Из диаграммы 'Scope' видно , что имеется начальная задержка, которая определяется временем, необходимым для выдачи первого события 'out_fcn'.

StateFlow   ОКМ   ДМ   экономическая информатика   визуальные среды - 4GL   Теория и практика обработки информации

Знаете ли Вы, что математическое программирование - это (1) раздел математики, исследующий методы решения задач отыскания экстремума на заданном множестве допустимых значений переменных; (2) формализм, используемый для представления знаний о структуре моделируемых объектов в форме задачи отыскания экстремума на заданном множестве допустимых значений переменных.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution