04-14-2016 07:16 PM
お世話になっております。
主題の件について質問させてください。
波形解析を行い、結果を判定する機能を過去にLabView8.5で開発しており、
共有ライブラリ(DLL)としてDLL化させて運用しておりました。
先日、LabView8.5からLabView2015に置き換えて、同様にDLL化させて動作させたところ、
以下のようなエラーメッセージが表示され、波形解析が行えなくなってしましました。
Fatal Internal Error : "memory.cpp", line 638
LabVIEW version 7.1
You will lose any unsaved work. For assistance in resolving this problem, please relaunch LabVIEW, or contact National Instrument.
ログを仕掛けて解析したところ、どうやら
ExpressVIのフィルタ機能(移動平均)の箇所でハングしているようでした。
(ここでは、22000点の倍精度のデータに対して平滑化処理をかけています。)
LabView上のデバッグでは、現象が発生せず、
DLL化して別exeから呼んだときに発生するため、何が原因か全く
見当がつきません。
以下に動作環境を示します。
OS:Windows Embedded Standard 2009
この問題が発生する原因についてご教示いただけますでしょうか。
04-20-2016 12:43 AM
ばっふぁろー 様
Fatal Internal Errorの経験は無く(ビルドエラーとか他でランタイムエラーはありましたが)
フォローなってないですけどよろしゅう。
ネットで検索してみましたところ、内部エラーのようですが
内容がよくわからんです(英語ばっかで・・・)
後、何故エラーメッセージの内容に「LabVIEW version 7.1」が?って感じです。
①LabView2015で一から作り直してみる?(念のためパッチ等を確認)
②念のためexe側からの呼び出しあたりをおっかける・・・
ダメ元でやってみるぐらいしか思いつきません(ぺこ)
経験者とかじゃないと反応出来ないような気もします。
可能な範囲でプログラムをUp(するなら8.5の方で)してみるとか?
【Fatal Internal Error: memory.cpp, line 638 】
http://forums.ni.com/t5/LabVIEW/Fatal-Internal-Error-memory-cpp-line-638/td-p/307588
【上記Dynamikさんの発言中のアドレス】
http://forums.ni.com/t5/LabVIEW/Fatal-Internal-Error-quot-memory-cpp-quot-line-638/m-p/170746?requir...
LabVIEW内部エラー(Failure in XXX.c / XXX.cpp at line YYY)←NIのホワイトペーパー の日本語・・・
http://search.ni.com/nisearch/app/main/p/bot/no/ap/global/lang/ja/pg/1/q/labview%20memory.cpp/scope/...
04-20-2016 12:52 AM
ばっふぁろー さん、こんにちは。
私もFatal Internal Error を経験してないですが、結局内部的に解析のExpress VIがLabVIEWのDLLを参照していると思います。
DLLを作成する際に、その内部のDLLが入って来ないはずですので、
別のLabVIEWのバージョンにアップグレードしたところではもしかして参照が変わってしまって、実行できなくなっていると想像します。
su-sann5073さんのアイディアを賛成します。LabVIEW 2015でそのDLLを再作成を試した方がいいと思います。
よろしくお願いします。