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, serialVersionUID
stateX
type, 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, setU
getStateX, readData, setStateX, writeData
debugInfo, getType, getU0, setParameter, setType
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
readData, writeData
getU0, setParameter
protected 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 ICMLLimitBlock
public boolean initStateY0(double y0)
ICMLStaticBlock
initStateY0
in interface ICMLStaticBlock
initStateY0
in class CMLStaticBlockAdapter
y0
- output initial value.public boolean initStateU0(double u0, double[] maxDAry, double[] minDAry)
initStateU0
in interface ICMLLimitBlock
public boolean initStateU0(double u0)
ICMLStaticBlock
initStateU0
in interface ICMLStaticBlock
initStateU0
in class CMLStaticBlockAdapter
u0
- input initial value.public double getU0()
ICMLStaticBlock
getU0
in interface ICMLStaticBlock
getU0
in class CMLStaticBlockAdapter
public void eulerStep1(double u, double dt)
ICMLStaticBlock
eulerStep1
in interface ICMLStaticBlock
eulerStep1
in class CMLControlBlock1stOrderAdapter
u
- the input variabledt
- the time steppublic void eulerStep2(double u, double dt)
ICMLStaticBlock
eulerStep2
in interface ICMLStaticBlock
eulerStep2
in class CMLControlBlock1stOrderAdapter
u
- the input variabledt
- the time steppublic void eulerStep1(double u, double dt, double[] maxDAry, double[] minDAry)
eulerStep1
in interface ICMLLimitBlock
public void eulerStep2(double u, double dt, double[] maxDAry, double[] minDAry)
eulerStep2
in interface ICMLLimitBlock
public double getY()
ICMLStaticBlock
getY
in interface ICMLStaticBlock
getY
in class CMLControlBlock1stOrderAdapter
protected double dX_dt(double u)
CMLControlBlock1stOrderAdapter
dX_dt
in class CMLControlBlock1stOrderAdapter
public double getK()
public LimitExpression getLimit()
getLimit
in interface ICMLLimitBlock
public double getT()
public java.lang.String toString()
toString
in class java.lang.Object