西门子S7200运算指令
③ 操作数范围 加法运算的操作数范围如表4-22所示。
表4-22 加法指令操作数范围
(4)例题
2.减法运算
(1)梯形图符号及语句表格式
其中:SUB——减法运算符; I/DI/R——数据类型符(整数/双整数/ 实数);
EN——使能输入; IN1——被减数。 IN2——减数; OUT——差; ENO——使能输出。
MUL_I MUL_DI MUL_R
整数乘法 双整数乘法 实数乘法
(4)除法:DIV
DIV_I DIV_DI DIV_R
整数减法 双整数减法 实数减法
另外: +I 16位整数相加指令 −I 16位整数相减指令 *I 16位整数相乘指令 / I 16位整数除法指令
+D 32位整数相加指令
−D 32位整数相减指令
续表
4.2.2 扩展的浮点数算术运 算指令
扩展的浮点数算术运算指令如表4-21 所示。
表4-21 扩展的浮点数算术运算指令
续表
续表
4.2.3 加、减、乘、除运算
1.加法运算
(1)梯形图符号及语句表格式
其中:ADD—加法运算符; I(INT)/DI(DINT)/R(REAL)——数据 类型符(整/双整/实数); EN(Enable In)——运算允许信号(使 能输入)。
(2)功能
梯形图:使能输入EN=1时,被乘数 IN1与乘数IN2相乘,其结果传送到OUT中。 即:
IN1×IN2=OUT
语句表:要先将被乘数送到OUT中, 然后把OUT中的数据和IN2中的数据相乘, 并将其结果传送到OUT中,即:
MOVW IN1,OUT
*I IN2,OUT
实现IN2×OUT =OUT
第4章 S7-200的指令系统及编程
引例
计算停车场里的停车数量
一个办公区的停车场管理中心要进行一天的停 车辆进行核算,第一区有300辆,第二区有293 辆,第三区有321辆,第一区的停车费为每小时 4元,第二区的停车费为每小时5元,第三区的 停车费为每小时6元,求停车场一天的收入(按 一天8个小时工作时间计)。
(2)功能
梯形图:使能输入EN=1时,被减数 IN1减去减数IN2,其结果传送到OUT中, 即: IN1−IN2=OUT
指令表:要先将一个减数送到OUT中, 然后用OUT中的数据减去IN2中的数据, 并将其结果传送到OUT中,即:
MOVW IN1,OUT
−I IN2,OUT
实现OUT−IN2=OUT
引例 计算公式:
C=(300*4+293*5+321*6)*8
算术运算指令主要包括加法、减法、 乘法和除法四类。
(1)加法: ADD
D_I ADD_DI ADD_R
整数加法 双整数加法 实数加法
(2)减法: SUB
SUB_I SUB_DI SUB_R
整数减法 双整数减法 实数减法
(3)乘法:MUL
(3)说明
① 应用减法指令应该注意的数据类型。 ② 操作数范围
表4-23 减法指令操作数范围
(4)例题
3.乘法运算
(1)梯形图符号及语句表格式
MUL——乘法运算符 I/DI/R——数据类型符(整数/双整数/ 实数)
EN——使能输入 IN1——被乘数 IN2——乘数 OUT——积 ENO——使能输出
MOVW IN1,OUT
+I IN2,OUT
实现OUT+IN2=OUT
(3)说明
① 应用加法指令应该注意的数据类型。 ADD_I(整数加法):将两个单字长(16 位)符号整数(IN1和IN2)相加,结果为 16位整数。
ADD_DI(双整数加法):将两个双 字长(32位)符号整数(IN1和IN2)相加, 结果为32位整数。
ADD_R(实数加法):将两个双字长 (32位)符号实数(IN1和IN2)相加,结 果为32位实数。
② 在语句表中,IN1、IN2与OUT操 作数的地址不同时,语句表指令将梯形图 的加法运算分别用两条指令描述;IN1或 IN2=OUT时,加法指令节省一条数据传送 指令。本规律适用于所有四则运算指令。
MUL_R(实数乘法):将两个双字长 (32位)符号实数(IN1和IN2)相乘,结 果为32位实数。
② 操作数范围 乘法运算的操作数范围如表4-24所示。
表4-24 乘法指令操作数范围
4.除法运算
(1)梯形图符号及语句表格式
其中:DIV——除法运算符; I/DI/R——数据类型符(整数/双整数/ 实数);
(3)说明
① 应用乘法指令应该注意的数据类型。 MUL_I(整数乘法):将两个单字长 (16位)符号整数(IN1和IN2)相乘,结 果为16位整数。
MUL_DI(双整数乘法):将两个双 字长(32位)符号整数(IN1和IN2)相乘, 结果为32位整数。
MUL(整数乘双整数输出):将两个 单字长(16位)符号整数(IN1和IN2)相 乘,结果为32位整数。
EN——使能输入。
IN1——被除数; IN2——除数; OUT——商; ENO——使能输出。
(2)功能
梯形图:使能输入EN=1时,被除数 IN1与除数IN2相除,其结果传送到OUT中。 即:
IN1——被加数; IN2——加数; OUT——和; ENO——运算状态位(使能输出)。
(2)功能
梯形图:使能输入EN=1时,被加数 IN1与加数IN2相加,其结果传送到OUT中, 即:IN1+IN2=OUT。
指令表:要先将一个加数送到OUT中, 然后把OUT中的数据和IN2中的数据进行 相加,并将其结果传送到OUT中,即:
* D 32位整数相乘指令
/D
32位整数除法指令
MOD 32位整数除法取余数指令
4.2 运 算 指 令
4.2.1 整数算术运算指令
在STEP 7中可以对整数、长整数和实 数进行加、减、乘、除算术运算。
算术运算指令在累加器1和2中进行, 在累加器2中的值作为被减数或被除数。算 术运算的结果保存在累加器1中,累加器1 原有的值被运算结果覆盖,累加器2中的值 保持不变。
CPU在进行算术运算时,不必考虑 RLO(逻辑运算结果),对RLO也不产生 影响。学习算术运算指令必须注意算术运 算的结果将对状态字的某些位产生影响, 这些位是:CC1和CC0,OV,OS。
算术运算指令的三种语言表示如表419所示。
表4-19 算术运算指令三种语言表示
续表
表4-20
运算指令