Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Food Manufacturer’s ERP system used standard costing models with assumptions that often varied up to 50% from reality. With sales demand exceeding capacity, management needed to decide which orders to accept or decline, but ERP data couldn’t reliably show true profitability by SKU.

2. The Solution:

HTML
<div>
<div style="margin:0;padding:0;line-height:0;">
  <svg xmlns="http://www.w3.org/2000/svg"
       viewBox="0 0 1000900 520"220"
       width="100%" height="520"
       style="display:block;margin:0;padding:0;vertical-align:top;font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, 'Liberation Mono', monospace; font-size:14px; display:block; margin:0 auto;13px;">
    <defs>
      <marker id="arrow" viewBox="0 0 10 10" refX="10" refY="5" markerWidth="10" markerHeight="10" orient="auto-start-reverse">
        <path d="MM0 0 0 L 10L10 5 LL0 0 10 zZ" fill="#333"/>
      </marker>
    </defs>

    <!-- TitleHeader -->
    <text x="350335" y="3016">[ DataHub (TapProvider) / UI ]</text>

    <!-- Vertical to linesplit -->
    <line x1="500450" y1="4022" x2="500450" y2="8040" stroke="#333"/>

    <!-- HorizontalSplit splitbar -->
    <line x1="10040" y1="8040" x2="900860" y2="8040" stroke="#333"/>

    <!-- Left branch (label sits above path to save vertical space) -->
    <text x="160" y="32">reads historical + alarms</text>
    <line x1="220160" y1="8040" x2="220160" y2="13070" stroke="#333"/>

    <!-- Right branch -->
    <text x="240640" y="11032">reads historicallive +device alarms<values</text>

  <!-- Right branch -->
  <line x1="780740" y1="8040" x2="780740" y2="13070" stroke="#333"/>
  <text x="600" y="110">reads live device values</text>


    <!-- Left box: Historian -->
    <rect x="6040" y="13070" width="320330" height="11090" rx="108" ry="108" fill="#f9f9f9" stroke="#333"/>
    <text x="8058" y="15590">[ Postgres + TimescaleDB ]</text>
    <text x="8058" y="180112">Historian + Alarms</text>

    <!-- Right box: Edge Sites -->
    <rect x="520470" y="13070" width="400390" height="180120" rx="108" ry="108" fill="#f9f9f9" stroke="#333"/>
    <text x="540488" y="15590">[ Edge Sites ×5 ]</text>
    <text x="540488" y="180110">FrameworX EdgeConnect</text>
    <text x="560506" y="205128">• Collects Modbus (read)</text>
    <text x="560506" y="230144">• Publishes to DNP3 (write)</text>
    <text x="560506" y="255160">• Exposes device values (read)</text>
    <text x="560506" y="280176">• Sends timeseries/alarms ? Historian</text>

    <!-- Arrow from Edge Sites to Historian -->
    <line x1="520470" y1="220130" x2="380370" y2="220130" stroke="#333" marker-end="url(#arrow)"/>
  </svg>
</div>


Integrated real production data from MES, historian, and ERP with costing models to determine actual cost per SKU. Data included:

...