В этом примере показано, как находить неявные преобразования шины в вектор и управлять ими.
Блоки, которые не принимают шины, могут неявно преобразовывать шины в векторы. Когда шина рассматривается как вектор, элементы шины становятся недоступными.
Некоторые шины не могут преобразовываться в векторы. Дополнительные сведения см. в разделе Bus to Vector.
Открытие и моделирование модели ex_bus_to_vector.

Чтобы принять шину, блоки усиления неявно преобразуют шину в вектор.
Для идентификации шин, обрабатываемых как векторы перед моделированием, используйте функцию Simulink.BlockDiagram.addBusToVector.
[blocks] = Simulink.BlockDiagram.addBusToVector('ex_bus_to_vector')### Processing block diagram 'ex_bus_to_vector'
### Number of blocks left that are connected to a bus being used as a vector: 2
### Done processing block diagram 'ex_bus_to_vector'
blocks =
1x2 struct array with fields:
BlockPath
InputPort
LibPath
Для идентификации шин, обрабатываемых как векторы во время моделирования, установите для сигнала Bus, обрабатываемого как параметр конфигурации вектора, значение warning или error. Значение по умолчанию для сигнала шины, обрабатываемого как вектор, равно none, которая не генерирует предупреждения или сообщения об ошибке, когда блок неявно преобразует шину в вектор.
Чтобы вставить блоки Bus to Vector, где блоки неявно преобразуют шины в векторы, используйте функцию Simulink.BlockDiagram.addBusToVector с reportOnly установить в значение false. При использовании функции Simulink.BlockDiagram.addBusToVector с reportOnly установить в значение false, функция сохраняет модель. Создание копии модели с возможностью записи ex_bus_to_vector, в этом примере используется save_system функция.
save_system('ex_bus_to_vector','ex_bus_to_vector_blocks');[blocks,busToVectors] =
Simulink.BlockDiagram.addBusToVector('ex_bus_to_vector_blocks',true,false);
Блоки усиления больше неявно не преобразуют шину в вектор. Вставленные блоки Bus to Vector выполняют преобразование явно.
Блоки Bus to Vector являются виртуальными и не влияют на результаты моделирования, создание кода или производительность.
Функция Simulink.BlockDiagram.addBusToVector не возвращает оставшиеся неявные преобразования шины в вектор.
[blocks] = Simulink.BlockDiagram.addBusToVector('ex_bus_to_vector_blocks')###No buses used as vectors left to process
blocks =
1x0 empty struct array with fields:
BlockPath
InputPort
MixedAttributes
Задавая приемлемые преобразования «шина-вектор» с блоками «шина-вектор», можно легче идентифицировать неожиданные преобразования. Имеет параметр конфигурации Bus signal, обрабатываемый как вектор, установленный на warning или error предупреждает о неожиданном преобразовании шины в вектор.