Управляйте цветом лампы на инструментальной панели

В этом примере показано, как управлять цветом индикатора лампы на инструментальной панели, которая соединяется с приложением Simulink Real-Time.

Операции в качестве примера:

  • Создайте uifigure, Добавьте Лампы и Добавьте Метки

  • Открытое приложение реального времени модели и сборки

  • Соедините лампы и добавьте инструмент

  • Наблюдайте цветной цикл ламп

  • Демонтируйте инструмент

  • Закрыть модель

Создайте uifigure и Добавьте Компоненты

f = uifigure;
lamp1 = uilamp(f);
lamp1.Position = [10 300 20 20];
tlabel1 = uilabel(f);
tlabel1.Position = [40 298 100 22];
tlabel1.Text = 'Lamp 1';
lamp2 = uilamp(f);
lamp2.Position = [10 200 20 20];
tlabel2 = uilabel(f);
tlabel2.Position = [40 198 100 22];
tlabel2.Text = 'Lamp 2';

Создание и запуск приложения реального времени

model = 'slrt_ex_lamp_instrument';
open_system(model);
evalc('slbuild(model)');
tg = slrealtime;
load(tg,model);
start(tg);
pause(2);
inst = slrealtime.Instrument;
inst.connectScalar(lamp1, 'lamp1', 'Property', 'Color', 'Callback', @setLampColor);
inst.connectScalar(lamp2, 'lamp2', 'Property', 'Color');
addInstrument(tg,inst);
pause(10);
stop(tg);
removeInstrument(tg,inst);
bdclose('all');

function color = setLampColor(~,d)
    switch uint8(d)
        case 5
            color = 'green';
        case 4
            color = 'yellow';
        case 3
            color = 'cyan';
        case 2
            color = 'magenta';
        case 1
            color = 'red';
        otherwise
            color = 'white';
    end
end
Для просмотра документации необходимо авторизоваться на сайте