PolarToCartesian (FB) ¶ FUNCTION_BLOCK PolarToCartesian This function block will change the polar coordinates of the two dimensional space \((r, \varphi) \in \mathbb{R_{0}^{+}} \times \left( -\pi, \pi\right]\) to Cartesian coordinates \((x,y) \in \mathbb{R^{2}}\) , which are connected via: \[ \begin{align}\begin{aligned}x = \cos(\varphi) \cdot r\\y = \sin(\varphi) \cdot r\end{aligned}\end{align} \] InOut: Scope Name Type Comment Input lrAngle LREAL Angular coordinate \(\varphi\) (azimuth) lrDistance LREAL Radius \(r\) Output lrX LREAL X coordinate \(x\) lrY LREAL Y coordinate \(y\)
AddMultiplicatedVector (FUN) ¶ FUNCTION AddMultiplicatedVector : BOOL This function will multiply the input vector \(v_{2} \in \mathbb{R}\) by a scalar \(a \in \mathbb{R}\) and will add this product to the input vector \(v_{1} \in \mathbb{R}\) : \[b = v_{1} + a \cdot v_{2}\] InOut: Scope Name Type Comment Return AddMultiplicatedVector BOOL The return value is not used. Input pv1 POINTER TO Vector3d Pointer to input vector \(v_{1} \in \mathbb{R}\) pv2 POINTER TO Vector3d Pointer to input vector \(v_{2} \in \mathbb{R}\) lrFactor LREAL Scalar multiplier \(a \in \mathbb{R}\) pv POINTER TO Vector3D Pointer to result \(b\)
CrossProduct (FB) ¶ FUNCTION_BLOCK CrossProduct This function will calculate the Cartesian product (outer product) of two vectors \(v_{1}, v_{2} \in \mathbb{R^{3}}\) . The result will be returned in vector \(v = v_{1} \times v_{2} \in \mathbb{R^{3}}\) . Note Keep in mind that, due to rounding errors, the input of two collinear vectors will not necessarily result in the null vector. InOut: Scope Name Type Comment Input v1 Vector3d Input vector \(v_{1} \in \mathbb{R}\) v2 Vector3d Input vector \(v_{2} \in \mathbb{R}\) Output v Vector3D Cartesian product \(v_{1} \times v_{2} \in \mathbb{R^{3}}\)
CrossProductNormed (FB) ¶ FUNCTION_BLOCK CrossProductNormed This function will calculate the Cartesian product of two vectors \(v_{1}, v_{2} \in \mathbb{R^{3}}\) . The result will be returned in vector \(v = \frac{v_{1} \times v_{2}}{\left \| v_{1} \times v_{2}\right \|} \in \mathbb{R^{3}}\) . Note Keep in mind that, due to rounding errors, the input of two collinear vectors will not necessarily result in the null vector. InOut: Scope Name Type Comment Input v1 Vector3d Input vector \(v_{1} \in \mathbb{R}\) v2 Vector3d Input vector \(v_{2} \in \mathbb{R}\) Output v Vector3D Normed outer product \(v \in \mathbb{R^{3}}\) xError BOOL Error flag TRUE : If the calculated outer product yields the null vector so that scaling is not possible
MakeNormed3D (FUN) ¶ FUNCTION MakeNormed3D : BOOL This function will scale an input vector \(v \in \mathbb{R^{3}}\) to norm 1, as far as \(v\) is not the null vector. InOut: Scope Name Type Comment Return MakeNormed3D BOOL TRUE : If \(v\) is not the null vector Input pv POINTER TO VECTOR3D Pointer to input vector \(v \in \mathbb{R^{3}}\)
Norm3D (FUN) ¶ FUNCTION Norm3D : LREAL This function will return the length/norm of a three dimensional vector \(v \in \mathbb{R^{3}}\) InOut: Scope Name Type Comment Return Norm3D LREAL The length/norm of the input vector \(v\) Input pv POINTER TO VECTOR3D Pointer to input vector \(v \in \mathbb{R^{3}}\)
ScalProd3D (FUN) ¶ FUNCTION ScalProd3D : LREAL This function will calculate the scalar product of two vectors \(v_{1}, v_{2} \in \mathbb{R^{3}}\) InOut: Scope Name Type Comment Return ScalProd3D LREAL \(v_{1} \cdot v_{2} \in \mathbb{R}\) Input pv1 POINTER TO Vector3d Pointer to input vector \(v_{1} \in \mathbb{R}\) pv2 POINTER TO Vector3d Pointer to input vector \(v_{2} \in \mathbb{R}\)
ScalProd3DStand (FUN) ¶ FUNCTION ScalProd3DStand : LREAL This function will calculate the cosine of the angle being drawn by two input vectors \(v_{1}, v_{2} \in \mathbb{R^{3}}\) . InOut: Scope Name Type Comment Return ScalProd3DStand LREAL If one of the input vector equals the null vector, 0 will be returned. Input pv1 POINTER TO Vector3d Pointer to input vector \(v_{1} \in \mathbb{R}\) pv2 POINTER TO Vector3d Pointer to input vector \(v_{2} \in \mathbb{R}\)
SubVector (FUN) ¶ FUNCTION SubVector : BOOL This function will subtract two input vectors \(v_{1}, v_{2} \in \mathbb{R^{3}}\) and store the result within vector \(v \in \mathbb{R^{3}}\) : \[v = v_{1}-v_{2}\] InOut: Scope Name Type Comment Return SubVector BOOL The return value is not used. Input pv1 POINTER TO Vector3d Pointer to input vector \(v_{1} \in \mathbb{R}\) pv2 POINTER TO Vector3d Pointer to input vector \(v_{2} \in \mathbb{R}\) pv POINTER TO Vector3D Pointer to output vector \(v \in \mathbb{R}\)
CAA Memory Block Manager Extern Library Documentation ¶ Company CAA Technical Workgroup Title CAA Memory Block Manager Extern Version 3.5.13.0 Categories Intern|CAA|Runtime Namespace MBM Author 3S - Smart Software Solutions GmbH Placeholder CAA MemBlockMan Description 1 ¶ Memory block management functions for pools, queues, messages, and priority lists Contents: ¶ CAA Memory Block Manager Enums Functions Internal GetSupplierVersion (Function) VersionConstants (GVL) Indices and tables ¶ 1 Based on CAA_MemBlockMan_Extern.library, last modified 03.07.2018, 09:54:54. LibDoc 4.4.0.0-b.27 The content file CAA_MemBlockMan_Extern.clean.json was generated with CODESYS V3.5 SP13 on 03.07.2018, 09:54:55.