Class DexpiInstrumentInfo

java.lang.Object
neqsim.process.processmodel.dexpi.DexpiInstrumentInfo
All Implemented Interfaces:
Serializable

public class DexpiInstrumentInfo extends Object implements Serializable
Holds metadata for an instrument parsed from a DEXPI XML file. Because DEXPI instruments are not directly connected to live process streams, this lightweight value object stores the tag, category (P/L/T/F), functions (IC/T/CSA), and loop information so that callers can wire up real transmitters and controllers later.
Version:
1.0
Author:
NeqSim
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • id

      private final String id
    • tagName

      private final String tagName
    • category

      private final String category
    • functions

      private final String functions
    • instrumentNumber

      private final String instrumentNumber
    • loopNumber

      private final String loopNumber
    • measurementUnit

      private final String measurementUnit
    • actuatingTag

      private final String actuatingTag
  • Constructor Details

    • DexpiInstrumentInfo

      public DexpiInstrumentInfo(String id, String tagName, String category, String functions, String instrumentNumber, String loopNumber, String measurementUnit, String actuatingTag)
      Creates a DEXPI instrument info record.
      Parameters:
      id - the DEXPI XML element ID
      tagName - the instrument tag name (e.g. "PICSA 4712.02")
      category - the ISA category letter (e.g. "P" for pressure)
      functions - the ISA function letters (e.g. "ICSA")
      instrumentNumber - the instrument number
      loopNumber - the instrumentation loop number (may be null)
      measurementUnit - the measurement unit (may be null)
      actuatingTag - the associated actuating function tag (may be null)
  • Method Details

    • getId

      public String getId()
      Returns the DEXPI XML element ID.
      Returns:
      the element ID
    • getTagName

      public String getTagName()
      Returns the instrument tag name.
      Returns:
      the tag name
    • getCategory

      public String getCategory()
      Returns the ISA category letter (e.g. "P" for pressure, "L" for level).
      Returns:
      the category
    • getFunctions

      public String getFunctions()
      Returns the ISA function letters (e.g. "ICSA" for indicating-controlling-switching-alarming).
      Returns:
      the function letters
    • getInstrumentNumber

      public String getInstrumentNumber()
      Returns the instrument number.
      Returns:
      the instrument number
    • getLoopNumber

      public String getLoopNumber()
      Returns the instrumentation loop number.
      Returns:
      the loop number, or null if not part of a loop
    • getMeasurementUnit

      public String getMeasurementUnit()
      Returns the measurement unit.
      Returns:
      the unit, or null if not specified
    • getActuatingTag

      public String getActuatingTag()
      Returns the associated actuating function tag.
      Returns:
      the actuating tag, or null if no actuator
    • hasControlFunction

      public boolean hasControlFunction()
      Checks if this instrument has a control function (contains "C" in functions string).
      Returns:
      true if the instrument has a controller function
    • isInLoop

      public boolean isInLoop()
      Checks if this instrument is part of a loop.
      Returns:
      true if a loop number is set
    • toString

      public String toString()
      Overrides:
      toString in class Object