STEP7数据指令可以分为装载与传送指令、比较指令、算术运算指令、数据逻辑运算指令、移位和循环移位指令、数据块指令。
1.数据格式
常见的数据包括BCD码、整数和实数,重点介绍整数和实数。
(1)整数。数据类型INT是整数(16位)。符号位(第15位)表示所处理的是正数还是负数(“0”=正数,“1”=负数)。整数的表示范围是-32768~+32767。整数占用存储器的一个字。用二进制表示,一个整数的负数用其正数的补码表示。所有的位取反加“1”可以得到正数的补码。
(2)实数。实数(也称浮点数)是用十进制数(例如0.339或-11.32)表示的正数或负数。为了表示10的乘方次数,可以用幂的形式表示实数。例如:1024可以表示为1.024E3。实数占用存储器的两个字,最高位是符号位。其余的位代表指数和尾数。实数的表示范围是:-3.402823×1038~3.402823×1038。
图3-31所示为整数205和实数45.6789的数据保存格式。
图3-31 整数和实数的数据保存格式
2.数据装载与传送指令
图3-32所示为数据装载与传送指令的三种方式,需要注意的是在字或双字指令中,高位赋值给低字节,而低位赋值给高字节。
图3-32 数据装载与传送指令的三种方式
3.数据比较指令
图3-33所示为数据比较指令,用于比较累加器2与累加器1中的数据大小,比较时应确保两个数的类型相同。数据类型可以是整数、实数和长整数等。(www.xing528.com)
图3-33 数据比较指令
4.算术运算指令
基本数学运算指令有ADD_I(加)、SUB_I(减)、MUL_R(乘)、DIV_R(除),除此之外还可以有高级数学运算指令,如浮点数运算和三角函数计算等。
5.数据类型转换指令
由于PLC运算中存在不同的数据类型,现在需要将它们进行类型转换(见图3-34)。对于该数据转换任务,比如先将MW12中的整数转换为MD14的双整数(指令为I_DI),然后将MD14转换为实数(指令为DI_R)。
图3-34 数据转换任务
6.数据逻辑运算指令
S7除了位逻辑运算之外,还可以大量地进行字或双字的数据逻辑运算,典型的字逻辑运算有WXOR_W(异或)、WOR_W(或)、WAND_W(与)指令等。
7.移位和循环移位指令
有符号移位指令包含SHR_I右移整数指令和SHR_DI右移双精度整数指令两种。无符号移位指令包含SHL_W向左移位字、SHR_W向右移位字、SHL_DW向左移位双字,SHR_DW向右移位双字。
循环指令包含ROL_DW双字循环左移和ROR_DW双字循环右移,从字面意思可以理解,循环指令也是移位指令中的一种,只不过移动的位并没有消失,移动出去的各个位的逻辑状态将从另一个方向移入。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。