2017-02-09 5 views
0

그래서 내가하려는 것은 이것입니다. 시뮬 링크의 stateflow 모델이 있습니다. 이 모델의 일부 내용을 표시하기 위해 GUI를 만들었습니다. 이 GUI에는 전환 할 때 stateflow 모델에서 사용할 플래그를 true로 설정해야하는 버튼이 있습니다. 따라서 stateflow에 특정 상태를 입력 할 때마다 플래그의 값을 false로 설정하고 단추를 누를 때 true로 설정하기를 원합니다. 불행히도 GUI 콜백 함수에서 stateflow 내부에 로컬 매개 변수를 설정하는 방법을 찾을 수 없습니다. 데이터 저장소 메모리 블록을 사용하여 시도했지만 stateflow 모델 내부에서 값을 설정할 수는 있지만 GUI의 콜백 함수에서 값을 설정할 수는 없습니다.Matlab 스크립트에서 데이터 저장소에 쓰기

도움말 정말 감사하겠습니다!

답변

0

필자는 Simulink 모델 용 테스트 장치에 비슷한 GUI를 한 번 구축했습니다. 이 작업을하고 Simulink 디자인에 너무 많이 간섭하지 않기 위해서 "Level 2 Matlab S-Function"으로 구현했습니다.

이것은 인터페이스 연결 오버 헤드 (포트 및 해당 매개 변수 설정)를 암시하지만 stateflow 차트에서 신호가 들어 오거나 나가는 모든 것을 이러한 블록으로 가져올 수 있습니다 (아마 az - 출력과 제어 입력을 모두 얻고 싶다면 1 피드백 루프).

GUI 코드는 시작 블록에서 호출 할 수 있으며 값은 "업데이트"세그먼트에서 읽을 수 있습니다. 푸시 버튼이 활성화 된 경우 출력 기능에서 평가되는 변수에 저장 한 다음 필요한 경우 재설정 논리를 사용하여이 이벤트를 나타내는 출력을 설정합니다.

Level 2 Matlab S-function 및 특히 msfuntmpl_basic.m에 대한 온라인 도움말을 확인하여 시작하십시오.

희망이 도움이됩니다. 나는 이것이 당신이 당신의 상호 작용을 stateflow가 입/출력하고있는 것들로 제한 할 것을 요구합니다.