在STEP 7中可以对整数、长整数和实数进行加、减、乘、除算术运算。算术运算指令在累加器1和2中进行,在累加器2中的值作为被减数或被除数。算术运算的结果保存在累加器1中,累加器1原有的值被运算结果覆盖,累加器2中的值保持不变。
CPU在进行算术运算时,不必考虑RLO,对RLO也不产生影响。学习算术运算指令必须注意算术运算的结果将对状态字的某些位产生影响,这些位是:CC1和CC0,OV,OS。在位操作指令和条件跳转指令中,经常要对这些标志位进行判断来决定进行什么操作。
l +I 16位整数相加指令
l -I 16位整数相减指令
l *I 16位整数相乘指令
l / I 16位整数除法指令
l +D 32位整数相加指令
l -D 32位整数相减指令
l * D 32位整数相乘指令
l / D 32位整数除法指令
l MOD 32位整数除法取余数指令
例3.7.1
L MW0 // 将MW 0中的值装入累加器1低字
L MW2 // 将MW 2中的值装入累加器1低字,累加器1低字中的原值移入累加器2低字
+I // 将累加器l低字和累加器2中的低字相加
T MW10 // 将运算结果送到MW 10
* FBD 格式
与STL语句表指令不同处在于多了使能输入端EN和使能输出端ENO。只有当I 0.0=1时,才进行加法运算。如果运算的结果超出范围或者I 0.0=0,则Q 4.0=0。
CPU在进行算术运算时,不必考虑RLO,对RLO也不产生影响。学习算术运算指令必须注意算术运算的结果将对状态字的某些位产生影响,这些位是:CC1和CC0,OV,OS。在位操作指令和条件跳转指令中,经常要对这些标志位进行判断来决定进行什么操作。
l +I 16位整数相加指令
l -I 16位整数相减指令
l *I 16位整数相乘指令
l / I 16位整数除法指令
l +D 32位整数相加指令
l -D 32位整数相减指令
l * D 32位整数相乘指令
l / D 32位整数除法指令
l MOD 32位整数除法取余数指令
例3.7.1
L MW0 // 将MW 0中的值装入累加器1低字
L MW2 // 将MW 2中的值装入累加器1低字,累加器1低字中的原值移入累加器2低字
+I // 将累加器l低字和累加器2中的低字相加
T MW10 // 将运算结果送到MW 10
* FBD 格式
与STL语句表指令不同处在于多了使能输入端EN和使能输出端ENO。只有当I 0.0=1时,才进行加法运算。如果运算的结果超出范围或者I 0.0=0,则Q 4.0=0。