to pop up its description (if any).
Upon the occurrence of an event at the REQ input of an
instance of the M_MUL function block type:
-
If the value of the
REQinput isTRUE:-
If the number of columns in
IN1is not equal to the number of rows inIN2, the value of theQOoutput is set toFALSE, the value of theSTATUSoutput is set toARRAY_SIZE_ERROR(13), and no change is made in the value ofOUT. -
Otherwise:
-
The size of
OUTis adjusted if necessary to contain the same number of rows asIN1and the same number of columns asIN2; -
the matrix product
(IN1×IN2)is placed inOUT; -
the value of the
QOoutput is set toTRUE; -
the value of the
STATUSoutput is set toOK(0). - Arithmetic overflow and underflow are not detected.
-
The size of
-
If the number of columns in
-
If the value of the
REQinput isFALSE, the value of theQOoutput is set toFALSE, the value of theSTATUSoutput is set toINHIBITED(1), and no change is made in the value ofOUT. -
Following the above actions, an event is issued at the
CNFoutput.
The service sequence primitives for this FB type are structured
identically as for the M_ADD FB
type.
See the MATRIX_DEMO
system configuration for an example of the use of an instance of
this function block type.