add_line

Добавьте строку к модели Simulink

Синтаксис

h = add_line(sys,out,in)
h = add_line(sys,out,in,'autorouting',autoOption)
h = add_line(sys,points)

Описание

пример

h = add_line(sys,out,in) добавляет строку в модели или подсистеме sys, который соединяет выходной порт одного блока out с входным портом другого блока in. Этот синтаксис чертит самый прямой маршрут от порта до порта, например, диагональных строк или строк, которые проходят другие блоки.

Можно соединить порты когда:

  • Входной порт уже не имеет связи.

  • Блоки совместимы для соединения.

пример

h = add_line(sys,out,in,'autorouting',autoOption) соединяет блоки, задавая, направить ли строки вокруг других блоков.

пример

h = add_line(sys,points) добавляет, что линия, проведенная (x, y), координирует points относительно верхнего левого угла Редактора Simulink® холст перед любым изменением размеров холста. Если любой конец строки в пяти пикселях соответствующего порта, функция соединяет строку с ним. Строка может иметь несколько сегментов.

Примеры

свернуть все

Используйте блочные номера портов, чтобы добавить строку, чтобы соединить блоки.

Создайте модель и откройте ее.

open_system(new_system('connect_model'));

Добавьте и расположите блок Constant и блок Gain.

add_block('simulink/Commonly Used Blocks/Constant','connect_model/Constant');
set_param('connect_model/Constant','position',[140,80,180,120]);
add_block('simulink/Commonly Used Blocks/Gain','connect_model/Gain');
set_param('connect_model/Gain','position',[220,80,260,120]);

Соедините блоки. Каждый блок имеет один порт, поэтому задайте порт 1.

add_line('connect_model','Constant/1','Gain/1');

Получите указатели порта и соедините порты с помощью add_line.

Откройте образцовый vdp.

open_system('vdp');

Удалите строку, которая соединяет блок усиления Му с блоком Sum.

delete_line('vdp','Mu/1','Sum/2');

Получите указатели порта от блока Му и блока Sum.

h = get_param('vdp/Mu','PortHandles');
h1 = get_param('vdp/Sum','PortHandles');

Посмотрите на h1 структуру. Заметьте два указателя для свойства Inport.

h1
h1 = 

  struct with fields:

      Inport: [47.0002 54.0002]
     Outport: 39.0002
      Enable: []
     Trigger: []
       State: []
       LConn: []
       RConn: []
    Ifaction: []
       Reset: []

Индексируйте в свойства Outport и Inport на указателях порта, чтобы получить указатели, вы хотите и соединяете их. Соединитесь со вторым импортом.

add_line('vdp',h.Outport(1),h1.Inport(2));

Можно перейти строка путем добавления связи программно. Можно использовать синтаксис points, чтобы чертить сегмент, или можно разграничить путем определения портов, чтобы соединиться. При использовании порта используйте автоматическую маршрутизацию строки, чтобы улучшить вид разветвленного трубопровода.

Добавьте осциллограф к модели vdp выше выходного порта.

vdp
add_block('simulink/Commonly Used Blocks/Scope','vdp/Scope1');
set_param('vdp/Scope1','position',[470,70,500,110]);

Соедините блок Integrator x1 с Scope1. Этот код переходит существующая строка от x1 вывод и подключения это к осциллографу. С автомаршрутизацией на сегментируется получившаяся строка.

add_line('vdp','x1/1','Scope1/1','autorouting','on')

Можно использовать точки на холсте как запуск и конец каждого сегмента. Получите местоположения порта с помощью get_param с опцией 'PortConnectivity'.

Откройте образцовый vdp и удалите строку, которая соединяет блоки Му и Суммы.

vdp
delete_line('vdp','Mu/1','Sum/2')

Получите местоположения порта для Му. У Му есть два порта. Первым является входной порт, и вторым является выходной порт.

mu = get_param('vdp/Mu','PortConnectivity');
mu.Position
ans =

   190   150


ans =

   225   150

Получите местоположения порта для Суммы, которая имеет три порта. Второе положение является более низким входным портом.

s = get_param('vdp/Sum','PortConnectivity');
s.Position
ans =

   250   135


ans =

   250   150


ans =

   285   145

Соедините порты с помощью вывода и точек ввода.

add_line('vdp',[225 150; 250 150])

Этот пример показывает эффект добавляющих строк с и не автонаправляя опции.

Создайте образцовый route. Отобразите имена блока по умолчанию.

open_system(new_system('route'));
set_param('route','HideAutomaticNames','off')

Добавьте блоки как показано. Добавьте импорт и выходной порт к каждой подсистеме.

Добавьте строки, чтобы соединить выходные параметры от Подсистемы до входных параметров Subsystem1.

add_line('route',{'Subsystem/1','Subsystem/2'},...
      {'Subsystem1/1','Subsystem1/2'})

Поскольку вы не использовали опции автомаршрутизации, функция проводит прямые линии, которые проходят через блок Gain.

Удалите строки. Добавьте строки снова, на этот раз с помощью набора опции автомаршрутизации для 'on'.

add_line('route',{'Subsystem/1','Subsystem/2'},...
      {'Subsystem1/1','Subsystem1/2'},'autorouting','on')

Строки направляют вокруг блока Gain.

Удалите строки. Добавьте строки снова, с помощью опции автомаршрутизации smart. Когда вы используете массив, чтобы соединить два набора импорта и выходных портов, автомаршрутизация 'smart' направляет их вместе, если выполнение так лучше использует пробел.

add_line('route',{'Subsystem/1','Subsystem/2'},...
      {'Subsystem1/1','Subsystem1/2'},'autorouting','smart')

Входные параметры

свернуть все

Модель или подсистема, чтобы добавить строку к, заданный как вектор символа.

Пример: 'vdp', 'f14/Controller'

Блокируйте выходной порт, чтобы соединить строку от, заданный как:

  • Имя блока, наклонная черта, и имя порта или номер. Порты блока Most пронумерованы сверху донизу или слева направо. Для порта состояния используйте состояние имени порта вместо номера порта.

  • Указатель порта, от которого вы хотите соединиться.

  • Массив любого из этих указателей порта.

Используйте 'PortHandles' с get_param, чтобы получить указатели.

Пример: 'Mu/1', 'Подсистема/2', h. Выходной порт (1) {'Подсистема/1', 'Подсистема/2'}

Блокируйте входной порт, чтобы соединить строку с, заданный как:

  • Имя блока, наклонная черта, и имя порта или номер. Имя порта на:

    • Активированная подсистема, Включают.

    • Инициированная подсистема является Триггером.

    • Если подсистемами Действия Случая Действия и Переключателя является Действие.

  • Указатель порта, к которому вы хотите добавить строку.

  • Массив любого из этих указателей порта.

Используйте опцию 'PortHandles' с get_param, чтобы получить указатели.

Пример: 'Mu/1', 'Подсистема/2', h. Inport (1), {'Подсистема/1', 'Подсистема/2'}

Тип автоматической маршрутизации строки вокруг других блоков, заданных как:

  • 'off' ни для какой автоматической маршрутизации строки

  • 'on' для автоматической маршрутизации строки

  • 'smart' для автоматической строки, направляющей, который пользуется лучшим премуществом пробелов на холсте и старается не перекрывать другие строки и метки

Точки строки, чтобы чертить, заданный как, по крайней мере, матрица 2 на 2. Добавьте строку для каждого сегмента, который вы хотите чертить. Задайте точки как (x, y) координаты от верхнего левого угла Редактора перед любым изменением размеров холста.

Пример: [100 300; 200 300; 200 300; 200 500]

Выходные аргументы

свернуть все

Строка создается add_line, возвращенным как указатель.

Представлено до R2006a

Была ли эта тема полезной?