|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectorg.mbari.siam.foce.devices.controlLoop.FOCEProcess
public class FOCEProcess
FOCEProcess encapsulates the FOCE control process (or "plant", in the control systems domain). It is responsible for managing connections to inputs (pH and velocity sensors) and outputs (motors and valves). It is one of the major components of the FOCE control system software; A ControlWorkerThread periodically causes a ControlResponseIF (e.g. PHPIDResponse, PHEXPResponse) to update using a FOCEPRocess instance to provide current values for system signals and parameters. The ControlResponseIF then updates system outputs via the FOCEProcess. FOCEProcess is configured via ControlLoopAttributes.
ProcessParameterIF| Nested Class Summary |
|---|
| 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 |
| Fields inherited from interface org.mbari.siam.distributed.devices.ControlProcessIF |
|---|
CPIF_STATE_INSTANTIATED, CPIF_STATE_RUNNING, CPIF_STATE_STOPPED, CPIF_STATE_UNKNOWN |
| Constructor Summary | |
|---|---|
FOCEProcess(ControlLoopAttributes attributes)
Constructor for FOCEProcess (ControlProcessIF) |
|
| Method Summary | |
|---|---|
void |
configureAllFilters()
Perform per-filter configuration for all filters. |
void |
configureFilter(Filter filter)
Perform per-filter configuration for specified Filter. |
void |
configureInputConnector(ControlLoopAttributes.ConnectorSpec connectorSpec)
|
void |
configureOutputConnector(ControlLoopAttributes.ConnectorSpec connectorSpec)
|
void |
connectFilter(Filter filter)
make connections to the filtering network for the specified filter |
void |
connectFilterNetwork()
Make connections between all the filters in the filtering network. |
ControlInputIF |
createConnector(ControlLoopAttributes.ConnectorSpec connectorSpec,
FilterInput input)
|
void |
createFilterInputs()
|
void |
createFilters()
Create signal processing filters for the control inputs and intermediate processing (like pH averaging). |
ControlOutputIF |
createOutput(ControlLoopAttributes.ConnectorSpec connectorSpec)
|
double |
dph2rate(double deltaPH)
return required pumped fluid volume rate (liters/min), given a desired change in pH. |
java.lang.String |
filterInputName(int inputID)
return a filter input name for the given signal ID |
java.lang.String |
filterName(int filterID)
return a filter name for the given filter ID |
double |
flowCO2(double massCO2,
double massH2O)
return CO2 flow mmol/min |
protected ControlLoopAttributes |
getAttributes()
get ControlLoopAttributes instance |
Filter |
getFilter(int filterID)
|
FilterInput |
getFilterInput(int inputID)
|
ControlInputIF |
getInput(int inputID)
|
ControlInputIF[] |
getInputs()
|
Node |
getNodeReference(java.lang.String siamHost)
|
ControlOutputIF |
getOutput(int outputID)
|
ControlOutputIF[] |
getOutputs()
|
java.lang.Number |
getParameter(int paramID)
get current value of a control system parameter by ID |
RangeValidator |
getPHRangeValidatorInstance()
initialize an input validator that will be used by shared // by all of the pH input connectors. |
java.lang.Number |
getSignal(int signalID)
Get signal value by ID. |
int |
getState()
|
void |
initializeInputConnectors()
Create and configure the input connectors for the data stream inputs. |
void |
initializeOutputConnectors()
|
void |
initPHRangeValidatorInstance()
Cause a new pH Range Validator instance to be created (with latest configuration from ControlLoopAttributes) |
Instrument |
lookupSIAMService(java.lang.String siamHost,
java.lang.String registryName)
|
double |
massflowH2O(double densityCO2,
double volumeH2O)
return water mass flow kg/min |
java.lang.String |
modeName(int mode)
get mnemonic associated with specified mode ID |
java.lang.String |
outputName(int outputID)
return an output name for the given output ID |
int |
parameterID(java.lang.String parameterName)
get the parameter ID by name |
java.lang.String |
parameterName(int parameterID)
get the parameter name by ID |
java.lang.String[] |
parameterNames()
return set of parameter names that may be used to get parameter values KeySet/Iterator are not exportable, so we deal in String arrays |
java.lang.String |
registry2osdt(java.lang.String siamHost,
java.lang.String registryName)
|
void |
setAttributes(ControlLoopAttributes attributes)
set ControlLoopAttributes instance |
void |
setFilterInputInhibit(int filterID,
java.lang.String inputName,
boolean inhibitValue)
|
void |
setOutput(int roleID,
ControlOutputIF output)
|
void |
setParameter(int paramID,
java.lang.Number paramValue)
set a control system parameter |
void |
setParameter(java.lang.String parameterName,
java.lang.String parameterValue)
Set parameter using the underlying ControlLoopAttributes class. |
void |
setState(int state)
set ControlProcessIF state (but not part of the ControlProcessIF interface) |
int |
signalID(java.lang.String signalName)
get the signal ID by name |
java.lang.String |
signalName(int signalID)
return a signal name for the given signal ID |
java.lang.String[] |
signalNames()
return set of signal names that may be used to get signal values KeySet/Iterator are not exportable, so we deal in String arrays |
void |
simpleStart()
|
void |
startProcess()
initialize process |
void |
stopProcess()
shutdown process |
java.lang.String |
toString()
|
double |
vel2rpm(double velocity)
computer thruster speed (rpm) from water velocity (cm/sec) MotorRPM= aV^2+bV+c where V is water velocity (cm/sec) |
double |
volume2rpm(double volRate)
compute pump speed (rpm) from CO2 flow rate (l/min) |
double |
volumeCO2(double flowCO2,
double concentrationCO2)
return CO2 volume flow liters/min |
double |
volumeH2O(double area,
double velocity)
return water volume flow m^3/min |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected static org.apache.log4j.Logger _log4j
| Constructor Detail |
|---|
public FOCEProcess(ControlLoopAttributes attributes)
attributes - ControlLoopAttributes shared by ControlLoopService, PID loops etc.| Method Detail |
|---|
public ControlOutputIF createOutput(ControlLoopAttributes.ConnectorSpec connectorSpec)
throws java.lang.Exception,
java.rmi.RemoteException
java.lang.Exception
java.rmi.RemoteException
public ControlInputIF createConnector(ControlLoopAttributes.ConnectorSpec connectorSpec,
FilterInput input)
throws InvalidPropertyException
InvalidPropertyException
public void createFilters()
throws java.lang.Exception
java.lang.Exceptionpublic void configureAllFilters()
configureFilter(Filter filter)
public void configureFilter(Filter filter)
throws java.lang.Exception
java.lang.ExceptionconfigureAllFilters()
public void createFilterInputs()
throws java.lang.Exception
java.lang.Exceptionpublic void connectFilterNetwork()
connectFilter(Filter filter)
public void connectFilter(Filter filter)
throws java.lang.Exception
java.lang.Exceptionpublic void initPHRangeValidatorInstance()
public RangeValidator getPHRangeValidatorInstance()
public void initializeInputConnectors()
throws InvalidPropertyException,
java.lang.Exception
InvalidPropertyException
java.lang.ExceptionControlLoopAttributes,
ControlLoopAttributes.ConnectorSpec
public void configureInputConnector(ControlLoopAttributes.ConnectorSpec connectorSpec)
throws InvalidPropertyException,
java.lang.Exception
InvalidPropertyException
java.lang.Exception
public void initializeOutputConnectors()
throws InvalidPropertyException,
java.lang.Exception
InvalidPropertyException
java.lang.Exception
public void configureOutputConnector(ControlLoopAttributes.ConnectorSpec connectorSpec)
throws InvalidPropertyException,
java.lang.Exception
InvalidPropertyException
java.lang.Exceptionpublic void setAttributes(ControlLoopAttributes attributes)
protected ControlLoopAttributes getAttributes()
public java.lang.String modeName(int mode)
public java.lang.Number getSignal(int signalID)
throws java.lang.Exception
getSignal in interface ProcessStateIFjava.lang.Exception
public java.lang.Number getParameter(int paramID)
throws java.lang.Exception
getParameter in interface ProcessStateIFjava.lang.Exception
public int parameterID(java.lang.String parameterName)
throws java.lang.Exception
parameterID in interface ProcessStateIFjava.lang.Exception
public java.lang.String parameterName(int parameterID)
throws java.lang.Exception
parameterName in interface ProcessStateIFjava.lang.Exception
public int signalID(java.lang.String signalName)
throws java.lang.Exception
signalID in interface ProcessStateIFjava.lang.Exceptionpublic java.lang.String[] parameterNames()
parameterNames in interface ProcessStateIFpublic java.lang.String[] signalNames()
signalNames in interface ProcessStateIFpublic java.lang.String signalName(int signalID)
signalName in interface ProcessStateIFpublic java.lang.String filterName(int filterID)
public java.lang.String filterInputName(int inputID)
filterInputName in interface ProcessStateIFpublic java.lang.String outputName(int outputID)
public void setParameter(int paramID,
java.lang.Number paramValue)
throws java.lang.Exception
setParameter in interface ProcessConfigIFjava.lang.Exception
public void setParameter(java.lang.String parameterName,
java.lang.String parameterValue)
throws java.lang.Exception
setParameter in interface ControlProcessIFsetParameter in interface ProcessConfigIFjava.lang.Exception
public void stopProcess()
throws java.lang.Exception
stopProcess in interface ControlProcessIFjava.lang.Exception
public void simpleStart()
throws java.lang.Exception
java.lang.Exception
public void startProcess()
throws java.lang.Exception
startProcess in interface ControlProcessIFjava.lang.Exception
public void setOutput(int roleID,
ControlOutputIF output)
throws java.lang.Exception
setOutput in interface ControlProcessIFjava.lang.Exception
public ControlOutputIF getOutput(int outputID)
throws java.rmi.RemoteException
getOutput in interface ControlProcessIFjava.rmi.RemoteException
public ControlOutputIF[] getOutputs()
throws java.rmi.RemoteException
getOutputs in interface ControlProcessIFjava.rmi.RemoteException
public ControlInputIF getInput(int inputID)
throws java.rmi.RemoteException
getInput in interface ControlProcessIFjava.rmi.RemoteException
public ControlInputIF[] getInputs()
throws java.rmi.RemoteException
getInputs in interface ControlProcessIFjava.rmi.RemoteException
public int getState()
throws java.rmi.RemoteException
getState in interface ControlProcessIFjava.rmi.RemoteException
public void setState(int state)
throws java.lang.Exception
java.lang.Exception
public double volumeH2O(double area,
double velocity)
public double massflowH2O(double densityCO2,
double volumeH2O)
public double flowCO2(double massCO2,
double massH2O)
public double volumeCO2(double flowCO2,
double concentrationCO2)
public double dph2rate(double deltaPH)
public double volume2rpm(double volRate)
public double vel2rpm(double velocity)
public Filter getFilter(int filterID)
public FilterInput getFilterInput(int inputID)
public void setFilterInputInhibit(int filterID,
java.lang.String inputName,
boolean inhibitValue)
throws java.lang.Exception
java.lang.Exception
public Node getNodeReference(java.lang.String siamHost)
throws java.lang.Exception
java.lang.Exception
public Instrument lookupSIAMService(java.lang.String siamHost,
java.lang.String registryName)
throws java.lang.Exception
java.lang.Exception
public java.lang.String registry2osdt(java.lang.String siamHost,
java.lang.String registryName)
throws java.lang.Exception
java.lang.Exceptionpublic java.lang.String toString()
toString in class java.lang.Object
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||