Skip to main content

FB_init

Short Summary

The constructor FB_init is needed to create an unique hash code. The hash code is a pseudo random number create with a xorshift_ algorithm. It can be overwritten on derivations, because it will be called implicit, SUPER^.FB_init() is not required. For more information check: Behavoir with derived function blocks_

.. _Behavoir with derived function blocks: https://infosys.beckhoff.com/content/1033/tc3_plc_intro/5482088715.html?id=6983869892358031022 .. _xorshift: https://en.wikipedia.org/wiki/Xorshift

parameters

  • Return type: BOOL

Parameters

NameTypeCommentKind
bInitRetainsBOOLif TRUE, the retain variables are initialized (warm start / cold start)input
bInCopyCodeBOOLif TRUE, the instance afterwards gets moved into the copy code (online change)input
rootNodeINodeApifirst node, e.g. Workflow or Station (can be 0)input
safetyCNM_OpModeHandlingInterfaces.ISafetyReleaseDistributorsafety to subscribeinput

Code

Declaration

METHOD FB_init : BOOL
VAR_INPUT
(* if TRUE, the retain variables are initialized (warm start / cold start)*)
bInitRetains : BOOL;
(* if TRUE, the instance afterwards gets moved into the copy code (online change) *)
bInCopyCode : BOOL;
(* first node, e.g. Workflow or Station (can be 0) *)
rootNode :INodeApi := 0;
(* safety to subscribe *)
safety :CNM_OpModeHandlingInterfaces.ISafetyReleaseDistributor;
END_VAR

Implementation

IF ( THIS^.isObjectValid( rootNode ) ) THEN
THIS^.root := rootNode;
ELSE
THIS^.root := 0;
END_IF
IF THIS^.isObjectValid(safety) THEN
safety.subscribe(THIS^);
END_IF