首页 理论教育 浮点型数学运算优化指令

浮点型数学运算优化指令

时间:2023-06-27 理论教育 版权反馈
【摘要】:表3-18 浮点型数学运算指令浮点数开平方指令SQRT的输入值应大于等于0,运算结果为正数或0。浮点数自然指数指令EXP和浮点数自然对数指令LN中的指数和对数的底数e=2.71828。例如用浮点数对数指令和指数指令求5的1.5次方。图3-100 浮点数运算程序在调试时给MD30输入浮点数的角度值30.0,MD34中的计算结果为0.5。

浮点型数学运算优化指令

浮点数学运算指令包括基本指令和扩展指令,它们的操作数是32位IEEE格式的浮点数实数)。

1.基本指令

基本指令包括浮点数的四则运算指令和求绝对值指令ABS。语句表中的浮点数四则运算指令(见表3-18)对累加器1和累加器2中的数进行运算,运算结果在累加器1。

2.扩展指令

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

978-7-111-54209-4-Chapter03-184.jpg

978-7-111-54209-4-Chapter03-185.jpg

表3-18 浮点型数学运算指令

978-7-111-54209-4-Chapter03-186.jpg

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

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

978-7-111-54209-4-Chapter03-187.jpg

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

978-7-111-54209-4-Chapter03-188.jpg

指数可以是任意的小数。下面是对应的程序:

978-7-111-54209-4-Chapter03-189.jpg(www.xing528.com)

浮点数三角函数指令的输入值是以弧度为单位的浮点数,图3-100是求正弦值的程序。MD30中的角度值是以度为单位的浮点数,使用三角函数指令之前应先将角度值乘以π/ 180.0(0.0174533),转换为弧度值,然后用SIN指令求角度的正弦值。

978-7-111-54209-4-Chapter03-190.jpg

图3-100 浮点数运算程序

在调试时给MD30输入浮点数的角度值30.0,MD34中的计算结果为0.5。图3-100与图3-99中的程序的调试方法相同。

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

3.使用FC105将AI模块输出的整数值转换为工程单位值

库文件夹\Standard Library\TI-S7 Converting Blocks中的FC105"SCALE"(缩放)将来自AI模块的整数输入参数IN转换为以工程单位表示的实数值OUT。

BOOL输入参数BIPOLAR为1时为双极性,AI模块输出值的下限K1为-27648.0,上限K2为27648.0。BIPOLAR为0时为单极性,AI模块输出值的下限K1为0.0,上限K2为27648.0。HILLIM和LOLLIM分别是以工程单位表示的实数上、下限值。计算公式为

978-7-111-54209-4-Chapter03-191.jpg

输入值IN超出上限K2或下限K1时,输出值将被箝位为HI_LIM或LO_LIM。

【例3-11】某压力变送器的量程为-20kPa~100kPa,输出的4~20mA电流被AI模块转换为数字0~27648,AI通道的地址为IW256,试求以kPa为单位的压力值。

解:压力值-20kPa~100kPa对应于数字量0~27648,下面是调用FC105的程序(见随书光盘中的例程“数学运算”)。

978-7-111-54209-4-Chapter03-192.jpg

IW256为10000时,OUT的值为23.40kPa,与用计算器根据(3-3)式计算出来的值相同。IW256的值超过上限27648时,OUT的值被箝位为HI_LIM(100.0kPa)。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈