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

Я имитирую сценарий, когда транспортные средства отправляют сообщение в RSU, как только они сгенерированы. Для этого я попытался включить код для сообщения wsm в свой метод инициализации файла TraCIDemo11p.cc, но сообщения не отправляются, как только транспортное средство генерируются в сети. Как решить эту проблему??


person Tapu    schedule 26.03.2017    source источник
comment
Хотя я ничего не знаю о veins, в большинстве случаев добавление исходного кода, который вы написали к себе, помогает другим читателям понять вашу проблему. Поэтому, пожалуйста, отредактируйте свой вопрос и добавьте соответствующие строки кода.   -  person ventiseis    schedule 26.03.2017
comment
Ответ на этот вопрос?   -  person Julian Heinovski    schedule 22.07.2018


Ответы (1)


Метод initialize следует использовать только для инициализации модуля и его компонентов. Модули могут зависеть от других модулей, и вы не знаете фактический порядок выполнения всех этих initialize методов для всех модулей в моделировании. Следовательно, могут быть еще не инициализированные модули, которые необходимы для отправки сообщений другим автомобилям.

Лучше запланировать самосообщение в инициализируйте ближайшее будущее, чтобы отправить ваше сообщение:

scheduleAt(selfMessage, simTime() + SimTime(1, SIMTIME_MS));

Таким образом, вы можете быть абсолютно уверены, что каждый модуль, необходимый для отправки сообщений, действительно инициализирован. Вы можете попробовать разные значения времени планирования.

person Julian Heinovski    schedule 26.03.2017
comment
Спасибо за ответ, но я не понимаю смысла планирования собственного сообщения в методе инициализации. Не могли бы вы разработать свое решение, а также предложить некоторые материалы для чтения для отправки сообщения в RSU ?? - person Tapu; 28.03.2017
comment
Вам следует ознакомиться с концепцией самосообщений, поскольку она является центральной концепцией OMNeT++. Вы можете сделать это, прочитав руководство и выполнив TicToc-Tutorial. - person Julian Heinovski; 28.03.2017