Загрузка переменных из рабочего пространства Stateflow
Еще с одной возможностью Stateflow нас знакомит демонстрационный пример Workspace Data - Data From Workspace.
Откроем Simulink-модель sf_fromworkspace.mdl.
Этот демонстрационный пример показывает, что переменные Stateflow-диаграммы могут быть определены и инициализированы из рабочего пространства MATLAB. Чтобы получить такое свойство локальных переменных в Stateflow, необходимо поставить в соответствующих им строках обозревателя Stateflow Explorer флажок ' FrWS ' ('инициализируются из рабочего пространства'). В этом примере из рабочего пространства MATLAB решено инициализировать две переменные: 'gain' ('усиление') и 'delay' ('задержка').
Переменная 'gain' используется для задания коэффициента усиления передаваемого на выход синусоидального входного сигнала, а переменная 'delay' - чтобы задать временной интервал, в течение которого на выходе будет нулевой сигнал.
При открытии этой модели в рабочее пространство MATLAB загружаются следующие значения переменных: gain=5 и delay=20. Осциллограммы выходного и входного сигналов имеют следующий вид.
Переменные могут задаваться и изменяться непосредственно от рабочего пространства. Например, изменение значения коэффициента усиления 'gain' до 9 эквивалентно выполнению следующей команды в командной строке MATLAB:
>> gain = 9;
Запустив после этого модель на выполнение, можно убедиться в изменении амплитуды выходного сигнала.