Delta Electronics Programmable Logic Controller DVP-PLC User Manual
Page 543
![background image](/manuals/75807/543/background.png)
9 Application Instructions API 150-199
DVP-PLC Application Manual
9-71
API Mnemonic
Operands
Function
188
MBS P
Matrix Bit Displacement
Controllers
ES/EX/SS SA/SX/SC EH/SV
Bit Devices
Word Devices
Program Steps
Type
OP
X Y M S K H
KnX KnY KnM KnS T
C
D
E
F
S
*
*
*
*
*
*
*
D
*
*
*
*
*
*
n
*
*
*
MBS, MBSP: 7 steps
PULSE 16-bit 32-bit
ES EX SS SA SX SC EH SV ES EX SS SA SX SC EH SV ES EX SS SA SX SC EH SV
Operands:
S: Matrix source device D: Operation result n: Array length
Explanations:
1. Range
of
n: K1 ~ K256
2.
S designates KnX, KnY, KnM and KnS; D designates KnY, KnM and KnS.
3.
SA/SX/SC can designate n = 4. EH/EH2/SV can designate n
4
≦ .
4.
See the specifications of each model for their range of use.
5.
Flags: M1095 ~ M1097. See remarks for more details.
6.
This instruction performs left-right displacement on the matrix bits in S according to array length n. M1097
determines the left (M1097 = 0) or right (M1097 = 1) displacement of matrix bits. The empty bits derived from
every displacement of 1 bit (when left displacement: b
0
; when right displacement: b
16n-1
) is filled by the status of
the complement flag (M1096). The spare bits (when left displacement: b
16n-1
; when right displacement: b
0
) are
sent to the carry flag (M1095). The result is stored in D.
7.
The pulse execution instruction MBSP is generally adopted.
Program Example 1:
When X0 = On, M1097 = Off, indicating a left matrix displacement is performed. Set M1096 = 0 and the 16-bit
registers D0 ~ D2 will perform a left matrix displacement and the result will be stored in the matrix of the 16-bit
registers D20 ~ D22. The carry flag M1095 will be “1”.
X0
RST
MBSP
D0
D20
K3
M1097
1
b 0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
b 15
0
0
0
M1096
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
S
D
1
M1095
M1095
MBS
M1097=0
Complement
flag
Before
execution
Carry flag
Carry flag
After the execution of
left matrix displacement