1 Channel Access Concepts – EPICS Training – K.Furukawa – Mar.2004. EPICS Channel Access Concepts Kazuro Furukawa, KEK, (2000-2004) (Bob Dalesio, LANL,

Slides:



Advertisements
Similar presentations
Connecting to Databases. relational databases tables and relations accessed using SQL database -specific functionality –transaction processing commit.
Advertisements

Device Virtualization Architecture
1 1999/Ph 514: Channel Access Concepts EPICS Channel Access Concepts Bob Dalesio LANL.
EPICS Base R and beyond Andrew Johnson Computer Scientist, AES Controls Group.
EPICS Architecture Version 3 Channel Access Client (CAC) Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS)
Channel Access Protocol Andrew Johnson Computer Scientist, AES Controls Group.
FIU Chapter 7: Input/Output Jerome Crooks Panyawat Chiamprasert
Jeffrey Hill.  LANSCE Requirements – a Review  EPICS Paradigm Shift – a Review  Status – What is Implemented  What is an Abstract Data Type?  Benefits.
Chapter 19: Network Management Business Data Communications, 4e.
9-12 Oct 2000PCaPAC 2000, DESY Hamburg Epics to TINE translator Matthias Clausen, DESY Hamburg Phil Duval, DESY Hamburg Zoltan Kakucs, DESY Hamburg.
1 ITC242 – Introduction to Data Communications Week 12 Topic 18 Chapter 19 Network Management.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 2: Managing Hardware Devices.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
V4 – Executive Summary 1.Provide online add/delete of I/O to support continuous operation. 2.Provide redundant control of remote I/O to support improved.
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
Experimental Physics and Industrial Control System (EPICS) Overview Bob Dalesio, Dec, 2002.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 2: Managing Hardware Devices.
VLAN Trunking Protocol (VTP)
EPICS Meeting 29 th April - 3 rd May© 2013 Helmholtz-Zentrum BerlinCarsten Winkler.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS6: Device Management 6.1. Principles of I/O.
Module 7: Fundamentals of Administering Windows Server 2008.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
Experimental Physics and Industrial Control System (EPICS) Overview Bob Dalesio, June 24, 2001.
SNS Integrated Control System EPICS Recent Applications and Future Directions Bob Dalesio June 12, 2001.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
‘ActiveX’ CA Server (… and Client) Oct Kay-Uwe Kasemir, LANL.
1/15 G. Manduchi EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010 INTEGRATION OF EPICS AND MDSplus G. Manduchi, A. Luchetta, C. Taliercio, R.
Oracle 10g Database Administrator: Implementation and Administration Chapter 2 Tools and Architecture.
1 2009: Channel Access EPICS Channel Access Andy Foster Observatory Sciences Limited.
Final Review of ITER PBS 45 CODAC – PART 1 – 14 th, 15 th and 16 th of January CadarachePage 1 FINAL DESIGN REVIEW OF ITER PBS 45 CODAC – PART 1.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Jožef Stefan Institute Oct. 8-9, 2005ACS 2005 Workshop Comparison of EPICS and ACS M. Plesko – JSI and Cosylab, in collaboration with Phil Duval, DESY.
EPICS Access from Python Geoff Savage DØ Workshop Thursday June 22, 2000.
3.14 Work List IOC Core Channel Access. Changes to IOC Core Online add/delete of record instances Tool to support online add/delete OS independent layer.
INFORMATION SYSTEM-SOFTWARE Topic: OPERATING SYSTEM CONCEPTS.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
1 Writing Channel Access Clients–EPICS Training – K.Furukawa – Mar EPICS Writing Channel Access Clients Kazuro Furukawa, KEK, ( ) (Marty.
EPICS Release 3.15 Bob Dalesio May 19, Features for 3.15 Support for large arrays - done for rsrv in 3.14 Channel access priorities - planned to.
Writing EPICS Channel Access Clients in Python Geoff Savage March 2003.
1 1999/Ph 514: Flow of Control EPICS Flow of Control Marty Kraimer APS.
Page 1 Printing & Terminal Services Lecture 8 Hassan Shuja 11/16/2004.
1. LabVIEW and EPICS Workshop EPICS Collaboration Meeting Fall 2011.
EPICS Release 3.15 Bob Dalesio May 19, Features for 3.15 Support for large arrays Channel access priorities Portable server replacement of rsrv.
Connecting LabVIEW to EPICS network
B. Dalesio, N. Arnold, M. Kraimer, E. Norum, A. Johnson EPICS Collaboration Meeting December 8-10, 2004 Roadmap for IOC.
1 Channel Access Concepts – IHEP EPICS Training – K.F – Aug EPICS Channel Access Concepts Kazuro Furukawa, KEK (Bob Dalesio, LANL)
EPICS and LabVIEW Tony Vento, National Instruments
1 EPICS Flow of Control: EPICS Workshop at IHEP, Beijing, August 2001 EPICS Flow of Control Marty Kraimer APS.
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
An Introduction to Epics/Tango Steve Hunt Alceli EPICS Meeting 2008 INFN Legnaro 15 Oct 17:15.
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
Using COTS Hardware with EPICS Through LabVIEW – A Status Report EPICS Collaboration Meeting Fall 2011.
Integrating ArcSight with Enterprise Ticketing Systems
LabVIEW EPICS Client I/O Server
The Client/Server Database Environment
Chapter 3: Windows7 Part 4.
Chapter 3: Windows7 Part 1.
Ch > 28.4.
Experimental Physics and Industrial Control System (EPICS) Overview
Software models - Software Architecture Design Patterns
Writing a Channel Access Client in EPICS
Channel Access Concepts
Outline Operating System Organization Operating System Examples
Channel Access Concepts
Presentation transcript:

1 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Channel Access Concepts Kazuro Furukawa, KEK, ( ) (Bob Dalesio, LANL, USPAS1999) (Andrew Johnson, APS, USPAS2003)

2 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Why Channel Access? u We don’t have Network transparent computing in general (yet) u Plenty of administration tasks for sharing data u No standard way for remote processing u RPC, COM, CORBA, RMI,.NET, etc. u In EPICS, Channel Access provides Efficient Software Bus on Network Performance, Rapid development, Maintenance, Administration Tuned for each operating system (But no internal documentation yet)

3 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Channel Access Client (CAC) Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) DB Engine Device Support Driver Support Generic Data Descriptor Channel Access Client Active X Labview / Excel.. Access Lib Any Data Store I/O ControllerGatewayPortable CASPCAS - Windows Archiving Archive Access Archive ViewingArchive Analysis User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Connection Data Transfers Portable Channel Access Server (CAS) Types Connection Server Program Interfaces C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT EPICS Provides Interfaces at All Levels

4 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Channel Access : The EPICS Software Bus Operator Interface Archive Tool Alarm Tool Application

5 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Control Processing Functionalities u On-demand Synchronous u On-demand Asynchronous u Periodical u On-Change u (with value deadband) u (with rate limit) u On-Event (Trigger) u Cache u List of Control Points u Static Information and History using the Same API Existent Control Systems Support a Part of Those

6 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS What is Channel Access (CA) u Standardized communication path to a named data in a Channel Access server, usually a field within a record (process variable) in any IOC database. u This data is a communication path to/from a hardware IO channel or other software. u Integrates software modules into the control system. u A callable interface (library of subroutines).

7 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Why Use Channel Access u Callable interface designed for easy use by casual applications u Callable interface also designed for use by system software components such as the operator interface, sequencer, and the archiver u Operating system transparency u Network transparency (access to remote and local channels is identical) u CPU architecture independence (silent data conversion) u Isolation from system software changes. u Efficiency (host IO channels) u Efficiency (network remote IO channels)

8 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS IO Controller n IO Controller 2 Channel Access network architecture Channel Access Server CAS Channel Access Client CAC CAS IO Controller 1... CAC Operator Interface 1 Operator Interface n... CAC CAS IEEE Data logger, Data Analysis CAC

9 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Client Server Model u CA is a network service. u Clients use the callable interface (link to the CA library). u Server replicated in each IOC (part of iocCore). u Clients make requests to the servers across the network. u CA defines a network protocol. u Local operations are initiated and performed by the host processor. u Remote operations are initiated but not performed on the host processor.

10 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Asynchronous Nature of CA u CA does not wait to gain access to the network prior to returning from each library call. u Remote operation requests are buffered and sent when the buffer fills or when you ask. u Data fetched from a remote machine is generally not immediately available. u With few exceptions values written into your variables by CA should not be referenced until you have synchronized. u All operations guaranteed to be executed in the order requested.

11 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Why is CA Asynchronous? u Combined operations are more efficient when sharing a common resource such as a bus. u Combined operations can be more efficient when passing through system software layers. u Sometimes it is useful to perform labor on a local processor while several operations are completing on remote processors. u The plant is often asynchronous.

12 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS CA Performance Simple Unconverted I/O Channel Reads and Writes ReadsWrites

13 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Methods of Synchronizing u No data fetches are left outstanding after completing a call to ca_pend_io(). u Asynchronous replacement for ca_get(): ca_get() ca_pend_io() u Use a monitor. u Use fetch with callback. u Use a synch protocol with a remote program.

14 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Event Propagation u In any process control system, an application program must be prepared to respond to any one of a number of asynchronous events. u Events include hardware or software state changes (limit switches, flow indicators, out of range analog channels, software exceptions, etc.)

15 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS CA Software Interface to Events u An event is a significant change in either the value of a field or the condition of the record as a whole. u Events are placed in a queue and handled in the order that they occurred. u A channel can be monitored by specifying a handler to be run each time an event occurs. u CA client applications using events tend to be tree structured. u Updating the client’s local value for a channel this way can save on network traffic since a message soliciting the update need not be sent.

16 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Event Rate Management (Analog Channels) u The rate at which updates are sent over the network should be minimized by the project engineer within reasonable constraints. This rate is managed by adjusting the channel’s deadband and scan rate. u (R3.15 may provide facility to limit monitor rate (?))

17 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS CA Exceptions u Since the CA client library does not wait to gain access to the network prior to returning from each call an operation can fail in the server after the library call that initiated it returns. u Status of these unsuccessful operations are returned from the server to the client’s exception handler. u The default exception handler prints a message for each unsuccessful operation and aborts the client if the condition is severe. u Operations which fail in the server are nearly always caused by programming errors.

18 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Channel Naming Convention u CA requires that channels have a name. u The IOC database requires names of the form: u [. ] u rfhv01.LOPR” u “rfhv01” u Record names are assigned by project engineer following project naming convention. u Record field names and purposes are record type specific u A list of the field names available for each record can be obtained from the database documentation (EPICS Record Reference Manual.) u If the field name is omitted, the field.VAL is assumed. This field contains a control or read back value.

19 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Native Data Types u All channels have a “native” data storage type in the IOC. u All native data storage types are “atomic”. u Atomic data types include: u integer, floating point, string, enumerated etc. u When transferring a new value to/from a channel the client program specifies the data format to supply/receive it in. This is often referred to as the external data type. u The external data type can be different from the native type if conversion is possible.

20 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Compound Data Types u Compound data types contain a channel value combined with additional status or configuration information. u Value + Alarm Status + Timestamp + Drive Limits u Compound types involve the database record as a whole. u Compound types can currently only be used with gets and monitors. u Data types are described in db_access.h. (DBR_XXXX)

21 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Connection Management u Network Connections are inherently transient. u A channel’s connection state is either not found, connected, or disconnected. u CA allows you to specify a handler to be run when a channel’s connection state changes. u Connection requires a server for the channel and a valid network path to the server. u CA automatically restores connection upon notification from the server.

22 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Software Releases u IOC core and CA client library EPICS major release number must match, or client will not find server. u This is due to potential CA protocol redesign between major releases. u CA protocol is upwardly compatible within a major release. u When new features are added to the client, older versions of the server won’t support them.

23 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS IOC instrumentation and control hardware DATABASE database access library device drivers Channel Access client Channel Access client user program C program WORKSTATION (OPI) SNL sequence Channel Access server record support device support database library Channel Access Repeater