<div style="text-align: center; padding: 30px; background: #f4f5f7; border-radius: 10px; margin: 20px 0;"> <svg width="100%" height="200" viewBox="0 0 800 200" xmlns="http://www.w3.org/2000/svg" style="max-width: 800px;"> <style> .ot-block { fill: #6c757d; } .it-block { fill: #007bff; } .hub-block { fill: #ff6b35; } .text-label { fill: white; font-weight: bold; font-family: Arial, sans-serif; font-size: 12px; } .data-line { stroke: #333333; stroke-width: 2; stroke-dasharray: 5,5; } </style>
<!-- OT Side -->
<g transform="translate(50, 30)">
<rect width="100" height="140" rx="10" class="ot-block" />
<text x="50" y="30" text-anchor="middle" class="text-label">PLCs/DCS</text>
<circle cx="20" cy="60" r="5" fill="#28a745"/>
<circle cx="20" cy="80" r="5" fill="#28a745"/>
<rect x="40" y="100" width="40" height="20" fill="#495057"/>
</g>
<g transform="translate(170, 30)">
<rect width="100" height="50" rx="10" class="ot-block" />
<text x="50" y="30" text-anchor="middle" class="text-label">RTUs</text>
</g>
<g transform="translate(170, 120)">
<rect width="100" height="50" rx="10" class="ot-block" />
<text x="50" y="30" text-anchor="middle" class="text-label">Devices</text>
</g>
<!-- Arrows -->
<defs>
<marker id="arrowhead" markerWidth="10" markerHeight="7" refX="0" refY="3.5" orient="auto" fill="#333333">
<polygon points="0 0, 10 3.5, 0 7" />
</marker>
</defs>
<line x1="270" y1="55" x2="350" y2="80" class="data-line" marker-end="url(#arrowhead)"/>
<line x1="150" y1="100" x2="350" y2="100" class="data-line" marker-end="url(#arrowhead)"/>
<line x1="270" y1="145" x2="350" y2="120" class="data-line" marker-end="url(#arrowhead)"/>
<line x1="450" y1="80" x2="530" y2="55" class="data-line" marker-end="url(#arrowhead)"/>
<line x1="450" y1="100" x2="530" y2="100" class="data-line" marker-end="url(#arrowhead)"/>
<line x1="450" y1="120" x2="530" y2="145" class="data-line" marker-end="url(#arrowhead)"/>
<!-- Central Hub -->
<g transform="translate(350, 50)">
<rect width="100" height="100" rx="15" class="hub-block" />
<text x="50" y="45" text-anchor="middle" class="text-label">FrameworX</text>
<text x="50" y="65" text-anchor="middle" class="text-label">Hub</text>
</g>
<!-- IT Side -->
<g transform="translate(530, 30)">
<rect width="100" height="50" rx="10" class="it-block" />
<text x="50" y="30" text-anchor="middle" class="text-label">Cloud (IoT)</text>
</g>
<g transform="translate(650, 30)">
<rect width="100" height="50" rx="10" class="it-block" />
<text x="50" y="30" text-anchor="middle" class="text-label">Analytics</text>
</g>
<g transform="translate(530, 120)">
<rect width="100" height="50" rx="10" class="it-block" />
<text x="50" y="30" text-anchor="middle" class="text-label">Databases</text>
</g>
<g transform="translate(650, 120)">
<rect width="100" height="50" rx="10" class="it-block" />
<text x="50" y="30" text-anchor="middle" class="text-label">Historians</text>
</g>
</svg> </div> |