Quantcast
Channel: Instrument Control (GPIB, Serial, VISA, IVI) topics
Viewing all articles
Browse latest Browse all 5634

VISA C# .NET

$
0
0

Bonjour à tous,

 

Je viens vers vous parce que j'ai un problème de communication avec VISA que j'essaye d'utiliser en C#.

 

Je tente de communiquer via plusieurs modes de communication (série, GPIB, ethernet) entre 2 PC.

Seul le PC "esclave" m'intéresse puisque c'est sur celui-ci que je développe mon application WPF.

Je suis en attente de message du PC"maitre" via une liaison prédéterminée au lancement de mon application.

 

J'arrive à recevoir des messages mais je n'utilise pas correctement VISA puisque je n'arrive pas à faire en sorte que mon "ReadString()" s'arrête! A chaque fois j'arrive à une exception de type "timeout"!

 

m_Serial_Session = new SerialSession("COM1");
Fill_SerialSession(m_Serial_Session); //Je remplis tous les champs de ma liaison série (bits de données, parité, contrôle de flux...)
m_Serial_Session.EnableEvent(SerialSessionEventType.AnyCharacterReceived, EventMechanism.Queue);
Thread m_Thread_WaitData = new Thread(WaitForData_SerialRead);
m_Thread_WaitData.IsBackground = true;
m_Thread_WaitData.Start();



private void WaitForData_SerialRead()
{
      m_Serial_Session.WaitOnEvent(MessageBasedSessionEventType.AllEnabledEvents);
      try
      {
           MessageBox.Show(m_Serial_Session.ReadString());
      }
      catch (VisaException e)
      {
           MessageBox.Show("Délai dépassé depuis le premier élément reçu!");
      }
}

 

Je penses ne pas être très loin du but mais je n'arrives pas à trouver la fonction ou le paramètre à changer afin que tout fonctionne!

 

J'attends votre aide...


Viewing all articles
Browse latest Browse all 5634

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>