首页 理论教育 使用STEP7编写数据指令的方法

使用STEP7编写数据指令的方法

时间:2023-06-25 理论教育 版权反馈
【摘要】:STEP7数据指令可以分为装载与传送指令、比较指令、算术运算指令、数据逻辑运算指令、移位和循环移位指令、数据块指令。为了表示10的乘方次数,可以用幂的形式表示实数。例如:1024可以表示为1.024E3。实数的表示范围是:-3.402823×1038~3.402823×1038。图3-31所示为整数205和实数45.6789的数据保存格式。图3-32 数据装载与传送指令的三种方式3.数据比较指令图3-33所示为数据比较指令,用于比较累加器2与累加器1中的数据大小,比较时应确保两个数的类型相同。

使用STEP7编写数据指令的方法

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的数据保存格式。

978-7-111-45066-5-Chapter03-40.jpg

图3-31 整数和实数的数据保存格式

2.数据装载与传送指令

图3-32所示为数据装载与传送指令的三种方式,需要注意的是在字或双字指令中,高位赋值给低字节,而低位赋值给高字节。

978-7-111-45066-5-Chapter03-41.jpg

图3-32 数据装载与传送指令的三种方式

3.数据比较指令

图3-33所示为数据比较指令,用于比较累加器2与累加器1中的数据大小,比较时应确保两个数的类型相同。数据类型可以是整数、实数和长整数等。(www.xing528.com)

978-7-111-45066-5-Chapter03-42.jpg

图3-33 数据比较指令

4.算术运算指令

基本数学运算指令有ADD_I(加)、SUB_I(减)、MUL_R(乘)、DIV_R(除),除此之外还可以有高级数学运算指令,如浮点数运算和三角函数计算等。

5.数据类型转换指令

由于PLC运算中存在不同的数据类型,现在需要将它们进行类型转换(见图3-34)。对于该数据转换任务,比如先将MW12中的整数转换为MD14的双整数(指令为I_DI),然后将MD14转换为实数(指令为DI_R)。

978-7-111-45066-5-Chapter03-43.jpg

图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双字循环右移,从字面意思可以理解,循环指令也是移位指令中的一种,只不过移动的位并没有消失,移动出去的各个位的逻辑状态将从另一个方向移入。

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

我要反馈