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
IN1
value by double-clicking on theIN1[0,0]
table cell, then striking the Enter key.-
The
IN1
value will propagate toOUT1
, whose table size will adjust to the new value. -
The
QO=FALSE
andSTATUS=13 (ARRAY_SIZE_ERROR)
outputs forADD, SUB, MUL
indicate the as-yet unknown size of theIN2
matrix. -
The inversion operation has failed with
STATUS=4 (DIVISION_BY_0)
, indicating thatIN1
is singular; however, note that the productIN1*INV
does give a 2×2 identity submatrix for that portion of the matrix for which the inversion procedure succeeded.
-
The
-
Propagate the
IN2
value by double-clicking on theIN2[0,0]
table cell, then striking the Enter key.-
The
ADD, SUB, MUL
operations will complete successfully, butIN1
is still singular.
-
The
-
Double-click at
IN1[2,2]
, type in1.0
and Enter.-
The
ADD, SUB
andMUL
results will be updated. -
the
INV
operation will complete successfully, andIN1*INV
will 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
|