Code: Select all
public int OpenSession() {
try {
// added for test
try {
foreach (var rsrc in GlobalResourceManager.Find()) {
_logger?.Information("Resource available {visaAddress}", rsrc);
}
} catch (Ivi.Visa.VisaException ve) {
_logger?.Error(ve, "Failed to open VISA session: {message}",
ve.Message);
_visa = null;
} catch (Exception e) {
_logger?.Error(e, "Failed to list VISA resources.");
}
_visa = GlobalResourceManager.Open(_visaAdress) as IMessageBasedSession;
if (_visa == null)
return -1;
// Typical setup for GPIB-like devices
_visa.TimeoutMilliseconds = 20000;
_visa.TerminationCharacterEnabled = true;
_visa.TerminationCharacter = 0x0A;
_logger?.Information("Opened VISA session {visaAddress}", _visaAdress);
} catch (Ivi.Visa.VisaException ve) {
_logger?.Error(ve, "Failed to open VISA session: {message}",
ve.Message);
_visa = null;
} catch (Exception ex) {
_logger?.Error(ex, "Failed to open VISA session.");
_visa = null;
return -1;
}
return 0;
}