パスワードを忘れた? アカウント作成
13166899 journal
日記

yshibayaの日記: NI社製GPIB-ENET/100 と iblck と 複数台のPCからのアクセス 1

日記 by yshibaya

数ヶ月はまっていた問題が解決したように見えるので,どなたかの参考のためメモ.

[環境]
・GPIB-ENET/100をプライベートネットワークの中に設置.
・GPIB-ENET/100に数台,測定器がGPIB接続されている.
・同じプライベートネットワーク内から,GPIB-ENET/100を経由して測定器の制御.
・PCはWin2kだったりWinXPだったり.
・開発環境はVB6.
・GPIB-ENET/100のファームウェアはVersion B8.

[問題]
・1台のPCからしかアクセスしない時には無問題(10年以上問題なし).
・複数台のPCからアクセスすると,数分~数10分でプログラムが止まる.
・iblckのことは知っており,排他制御をするコードを書いているつもり.
・ロックに失敗したとき,成功するまでひたすらロックを繰り返すという,お粗末なコード.
・また,LockWaitTimeを長くすると,プログラムが止まるまでの時間が長くなる.
・従って,自分のコーディングが悪い & タイミングがシビア と判断していた.

[対処]
・プログラムが固まった後,GPIB-ENET/100のLISTENランプが点灯しっぱなしだったので,プログラム側ではなく,GPIB-ENET/100の問題を疑う.
・取りあえずファームウェアを探すと,B9とC9が見つかる.
・B9のReadMeに,iblck云々の記述あり.
・ファームウェアをB9にアップデート
・わざとお行儀の悪いプログラムで,複数のPCからひたすらGPIB-ENET/100のロック・アンロックを繰り返してみる.

[よく解らない点]
・結局,iblck と iblock/ibunlock,どちらを使うのが良いのか?

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • > LISTENランプが点灯しっぱなし
    どんなロックのメカニズムなのかわかりませんが、少なくとGPIBを使いたいPCがロック/アンロックを認識する前に、GPIBのATNがアクティブになってトランザクションが始まっちゃうようなら、そのロックの仕組みは破たんしてますよね?

typodupeerror

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

読み込み中...