您现在的位置是:首页 > 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 累加器1、2的浮点数相加,浮点数运算结果在累加器1 -R SUB_R 累加器2的浮点数减去累加器1的浮点数,浮点数运算结果在累加器1 *R MUL_R 累加器1、2的浮点数相乘,浮点数乘积在累加器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 //DB17.DBDO的浮点数装入累加器1
SQRT //求累加器1的浮点数的平方根,运算结果在累加器1
AN OV //如果运算时没有出错
JC OK //跳转到标号OK处
BEU //如果运算时出错,逻辑块无条件结束
OK: T DBD 4 //累加器1的运算结果传送到DB17.DBD4
浮点数开平方指令SQRT的输入值应大于等于0,运算结果为正数或0。浮点数自然指数指令EXP和浮点数自然对数指令LN中的指数和对数的底数e=2.71828。
求以10为底的对数时,需要将自然对数值除以2. 302585(10的自然对数值)。例如
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,-π/2≤ASIN的运算结果≤+π/2,0≤ACOS的运算结果≤π。
浮点数反正切函数指令的运算结果≥-π/2和≤+π/2。
点击排行
