Download presentation
Presentation is loading. Please wait.
Published byJutta Simen Modified over 6 years ago
1
FESA 3.0 für Klassenentwickler: Erfahrungen und Erkenntnisse; Allgemeine Diskussion der Gerätemodellentwicklung
2
Topics FESA Class development Basic Concept RealTime Functionality
Server Functionality Class development Questions MX in DevAcc MX in FESA
3
Basic Concept Basic Concept RealTime Functionality
Server Functionality 3
4
Basic Concept = Here I can put my own stuff = This is provided by FESA
Generically created FESA class code Event (RealTime) external Timing Hardware User specific internal Timer class internal between classes Event (Server) Get Set Subscriber Unsubscribe RT Scheduler Server Interface C++ Code, provided by the class developer Hardware Device Hardware Device Hardware Device
5
RealTime Functionality
Basic Concept RealTime Functionality Server Functionality 5
6
RealTime Functionality
= Here I can put my own stuff = This is provided by FESA Class XSD Schema C++ source code FESA libraries and headers class design file (xml-file) TimerEvtSource MyEvent MyEvent MyRTAction generates make binary-file MyRTAction { std::cout << „Hello World “ << DeviceName << std::endl; } generates execute Device XSD Schema Instantiation file (xml-file , data for specific device) DeviceName = KGB123 TimerWaitTime = 1000ms Instantiation file (xml-file , data for specific device) DeviceName = KGB123 TimerWaitTime = 1000ms Console Instantiation file (xml-file , data for specific device) DeviceName = „KGB123“ MyEvent_wait = 1000ms is used by > --- Fesa class started --- > Hello World KGB123
7
RealTime Functionality
= Here I can put my own stuff = This is provided by FESA Class XSD Schema FESA libraries and headers class design file (xml-file) TimerEvtSource MyEvent MyEvent MyRTAction TimingEventSource Lab Specific events, triggered by TimingSystem TimerEventSource Periodic event production in predefined intervals OnDemandEventSource Server side is able to trigger RTActions via this source Possibility to subscribe to other Fesa-classes and launch events on incoming notifications. OnSubscriptionEventSource Custom-event-source Allows to implement user specific event source
8
Server Functionality Basic Concept RealTime Functionality
8
9
Server Functionality = Here I can put my own stuff
= This is provided by FESA Class XSD Schema C++ source code FESA libraries and headers generates class design file (xml-file) Property: MyProperty Field(string): MyField make binary-file generates MyProperty-Get: { return MyField + DeviceName ;} execute Device XSD Schema Instantiation file (xml-file , data for specific device) DeviceName = „KGB123“ MyField_InitValue = „Hello World “ FEC - Console Instantiation file (xml-file , data for specific device) DeviceName = „KGB123“ MyField_InitValue = „Hello World “ Instantiation file (xml-file , data for specific device) DeviceName = „KGB123“ MyField_InitValue = „Hello World “ is used by > --- Fesa class started --- Client PC Console get < getDeviceHandle < get MyProperty > Hello World KGB123
10
Server Functionality RDA Middleware FESA Server FEC - Console
> --- Fesa class started --- Client PC Console get < getDeviceHandle < get MyProperty > Hello World KGB123 Client Application
11
Topics FESA Class development Basic Concept RealTime Functionality
Server Functionality Class development Questions MX in DevAcc MX in FESA
12
Questions (1) How to … … develop a FESA class in general?
… handle power-on procedure? … specify device variants? … use timing events? … realize the internal states of RT-actions? … include external constants?
13
Questions (2) Exemplary implementation of a device of the existing control system Requirements Takes part in the timing Can be used in a multiplexed way Functionality needs real-time behavior Inheritance? Equipment-model MX
14
MX in DevAcc Pulsed magnet-power supply Device variants
Unipolar / Bipolar Inverter Switchable load … Power on/off takes time
15
MX in DevAcc (2) Providing reference-values
Three different Properties Field in Teslameter (Real) Current in Ampère (Real) Voltage for D/A-Converter in Millivolt (Int) Polynomial constants for conversion Property to read summarized information (MAGNINFO vs. ACQUISITION) 15
16
Good to know: FESA-Vocabulary
DevAcc FESA Properties USRs Server Actions EQMs Real-time Actions Virtual Accelerator Multiplexing Context* * cycleName / cycleId
17
MX in FESA: HowTo FESA-Development-Guideline Development with Eclipse
Design C++ Code Design Deploy-Unit Configuration of Instantiation file Test and simulate
18
MX in FESA: Design Usage of the GSI Template
Properties Custom-Types Fields Server-Actions Introduction of new elements s.a. Events Scheduling-Units
19
MX in FESA: Design (Template)
Unmodified GSI-Template
20
MX in FESA: Design (Properties)
21
MX in FESA: Design (Data)
22
MX in FESA: Design (Types)
Possible Elements Bit-enum 16 Bit-enum 32 Constant Constant-UInt (hist.) Enum State-enum Struct
23
MX in FESA: Design (Actions)
24
MX in FESA: Design (Events)
25
MX in FESA: Design(Summary)
Custom- vs. Default-Actions Configuration-Field Device variants Constants from DB Long power-up procedure Notified Property Low priority of RT-Action (Instantiation File)
26
MX-Gerätemodell in FESA: C++ Code
Common State-machine Value conversion RealTime Read / write file Switching device on / off Server default onDemand events
27
MX-Gerätemodell in FESA: C++ Code
28
MX-Gerätemodell in FESA: C++ Code
29
MX-Gerätemodell in FESA: Deploy
30
MX-Gerätemodell in FESA: Instance
31
MX-Gerätemodell in FESA: Instance
32
MX-Gerätemodell in FESA: Instance
33
MX-Gerätemodell in FESA: Instances
Init values Modify XML-file with constants from DB Connect concrete events with logical Set timing domain Specifying device instances
34
MX-Gerätemodell in FESA: Test
Configure timing simulation for testing Specify timing domain Create different event-sequences Build up super cycle Start binary with option –SIM Notice: Once timing is used, the binary won‘t run without the simulator
35
Thank you for your attention!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.