NET-AIO11 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned in this document as their own property. Information furnished by DAQ system is believed to be accurate and reliable. However, no responsibility is assumed by DAQ system for its use, nor for any infringements of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or copyrights of DAQ system. The information in this document is subject to change without notice and no part of this document may be copied or reproduced without the prior written consent. Copyrights 2012 DAQ system Co., LTD. All rights reserved.
API (Application Programming Interface) Board Level API Functions Overview OpenDAQDevice(void) CloseDAQDevice(void) OpenDAQDevice OpenDAQDevice(void) 있다. 시스템에보드가등록되었는지확인한다. 정상등록된보드에대해서만함수를호출할수 CloseDAQDevice CloseDAQDevice(void) 디바이스의사용등록을해지한다. 장치의사용이끝나게되면반드시해당함수를호출하 여다른프로그램에서사용할수있도록해야한다
Board Programming API Functions Overview ReadyProgLoad(void); ProgLoad(int ncount, WORD *bybuf); FlashProgram(void); FlashErase(void); FlashEthernetConfig(WORD * data); ReadyProgLoad ReadyProgLoad(void) USB 인터페이스를통해보드시스템이미지를플래시메모리에저장하기전데이터수신 준비를명령한다. ProgLoad ProgLoad(int ncount, unsigned char *bybuf) USB 인터페이스를통해보드시스템이미지를전송한다. ncount : 전송할데이터바이트수이다. *bybuf : 전송데이터버퍼포인터
FlashProgram FlashProgram(void) 수신된시스템이미지를플래시메모리에저장을명령한다. ncount : 전송할데이터바이트수이다. *bybuf : 전송데이터버퍼포인터 FlashErase FlashErase(void) 플래시메모리를초기화한다. FlashEthernetConfig FlashEthernetConfig(WORD * data) 플래시메모리에 TCP/IP 이더넷링크정보를저장한다. 저장된정보는보드가부팅될때 적용된다. *data : 보드에적용할 IP, MAC, GateWay, Masking 데이터를포함하는데이터의포인터이다.
Board Control API Functions Overview SetInterface(int if_type, char* strip, int portnum); GetInterface(int * if_type, int *connected); GetDeviceInfo(WORD *ipaddr, WORD *submask, WORD *gateway, WORD *macaddr, WORD *portnum, WORD * firmware); SetInterface SetInterface(int if_type, char* strip, int portnum) 시스템에서보드와데이터입출력하기위한 USB/Ethernet 인터페이스를설정한다. If_type : 설정할인터페이스를선택한다. 0 : USB, 1 : Ethernet * strip : Ethernet 설정시시스템에서 TCP/IP 설정하는상대방보드의 IP 주소이다. portnum : 시스템에서 TCP/IP 설정에사용하는포트번호이다. GetInterface GetInterface(int * if_type, int *connected) 보드와링크설정된시스템의인터페이스종류및연결상태를얻는다. * if_type : 설정된인터페이스종류를얻는다. 0 : USB 1 : Ethernet * connected : 해당인터페이스에서보드연결상태를얻는다. 0 : 연결되지않음 1 : 연결됨
GetDeviceInfo GetDeviceInfo(WORD *ipaddr, WORD *submask, WORD *gateway, WORD *macaddr, WORD *portnum, WORD * firmware); 보드에설정된이더넷설정정보와펌웨어버전을얻는다. *ipaddr : IP 주소가저장된다. *submask : Sub-net Mask 정보가저장된다. *gateway : 게이트웨이주소가저장된다. *macaddr : MAC 주소정보가저장된다. *portnum : TCP/IP 포트정보가저장된다. *firmware : 펌웨어버젼정보가저장된다.
ADC(Analog to Digital Convertor) API Functions Overview SetSamplerate(DWORD sample); GetAdcDataEX(int *ad_data); StartGetDataRead( DWORD data_count, DWORD trigger_en, StopGetDataRead(void); DWORD sync_en, DWORD count); GetPointer( DWORD *rd_ptr, DWORD *wr_ptr, DWORD *rx_data_count, DWORD *adc_len); SetDelayTime(DWORD delay); GetDelayState(DWORD *run_flag, DWORD *mem_end); StartDelayedDataRead(DWORD data_count); StopDelayedDataRead(void); SetSamplerate SetSamplerate(DWORD sample) ADC 데이터샘플링레이트를설정한다. sample : 샘플링레이트코드를입력한다. 0 -> 65,536sps, 1 -> 32,768sps 샘플링레이트 [sps] = 65,536/(2^설정값 )
GetAdcDataEX GetAdcDataEX(int *ad_data) 연속모드 ADC 데이터를읽는다. * ad_data : 데이터버퍼포인터이다. 저장된데이터수는 StartGetDataRead() 의첫번째인자값과같다. StartGetDataRead() 의첫번째인자값이상의읽을데이터가존재하지않으면 FALSE, 그렇지않으면 TRUE 을리턴한다. StartGetDataRead StartGetDataRead(DWORD data_count, DWORD trigger_en, DWORD sync_en, DWORD count) 연속모드데이터수집을시작한다. data_count : 한번에읽어올데이터수이다. 최대 4,194,034(4M) 까지지원한다. trigger_en : Reserved sync_en : Reserved count : Reserved StopGetDataRead StopGetDataRead(void) 연속모드데이터수집을중지한다.
GetPointer GetPointer(DWORD *rd_ptr, DWORD *wr_ptr, DWORD *rx_data_count, DWORD *adc_len); 데이터수집중수신되는 USB/Ethernet 데이터수및버퍼링되는메모리포인터를확인한다. *rd_ptr : 데이터버퍼를응용프로그램에서읽는현재의메모리포인터이다. *wr_ptr : 데이터버퍼를쓰는현재의메모리포인터이다. *rx_data_count : USB/Ethernet으로부터입력되는모든데이터수 ( 바이트 ) 이다. *adc_len : USB/Ethernet으로부터입력되는 ADC 데이터 (16-bit) 수이다. SetDelayTime SetDelayTime(DWORD delay) 지연모드의 ADC 데이터샘플링전대기시간을설정한다. delay : 초단위지연시간으로 255초까지설정한다. GetDelayState GetDelayState(DWORD *run_flag, DWORD *mem_end) 지연대기상태를확인한다. 대기시간동안기다린후데이터수집을종료했는지확인한다. *run_flag : 대기실행후 524,288개데이터 (32,768sps인경우 2초데이터 ) 수집이완료되었는지를알려주는플레그이다. 진행중인경우 TRUE, 종료인경우 FALSE이다. *mem_end : 수집데이터개수를알수있는메모리포인터이다.
StartDelayedDataRead StartDelayedDataRead(DWORD data_count) 지연모드에서수집된 AD 데이터를읽는명령이다. data_count : 보드에서읽은데이터를응용프로그램으로읽어오는데이터단위갯수이다. StopDelayedDataRead StopDelayedDataRead(void) 지연모드 AD 데이터를읽기를중지한다.
DIO(Digital Input/Output) API Functions Overview SetDOUT(DWORD dout_val); GetDIN(DWORD *din_val); SetDOUT SetDOUT(DWORD dout_val) 디지탈출력을설정한다. dout_val : 출력설정값으로 8-bit 하위바이트만유효하다. 1이설정되면해당 DOUT 핀과 DOUT_COM이단선 (short) 된다. GetDIN GetDIN (DWORD *din_val) 디지탈입력상태를읽는다. *din_val : 입력핀값으로하위 8-bit 만유효하다. DIN 은 1 이읽히면 DIN_COM 과 DIN 이루프가형성되어전류가흐르는상태이다. bit 31 8 7 0 data Not Use DIN[7:0]