문제 해결
증상 별로 빠르게 찾아 해결할 수 있도록 정리했습니다.
systemctl is-active plantpulse-edge.service 가 active 면 컨테이너 모드 — 일부 증상은
컨테이너 모드 운영 가이드 의 "장애 대응" 절 또는 박스 안 /opt/kopens/install/RUNBOOK.md
의 시나리오 매트릭스 (A~E) 가 더 빠른 진단을 제공합니다. 진단 정보 일괄 수집:
sudo bash /opt/kopens/install/bin/doctor.sh
# → /tmp/pe-doctor-`<host>`-`<ts>`.tar.zst (support 전달)
빠른 인덱스
| 증상 | 가시는 곳 |
|---|---|
| 게이트웨이 화면이 안 열려요 | 화면이 안 열려요 |
| 로그인이 안 돼요 | 로그인이 안 돼요 |
| 연결이 안 돼요 (PLC) | 연결이-안-돼요 |
| 연결은 되는데 값이 안 들어와요 | 값이 안 들어와요 |
| 값이 들어오는데 이상해요 | 값이 이상해요 |
| 값이 갑자기 안 들어와요 | 값이 갑자기 끊겼어요 |
| 화면이 느려요 | 화면이 느려요 |
| 메모리/디스크 가 빨개요 | 자원이 부족해요 |
| 클라우드 / SCADA 로 데이터 전송이 안 돼요 | 전송이 안 돼요 |
| 태그 [쓰기] 가 안 돼요 | 값을 쓸 수 없어요 |
화면이 안 열려요
브라우저에서 게이트웨이 IP 를 입력했는데 페이지가 뜨지 않는 경우.
1단계 — PC 에서 게이트웨이가 보이는지 확인
명령 프롬프트에서:
ping <게이트웨이 IP>
응답이 없다면 네트워크 / 케이블 / VPN 문제. 시스템 관리자에게 “게이트웨이가 안 보인다” 고 알리세요.
2단계 — 다른 브라우저 / 사용자 시도
다른 PC 에서도 같은 증상이면 게이트웨이 자체가 꺼졌거나 멈췄을 가능성. 시스템 관리자가 게이트웨이 PC 를 재부팅해야 합니다.
3단계 — URL 확인
http://게이트웨이IP/가 보통의 형식입니다.- 포트 번호가 함께 붙어있는 경우 (예:
http://게이트웨이IP:8080/) 도 있습니다. - 사내 표준 URL 을 모르겠으면 동료에게 확인하세요.
로그인이 안 돼요
비밀번호를 잊었어요
기본 비밀번호로 시도해보세요.
- ID:
admin - 비밀번호:
admin123!
이미 변경된 환경이라면 시스템 관리자에게 비밀번호 초기화 요청.
로그인 후 바로 튕겨요
세션 / 쿠키 문제일 수 있습니다. 브라우저의 쿠키를 비우고 다시 시도하세요.
연결이 안 돼요
[연결] 화면에서 빨간색 “연결 실패” 가 표시되는 상황.
1단계 — 같은 PC 에서 PLC 가 보이나요
게이트웨이 PC 에서 PLC IP 로 ping 이 가는지 시스템 관리자에게 요청해 확인하세요.
2단계 — 포트가 맞나요
PLC 종류별 기본 포트:
| PLC | 포트 |
|---|---|
| OPC-UA (Kepware) | 49320 |
| Modbus TCP | 502 |
| 미쓰비시 (Q/L) | 5000 또는 1029 (PLC 설정값) |
| 미쓰비시 (iQ-R) | 1500 |
| 지멘스 S7 | 102 |
| LS | 2004 |
| AB EtherNet/IP | 44818 |
PLC 측 통신 모듈이 활성화되어 있어야 합니다.
3단계 — PLC 측 보안 설정
| PLC | 추가 설정 필요 |
|---|---|
| 지멘스 S7 | TIA Portal 에서 “PUT/GET 통신 허용” 활성화 + DB 의 Optimized 모드 OFF |
| 미쓰비시 | GX Works 에서 “MC 프로토콜 / TCP / 포트” 활성화 |
| OPC-UA | 사용자 / 비밀번호 또는 익명 접속 허용 |
| LS | ICMP (ping) 가 차단되어 있지 않을 것 |
4단계 — 사용자 / 비밀번호
OPC-UA 처럼 인증이 있는 PLC 는 ID / 비밀번호가 정확해야 합니다. PLC 의 [수정] 폼에서 다시 입력해 시도해보세요.
값이 안 들어와요
연결은 “정상 연결” 인데 태그의 [현재 값] 칸이 비어있는 경우.
1단계 — PLC 주소 표기 확인
가장 흔한 원인입니다. PLC 종류별로 표기가 다릅니다.
- 미쓰비시:
D100,M50(앞에%없음) - 지멘스:
%DB1.DBW0(앞에%, DB 번호 + DBW/DBD) - LS:
D00309(5 자리 숫자) - OPC-UA:
ns=2;s=경로형식
자기 PLC 페이지의 [PLC 주소 표기] 절을 다시 확인해보세요.
2단계 — 데이터 형식 / 형식 보조 확인
32-bit 이상 값인데 [형식 보조] 가 비어있으면 16-bit 으로 잘못 읽혀 값이 안 보일 수 있습니다.
- 32-bit 정수: 형식 보조 =
DW - 32-bit 실수: 형식 보조 =
REAL - 64-bit 실수: 형식 보조 =
LREAL
3단계 — 다른 도구로 같은 주소 검증
PLC 작성 도구 (GX Works / TIA Portal / XG5000 / UA Expert) 의 모니터 / Watch 화면에서 같은 주소가 실제로 동작하는지 확인하세요.
값이 이상해요
들어오긴 하는데 숫자가 너무 크거나 작거나 부호가 반대인 경우.
32-bit 인데 16-bit 으로 읽힘
값이 무작위로 보이거나 한쪽이 잘려 보이는 패턴. [형식 보조] 에 DW (정수) 또는 REAL (실수) 을 명시하세요.
부호없는 값을 부호있는 값으로 읽음
예: 65535 가 -1 로 보이는 경우. [형식 보조] 에 UI (16-bit 부호없음) 또는 UDW (32-bit 부호없음) 명시.
byte / word 순서 (endian) 가 반대
특정 슬레이브 (Modbus 슬레이브에서 흔함) 가 little-endian 으로 값을 보내면 32-bit 실수가 깨져 보입니다.
- Modbus 라면 자료형 표기를
:UDINT_LSWORD_FIRST같은 변형으로 시도 - 다른 PLC 는 계산식 적용 으로 후처리하기 어려운 경우가 있어 시스템 관리자에게 문의
단위가 다름
PLC 가 정수 raw 값 (예: 1638) 을 보내는데 실제 의미는 163.8 같은 경우. 계산식 적용 으로 ${VALUE}*0.1 을 입력해 단위 변환.
값이 갑자기 끊겼어요
잘 들어오던 값이 어느 순간부터 안 들어오는 경우.
1단계 — 연결 상태 확인
[연결] 메뉴에서 그 PLC 의 연결 상태가 어떤가요?
| 상태 | 의미 / 다음 행동 |
|---|---|
| 빨강 “연결 실패” | PLC 측에 문제. PLC 를 재부팅하거나 케이블 / 네트워크 점검 |
| 회색 “중지” | 누가 [중지] 를 눌렀거나 자동 정지. [시작] 버튼으로 재개 |
| 초록 “정상 연결” + 값만 안 옴 | PLC 의 그 주소가 비활성화됐을 가능성 |
2단계 — PLC 자체 점검
- PLC 가 RUN 모드인지 (STOP 으로 빠진 경우 값이 멈춤)
- 그 주소 영역의 메모리 보호 설정 변경 여부
- PLC 펌웨어 업데이트 / 재부팅 직후라면 잠시 기다리면 자동 재연결
3단계 — 게이트웨이 재시작
[설정] → [애플리케이션 재시작] 으로 게이트웨이 자체를 다시 띄워 봅니다. 1 분 안에 복구됩니다.
화면이 느려요
PLC 가 너무 많거나 태그가 많을 때 첫 로딩이 1~2 초 정도 지연될 수 있습니다.
- 일반적으로는 큰 문제 아닙니다.
- 메인 화면의 CPU 게이지가 빨갛다면 게이트웨이 PC 자원이 부족할 가능성. 시스템 관리자에게 문의.
자원이 부족해요
메인 화면의 CPU / 메모리 / 디스크 게이지가 빨갛게 표시되는 경우.
| 게이지 | 대처 |
|---|---|
| CPU | 너무 짧은 수집 주기를 사용 중인 PLC 가 있는지 확인. 1초 이상으로 늘리세요 |
| 메모리 | [설정] → [애플리케이션 재시작] 으로 일시 해소 가능. 반복되면 시스템 관리자에게 메모리 증설 요청 |
| 디스크 | [설정] → [임시파일 청소]. 시계열 보존 기간이 너무 길어서일 수도 있음 |
전송이 안 돼요
값은 잘 수집되는데 클라우드 / SCADA / MQTT 로 전달이 안 되는 경우.
MQTT / Sparkplug 미발행
- 시스템 관리자에게 “MQTT 활성화 상태” 확인 요청
- 같은 게이트웨이 PC 에서 MQTT 브로커 (HiveMQ 등) 가 가동 중인지 확인
플랫폼 API 응답 없음
- PlantPulse 플랫폼 자체에 접속 불가 → 본사 / 운영팀에 문의
- 게이트웨이 자체는 큐에 쌓아두므로 일시 단절은 자동 복구됩니다.
자세한 시스템 관리자용 로그 키워드 / 로그 위치는 고급 — 개발자 노트 참고.
마지막 수단
- [설정] → [로그 다운로드] 로 진단 로그 일괄 다운로드
- [설정] → [애플리케이션 재시작] 으로 게이트웨이만 재시작 (1 분)
- [설정] → [시스템 리부트] 로 PC 자체 재부팅 (3~5 분)
여전히 해결이 안 되면 다운로드한 로그를 첨부해 KOPENS 또는 PlantPulse 운영팀에 문의해주세요.
값을 쓸 수 없어요
태그 행 끝의 [쓰기] 아이콘을 눌렀는데 "쓰기 실패" / "driver returned false" 같은 메시지가 나오는 경우.
프로토콜별 쓰기 지원
쓰기는 PLC 종류마다 지원 여부가 다릅니다.
| 가지고 계신 PLC | 쓰기 지원 | 비고 |
|---|---|---|
| 미쓰비시 (MELSEC) | ✅ 가능 | Q/L/iQ-R 모두 지원 |
| 지멘스 (S7) | ✅ 가능 | DB/M/I/Q 영역 |
| OPC-UA (Kepware 등) | ✅ 가능 | 대상 노드의 Write 권한 필요 |
| Modbus TCP | ✅ 가능 | Holding Register / Coil |
| HTTP 푸시 | ✅ 가능 (캐시) | — |
| LS ELECTRIC (XGI/XBC/XBM) | ✅ 가능 | Bit/Byte/Word/DWord/Float/Double |
| AB EtherNet/IP | ✅ 가능 | PLC 펌웨어/패치에 따라 일부 타입 거부될 수 있음 |
자주 보이는 메시지
| 메시지 | 의미 / 대처 |
|---|---|
쓰기 실패 (opc_type=...) | 드라이버가 false 반환. 주소 형식, 데이터 타입(format), PLC 의 Write 권한 점검 |
tag not found: ... | 잘못된 태그 ID. 새로고침 후 다시 시도 |
scheduler not running for opc_id=... | 해당 PLC 가 [중지] 상태. [시작] 버튼 누르고 재시도 |
OPC ... 가 PLC 와 연결되어 있지 않습니다 | DISCONNECTED 상태에서 write 시도 — IP/포트/방화벽 확인 후 재시작 |
그래도 안 되면
- 시스템 관리자에게 [PLC 종류 + 태그 ID + 메시지 전체] 알려주세요.
- 게이트웨이 로그에서 더 자세한 원인을 확인할 수 있습니다.