Class InstrumentList

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

public class InstrumentList extends Object implements Serializable
Collection of instrument specifications for a piece of process equipment.

Acts as an instrument index (instrument list) for a single equipment item. Provides convenience methods for I/O count summaries, cost aggregation, and tag number generation.

Version:
1.0
Author:
Even Solbraa
See Also:
  • Field Details

    • serialVersionUID

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

      private String equipmentTag
      Equipment tag prefix used for tag number generation (e.g. "V-101").
    • instruments

      private List<InstrumentSpecification> instruments
      The list of instrument specifications.
    • tagCounter

      private int tagCounter
      Running counter for tag number generation per ISA prefix.
  • Constructor Details

    • InstrumentList

      public InstrumentList(String equipmentTag)
      Constructor for InstrumentList.
      Parameters:
      equipmentTag - the equipment tag prefix for instrument tag generation
  • Method Details

    • add

      public void add(InstrumentSpecification spec)
      Add an instrument specification and auto-generate its tag number.
      Parameters:
      spec - the instrument specification to add
    • getAll

      public List<InstrumentSpecification> getAll()
      Get all instrument specifications.
      Returns:
      list of instrument specifications
    • size

      public int size()
      Get instrument count.
      Returns:
      total number of instruments
    • getAnalogInputCount

      public int getAnalogInputCount()
      Count analog inputs.
      Returns:
      number of AI channels
    • getAnalogOutputCount

      public int getAnalogOutputCount()
      Count analog outputs.
      Returns:
      number of AO channels
    • getDigitalInputCount

      public int getDigitalInputCount()
      Count digital inputs.
      Returns:
      number of DI channels
    • getDigitalOutputCount

      public int getDigitalOutputCount()
      Count digital outputs.
      Returns:
      number of DO channels
    • getTotalIOCount

      public int getTotalIOCount()
      Get total I/O count (AI + AO + DI + DO).
      Returns:
      total I/O count
    • getSafetyInstrumentCount

      public int getSafetyInstrumentCount()
      Count safety-related (SIS) instruments.
      Returns:
      number of safety instruments
    • getTotalCostUSD

      public double getTotalCostUSD()
      Get total estimated cost in USD for all instruments.
      Returns:
      total cost in USD
    • generateTagNumber

      private String generateTagNumber(String isaSymbol)
      Generate a tag number from ISA symbol and running counter.
      Parameters:
      isaSymbol - ISA functional identification
      Returns:
      generated tag number (e.g. "PT-1001")
    • getEquipmentTag

      public String getEquipmentTag()
      Get the equipment tag prefix.
      Returns:
      the equipment tag
    • setEquipmentTag

      public void setEquipmentTag(String equipmentTag)
      Set the equipment tag prefix.
      Parameters:
      equipmentTag - the equipment tag