학습목표   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);

[원본프로그램 다운 받기]

예습내용

 

실습방법

   

 

출력 스위치 6개를 아래와 같이 만든다.

아래와 같이 멤버변수를 m_Out0부터 m_Out5 지정한다.

 

 

 

출력 스위치를 변화 시키면 스위치를 검사하여 통신으로 값을 보낸다.

스위치를 마우스로 더블 크릭하여 “void CRs232Dlg::OnValueChangedCwboolean9(BOOL Value)”에서 “void CRs232Dlg::OnValueChangedCwboolean14(BOOL Value)”까지 6개의 함수를 만들고 안에 “CheckOut();” 넣는다.

 

 

CheckOut(); 함수는 스위치의 상태를 검사하여 통신을 보낸다.

 

void CRs232Dlg::CheckOut()

{

              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::OnValueChangedCwboolean9(BOOL Value)

{

              // TODO: Add your control notification handler code here

              CheckOut();

}

 

void CRs232Dlg::OnValueChangedCwboolean10(BOOL Value)

{

              // TODO: Add your control notification handler code here

              CheckOut();

}

 

void CRs232Dlg::OnValueChangedCwboolean11(BOOL Value)

{

              // TODO: Add your control notification handler code here

              CheckOut();

}

 

void CRs232Dlg::OnValueChangedCwboolean12(BOOL Value)

{

              // TODO: Add your control notification handler code here

              CheckOut();

}

 

void CRs232Dlg::OnValueChangedCwboolean13(BOOL Value)

{

              // TODO: Add your control notification handler code here

              CheckOut();

}

 

void CRs232Dlg::OnValueChangedCwboolean14(BOOL Value)

{

              // TODO: Add your control notification handler code here

              CheckOut();

}

 

 

처음

   

 

중요함수