|
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); } |
|
||||||
°ú Á¦ |
||||||||
|
||||||||
Áß¿äÇÔ¼ö |
||||||||
|
||||||||