public class FBlock_FBcl
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
FBlock_FBcl.Blocktype
This enum describes the general FBlock usage.
|
static class |
FBlock_FBcl.WriteFB
Helper class to create an
FBlock_FBcl and its properties. |
Modifier and Type | Field and Description |
---|---|
Din_FBcl[] |
din
Array of all connections to other Block_Mdl in the same module for inputs of this.
|
Dout_FBcl[] |
dout
Array of all connections to other Block_Mdl in the same module for outputs of this.
|
(package private) static Dout_FBcl[] |
doutempty |
protected DType_FBcl[][] |
dTypes
Array of all variant data types or null if not given.
|
Evin_FBcl[] |
evin |
Evout_FBcl[] |
evout |
PinFbDst_FBcl |
fbPinDst |
PinFbSrc_FBcl |
fbPinSrc
It is a pin for connections from this FB to other FBs or Pins.
|
protected FBtype_FBcl |
fbt
All blocks in a model should refer the type.
|
XY_FBcl |
graphicPos
The graphic position of the first occurence of this FBlock in the graphic.
|
protected java.util.Map<java.lang.String,Pin_FBcl> |
idxPins |
protected java.lang.String |
name
Name of the instance of the block.
|
PinPort_FBcl[] |
port |
PinRef_FBcl[] |
reference |
protected int[] |
sizeArrayIxSlice
If not null, then this FBlock was drawn as GBlock as sliced or as array.
|
java.lang.String[] |
sOperators
Deprecated.
|
(package private) SteptimeRef_FBcl |
steptime
Deprecated.
|
static java.lang.String |
sVersion
Version, history and license.
|
Constructor and Description |
---|
FBlock_FBcl(FBtype_FBcl typeFb,
java.lang.String name,
Module_FBcl parentModule,
XY_FBcl graphicPos)
Create an FBlock yet without dout, din because the number of din may depend on wiring in the module.
|
Modifier and Type | Method and Description |
---|---|
Pin_FBcl[] |
din()
Returns the originally value of
din as getter access. |
Din_FBcl[] |
dinForeach()
Returns never null, able to use in a for-loop.
|
Dout_FBcl[] |
dout()
Returns the originally value of
dout as getter access. |
Dout_FBcl[] |
doutForeach()
Returns never null, able to use in a for-loop.
|
DType_FBcl[][] |
dtypes() |
Evin_FBcl[] |
evin()
Returns the originally value of
evin as getter access. |
Evin_FBcl |
evin(int ix) |
Evout_FBcl[] |
evout()
Returns the originally value of
evout as getter access. |
Evout_FBcl |
evout(int ix) |
FBtype_FBcl |
fbt() |
PinFbSrc_FBcl |
getFbPinSrc()
Creates if not given the PinInstance for a connection from the FBlock_FBcl itself, not from a dedicated pin.
|
int |
getNrofConnin(Pin_FBcl.XXXXXEKind kind) |
int |
getNrofConnout(Pin_FBcl.XXXXXEKind kind) |
int |
getNrofDin() |
int |
getNrofDout() |
int |
getNrofEvin() |
int |
getNrofEvout() |
DoutType_FBcl.EProps |
getOut1Properties()
Returns the output property of conout[0] as representer of the function blocks property.
|
Pin_FBcl |
getPin(java.lang.String name) |
Pin_FBcl |
getPinEvInByName(java.lang.String name) |
Pin_FBcl |
getPinEvOutByName(java.lang.String name) |
Din_FBcl |
getPinInByName(java.lang.String name)
Deprecated.
it is faulty because yet the pins can have different names in type and obj
|
Dout_FBcl |
getPinOutByName(java.lang.String name) |
SteptimeRef_FBcl |
getSteptime() |
java.lang.String |
getSteptimeStr() |
FBtype_FBcl |
getTypeFB() |
boolean |
isKind(java.lang.String cKinds)
Check whether the
FBtype_FBcl of this has one of the given kind. |
java.lang.Iterable<Evout_FBcl> |
iterEvout(Evin_FBcl evin) |
java.lang.Iterable<Evout_FBcl> |
iterEvout(Evin_FBcl evin,
boolean bCreate)
Iterator over all associated evout to a evin (usual one) using the
#listEvout . |
java.lang.Iterable<Pin_FBcl> |
iterPins() |
int |
ixSlice()
Returns the information about the index of the FBlock in a sliced GBlock, also important for connection data types
|
FBlock_FBcl.Blocktype |
kind()
Returns the kind of the FBlock which is determined by the kind of the
FBtype_FBcl.kind()
Hint: The kind should be taken from fbt . |
boolean |
kindWhatis(java.lang.String cKinds)
Check whether the
FBtype_FBcl of this is one of the given kind. |
java.lang.String |
name() |
java.lang.String |
setDtype(int ix,
DType_FBcl dtype)
Checks and sets the changeable data type and adjusts all depending data types.
|
void |
setName(java.lang.String name) |
boolean |
setSizeArray(int[] sizeArray)
This operation is called if a dout of array Dtype is connected to a din of a FBlock which is scalar
respectively has a lesser array dimension.
|
boolean |
setSliceIndex(int ixSlice,
org.vishia.msgDispatch.LogMessage log)
Sets the one dimensional index of the number in the slice if the FBlock is part of a sliced GBlock.
|
int[] |
sizeArray()
Returns the information about the array properties of this FBlock
|
int[] |
sizeArrayIxSlice()
See
sizeArrayIxSlice |
java.lang.String |
toString() |
java.lang.String |
typeName()
Returns a proper typename for FBCL
|
Pin_FBcl |
XXXgetConnin(Pin_FBcl.XXXXXEKind what,
int ixPin) |
Pin_FBcl |
XXXgetConnout(Pin_FBcl.XXXXXEKind what,
int ixPin) |
public static java.lang.String sVersion
protected java.lang.String name
protected int[] sizeArrayIxSlice
public final XY_FBcl graphicPos
protected FBtype_FBcl fbt
@Deprecated public java.lang.String[] sOperators
ProcessSlxBlocks_Slx
for Gain etc.
but this should use an Expression.and hence the Expression Pins .public PinFbSrc_FBcl fbPinSrc
public PinFbDst_FBcl fbPinDst
public Din_FBcl[] din
public Dout_FBcl[] dout
static Dout_FBcl[] doutempty
protected DType_FBcl[][] dTypes
DType_FBcl.dtBase
is changed if the data type will be more specified.@Deprecated SteptimeRef_FBcl steptime
public Evin_FBcl[] evin
public Evout_FBcl[] evout
public PinRef_FBcl[] reference
public PinPort_FBcl[] port
protected final java.util.Map<java.lang.String,Pin_FBcl> idxPins
public FBlock_FBcl(FBtype_FBcl typeFb, java.lang.String name, Module_FBcl parentModule, XY_FBcl graphicPos)
FBlock_FBcl.WriteFB
typeFb
- name
- graphicPos
- if null then creates internally an empty one, for secondary FBlocks not found in graphic.parentModule
- public java.lang.String name()
public void setName(java.lang.String name)
public boolean setSliceIndex(int ixSlice, org.vishia.msgDispatch.LogMessage log)
sizeArrayIxSlice()
.
Note that all sliced GBlocks for the same FBlock representation should have the same kind of slicing,
elsewhere it is not possible using a unique indexing.
If sizeArrayIxSlice
is already set with another value, an error message occurs.
ixSlice
- The number from 0 for the sliced FBlock.log
- for error message.public boolean setSizeArray(int[] sizeArray)
sizeArray
- public int[] sizeArray()
public int ixSlice()
public int[] sizeArrayIxSlice()
sizeArrayIxSlice
public java.lang.Iterable<Pin_FBcl> iterPins()
public Pin_FBcl getPin(java.lang.String name)
public Pin_FBcl[] din()
din
as getter access.public Dout_FBcl[] dout()
dout
as getter access.public Din_FBcl[] dinForeach()
din
is null, the DinType_FBcl.nullist
is returned, an array with length 0.public Dout_FBcl[] doutForeach()
dout
is null, the DoutType_FBcl.nullist
is returned, an array with length 0.public Evin_FBcl[] evin()
evin
as getter access.public Evin_FBcl evin(int ix)
public Evout_FBcl[] evout()
evout
as getter access.public Evout_FBcl evout(int ix)
public Pin_FBcl XXXgetConnin(Pin_FBcl.XXXXXEKind what, int ixPin)
public Pin_FBcl XXXgetConnout(Pin_FBcl.XXXXXEKind what, int ixPin)
public PinFbSrc_FBcl getFbPinSrc()
PinObj
is stored in fbPinSrc
in the FBlock_FBcl or Clazz (via this super class).
The returned OdgGPin
is stored in idxPinSrcById.
If it is existing, the existing is returned and used more as one time for a connection.fbi
- The graphic FBlock_FBcl (with id and posxy)public final int getNrofConnin(Pin_FBcl.XXXXXEKind kind)
public final int getNrofConnout(Pin_FBcl.XXXXXEKind kind)
public final int getNrofEvin()
public final int getNrofEvout()
public final int getNrofDin()
public final int getNrofDout()
public Pin_FBcl getPinEvInByName(java.lang.String name)
public Pin_FBcl getPinEvOutByName(java.lang.String name)
public Dout_FBcl getPinOutByName(java.lang.String name)
public Din_FBcl getPinInByName(java.lang.String name)
name
- public SteptimeRef_FBcl getSteptime()
public java.lang.String getSteptimeStr()
public DoutType_FBcl.EProps getOut1Properties()
public FBtype_FBcl getTypeFB()
public FBtype_FBcl fbt()
public FBlock_FBcl.Blocktype kind()
FBtype_FBcl.kind()
Hint: The kind should be taken from fbt
. FBtype_FBcl.kind()
public boolean kindWhatis(java.lang.String cKinds)
FBtype_FBcl
of this is one of the given kind.cKinds
- Possible characters for FBlock_FBcl.Blocktype.whatis
public boolean isKind(java.lang.String cKinds)
FBtype_FBcl
of this has one of the given kind.cKinds
- Possible characters for FBlock_FBcl.Blocktype.descr
public java.lang.String typeName()
public DType_FBcl[][] dtypes()
public java.lang.Iterable<Evout_FBcl> iterEvout(Evin_FBcl evin, boolean bCreate)
#listEvout
.evin
- Any evin of this FBlockpublic java.lang.Iterable<Evout_FBcl> iterEvout(Evin_FBcl evin)
public java.lang.String setDtype(int ix, DType_FBcl dtype)
DType_FBcl
on this position in dTypes
for compatibility.
It is not compatible then returns the error message.
If compatible or null is stored yet, then sets the given dtype argument to this position
and adjusts all depending dTypes in the FBlock. in the dTypes
array.
ix
- the index in dTypes
gotten form DinoutType_FBcl.ixDtype
from the type pin.dtype
- any given Data Type from argument or forward / backward propagation..name
.public java.lang.String toString()
toString
in class java.lang.Object