50분
제조 온톨로지 설계: 설비-공정-부품-고장 모델링
제조 온톨로지 설계
제조 온톨로지 설계: 설비-공정-부품-고장 모델링
온톨로지 & Knowledge Graph > 제조 온톨로지 설계
학습 목표
제조 도메인의 핵심 엔티티를 도출한다 설비-공정-부품-고장의 관계를 모델링한다 계층 구조와 연관 관계를 구분하여 설계한다 실제 제조 현장 데이터를 온톨로지에 매핑한다
제조 온톨로지 설계: 루트브릭스 스마트 팩토리
시나리오: 루트브릭스 공장의 Knowledge Graph
[루트브릭스 스마트 팩토리]
공장: 루트브릭스 김포 공장
생산품: 산업용 감속기 (Gearbox)
설비: CNC 가공기 12대, 프레스 4대, 조립 로봇 6대
부품: 200종 이상
작업자: 45명
연간 생산량: 50,000대
현재 문제:
1. 설비 고장 시 평균 대응 시간 2.5시간
2. 숙련공 은퇴로 기술 지식 소실 위기
3. 복합 불량 원인 추적에 평균 4시간 소요
4. 설비 간 영향도 파악 불가
Step 1: 핵심 엔티티 도출
제조 현장에서 "무엇"을 관리해야 하는가?
┌──────────────────────────────────────────────────────────┐
│ 제조 온톨로지 핵심 엔티티 │
├──────────────────────────────────────────────────────────┤
│ │
│ [설비 계층] │
│ Factory (공장) │
│ └── ProductionLine (생산 라인) │
│ └── Equipment (설비) │
│ └── Component (부품/구성요소) │
│ └── Part (세부 부품) │
│ │
│ [공정 계층] │
│ ProductionPlan (생산 계획) │
│ └── Process (공정) │
│ └── Operation (작업) │
│ └── Step (단계) │
│ │
│ [품질/고장 계층] │
│ QualityStandard (품질 기준) │
│ └── Defect (불량) │
│ └── Fault (고장) │
│ └── RootCause (근본 원인) │
│ └── MaintenanceAction (정비 조치) │
│ │
│ [인적 자원] │
│ Department (부서) │
│ └── Team (팀) │
│ └── Worker (작업자) │
│ └── Skill (스킬) │
│ │
│ [자재/공급] │
│ Supplier (공급업체) │
│ └── Material (자재) │
│ └── Inventory (재고) │
│ │
└──────────────────────────────────────────────────────────┘
Step 2: 관계 정의
설비-부품 관계
[설비 포함 관계 - 계층 구조]
(CNC밀링3호기) --[HAS_COMPONENT]--> (스핀들유닛)
(스핀들유닛) --[HAS_PART]-------> (메인베어링)
(스핀들유닛) --[HAS_PART]-------> (스핀들모터)
(스핀들유닛) --[HAS_PART]-------> (냉각시스템)
(CNC밀링3호기) --[HAS_COMPONENT]--> (이송계)
(이송계) --[HAS_PART]-------> (볼스크류)
(이송계) --[HAS_PART]-------> (서보모터)
(이송계) --[HAS_PART]-------> (LM가이드)
(CNC밀링3호기) --[HAS_COMPONENT]--> (유압시스템)
(유압시스템) --[HAS_PART]-------> (유압펌프)
(유압시스템) --[HAS_PART]-------> (유압밸브)
(유압시스템) --[HAS_PART]-------> (유압실린더)
고장-원인-조치 관계
[고장 인과 관계 - 원인 추적]
(알람E201_스핀들과열)
├── [CAUSED_BY] --> (냉각수부족)
│ └── [RESOLVED_BY] --> (냉각수보충)
│ └── [CAUSED_BY] --> (냉각수누수)
│ └── [RESOLVED_BY] --> (호스교체)
│
├── [CAUSED_BY] --> (베어링마모)
│ └── [RESOLVED_BY] --> (베어링교체)
│ └── [INDICATES] --> (수명도래)
│ └── [PREVENTED_BY] --> (정기점검_6개월)
│
└── [CAUSED_BY] --> (과절삭)
└── [RESOLVED_BY] --> (절삭조건수정)
└── [CAUSED_BY] --> (프로그램오류)
└── [RESOLVED_BY] --> (NC프로그램수정)
공정-설비-품질 관계
[공정 흐름과 품질 연계]
(원자재입고) --[NEXT]--> (1차가공_선삭)
(1차가공_선삭) --[NEXT]--> (2차가공_밀링)
(2차가공_밀링) --[NEXT]--> (열처리)
(열처리) --[NEXT]--> (연삭)
(연삭) --[NEXT]--> (조립)
(조립) --[NEXT]--> (최종검사)
(최종검사) --[NEXT]--> (출하)
(1차가공_선삭) --[USES_EQUIPMENT]--> (CNC선반1호기)
(2차가공_밀링) --[USES_EQUIPMENT]--> (CNC밀링3호기)
(조립) --[USES_EQUIPMENT]--> (조립로봇1호)
(1차가공_선삭) --[PRODUCES]--> (기어축_중간재)
(2차가공_밀링) --[PRODUCES]--> (기어_가공품)
(최종검사) --[CHECKS]--> (치수정밀도)
(최종검사) --[CHECKS]--> (표면거칠기)
(최종검사) --[CHECKS]--> (내구성)
(치수정밀도불량) --[TRACED_TO]--> (2차가공_밀링)
(표면거칠기불량) --[TRACED_TO]--> (연삭)
Step 3: 속성 정의
설비 속성
Equipment:
name: string "CNC밀링 3호기"
model: string "VMC-850"
manufacturer: string "화천기계"
installDate: date 2021-06-15
location: string "A동 2라인 3번"
status: enum 운전중 | 정지 | 정비중 | 대기
operatingHours: int 12,450
maintenanceCycle: int 500 (시간)
nextMaintenance: date 2026-02-15
Part:
partNumber: string "BRG-6205-2RS"
name: string "메인 베어링"
manufacturer: string "NSK"
specification: string "내경 25mm, 외경 52mm"
lifespan: int 8000 (시간)
currentHours: int 6500
remainingLife: float 18.75 (%)
cost: int 45000 (원)
leadTime: int 3 (일)
Fault:
alarmCode: string "E-201"
name: string "스핀들 과열"
severity: enum 경고 | 중요 | 긴급
description: string "스핀들 온도가 설정값 초과"
avgOccurrence: float 2.3 (회/월)
avgDowntime: int 45 (분)
lastOccurred: datetime 2026-01-25T14:30:00
MaintenanceAction:
actionCode: string "MA-001"
name: string "냉각수 보충"
difficulty: enum 쉬움 | 보통 | 어려움
requiredSkill: string "기본 정비"
estimatedTime: int 15 (분)
requiredTools: string[] ["없음"]
procedure: string "1. 후면 패널 열기 2. 냉각수 레벨 확인..."
Step 4: 제약 조건 (Constraints)
[온톨로지 제약 조건]
1. 설비는 반드시 하나의 생산라인에 속한다
Equipment --[BELONGS_TO]--> ProductionLine (1:N)
2. 공정은 최소 하나의 설비를 사용한다
Process --[USES_EQUIPMENT]--> Equipment (N:M)
3. 고장은 최소 하나의 원인을 가진다
Fault --[CAUSED_BY]--> RootCause (1:N)
4. 정비 조치는 반드시 필요 스킬이 있다
MaintenanceAction --[REQUIRES_SKILL]--> Skill (N:M)
5. 작업자는 보유 스킬만 해당하는 조치를 수행할 수 있다
Worker --[CAN_PERFORM]--> MaintenanceAction
(Worker의 HAS_SKILL과 Action의 REQUIRES_SKILL 매칭 필요)
완성된 온톨로지 다이어그램
┌─────────────────────────────────────────────────────────────────────┐
│ 루트브릭스 제조 온톨로지 전체 구조 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ [Factory] │
│ │ HAS_LINE │
│ ▼ │
│ [ProductionLine] ──PERFORMS──> [Process] ──NEXT──> [Process] │
│ │ HAS_EQUIPMENT │ │ │
│ ▼ │ PRODUCES │ │
│ [Equipment] ◄──USES_EQUIPMENT────┘ │ │ │
│ │ HAS_COMPONENT ▼ │ │
│ ▼ [Product] │ │
│ [Component] │ CHECKED_BY │ │
│ │ HAS_PART ▼ TRACED_TO │
│ ▼ [QualityCheck]◄──────────┘ │
│ [Part] ──CAN_CAUSE──> [Fault] │ │
│ │ │ DETECTS │
│ │ SUPPLIED_BY │ CAUSED_BY │ │
│ ▼ ▼ ▼ │
│ [Supplier] [RootCause] [Defect] │
│ │ │
│ │ RESOLVED_BY │
│ ▼ │
│ [MaintenanceAction] │
│ │ REQUIRES_SKILL │
│ ▼ │
│ [Worker] ──HAS_SKILL──> [Skill] │
│ │ │
│ │ OPERATES │
│ └──────────> [Equipment] │
│ │
└─────────────────────────────────────────────────────────────────────┘AI로 학습하기 — 꿀팁
🧪온톨로지를 AI와 함께 검증하기AI 학습 팁
설계한 온톨로지를 AI에게 보여주고 빠진 개념·관계를 지적받으면 설계 품질이 크게 올라갑니다.
당신은 제조 온톨로지 전문가입니다. CNC 가공 라인의 핵심 개념을 설비/공정/부품/고장 노드 타입과 그 관계로 정리해 RDF 트리플로 제안해줘. 그리고 내가 놓치기 쉬운 개념·관계도 따로 지적해줘.
이 팁이 도움이 됐나요?
실습 — 직접 해보기
🧪그래프 스키마 디자이너
설비·공정·부품·고장 온톨로지를 시각적으로 설계해보세요
핵심 포인트
- • 제조 온톨로지의 핵심 엔티티: 설비, 공정, 부품, 고장, 조치, 작업자
- • 계층 관계(HAS_COMPONENT)와 인과 관계(CAUSED_BY)를 구분하여 설계
- • 속성에는 정비 주기, 잔여 수명 등 예지 보전에 필요한 정보 포함
- • 제약 조건으로 데이터 품질과 논리적 일관성을 보장