ÇнÀ¸ñÇ¥    1

ÇнÀÁÖÁ¦    1

¿¹½À³»¿ë    1

½Ç½À¹æ¹ý    1

°ú    Á¦    1

Áß¿äÇÔ¼ö    1

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;

       }

}

 

 

 

 

óÀ½

°ú    Á¦

 

Áß¿äÇÔ¼ö