| 作者 | 主题 |
|---|---|
|
hege377 侠客 经验值:630 发帖数:300 精华帖:0 |
楼主
主题:300PLC有没有对数据四舍五入处理的功能命令?
比如我PLC从串口讯出的数据是3.256,
我想通过PLC处理保留成3.3, 有没有这样的指令或功能可以用呢?
不断学习!
|
|
Automann 至圣 经验值:18299 发帖数:6168 精华帖:137 |
9楼
主题:回复:300PLC有没有对数据四舍五入处理的功能命令?
请看在线帮助中ROUND (取整为长整型)指令的功能:将参数IN的内容以浮点数读取,并将其转换为长整型(32位)。结果为最接近的整数("取整到最接近值")。如果浮点数介于两个整数之间,则返回偶数。结果由参数OUT输出。
经仿真实验可知: 输入为2.50001,输出为3(四舍五入)。 输入为2.49999,输出为2(四舍)。 输入为1.5(1和2之间),输出为2。 输入为2.5(2和3之间),输出为2。
追求完美
|
|
划痕 侠圣 经验值:4794 发帖数:2009 精华帖:22 |
10楼
主题:回复:300PLC有没有对数据四舍五入处理的功能命令?quote:以下是引用youhm在2011-11-14 21:07:29的发言: RND 实际是5舍6入,如果你实在要4舍5入,可以事先加上0.1。 youhm大侠,RND指令绝对不是5舍6入,这可不能随便乱说哦,呵呵 ^_^ 加0.1可以,那么加0.01试过吗?加0.001又试过吗?其实在S7-300/400中RND指令是现实意义下的四舍五入! 它是这样定义的:当小数小于0.5时舍去,只要大于0.5就进1! 补充定义:对于小数部分=0.5时,是随机的,有时进1,有时就舍去。 <在实际的模块的采样值经过计算后,小数部分=0.5的概率可以认为是0>
No discussion, no outcome.
|
|
划痕 侠圣 经验值:4794 发帖数:2009 精华帖:22 |
11楼
主题:回复:300PLC有没有对数据四舍五入处理的功能命令?quote:[b]以下是引用Automann在2011-11-14 21:41:30的发言:[ 输入为2.50001,输出为3(四舍五入)。 输入为2.49999,输出为2(四舍)。 输入为1.5(1和2之间),输出为2。 输入为2.5(2和3之间),输出为2。 A侠可以试试输入100.5,以及15.5、16.5、17.5、18.5,实验确实可以说明很多东西!我认为将RND指令称为现实意义下的“四舍五入”更为妥当!呵呵 因为对于小数部分=0.5时,有一定的随机性,也似乎有一种必然性,有时进1,有时就舍去了。 补充:在实际的模块的采样值经过计算后,小数部分=0.5的概率可以认为是0,故不用考虑其随机还是必然! ^_^
No discussion, no outcome.
|