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
<pre><div>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1100 520" width="900" height="520" style="font-family:  [ DataHub (TapProvider) / UI ]
  ui-monospace, SFMono-Regular, Menlo, Consolas, 'Liberation Mono', monospace; font-size:14px;">
  <defs>
    <marker id="arrow" viewBox="0 0 10 10" refX="10" refY="5" markerWidth="10" markerHeight="10" orient="auto-start-reverse">
     ?
 <path d="M 0 0 L 10 5 L 0 10 z" fill="#333"/>
    </marker>
     ?</defs>

  <!-- Title   ???????????????????????????????row -->
  <text x="300" y="40">[ DataHub ?(TapProvider) / UI ]</text>

  <!-- Down to split -->
  <line x1="550" y1="55" x2="550" y2="100" stroke="#333"/>

  <!-- Horizontal split bar -->
  <line x1="160" y1="100" x2="940"  ?y2="100" stroke="#333"/>

  <!-- Left branch: Historian ?-->
  <line x1="260" y1="100" x2="260" y2="150" stroke="#333"/>
  <text x="280" y="130" fill="#333">reads historical + alarms</text>

  <!-- Right branch: Edge Sites -->
  <line x1="840" y1="100" x2="840"  ?
[ Postgres + TimescaleDB ]   [ Edge Sites ×5 ]
     Historian + Alarms        FrameworX EdgeConnect
                               • Collects Modbus (read)
                               • y2="150" stroke="#333"/>
  <text x="660" y="130" fill="#333">reads live device values</text>

  <!-- Left box: Postgres + TimescaleDB -->
  <rect x="120" y="150" width="380" height="130" rx="10" ry="10" fill="#f9f9f9" stroke="#333"/>
  <text x="140" y="175">[ Postgres + TimescaleDB ]</text>
  <text x="140" y="205">Historian + Alarms</text>

  <!-- Right box: Edge Sites -->
  <rect x="600" y="150" width="380" height="210" rx="10" ry="10" fill="#f9f9f9" stroke="#333"/>
  <text x="620" y="175">[ Edge Sites ×5 ]</text>
  <text x="620" y="205">FrameworX EdgeConnect</text>
  <text x="640" y="230">• Collects Modbus (read)</text>
  <text x="640" y="255">• Publishes to DNP3 (write)</text>
  <text x="640" y="280">• Exposes device values (read)</text>
  <text x="640" y="305">• Sends timeseries/alarms ? Historian</text>

  <!-- Arrow from Edge Sites to Historian -->
  <line x1="600" y1="265"  • Exposes device values (read)
                               • Sends timeseries/alarms ? Historian
</pre>x2="500" y2="265" stroke="#333" marker-end="url(#arrow)"/>

  <!-- Optional caption at bottom -->
  <text x="550" y="480" text-anchor="middle" fill="#666">Integrated real production data from MES, Historian, and ERP for SKU-level costing</text>
</svg>
</div>


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

...