PCI-TC03 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 설명 PCI-TC03 보드를사용하기위한 API(Application Programming Interface) 를설명한다. 현재지원하는 API 는다음과같다.
Board Level API Functions Overview OpenDAQDevice (void) ResetBoard (int nboard) CloseDAQDevice (void) OpenDAQDevice 디바이스를 Open한다. 프로그램에서초기에반드시한번함수를호출하여디바이스를 Open하여야한다. OpenDAQDevice (void) Parameters: 없음. 디바이스 Open에성공할경우현재시스템 (PC) 에장착된디바이스의개수를 return한다. 실패할경우 -1 을 return한다. ResetBoard 현재시스템 (PC) 에장착된디바이스를초기화한다. ResetBoard (int nboard) Parameters: nboard : 현재시스템에장착되어있는보드번호를알려준다. 보드번호는보드의 DIP 스위치를이용하여설정한다. 함수호출에실패할경우 FALSE 성공일경우 TRUE 을리턴함. CloseDAQDevice 오픈된모든 PCI-AIO 시리즈디바이스를 Close한다. 장치의사용이끝나게되면, 반드시장치를 Close 하여다른프로그램에서사용할수있도록한다. CloseDAQDevice (int nmodel, int nboard) Parameters: 없음 함수호출에실패할경우 FALSE 성공일경우 TRUE 을리턴함.
Counter API Functions Overview Counter_Init (int num) Counter_Enable (int num) Counter_Disable (int num) Counter_Clear (int num) Counter_ReadPresent (int num, DWORD *dwval) Counter_ReadTarget (int num, DWORD *dwval) Counter_WriteTarget (int num, DWORD dwval) Conter_Init 카운터를초기화한다. Counter_Init (int num) Count_Enable 카운터를 enable 시킨다. Counter_Enable (int num) Count_Disable 카운터를 disable 시킨다. Counter_Disable (int num)
Count _Clear 카운터값을지운다. Counter_Clear (int num) 함수호출에실패한경우 FALSE, 성공일경우 TRUE 를 return 한다. Count_ReadPresent 해당카운터의현재값을읽는다. Counter_ReadPresent (int num, DWORD *dwval) *dwval : 입력카운터의현재값을읽어올변수이다. Count_ReadTarget 타겟카운터의현재값을읽는다. Counter_ReadTarget (int num, DWORD *dwval) *dwval : 타겟카운터의값을읽어올변수이다. Count_WriteTarget 타겟값을출력포트에출력한다. Counter_WriteTarget (int num, DWORD dwval) *dwval : 타겟카운터의출력포트에기록할값.
Digital Input Output API Functions Overview DIO_ReadInput (DWORD *dwval) DIO_ReadOutput (DWORD *dwval) DIO_WriteOutput (DWORD dwval) DIO_ReadInput 입력포트의 Digital 값을읽는다. DIO_ReadInput (DWORD *dwval) Parameters: dwval : 입력포트의현재값을읽어올변수이다. DIO_ReadOutput 출력포트의 Digital 입력값을읽는다. DIN_ReadOutput (DWORD *dwval) Parameters: *dwval : 입력포트의현재값을읽어올포인터변수이다. 함수호출에실패할경우 FALSE 성공일경우 TRUE 을리턴한다. DOUT_WriteOutput 출력포트에 Digital 값을출력한다. DIO_WriteOutput (DWORD dwval) Parameters: dwval : 출력포트에기록할값. 함수호출에실패할경우 FALSE 성공일경우 TRUE 을리턴한다.
Timer API Functions Overview Timer_Init (int num) Timer_SetControl (int num, DWORD dwval) Timer_GetControl (int num, DWORD *dwval) Timer_GetStatus (int num, DWORD *dwval) Timer_Read (int num, DWORD *dwval) Timer_ReadSet (int num, DWORD *dwval) Timer_WriteSet (int num, DWORD dwval) Timer_Init 타이머를초기화한다. Timer_Init (int num) Timer _SetControl 타이머동작을위한 COMMAND 레지스터를설정한다.(TMR_CMD 레지스터설정 ) Timer_SetControl (int num, DWORD dwval) dwval : 레지스터설정값으로레지스터설정비트는다음과같다. TMR_CMD Register Bit Position & Usage 31 7 6 5 4 3 2 1 0 Reserved Used Bit Name Description Default 0 Enable 1 일때타이머동작을한다.(Up-Counter) 0 1 Clear 1 일때현재카운트 (TMR_CUR) 값을 0x00000000 로초기화한다. 0 2 Auto 0 일때 One-Shot 출력을발생하고, 1 일때타임아웃이발생할때자동으로 0 타이머값을 TMR_SET 값으로리로드하여동작한다. Auto = 1, Alt= 0 일때, 주파수는주파수 = 5M/(TMR_SET+1) 로출력하고
Auto = 1, Alt= 1 일때, 주파수는주파수 = 10M/(TMR_SET+1) 로출력한다. 3 Alt Alternative 동작을위한비트로서 0 일때타임아웃이발생할때마다출력값 0 을반전시킨다. 1 일때 ALT_CNT 에설정된카운트만큼 1 을출력하고, 이후타임아웃발생까 지 0 을출력한다. 4 OutSel 1 일때타이머출력을 IO 로하여 OutVal 값으로출력하고, 0 일때타이머 0 동작으로출력한다. 5 OutVal 타이머출력이 IO 일때의출력값이다. 0 6 clear time over flag 0 31-8 - For Future Use All 0 Timer _GetControl 타이머동작을위한 COMMAND 레지스터를출력한다. Timer_GetControl (int num, DWORD *dwval) *dwval : 입력타이머의현재값을읽어올변수이다. Timer_Read 현재타이머의입력값을읽는다. Timer_Read (int num, DWORD *dwval) *dwval : 입력타이머의현재값을읽어올변수이다.
Timer_ReadSet 동작상태를알수있는레지스터값을얻는다.( TMR_STA 레지스터확인 ) Timer_ReadSet (int num, DWORD *dwval) *dwval : 레지스터값을읽어올변수포인터이다. 레지스터의비트사용은다음과같다. TMR_STA STATUS Register Bit Position & Usage 31 16 15 Use Reserved 1 0 Use Bit Name Description Default 0 TimeOut 타임아웃이발생할경우 (TMR_CUR>=TMR_SET) 에 1 로된다. 1 15-1 - For Future Use All 0 31-16 ALT_CNT Alternative 동작에서사용되는 1 인출력을위한 10Mhz 클럭카운 All 0 트값으로최소값은 1 이다. 함수호출에실패한경우 FALSE, 성공일경우 TRUE 를 return 한다. Timer_WriteSet 동작상태를알수있는레지스터값을출력한다. Timer_WriteSet (int num, DWORD dwval) dwval : 타이머의 hex 값을의미한다.