ユーザ用ツール

サイト用ツール


tabuchi:hipic2stars

HiPic2Stars (編集中)

1. 概要

浜松ホトニクスのカメラを Stars から制御できるようにする仕掛けの一部です。

浜松ホト二クスのカメラは、同じく浜松ホト二クスのプログラム HiPic からコントロールできます。

カメラ USB 3.0 dcamApi HiPic

この時、HiPic と同梱されている RemoteEx (HiRemoteEx) を使うと、外部のプログラムが HiPic にネットワーク経由でアクセスできるようになります。

カメラ USB 3.0 dcamApi HiPic
RemoteEx
Tcp/IP
外部プログラム

HiPic2Stars は、この「外部プログラム」の位置に置かれるプログラムで、RemoteEx と同時に Stars サーバにも接続して、 Stars サーバに繋がったプログラムから HiPic / カメラ を使用可能にします。

カメラ USB 3.0 dcamApi HiPic
RemoteEx
Tcp/IP
HiPic2Stars
Tcp/IP
他のStarsクライアント Tcp/IP Stars Tcp/IP XafsM2

RemoteEx からできることの大半は HiPic2Stars 経由で Stars からアクセスできるようになりますが、 HiPic2Stars の本来の目的は Starsクライアントの一つである XafsM2 と連携して、浜松ホトニクスのカメラを制御し 2次元 / 3次元の XAFS 測定をサポートすることです。 そのために、この目的に特化した機能を提供することを目指しています。

2. ダウンロード

exe ファイルと DLL ほか必要なファイルを集めた zip ファイルの最新の日付のものをまずダウンロードして下さい。
zip を解凍した後、zip ファイル内にあったファイルより新しい日付の exe や、 cfg などのファイルがあれば、それもダウンロードして、zip ファイルの中の古いファイルと置き換えて下さい。

最新版

旧版

  • zip フィアルを解凍してできるファイルやホルダは全てそのまま、同じ場所に置いておいて下さい。
  • 実行ファイルは HiPic2Stars.exe です。(もしくは HiPic2Stars-日付/バージョン.exe)
  • HiPic2Stars.key は Stars と接続する際に必要になります。
  • config.cfg は下記のように環境に合わせて編集する必要があります。

3. 設定

3.1 起動時のオプション

HiPic2Stars をコマンドラインから起動する時は、次のオプションが有効です 1)

オプション 記述例 機能/動作
-j -j 日本語モードで起動します (デフォルト)
-e -e 英語モードで起動します
-c [ファイル名] -c newConfig.cfg 設定ファイルを指定できます。デフォルトは config.cfg
-config [ファイル名] -config newConfig.cfg -c と同様設定ファイルを指定できます。

3.2 設定ファイル

HiPic2Stars は起動時に、HiPic2Stars.exe と同じ場所に置かれた設定ファイルを読み込みます。 設定ファイルの名前はデフォルトでは config.cfg ですが、-c, -config オプションで指定することもできます。 ダウンロードファイルにも同梱されている設定ファイルの例には、 現時点でできる全ての設定項目が書かれています。

「設定ファイルの例」は、簡単な説明がついていていますので 何を設定しているのかはわかると思います。 ほとんどの設定はデフォルトの設定のままにしておくのが良いと思います。

必ず設定、確認するべきなのは RemoteEx と Stars サーバの IP アドレスとポートに関する設定です。

RemoteEx_IP                192.168.112.223
RemoteEx_CMD_Port          1001
RemoteEx_Data_Port         1002

Stars_IP                  192.168.112.228
Stars_Port                6057

ポートについては、ここに書かれている値が RemoteEx や Stars サーバの標準の設定ですので それを変えていなければ変更する必要はありません。 IP アドレスの設定は、それぞれの環境に合わせて、 RemoteEx と Stars サーバが動いているマシンの IP アドレスに変更して下さい。

その他、環境に合わせて変更しないといけないのは次の設定です。 最初の二つはデータの保存場所に関する設定で、それほど重要ではありません。 ここで選ぶよりも、HiPic が起動してから HiPic の中で選んだ方が簡単なぐらいです。

On_Start_App      SetSavePath C:\\Users\MTab\Data-HiPic       # 無い場合作られないので注意
Seq_FilePath      c:\\Users\MTab\Data-HiPic\test-001.dat

# CT スキャンに使う軸の定義
#
# CT_SCAN_AX [軸名] [タイプ] [ドライバ名] [ch] [Unit] [PPU] [振り幅] [刻み幅] [スピード]
#    [軸名]       : その軸の名前。表示用
#    [タイプ]     : その軸を担当しているドライバのタイプ。今は pm16c 一択
#    [ドライバ名] : その軸を担当しているドライバの Stars 上での名前
#    [ch]        : その軸のチャンネル(もしあれば)
#    [Unit]      : その軸で変化する量の単位(直動なら [mm]、回転なら [deg] など)
#    [PPU]       : pulse per unit, 1 パルスが [Unit] でいうとどれだけの大きさか
#    [開始位置]  : スキャンする時の開始位置([Unit]単位で記述)
#    [振り幅]    : スキャンする時の振り幅([Unit]単位で記述)
#    [のりしろ]  : スキャン範囲の前後ののりしろ([Unit]単位で記述)
#    [刻み幅]    : スキャンする時の計測の刻み幅([Unit]単位で記述)
#    [スピード]  : スキャンする時のスピード [pps] で記述
#
#CT_SCAN_AX "軸1" PM16C "pm16c04-1" "ch1" "deg" 0.01   -90  180  5  0.1 5000
CT_SCAN_AX "軸1" PM16C "simmotor" "ch1" "deg"   0.01   -90  180  5  0.5 4500
CT_SCAN_AX "4軸Φ" PM16C "pm16c04-4" "ch8" "deg" 0.004  -30  180  5  0.5 4500

後半の CT_SCAN_AX は XafsM2 と連携して、CT-XAFS 測定を行う場合に必要になる設定です。 config.cfg 内に、上記の様な説明とともに設定例が有りますのでこれを見ながら設定してください。

4. 使用法

HiPic2Stars を起動すると右の図のようなウインドウが現れます。

  1. 最上部は、には Stars との接続状況が表示され、接続をコントロールできます。
    「Stars上での名前」「Keyファイル」「アドレス」「ポート」の欄には設定ファイルの Stars_IP, Stars_Key, Stars_IP, Stars_Port で指定した値が表示されているはずです。
    • Stars上での名前 : HiPic2Stars が Stars サーバに接続した時に名乗る名前です。
    • Keyファイル : Starsサーバ側で使われるキーファイルは “「Stars上での名前」.key” で変更できませんが、 その内容と突き合わせるローカル側のフィアルをここで指定します。 HiPic2Stars.key 以外を使う理由は特に無いはずです。
    • アドレス : Starsサーバの IP アドレスです。
    • ポート : Starsサーバのポート番号です。変更されていなければ 6057 です。
    • 接続 : このボタンでStarsサーバに接続したり切断したりできます。ボタンを押すとボタンに書かれている動作をします (「接続」と書かれている時に押すと、Stars に接続し、「切断」と書かれている時に押すと接続が切れる。)。
    • 状態 : Starsサーバとの接続状況を示します。
  2. 二段目は RemoteEx との接続状況、HiPic の起動状況が表示され、 RemoteEx との接続や HiPic の起動をコントロールできます。
    「アドレス」「CMDポート」「Dataポート」の欄には設定ファイルの RemoteEx_IP, RemoteEx_CMD_Port, RemoteEx_Data_Port で指定した値が表示されているはずです。

5. コマンド

HiPic2Stars の GUI 画面一番下の入力ボックスに入力するか、Stars 経由で HiPic2Stars にメッセージを送ると HiPic2Stars から RemoteEx にコマンドが送られたり、HiPic2Stars が何らかの動作をしたりします。 コマンドには 3種類のコマンドが有ります。

5.1 そのままコマンド

RemoteEx が受け取るコマンドそのままのコマンドです。 ただし、RemoteEx が受け付けるコマンドは、本当は

AppStart()
CamParamGet(Live,Exposure)

の様に、

[コマンド名](パラメータ1, パラメータ2,...)

という形をしています。 この形は Stars のメッセージとすこし作法が違います。 HiPic2Stars の画面下のボックスに入力する場合、あるいは Stars からメッセージを送る場合には、 「カッコ」と「カンマ」を消して、スペース区切りにして下さい。

AppStart
CamParamGet Live Exposure

の様な形になります。

この形で使えるコマンドは、

AppStart, AppEnd, AppInfo, CamParamInfoEx
CamParamGet, CamParamSet, LutParamGet, LutParamSet, LutSetAuto
AcqStatus, AcqStart, AcqStop
SeqStatus, SeqParamGet, SeqParamSet, SeqStart, SeqStop
ImgIndexGet, ImgDefaultDirGet, ImgDefaultDirSet, ImgSave, ImgLoad, ImgDelete
CorParamGet, CorParamSet, CorDoCorrection, CamGetLiveBG
AcqLiveMonitor

があります。

5.2 変形コマンド

HiPic2Stars が適宜解釈して、別のコマンド(場合によっては複数)を使って RemoteEx と更新し、 結果を返すコマンドです。
RemoteEx が受け付けるコマンドは汎用的な形をしているものが多く、 例えば、現在の露光時間の設定値を得るには

CamParamGet(Acquire,Exposuretime)

などとしますが、これを専用のコマンドで

GetExposureTime

とできると簡単です。 この様なコマンドには次のものが有ります。

これらは、それぞれどの様な動作をするか説明が必要なのですが…

5.3 その他のコマンド

最後に、RemoteEx にではなく、HiPic2Stars に対するコマンドが有ります。

ExConnect
ExDisconnect

これら2コマンドは、RemoteEx に対する接続/切断 を指示するものです。

6. その他

RemoteEx を利用して HiPic/カメラ にアクセスするのは非常に手軽だったので とりあえずの手段としてこのプログラムを準備しましたが、 カメラと最終のクライアントプラグラムを繋ぐ方法と考えた場合には、中継に入っているプログラムが沢山あって 明らかに無駄が多い構成になっています。 この点を解決するため、将来的には「(dcamApi)HiPic + RemoteEx + HiPic2Stars」の機能を肩代わりする プログラムを準備し、次のような構成で利用可能にすることを計画しています。

カメラ USB 3.0 dcamApi 将来のプログラム
Tcp/IP
他のStarsクライアント Tcp/IP Stars Tcp/IP XafsM2

当 web ページとその下のページに関するお問い合わせ等ございましたら、連絡先にご連絡をお願いします。
田渕のページのルート

1)
Windows でアイコンクリックで起動する場合でも、プロパティで指定することができます。
tabuchi/hipic2stars.txt · 最終更新: 2023/12/04 06:33 by mtab