ÇнÀ¸ñÇ¥   1

ÇнÀÁÖÁ¦   1

¿¹½À³»¿ë   1

½Ç½À¹æ¹ý   1

°ú    Á¦   1

Áß¿äÇÔ¼ö   1

 

 

PLCÀÔ·ÂÁ¦¾î(MASTER-K10s1)

ÇнÀ¸ñÇ¥

0.1ÃÊ °£°ÝÀ¸·Î PLC ÀÔ·Â Á¢Á¡ÀÇ »óŸ¦ Àоî PC È­¸é¿¡ Ç¥½ÃÇÑ´Ù.

ÇнÀÁÖÁ¦

1.      ¡°¿ø°ÝÁ¦¾î¡± 2ÁÖÂ÷ ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© ÇÁ·Î±×·¥ÇÑ´Ù.

2.      ŸÀ̸Ӹ¦ ¼³Á¤ÇÏ°í 0.1ÃÊ·Î µ¿ÀÛ ½ÃŲ´Ù.

3.      Àоî¿Ã PLC ¹øÈ£¸¦ ¼³Á¤ÇÑ´Ù.

4.      ŸÀÌ¸Ó ÇÔ¼ö ¾È¿¡ ÀÔ·ÂÆ÷Æ® »óŸ¦ Àоî¿Ã ¹®À» ÇÁ·Î±×·¥ÇÏ¿© ¼Û½ÅÇÑ´Ù.

5.      ¼ö½Å ÇÁ·Î±×·¥ OnCommunication() ¾È¿¡ PLC »óŸ¦ Àоî PC È­¸éÀÇ Led¿¡ Ç¥½Ã ÇÑ´Ù.

¿¹½À³»¿ë

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

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

STX01GP000008EOT

À§¿¡¼­ 01Àº ±â±â¹øÈ£, G´Â µ¥ÀÌÅÍ Àб⠸í·É, P0000 µ¥ÀÌÅÍ ÀбâÀÇ ½ÃÀÛ¹øÁö, 08Àº ÀÐÀ» µ¥ÀÌÅÍ °³¼ö ÀÌ´Ù.

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

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

              m_nMachinNo´Â PLC ¹øÈ£

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

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

STX01G10000000EOT

 ¿©±â¼­ 01Àº ±â±â¹øÈ£, G Àб⠸í·É ÄÚµå, 10000000 Àº 8°³ ÀÔ·Â Æ÷Æ® P00~P07 ±îÁö 8°³ÀÇ µ¥ÀÌÅÍ »óÅ·ΠÁö±ÝÀº P00Àº 24V°£ ¿¬°áµÇ°í ³ª¸ÓÁö P01~P07Àº 0V°¡ ÀԷµǰí ÀÖ´Ù.

3.      ¹è¼±Àº ÀÔ·ÂÀÇ ¡°COM¡±À» ¡°24V+¡±¿Í ¿¬°áÇÏ¿© 0V¸¦ ÀÔ·Â ÇÒ ¶§ µ¿ÀÛ Çϵµ·Ï ÇÑ´Ù.

½Ç½À¹æ¹ý

¸ñ    Â÷

 

NumEdit Control]À» ¼±ÅÃÇÏ¿© Åë½Å±â±â ¹øÈ£¸¦ ¼³Á¤ÇÏ°Ô ÇÑ´Ù.

¡°Values¡±¿¡¼­ ¡°Discrete¡±¸¦ ¼±ÅÃÇÑ´Ù.

 

 

¼³Á¤ÇÑ Å°ÀÇ ¸â¹ö º¯¼ö À̸§À» ¾Æ·¡¿Í °°ÀÌ  ¡°m_nMachinNo¡±¶ó ÇÑ´Ù.

 

 

[Button Control]À» ¼±ÅÃÇÏ¿© ½ºÀ§Ä¡ ¸ð¾ç¿¡¼­ Led ¸ð¾çÀ¸·Î º¯°æÇÑ´Ù.

 

 

8°³ Led ÀÇ º¯¼ö À̸§À» ¾Æ·¡¿Í °°ÀÌ ¸¸µç´Ù.

 

 

[ClassWizard]¿¡¼­ ¾Æ·¡¿Í °°ÀÌ Å¸ÀÌ¸Ó ÇÔ¼ö¸¦ ¸¸µç´Ù.

 

 

 

 

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

 

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

 

 

void CRs232Dlg::OnTimer(UINT nIDEvent)

{

              // TODO: Add your message handler code here and/or call default

              CString strTemp;

 

              strTemp.Format("%c%02dGP000008%c",0x05,(int)m_nMachinNo.Value,0x04);            // ÀÔÃâ·ÂÆ÷Æ®ÀÇ »óŸ¦ ÀÐ¾î ¿Â´Ù.

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

              CDialog::OnTimer(nIDEvent);

}

 

 

 

OnCommunication() ÇÔ¼ö ¾È¿¡ ¸®ÅÏ µÇ¾î ¿À´Â °ªÀ» üũÇÏ´Â CheckInput() ÇÔ¼ö¸¦ ¸¸µé¾î ÀÔ·Â °ªÀ» ÄÄÇ»ÅÍ¿¡ Ç¥½ÃÇÑ´Ù.

CheckInput() ÇÔ¼ö´Â ¼ö½ÅµÈ µ¥ÀÌÅÍÀÇ ÇØ´ç ºñÆ®°¡ 0ÀÎÁö 1ÀÎÁö ÆÇ´ÜÇÏ¿© ÇØ´ç Led¿¡ ºÒÀÌ µé¾î°Ô ÇÑ´Ù.

 

 

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!= NULL ) buff[i]= aByte;

                            else { i--; size--; }

              }

              */

              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;

              }

 

              CheckInput();

 

              if(size > 0)

                            m_Edit2.SetWindowText(buff);

              return 0;

}

 

 

void CRs232Dlg::CheckInput()

{

              if(buff[4]==0x31)

                            m_In0.Value = 1;

              else

                            m_In0.Value = 0;

 

              if(buff[5]==0x31)

                            m_In1.Value = 1;

              else

                            m_In1.Value = 0;

 

              if(buff[6]==0x31)

                            m_In2.Value = 1;

              else

                            m_In2.Value = 0;

 

              if(buff[7]==0x31)

                            m_In3.Value = 1;

              else

                            m_In3.Value = 0;

 

              if(buff[8]==0x31)

                            m_In4.Value = 1;

              else

                            m_In4.Value = 0;

 

              if(buff[9]==0x31)

                            m_In5.Value = 1;

              else

                            m_In5.Value = 0;

 

              if(buff[10]==0x31)

                            m_In6.Value = 1;

              else

                            m_In6.Value = 0;

 

              if(buff[11]==0x31)

                            m_In7.Value = 1;

              else

                            m_In7.Value = 0;

 

}

 

 

óÀ½

°ú    Á¦

 

Áß¿äÇÔ¼ö