2011-08-16 2 views

답변

8

라이브러리 및 모델 참조의 주 목적은 동일합니다. 즉, 시뮬 링크 모델의 재사용을 용이하게합니다. 라이브러리로 작업 할 때 simulink는 참조 된 모델의 컨텐츠를 기본 모델로 "가져옵니다". 경우에 따라 개발자가 거대한 모델 (50,000 개 이상의 블록)을 처리하기 때문에 시간이 오래 걸릴 수 있습니다. 라이브러리를 디자인 할 때 lib 파일을 실행할 수 없습니다. 메인 모델에서 "인스턴스화"해야합니다. 다른면에서 모델 참조는 분리 된 모델을 다룹니다. 시뮬레이트 버튼을 누를 때 함께 배치되지만 디자인 타임에는 완전히 분리 된 모델을 처리합니다. 모델 참조를 사용하면 가속 방법을 선택할 수도 있습니다 (기본적으로 모델을 컴파일합니다). 이것은 라이브러리로 수행 할 수 없습니다.

5

좀 더 추가하면의 대답 danielmsd합니다 :

  • 구성 관리 : 모델 참조는 버전 제어에 쉽게 넣을 수 있고, 개발자들은 서로 독립적으로 작업 할 수 있습니다. 라이브러리는 하나의 파일이므로 블록 을 개별적으로 버전화할 수 없으며 개발자는 병렬로 작업 할 수 없습니다.
  • 모델 참조를 보호 할 수 있습니다.
  • 코드 생성 : 증분 빌드는 모델 참조에서만 가능합니다.

하지만 : 모델 참조 꽤 몇 가지 제한이 있으므로이 옵션을 따기 전에 신중하게 확인하십시오. Model Referencing Limitations을 참조하십시오.

1

시스템 설계 관점에서 시스템의 구성 요소에 모델 참조가 사용되어야합니다. 그것은 시스템이 만들어진 다른 부분입니다. 라이브러리는 유틸리티로 사용해야합니다. 그건 당신의 디자인을 통해 사용되는 reuable 블록입니다.

예를 들어 로봇 제어 시스템에는 탐색, 제어, 경로 _ 평면 등의 구성 요소가 포함됩니다. 이러한 요소는 구성 요소이며 모델 참조로 구현되어야합니다. 이 경우에는 독립적 인 모델로 개발되어 독립적으로 테스트 할 수 있습니다.

내부에는 low_pass_fileter, error_state_handler 및 check_input_range와 같은 유틸리티 블록이 필요할 수 있으므로 라이브러리입니다.

2

mdl의 장점 : - 코드 생성 : 모델 참조는 코더 제품을 사용할 때 부분 빌드를 허용합니다. 100K 블록이있는 매우 큰 모델이 있고 빌드하는 데 20 분이 소요된다고 가정하면 모델 참조로 분할하면 변경된 모델 만 다시 빌드해야하기 때문에 빌드 시간이 단축됩니다.

  • 모델 업데이트 : 변경된 모델 참조 만 "CTRL + D"로 업데이트되므로 실제로 큰 모델을 사용할 때 도움이됩니다.

  • 시뮬레이션 : 시뮬레이션에서 MDL의 심판은 당신의 시뮬레이션은 훨씬 더 빨리

단점 통증 (효과는 정상 및 accellerator 모드의 차이보다 훨씬 더 크다)하게 DLL을 같이 생성됩니다 - 일반적으로 MDL의 참조는 트리 구조를 갖는 Simulink.parameter.object을 통과 할 가능성이 없다 인해 제한

  • 에 어떻게 든 사용할 수있는 고통이다. (유형을 사용할 때 BusObject는 value 특성 만 구조를 가지며 다른 특성은 구조를 갖지 않습니다.)

  • 서브 시스템에 버스 신호가 입력되면 mdl_ref에는 입력 인터페이스를 지정하는 버스 오브젝트가 필요하며 라이브러리 블록은 그렇지 않습니다. (lib 블록에서 지정되지 않은 버스 입력을 사용하는 것이 꽤 추한 경우에도). (bus 객체는 기본 작업 영역에서 항상 전역 적입니다 ... 명명 충돌 위험)

관련 문제