--- id: wiki-2026-0508-digital-thread-integration title: Digital Thread Integration category: 10_Wiki/Topics status: verified canonical_id: self aliases: [Digital Thread, Industrial Data Thread] duplicate_of: none source_trust_level: A confidence_score: 0.9 verification_status: applied tags: [iiot, digital-thread, manufacturing, plm] raw_sources: [] last_reinforced: 2026-05-10 github_commit: applied tech_stack: language: Python/SQL framework: OPC UA/MQTT/Kafka --- # Digital Thread Integration ## 매 한 줄 > **"매 product lifecycle 의 모든 data 가 single linked thread 로 흐르는 것."**. Digital Thread 는 design (CAD) → engineering (PLM) → manufacturing (MES) → operations (IoT) → service (CRM) 까지 매 traceable, queryable 하게 연결하는 매 manufacturing/aerospace 의 backbone. 2026 의 standard: ISA-95 + OPC UA + Asset Administration Shell (AAS) + RAMI 4.0 + IDS data spaces. ## 매 핵심 ### 매 Digital Thread vs Digital Twin - **Thread**: 매 data lineage — design intent ↔ as-built ↔ as-maintained. - **Twin**: 매 simulation model of a specific asset. - **관계**: Twin 은 Thread 의 cross-section snapshot. ### 매 Layer Stack 1. **Edge**: PLC, sensor, OPC UA server. 2. **Connectivity**: MQTT, OPC UA, MTConnect. 3. **Stream**: Kafka / Pulsar — high-throughput. 4. **Storage**: time-series (InfluxDB, TimescaleDB), data lake (Iceberg). 5. **Semantic**: Asset Administration Shell, ontology (W3C SOSA/SSN). 6. **Application**: PLM (Teamcenter, Windchill), MES, ERP. ### 매 응용 1. Aerospace — 매 part traceability, certification. 2. Automotive — 매 EV battery passport (EU 2027 mandate). 3. Industrial maintenance — 매 predictive + service history. 4. Pharma — 매 batch genealogy. 5. EU Digital Product Passport — 매 sustainability. ## 💻 패턴 ### OPC UA client (Python) ```python from asyncua import Client async def main(): async with Client(url="opc.tcp://plant.local:4840") as c: node = c.get_node("ns=2;s=Line1.Press.Temp") async for v in node.subscribe_data_change(callback): pass ``` ### MQTT Sparkplug B (manufacturing-standard payload) ```python import paho.mqtt.client as mqtt import sparkplug_b as sp payload = sp.getDdataPayload() sp.addMetric(payload, "Temp", None, sp.MetricDataType.Float, 72.5) client.publish("spBv1.0/PlantA/DDATA/Edge1/Press1", payload.SerializeToString()) ``` ### Asset Administration Shell submodel ```json { "idShort": "Nameplate", "submodelElements": [ {"idShort":"ManufacturerName","value":"Acme"}, {"idShort":"SerialNumber","value":"SN-A1B2"}, {"idShort":"YearOfConstruction","value":"2026"} ] } ``` ### Kafka pipeline edge → lake ```python from confluent_kafka import Producer import pyarrow.parquet as pq p = Producer({'bootstrap.servers':'kafka:9092','compression.type':'zstd'}) p.produce('plant.line1.temp', key=part_id, value=msg.SerializeToString()) # downstream Flink/Spark → Iceberg table ``` ### Digital Product Passport (EU 2027) ```json { "productId": "urn:gtin:01234567890128", "carbonFootprintKg": 12.4, "materials": [{"name":"Li","massGrams":1200}], "recycledContentPercent": 18, "linkedTwin": "urn:twin:battery:SN-A1B2" } ``` ## 매 결정 기준 | 상황 | Approach | |---|---| | Field bus modernization | OPC UA | | IoT-style telemetry | MQTT Sparkplug B | | Cross-vendor semantics | AAS / IDS | | Stream backbone | Kafka / Pulsar | | Time-series store | TimescaleDB / Influx | | Lake | Iceberg + Trino | **기본값**: 매 OPC UA + MQTT Sparkplug B → Kafka → Iceberg. ## 🔗 Graph - 부모: [[Digital Twins]] · [[Digital Twins|Digital-Twin-Technology]] - 변형: [[클라우드_인프라_및_IaC_운영_표준|IoT]] - 응용: [[Engineering Metrics (DORA)]] - Adjacent: [[Digital Intellectual Property Rights]] ## 🤖 LLM 활용 **언제**: ontology mapping, anomaly summary, maintenance work-order draft. **언제 X**: 매 safety-critical PLC logic — formal verification 만. ## ❌ 안티패턴 - **Polling 오버**: 매 OPC UA subscribe 사용 — pub/sub. - **Untimestamped data**: 매 Thread 의 핵심은 시간 lineage. - **Vendor lock**: 매 proprietary protocol — open standards 사용. - **No identity**: 매 GS1, urn 등 stable id 필수. ## 🧪 검증 / 중복 - Verified: ISA-95 spec; OPC UA Part 1; Plattform Industrie 4.0 AAS spec; EU DPP regulation 2024. - 신뢰도 A. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — Thread vs Twin + OPC UA/MQTT/AAS |