Experimental Physics and Industrial Control System (EPICS) 概要

Similar presentations


Presentation on theme: "Experimental Physics and Industrial Control System (EPICS) 概要"— Presentation transcript:

1 Experimental Physics and Industrial Control System (EPICS) 概要
Bob Dalesio, Dec, 2002

2 あらすじ 序論:EPICSとは何か IOC Core 結論 共同研究活動としてのEPICS Architecture Tool-Kit
Channel Access Process Database 結論

3 EPICSとは何か? EPICSはEPICS ツールキットを使っている様々な研究機関のコントロールグループの共同研究活動 である。
プログラミングにかわり、設定ツールを用いる。 多くのユーザによりテストされたソフトウェアを提供 インクリメンタルな発展を可能とするモジュラー構造 すべての層ににおける拡張を可能とする定義済みのインタフェース

4 EPICSとは何か?:共同研究 北米、ヨーロッパ、アジアの100以上の独立したプロジェクトが参加
素粒子原子核物理、天文、工業制御などの分野で応用されている。 ネットワーク経由でソフトウェアの共有を行う。 独立のあるいは共同での逐次的なコードの開発が参加メンバーによって進められる。 などによる問題の報告とその解決 ドキュメンテーションもWWWから入手可能 コラボレーションミーティングにおいて、これからの開発方針、新しいアプリケーションの報告 、既存のソフトウェアに対する新しい要求などが議論され、ネットワーク上で奉公される。 複数の研究所からの参加者からなる小さなデザイングループによる会合が特定のソフトウェアの 設計上の問題を議論するために開かれる。:Channel Access, Archiving , MMIなど

5 EPICSとは何か? 主要な共同研究の参加者
Fermilab D0 Experiment Oakridge National Laboratory Institute of High Energy Physics (Beijing) Stanford Linear Accelerator Center Deutches Elektronen- Synchrotron Lawrence Berkeley National Laboratory Los Alamos National Laboratory Argonne National Laboratory Commissariat a l’Energie Atomique (SACLAY) KEK (Koh ehnerugii Kencuesho) Berliner Elekronenspeicherring- Gesellschaft fur Synchrontronsrahlung Jefferson Laboratory Paul Scherrer Institut Gemini Telescope W. M. Keck Observatory Shanghai Syncrotron Radiation Facility RIKEN Budker Institute of Nuclear Physics

6 EPICSは広い範囲に応用可能

7 EPICSとは何か? 分散アーキテクチャ EPICSは物理的にはフロントエンド・コントローラとオペレータ・ワークステーションがTCP/IP とUDP/IPで交信するフラットなアーキテクチャである。 新しい計算機の追加にたいして自然に追従する。 物理的な階層はブリッジ、ルータ、ゲートウェイなどによって導入される。 ネットワークバンド幅が主要な制限要素となる。 EPICSのソフトウェアはクライアント・サーバモデルに基づいている。システム上のいずれの二つ 計算機間でも直接に読み・書きのできるデータ保存場所(EPICS データベース)をもつ。 ローカルなネームサービスによって新しい要素(レコード、IOC)の統合は自動的に行われる。 IOC間のポイント・ツー・ポイントのデータ交換はIOCレベルでの制御の自動化を可能とする。

8 EPICS Supports a Standard Control System Architecture
Workstations: Sun Hp DEC/Alpha Silicon Graphics PC OS: Unix, Some Windows Site LAN/WAN I/O Controllers: VME,VXI PCI, Workstations OS: vxWorks, Unix, Windows RTEMS, RTLinux, L4 linux Remote and Local I/O Buses: Control Net, PCI, CAN-Bus, Industry Pack, VME, VXI, PCI, ISA, CAMAC, GPIB, Profibus, Bitbus, Serial, Allen-Bradley, Modbus, Yokogawa, G-3, Ethernet/IP Field I/O Field I/O Field I/O Field I/O

9 EPICS Architecture Channel Accessプロトコルに基づく通信
Channel Access Client (CAC) Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS)

10 EPICS Architecture Channel Access Client (CAC)
Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) DB Engine Types データベースエンジンがI/Oとの仲介をおこなう。 Device Support Driver Support I/O Controller

11 EPICS Architecture OPIツール チャンネルアクセスサーバが提供するデータを 監視・変更するためのチャンネル・アクセス・
DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager チャンネルアクセスサーバが提供するデータを 監視・変更するためのチャンネル・アクセス・ クライアント群 Channel Access Client (CAC) Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) DB Engine Types Device Support Driver Support I/O Controller

12 EPICS Architecture User Tools Channel Access Client (CAC)
DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Channel Access Client (CAC) Connection Data Transfers Connection Server WAN/LAN/Local 名前解決などのサービスのためのプラグイン Connection Data Transfers Channel Access Server (CAS) DB Engine Types Device Support Driver Support I/O Controller

13 EPICS Architecture Archive Viewing Archive Analysis User Tools
DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers Connection Server WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) Webベースの管理機能をもつデータ保存プログラム。 DB Engine Types Device Support Driver Support I/O Controller

14 EPICS Architecture Archive Viewing Archive Analysis Program Interfaces
C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic XAL/ SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers Connection Server WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) 新たなCAクライアントを作成するための、汎用のプログラム言語やスクリプト言語、また状態遷移実装言語、数学的なあるいは加速器モデリングのための言語に対するプログラム・インターフェイスが用意されている。 DB Engine Types Device Support Driver Support I/O Controller

15 EPICS Architecture Archive Viewing Archive Analysis Program Interfaces
C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers Connection Server WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) Connection Data Transfers Portable Channel Access Server (CAS) DB Engine Types Device Support ポータブル・チャンネル・サーバはEPICS以外のデータソースをEPICS に統合するために利用できる。 Driver Support I/O Controller

16 EPICS Architecture Archive Viewing Archive Analysis Program Interfaces
C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers Connection Server WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) Connection Data Transfers Portable Channel Access Server (CAS) DB Engine Types Generic Data Descriptor サブネットワーク間のトラフィックを制限するために Gatewaが使われる。 Device Support Driver Support Channel Access Client I/O Controller Gateway

17 EPICS はすべての層で インタフェースを提供する。
Archive Viewing Archive Analysis Program Interfaces C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers Connection Server WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) Connection Data Transfers Portable Channel Access Server (CAS) DB Engine Types Generic Data Descriptor Active X Access Lib Device Support Any Data Store Driver Support Channel Access Client Labview / Excel.. I/O Controller Gateway Portable CAS PCAS - Windows

18 EPICS ソフトウェアは CoreとExtensionsからなる
Archive Viewing Archive Analysis Program Interfaces C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers Connection Server WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) Connection Data Transfers Portable Channel Access Server (CAS) DB Engine Types Generic Data Descriptor Active X Access Lib Device Support Any Data Store Driver Support Channel Access Client Labview / Excel.. I/O Controller Gateway Portable CAS PCAS - Windows

19 IOC Core: プロセス・データベース(EPICS データベース)
LAN ca-client ca-server CAサーバはこのデータベースに対する、接続、 読み出し(get),書き込み(put), 監視(monitor)の機能を 提供する。 CA クライアントは他のIOC上のプロセス・ データベースへのアクセスを提供する。 process DB dev support プロセス・ブロック(record)は基本要素: AI, AO, BI, BO, Motor, CALC, PID, SUB, etc.… レコードは様々な機能のためのフィールドからなる: SCHEDULE, I/O, CONVERT, ALARM, MONITOR 実行時の値を保持する: VALUE, TIMESTAMP, ALARM CONDITION, etc.… 新たなプロセス・ブロック(レコード)は容易に追加できる。 設定ツール:VDCT, Relational DB, Text Editor at the workstation 設定ファイルはASCII: ダウンロード後はバイナリのデータ構造となる。

20 IOC Core: Process Database
LAN ca-client ca-server process DB dev support Process Block execution time varies from block type to block type AI on a PowerPC ~100,000/second (50% idle) AI on a is ~18,000/second (50% idle) AI on a is ~6,000/second (50% idle) Fastest periodic scan rate is dependent on vxWorks clock tick - 60 Hz Interrupt scanning is limited by the CPU bandwidth (interrupt delay ~33usec) Name resolution - 10,000/second – on an runs at the lowest priority 2,500 Process blocks use around 1 Megabyte of memory Support to particular physical I/O is distinct from process logic - ASCII device type

21 IOC Core: CA クライアント/サーバ ライブラリ
Operator Interface Sequencer Database Links Channel Access Client Channel Access Client Channel Access Client LAN/WAN TCP/IP & UDP Channel Access Server クライアント: ネットワーク上のチャンネル・アクセス・サーバをもつサブシステムにたいして読み書きの機能を提供する。 サーバ: そのノードにあるデータに対するネットワーク上のクライアントからのCAクライアント呼び出しに読み書きの接続を提供する。 CAライブラリの提供する機能 Dynamic Channel Location, Get, Put, Monitor Access Control, Connection Monitoring, Automatic Reconnect Conversion to client types, Composite Data Structures プラットフォーム: UNIX, vxWorks, VMS (Client only), Windows NT, RTEMS, rtLinuxx EPICS Process Database

22 IOC Core: Channel Access Services
Operator Interface Sequencer Database Links Channel Access Client Channel Access Client Channel Access Client TCP/IP & UDP LAN/WAN Performance: 68040 over 10 Mbit Ethernet Gets Propagation Delay 2 mS Throughput 7.8K /sec Puts Propagation Delay 1 mS Throughput 17K /sec Monitors Propagation Delay Dependent Throughput 15K / sec (Typically 10% channels have monitors) (memory use in IOC - 2 Meg / 60 connections) (30% network load for 15K monitors / second) Increase bandwidth with Routers, Bridges, Higher speed networks and EPICS gateway Channel Access Server EPICS Process Database

23 IOC Core: レコードとチャンネルとの対応
Channel Access Client: Connect to “Name” Add Event to alarm change monitor change archive change Make data type request Value Status & Severity Time Stamp Display and Control Information Channel Access Client: Connect to “AI<.VAL>” AI.VAL AI.STAT AI.SEVR AI.TS AI.HOPR AI.LOPR AI.EGU Connect to AI.SCAN AI.SCAN # Choices List of choices AI: Name SCAN VAL STAT ACK SEVR ACKT HOPR EGU LOPR HIHI HHSV HIGH HSV LOW LSV LOLO LLSV

24 EPICSのラーニングカーブはなだらかではない
自動的にデータベースを構築するアプリケーション開発環境の設定 IOCをワークステーションからブートするための設定 新たなドライバのインストール アプリケーションをデバグするためのの知識:すべての人に求められている。 プロセス・データベースの使い方 CAクライアントツールの選択と使用法の習得 このラーニングカーブはいくつかの方法で和らげることができる。 他のEPICSを利用している研究所からのトレーニングを受ける。 EPICSを利用している研究所へ要員を派遣し、そこでEPICSについての経験を積む。 利用しているプラットフォームと同じプラットフォームを利用しているコラボレーションメン バを探し、援助を受ける。

25 技術の変化をうまく使いこなし、コストを削減しながら機能、使い安さ、性能を向上させている。
新規の開発 技術の変化をうまく使いこなし、コストを削減しながら機能、使い安さ、性能を向上させている。 改良されたCAプロトコル、新たなモニタオプション、OOインタフェース、最適化されたCAサー バなどをサポートするCAライブラリのアップグレード(LANL/ANL/SLAC) より良いデータ分析とオペレーションのために分散されたデータ保管・取出機能をRDBや CORBAを用いて実現する。 (LANL/JLAB/DESY/BESSY/SLAC) 新たなデータベース設定ツール (APS/Cosy Lab/Diamond) 新たなオペレーティングシステムでのIOCコアとドライバのサポート (SSRL/CLS/KEK) 新たな高機能物理アプリケーションのためのプラットフォーム (ORNL/LANL/CosyLab/BNL)

26 EPICSは、スケーラブルで柔軟なツールキットの共同開発を通じて、その参加者(研究所)の要求に答え続けていく。
結論 EPICSは、スケーラブルで柔軟なツールキットの共同開発を通じて、その参加者(研究所)の要求に答え続けていく。 基本的な性能と機能はスケーラブルであり、容易に設定できる。 クライアント、レコード型、データ・ストア、そしてハードウェアに対する明確なインタフェースは独立した開発 、容易な再統合、陳腐化に対する抵抗力を提供してくれる。 オープンソフトウェア開発は共同開発をサポートし、また参加研究所にたいしその要求にあった人材を容 易に見つけることのできる大きな才能のプールを提供する。 継続した改良は最新の技術を取り入れながら、機能、性能、リライアビリティを拡充していくことを可能とし ている。


Download ppt "Experimental Physics and Industrial Control System (EPICS) 概要"
Ads by Google