2011-05-13 7 views
1

Simulink에서 버스 신호를 지원하지 않는 S-Function이 있으므로 프로그래밍 방식으로 입력/출력 포트의 신호 유형이 시작되었는지 확인하는 방법을 찾고 있습니다 /는 버스로 간다. 그래서 나는 필요에 따라 신호를 자동적으로 demux와 mux 할 수있다. 불행히도 포트가 버스에서 오는지 또는 버스로가는지를 알 수있는 유일한 블록 속성은 버스에서 속성을 상속하는 경우입니다. 이는 모든 경우에 해당하지 않을 수 있습니다. 이걸 어떻게 알아 내야하는지에 대한 아이디어가 있습니까?Simulink의 버스에서 신호가 발생하는지 확인

답변

1

글쎄, 나는 Matlab 지원에서 답을 얻었고, 이것을 시도하고 테스트 해 보았지만, 유일하게 Mathworks는 DEMUX 블록 대신 Bus Selector를 사용할 것을 권장한다. 간단히 말해서 다음과 같습니다.

  1. 모델의 모든 신호 라인 핸들을 찾으십시오.
  2. 필요한 경우 이름을 가져 오지만 핸들을 사용하여 이름을 지정하면 제대로 작동합니다.
  3. 모델을 컴파일하여 'CompiledBusType'속성을 만듭니다.
  4. 모델에서 각 신호선의 'CompiledBusType'속성을 얻습니다. 그런 다음 모델의 컴파일 모드를 종료하십시오.

'CompiledBusType'은 'NOT_BUS', 'VIRTUAL_BUS'및 'NON_VIRTUAL_BUS'을 반환합니다.

이 질문이 다른 사람에게 도움이 되었기를 바랍니다. Matlab이 나에게 돌아 오기를 기다려야했습니다.

관련 문제