Main Content

신호 레이블 전파

Simulink® 모델에서 신호에 이름을 지정하고 신호 이름을 전파하도록 신호를 구성하여 하나의 블록 또는 여러 블록을 통과하는 신호를 추적할 수 있습니다. 지원되는 블록 목록은 신호 레이블 전파를 지원하는 블록 항목을 참조하십시오.

신호에 이름을 지정하고 허용되는 블록의 출력 신호에 대해 신호 레이블 전파 표시를 활성화하는 경우:

  • Simulink가 전파할 수 있는 사용자 지정 신호 이름이 있으면 전파된 신호 레이블에 이름이 꺾쇠 괄호로 묶여 표시됩니다(예: <sig1>).

  • 전파할 신호 이름이 없으면 Simulink는 레이블에 대해 빈 꺾쇠 괄호 세트(<>)를 표시합니다.

Simulink는 주석 처리된 블록의 신호 레이블을 전파하지 않습니다.

예를 들어 다음 모델에서 Subsystem 블록의 출력 신호는 신호 레이블 전파를 사용하도록 구성됩니다. 전파된 신호 레이블(<const>)은 Constant 블록의 업스트림 출력 신호 이름(const)을 기반으로 합니다.

Simulink propagates subsystem input signal label to the subsystem output signal

Simulink가 전파된 신호 레이블을 생성하는 방법에 대한 자세한 내용은 Simulink가 신호 레이블을 전파하는 방법 항목을 참조하십시오.

신호 레이블 전파를 지원하는 블록

다양한 연결 블록의 출력 신호에 신호 레이블 전파를 사용할 수 있습니다. 연결 블록은 모델에서 데이터를 변경시키지 않으면서 통과하는 신호를 라우팅합니다. 연결 블록은 신호 변환을 수행하지 않습니다.

또한 Model 블록도 신호 레이블 전파를 지원합니다.

신호 레이블 전파를 지원하는 연결 블록은 다음과 같습니다.

Bus Creator 블록과 Bus Selector 블록은 신호 레이블 전파를 지원하지 않습니다. 하지만 버스의 계층 구조를 보려면 View Bus Hierarchy 항목을 사용하십시오.

신호의 신호 속성 대화 상자에서 신호가 신호 레이블 전파를 지원하는지 여부를 알 수 있습니다. 전파된 신호 표시 파라미터는 신호 레이블 전파를 지원하는 블록에만 사용할 수 있습니다. 자세한 내용은 전파된 신호 레이블 표시하기 항목을 참조하십시오.

Simulink가 신호 레이블을 전파하는 방법

일반적으로 Simulink는 다음과 같은 경우에 일관되게 신호 레이블 전파를 수행합니다.

  • 모델링 구문이 서로 다른 경우(예: 비 버스 신호와 버스 신호, 가상 버스와 비가상 버스, 서브시스템 Variant와 모델 Variant, 모델 참조, 라이브러리)

  • Simulink가 특정한 경우에 시뮬레이션을 활성화하기 위해 삽입하는 숨겨진 블록을 포함하거나 포함하지 않는 모델

  • 모델 불러오기, 편집, 업데이트 및 시뮬레이션 시

특수 사례에 대한 자세한 내용은 다음 항목을 참조하십시오.

일반적인 신호 레이블 전파 처리

일반적으로 블록(예: BlockA)의 출력 신호에 대해 신호 레이블 전파를 활성화하면, Simulink가 다음 처리를 수행하여 전파할 소스 신호 이름을 찾습니다.

  1. 출력 신호가 BlockA에 연결된 블록을 확인하고, 필요한 경우 가장 가까운 블록부터 가장 먼 블록까지 역방향으로 업스트림 블록 확인을 계속합니다.

  2. 다음 중 하나에 해당하는 블록이 발견되면 멈춥니다.

    • 신호 레이블 전파를 지원하고 신호 이름이 있는 블록

    • 신호 레이블 전파를 지원하지 않는 블록

  3. Simulink가 멈춘 블록에서 블록 출력 신호의 신호 이름을 가져옵니다(있는 경우).

  4. 신호 레이블 전파가 활성화되어 있는 다운스트림 블록에서 출력 신호의 전파된 신호 레이블에 이 신호 이름을 사용합니다.

예를 들어, 다음 모델에서 Subsystem 블록의 출력 신호에 신호 레이블 전파를 활성화한다고 가정해 보겠습니다(즉, 신호가 Out1 포트에 연결됨).

Model showing signal label propagation for output signal of a subsystem which is at the root level of the model

Contents inside the subsystem which is at the root level of the model

Simulink가 서브시스템 내부에서 FromGoTo 블록(신호 레이블 전파를 지원하고 이름은 없는 블록)에서 업스트림을 확인합니다. 그런 다음 더 멀리 있는 업스트림인 Constant 블록(신호 레이블 전파를 지원하지 않는 블록)까지 확인합니다.

Simulink는 Constant 블록 출력 신호의 신호 이름 const를 사용합니다. Subsystem 블록 출력 신호의 전파된 신호 레이블은 <const>입니다.

Simulink propagates subsystem input signal label to the subsystem output signal

Constant 블록의 출력 신호에 신호 이름이 없으면 전파된 신호 레이블은 빈 꺾쇠 괄호(<>)로 표시됩니다.

Simulink does not assign any label to the subsystem output signal when you do not assign any label to subsystem input signal

Subsystem 블록에서, 아래 표시된 것처럼 In1 블록의 출력 신호에 신호 레이블 전파를 활성화하고, 신호 속성 대화 상자를 사용하여 From 블록의 출력 신호에 신호 이름 const-from을 지정한다고 가정해 보겠습니다.

Assign signal name to the subsystem output signal using Signal Properties dialog box

Subsystem 블록 출력 신호의 전파된 신호 레이블이 <const-from>으로 변경됩니다. 신호 레이블 전파 처리 시 Simulink가 처음으로 발견한 명명된 신호가 이 이름이기 때문입니다.

Signal label from inside the subsystem propagates to the signal connected to the subsystem output port at the root level of the model

다음 모델에서 Subsystem 블록 출력 신호에 대한 신호 레이블 전파는 신호 이름 bus1을 사용합니다. 이는 Bus Creator 블록의 출력 버스 이름입니다. 전파된 신호 레이블은 버스 요소 신호 이름(ab)을 포함하지 않습니다.

Simulink propagates subsystem input bus label to the subsystem output bus

전파된 신호 레이블 표시하기

전파된 신호 레이블을 개별 신호에서 표시하거나 모델 내 모든 신호에서 표시할 수 있습니다. 모든 신호에 대해 레이블을 표시하려면 Simulink 편집기의 디버그 탭에서 정보 오버레이 > 전파된 신호 레이블을 선택하십시오.

개별 신호에 대해 전파된 신호 레이블을 표시하려면 다음을 수행하십시오.

  1. 전파된 신호 레이블을 표시하려는 신호를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.

  2. 신호 속성 대화 상자에서 전파된 신호 표시를 선택합니다.

    Signal Properties dialog box

    전파된 신호 표시 파라미터는 신호 레이블 전파를 지원하는 블록의 출력 신호에만 사용할 수 있습니다.

전파된 이름을 프로그래밍 방식으로 표시하도록 신호를 구성하려면 set_param 함수를 사용하여 신호를 생성하는 블록 출력 포트에 해당하는 port 핸들에 대한 ShowPropagatedSignals 속성값을 지정하십시오. 예를 들어, 모델 MyModelSubsystem 블록 Subsystem의 첫 번째 출력 포트에서 출력 신호에 대한 신호 레이블 전파를 활성화하려면 다음을 수행하십시오.

  1. get_param 함수를 사용하여 블록에 대한 port 핸들을 가져옵니다.

    portHandles = get_param("MyModel/Subsystem","PortHandles");
  2. 인덱스별로 첫 번째 출력 포트에 대한 핸들에 액세스합니다. 블록 port 핸들은 블록이 가질 수 있는 각 포트 유형에 대한 필드를 포함하는 구조체로 반환됩니다.

    outport1 = portHandles.Outport(1);
  3. set_param 함수를 사용하여 출력 포트에 대한 ShowPropagatedSignals 파라미터의 값을 on으로 지정합니다.

    set_param(outport1,ShowPropagatedSignals="on")

신호에 이미 레이블이 있는 경우, 전파된 신호 레이블을 표시할 수 있는 다른 접근 방식이 있습니다.

  1. 모델 다이어그램에서 신호 레이블을 클릭합니다.

  2. 레이블 텍스트를 제거합니다.

  3. 신호 레이블 텍스트 상자에 꺾쇠 괄호(<)를 입력합니다.

  4. 신호 레이블 외부를 클릭합니다.

    Simulink가 전파된 신호 레이블을 표시합니다.

신호 전파에 대한 특수 사례

참조된 모델에 대한 처리

참조된 모델에 대해 신호 레이블 전파를 활성화하려면 전파된 신호 레이블 표시하기 항목에서 설명한 단계를 수행하고 추가로 모델 구성 파라미터 > 모델 참조 > 모든 신호 레이블을 모델 외부로 전파 파라미터에 디폴트 설정을 사용하십시오. 즉, 이 파라미터를 활성화하십시오.

참조된 모델 내에서 신호 레이블 전파에 영향을 미치는 변경이 있을 경우, 다이어그램을 업데이트하거나 모델을 시뮬레이션하기 전까지는 참조된 모델 외부의 전파된 신호 레이블에 이러한 변경 사항이 반영되지 않습니다.

예를 들어, 모델 ex_signal_label_prop_model_ref에는 In1 블록의 출력 신호(신호 이름 input_1)가 포함된 참조된 모델이 있습니다.

Model 블록의 Out1 포트 신호에 신호 레이블 전파를 활성화할 경우 다이어그램을 업데이트하거나 모델을 시뮬레이션할 때까지 이 신호에 이름 input_1이 반영되지 않습니다.

Model block output signal label

Contents inside the model referenced by the Model block

Variant Subsystem과 Configurable Subsystem에 대한 처리

Simulink는 다음 조건이 모두 충족되면 Subsystem 또는 Model 블록 출력 신호에 대한 전파된 신호 레이블을 업데이트합니다(활성화된 경우).

  • Variant 모델에 대한 출력 신호의 신호 이름이 서로 다릅니다.

  • 활성 Variant 모델 또는 Variant Subsystem을 변경합니다.

Subsystem 블록의 경우, 편집 시 신호 레이블이 업데이트됩니다. Model 블록의 경우는 다이어그램을 업데이트하거나 모델을 시뮬레이션하면 신호 레이블이 업데이트됩니다.

참고 항목

관련 항목