Menu

Home

Daniel J. Lauk Alain Bertrand

EpicsSharp

EpicsSharp is a software library for the .NET platform implementing the channel access protocol used by EPICS (version 3.14).

EpicsSharp consists of three parts:

  • The client library allows your program to read, monitor and manipulate PVs on EPICS IOCs
  • The server library allows your program to publish PVs via the channel access protocol
  • The gateway is a standalone software, that allows channel access to be used across network boundaries

Project Members:


Discussion

  • Juan Manuel

    Juan Manuel - 2013-12-18

    Hello,
    what should I do to make a simple example of using this, I woul like to do two apps, one with a server an other for client and being able to receive something in the client by doing a get call or something similar.
    Is there any tutorial on using these libraries with some examples?, because I am lost and I am not able to do a demonstrator.

     
    • Alain Bertrand

      Alain Bertrand - 2013-12-19

      The wiki page: http://sourceforge.net/p/epicssharp/wiki/Home/

      gives you a simple example of a client and a server. The top most code
      uses a GET btw.

      Sincerely,

      Alain Bertrand


      From: Juan Manuel [mailto:jmsh2@users.sf.net]
      Sent: Wednesday, December 18, 2013 17:41
      To: [epicssharp:wiki]
      Subject: [epicssharp:wiki] Discussion for Home page

      Hello,
      what should I do to make a simple example of using this, I woul like to
      do two apps, one with a server an other for client and being able to
      receive something in the client by doing a get call or something
      similar.
      Is there any tutorial on using these libraries with some examples?,
      because I am lost and I am not able to do a demonstrator.


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/epicssharp/wiki/Home/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       
  • Juan Manuel

    Juan Manuel - 2013-12-19

    Hi,
    Thank you for your quick answer. I have succeed in running a simple server-client app. Now I have doubts, What happens with data of the server, I mean, are being saved the data in the distributed database as the EPICS says, or is in volatile memory and whe the application shuts down you lost them. What I mean is where I should save the data, should I create a ssql databse for eaxmple?...
    Thank you again,
    Regards.

     
    • Alain Bertrand

      Alain Bertrand - 2013-12-19

      EPICS doesn't offer persistence beside with the save&restore module (or
      auto-save&restore).

      Usually the values are purely variable kept in memory.

      The C# implementation we made is not different, it just let you share C#
      variables / values over the network using the epics protocol. If you
      want to implement some persistence then you will have to do it yourself,
      either via a database or simply via serialization.

      Sincerely,

      Alain Bertrand


      From: Juan Manuel [mailto:jmsh2@users.sf.net]
      Sent: Thursday, December 19, 2013 10:15
      To: [epicssharp:wiki]
      Subject: [epicssharp:wiki] Discussion for Home page

      Hi,
      Thank you for your quick answer. I have succeed in running a simple
      server-client app. Now I have doubts, What happens with data of the
      server, I mean, are being saved the data in the distributed database as
      the EPICS says, or is in volatile memory and whe the application shuts
      down you lost them. What I mean is where I should save the data, should
      I create a ssql databse for eaxmple?...
      Thank you again,
      Regards.


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/epicssharp/wiki/Home/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       
  • DaveBones

    DaveBones - 2014-06-18

    This has become a very good EPICS library and I would recommend it for many control applications.
    Currently EPICS has been mainly used by the worlds scientific community.

    Mainly for controlling remote hardware I/O via a simple user interface, by using EPICS as the universal binding “glue”
    Reducing the complexity of the connecting network, to simple process variable names (PV).

    Now you really can have “TRAFFC LIGHT NO1”, GREEN and the device will light up green!

    The main problem with EPICS has been the lack of “usable” documentation and being very platform dependent on Linux.
    If you look into this code and build the two examples you can see the basics of EPICS working for yourself.

    What’s now excellent is this EPICS code in C# take advantages of Microsoft’s huge language functionality.
    Using Visual Studio the user can use the IDE to “see into” the code, unlike the heavy command line structure under Linux.

    If you’re planning a control system please look at this Library and help grow the EPICS.net community.
    I have used C# EPICS for many of our applications at the Central Laser Facility UK (part of STFC).

    Many thanks to Alain Bertrand and team at PSI for making this code available and maintained.

    David Rathbone
    Snr Software Developer

     

    Last edit: DaveBones 2014-09-16
    • Alain Bertrand

      Alain Bertrand - 2014-06-19

      The wiki does already contains examples of the client and the server.
      Working with int string or array is basically the same. Just tell us what
      you need more and we shall try to help you (you can contact me directly via email if you need to).

      Also the API should be documented, and you shall see it while within
      Visual Studio.

       

Log in to post a comment.