1.四则运算指令使用技巧
(1)四则运算指令概述
四则运算指令可完成数据的四则运算,并通过运算实现数据的传送、变化及其他控制功能。四则运算指令表现形式及功能见表5-14。
表5-14 四则运算指令表现形式及功能简介
四则运算指令在使用时,有以下几点共性要求:
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为负)。
图5-40 BIN加法的表现形式
在32位运算中,用到字元件时,被指定的字元件是低16位元件,而其下一个元件即为高16位元件。为了避免重复使用某些元件,建议指定操作元件时用偶数元件号。
源和目标可以用相同的元件号,若源和目标元件号相同而且采用连续执行的ADD/(D)ADD指令时,加法的结果在每个扫描周期都会改变。如果是用脉冲执行的形式,则只有在脉冲接通时执行一次,如图5-41所示。
另外,经常用到的还有加1指令(INC),如图5-42所示,指定[D.]的数据内容加1,图中D10的内容在每一个脉冲到来时加1。
图5-41所示的程序和图5-42所示的程序在加1时的效果是一样的。
图5-41 加法指令脉冲执行
图5-42 加1指令表现形式
2)BIN减法指令SUB。图5-43所示为32位的减法指令操作,图中[S1•]指定的元件中的数减去[S2•]指定的元件中的数,结果送到[D•]指定的目标元件中。
图5-43 32位的减法指令操作
另外,减法经常用到的还有减1指令(DEC),如图5-44所示,指定[D•]的数据内容减1。图5-44中D10的内容在每一个脉冲到来时数据内容减1。
图5-44 减1指令操作
3)BIN乘法指令MUL。图5-45和图5-46分别表示16位和32位乘法指令操作,图中[S1•]指定的元件中的数乘以[S2•]指定的元件中的数,结果送到[D•]指定的目标元件中。
图5-45 16位乘法指令
图5-46 32位乘法指令
4)BIN除法指令DIV。图5-47和图5-48所示分别为16位和32位除法指令操作,图中[S1•]指定的元件中的数除以[S2•]指定的元件中的数,结果送到[D•]指定的目标元件中。
当除数为负数时,商为负;当被除数为负数时,有余数时则余数为负。
(www.xing528.com)
图5-47 16位除法指令操作
图5-48 32位除法指令操作
以下举例说明四则运算指令的使用技巧:某管道直径数据存在D4中,单位为mm,管道中液体的流速单位为m/s,试计算管道中液体流量,流量单位为mm3/s。请编制程序。
分析:根据圆的面积计算公式S=πr2,再将面积乘以流速即为流量。编写参考程序梯形图如图5-49所示。
图5-49 计算管道中液体流量参考程序梯形图
用乘除法指令可实现灯组的移位点亮循环。有一组灯(16个),接于Y000~Y017,要求当X000为ON时,灯正序每隔1s单个移位,并循环;当X000为OFF时,灯反序每隔1s单个移位,至Y000为ON时停止。程序如图5-50所示。
图5-50 乘除运算实现灯组移位点亮控制程序
2.逻辑运算指令
(1)逻辑运算指令概述
逻辑运算指令可以实现数据的与、或、异或操作,指令表现形式及功能简介见表5-14。
表5-15 逻辑运算指令
指令在使用时,有以下几点共性要求:
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 逻辑运算规则
(2)指令使用
1)逻辑与指令(WAND)。假设(D10)=K27590,(D20)=K23159,执行如图5-51所示的程序时,(D30)=K19014。指令在执行时按照表5-16所列的规则,D10和D20中的数据按二进制对应位进行相与并将结果送到D30中。
图5-51 逻辑与指令的表现形式
2)逻辑或指令(WOR)。WOR指令的表现形式如图5-52所示。
图5-52 逻辑或指令的表现形式
3)逻辑异或指令(WXOR)。WXOR指令表现形式如图5-53所示。
图5-53 逻辑异或指令的表现形式
以下为异或指令的使用示例:有一8层电梯,设有8个呼叫按钮,每一层有两个位置传感器,当电梯的呼叫信号与电梯位置相等时,代表电梯到达该层,此时电梯停止运行,试编制程序。
假定一~八层的呼叫按钮用X0~X7,一~八层位置传感器接至X10~X17,电梯上、下行信号用Y10、Y11。将呼叫信号送到D0中,将位置信号送到D10中,将D0和D10的信号相与并送到D20中,如果D20中数据为“1”,则说明呼叫信号和位置信号相同,为同一层,否则相与的结果是0。编制程序如图5-54所示。
图5-54 参考程序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。