티스토리 뷰

DAQmx 드라이버는 기본적으로 소프트웨어 적으로 이더넷 DAQ 장비를 설정하는 함수를 제공하고 있습니다. 이에 대한 함수는 DAQmxAddNetworkDevice, DAQmxReserveNetworkDevice 함수입니다.


이에 대한 사용법의 예는 아래와 같습니다. 


과정을 설명드리면, 


1) 장비를 추가합니다. 

2) 추가한 장비를 예약합니다. 

3) 예약에 대한 시간이 걸리기 때문에 바로 Start Task를 하시면 에러가 발생할 수 있으니 얼마간의 Sleep을 지정합니다. 


C언어를 이용하시는 분이니 아래의 코드를 보시면 충분히 이해가 갈 것이라 생각을 합니다. 


각 함수에 대해서 간략히 설명을 드리자면, 


1) 네트워크 장비 추가 함수 


네트워크 장비 추가함수는 장비의 IP 주소와 MAX에서의 장비 이름을 이용하셔야 합니다. 3번째 인자의 경우 장비를 추가하고 자동으로 장비를 예약할 것인지에 대한 Boolean 값입니다. True로 지정하면 따로 ReserveNetworkDevice를 사용할 필요는 없습니다. 

그리고 4번째 인자는 추가를 하는데 사용하는 Timeout 시간입니다. 



2) 예약 함수 


예약함수의 경우 MAX에서 설정된 장비의 이름을 바탕으로 예약하게 됩니다. MAX에서 이름을 확인하셔야 합니다. 


3) Sleep 함수 


Sleep 함수는 DAQmx 함수에 없기 때문에 자체적으로 구현한 것입니다. 아래의 코드를 참고하시기 바랍니다. 

time 헤더를 이용하여 현재 시간을 받아와서 지정한 시간이 지난 경우 종료되는 코드입니다. 



이 글에서는 C언어에서 DAQ 장비를 이더넷에서 소프트웨어 적으로 잡는 방법을 알아보았습니다. 



댓글