Class InstrumentSpecification
java.lang.Object
neqsim.process.instrumentdesign.InstrumentSpecification
- All Implemented Interfaces:
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 Summary
FieldsModifier and TypeFieldDescriptionprivate StringProcess connection size (e.g. "1/2 NPT", "DN15 RF").private StringThe runtime measurement device class this spec maps to.private doubleEstimated unit cost in USD.private StringExplosion protection marking (e.g.private StringHazardous area zone classification (e.g.private StringFull instrument type name (e.g.private StringI/O type: "AI" (analog input), "AO" (analog output), "DI" (digital input), "DO" (digital output).private StringISA-5.1 functional identification (e.g.private StringWetted parts material (e.g. "316SS", "Hastelloy C276").private StringOutput signal type (e.g. "4-20mA HART", "Foundation Fieldbus", "Discrete 24VDC").private doubleMeasurement range maximum in engineering units.private doubleMeasurement range minimum in engineering units.private StringEngineering unit for the measurement range (e.g.private booleanWhether this instrument is safety-related (part of SIS).private static final longSerialization version UID.private StringService description (e.g.private intSIL rating (0 = no SIL, 1-3 = SIL level per IEC 61508).private StringTag number (e.g. -
Constructor Summary
ConstructorsConstructorDescriptionInstrumentSpecification(String isaSymbol, String service, double rangeMin, double rangeMax, String rangeUnit, String ioType) Constructor for InstrumentSpecification.InstrumentSpecification(String isaSymbol, String service, String ioType, int silRating) Constructor for discrete/switch instruments (no range). -
Method Summary
Modifier and TypeMethodDescriptionprivate doubleestimateDefaultCost(String symbol) Estimate default cost in USD based on instrument type.Get process connection size.Get the runtime device class name.doubleGet estimated unit cost in USD.Get explosion protection marking.Get hazardous area zone classification.Get instrument type name.Get I/O type.Get ISA-5.1 functional identification.Get wetted parts material.Get output signal type.doubleGet measurement range maximum.doubleGet measurement range minimum.Get range unit.Get service description.intGet SIL rating.Get tag number.booleanisAnalog()Check if this is an analog instrument.booleanCheck if this is a digital/discrete instrument.booleanCheck if this instrument is safety-related.private StringmapIsaSymbolToType(String symbol) Map ISA-5.1 symbol to instrument type name.voidsetConnectionSize(String connectionSize) Set process connection size.voidsetDeviceClassName(String deviceClassName) Set the runtime device class name.voidsetEstimatedCostUSD(double estimatedCostUSD) Set estimated unit cost in USD.voidsetExProtection(String exProtection) Set explosion protection marking.voidsetHazardousAreaZone(String hazardousAreaZone) Set hazardous area zone classification.voidsetInstrumentType(String instrumentType) Set instrument type name.voidSet I/O type.voidsetIsaSymbol(String isaSymbol) Set ISA-5.1 functional identification.voidsetMaterial(String material) Set wetted parts material.voidsetOutputSignal(String outputSignal) Set output signal type.voidsetRangeMax(double rangeMax) Set measurement range maximum.voidsetRangeMin(double rangeMin) Set measurement range minimum.voidsetRangeUnit(String rangeUnit) Set range unit.voidsetSafetyRelated(boolean safetyRelated) Set whether this instrument is safety-related.voidsetService(String service) Set service description.voidsetSilRating(int silRating) Set SIL rating.voidsetTagNumber(String tagNumber) Set tag number.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
isaSymbol
ISA-5.1 functional identification (e.g. "PT", "TT", "LT", "FT", "PSH", "LSLL"). -
tagNumber
Tag number (e.g. "PT-1001A"). Generated or manually assigned. -
service
Service description (e.g. "HP Separator Gas Outlet Pressure"). -
instrumentType
Full instrument type name (e.g. "PressureTransmitter"). -
rangeMin
private double rangeMinMeasurement range minimum in engineering units. -
rangeMax
private double rangeMaxMeasurement range maximum in engineering units. -
rangeUnit
Engineering unit for the measurement range (e.g. "bara", "degC", "%"). -
outputSignal
Output signal type (e.g. "4-20mA HART", "Foundation Fieldbus", "Discrete 24VDC"). -
connectionSize
Process connection size (e.g. "1/2 NPT", "DN15 RF"). -
material
Wetted parts material (e.g. "316SS", "Hastelloy C276"). -
hazardousAreaZone
Hazardous area zone classification (e.g. "Zone 1", "Zone 2"). -
exProtection
Explosion protection marking (e.g. "Ex ia IIC T4 Ga"). -
ioType
I/O type: "AI" (analog input), "AO" (analog output), "DI" (digital input), "DO" (digital output). -
silRating
private int silRatingSIL rating (0 = no SIL, 1-3 = SIL level per IEC 61508). -
safetyRelated
private boolean safetyRelatedWhether this instrument is safety-related (part of SIS). -
estimatedCostUSD
private double estimatedCostUSDEstimated unit cost in USD. -
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 descriptionrangeMin- measurement range minimumrangeMax- measurement range maximumrangeUnit- engineering unit for rangeioType- I/O type ("AI", "AO", "DI", "DO")
-
InstrumentSpecification
Constructor for discrete/switch instruments (no range).- Parameters:
isaSymbol- ISA-5.1 functional identification (e.g. "PSH", "LSLL")service- service descriptionioType- I/O type ("DI" or "DO")silRating- SIL level (0-3)
-
-
Method Details
-
mapIsaSymbolToType
-
estimateDefaultCost
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
-
setIsaSymbol
Set ISA-5.1 functional identification.- Parameters:
isaSymbol- ISA symbol
-
getTagNumber
-
setTagNumber
-
getService
-
setService
Set service description.- Parameters:
service- service description
-
getInstrumentType
-
setInstrumentType
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
-
setRangeUnit
Set range unit.- Parameters:
rangeUnit- range unit string
-
getOutputSignal
-
setOutputSignal
Set output signal type.- Parameters:
outputSignal- output signal type
-
getConnectionSize
-
setConnectionSize
Set process connection size.- Parameters:
connectionSize- connection size
-
getMaterial
-
setMaterial
-
getHazardousAreaZone
Get hazardous area zone classification.- Returns:
- hazardous area zone
-
setHazardousAreaZone
Set hazardous area zone classification.- Parameters:
hazardousAreaZone- hazardous area zone
-
getExProtection
-
setExProtection
Set explosion protection marking.- Parameters:
exProtection- Ex protection marking
-
getIoType
-
setIoType
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
-
setDeviceClassName
Set the runtime device class name.- Parameters:
deviceClassName- device class name
-