본문 바로가기
PLC

S7 Communication with PUT/GET (PLC간 통신)

by 에디터_가을여행 2023. 5. 4.

안녕하세요. 에디터 가을여행입니다.

오늘은 Siemens PLC 간 통신인 PUT, GET instruction에 대해서 알아보겠습니다. S7-1500, S7-1200 CPU의 산업용 이더넷 인터페이스 PROFINET에서 PLC간 데이터를 전송할 수 있는 명령인 PUT, GET 명령으로 S7-1500와 S7-1200간에 데이터를 교환하는 예제를 진행해 보겠습니다.

디바이스 및 네트워크 설정

s7 connection

  • 네트워크 보기에서 Connection아이콘을 클릭하여 연결을 활성화합니다
  • 연결 유형으로 S7 Connection을 선택합니다.

connecting between 1500 and 1200

  • S7 1500 CPU에서 마우스 버튼을 누른 상태에서 대상 CPU S7 1200까지 드래그 하여 놓습니다.
  • S7 CONNECTION이 활성화 되었습니다. 
  • Connections 탭에 다음과 위와 같은 네트워크 테이블이 구성이 됩니다.

connection tab

 

S7 Connection Property

• General connection parameters

  1. End Point : PLC CPU Model
  2. Interface : Profibus Network Interface (X1, X2, ETHERNET MODULES)
  3. Interface Type : Ethernet
  4. Subnet : PN/IE, Profinet
  5. Address : IP Address (A. B. C. D) 파트너 CPU와 동일 네트워크로 구성한다. 

s7 connection Property

• Local ID

Local ID 항목에 연결되는 모듈의 로컬 ID가 표시됩니다. 이미 같은 번호의 ID를 가지고 있거나 변경이 필요한 경우 수정할 수 있습니다. PUT 또는 GET 명령을 사용할 경우 S7 연결을 위해 Local ID를 지정합니다. 이 예에서는 값이 100(16진수)인 로컬 ID를 사용합니다. (기본값은 100부터 시작합니다.)

Local ID

• Special Connection property

이 파라미터에서는 다음과 연결 속성이 여기에 표시됩니다:

  • One-way : 연결 파트너가 이 연결에 대한 서버임을 의미하며 능동적으로 전송 또는 수신할 수 없습니다.
  • Active connection establishment : 이 예에서는 양방향 S7 연결이 구성되어 있습니다. 이것은 당신이 어떤 연결 파트너가 활성 부분을 차지하고 전송할 것인지 설정할 수 있습니다.

Special connection property

• Address detail

S7 연결의 주소 세부 정보가 여기에 표시됩니다. Unknown과 같이 지정되지 않은 파트너 랙 및 슬롯의 값을 변경할 수 있습니다. 다른 모든 것들값은 현재 구성에서 가져오므로 변경할 수 없습니다. SIMATIC-ACC은 체크해 줍니다.

Address detail

Permit Access with PUT/GET Communication from Remote Partner

connection mechanism

  • S7-1500 CPU를 선택합니다.
  • Property > General > Protection & Security > Connection Mechanism을 엽니다.
  • 원격에서 PUT/GET 통신으로 액세스 허용
  • S7-1200 CPU도 동일하게 진행합니다.

Send DB / Receive DB

SEND / RECEIVE DB

  • 파트너 CPU로 전송하는 데이터 블록을 작성하고 동일한 구성의 Struct를 대상 CPU에도 공유합니다. 
  • DB 속성에 있는 "Attributes"에서 다음을 비활성화합니다. Optized block access 체크해제
  • 다음은 Send / Receive DB의 구성 예제입니다.

DB config

PUT / GET instruction 구성

PUT 또는 GET instruction을 선택하면 Properties에서 다음 화면을 확인할 수 있습니다. 아래 속성을 입력합니다.

Connection parameter

  1. End Point : S7 연결의 LOCAL과 PARTER를 입력합니다. (S1500 TO S1200) 
  2. Device & Network에서 CPU를 추가하지 않고 Partner는 Unkwon으로 설정하여 사용할 수 있습니다. 
  3. Interface : CPU 포트 또는 이더넷 모듈을 지정합니다.
  4. Subnet : ETHERNET 방식
  5. Subnet name : PROFINET 연결 번호를 입력합니다. 
  6. Address : IP를 입력하고 동일한 네트워크로 구성합니다.  A,B,C 클래스 동일하게 설정합니다.
  7. Connection ID : S7 connection 생성시 지정된 ID를 입력합니다.
  8. Connection Name : S7 connection을 생성할 때마다 번호가 새로 주어지며 여기서 사용할 이름을 지정합니다.

GET / PUT instruction

S7 통신을 하기 위해 GET / PUT Instruction을 추가하고 인자를 위와 같이 입력합니다. 다음은 Input인자입니다.

REQ / IN / OUTPUTS

  • Start Request (REQ) : 언제 요청할 것인지 해당태그 또는 조건을 입력합니다.
  • Write Area(ADDR_1) : 위 그림은 PUT instruction의 속성이며 Local DB 영역을 지정합니다. 
  • Send Area (SD_1) : 상대방 DB 영역을 지정합니다. byte와 길이를 입력합니다.
  • GET instruction도 동일하며 PUT과 반대라고 생각하시면 되겠습니다. 앞 예제 DB로 보았을때 클라이언트 입장에서 보면 Send가 Receive가 되고 Receive가 Send가 되는 것이니 주소와 길이를 정확히 입력하시기 바랍니다.

다음은 Output인자입니다. 굳이 사용하지 않을 경우 비워두셔도 되지만 error를 체크하거나 프로그램에서 이용하실 거라면 사용할 태그를 지정하시면 됩니다.

  • Request Completion (DONE) : 전송완료시 이 비트가 활성화 됩니다.
  • Error (ERROR) : 전송시 문제가 있을 경우 이 비트가 활성화 됩니다.
  • Error Infomation (STATUS) : 에러가 있을 경우 Hex 값으로 알람코드를 올려줍니다. Get, Put instruction 메뉴얼을 열어보시면 해당 에러번호에 따라 조치할 수 있는 방법을 안내해 줍니다.

한가지 팁을 드리면 클라이언트에서 GET, PUT instruction을 사용하면 서버에서는 DB만 엑세스 하시면 됩니다. 추가적인 프로그램 작성은 필요 없이 DB를 읽거나 써서 서로 인터페이스 할 수 있습니다.

마치면서...

현장에서 일을 하다보면 라인간에 인터록을 해야하는 경우가 종종 있습니다. Hard Wiring으로 간단한 인터페이스를 할 수 있다면 다행이지만 정보의 내용이 많다면 이종 PLC간에는 Profibus DP를 지원하는 모듈과 DP 통신을 하고 동일한 S7 시리즈라면 Get / Put 명령어를 많이 사용하곤 합니다. 처음 접하는 분들이 겪을 수 있는 문제들이 있기에 간단하게 메뉴얼 처럼 작성해 보았습니다. 

'PLC' 카테고리의 다른 글

Siemens Tia Portal V18 설치방법 및 무료 사용  (1) 2023.04.21
New Bing과 PLC 스터디 역할 놀이  (2) 2023.03.27

댓글