public class DelayControlBlock extends CMLControlBlock1stOrderAdapter implements ICMLLimitBlock
ICMLStaticBlock.StaticBlockType| Modifier and Type | Field and Description |
|---|---|
protected double |
k |
protected LimitExpression |
limit |
protected double |
t |
dX_dt, serialVersionUIDstateXtype, u| Constructor and Description |
|---|
DelayControlBlock(double k,
double t)
constructor
|
DelayControlBlock(ICMLStaticBlock.StaticBlockType type,
double k,
double t,
double max,
double min)
constructor
|
DelayControlBlock(ICMLStaticBlock.StaticBlockType type,
double k,
double t,
double max,
ExpCalculator minExp)
constructor
|
DelayControlBlock(ICMLStaticBlock.StaticBlockType type,
double k,
double t,
ExpCalculator maxExp,
double min)
constructor
|
DelayControlBlock(ICMLStaticBlock.StaticBlockType type,
double k,
double t,
ExpCalculator maxExp,
ExpCalculator minExp)
constructor
|
| Modifier and Type | Method and Description |
|---|---|
protected double |
dX_dt(double u)
get dx/dt of the controller
|
void |
eulerStep1(double u,
double dt)
Perform Euler step-1 calculation
|
void |
eulerStep1(double u,
double dt,
double[] maxDAry,
double[] minDAry) |
void |
eulerStep2(double u,
double dt)
Perform Euler step-2 calculation
|
void |
eulerStep2(double u,
double dt,
double[] maxDAry,
double[] minDAry) |
double |
getK()
get parameter k
|
LimitExpression |
getLimit()
get parameter limit
|
double |
getT()
get parameter t
|
double |
getU0()
get the controller initial input u0, it should be always called after
the intiState() call.
|
double |
getY()
get the controller output
|
boolean |
initStateU0(double u0)
Initial the controller state variables
|
boolean |
initStateU0(double u0,
double[] maxDAry,
double[] minDAry) |
boolean |
initStateY0(double y0)
Initial the controller state variables
|
boolean |
initStateY0(double y0,
double[] maxDAry,
double[] minDAry) |
java.lang.String |
toString() |
getState, getU, setDX_dt, setUgetStateX, readData, setStateX, writeDatadebugInfo, getType, getU0, setParameter, setTypeclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitreadData, writeDatagetU0, setParameterprotected double k
protected double t
protected LimitExpression limit
public DelayControlBlock(double k,
double t)
k - t - public DelayControlBlock(ICMLStaticBlock.StaticBlockType type, double k, double t, double max, double min)
type - k - t - max - min - public DelayControlBlock(ICMLStaticBlock.StaticBlockType type, double k, double t, ExpCalculator maxExp, double min)
type - k - t - maxExp - min - public DelayControlBlock(ICMLStaticBlock.StaticBlockType type, double k, double t, double max, ExpCalculator minExp)
type - k - t - max - minExp - public DelayControlBlock(ICMLStaticBlock.StaticBlockType type, double k, double t, ExpCalculator maxExp, ExpCalculator minExp)
type - k - t - maxExp - minExp - public boolean initStateY0(double y0,
double[] maxDAry,
double[] minDAry)
initStateY0 in interface ICMLLimitBlockpublic boolean initStateY0(double y0)
ICMLStaticBlockinitStateY0 in interface ICMLStaticBlockinitStateY0 in class CMLStaticBlockAdaptery0 - output initial value.public boolean initStateU0(double u0,
double[] maxDAry,
double[] minDAry)
initStateU0 in interface ICMLLimitBlockpublic boolean initStateU0(double u0)
ICMLStaticBlockinitStateU0 in interface ICMLStaticBlockinitStateU0 in class CMLStaticBlockAdapteru0 - input initial value.public double getU0()
ICMLStaticBlockgetU0 in interface ICMLStaticBlockgetU0 in class CMLStaticBlockAdapterpublic void eulerStep1(double u,
double dt)
ICMLStaticBlockeulerStep1 in interface ICMLStaticBlockeulerStep1 in class CMLControlBlock1stOrderAdapteru - the input variabledt - the time steppublic void eulerStep2(double u,
double dt)
ICMLStaticBlockeulerStep2 in interface ICMLStaticBlockeulerStep2 in class CMLControlBlock1stOrderAdapteru - the input variabledt - the time steppublic void eulerStep1(double u,
double dt,
double[] maxDAry,
double[] minDAry)
eulerStep1 in interface ICMLLimitBlockpublic void eulerStep2(double u,
double dt,
double[] maxDAry,
double[] minDAry)
eulerStep2 in interface ICMLLimitBlockpublic double getY()
ICMLStaticBlockgetY in interface ICMLStaticBlockgetY in class CMLControlBlock1stOrderAdapterprotected double dX_dt(double u)
CMLControlBlock1stOrderAdapterdX_dt in class CMLControlBlock1stOrderAdapterpublic double getK()
public LimitExpression getLimit()
getLimit in interface ICMLLimitBlockpublic double getT()
public java.lang.String toString()
toString in class java.lang.Object