This system configuration provides a testbed for instances of the
M_ADD, M_SUB, M_MUL,
and M_INV
function block types, using instances of the IN_MATRIX
and OUT_MATRIX
tabular interfaces.
The screenshots below show the results of launching this system configuration from the FBDK, then performing the following procedure:
- The initial situation.
-
Propagate the
IN1value by double-clicking on theIN1[0,0]table cell, then striking the Enter key.-
The
IN1value will propagate toOUT1, whose table size will adjust to the new value. -
The
QO=FALSEandSTATUS=13 (ARRAY_SIZE_ERROR)outputs forADD, SUB, MULindicate the as-yet unknown size of theIN2matrix. -
The inversion operation has failed with
STATUS=4 (DIVISION_BY_0), indicating thatIN1is singular; however, note that the productIN1*INVdoes give a 2×2 identity submatrix for that portion of the matrix for which the inversion procedure succeeded.
-
The
-
Propagate the
IN2value by double-clicking on theIN2[0,0]table cell, then striking the Enter key.-
The
ADD, SUB, MULoperations will complete successfully, butIN1is still singular.
-
The
-
Double-click at
IN1[2,2], type in1.0and Enter.-
The
ADD, SUBandMULresults will be updated. -
the
INVoperation will complete successfully, andIN1*INVwill show a 3×3 identity matrix as expected.
-
The
This System configuration uses the Local Multicast design pattern for the communication of data and events among Resources. The FBDK uses the Tagged Data design pattern to ensure consistency of the communicated events and data, as shown in the table below.
| Tag Name | Type(s) | Description |
|---|---|---|
INV
|
MATRIX
|
Publish Inverse from INV Panel
|
MAT1
|
MATRIX
|
Publish Matrix from IN1 Panel
|
MAT2
|
MATRIX
|
Publish Matrix from IN2 Panel
|