IData (ITF) ¶ INTERFACE IData EXTENDS __System.IQueryInterface Methods: prvCheckDataInst Structure: Private prvCheckDataInst (Method)
CAAReconfigureBase.ReconfigureIoDriverAsync (METH) ¶ METHOD ReconfigureIoDriverAsync : PROC_STATE This method is used by CAAReconfigureBase.ReconfigureAsync . It calls IoStandard.IoMgrReconfigure . InOut: Scope Name Type Comment Return ReconfigureIoDriverAsync PROC_STATE Input eCmd PROC_CMD eCommand itfSender INode Output eError ERROR Error code
Transformations ¶ LinearTrafo (FunctionBlock) fmod (Function)
LinearTrafo (FB) ¶ FUNCTION_BLOCK LinearTrafo This function will calculate the linear transformation \(y \in \mathbb{R}\) of \(x \in \mathbb{R}\) according to \[ \begin{align}\begin{aligned}\frac{y - y_{1}}{y_{2}-y_{1}} = \frac{x-x_{1}}{x_{2}-x_{1}}\\\mathrm{with}\ x_{1}, x_{2}, y_{1}, y_{2} \in \mathbb{R}\ \mathrm{and}\ x_{1} \neq x_{2} \land x_{1} \leq x \leq x_{2}\end{aligned}\end{align} \] InOut: Scope Name Type Comment Input lrInputValue LREAL Value \(x\) to be transformated lrInput1 LREAL Coefficient \(x_{1} \in \mathbb{R}\) lrInput2 LREAL Coefficient \(x_{2} \in \mathbb{R}\) lrOutput1 LREAL Coefficient \(y_{1} \in \mathbb{R}\) lrOutput2 LREAL Coefficient \(y_{2} \in \mathbb{R}\) Output lrOutputValue LREAL Linear transformation \(y \in \mathbb{R}\) of \(x \in \mathbb{R}\) xOutOfLimits BOOL Error flag TRUE : If \(x_{1} = x_{2} \lor x < x_{1} \lor x > x_2\)
fmod (FUN) ¶ FUNCTION fmod : LREAL This function will return the modulo of the integral division \(\frac{x}{m}\) : \[x\ \mathrm{mod}\ m = x - \left \lfloor \frac{x}{m} \right \rfloor \cdot m\] Note The invalid input \(m=0\) will result in the return 0. InOut: Scope Name Type Comment Return fmod LREAL Input lrX LREAL Dividend \(x\) lrM LREAL Divisor \(m\)
analog monitors ¶ Hysteresis_DINT (FunctionBlock) Hysteresis_LREAL (FunctionBlock) LimitAlarm_DINT (FunctionBlock) LimitAlarm_LREAL (FunctionBlock) sgn (Function)
Hysteresis_DINT (FB) ¶ FUNCTION_BLOCK Hysteresis_DINT This function block will set the output variable to TRUE , if the integral value \(x \in \mathbb{Z}\) is smaller than an integral lower bound \(x_{u} \in \mathbb{Z}\) It will set the Boolean output variable to FALSE , if the input value \(x\) exceeds the integral upper bound \(x_{o} \in \mathbb{Z}\) . If \(x\) lies between the lower and upper bound, the value of the output will rest unchanged by the module. InOut: Scope Name Type Comment Input diValue DINT input value \(x \in \mathbb{Z}\) diLimitPos DINT upper bound \(x_{o} \in \mathbb{Z}\) diLimitNeg DINT lower bound \(x_{u} \in \mathbb{Z}\) Output xOut BOOL FALSE : If \(x > x_{o} \land x_{u} < x_{o}\) TRUE : If \(x < x_{u} \land x_{u} < x_{o}\) “ xOut ” else
Hysteresis_LREAL (FB) ¶ FUNCTION_BLOCK Hysteresis_LREAL This function block will set the output variable to TRUE , if the input value \(x \in \mathbb{R}\) is smaller than a lower bound \(x_{u} \in \mathbb{R}\) . It will set the output variable to FALSE , if the input value \(x\) exceeds the upper bound \(x_{o} \in \mathbb{R}\) . If \(x\) lies between the lower and the upper bound, the value of the output variable will rest unchanged by the module. InOut: Scope Name Type Comment Input lrValue LREAL input value \(x \in \mathbb{R}\) lrLimitPos LREAL upper bound \(x_{o} \in \mathbb{R}\) lrLimitNeg LREAL lower bound \(x_{u} \in \mathbb{R}\) Output xOut BOOL FALSE : If \(x > x_{o} \land x_{u} < x_{o}\) TRUE : If \(x < x_{u} \land x_{u} < x_{o}\) “ xOut ” else
LimitAlarm_DINT (FB) ¶ FUNCTION_BLOCK LimitAlarm_DINT This function block checks whether an integral value \(x \in \mathbb{Z}\) lies between an integral lower bound \(x_{u} \in \mathbb{Z}\) and an integral upper bound \(x_{o} \in \mathbb{Z}\) . The output value will be set according to the result. InOut: Scope Name Type Comment Input diValue DINT value \(x \in \mathbb{Z}\) to be tested diLimitPos DINT upper bound \(x_{o} \in \mathbb{Z}\) diLimitNeg DINT lower bound \(x_{u} \in \mathbb{Z}\) Output xExceedsPos BOOL TRUE : If \(x > x_{o}\) FALSE : Else xExceedsNeg BOOL TRUE : If \(x < x_{u}\) FALSE : Else xInLimits BOOL TRUE : If \(x_{u} \leq x \leq x_{u}\) FALSE : Else, also in the atypical case \(x_{o} < x_{u}\)
LimitAlarm_LREAL (FB) ¶ FUNCTION_BLOCK LimitAlarm_LREAL This function block checks whether the value \(x \in \mathbb{R}\) lies between an lower bound \(x_{u} \in \mathbb{R}\) and an upper bound \(x_{o} \in \mathbb{R}\) . The output value will be set according to the result. InOut: Scope Name Type Comment Input lrValue LREAL value \(x \in \mathbb{R}\) to be tested lrLimitPos LREAL upper bound \(x_{o} \in \mathbb{R}\) lrLimitNeg LREAL lower bound \(x_{u} \in \mathbb{R}\) Output xExceedsPos BOOL TRUE : If \(x > x_{o}\) FALSE : Else xExceedsNeg BOOL TRUE : If \(x < x_{u}\) FALSE : Else xInLimits BOOL TRUE : If \(x_{u} \leq x \leq x_{u}\) FALSE : Else, also in the atypical case \(x_{o} < x_{u}\)