이상적인 목표는 다음과 같습니다.VB.Net의 MatLab Simulink 값 읽기
우리는 시뮬 링크 모델을 가지고 있으며 실행 중에 모든 결과 값을 vb.net 응용 프로그램에 보내기를 원합니다.
나는 몇 가지 방법을 발견했지만 다이빙하기 전에 몇 가지 입력을 원한다고 생각합니다. 나는 그것을 사용하는 것을 어렵게 만드는 과거에 matlab이나 simulink를 사용하지 않았다.
matlab에 대한 COM 개체가 있지만 시뮬 링크가 실행되는 동안 변수에 대한 실시간 액세스가 허용되지 않습니다. Simulink는 완료 후에 데이터를 matlab에 덤프합니다.
옵션 # 1 : 콜백? 나는 읽고 있었고 값이 타이머를 기반으로 matlab에 보내지는 것처럼 블록에 콜백을 추가 할 수있는 것처럼 보인다. 그런 다음 이러한 값을 얻기 위해 VB에서 matlab에 대한 상수 호출을해야합니다. 이 doesnt는 효율적으로 보이고 simulnk를 동시에 달리기로 많은 자원에 채택 할 것입니까? How do I get data from a Simulink block into a MATLAB GUI?
옵션 # 2 : 나는 매스 웍스의 웹 사이트에 '시뮬링크 코더'를 발견하고 이상적인 솔루션처럼 보이지만 여기 사람이 그것을 사용하는 경우 몇 가지 설명을하고 싶습니다. 나는 재판을 신청했지만, 얻기 전에 몇 번 더 뛰어 넘을 수 있습니다.
코더가 시뮬 링크 모델을 가져 와서 C/C++ 코드로 알고리즘을 만드는 것처럼 보입니다. 그러면 C 응용 프로그램을 만들고 해당 코드를 소스로 사용할 수 있다는 의미입니까? 따라서 애플리케이션으로 시뮬 링크를 실행하는 대신 코드를 실행하고 매개 변수를 입력하여 출력 변수를 제공 할 수 있습니까?
나는 또한 DLL이나 mux를 출력하는 matlab에 대한 정보를 읽었습니까? 그래서 .net 응용 프로그램과 함께 사용할 수 있습니까?
모든 입력/의견은 감사합니다 :)이
응답 해 주셔서 감사합니다. 첫째, 네, 저는 mex를 의미했습니다. 실수였습니다. 방금 Simulink Coder의 시험판을 받았으므로 일부는 더 이해하기 쉽습니다. 그것은 또한 현재 가장 실행 가능한 옵션처럼 보입니다. 이 질문을 새로 작성해야할지 모르겠지만 다른 기능을 알아 내는데 어려움이 있습니다. 생성 된 코드가 입력 변수를 받아들이고 출력 변수를 반환하는 함수를 포함하도록 입력 및 출력을 정의 할 수 있습니까? 또는이 일을 위해 일종의 래퍼를 만들어야합니까? –
정말 새로운 질문이 필요합니다. 그러나 생성 된 코드는 시뮬레이션 중에 발생하는 것을 반영합니다 : 초기화를위한 코드, 시간을 통해 모델을 스테핑하기위한 코드 (상태를 업데이트하고 블록 출력을위한 코드를 호출하고, 종료를 코드함으로써 코드를 생성합니다. 모델을 사용하여 신호를 입력하고 출력합니다. 호출 가능한 함수를 가지려면 모델의 관련 부분을 원자 서브 시스템에 넣고 블록 매개 변수의 "코드 생성"옵션을 적절한 값으로 설정해야합니다. –