ACS Characteristic Components
Post on 02-Feb-2016
22 Views
Preview:
DESCRIPTION
Transcript
Tokyo July, 2005
ACS Characteristic ACS Characteristic ComponentsComponents
B. Jeram, …..
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
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
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
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• …
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
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
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()
9
ALMA Project
Tokyo, July 2005 ALMA Common Software course
Object Explorer
10
ALMA Project
Tokyo, July 2005 ALMA Common Software course
Abeans and visual editing
12
ALMA Project
Tokyo, July 2005 ALMA Common Software course
ACS sample Mount Control Panel
top related