acs characteristic components

11
Tokyo July, 2005 ACS ACS Characteristic Characteristic Components Components B. Jeram , …..

Upload: kevork

Post on 02-Feb-2016

22 views

Category:

Documents


0 download

DESCRIPTION

ACS Characteristic Components. B. Jeram , …. Modeling devices. Device model: actions control/monitor points characteristics Same structure of devices Ease work of developer Component-Characteristics-Property pattern. Component-Property-Characteristics. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ACS Characteristic Components

Tokyo July, 2005

ACS Characteristic ACS Characteristic ComponentsComponents

B. Jeram, …..

Page 2: ACS Characteristic Components

2

ALMA Project

Tokyo, July 2005 ALMA Common Software course

Modeling devices

• Device model:– actions– control/monitor points– characteristics

• Same structure of devices

• Ease work of developer

• Component-Characteristics-Property pattern

Page 3: ACS Characteristic Components

3

ALMA Project

Tokyo, July 2005 ALMA Common Software course

Component-Property-Characteristics

• (Characteristic) Component: base class for any physical/logical Device(e.g. temperature sensor, motor)

• Each Component has Properties (e.g. status value, position - control/monitor points)

• Characteristics of Components and Properties(Static data in Configuration DB, e.g. units, ranges, default values)

• ABeans

CharacteristicModel Characteristic0..n0..n

CharacteristicComponent

0..n0..n

type

Property0..n0..n

ACS::Component

Page 4: ACS Characteristic Components

4

ALMA Project

Tokyo, July 2005 ALMA Common Software course

Properties

• HL representation of control point/entity• Common functionality => building blocks• Two groups:

– Read-only– Read-write

• Different data types:– double, long, string, pattern, enum, …

• baci: IDLs + implementation (C++, Java, Python)• abeans: beans + gadget beans

Page 5: ACS Characteristic Components

5

ALMA Project

Tokyo, July 2005 ALMA Common Software course

Functionality of Properties

• Same characteristics: resolution, units, description, …• Get/set value synchronously and asynchronously• Value monitoring:

– Time base– On-change– …

• history• archiving value• alarms• …

Page 6: ACS Characteristic Components

6

ALMA Project

Tokyo, July 2005 ALMA Common Software course

Component-Property-Characteristics full model

CharacteristicModel

name()description()version()URI()get_interface()get_characteristic_by_name()find_characteristic()

Characteristic0..n0..n

type

ACS::RW<type>

set_sync()set_async()increment()decrement()

type

ACS::RO<type>

Device(from Examples)

type

MonitorPoint(from Examples)

type

ControlPoint(from Examples)

Control system Devices are (Characteristic) omponents

Thermostat(from Examples)

An example of Device

Examples of user defined classes:

CharacteristicComponent

0..n0..n

type

Property

DO_name()get_sync()get_async()create_monitor()

0..n0..n

ACS::Component

Page 7: ACS Characteristic Components

7

ALMA Project

Tokyo, July 2005 ALMA Common Software course

Connecting to real control/monitor point

• Using idea of bridge design pattern

• DevIO:– read– write

• Pass as parameter to property constructor

Page 8: ACS Characteristic Components

8

ALMA Project

Tokyo, July 2005 ALMA Common Software course

Property Servant implementation

The DevIO bridge pattern decouples Properties from HW.

DevIO implementations available:

• Memory location (ACS defaults implementation)

• CAN bus access (ALMA)• Socket generic interface (APEX)• RS232 (OAN)• PC Joystick (HPT)• Webcam (HPT) • CCD cameras (FBIG, Finger Lake)

(HPT)• Heidenan Encoder board IK220 (HPT)• Motor Control Board (HPT)• CCS Real time database (VLT)

typeDevIO

RW<type>Impl

type

DevIO

read()write()

typeDevIO

RO<type>Impl

DevIOMem DevIOCan DevIOSocket

CAN

<<bind>>Socket

<<bind>>

pointer

<<bind>>

IDL interfaces

Servant concrete implementation

Physical IO eccess

type

Property

DO_name()get_sync()get_async()create_monitor()

type

ACS::RO<type>

type

ACS::RW<type>

set_sync()set_async()increment()decrement()

Page 9: ACS Characteristic Components

9

ALMA Project

Tokyo, July 2005 ALMA Common Software course

Object Explorer

Page 10: ACS Characteristic Components

10

ALMA Project

Tokyo, July 2005 ALMA Common Software course

Abeans and visual editing

Page 11: ACS Characteristic Components

12

ALMA Project

Tokyo, July 2005 ALMA Common Software course

ACS sample Mount Control Panel