03-26-2012 01:34 AM
PCI-GPIBやGPIB-USB-HSを使用してPC(OSはWindowsXP)から計測器の制御をおこなうプログラムを作っております。
これらのI/FのドライバとしてNI488-2に含まれているデバイスドライバを使用していますが、このデバイスドライバについて3点教えてください。
ある設備と接続して通信するとNI-488-2のVer.2.6およびV.2.7.3ではPCから設備へのデータ送信時に”VI_ERROR_TMO”が発生して送信できません。設備からPCへのデータ受信は異常なくおこなえます。
これをNI488-2のバージョンだけVer.2.4にするとPCから設備への送信も異常なくおこなえます。
なぜこのようなバージョンの違いによって動作が異なっているかお心当たりがあれば教えてください。
また、最新のVer.3.0.2ではこの辺の動作はどのようになるのでしょうか?
更に、最新版でも送信がおこなえない場合、Ver.2.4を使用し続けるしかないのですが、このバージョンはWindows7(32bit)に対応しているのでしょうか(これから導入するPCはWindows7ではいってくるので知っておきたいです)?
以上、よろしくお願いします。
03-27-2012 12:57 AM
mook様
日本ナショナルインスツルメンツの塚崎です。
いつもお世話になっております。
VI_ERROR_TMOというエラーはタイムアウトエラーだと認識しておりますが、そのようなイメージでよろしいでしょうか。
NI-488.2のバージョンを変更すると計測器がに命令をすることができなくなったとのことと理解しております。
プログラムはLabVIEWで作成されているでしょうか。
もしそうでしたら、LabVIEWのバージョンの情報をお教えください。
VISAのバージョンで対応しているLabVIEWのリンクが以下にあり、それぞれ対応がされているかどうかを判別いたします。
http://ae.natinst.com/public.nsf/web/searchinternal/6a89b023ac6edfe7862575d2002723d7?OpenDocument
NI-488.2 3.0.2と2.7.3はWindows 7に対応しており、Windows 7に対応を始めたのは2.7.2以降になります。
そのため、NI-488.2 2.4と2.6はサポートしておりません。
バージョンを変更して設備への送信ができなくなったとのことですが、プログラムではなくてMeasurement and Automation Exploreでお試しになられたでしょうか。
このソフトウェアでもコマンドを設備に送ることができまして、これで送ることができるかどうかが問題の切り分けになります。
以下のページにある図の中に、「計測器と通信する」という文字がある場所を押して、コマンドを書き込んでください。
それで同じエラーが起きるかどうかのご確認をお願いいたします。
日本ナショナルインスツルメンツ
大阪営業所技術担当
塚崎
03-28-2012 01:18 AM
返答ありがとうございます。
> VI_ERROR_TMOというエラーはタイムアウトエラーだと認識しておりますが、そのようなイメージでよろしいでしょうか。
> NI-488.2のバージョンを変更すると計測器がに命令をすることができなくなったとのことと理解しております。
起きているエラーは塚崎様がイメージしている通りで問題ないと思います。
(GPIBの通信ラインを直接モニタリングできなくて、NI-Spyで確認したところ、PCから設備へのデータ書込みの結果が常に上記エラーになっていました。)
私が困っている事象は塚崎様のご理解の通りです。
> プログラムはLabVIEWで作成されているでしょうか。
残念ながらLabVIEWではありませんし、VisualStudioなどのメジャーな開発環境でもありません。
NI488.2のバージョンと対応するOSの関係は了解しました。
> バージョンを変更して設備への送信ができなくなったとのことですが、プログラムではなくてMeasurement and Automation Exploreでお試しになられたでしょうか。
MAXではなく私どもにて開発したプログラムでの動作結果です。
上記の通り私どもの開発環境がメジャーではなく、プログラムの記述などでは語ることは出来ないのでアドバイスどおりMAXで試して切り分けてみます。
以上、よろしくお願いします。
03-29-2012 01:51 AM
mook様
日本ナショナルインスツルメンツの塚崎です。
いつもお世話になっております。
MAX上でうまくコマンドが送れるかどうかで、ドライバレベルの問題かどうかの切り分けになります。
MAXで試していただきましたら、結果をお伝えいただければと思います。
結果に応じて次の取り組みを考えていきたいと思います。
どうぞ、よろしくお願いします。
04-03-2012 01:05 AM
お世話になっております。
初歩的なことをお尋ねして申し訳ありません。
"SP<Space>23<CR><LF>” (0x53, 0x50, 0x20, 0x32, 0x33, 0x0d, 0x0a)というコード列をMAXを使ってPCから設備へ送信したいのですが、<CR><LF>を送信する操作がわかりませんでした。
お手数ですが、MAXを使ってどのように操作すれば”任意の文字列+<CR>+<LF> ”が送信できるか教えてください。
以上、よろしくお願いします。
04-03-2012 04:26 AM
mook様
日本ナショナルインスツルメンツの塚崎です。
いつもお世話になっております。
終端文字について、以下のページがご参照になるかと思います。
http://zone.ni.com/devzone/cda/tut/p/id/9641
\r\nをコマンドの後に入力してみてください。
どうぞ、よろしくお願いします。
塚崎
04-04-2012 02:26 AM
ご教授ありがとうございます。
早速試してみたいところですが、
弊社都合ですぐ設備が使用できる状態でありません。
(設備不足でかなり先まで予約されています。無念です。。。)
調査中断している間に別なアプローチでの調査をお願いしたいと考えています。
WinXPのPCへNI PCI-GPIBを実装し、NI-488.2をインストールして、弊社開発のプログラムでGPIB機器の制御をおこなうシステムです。
NI-488.2のバージョンによって、ある設備の制御ができたり出来なかったりしました。
PCは同じ個体で、弊社開発のプログラムも改修などは加えない状態で、NI-488.2だけ入れ替えます。
つまりNI-488.2以外は同じものです。
Ver.2.4ではある設備とも問題なく通信できておりましたが、
Ver.2.6・Ver.2.7.3にバージョンアップすると、ある設備への送信においてエラーが発生しました。
この状態からNI-488.2一式を削除して、Ver.2.4をインストールすると、正常に通信できるように戻りました。
そのときの作業をおこなった者への聞き取りでは
MAXの「計測器と通信する」を使って、データを送信しようとしたが、Ver.2.6・Ver.2.7.3をしたときは送信しようとすると受信データを表示するテキストボックスに”EABO”が表示されて送信に失敗してしまう。
ということでした。
ちがいはNI-488.2だけなので、Ver.2.4とVer2.6・Ver.2.7.3の間に動作の違いが出る差異があると考えています。
差異が仕様変更なのか、不具合なのか、ディフォルトの設定なのかはわかりませんが。
恐れ入りますが、
NI-488.2のVer.2.4・Ver.2.7.3の差異について調査いただき、上記異常に関連するような差異があれば教えていただくことは出来ないでしょうか?
以上、よろしくお願いいます。
04-09-2012 09:21 PM
mook様
日本ナショナルインスツルメンツの塚崎です。
VISAのバージョンによる違いについて調べております。
以下のようなリンクがございましたのでお知らせいたします。
http://digital.ni.com/public.nsf/allkb/126D5C7A0A9E5C8186256C17005B66FF?OpenDocument
Agilentの特定の機器でNI-VISA 2.5以上にアップグレードした際に通信ができないという報告がございます。
お使いの機器の型番について、差障りがなければお教え願えないでしょうか。
どうぞ、よろしくお願いします。
日本ナショナルインスツルメンツ
大阪営業所技術担当
塚崎
04-10-2012 11:58 PM
返答ありがとうございます。
> お使いの機器の型番について、差障りがなければお教え願えないでしょうか。
対応遅れて申し訳ありません。
ご要望のありました事象発生する設備の情報を記載します。
事象が発生する設備は3台あり、すべてエミック株式会社製の複合環境試験機です。
エミック社の名称ですと、温度湿度複合環境試験装置 VCシリーズバイブロチャンバーというものです。
型番がすべてばらばらなのと、特注に関する情報が含まれる可能性があるので、型番の記述はこの場ではご容赦ください。
VCシリーズバイブロチャンバーでGPIB通信部分はすべて共通と思います。
型番情報が必要な場合は申し訳ありませんが別な伝達手段を使わせてください。
以前調査した者からの情報では、以下のような状況とのことでした。
WinXPの環境でNI-488.2のVer.2.4では問題なく送受信できたが、Ver.2.6にすると送信時エラーが発生して送信できなくなり、Ver.2.6をアンインストールしてVer.2.4を再度インストールするとやはり問題なく送受信できるという状態でした。
Ver.2.6で送信時エラーが発生して送信できないというのはMAXの「計測器と通信する」をつかってデータを送信すると”EABO"エラーが発生して送信できなかった。
以上、よろしくお願いします。
04-11-2012 08:44 PM
mook様
エミック社とNI-VISAについて何か情報があるかを調べたのですが、有益な情報はございませんでした。
GPIBの通信をするドライバはNI-488.2というものになります。
NI-VISAはNI-488.2を動かすための上位のAPIになります。
NI-VISA 2.6をインストールしても、NI-VISA 2.4をインストールしても、自動でNI-488.2がインストールされるということではありません。
NI-488.2は別にインストールする必要がございます。
これを踏まえていくつかご質問がございます。
1. NI-NISAのバージョンを変更したときに、同時にNI-488.2のバージョンも変更されたでしょうか。
2. NI-488.2のバージョンをお教えください。
インストールされているNI-488.2のバージョンがNI-VISAのバージョンと合っていない可能性がございます。
3. 最新のNI-488.2とNI-VISAのインストールによりうまくいくかどうかの検証をお願いします。
NI-488.2
http://joule.ni.com/nidu/cds/view/p/id/2922/lang/ja
NI-VISA
http://joule.ni.com/nidu/cds/view/p/id/2914/lang/ja
1番と2番は古いバージョンでのお話になりますが、私としては3番を是非ともお試しいただきたいと思っております。
どうぞ、よろしくお願いします。
日本ナショナルインスツルメンツ
大阪営業所技術担当
塚崎