[KEKB Bunch Feedback Group]

チノーMH2000 EPICS Device Supportの製作(Japanese)


by とびやま まこと(Makoto Tobiyama)/KEKB ビームモニターグループ

警告
以下の記述に関しては、意図する、しないに関わらず多くの誤り、誤解が含まれていると思われますので、 決して信用してはいけません。これを信じて起きた損害に関しては、当方は一切責任を持ちません。


If you want to contact with the author, please E-mail makoto.tobiyama@kek.jp.
目次

1.はじめに

チノー/グラフテックのMH2000ハイブリッドレコーダーは、30チャンネルまでの電圧 あるいはRTD/TCを使った温度測定をすることが出来るハイブリッドレコーダーです。 MH2000用のデバイスサポートは私が作ったdevice suppportの中でも最古のもので、 R312/R313時代にVMEバスからのGP-IBで利用してきました。
R314になって、asynを使ったGP-IBに対応させる必要がありましたが、今や ハイブリッドレコーダーという時代でもない(昔使っていたときも紙はずっと 切れたままだった)ので、動態保存の状態でした。今回、急に温度測定が必要 となり、仕方なく古いdevice supportをASYN対応に書き換えました。

2.IOコマンド

サポートするGP-IBコマンドは以下の通りです。
機能CommandResponse
1-10の測定11,01,(cr)(lf) 11,01,データ1,データ2,....
11-20の測定11,02,(cr)(lf) 11,02,データ1,データ2,....
21-30の測定11,03,(cr)(lf) 11,03,データ1,データ2,....
なお、データは1チャンネルあたり、下記の12バイトで構成されています。
A1 A2 A3 A4 S D1 D2 D3 D4 D5 D6 D7

A1〜A4は警報発生情報をレベル毎(4レベル)示すもので、
0 : 未発生
1 : 上限警報
2 : 下限警報
3 : 変化率上限警報
4 : 変化率下限警報
5 : 差上限警報
6 : 差下限警報

Sはデータの状態を示し、
0 : 正常
1 : 断線(burn out)
2 : 入力オーバーフロー
3 : 入力アンダーフロー
4 : データーオーバーフロー
5 : データーアンダーフロー
9 : 無効データ

D1〜D7で、データを7桁で右詰に示します。

3.EPICS環境

本デバイスサポートは、EPICS R314.12.3-CSAのAsynドライバー用に開発したものです。 EPICSそのものに対する説明、入門出家入道については徳の高い専門家に帰依するなり、 古今東西の古文書、Wikiなどを調べるなどの厳しい修行が求められるかもしれません。動作はLinux (CentOS 6.8_x86_64)上の EPICS R314.12.3-CSA+Asyn-4.23で検証しています。

4.コードの概要

コードを以下に示します。昔書いた物と大差ありません。 変換ルーチンの説明は以前の文章にありますので、解説は省略します。

5.EPICSデータベースサンプル

サンプルファイルは以下を参照してください。

6.スタートアップファイルサンプル

スタートアップの必要部分は以下の通りです。
dbLoadRecords("db/FB_TMONFB4.db","L=L0, A=7")

vxi11Configure("L0","172.19.***.***",0,0.0,"gpib0",0,0)

7.まとめ

チノー/グラフテックMH2000ハイブリッドレコーダーの EPICSデバイスサポートおよびデータベースについて紹介しました。
Makoto Tobiyama
9/May/2017

Return to FB Home Page...