Ошибка, которую вы получаете, является просто ограничением сценария Castalia. В руководстве пользователя Castalia четко указано об этом ограничении в разделе 3.5.3 . Вы также можете выполнить поиск по этой строке: has more than one parameter and cannot be used with '=' syntax"
в сценарии Castalia, чтобы узнать больше подробностей или подумать, как можно расширить ее для поддержки нескольких параметров cmdline для конфигурации.
Но расширение функциональности на самом деле не нужно. Один простой обходной путь - определить индивидуальные конфигурации для каждого узла. Например
[Config GTSon-n1]
SN.node[1].Communication.MAC.requestGTS = ${GTS1=0}
[Config GTSon-n2]
SN.node[2].Communication.MAC.requestGTS = ${GTS2=4}
...
Тогда вы можете использовать Castalia для запуска
$ Castalia -c ZigBeeMAC,GTSon-n1,GTSon-n2
Или измените параметр в командной строке
$ Castalia -c ZigBeeMAC,GTSon-n1=3,GTSon-n2=5
В целом, я хотел бы предположить, что изменение параметров симуляции в командной строке не очень хорошая идея (по крайней мере, для ваших обычных симуляций). Эту функцию следует использовать только для запуска одноранговых исследовательских симуляций, где вы быстро захотите проверить эффект изменения, не редактируя INI-файл. Дополнительный бонус заключается в том, что командная строка сохраняется вместе с выходным файлом, поэтому у вас есть некоторое представление о том, как был создан этот выходной файл. Вот почему эта функция была добавлена в Castalia. Тем не менее, для ваших регулярных исследований симуляции, вы должны иметь значения параметров (или диапазон значений) в самом INI-файле. Таким образом, имеется надлежащая запись о том, каким должно быть изучение симуляции. INI-файлы OMNeT ++ достаточно универсальны, и вы можете добиться многого с помощью их синтаксиса. Убедитесь, что вы знаете обо всем, что может предложить OMNeT, прочитав главу 9 руководства OMNeT ++ 4.x .