EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EpicsSharp issues
From: Alain Bertrand <[email protected]>
To: "Christopher J. Pendleton" <[email protected]>
Cc: [email protected], [email protected]
Date: Wed, 04 Dec 2013 17:55:23 +0100
Great! Happy to hear it. It took a bit, but we managed to make it works.

Alain

On 12/4/2013 5:54 PM, Christopher J. Pendleton wrote:

Thanks again Alain. It works beautifully now.

 

-Chris

 

From: Bertrand Alain Gregor [mailto:[email protected]]
Sent: Wednesday, December 04, 2013 3:10 AM
To: Christopher J. Pendleton
Cc: [email protected]
Subject: RE: EpicsSharp issues

 

Ooopps, sorry I commented out a line of the EpicsClient for some tests, and it wasn't sending the echo messages anymore.

 

Should be back in.

 

Cheers,

 

Alain

 


From: Christopher J. Pendleton [mailto:[email protected]]
Sent: Wednesday, December 04, 2013 01:13
To: Bertrand Alain Gregor
Cc: [email protected]
Subject: RE: EpicsSharp issues

 

Hello again Alain. I was investigating connection issues today with EpicsSharp.

 

When the server has a hard shutdown (power removed), the C# client does not detect a disconnect. The server is then powered back up and the client never receives another monitor update. A restart of the C# client is required for monitor updates to resume.

 

The python client running on the same machine will reconnect and start receiving monitor updates when the server comes back up. When I look at netstat, the python client creates a new connection on a new local port when the server restarts. The C# client seems to maintain the original connection forever, passively listening. When I look at wireshark with the CA plugin, I see no activity from the C# client while in this dead state. I only see CA_PROTO_RSRV_IS_UP messages from the server.

 

Do you expect this behavior?

 

Regards,

Chris

 

 

From: Alain Bertrand [mailto:[email protected]]
Sent: Tuesday, December 03, 2013 12:16 AM
To: Christopher J. Pendleton
Cc: [email protected]
Subject: Re: EpicsSharp issues

 

Epics  CA protocol doesn't offer (as far as I'm aware) a type which covers both the time stamp and the control informations. You could extend it using the C# CA server and client and a custom type but that would make this type un-usable by any other implementations.

Sincerely,

Alain

On 12/2/2013 5:39 PM, Christopher J. Pendleton wrote:

Thanks again Alain.

 

If I want to get PV limits, I see that I can use ExtControl type, but I do not see a timestamp in this type. Is there a single type I can use to access both of these properties, or do I need to use ExtControl and ExtTimeType?


Regards,

Chris

 

From: Bertrand Alain Gregor [mailto:[email protected]]
Sent: Monday, December 02, 2013 2:18 AM
To: Christopher J. Pendleton
Cc: [email protected]
Subject: RE: EpicsSharp issues

 

I was calling the wrong DateTime constructor due to the fact I wasn't passing long values. I tested the time stamp and from what I can see, now it seems to show the same value as the standard epics client. Let me know if it works for you.

 

Sincerely,

 

Alain Bertrand

 


From: Christopher J. Pendleton [mailto:[email protected]]
Sent: Saturday, November 30, 2013 17:32
To: Bertrand Alain Gregor
Cc: [email protected]
Subject: RE: EpicsSharp issues

 

Thanks again Alain. That works much better. I see the data and I see the timestamp changing.

 

However, the converted date and time seem wrong. This is the value of ExtTimeType<float[]>.Time (incorrect):

{12/31/1989 6:59:31 PM}

 

I run a python camonitor on the same PV and I see this (correct):

testi3200_in_current 2013-11-30 11:28:26.85700 <array size=32, type=float>

 

-Chris

 

From: Bertrand Alain Gregor [mailto:[email protected]]
Sent: Wednesday, November 27, 2013 5:06 AM
To: Christopher J. Pendleton
Cc: [email protected]
Subject: RE: EpicsSharp issues

 

Hi Chris,

 

I must admit I never worked with floats and the C# lib so far, nor I used much the arrays. Anyhow I found quite a few issues in my code and hope to have fixed them. There is a few things I'm not 100% sure however it seems to work now. So please try to grab the latest version and see if it works for you.

 

Sincerely,

 

Alain

 


From: Christopher J. Pendleton [mailto:[email protected]]
Sent: Tuesday, November 26, 2013 16:09
To: Bertrand Alain Gregor
Cc: [email protected]
Subject: RE: EpicsSharp issues

 

Would you expect this code to work?

 

###

    static class Program

    {

        [STAThread]

        static void Main()

        {

            EpicsClient client = new EpicsClient();

            EpicsChannel<ExtTimeType<float[]>> record =

                client.CreateChannel<ExtTimeType<float[]>>("r_I128_channels_test");

            record.MonitorChanged += new EpicsDelegate<ExtTimeType<float[]>>(record_MonitorChanged);

            Console.ReadKey();

        }

 

        static void record_MonitorChanged(EpicsChannel<ExtTimeType<float[]>> sender, ExtTimeType<float[]> newValue)

        {

            Console.WriteLine("Help!");

        }

    }

###

 

I see a similar exception as before in the console window:

 

###

System.Collections.Generic.KeyNotFoundException: The given key was not present i

n the dictionary.

   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)

   at PSI.EpicsClient2.EpicsChannel`1.<Disconnect>b__3(EpicsChannel action) in D

:\Projects\epicssharp\client\EpicsGenericChannel.cs:line 105

###

 

Thanks,

Chris

 

From: Bertrand Alain Gregor [mailto:[email protected]]
Sent: Tuesday, November 26, 2013 8:04 AM
To: Christopher J. Pendleton
Cc: [email protected]
Subject: RE: EpicsSharp issues

 

Ask for an  ExtTimeType<TType> where TType is the type you want for the data (string, float or whatever)

And you should receive the timestamp as Time property of it.

 

Cheers,

 

Alain Bertrand

 


From: Christopher J. Pendleton [mailto:[email protected]]
Sent: Tuesday, November 26, 2013 14:00
To: Bertrand Alain Gregor
Cc: [email protected]
Subject: RE: EpicsSharp issues

 

I am actually talking about the client. Can you point me to some documentation/example code that accesses timestamps?

Thanks,
Chris


From: Alain Bertrand
Sent: ‎11/‎25/‎2013 11:31 PM
To: Christopher J. Pendleton
Cc: [email protected]
Subject: Re: EpicsSharp issues

The client should be able to reach any PV information, so I guess you are talking about the server side implementation. Right? The server is designed in such a way that you can define your own types and have any properties you want visible through Epics. So units, limits or whatever else you want have should be doable already.

Cheers,

Alain

On 11/25/2013 9:48 PM, Christopher J. Pendleton wrote:

Hi Alain.

 

The new code works. I appreciate your efforts and quick response. I was wondering if there were any plans to expose some other PV information such as timestamp, units, limits, etc. in a future version of EpicsSharp?

 

Thanks,

Chris

 

 

 

 



References:
RE: EpicsSharp issues Christopher J. Pendleton
RE: EpicsSharp issues Bertrand Alain Gregor
RE: EpicsSharp issues Christopher J. Pendleton
RE: EpicsSharp issues Bertrand Alain Gregor
RE: EpicsSharp issues Christopher J. Pendleton
RE: EpicsSharp issues Bertrand Alain Gregor
RE: EpicsSharp issues Christopher J. Pendleton
Re: EpicsSharp issues Alain Bertrand
RE: EpicsSharp issues Christopher J. Pendleton
RE: EpicsSharp issues Bertrand Alain Gregor
RE: EpicsSharp issues Christopher J. Pendleton

Navigate by Date:
Prev: RE: EpicsSharp issues Christopher J. Pendleton
Next: RE: single script native builds EPICS-­3­-14-­12 on x86_PC and BBB (BeagleBone Black); Ubuntu-­12-­04-­LTS (x86_PC) and Angstrom (BBB) Linux Emmanuel Mayssat
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: EpicsSharp issues Christopher J. Pendleton
Next: Breakpoint tables: Raw value must be integer?!? Emmanuel Mayssat
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024