<mxfile host="Electron" modified="2026-07-21T00:00:00.000Z" agent="Architects Edge" version="24.7.17">
  <diagram id="M03-IoT-Engineering-After.drawio" name="Page-1">
    <mxGraphModel dx="1600" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1440" pageHeight="720" math="0" shadow="0">
      <root>
        <mxCell id="0"/>
        <mxCell id="1" parent="0"/>
        <mxCell id="ig-title" value="Line 7 Pilot: Engineering Integration View" style="text;html=1;align=left;fontFamily=Arial;fontSize=25;fontStyle=1;fontColor=#17365D;" vertex="1" parent="1"><mxGeometry x="45" y="25" width="1280" height="48" as="geometry"/></mxCell>
        <mxCell id="ig-plant" value="PLANT NETWORK" style="swimlane;html=1;horizontal=1;startSize=32;rounded=1;fontFamily=Arial;fontSize=12;fontStyle=1;fillColor=#F3F4F6;strokeColor=#7A8797;" vertex="1" parent="1"><mxGeometry x="45" y="135" width="370" height="430" as="geometry"/></mxCell>
        <mxCell id="ig-plc" value="PLC tags&lt;br&gt;vibration, temperature, cycle state" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Arial;fontSize=13;fillColor=#FFFFFF;strokeColor=#7A8797;" vertex="1" parent="1"><mxGeometry x="85" y="210" width="250" height="70" as="geometry"/></mxCell>
        <mxCell id="ig-scada" value="SCADA historian" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Arial;fontSize=13;fillColor=#FFFFFF;strokeColor=#7A8797;" vertex="1" parent="1"><mxGeometry x="85" y="335" width="180" height="55" as="geometry"/></mxCell>
        <mxCell id="ig-edge" value="Edge Gateway&lt;br&gt;OPC-UA to MQTT&lt;br&gt;24-hour local buffer" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Arial;fontSize=13;fontStyle=1;fillColor=#EAF4FB;strokeColor=#0078D4;" vertex="1" parent="1"><mxGeometry x="230" y="445" width="150" height="85" as="geometry"/></mxCell>
        <mxCell id="ig-iot" value="Azure IoT Hub" style="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;aspect=fixed;fontFamily=Arial;fontSize=12;fontColor=#24364B;whiteSpace=wrap;html=1;image=img/lib/azure2/iot/IoT_Hub.svg;" vertex="1" parent="1"><mxGeometry x="500" y="205" width="95" height="96" as="geometry"/></mxCell>
        <mxCell id="ig-stream" value="Stream Analytics" style="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;aspect=fixed;fontFamily=Arial;fontSize=12;fontColor=#24364B;whiteSpace=wrap;html=1;image=img/lib/azure2/analytics/Stream_Analytics_Jobs.svg;" vertex="1" parent="1"><mxGeometry x="690" y="205" width="105" height="96" as="geometry"/></mxCell>
        <mxCell id="ig-ml" value="Azure Machine Learning" style="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;aspect=fixed;fontFamily=Arial;fontSize=12;fontColor=#24364B;whiteSpace=wrap;html=1;image=img/lib/azure2/ai_machine_learning/Azure_Machine_Learning.svg;" vertex="1" parent="1"><mxGeometry x="900" y="205" width="105" height="96" as="geometry"/></mxCell>
        <mxCell id="ig-dash" value="Operations dashboard" style="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;aspect=fixed;fontFamily=Arial;fontSize=12;fontColor=#24364B;whiteSpace=wrap;html=1;image=img/lib/azure2/general/Dashboard.svg;" vertex="1" parent="1"><mxGeometry x="1190" y="205" width="105" height="96" as="geometry"/></mxCell>
        <mxCell id="ig-store" value="Telemetry archive" style="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;aspect=fixed;fontFamily=Arial;fontSize=12;fontColor=#24364B;whiteSpace=wrap;html=1;image=img/lib/azure2/storage/Storage_Accounts.svg;" vertex="1" parent="1"><mxGeometry x="690" y="420" width="105" height="96" as="geometry"/></mxCell>
        <mxCell id="ig-monitor" value="Health and alerting" style="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;aspect=fixed;fontFamily=Arial;fontSize=12;fontColor=#24364B;whiteSpace=wrap;html=1;image=img/lib/azure2/management_governance/Monitor.svg;" vertex="1" parent="1"><mxGeometry x="990" y="420" width="105" height="96" as="geometry"/></mxCell>
        <mxCell id="ig-contract" value="Message contract&lt;br&gt;machineId | timestamp | tag | value | quality" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Arial;fontSize=12;fillColor=#FFF4CE;strokeColor=#D6B656;" vertex="1" parent="1"><mxGeometry x="470" y="535" width="220" height="78" as="geometry"/></mxCell>
        <mxCell id="ig-rule" value="Fail-safe: production continues if cloud link is unavailable" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Arial;fontSize=12;fontStyle=1;fillColor=#E6F4EA;strokeColor=#107C10;" vertex="1" parent="1"><mxGeometry x="1125" y="440" width="240" height="70" as="geometry"/></mxCell>
        <mxCell id="ige1" value="OPC-UA" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#6B7C93; fontFamily=Arial;fontSize=10;fontColor=#526273;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="ig-plc" target="ig-edge"><mxGeometry relative="1" as="geometry"/></mxCell>
        <mxCell id="ige2" value="historian" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#6B7C93; fontFamily=Arial;fontSize=10;fontColor=#526273;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="ig-scada" target="ig-edge"><mxGeometry relative="1" as="geometry"/></mxCell>
        <mxCell id="ige3" value="MQTT/TLS" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#6B7C93; fontFamily=Arial;fontSize=10;fontColor=#526273;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="ig-edge" target="ig-iot"><mxGeometry relative="1" as="geometry"/></mxCell>
        <mxCell id="ige4" value="telemetry" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#6B7C93; fontFamily=Arial;fontSize=10;fontColor=#526273;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="ig-iot" target="ig-stream"><mxGeometry relative="1" as="geometry"/></mxCell>
        <mxCell id="ige5" value="features" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#6B7C93; fontFamily=Arial;fontSize=10;fontColor=#526273;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="ig-stream" target="ig-ml"><mxGeometry relative="1" as="geometry"/></mxCell>
        <mxCell id="ige6" value="health score" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#6B7C93; fontFamily=Arial;fontSize=10;fontColor=#526273;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="ig-ml" target="ig-dash"><mxGeometry relative="1" as="geometry"/></mxCell>
        <mxCell id="ige7" value="archive" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#6B7C93; fontFamily=Arial;fontSize=10;fontColor=#526273;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="ig-stream" target="ig-store"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="742" y="350"/><mxPoint x="742" y="395"/></Array></mxGeometry></mxCell>
        <mxCell id="ige8" value="metrics and alerts" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#2B6CB0;dashed=1;dashPattern=6 4; fontFamily=Arial;fontSize=10;fontColor=#526273;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="ig-monitor" target="ig-iot"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1042" y="640"/><mxPoint x="548" y="640"/></Array></mxGeometry></mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>