From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

DataSocketとTCP通信の同時使用について


お世話になります。
LabVIEW7.1を使用しています。
タイトルの内容について教えて頂きたいので投稿しました。
具体的な内容は次の通りです。

既存のVB作成のソフトがあります。
このソフトで生成されるデータを、TCP通信を使って他PCに送信し、
他PCで判定された結果を受信したいと思っています。
TCP通信はLabVIEWを使用した方が簡単なので、VBからLabVIEWにデータを
渡してTCP送信し、TCP受信したデータをLabVIEWからVBへ渡そうと考えました。
つまり、
VB→(DataSocket)→LabVIEW→(TCP)→他PC
VB←(DataSocket)←LabVIEW←(TCP)←他PC
を実現したいのです。

そこでDataSocketを使用して、VBとLabVIEW間のデータの授受は作ることが
できました。
また、LabVIEWと他PCのTCP通信も作ることができました。
しかし、これらの二つを組み合わせると、DataSoketサーバーがダウンしてしまいます。
DataSocketとTCP通信の同時使用は不可能なのでしょうか。
(他PC側のソフトは、他社製のためさわることはできません。)

ご存じの方がおられましたら、教えて頂けませんでしょうか。
よろしくお願いいたします。
0 件の賞賛
メッセージ1/11
7,887件の閲覧回数
平素より弊社製品をご愛顧いただき誠にありがとうございます。
日本ナショナルインスツルメンツ技術部の荒瀬と申します。

LabVIEWでDatasocketとTCP通信を同時使用するとDatasocketサーバーがダウンしてしまう現象につきまして、現在調査を進めております。

現象について詳しく調査するために、いくつかご質問させていただいてよろしいでしょうか。

1) Datasocketサーバーがダウンする際に、何らかのエラーメッセージは表示されますでしょうか。

2) Datasocketサーバーはどのようなタイミングでダウンしますでしょうか。例えば、数秒間LabVIEWが実行した後、もしくはVisual Basicのプログラムからデータが流れてきた直後、など詳しくお教えいただければと思います。

3) Datasocket通信とTCP通信は同時(全く同じ瞬間)に行われる可能性はございますでしょうか。
(VB→(DataSocket)→LabVIEW と LabVIEW→(TCP)→他PC が同時に行われる可能性など)

4) DatasocketサーバーはLabVIEWからプログラミング的に立ち上げていますでしょうか。もしくは、事前にスタートメニューから立ち上げていますでしょうか。

5) Datasocketサーバーのバージョンをお教えいただけますでしょうか。Datasocket ServerのHelp -> About Datasocket Serverに書いてあります。

以上、大変お手数ですが、ご返答よろしくお願い致します。ご不明な点などございましたら弊社技術部までご連絡下さい。

日本ナショナルインスツルメンツ技術部
荒瀬
0 件の賞賛
メッセージ2/11
7,870件の閲覧回数

ご回答ありがとうございます。
早速ですが、ご質問の内容についてご返答いたします。

>1) Datasocketサーバーがダウンする際に、何らかのエラーメッセージは表示されますでしょうか。

Datasocketからのエラーメッセージはありませんが、Windowsからのメッセージは表示されます。
その内容は、「問題が発生したため、National Instruments Datasocket serverを終了します」です。
また、「エラー報告に含まれるデータの参照」を確認してみると、次の情報が表示されました。
AppName:cwdss.exe
AppVer:4.2.3.0
ModName:mfc42.dll
ModVer:6.2.4131.0
Offset:0001bc9b

>2) Datasocketサーバーはどのようなタイミングでダウンしますでしょうか。例えば、数秒間LabVIEWが実行した後、もしくはVisual
>Basicのプログラムからデータが流れてきた直後、など詳しくお教えいただければと思います。

ダウンのタイミングは2通りです。
�Datasocket server起動後、VBソフトを起動し接続がOKとなった途端。
�Datasocket server起動後、VBソフトを起動し接続がOKとなった後、LabVIEWソフトを起動した時。
 このとき、LabVIEWをDatasocketの接続も一瞬OKとなります。

>3) Datasocket通信とTCP通信は同時(全く同じ瞬間)に行われる可能性はございますでしょうか。
>(VB→(DataSocket)→LabVIEW と LabVIEW→(TCP)→他PC
が同時に行われる可能性など)

可能性はゼロとは言い切れません。
LabVIEWでは、Datasocketからデータを受け取ったのを確認してから、TCP送信をしています。
しかしVBでは、LabVIEWでTCP送信が完了したかのチェックはしていません。
したがって、同時となる可能性はあると思われます。

>4) DatasocketサーバーはLabVIEWからプログラミング的に立ち上げていますでしょうか。もしくは、事前にスタートメニューから立ち上げていますでしょうか。

現在は試験中ですので、事前にスタートメニューから立ち上げています。
各ソフトの立ち上げ順序は、次の通りです。
�スタートメニューより、Datasocket起動。
�VBソフト起動。
�VBソフトのDatasocket接続がOkとなったのを確認してから、LabVIEWソフト起動。
また、VBからのデータ送信は、LabVIEWのTCP接続OKを確認後に開始します。
LabVIEWのDatasocket接続ですが、関数は使用せず「データ操作」−「Datasocketに接続」を設定しています。

>5) Datasocketサーバーのバージョンをお教えいただけますでしょうか。Datasocket
ServerのHelp
>-> About Datasocket Serverに書いてあります。

ver 4.2(0)です。


Datasocket server manager より、DefaultReaders,DefaultWritersのHostsを
eveyhost から localhost へ変更したところ、時々ですがダウンすることなく
データの送受を行うことができるようになりました。
しかし100%ではなく、やはりダウンすることが多いです。

お忙しいところ申し訳ありませんが、引き続きよろしくお願いいたします。

0 件の賞賛
メッセージ3/11
7,864件の閲覧回数
お世話になっております。日本ナショナルインスツルメンツ技術部の荒瀬です。

ご連絡ありがとうございます。

> Datasocket server起動後、VBソフトを起動し接続がOKとなった途端。

上記のタイミングでダウンしてしまうとなりますと、LabVIEWのプログラムを起動される以前にダウンしてしまうということでしょうか?

お手数ですが、ご返答よろしくお願い致します。

日本ナショナルインスツルメンツ技術部
荒瀬

0 件の賞賛
メッセージ4/11
7,857件の閲覧回数

お世話になります。
ご丁寧にありがとうございます。

>> Datasocket server起動後、VBソフトを起動し接続がOKとなった途端。
>
>上記のタイミングでダウンしてしまうとなりますと、LabVIEWのプログラムを起動される以前にダウンしてしまうということでしょうか?

はい、そうです。
細かくご説明いたしますと、PC起動後何もしていない状態から、
Datasocket serverを起動し、VBソフトを起動して接続がOKとなったのを確認して
LabVIEWのソフトを起動します。
このとき、LabVIEWのソフトとDatasocket serverとの接続がOKとなった途端に、
Datasocket serverがダウンします。
VB・LabVIEWのソフトを終了し、10分ほど時間をおいて再度Datasocket
serverを
起動し、VBソフトを起動します。
すると今度は、VBソフトでDatasocket Serverとの接続がOKとなった途端に
Datasocket Serverがダウンしてしまいます。

前回お知らせしたDatasocket Serverダウンのタイミングで、��の2通りと
書きましたが、順序から言えば正確には��の順となります。
うまくお伝えできず、申し訳ありません。

現在の状態ですが、接続が正常にできたので3時間ほどフリーランさせてみました。
途中でダウンすることなく動作していたのですが、一度停止させ、10分ほど
時間をおいて動作させたところ、VBのソフトが接続OKとなった途端に、
またDatasocket Serverがダウンしてしまいました。

原因解明のために必要であれば、私が作成したソフトをお送りいたしますので、
その際はご連絡ください。

引き続き、よろしくお願いいたします。
0 件の賞賛
メッセージ5/11
7,853件の閲覧回数

先ほどの補足です。

PC起動後何もしていない状態からの動作で、必ず接続がOKとなるわけでは
ありません。
その場合でも、Datasocket serverがダウンする場合もあります。

先ほどの投稿の後、再度動作させてみたところ、今度はダウンすることなく
動作しました。
このときは、再度動作させるまで30分以上時間が空いています。

以上、補足でした。
よろしくお願いいたします。
0 件の賞賛
メッセージ6/11
7,849件の閲覧回数
お世話になっております。
日本ナショナルインスツルメンツ技術部の荒瀬です。

お忙しいところ、ご連絡ありがとうございます。

> PC起動後何もしていない状態からの動作で、必ず接続がOKとなるわけでは
> ありません。
> その場合でも、Datasocket serverがダウンする場合もあります。

となりますと、PC起動後一度もLabVIEWプログラムを起動しない状態で、Datasocket serverを立ち上げ、VBのプログラムを動作させるとDatasocket serverがダウンする場合もありますでしょうか。それとも、起動直後はLabVIEWプログラムを一度は起動させないとダウンしないようなかたちで しょうか。

お手数ですが、ご返答よろしくお願い致します。

日本ナショナルインスツルメンツ技術部
荒瀬
0 件の賞賛
メッセージ7/11
7,848件の閲覧回数

お世話になります。
たびたび申し訳ありません。

>> PC起動後何もしていない状態からの動作で、必ず接続がOKとなるわけでは
>> ありません。
>> その場合でも、Datasocket serverがダウンする場合もあります。
>
>となりますと、PC起動後一度もLabVIEWプログラムを起動しない状態で、Datasocket
>serverを立ち上げ、VBのプログラムを動作させるとDatasocket
>serverがダウンする場合もありますでしょうか。それとも、起動直後はLabVIEWプログラムを一度は起動させないとダウンしないようなかたちで
>しょうか。

PC起動直後はLabVIEWプログラムを一度は起動させないとダウンしません。
PC起動直後は、VBで接続OK後、LabVIEWプログラムを起動させたときにダウンします。
その後は、これまでお知らせしたように、VBだけでもダウンします。

お手数をおかけしますが、よろしくお願いいたします。
0 件の賞賛
メッセージ8/11
7,845件の閲覧回数
お世話になっております。日本ナショナルインスツルメンツ技術部の荒瀬です。

お忙しいところ、たびたびご返信ありがとうございます。

詳しくお調べしましたところ、過去にこのような現象は報告されていないようなので、開発担当者に問い合わせます。

大変お手数ですが、開発の者がより詳しく調査させていただくために、よろしければお客様のプログラム(LabVIEWとVB)をお送りいただけますでしょうか。

弊社技術部のメールアドレスはsupportjapan@ni.comです。メールの件名もしくは本文内に私、荒瀬の名前をご記入いただければと思います。

お手数ですが、よろしくお願い致します。

日本ナショナルインスツルメンツ技術部
荒瀬
0 件の賞賛
メッセージ9/11
7,834件の閲覧回数

荒瀬様

お世話になります。
早速、プログラムをメールで送らせていただきました。
ご確認のほど、よろしくお願いいたします。
0 件の賞賛
メッセージ10/11
7,829件の閲覧回数