y를 입력으로 사용하고 y를 출력하는 사인 블록을 포함하는 간단한 FMU 파일이 있습니다. 이 경우, u는 시간과 동일하게 설정됩니다. 내 C++ 코드에서는 FMILibrary에서 FMI 라이브러리를로드하고 pi (3.14)의 새 값을 입력 할 때까지 필요한 모든 단계를 수행했습니다. 그래서 나는 갔다 :시뮬레이션 중에 FMI 변수/함수를 변경하십시오.
fmistatus = fmi2_import_set_real(fmu, &uRef, 1, &pi);
while (timeCurrent < timeEnd){
fmistatus = fmi2_import_do_step(fmu, timeCurrent , stepSize, fmi2_true);
timeCurrent += stepSize;
}
이 유는 아직도 내가 그에게 새로운 가치를 제공하기 위해 노력에도 불구하고 시간으로 설정했다. 내가 뭐 놓친 거 없니?
추신. FMI 라이브러리 함수에 대한 자세한 설명은 어디에서 찾을 수 있습니까? 현재는 입력 된 출력 설명 만 찾을 수 있습니다.
업데이트 : 몇 가지 시도 후, 내 방정식 u = 시간을 재정의하려고했기 때문에이 문제가 발생한 것으로 생각됩니다. 다시 말해, openmodelica의 RealInput 블록으로 u 변수를 변경하면 모든 것이 잘됩니다. 그렇다면 정말로 특정 방정식을 재정의하고 싶다면 어떻게해야할까요? 나는 무엇을해야만 하는가?
FMI에서 변수의 값을 "대체"할 수 있습니까? –
관련 있음 : https://stackoverflow.com/questions/37571451/parameters-sometimes-not-editable-in-dymola-simulation-tab-and-fmu – matth
내 경우에는 매개 변수가 아니라 비슷하지만 비슷합니다. 방정식. 즉 u = 시간을 u = 3.14로 변경하십시오. –