EPICS Experimental Physics and Industrial Control System (EPICS) 概要 Bob Dalesio, Dec, 2002 2003/P571: Channel Access Concepts 1 EPICS あらすじ 序論:EPICSとは何か 共同研究活動としてのEPICS Architecture Tool-Kit IOC Core Channel Access Process Database 結論 2003/P571: Channel Access Concepts 2 EPICS EPICSとは何か? EPICSはEPICS ツールキットを使っている様々な研究機関のコントロールグループの共同研究活動 である。 EPICSはコントロールシステムのソフトウェア開発と保守コストを削減することを可能にするツー ルキットの名前である。そのためにツールキットは以下の手法を提供する: プログラミングにかわり、設定ツールを用いる。 多くのユーザによりテストされたソフトウェアを提供 インクリメンタルな発展を可能とするモジュラー構造 すべての層ににおける拡張を可能とする定義済みのインタフェース 2003/P571: Channel Access Concepts 3 EPICS EPICSとは何か?:共同研究 北米、ヨーロッパ、アジアの100以上の独立したプロジェクトが参加 素粒子原子核物理、天文、工業制御などの分野で応用されている。 ネットワーク経由でソフトウェアの共有を行う。 独立のあるいは共同での逐次的なコードの開発が参加メンバーによって進められる。 E-mailなどによる問題の報告とその解決 ドキュメンテーションもWWWから入手可能 コラボレーションミーティングにおいて、これからの開発方針、新しいアプリケーションの報告 、既存のソフトウェアに対する新しい要求などが議論され、ネットワーク上で奉公される。 複数の研究所からの参加者からなる小さなデザイングループによる会合が特定のソフトウェアの 設計上の問題を議論するために開かれる。:Channel Access, Archiving , MMIなど 2003/P571: Channel Access Concepts 4 EPICS EPICSとは何か? 主要な共同研究の参加者 Fermilab D0 Experiment Oakridge National Laboratory Deutches ElektronenSynchrotron Institute of High Energy Physics (Beijing) Los Alamos National Laboratory KEK (Koh ehnerugii Kencuesho) Lawrence Berkeley National Laboratory Stanford Linear Accelerator Center Argonne National Laboratory Commissariat a l’Energie Atomique (SACLAY) Berliner ElekronenspeicherringGesellschaft fur Synchrontronsrahlung Paul Scherrer Institut Jefferson Laboratory W. M. Keck Observatory Shanghai Syncrotron Radiation Facility 2003/P571: Channel Access Concepts Gemini Telescope RIKEN Budker Institute of Nuclear Physics 5 EPICS EPICSは広い範囲に応用可能 Advanced Photon Source PVs 300K I/O Controllers 170 KEK B CEBAF 240K 180K 94 98 BESSY II Swiss Light Source D0 (FNL) 150K 90K 60K 110 160 124 19K 15K 21 18 1K 2K 1 2 35K 3K 17 2 PEP II RF and Longitudinal Control Low Energy Demonstrator Accelerator Compass Keck II Gemini Telescope Next Linear Collider Test Accelerator *Diamond *Japanese Hadron Facility PF-AR 50K ~50K ~25K *Spallation Neutron Source 150K 180 ~100 ~50 150 *Planned or under construction 2003/P571: Channel Access Concepts 6 EPICS EPICSとは何か? 分散アーキテクチャ EPICSは物理的にはフロントエンド・コントローラとオペレータ・ワークステーションがTCP/IP とUDP/IPで交信するフラットなアーキテクチャである。 新しい計算機の追加にたいして自然に追従する。 物理的な階層はブリッジ、ルータ、ゲートウェイなどによって導入される。 ネットワークバンド幅が主要な制限要素となる。 EPICSのソフトウェアはクライアント・サーバモデルに基づいている。システム上のいずれの二つ 計算機間でも直接に読み・書きのできるデータ保存場所(EPICS データベース)をもつ。 ローカルなネームサービスによって新しい要素(レコード、IOC)の統合は自動的に行われる。 IOC間のポイント・ツー・ポイントのデータ交換はIOCレベルでの制御の自動化を可能とする。 2003/P571: Channel Access Concepts 7 EPICS Supports a Standard Control System EPICS 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: Field Control Net, PCI, CAN-Bus, Industry Pack, VME, VXI, PCI, ISA, CAMAC, GPIB, Profibus, Bitbus, Serial, AllenBradley, Modbus, Yokogawa, G-3, Ethernet/IP 2003/P571: Channel Access Concepts I/O Field I/O Field I/O Field I/O 8 EPICS EPICS Architecture Channel Accessプロトコルに基づく通信 Channel Access Client (CAC) Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) 2003/P571: Channel Access Concepts 9 EPICS 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 2003/P571: Channel Access Concepts 10 EPICS 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 2003/P571: Channel Access Concepts 11 EPICS EPICS Architecture User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Connection Server 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 2003/P571: Channel Access Concepts 12 EPICS EPICS Architecture Archive Viewing Archive Analysis User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Connection Server Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) Webベースの管理機能 をもつデータ保存プロ グラム。 DB Engine Types Device Support Driver Support I/O Controller 2003/P571: Channel Access Concepts 13 EPICS EPICS Architecture Archive Viewing Archive Analysis Program Interfaces User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Connection Server Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic XAL/ SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) DB Engine Types Device Support Driver Support I/O Controller 2003/P571: Channel Access Concepts 新たなCAクライアントを作成するため の、汎用のプログラム言語やスクリプ ト言語、また状態遷移実装言語、数 学的なあるいは加速器モデリングの ための言語に対するプログラム・イン ターフェイスが用意されている。 14 EPICS EPICS Architecture Archive Viewing Archive Analysis Program Interfaces User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Connection Server Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) Connection Data Transfers Portable Channel Access Server (CAS) DB Engine Types Device Support Driver Support I/O Controller 2003/P571: Channel Access Concepts ポータブル・チャンネル・サーバはEPICS以 外のデータソースをEPICS に統合するため に利用できる。 15 EPICS EPICS Architecture Archive Viewing Archive Analysis Program Interfaces User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers Connection Server C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) DB Engine Types Connection Data Transfers Portable Channel Access Server (CAS) Generic Data Descriptor Device Support Driver Support I/O Controller Channel Access Client Gateway 2003/P571: Channel Access Concepts サブネットワーク間のト ラフィックを制限するた めに Gatewaが使われ る。 16 EPICS EPICS はすべての層で インタフェースを提供する。 Archive Viewing Archive Analysis Program Interfaces User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers Connection Server C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) DB Engine Types Connection Data Transfers Portable Channel Access Server (CAS) Generic Data Descriptor Access Lib Active X Channel Access Client Gateway Any Data Store Portable CAS Labview / Excel.. PCAS - Windows Device Support Driver Support I/O Controller 2003/P571: Channel Access Concepts 17 EPICS EPICS ソフトウェアは CoreとExtensionsからなる Archive Viewing Archive Analysis Program Interfaces User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers Connection Server C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) DB Engine Types Connection Data Transfers Portable Channel Access Server (CAS) Generic Data Descriptor Access Lib Active X Channel Access Client Gateway Any Data Store Portable CAS Labview / Excel.. PCAS - Windows Device Support Driver Support I/O Controller 2003/P571: Channel Access Concepts 18 EPICS IOC Core: プロセス・データベース (EPICS データベース) LAN ca-client ca-server process DB dev support CAサーバはこのデータベースに対する、接続、 読み出し(get),書き込み(put), 監視(monitor)の機能を 提供する。 CA クライアントは他のIOC上のプロセス・ データベースへのアクセスを提供する。 プロセス・ブロック(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: ダウンロード後はバイナリのデータ構造となる。 2003/P571: Channel Access Concepts 19 EPICS 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 68060 is ~18,000/second (50% idle) AI on a 68040 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 040 - runs at the lowest priority 2,500 Process blocks use around 1 Megabyte of memory SupportChannel to particular physical 2003/P571: Access Concepts I/O is distinct from process logic - ASCII device type 20 EPICS IOC Core: CA クライアント/サーバ ライブラリ Operator Interface Sequencer Channel Access Client Channel Access Client LAN/WAN Database Links Channel Access Client TCP/IP & UDP Channel Access Server クライアント: ネットワーク上のチャンネル・アクセス・サーバをもつサブシステムに EPICS Process Database たいして読み書きの機能を提供する。 サーバ: そのノードにあるデータに対するネットワーク上のクライアントからの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 2003/P571: Channel Access Concepts 21 EPICS IOC Core: Channel Access Services Operator Interface Sequencer Channel Access Client Channel Access Client Database Links Channel Access Client TCP/IP & UDP LAN/WAN Performance: 68040 over 10 Mbit Ethernet Channel Access Server Gets EPICS Process Database 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) 2003/P571: Access Concepts IncreaseChannel bandwidth with Routers, Bridges, Higher speed networks and EPICS gateway22 EPICS IOC Core: レコードとチャンネルとの対応 AI: Name SCAN VAL STAT SEVR HOPR LOPR HIHI HIGH LOW LOLO ACK ACKT EGU HHSV HSV LSV LLSV 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 2003/P571: Channel Access Concepts 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 AI.STAT AI.SEVR AI.TS # Choices List of choices 23 EPICS EPICSのラーニングカーブはなだらか ではない EPICSのインストール 自動的にデータベースを構築するアプリケーション開発環境の設定 IOCをワークステーションからブートするための設定 新たなドライバのインストール アプリケーションをデバグするためのの知識:すべての人に求められている。 プロセス・データベースの使い方 CAクライアントツールの選択と使用法の習得 このラーニングカーブはいくつかの方法で和らげることができる。 他のEPICSを利用している研究所からのトレーニングを受ける。 EPICSを利用している研究所へ要員を派遣し、そこでEPICSについての経験を積む。 利用しているプラットフォームと同じプラットフォームを利用しているコラボレーションメン バを探し、援助を受ける。 2003/P571: Channel Access Concepts 24 EPICS 新規の開発 技術の変化をうまく使いこなし、コストを削減しながら機能、 使い安さ、性能を向上させている。 改良された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) 2003/P571: Channel Access Concepts 25 EPICS 結論 EPICSは、スケーラブルで柔軟なツールキットの共同開 発を通じて、その参加者(研究所)の要求に答え続けて いく。 基本的な性能と機能はスケーラブルであり、容易に設定できる。 クライアント、レコード型、データ・ストア、そしてハードウェアに対する明確なインタフェー スは独立した開発、容易な再統合、陳腐化に対する抵抗力を提供してくれる。 オープンソフトウェア開発は共同開発をサポートし、また参加研究所にたいしその要求にあった 人材を容易に見つけることのできる大きな才能のプールを提供する。 継続した改良は最新の技術を取り入れながら、機能、性能、リライアビリティを拡充していくこ とを可能としている。 2003/P571: Channel Access Concepts 26
© Copyright 2024 ExpyDoc