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

Этот пример показывает, как сконфигурировать пару графиков Stateflow®, которые связываются путем отправки сообщений, которые несут данные о строке. Для получения дополнительной информации смотрите, Связываются с диаграммами Stateflow путем Отправки сообщений.

Эта модель содержит два графика, которые используют C в качестве языка действия. Во время симуляции Эмиттерный график читает входную строку key из блока String Constant и отправляет сообщение в график Получателя. Данные о сообщении состоят из входной строки key. График Получателя сравнивает строку с постоянным ключевым словом и возвращает выводимую строку, которая предоставляет или запрещает доступа.

Эмиттерный график

Эмиттерный график состоит из одного A состояния. Когда состояние становится активным, оно устанавливает данные для сообщения M к входному значению key и отправляет сообщение в график Получателя.

Эта таблица приводит осциллограф и тип для символов в графике.

СимволОсциллографВвод
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".

Смотрите также

Похожие темы