理论教育 优化STEP7数据指令的操作方法

优化STEP7数据指令的操作方法

时间:2023-06-29 理论教育 版权反馈
【摘要】:图6-5 万能转换开关对于复杂的开关量控制,尤其是点数多、过程复杂的项目,还必须了解STEP 7数据指令。STEP 7位数据指令可以分为装载与传送指令、比较指令、算术运算指令、数据逻辑运算指令、移位和循环移位指令、数据块指令。例如:1024可以表示为1.024E3。实数的表示范围是-3.402823×1038~3.402823×1038。图6-10 基本数学运算指令5.数据类型转换指令由于PLC运算中存在不同的数据类型,现在需要将它们进行类型转换。

优化STEP7数据指令的操作方法

978-7-111-41181-9-Chapter06-6.jpg

图6-5 万能转换开关

对于复杂的开关量控制,尤其是点数多、过程复杂的项目,还必须了解STEP 7数据指令。如图6-5所示的万能转换开关,其位置多达12档,如果纯粹用位来表示就会非常复杂,而采用数据变量就很简单,如MW=0~11就可以表示各档位置。

STEP 7位数据指令可以分为装载与传送指令、比较指令、算术运算指令、数据逻辑运算指令、移位和循环移位指令、数据块指令。

1.数据格式

常见的数据包括:

(1)BCD码 单个的十进制数需要用4位二进制数进行编码。之所以需要4位二进制数表示是因为十进制的最大数9需要至少4位二进制数表示(1001)。为了用BCD码表示十进制数的0~9,使用与二进制数的相同表示方法。4位二进制数共有16种可能组合,其中6种没有使用。这些组合称作伪4位二进制编码。

(2)整数 数据类型INT是整数(16位)。符号位(第15位)表示所处理的是正数还是负数(“0”=正数,“1”=负数)。整数的表示范围是-32768~+32767。整数占用存储器的一个字。用二进制表示,一个整数的负数用其正数的补码表示。所有的位取反加“1”可以得到正数的补码。

(3)实数 实数(也称浮点数)是用十进制数(例如0.339或-11.32)表示的正数或负数。为了表示10的乘方次数,可以用幂的形式表示实数。例如:1024可以表示为1.024E3。实数占用存储器的两个字,最高位是符号位。其余的位代表指数和尾数。实数的表示范围是-3.402823×1038~3.402823×1038

图6-6所示为整数205与实数45.6789的数据保存格式。

978-7-111-41181-9-Chapter06-7.jpg

图6-6 整数与实数的数据保存格式

以16位为例,图6-7所示为PG编程器内的数据下载到PLC后的数据变化。

978-7-111-41181-9-Chapter06-8.jpg

图6-7 PG编程器内的数据下载到PLC后的数据变化

2.数据装载与传送指令

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

3.数据比较指令

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

978-7-111-41181-9-Chapter06-9.jpg

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

978-7-111-41181-9-Chapter06-10.jpg

图6-9 数据比较指令

4.算术运算指令(www.daowen.com)

图6-10所示为基本数学运算指令,除此之外还可以有高级数学运算指令,如浮点数运算和三角函数计算等。

978-7-111-41181-9-Chapter06-11.jpg

图6-10 基本数学运算指令

5.数据类型转换指令

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

978-7-111-41181-9-Chapter06-12.jpg

图6-11 数据转换任务

978-7-111-41181-9-Chapter06-13.jpg

图6-12 数据转换

6.数据逻辑运算指令

S7除了位逻辑运算之外,还可以大量地进行字或双字的数据逻辑运算,图6-13所示为典型的字逻辑运算异或WXOR_W、或WOR_W、与WAND_W指令。

数据逻辑运算遵循每一位的位逻辑原理,具体演算过程如图6-14所示。

978-7-111-41181-9-Chapter06-14.jpg

图6-13 字逻辑运算LAD指令

978-7-111-41181-9-Chapter06-15.jpg

图6-14 字逻辑运算演算过程

7.移位和循环移位指令

移位指令将累加器1低字中或这个累加器1中的内容左移或右移,移动的次数在累加器2中或直接在指令中以常数给出。如图6-15所示是将MW4左移2位,其演算过程如图6-16所示。

978-7-111-41181-9-Chapter06-16.jpg

图6-15 左移

978-7-111-41181-9-Chapter06-17.jpg

图6-16 演算过程

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

我要反馈