首页 理论教育 如何熟练使用四则和逻辑运算指令?

如何熟练使用四则和逻辑运算指令?

时间:2023-06-27 理论教育 版权反馈
【摘要】:四则运算指令表现形式及功能见表5-14。2)四则运算指令的执行形式有连续执行和脉冲执行两种。四则运算指令用法1)BIN加法ADD。

如何熟练使用四则和逻辑运算指令?

1.四则运算指令使用技巧

(1)四则运算指令概述

四则运算指令可完成数据的四则运算,并通过运算实现数据的传送、变化及其他控制功能。四则运算指令表现形式及功能见表5-14。

5-14 四则运算指令表现形式及功能简介

978-7-111-59091-0-Chapter05-64.jpg

四则运算指令在使用时,有以下几点共性要求:

1)指令中操作数的软元件可使用范围:

①[S1]、[S2]的对象软元件有:KnX、KnM、KnY、KnS、T、C、D、V、Z、K、H。

②[D]的对象软元件有:KnM、KnY、KnS、T、C、D、V、Z。注意,乘法和除法指令中目标操作数不能用V,而Z也只能用于16位操作数。

2)四则运算指令的执行形式有连续执行和脉冲执行两种。

3)四则运算指令执行时可执行16位和32位的数据,执行32位数据时在指令前加D。

4)四则运算指令在运算时是以代数方式进行运算的,如:16+(-8)=8;8-4=4;5×(-8)=-40;16÷(-4)=-4。

(2)四则运算指令用法

1)BIN加法ADD。图5-40所示为BIN加法的表现形式,指定源元件中的二进制数相加,结果送到指定的目标元件中。每个数据的最高位为符号位(0为正,1为负)。

978-7-111-59091-0-Chapter05-65.jpg

图5-40 BIN加法的表现形式

在32位运算中,用到字元件时,被指定的字元件是低16位元件,而其下一个元件即为高16位元件。为了避免重复使用某些元件,建议指定操作元件时用偶数元件号。

源和目标可以用相同的元件号,若源和目标元件号相同而且采用连续执行的ADD/(D)ADD指令时,加法的结果在每个扫描周期都会改变。如果是用脉冲执行的形式,则只有在脉冲接通时执行一次,如图5-41所示。

另外,经常用到的还有加1指令(INC),如图5-42所示,指定[D.]的数据内容加1,图中D10的内容在每一个脉冲到来时加1。

图5-41所示的程序和图5-42所示的程序在加1时的效果是一样的。

978-7-111-59091-0-Chapter05-66.jpg

图5-41 加法指令脉冲执行

978-7-111-59091-0-Chapter05-67.jpg

图5-42 加1指令表现形式

2)BIN减法指令SUB。图5-43所示为32位的减法指令操作,图中[S1•]指定的元件中的数减去[S2•]指定的元件中的数,结果送到[D•]指定的目标元件中。

978-7-111-59091-0-Chapter05-68.jpg

图5-43 32位的减法指令操作

另外,减法经常用到的还有减1指令(DEC),如图5-44所示,指定[D•]的数据内容减1。图5-44中D10的内容在每一个脉冲到来时数据内容减1。

978-7-111-59091-0-Chapter05-69.jpg

图5-44 减1指令操作

3)BIN乘法指令MUL。图5-45和图5-46分别表示16位和32位乘法指令操作,图中[S1•]指定的元件中的数乘以[S2•]指定的元件中的数,结果送到[D•]指定的目标元件中。

978-7-111-59091-0-Chapter05-70.jpg

图5-45 16位乘法指令

978-7-111-59091-0-Chapter05-71.jpg

图5-46 32位乘法指令

4)BIN除法指令DIV。图5-47和图5-48所示分别为16位和32位除法指令操作,图中[S1•]指定的元件中的数除以[S2•]指定的元件中的数,结果送到[D•]指定的目标元件中。

当除数为负数时,商为负;当被除数为负数时,有余数时则余数为负。

978-7-111-59091-0-Chapter05-72.jpg(www.xing528.com)

图5-47 16位除法指令操作

978-7-111-59091-0-Chapter05-73.jpg

图5-48 32位除法指令操作

以下举例说明四则运算指令的使用技巧:某管道直径数据存在D4中,单位为mm,管道中液体的流速单位为m/s,试计算管道中液体流量,流量单位为mm3/s。请编制程序。

分析:根据圆的面积计算公式Sr2,再将面积乘以流速即为流量。编写参考程序梯形图如图5-49所示。

978-7-111-59091-0-Chapter05-74.jpg

图5-49 计算管道中液体流量参考程序梯形图

用乘除法指令可实现灯组的移位点亮循环。有一组灯(16个),接于Y000~Y017,要求当X000为ON时,灯正序每隔1s单个移位,并循环;当X000为OFF时,灯反序每隔1s单个移位,至Y000为ON时停止。程序如图5-50所示。

978-7-111-59091-0-Chapter05-75.jpg

图5-50 乘除运算实现灯组移位点亮控制程序

2.逻辑运算指令

(1)逻辑运算指令概述

逻辑运算指令可以实现数据的与、或、异或操作,指令表现形式及功能简介见表5-14。

5-15 逻辑运算指令

978-7-111-59091-0-Chapter05-76.jpg

指令在使用时,有以下几点共性要求:

1)指令中操作数的软元件使用情况:

①[S1]、[S2]的对象软元件有:KnX、KnM、KnY、KnS、T、C、D、V、Z、K、H。

②[D]的对象软元件有:KnM、KnY、KnS、T、C、D、V。

2)逻辑运算指令的执行形式有连续执行和脉冲执行两种。

3)逻辑运算指令在运算时是按位执行逻辑运算,逻辑运算规则见表5-16。

5-16 逻辑运算规则

978-7-111-59091-0-Chapter05-77.jpg

(2)指令使用

1)逻辑与指令(WAND)。假设(D10)=K27590,(D20)=K23159,执行如图5-51所示的程序时,(D30)=K19014。指令在执行时按照表5-16所列的规则,D10和D20中的数据按二进制对应位进行相与并将结果送到D30中。

978-7-111-59091-0-Chapter05-78.jpg

图5-51 逻辑与指令的表现形式

2)逻辑或指令(WOR)。WOR指令的表现形式如图5-52所示。

978-7-111-59091-0-Chapter05-79.jpg

图5-52 逻辑或指令的表现形式

3)逻辑异或指令(WXOR)。WXOR指令表现形式如图5-53所示。

978-7-111-59091-0-Chapter05-80.jpg

图5-53 逻辑异或指令的表现形式

以下为异或指令的使用示例:有一8层电梯,设有8个呼叫按钮,每一层有两个位置传感器,当电梯的呼叫信号与电梯位置相等时,代表电梯到达该层,此时电梯停止运行,试编制程序。

假定一~八层的呼叫按钮用X0~X7,一~八层位置传感器接至X10~X17,电梯上、下行信号用Y10、Y11。将呼叫信号送到D0中,将位置信号送到D10中,将D0和D10的信号相与并送到D20中,如果D20中数据为“1”,则说明呼叫信号和位置信号相同,为同一层,否则相与的结果是0。编制程序如图5-54所示。

978-7-111-59091-0-Chapter05-81.jpg

图5-54 参考程序

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈