데이터소스 관리
개요
이 메뉴는 무엇인가요?
공장의 센서, PLC, SCADA 등 다양한 데이터소스를 시스템에 등록하고, 각 설비 자산과 데이터 태그를 연결하는 디지털 트윈의 기초 설정 영역입니다. 이 단계가 정확해야 이후 데이터 수집, 모니터링, 분석이 올바르게 동작합니다.
누가 사용하나요?
| 역할 | 주요 업무 |
|---|---|
| IoT 엔지니어 | 데이터소스 연결 설정, 프로토콜 구성, 태그 등록 |
| 설비 담당자 | 설비 자산 계층 구조 등록, 설비 정보 관리 |
언제 사용하나요?
- 신규 설비/라인을 설치하고 센서 데이터를 연결할 때
- 기존 설비에 신규 센서(태그)를 추가할 때
- 설비 자산의 계층 구조(공장 > 라인 > 공정 > 설비)를 정리할 때
- 태그를 그룹으로 묶어 모니터링 대시보드를 구성하기 전
화면 구성
| 순서 | 화면명 | 설명 | 연결 테이블 |
|---|---|---|---|
| 1 | 데이터소스 목록 | 데이터소스(OPC-UA, MQTT 등) 등록 및 연결 관리 | 데이터소스 |
| 2 | 설비자산 계층 | 공장-라인-공정-설비 계층구조 관리 | 설비자산 |
| 3 | 데이터태그 목록 | 센서 태그(온도, 압력 등) 등록 및 설정 | 데이터태그 |
| 4 | 태그그룹 트리 | 태그를 논리적/물리적으로 그룹 분류 | 태그그룹 |
업무 흐름에서의 위치
연결 화면
| 이전 단계 | 현재 (데이터소스 관리) | 다음 단계 |
|---|---|---|
| ERP 설비 마스터 등록 | 데이터소스 연결 → 설비자산 등록 → 태그 등록 | 데이터수집 수집기 설정 |
자주 묻는 질문 (FAQ)
OPC-UA와 MQTT 중 어떤 프로토콜을 선택해야 하나요?
- OPC-UA: 산업 표준으로 보안이 강력하고, PLC/SCADA와의 직접 연결에 적합합니다. 구조화된 데이터 모델(정보 모델)을 지원합니다.
- MQTT: 경량 프로토콜로 대량의 센서 데이터를 빠르게 수집할 때 유리합니다. 엣지-클라우드 간 통신에 많이 사용합니다.
- 일반적으로 PLC 직접 연결은 OPC-UA, 센서 게이트웨이 연결은 MQTT를 권장합니다.
설비자산 계층은 어떻게 구성하면 좋을까요?
일반적인 제조업 설비 계층 구조는 다음과 같습니다:
- Factory (공장) - 최상위
- Line (라인) - 생산 라인
- Process (공정) - 가공, 조립 등
- Equipment (설비) - 개별 기계
- Component (부품) - 설비 구성 부품
ERP의 설비 마스터와 일 치시키면 솔루션 간 데이터 연계가 원활합니다.
태그의 샘플링 주기는 어떻게 설정하나요?
용도별 권장 주기:
- 진동/진단: 1~10ms (고속 수집)
- 온도/압력: 1,000~5,000ms (일반 수집)
- 에너지/환경: 10,000~60,000ms (저속 수집)
주기가 짧을수록 데이터 저장량이 증가하므로, 데드밴드 설정과 함께 최적화하세요.
실무 시나리오
신규 생산라인 센서 연결
상황: 1공장에 신규 조립 라인이 설치되었고, 5대의 로봇에 온도·진동·전류 센서를 연결해야 합니다.
처리 순서:
- 데이터소스 목록 에서 OPC-UA 서버를 데이터소스로 등록하고 연결을 확인합니다
- 설비자산 계층 에서
1공장 > 조립라인 > 로봇1~5를 계층 구조로 등록합니다 - 데이터태그 목록 에서 각 로봇별 온도·진동·전류 태그를 등록하고 OPC-UA 주소를 매핑합니다
- 태그그룹 트리 에서
조립라인-온도,조립라인-진동등으로 태그를 그룹화합니다 - 데이터수집 메뉴에서 수집기를 설정하여 데이터 수집을 시작합니다
참고: 데이터 관계도
참고: 테이블 구조
데이터소스 (data_sources)
| 컬럼명 | 한글명 | 타입 | 설명 |
|---|---|---|---|
source_code | 소스코드 | VARCHAR *필수 *고유 | - |
source_name | 소스명 | VARCHAR *필수 | - |
source_type | 소스유형 | ENUM(OPC-UA, MODBUS, MQTT, REST-API, DATABASE, PLC, SPARKPLUG-B) *필수 | - |
protocol | 프로토콜 | VARCHAR | 통신 프로토콜 상세 |
host | 호스트 | VARCHAR | IP 또는 도메인 |
port | 포트 | INT | 연결 포트 번호 |
auth_type | 인증유형 | ENUM(none, basic, certificate, token) | - |
connection_config | 연결설정 | TEXT | JSON 형태의 연결 상세 설정 |
is_active | 사용여부 | BOOLEAN | - |
connection_status | 연결상태 | ENUM(connected, disconnected, error, unknown) | 현재 연결 상태 |
설비자산 (equipment_assets)
| 컬럼명 | 한글명 | 타입 | 설명 |
|---|---|---|---|
asset_code | 자산코드 | VARCHAR *필수 *고유 | - |
asset_name | 자산명 | VARCHAR *필수 | - |
asset_type | 자산유형 | ENUM(pump, motor, conveyor, robot, sensor, valve, compressor, other) *필수 | - |
hierarchy_level | 계층레벨 | ENUM(factory, line, process, equipment, component) | 설비 계층 레벨 |
equipment_status | 설비상태 | ENUM(running, idle, maintenance, breakdown, decommissioned) *필수 | 현재 설비 가동 상태 |
criticality | 중요도 | ENUM(A, B, C) | A=핵심, B=중요, C=일반 |
데이터태그 (data_tags)
| 컬럼명 | 한글명 | 타입 | 설명 |
|---|---|---|---|
tag_code | 태그코드 | VARCHAR *필수 *고유 | - |
tag_name | 태그명 | VARCHAR *필수 | - |
data_type | 데이터타입 | ENUM(FLOAT, INTEGER, BOOLEAN, STRING) *필수 | - |
unit | 단위 | VARCHAR | 온도, 압력, RPM 등 |
tag_category | 태그분류 | ENUM(process, quality, environment, energy, safety, diagnostic) | 태그 분류 카테고리 |
태그그룹 (tag_groups)
| 컬럼명 | 한글명 | 타입 | 설명 |
|---|---|---|---|
group_code | 그룹코드 | VARCHAR *필수 *고유 | - |
group_name | 그룹명 | VARCHAR *필수 | - |
group_type | 그룹유형 | ENUM(logical, physical, functional, dashboard) | - |