100 likes | 284 Views
Epics C# Library. Written by Christoph Seiler Presented by Dirk Zimoch. What is C# and why do we use it?. C# runs on a virtual environment (called .NET) similar to Java's virtual machine ECMA and ISO certificated Resembles JAVA Allows fast development Huge amount of usable libraries
E N D
Epics C# Library Written by Christoph Seiler Presented by Dirk Zimoch
What is C# and why do we use it? • C# runs on a virtual environment (called .NET) similar to Java's virtual machine • ECMA and ISO certificated • Resembles JAVA • Allows fast development • Huge amount of usable libraries • Excellent IDE • Due to open Source projects also usable on other platforms (MONO on Linux)
Epics C# Library – Not another wrapper • Fully implemented and independent Channel Access • Supports Get, Put and Monitor • Supports all Epics specific types like DBR_TIME_DOUBLE • Handles everything from TCP & UDP Listening to C# Interface • Based on cosylabs reverse engineered protocol specification • Easy configuration through XML-ConfigFile or Runtime Changes • Runs on .NET and MONO
Epics C# Library – Why has it been developed? • Portability • Standalone library – No EPICS installation reqired • Usability • Clean and easy interface • C#, C++, VB.Net • Still high performance (connects and receives first monitor value for 32‘000 channels in ~16 seconds)
Epics C# Library – How to use it? • Note: to gain some time the epicsLibrary.dll was already added before.
Epics C# Library – Monitor example • Note: Same code file as before.
Epics C# Library – Current Status • Examples • MEG: Macro Generator for Experiment (productive) • ALH: ALarm Handler (on 03.04.2009 running stable since 3 weeks) • Will probably be presented in the next Epics Meeting in October STATUS : IN PRODUCTION
Epics C# Library – Online Documentation • http://epics.web.psi.ch