技术论坛

 回复:300PLC有没有对数据四舍五入处理的功能命令?

返回主题列表
作者 主题
hege377
侠客

经验值:630
发帖数:300
精华帖:0
楼主    2011-10-21 14:16:45
主题:300PLC有没有对数据四舍五入处理的功能命令?
比如我PLC从串口讯出的数据是3.256,
我想通过PLC处理保留成3.3,
有没有这样的指令或功能可以用呢?
不断学习!
Automann
至圣

经验值:18299
发帖数:6168
精华帖:137
9楼    2011-11-14 21:41:30
精华帖  主题:回复: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楼    2011-11-14 21:44:12
精华帖  主题:回复: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楼    2011-11-14 21:58:41
精华帖  主题:回复: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.
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。