Presentation is loading. Please wait.

Presentation is loading. Please wait.

FESA 3.0 für Klassenentwickler: Erfahrungen und Erkenntnisse; Allgemeine Diskussion der Gerätemodellentwicklung 19.11.2018.

Similar presentations


Presentation on theme: "FESA 3.0 für Klassenentwickler: Erfahrungen und Erkenntnisse; Allgemeine Diskussion der Gerätemodellentwicklung 19.11.2018."— Presentation transcript:

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!


Download ppt "FESA 3.0 für Klassenentwickler: Erfahrungen und Erkenntnisse; Allgemeine Diskussion der Gerätemodellentwicklung 19.11.2018."

Similar presentations


Ads by Google