Создание автоматически обновляемой пиктограммы рассмотрим на примере функционального генератора (рис. 9.10.2). Генератор может вырабатывать сигнал трех видов: треугольный, прямоугольный и синусоидальный. Вполне логично было бы создать такую пиктограмму, на которой отображалась бы форма выбранного на текущий момент сигнала. Это достаточно легко сделать, поскольку за выбор формы сигнала в рабочей области маски отвечает переменная Wave_form. Числовое значение этой переменной равное 1 соответствует треугольному сигналу на выходе генератора, значение равное 2 соответствует прямоугольному сигналу, и 3 – синусоидальному. Реализация поставленной задачи обеспечивается указанными ниже командами, которые необходимо ввести в графе Initialization commands редактора маски:
case 3 % синусоидальный сигнал x=(-314*2:314*2)/100; y=sin(x); end;
Примечание: Здесь и в дальнейшем в текстах на языке MATLAB включены комментарии на русском языке, которые необходимо удалить при составлении выражений в среде MATLAB.
В зависимости от значения переменной Wave_formвекторам x и y присваиваются разные значения, благодаря чему команда построения графика plot(x,y);, указанная в графе Drawing commandsстроит разные графики.
Пример, показывающий все три варианта пиктограммы генератора, представлен на рис. 9.10.11. В примере, дополнительно, строятся оси координат с помощью следующих команд:
Также в графе графе Drawing commandsвведена команда, рисующая одну точку в левом нижнем углу пиктограммы:
plot([-10,-10],[-1.2 -1.2]);
С помощью этой команды достигается относительное смещение графиков вправо. Таким образом в левой части пиктограммы появляется дополнительное свободное место для отображения меток входных портов (управление портами маскированной подсистемы будет рассмотрено позже).
Рис. 9.10.11 Варианты пиктограммы функционального генератора.