to pop up its description (if any).
Upon the occurrence of an event at the REQ input of an
instance of the M_ADD function block type:
-
If the value of the
QIinput isTRUE:-
If the number of rows in
IN1is equal to the number of rows inIN2, and the number of columns inIN1is equal to the number of columns inIN2, then as shown in thenormal_additionsequence above:-
The size of
OUTis adjusted if necessary to be equal to the size ofIN1; -
the matrix sum
(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 rows in
IN1is not equal to the number of rows inIN2, or the number of columns inIN1is not equal to the number of columns 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, as shown in thearray_size_errorsequence above.
-
If the number of rows in
-
If the value of the
QIinput 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, as shown in theaddition_inhibitedsequence above.
See the MATRIX_DEMO
system configuration for an example of the use of an instance of
this function block type.