Open Setting 표를 처음 보면 어디부터 봐야 할지 막막합니다.
괜히 남들 설정 그대로 넣었다가 통신 안 붙는 경우도 많죠.
TCP·UDP 차이,
누가 먼저 접속하는지,
현장에서 자주 쓰는 조합만 핵심으로 정리했습니다.
포트(port) 개념이 먼저 필요하다면 ‘[실무] “포트 열어주세요” 들었을 때 바로 확인할 것들‘ 글도 함께 보시면 이해가 훨씬 빠릅니다.
1. Protocol 비교: TCP vs UDP
데이터를 보낸 뒤 정상 수신 여부를 확인하는 과정의 차이입니다.
| 구분 | TCP (연결형) | UDP (비연결형) |
| 동작 방식 | 보냄 → 받음 → 수신 확인 응답 (ACK) | 데이터 전송 후 응답 대기 없음 |
| 누락 대응 | 응답 없으면 다시 전송 (재전송) | 확인 절차 없이 다음 데이터 전송 |
| 안정성 | 높음 (데이터 유실 방지) | 상대적으로 낮음 |
| 실무 사용 | PC / HMI / 서버 통신 (표준) | 고속 주기 전송, 단순 데이터 교환 |
⚠️ 실무 한 끗: 속도만 보고 UDP를 선택했다가, 데이터 누락 문제로 원인 파악이 안 되어 디버깅이 길어지는 경우가 많습니다. 특별한 이유가 없다면 TCP가 안정적입니다.
2. Open Method 비교: 누가 데이터 주도권을 갖는가?
단순히 누가 먼저 연결하느냐를 넘어, 누가 데이터를 먼저 보내는 구조인지가 핵심입니다.
| 항목 | 의미 | 실무 사용 상황 (예시) |
| Active | PLC가 상대 IP로 먼저 접속 시도 | 측정기/PC 서버: “필요할 때 PLC가 접속해서 읽어 가” |
| Unpassive | PLC는 대기하고, 상대가 접속하면 시작 | HMI/바코드: “스캔하면 장비가 PLC로 데이터를 전달할게” |
| Fullpassive | 지정한 상대 IP/Port만 접속 허용 | 보안 조건이 엄격한 설비 (승인된 장비만 허용) |
💡 판단 기준: 어떤 방식이 정답인 것은 아닙니다. 상대 장비가 먼저 데이터를 보내는 구조인지, PLC가 요청해서 가져오는 구조인지에 따라 선택이 달라집니다.
3. 데이터 송수신 설정 (Fixed Buffer)
데이터가 흐르는 방향과 처리 방식을 결정합니다.
| 항목 | 의미 | 실무 사용 예시 |
| Send | PLC에서 외부 장비로 데이터 전송 | PLC가 능동적으로 데이터를 보낼 때 |
| Receive | 외부 장비에서 PLC로 데이터 전송 | 외부 장비의 데이터를 수신할 때 |
| Procedure Exist | 읽기/쓰기 요청을 한 통로에서 처리 | MC 프로토콜에서 많이 사용하는 구성 |
⚠️ 실무 한 끗: MC 프로토콜은 하나의 연결로 데이터 읽기/쓰기를 모두 처리할 수 있습니다. 불필요하게 Send/Receive로 두 줄을 만들면 연결 자원을 불필요하게 소비합니다.
4. 많이 사용하는 실무 설정 조합
| 용도 | 추천 설정 조합 |
| PC / HMI 통신 (MC) | TCP + Unpassive + Procedure Exist |
| PLC 간 고속 데이터 교환 | UDP + Send / Receive (필요에 따라) |
✅ 처음 설정하는 초보자라면? 고민하지 말고 TCP + Unpassive + Procedure Exist 조합부터 시작해 보세요. 처음 적용하기 무난한 기본 조합입니다.
5. [실전 예시] 현장에서는 어떻게 쓰일까?

현장에서는 한 가지 방식만 고정해서 쓰지 않습니다. 같은 상대 IP라도 목적에 따라 Active Send / Receive로 포트를 나누기도 하고, 특정 데이터만 받기 위해 Unpassive + Receive만 열어두기도 합니다.
핵심은 설정값을 외우는 것이 아니라, 누가 데이터를 보내고 누가 요청하는 구조인지 이해하는 것입니다. 실제 사례별 해석은 다음 글에서 자세히 다루겠습니다.
👉 [실전] GX Works2 Open Setting 사례 분석: 설계 의도를 읽는 법
6. [필독] Open Setting 시 자주 틀리는 실수 리스트
시운전 시간을 줄여주는 핵심 체크리스트입니다.
- UDP 만능주의: 무조건 빠르다고 UDP를 썼다가 데이터 누락 문제로 고생하는 경우가 많습니다.
- 포트 번호 혼동: 상대방은 10진수로 말했는데, PLC에는 16진수(Hex)로 입력하여 통신이 붙지 않습니다.
- 불필요한 채널 낭비: MC 프로토콜인데 Send/Receive를 각각 설정하여 연결 자원을 불필요하게 소비합니다.
- 통신 구조 오선택: 상대 장비가 보내주길 기다려야 하는 상황(바코드 등)에서 PLC를 Active로 설정합니다.
마무리하며
통신은 결국 약속입니다. 표의 모든 칸을 채우기보다, 상대 장비와 맞춘 설정만 정확히 넣으세요. 만약 설정을 끝냈는데도 값이 안 들어온다면, 파라미터 적용(재기동) 여부와 온라인 쓰기 권한을 함께 확인해 보시기 바랍니다.