Class InstrumentSpecification

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

public class InstrumentSpecification extends Object implements Serializable
Specification for a single instrument in a process plant.

Represents an instrument data sheet entry per ISA-5.1 / ISA-20 conventions. Each specification defines what to measure, the type of instrument, its range, signal output, hazardous area classification, and optional SIL rating.

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

    • serialVersionUID

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

      private String isaSymbol
      ISA-5.1 functional identification (e.g. "PT", "TT", "LT", "FT", "PSH", "LSLL").
    • tagNumber

      private String tagNumber
      Tag number (e.g. "PT-1001A"). Generated or manually assigned.
    • service

      private String service
      Service description (e.g. "HP Separator Gas Outlet Pressure").
    • instrumentType

      private String instrumentType
      Full instrument type name (e.g. "PressureTransmitter").
    • rangeMin

      private double rangeMin
      Measurement range minimum in engineering units.
    • rangeMax

      private double rangeMax
      Measurement range maximum in engineering units.
    • rangeUnit

      private String rangeUnit
      Engineering unit for the measurement range (e.g. "bara", "degC", "%").
    • outputSignal

      private String outputSignal
      Output signal type (e.g. "4-20mA HART", "Foundation Fieldbus", "Discrete 24VDC").
    • connectionSize

      private String connectionSize
      Process connection size (e.g. "1/2 NPT", "DN15 RF").
    • material

      private String material
      Wetted parts material (e.g. "316SS", "Hastelloy C276").
    • hazardousAreaZone

      private String hazardousAreaZone
      Hazardous area zone classification (e.g. "Zone 1", "Zone 2").
    • exProtection

      private String exProtection
      Explosion protection marking (e.g. "Ex ia IIC T4 Ga").
    • ioType

      private String ioType
      I/O type: "AI" (analog input), "AO" (analog output), "DI" (digital input), "DO" (digital output).
    • silRating

      private int silRating
      SIL rating (0 = no SIL, 1-3 = SIL level per IEC 61508).
    • safetyRelated

      private boolean safetyRelated
      Whether this instrument is safety-related (part of SIS).
    • estimatedCostUSD

      private double estimatedCostUSD
      Estimated unit cost in USD.
    • deviceClassName

      private String deviceClassName
      The runtime measurement device class this spec maps to.
  • Constructor Details

    • InstrumentSpecification

      public InstrumentSpecification(String isaSymbol, String service, double rangeMin, double rangeMax, String rangeUnit, String ioType)
      Constructor for InstrumentSpecification.
      Parameters:
      isaSymbol - ISA-5.1 functional identification (e.g. "PT", "TT")
      service - service description
      rangeMin - measurement range minimum
      rangeMax - measurement range maximum
      rangeUnit - engineering unit for range
      ioType - I/O type ("AI", "AO", "DI", "DO")
    • InstrumentSpecification

      public InstrumentSpecification(String isaSymbol, String service, String ioType, int silRating)
      Constructor for discrete/switch instruments (no range).
      Parameters:
      isaSymbol - ISA-5.1 functional identification (e.g. "PSH", "LSLL")
      service - service description
      ioType - I/O type ("DI" or "DO")
      silRating - SIL level (0-3)
  • Method Details

    • mapIsaSymbolToType

      private String mapIsaSymbolToType(String symbol)
      Map ISA-5.1 symbol to instrument type name.
      Parameters:
      symbol - ISA symbol
      Returns:
      instrument type name
    • estimateDefaultCost

      private double estimateDefaultCost(String symbol)
      Estimate default cost in USD based on instrument type.
      Parameters:
      symbol - ISA symbol
      Returns:
      estimated cost in USD
    • isAnalog

      public boolean isAnalog()
      Check if this is an analog instrument.
      Returns:
      true if AI or AO
    • isDigital

      public boolean isDigital()
      Check if this is a digital/discrete instrument.
      Returns:
      true if DI or DO
    • getIsaSymbol

      public String getIsaSymbol()
      Get ISA-5.1 functional identification.
      Returns:
      ISA symbol
    • setIsaSymbol

      public void setIsaSymbol(String isaSymbol)
      Set ISA-5.1 functional identification.
      Parameters:
      isaSymbol - ISA symbol
    • getTagNumber

      public String getTagNumber()
      Get tag number.
      Returns:
      tag number
    • setTagNumber

      public void setTagNumber(String tagNumber)
      Set tag number.
      Parameters:
      tagNumber - tag number
    • getService

      public String getService()
      Get service description.
      Returns:
      service description
    • setService

      public void setService(String service)
      Set service description.
      Parameters:
      service - service description
    • getInstrumentType

      public String getInstrumentType()
      Get instrument type name.
      Returns:
      instrument type name
    • setInstrumentType

      public void setInstrumentType(String instrumentType)
      Set instrument type name.
      Parameters:
      instrumentType - instrument type name
    • getRangeMin

      public double getRangeMin()
      Get measurement range minimum.
      Returns:
      range minimum in engineering units
    • setRangeMin

      public void setRangeMin(double rangeMin)
      Set measurement range minimum.
      Parameters:
      rangeMin - range minimum in engineering units
    • getRangeMax

      public double getRangeMax()
      Get measurement range maximum.
      Returns:
      range maximum in engineering units
    • setRangeMax

      public void setRangeMax(double rangeMax)
      Set measurement range maximum.
      Parameters:
      rangeMax - range maximum in engineering units
    • getRangeUnit

      public String getRangeUnit()
      Get range unit.
      Returns:
      range unit string
    • setRangeUnit

      public void setRangeUnit(String rangeUnit)
      Set range unit.
      Parameters:
      rangeUnit - range unit string
    • getOutputSignal

      public String getOutputSignal()
      Get output signal type.
      Returns:
      output signal type
    • setOutputSignal

      public void setOutputSignal(String outputSignal)
      Set output signal type.
      Parameters:
      outputSignal - output signal type
    • getConnectionSize

      public String getConnectionSize()
      Get process connection size.
      Returns:
      connection size
    • setConnectionSize

      public void setConnectionSize(String connectionSize)
      Set process connection size.
      Parameters:
      connectionSize - connection size
    • getMaterial

      public String getMaterial()
      Get wetted parts material.
      Returns:
      material
    • setMaterial

      public void setMaterial(String material)
      Set wetted parts material.
      Parameters:
      material - material
    • getHazardousAreaZone

      public String getHazardousAreaZone()
      Get hazardous area zone classification.
      Returns:
      hazardous area zone
    • setHazardousAreaZone

      public void setHazardousAreaZone(String hazardousAreaZone)
      Set hazardous area zone classification.
      Parameters:
      hazardousAreaZone - hazardous area zone
    • getExProtection

      public String getExProtection()
      Get explosion protection marking.
      Returns:
      Ex protection marking
    • setExProtection

      public void setExProtection(String exProtection)
      Set explosion protection marking.
      Parameters:
      exProtection - Ex protection marking
    • getIoType

      public String getIoType()
      Get I/O type.
      Returns:
      I/O type ("AI", "AO", "DI", "DO")
    • setIoType

      public void setIoType(String ioType)
      Set I/O type.
      Parameters:
      ioType - I/O type ("AI", "AO", "DI", "DO")
    • getSilRating

      public int getSilRating()
      Get SIL rating.
      Returns:
      SIL rating (0-3)
    • setSilRating

      public void setSilRating(int silRating)
      Set SIL rating.
      Parameters:
      silRating - SIL rating (0-3)
    • isSafetyRelated

      public boolean isSafetyRelated()
      Check if this instrument is safety-related.
      Returns:
      true if part of SIS
    • setSafetyRelated

      public void setSafetyRelated(boolean safetyRelated)
      Set whether this instrument is safety-related.
      Parameters:
      safetyRelated - true if part of SIS
    • getEstimatedCostUSD

      public double getEstimatedCostUSD()
      Get estimated unit cost in USD.
      Returns:
      estimated cost in USD
    • setEstimatedCostUSD

      public void setEstimatedCostUSD(double estimatedCostUSD)
      Set estimated unit cost in USD.
      Parameters:
      estimatedCostUSD - estimated cost in USD
    • getDeviceClassName

      public String getDeviceClassName()
      Get the runtime device class name.
      Returns:
      device class name
    • setDeviceClassName

      public void setDeviceClassName(String deviceClassName)
      Set the runtime device class name.
      Parameters:
      deviceClassName - device class name