org.mbari.siam.foce.devices.controlLoop
Class ControlLoopAttributes

java.lang.Object
  extended by org.mbari.siam.distributed.ServiceAttributes
      extended by org.mbari.siam.distributed.InstrumentServiceAttributes
          extended by org.mbari.siam.foce.devices.controlLoop.ControlLoopAttributes
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, ProcessParameterIF

public class ControlLoopAttributes
extends InstrumentServiceAttributes
implements ProcessParameterIF

See Also:
Serialized Form

Nested Class Summary
 class ControlLoopAttributes.Attribute
          Encapsulates an (primative) attribute, it's type, value and (mnemonic) name.
 class ControlLoopAttributes.BooleanAttribute
          Boolean Attribute.
 class ControlLoopAttributes.ConnectorSpec
          ConnectorSpec: encapsulates input/output connection definition
 class ControlLoopAttributes.NumberAttribute
          Numeric Attribute.
 class ControlLoopAttributes.StringAttribute
          String Attribute.
 
Nested classes/interfaces inherited from interface org.mbari.siam.distributed.devices.ProcessParameterIF
ProcessParameterIF.DummyConstValues, ProcessParameterIF.DummyFIDMap, ProcessParameterIF.DummyIDMap, ProcessParameterIF.DummyIIDMap, ProcessParameterIF.DummyModeNames, ProcessParameterIF.DummyOIDMap, ProcessParameterIF.DummyParamNames, ProcessParameterIF.DummyRIDMap, ProcessParameterIF.DummySIDMap
 
Field Summary
protected static org.apache.log4j.Logger _log4j
          Log4j logger
 double CO2_CONCENTRATION_MMOL_PER_L
          constant: CO2 concentration (mmol/liter)
 int default_filter_depth
          default boxcar filter depth
 double DELTA_PH_PER_MMOL_PER_KG
          constant: pH sensitivity (pH units/mmol/kg)
 double ESW_PUMP_DISPLACEMENT_ML_PER_REV
          constant: ESW pump displacment (ml/revolution)
 java.lang.String eswp_channel
           
 java.lang.String eswp_ochannel
           
 java.lang.String eswp_reg
           
 double exp_a
          (unused)
 double exp_b
          (unused)
 double exp_h
          (unused)
 double exp_k
          (unused)
 double FLUME_AREA_M2
          constant: FOCE flume cross sectional area (m^2)
 ControlLoopAttributes.ConnectorSpec[] inputConnectors
          InputConnector definitions Selects one of two defined sets: - one for test (using OSDT test server for sensor inputs) - one for deployment (using SIAM OSDT for sensor inputs)
 boolean logInputState
          enable/disable input state logging
 boolean logOutputState
          enable/disable output state logging
 long loop_period_msec
          Control loop update period
 long monitor_period_msec
          I/O monitor update period
 java.lang.String osdt_reg
          OSDT server name for test connectors
 java.lang.String osdtHost
          OSDT host (for OSDT input connectors)
 ControlLoopAttributes.ConnectorSpec[] outputConnectors
          OutputConnector definitions references a privately defined array
 double ph_abs_max
          (unused)
 double ph_abs_min
          (unused)
 double ph_deadband_hi
          (unused)
 double ph_deadband_lo
          (unused)
 double ph_eswpump_max_change
          max change limit for ESW pump (motor rpm)
 double ph_lin_error_limit
          pH Linear Response error limit (the error value below which the error term is applied)
 int ph_lin_filter_depth
          pH Linear Response filter depth
 double ph_lin_offset
          pH Linear Response offset
 double ph_lin_slope
          pH Linear Response slope
 double ph_max_correction
          max pH control correction limit
 double ph_offset
          pH offset relative to external.
 float ph_pid_Kd
          pH PID derivative gain
 float ph_pid_Ki
          pH PID integral gain
 float ph_pid_Kp
          pH PID proportional gain
 float ph_pid_max_ki
          pH PID max Ki (to prevent integral wind-up)
 float ph_pid_scale_factor
          pH PID divisor (divides raw correction sum: correction=(Pterm+Iterm+Dterm)/scaleFactor)
 double ph_setpoint
          pH setpoint (absolute).
 double ph_valid_hi
          upper pH valid reading (used by input connector range validators
 double ph_valid_lo
          lower pH valid reading (used by input connector range validators
 java.lang.String ph1_channel
           
 java.lang.String ph1_ochannel
           
 java.lang.String ph1_reg
           
 java.lang.String ph2_channel
           
 java.lang.String ph2_ochannel
           
 java.lang.String ph2_reg
           
 java.lang.String ph3_channel
           
 java.lang.String ph3_ochannel
           
 java.lang.String ph3_reg
           
 java.lang.String ph4_channel
           
 java.lang.String ph4_ochannel
           
 java.lang.String ph4_reg
           
 java.lang.String ph5_channel
           
 java.lang.String ph5_ochannel
           
 java.lang.String ph5_reg
           
 java.lang.String ph6_channel
           
 java.lang.String ph6_ochannel
           
 java.lang.String ph6_reg
           
 java.lang.String ph7_channel
           
 java.lang.String ph7_ochannel
           
 java.lang.String ph7_reg
           
 java.lang.String siamHost
          SIAM host (for registry input connectors)
 double SW_DENSITY_KG_PER_M3
          constant: seawater density (kg/m^3)
 java.lang.String taft_channel
           
 java.lang.String taft_ochannel
           
 java.lang.String taft_reg
           
 java.lang.String tfwd_channel
           
 java.lang.String tfwd_ochannel
           
 java.lang.String tfwd_reg
           
 java.lang.String vaft_channel
           
 java.lang.String vaft_ochannel
           
 java.lang.String vaft_reg
           
 float velocity_pid_Kd
          velocity PID derivative gain
 float velocity_pid_Ki
          velocity PID integral gain
 float velocity_pid_Kp
          velocity PID proportional gain
 float velocity_pid_max_ki
          velocity PID max Ki (to prevent integral wind-up)
 float velocity_pid_scale_factor
          velocity PID divisor (divides raw correction sum: correction=(Pterm+Iterm+Dterm)/scaleFactor)
 java.lang.String vfwd_channel
           
 java.lang.String vfwd_ochannel
           
 java.lang.String vfwd_reg
           
 java.lang.String vxext_channel
           
 java.lang.String vxext_ochannel
           
 java.lang.String vxext_reg
           
 java.lang.String vxint_channel
           
 java.lang.String vxint_ochannel
           
 java.lang.String vxint_reg
           
 java.lang.String vyext_channel
           
 java.lang.String vyext_ochannel
           
 java.lang.String vyext_reg
           
 java.lang.String vyint_channel
           
 java.lang.String vyint_ochannel
           
 java.lang.String vyint_reg
           
 
Fields inherited from class org.mbari.siam.distributed.InstrumentServiceAttributes
commPowerPolicy, currentLimitMa, dataShelfLifeHours, defaultSkipInterval, diagnosticSampleInterval, errCacheLimit, maxSampleTries, maxSummarySamples, nominalCurrentMa, packetSetSize, peakCurrentMa, powerOnDelaySec, powerPolicy, rbnbAdvertiseService, rbnbArchiveFrames, rbnbCacheFrames, rbnbExcludeRecordTypes, rbnbServer, sampleSchedule, sampleTimeoutMsec, startDelayMsec, summaryTriggerCount, summaryVars, timeSynch
 
Fields inherited from class org.mbari.siam.distributed.ServiceAttributes
_CONFIGURABLE_FILTER_OFF, _CONFIGURABLE_FILTER_ON, advertiseService, className, extendedVersion, frameworkVersion, instrumentName, isiID, locationName, parentID, registryName, serviceName, serviceStatus, UUID
 
Fields inherited from interface org.mbari.siam.distributed.devices.ProcessParameterIF
AC_PH_INT_AFT, ACTUATION_DISABLED, ACTUATION_ENABLED, ACTUATION_MAX, ACTUATION_MIN, BX_PH_ESW, BX_PH_EXT_MID_L, BX_PH_EXT_MID_R, BX_PH_INT_AFT_L, BX_PH_INT_AFT_R, BX_PH_INT_FWD_L, BX_PH_INT_FWD_R, BX_VESWP, BX_VH2O_EXT_X, BX_VH2O_EXT_Y, BX_VH2O_INT_X, BX_VH2O_INT_Y, BX_VTHR_AFT, BX_VTHR_FWD, CONNECTOR_TYPE_EXT_OSDT, CONNECTOR_TYPE_RAW, CONNECTOR_TYPE_SIAM_OSDT, CONNECTOR_TYPE_SIAM_REG, const_mnem2value, CONTROL_MODE_CONSTANT, CONTROL_MODE_DEADBAND, CONTROL_MODE_MANUAL, CONTROL_MODE_MAX, CONTROL_MODE_MIN, CONTROL_MODE_OFFSET, CONTROL_MODE_PANIC, DIR_X, DIR_Y, DIR_Z, EC_PH_EXT, FC_PH_INT_FWD, filter_id2fname, HD_HDG_EXT, HD_HDG_INT, IAC_PH_INT_AFT_L, IAC_PH_INT_AFT_R, IBX_PH_ESW, IBX_PH_EXT_MID_L, IBX_PH_EXT_MID_R, IBX_PH_INT_AFT_L, IBX_PH_INT_AFT_R, IBX_PH_INT_FWD_L, IBX_PH_INT_FWD_R, IBX_VESWP, IBX_VH2O_EXT_X, IBX_VH2O_EXT_Y, IBX_VH2O_INT_X, IBX_VH2O_INT_Y, IBX_VTHR_AFT, IBX_VTHR_FWD, IC_PH_INT, IEC_PH_EXT_MID_L, IEC_PH_EXT_MID_R, IFC_PH_INT_FWD_L, IFC_PH_INT_FWD_R, IHD_HDG_EXT_X, IHD_HDG_EXT_Y, IHD_HDG_INT_X, IHD_HDG_INT_Y, IIC_PH_INT_AFT, IIC_PH_INT_FWD, IMA_MAG_EXT_X, IMA_MAG_EXT_Y, IMA_MAG_INT_X, IMA_MAG_INT_Y, input_id2iname, IVC_VH2O_EXT_X, IVC_VH2O_EXT_Y, IVC_VH2O_INT_X, IVC_VH2O_INT_Y, IVS_ESWV_AFT, IVS_ESWV_FWD, LOC_ESW, LOC_EXT, LOC_INT, MA_MAG_EXT, MA_MAG_INT, mode_id2pname, OUTPUT_AFT_ESW_VALVE, OUTPUT_AFT_THRUSTER_VELOCITY, OUTPUT_ESW_PUMP_VELOCITY, OUTPUT_FWD_ESW_VALVE, OUTPUT_FWD_THRUSTER_VELOCITY, output_id2name, OUTPUT_TYPE_EXT, OUTPUT_TYPE_SIAM, PARAM_CO2_CONCENTRATION, PARAM_DENSITY_SW, PARAM_ESW_PUMP_AMODE, PARAM_ESW_VALVE_AMODE, PARAM_EXP_A, PARAM_EXP_B, PARAM_EXP_H, PARAM_EXP_K, PARAM_FLUME_AREA, param_id2pname, PARAM_MAX_FLOW_CHANGE_PERCENT, PARAM_PH_ABS_MAX, PARAM_PH_ABS_MIN, PARAM_PH_CMODE, PARAM_PH_DEADBAND_HI, PARAM_PH_DEADBAND_LO, PARAM_PH_LIN_FILTER_DEPTH, PARAM_PH_LIN_OFFSET, PARAM_PH_LIN_SLOPE, PARAM_PH_MAX_CORRECTION, PARAM_PH_OFFSET, PARAM_PH_PID_KD, PARAM_PH_PID_KI, PARAM_PH_PID_KP, PARAM_PH_PID_MAX_KI, PARAM_PH_PID_SCALE_FACTOR, PARAM_PH_RMODE, PARAM_PH_SETPOINT, param_pname2aname, PARAM_THRUSTER_AMODE, PARAM_VELOCITY_CAL_A, PARAM_VELOCITY_CAL_B, PARAM_VELOCITY_CAL_C, PARAM_VELOCITY_CMODE, PARAM_VELOCITY_DEADBAND_HI, PARAM_VELOCITY_DEADBAND_LO, PARAM_VELOCITY_MAX_CORRECTION, PARAM_VELOCITY_MAX_RPM, PARAM_VELOCITY_MIN_RPM, PARAM_VELOCITY_OFFSET, PARAM_VELOCITY_PID_KD, PARAM_VELOCITY_PID_KI, PARAM_VELOCITY_PID_KP, PARAM_VELOCITY_PID_MAX_KI, PARAM_VELOCITY_PID_SCALE_FACTOR, PARAM_VELOCITY_RMODE, PARAM_VELOCITY_SETPOINT, POS_AFT, POS_FWD, POS_L, POS_MID, POS_R, PROC_EXCL, PROC_INCL, RESPONSE_MODE_EXP, RESPONSE_MODE_LIN, RESPONSE_MODE_MAX, RESPONSE_MODE_MIN, RESPONSE_MODE_PID, ROLE_AFT_ESW_VALVE, ROLE_AFT_THRUSTER, ROLE_ESW_PH, ROLE_ESW_PUMP, ROLE_EXT_MID_L_PH, ROLE_EXT_MID_R_PH, ROLE_EXT_X_VELOCITY, ROLE_EXT_Y_VELOCITY, ROLE_FWD_ESW_VALVE, ROLE_FWD_THRUSTER, role_id2name, ROLE_INT_AFT_L_PH, ROLE_INT_AFT_R_PH, ROLE_INT_FWD_L_PH, ROLE_INT_FWD_R_PH, ROLE_INT_X_VELOCITY, ROLE_INT_Y_VELOCITY, ROLE_MASK, SIG_AFT_THRUSTER_VEL, SIG_AFT_THRUSTER_VEL_CMD_CHK, SIG_AFT_THRUSTER_VEL_CMD_RAW, SIG_ESW_AFT_VALVE_CMD, SIG_ESW_AFT_VALVE_STATE, SIG_ESW_FWD_VALVE_CMD, SIG_ESW_FWD_VALVE_STATE, SIG_ESW_INJ_VOL, SIG_ESW_PUMP_CMD_CHK, SIG_ESW_PUMP_CMD_RAW, SIG_ESW_PUMP_VEL, SIG_FWD_THRUSTER_VEL, SIG_FWD_THRUSTER_VEL_CMD_CHK, SIG_FWD_THRUSTER_VEL_CMD_RAW, SIG_PH_ERR, SIG_PH_ESW, SIG_PH_ESW_FILT, SIG_PH_EXT_FILT, SIG_PH_EXT_MID_L, SIG_PH_EXT_MID_R, SIG_PH_GRAD, SIG_PH_INT_AFT_FILT, SIG_PH_INT_AFT_L, SIG_PH_INT_AFT_R, SIG_PH_INT_FILT, SIG_PH_INT_FWD_FILT, SIG_PH_INT_FWD_L, SIG_PH_INT_FWD_R, SIG_VH2O_EXT_DIR_FILT, SIG_VH2O_EXT_MAG_FILT, SIG_VH2O_EXT_X_FILT, SIG_VH2O_EXT_X_RAW, SIG_VH2O_EXT_Y_FILT, SIG_VH2O_EXT_Y_RAW, SIG_VH2O_INT_DIR_FILT, SIG_VH2O_INT_ERR, SIG_VH2O_INT_MAG_FILT, SIG_VH2O_INT_X_FILT, SIG_VH2O_INT_X_RAW, SIG_VH2O_INT_Y_FILT, SIG_VH2O_INT_Y_RAW, signal_id2sname, TYPE_ALL, TYPE_ESW, TYPE_MASK, TYPE_MOTOR, TYPE_PH, TYPE_VALVE, TYPE_VELOCITY, VC_VH2O_EXT_X, VC_VH2O_EXT_Y, VC_VH2O_INT_X, VC_VH2O_INT_Y, VS_ESWV_AFT, VS_ESWV_FWD
 
Constructor Summary
ControlLoopAttributes(DeviceServiceIF service)
          Standard Constructor
ControlLoopAttributes(DeviceServiceIF service, boolean dummyArg)
          Standard Constructor (with dummy arg to differentiate signatures)
 
Method Summary
 java.util.Iterator attributes()
          Return iterator of numeric attributes
 ControlLoopAttributes.ConnectorSpec connectorSpec(int role)
          return Iterator of input ConnectorSpecs
 int filterDepth(int filterID)
           
 java.util.Iterator inputConnectors(int type)
          return Iterator of input ConnectorSpecs
static java.lang.String modeName(int mode)
          Get mnemonic for mode with specified ID
 java.util.Iterator outputConnectors(int type)
          return Iterator of output ConnectorSpecs
 java.lang.String registry2osdt(java.lang.String registryName)
          use registryKey to get OSDT name from ConnectorSpec in _attributes if OSDT source name is not explicitly defined in ConnectorSpec, the registryKey is used as the OSDT source name
static java.lang.String roleName(int role)
          Get mnemonic for functional role with specified ID
protected  void setAttributeCallback(java.lang.String attributeName, java.lang.String valueString)
          Called when specified attribute has been found.
 java.lang.String toString()
          Return (some) attributes as a String
 void validateDouble(java.lang.String valueString, double min, double max, boolean inside, boolean includeEnds)
          validate whether numeric attribute (as String) value falls inside/outside specified range.
 void validateFloat(java.lang.String valueString, float min, float max, boolean inside, boolean includeEnds)
          validate whether numeric attribute (as String) value falls inside/outside specified range.
 void validateInt(java.lang.String valueString, int min, int max, boolean inside, boolean includeEnds)
          validate whether numeric attribute (as String) value falls inside/outside specified range.
 void validateLong(java.lang.String valueString, long min, long max, boolean inside, boolean includeEnds)
          validate whether numeric attribute (as String) value falls inside/outside specified range.
 void validateShort(java.lang.String valueString, short min, short max, boolean inside, boolean includeEnds)
          validate whether numeric attribute (as String) value falls inside/outside specified range.
 
Methods inherited from class org.mbari.siam.distributed.InstrumentServiceAttributes
getAttributes, missingAttributeRequiredCallback, requiredCheckValues, requiredIsConfigurable, setAttributeRequiredCallback
 
Methods inherited from class org.mbari.siam.distributed.ServiceAttributes
checkPropertyNames, checkValues, fromProperties, getConfigurableFields, getExtendedVersion, getHelp, getMnemonicValues, getTypeName, isConfigurable, missingAttributeCallback, toConfigurableProperties, toProperties, toProperties, toPropertyStrings
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_log4j

protected static org.apache.log4j.Logger _log4j
Log4j logger


SW_DENSITY_KG_PER_M3

public double SW_DENSITY_KG_PER_M3
constant: seawater density (kg/m^3)


CO2_CONCENTRATION_MMOL_PER_L

public double CO2_CONCENTRATION_MMOL_PER_L
constant: CO2 concentration (mmol/liter)


FLUME_AREA_M2

public double FLUME_AREA_M2
constant: FOCE flume cross sectional area (m^2)


ESW_PUMP_DISPLACEMENT_ML_PER_REV

public double ESW_PUMP_DISPLACEMENT_ML_PER_REV
constant: ESW pump displacment (ml/revolution)


DELTA_PH_PER_MMOL_PER_KG

public double DELTA_PH_PER_MMOL_PER_KG
constant: pH sensitivity (pH units/mmol/kg)


default_filter_depth

public int default_filter_depth
default boxcar filter depth


osdt_reg

public java.lang.String osdt_reg
OSDT server name for test connectors


ph1_reg

public java.lang.String ph1_reg

ph2_reg

public java.lang.String ph2_reg

ph3_reg

public java.lang.String ph3_reg

ph4_reg

public java.lang.String ph4_reg

ph5_reg

public java.lang.String ph5_reg

ph6_reg

public java.lang.String ph6_reg

ph7_reg

public java.lang.String ph7_reg

vxint_reg

public java.lang.String vxint_reg

vyint_reg

public java.lang.String vyint_reg

vxext_reg

public java.lang.String vxext_reg

vyext_reg

public java.lang.String vyext_reg

tfwd_reg

public java.lang.String tfwd_reg

taft_reg

public java.lang.String taft_reg

eswp_reg

public java.lang.String eswp_reg

vfwd_reg

public java.lang.String vfwd_reg

vaft_reg

public java.lang.String vaft_reg

ph1_channel

public java.lang.String ph1_channel

ph2_channel

public java.lang.String ph2_channel

ph4_channel

public java.lang.String ph4_channel

ph3_channel

public java.lang.String ph3_channel

ph5_channel

public java.lang.String ph5_channel

ph6_channel

public java.lang.String ph6_channel

ph7_channel

public java.lang.String ph7_channel

vxint_channel

public java.lang.String vxint_channel

vyint_channel

public java.lang.String vyint_channel

vxext_channel

public java.lang.String vxext_channel

vyext_channel

public java.lang.String vyext_channel

tfwd_channel

public java.lang.String tfwd_channel

taft_channel

public java.lang.String taft_channel

eswp_channel

public java.lang.String eswp_channel

vfwd_channel

public java.lang.String vfwd_channel

vaft_channel

public java.lang.String vaft_channel

ph1_ochannel

public java.lang.String ph1_ochannel

ph2_ochannel

public java.lang.String ph2_ochannel

ph3_ochannel

public java.lang.String ph3_ochannel

ph4_ochannel

public java.lang.String ph4_ochannel

ph5_ochannel

public java.lang.String ph5_ochannel

ph6_ochannel

public java.lang.String ph6_ochannel

ph7_ochannel

public java.lang.String ph7_ochannel

vxint_ochannel

public java.lang.String vxint_ochannel

vyint_ochannel

public java.lang.String vyint_ochannel

vxext_ochannel

public java.lang.String vxext_ochannel

vyext_ochannel

public java.lang.String vyext_ochannel

tfwd_ochannel

public java.lang.String tfwd_ochannel

taft_ochannel

public java.lang.String taft_ochannel

eswp_ochannel

public java.lang.String eswp_ochannel

vfwd_ochannel

public java.lang.String vfwd_ochannel

vaft_ochannel

public java.lang.String vaft_ochannel

inputConnectors

public ControlLoopAttributes.ConnectorSpec[] inputConnectors
InputConnector definitions Selects one of two defined sets: - one for test (using OSDT test server for sensor inputs) - one for deployment (using SIAM OSDT for sensor inputs)


outputConnectors

public ControlLoopAttributes.ConnectorSpec[] outputConnectors
OutputConnector definitions references a privately defined array


ph_setpoint

public double ph_setpoint
pH setpoint (absolute). Used to calculate process error signal in CONSTANT control mode


ph_offset

public double ph_offset
pH offset relative to external. Used to calculate process error signal in OFFSET control mode


ph_deadband_lo

public double ph_deadband_lo
(unused)


ph_deadband_hi

public double ph_deadband_hi
(unused)


ph_valid_lo

public double ph_valid_lo
lower pH valid reading (used by input connector range validators


ph_valid_hi

public double ph_valid_hi
upper pH valid reading (used by input connector range validators


ph_eswpump_max_change

public double ph_eswpump_max_change
max change limit for ESW pump (motor rpm)


ph_max_correction

public double ph_max_correction
max pH control correction limit


ph_pid_Kp

public float ph_pid_Kp
pH PID proportional gain


ph_pid_Ki

public float ph_pid_Ki
pH PID integral gain


ph_pid_Kd

public float ph_pid_Kd
pH PID derivative gain


ph_pid_max_ki

public float ph_pid_max_ki
pH PID max Ki (to prevent integral wind-up)


ph_pid_scale_factor

public float ph_pid_scale_factor
pH PID divisor (divides raw correction sum: correction=(Pterm+Iterm+Dterm)/scaleFactor)


ph_lin_filter_depth

public int ph_lin_filter_depth
pH Linear Response filter depth


ph_lin_slope

public double ph_lin_slope
pH Linear Response slope


ph_lin_offset

public double ph_lin_offset
pH Linear Response offset


ph_lin_error_limit

public double ph_lin_error_limit
pH Linear Response error limit (the error value below which the error term is applied)


ph_abs_max

public double ph_abs_max
(unused)


ph_abs_min

public double ph_abs_min
(unused)


exp_a

public double exp_a
(unused)


exp_b

public double exp_b
(unused)


exp_h

public double exp_h
(unused)


exp_k

public double exp_k
(unused)


velocity_pid_Kp

public float velocity_pid_Kp
velocity PID proportional gain


velocity_pid_Ki

public float velocity_pid_Ki
velocity PID integral gain


velocity_pid_Kd

public float velocity_pid_Kd
velocity PID derivative gain


velocity_pid_max_ki

public float velocity_pid_max_ki
velocity PID max Ki (to prevent integral wind-up)


velocity_pid_scale_factor

public float velocity_pid_scale_factor
velocity PID divisor (divides raw correction sum: correction=(Pterm+Iterm+Dterm)/scaleFactor)


loop_period_msec

public long loop_period_msec
Control loop update period


monitor_period_msec

public long monitor_period_msec
I/O monitor update period


siamHost

public java.lang.String siamHost
SIAM host (for registry input connectors)


osdtHost

public java.lang.String osdtHost
OSDT host (for OSDT input connectors)


logInputState

public boolean logInputState
enable/disable input state logging


logOutputState

public boolean logOutputState
enable/disable output state logging

Constructor Detail

ControlLoopAttributes

public ControlLoopAttributes(DeviceServiceIF service)
Standard Constructor


ControlLoopAttributes

public ControlLoopAttributes(DeviceServiceIF service,
                             boolean dummyArg)
Standard Constructor (with dummy arg to differentiate signatures)

Method Detail

validateDouble

public void validateDouble(java.lang.String valueString,
                           double min,
                           double max,
                           boolean inside,
                           boolean includeEnds)
                    throws InvalidPropertyException
validate whether numeric attribute (as String) value falls inside/outside specified range.

Parameters:
valueString - number to validate (String)
min - range minimum
max - range maximum
inside - if true, compare to inside of range; otherwise compare to outside
includeEnds - include endpoints (min/max) in validation
Throws:
InvalidPropertyException - if number is part of the specified range

validateFloat

public void validateFloat(java.lang.String valueString,
                          float min,
                          float max,
                          boolean inside,
                          boolean includeEnds)
                   throws InvalidPropertyException
validate whether numeric attribute (as String) value falls inside/outside specified range.

Parameters:
valueString - number to validate (String)
min - range minimum
max - range maximum
inside - if true, compare to inside of range; otherwise compare to outside
includeEnds - include endpoints (min/max) in validation
Throws:
InvalidPropertyException - if number is part of the specified range

validateInt

public void validateInt(java.lang.String valueString,
                        int min,
                        int max,
                        boolean inside,
                        boolean includeEnds)
                 throws InvalidPropertyException
validate whether numeric attribute (as String) value falls inside/outside specified range.

Parameters:
valueString - number to validate (String)
min - range minimum
max - range maximum
inside - if true, compare to inside of range; otherwise compare to outside
includeEnds - include endpoints (min/max) in validation
Throws:
InvalidPropertyException - if number is part of the specified range

validateLong

public void validateLong(java.lang.String valueString,
                         long min,
                         long max,
                         boolean inside,
                         boolean includeEnds)
                  throws InvalidPropertyException
validate whether numeric attribute (as String) value falls inside/outside specified range.

Parameters:
valueString - number to validate (String)
min - range minimum
max - range maximum
inside - if true, compare to inside of range; otherwise compare to outside
includeEnds - include endpoints (min/max) in validation
Throws:
InvalidPropertyException

validateShort

public void validateShort(java.lang.String valueString,
                          short min,
                          short max,
                          boolean inside,
                          boolean includeEnds)
                   throws InvalidPropertyException
validate whether numeric attribute (as String) value falls inside/outside specified range.

Parameters:
valueString - number to validate (String)
min - range minimum
max - range maximum
inside - if true, compare to inside of range; otherwise compare to outside
includeEnds - include endpoints (min/max) in validation
Throws:
InvalidPropertyException - if number is part of the specified range

setAttributeCallback

protected void setAttributeCallback(java.lang.String attributeName,
                                    java.lang.String valueString)
                             throws InvalidPropertyException
Called when specified attribute has been found. Throw InvalidPropertyException if specified attribute has invalid value. Note that the ServiceAttributes base class automatically validates the value type before setAttributeCallback() is invoked; so this method needs only to validate the value.

Overrides:
setAttributeCallback in class ServiceAttributes
Parameters:
attributeName - name of parsed attribute
valueString - value of parsed attribute (String)
Throws:
InvalidPropertyException

toString

public java.lang.String toString()
Return (some) attributes as a String

Overrides:
toString in class ServiceAttributes

registry2osdt

public java.lang.String registry2osdt(java.lang.String registryName)
use registryKey to get OSDT name from ConnectorSpec in _attributes if OSDT source name is not explicitly defined in ConnectorSpec, the registryKey is used as the OSDT source name


modeName

public static java.lang.String modeName(int mode)
Get mnemonic for mode with specified ID


roleName

public static java.lang.String roleName(int role)
Get mnemonic for functional role with specified ID


connectorSpec

public ControlLoopAttributes.ConnectorSpec connectorSpec(int role)
return Iterator of input ConnectorSpecs


inputConnectors

public java.util.Iterator inputConnectors(int type)
return Iterator of input ConnectorSpecs


outputConnectors

public java.util.Iterator outputConnectors(int type)
return Iterator of output ConnectorSpecs


filterDepth

public int filterDepth(int filterID)
                throws java.lang.Exception
Throws:
java.lang.Exception

attributes

public java.util.Iterator attributes()
Return iterator of numeric attributes

See Also:
ControlLoopAttributes.Attribute


Copyright © 2003 MBARI.

The Monterey Bay Aquarium Research Institute (MBARI) provides this documentation and code "as is", with no warranty, express or implied, of its quality or consistency. It is provided without support and without obligation on the part of MBARI to assist in its use, correction, modification, or enhancement.