MLFのネットワーク

物質・生命科学実験施設の
実験制御ソフトウェア
2005年7月11日
中性子装置開発研究グループ
中谷 健
目次
• 実験制御システムのハードウェア/ソフトウェ
ア構成
• ネットワーク分散型制御システムのプロトタイ
プ
• ロギングシステムのプロトタイプ
• まとめと今後
中性子ビームラインの実験制御システム(ハードウェア)
CPU DAQ
Sample environment
CPU
D-Ana+UI
CPU DAQ
Beamline components
CPU
UI
Spectrometer
Vacuum
vessel
Beamline
collimator
Neutron
beam
Neutron
guide
Beam
monitor
Sample environment
control instrument
Sample
Detectors
Vacuum gauge
T0 chopper
Chopper
Monitor camera
Water leak sensor
Gas
sensor
Beamline LAN
Vacuum gauge
CPU DB
Thermometer
Hygrometer
DAQ Electronics
CPU
DAQ+D-Red
CPU Logging
DAQ data storage
Timing, Inhibit
Module
Storage Area Network
中性子ビームラインの実験制御システム(ソフトウェア)
CPU DAQ
CPU DAQ
Beamline
component
server
Sample
environment
server
Spectrometer
CPU D-Ana+UI
CPU UI
User interface
for Beamline
manager
User interface
for Beamline
user
Vacuum
vessel
Beamline
collimator
Neutron
beam
Neutron
guide
Beam
monitor
Sample environment
control instrument
Sample
Detectors
Vacuum gauge
T0 chopper
Chopper
Monitor camera
Water leak sensor
Gas
sensor
CPU Logging
TCP/IP Socket
CPU DB
RDBMS
Web server
Vacuum gauge
Thermometer
Hygrometer
CPU DAQ+D-Red
Detector server
DAQ Electronics
Logging client
DAQ data storage
Timing, Inhibit
Module
Storage Area Network
ネットワーク分散型制御システムのプロトタイプ
CPU DAQ
CPU DAQ
Beamline
component
server
Sample
environment
server
Spectrometer
CPU D-Ana+UI
CPU UI
User interface
for Beamline
manager
User interface
for Beamline
user
Vacuum
vessel
Beamline
collimator
Neutron
beam
Neutron
guide
Beam
monitor
Sample environment
control instrument
Sample
Detectors
Vacuum gauge
T0 chopper
Chopper
Monitor camera
Water leak sensor
Gas
sensor
CPU Logging
TCP/IP Socket
CPU DB
RDBMS
Web server
Vacuum gauge
Thermometer
Hygrometer
CPU DAQ+D-Red
Detector server
DAQ Electronics
Logging client
DAQ data storage
Timing, Inhibit
Module
Storage Area Network
ネットワーク分散型制御システムの特徴
• オープンな通信プロトコル
– 信頼性の高いTCP/IPのSocket通信を利用。OSやアプリケーションに依
存しない。
• ネットワーク分散化
– 検出器からのデータの増大に対応して負荷を分散。
– 実験セットアップの変更に柔軟に対応。
• Client-server型構造
– 対障害性の向上。
• 排他処理
– 実験中は他の制御端末からの制御は受け付けない。
– 使用状況は常時モニター可能。
ネットワーク分散型制御システムのプロトタイプ
@KENS SWAN
USB 2.0
TA Modules
CPU DAQ
Ethernet
CPU
D-Ana+UI
GPIB
Detectors
USB 2.0
CPU DAQ
PSD Modules
Detectors
USB 2.0
Sample environment Controller
Thermo-control, Sample change...
CPU DAQ
PSD Modules
Detectors
ネットワーク分散型制御システムのプロトタイプ
@KENS SWAN
TA server
Socket通信
TCP/IP
ユーザーインターフェース(例)
PSD servers
Data Reduction
Online Data Analysis
Sample environment
server
ネットワーク分散型制御システムのプロトタイプ
@KENS SWAN
PC1(制御側に着目した構成の例)
PC2(機器側に着目した構成の例)
KENS control
コマンドタスク
(KENS_control.vi)
コマンドステータス
・ドライバ選択リスト
・コマンド発行
・ステータス取得
・占有管理
コマンド
・BEGIN
・END
・PAUSE
・RESUME
・ABORT
・SAVE
・CHANGE
KPサーバ
(KP_server.vi) コマンド
コマンド
レシーブコマンドタスク
・コマンド受信
データ
センドデータタスク
・データ送信
レシーブデータタスク
コマンドステータス
・データ要求
・データ取得
コマンド
センドステータスタスク
・占有IP送信
設定値
KPサーバファイル
(KP_server.TAtable)
設定値
TAサーバファイル
(TA_server.TAtable)
ドライバタスク
・BEGIN
・END
・PAUSE
・RESUME
・ABORT
・CHANGE
設定値
KENS control起動ファイル
(Device.ini)
・コメント
・ユーザー
・ランナンバー
・モニター情報
・ドライバ種別
・IPアドレス
・ポート番号
グラフ
(任意.vi)
・TAグラフ
・PSDグラフ
・PSDマップ
レシーブデータタスク
コマンド
・データ要求
・データ取得
データ
TAサーバ
(TA_server.vi) コマンド
レシーブコマンドタスク
・コマンド受信
データ
センドデータタスク
・データ送信
コマンドステータス
KPサーバ
(KP_server.vi)
コマンド
ドライバタスク
・BEGIN
・END
・ABORT
・SAVE
・CHANGE
データ
TAデータファイル
センドステータスタスク
・占有IP送信
TAサーバ
(TA_server.vi)
PSDサーバ
(PSD_server.vi) PSDサーバ
(PSD_server.vi)
コマンド
レシーブコマンドタスク
・コマンド受信
データ
センドデータタスク
・データ送信
コマンドステータス
センドステータスタスク
・占有IP送信
PC3
KENS control
SWANでの作業風景
Ethernet
コマンド
設定値
ドライバタスク
・BEGIN
・END
・ABORT
・SAVE
・CHANGE
PSDサーバファイル
(PSD_server.PSDtable)
データ
PSDデータファイル
ロギングシステムのプロトタイプ
CPU DAQ
CPU DAQ
Beamline
component
server
Sample
environment
server
Spectrometer
CPU D-Ana+UI
CPU UI
User interface
for Beamline
manager
User interface
for Beamline
user
Vacuum
vessel
Beamline
collimator
Neutron
beam
Neutron
guide
Beam
monitor
Sample environment
control instrument
Sample
Detectors
Vacuum gauge
T0 chopper
Chopper
Monitor camera
Water leak sensor
Gas
sensor
CPU Logging
TCP/IP Socket
CPU DB
RDBMS
Web server
Vacuum gauge
Thermometer
Hygrometer
CPU DAQ+D-Red
Detector server
DAQ Electronics
Logging client
DAQ data storage
Timing, Inhibit
Module
Storage Area Network
ロギングシステムのプロトタイプ@研究棟付属4棟
Ethernet
CPU
UI
CPU Logging
Thermocouple
sensor
WE7000 with
Thermocouple module
CPU DB
ロギングシステムのプロトタイプ@研究棟付属4棟
from socket import *
import readline,time,sys,string
HOST = ‘linux01nsrc‘
PORT = 10201
ADDR = (HOST, PORT)
tcpCliSock =
socket(AF_INET,SOCK_STREAM)
tcpCliSock.connect(ADDR)
n=1
data00=0.
while 1:
data=['%g'%data00]
query='put/%s/%s'%(sig,string.join(data,'_'))
t0=time.time()
tcpCliSock.send(query)
dataret = tcpCliSock.recv(4)
data00=time.time()-t0
if n%100==0
print query
print n,data,dataret
n=n+1
time.sleep(10)
tcpCliSock.send('q')
tcpCliSock.close()
CPU1
Logging
Client
Python
Device
Database
Server
Web server
Apache
CPU UI
http
cgi
RDBMS
MySQL
CPU2
Logging
SQL
Socket
Web browser
IE, Netscape, …
Server
Python
Socket
Client
LabVIEW
Device
ロギングシステムのプロトタイプ@研究棟付属4棟
プロトタイプ(ハードウェア構成)@研究棟付属4棟
CPU
UI
CPU DB
Ethernet(JLAN)
CPU Logging
GPIB
USB
IEEE1394
Thermocouple
CPUs
DAQ+D-Red
CPU
Beamline
component
USB2.0
USB2.0
Motor
driver
Power cable
Monitor camera
Goniometer
DAQ electronics
プロトタイプ(ソフトウェア構成)@研究棟付属4棟
CPU UI
CPU DB
User interface
RDBMS
Web server
TCP/IP Socket
CPU DAQ
CPU Logging
Beamline
component
server
Logging client
USB
or
IEEE1394
Thermocouple
GPIB
Motor
driver
CPU DAQ+D-Red
CPU DAQ+D-Red
Detector server
Detector server
USB2.0
USB2.0
Power cable
Monitor camera
Goniometer
DAQ electronics
まとめと今後
• KENS controlを改良したネットワーク分散型制御システムの
プロトタイプをSWANでの試験運用に成功した。
• データベースとWebブラウザを用いたロギングシステムのプ
ロトタイプを原研研究棟付属第4棟で立ち上げた。
• JLAN環境において、ロギングシステムを加えたネットワーク
分散型制御システムのプロトタイプを原研研究棟付属第4棟
に構築する。
• 試料環境制御のサーバー化を行う。
• SIRIUSの一部をネットワーク分散型制御システムに入れ換
えることによりイベント処理のプロトタイプを開発する。
• Day-1に必要とされる実験制御ソフトウェア群のガイドライン
を今年度中に策定する。