본문 바로가기
C++ 200제/코딩 IT 정보

PLC 이더넷 통신 - 커넥션 (미쓰비시 PLC MELSEC)

by vicddory 2017. 9. 5.

PLC 이더넷 통신 - 커넥션 (미쓰비시 PLC MELSEC)


커넥션(Connection)

PLC 이더넷 모듈로 실질적인 통신을 하기 위해서는 커넥션이라는 것이 있어야 합니다. Q시리즈에서는 최대 16개까지의 커넥션을 만들 수 있습니다.


이 커넥션이라는 것은 TCP/IP를 실질적으로 다루기 위해서 PLC 이더넷 모듈이 제공하는 것입니다. PC에서 소켓 이라고 표현되는 것과 거의 같은 것입니다.


하나의 커넥션은 PLC 통신을 할 두 대상 사이를 이어주는 말 그대로 하나의 연결입니다. 물리적으로 두 대상을 연결하는 것은 통신선이겠지만, 프로그램을 하는 입장에서 두 대상을 연결하는 것은 커넥션입니다.

커넥션은 논리적으로 두 대상을 연결하는 그 무엇입니다. 그렇기 때문에 PLC 이더넷 모듈을 사용해서 PLC 통신을 하기 위해서는 두 대상을 연결하는 과정을 가장 먼저 밟아야 합니다.


커넥션 열기

커넥션을 좀 더 좁게 보면, 두 대상 사이의 연결을 이루어내기 위해 각각이 가지는 연결고리와 같은 것입니다. 실제로 두 대상의 연결은 각각의 커넥션이 연결되는 것입니다.


PLC 이더넷 모듈은 커넥션을 열기 위해 OPEN이라는 전용명령을 제공합니다. 다른 전용명령과 같이 이런 저런 여러가지 값들을 필요로 합니다. 하지만 Q 시리즈에서는 이런 값들을 파라메터 형태로 미리 지정해 둘 수 있도록 해주기 때문에 실제로 래더에서는 OPEN 명령 한 줄만을 사용하는 경우가 대부분입니다.


PLC 이더넷 파라메터의 Open setting을 열면 가장 먼저 선택하도록 되어 있는 것이 Protocol입니다. TCP와 UDP 둘 중의 하나를 선택하도록 되어 있습니다.

미쓰비시 plc melsec미쓰비시 plc melsec


TCP 커넥션

TCP를 이용한 PLC 통신이라는 것은 전화를 하는 것과 같은 것입니다. IP를 전화번호라고 하면 IP를 누르고 연결음이 들리고, 상대방이 전화를 받으면 비로소 통화가 가능해 집니다.


TCP 커넥션은 TCP의 특성을 가지는 커넥션입니다. 그래서 전화를 거는 사람과 이를 받는 사람처럼 연결을 기다리는 커넥션과 연결을 하는 커넥션의 차이가 있습니다.


따라서 커넥션에서 TCP를 프로토콜로 선택하는 경우 Open System이라는 것을 추가로 선택해 주어야 합니다. Active, Unpassive, Fullpassive, MELSOFT connection의 4가지 중에서 하나를 선택할 수 있습니다.


여기서 MELSOFT connection이라는 것은 멜섹만의 특별한 것이므로 빼겠습니다.

나머지 셋 중에서 Unpassive와 Fullpassive가 연결을 기다리는 커넥션이고, Active가 연결을 하는 커넥션입니다.

Unpassive와 Fullpassive의 차이점은 Fullpassive가 연결해 올 대상을 구체적으로 지정하는데 반해 Unpassive는 누가 연결을 해 오든지 상관하지 않는다는 것입니다. 말하자면 Unpassive는 누가 전화를 하더라도 다 받는데 비해, Fullpassive는 애인이 하는 전화만, 혹은 친구 아무개가 하는 전화만 이라는 식으로 구체적으로 대상을 지정해 놓고 기다리는 것입니다.


이런 경우에는 다른 누군가가 전화를 하더라도 벨 조차 울리지 않습니다.


haiwell plc t24s2t-ehaiwell plc t24s2t-e


UDP 커넥션

UDP는 말하자면 편지 같은 것입니다. 주소로서의 IP를 적고, UDP라는 봉투에 담아 보내면 상대방에 전달이 된다고 보는 것입니다. 실제로 배달이 되었는지 아닌지는 상대방이 답장을 해 주어야만 알 수 있습니다.


그래서 UDP의 경우에는 굳이 커넥션 열기라는 과정을 따로 밟을 필요가 없는데도 PLC 이더넷 모듈은 UDP에 대해서도 OPEN을 하도록 하고 있습니다. 그러므로 여기서의 OPEN은 PLC 통신 그 자체을 위한 것이라기 보다는 내부적으로 필요한 조치를 취하기 위한 것으로 보입니다.


plc 이더넷 통신


포트(Port)

TCP 커넥션이거나 UDP 커넥션이거나 대상을 지정하는 부분에 IP와 함께 포트를 설정하도록 하고 있습니다. 그리고 자신의 포트도 지정하도록 하고 있습니다. 전화와 비교한다면 포트는 내선같은 것입니다.


포트는 하나의 워드로 0~65535까지의 값이 가능합니다.


커넥션 간에 중복되지만 않는다면 이 중에서 어느 값을 사용해도 상관없습니다. 하지만 PC에서 1023이하는 관리자 권한이 있는 경우에만 사용할 수 있도록 되어 있으므로 되도록 이면 이 범위의 값은 사용하지 않는 것이 좋을 것 같습니다.


PLC 이더넷 통신 - 커넥션 (미쓰비시 PLC MELSEC)

댓글