c# gpib 예제
y posteado en Sin categoría

표준 GPIB 라이브러리는 일종의 비동기 작업도 제공하지만, 예를 들어 NI 참조 설명서에서 “showmessages” 필드가 true(기본값)로 설정되면 오류가 발생할 때 이 양식이 열립니다. 양식은 모달이 아니며 정보 전용입니다: 프로그램이 양식이 표시되는지 여부에 관계없이 동일한 방식으로 계속됩니다. 그러나 그것은 쉽게 “다시 시도”를 중단 할 수 있습니다. 재시도가 성공한 후 오류가 수정되면 양식이 자체적으로 닫힙입니다. 위의 예에서는 장치가 연결되지 않았으며 메시지가 연결되면 쿼리가 반복된다는 신호를 보냅니다. 창을 닫고 오류가 지속되면 메시지가 다시 퍼업되며 성가신 경우 창을 닫는 대신 창을 최소화하십시오. 클래스는 GPIBDevice_gpib488 중 하나처럼 작동하는 속성 IOTimeoutCode를 추가합니다. NI 라이브러리는 보드 수준과 장치 수준에서 콜백의 두 가지 버전을 제공합니다(제공된 예제에서 가장 일반적인 후자임). 단일 SRQ 회선만 있기 때문에 장치 수준 콜백을 사용하도록 설정하려면 드라이버의 “자동 폴링” 기능이 필요합니다.

1. 갇힌 상황에 빠지지 않고 gpib 라인 모니터링을 수행하는 방법은 무엇입니까? 장치 명령이나 보드 수준이이 문제를 해결할 수 없습니다. 여기서 일부 제약 조건은 모든 장치가 공통 버스를 공유하지만 다른 제약 조건은 모든 인터페이스에 대해 보유하는 gpib에 만연합니다. 특히 비교적 긴 시간 동안 버스를 잠그는 위험은 이더넷이나 USB와 달리 압축 된 프로토콜을 사용하지 않는 gpib에 만연합니다. * 실제로 나는 그것이 쿼리 큐를 처리 할 수 있는지 말할 수있는 비자에 충분한 경험이 없습니다 (그러나 모든 예에서 프로그램은 읽기를 진행하기 전에 쓰기 이벤트를 기다립니다) 그래서 내가 틀렸다면 저를 수정합니다. 반면에 HiSLIP과 같은 일부 하위 수준의 프로토콜은 쿼리 큐를 구현합니다. 현재 프로젝트 버전에서 이 기술은 드라이버가 지원을 제공하지 않는 GPIBDevice_gpib488을 제외한 모든 클래스에서 구현됩니다: 클래스 GPIBDevice_NINET, GPIBDevice_ADLink 및 VisaDevice는 GPIB “Notify” 콜백 또는 비자에서 지원 되는 다른 프로토콜에서 해당, 클래스 SerialDevice 기본적으로 그것을 사용 하 여, SerialPort 클래스의 DataReceived 이벤트의 처리기를 구현.

Compartir este contenido...
Tweet about this on TwitterShare on FacebookShare on Google+Email this to someone
Los Comentarios están cerrados.