指令说明:
DANDP是32位脉冲执行型逻辑与运算指令,即指令激活一次,执行一次逻辑与运算。是将源操作数[S1+1,S1]与源操作数[S2+1,S2]的数据内容以位为单位进行逻辑与运算后,传送到[D+1,D]中。
[S1+1,S1]与[S2+1,S2]中指定常数(K)时,会自动地进行BIN转换。
逻辑与运算以位为单位,如下表中(1&1=1、0&1=0、1&0=0、0&0=0)所示变化。
表中:1=ON,,0=OFF
|
DAND指令 |
[S1+1,S1] |
[S2+1,S2] |
[D+1,D] |
|
位单位的逻辑与运算 |
1 |
1 |
1 |
|
0 |
1 |
0 | |
|
1 |
0 |
0 | |
|
0 |
0 |
0 |
操作数:
S1:KnX, KnY, KnM, KnS,T,C,D,K,H,Z,V,LV,DT,@
S2:KnX, KnY, KnM, KnS,T,C,D,K,H,Z,V,LV,DT,@
D:KnY, KnM, KnS, T,C,D,Z,V, LV,DT
指令格式:[DANDP S1 S2 D ]
编程示例:
假设D1D0的数据为40000,D3D2为50000,当X0闭合时,产生一个脉冲,DANDP指令执行,D1D0的32个数据位对应D3D2的32个数据位进行逻辑与运算,运算后的数据传送到K8Y0,K8Y0为32832。Y6和Y17为ON。

D1D0、D3D2、K8Y0的32位数据如下表所示
|
软元件 |
b31 |
… |
b16 |
b15 |
b14 |
b13 |
b12 |
b11 |
b10 |
b9 |
b8 |
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
b0 |
值 |
|
D1D0 |
0 |
… |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
40000 |
|
D3D2 |
0 |
… |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
50000 |
|
K8Y0 |
0 |
… |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
32832 |
|
Y37 |
… |
Y20 |
Y17 |
Y16 |
Y15 |
Y14 |
Y13 |
Y12 |
Y11 |
Y10 |
Y7 |
Y6 |
Y5 |
Y4 |
Y3 |
Y2 |
Y1 |
Y0 |