public class ReaderFBcl
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
ReaderFBcl.CmdArgs |
private class |
ReaderFBcl.NameAndTypeFB
Helper class to evaluate the real number of inconn and outconn due to the connection.
|
Modifier and Type | Field and Description |
---|---|
(package private) ReaderFBcl.CmdArgs |
cmdArgs |
(package private) MainCmdLogging_ifc |
log |
(package private) Prj_FBCLrd.Log |
logpj |
private ZbnfJavaOutput |
parserJava |
private ZbnfJavaOutput |
parserST |
(package private) Prj_FBCLrd |
prj |
private WriterDataFBcl |
wrDataFBcl |
private WriterFBCL |
writerFBcl |
private WriterXmlFBCL |
wrXmlFBcl |
XmlJzReader |
xmlReader |
Constructor and Description |
---|
ReaderFBcl(MainCmdLogging_ifc log,
Prj_FBCLrd prj,
ReaderFBcl.CmdArgs cmdArgs) |
Modifier and Type | Method and Description |
---|---|
private Module_FBcl |
prepareModule(IEC61499data.Fb_type_declaration dataRaw)
Prepares from raw read data, creates the substantial content of the module and the interface.
|
private static void |
prepDataConnections(IEC61499data.FBNetwork mdlraw,
Write_Module_FBwr mfbwr) |
private void |
prepEventConnections(IEC61499data.FBNetwork mdlraw,
Write_Module_FBwr mfbwr) |
private static void |
prepEvin(IEC61499data.Fb_interface_list ifc,
Write_Module_FBwr mfbwr) |
private static void |
prepEvout(IEC61499data.Fb_interface_list ifc,
Write_Module_FBwr mfbwr)
prepares the output events with its data outputs from read FBCL data.
|
private void |
prepFBlocks(IEC61499data.FBNetwork mdlraw,
Write_Module_FBwr mfbwr) |
private void |
prepInpins(IEC61499data.Fb_interface_list ifc,
Write_Module_FBwr mfbwr,
java.util.List<DataTypeRef_FBcl> dtypes) |
private void |
prepOutpins(IEC61499data.Fb_interface_list ifc,
Write_Module_FBwr mfbwr,
java.util.List<DataTypeRef_FBcl> dtypes) |
private void |
prepStateMachine(IEC61499data.BasicFB basicFBraw,
Write_Module_FBwr mfbwr) |
Module_FBcl |
read(java.io.File fileFBCL,
int recursive)
Reads a IEC 61499 Composite FBlock (contains a graphical model) either from the textual
or from the XML syntax.
|
IEC61499data |
readFileRawData(java.io.File fileFBCL)
Reads one FBCL file as IEC 61499 composite FBlock.
|
private java.io.File |
searchSubmoduleFile(java.lang.String sType) |
FBlock_Type_FBcl |
searchUserModule(java.lang.String sType,
int recursive)
Searches an FBcl file for an user module in all directories given with argument -fd:DIR
Already found and translated Modules are stored and gotten from
#mapReadModules
A non found module is searched by name in the used module path
given with ReaderFBcl.CmdArgs.dirSrcFBCL search path (argument -fd:PATH) |
final ReaderFBcl.CmdArgs cmdArgs
final MainCmdLogging_ifc log
final Prj_FBCLrd prj
private final ZbnfJavaOutput parserJava
private final ZbnfJavaOutput parserST
public final XmlJzReader xmlReader
private final WriterFBCL writerFBcl
private final WriterDataFBcl wrDataFBcl
private final WriterXmlFBCL wrXmlFBcl
final Prj_FBCLrd.Log logpj
public ReaderFBcl(MainCmdLogging_ifc log, Prj_FBCLrd prj, ReaderFBcl.CmdArgs cmdArgs) throws java.lang.InstantiationException, java.io.IOException
java.lang.InstantiationException
java.io.IOException
public Module_FBcl read(java.io.File fileFBCL, int recursive)
fileFBCL
- The file containing the module. Either in XML coding or IEC 61499 text coding.recursive
- Start with 0, too much recursions (100) throws.readFileRawData(File)
to get the raw Data for such FBlocks.java.lang.InstantiationException
java.io.IOException
private java.io.File searchSubmoduleFile(java.lang.String sType)
public FBlock_Type_FBcl searchUserModule(java.lang.String sType, int recursive) throws java.lang.InstantiationException, java.io.IOException
#mapReadModules
A non found module is searched by name in the used module path
given with ReaderFBcl.CmdArgs.dirSrcFBCL
search path (argument -fd:PATH)sType
- name of the typerecursive
- java.io.IOException
java.lang.InstantiationException
public IEC61499data readFileRawData(java.io.File fileFBCL) throws java.io.IOException
fileFBCL
- java.io.IOException
private Module_FBcl prepareModule(IEC61499data.Fb_type_declaration dataRaw)
FBlock_Type_FBcl
is completed
EvinType_FBcl.getOperation(int)
are not created yet.
EvinoutType_FBcl#get_dataPins()
as it is read from the source in the interface declaration. Not checked with inner wiring inside the module.
dataRaw
- private static void prepEvin(IEC61499data.Fb_interface_list ifc, Write_Module_FBwr mfbwr)
private static void prepEvout(IEC61499data.Fb_interface_list ifc, Write_Module_FBwr mfbwr)
ifc
- mfbwr
- private void prepInpins(IEC61499data.Fb_interface_list ifc, Write_Module_FBwr mfbwr, java.util.List<DataTypeRef_FBcl> dtypes)
private void prepOutpins(IEC61499data.Fb_interface_list ifc, Write_Module_FBwr mfbwr, java.util.List<DataTypeRef_FBcl> dtypes)
private void prepFBlocks(IEC61499data.FBNetwork mdlraw, Write_Module_FBwr mfbwr)
private void prepEventConnections(IEC61499data.FBNetwork mdlraw, Write_Module_FBwr mfbwr)
private static void prepDataConnections(IEC61499data.FBNetwork mdlraw, Write_Module_FBwr mfbwr)
private void prepStateMachine(IEC61499data.BasicFB basicFBraw, Write_Module_FBwr mfbwr)