장비통신 설정
개요
이 화면은 무엇인가요? 설비(PLC, 센서, IoT 디바이스)와 MES 시스템 간의 통신 연결을 설정·관리하는 화면입니다. OPC-UA, Modbus-TCP, MQTT, EtherNet/IP, PROFINET 등 다양한 산업용 통신 프로토콜을 지원하며, 연결 상태를 실시간으로 모니터링합니다.
누가 사용하나요?
- 💻 시스템관리자: 통신 프로토콜 설정, 연결 문제 해결
- 🔧 설비관리자: 설비별 통신 연결 상태 확인
- 🏗️ SI 엔지니어: 초기 설비 연동 시 통신 설정
언제 사용하나요?
- 새로운 설비를 MES에 연동할 때
- 통신 오류가 발생하여 연결 설정을 점검할 때
- 폴링 주기나 타임아웃 등 통신 파라미터를 최적화할 때
주요 기능
1. 프로토콜별 연결 설정
무엇을 하나요?: 설비와의 통신에 필요한 프로토콜 정보를 설정합니다.
어떻게 사용하나요?:
- 설비를 선택하고 프로토콜유형을 지정합니다
- 호스트주소(IP)와 포트를 입력합니다
- 프로토콜별 추가 설정을 입력합니다:
- Modbus: Slave ID
- OPC-UA: 네임스페이스 URI
- MQTT: 토픽
💡 팁: 하나의 설비에 여러 통신 연결을 설정할 수 있습니다 (예: OPC-UA로 공정데이터, MQTT로 상태정보).
2. 연결 상태 모니터링
무엇을 하나요?: 각 통신 연결의 실시간 상태(connected/disconnected/error)를 확인합니다.
어떻게 사용하나요?:
- 목록에서 연결상태 컬럼을 확인합니다
- 마지막연결시각으로 최근 통신 성공 시점을 파악합니다
- error 상태인 연결은 설정을 점검합니다
3. 통신 파라미터 최적화
무엇을 하나요?: 폴링 주기, 타임아웃, 재시도 횟수를 조정합니다.
어떻게 사용하나요?:
- 폴링주기(ms)로 데이터 수집 간격을 설정합니다
- 타임아웃(ms)으로 응답 대기 시간을 설정합니다
- 재시도횟수로 통신 실패 시 재연결 횟수를 설정합니다
💡 팁: 폴링 주기가 너무 짧으면 PLC에 부하가 걸립니다. 일반적으로 공정 데이터는 500ms2s, 상태 정보는 510s가 적당합니다.
업무 흐름에서의 위치
| 연결 화면 | 관계 | 설명 |
|---|---|---|
| 설비 마스터 | 설비 참조 | 통신을 설정할 대상 설비 |
| 통신 태그 관리 | 하위 설정 | 이 연결에 속하는 개별 태그 정의 |
입력 항목 가이드
| 항목 | 설명 | 입력 방법 | 예시 |
|---|---|---|---|
| 연결명 | 고유 식별명 | 텍스트 입력 | OPC-CNC01, MQTT-PRESS03 |
| 설비 | 대상 설비 | 설비 목록 선택 | CNC-01, PRESS-03 |
| 프로토콜유형 | 통신 방식 | 드롭다운 선택 | OPC-UA, Modbus-TCP, MQTT |
| 호스트주소 | IP 주소 | 텍스트 입력 | 192.168.1.100 |
| 포 트 | 통신 포트 | 숫자 입력 | 4840(OPC-UA), 502(Modbus) |
| 폴링주기(ms) | 수집 간격 | 숫자 입력 | 1000 (1초) |
| 인증유형 | 보안 방식 | 드롭다운 선택 | none, basic, certificate |
자주 묻는 질문 (FAQ)
Q. 연결상태가 계속 error로 표시됩니다.
A. 다음을 순서대로 확인하세요: (1) 호스트주소와 포트가 정확한지, (2) 방화벽에서 해당 포트가 열려있는지, (3) PLC가 정상 가동 중인지, (4) 인증유형이 맞는지 확인합니다.
Q. 지원하는 프로토콜 목록은 무엇인가요?
A. OPC-UA, Modbus-TCP, Modbus-RTU, MQTT, EtherNet/IP, PROFINET, CC-Link, MT-Connect 총 8가지를 지원합니다.
참고: 데이터 구조
📋 기술 참고 정보 (개발자/관리자용)
테이블 정보
- 테이블명:
equipment_communication_configs - 특성: 사용자 연결(created_by, updated_by), 감사 추적, 인쇄
컬럼 상세
| 항목 | 컬럼명 | 타입 | 필수 |
|---|---|---|---|
| 설비ID | equipment_id | UUID | ✅ |
| 프로토콜유형 | protocol_type | ENUM | ✅ |
| 연결명 | connection_name | VARCHAR | ✅ |
| 호스트주소 | host_address | VARCHAR | ✅ |
| 포트 | port | INT | |
| Modbus Slave ID | slave_id | INT | |
| OPC-UA 네임스페이스 | namespace_uri | VARCHAR | |
| MQTT토픽 | mqtt_topic | VARCHAR | |
| 폴링주기(ms) | polling_interval_ms | INT | ✅ |
| 타임아웃(ms) | timeout_ms | INT | |
| 재시도횟수 | retry_count | INT | |
| 사용여부 | is_active | BOOLEAN | ✅ |
| 인증유형 | auth_type | ENUM | |
| 마지막연결시각 | last_connected_at | TIMESTAMP | |
| 연결상태 | connection_status | ENUM | ✅ |
| 추가설정(JSON) | config_json | JSON |
ER 다이어그램
화면 설정
목록 컬럼: 연결명(link), 설비ID, 프로토콜유형(tag), 호스트주소, 포트, 연결상태(badge), 폴링주기(ms), 사용여부(badge), 마지막연결시각(date)
필터: 연결명(search), 프로토콜유형(select), 연결상태(select), 설비ID(select)