EPICS 入門 KEK, High Energy Accelerator Research Organization 帯名 崇

Slides:



Advertisements
Similar presentations
プラグイン作成講座 Control System Studio 3.0 Takashi Nakamoto
Advertisements

P2P 技術を応用した 分散システムの排他制御機構の試作 九州工業大学 情報科学センター 山之上 卓.
だい六か – クリスマスとお正月 ぶんぽう. て form review ► Group 1 Verbs ► Have two or more ひらがな in the verb stem AND ► The final sound of the verb stem is from the い row.
VE 01 え form What is え form? え? You can do that many things with え form?
Windows Azure ハンズオン トレーニング Windows Azure Web サイト入門.
ネットワークからみるPCC 寺内康之.
Curlの特徴.
米国セキュリティ調査 (2002 CSI/FBI調査 攻撃場所)
高エネルギー加速器研究機構 素粒子原子核研究所 濱田 英太郎
情報実験:ネットワークコンピューティング入門
技術トピックス 2014/10.
オープンソースGIS入門コース PostGIS+QGISで始める空間データ解析
Unix生活 Vol.1
Report of working at CERN PHOS readout test bench
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
英語特別講座 疑問文 #1    英語特別講座 2011 疑問文.
英語勉強会.
第1回レポートの課題 6月15日出題 今回の課題は1問のみ 第2回レポートと併せて本科目の単位を認定 第2回は7月に出題予定
USB2.0対応PICマイコンによる データ取得システムの開発
片岡広太郎 Modem Watch Dog 片岡広太郎
LCGT Instrument Control Meeting
COPPER/FINESSE System構築
ただで使えるソフトウェア ーインストールとお絵かきー
Solid State Transformer (SST)
Japanese verbs informal forms
Let’s discuss in English! What are your opinions? Let’s discuss it!
さとりすと Satori Ghost Editor 里々ゴーストの統合開発環境を作ったよ page: 1/25
HTTPプロトコルとJSP (1) データベース論 第3回.
HTTPプロトコル J2EE I 第7回 /
Tohoku University Kyo Tsukada
Cisco Meeting Server - API概要
Provisioning on Multiple Network(NIC) env
Did he/she just say that? Get your head out of the gutter! Oh wait….
マイクロソフト Access を使ってみよう 第1回
モバイルP2Pを用いた携帯電話 動画配信手法の提案 第3回
Microsoft Partner Network Office 365 社内使用ライセンスの有効化
Cisco Customer Loyalty
Air Pen -- an introduction of my recent result --
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
DAQ-Middleware トレーニングコース 実習
DAQ-Middleware の新機能 コンポーネント制御機能
ストップウォッチの カード ストップウォッチの カード
Linux リテラシ 2006 第4回 ネットワーク CIS RAT.
All IP Computer Architecture
日本アイ・ビー・エム Power Tech Sales 2018/05/02更新
-Get test signed and make corrections
Make: Ogaki Meeting (2010/9/25-26)
データベース工学 生研 戦略情報融合研究センタ 喜連川 優.
インターネットにおける真に プライベートなネットワークの構築
TCP/IP入門          櫻井美帆          蟻川朋未          服部力三.
WELCOME TO THE WORLD OF DRAGON BALL
理化学研究所 重イオン核物理研究室 馬場 秀忠
UDPマルチキャストチャット    空川幸司.
JXTA Shell (1) P2P特論 (ソフトウェア特論) 第4回 /
サーバ・クライアントシステム ( X Window System) 2006/01/20 伊藤 和也 original: 前坂たけし
写真描写アクティビティ 写真に関しての3つの質問をし、写真を見ながら想像力を働かせて答えるアクティビティです。やりとりをする力、描写する力、想像力を育てます。 CAN-DO: 写真に関する質問に、想像力を用いながら、理由とともに答えることができる。
ロールプレイアクティビティ ある状況設定の中で、登場人物になりきり会話をします。 CAN-DO: 状況に応じた適切な質問をすることができる。
最低限インターネット ネットワークにつなぎましょ!
ALICE work at CERN Kenta Mizoguchi, Hisayuki Torii, Yusuke Okada
tranService Next Generation
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
英語音声学(7) 音連結.
Please don’t… …so as not to…
高齢者支援アプリケーション Term Projectの最終発表 Bull:ECN Takatoshi:親
KEK素核研 エレクトロニクスシステムGr. 仲吉一男
特定ユーザーのみが利用可能な仮想プライベート・ネットワーク
ハードウェア I/O 1 day1 15:00 ~ KEK, High Energy Accelerator Research Organization 帯名 崇 2018/11/01 ~ 02 EPICS入門セミナー@KEK つくばキャンパス(3号館1階会議室)
Indirect Speech 間接話法 Kaho.I.
Report of working at CERN PHOS readout test bench
tcp wrapper 2002年9月24日 大橋 巧 牧之内研究室「インターネット実習」Webページ
Presentation transcript:

EPICS 入門 KEK, High Energy Accelerator Research Organization 帯名 崇 帯名 崇 (takashi.obina@kek.jp) 2018/11/01 ~ 02 EPICS入門セミナー@KEK つくばキャンパス(3号館1階会議室)

(加速器に限らず)制御システムの目指すものとは EPICS紹介 簡単なデモ 実習 最後に このセッションでのおはなし (加速器に限らず)制御システムの目指すものとは EPICS紹介 簡単なデモ 実習 最後に お手元の手引書に実習の詳細は記載してあります 2018/11/01 EPICS 入門 T. Obina

(加速器)制御システム の目指すものとは? 加速器に限らず、機器制御で必要なことは たくさんの装置を遠隔から制御する必要がある 2018/11/01 EPICS 入門 T. Obina

各種機器をつなぐためのネットワーク:TCP/IP が標準 (特殊用途は別に考える必要がある) なにがしかのネットワーク装置 2018/11/01 EPICS 入門 T. Obina

対象機器が少ない場合は....正直言って、何でも良い 開発者+使用者が「完全に1人」ならば、好きにやればよい 小規模なシステム(実験室など) 対象機器が少ない場合は....正直言って、何でも良い 開発者+使用者が「完全に1人」ならば、好きにやればよい 2018/11/01 EPICS 入門 T. Obina

測定器が1個増えた …..まぁ、プログラム追加すれば良いだけでしょ たとえ1人であっても 測定器が1個増えた …..まぁ、プログラム追加すれば良いだけでしょ 2018/11/01 EPICS 入門 T. Obina

完全に置き換えなら簡単だけど、両方から操作したい。 排他制御はどうする? データファイルはどっちに保存したっけ? 新しいPCを買ってきた 完全に置き換えなら簡単だけど、両方から操作したい。 排他制御はどうする? データファイルはどっちに保存したっけ? 2018/11/01 EPICS 入門 T. Obina

すべてを中継する何かが居れば良いのでは? それなりに実在するシステム。 しかし、マスターが死んだら全滅するのはちょっと怖い。 (single point of failure の存在) ご主人様(マスター) 的な何か 2018/11/01 EPICS 入門 T. Obina

数10~数100個とかのスケールならなんとかなる? もっと増えて10,000個なら大丈夫? もっと機器や人が増えると 数10~数100個とかのスケールならなんとかなる? もっと増えて10,000個なら大丈夫? ご主人様(マスター) 的な何か 2018/11/01 EPICS 入門 T. Obina

機器がたくさん/関係者が複数(2名以上)/制御プログラムが複数など場合は各要素の有機的な連携がのぞましい むしろ分散制御した方が良さそう 機器がたくさん/関係者が複数(2名以上)/制御プログラムが複数など場合は各要素の有機的な連携がのぞましい 2018/11/01 EPICS 入門 T. Obina

そのとき共通の「言葉」「お約束」でお話することが必要 EPICSはそのような環境を構築するフレームワークです 制御フレームワーク そのとき共通の「言葉」「お約束」でお話することが必要 EPICSはそのような環境を構築するフレームワークです 2018/11/01 EPICS 入門 T. Obina

独自の制御プロトコルでは既存の装置と連携できないし、 共通のアーカイブにデータを保存できない 新しい装置を導入したとしても 独自の制御プロトコルでは既存の装置と連携できないし、 共通のアーカイブにデータを保存できない 2018/11/01 EPICS 入門 T. Obina

共通の言葉を理解でき、話せるようにすることが必要です そんなときには 共通の言葉を理解でき、話せるようにすることが必要です 2018/11/01 EPICS 入門 T. Obina

EPICSとは何か Experimental Physics and Industrial Control System https://epics.anl.gov/ 特徴としては Open Source:国際協力研究開発 ネットワーク分散環境 制御アプリケーション開発フレームワーク 主に加速器で使われていますが、他でも使われています LIGO 重力波 天文台 ITER 核融合炉(建設中) 他にも加速器制御フレームワークは存在します TANGO, DOOCS, Tine(DESY), PVSS(CERN), MADOCA(SPing8) など 2018/11/01 EPICS 入門 T. Obina

次に EPICSとはどのようなものか、もう少し詳しく説明していきます。 最初に説明した絵を少しだけ思い出してください 2018/11/01 EPICS 入門 T. Obina

IOC (Input/Output Controller) がハードウェアを制御 デバイス層 ~ 入出力コントローラー IOC (Input/Output Controller) がハードウェアを制御 様々なデバイスが存在:電源、センサー類、高周波、etc デバイスに応じた制御プログラムが必要 IOC: VME, PLC, CAMAC, PC, software, Raspberry Pi, etc… KEKではVME、PLC、PC(Linux, Windows)、CAMAC、cPCI などが主に使われているμTCAも一部で使われている 目的に応じて、適切なOSやハードウェアを選択 CPU IOC PC PLC VME, cPCI CAMAC, etc DIO DIO DAC ADC RS232C GPIB, etc Field Busses Device Device Target Device Device Device Device Device 2018/11/01 EPICS 入門 T. Obina

IOC と上位層との通信に標準的なプロトコルが 必要 EPICS : Communication IOC と上位層との通信に標準的なプロトコルが 必要 Presentation Layer : Server process, Archiver, GUI, Alarm, etc 各デバイス制御とは独立 Operator Console Presentation Server Archive Operator Console Operator Console Network CPU IOC PC PLC VME, cPCI CAMAC, etc DIO DIO DAC ADC RS232C GPIB, etc Field Bus Device Device Target Dev. Device Device Device Device 2018/11/01 EPICS 入門 T. Obina

通信プロトコル Presentation Network IOC Channel Access protocol で通信 Network transparent. Distributed system. 上位層との通信だけではなく、IOC間の通信でも使用する IOCの中にある状態変数(Process Variable, PV)を外から制御 Operator Console Presentation Server Archiver Operator Console Operator Console CA Network CA CPU IOC PC PLC VME, cPCI CAMAC, etc DIO DIO DAC ADC RS232C GPIB, etc Field Busses Device Device Target Dev. Device Device Device Device 2018/11/01 EPICS 入門 T. Obina

レコード IOCの中には「レコード」があって、別のホストから(CAプロトコルを使って)読んだり書いたりできる。「レコード」はハードウェアにつながっていたり、純粋なソフトウェアだったり、様々。 CA クライアント Client CA Network EPICSではよく使うレコード型が用意されているので便利に使うことが出来ます。 例: ai, ai (analog in/out) bi, bo (binary in/out) longin, longout, calc, fanout, etc IOC Record Serial 温度センサー 2018/11/01 EPICS 入門 T. Obina

具体例 下は加速器内のビーム電流 PFROP:BEAM:CURR というレコード例。 Process Variable (PV) は Channel Access で通信する最小のユニットで、 いろいろな属性を持っている(NAME, EGU, PREC, ALARM, etc)。 EPICSではこの名前(=レコード名)さえ知っていれば通信できる 講義では”PV”と呼んだり“レコード”と呼んだりしますが 深く考えず同じものと考えてください 加速器内のDCCT CA Client CA Client CA Client CA Network analog IOC CA Server GPIB PV(=record) PFROP:BEAM:CURR 電圧→ビーム電流値→ 2018/11/01 EPICS 入門 T. Obina

いまは細かいことは置いておいて 2018/11/01 EPICS 入門 T. Obina

イメージとして 「レコード名」だけわかっていれば という2点を意識しておいてください ネットワークや、ハードウェアを意識せずに制御できる 値はもちろんのこと、他にいろいろな情報を持っている。 という2点を意識しておいてください レコード名 対応するハード・ソフト 値 単位 精度 最大・最小 警告情報 … 次は実習です。まずは値をとってくるところから。 2018/11/01 EPICS 入門 T. Obina

講習で使用可能なレコード名 今回の講習会で用意しているレコード名一覧 ET_DEMO:USBTHERM1:MON # USB温度センサーの値 (anglog, read-only) ET_DEMO:LED_RED:ON # 赤色LED binary output (on/off 設定可) ET_DEMO:LED_BLU:ON # 青色LED binary output (on/off 設定可) ET_DEMO:LED_GRN:ON # 緑色LED binary output (on/off 設定可) ET_DEMO:LED_WHT:ON # 白色LED binary output (on/off 設定可) ET_DEMO:LED_PNK:ON # 桃色LED binary output (on/off 設定可) ET_DEMO:TOGGLESW:STAT # トグルスイッチ (on/off, read-only) ET_DEMO:aiExample # 0 - 9 のカウント値で1秒ごとに増加 (Soft) ET_DEMO:jane # random number (0.1秒ごとに更新, Soft) ET_DEMO:fred # random number (2秒ごとに更新, Soft) ET_DEMO:alan # random waveform (2秒ごとに更新, Soft) ET_DEMO:SOFTAO:CH01 # software record (-50 ~ +50 の値を設定可能) ET_DEMO:SOFTAO:CH02 .... |      # ※ CHxxの番号は自分のIDを使ってください ET_DEMO:SOFTAO:CH30 ※※ ※※ 配布資料では±5.0になっていますが、正しくは50です 2018/11/01 EPICS 入門 T. Obina

実習 まず、ssh (ターミナルエミュレータ)で RPi にログイン サンプルレコードのうち、どれでも良いのでcaget してみる レコードの値は読めた? caget で温度センサーの値を読んでみる 値は変化するか? camonitor で温度センサーの値を読む 温度は読めた? センサーに触ってみる camonitor を止めるには CTRL-C を入力 2018/11/01 EPICS 入門 T. Obina

実習 講師デモ 各自、お好きなLEDのレコードに caput してみてください caget のオプションを確認 caput で LED の on/off 各自、お好きなLEDのレコードに caput してみてください caget のオプションを確認 cagetにはいろいろなオプションがあります caget –h でヘルプ表示 トグルスイッチやLEDの on/off 状態を読んでください。このとき caget で取得したり、caget –n で取得してみてください。 camonitor で複数のレコードをモニターしてみてください 例えば、jane と fred を同時にモニター 2018/11/01 EPICS 入門 T. Obina

時間の余っている人向けのトピックス caget –a オプションをつけるとどうなるか レコードの属性(フィールド)をcagetしてみる EGU, HIGH, HIHI, DRVH caput でLEDのON/OFFを制御するとき ON/OFF でputする 数値(1/0)でputする waveform record (alan)をcagetする。 soft ao レコード(ET_DEMO:SOFTAO:CHxx など)にcaput で数値を設定する。このとき、DRVH 以上,DRVL 以下の値が設定できないことを確認。合わせてDRVH, DRVL の値を確認。その後、DRVH をcaput で設定して同様に動作確認をしてみる 2018/11/01 EPICS 入門 T. Obina

この段階でやったこと Channel Access protocol で通信して、値を取ってきた Raspberry Pi が CAクライアント CA クライアント PC RPi CA Network sshでログイン IOC Record Serial 温度センサー 2018/11/01 EPICS 入門 T. Obina

次のセッションでやること 自分のPCから直接 Channel Access でデータを取ってくる CA クライアント PC RPi CA Network IOC Record Serial 温度センサー 2018/11/01 EPICS 入門 T. Obina

午後の講義・実習で説明 ? IOCはたくさんある EPICSでは、どのようにして「レコード名だけ」で対象となるIOCを見つけてデータをとってくるのか?ネットワーク内にIOCはたくさん存在しており、どれが何のレコードを持っているかは分からない。 ? Operator Console Client Archiver Operator Console Operator Console Network IOCはたくさんある CPU PC PC PLC PLC DIO DIO DAC ADC Device Device Device Device Device Device Device Device Device Device 2018/11/01 EPICS 入門 T. Obina

EPICSとは xxx ではない EPICSは制御システムではない EPICSは商用のソフトではない 自ら手を動かす必要がある サードパーティからサービスを購入することは不可能ではないが EPICS ReadyなHWを販売しているケースもある EPICSは「DAQ」システムでは無い。 素粒子・原子核実験のようなタイプの実験データの取り扱いにBestとはいえない by N. Yamamoto (What _is_epics.pdf) EPICS Users JP 講習会資料よりダウンロード可能 2018/11/01 EPICS 入門 T. Obina

EPICS : 10のイカシタところ 無料である。将来のアップグレードについても課金は発生しない。 オープンソースのソフトウェアである。ソースコードはWebから(無料で)ダウンロードできる。改変、改良も自由(EPICS ライセンス) たくさんのユーザがいる。:安定した運用の実績がある。 制御ポイントにつけられた名前(CA name)を知っていれば良い。 たくさんのソフトウェアから好きなものを選べば良い…. ... さもなければ、自分で作り上げることもできる。 退屈な部分はすでに実装されている。 すぐ近くに多くの専門家がいる。: 色々相談もできる。 良いコントリビューションは国際的に受け入れられる。 :国際的な活躍の場がある。 制御点数が10個でも、100万個でも対応できる。: Scalability Ten Really Neat Things About EPICS https://epics.anl.gov/neat.php 日本語訳 N. Yamamoto (What _is_epics.pdf) 2018/11/01 EPICS 入門 T. Obina

ここまできて、いかがでしょうか? どのような感想をお持ちになったでしょうか 難しい? あるいは簡単すぎ? 詳細はこの2日間で色々と説明していきますので、現段階ではおおまかな雰囲気を理解して頂ければ幸いです。IOC, Channel Access (CA), レコード(PV)、などのイメージがつかめれば十分です。 EPICSの Learning Curve は最初が急峻すぎる、との話もあります。 最初はとっつきにくくても、すこし経験すれば簡単に感じるでしょう。 2018/11/01 EPICS 入門 T. Obina

backup slides 2018/11/01 EPICS 入門 T. Obina

Some Details of Channel Access EPICS_Introduction_PSI2011 Some Details of Channel Access 1. Query: Broadcast (UDP) CA Client 2. Reply: direct connection (UDP) 3. All further queries and replies work directly (Point-To-Point) (TCP) Network CA Server 1 CA Server 2 CA Server 3 Default UDP ports: 5064 and 5065 Default TCP ports: 5064 and 5065 Defined in environment variables Need to be free in firewall!

Channel Access Commands “connection request” or “search request” “get” or “caget” “put” or “caput” “set a monitor” Change its value to 30.5 Notify me when the value changes Who has a PV named “S1A:H1:CurrentAO”? What is its value? Channel Access Client CA Client CA Server I do. 25.5 AMPS OK, it is now 30.5 It is now 20.5 AMPS It is now 10.5 AMPS It is now 0.0023 AMPS Channel Access Server Process Variables: “put complete” “post an event” or “post a monitor” S1A:H1:CurrentAO S1:P1:x S1:P1:y S1:G1:vacuum For all fuctionality see http://www.aps.anl.gov/epics/docs/ca.php for EPICS R3.14 Channel Access Reference Manual 30.5 is too high. It is now set to the maximum value of 27.5. or You are not authorized to change this value or

Are There Alternatives to EPICS? Courtesy EPICS Training @ PSI2015 Are There Alternatives to EPICS? System Name: EPICS TANGO DOOCS Tine ACS PVSS (Cern) Collaborations: Used at more than one Lab Pro: Bugs are already found Contra: Complicated to adapt to your problems Single Site Systems: Developed and used in one Lab Pro: Your problems solved perfectly Contra: You are on your own (no one can help) Commercial System Pro: Outsource your problems Contra: Expensive EPICS Training @ PSI

Record, PV, Channel クライアントのプログラムから見ると、CA という仮想回路を張って、その先にいるのがPV。PVにはフィールド(or Attribute)があって、それぞれがレコードのフィールドに対応している。あとはレコードが動いたりする。 CA クライアント Client CA Client Network CA CA TCP/IP /dev/ttyACM0 Stream Device DB Access Channel Access IOC Database AsynDriver IOC IOC PV Record Serial Serial 温度センサー RS232C Device 2018/11/01 EPICS 入門 T. Obina