运算指令包括数学运算指令和逻辑运算指令。
数学运算指令包括整数运算和浮点数运算指令,本节主要介绍整数运算指令,如加、减、乘、除、余数、取反、加1、减1等指令,如表2-4所示。
表2-4 数学运算指令
数学运算指令中的ADD、SUB、MUL、DIV分别是加、减、乘、除指令。它们执行的操作见表2-4。操作数的数据类型可选SInt、Int、DInt、USInt、UInt、UDInt、Real和LReal,输入参数IN1和IN2可以是常数。IN1、IN2和OUT的数据类型应该相同。
整数除法指令将得到的商截位取整后,作为整数格式的输出参数OUT。
单击输入参数(或称变量)IN2后面的符号 可增加输入参数的个数,也可以右击ADD或MUL(方框指令中输入变量后面带有 符号的都可以增加输入变量个数)指令,执行出现的快捷菜单中的“插入输入”命令,ADD或MUL指令将会增加一个输入变量。选中输入变量(如IN3)或输入变量前的“短横线”,这时“短横线”将变粗,若按下键盘上的〈Delete〉键(或右击输入变量或“短横线”,选择快捷菜单中的“删除”命令),则可以对已选中的输入变量进行删除。
【例2-3】 编程实现[(12+26+47)-56]×35÷26的运行结果,并保存在MW20中。根据要求编写的运算程序如图2-22所示。
图2-22 四则运算指令的应用示例
将ADD和SUB指令拖放到梯形图后,单击指令方框中指令名称下面的问号,再单击出现的按钮 ,用下拉列表框设置操作数的数据类型,或采用指令的“Auto”数据类型,输入变量后,自动出现指令运算数据类型,如图2-22中的SUB指令。
编程过程中需要注意的是,需要将整数转换成浮点数后方可进行上式的最后一步(除法)运算。
视频“加法指令”可通过扫描二维码2-5播放。
2-5 加法指令
视频“减法指令”可通过扫描二维码2-6播放。
2-6 减法指令
视频“乘法指令”可通过扫描二维码2-7播放。
2-7 乘法指令
视频“除法指令”可通过扫描二维码2-8播放。
2-8 除法指令
逻辑运算指令包括与、或、异或、取反、解码、编码、选择、多路复用和多路分用指令,本节主要介绍与、或、异或、取反指令,如表2-5所示。
表2-5 逻辑运算指令
逻辑运算指令用于对两个输入(或多个)IN1和IN2逐位进行逻辑运算,逻辑运算的结果存放在输出OUT指定的地址中,如图2-23所示。
图2-23 AND、OR、XOR和INV指令的应用示例
与(AND)运算时两个(或多个)操作数的同一位如果均为1,则运算结果的对应位为1,否则为0。
或(OR)运算时两个(或多个)操作数的同一位如果均为0,则运算结果的对应位为0,否则为1。
异或(XOR)运算时两个(若有多个输入,则两两运算)操作数的同一位如果不相同,则运算结果的对应位为1,否则为0。
与、或、异或指令的操作数IN1、IN2和OUT的数据类型为十六进制的Byte、Word和DWord。
取反(INV)指令用于将IN输入中的二进制数逐位取反,即二进制数的各位由0变1,由1变0,运算结果存放在输出OUT指定的地址中。
视频“逻辑与指令”可通过扫描二维码2-9播放。
2-9 逻辑与指令