PLC 앞에서 이더넷 통신을 준비하다 보면 상대 PC나 상위 시스템 담당자로부터 “포트 열어주세요”라는 말을 듣는 경우가 있습니다. 처음에는 PLC 설정 문제인지, PC 방화벽 문제인지, 공유기 설정 문제인지 혼동하기 쉽습니다. 하지만 이 말의 핵심은 통신을 시작하기 전에 접속 방식, 포트 번호, 프로토콜, IP 주소를 서로 맞추자는 의미에 가깝습니다.
포트를 연다는 말의 의미
“포트를 열어주세요”라는 말은 상황에 따라 의미가 조금 다를 수 있습니다. PLC가 상대방 접속을 기다리는 구조일 수도 있고, PC 방화벽에서 특정 포트를 허용해야 하는 상황일 수도 있으며, 공유기나 네트워크 장비에서 포트 포워딩이 필요한 경우도 있습니다.
PLC 현장에서 자주 만나는 의미는 다음과 같습니다.
상대 프로그램이 PLC로 접속할 예정이므로, PLC 쪽에서 특정 포트 번호를 열어두고 대기해야 한다는 의미입니다.
즉, PLC가 먼저 상대방 PC로 접속하는 것이 아니라, 상대방이 PLC로 들어올 수 있도록 PLC가 통신 대기 상태를 만들어 두는 구조입니다.
이 구조를 이해하면 통신 설정 방향이 명확해집니다. PLC가 먼저 접속하는지, 상대방이 PLC로 접속하는지에 따라 Open Setting, 상대 IP 설정, 재접속 조건, 프로그램 처리 방식이 달라지기 때문입니다.
먼저 접속 주체를 확인해야 한다
이더넷 통신에서 가장 먼저 확인할 것은 누가 먼저 접속하는지입니다.
PLC가 먼저 상대 PC나 서버로 접속하면 Active 방식에 가깝고, PLC가 포트를 열고 기다리면 Passive 방식에 가깝습니다. 미쓰비시 GX Works 설정에서는 Unpassive, Active, UDP, TCP 같은 표현이 함께 나오기 때문에 처음 보면 혼동하기 쉽습니다.
| 구분 | 의미 |
|---|---|
| PLC가 대기 | 상대방이 PLC IP와 포트로 접속 |
| PLC가 접속 | PLC가 상대 IP와 포트로 먼저 접속 |
| TCP | 연결을 맺고 데이터 송수신 |
| UDP | 연결 절차 없이 데이터 송수신 |
| MC Protocol | 미쓰비시 표준 프로토콜 사용 |
| Socket | 사용자 정의 데이터 송수신 구조 |
“포트 열어주세요”라는 요청을 받으면 바로 설정창을 열기보다 먼저 접속 주체를 확인해야 합니다.
TCP인지 UDP인지 확인한다
포트 번호를 정하기 전에 TCP인지 UDP인지 확인해야 합니다. 같은 포트 번호를 사용하더라도 TCP와 UDP는 통신 방식이 다릅니다.
TCP는 연결을 맺은 뒤 데이터를 주고받는 방식입니다. 데이터 도착 여부와 연결 상태를 관리할 수 있어 상위 PC, 서버, 검사 장비, HMI 연동에서 많이 사용됩니다.
UDP는 연결 절차 없이 데이터를 보내는 방식입니다. 구조는 단순하지만 상대가 받았는지 확인하는 절차가 약하므로, 장비 특성과 프로토콜 구조에 따라 사용 여부를 판단해야 합니다.
| 구분 | TCP | UDP |
|---|---|---|
| 연결 방식 | 접속 후 송수신 | 접속 절차 없이 송수신 |
| 안정성 | 상대적으로 높음 | 구조가 단순함 |
| 상태 관리 | 연결 상태 확인 가능 | 별도 상태 관리 필요 |
| 사용 예 | PC 서버, HMI, 검사 장비 | 단순 송수신, 일부 장비 전용 통신 |
현장에서 별도 설명이 없다면 TCP를 사용하는 경우가 많지만, 반드시 상대 장비 또는 PC 프로그램 담당자에게 확인해야 합니다.
Active와 Passive를 구분한다
통신에서 Active와 Passive는 누가 먼저 접속하느냐의 문제입니다.
PLC가 Active라면 PLC가 상대방 IP와 포트로 먼저 접속합니다. 이 경우 PLC 설정에는 상대 IP 주소와 상대 포트 번호가 정확히 들어가야 합니다.
PLC가 Passive라면 PLC는 자기 포트를 열어두고 기다립니다. 상대방 PC나 장비가 PLC IP와 포트 번호로 접속합니다. 이 경우 PLC는 대기 포트 번호를 열어두는 설정이 중요합니다.
| 구분 | PLC 역할 | 확인할 항목 |
|---|---|---|
| Active | PLC가 먼저 접속 | 상대 IP, 상대 포트, 재접속 조건 |
| Passive | PLC가 접속 대기 | PLC IP, PLC 포트, 상대 접속 방식 |
| UDP | 연결 개념이 약함 | 송신 대상 IP, 포트, 수신 포트 |
| TCP | 연결 상태 중요 | 접속 주체, 포트 오픈, 연결 유지 |
상대방이 “포트 열어주세요”라고 말했다면 보통 PLC가 Passive로 대기하는 구조일 가능성이 있습니다. 다만 현장마다 표현이 다를 수 있으므로 반드시 확인해야 합니다.
프로토콜을 확인한다
포트가 열려 있어도 프로토콜이 다르면 통신은 정상 처리되지 않습니다. 포트는 통신이 들어오는 문이고, 프로토콜은 그 문으로 들어온 데이터를 어떻게 해석할지 정하는 규칙입니다.
미쓰비시 PLC 이더넷 통신에서는 다음과 같은 방식을 자주 봅니다.
| 구분 | 설명 |
|---|---|
| MC Protocol | 미쓰비시 PLC 디바이스를 읽고 쓰는 표준 방식 |
| Socket 통신 | 사용자 정의 문자열 또는 바이너리 데이터 송수신 |
| 전용 프로토콜 | 장비 제조사에서 정한 형식 사용 |
| Modbus TCP | 일부 장비와 연동 시 사용 |
| ASCII 통신 | 문자열 기반 장비와 연동 시 사용 |
예를 들어 상대 PC가 MC Protocol로 D 영역을 읽으려는 것인지, 아니면 PLC가 Socket으로 특정 문자열을 주고받아야 하는지에 따라 설정과 로직이 완전히 달라집니다.
따라서 포트 번호만 맞추면 끝난다고 보면 안 됩니다. 포트, 접속 방식, 프로토콜, 데이터 형식을 함께 맞춰야 합니다.
IP 주소를 먼저 고정한다
이더넷 통신에서는 PLC IP와 상대 장비 IP를 명확히 정해야 합니다.
PLC가 서버처럼 대기하는 구조라면 상대방은 PLC IP로 접속합니다. 이때 PLC IP가 DHCP처럼 변할 수 있는 구조라면 통신이 불안정해질 수 있습니다. 현장 설비에서는 일반적으로 PLC IP를 고정으로 사용하는 것이 관리에 유리합니다.
확인할 항목은 다음과 같습니다.
| 항목 | 확인 내용 |
|---|---|
| PLC IP | PLC에 설정된 고정 IP 확인 |
| 상대 IP | PC, 서버, 검사 장비 IP 확인 |
| 서브넷 마스크 | 같은 네트워크 대역인지 확인 |
| 게이트웨이 | 다른 네트워크 대역 통신 시 필요 여부 확인 |
| 중복 IP | 같은 IP를 쓰는 장비가 없는지 확인 |
통신이 안 될 때는 포트보다 먼저 ping이나 네트워크 연결 상태를 확인해야 하는 경우도 있습니다. 같은 대역에 있는지, IP 충돌이 없는지, 물리 링크가 살아 있는지 먼저 봐야 합니다.
포트 번호는 10진수와 16진수를 구분한다
PLC 설정에서 포트 번호를 입력할 때 10진수와 16진수 표기 때문에 문제가 생기는 경우가 있습니다.
상대방이 “5000번 포트”라고 말했는데, PLC 설정창에서는 16진수 입력을 요구하는 경우가 있습니다. 이때 5000을 그대로 넣는지, 16진수로 변환해 넣어야 하는지 확인하지 않으면 포트가 맞지 않습니다.
예를 들어 10진수 5000은 16진수로 1388입니다. 설정창 기준을 확인하지 않으면 상대는 5000번으로 접속하는데 PLC는 다른 포트를 열고 기다리는 상황이 될 수 있습니다.
| 확인 항목 | 설명 |
|---|---|
| 상대가 준 포트 번호 | 10진수 기준인지 확인 |
| PLC 설정창 입력 방식 | 10진수 입력인지 16진수 입력인지 확인 |
| 실제 오픈 포트 | PLC가 어떤 포트를 대기 중인지 확인 |
| 방화벽 허용 포트 | PC 또는 네트워크 장비 설정과 일치하는지 확인 |
포트 번호는 숫자 하나만 틀려도 통신이 되지 않습니다. 특히 10진수와 16진수 변환 여부는 반드시 확인해야 합니다.
데이터 주소를 확인한다
상대방이 PLC로 접속해서 데이터를 읽거나 쓰려면 어느 디바이스를 사용할지 정해야 합니다.
예를 들어 D100부터 10워드를 읽을 것인지, M100부터 비트 상태를 볼 것인지, W 영역을 통신용으로 사용할 것인지 미리 합의해야 합니다.
확인할 항목은 다음과 같습니다.
| 항목 | 예시 |
|---|---|
| 읽기 영역 | D100~D199, M100~M199 |
| 쓰기 영역 | D200~D299, M200~M299 |
| 데이터 단위 | 비트, 워드, 더블워드 |
| 바이트 순서 | 상위·하위 바이트 또는 워드 순서 |
| 문자열 여부 | ASCII, 길이, 종료 문자 |
| 쓰기 권한 | 상대 장비가 PLC에 값을 써도 되는지 |
읽기는 되는데 쓰기가 안 되는 경우에는 PLC 설정에서 온라인 변경, 쓰기 허용, 프로토콜 권한, 방화벽, 프로그램 인터락 조건을 함께 확인해야 합니다.
GX Works에서 확인할 항목
미쓰비시 PLC 기준으로 이더넷 통신을 준비할 때는 네트워크 파라미터와 Open Setting을 확인해야 합니다.
프로젝트와 CPU 종류에 따라 메뉴명은 다를 수 있지만, 일반적으로 다음 항목을 확인합니다.
| 항목 | 확인 내용 |
|---|---|
| PLC IP 설정 | PLC 고정 IP와 서브넷 확인 |
| Open Setting | TCP/UDP, Active/Passive 방식 확인 |
| Protocol | MC Protocol, Socket 등 확인 |
| Port No. | 포트 번호와 입력 진수 확인 |
| 상대 IP | Active 방식일 때 상대 IP 확인 |
| 송수신 방식 | Send/Receive, Unpassive 등 의미 확인 |
| Write 허용 | 상대 장비가 PLC에 쓰기 가능한지 확인 |
| 설정 반영 | PLC Write 후 재기동 필요 여부 확인 |
Open Setting 표는 처음 보면 어렵지만, 결국 어떤 방식으로 열고, 누가 접속하고, 어떤 프로토콜로 데이터를 주고받을지를 정리하는 화면입니다.
상대방에게 먼저 물어볼 항목
현장에서 통신 담당자와 말이 어긋나면 설정 시간이 길어집니다. 포트를 열어달라는 말을 들었을 때는 다음 항목을 먼저 확인하는 것이 좋습니다.
| 질문 | 이유 |
|---|---|
| TCP인가요, UDP인가요? | 통신 방식이 다르기 때문 |
| 누가 먼저 접속하나요? | Active/Passive 설정 결정 |
| 사용할 프로토콜은 무엇인가요? | MC Protocol인지 Socket인지 결정 |
| PLC가 대기하면 되나요? | 포트 오픈 구조 확인 |
| 사용할 포트 번호는 몇 번인가요? | Open Setting 입력값 결정 |
| 포트 번호는 10진수 기준인가요? | 16진수 입력 실수 방지 |
| 상대방 IP는 무엇인가요? | Active 또는 방화벽 설정 확인 |
| 어떤 PLC 주소를 읽고 쓰나요? | 데이터 맵 정리 필요 |
이 질문을 먼저 던지면 설정창을 반복해서 수정하는 시간을 줄일 수 있습니다.
PLC에서 준비할 항목
상대방과 조건을 맞췄다면 PLC 쪽에서는 다음 항목을 준비합니다.
| 준비 항목 | 설명 |
|---|---|
| PLC IP | 고정 IP 설정 |
| 포트 번호 | 상대방과 합의한 포트로 설정 |
| Open Setting | TCP/UDP, Active/Passive, Protocol 설정 |
| 데이터 영역 | 읽기·쓰기용 D, M, W 영역 정리 |
| 쓰기 인터락 | 외부에서 쓰는 값이 바로 출력으로 이어지지 않도록 관리 |
| 상태 확인 | 접속 상태, 수신 완료, 에러 상태 모니터링 |
| 설정 반영 | PLC Write 및 필요 시 재기동 |
특히 외부 장비가 PLC 값을 쓰는 구조라면, 그 값이 출력 조건에 바로 연결되지 않도록 중간 검증 로직을 두는 것이 좋습니다. 상위 PC에서 잘못된 값이 들어와도 설비가 바로 동작하지 않도록 제한값과 인터락을 두어야 합니다.
방화벽과 네트워크 장비도 확인한다
PLC 설정이 맞아도 PC 방화벽이나 네트워크 장비에서 포트가 막혀 있으면 통신이 되지 않을 수 있습니다.
PLC가 Passive로 대기하고 PC가 접속하는 구조라면 PC 쪽 방화벽보다 PLC까지의 네트워크 경로가 중요합니다. 반대로 PLC가 PC 프로그램으로 접속해야 하는 구조라면 PC 방화벽에서 해당 포트를 허용해야 할 수 있습니다.
확인할 항목은 다음과 같습니다.
| 항목 | 설명 |
|---|---|
| PC 방화벽 | PC가 서버 역할을 할 때 포트 허용 필요 |
| 공유기·라우터 | 다른 네트워크 대역이면 포트 포워딩 필요 여부 확인 |
| 스위치 허브 | 물리 링크와 VLAN 구성 확인 |
| 보안 장비 | 산업용 방화벽 또는 차단 정책 확인 |
| 테스트 도구 | ping, telnet, 포트 스캐너 등으로 연결성 확인 |
설비 내부망에서는 단순한 경우가 많지만, 공장 네트워크나 사무망과 연결될 때는 네트워크 보안 정책을 함께 확인해야 합니다.
포트 오픈 요청을 받았을 때 점검 순서
현장에서 바로 확인할 순서는 다음과 같습니다.
| 순서 | 확인 항목 |
|---|---|
| 1 | PLC와 상대 장비 IP 확인 |
| 2 | TCP인지 UDP인지 확인 |
| 3 | 누가 먼저 접속하는지 확인 |
| 4 | MC Protocol인지 Socket인지 확인 |
| 5 | 사용할 포트 번호와 진수 확인 |
| 6 | Open Setting에 조건 입력 |
| 7 | 읽기·쓰기 데이터 주소 확정 |
| 8 | PLC Write 후 설정 반영 |
| 9 | 상대방 접속 시도 확인 |
| 10 | 접속 상태와 송수신 데이터 확인 |
이 순서대로 확인하면 “포트를 열어달라”는 요청을 받았을 때 어디부터 봐야 할지 명확해집니다.
포트 설정 정리
“포트 열어주세요”라는 말은 단순히 설정창에서 숫자 하나를 넣으라는 뜻이 아닙니다. 통신 방식, 접속 주체, 프로토콜, IP 주소, 포트 번호, 데이터 주소를 서로 맞추자는 의미입니다.
PLC가 대기하는 구조인지, PLC가 먼저 접속하는 구조인지에 따라 설정은 달라집니다. TCP와 UDP도 다르고, MC Protocol과 Socket 통신도 처리 방식이 다릅니다. 포트 번호는 10진수와 16진수 입력 방식까지 확인해야 합니다.
현장에서 통신을 빠르게 붙이려면 설정부터 만지기보다 상대방에게 필요한 정보를 먼저 받아야 합니다. TCP/UDP, Active/Passive, 프로토콜, IP, 포트 번호, 데이터 주소가 정리되면 GX Works의 Open Setting에서 무엇을 넣어야 하는지 훨씬 명확해집니다.
통신은 장비 성능보다 약속을 맞추는 과정이 먼저입니다. 포트와 접속 방식만 정확히 맞춰도 이더넷 통신 문제의 상당 부분은 빠르게 좁힐 수 있습니다.