MAV 비트가 설정될 때 SRQ 설정을 사용하려면 서비스 요청 활성화 기기 등록에서 적절한 비트를 사용하도록 설정해야 합니다. 일반적으로 비트 4이며 장치에 “*SRE 16″명령을 보내도록 설정됩니다 (예를 들어, 웨이크 업에 다른 플래그를 추가 할 수 있습니다. OPC, 오류 등). 테스트 양식에서 이러한 모든 구성 단계를 수행하는 함수의 예가 있습니다: 여기에 제공된 이 추상 클래스의 구현은 기본 구성을 제공하지만 다양한 장치로 성공적으로 테스트됩니다. 다시 개체 지향 철학에 따라 사용 가능한 모든 옵션을 고려하는 클래스를 만드는 것보다 각 특정 구성에 대해 파생 클래스를 작성하는 것이 더 쉽습니다. 예를 들어 모든 GPIB 클래스는 표준 “EOI” 신호를 사용하여 메시지 의 끝을 검색합니다(아래 버퍼크기 매개 변수 설명 참조). 장치가 EOI를 설정할 수 없지만 대신 특정 caracter를 사용하여 메시지를 종료하는 경우 (예 :.n”) 생성자가 그에 따라 장치 옵션을 설정하도록 재정의하는 자식 클래스를 작성할 수 있습니다 (또는 “ReceiveByteArray” 메서드를 재정의할 수도 있습니다. 에서는 새 구현 작성에 대한 섹션을 참조하십시오. 클래스는 GPIBDevice_gpib488 중 하나처럼 작동하는 속성 IOTimeoutCode를 추가합니다. 여기서 각 스레드는 gpib 버스를 사용할 수 있는 즉시 진행됩니다. 장치가 응답할 때까지 기다리는 동안 버스를 차단하는 나머지 문제가 있습니다.
이는 GPIB의 “폴링” 기능을 사용하여 가장 효율적으로 해결됩니다. 따라서 마지막으로 가장 효율적인 체계는 “showmessages” 필드가 true(기본값)로 설정되면 오류가 발생할 때 이 양식이 열립니다. 양식은 모달이 아니며 정보 전용입니다: 프로그램이 양식이 표시되는지 여부에 관계없이 동일한 방식으로 계속됩니다. 그러나 그것은 쉽게 “다시 시도”를 중단 할 수 있습니다. 재시도가 성공한 후 오류가 수정되면 양식이 자체적으로 닫힙입니다. 위의 예에서는 장치가 연결되지 않았으며 메시지가 연결되면 쿼리가 반복된다는 신호를 보냅니다. 창을 닫고 오류가 지속되면 메시지가 다시 퍼업되며 성가신 경우 창을 닫는 대신 창을 최소화하십시오. gpib의 경우, 하나의 보드가있는 경우 모든 장치가 어쨌든 동일한 버스를 공유하기 때문에 인터페이스 잠금이 시스템을 느리게하지 않습니다 (그리고 위에서 설명 한 바와 같이 통화를 차단에 더 반응 GUI의 혜택을 가져올 수 있습니다).