В этом примере показано, как сконфигурировать пару графиков Stateflow®, которые связываются путем отправки сообщений, которые несут данные о строке. Для получения дополнительной информации смотрите, Связываются с диаграммами Stateflow путем Отправки сообщений.
Эта модель содержит два графика, которые используют C в качестве языка действия. В процессе моделирования график Emitter читает входную строку key
от блока String Constant и отправляет сообщение в график Receiver. Данные о сообщении состоят из входной строки key
. График Receiver сравнивает строку с постоянным ключевым словом и возвращает выводимую строку, которая предоставляет или запрещает доступа.
График Emitter состоит из одного A
состояния. Когда состояние становится активным, оно устанавливает данные для сообщения
M
к входному значению key
и отправляет сообщение в график Receiver.
Эта таблица приводит осциллограф и тип для символов в графике.
Символ | Осциллограф | Ввод |
---|---|---|
key | Входные данные | Inherit: Same as Simulink |
M | Выходной сигнал | string |
График состоит из двух состояний, к которым соединяет переход. Входной сигнал M
охраняет переход. Если существует существующее сообщение, и его значение данных равняется постоянной строке lock
, затем переходы действия состояния от Off
к On
. График выводит значение строки 'Access Granted'
. Если нет никакого существующего сообщения, или если значение данных не равняется lock
, график не берет переход, и выходным значением является 'Access Denied'
.
Эта таблица приводит осциллограф и тип для символов в графике.
Символ | Осциллограф | Ввод |
---|---|---|
M | Входной сигнал | Inherit: Same as Simulink |
lock | Постоянные данные | string |
sout | Выходные данные | string |
Постоянная строка lock
содержит секретный пароль, первоначально набор к 'Open Sesame'
. Можно изменить значение lock
в поле Initial value Property Inspector.
В процессе моделирования модель отвечает на пароль, который вы вводите в блоке String Constant:
Если вы вводите неправильный пароль, такой как "Abracadabra"
, затем модель отображает выводимую строку "Access Denied"
.
Если вы вводите правильный пароль, в этом случае, "Open Sesame"
, затем модель отображает выводимую строку "Access Granted"
.