|
PLCÃâ·ÂÁ¦¾î(MASTER-K10s1) |
|||||||
ÇнÀ¸ñÇ¥ |
||||||||
PC ȸ鿡¼ Ãâ·Â ½ºÀ§Ä¡ÀÇ »óŸ¦ ÀÐ¾î¼ PLC Ãâ·ÂÁ¢Á¡À¸·Î
Ãâ·ÂÀ» ³»º¸³»´Â ÇÁ·Î±×·¥À» ¸¸µç´Ù. |
||||||||
ÇнÀÁÖÁ¦ |
||||||||
1. MASTER-K10s1 ¿¡´Â 6°³ÀÇ Ãâ·Â ´ÜÀÚ°¡ ÀÖÀ¸¹Ç·Î 6°³ÀÇ ½ºÀ§Ä¡¸¦
¸¸µç´Ù. 2. ½ºÀ§Ä¡ÀÇ »óŸ¦ ÀÐ¾î¼ ¼Û½ÅÇÏ´Â CheckOut()
ÇÔ¼ö¸¦ ¸¸µç´Ù. STX01 HP001006101000 EOT À§¿¡¼ 01Àº ±â±â¹øÈ£, P´Â µ¥ÀÌÅÍ ¾²±â ¸í·É, P001Àº µ¥ÀÌÅÍ ¾²±âÀÇ ½ÃÀÛ¹øÁö, 06Àº ¾²±â µ¥ÀÌÅÍ °³¼ö ÀÌ´Ù. 101000ÀÇ »óÅ´ P10°ú P12´Â 24º¼Æ®ÀÇ Ãâ·ÂÀ» º¸³»°í ³ª¸ÓÁö´Â 0VÀÇ Ãâ·ÂÀ» º¸³½´Ù. ¿©±â¼ Ãâ·ÂÀº 24V¸¦ ³»º¸³»´Â °ÍÀÌ ¾Æ´Ï¶ó 24V¸¦ Á¢Áö¿¡ ¿¬°áÇÏ´Â ¿ÀÇÂÄ÷ºÅÍ ÀÔ´Ï´Ù. strTemp.Format("%c%02dHP001006%1d%1d%1d%1d%1d%1d%c",0x05, (int)m_nMachinNo.Value,(int)m_Out0.Value,(int)m_Out1.Value, (int)m_Out2.Value,(int)m_Out3.Value,(int)m_Out4.Value,(int)m_Out5.Value, 0x04); 1´Ü°è ÇÁ·Î±×·¥ ±×¸²°ú
°°ÀÌ Å¸À̸ÓÀÇ ½Ã°£¿¡ µû¶ó ¡°Led0¡±¿¡¼ ¡°Led7¡±±îÁö
¼øÂ÷ÀûÀ¸·Î µ¿ÀÛ Çϵµ·Ï ÇÑ´Ù. 2´Ü°è ÇÁ·Î±×·¥ ¸ðµå
¼³Á¤ ³ëºê¸¦ ¸¸µé°í 1´Ü°è ÇÁ·Î±×·¥Àº ¡°¸ðµå0¡±·Î ÇÏ°í ¸ðµå1Àº ¡°Led3¡±°ú¡°Led4¡±
-> ¡°Led2¡±°ú¡°Led5¡± -> ¡°Led1¡±°ú¡°Led6¡± -> ¡°Led0¡±°ú¡°Led7¡± ÀÌ µ¿ÀÛÇϵµ·Ï ÇÏ¿©
¾È¿¡¼ ¹Ù±ùÂÊÀ¸·Î Led°¡ Á¡µî Çϵµ·Ï ÇÁ·Î±×·¥ ÇÑ´Ù. 3´Ü°è ÇÁ·Î±×·¥ ¸ðµå
¼³Á¤ ³ëºê¸¦ ¸¸µé°í 1´Ü°è ÇÁ·Î±×·¥Àº ¡°¸ðµå0¡±·Î ÇÏ°í ¸ðµå2´Â ¡°Led0¡±°ú¡°Led7¡±
-> ¡°Led1¡±°ú¡°Led6¡± -> ¡°Led2¡±°ú¡°Led5¡± -> ¡°Led3¡±°ú¡°Led4¡± ÀÌ µ¿ÀÛÇϵµ·Ï ÇÏ¿©
¹Ù±ùÂÊ¿¡¼ ¾ÈÀ¸·Î Led°¡ Á¡µî Çϵµ·Ï ÇÁ·Î±×·¥ ÇÑ´Ù. |
||||||||
¿¹½À³»¿ë |
||||||||
|
||||||||
½Ç½À¹æ¹ý |
||||||||
¸ñ Â÷ |
||||||||
|
||||||||
ÇÁ·ÎÁ§Æ®¸¦ »õ·Î ¸¸µç´Ù.
|
¡°NI MFC Application¡±À» ¼±ÅÃÇÏ°í ÇÁ·ÎÁ§Æ® ¡°À̸§¡±À» ÀÔ·ÂÇÑ´Ù.
|
|||||||
´ÙÀ̾î·Î±× ÇüÅ·ΠÇÁ·Î±×·¥ ÇÔÀ¸·Î ¡°Finish¡±¸¦ ´©¸¥´Ù.
|
|
|||||||
¾Æ·¡ ±×¸²°ú °°ÀÌ ¿ÞÂÊ ¾Æ·¡ÀÇ ¡°¸®¼Ò½ººä¡±À» ¼±ÅÃÇÏ°í ¡°Dialog¡±->¡±IDD_TIMER_DIALOG¡±¸¦ ¼±ÅÃÇÏ¸é ´ÙÀ̾î·Î±× ¹Ú½º¸¦ º¼ ¼ö ÀÖ´Ù.
|
||||||||
¡°µµ±¸»óÀÚ¡±¿¡¼ ¡°CWButton Control¡±À» ¼±ÅÃÇÏ¿© ´ÙÀ̾î·Î±× ¹Ú½º¿¡ À§Ä¡ÇÑ´Ù.
|
¿À¸¥ÂÊ À§ÀÇ ¡°¼Ó¼º¡±À» ¼±ÅÃÇÑ´Ù.
|
|||||||
Led ¸ð¾çÀ» ¼±ÅÃÇÑ´Ù.
|
À̸§À» ¡°Led0¡±·Î ÇÑ´Ù.
|
|||||||
¡°Led0¡±¼±ÅÃÇؼ ¡°º¹»ç¡±, ¡°ºÙ¿©³Ö±â¡±·Î 8°³ÀÇ Led¸¦ ¸¸µé°í À̸§À» Led0~7±îÁö·Î ÇÑ´Ù.
|
¡°º¯¼öÃß°¡¡±¸¦ ¼±ÅÃÇÑ´Ù.
|
|||||||
º¯¼öÀ̸§À» ¡°m_nLed0~7¡±±îÁö À̸§À» ±âÀÔÇÑ´Ù.
|
¡°Å¬·¡½º ºä¡±¿¡ À̸§ÀÌ Ãß°¡ µÈ °ÍÀ» º¼ ¼ö ÀÖ´Ù.
|
|||||||
´ÙÀ̾î·Î±×â¿¡ ³ëºê¸¦ ¸¸µç´Ù. ¡°¼Ó¼º¡±Ã¢¿¡¼ ¡°Caption¡±À» ¡°Å¸À̸ӡ±·Î ÇÏ¿© ¿À¸¥ÂÊ ±×¸²°ú °°ÀÌ ¹Ù²Û´Ù.
|
¸¶¿ì½º·Î ŸÀ̸Ӹ¦ ¼±ÅÃÇÑ ¸¶¿ì½º ¿À¸¥ÂÊ ¹öÆ°À» ´·¯ º¯¼ö¸¦ Ãß°¡ ÇÑ´Ù.
|
|||||||
¡°º¯¼öÀ̸§¡±À» ¡°m_nTimer¡±·Î ÇÑ´Ù.
|
±×¸²°ú °°ÀÌ ¡°¼Ó¼º¡± â¿¡¼ ¡°PointerValueChangedCwknob1¡±ÇÔ¼ö¸¦ ¸¸µç´Ù.
|
|||||||
CTimeDlg Ŭ·¡½º¿¡ º¯¼ö¡±iTime¡±À» Ãß°¡ÇÑ´Ù.
|
|
|||||||
ŸÀ̸ÓÀÇ ¡°¼Ó¼º¡±Ã¢À» ¼±ÅÃÇÑ´Ù.
|
¡°¼Ó¼ºÃ¢¡±¿¡¼ ½ºÄÉÀÏÀÇ ÃÖ´ë 1000, ÃÖ¼Ò 50À¸·Î ÇÏ°í ¡°Discrete¡±·Î ÇÏ¿© Á¤¼ö°ªÀ¸·Î º¯ÇÏ°Ô ÇÏ¸ç ½ºÄÉÀÏÀÇ ÇüÅ´ ¡°Log¡±·Î ÇÑ´Ù.
|
|||||||
´ÙÀ̾î·Î±×¹Ú½º¸¦ ¼±ÅÃÇÏ°í ¡°¼Ó¼º¡±Ã¢¿¡¼ ¡°WM_TIMER¡±¸¦ ¼±ÅÃÇÏ¿© ¡°OnTimer¡± ÇÔ¼ö¸¦ ¸¸µç´Ù.
|
|
|||||||
¾Æ·¡¿Í °°ÀÌ ¡°TimerDlg.cpp¡±À» ÇÁ·Î±×·¥ Ãß°¡ÇÏ¿© Led°¡ µ¿ÀÛÇϵµ·Ï ÇÑ´Ù. |
||||||||
|
// TimerDlg.cpp : ±¸ÇöÆÄÀÏ //=================== »ý·«
===================================== BOOL CTimerDlg::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: ¿©±â¿¡Ãß°¡ÃʱâÈÀÛ¾÷À»Ãß°¡ÇÕ´Ï´Ù. //ÇÁ·Î±×·¥À̽ÃÀÛÇϸéÀÚµ¿À¸·ÎŸÀ̸Ӱ¡µ¿ÀÛÇϵµ·ÏÇÑ´Ù. iTime = 0; SetTimer(1,m_nTimer.Value,NULL);
return TRUE;
// Æ÷Ä¿½º¸¦ÄÁÆ®·Ñ¿¡¼³Á¤ÇÏÁö¾ÊÀ¸¸éTRUE¸¦¹ÝȯÇÕ´Ï´Ù. } //=================== »ý·«
===================================== void CTimerDlg::PointerValueChangedCwknob1(long Pointer, VARIANT* Value) { // TODO: ¿©±â¿¡¸Þ½ÃÁö󸮱âÄڵ带Ãß°¡ÇÕ´Ï´Ù. // ŸÀ̸ӽð£À̺¯Çϸé±×°ªÀ»Àоî¼SetTimer¸¦»õ·Î¼³Á¤ÇØÁØ´Ù. SetTimer(1,m_nTimer.Value,NULL); } void CTimerDlg::OnTimer(UINT_PTR nIDEvent) { // TODO: ¿©±â¿¡¸Þ½ÃÁö󸮱âÄڵ带Ãß°¡¹×/¶Ç´Â±âº»°ªÀ»È£ÃâÇÕ´Ï´Ù. // ŸÀ̸ÓÇÔ¼ö°¡½ÇÇàµÇ¸éiTimeÀÇ°ªÀÌ1¾¿Áõ°¡Çϸç±×°ªÀÌ8À̵Ǹé // ´Ù½Ã0À¸·Î¸¸µé¾î0~7±îÁö¹Ýº¸ÀûÀ¸·Îº¯ÇÏ°ÔÇÑ´Ù. iTime++; if(iTime >= 8) iTime
= 0; // Ãʱ⿡Led¸¦¸ðµÎoffÇÏ°íif¹®À»»ç¿ëÇÏ¿©iTimeÀÇ°ª¿¡ // ÇØ´çÇÏ´ÂLed¸¸OnÀ̵ǰÔÇÑ´Ù. m_nLed0.Value=0; m_nLed1.Value=0; m_nLed2.Value=0; m_nLed3.Value=0; m_nLed4.Value=0; m_nLed5.Value=0; m_nLed6.Value=0; m_nLed7.Value=0; if(iTime==0) m_nLed0.Value=1; else if(iTime==1) m_nLed1.Value=1; else if(iTime==2) m_nLed2.Value=1; else if(iTime==3) m_nLed3.Value=1; else if(iTime==4) m_nLed4.Value=1; else if(iTime==5) m_nLed5.Value=1; else if(iTime==6) m_nLed6.Value=1; else if(iTime==7) m_nLed7.Value=1; CDialog::OnTimer(nIDEvent); } |
|
||||||
|
||||||||
´ÙÀ̾î·Î±× ¹Ú½º¿¡ ³ëºê¸¦ ¸¸µé°í CaptionÀ» ¡°¸ðµå¡±·Î ÇÏ°í ¡°Numeric¡±¿¡¼ ¡°Discrete¡±¸¦ ¼±ÅÃÇÑ´Ù.
|
||||||||
|
º¯¼ö À̸§À» ¡°m_nMode¡±·Î ÇÑ´Ù.
|
|||||||
¡°CTimerDlg¡± Ŭ·¡½º¸¦ ¼±ÅÃÇÏ°í ¡°ÇÔ¼ö¸¦ Ãß°¡ÇÑ´Ù.
|
¹ÝȯÇü½ÄÀº ¡°void¡±·Î ÇÏ°í ÇÔ¼öÀ̸§À» ¡°Mode0¡±, ¡°Mode1¡±, ¡°Mode2¡± µî 3°³¸¦ ¸¸µç´Ù.
|
|||||||
|
||||||||
|
void CTimerDlg::OnTimer(UINT_PTR nIDEvent) { // TODO: ¿©±â¿¡¸Þ½ÃÁö󸮱âÄڵ带Ãß°¡¹×/¶Ç´Â±âº»°ªÀ»È£ÃâÇÕ´Ï´Ù. // ŸÀ̸ÓÇÔ¼ö°¡½ÇÇàµÇ¸éiTimeÀÇ°ªÀÌ1¾¿Áõ°¡Çϸç±×°ªÀÌ8À̵Ǹé // ´Ù½Ã0À¸·Î¸¸µé¾î0~7±îÁö¹Ýº¸ÀûÀ¸·Îº¯ÇÏ°ÔÇÑ´Ù. iTime++; // Ãʱ⿡Led¸¦¸ðµÎoffÇÏ°íif¹®À»»ç¿ëÇÏ¿©iTimeÀÇ°ª¿¡ // ÇØ´çÇÏ´ÂLed¸¸OnÀ̵ǰÔÇÑ´Ù. m_nLed0.Value=0; m_nLed1.Value=0; m_nLed2.Value=0; m_nLed3.Value=0; m_nLed4.Value=0; m_nLed5.Value=0; m_nLed6.Value=0; m_nLed7.Value=0; if(m_nMode.Value == 0) Mode0(); else if(m_nMode.Value == 1) Mode1(); else if(m_nMode.Value == 2) Mode2(); CDialog::OnTimer(nIDEvent); } //void
CTimerDlg::PointerValueChangedCwknob2(long Pointer, VARIANT* Value) //{ // //
TODO: ¿©±â¿¡¸Þ½ÃÁö󸮱âÄڵ带Ãß°¡ÇÕ´Ï´Ù. //} void CTimerDlg::Mode0(void) { if(iTime >= 8) iTime
= 0; if(iTime==0) m_nLed0.Value=1; else if(iTime==1) m_nLed1.Value=1; else if(iTime==2) m_nLed2.Value=1; else if(iTime==3) m_nLed3.Value=1; else if(iTime==4) m_nLed4.Value=1; else if(iTime==5) m_nLed5.Value=1; else if(iTime==6) m_nLed6.Value=1; else if(iTime==7) m_nLed7.Value=1; } void CTimerDlg::Mode1(void) { if(iTime >= 4) iTime
= 0; if(iTime==0) { m_nLed3.Value=1; m_nLed4.Value=1; } else if(iTime==1) { m_nLed2.Value=1; m_nLed5.Value=1; } else if(iTime==2) { m_nLed1.Value=1; m_nLed6.Value=1; } else if(iTime==3) { m_nLed0.Value=1; m_nLed7.Value=1; } } void CTimerDlg::Mode2(void) { if(iTime >= 4) iTime
= 0; if(iTime==3) { m_nLed3.Value=1; m_nLed4.Value=1; } else if(iTime==2) { m_nLed2.Value=1; m_nLed5.Value=1; } else if(iTime==1) { m_nLed1.Value=1; m_nLed6.Value=1; } else if(iTime==0) { m_nLed0.Value=1; m_nLed7.Value=1; } } |
|
||||||
|
||||||||
|
||||||||
°ú Á¦ |
||||||||
|
||||||||
Áß¿äÇÔ¼ö |
||||||||
|
||||||||