public class Module_FBcl
extends java.lang.Object
FBtype_FBcl
build with FBcl connections.
It means it contains FBlocks with connections to fulfill its functionality.
It is completely described with FBcl.
FBlock_FBcl
, this is the module itself.
Modifier and Type | Class and Description |
---|---|
static class |
Module_FBcl.Create
Helper class to create an
FBlock_FBcl and its properties. |
Modifier and Type | Field and Description |
---|---|
(package private) static DoutMdl_FBcl[] |
doutPortEmpty |
(package private) DType_FBcl[] |
dtypes |
private java.util.List<EccState_FBcl> |
eccStates |
java.util.List<Evchain_FBcl> |
evChains
All detected chains of simple connected operations (evin to evout of some FBs).
|
protected EvtreeNode_FBcl |
evTree_const
This three nodes for const, ctor, init play a special role for code generation.
|
protected FBexpr_FBcl[] |
exprEv
Array of all existing 'exprEv' associated to the condition bits.
|
FBlock_FBcl |
fbp
Reference to the inner pins of the module.
|
protected java.util.Map<java.lang.String,FBlock_FBcl> |
idxFBlock
All FBlocks inside the module sorted by name
Note: The inport and outport are accessible via
FBlock_FBcl.din and FBlock_FBcl.dout sorted by port index. |
protected java.util.Map<java.lang.String,FBlock_FBcl> |
idxFBlockTEST
All FBlocks inside the module sorted by name with type name starting with "TEST"
Note: The inport and outport are accessible via
FBlock_FBcl.din and FBlock_FBcl.dout sorted by port index. |
protected java.util.Map<java.lang.String,FBtype_FBcl> |
idxFBlockType
Types which are defined locally in this module.
|
protected java.util.Map<java.lang.String,java.lang.String> |
idxImport
Import files for code generation (Header, Java import).
|
protected java.util.Map<java.lang.String,Dout_FBcl> |
idxVariables
All variables which are outputs of expressions, accessible by name used in K1999-Inputs of other expressions
and appears in code as variables.
|
java.util.Map<java.lang.String,OdgXref> |
idxXrefByName
The Xref has a extra meaning, because they are also aliases for data connection which should be regard to build the expressions.
|
FBtype_FBcl |
ifcFB
The Type FBlock to this module.
|
protected java.util.List<EccAction_FBcl> |
listAction |
protected java.util.List<EvtreeNode_FBcl> |
listEvTreeRoot
root nodes of all evTree.
|
private java.util.Map<java.lang.String,Algorithm_FBcl> |
mapAlgorithm |
java.lang.String |
name |
Network_FBcl[] |
networks
Networks in the order of representation.
|
private Algorithm_FBcl |
simpleFBalgm
It is null if the FBlock is not a Simple FB.
|
java.lang.String |
sLibFile |
static java.lang.String |
sVersion
Version, history and license.
|
Constructor and Description |
---|
Module_FBcl(java.lang.String name,
Prj_FBCLrd prj)
Creates a Module which is a
FBlock_FBcl and creates also the associated FBtype_FBcl
which is adequate to the inner pins of the module,
with the FBtype_FBcl._kindFBt = FBlock_FBcl.Blocktype.TheModule . |
Modifier and Type | Method and Description |
---|---|
void |
adjustFBexrFnDtypes()
Adjust the type designations in
FBexpr_FBcl.sFn for all expressions due to the propagated pin data types. |
java.lang.Iterable<EccAction_FBcl> |
allOperations() |
EccAction_FBcl |
allOperations(int ix) |
FBexpr_FBcl[] |
exprEv() |
DType_FBcl[] |
getDataTypes() |
Dout_FBcl[] |
getdinPortToInnerMdl()
Gets the inner connection, output of the module
|
DoutMdl_FBcl[] |
getdoutPortFromInnerMdl()
Gets the inner connection, output of the module
|
Evout_FBcl |
getEvinMdlforChain(Pin_FBcl pin) |
FBlock_FBcl |
getFBlock(java.lang.String name) |
java.util.Map<java.lang.String,FBlock_FBcl> |
getFBlocks() |
FBlock_FBcl |
getFBlockTest(java.lang.String name)
Returns !
|
FBtype_FBcl |
getFBlockType(java.lang.String name) |
FBtype_FBcl |
getIfcFB() |
Dout_FBcl |
getVariable(java.lang.String name)
Gets a variable in the module.
|
boolean |
isSimpleFB() |
java.lang.Iterable<java.util.Map.Entry<java.lang.String,Algorithm_FBcl>> |
iterAlgorithm() |
java.lang.Iterable<EvtreeNode_FBcl> |
iterEvtreeRoot() |
java.lang.Iterable<FBlock_FBcl> |
iterFBlock() |
java.lang.Iterable<FBtype_FBcl> |
iterFBtype() |
java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.String>> |
iterImport() |
java.lang.Iterable<EccState_FBcl> |
iterStates() |
java.lang.String |
name()
Returns the name of the module.
|
int |
nrofFBlockType() |
int |
nrofStates() |
Algorithm_FBcl |
simpleAlgorithm() |
java.lang.String |
toString() |
public static java.lang.String sVersion
public final java.lang.String name
public final FBtype_FBcl ifcFB
public final FBlock_FBcl fbp
FBtype_FBcl
representation of the inner module pins,
but they are not necessary. The real type is the ifcFB
.
This FBlock_FBcl
of the inner pins and the ifcFB
mirrors the pins.
A FBlock_FBcl.din
is correspond to FBtype_FBcl.doutPin
etc.
Adequate the FBlock_FBcl#fbtype
of this fbp mirrors the pins to ifcFB
.public java.lang.String sLibFile
static DoutMdl_FBcl[] doutPortEmpty
public Network_FBcl[] networks
public java.util.List<Evchain_FBcl> evChains
Evchain_FBcl.operation
which is referred from the associated EvinType_FBcl
from the interface too.private Algorithm_FBcl simpleFBalgm
private java.util.Map<java.lang.String,Algorithm_FBcl> mapAlgorithm
DType_FBcl[] dtypes
protected FBexpr_FBcl[] exprEv
Module_FBcl.Create.addAllExprEv(List)
which is called inprotected java.util.Map<java.lang.String,Dout_FBcl> idxVariables
protected java.util.Map<java.lang.String,FBlock_FBcl> idxFBlock
FBlock_FBcl.din
and FBlock_FBcl.dout
sorted by port index.protected java.util.Map<java.lang.String,FBlock_FBcl> idxFBlockTEST
FBlock_FBcl.din
and FBlock_FBcl.dout
sorted by port index.protected java.util.Map<java.lang.String,FBtype_FBcl> idxFBlockType
protected java.util.Map<java.lang.String,java.lang.String> idxImport
public final java.util.Map<java.lang.String,OdgXref> idxXrefByName
protected java.util.List<EvtreeNode_FBcl> listEvTreeRoot
protected EvtreeNode_FBcl evTree_const
protected java.util.List<EccAction_FBcl> listAction
private java.util.List<EccState_FBcl> eccStates
public Module_FBcl(java.lang.String name, Prj_FBCLrd prj)
FBlock_FBcl
and creates also the associated FBtype_FBcl
which is adequate to the inner pins of the module,
with the FBtype_FBcl._kindFBt
= FBlock_FBcl.Blocktype.TheModule
.
This is not the interface to the module.
The Interface of the module in #ifcFB is created as separate FBtype_FBcl
.
with the FBtype_FBcl._kindFBt
= FBlock_FBcl.Blocktype.Libmodule
.
FBtype_FBcl
are mirrored.
A FBtype_FBcl.doutPin
of the module's inner FBlock_FBcl
as input to the inner of the module
is represented by a FBtype_FBcl.dinPin
as input pin to the interface FBlock of the module
and adequate.name
- Name of the module.public FBexpr_FBcl[] exprEv()
public java.lang.String name()
name()
returns "$module" as name of the inner FBlock_FBcl
of the module pinspublic FBlock_FBcl getFBlock(java.lang.String name)
public FBlock_FBcl getFBlockTest(java.lang.String name)
name
- public java.util.Map<java.lang.String,FBlock_FBcl> getFBlocks()
public java.lang.Iterable<FBlock_FBcl> iterFBlock()
public FBtype_FBcl getFBlockType(java.lang.String name)
public java.lang.Iterable<FBtype_FBcl> iterFBtype()
public java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.String>> iterImport()
public java.lang.Iterable<EvtreeNode_FBcl> iterEvtreeRoot()
public int nrofFBlockType()
public Dout_FBcl getVariable(java.lang.String name)
name
- name of the FBlock which contains the output variable. This is the stored name of the Dout_FBclpublic FBtype_FBcl getIfcFB()
public boolean isSimpleFB()
public java.lang.Iterable<EccAction_FBcl> allOperations()
public EccAction_FBcl allOperations(int ix)
public java.lang.Iterable<java.util.Map.Entry<java.lang.String,Algorithm_FBcl>> iterAlgorithm()
public int nrofStates()
public java.lang.Iterable<EccState_FBcl> iterStates()
public Algorithm_FBcl simpleAlgorithm()
public Dout_FBcl[] getdinPortToInnerMdl()
public DoutMdl_FBcl[] getdoutPortFromInnerMdl()
public DType_FBcl[] getDataTypes()
public Evout_FBcl getEvinMdlforChain(Pin_FBcl pin)
public void adjustFBexrFnDtypes()
FBexpr_FBcl.sFn
for all expressions due to the propagated pin data types.public java.lang.String toString()
toString
in class java.lang.Object