ÇнÀ¸ñÇ¥   1

ÇнÀÁÖÁ¦   1

¿¹½À³»¿ë   1

½Ç½À¹æ¹ý   1

°ú    Á¦   1

Áß¿äÇÔ¼ö   1

 

 

PLCÃâ·ÂÁ¦¾î2´Ü°è(MASTER-K10s1)

ÇнÀ¸ñÇ¥

PC È­¸é¿¡¼­ ŸÀÌ¸Ó¿Í ¸ðµå ½ºÀ§Ä¡¿¡ µû¶ó Ãâ·ÂÀ» ³»º¸³»´Â ÇÁ·Î±×·¥À» ¸¸µç´Ù.

ÇнÀÁÖÁ¦

1.     ¡°PLCÃâ·ÂÁ¦¾î2´Ü°è¡±[¹Ù·Î°¡±â]¿¡¼­ ÀÛ¼ºÇÑ Åë½Å ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© ¿©±â¼­ºÎÅÍ ÇÁ·Î±×·¥À» ½ÃÀÛÇÑ´Ù.

2.     º»¹®ÀÇ ÇÁ·Î±×·¥¿¡¼­´Â  1¹øÀÇ Åë½ÅÇÁ·Î±×·¥¿¡ ¡°C¾ð¾î ŸÀ̸ӵ¿ÀÛ"[¹Ù·Î°¡±â] ÇÁ·Î±×·¥À» ¸¸µé°í ¿©±â¿¡ PLC Ãâ·ÂÀ» ¿¬°áÇÏ¿© Åë½Å ÇÁ·Î±×·¥À» ¿Ï¼ºÇÏ°Ú½À´Ï´Ù.

 

¿¹½À³»¿ë

 

 

½Ç½À¹æ¹ý

¸ñ    Â÷

 

½ºÀ§Ä¡¸¦ ¼±ÅÃÇÏ°í ¡°ÄÜÆ®·ÑÀ̺¥Æ®¡±¿¡¼­ ÀÌ¹Ì ¸¸µé¾îÁ® ÀÖ´Â ÇÔ¼ö´Â ÇÊ¿ä°¡ ¾øÀ¸¹Ç·Î »èÁ¦ ÇÑ´Ù.

6°³ ½ºÀ§Ä¡ ¸ðµÎ »èÁ¦ ÇÑ´Ù.

½ºÀ§Ä¡¸¦ ¼±ÅÃÇÏ°í ¡°¼Ó¼º¡±Ã¢ÀÇ ¡°¼Ó¼º¡±¿¡¼­ ¡°Led¡±¸¦ ¼±ÅÃÇÑ´Ù. ³ª¸ÓÁö ¹öÆ°µµ °°Àº ¸ð¾çÀ¸·Î ¸¸µç´Ù.

 

 

 

 

¡°µµ±¸»óÀÚ¡±¿¡¼­ ³ëºê¸¦ ¸¸µç´Ù.

¼Ó¼º°ªÀ» ±×¸²°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù.

º¯¼ö À̸§À» ¡°m_nTimer¡±·Î ÇÑ´Ù.

³ëºê¸¦ Ãß°¡ÇÏ°í ¡°Caption¡±À» ¡°¸ðµå¡±·Î ÇÑ´Ù.

º¯¼ö À̸§À» ¡°m_nMode¡±·Î ÇÑ´Ù.

¼Ó¼º¿¡¼­ ¡°Discrete¡±·Î ¹Ù²Û´Ù.

 

ŸÀÌ¸Ó °ªÀÌ º¯ÇÒ ¶§ ½ÇÇàµÇ´Â ÇÔ¼ö ¡°PointerValueChangedCwknob1¡±À» ¸¸µç´Ù.

¡°CRs232Dlg¡± Ŭ·¡½º¸¦ ¼±ÅÃÇÏ°í ¡°ÇÔ¼ö¸¦ Ãß°¡ÇÑ´Ù.

¹ÝȯÇü½ÄÀº ¡°void¡±·Î ÇÏ°í ÇÔ¼öÀ̸§À» ¡°Mode0¡±, ¡°Mode1¡±, ¡°Mode2¡± µî 3°³¸¦ ¸¸µç´Ù.

´ÙÀ̾î·Î±×¹Ú½º¸¦ ¼±ÅÃÇÏ°í ŸÀÌ¸Ó ÇÔ¼ö ¡°OnTimer¡±¸¦ ¸¸µç´Ù.

¡°CRs232Dlg¡± Ŭ·¡½º¿¡ ¡°iTime¡± º¯¼ö¸¦ ¸¸µç´Ù.

 

 

 

 

 

 

 

 

Ãâ·Â ½ºÀ§Ä¡¸¦ º¯È­ ½ÃÅ°¸é °¢ ½ºÀ§Ä¡¸¦ °Ë»çÇÏ¿© Åë½ÅÀ¸·Î °ªÀ» º¸³½´Ù.

CheckOut(); ÇÔ¼ö´Â ½ºÀ§Ä¡ÀÇ »óŸ¦ °Ë»çÇÏ¿© Åë½ÅÀ» º¸³½´Ù.

 

 

// Rs232Dlg.cpp : ±¸ÇöÆÄÀÏ

#include "stdafx.h"

#include "Rs232.h"

#include "Rs232Dlg.h"

//============================  ÇÁ·Î±×·¥ »ý·« ==========================

// CRs232Dlg ¸Þ½ÃÁö󸮱â

 

BOOL CRs232Dlg::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: ¿©±â¿¡Ãß°¡ÃʱâÈ­ÀÛ¾÷À»Ãß°¡ÇÕ´Ï´Ù.

              m_ComuPort.OpenPort( "COM1", 9600, 1 );

              iTime = 0;

              SetTimer(1,m_nTimer.Value,NULL);

              return TRUE;  // Æ÷Ä¿½º¸¦ÄÁÆ®·Ñ¿¡¼³Á¤ÇÏÁö¾ÊÀ¸¸éTRUE¸¦¹ÝȯÇÕ´Ï´Ù.

}

 

//============================  ÇÁ·Î±×·¥ »ý·« ==========================

BEGIN_EVENTSINK_MAP(CRs232Dlg, CDialog)

//            ON_EVENT(CRs232Dlg, IDC_CWBOOLEAN1, DISPID_CLICK, CRs232Dlg::ClickCwboolean1, VTS_NONE)

//ON_EVENT(CRs232Dlg, IDC_CWBOOLEAN1, 1, CRs232Dlg::ValueChangedCwboolean1, VTS_BOOL)

//ON_EVENT(CRs232Dlg, IDC_CWBOOLEAN2, 1, CRs232Dlg::ValueChangedCwboolean2, VTS_BOOL)

//ON_EVENT(CRs232Dlg, IDC_CWBOOLEAN3, 1, CRs232Dlg::ValueChangedCwboolean3, VTS_BOOL)

//ON_EVENT(CRs232Dlg, IDC_CWBOOLEAN4, 1, CRs232Dlg::ValueChangedCwboolean4, VTS_BOOL)

//ON_EVENT(CRs232Dlg, IDC_CWBOOLEAN5, 1, CRs232Dlg::ValueChangedCwboolean5, VTS_BOOL)

//ON_EVENT(CRs232Dlg, IDC_CWBOOLEAN6, 1, CRs232Dlg::ValueChangedCwboolean6, VTS_BOOL)

ON_EVENT(CRs232Dlg, IDC_CWKNOB1, 1, CRs232Dlg::PointerValueChangedCwknob1, VTS_I4 VTS_PVARIANT)

END_EVENTSINK_MAP()

 

 

void CRs232Dlg::CheckOut(void)

{

              CString strTemp;

              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);     // P0001 ¿¡¼­ºÎÅÍ6°³ÀÇÆ÷Æ®·Î111111 ºñÆ®»óÅ·ÎÃâ·Â

              m_ComuPort.WriteComm((unsigned char*)(LPCTSTR)strTemp,strTemp.GetLength());

 

}

 

void CRs232Dlg::PointerValueChangedCwknob1(long Pointer, VARIANT* Value)

{

              // TODO: ¿©±â¿¡¸Þ½ÃÁö󸮱âÄڵ带Ãß°¡ÇÕ´Ï´Ù.

              SetTimer(1,m_nTimer.Value,NULL);

}

 

void CRs232Dlg::Mode0(void)

{

              if(iTime >= 6)

                            iTime = 0;

             

              if(iTime==0)

                            m_Out0.Value=1;

              else if(iTime==1)

                            m_Out1.Value=1;

              else if(iTime==2)

                            m_Out2.Value=1;

              else if(iTime==3)

                            m_Out3.Value=1;

              else if(iTime==4)

                            m_Out4.Value=1;

              else if(iTime==5)

                            m_Out5.Value=1;

}

 

void CRs232Dlg::Mode1(void)

{

              if(iTime >= 3)

                            iTime = 0;

             

              if(iTime==0) {

                            m_Out2.Value=1;

                            m_Out3.Value=1;

              }

              else if(iTime==1) {

                            m_Out1.Value=1;

                            m_Out4.Value=1;

              }

              else if(iTime==2) {

                            m_Out0.Value=1;

                            m_Out5.Value=1;

              }

}

 

void CRs232Dlg::Mode2(void)

{

              if(iTime >= 3)

                            iTime = 0;

             

              if(iTime==2) {

                            m_Out2.Value=1;

                            m_Out3.Value=1;

              }

              else if(iTime==1) {

                            m_Out1.Value=1;

                            m_Out4.Value=1;

              }

              else if(iTime==0) {

                            m_Out0.Value=1;

                            m_Out5.Value=1;

              }

}

 

void CRs232Dlg::OnTimer(UINT_PTR nIDEvent)

{

              // TODO: ¿©±â¿¡¸Þ½ÃÁö󸮱âÄڵ带Ãß°¡¹×/¶Ç´Â±âº»°ªÀ»È£ÃâÇÕ´Ï´Ù.

// TODO: ¿©±â¿¡¸Þ½ÃÁö󸮱âÄڵ带Ãß°¡¹×/¶Ç´Â±âº»°ªÀ»È£ÃâÇÕ´Ï´Ù.

              // ŸÀ̸ÓÇÔ¼ö°¡½ÇÇàµÇ¸éiTimeÀÇ°ªÀÌ1¾¿Áõ°¡Çϸç±×°ªÀÌ6À̵Ǹé

              // ´Ù½Ã0À¸·Î¸¸µé¾î0~5±îÁö¹Ýº¸ÀûÀ¸·Îº¯ÇÏ°ÔÇÑ´Ù.

              iTime++;

              // Ãʱ⿡Led¸¦¸ðµÎoffÇÏ°íif¹®À»»ç¿ëÇÏ¿©iTimeÀÇ°ª¿¡

              // ÇØ´çÇÏ´ÂLed¸¸OnÀ̵ǰÔÇÑ´Ù.

              m_Out0.Value=0;

              m_Out1.Value=0;

              m_Out2.Value=0;

              m_Out3.Value=0;

              m_Out4.Value=0;

              m_Out5.Value=0;

 

              if(m_nMode.Value == 0)

                            Mode0();

              else if(m_nMode.Value == 1)

                            Mode1();

              else if(m_nMode.Value == 2)

                            Mode2();

 

              CheckOut();

 

              CDialog::OnTimer(nIDEvent);

}

 

 

óÀ½

°ú    Á¦

 

Áß¿äÇÔ¼ö