2

Modelica で、特にオープンな modelica コンパイラ (omc) を使用して、時系列データ (csv など) を読み取る必要があります。インターネット検索を行ったところ、ネット上でncReader ライブラリが見つかりました。dymola では動作しますが、オープンな modelica コンパイラでは動作しません。私のテストコードは次のようなものです:

  der(x) = t;  
  t = NcDataReader2.ncEasyGet1D("datafile.nc", "temperature", time);  
  der(y) = q;  
  q = NcDataReader2.ncEasyGet1D("datafile.nc", "flow", time); 

開いているモデリカで実行しようとすると、次のエラーが発生します。

Translation 09:21:41 0:0-0:0 シミュレーターの構築中にエラーが発生しました。ビルド ログ: gcc -falign-functions -msse2 -mfpmath=sse -I"C:/OpenModelica1.9.0//include/omc" -I. -DOPENMODELICA_XML_FROM_FILE_AT_RUNTIME -c -o TimeSeries.NcTest.o TimeSeries.NcTest.c TimeSeries.NcTest.c:19:28: エラー: ncDataReaderEA.h: そのようなファイルまたはディレクトリはありません mingw32-make: *** [TimeSeries.NcTest.o ] エラー 1

dymola で動作する理由は、dymola が C コンパイラを使用しており、ライブラリの c ファイルをオンザフライでコンパイルしているためだと思います。残念ながら、open modelica を使用する必要があります。

オープンmodelicaコンパイラで使用するためにこのエラーを修正できるか、またはmodelica(オープンmodelicaコンパイラ)で時系列データファイルを読み取るための他の代替手段がある場合、誰でも助けてもらえますか?

前もって感謝します

4

1 に答える 1

0

私は2年遅れていますが、ここに解決策があります。ブロック Modelica/Blocks/Sources/CombiTimeTable
を使用します。txt ファイルは次の形式に従う必要があります。

#1
double tableName(行、列)

0 0.1 32
1 0.2 35
2 0.3 38

最初の列は昇順の時間で、他の列はそれぞれのデータです。

于 2018-03-04T12:21:21.507 に答える