NI-DNETを使用し、LabViewでDeviceNetの通信プログラムを作成しようと考えています。
NI-DNETのFunctionの使用手順がよくわからず、アドバイスいただけないでしょうか。
<質問1>
下記の手順で、プログラムを組んだとき3番目の次に「ncWaitForState」を
実行するとステータスとして「Established」が得られます。これは、DeviceNet
の接続が確立したという解釈でよろしいでしょうか。
1.「ncOpenDnetIntf」のDLL呼び出し
上記DLLでNI-DNETインターフェースオブジェクトの設定、オープンを行う
2.「ncOpenDnetIO」のDLL呼び出し
上記DLLでI/Oオブジェクト(I/Oコネクション)の設定、オープンを行う
3.「ncOperateDnetIntf」のDLL呼び出し
上記DLLでDeviceNet通信の開始(オペコードにStartをセット)
<質問2>
「ncWriteDnetIO」にてデータ書込みを行った場合、書込み処理完了は
どのようにして知ることができますか。
「ncWaitForState」を使ってステータス待ちをすると次の結果になりました。
(1)「ncWaitForState」で「Established」待ちにすると正常に書込みができる
(2)「ncWaitForState」で「ReadAvail」待ちにするとタイムアウトになる
<質問3>
「ncReadDnetIO」にてデータ読込みを行った場合、読込み完了は
「ncWaitForState」で「Read Avail」ステータス待ちにすればよろしいでしょうか
<質問4>
上記の質問2、3に関連しますが、データの読込み、書込みを行う場合には
どのようなシーケンスを組む必要があるのでしょうか。
たとえば、読込み、書込みのどちらでも次のようなシーケンスが必要でしょうか
「ncWriteDnetIO」→「ncWaitForState」→「ncReadDnetIO」の順にDLLの
呼び出しが必要になりますでしょうか