add_line

Добавьте линию на модель Simulink

Описание

пример

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]);

Соедините блок x1 Integrator с 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', 'Subsystem/2', h.Outport(1){'Subsystem/1','Subsystem/2'}

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

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

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

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

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

  • Указатель порта, на который вы хотите добавить линию.

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

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

Пример: 'Mu/1', 'Subsystem/2', h.Inport(1), {'Subsystem/1','Subsystem/2'}

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

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

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

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

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

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

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

свернуть все

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

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