Отправка сообщений со строковыми данными

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

См. также

Похожие темы