주요 콘텐츠

신호 선 관리하기

모델이 커질수록, 모델 컴포넌트를 사용하면 모델 내 블록들을 기능적, 시각적으로 정리하는 데 도움이 됩니다. 마찬가지로 모델 내 신호 선들도 체계적으로 정리하기 위해, 버스로 신호를 그룹화하는 등 다양한 전략을 적용할 수 있습니다.

신호 선의 복잡성을 줄이는 방법을 설명하기 위해 이 예제에서는 여러 개의 센서와 액추에이터로 구성된 플랜트를 구현합니다. 플랜트에는 두 개의 동일한 질량-스프링-댐퍼 시스템이 포함되어 있습니다. 두 질량이 하나의 빔으로 연결되어 있습니다.

Diagram of two identical mass, spring, damper systems with the masses connected

센서가 질량의 변위를 읽어 들입니다. 제어기가 빔 중심에서의 높이 x를 조절하고, 액추에이터가 질량에 가해야 하는 힘을 계산하여 빔을 수평으로 유지합니다. 제어기는 빔 양 끝 간의 높이 차이 delta를 사용하여 빔의 수평을 맞춥니다.

BasicModelingSignals 모델은 플랜트와 플랜트의 환경, 운영자 및 제어기를 나타냅니다.

mdl0 = "BasicModelingSignals";
open_system(mdl0);

Model with many signal lines

시뮬레이션 후에 신호를 표시하기 위해 모델은 두 개의 Scope 블록을 사용합니다. 하나의 Scope 블록은 목표값과 및 실제 빔 수평 상태를 표시합니다. 다른 Scope 블록은 빔 중심에서의 목표 위치와 실제 위치, 그리고 빔 양 끝에서의 실제 위치를 표시합니다.

sim(mdl0);

신호를 기록 대상으로 표시하기

신호 선의 개수를 줄이기 위해, 뷰어를 신호 선에 바로 연결하거나 신호 선에 대한 데이터 기록을 활성화할 수 있습니다. 싱크 블록을 사용하지 않고 시뮬레이션 데이터를 시각화하는 방법을 선택하면 추가적인 신호 선을 사용하는 것을 방지할 수 있습니다.

BasicModelingLogging 모델은 Scope 블록 및 관련 신호 선을 제거한 다음 해당 신호에 대한 데이터 기록을 활성화한 것입니다.

mdl1 = "BasicModelingLogging";
open_system(mdl1);

Model without Scope blocks and related lines

Operator 서브시스템에서는 x_goaldelta_goal로 레이블이 지정된 신호가 기록 대상으로 지정되어 있으며, 각 신호 위에 표시된 아이콘으로 이를 확인할 수 있습니다.

Operator subsystem with logging icons above x_goal and delta_goal

Controller 서브시스템에서는 xdelta로 레이블이 지정된 신호가 기록 대상으로 지정되어 있습니다.

Controller subsystem with logging icons above x and delta

Plant 서브시스템에서는 x1x2로 레이블이 지정된 신호가 기록 대상으로 지정되어 있습니다.

Plant subsystem with logging icons above x1 and x2

시뮬레이션 데이터 인스펙터를 사용하면 시뮬레이션 후에 기록된 신호 데이터를 확인할 수 있습니다.

sim(mdl1);

Simulation results in the Simulation Data Inspector with one plot for x, x1, x2, and x_goal and another plot for delta and delta_goal

신호를 버스로 그룹화하기

신호 선의 개수를 더 줄이기 위해, Bus Creator 블록 또는 Out Bus Element 블록을 사용하여 여러 신호 선을 하나의 버스로 그룹화할 수 있습니다. 버스로 그룹화된 경우에도 모든 신호 선은 각자의 특성을 유지하며, 버스에서 다운스트림으로 다시 분리될 수 있습니다.

버스를 생성하면 BasicModelingBuses 모델에서 훨씬 더 읽기 쉬운 시스템 표현을 제공합니다. 버스 선 스타일을 표시하기 위해 모델을 컴파일합니다.

mdl2 = "BasicModelingBuses";
open_system(mdl2);
set_param(mdl2,SimulationCommand="Update");

Model with bus input and output for each subsystem

이 모델은 이름이 sensor인 버스와 goal인 버스에 포함된 각 신호들에 대해, 신호를 개별적으로 기록하는 대신 버스와 연결된 신호 선에 대한 데이터 기록을 활성화합니다.

신호를 버스로 그룹화한 후에도 시뮬레이션 결과는 동일하게 유지됩니다.

sim(mdl2);

Simulation results in the Simulation Data Inspector with signals grouped by bus but individually selected

참고 항목

도움말 항목