µðÁöÅÐ Æ÷Æ®ÀÇ ÀÔ·Â |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ÇнÀ¸ñÇ¥ |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
µðÁöÅÐÆ÷Æ®ÀÇ ÀÔ·ÂÀ» ÀÌÇØÇϰí À̸¦ ¼¾¼ ¹× °èÃø¿¡ Ȱ¿ëÇÑ´Ù. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ÇнÀÁÖÁ¦ |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
½ºÀ§Ä¡ÀÇ ÀԷ¿¡ µû¶ó Led¿¡ ºÒÀÌ µé¾î ¿Â´Ù. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
¿¹½À³»¿ë |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
¾Æ·¡¿Í °°ÀÌ ÀԷº¸µå¸¦ ¸¸µç´Ù. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
½Ç½À¹æ¹ý |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
¸ñ Â÷ |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1. ÀÔ·Â º¸µåÀÇ ¿¬°áº¸µåÀÇ ÀÔ·Â ½ºÀ§Ä¡´Â Æò»ó½ÃÀÀ 5V°¡ ÀÔ·ÂµÇ°í ½ºÀ§Ä¡¸¦ ´©¸£¸é 0V°¡ ÀԷµȴÙ. Led°¡ ÀÖ´Â º¸µåÀÇ CON1Àº ¼ý³ØÅ͸¦ »ç¿ëÇϰí À§¿¡¼ º¸¾ÒÀ» ¶§ ´ÙÀ½°ú °°ÀÌ ¿¬°áÇÑ´Ù.
µðÁöÅÐ Æ÷Æ®°¡ 0V ÀÏ ¶§ LED°¡ Á¡µîµÈ´Ù. ¾Æ·¡´Â LED µ¿ÀÛ¿¡ µû´Â Ãâ·Â °ªÀ» Ç¥½ÃÇÑ °ÍÀÌ´Ù.
2. ÇÁ·Î±×·¥ ÀÛ¼º´ÙÀ½Àº ¡°C:/Program Files/National Instruments/NI-DAQ/Examples/DAQmx ANSI C/Digital/Read Values/Read Dig Chan ¡±ÀÇ ÇÁ·Î±×·¥À» ³ªÅ¸³½ °ÍÀÌ´Ù. ÀÌ´Â ¿¡·¯ ÇÔ¼ö¸¦ Á¦°ÅÇÏ¿© °£´ÜÈ÷ ÇÑ ÇÁ·Î±×·¥ÀÌ´Ù. ÀÔ·ÂÀº ¹è¿ data[8]·Î µé¾î¿Â´Ù. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
//ANSI C Example program:
ReadDigChan.c #include <stdio.h> #include <NIDAQmx.h> #define DAQmxErrChk(functionCall) if( DAQmxFailed(error=(functionCall)) ) goto Error; else int main(void) { int32 error=0; TaskHandle taskHandle=0; uInt8 data[100]; char errBuff[2048]={'\0'}; int32 i; int32 read,bytesPerSamp; /*********************************************/ // DAQmx Configure Code /*********************************************/ DAQmxCreateTask("",&taskHandle); DAQmxCreateDIChan(taskHandle,"Dev1/port0/line0:7","",DAQmx_Val_ChanForAllLines); /*********************************************/ // DAQmx Start Code /*********************************************/ DAQmxStartTask(taskHandle); /*********************************************/ // DAQmx Read Code /*********************************************/ DAQmxReadDigitalLines(taskHandle,1,10.0,DAQmx_Val_GroupByChannel,data,100,&read,&bytesPerSamp,NULL); // assuming 8 channels acquired for(i=0;i<8;++i) printf("Data acquired, channel %d: 0x%X\n",i,data[i]); if( taskHandle!=0 ) { /*********************************************/ // DAQmx Stop Code /*********************************************/ DAQmxStopTask(taskHandle); DAQmxClearTask(taskHandle); } getchar(); return 0; } |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ÀÌÁ¦ ºñÁê¾ó ÇÁ·Î±×·¥À» ¸¸µé¾î º¸°Ú½À´Ï´Ù.
¾Æ·¡¿Í °°ÀÌ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µì´Ï´Ù.
|
MeasurmentStudio °¡ ¾øÀÌ ¾Æ·¡ Visual C++ ¸¸À¸·Î´Â ¾Æ·¡¿Í °°ÀÌ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé°í ÀÌ ÈÄ´Â ¶È°°ÀÌ ÇÁ·Î±×·¥ÇÏ¸é µÈ´Ù.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ÀÌÈÄ ³ª¸ÓÁö´Â ±âº»°ªÀ¸·Î ¼±ÅÃÇÏ°í ¡°Finish¡±¸¦ ¼±ÅÃÇÑ´Ù. |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
È¸é ¿À¸¥ÂÊÀÇ ¡°µµ±¸»óÀÚ¡±ÀÇ ¡°Button¡±À» ¼±ÅÃÇÏ¿© ´ÙÀ̾î·Î±× ¹Ú½º¿¡ ¸¸µç´Ù.
|
¡°¼Ó¼º¡±ÀÇ ¡°¼Ó¼ºÆäÀÌÁö¡±¿¡¼ ¹öưÀÇ ¸ð¾çÀ» Led ÇüÅ·Π¹Ù²Û´Ù. ÀÌ °úÁ¤À¸·Î 8°³¸¦ ¸¸µç´Ù.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Led0¸¦ ¼±ÅÃÇÑ ÈÄ ¸¶¿ì½º ¿À¸¥ÂÊ ¹öưÀ» ´·¯º¼ö¸¦ Ãß°¡ÇÑ´Ù. |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Led 8°³¸¦ m_led0~m_led7 °¡Áö ¹Ýº¹ÇÏ¸é ±×¸²°ú °°ÀÌ Å¬·¡½º¿¡ º¯¼ö°¡ Ãß°¡µÇ¾î ÀÖ´Â °ÍÀ» º¼ ¼ö ÀÖ´Ù.
|
´ÙÀ̾î·Î±× ¹Ú½º¸¦ ¼±ÅÃÇÑ ÈÄ¿¡ ¡°¼Ó¼º¡±ÀÇ ¡°¸Þ½ÃÁö¡±¸¦ ¼±ÅÃÇÏ°í ¡°WM_TIMER¡±ÀÇ ¡°OnTimer¡± ÇÔ¼ö¸¦ ¸¸µç´Ù.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ŸÀ̸Ӹ¦ 0.5Ãʸ¶´Ù µ¿ÀÛ½ÃÄѼ ÀÐ¾î ¿À°Ú½À´Ï´Ù.
ReadDigChanDlg.h
: Çì´õÆÄÀÏ¿¡
¾Æ·¡¸¦ ¼±¾ðÇÑ´Ù. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// CReadDigChanDlg ´ëÈ»óÀÚ class CReadDigChanDlg : public CDialog { // »ý¼ºÀÔ´Ï´Ù. public: CReadDigChanDlg(CWnd*
pParent = NULL); // Ç¥ÁØ»ý¼ºÀÚÀÔ´Ï´Ù. // ´ëÈ»óÀÚµ¥ÀÌÅÍÀÔ´Ï´Ù. enum { IDD = IDD_READDIGCHAN_DIALOG }; protected: virtual void
DoDataExchange(CDataExchange* pDX); // DDX/DDV Áö¿øÀÔ´Ï´Ù. // ±¸ÇöÀÔ´Ï´Ù. protected: HICON
m_hIcon; private: std::auto_ptr<CNiDAQmxTask> m_task;
std::auto_ptr<CNiDAQmxDigitalSingleChannelReader> m_reader; // »ý¼ºµÈ¸Þ½ÃÁö¸ÊÇÔ¼ö virtual BOOL OnInitDialog(); afx_msg
void OnSysCommand(UINT nID, LPARAM lParam); afx_msg
void OnPaint(); afx_msg
HCURSOR OnQueryDragIcon(); DECLARE_MESSAGE_MAP()
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
¾Æ·¡ °ªÀ» Ãʱ⠼±¾ð ÇÑ´Ù.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BOOL CReadDigChanDlg::OnInitDialog() { CDialog::OnInitDialog(); // ½Ã½ºÅÛ¸Þ´º¿¡"Á¤º¸..." ¸Þ´ºÇ׸ñÀ»Ãß°¡ÇÕ´Ï´Ù. // IDM_ABOUTBOX´Â½Ã½ºÅÛ¸í·É¹üÀ§¿¡ÀÖ¾î¾ßÇÕ´Ï´Ù. ASSERT((IDM_ABOUTBOX
& 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX
< 0xF000); CMenu*
pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString
strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING,
IDM_ABOUTBOX, strAboutMenu); } } // ÀÌ´ëÈ»óÀÚÀǾÆÀÌÄÜÀ»¼³Á¤ÇÕ´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ÀÇÁÖâÀÌ´ëÈ»óÀÚ°¡¾Æ´Ò°æ¿ì¿¡´Â // ÇÁ·¹ÀÓ¿öÅ©°¡ÀÌÀÛ¾÷À»ÀÚµ¿À¸·Î¼öÇàÇÕ´Ï´Ù. SetIcon(m_hIcon,
TRUE); // Å«¾ÆÀÌÄÜÀ»¼³Á¤ÇÕ´Ï´Ù. SetIcon(m_hIcon,
FALSE); // ÀÛÀº¾ÆÀÌÄÜÀ»¼³Á¤ÇÕ´Ï´Ù. // TODO: ¿©±â¿¡Ãß°¡ÃʱâÈÀÛ¾÷À»Ãß°¡ÇÕ´Ï´Ù. // Create the task m_task =
std::auto_ptr<CNiDAQmxTask>(new CNiDAQmxTask()); // Create the digital input channel m_task->DIChannels.CreateChannel(
"Dev1/port0/line0:7",
"",
DAQmxOneChannelForAllLines); // Create the reader m_reader =
std::auto_ptr<CNiDAQmxDigitalSingleChannelReader>(new
CNiDAQmxDigitalSingleChannelReader(m_task->Stream)); // Enable the timer SetTimer(1, 500,
NULL); return TRUE;
// Æ÷Ä¿½º¸¦ÄÁÆ®·Ñ¿¡¼³Á¤ÇÏÁö¾ÊÀ¸¸éTRUE¸¦¹ÝȯÇÕ´Ï´Ù. } |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OnTimer ÇÔ¼ö¿¡ ¾Æ·¡¸¦ ÇÁ·Î±×·¥ÇÑ´Ù.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
void CReadDigChanDlg::OnTimer(UINT_PTR
nIDEvent) { // TODO: ¿©±â¿¡¸Þ½ÃÁö󸮱âÄڵ带Ãß°¡¹×/¶Ç´Â±âº»°ªÀ»È£ÃâÇÕ´Ï´Ù. CNiBoolVector
readData(8); // Read the digital channel m_reader->ReadSingleSampleMultiLine(readData); // Led·ÎÃâ·ÂÀ»³»º¸³½´Ù. // 0V¿¡¼OnÀ̵ÊÀ¸·Î1Àº0À¸·Î0Àº0À̾ƴѰªÀ¸·Î m_led0.Value =
readData[0]-1; m_led1.Value
= readData[1]-1; m_led2.Value
= readData[2]-1; m_led3.Value
= readData[3]-1; m_led4.Value
= readData[4]-1; m_led5.Value
= readData[5]-1; m_led6.Value
= readData[6]-1; m_led7.Value
= readData[7]-1; CDialog::OnTimer(nIDEvent); } |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
°ú Á¦ |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
½ÃÀÛ, Á¤Áö ¹öưÀ» ¸¸µé¾î ÀÔ·ÂÀ» ÀÌ¿¡ µû¶ó µ¿ÀÛÇϵµ·Ï ÇÁ·Î±×·¥ ÇϽÿÀ. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||