ÇнÀ¸ñÇ¥   1

ÇнÀÁÖÁ¦   1

¿¹½À³»¿ë   1

½Ç½À¹æ¹ý   1

°ú    Á¦   1

Áß¿äÇÔ¼ö   1

 

 

HSC ´ÜÀÚ¸¦ »ç¿ëÇÑ °í¼ÓÄ«¿îÅÍ ¸¸µé±â

ÇнÀ¸ñÇ¥

PLCÀÇ °í¼ÓÄ«¿îÅÍ(HSC)¸¦ »ç¿ëÇÏ¿© PC¿¡¼­ ¸ð´ÏÅ͸µÇÑ´Ù.

ÇнÀÁÖÁ¦

1.      PLC Ä«¿îÅÍ ÇÁ·Î±×·¥À» ¸¸µç´Ù.

2.      PC¿¡¼­ Ä«¿îÅÍ °ªÀ» ÀÐ¾î ¿Â´Ù.

¿¹½À³»¿ë

°í¼ÓÄ«¿îÅ͸¦ »ç¿ëÇÏ¿© ¿£ÄÚ´õÀÇ °ªÀ» PC¿¡¼­ ÀÐ¾î ¿É´Ï´Ù. ÀÌ´Â ¡°masterk °í±Þ±³À硱 P120¿¡ ±â¼úµÈ ¡°HSCNT¡±¸¦ ÂüÁ¶ÇÏ¿© ÇÁ·Î±×·¥ ÇÏ¿´½À´Ï´Ù.

1.      ¡°PLC µ¥ÀÌÅÍ Àб⡱ ¸í·É¹® ÀÛ¼º

Àб⠸í·ÉÀ» ¾Æ·¡¿Í °°ÀÌ º¸³½´Ù.

STX01GF014008EOT

À§¿¡¼­ 01Àº ±â±â¹øÈ£, G´Â ºñÆ®´ÜÀ§ µ¥ÀÌÅÍ Àб⠸í·É, F0140Àº Àоî¿Ã ¸Þ¸ð¸® ¹øÁö, 08°³ÀÇ µ¥ÀÌÅ͸¦ ÀÐ¾î ¿Â´Ù.

À̸¦ ÇÁ·Î±×·¥ ÇÏ¸é ¾Æ·¡¿Í °°´Ù.

           strTemp.Format("%c%02dGF014008%c",0x05,(int)m_nMachinNo.Value,0x04);

              m_nMachinNo´Â PLC ¹øÈ£

2.      ¼ö½Åµ¥ÀÌÅÍ ºÐ¼®

À§¿Í °°ÀÌ º¸³»¸é ¼ö½ÅµÇ¾î ¿À´Â µ¥ÀÌÅÍ´Â ¾Æ·¡¿Í °°´Ù. ÀÌ´Â ÇϳªÀÇ ¿¹ÀÌ´Ù.

STX01G00001001EOT

À§¿¡¼­ 01Àº ±â±â¹øÈ£, G´Â ºñÆ®´ÜÀ§ µ¥ÀÌÅÍ Àб⠸í·É, 00001001 Àоî¿Â 8°³ÀÇ ºñÆ®µ¥ÀÌÅÍ ÀÌ´Ù.

ÀÌ´Â ÀÌÁø¼öÀÇ °ªÀ¸·Î ¸ÕÀú µé¾î¿Â °ªÀÌ ÀÏÀÌ ÀÚ¸®ÀÌ´Ù. ¼ýÀÚ´Â ¾Æ½ºÅ°ÄÚµå·Î ÀԷµǾî À̸¦ ½ÊÁø¼ö·Î ¹Ù²Ù¾î¾ß ÇÑ´Ù. ¾Æ·¡´Â À̸¦ °è»êÇÑ °ªÀÌ´Ù. ±×·¯¹Ç·Î ÀÌ °è»êµÈ °ªÀ» ÄÄÇ»ÅÍ¿¡ ³ªÅ¸³»¾ß ÇÑ´Ù.

 

½Ç½À¹æ¹ý

¸ñ    Â÷

1. PLC ÇÁ·Î±×·¥

´ÙÀ½Àº ÇÁ·Î±×·¥°ú ÆĶó¸ÞŸ ¼³Á¤°ªÀÌ´Ù. ¡°P00¡±¿¡ 24¸¦ ÀÔ·ÂÇÏ°í ¡°HSC+-¡° ¿£ÄÚ´õÀÇ ¡°OUT A¡±, ¡°OUT B¡±¸¦ ¿¬°áÇϰųª ¡°OUT A¡± ¡°, 0V¡±¸¦ ¿¬°áÇÏ¿© ¿£ÄÚ´õ°¡ ȸÀüÇϸé 10,20,30ȸÀü µÇ¾úÀ» ¶§¸¶´Ù Â÷·Ê·Î PLCÀÇ OUT ¡°P10¡±, ¡°P11¡±, ¡°P12¡±°¡ Â÷·Ê·ÎONÀÌ µÈ´Ù.

¾Æ·¡´Â ¼³Á¤Ä¡´Â ¿£ÄÚ´õÀÇ È¸Àü¼öÀÌ°í ¼ÂºñÆ®¿Í ¸®¼ÂºñÆ®´Â Ãâ·Â »óÅÂÀÌ´Ù. Ãâ·ÂÀ» ¹Ù²Ù·Á¸é À̸¦ ¼öÁ¤ÇÏ¸é µÈ´Ù. ÀÌ »óÅ¿¡¼­´Â 30±îÁö Ä«¿îÆ®ÇÏ°í 0·Î ¸®¼Â µË´Ï´Ù.

ÀÔ·ÂÁ¶°ÇÀÌ ONÀÌ µÇ¸é F0140 ¿¡´Â ÇöÀç°ªÀÌ F0150¿¡´Â ¼ø¼­0ÀÇ ¼³Á¤°ªÀÌ ³ªÅ¸³³´Ï´Ù. ±×·¯¹Ç·Î Åë½Å¿¡¼­´Â F0140¿¡ ÀúÀåµÈ °ªÀ» ÀÐ¾î ¿À¸é ÇöÀçÀÇ Ä«¿îÅÍ °ªÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.

PC ¿¡¼­´Â ¾Æ·¡ÀÇ ÇÁ·Î±×·¥Àº F0140¹øÁöÀÇ °ªÀ» G¸í·É¿¡ µû¶ó ºñÆ® ´ÜÀ§·Î 08°³ÀÇ °ªÀ» ÀÐ¾î ¿É´Ï´Ù.

           strTemp.Format("%c%02dGF014008%c",0x05,(int)m_nMachinNo.Value,0x04);

 

 

PC ÇÁ·Î±×·¥

ÇÁ·Î±×·¥Àº Áö³­ÁÖÀÇ ÇÁ·Î±×·¥¿¡¼­ ¼Ò½º ÇÁ·Î±×·¥¸¸ ÀϺΠ¼öÁ¤ÇÏ¿© È­¸éÀ» ±¸¼ºÇÑ´Ù.

 

 

 

 

OnInitDialog()ÇÔ¼ö ¾È¿¡ SetTimer(1,500,NULL); ¸¦ ¼³Á¤ÇÑ´Ù.

ŸÀÌ¸Ó ÇÔ¼ö ¾È¿¡¼­ Æ÷Æ®ÀÇ »óŸ¦ ÀÐ¾î ¿Àµµ·Ï ÇÁ·Î±×·¥ ÇÑ´Ù.

 

 

void CRs232Dlg::OnTimer(UINT nIDEvent)

{

              CString strTemp;

              // ÀÔÃâ·ÂÆ÷Æ®ÀÇ ºñÆ® ´ÜÀ§·Î »óŸ¦ ÀÐ¾î ¿Â´Ù.

              strTemp.Format("%c%02dGF014008%c",0x05,(int)m_nMachinNo.Value,0x04);              m_ComuPort.WriteComm((unsigned char*)(LPCTSTR)strTemp,strTemp.GetLength());

              CDialog::OnTimer(nIDEvent);

}

 

 

 

OnCommunication() ÇÔ¼ö ¾È¿¡ ¸®ÅÏ µÇ¾î ¿À´Â 16Áø¼ö 4°³ÀÇ °ªÀ» Á¤¼ö·Î ¹Ù²Ù¾î

    m_nCount ¹Ú½º¿¡ Ç¥½Ã¸¦ ÇÑ´Ù.

CharHexToInt(char in) ÇÔ¼ö´Â ¹®ÀÚ·Î µÈ 16Áø¼ö¸¦ 10Áø¼ö·Î ¹Ù²Ù´Â ÇÔ¼öÀÌ´Ù.

 

 

LONG CRs232Dlg::OnCommunication(UINT port, LONG lParam)

{

             

              BYTE aByte;

 

 

              int size= (m_ComuPort.m_QueueRead).GetSize();

              for( int i=0; i< size; i++ )

              {

                            (m_ComuPort.m_QueueRead).GetByte(&aByte);

                            if(aByte==0x06 || aByte==21)

                                           j=0;

                            if( aByte!= NULL ) buff[j++]= aByte;

                            else { j--; size--; }

 

                            if(aByte==0x04)

                                          break;

              }

              m_nCount.Value=(buff[11]-48)*128+(buff[10]-48)*64+(buff[9]-48)*32

                            +(buff[8]-48)*16+(buff[7]-48)*8+(buff[6]-48)*4+(buff[5]-48)*2

                            +(buff[4]-48);         if(size > 0)

              m_Edit2.SetWindowText(buff);

              return 0;

}

 

 

 

óÀ½

°ú    Á¦

¾Æ·¡¿Í °°ÀÌ ¸®¼Â °ªÀ» ¼öÁ¤Çؼ­ PLC ÇÁ·Î±×·¥À» ¹Ù²Ù¾î º¾´Ï´Ù. 255±îÁö ¼öÀÚ°¡ ¿Ã¶ó °¬´Ù. ´Ù½Ã 0À¸·Î µÇ¾î ȸÀü¼ö¸¦ Ä«¿îÆ® ÇϱⰡ ¼ö¿ù ÇÕ´Ï´Ù.

Áß¿äÇÔ¼ö