ラベル GPIB の投稿を表示しています。 すべての投稿を表示
ラベル GPIB の投稿を表示しています。 すべての投稿を表示

2025年9月18日木曜日

linux-gpibパッケージをインストールした際にpython-bindingがインストールされていればPyVISAは不要なはず。

 題目の通り。

前回のような手順できちんとlinux-gpibパッケージでpython-bindingがインストールできていれば以下で行けるはず。


  1. import gpib
  2. import time
  3. from datetime import datetime
  4. device = gpib.dev(0, 5)
  5. gpib.timeout(device, gpib.T10s)
  6. log_file = "measurement_log.csv"
  7. with open(log_file, "w") as f:
  8.     f.write("Timestamp,Voltage\n")
  9. try:
  10.     while True:
  11.         gpib.write(device, "MEAS:VOLT?\n")
  12.         response = gpib.read(device, 100).decode().strip()
  13.         timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
  14.         with open(log_file, "a") as f:
  15.             f.write(f"{timestamp},{response}\n")
  16.         print(f"{timestamp} -> {response} V")
  17.         time.sleep(1)
  18. except KeyboardInterrupt:
  19.     print("測定を中断しました。")
  20. finally:
  21.     gpib.close(device)
  22.     print("GPIBデバイスを閉じました。")


12行目で.decode().strip()をつけないかたち,すなわち


gpib.write(device."*IDN?\n")
print(gpib.read(device, 100))

としてしまうと,結果が,

b'HEWLETT-PACKARD,34401A,0,1.0\n'

みたいになってしまう。なので,

print(gpib.read(device, 100).decode().strip())

とすれば

HEWLETT-PACKARD,34401A,0,1.0
と返ってくる。

よく使う関数をまとめておく。

関数説明
gpib.dev(board_index, pad)デバイスハンドルを取得
gpib.write(device, command)コマンド送信
gpib.read(device, length)応答読み取り
gpib.close(device)デバイスを閉じる
gpib.timeout(device, value)タイムアウト設定(例: gpib.T10s)

2023年5月4日木曜日

NI-GPIBドライバ(LabView)のM1&M2mac(apple silicon)対応状況

NIから 2023年4月27日に最新の情報が更新されましたが,相変わらずです。

macOS 13  (x86_64)と書いてあるので,intelチップのみの対応と考えられます。

まぁ,おそらくカーソルを合わせておかないと処理が極端に遅くなる問題にも対応できていないと思いますので,しばらくはlinux上で測定を進めます。

linuxもかなり便利になってきて,x11vncなどを使えばデスクトップを共有できるし,smb,最近ではgoogle driveにも対応できるので,しばらくはlinuxで不便は感じないかと。

2022年12月6日火曜日

Apple siliconのNI488.2ドライバが一向に開発される気配がないのでLinuxにもどろうか(事前調査)

 2022年12月時点で,NIがmacOSはx84_64しかサポートしていないので,intel mac を新品で買えない現状では研究室の維持が難しくなってしまう。


さらに,最近のmacOSではウインドウをアクティブにしておかないと,処理が遅くなるようなので,これも測定に悪影響を及ぼす恐れがある。

うっかり測定用プログラムが走っているウインドウ以外をクリックしてしまったりすると,測定プログラムがアイドル状態とみなされてしまうのだろう。


LinuxからmacOSに移った理由の一つが,VNCでのぞいたり場合によっては測定条件を変更したりしたいから。

RDPやmacの画面共有(これは所詮VNCだけど)と違って,サーバ側をLinuxにしてVNC接続すると,別のXが立ち上がるようになっている(複数人で使えるように)。

しかし,測定で使用する場合,今まさにディスプレイで表示しているものをそのまま表示して欲しいので,それではちょっと困る。


しかし!最近救世主のようなVNCサーバに出会えた。

X11VNCとかいうやつらしい。

VNC用のパスワードを発行して,現在デスクトップで表示されているものをそのまま共有できるらしい。

そこらへんにころがっているちょっと古いDOS/V機で十分いける!


そこで,ひさびさにLinux-GPIBのウェブサイトを覗いてみる。

すると,

The 4.x.x and later series kernels are also supported by the packages in the linux-gpib for 3.xx and 2.6.x kernels folder.
The latest stable release (linux-gpib-4.3.5) has been tested on linux version 5.19.0-rc7 from kernel.org 

と書いてある。

先日入れたxubuntu22.04のカーネルを調べるために,uname -rしてみると,5.15.0-56-genericとのこと。


条件的には大丈夫そう。

でもなるべくコンダラひきたくない。


これも続きは後日。