Class SystemInstrumentDesign

java.lang.Object
neqsim.process.instrumentdesign.system.SystemInstrumentDesign
All Implemented Interfaces:
Serializable

public class SystemInstrumentDesign extends Object implements Serializable
Plant-wide instrument design summary.

Aggregates instrument requirements across all equipment in a ProcessSystem, calculates total I/O counts, DCS/SIS cabinet requirements, and total instrument CAPEX. This class complements equipment-level instrument designs by providing a system-level view for control system sizing.

DCS and SIS sizing follows typical I/O density rules:

  • DCS: ~64 AI channels per I/O card, ~16 cards per cabinet
  • SIS: ~32 channels per I/O card, ~8 cards per cabinet (redundant)
  • Marshalling: 1 cabinet per ~200 I/O channels
Version:
1.0
Author:
Even Solbraa
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Serialization version UID.
      See Also:
    • processSystem

      private ProcessSystem processSystem
      The process system to analyse.
    • totalAI

      private int totalAI
    • totalAO

      private int totalAO
    • totalDI

      private int totalDI
    • totalDO

      private int totalDO
    • totalIO

      private int totalIO
    • safetyAI

      private int safetyAI
    • safetyDI

      private int safetyDI
    • safetyDO

      private int safetyDO
    • totalSafetyIO

      private int totalSafetyIO
    • totalInstruments

      private int totalInstruments
    • totalInstrumentCostUSD

      private double totalInstrumentCostUSD
    • dcsCostUSD

      private double dcsCostUSD
    • sisCostUSD

      private double sisCostUSD
    • dcsIOCards

      private int dcsIOCards
    • dcsCabinets

      private int dcsCabinets
    • sisIOCards

      private int sisIOCards
    • sisCabinets

      private int sisCabinets
    • marshallingCabinets

      private int marshallingCabinets
    • costPerDCSIOChannel

      private double costPerDCSIOChannel
    • costPerSISIOChannel

      private double costPerSISIOChannel
    • costPerDCSCabinet

      private double costPerDCSCabinet
    • costPerSISCabinet

      private double costPerSISCabinet
    • costPerMarshallingCabinet

      private double costPerMarshallingCabinet
    • equipmentSummaries

      private List<Map<String,Object>> equipmentSummaries
      Per-equipment summaries.
  • Constructor Details

    • SystemInstrumentDesign

      public SystemInstrumentDesign(ProcessSystem processSystem)
      Constructor for SystemInstrumentDesign.
      Parameters:
      processSystem - the process system to analyse
  • Method Details

    • calcDesign

      public void calcDesign()
      Run the system-level instrument design.

      Iterates over all equipment, runs their instrument designs, and aggregates the results.

    • toJson

      public String toJson()
      Serialize the system instrument design to JSON.
      Returns:
      JSON string with system-level instrument design data
    • getTotalAI

      public int getTotalAI()
      Get total analog input count.
      Returns:
      total AI count
    • getTotalAO

      public int getTotalAO()
      Get total analog output count.
      Returns:
      total AO count
    • getTotalDI

      public int getTotalDI()
      Get total digital input count.
      Returns:
      total DI count
    • getTotalDO

      public int getTotalDO()
      Get total digital output count.
      Returns:
      total DO count
    • getTotalIO

      public int getTotalIO()
      Get total I/O count.
      Returns:
      total I/O count
    • getTotalSafetyIO

      public int getTotalSafetyIO()
      Get total safety I/O count.
      Returns:
      total safety I/O count
    • getTotalInstruments

      public int getTotalInstruments()
      Get total number of instruments across all equipment.
      Returns:
      total instrument count
    • getTotalInstrumentCostUSD

      public double getTotalInstrumentCostUSD()
      Get total estimated instrument cost in USD.
      Returns:
      total cost in USD
    • getDcsCostUSD

      public double getDcsCostUSD()
      Get DCS cost in USD.
      Returns:
      DCS cost in USD
    • getSisCostUSD

      public double getSisCostUSD()
      Get SIS cost in USD.
      Returns:
      SIS cost in USD
    • getDcsCabinets

      public int getDcsCabinets()
      Get DCS cabinet count.
      Returns:
      DCS cabinet count
    • getSisCabinets

      public int getSisCabinets()
      Get SIS cabinet count.
      Returns:
      SIS cabinet count
    • getMarshallingCabinets

      public int getMarshallingCabinets()
      Get marshalling cabinet count.
      Returns:
      marshalling cabinet count
    • getEquipmentSummaries

      public List<Map<String,Object>> getEquipmentSummaries()
      Get per-equipment summaries.
      Returns:
      list of equipment summaries