电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

什么是算术运算指令

2016-09-01 15:38分类:PLC自学教材 阅读:

 

算术运算指令是反映CPU计算能力的一组指令,也是编程时经常使用的一组指令,包括加、减、乘、除及其相关的辅助指令。S7 -200PLC支持相同位数的各种数据类型的加、减、乘、除运算,它们的指令格式相同,其LAD指令格式如图6 -67所示。
LAD指令格式如图
    算术运算指令的LAD指令名称及STL指令格式见表6-6。
    整数加法( +I)、整数减法(-I)、整数乘法(*I)和整数除法(/R)指令,将两个16位整数IN1和IN2相加、相减、相乘和相除,产生一个16位的整数结果。双整数加法(  +D)、双整数减法(-D)、双整数乘法(木D)和双整数除法(/D)指令,将两个32位双整数INI和IN2相加、相减、相乘和相除,产生一个32位的整数结果。实数加法( +R)、实数减法(-R)、实数乘法(*R)和实数除法(/R)指令,将两个32位实数IN1和IN2相加、相减、相乘和相除,产生一个32位的实数结果。指令产生的结果存放在OUT指定的存储单元中。对于除法,余数不被保留。如果运算结果超出允许的范围或为非法值,溢出标志位( SMl.1)被置位。
    当两个16位整数相乘或相除,可能产生32位的乘积或需要商和余数时,可采用如下指令。
    整数乘法产生双整数( MUL,Multiply Integer to Double Integer)指令,又称为完全整数乘法指令,将两个16位整数IN1和IN2相乘,产生一个32位的整数(DINT)结果,存放在OUT指定的存储单元中。在语句表的MUL指令中,OUT的低16位被用作一个乘数。
    带余数的整数除法( DIV,Divide Integer with Remainder)指令,又称为完全整数除法指令,将两个16位整数IN1和IN2相除,产生一个32位的整数(DINT)结果,其中高16位为余数,低16位为商。结果存放在OUT指定的存储单元。在语句表的DIV指令中,OUT的低16位被用作被除数。
    在梯形图中,整数( Integer)、双整数(Double Integer)和实数(浮点数,Real)的加、减、乘、除指令分别执行下列运算:
    INl +IN2= OUT,  INl -IN2= OUT,  INI*N2= OUT,  INI/IN2= OUT
    在语句表中,整数、双整数和实数的加、减、乘、除指令分别执行下列运算:
    INl +OUT= OUT,  OUT -  INl=OUT,  IN1*OUT= OUT,  OUT/ IN2= OUT
    特殊存储器标志位SMl.1表示溢出错误或非法值,如果在运算过程中SMl.1被置1,SMl.0(结果为0)和SM12(结果为负)的状态无效,而且原始输入操作数也不变。如果SMl.1和SMI.3(被0除)没有置位,则算术运算产生的结果有效,同时标志位SMl.0和SMl.2有效。如果在除法操作中SMl.3被置1,其他算术运算标志位不会发生变化,否则,运算完成后其他数字状态位有效。
    算术运算指令影响的特殊存储器位有:SMI.0(结果为0)、SMl.1(溢出、运算过程中产生非法数值或者输入非法参数)、SMI.2(结果为负)、SMl.3(被0除)。
    整数乘法产生双整数与带余数的整数除法指令的应用示例如图6-68所示。
整数乘法产生双整数与带余数的整数除法指令的应用示例图

上一篇:PLC与单片机、计算机的比较

下一篇:在编程时,怎样插入和删除网络?

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部