public class Dout_FBcl extends Dinout_FBcl
FBlock_FBcl
instances.
There are some additional information and operations for event chain building and code generation to Pin_FBcl
.Pin_FBcl.XXXXXEKind
Modifier and Type | Field and Description |
---|---|
boolean |
bCheckedNonConst |
boolean |
bEvInQueue
True then this output is driven by an event in a chain already,
used for
org.vishia.fbcl.readSource.Dataflow2Eventchain_FBrd . |
private boolean |
bIsConst
The output evaluates to a constant value independent from a data flow.
|
private boolean |
bLocalVar
Set in the Event Chain Builder: true then this output should be presented by an local variable in code generation.
|
private boolean |
bObjectVar
Set in the Event Chain Builder: true then this output value should be stored in an object or instance variable,
because other event chains uses this value or the value is used from previous storing.
|
private boolean |
bSetInEvinOp
True then this dout is used or the variable will be set (
bLocalVar )
while the evin-operation is executed. |
private long |
mAlreadyCheckedInEvChain
The bit of the
Evchain_FBcl.nr is set if this Dout is already processed inside the evChain
by Evchain_FBcl.Wr.checkDin(long, FBlock_FBcl, EccAction_FBcl, Write_Module_FBwr) . |
private long |
mCheckedDinForEvin
The Din which are checked for evin already in the same evChain.
|
private long |
mOperations
Bits for all operations which influences this output.
|
private long |
mOperationsNext
Bits for a next opeation which uses this
Dout_FBcl as input. |
static Dout_FBcl[] |
nullArray |
private java.lang.String |
sCodeAccess
If not null then it is a constant given as String on this input.
|
boolean |
XXXbBreakChain
Deprecated.
|
nDTypeIsPropg, steptime, zVectorDim
connectDst, connectSrc, fb, name, pint, version, xy
Constructor and Description |
---|
Dout_FBcl(DoutType_FBcl pint,
FBlock_FBcl fb,
XY_FBcl xy) |
Dout_FBcl(DoutType_FBcl pint,
java.lang.String name,
FBlock_FBcl fb,
XY_FBcl xy) |
Modifier and Type | Method and Description |
---|---|
Evout_FBcl |
assgndFirstEvout()
Searches the first and often only one evout due to this dout.
|
java.lang.String |
assgndFirstEvoutName()
Searches the first and often only one evout due to this dout.
|
java.lang.Iterable<Din_FBcl> |
connectDst() |
java.lang.String |
getCodeAccess() |
DoutType_FBcl |
getDoutType() |
EccAction_FBcl |
getOneOperation()
Returns the only one operation or null.
|
boolean |
isAlreadyCombinatoricDinChecked(Evchain_FBcl evChain) |
boolean |
isConstant() |
boolean |
isLocalVar()
This output should be presented in generate code with a variable.
|
boolean |
isObjectVar()
This output should be presented in generate code with an instance variable
because other evChain operations may use it, or an output is connected,
or the output is wired from back (a state variable).
|
org.vishia.util.IterableIterator<Evout_FBcl> |
iterAssocEvout(boolean bCreate)
Gets the associated Evout to this pin using the type information and
IteratorAssocPins_FBcl . |
java.lang.Iterable<EccAction_FBcl> |
iterOperations(Module_FBcl mdl) |
java.lang.Iterable<EccAction_FBcl> |
iterOperNext(Module_FBcl mdl) |
long |
mCheckedDinForEvin() |
void |
mCheckedDinForEvin(long bits) |
long |
mOper()
Operations which sets this output.
|
long |
mOperNext()
Operations which uses this output for calculation.
|
java.lang.String |
operHex() |
boolean |
setAlreadyCombinatoricDinChecked(Evchain_FBcl evChain) |
void |
setCodeAccess(java.lang.String val) |
void |
setLocalVar(Write_Module_FBwr mdlwr)
This output should be presented in generate code with a variable.
|
void |
setObjectVar(Write_Module_FBwr mdlwr)
This output should be presented in generate code with an instance variable
because other evChain operations may use it, or an output is connected,
or the output is wired from back (a state variable).
|
void |
setOperation(EccAction_FBcl oper) |
void |
setOperNext(EccAction_FBcl operNext)
Inform that this output is used by the given operation.
|
void |
setToConstant() |
java.lang.String |
toString() |
java.lang.String |
varName()
Returns a variable name proper to the Dout and FBlock.
|
dtArrayCpp, dType, dType, dTypeArray, dTypeChar, dtypeCpp, getSteptime, getSteptimeStr, isComplexDType, namePin, propagateSteptime, setDType
addEvchain, addEvchainDepending, connDst, connectFrom, connectFrom, connSrc, containsEvchain, containsOtherEvchain, dinType, doutType, evChainHex, evinType, evoutType, fbtypeName, getFirstConnDst, getFirstConnSrc, getMaskEvinMdlChainDriven, getMaskEvoutMdlBackChainDriven, getOneConnSrc, getOneConnSrc, isEventBackChainDriven, isEventBackChainDriven, isEventChainDriven, isEventChainDriven, isEventChainDriven, isEventChainDriven, isKind, isNotKind, isUpdatePin, iterConnDst, iterConnSrc, iterEvchainDep, iterEvchainShow, nameFBpin, nameFBpin, nrofConnDst, nrofConnSrc, pinType, removeConnectDst, removeConnectSrc, removeConnSrcAll, removePinSimpleInConnDst, setEventBackChainDriven, setEventChainDriven, spec, spec, throwError, toString, XXXremoveConnectSrc, XXXremoveConnSrc
public static Dout_FBcl[] nullArray
private java.lang.String sCodeAccess
public transient boolean bEvInQueue
org.vishia.fbcl.readSource.Dataflow2Eventchain_FBrd
.private boolean bLocalVar
private boolean bIsConst
private boolean bObjectVar
private long mOperations
private long mOperationsNext
Dout_FBcl
as input.
Hence it is depending in the event queue execution.private long mCheckedDinForEvin
bObjectVar
private long mAlreadyCheckedInEvChain
Evchain_FBcl.nr
is set if this Dout is already processed inside the evChain
by Evchain_FBcl.Wr.checkDin(long, FBlock_FBcl, EccAction_FBcl, Write_Module_FBwr)
.private boolean bSetInEvinOp
bLocalVar
)
while the evin-operation is executed.@Deprecated public boolean XXXbBreakChain
FBtype_FBcl
which has this property too:
DinoutType_FBcl.bBreakChain
.public transient boolean bCheckedNonConst
public Dout_FBcl(DoutType_FBcl pint, java.lang.String name, FBlock_FBcl fb, XY_FBcl xy)
public Dout_FBcl(DoutType_FBcl pint, FBlock_FBcl fb, XY_FBcl xy)
public void setLocalVar(Write_Module_FBwr mdlwr)
setObjectVar(Write_Module_FBwr)
was not set.mdlwr
- public void setToConstant()
public boolean isConstant()
public boolean isLocalVar()
setObjectVar(Write_Module_FBwr)
was not set.public void setObjectVar(Write_Module_FBwr mdlwr)
mdlwr
- public boolean isObjectVar()
mdlwr
- public boolean setAlreadyCombinatoricDinChecked(Evchain_FBcl evChain)
public boolean isAlreadyCombinatoricDinChecked(Evchain_FBcl evChain)
public void mCheckedDinForEvin(long bits)
public long mCheckedDinForEvin()
public java.lang.Iterable<Din_FBcl> connectDst()
public void setCodeAccess(java.lang.String val)
public java.lang.String getCodeAccess()
public void setOperation(EccAction_FBcl oper)
public long mOper()
Module_FBcl.allOperations()
#iterOperations(Module_FBcl)(Module_FBcl);r
public java.lang.Iterable<EccAction_FBcl> iterOperations(Module_FBcl mdl)
public void setOperNext(EccAction_FBcl operNext)
operNext
- public long mOperNext()
Module_FBcl.allOperations()
iterOperNext(Module_FBcl);r
public java.lang.Iterable<EccAction_FBcl> iterOperNext(Module_FBcl mdl)
public org.vishia.util.IterableIterator<Evout_FBcl> iterAssocEvout(boolean bCreate)
IteratorAssocPins_FBcl
.
The associated type pins are determined with PinType_FBcl.mAssocEvData
.
From that bits the FBtype_FBcl.doutPin
are nominated.
That helps to select the FBlock_FBcl.evout
for iteration.bCreate
- true then create the adequate evout pin from the type information if not found in this instance.public DoutType_FBcl getDoutType()
public Evout_FBcl assgndFirstEvout()
public java.lang.String assgndFirstEvoutName()
public EccAction_FBcl getOneOperation()
#iterOperations()
if returns null here.public java.lang.String varName()
public java.lang.String operHex()