public abstract static class FBlock_FBcl.WriteFB
extends java.lang.Object
FBlock_FBcl
and its properties.
The class is a static inner class because it should access private elements.
The class is seperated from FBlock_FBcl
for a clarified structure. Separate creation from usage.Modifier and Type | Field and Description |
---|---|
FBlock_FBcl |
fb
Access to the created FBlock
|
Modifier | Constructor and Description |
---|---|
protected |
WriteFB(FBlock_FBcl fb)
used for derived FBlock types with its Create inner class.
|
protected |
WriteFB(FBtype_FBcl typeFb,
java.lang.String name,
Module_FBcl parentModule,
XY_FBcl graphicPos)
Create a new Block as un-derived with given kind.
|
Modifier and Type | Method and Description |
---|---|
private void |
addForwardPropagation(Dinout_FBcl dinDst,
int ixdtype,
java.util.List<Dout_FBcl> listDoutForward,
java.util.HashMap<Din_FBcl,Din_FBcl> idxDinBackward,
org.vishia.msgDispatch.LogMessage log)
Add the pin for forward and backward propagation.
|
void |
changeFBtype(FBtype_FBcl fbt)
Change the type of the FBlock.
|
protected void |
clone_dtypes(DType_FBcl[] orig) |
protected void |
createDinoutPins(FBtype_FBcl fbtRef,
java.util.Map<java.lang.String,Din_FBcl> idxDin,
java.util.Map<java.lang.String,Dout_FBcl> idxDout)
Creates all existing pins in order of the type pins.
|
protected void |
createEvinoutPins(FBtype_FBcl fbtRef,
java.util.List<Evin_FBcl> listEvin,
java.util.List<Evout_FBcl> listEvout) |
protected void |
createRefPortPins(java.util.List<PinRef_FBcl> listRef,
java.util.List<PinPort_FBcl> listPort) |
Pin_FBcl |
get_idxPin(java.lang.String name) |
protected Pin_FBcl[] |
getConnInArray() |
protected Pin_FBcl[] |
getConnOutArray() |
protected Pin_FBcl[] |
getEvInArray() |
protected Pin_FBcl[] |
getEvOutArray() |
void |
propagateDtype(Dinout_FBcl dinDst,
DType_FBcl dtype,
DType_FBcl dtypeArray,
java.util.List<Dout_FBcl> listDoutForward,
java.util.HashMap<Din_FBcl,Din_FBcl> idxDinBackward,
org.vishia.msgDispatch.LogMessage log)
Set the non dedicated DType to a more dedicated or replace the instance of the dedicated DType for all related pins in the
FBlock_FBcl.dTypes . |
void |
put_idxPin(Pin_FBcl pin) |
void |
setSteptime(SteptimeRef_FBcl steptime) |
protected void |
XXXcreateFBlockPinsFromType(org.vishia.msgDispatch.LogMessage log)
Create all pin arrays for this instance due to the type pins.
|
public final FBlock_FBcl fb
protected WriteFB(FBtype_FBcl typeFb, java.lang.String name, Module_FBcl parentModule, XY_FBcl graphicPos)
kind
- name
- protected WriteFB(FBlock_FBcl fb)
fb
- The proper derived FBlock_FBcl created in super(new Type_FBlock)
public void changeFBtype(FBtype_FBcl fbt)
PinType_FBcl.ixPin
.fbt
- The new type.public void put_idxPin(Pin_FBcl pin)
public Pin_FBcl get_idxPin(java.lang.String name)
public void propagateDtype(Dinout_FBcl dinDst, DType_FBcl dtype, DType_FBcl dtypeArray, java.util.List<Dout_FBcl> listDoutForward, java.util.HashMap<Din_FBcl,Din_FBcl> idxDinBackward, org.vishia.msgDispatch.LogMessage log)
FBlock_FBcl.dTypes
.
It adjusts all depending DTypes in this list also.
All Pins which are influenced are entred in the container to propagate in the wired module.ixDtypeInFB
- Index in FBlock_FBcl.dTypes
dinDst
- The pin which is the entry gate to propagate the Dtype inside this FBdtype
- the DType to propagate to determine all appropriate pin DType.listDoutForward
- Add all dout pins to this list which have now a propagate type, for forward propagation.idxDinBackward
- Add all din pins to this list which have now a propagate type, for backward propagation.
Check that the din1 itself is not contained in this list.log
- private void addForwardPropagation(Dinout_FBcl dinDst, int ixdtype, java.util.List<Dout_FBcl> listDoutForward, java.util.HashMap<Din_FBcl,Din_FBcl> idxDinBackward, org.vishia.msgDispatch.LogMessage log)
dinDst
- not for this pin, because it is the input pin for the current propagation.ixdtype
- look for all pins with the same data type with this index.listDoutForward
- adds all dout to itidxDinBackward
- adds all apropriate din to it.protected void createDinoutPins(FBtype_FBcl fbtRef, java.util.Map<java.lang.String,Din_FBcl> idxDin, java.util.Map<java.lang.String,Dout_FBcl> idxDout)
idxDin
- idxDout
- protected void createEvinoutPins(FBtype_FBcl fbtRef, java.util.List<Evin_FBcl> listEvin, java.util.List<Evout_FBcl> listEvout)
protected void createRefPortPins(java.util.List<PinRef_FBcl> listRef, java.util.List<PinPort_FBcl> listPort)
protected Pin_FBcl[] getEvOutArray()
protected Pin_FBcl[] getEvInArray()
protected Pin_FBcl[] getConnOutArray()
protected Pin_FBcl[] getConnInArray()
protected void clone_dtypes(DType_FBcl[] orig)
public void setSteptime(SteptimeRef_FBcl steptime)
protected void XXXcreateFBlockPinsFromType(org.vishia.msgDispatch.LogMessage log)