| 위치 |
형식 |
| GUI 창 아래 상태 표시줄 |
pubsub_start failed: MQTT broker connection failed: … |
| GUI PubSub 탭 상태 줄 |
… · last error: MQTT publish refused: 0x87 |
| 헤드리스 응답 |
{"ok":false,"error":"…"} 또는 pubsub_status의 "error" |
| MCP 응답 |
isError가 true인 결과의 텍스트, 또는 opcua_pubsub_status의 "error" |
| 추적 |
Trace & Diagnostics 탭이나 {"action":"trace"}의 error |
| 브로커 로그 |
mosquitto -v 출력이나 log_dest로 정한 파일 |
시뮬레이터 오류 문장은 영어이며 아래 문서들은 그 문장 그대로 찾을 수 있게 정리했습니다.
| 증상 |
문서 |
Start PubSub나 pubsub_start가 실패함 |
연결 문제 |
실행 중에 PubSub가 멈추고 Stopped ·가 보임 |
연결 문제 |
| TLS 브로커나 브리지에 연결되지 않음 |
TLS 문제 |
발행은 되는데 받지 못함, rejected가 늘어남, 발행이 거부됨 |
전달 문제 |
configure나 GUI의 Start PubSub가 구성을 적용할 때 검사하는 항목입니다.
| 오류 |
원인 |
해결 |
MQTT broker address must be an IP socket address |
MQTT broker에 호스트 이름을 썼거나 포트가 없습니다. |
127.0.0.1:1883이나 [::1]:1883처럼 IP 주소와 포트를 씁니다. |
MQTT topic must be 1 to 256 bytes without wildcards |
토픽이 비었거나 256바이트를 넘거나 +, #이 있습니다. |
와일드카드 없는 토픽 하나를 씁니다. |
PubSub transport or role is invalid |
transport가 mqtt, udp가 아니거나 role이 both, publisher, subscriber가 아닙니다. |
값을 고칩니다. |
PubSub identifiers must be non-zero |
publisher_id, writer_group_id, dataset_writer_id 중 0이 있습니다. |
1~65535를 씁니다. |
Stop the endpoint before changing its configuration |
PubSub가 실행 중일 때 PubSub 설정을 바꿨습니다. |
Stop PubSub(pubsub_stop) 뒤에 바꿉니다. |
PubSub is already running |
이미 실행 중입니다. |
멈춘 뒤 다시 시작합니다. |
PubSub is not running |
실행 중이 아닐 때 발행, 수신 확인, 멈춤을 요청했습니다. |
먼저 시작합니다. |
| 오류 |
원인 |
해결 |
This PubSub connection has no publisher |
Role이 Subscriber입니다. |
Publisher나 Publisher and subscriber로 다시 시작합니다. |
fields must be an array of 1 to 64 typed values |
fields가 비었거나 64개를 넘습니다. |
필드를 1~64개로 줍니다. |
Unsupported value type Decimal |
지원하지 않는 형식 이름입니다. |
지원 형식을 씁니다. |
Int32 needs an integer value |
값이 형식과 맞지 않습니다. |
형식에 맞는 JSON 값을 씁니다. |
OPC UA PubSub Limit |
인코딩한 UADP 메시지가 64 KiB를 넘습니다. |
필드 수나 문자열 길이를 줄입니다. |
PubSub command queue is full or stopped |
PubSub 작업이 멈췄습니다(예: 브로커 연결 끊김). |
pubsub_status의 error를 보고 다시 시작합니다. |
MQTT publish failed: … |
브로커 조건 때문에 보낼 수 없습니다. |
전달 문제를 봅니다. |