acs characteristic components
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 PresentationTRANSCRIPT
![Page 1: ACS Characteristic Components](https://reader036.vdocuments.us/reader036/viewer/2022082715/56815977550346895dc6bb36/html5/thumbnails/1.jpg)
Tokyo July, 2005
ACS Characteristic ACS Characteristic ComponentsComponents
B. Jeram, …..
![Page 2: ACS Characteristic Components](https://reader036.vdocuments.us/reader036/viewer/2022082715/56815977550346895dc6bb36/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082715/56815977550346895dc6bb36/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082715/56815977550346895dc6bb36/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082715/56815977550346895dc6bb36/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082715/56815977550346895dc6bb36/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082715/56815977550346895dc6bb36/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082715/56815977550346895dc6bb36/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082715/56815977550346895dc6bb36/html5/thumbnails/9.jpg)
9
ALMA Project
Tokyo, July 2005 ALMA Common Software course
Object Explorer
![Page 10: ACS Characteristic Components](https://reader036.vdocuments.us/reader036/viewer/2022082715/56815977550346895dc6bb36/html5/thumbnails/10.jpg)
10
ALMA Project
Tokyo, July 2005 ALMA Common Software course
Abeans and visual editing
![Page 11: ACS Characteristic Components](https://reader036.vdocuments.us/reader036/viewer/2022082715/56815977550346895dc6bb36/html5/thumbnails/11.jpg)
12
ALMA Project
Tokyo, July 2005 ALMA Common Software course
ACS sample Mount Control Panel