浮点型数学运算指令包括基本指令和扩展指令,它们的操作数是32位IEEE格式的浮点数(实数)。
1.基本指令
基本指令包括浮点数的四则运算指令和求绝对值指令ABS。语句表中的浮点数四则运算指令(见表3-18)对累加器1和累加器2中的数进行运算,运算结果在累加器1。
2.扩展指令
扩展指令包括各种浮点数函数运算指令(见表3-18)。语句表中的操作数和运算结果都是累加器1中的32位浮点数。下面的程序用来求DB17.DBD0的平方根,如果运算没有出错,运算结果存放在DB17.DBD4。
表3-18 浮点型数学运算指令
浮点数开平方指令SQRT的输入值应大于等于0,运算结果为正数或0。浮点数自然指数指令EXP和浮点数自然对数指令LN中的指数和对数的底数e=2.71828。
求以10为底的对数时,需要将自然对数值除以2.302585(10的自然对数值)。例如
【例3-10】用浮点数对数指令和指数指令求5的1.5次方。计算公式为
指数可以是任意的小数。下面是对应的程序:
(www.xing528.com)
浮点数三角函数指令的输入值是以弧度为单位的浮点数,图3-100是求正弦值的程序。MD30中的角度值是以度为单位的浮点数,使用三角函数指令之前应先将角度值乘以π/ 180.0(0.0174533),转换为弧度值,然后用SIN指令求角度的正弦值。
图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分别是以工程单位表示的实数上、下限值。计算公式为
输入值IN超出上限K2或下限K1时,输出值将被箝位为HI_LIM或LO_LIM。
【例3-11】某压力变送器的量程为-20kPa~100kPa,输出的4~20mA电流被AI模块转换为数字0~27648,AI通道的地址为IW256,试求以kPa为单位的压力值。
解:压力值-20kPa~100kPa对应于数字量0~27648,下面是调用FC105的程序(见随书光盘中的例程“数学运算”)。
IW256为10000时,OUT的值为23.40kPa,与用计算器根据(3-3)式计算出来的值相同。IW256的值超过上限27648时,OUT的值被箝位为HI_LIM(100.0kPa)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。