이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
Merge
여러 신호를 단일 신호로 결합
라이브러리:
Simulink /
Signal Routing
HDL Coder /
Ports & Subsystems
설명
Merge 블록은 여러 입력을 단일 출력으로 결합합니다. 어느 시간에서든 출력값은 구동 블록의 가장 최근에 계산된 출력과 동일합니다. 입력 개수 파라미터를 설정하여 입력 개수를 지정합니다.
Merge 블록을 사용하여 서로 다른 시간에 업데이트된 입력 신호들을 하나의 결합된 신호로 인터리빙할 수 있으며, 이렇게 결합된 신호에는 인터리빙된 값에 개별 ID와 시간값이 유지됩니다. 동시에 업데이트된 신호를 배열 또는 행렬 신호로 결합하려면 Concatenate 블록을 사용하십시오.
Merge 블록 사용에 대한 지침
Merge 블록을 사용할 경우 다음 지침을 따르십시오.
항상 조건부 실행 서브시스템을 사용하여 Merge 블록을 구동하고, 중간에 어떠한 블록도 두지 않습니다.
구동하는 조건부 실행 서브시스템 중 최대 한 개가 스텝 시간에서 실행되어야 합니다.
모든 입력 신호는 동일한 샘플 시간을 가져야 합니다.
Merge 블록에 입력되는 신호는 분기하지 마십시오.
Merge 블록에 입력되는 신호는 기록하지 마십시오.
Merge 블록의 블록 실행 우선 순위는 지정하지 마십시오. 자세한 내용은 Specify Block Execution Order, Execution Priority and Tag 항목을 참조하십시오.
Merge 블록을 구동하는 모든 조건부 실행 서브시스템의 Outport 블록에서 비활성인 경우 출력을
유지
로 설정합니다.Model 블록의 출력이 MATLAB Function 블록 또는 Stateflow® 차트에서 생성된 경우 그 출력 포트를 Merge 블록의 입력 포트에 연결하지 마십시오.
Merge 블록은 서로 다른 작업의 신호를 루트 Outport 블록에 병합하는 것을 지원합니다.
Merge 블록의 각 입력에서 맨 위에 있는 비가상 소스는 For Iterator Subsystem 또는 While Iterator Subsystem을 포함하지 않는 조건부 실행 서브시스템이어야 합니다.
다음 다이어그램에는 두 개의 조건부 실행 서브시스템에서 신호를 병합하는 올바른 Merge 블록 사용법이 나와 있습니다.
버스 지원
Merge 블록은 버스를 지원하는 블록입니다. 입력은 다음 제한 사항에 따라 가상 또는 비가상 버스 신호일 수 있습니다.
입력 개수는 1보다 커야 합니다.
초기 출력은 0이거나, 0이 아닌 스칼라이거나, 유한한 숫자형 구조체여야 합니다.
서로 다른 포트 너비 허용 체크박스의 선택을 해제해야 합니다.
모든 입력은 버스여야 하고 동등해야 합니다(동일한 계층 구조에 모든 요소의 이름과 특성이 동일해야 함).
Merge 블록에 대한 비가상 버스 입력의 모든 신호는 동일한 샘플 시간을 가져야 합니다. Rate Transition 블록을 사용하여 개별 신호의 샘플 시간 또는 버스의 모든 신호의 샘플 시간을 변경할 수 있습니다.
S-Function 출력 병합하기
Merge 블록은 S-Function 블록의 출력을 저장하는 데 사용되는 메모리가 재사용 가능한 경우에만 S-Function 블록의 신호를 병합할 수 있습니다. S-Function 블록의 재사용 불가 포트를 Merge 블록에 연결하는 모델을 업데이트하거나 시뮬레이션하려고 하면 Simulink®에 오류 메시지가 표시됩니다. ssSetOutputPortOptimOpts
항목을 참조하십시오.
멀티태스킹된 루트 출력
루트 Outport 블록에 연결된 Merge 블록을 사용하면 서로 다른 작업의 신호를 루트 Outport 블록에 동시에 쓸 수 있기 때문에 그러한 신호를 병합할 수 있습니다. 소스의 유니언 샘플 시간이 Merge 블록에 할당됩니다.
Merge 블록의 모든 소스 중 동일한 작업에 있는 소스는 조건부 실행 서브시스템 내에 있어야 하고, 이 조건부 실행 서브시스템은 동일한 시간 스텝에서 동시에 출력되어서는 안 됩니다.
예제
확장 예제
제한 사항
Merge 블록에 연결되는 모든 신호는 기능적으로 동일한 신호입니다. 따라서 이러한 신호에는 해당 신호에 최대 한 개의 signal 객체가 연결될 수 있다는 제한 사항이 적용됩니다. 자세한 내용은
Simulink.Signal
항목을 참조하십시오.Merge 블록에 대한 입력이 단일 개시자에서 비롯되는 경우에는 실시간 진단이 실행되지 않습니다. 예를 들어 Merge 블록에 연결된 Function-Call Subsystem을 실행하는 Stateflow 차트가 단일 개시자에 해당할 수 있습니다.
병합 중인 조건부 실행 서브시스템이 비활성화된 경우 그 서브시스템의 아웃포트를 재설정하도록 설정하지 마십시오. 그럼으로써 여러 개의 서브시스템이 동시에 블록을 업데이트할 수 있습니다. 특히 비활성화된 서브시스템은 출력을 재설정하여 Merge 블록을 업데이트하는 반면, 활성화된 서브시스템은 출력을 계산하는 방식으로 블록을 업데이트합니다.
이 동작을 방지하려면, 병합 중인 각 조건부 실행 서브시스템에 대해 Outport 블록 파라미터 비활성인 경우 출력을
유지
로 설정하십시오.다음 다이어그램에 나와 있는 것처럼, Merge 블록은 요소가 재정렬되었거나 부분적으로 선택된 입력 신호를 허용하지 않습니다.
조건부 실행 서브시스템 외부에서 결합된 입력 신호를 블록에 연결하지 마십시오.
버스로 구성된 배열을 Merge 블록에 대한 입력 신호로 사용할 수 있습니다. 단, 다음과 같은 제한 사항이 적용됩니다.
서로 다른 포트 너비 허용 — 이 파라미터의 선택을 해제합니다.
초기 조건 — 다음을 사용하여 이 파라미터를 지정할 수 있습니다.
값
0
. 이 경우, 버스로 구성된 배열의 각 개별 신호는 초기값0
을 사용합니다.버스로 구성된 배열의 각 개별 신호에 대한 초기 조건을 지정하는 구조체 배열.
버스 유형이 정의하는 각 요소에 대한 초기 조건을 지정하는 스칼라 구조체. 배열의 각 버스에 대해 동일한 초기 조건을 지정하려면 이 기법을 사용하십시오.
포트
입력
출력
파라미터
블록 특성
데이터형 |
|
직접 피드스루 |
|
다차원 신호 |
|
가변 크기 신호 |
|
영점교차 검출 |
|
확장 기능
버전 내역
R2006a 이전에 개발됨