西门子PLC乘法指令的要素及使用说明
发表时间:2018-09-08
该指令的助记符、指令代码、操作数、程序步如表 1 所示。
表 1 乘法指令的要素
指令名称 |
助记符 |
指令代码位数 |
操作数范围 |
程序步 |
||
S1(.) |
S2(.) |
D(.) |
||||
乘法 |
MUL MUL(P) |
FNC22 (16/32) |
K 、 H KnX 、 KnY 、 KnM 、 KnS T 、 C 、 D 、 V 、 Z |
KnY 、 KnM 、 KnS T 、 C 、 D 、 V 、 Z |
MUL 、 MULP…7 步 DMUL 、 DMULP…13 步 |
MUL 乘法指令是将指定的源元件中的二进制数相乘,结果送到指定的目标元件中去。 MUL 乘法指令使用说明如图 1 所示。它分 16 位和 32 位两种情况。
图 1 乘法指令使用说明
当为 16 位运算,执行条件 X0 由 OFF → ON 时, [D0]x[D2] → [D5 , D4] 。源操作数是 16 位,目标操作数是 32 位。当 [D0]=8 , [D2]=9 时, [D5 , D4]=72 。最高位为符号位, 0 为正, 1 为负。
当为 32 位运算,执行条件 X0 由 OFF → ON 时, [D1 、 D0]x[D3 、 D2] → [D7 、 D6 、 D5 、D4] 。源操作数是 32 位,目标操作数是 64 位。当 [D1 、 D0]=238 , [D3 、 D2]=189 时, [D7 、 D6 、 D5 、 D4]=44982 ,最高位为符号位, 0 为正, 1 为负。
如将位组合元件用于目标操作数时,限于 K 的取值,只能得到低位 32 位的结果,不能得到高位 32 位的结果。这时,应将数据移入字元件再进行计算。
用字元件时,也不可能监视 64 位数据,只能通过监视高位 32 位和低 32 位。 V 、 Z 不能用于 [D] 目标元件。