您现在的位置是:首页 > PLC技术 > PLC技术

S7 300/400扩展的浮点数数学运算指令

来源:艾特贸易2017-06-05

简介扩展的浮点数数学运算指令包括各种浮点数函数运算指令(见表 3-13 )。操作数和运算结果都是累加器 1 中的 32 位浮点数。下面的程序用来求 DB17. DBDO 的平方根,如果运算没有出错,运

    扩展的浮点数数学运算指令包括各种浮点数函数运算指令(见表3-13)。操作数和运算结果都是累加器1中的32位浮点数。下面的程序用来求DB17. DBDO的平方根,如果运算没有出错,运算结果存放在DB17. DBD4中。

表3-13 浮点数数学运算指令

语句表

梯形图

 

+R

ADD_R

累加器12的浮点数相加,浮点数运算结果在累加器1

-R

SUB_R

累加器2的浮点数减去累加器1的浮点数,浮点数运算结果在累加器1

*R

MUL_R

累加器12的浮点数相乘,浮点数乘积在累加器1

/R

DIV_R

累加器2的浮点数除以累加器1的浮点数,浮点数商在累加器1中,余数被丢掉

ABS

ABS

累加器1的浮点数取绝对值,浮点数运算结果在累加器1

SQR

SQR

求累加器1的浮点数的平方,浮点数运算结果在累加器1

SQRT

SQRT

求累加器1的浮点数的平方根,浮点数运算结果在累加器1

EXP

EXP

求累加器1的浮点数的自然指数,浮点数运算结果在累加器1

LN

LN

求累加器1的浮点数的自然对数,浮点数运算结果在累加器1

SIN

SIN

求累加器1的浮点数的正弦函数,浮点数运算结果在累加器1

COS

COS

求累加器1的浮点数的余弦函数,浮点数运算结果在累加器1

TAN

TAN

求累加器1的浮点数的正切函数,浮点数运算结果在累加器1

ASIN

ASIN

求累加器1的浮点数的反正弦函数,浮点数运算结果在累加器1

ACOS

ACOS

求累加器1的浮点数的反余弦函数,浮点数运算结果在累加器1

ATAN

ATAN

求累加器1的浮点数的反正切函数,浮点数运算结果在累加器1


   OPN    DB    17   //打开数据块DB17

   L    DBD    0    //DB17DBDO的浮点数装入累加器1

   SQRT        //求累加器1的浮点数的平方根,运算结果在累加器1

   AN    OV    //如果运算时没有出错

   JC    OK    //跳转到标号OK

   BEU        //如果运算时出错,逻辑块无条件结束

OK:   T    DBD    4    //累加器1的运算结果传送到DB17DBD4

    浮点数开平方指令SQRT的输入值应大于等于0,运算结果为正数或0。浮点数自然指数指令EXP和浮点数自然对数指令LN中的指数和对数的底数e=2.71828

    求以10为底的对数时,需要将自然对数值除以2. 30258510的自然对数值)。例如

   lg100= ln100/2. 302585=4.605170/2. 302585=2

    【例3-9】用浮点数对数指令和指数指令求5的立方。计算公式为

   5.03= EXP(3.0*LN(5.0))=125.0

    下面是对应的程序:

   L    5.0

   LN    //5.0的自然对数

   L    3.0

   *R

   EXP    //求自然指数

   RND    //运算结果四舍五人

   T    MD    40

    指数可以取任意的小数,本例中指数为3.0只是为了便于验证。

    浮点数三角函数指令的输入值是以弧度为单位的浮点数,如果输入值是以角度为单位的浮点数,求三角函数之前应先将角度值乘以π/180,转换为弧度值。

    浮点数反正弦函数指令ASIN和浮点数反余弦函数指令ACOS的输入值应≥-1和≤+1-π/2ASIN的运算结果≤+π/20ACOS的运算结果≤π。

    浮点数反正切函数指令的运算结果≥-π/2和≤+π/2