問題タブ [measurement-studio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - refdouble[]をrefオブジェクトに変換できません
今、私はここでほぼ毎日質問をしているようです。それが良いことなのか悪いことなのかわかりません...
今日の「Flavor-Of-The-WTF」には、NIMeasurementStudioオブジェクトの関数を使用するときの私の完全で完全な無知が含まれています。これまでのほとんどの質問と同様に、これは、.Net Framework 2.0でVB6プロジェクトをC#に変換することを任されたインターンシッププロジェクトに関するものです。
元のVBコードは次のようになります。
ある時点でMsgBoxにとどまり、realdataとimgdataがどのように解釈されているかを確認しました。どちらもですDouble()
。元のプログラムでは、それが何をするかについては問題なく機能します。確かに、元のプログラムに関する私の親密な知識は、最近プロジェクトを取り上げたので平凡であり、プログラミングは数年しかありません(そして、機械工学は何年もありません。プログラマーは機械エンジニアであり、アプリケーション自体でした。機械出力用の測定ツール)。
コードをC#に引き継いで、次のように書き直してみました。
ご覧のとおり、基本的には元のVBと同じ方法で実行することから始めました。次のエラーが発生しました。Cannot Convert double[] to ref object
まあ、それは良くありません。だから私は試しました:DSP.ReFFT(ZData, ref realData, ref imgData);
戻るためだけに:Cannot Convert ref double[] to ref object
だから私は自分が明白だと思ったことをしました。realDataとimgDataをobject
sにボックス化し、それらを関数に渡しました。しかし、それはあまり好きではありません。を付けずに新しいオブジェクトを渡す場合はref
、を付けて渡す必要があると主張します ref
。で渡すとref
、エラーが発生します。
Cannot Convert ref double[] to ref object
。
ええと...おなじみですね。2つの変数のインスタンス化に変更double[]
すると、最終的にコンパイラーにエラーの生成を停止させます。Object
しかし...関数を実行すると、Type Mismatch
エラーが発生します。
ここからどこへ行くのか本当にわからない。インターネット上にあるMeasurementStudioを使用したC#のプログラミングに関する情報はほとんどまたはまったくありません。あったとしても、私が思っているよりもはるかに簡単な解決策だと思います。歴史は、私が理解できないバグがあるとき、それはほとんど常に愚かなことであると私に教えてくれました。
c# - NIのライブラリのVIをC#で使用する方法
labVIEW プロジェクトを C# に変換しています。私のlabviewプロジェクトでは、NIのVIを使用しました。たとえばniModInstGet Installed Device Attribute(String).vi.
、C#でこれを使用していてMeasurement Studio
、からドライバーをインポートしましたIVI Foundation - > IVI - > Driver - > niModInst - > niModInst.fp
。したがって、C# では、この VI に次のようにアクセスできます。Method
問題は、LabVIEWプロジェクトでVIを使用していることですC:\Program Files\National Instruments\LabVIEW 2009\instr.lib\niRFSG \ niRFSGExamplesSupport.llb\nfsg_FindWaveformPAramsForFrequincy.vi
このためのドライバーファイルが見つかりません。これはどこにありますか。または、これを実現するために独自の C# 関数を作成する必要があります。
これをディオするのを手伝ってください..
前もって感謝します
c# - C#.Net で DAQmx タイミング (サンプル クロック) を使用する方法
Measurement Studio を使用しています。DAQmx Timing VI
C# アプリケーションでこの機能を使用する必要があります。これを行う方法。私を助けてください。
VIはこちら
c# - C#でLabVIEWプロパティノードを使用するにはどうすればよいですか?
C#でLabVIEWプロパティノードを使用する方法(MeasurementStudioを使用)?
visual-studio-2010 - MeasurementStudioのコントロールはVS2010では表示されません
NIMeasurementStudioを使い始めようとしています。ソフトウェアをインストールした後、コントロールがツールボックスに表示されません。「このカテゴリのコントロールは.NetFramework4クライアントプロファイルでは使用できません。この設定を変更するには、[プロジェクトプロパティ]ウィンドウを開きます。」というテキストが表示されます。
measurement-studio - WaveformGraph PlotYAppend 使用時に AxisX 表示範囲を拡張する方法
PlotYAppend 関数を備えた National Instruments WaveformGraph コントロールを使用して、外部 DAQ ボードからのデータ ストリームを表示しています。
デフォルトでは、WaveformGraph は追加された配列から 1000 ポイントのみを表示しますが、これを変更するにはどうすればよいですか?
c# - InitializeComponent()でアプリケーションがクラッシュする
まず、Visual Studio 2010、Measurement Studio 2010プラグイン、C#、および.NET4.0を使用しています。
私のアプリケーションはUSBデバイスからデータを受信し、WaveformPlot()
[MeasurementStudioの一部]を使用してデータをグラフ化します。bin
デバッグモードとリリースモードでアプリケーションを正常に実行でき、開発用コンピューターのフォルダー内のEXEファイルを使用して直接正常に実行することもできます。
ただし、別のコンピューターで実行することはできません。ClickOnceを使用してインストールファイルとフォルダーを作成し、発行フォルダーを開発用コンピューターからクライアントコンピューターにコピーします。次に、インストールファイルを実行し、ClickOnceが.NETをダウンロードして(まだインストールされていない場合)、アプリケーションを開きます。アプリケーションは、利用可能な多くのCOMポートからCOMポートを選択するように求める最初のダイアログを表示します。これを行うと、コードが実行され、InitializeComponent()
その後、メインフォームが表示されます。
最初のボックスの後でメインフォームが開きません。ステートメントを使用Debug.WriteLine
して、私はそれをに絞り込むことができました
ここでクラッシュします。エラーメッセージなどは表示されません。他のコンピューターではなく、開発用コンピューターで正常に動作します。National Instruments DLLファイルを含めましたが、他のNationalInstrumentsコンポーネントは正常に初期化されています。そうでないのはこれだけです。アプリケーションはWindowsタスクマネージャーにしばらく表示され、10秒ほどで消えます。
私は何をすべきか?
アップデート1
Application.run
Stack Overflowに関する別の無関係な質問を読んだ後、とform1 mainform = new form1()
をtry-catchブロックに入れることができることに気付きました。
System.TypeInitializationException:「NationalInstruments.UI.Internal.WaveformPlotElement」の型初期化子がスローして例外をスローしました。-> System.IO.FileNotFoundException:ファイルまたはアセンブリ'NationalInstruments.Common.Native.dll'またはその依存関係の1つを読み込めませんでした。指定されたモジュールが見つかりませんでした。
少なくとも今は例外だとわかっているので、それに取り組み、不足しているDLLとその理由を特定し、この質問を更新します。
アップデート2
公開フォルダにあるアプリケーションファイルを確認しましたが、「NationalInstruments.Common.Native.dll」が含まれています。なぜロードできないのかわかりません。
アップデート3
クライアントコンピューターでNationalInstruments.Common.Native.dll
FusionLogViewerを実行したところ、が正常に読み込まれたことがわかりました。それでも、デバッグ例外メッセージはOPに示されているように表示されます。
ファイルまたはアセンブリ'NationalInstruments.Common.Native.dll'またはその依存関係の1つを読み込めませんでした
Fuslog Viewerは、すべてのアセンブリが正常にロードされたことを示しています。クライアントコンピュータをチェックしました。ただし、National Instruments DLLファイルには、「GACルックアップが失敗しました」という行がありますが、他のアセンブリにはありません。
DebugViewerは、を使用して印刷した例外を表示しますDebug.writeLine
。これは、NationalInstruments.Common.Native.dll
またはその依存関係の1つをロードできなかったことを示しています。
私は非常に混乱しています。
プロジェクトへの参照を追加しようとしました。逆コンパイラーを使用して参照を確認し、他のインストールプログラム(ClickOnce以外)を使用しましたが、どれも私をどこにも連れて行ってくれないようです。:(
アップデート4
昨日、アプリケーションが64ビットシステムに正常にインストールされ、実行されていることがわかりました。以前に試した2台のコンピューターは、32ビットのWindows7システムでした。私はそれがどういうわけか私を助けることができるかどうかを見たいと思っています。アプリケーションは、64ビットのWindows7開発ラップトップでコンパイルされました。プロジェクトプロパティの下の「ビルド」の「プラットフォーム」ドロップダウンメニューに「アクティブ(x86)」と表示され、プラットフォームターゲットとして「任意のCPU」があります。
mfc - NI Measurement Studio の代替
NI Measurement Studio は MFC/C++ アプリケーションをサポートしていないため、MFC/C++ アプリケーション用の代替手段が必要です。
visual-studio-2012 - NI Measurement Studio 2012 for VS 2012
Measurement Studio 2012 が VS 2012 で機能しないことを確認し、インストールに時間を無駄にしないようにしたいだけです。