플랫폼 5계층 아키텍처
| 계층 | 역할 | 핵심 기술 | 성능 지표 |
|---|---|---|---|
| 1. 데이터 수집 | PLC 태그 실시간 수집 로봇·센서 데이터 통합 |
OPC-UA Client EtherNet/IP, Modbus TCP REST API Polling |
1M tags/s |
| 2. 표준화·저장 | AASX/JSON 변환 Digital Twin DB 구축 |
AAS 3.0 Generator PostgreSQL (HA) Redis Cache |
2s 변환 |
| 3. AI 분석 | 시퀀스 추출 공법 생성 RAG 템플릿 추천 |
LLM Multi-Agent Vector DB (Pinecone) 시계열 분석 (Prophet) |
85% 정확도 |
| 4. UI·시뮬레이션 | Wizard UI 자동 생성 3D 시뮬레이션 HIL Testbed |
DS Pilot (Unity) AR Twin (QR Marker) WebSocket 실시간 연동 |
<3% 오차 |
| 5. API 서비스 | SaaS 제공 외부 시스템 연계 모바일 앱 지원 |
REST API (ASP.NET) GraphQL (선택적) Multi-tenant 격리 |
1K req/min |
시스템 아키텍처 다이어그램
graph LR
subgraph "Layer 1: Data Collection"
PLC1[PLC - LS Electric]
PLC2[PLC - Siemens]
ROBOT[협동로봇 - FANUC]
SENSOR[IoT 센서]
end
subgraph "Layer 2: Standardization & Storage"
GATEWAY[OPC-UA Gateway]
AASGEN[AAS 3.0 Generator]
POSTGRES[(PostgreSQL HA)]
REDIS[(Redis Cluster)]
MINIO[(MinIO Object Store)]
end
subgraph "Layer 3: AI Analysis"
LLM1[Sequence Extractor]
LLM2[Flow Designer]
LLM3[Code Generator]
VECTORDB[(Pinecone Vector DB)]
end
subgraph "Layer 4: UI & Simulation"
WIZARD[Wizard UI - Blazor]
DSPILOT[DS Pilot - Unity 3D]
AR[AR Twin - Mobile]
end
subgraph "Layer 5: API Services"
RESTAPI[REST API]
GRAPHQL[GraphQL]
WEBSOCKET[WebSocket]
end
PLC1 --> GATEWAY
PLC2 --> GATEWAY
ROBOT --> GATEWAY
SENSOR --> GATEWAY
GATEWAY --> AASGEN
AASGEN --> POSTGRES
AASGEN --> REDIS
AASGEN --> MINIO
POSTGRES --> LLM1
LLM1 --> LLM2
LLM2 --> LLM3
VECTORDB -.RAG.-> LLM2
LLM3 --> WIZARD
LLM3 --> DSPILOT
POSTGRES --> WIZARD
POSTGRES --> DSPILOT
POSTGRES --> AR
WIZARD --> RESTAPI
DSPILOT --> RESTAPI
AR --> RESTAPI
RESTAPI --> GRAPHQL
RESTAPI --> WEBSOCKET
DS 도메인 모델 계층 구조
Project
공장/라인 단위 최상위 컨테이너. 여러 DsSystem을 포함하며 AASX로 export/import 가능.
DsSystem
설비/로봇 단위. Flow, ApiDef, Device, Tag를 포함. PLC 연결 및 제어 로직 정의.
Flow
작업 흐름 정의. Work 객체들을 ArrowBetweenWorks로 연결. Auto/Manual/Emergency 모드.
Work
작업 단위. Call 객체들을 포함하고 ArrowBetweenCalls로 연결. 순차/병렬/반복 실행.
Call
API 호출 단위. ApiCall을 참조하여 실제 로봇/디바이스 제어 명령 실행.
ApiDef & ApiCall
ApiDef는 인터페이스 정의, ApiCall은 구체적 구현. 로봇/디바이스 제어 명령.
계층별 기술 스택 상세
| 카테고리 | 기술 | 버전 | 선택 이유 |
|---|---|---|---|
| 백엔드 | ASP.NET Core | 8.0 | 고성능, 크로스 플랫폼, 엔터프라이즈 검증 |
| F# (Ev2.Core) | 8.0 | 함수형 프로그래밍, 타입 안전성, 도메인 모델링 | |
| SignalR | 8.0 | 실시간 WebSocket 통신, 확장성 | |
| 데이터베이스 | PostgreSQL | 16 | ACID, JSONB 지원, 확장성, RLS(Row-Level Security) |
| TimescaleDB | 2.14 | 시계열 데이터 최적화, 자동 압축 | |
| Redis | 7.2 | 캐싱, 세션, Pub/Sub, 분산 락 | |
| AI/ML | OpenAI GPT-4o | Latest | 코드 생성, 시퀀스 분석, 자연어 처리 |
| Pinecone | v2 | 벡터 검색, RAG, 템플릿 추천 | |
| 프론트엔드 | Blazor WebAssembly | 8.0 | C# 재사용, 타입 안전성, 고성능 |
| Unity | 2022 LTS | 3D 시뮬레이션, 물리 엔진, 멀티 플랫폼 | |
| 인프라 | Kubernetes | 1.29 | 컨테이너 오케스트레이션, Auto-scaling, HA |
| MinIO | Latest | S3 호환 객체 스토리지, On-premise 가능 |
계층 간 데이터 플로우
수집 → 저장
• PLC/로봇 데이터 수집 (1초 주기)
• AAS 3.0 형식 변환
• PostgreSQL 저장 (시계열 파티셔닝)
• Redis 캐시 (Hot Data)
• MinIO 파일 저장 (AASX)
• AAS 3.0 형식 변환
• PostgreSQL 저장 (시계열 파티셔닝)
• Redis 캐시 (Hot Data)
• MinIO 파일 저장 (AASX)
저장 → AI 분석
• Digital Twin DB 읽기
• 시퀀스 패턴 추출 (1주 이력)
• LLM Prompt 구성 (RAG Context)
• Flow/Work/Call 생성
• Vector DB에 임베딩 저장
• 시퀀스 패턴 추출 (1주 이력)
• LLM Prompt 구성 (RAG Context)
• Flow/Work/Call 생성
• Vector DB에 임베딩 저장
AI 분석 → UI
• JSON → Wizard UI 표시
• 3D 시뮬레이션 바인딩
• Cycle Time 예측 (오차 3%)
• 검증 결과 시각화
• HIL Testbed 실행
• 3D 시뮬레이션 바인딩
• Cycle Time 예측 (오차 3%)
• 검증 결과 시각화
• HIL Testbed 실행
UI → API 서비스
• REST API 제공 (CRUD)
• WebSocket 실시간 업데이트
• AASX 다운로드
• PLC 코드 Export (6개 브랜드)
• Multi-tenant 격리
• WebSocket 실시간 업데이트
• AASX 다운로드
• PLC 코드 Export (6개 브랜드)
• Multi-tenant 격리
💡 아키텍처 핵심 강점
- 확장성: 계층 분리로 새로운 UI (PowerPoint/WinForms/Web) 추가 시 계층 5만 수정
- 표준 준수: AAS 3.0, OPC-UA, IEC 61131-3 국제 표준 자동 적용 → 글로벌 호환성
- AI 통합: 계층 3의 LLM이 계층 2의 Digital Twin을 학습 데이터로 활용 → 지속 개선
- 템플릿 재사용: 계층 2의 AASX가 템플릿 라이브러리 역할 (300종 목표) → 설계 시간 단축
- 멀티 테넌트: 계층 5의 API 서비스가 기업별 데이터 완전 격리 → SaaS 안전성
- DevOps 자동화: 계층 4의 시뮬레이션이 배포 전 품질 검증 (CI/CD) → 무결성 보장
- 고성능: Redis 캐싱 + PostgreSQL HA → 99.9% 가용성, 1M tags/s 처리
- 비용 효율: On-premise 가능 (MinIO, PostgreSQL) → 클라우드 비용 절감
보안 및 확장성
보안
• 인증: OAuth 2.0 + JWT + MFA
• 인가: RBAC (5개 역할)
• 암호화: TLS 1.3 (전송), AES-256 (저장)
• 감사: 모든 API 호출 로깅 (90일 보존)
• 준수: GDPR, ISO 27001
• 인가: RBAC (5개 역할)
• 암호화: TLS 1.3 (전송), AES-256 (저장)
• 감사: 모든 API 호출 로깅 (90일 보존)
• 준수: GDPR, ISO 27001
확장성
• 수평 확장: Kubernetes Auto-scaling
• 데이터 파티셔닝: TimescaleDB (월 단위)
• 캐싱: Redis Cluster (3노드)
• 로드 밸런싱: NGINX (Round-robin)
• 목표: 10,000 동시 사용자
• 데이터 파티셔닝: TimescaleDB (월 단위)
• 캐싱: Redis Cluster (3노드)
• 로드 밸런싱: NGINX (Round-robin)
• 목표: 10,000 동시 사용자