#matlab #function #simulink
#matlab #функция #simulink
Вопрос:
Я создал функцию в Matlab, которая автоматически создает блоки ввода и вывода.
У меня есть M-S-функция и эти блоки вывода и ввода.
Теперь я хочу соединить со строкой эти ввод и вывод с помощью M-S-функции, и я не знаю, как это сделать.
Как добавить больше входных и выходных портов в M-S-Function?
Вот так:
Это должно быть сгенерировано в функции программно.
Комментарии:
1. Вы говорите о S-функции m-code? Если это так, количество входов и выходов определено в m-коде (и не будет изменяться программно). Вы бы присоединили блоки ввода к входным портам S-функции с помощью
add_line
.2. Я пытался с помощью add_line, но у этой S-функции нет 2 или более входов и выходов, у него есть только один вход и выход, я хочу добавить больше входов и выходов к этой функции. Возможно ли это?
3. Если это S-функция с m-кодом уровня 1 (которую вы не должны писать), тогда у нее будет только 1 входной порт, и вам нужно
mux
объединить сигналы, прежде чем помещать их в S-функциональный блок. Если это S-функция m-кода уровня 2, то количество портов не будет установлено до тех пор, пока блок не будет инициализирован (поэтому модель просматривает код и видит, сколько входов и выходов ему нужно для работы). Вероятно, вам потребуется принудительная инициализация, чтобы заставить это работать.4. Это S-функция уровня 2. Как я могу выполнить эту инициализацию с помощью кода?
5.
modelname([],[],[],'compile')
принудительно перекомпилирует. За этим должно последоватьmodelname([],[],[],'term')
его освобождение.