В этом примере показано, как сконфигурировать пару 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"
.