Я пытаюсь общаться с источником питания с помощью визовой связи.
Я хочу использовать Ivifoundation.visa Nuget Package. Я всегда получаю ошибку, что инструмент не найден при попытке открыть сеанс. Но я все получаю ошибку [err] не удалось перечислить ресурсы визы. < /Strong>.
и открытая строка возвращает ошибку Не удалось разобрать gpib0 :: 6 :: instr
visa.visaexception: не удалось parse gpib0 :: 6 :: instr < /strong> < /p>
i -a Установил. И я знаю, что gpib0 :: 6 :: instr верен, так как я вижу его в эксперте по соединению KeySight.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;
}
< /code>
Редактировать копированный текст исключения: < /p>
2025-07-14 13:59:44.552 +02:00 [ERR] Failed to list VISA resources.
Ivi.Visa.VisaException: Failed to find resources matching ?*
at Ivi.Visa.GlobalResourceManager.Find(String pattern)
at Ivi.Visa.GlobalResourceManager.Find()
at lib.Spitzenberger.SpitzenbergerGPIB.OpenSession()
2025-07-14 13:59:44.553 +02:00 [ERR] Failed to open VISA session: Failed to parse GPIB0::6::INSTR
Ivi.Visa.VisaException: Failed to parse GPIB0::6::INSTR
at Ivi.Visa.GlobalResourceManager.Parse(String resourceName, SrmDictionary srms)
at Ivi.Visa.GlobalResourceManager.Open(String resourceName, AccessModes accessModes, Int32 timeoutMilliseconds, ResourceOpenStatus& openStatus)
at Ivi.Visa.GlobalResourceManager.Open(String resourceName, AccessModes accessModes, Int32 timeoutMilliseconds)
at Ivi.Visa.GlobalResourceManager.Open(String resourceName)
at lib.Spitzenberger.SpitzenbergerGPIB.OpenSession()
Подробнее здесь: https://stackoverflow.com/questions/797 ... ment-fails