For a simple get you should do the
following:
EpicsClient client
= new EpicsClient();
client.Config.ServerList.Clear();
client.Config.ServerList.Add("129.129.130.88:5064");
// replace with the broadcast
address or with the server / gateway one
EpicsChannel<int[]> record =
client.CreateChannel<int[]>("TOTO:INT");
int[] data
= "">
for (int i = 0; i <
data.Length; i++)
{
if (i != 0)
Console.Write(", ");
Console.Write(i);
}
Console.WriteLine("");
For a monitor:
static void Main(string[] args)
{
EpicsClient client = new EpicsClient();
client.Config.ServerList.Clear();
client.Config.ServerList.Add("129.129.130.88:5064");
// replace with the broadcast
address or with the server / gateway one
EpicsChannel<int[]> record = client.CreateChannel<int[]>("TOTO:INT");
record.MonitorChanged += new EpicsDelegate<int[]>(record_MonitorChanged);
Console.ReadKey();
}
static void record_MonitorChanged(EpicsChannel<int[]> sender, int[] newValue)
{
for (int
i = 0; i < newValue.Length; i++)
{
if (i != 0)
Console.Write(", ");
Console.Write(newValue[i]);
}
Console.WriteLine("");
}
Personally I never use the Get function.
Cheers,
Alain Bertrand
Hello,
I’m trying the EPICS C# Library in order to
create a client to manage a Camera IOC. Unfortunately, I have some problems
with the monitoring of waveforms records.
I want to monitor a waveform PV which contains data of
a 640x480 gray scale picture (integers from 0 to 255). So it’s a large
waveform of 307,200 elements. When I process the following code, I catch
a “Server did not respond in Time to Get Request” exception ( or ,
in debug mode, the code doesn’t return).
EpicsClient m_client = new EpicsClient();
try{
EpicsChannel<int> m_acquisitionCamera =
m_client.CreateChannel<int>(“CameraJAI :Acquisition”) ;
Int[] l_data = m_acquisitionCamera.Get<int[]>() ;
} catch (Exception e){
System.Console.WriteLine(e.Message) ;
System.Console.WriteLine(e.StackTrace) ;
}
Is there a way to fix this problem ? Any advices ? In
order to really create a monitor, someone can show me a short sample of an
EPICS C# monitor which manages an array record.
Ce message peut
contenir des informations confidentielles dont la divulgation est à ce titre
rigoureusement interdite en l'absence d'autorisation explicite de l'émetteur.
Dans l'hypothèse où vous auriez reçu par erreur ce message, merci de le
renvoyer à l’émetteur et de détruire toute copie.
P Pensez à l’environnement avant
d’imprimer.
|