WriterDiagnostics (FB) ¶ FUNCTION_BLOCK PUBLIC FINAL WriterDiagnostics EXTENDS Diagnostics IMPLEMENTS IWriterDiagnostics Data structure for reporting diagnostic information See IWriterDiagnostics for more details InOut: Scope Name Type Comment Inherited from Input Const eDiagnosticsLevel DiagnosticsLevel Diagnostics Output itfTotalInformation IDiagnosticsCounter Provides the sum of all counters in this Objectdiagnostics with DiagnosticsClassification.Information Diagnostics itfTotalError IDiagnosticsCounter Provides the sum of all counters in this Objectdiagnostics with DiagnosticsClassification.Error Diagnostics xSubError BOOL Indicates if any statistics Object of the next PubSublayer Objects shows a value > 0 in itfTotalError Diagnostics itfStateError IDiagnosticsCounter PubSub state machine changed to STATE.ERROR Diagnostics itfStateOperationalByMethod IDiagnosticsCounter State changed to STATE.OPERATIONAL triggered by Enable Method call. Diagnostics itfStateOperationalByParent IDiagnosticsCounter State changed to STATE.OPERATIONAL triggered by an operational parent. Diagnostics itfStateOperationalFromError IDiagnosticsCounter State changed from STATE.ERROR to STATE.OPERATIONAL Diagnostics itfStatePausedByParent IDiagnosticsCounter State changed to STATE.PAUSED triggered by a paused or disabled parent. Diagnostics itfStateDisabledByMethod IDiagnosticsCounter State changed to STATE.DISABLED triggered by Disable Method call. Diagnostics itfFailedDataSetMessages IDiagnosticsCounter Number of failed DataSetMessages uiMessageSequenceNumber UINT Sequencenumber of last DataSetMessage eStatusCode ERROR Status of last DataSetMessage udiMajorVersion UDINT MajorVersion used for DataSet udiMinorVersion UDINT MinorVersion used for DataSet
WriterGroupDiagnostics (FB) ¶ FUNCTION_BLOCK PUBLIC FINAL WriterGroupDiagnostics EXTENDS Diagnostics IMPLEMENTS IWriterGroupDiagnostics Data structure for reporting diagnostic information See IWriterGroupDiagnostics for more details InOut: Scope Name Type Comment Inherited from Input Const eDiagnosticsLevel DiagnosticsLevel Diagnostics Output itfTotalInformation IDiagnosticsCounter Provides the sum of all counters in this Objectdiagnostics with DiagnosticsClassification.Information Diagnostics itfTotalError IDiagnosticsCounter Provides the sum of all counters in this Objectdiagnostics with DiagnosticsClassification.Error Diagnostics xSubError BOOL Indicates if any statistics Object of the next PubSublayer Objects shows a value > 0 in itfTotalError Diagnostics itfStateError IDiagnosticsCounter PubSub state machine changed to STATE.ERROR Diagnostics itfStateOperationalByMethod IDiagnosticsCounter State changed to STATE.OPERATIONAL triggered by Enable Method call. Diagnostics itfStateOperationalByParent IDiagnosticsCounter State changed to STATE.OPERATIONAL triggered by an operational parent. Diagnostics itfStateOperationalFromError IDiagnosticsCounter State changed from STATE.ERROR to STATE.OPERATIONAL Diagnostics itfStatePausedByParent IDiagnosticsCounter State changed to STATE.PAUSED triggered by a paused or disabled parent. Diagnostics itfStateDisabledByMethod IDiagnosticsCounter State changed to STATE.DISABLED triggered by Disable Method call. Diagnostics itfSentNetworkMessages IDiagnosticsCounter Number of sent NetworkMessages itfFailedTransmissions IDiagnosticsCounter Number of failed NetworkMessage transmissions uiConfiguredDataSetWriters UINT Number of configured Writer FB’s in this group uiOperationalDataSetWriters UINT Number of configured Writer FB’s with state Operational
Reader (FB) ¶ FUNCTION_BLOCK PUBLIC FINAL Reader EXTENDS Component IMPLEMENTS IReader , IGroupElement, IReader_Internal This Function Block is used to represent the Data Set Reader Parameters. See IReader for more details. If necessary create a ReaderDiagnostics instance and connect it to itfReaderDiagnostics . It will offer the diagnostic data of an Data Set Reader via the itfDiagnostics output. See: DataSetReader at OPC Foundation . InOut: Scope Name Type Comment Inherited from Output eErrorID ERROR Reason for STATE.ERROR Component xActive BOOL True 🠖 STATE.OPERATIONAL Component eState State See: State Transition Diagram at STATE Component Input Const uiPublisherId UINT uiWriterGroupId UINT uiDataSetWriterId UINT udiGroupVersion UDINT itfReaderDiagnostics IReaderDiagnostics Input itfReaderGroup IReaderGroup Output itfDiagnostics IReaderDiagnostics itfReader IReader Methods: SetInitialValue Structure: SetInitialValue (Method)
Function Blocks ¶ Configuration (FunctionBlock) SetInitialValue (Method) Connection (FunctionBlock) SetInitialValue (Method) DataSet (FunctionBlock) PrepareValues (Method) SetInitialValue (Method) Diagnostics Base Diagnostics (Folder) DiagnosticsCounter (FunctionBlock) ConnectionDiagnostics (FunctionBlock) ReaderDiagnostics (FunctionBlock) ReaderGroupDiagnostics (FunctionBlock) RootDiagnostics (FunctionBlock) WriterDiagnostics (FunctionBlock) WriterGroupDiagnostics (FunctionBlock) Reader (FunctionBlock) SetInitialValue (Method) ReaderGroup (FunctionBlock) SetInitialValue (Method) Writer (FunctionBlock) SetInitialValue (Method) WriterGroup (FunctionBlock) SetInitialValue (Method)
Configuration (FB) ¶ FUNCTION_BLOCK PUBLIC FINAL Configuration EXTENDS Component IMPLEMENTS IConfiguration , IGroup, IConfiguration_Internal This Function Block is used to represent the Pub/Sub Configuration of an OPC UA Application See IConfiguration for more details. If necessary create a RootDiagnostics instance and connect it to itfRootDiagnostics . It will offer the diagnostic data of an OPC UA Application via the itfDiagnostics output. An example of an common configuration: See: PubSub Configuration Model at OPC Foundation . InOut: Scope Name Type Comment Inherited from Output eErrorID ERROR Reason for STATE.ERROR Component xActive BOOL True 🠖 STATE.OPERATIONAL Component eState State See: State Transition Diagram at STATE Component Input Const itfRootDiagnostics IRootDiagnostics Output itfDiagnostics IRootDiagnostics itfConfiguration IConfiguration Methods: SetInitialValue Structure: SetInitialValue (Method)
Configuration.SetInitialValue (METH) ¶ METHOD FINAL SetInitialValue : ERROR SetInititalValue is a helper method in cases a static initialization in the context of a declaration can not working properly due the initialization sequences of the compiler. As soon as the FB Configuration is embedded when designing own function blocks and parameters from the embedded FB’s VAR_INPUT CONSTANT area are to be provided with initial values, it is time to consider the using of SetInitialValue . For a description of the individual parameters, please refer to the VAR_INPUT CONSTANT section of Configuration . InOut: Scope Name Type Return SetInitialValue ERROR Input itfRootDiagnostics IRootDiagnostics
Connection (FB) ¶ FUNCTION_BLOCK PUBLIC FINAL Connection EXTENDS Component IMPLEMENTS IConnection , IGroupElement, IConnection_Internal This Function Block represents a Pub Sub Connections. A Pub Sub Connection is a combination of protocol selection, protocol settings and addressing information. See IConnection for more details. If necessary create a ConnectionDiagnostics instance and connect it to itfConnectionDiagnostics . It will offer the diagnostic data of an Pub Sub Connection via the itfDiagnostics output. The udiPublishingInterval is set in WriterGroup function block. See: PubSubConnectionType at OPC Foundation . InOut: Scope Name Type Initial Comment Inherited from Output eErrorID ERROR Reason for STATE.ERROR Component xActive BOOL True 🠖 STATE.OPERATIONAL Component eState State See: State Transition Diagram at STATE Component Input Const itfAsyncProperty IAsyncProperty itfTSNContext ITSNContext uiPublisherId UINT itfIPAddress IIPAddress uiPort UINT UDP.PORT itfPublisherIP IIPAddress uiPublisherPort UINT UDP.PORT itfSubscriberIPSet IIPAddressSet itfConnectionDiagnostics IConnectionDiagnostics Input itfConfiguration IConfiguration Output itfDiagnostics IConnectionDiagnostics itfConnection IConnection Methods: SetInitialValue Structure: SetInitialValue (Method)
Connection.SetInitialValue (METH) ¶ METHOD FINAL SetInitialValue : ERROR SetInititalValue is a helper method in cases a static initialization in the context of a declaration can not working properly due the initialization sequences of the compiler. As soon as the FB Connection is embedded when designing own function blocks and parameters from the embedded FB’s VAR_INPUT CONSTANT area are to be provided with initial values, it is time to consider the using of SetInitialValue . The udiPublishingInterval is set in WriterGroup function block. For a description of the individual parameters, please refer to the VAR_INPUT CONSTANT section of Connection . InOut: Scope Name Type Initial Return SetInitialValue ERROR Input itfAsyncProperty IAsyncProperty itfTSNContext ITSNContext uiPublisherId UINT itfIPAddress IIPAddress uiPort UINT itfPublisherIP IIPAddress uiPublisherPort UINT itfSubscriberIPSet IIPAddressSet itfConnectionDiagnostics IConnectionDiagnostics 0
DataSet (FB) ¶ FUNCTION_BLOCK PUBLIC ABSTRACT DataSet IMPLEMENTS IDataSet , IGroupElement, IDataSet_Internal A DataSet can be thought of as a list of Variable Values. For publishing, a DataSet will be encoded into a DataSetMessage . One or more DataSetMessages are combined to form the payload of a NetworkMessage . See IDataSet for more details. A DataSet must be connected either to a Writer or to a Reader . Not connected to both at the same time! How to design a DataSet In the area of CODESYS Forge you will find an example of two different DataSet designs. A DataSet can be a simple listing of variables, or a complex structure with several variants of variable groups. Take a look to a simple DataSet design (DataMessage). It contains one member of any possible data type. The next example (DataMessage2) is sligtly more complex and integrates three different structures as variants of a UNION . The complete example DataSetDesign can be downloaded from the CODESYS Forge ( https://forge.codesys.com ). See: DataSet at OPC Foundation InOut: Scope Name Type Input itfReader IReader itfWriter IWriter Output vtVersion VersionTime Methods: PrepareValues SetInitialValue Structure: PrepareValues (Method) SetInitialValue (Method)
DataSet.PrepareValues (METH) ¶ METHOD PROTECTED PrepareValues : ERROR For safe handling of variables, the adresses of the references to these values must be calculated once per PLC cycle. This method must be implemented application specific in a way, that all adresses of the variables listed in this DataSet are calculated. InOut: Scope Name Type Return PrepareValues ERROR